UDP (User Datagram Protocol) fornece um mecanismo de transporte sem conexão e não confiável para transmissão de dados através de redes IP. Veja como funciona o UDP:
O UDP opera na camada de transporte da pilha de protocolos TCP/IP e é usado por aplicações que não exigem entrega garantida de dados ou ordenação estrita de pacotes. Quando um aplicativo deseja enviar dados usando UDP, ele encapsula os dados em um datagrama UDP. Cada datagrama UDP inclui cabeçalhos com números de porta de origem e destino, juntamente com uma soma de verificação para detecção de erros (embora a correção de erros não seja fornecida).
Uma vez formado o datagrama UDP, ele é entregue à camada de rede (camada IP), onde passa a fazer parte de um pacote IP. O pacote IP contém cabeçalhos adicionais com endereços IP de origem e destino, permitindo que os roteadores o encaminhem através de diferentes redes em direção ao seu destino.
Ao chegar ao host de destino, o pacote IP é passado para a camada de transporte, onde o UDP o processa. O UDP extrai a carga de dados do pacote IP com base no número da porta de destino especificado no cabeçalho UDP. Ao contrário do TCP, o UDP não estabelece uma conexão antes de transmitir os dados, nem mantém o estado da sessão ou garante uma entrega confiável. Em vez disso, o UDP simplesmente entrega os dados ao aplicativo ou serviço especificado em execução no host de destino.
Um datagrama refere-se a uma unidade independente e independente de dados transmitidos por uma rede.
UDP, um datagrama consiste no cabeçalho UDP seguido pela carga útil de dados. Cada datagrama é tratado como uma entidade separada e transmitido independentemente de outros datagramas. Isto significa que os datagramas UDP podem chegar fora de ordem ou serem perdidos sem que o UDP forneça mecanismos de retransmissão ou sequenciamento. Os aplicativos que utilizam UDP devem lidar com essas condições, se necessário, para seu caso de uso específico.
Um exemplo de protocolo baseado em UDP é o DNS (Domain Name System). O DNS usa UDP para transmissão rápida e leve de consultas e respostas DNS entre clientes (resolvedores) e servidores DNS. As consultas DNS, que solicitam mapeamentos de nomes de domínio para endereços IP, são normalmente pequenas e se beneficiam da baixa sobrecarga e das características de transmissão rápida do UDP. As respostas DNS, fornecendo os mapeamentos solicitados, também são enviadas por UDP. Os servidores DNS escutam na porta UDP 53 as consultas recebidas e respondem com datagramas UDP contendo as informações solicitadas. O DNS emprega UDP principalmente por sua eficiência na resolução de nomes de domínio e endereços IP sem a sobrecarga de estabelecer e manter conexões.