Como um pacote IP sabe qual gateway tomar?

10

Suponha que existam dois gateways na mesma rede. Se bem entendi, a tabela de roteamento IP no computador do remetente decide quais pacotes são roteados através de qual gateway.

As tabelas de roteamento IP contêm o endereço IP do gateway.

Como esse endereço IP do gateway é usado no envio de pacotes IP?

    
por Simon Farshid 24.03.2018 / 12:56

5 respostas

12

TL; DR: em um quadro Ethernet que contém esse pacote TCP / IP

O tráfego do servidor - > switch- >, bem como o tráfego server & > switch- > server, é onde o endereçamento IP não desempenha realmente nenhuma parte significativa. É o mundo do protocolo subjacente, provavelmente a Ethernet. Então, é um mundo que funciona no endereçamento MAC.

Portanto, você só precisa resolver a confusão de que um gateway padrão é um endereço IP. É, mais ou menos ... na inicialização ... mas o parâmetro IP do gateway é apenas necessário para fazer uma coisa, é perguntar: quem tem 192.168.1.1 por aqui? A resposta é que o gateway é MAC 88: 99: aa: bb: cc: dd: ee: ff. (Isso é consulta / resposta ARP, o tradutor entre os dois mundos.) O pacote vai para aquele MAC no nível Ethernet, apesar do fato de poder conter um destino diferente no nível do IP.

Assim, o pacote é marcado para ir para um gateway escolhido, codificando-o no campo "MAC de destino" do quadro Ethernet. O campo determina qual gateway nessa rede irá obtê-lo, se houver vários gateways. (O "frame" é uma cápsula subjacente que contém o pacote ou parte do pacote.)

    
por 24.03.2018 / 16:11
6

O cabeçalho do datagrama IP contém apenas informações de endereço da origem e do destino. Com base no destino, o roteador deve saber para onde encaminhar o pacote e essas informações são armazenadas na tabela de roteamento.

Pode haver informações rota estática para o endereço ou sua sub-rede e o gateway padrão é usado para o resto. Este é geralmente o caso na rede local: pode haver roteamento estático para outras redes locais e gateway padrão para o resto, ou seja, a Internet. No caso de vários gateways padrão , isto é, rotas para 0.0.0.0 ou :: , o ativo é escolhido por seu valor Preferência ou Métrica .

As coisas ficam mais complicadas quando há várias rotas entre os destinos, como há entre os ISPs no nível da Internet. Existem vários métodos para compartilhar as informações entre os roteadores: Protocolo de Informações de Roteamento (RIP), Abrindo o caminho mais curto primeiro (OSPF) e Border Gateway Protocol (BGP). Independentemente de como essa informação é compartilhada, a tabela de roteamento conhece o próximo salto e o pacote IP está ciente apenas do seu destino final.

    
por 24.03.2018 / 13:49
2

Uma possibilidade é que a rede seja configurada com um protocolo de redundância de primeiro salto (FRHP), como VRRP ou HSRP. O FHRP tem um endereço de gateway virtual que os hosts usam e o tráfego enviado para o endereço virtual é escolhido por um dos roteadores físicos, que encaminha o tráfego. Se o roteador principal falhar, um roteador secundário pode determinar isso e assumir o encaminhamento dos pacotes.

Em qualquer caso, os pacotes não determinam o caminho que eles tomam. Cada pacote é encaminhado individualmente e independentemente de quaisquer outros pacotes, com base nas informações da tabela de roteamento de um roteador, e os pacotes para o mesmo destino da mesma origem podem ter caminhos diferentes se uma tabela de roteamento for alterada.

Os roteadores aprendem rotas de três maneiras:

  1. Redes diretamente conectadas
  2. Rotas configuradas estaticamente
  3. Através de um protocolo de roteamento dinâmico
por 24.03.2018 / 16:25
2

Resposta curta e simples: ele não fica codificado no pacote ou é o endereço de destino da Ethernet dependendo de como você o vê. A pilha IP / Ethernet verifica em qual gateway lida com o endereço IP de destino, envia uma solicitação ARP para o endereço IP do gateway para obter seu endereço MAC e envia o pacote para o endereço MAC do gateway. O gateway então encaminha o pacote e faz a mesma coisa novamente. Isso pressupõe uma rede Ethernet.

Acho que respondi ao que você está perguntando. Certa vez me perguntei a mesma coisa. Sua pergunta também pode ser interpretada como um host, dada uma determinada tabela de roteamento, decide em qual gateway enviar um pacote de saída.

    
por 25.03.2018 / 04:21
0

Naturalmente, um detalhe que é analisado é se uma rota corresponde. Se estou enviando para 192.0.2.55/24 e uma rota está disponível para o tráfego para 10.55.0.0/16, essa rota é ignorada porque não se aplica.

O próximo critério que normalmente é considerado é ter rotas mais específicas com prioridade sobre rotas mais gerais. Por rota "específica", refiro-me a sub-redes menores. Em outras palavras, números maiores ao usar a notação / CIDR e máscaras de sub-rede maiores ao usar a notação "máscara de sub-rede". Em outras palavras, redes de destino com menos endereços possíveis.

Portanto, um "gateway padrão", também conhecido como "gateway de último recurso", normalmente especifica um destino para todo o tráfego para a rede 0.0.0.0/0. Qualquer rota para uma rede menor será "mais específica" do que isso e terá prioridade. Então, 192.0.2.0/24 terá mais prioridade.

Em terceiro lugar, as rotas normalmente têm outro campo chamado "métrica" ou, às vezes, um nome diferente, como "prioridade". Se você tiver várias redes com o mesmo tamanho, isso pode ter um impacto.

Esses valores de "métrica" podem ser algo gerado automaticamente (por exemplo, uma rede de maior velocidade é usada para mais tráfego), mas podem ser ajustados manualmente.

Where is the information about the gateway to be taken encoded inside the IP packets sent?

Os pacotes IP não incluem informações sobre roteamento, exceto para especificar o endereço IP de destino. Os detalhes de roteamento são determinados pelo equipamento que manipula o roteamento ao longo do caminho e esses detalhes não são normalmente colocados em um pacote IP. (Portanto, o equipamento não procura por tais detalhes, uma vez que não está lá. Como o equipamento não procura por tais informações, seria inútil tentar incluir tais informações.)

A RFC 791 página 11 mostra uma tabela estilo "ASCII ART" da informação que está em um pacote IP. Depois dessa tabela, esse documento mostra detalhes (por exemplo, a seção "Opções" é descrita na página 15).

    
por 24.03.2018 / 17:52