Topologia

Principais componentes da topologia

DODAG: Sigla cujo nome significa um grafo acíclico direcionado orientado ao destino. É usado pelo protocolo RPL para organizar os nós da rede, sendo formado por um nó raiz, que inicia o processo de construção do grafo enviando mensagens de informação de objeto DODAG (DIO) para seus vizinhos

Low Power and Lossy Border Routers ou nó raiz: Nó responsável por centralizar o tráfego da rede, coletando-o e possibilitando a conectividade a internet para os dispositivos que a ele se conectarão. São os responsáveis pela construção do DODAG.

Router ou nó intermediário: São nós capazes de repassar o trágego (forwarding), mas não podem criar um DODAG.

Host ou nó folha: São os dispositivos finais da rede, não possuindo a capacidade de repassar o tráfego.

Rank: Valor associado a cada nó que indica sua distância do nó raiz.

Tipos de rota

Rotas Upward: São o primeiro tipo de rota a ser formado e possibilita que os dispositivos possam enviar pacotes até a raiz do DODAG. Sua criação se dá a partir da formação da lista de pais em cada nó.

Rotas downward: Estas são as rotas que partem do nó raiz em direção ao resto do DAG. Por padrão, estas rotas são opcionais (diferentemente das rotas upward), podendo ser implementada de duas maneiras:

Modo armazenamento: Cada nó do DODAG contém toda sua sub-árvore (nós abaixo dele) na tabela de roteamento. Assim, caso um pacote chegue para ele destinado a algum de seus sub-nós (filhos, netos, etc.) ele sabe para onde enviar aquele pacote.

Modo não-armazenamento: Nesse modo, para que um nó intermediário receba pacotes de fora da rede, ele deve enviar uma mensagem até a raiz do DODAG com a opção de registro de rotas (funcionamento semelhante ao ping -R). Quando essa mensagem chegar à raiz, nela estará contido todo o caminho para se chegar até aquele nó intermediário. Dessa forma, quando um pacote tiver como destino aquele nó, a raiz poderá realizar o roteamento pela fonte.

Formas de operação

Multi-Point-to-Point (MP2P): Através da manutenção da lista de pais, é possível que todos os nós contidos em um DODAG alcancem a raiz desse DODAG. Dessa forma, é nesse sentido que é possível afirmar que o protocolo RPL suporta operações MP2P.

Point-to-Multipoint (P2MP): É possível configurar uma rede RPL de tal forma que seja possível enviar pacotes partindo da raiz em direção a algum nó a ela conectado. Nesse caso, o point, na sigla P2MP, seria a raiz, enquanto os múltiplos pontos alcançáveis seriam os nós contidos no DAG.

Point-to-Point (P2P): A comunicação direta entre dois nós da rede pode acontecer de duas formas. Na primeira, se o nó que deseja enviar a mensagem estiver no alcance do destino, o emissor pode enviar a mensagem sem a necessidade de enviá-la antes pro seu pai. Já na segunda situação, caso a rede esteja configurada no modo-não-armazenamento, o pacote, primeiro, irá até a raiz e a raiz encaminhará (com o source routing) até o nó de destino. Porém, caso a rede estivesse no modo-armazenamento, a mensagem não precisaria ir até a raiz. Ela iria, primeiramente, até o ancestral comum entre os dois nós e, logo em seguida, seria roteado até o destino.

Organização

A topologia da rede RPL é organizada de forma hierárquica, com um nó raiz no topo e nós folha na ponta. Os nós intermediários são responsáveis por conectar os nós folha ao nó raiz.

A construção da topologia começa pelo nó raiz, que envia mensagens DIO (Destination Oriented DAG Advertisement) para todos os nós vizinhos. Essas mensagens contêm informações sobre a topologia da rede, incluindo o rank do nó raiz e a função objetivo utilizada.

Cada nó que recebe uma mensagem DIO executa um algoritmo para determinar quem será seu pai. O algoritmo leva em consideração a função objetivo escolhida, as restrições do nó e as informações de rank recebidas na mensagem DIO.

Após todos os nós terem determinado seus pais, a topologia da rede está formada. Os nós folha podem então enviar dados para o nó raiz, passando pelos nós intermediários.

A topologia da rede RPL pode ser alterada ao longo do tempo, conforme novos nós entram na rede ou nós existentes deixam a rede. O protocolo RPL possui mecanismos para detectar essas alterações e atualizar a topologia da rede de forma automática.