Roteamento IP

De Wiki Cursos IFPR Foz
Revisão de 23h05min de 23 de junho de 2015 por Evandro.cantu (discussão | contribs)
Ir para navegaçãoIr para pesquisar

Roteamento de Pacotes

O roteamento de pacotes é uma das principais funções da camada rede da Internet. O protocolo IP assume que um computador é capaz de enviar datagramas a qualquer outro computador conectado a mesma rede local. Caso o destinatário não esteja na mesma rede, a função de roteamento é transferida para os roteadores [1].

Os roteadores (ou gateways) podem ser equipamentos específicos ou computadores normais que possuem mais de uma interface de rede.

O roteamento no IP baseia-se exclusivamente no identificador de rede do endereço destino. Cada roteador possui uma tabela, chamada tabela de roteamento, cujas entradas são pares:

Endereço da rede destino / Endereço do próximo roteador 

Quando um computador deseja enviar um datagrama, inicialmente ele verifica se o destinatário está conectado a rede local. Se for o caso, ele entrega o datagrama a interface de rede que se encarrega de mapear o IP no endereço físico do computador destino, encapsular o datagrama IP em um quadro da rede e enviá-lo. Caso o computador destino não se encontre na rede local, ele envia o datagrama ao roteador padrão (gateway default) da rede local. O roteador procura na sua tabela de roteamento o endereço do roteador que deve ser usado para alcançar a rede onde está conectado o destinatário do datagrama. O roteador encontrado pode não fazer parte da rede destino, mas, deve fazer parte do caminho a ser percorrido para alcançá-la.

Veja um exemplo de como funcionam as tabelas de roteamento, considerando a rede apresentada na figura:

Suponha que o computador A (200.1.1.1) tenha a tabela de roteamento dada na tabela a seguir e deseja enviar um datagrama IP ao computador B (200.1.1.2). Neste caso, o computador consulta sua tabela de roteamento e descobre que a rede 200.1.1.0/24 casa com o identificador da rede do computador B. A tabela indica que o próximo roteador é 0.0.0.0, o que quer dizer que está na mesma rede local. Então o computador A passa o datagrama diretamente a camada enlace através da interface eth0 para proceder à entrega ao computador B.

Tabela de Roteamento do computador A
Destino         Roteador        Máscara           Interface
200.1.1.0       0.0.0.0         255.255.255.0     0 eth0
200.1.2.0       200.1.1.3       255.255.255.0     0 eth0
200.1.3.0       200.1.1.3       255.255.255.0     0 eth0

Suponha agora o caso em que o computador A queira enviar um datagrama ao computador C (200.1.3.2), situado em outra rede, no caso a rede 200.1.3.0/24. Consultando sua tabela de roteamento ele verifica que esta rede é acessível a partir do roteador 200.1.1.3. Então ele passa o datagrama ao roteador para dar prosseguimento a entrega, o qual também é acessível a partir da interface eth0.

O roteador então consulta sua tabela de roteamento (veja tabela abaixo) e verifica que a rede 200.1.3.0/24 é acessível diretamente através da sua interface eth2. Sendo assim, ele entrega o datagrama a camada de enlace da rede 200.1.3.0/24 para fazer a entrega ao computador C.

Tabela de Roteamento do roteador R
Destino         Roteador      Máscara           Interface
200.1.1.0       0.0.0.0       255.255.255.0     0 eth0
200.1.2.0       0.0.0.0       255.255.255.0     0 eth1
200.1.3.0       0.0.0.0       255.255.255.0     0 eth2

Comando route

O comando route mostra e manipula tabelas de roteamento no Linux.

Para verificar a tabela de roteamento do computador, executar o comando:

route -n

O parâmetro -n imprime os endereços IP no formato numérico.

Exemplo
evandro@NTB-HP-Evandro:~$ route -n
Tabela de Roteamento IP do Kernel
Destino         Roteador        MáscaraGen.    Opções Métrica Ref   Uso Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth1
192.168.1.0     0.0.0.0         255.255.255.0   U     2      0        0 eth1
  • Na primeira linha o destino 0.0.0.0 indica uma rota default, ou qualquer IP diferente da rede local.
    -> Para tal a saída é o roteador padrão 192.168.0.1.
  • Na segunda linha o destino 169.254.0.0 é atribuído pelo sistema operacional do host por auto configuração quando outros modos de endereçamento não estão disponíveis, como por exemplo por DHCP. Isto permite que, automaticamente, os hosts conectados a uma rede local se comuniquem entre si.
  • Na terceira linha o destino 192.168.0.0 indica a rede local
    -> Para tal, o roteador 0.0.0.0 indica que não há necessidade de roteamento pois o destino está na própria rede.

Protocolos de Roteamento

A construção das tabelas de roteamento em cada roteador pode ser feita manualmente por um administrador de rede ou através do uso de protocolos de roteamento. A construção manual das tabelas de roteamento chama-se roteamento estático.

O uso de protocolos de roteamento permite que as tabelas sejam construídas e atualizadas dinamicamente. Devido a problemas de escala e de autonomia administrativa, os roteadores que vão participar de um roteamento dinâmico devem ser agrupados em regiões, ou sistemas autônomos (SAs) e devem rodar o mesmo protocolo em cada região.

Há duas classes de protocolos de rotemento dinâmico na Internet: os protocolos intra--SA e inter-SA.

Os protocolos de rotemento intra--SA atuam internamente ao sistema autônomo, definindo as melhores rotas em função de um custo atribuido a cada enlace a percorrer. Dois protocolos de rotemento intra--SA bastante utilizados na Internet são o RIP e o OSPF.

O RIP (Routing Information Protocol) constrói as tabelas dinamicamente utilizando um algoritmo de roteamento chamado vetor de distâncias, calculando as melhores rotas tendo como base o número de enlaces a percorrer.

O OSPF (Open Shortest Path First) é um protocolo de roteamento mais elaborado, baseado no algoritmo estado do enlace, desenhado para convergir rapidamente ao ser informado de qualquer alteração de estado do enlace dentro da rede.

O roteamento inter-SA permite interconectar diferentes sistemas autônomos. Na Internet o protocolo mais utilizado neste domínio é o BGP (Border Gateway Protocol), o qual permite implementar políticas específicas dependendo dos sistemas autônomos que serão integrados.

Referências

  1. KUROSE, J.F; ROSS K. W. Redes de Computadores e a Internet: Uma abordagem top-down, São Paulo: Pearson, 2010.

--Evandro.cantu (discussão) 14h17min de 1 de agosto de 2014 (BRT)