프로토콜의 역할
프토토콜이 갖고 있는 역할 중에서 가장 중요한 것은 '캡슐화'와 '캡슐 해제화' 기능이라고 볼 수 있습니다.
데이터가 각 OSI 계층을 넘나들 때 캡슐화와 캡슐 해제화를 하게 되는데, 송신 측에서는 캡슐화를 하고, 수신 측에서는 캡슐 해제화를 수행합니다.
먼저 서버 애플리케이션은 만든 애플리케이션 데이터를 그 상태로 전송 계층에 전달합니다. 전송 계층은 받은 애플리케이션 데이터를 TCP/UDP 캡슐(세그먼트)에 넣어 네트워크 계층으로 전달합니다. 네트워크 계층은 받은 세그먼트를 IP 캡슐(패킷)에 넣어 데이터 링크 계층으로 전달합니다. 데이터링크 계층은 받은 패킷을 이더넷 캡슐(프레임)에 넣어 물리 계층으로 전달합니다. 물리 계층은 받은 프레임을 신호로 보내기 좋은 비트로 변환한 후 전기 신호나 광 신호로 만들어 보냅니다.
이와 반대로 클라이언트에서 실행하는 처리가 캡슐 해제화입니다. 클라이언트는 하위 계층에서부터 상위 계층으로 캡슐 해제화 처리를 하여 원래의 애플리케이션 데이터로 되돌려 갑니다. 먼저 물리 계층에서 전기 신화나 광 신호를 받으면 비트로 변환한 후 프레임으로 만들어 데이터링크 계층으로 전달합니다. 데이터링크 계층은 받은 프레임에서 패킷을 꺼내 네트워크 계층으로 전달합니다. 네트워크 계층은 받은 패킷에서 세그먼트를 꺼내 전송 계층으로 전달합니다. 전송 계층은 받은 세그먼트에서 데이터를 꺼내 원래의 애플리케이션 데이터를 클라이언트 애플리케이션에 전달합니다.
'프레임', '패킷', '세그먼트' 등은 어떤 계층의 데이터인지를 나타냅니다.