본문 바로가기
cs/컴퓨터 네트워크

[컴퓨터 네트워크] OSI 7계층과 TCP/IP 4계층에 대해서 알아보자 !

by 1chanhue1 2024. 9. 19.

네트워크에는 다양한 기기 간 통신을 위해 약속된 구조가 있다. 네트워크를 개념적으로 나눈 OSI 7계층과 실제 인터넷 통신에 사용되는 TCP/IP 4계층이다. 특히 해당 구조와 관련 용어들을 알아야 데이터 송수신 과정을 이해하는데 도움이 된다. 이때 각 게층의 세세한 역할을 외우기보다는 전체적인 동작 흐름을 이해하는 것이 좋다. 실제 개발할 때 종종 마주하게 되는 개념들이고, 직무에 따라 네트워크 계층을 이해하고 있어야하기도 한다. 

OSI 7 계층 

OSI 7계층(Open Systems Interconnection Reference Model 7 Layers)이란 국제 표준화 기구(ISO, International Orgamization for Standardization)에서 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델이다. 

OSI 7게층 모델에서 데이터의 송수신 흐름은 다음과 같이 간략하게 표현할 수 있다. 데이터를 송신할 때는 높은 계층에서 낮은 계층으로 전달하고, 데이터가 수신부의 가장 낮은 계층에 도달하면 수신부에서는 낮은 계층에서 높은 계층으로 데이터를 전달한다. 

OSI 7계층 전체 구조

각 계층은 독립적이며 데이터를 송신할 때 각 계층에서 필용한 정보를 추가해 데이터를 가공한다. 

이때 제어 정보를 담은 헤더(header)나 트레일러(trailer)가 붙는데, 이 과정을 데이터 캡슐화(data capsulation)라고 한다. 데이터 캡슐화를 하는 이유는 수신부의 같은 계층에서 데이터 호환성을 높이고 오류의 영향을 최소화하기 위해서이다.

계층별 데이터 캡술화 과정

송신부에서 데이터 캡슐화를 거친 결과물을 수신부로 보낸다. 그러면 수신부는 물리계층부터 응용 계층까지 거치며 받은 데이터에서 헤더와 트레일러를 분석해 제거하는 역캡슐화를 진행한다. 이 과정에서 각 계층은 필요한 제어 정보를 얻는다.

OSI 7계층의 전체 구조와 역할은 다음과 같다. 여기서 프로토콜(protocol)은 우리말로 통신 규약이라고 하며 데이터를 송수신하기 위해 정한 규칙을 의미한다.

OSI 7 계층 전체구조

 

 

애플리케이션 계층(Application Layer) 

HTTP, FTP 등의 프로토콜을 응용 프로그램의 UI를 통해 제공한다. 

애플리케이션 계층은 특정 유형의 애플리케이션 자체와 표준화된 통신 방법과 관련이 있습니다. 예를 들어 브라우저는 하이퍼텍스트 전송 프로토콜 보안(HTTPS)을 사용하여 통신할 수 있고, HTTP 및 이메일 클라이언트는 POP3(우체국 프로토콜 버전 3) 및 SMTP(간이 전자 우편 전송 프로토콜)를 사용하여 통신할 수 있습니다.

프레젠테이션 계층(Presentation Layer)

데이터를 표준화된 형식으로 변경한다.

프레젠테이션 계층은 주로 애플리케이션에서 전송하고 소비하는 데이터 자체의 구문과 관련이 있습니다. 예를 들어 하이퍼텍스트 마크업 언어(HTML), JavaScript 객체 표기법(JSON), 쉼표로 구분된 값(CSV)은 모두 프레젠테이션 계층의 데이터 구조를 설명하는 모델링 언어입니다. 

세션 계층(Session Layer)

세션의 유지 및 해제 등 응용 프로그램 간 통신 제어와 동기화를 한다. 

세션 계층은 한 세션에서 서로 다른 두 애플리케이션 간의 네트워크 조정을 담당합니다. 세션은 일대일 애플리케이션 연결 및 동기화 충돌의 시작과 끝을 관리합니다. 네트워크 파일 시스템(NFS)과 서버 메시지 블록(SMB)은 세션 계층에서 일반적으로 사용되는 프로토콜입니다.

전송 계층(Transport Layer)

신뢰성 있는 데이터를 전달하기 위한 계층으로 TCP, UDP 같은 전송 방식과 포트(port) 번호 등을 결정한다. 

전송 계층의 주요 초점은 데이터 패킷이 손실이나 오류 없이 올바른 순서로 도착하는 것이나 필요한 경우 데이터 패킷을 원활하게 복구하는 것에 있습니다. 전송 계층의 초점은 보통 흐름 제어 및 오류 제어입니다. 이 계층에서 일반적으로 사용되는 프로토콜로는 거의 손실 없는 연결 기반 프로토콜인 전송 제어 프로토콜(TCP)과 손실이 많은 무연결 프로토콜인 사용자 데이터그램 프로토콜(UDP)이 있습니다. TCP는 일반적으로 모든 데이터가 손상되지 않아야 하는 경우(예: 파일 공유)에 사용되는 반면, UDP는 모든 패킷을 보존하는 것이 덜 중요한 경우(예: 비디오 스트리밍)에 사용됩니다.

네트워크 계층(Network Layer)

데이터를 송신부에서 수신부까지 보내기 위한 최적 경로를 선택하는 라우팅(routing)을 수행한다. 이때 선택한 최적 경로를 라우트(route)라고한다. 네트워크 계층의 장비로는 라우터(router)가 있다. 

네트워크 계층은 분산된 네트워크 하나 또는 연결된 여러 네트워크의 노드 또는 머신을 통한 라우팅, 전달 및 주소 지정과 같은 개념과 관련이 있습니다. 네트워크 계층은 흐름 제어도 관리할 수 있습니다. 인터넷에서는 인터넷 프로토콜 v4(IPv4) 및 IPv6가 주 네트워크 계층 프로토콜로 사용됩니다.

데이터 링크 계층(Data Layer)

데이터 흐름을 관리하며 데이터의 오류 검출 및 복구 등을 수행한다. 브리지(bridge), 스위치(switch), 이더넷(ethernet)이 데이터 링크 계층의 장비에 해당한다. 

데이터 링크 계층은 물리 계층이 이미 존재하는 네트워크를 통해 두 시스템을 연결하는 데 사용되는 기술을 말합니다. 이 계층은 데이터 패킷에 캡슐화된 디지털 신호인 데이터 프레임을 관리합니다. 데이터 링크 계층의 주요 초점은 보통 데이터의 흐름 제어 및 오류 제어입니다. 이더넷은 이 수준의 표준을 보여주는 예입니다. 데이터 링크 계층은 보통 두 하위 계층인 매체 접근 제어(MAC) 계층과 논리 링크 제어(LLC) 계층으로 나뉩니다. 

물리 계층 (Physical Layer)

데이터를 비트(bit) 단위의 0과 1로 변환한 후 장비를 사용해 전송하거나 전기 신호를 데이터로 복원한다. 리피터(repeater), 허브(hub) 등이 물리 게층에 해당하는 장비다. 

물리 계층은 물리적 통신 매체와 해당 매체를 통해 데이터를 전송하는 기술을 말합니다. 기본적으로 데이터 통신은 광섬유 케이블, 구리 케이블 및 공기와 같은 다양한 물리적 채널을 통해 디지털 및 전자 신호를 전송하는 것입니다. 물리 계층에는 Bluetooth, NFC, 데이터 전송 속도 등 채널과 밀접하게 관련된 기술 및 지표에 대한 표준이 포함됩니다.

OSI 모델을 사용하는 모든 시스템이 모든 계층을 구현하는 것은 아닙니다.

 

TCP/IP 4계층

TCP/IP는 인터넷에서 데이터를 주고받기 위한 네트워크 프로토콜을 의미한다. TCP(Transmission Control Protocol, 전송 제어 프로토콜)는 데이터를 나눈 단위인 패킷의 전달 여부와 전송 순서를 보장하는 통신 방식이고, IP(Internet Protocol, 인터넷 프로토콜)는 패킷을 빠르게 보내기 위한 통신 방식을 의미한다. TCP/IP 기반 프로토콜에는 대표적으로 HTTP가 있다. TCP/IP에 맞춰 네트워크 통신 표준인 OSI 7계층을 단순화한 것이 TCP/IP 4계층이다

 

IP (인터넷 프로토콜)

  • 지정한 IP 주소에 데이터의 조각들을 패킷(Packet)이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할.
  • 조각들의 순서가 뒤바뀌거나 일부가 누락되더라도 크게 상관하지 않고 보내는 데 집중을 한다.
  • 그래서 IP 프로토콜은 패킷의 순서 보장도 할 수 없고 패킷이 중간에 유실되도 이에대한 방안이 없다.

TCP (전송 제어 프로토콜)

 

 

  • 패킷 데이터의 전달을 보증하고 보낸 순서대로 받게 해준다
  • 도착한 조각을 점검하여 줄을 세우고 망가졌거나 빠진 조각을 다시 요청하는 식으로 순서를 보증.
  • TCP는 데이터를 상대방에게 확실하게 보내기 위해서 3 way 핸드쉐이킹이라는 방법을 사용하고 있다.
    이 방법은 패킷을 보내고 잘 보내졌는지 여부를 상대에게 확인하러 간다.
  • 여기에서 고유의 'SYN'와 'ACK'라는 TCP 플래그를 사용한다. (일종의 확인 마크 정도로 이해하면 된다)
  • 한마디로 TCP는 IP의 문제를 보완해주는 녀석이라고 보면 된다.

 

 

OSI 7계층과 TCP/IP 4계층 비교

 

TCP/IP 4계층에서 데이터 흐름과 각 계층의 역할은 다음과 같다.

TCP/IP 각 계층의 데이터 흐름과 전송 단위

응용 계층 (Application Layer)

사용자와 소프트웨어를 연결해 주는 계층으로 HTTP,HTTPS, DNS 등의 프로토콜이 작동한다.

전송 계층 (Transport Layer)

데이터의 신뢰성을 보장하며, 포트 번호로 데이터를 적절한 응용 프로그램에 전달하는 역할을 한다. TCP, UDP 등의 프로토콜이 전송 계층에 속한다. 전송 계층의 데이터 단위는 세그먼트(segment)라고 한다.

인터넷 계층 (Internet Layer)

데이터를 최종 목적지까지 도달할 수 있게 하는 계층으로, IP가 대표적인 프로토콜이다. 인터넷 계층에서는 전송 계층으로부터 받은 데이터에 헤더를 붙여 캡슐화하는데, 이를 패킷(packet) 또는 데이터그램(datagram)이라고 한다.

네트워크 인터페이스 계층 (Network Interface Layer)

네트워크 접근 계층이라고 하며, 데이터를 전기 신호로 변환하고 MAC 주소를 사용해 기기에 데이터를 전달한다. 이더넷, WIFI 등이 해당 계층에 속하는 대표적인 프로토콜이다. 

 

용어 정리

  • 패킷(packet) : 네트워크에서 주고받는 데이터를 작게 분할한 단위를 나타낸다. 패킷에는 데이터의 송신 주소, 수신 주소 등의 정보가 포함되어 데이터를 목적지에 제대로 전달할 수 있게 한다.
  • MAC 주소(Media Access Control address) : 48비트로 구성된 하드웨어 고유의 주소로, 네트워크 인터페이스 계층에서 사용한다.

 

 

 

참고링크 : https://aws.amazon.com/ko/what-is/osi-model/

 

OSI 모델이란 무엇인가요?- OSI 7계층 설명 - AWS

오픈 시스템 상호 연결(OSI) 모델은 네트워크 통신 기능을 7개의 계층으로 나누는 개념적 프레임워크입니다. 다양한 하드웨어 및 소프트웨어 기술이 지리적, 정치적 경계를 넘어 일관되게 작동해

aws.amazon.com

출처: https://inpa.tistory.com/entry/WEB-🌐-TCP-IP-정리-👫🏽-TCP-IP-4계층 

 

🗼 TCP / IP 4계층 모델 - 핵심 총정리

TCP / IP 개념 정리 (선수 지식) IP (인터넷 프로토콜) 지정한 IP 주소에 데이터의 조각들을 패킷(Packet)이라는 통신 단위로 최대한 빨리 목적지로 보내는 역할. 조각들의 순서가 뒤바뀌거나 일부가

inpa.tistory.com