
Em telecomunicações, uma unidade de dados de protocolo (PDU, do inglês protocol data unit) é uma unidade única de informação transmitida entre entidades pares de uma rede de computadores. Ela é composta por informações de controle específicas do protocolo e por dados do usuário. Nas arquiteturas em camadas das pilhas de protocolos de comunicação, cada camada implementa protocolos adaptados ao tipo ou modo específico de troca de dados.
Por exemplo, o Transmission Control Protocol (TCP) implementa um modo de transferência orientado a conexão, e a PDU deste protocolo é chamada de segmento, enquanto o User Datagram Protocol (UDP) utiliza datagramas como unidades de dados de protocolo para comunicação sem conexão. Em uma camada inferior na pilha de protocolos da Internet, na camada de Internet, a PDU é chamada de pacote, independentemente do seu tipo de carga útil (payload).
No contexto das redes de dados com comutação de pacotes, uma unidade de dados de protocolo (PDU) é melhor compreendida em relação a uma unidade de dados de serviço (SDU).
Os recursos ou serviços da rede são implementados em camadas distintas. A camada física envia uns e zeros através de diferentes meios de comunicação, como fios de cobre ou cabos de fibra óptica. A camada de enlace de dados, então, organiza esses uns e zeros em blocos de dados e os leva com segurança ao lugar certo no fio. A camada de rede transmite os dados organizados por meio de múltiplas redes conectadas, e a camada de transporte entrega os dados à aplicação de software correta no destino.
Entre as camadas (e entre a aplicação e a camada mais alta), as camadas passam unidades de dados de serviço (SDUs) através de interfaces. A camada superior entende a estrutura dos dados na SDU, mas a camada inferior na interface não; além disso, a camada inferior trata a SDU como a carga útil, comprometendo-se a levá-la até a mesma interface no destino. Para fazer isso, a camada do protocolo (inferior) adicionará à SDU certos dados necessários para realizar sua função, o que é chamado de encapsulamento. Por exemplo, ela pode adicionar um número de porta para identificar a aplicação, um endereço de rede para ajudar no roteamento, um código para identificar o tipo de dados no pacote e informações de checagem de erros. Toda essa informação adicional, somada à unidade de dados de serviço original da camada superior, constitui a unidade de dados de protocolo nesta camada.[carece de fontes]
A SDU e os metadados adicionados pela camada inferior podem ser maiores do que o tamanho máximo da PDU daquela camada (conhecido como unidade máxima de transmissão; MTU). Quando este for o caso, a PDU deve ser dividida em múltiplas cargas úteis de um tamanho adequado para transmissão ou processamento pela camada inferior, um processo conhecido como fragmentação IP.[carece de fontes]
A importância disso é que a PDU é a informação estruturada que é passada para uma camada de protocolo correspondente mais adiante na jornada dos dados, o que permite que a camada cumpra sua função ou serviço pretendido. A camada correspondente, ou par (peer), decodifica os dados para extrair a unidade de dados de serviço original, decide se ela está livre de erros e para onde enviá-la em seguida, etc. A menos que já tenhamos chegado à camada mais baixa (física), a PDU é passada para o par usando os serviços da próxima camada inferior na pilha de protocolos. Quando a PDU passa pela interface da camada que a construiu para a camada que apenas a entrega (e que, portanto, não entende sua estrutura interna), ela se torna uma unidade de dados de serviço para essa camada. A adição de informações de endereçamento e controle (encapsulamento) a uma SDU para formar uma PDU e a passagem dessa PDU para a próxima camada inferior como uma SDU se repetem até que a camada mais baixa seja alcançada e os dados passem por algum meio como um sinal físico.[carece de fontes]
O processo acima pode ser comparado ao sistema de correios, no qual uma carta (SDU) é colocada em um envelope no qual é escrito um endereço (informações de endereçamento e controle), tornando-a uma PDU. A agência postal de envio pode olhar apenas para o código postal e colocar a carta em uma mala postal, de modo que o endereço no envelope não possa mais ser visto, tornando-a agora uma SDU. A mala postal é etiquetada com o código postal de destino e, assim, torna-se uma PDU até ser combinada com outras malas em um caixote, quando passa a ser uma SDU, e o caixote é etiquetado com a região para onde todas as malas devem ser enviadas, tornando o caixote uma PDU. Quando o caixote chega ao destino correspondente à sua etiqueta, ele é aberto e as malas (SDUs) são removidas, apenas para se tornarem PDUs quando alguém lê o código da agência postal de destino. As próprias cartas são SDUs quando as malas são abertas, mas tornam-se PDUs quando o endereço é lido para a entrega final. Quando o destinatário finalmente abre o envelope, a SDU de nível superior, a própria carta, emerge.[carece de fontes]
As unidades de dados de protocolo do Modelo OSI são:
Dado um contexto pertencente a uma camada OSI específica, PDU é às vezes utilizada como sinônimo para a sua representação naquela camada.
As unidades de dados de protocolo para a pilha de protocolos da Internet são:
No TCP/IP sobre Ethernet, os dados na camada física são transportados em quadros Ethernet.
A PDU da camada de enlace de dados em redes Asynchronous Transfer Mode (ATM) é chamada de célula.
Uma unidade de dados de protocolo de controle de acesso ao meio (MAC PDU ou MPDU) é uma mensagem trocada entre entidades de controle de acesso ao meio (MAC) em um sistema de comunicação baseado no modelo OSI em camadas.
Em sistemas onde a MPDU pode ser maior do que a unidade de dados de serviço MAC (MSDU), a MPDU pode incluir múltiplas MSDUs como resultado de uma agregação de pacotes. Em sistemas onde a MPDU é menor do que a MSDU, uma MSDU pode gerar múltiplas MPDUs como resultado de uma segmentação de pacotes.