프로토콜 데이터 단위

프로토콜 데이터 단위(Protocol Data Unit)는 데이터 통신에서 상위 계층이 전달한 데이터에 붙이는 제어정보를 뜻한다.

PDU의 내용 
정보를 추가한 계층에 따라 PDU를 지칭하는 이름과 포함하는 내용이 달라진다.
 전송계층 : 세그먼트(segment)

 발신지 포트 : 발신하는 application의 포트
 목적지 포트 : 수신해야 할 application의 포트
 순서 번호 : 순차적 전송할 경우 순서를 붙이며, 순서가 어긋나면 목적지 프로토콜이 이를 바로 잡는다.
 오류검출코드 : 발신지와 목적지 프로토콜은 세그먼트를 연산하여 오류 검출 코드를 각각 만든다. 만약 발신지에서 전송한 세그먼트에 포함된 오류 검출 코드와 목적지에서 만든 오류 검출 코드가 다르다면 전송되는 과정에서 오류가 발생한 것이다. 이 경우, 수신측은 그 세그먼트를 폐기하고 복구 절차를 밟는다. 오류검출코드는 체크섬, 프레임 체크 시퀀스라고도 부른다.

 네트워크 계층 :패킷(packet)
 발신지 컴퓨터 주소 : 패킷의 발신자 주소
 목적지 컴퓨터 주소 : 패킷의 수신자 주소
 서비스 요청 : 네트워크 접속 프로토콜은 우선 순위와 같은 서브 네트워크의 사용을 요청할 수 있다.

OSI 모델 
PDU는 다음의 OSI모델의 앞쪽의 4개 층 사이의 각각의 관계와 관련이 있다.
 층 1(물리 계층) PDU – 비트(스트림)
 층 2(데이터 링크 계층) PDU – 전달정보(프레임)
 층 3(네트워크 계층) PDU – 패킷 혹은 UDP의 데이터그램
 층 4(전송 계층) PDU – TCP 세그먼트
 층 5-6-7 (응용 계층) PDU – 메시지, 데이터
특정 OSI와 관련된 문맥 내에서는 PDU는 그 계층 자체를 의미하기도 한다.

매체 접근 제어 프로토콜 데이터 단위 
매체 접근 제어 프로토콜 데이터 단위(MPDU)은 계층 개방형 시스템간 상호접속(OSI)모델에 기초한 소통 시스템의 매체 접근 제어 독립체 간에서 교환된 메시지이다. MPDU가 MAC서비스 데이터 단위보다 큰 시스템 내에서는 MPDU는 패킷 집합체의 결과로써 다수의 MSDU를 포함하기도 한다. MPDU가 MSDU보다 작은 시스템에서는 패킷 분할의 결과로 하나의 MSDU가 다수의 MPDU를 만들어내기도 한다.

패킷 교환 데이터 네트워크 
패킷 교환 데이터 네트워크에 대한 글 내에서, PDU는 서비스 데이터 단위(SDU)와 관련지어 이해하면 용이하다. 네트워크의 특징이나 서비스는 별개의 “계층” 내에서 주어진다. 예를 들어 전선, 섬유 등을 통해 0과 1로 이루어진 신호를 보내는 것은 물리 계층에 의해, 0과 1의 데이터를 수집하여 와이어의 적절한 곳에 도달하도록 하는 것은 데이터 링크 계층에 의해, 이러한 데이터들을 연결된 네트워크로 전송하는 것은 네트워크 계층에 의해, 그리고 적절한 소프트웨어 애플리케이션의 데이터를 목적지까지 보내는 것은 전송 계층에 의해 행해진다.

계층들은 인터페이스를 통해 데이터 단위를 주고받는다. 응용계층, 혹은 더 상위의 계층은 SDU 내의 데이터의 구조를 알 수 있지만 하위의 계층은 이를 알지 못한다. 이를 위해서 프로토콜 계층은 SDU에 그것이 기능을 하기 위한 특정한 데이터를 추가한다. 예를 들어 그것은 애플리케이션을 식별하기 위한 포트어드레스를 추가할 수도 있고 패킷 속의 데이터를 식별하고 오류를 알아내는 네트워크 주소를 추가할 수도 있다. 모든 추가적인 정보와 상위 계층에 있던 오리지널 서비스 데이터 단위는 이 계층의 프로토콜 데이터 단위를 구성한다. 이것의 중요성은 PDU는 매칭 프로토콜 계층에 단순히 데이터의 전송의 단계를 넘어서 그것이 의도하는 기능 혹은 서비스를 하도록 전송되는 구조화된 정보이다. 매칭 계층 혹은 “피어”는 오리지널 서비스 데이터 단위를 추출하기 위해서 데이터를 해독하고, 그것인 오류가 없는지, 다음으로 그것을 어디로 전송해야 할지에 대한 결정을 한다. 만약 우리가 이미 가장 낮은(물리적)계층에 도달하지 않았다면 PDU는 다음으로 낮은 단계의 계층 속의 프로토콜 “스택”을 사용하여 피어로 전송된다. PDU가 단지 그것을 전송하기 위해서 만들어진 특정 계층으로부터 인터페이스 너머로 전송되면 그것은 그 계층의 서비스 데이터 단위가 된다. PDU를 생성하고 그 PDU를 다음 하위 계층으로 보내는 SDU에 정보를 처리하고 통제하는 것(encapsulation)을 추가한 것은 가장 낮은 계층에 도달하고 어떤 매체에게로 데이터가 물리적 신호로 전달될 때가지 반복된다.

위의 과정은 PDU를 만드는 주소가 쓰여있는 봉투 속의 메일(SDU)이 있는 메일시스템과 관련이 있다. 전송하는 쪽의 우체국은 우편번호만을 보고 그것이 다시는 보일 수 없게 가방 안에 넣어버릴 수도 있는데 이 때 그것은 SDU가 된 것이다. 그 가방에는 우편번호의 목적지가 붙고 그것이 그것이 SDU일 때 다른 가방과 결합될 때까지 PDU가 되고 그리고 그 결과물은 모든 가방들이 보내질 지역이 붙고 이것은 그 결과물을 PDU로 만든다. 그 결과물이 그것의 라벨이 지시하는 곳으로 도달하면 그것은 개봉되고 그것을 담고 있던 가방(SDU)은 단지 우체국에서 누군가가 목적지를 알기 위해 읽었던 PDU가 되고 제거될 뿐이다. 그 편지들 그 자체는 그 가방이 개봉되었을 때는 SDU이지만 그 주소가 마지막으로 배달되기 위해 읽히면 그것인 PDU가 된다. 그 처리자가 마침내 그 봉투를 열면 가장 높은 단계의 SDU 즉 그 편지 자체가 나타나게 된다.

각주 

데이터 전송
네트워크 프로토콜
패킷