DTN – Delay and Disruption Tolerant Networks (Redes Tolerantes a Atrasos e Interrupções)



Arquitetura DTN

O protocolo Bundle a nível de aplicação, pode ser executado sobre outros tipos de protocolos em camadas inferiores, como UDP, ou ainda outros tipos de redes interligadas. A vantagem de combinar diferentes protocolos e sistemas com características próprias é por exemplo usar códigos de correção de erros mais potentes ou fazer uso mais econômico de recursos. Entretanto, como o protocolo Bundle é fixo, é necessário haver “lacunas” na funcionalidade entre as camadas. A camada de convergência é justamente essa lacuna, onde se aplica uma camada de convergência diferente para cada tipo de protocolo.

Olhando para as figuras, cada mensagem consiste em um bloco primário, que pode ser considerado um cabeçalho, um bloco de carga útil com informações sobre os dados, e outros blocos opcionais, por exemplo, para transportar parâmetros de segurança. Os dados do empacotamento chamamos de “bundle” (agregação).

Figura 3 - Protocolo Bundle (retirado de [1]);



O bloco primário começa com um campo Versão, seguido por um campo Flags. Entre outras funções, os flags codificam uma classe de serviço para permitir que uma origem marque seus bundles como prioridade mais alta ou mais baixa, e outras solicitações de tratamento, como se o destino deverá confirmar o bundle ou não.

Depois aparecem os endereços, chamados de identificadores, que possuem características peculiares. Assim como um campo de identificador de Destino e Origem, existe um identificador Custodiante. Como o protocolo bundle deve funcionar por uma série de transporte e redes interligadas, mas esses identificadores não são endereços IP, ele define seus próprios identificadores de alto nível, parecidos com URLs de página e dão DTN um aspecto roteamento a nível de aplicação. E todos identificadores são codificados, possuindo referências a um campo Dicionário, com tamanho variável. Este oferece compactação quando os nós Custodiante ou Relatório são os mesmos que a origem ou o destino por exemplo. Existe também um identificador Relatório para mensagens de diagnóstico, o qual voltaremos a falar na próxima seção.

O cabeçalho contém um campo Criação, que transporta o momento em que o bundle foi criado, junto com um número de sequência a partir da origem para ordenação, e mais um campo, Tempo de vida, que informa o momento em que os dados do bundle não são mais úteis. O bloco primário termina com o campo Dicionário e logo depois vem o bloco de carga útil que descreve os dados no bundle. Esse bloco começa com um pequeno campo Tipo que o identifica como uma carga útil, seguido por um pequeno conjunto de flags que descrevem opções de processamento. Depois vem o campo Dados, precedido por um campo Tamanho. Como fora dito, há outros blocos opcionais para definir campos adicionais, de acordo com a aplicação e medida que o padrão do protocolo é atualizado.



<< Arquitetura DTN

Página Inicial

Registros Administrativos e Opções de Entrega >>