본문 바로가기

IT 살이/04. 기술 - 인프라

네트워킹 기본 - 07. TCP/IP 4 계층 모델

2015/10/27 - [01. 기술 - 인프라] - 네트워킹 장비 - 01. 허브, 스위치, 라우터

2015/10/27 - [01. 기술 - 인프라] - 네트워킹 장비 - 02. L2, L3, L4, L7 스위치

2015/10/27 - [01. 기술 - 인프라] - 네트워킹 장비 - 03. 백본 스위치

2015/10/28 - [01. 기술 - 인프라] - 네트워킹 기본 - 04. L4, L7 로드 밸런싱

2015/10/28 - [01. 기술 - 인프라] - 네트워킹 기본 - 05. LAN, WAN, VLAN

2015/11/05 - [01. 기술 - 인프라] - 네트워킹 기본 - 06. 프로토콜 개념

2015/11/08 - [01. 기술 - 인프라] - 네트워킹 기본 - 07. TCP/IP 4 계층 모델

2015/11/08 - [01. 기술 - 인프라] - 네트워킹 기본 - 08. 어플리케이션 계층 프로토콜 HTTP

2015/11/24 - [01. 기술 - 인프라] - 네트워킹 기본 - 09. TCP, IP, Ethernet 프로토콜 그리고 통신



인터넷을 비롯한 현재의 대부분의 네트워킹을 지탱하는 것은 TCP/IP이라는 메인 프로토콜 및 관련 프로토콜이다. 이런 프로토콜 집합을 TCP/IP 프로토콜 슈트(protocol suite)라고 한다. TCP/IP 프로토콜 슈트는  원래의 OSI 7 계층 모델을 실용적으로 단순화시킨 TCP/IP 4계층 모델을 기반으로 하고 있다. 즉 아래처럼 생각하면 되지 않을까 싶다.


TCP/IP 4 계층 모델 : OSI 7 계층 모델의 단순화

TCP/IP 프로토콜 슈트 : TCP/IP 4 계층 모델이라는 설계도의 구현 결과 및 기타 필요한 헬퍼 프로토콜

( 헬퍼 프로토콜 : ping같은 기능을 구현하기 위한 ICMP 및 기타 TCP/IP의 개념을 구현하기 위해서 필요한 보조 프로토콜 )


TCP/IP 계층 모델과 시스템에서의 담당 부분을 그림으로 나타내면 다음과 같다. 



그림은 HTTP 프로토콜을 사용할때의 계층 구조를 시스템의 실제 담당 위치와 대비시킨 그림이다. 웹 서버 또는 브라우저같은 어플리케이션은 HTTP 통신을 위해서 데이터를 TCP에 보낸다. TCP 부터 Ethernet 계층까지는 OS의 커널부분이 담당한다( 혹시 TCP, IP, Ethernet을 담당하는 부분이 모두 네트워크 카드(NIC)에 있다고 착각한 사람이 있지 않을까? 커널이라는 것에 익숙하지 않은 비전공자라면 착각할 수 있는 부분일 거라 생각한다). 

커널 내에서 어플리케이션이 보낸 데이터에 각 계층에서 제공하는 주소 및 필요한 정보를 붙여서 최종적으로 네트워크 카드에 전달될 이더넷 프레임이 생성된다. 어플리케이션이 보낸 데이터에 TCP에서 제공하는 정보가 붙여진 것을 "TCP 세그먼트"라 한다. 그리고 IP 정보가 붙여진 것을 "IP 패킷", 그리고 이더넷 정보가 붙여진 것을 "이더넷 프레임"이라고 한다. 

이더넷이라는 링크 계층 프로토콜은 이른바 OSI 7 계층의 데이터계층, 물리계층과 밀접한 관계가 있다. 커널에서 생성된 이더넷 프레임에 정보를 추가하지만, 최종적으로 NIC에서 전기 신호로 전송되기전까지는 다양한 전기적 제어 기능을 수행할 수 있는 정보도 포함된다. 

이제 다음 포스트에서는 어플리케이션 프로토콜 HTTP, TCP, IP, 그리고 이더넷 프로토콜에 대해서 정리해볼까 한다.