Alternativa B - aplicações que exigem um atraso mínimo de transmissão
A questão aborda as características fundamentais dos protocolos da camada de transporte, especificamente comparando o comportamento do UDP (User Datagram Protocol) em relação a outras necessidades de rede.
Análise Detalhada
Para entender a resposta correta, é necessário contrastar o UDP com o TCP (Transmission Control Protocol), seu principal concorrente:
| Característica | UDP (User Datagram Protocol) | TCP (Transmission Control Protocol) |
|---|
| Confiabilidade | Não confiável (Best Effort) | Confiável (Garante entrega) |
| Ordenação | Não garante ordem | Garante ordem dos pacotes |
| Controle de Fluxo | Não possui | Possui |
| Latência | Baixa (Rápido) | Maior (Devido à sobrecarga) |
| Estado | Stateless (Sem estado) | Stateful (Com estado/sessão) |
Por que a alternativa B é a correta?
O UDP é conhecido por ser um protocolo leve e rápido porque não realiza verificações complexas antes de enviar os dados. Ele não precisa estabelecer uma conexão (three-way handshake), não envia confirmações de recebimento (ACKs) e não retransmite pacotes perdidos.
Isso torna o UDP ideal para aplicações onde a velocidade é mais importante que a perfeição dos dados. Exemplos clássicos incluem:
- Vídeo chamadas e VoIP: Uma imagem perdida é melhor do que um atraso grande esperando ela chegar.
- Jogos Online: A posição atual do jogador é mais relevante do que posições antigas corrigidas.
- Streaming de vídeo: Perder alguns quadros é preferível a pausar o stream para recuperar dados.
Por que as outras alternativas estão incorretas?
- Aplicações que precisam de controle de fluxo de dados: O controle de fluxo impede que um remetente rápido inunde um receptor lento. O UDP não possui esse mecanismo; essa é uma função exclusiva do TCP.
- Aplicações que exigem que os dados sejam remontados em um pedido específico: Isso refere-se à reordenação de pacotes. Se os pacotes chegarem fora de ordem, o TCP reorganiza eles. O UDP entrega conforme chega, sem garantia de sequência lógica.
- Aplicações que exigem sessões stateful: Manter uma sessão "stateful" exige que o servidor lembre quem é o cliente e o estado da comunicação. O UDP é stateless, pois trata cada pacote como um evento independente sem memória da conversa anterior.
Conclusão
O protocolo UDP sacrifica a confiabilidade em prol da velocidade. Portanto, ele é a escolha adequada quando a prioridade da aplicação é minimizar a latência (atraso) durante a transmissão, mesmo que isso signifique aceitar possíveis perdas de dados.