OSI 7계층
OSI 7계층(Open Systems Interconnection Reference Model 7 Layers)이란 국제 표준화 기구에서 네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델이다.
OSI 7계층 모델에서 데이터의 송수신 흐름은 다음과 같이 간략하게 표현할 수 있다.
데이터를 송신할 때는 높은 계층에서 낮은 계층으로 전달하고, 데이터가 수신부의 가장 낮은 계층에 도달하면 수신부에서는 낮은 계층에서 높은 계층으로 데이터를 전달한다.
각 계층은 독립적이며 데이터를 송신할 때 각 계층에서 필요한 정보를 추가해 데이터를 가공한다.
이때 제어 정보를 담은 헤더(header)나 트레일러(trailer)가 붙는데 이 과정을 데이터 캡슐화(data capsulation)라고 한다.
데이터 캡슐화를 하는 이유는 수신부의 같은 계층에서 데이터 호환성을 높이고 오류의 영향을 최소화하기 위해서다.
송신부에서 데이터 캡슐화를 거친 결과물을 수신부로 보낸다.
그러면 수신부는 물리 계층부터 응용 계층까지 거치며 받은 데이터에서 헤더와 트레일러를 분석해 제거하는 역캡슐화를 진행한다.
이 과정에서 각 계층은 필요한 제어 정보를 얻는다.
OSI 7계층의 전체 구조와 역할은 다음과 같다.
여기서 프로토콜(protocol)은 우리말로 통신 규약이라고 하며 데이터를 송수신하기 위해 정한 규칙을 의미한다.
•
7계층(응용 계층)
HTTP, FTP 등의 프로토콜을 응용 프로그램의 UI를 통해 제공한다.
•
6계층(표현 계층)
데이터를 표준화된 형식으로 변경한다.
•
5계층(세션 계층)
세션의 유지 및 해제 등 응용 프로그램 간 통신 제어와 동기화를 한다.
•
4계층(전송 계층)
신뢰성 있는 데이터를 전달하기 위한 계층으로 TCP, UDP 같은 전송 방식과 포트(port) 번호 등을 결정한다.
•
3계층(네트워크 계층)
데이터를 송신부에서 수신부까지 보내기 위한 최적 경로를 선택하는 라우팅(routing)을 수행한다.
이때 선택한 최적 경로를 라우트(route)라고 한다.
네트워크 계층의 장비로는 라우터(router)가 있다.
•
2계층(데이터 링크 계층)
데이터 흐름을 관리하며 데이터의 오류 검출 및 복구 등을 수행한다.
브리지(bridge), 스위치(switch), 이더넷(ethernet)이 데이터 링크 계층의 장비에 해당한다.
•
1계층(물리 계층)
데이터를 비트(bit) 단위의 0과 1로 변환한 후 장비를 사용해 전송하거나 전기 신호를 데이터로 복원한다.
리피터(repeater), 허브(hub) 등이 물리 계층에 해당하는 장비다.
TCP/IP 4계층
TCP/IP는 인터넷에서 데이터를 주고받기 위한 네트워크 프로토콜을 의미한다.
TCP(Transmission Control Protocol)는 데이터를 나눈 단위인 패킷의 전달 여부와 전송 순서를 보장하는 통신 방식이고, IP(Internet Protocol)는 패킷을 빠르게 보내기 위한 통신 방식을 의미한다.
TCP/IP 기반 프로토콜에는 대표적으로 HTTP가 있다.
TCP/IP에 맞춰 네트워크 통신 표준인 OSI 7계층을 단순화한 것이 TCP/IP 4계층이다.
TCP/IP 4계층에서 데이터 흐름과 각 계층의 역할은 다음과 같다.
•
4계층(응용 계층)
사용자와 소프트웨어를 연결해 주는 계층으로 HTTP, HTTPS, DNS 등의 프로토콜이 작동한다.
•
3계층(전송 계층)
데이터의 신뢰성을 보장하며 포트 번호로 데이터를 적절한 응용 프로그램에 전달하는 역할을 한다.
TCP, UDP 등의 프로토콜이 전송 계층에 속한다.
전송 계층의 데이터 단위는 세그먼트(segment)라고 한다.
•
2계층(인터넷 계층)
데이터를 최종 목적지까지 도달할 수 있게 하는 계층으로 IP가 대표적인 프로토콜이다.
인터넷 계층에서는 전송 계층으로부터 받은 데이터에 헤더를 붙여 캡슐화하는데 이를 패킷(packet) 또는 데이터그램(datagram)이라고 한다.
•
1계층(네트워크 인터페이스 계층)
네트워크 접근 계층이라고도 하며 데이터를 전기 신호로 변환하고 MAC 주소를 사용해 기기에 데이터를 전달한다.
이더넷, Wi-Fi 등이 해당 계층에 속하는 대표적인 프로토콜이다.
IP 주소와 서브넷 마스크
IP 주소는 컴퓨터 또는 네트워크 장치를 식별하기 위한 값으로 네트워크부와 호스트부로 나뉘며 해당 주소가 어떤 네트워크에 속해있고 해당 네트워크에서 어떠한 기기인지를 나타내는 값이다.
서브넷 마스크는 IP와 동일한 구조를 가졌으며 IP 주소와 and 연산을 통해 네트워크부와 호스트부를 구분하여 알아낼 수 있다.