Como o UDP rastreia conexões?

2

Se o UDP não estabelecer uma conexão como o TCP ... parece que a única maneira de rastrear conexões é a origem ip / port e o destino ip / port. Está correto?

Então, eu acho que existem pacotes especiais para Connection Refused e Connection Reset. Isso está correto?

Além disso, é verdade que meus dados podem não ser recebidos na ordem em que foram enviados?

    
por George Bailey 05.01.2011 / 16:06

4 respostas

6

Seu primeiro para está correto. Não há conexão, embora alguns mecanismos IP usem endereço de origem / porta e endereço / porta de destino para fornecer uma aproximação baseada em sincronicidade ao estado.

A recusa é tratada com o ICMP, geralmente com porta ICMP inacessível (tipo 3, subtipo 3).

Seu último par também está correto; Cabe ao seu aplicativo garantir que os dados transmitidos por UDP sejam sequenciados corretamente.

    
por 05.01.2011 / 16:12
1

Não há connection no UDP. Não é um protocolo confiável. Se a confiabilidade da transmissão é desejada, ela deve ser implementada no aplicativo do usuário. Dê uma olhada em esta página .

Sim, os pacotes podem chegar fora de ordem e podem ser perdidos. O aplicativo deve cuidar dessas coisas, se necessário.

    
por 05.01.2011 / 16:12
0

O UDP também é conhecido como o protocolo de dados não confiável. Não há rastreamento como tal no UDP. Você pode usar o combo src e dst IP / Port para rastreamento, mas não tem certeza do que você conseguiria com isso.

A resposta à sua segunda pergunta, que os dados podem não ser recebidos na ordem em que foram enviados, está correta. O TCP usa os números de sequência. Se um pacote é recebido fora de seqüência, ele é descartado. O cliente envia uma confirmação ao remetente do pacote seqüenciado recebido, no qual o remetente começa a enviar dados daquele ponto em diante. Isso também pode incluir retransmissão de alguns pacotes. É assim que o TCP fornece garantia de dados.

    
por 05.01.2011 / 16:21
0

O UDP é um serviço orientado para datagramas. Cada pacote UDP deve ter (idealmente!) O seu contexto completo no pacote, pois os pacotes podem ser perdidos ou reordenados em trânsito.

O TCP, por outro lado, é um protocolo orientado por fluxo, fornecendo um fluxo bidirecional entre dois pontos finais (isso implica em confiabilidade e sequenciamento, enquanto um serviço de datagrama não necessariamente).

    
por 06.01.2011 / 08:20