최근 관련 자료들을 찾아보던 중, TCP/IP 모델이 4계층이 아니라 5계층으로 이루어진 TCP/IP Updated 모델로 진화(?)했음을 알게 되었다. 네트워크 과목을 전공서로 공부하진 않았는데, 최근 전공서에는 그렇게 서술되어 있는듯? 처음 등장했을 때처럼 DARPA 같은 특정 기관에서 공식 발표한 건 아니고, 조금 더 현대의 인터넷 체계에 적합하도록 점진적으로 인식이 바뀌어온 듯 싶다.
따라서 이를 체크하고 넘어가고자 한다. 큰 틀은 이전에 다 적었던거라, 복기할 겸 간단하게만!
바뀐 점
여기서, Network Access로 퉁쳤던 L2를 OSI 모델과 동일하게 L1, L2로 분리되었다. 이게 다다. (L3는 원래 Internet으로 표기하는 곳이 많은데, 그렇다면 Internet 계층도 Network 계층으로 이름이 바뀐 셈이다. 나는 바뀌는 중간에(?) 있는 자료를 토대로 공부했었나보다.)
이에 따라서, Updated TCP/IP model은 다음 5계층으로 이루어진다.
[Application -> Transport -> Network -> DataLink -> Physical]
TCP/IP 5계층 (Updated)
1. 응용 계층 (Application Layer)
역할: 사용자와 직접 상호작용하는 애플리케이션과 프로토콜이 이 계층에 속합니다. 이 계층은 웹 브라우저, 이메일 클라이언트, 게임 등 사용자가 직접 사용하는 모든 소프트웨어 응용 프로그램을 포함합니다.
프로토콜 예시: HTTP(Hypertext Transfer Protocol), HTTPS(HTTP Secure), FTP(File Transfer Protocol), SMTP(Simple Mail Transfer Protocol), DNS(Domain Name System) 등.
기능: 사용자의 데이터를 네트워크에 적합한 형태로 변환하고, 반대로 네트워크로부터 수신된 데이터를 사용자에게 제공할 수 있는 형태로 변환합니다
데이터: Stream (Payload)
2. 전송 계층 (Transport Layer)
역할: 데이터의 신뢰성 있는 전송을 책임지며, 데이터를 세그먼트로 나누고, 이를 네트워크 계층으로 전달하기 전에 적절한 포트 번호를 할당합니다.
프로토콜 예시: TCP(Transmission Control Protocol), UDP(User Datagram Protocol).
기능: 흐름 제어, 혼잡 제어, 오류 검출 및 복구 등을 담당합니다. TCP는 연결 지향적이고 신뢰성 있는 데이터 전송을 제공하는 반면, UDP는 연결 없이 데이터를 전송하며 신뢰성 보다는 속도를 중시합니다.
데이터: Segment [TCP 헤더(Port 번호), Payload]
3. 네트워크 계층 (Network Layer)
역할: 데이터 패킷의 라우팅과 전달을 책임집니다. 이 계층은 패킷이 송신자로부터 수신자까지 어떤 경로를 통해 이동할지 결정합니다.
프로토콜 예시: IP(Internet Protocol), ICMP(Internet Control Message Protocol), IGMP(Internet Group Management Protocol).
기능: 패킷의 주소 지정, 경로 결정(라우팅) 및 패킷 전달. IP 주소를 사용하여 각 패킷이 올바른 목적지로 전송될 수 있도록 합니다.