Em uma camada de rede que não é confiável e sem conexão (como o Protocolo da Internet, IP), não há mecanismo inerente para re-definir automaticamente os dados perdidos. A responsabilidade de garantir a entrega confiável de dados se enquadra em camadas mais altas da pilha de protocolos, normalmente a camada de transporte (por exemplo, TCP) ou aplicativos de nível superior. Veja como é alcançado:
1. Protocolos de camada de transporte (como TCP): *
Estabelecimento de conexão: O TCP estabelece uma conexão antes da transmissão de dados, permitindo um diálogo entre o remetente e o destinatário. Isso envolve um aperto de mão de três vias para confirmar a viabilidade da conexão.
*
sequenciamento: Cada pacote de dados é numerado sequencialmente. Isso permite que o receptor detecte pacotes ausentes e solicite retransmissão.
*
reconhecimento (ACK): O receptor envia pacotes ACK de volta ao remetente confirmando o recebimento de dados. Se um ACK não for recebido dentro de um período de tempo limite, o remetente retransmissão do pacote não reconhecido.
*
Tempo limite e retransmissão: O remetente mantém os temporizadores para cada pacote enviado. Se um timer expirar antes de um ACK ser recebido, o pacote será retransmitido.
*
Detecção de erro: As somas de verificação ou outros mecanismos de detecção de erros são usados para detectar pacotes corrompidos. Os pacotes corrompidos são descartados e a retransmissão é solicitada.
2. Mecanismos da camada de aplicação (ao usar UDP ou um protocolo sem conexão): Como a camada de rede não fornece confiabilidade interna, os aplicativos usando UDP ou outros protocolos sem conexão devem implementar seus próprios mecanismos para transferência de dados confiável:
*
Sequenciamento e ACKs: O aplicativo em si precisa numerar os pacotes e implementar estratégias de reconhecimento e retransmissão, imitando a funcionalidade do TCP.
*
Timeout de retransmissão: Semelhante ao TCP, o aplicativo define o tempo limite para cada pacote. Se um tempo limite expirar sem um reconhecimento, o aplicativo retransmissão do pacote.
*
reconhecimento positivo com retransmissão (PAR): O destinatário reconhece pacotes recebidos e os retransmitidos do remetente ausentes de pacotes com base nesses reconhecimentos.
*
go-back-n arq: O remetente retransmissão de todos os pacotes a partir do pacote não reconhecido.
*
Repita seletiva ARQ: O remetente retransmite apenas os pacotes ausentes.
em suma: Embora a natureza não confiável e sem conexão da camada de rede não forneça recuperação de dados integrados, os protocolos de nível superior e a lógica no nível do aplicativo são responsáveis pela implementação dos mecanismos necessários para detectar e se recuperar de dados perdidos. Isso adiciona sobrecarga, mas permite comunicação confiável em uma infraestrutura inerentemente não confiável.