Protocolo de Transmissão Licklider - Licklider Transmission Protocol

O protocolo de transmissão Licklider é um protocolo ponto a ponto para uso em links de espaço profundo. O LTP é comumente visto como o protocolo da camada de convergência subjacente padrão para os Protocolos Bundle ( RFC 5050 ), suportando uma ampla seleção de redes.

LTP é nomeado em homenagem ao cientista da computação americano Joseph Carl Robnett Licklider .

Projeto

O LTP é projetado para ser executado diretamente em uma camada de enlace de dados (por exemplo, o Protocolo de Enlace de Dados Espaciais de Sistemas de Orbita Avançada (AOS)). Ele também pode ser executado no User Datagram Protocol (UDP), por exemplo, se usado em uma rede de sensores, em uma rede privada (onde a contestação de largura de banda não é um problema) ou para fins de depuração de software. Portanto, ele não aborda questões como roteamento ou controle de congestionamento. Ele foi originalmente projetado para suportar a transmissão de “longa distância” em uma rede interplanetária; seu design é baseado em experiências com o protocolo de entrega de arquivos CCSDS (CFDP).

Desenvolvido para comunicação espacial, possui como características:

  • Transporte de dados confiável para dados importantes (como um cabeçalho de arquivo)
  • Transporte de dados não confiável para dados menos importantes (como pixels de imagem - um pixel danificado pode ser superado)
  • Sem troca de mensagens para realizar negociação. O protocolo evita esse processo para evitar atrasos devido aos altos tempos de ida e volta . Também evita a subutilização do link.
  • Eficiência energética, pois só transmite se houver um link disponível e faz a distinção entre dados importantes e não importantes.
  • Seus temporizadores trabalham em conjunto com as programações de comunicação e podem ser suspensos sempre que ocorrer uma interrupção programada do link.
  • Precisa ser informado sobre a disponibilidade da camada de enlace, tempo de ida e volta e horários de comunicação, exigindo basicamente uma base de informações de gerenciamento (MIB). LTP é altamente stateful.
  • Sessões de transmissão unidirecional, contornar altos tempos de ida e volta ou a incapacidade de um nó de comunicação de mesmo nível para transmitir

O aplicativo divide seus dados para enviar em duas partes (qualquer parte pode ter um tamanho de 0):

  • uma parte vermelha : contém dados que devem ser transportados de forma confiável, devem ser confirmados pelo receptor e devem ser mantidos disponíveis até serem confirmados. Isso poderia, por exemplo, ser um cabeçalho que contém informações importantes para decodificar os dados a seguir, e cuja corrupção tornaria todos os dados a seguir inúteis.
  • uma parte verde . Ele contém dados que não requerem transporte confiável. Como a recepção desses dados não é confirmada, eles podem ser descartados após a transmissão.

Protocolo

O mecanismo LTP armazena dados em uma fila, verifica se o link para o destino está disponível e, se estiver, inicia a transmissão. Se o link não estiver disponível, os dados permanecem na fila e a transmissão começa assim que uma chamada “indicação do estado do link” chega, seja de uma camada de link subjacente ou de uma base de informações de gerenciamento . Dados dados em vermelho para enviar, o último segmento dos dados em vermelho é marcado com um sinalizador de “fim de dados em vermelho” e um cronômetro é iniciado para esse segmento. Ausência de dados verdes para enviar, o sinalizador “fim do bloco” é definido, caso contrário, os dados verdes são transmitidos e o último segmento desta parte é marcado com o sinalizador “fim do bloco”. O receptor emite um segmento de relatório para o remetente, uma vez que recebeu o segmento de “fim dos dados vermelhos” e todos os dados estão completos. Uma vez que o segmento de relatório foi transmitido, um cronômetro é iniciado. Após a chegada do segmento de relatório, o remetente cancela seu cronômetro, enfileira uma confirmação de relatório para o receptor e informa ao aplicativo que todos os dados vermelhos foram transmitidos com sucesso. Assim que o receptor recebe o relatório de confirmação, ele cancela seu cronômetro e a transmissão dos dados vermelhos é concluída. A transmissão é concluída se o segmento de “fim de bloco” chegar.

Implementações

Implementações de referência

As duas implementações de referência para LTP são:

Outras implementações

  • Scapy tem um módulo de contribuição LTP, contribuído pela MITER Corporation.

Referências

links externos