DCN - Roteamento de Camada de Rede

Quando um dispositivo possui vários caminhos para chegar a um destino, ele sempre seleciona um caminho preferindo-o a outros. Este processo de seleção é denominado como Roteiro. O roteamento é feito por dispositivos de rede especiais chamados roteadores ou pode ser feito por meio de processos de software. Os roteadores baseados em software têm funcionalidade e escopo limitados.

Um roteador é sempre configurado com alguma rota padrão. Uma rota padrão informa ao roteador para onde encaminhar um pacote se nenhuma rota for encontrada para um destino específico. No caso de existirem vários caminhos para chegar ao mesmo destino, o roteador pode tomar decisões com base nas seguintes informações:

  • Contagem de saltos

  • Bandwidth

  • Metric

  • Prefix-length

  • Delay

As rotas podem ser configuradas estaticamente ou aprendidas dinamicamente. Uma rota pode ser configurada para ter preferência sobre outras.

Roteamento Unicast

A maior parte do tráfego na Internet e nas intranets, conhecido como dados unicast ou tráfego unicast, é enviada com um destino especificado. O roteamento de dados unicast pela Internet é chamado de roteamento unicast. É a forma mais simples de roteamento porque o destino já é conhecido. Portanto, o roteador precisa apenas consultar a tabela de roteamento e encaminhar o pacote para o próximo salto.

Roteamento de transmissão

Por padrão, os pacotes de broadcast não são roteados e encaminhados pelos roteadores em nenhuma rede. Os roteadores criam domínios de broadcast. Mas pode ser configurado para encaminhar broadcasts em alguns casos especiais. Uma mensagem de difusão é destinada a todos os dispositivos de rede.

O roteamento de broadcast pode ser feito de duas maneiras (algoritmo):

  • Um roteador cria um pacote de dados e o envia a cada host, um por um. Nesse caso, o roteador cria várias cópias de um único pacote de dados com endereços de destino diferentes. Todos os pacotes são enviados como unicast, mas como são enviados para todos, ele simula como se o roteador estivesse transmitindo.

    Este método consome muita largura de banda e o roteador precisa do endereço de destino de cada nó.

  • Em segundo lugar, quando o roteador recebe um pacote que deve ser transmitido, ele simplesmente inunda esses pacotes de todas as interfaces. Todos os roteadores são configurados da mesma maneira.

    Este método é fácil na CPU do roteador, mas pode causar o problema de pacotes duplicados recebidos de roteadores de mesmo nível.

    O encaminhamento de caminho reverso é uma técnica na qual o roteador sabe com antecedência sobre seu predecessor de onde deve receber a transmissão. Essa técnica é usada para detectar e descartar duplicatas.

Roteamento Multicast

O roteamento multicast é um caso especial de roteamento de broadcast com diferenças significativas e desafios. No roteamento de broadcast, os pacotes são enviados a todos os nós, mesmo que eles não queiram. Mas no roteamento multicast, os dados são enviados apenas para os nós que desejam receber os pacotes.

O roteador deve saber que existem nós que desejam receber pacotes multicast (ou fluxo), então apenas ele deve encaminhar. O roteamento multicast funciona com o protocolo de árvore estendida para evitar o loop.

O roteamento multicast também usa a técnica de encaminhamento de caminho reverso, para detectar e descartar duplicatas e loops.

Roteamento Anycast

O encaminhamento de pacotes anycast é um mecanismo onde vários hosts podem ter o mesmo endereço lógico. Quando um pacote destinado a esse endereço lógico é recebido, ele é enviado ao host que está mais próximo na topologia de roteamento.

O roteamento anycast é feito com a ajuda do servidor DNS. Sempre que um pacote Anycast é recebido, ele é consultado pelo DNS para saber para onde enviá-lo. O DNS fornece o endereço IP que é o IP mais próximo configurado nele.

Protocolos de roteamento Unicast

Existem dois tipos de protocolos de roteamento disponíveis para rotear pacotes unicast:

  • Protocolo de roteamento de vetor de distância

    Distance Vector é um protocolo de roteamento simples que toma a decisão de roteamento sobre o número de saltos entre a origem e o destino. Uma rota com menos número de saltos é considerada a melhor rota. Cada roteador anuncia suas melhores rotas definidas para outros roteadores. Em última análise, todos os roteadores constroem sua topologia de rede com base nos anúncios de seus roteadores de mesmo nível,

    Por exemplo, Routing Information Protocol (RIP).

  • Protocolo de roteamento de estado de link

    O protocolo Link State é um protocolo um pouco complicado do que o Distance Vector. Ele leva em consideração os estados dos links de todos os roteadores de uma rede. Essa técnica ajuda as rotas a construir um gráfico comum de toda a rede. Todos os roteadores então calculam seu melhor caminho para fins de roteamento. Por exemplo, Open Shortest Path First (OSPF) e Intermediate System to Intermediate System (ISIS).

Protocolos de roteamento multicast

Os protocolos de roteamento Unicast usam gráficos, enquanto os protocolos de roteamento Multicast usam árvores, ou seja, spanning tree para evitar loops. A árvore ideal é chamada de árvore de abrangência do caminho mais curto.

  • DVMRP  - Protocolo de roteamento multicast de vetor de distância

  • MOSPF  - Multicast Open Shortest Path First

  • CBT  - Árvore baseada em núcleo

  • PIM  - Multicast independente de protocolo

Multicast independente de protocolo é comumente usado agora. Possui dois sabores:

  • PIM Dense Mode

    Este modo usa árvores baseadas na fonte. É usado em ambientes densos como LAN.

  • PIM Sparse Mode

    Este modo usa árvores compartilhadas. Ele é usado em ambientes esparsos como WAN.

Algoritmos de Roteamento

Os algoritmos de roteamento são os seguintes:

Inundação

A inundação é o método mais simples de encaminhamento de pacotes. Quando um pacote é recebido, os roteadores o enviam para todas as interfaces, exceto aquela em que foi recebido. Isso cria muita carga na rede e muitos pacotes duplicados vagando na rede.

Time to Live (TTL) pode ser usado para evitar o loop infinito de pacotes. Existe outra abordagem para inundação, que é chamada de inundação seletiva para reduzir a sobrecarga na rede. Neste método, o roteador não flui em todas as interfaces, mas em interfaces seletivas.

Caminho mais curto

As decisões de roteamento nas redes são tomadas principalmente com base no custo entre a origem e o destino. A contagem de saltos desempenha um papel importante aqui. O caminho mais curto é uma técnica que usa vários algoritmos para decidir um caminho com um número mínimo de saltos.

Os algoritmos de caminho mais curto comuns são:

  • Algoritmo de Dijkstra

  • Algoritmo Bellman Ford

  • Algoritmo Floyd Warshall