Fundamentos de roteamento

4

Sou um programador tentando preencher uma grande lacuna na minha compreensão dos conceitos básicos de rede. Eu tenho lido um bom livro ( Networking Bible por Sosinki) mas tenho descoberto que existe muita informação "presumida" contida, onde os termos / conceitos são lançados no leitor sem uma devida introdução para eles.

Eu entendo que uma "rota" é um caminho através de uma rede. Mas eu estou lutando com a visualização de alguns conceitos baseados em roteamento. A saber:

  1. Como as rotas realmente se manifestam no hardware? Eles são apenas uma lista de endereços IP que são computados na camada de rede e, em seguida, executados pelo transporte?
  2. Que tipo de dados existe em uma tabela de roteamento tão limitada? É uma tabela de roteamento apenas o mecanismo para manter essas listas de endereços IP (leia acima)?
  3. Quais são os prós e contras do desempenho por ter uma rota estática, em oposição a uma rota dinâmica?
por pnongrata 03.10.2011 / 21:13

2 respostas

5

Uma rota não é definida por nenhuma peça de hardware. O trabalho de um roteador é examinar o IP e decidir se o pacote pertence à sua rede, ou a outro, e enviá-lo ao longo do caminho, dependendo do que ele decidir. Um roteador está preocupado apenas com o próximo passo e nada passado, nenhum dispositivo rotea todo o caminho de um pacote.

Uma tabela de roteamento contém as informações que um roteador precisa saber para decidir se um pacote pertence ou não à sua própria rede e o próximo salto para enviá-lo, caso precise ir para outro lugar. De wikipedia :

The routing table consists of at least three information fields:

 -the network id: i.e. the destination network id
 -cost: i.e. the cost or metric of the path through which the packet is to be sent
 -next hop: The next hop, or gateway, is the address of the next station to which the packet is to be sent on the way to its final destination

 Depending on the application and implementation, it can also contain
 additional values that refine path selection:

 -quality of service associated with the route. For example, the U flag indicates that an IP route is up.
 -links to filtering criteria/access lists associated with the route
 -interface: such as eth0 for the first Ethernet card, eth1 for the second Ethernet card, etc.

A escolha de uma rota estática ou rota dinâmica depende totalmente do aplicativo. O roteamento estático não é muito tolerante a falhas, mas pode ser mais fácil solucionar alguns problemas de rede, pois sua rota nunca será alterada.

    
por 03.10.2011 / 21:46
2

Uma "rota" (quando usada como substantivo), na terminologia de rede, refere-se à lista dos possíveis próximos saltos (endereços IP de roteadores intermediários (dispositivos da camada 3)) que podem ser usados para alcançar um destino específico por um endereço IP). Como verbo, "route" é o mesmo que "send".

Suponha que você queira enviar pacotes IP de host1 para host2: host1 [20.0.0.1] ==== router1 [1.1.1.1] ==== roteador2 [2.2.2.2] ==== roteador3 [3.3.3.3] ==== host2 [40.0.0.1]

Assim, sua "rota" ou caminho para o host2 do host 1 é: 1.1.1.1 > 2.2.2.2 > 3.3.3.3

Nota:

  1. De uma determinada fonte, pode haver várias "rotas" para um destino. Isso acontece porque cada roteador decide para onde enviar o pacote (isto é, decide quem será o roteador do próximo salto). E esses próximos saltos formam a "rota" até o destino.
  2. Na tabela de roteamento, uma "rota" refere-se à rede. Uma tabela de roteamento contém basicamente "redes" e os "endereços do próximo salto" para essas redes. Ele também contém outras informações, como custo (geralmente usado quando múltiplos próximos saltos estão disponíveis para uma determinada rede).

Resposta a Q1: As rotas são "escritas" nos mecanismos de encaminhamento de pacotes (ASICs) dos dispositivos de roteamento. Ele é armazenado na forma de bits e quando um pacote chega para roteamento, as seguintes coisas acontecem:     Uma verificação básica dos diferentes checksums e Ethertype é feita.     b Se o DMAC (MAC de destino) no quadro recebido corresponder ao endereço MAC da porta na qual ele foi recebido, o pacote será considerado para roteamento.     c A tabela de encaminhamento (é a mesma que a Tabela de roteamento com apenas um "próximo salto" para cada "rede") é usada para decidir para onde enviar o pacote em seguida. O DIP (IP de destino) no pacote de entrada é usado para executar a operação AND bit a bit na entrada "network" presente na tabela de encaminhamento. [Para mais detalhes, consulte a Resposta ao Q2]

Responda a Q2: Uma tabela de roteamento de amostra é mostrada abaixo:

IPv4 Route Table

Active Routes:

Network Destination        Netmask          Gateway      Metric

       20.0.0.0      255.255.255.0         30.0.0.1      25

Isto implica que todos os pacotes que possuem seu DIP (IP de destino) na rede 20.0.0.0/24, serão encaminhados (roteados) para o roteador 30.0.0.1.

Suponha que um pacote de entrada chegue com o DIP: 20.0.0.2. Para "rotear" este pacote, a rede de destino é detectada:

20.0.0.2 AND Netmask for the first Routing table entry(ie, 255.255.255.0)

0001 0100.0000 0000.0000 0000.0000 0010 AND 1111 1111.1111 1111.1111 1111.0000 0000 = 0001 0100.0000 0000.0000 0000.0000 0000 ie, 20.0.0.0 [This matches the "network" entry in the Routing table and the packet is sent to router with address 30.0.0.1

Resposta a Q3: As rotas estáticas são usadas quando você deseja explicitamente que um próximo salto em particular seja usado, em vez de deixá-lo no protocolo de roteamento configurado (como ospf). Além disso, o escalonamento da rede com roteamento estático é difícil, pois é necessário mais esforço. Além disso, como MaQleod disse, não é tolerante a falhas.

    
por 09.06.2012 / 18:38