Protocol Layering이란 통신을 위한 상호간의 통신 규약을 의미합니다. 간단한 통신의 경우 하나의 프로토콜로도 충분합니다. 그러나 복잡한 통신을 처리해야 할 경우, 효율적인 통신을 위해서는 계층별 프로토콜이 꼭 필요합니다. 이번 시간에는 TCP/IP 프로토콜 스위트의 계층 구조를 알아봅니다.
계층 구조라고 하니 익숙하게 들리실 수 있는데 지난번에 정리한 OSI 7계층 모델과도 유사한 점이 있습니다. 실제로 TCP/IP 프로토콜 스위트는 OSI 모델 이전에 나왔던 개념이고, OSI 모델이 TCP/IP 스위트를 완전히 대체할 수 있을 것이라는 기대를 받았던 적이 있습니다. 하지만 OSI 모델은 TCP/IP 스위트의 역할을 완벽히 커버하지는 못했고, 현재까지도 두 모델을 함께 사용하고 있습니다.
책에 따라 4계층 또는 5계층으로 설명하기도 하는데, 4계층의 경우 아래에 설명할 물리 계층과 데이터 링크 계층을 하나로 묶어 네트워크 인터페이스로 취급합니다. 둘 사이에 크게 차이는 없으니 이 글에서는 5계층으로 설명하도록 하겠습니다.
물리 계층 - Physical Layer (PHY Layer)
TCP/IP 프로토콜도 마찬가지로 물리 계층부터 시작합니다. 물리 계층은 링크를 통해 받은 비트들을 프레임에 전달하는 역할을 합니다. 이름은 물리 계층이지만, 다른 장치의 물리적 계층과 직접적인 연결이 아닌 논리적인 연결(logical communication)로도 작동합니다.
물리 계층은 전기적, 광학적 신호들을 전송 매체로 이용하여 정보를 전달합니다. 때문에, 비트를 신호로 전환하는 몇몇 프로토콜을 가지고 있습니다.
데이터 링크 계층 - Data Link Layer
데이터 링크 계층에서는 데이터그램(Datagram)을 가져와 링크를 통해 이동시킵니다. 라우터가 최적의 링크를 찾아 경로를 고르면, 그 경로를 통해 이 데이터그램이 움직이게 됩니다. 여기서 데이터그램은 프레임(frame)이라고 불리는 패킷으로 캡슐화(encapsulates)가 된 채 이동합니다.
일부 링크 계층은 완벽한 오류 감지와 수정이 가능한 프로토콜을 지원하기도 합니다. 또는 특별한 감지 없이 오류 수정 기능만 지원하기도 합니다.
wired LAN(Ethernet), wireless LAN, wired WAN, wireless WAN(LTE) 등이 데이터 링크의 예시입니다.
네트워크 계층 - Network Layer
네트워크 계층은 호스트와 호스트간의 통신과 패킷 라우팅(최적의 경로 찾기) 을 담당하는 계층입니다. 비연결 프로토콜을 사용하여 흐름 제어 및 오류 제어, 혼잡 제어 등의 기능이 없습니다. 데이터 전송시 목적지가 되는 소스들의 개수에 따라 일대일 전송을 유니캐스트(Unicast), 일대다 전송을 멀티캐스트(multicast) 라고 부릅니다.
유명한 예시로, Internet에서의 네트워크 계층이 바로 인터넷 프로토콜 (Internet Protocol, IP) 입니다. 우리가 알고있는 몇 자리 숫자로 구성된 IP 주소에서의 IP가 인터넷 프로토콜의 준말입니다.
전달 및 라우팅 작업에서 IP를 돕는 보조 프로토콜로는 다음과 같은 예시가 있습니다.
- ICMP (Internet Control Message Protocol)
- 인터넷 그룹 관리 프로토콜 (IGMP)
- DHCP (Dynamic Host Configuration Protocol)
- 주소 확인 프로토콜 (ARP)
전송 계층 - Transport Layer
전송 계층은 응용 계층(Application Layer)에 서비스를 제공하는 역할을 합니다. 이 역할을 수행하는 전송 계층의 프로토콜을 바로 TCP (Transmission Control Protocol) 라고 부릅니다.
이 TCP는 연결 지향 프로토콜(Connected-oriented) 입니다. 따라서 흐름 제어나 오류 제어, 혼잡 제어등의 기능을 수행할 수 있습니다.
전송 계층에서 사용하는 다른 프로토콜로 UDP (User Datagram Protocol) 이 있는데, 이 프로토콜의 경우 비연결 지향 프로토콜이며 덕분에 아주 적은 양의 데이터만을 통신에 사용해서 빠른 속도를 갖고 있습니다.
TCP와 UDP에 대한 자세한 설명은 이전의 OSI 7계층 모델의 전송 계층 부분을 참고해주세요.
응용 계층 - Application Layer
응용 계층은 최종 사용자간의 논리적인 연결과 프로세스간 통신을 담당합니다. OSI 모델의 응용 계층과 하는 역할은 같습니다. 응용 계층의 대표적인 프로토콜들을 살펴보면 다음과 같습니다.
HTTP (Hypertext Transfer Protocol) : 월드 와이드 웹(WWW)에 접근하기 위한 프로토콜
SMTP (Simple Mail Transfer Protocol) : 이메일에 사용되는 메인 프로토콜
FTP (File Transfer Protocol) : 파일 전송에 사용되는 프로토콜
TELNET (Terminal Network), SSH (Secure Shell) : 원격 사이트에 접근하는 프로토콜
SNMP (Simple Network Management Protocol) : 관리자가 지역, 세계 규모의 인터넷을 관리할때 사용하는 프로토콜
DNS (Domain Name System) : 다른 프로토콜이 컴퓨터의 네트워크 주소를 찾기 위해 사용하는 프로토콜
TCP/IP 스위트는 OSI 모델과 유사한 부분이 많기 때문에 두 개념을 혼동하지 않도록 잘 기억해두는 것이 좋겠습니다.
'이론 > 네트워크' 카테고리의 다른 글
블록 암호 모드 (Block cipher mode of operation) (0) | 2023.04.06 |
---|---|
DES 알아보기 (Data Encryption Standard) (0) | 2023.03.18 |
네트워크의 종류 (Network Types: LAN, WAN, Switching) (0) | 2021.01.24 |
네트워크의 물리적 구조 정리 (Physical Structures, topology) (0) | 2020.12.24 |
OSI 7계층 정리 (Open System Interconnection) (2) | 2020.09.20 |
댓글