teste
Dentre todos os problemas que existem para a implementação de redes de computadores, podemos dizer que a tranferência confiável de dados é um dos principais. Essa tarefa ainda é mais complexa, pois a implementação do Protocolo de tranferência confiável de dados é feita em um canal confiável, porém possui a camada de rede logo abaixo: um canal não confiável. Por exemplo: o TCP é um protocolo de tranferência de dados confiável implementado sobre uma camada de rede fim-a-fim não confiável (IP).
Os pacotes são enviados do remetente ao destinatário vindo das camadas superiores até as inferiores. O protocolo de tranferência confiável de dados é implementado na camada de transporte. rdt é a sigla para Reliable Data Transfer que significa transferência confiável de dados. Na figura, rdt_send() é chamada vinda da camada superior, (ex., pela aplicação). Passa dados para entregar à camada superior receptora. udt_send()é chamada pela entidade de transporte, para transferir pacotes para o receptor através do canal não confiável. rdt_rcv()é chamada pela entidade da camada inferior quando o pacote chega ao lado receptor do canal e deliver_data()é chamada pela entidade de transporte para entregar dados para camada superior.
Consideraremos apenas o caso de transferência unidirecional de dados, ou seja, do lado do remetente ppara o lado do destinatário. Os diagramas utilizados para a exemplificação dos protocolos utilizam máquinas de estados finitos (FSM) para especificar o protocolo transmissor e o receptor. É definido que estado é quando neste “estado” o próximo estado fica unicamente determinado pelo próximo evento.
rdt1.0: Transferência confiável de dados sobre canais perfeitamente confiáveis
Primeiro é considerado um caso mais simples, na qual nao há erro de bits na transmissão e também não há perdas de pacotes. As FSMs são separadas para transmissor e receptor na qual transmissor envia dados para o canal subjacente