O protocolo UDP não acrescenta muito ao IPv4, no máximo acrescenta alguma forma de verificação de erro simples e a multiplexação/demultiplexação. Na verdade, caso um desenvolvedor opte por utilizar o protocolo UDP, ele quase que estará falando diretamente com o IPv4. Assim, o UDP não implementa:
- Controle de congestionamento de rede
- Recuperação de pacotes perdidos
- Ordenação de pacotes
- Entrega de pacotes
- Recuperação de pacotes corrompidos
Diante disso tudo, pode se gerar uma pergunta: “Se o UDP não implementa nada disso, então é sempre preferível utilizar o protocolo TCP?“. A resposta é não. O protocolo UDP também possuí uma série de benefícios, sendo eles:
- Melhor controle na camada de aplicação de como e quando os dados são enviados
- Não há estabelecimento de conexão
- Não há estados de conexão
- Pacotes possuem um cabeçalho melhor
Essa diferença ao protocolo TCP faz com que o UDP seja muito mais rápido, sendo utilizado majoritariamente em sistemas onde a perda de pacotes não importa, mas a velocidade de entrega sim. Exemplos são exemplos desses sistemas:
- Jogos
- Chamadas de vídeo/voz
- Serviço de DNS
- Protocolos de roteamento
- Protocolos de gerenciamento de redes