OSI 7 계층이란 네트워크 프로토콜 디자인과 통신을 7개의 계층으로 나누어 개념적으로 설명한 것입니다.
OSI 7계층은 응용 계층, 표현 계층, 세션 계층, 전송 계층, 네트워크 계층, 데이터 링크 계층, 물리 계층이 있습니다.
TCP/IP 계층은 인터넷에서 사용하는 프로토콜들의 역할을 4개의 계층으로 설명한 모델입니다. OSI 모델과 역할을 대응시켜 이해할 수 있지만, OSI를 단순히 축약해서 만든 것으로 설명하지는 않습니다.
TCP/IP 계층은 응용 계층, 전송 계층, 인터넷 계층, 네트워크 연결 계층이 있습니다.
OSI 7계층과 TCP/IP 4계층은 어떻게 대응하나요?
일반적으로 OSI의 응용·표현·세션 계층을 TCP/IP의 응용 계층에, 전송 계층을 전송 계층에, 네트워크 계층을 인터넷 계층에 대응시킵니다. 데이터 링크·물리 계층은 네트워크 연결 계층으로 묶어 설명합니다. 다만 서로 다른 모델이므로 실제 구현을 항상 정확히 일대일로 나눌 수 있는 것은 아닙니다. RFC 1122의 계층 설명
실제 프로토콜을 각 계층에 배치하면 어떻게 되나요?
TCP/IP 기준으로 HTTP·DNS는 응용 계층, TCP·UDP는 전송 계층, IP는 인터넷 계층에 해당합니다. 이더넷과 Wi-Fi는 네트워크 연결 계층의 기술입니다. HTTP/1.1 기반 HTTPS라면 HTTP 메시지를 TLS로 보호하고, TCP·IP를 통해 전달하는 순서로 설명할 수 있습니다.
왜 네트워크 통신을 계층으로 나누었는가요?
관심사와 책임을 분리하기 위해서 입니다. 각 계층이 정해진 인터페이스를 통해 동작하므로 특정 계층의 구현이 변경되어도 다른 계층에 미치는 영향을 줄일 수 있습니다. 또한 서로 다른 장비와 프로토콜 간의 표준화와 호환성이 쉬워집니다.
실제로 데이터를 전송할 때 각 계층에서는 어떤 일이 발생하나요?
송신 측에서는 상위 계층에서 하위 계층으로 내려가면서 각 계층의 헤더가 추가되는 캡슐화가 이루어집니다.
수신 측에서는 반대로 헤더를 제거하며 상위 계층으로 전달하는 역캡슐화(디캡슐화)가 이루어집니다.
각 계층의 헤더에는 어떤 정보가 필요하나요?
예를 들어 이더넷 헤더의 MAC 주소는 현재 링크에서 전달할 대상을, IP 헤더의 IP 주소는 네트워크 간 전달 목적지를, TCP·UDP 헤더의 포트는 호스트 안의 통신 종단점을 구분합니다. 같은 서버 IP로 웹과 DB에 접속하더라도 포트로 서비스를 구분할 수 있습니다.