Um pacote TCP descartado será detectado e retransmitido pelos dois hosts que estabeleceram a sessão TCP.
Um pacote UDP descartado não faz parte de uma sessão e não possui funcionalidade interna para detecção de falha na entrega. No caso do DNS, um pacote descartado resulta em um tempo limite e, em seguida, a consulta é repetida, talvez em um servidor diferente.
O UDP tem uma sobrecarga muito menor do que o TCP. (Meu sistema Mac OSX 9.2 tem 92 parâmetros TCP sintonizáveis que cada sessão TCP define. Existem apenas 7 para UDP.) Isso permite que um servidor DNS forneça serviço de nome a milhares de vezes mais clientes do que se usasse TCP para o mesmo transações.