Protocolo de Pacotes

O protocolo de pacotes (bundle protocol) organiza o envio de dados pela rede DTN em pacotes (bundles) e não mais como mensagens individuais. Cada pacote representa um conjunto de mensagens com o mínimo de informação necessária para que o receptor possa executar algum tipo de processamento.

Por exemplo, para atuar sobre um determinado conjunto de dados, uma sonda deve possuir todos os dados, não podendo começar os procedimentos com apenas parte deles. Por isso, caso o conjunto de dados esteja fragmentado em diversas mensagens, devido ao seu tamanho, a sonda permanecerá ociosa aguardando a chegada de todos os fragmentos. O bundle protocol age de maneira a priorizar a transmissão de mensagens de um mesmo bundle, visto que o envio de mensagens de diferentes bundles não reduzirá, a priori, a latência observada pelo destinatário. Por isso, a unidade fundamental nessa abordagem é um bundle, não mais uma simples mensagem.

Tendo em mente as camadas de Internet convencional, o bundle protocol atuaria em uma camada intermediária entre as camadas de aplicação e de transporte conhecida como camada de convergência de pacotes (bundle convergence layer), também chamada, dependendo da literatura consultada, de "camada de agregação". Seu nome deriva da responsabilidade por coletar mensagens que fazem parte do mesmo bundle e entregá-los à camada de aplicação em um só momento, após reuni-los. Para o nó de origem também é delegada a essa camada a função de identificar pacotes e dividi-los em partes de tamanhos que sejam suportados pela camada de transporte. O bundle protocol também pode ser concebido como uma rede justaposta (overlay network) sobre a rede original, oferecendo novos serviços.

Diagrama da posição do Protocolo de Pacotes para DTNs Diagrama do posicionamento do Procoloco de Pacotes para DTNs. Imagem extraída de mst.edu.

Dentre as vantagens dessa abordagem, desenvolvida pelo grupo de pesquisa em DTNs da IETF, está a capacidade de melhor se preparar, enquanto desconectados da rede, para o momento da reconexão. A organização em bundles permite atribuir a cada bundle graus de utilidade e prioridade distintos, por exemplo. Isso permite verificar de modo mais inteligente qual é a melhor opção por bundle a ser enviado na próxima oportunidade.

Cabeçalho de um pacote do Bundle Protocol
Cabeçalho de um pacote do Bundle Protocol. Imagem extraída da RFC 5050.