프로토콜 데이터 단위(Protocol Data Unit)는 데이터 통신에서
상위 계층이 전달한 데이터에 붙이는 제어정보를 뜻한다.
모든 계층에서, 우리가 전송하는 데이터를 데이터라고 부를까? PDU를 알고난 후 부터는 그렇지 않을 것이다.
물론 데이터 자체는 동일하지만 각 레이어를 거치면서 헤더 정보가 추가되면서 이름이 달라진다.
- 사용자는 Data 라고 부르고,
- TCP는 Segment 라고 부르고,
- IP는 Packet 이라고 부르고,
- 데이터링크는 Frame,
- 컴퓨터 하드웨어는 그것을 Bit 로 연산하고 다루게 되는 것.
- Datagram : 사용자의 순수한 메시지를 다르게 부르는 말 (UDP)
예를 들면, 상위 계층에서 데이터를 전달받은 전송계층에서는 아래의 정보들를 추가해 그룹화 한다.
이때부터 데이터는 데이터가 아니라, 세그먼트라고 불리는 것이다.
전송 계층으로 부터 전달받은 세그먼트는 네트워크 계층의 정보를 포함해 패킷이라고 불리게 된다.
전반적인 네트워킹에서의 packet의 의미
Circuit switching vs Packet switching 의 개념으로 회선교환(circuit switching)에 대비되는 모든 데이터 교환을 일컬어 packet switching이라고 할 수 있다. ATM cell switching은 물론이고, Ethernet frame switching, Frame Relay frame switching, 등등 회선교환이 아닌 모든 데이터 단위가 packet의 범주에 들어간다.
- Datagram : 데이터그램은 사용자의 순수한 message를 다르게 부르는 말이다.
- IP Packet : IP packet에서의 packet은 이 사용자 datagram을 layer-2의 MTU에 맞춰서 토막을 낸 상태. 그러니까 packet은 토막난 상태의 사용자 정보 스트림을 말한다.
- SDU(Service Data Unit) : PDU와 SDU는 다른 용어이니 헷갈리면 안된다. SDU는 상향/하향 통신 레이어 간에 전달되는 실제 정보를 말한다. PDU는 동일 레이어 내에서 데이터 단위를 부르는 이름이고.
즉, PDU = PCI(프로토콜 통신 유닛의 줄인말로 쉽게 말하면 헤더 정보) + SDU 라고 생각하자.