Suponha que dois gateways existam na mesma rede. Se bem entendi, a tabela de roteamento IP no computador do remetente decide quais pacotes serã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 ao enviar pacotes IP?
iptables
ip-routing
Simon Farshid
fonte
fonte
Respostas:
TL; DR: em um quadro Ethernet que mantém esse pacote TCP / IP
O servidor-> switch-> o tráfego do roteador, bem como o servidor-> switch-> o tráfego do servidor, é onde o endereçamento IP na verdade não desempenha nenhum papel significativo. É o mundo do protocolo subjacente, provavelmente a Ethernet. Portanto, é um mundo que funciona com endereçamento MAC.
Portanto, você só precisa resolver a confusão de que um gateway padrão é um endereço IP. É, meio que ... na inicialização ... mas esse parâmetro de IP do gateway é necessário apenas para fazer uma coisa, ou seja: quem tem 192.168.1.1 por aqui? A resposta vem que o gateway é MAC 88: 99: aa: bb: cc: dd: ee: ff. (Essa é a consulta / resposta do ARP, o tradutor entre os dois mundos.) O pacote vai para o MAC no nível Ethernet, apesar de poder conter um destino diferente no nível IP.
Portanto, o pacote é marcado para ir para um gateway escolhido, codificando-o no campo "MAC de destino" do quadro ethernet. O campo determina qual gateway da rede o obterá, se houver vários gateways. (O "quadro" é uma cápsula subjacente que contém o pacote ou parte do pacote.)
fonte
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 a seguir e essas informações são armazenadas na tabela de roteamento.
Pode haver informações de rota estáticas para o endereço ou sua sub-rede e o gateway padrão é usado para o resto. Geralmente é o caso na rede local: pode haver roteamento estático para outras redes locais e gateway padrão para o restante, ou seja, a Internet. No caso de vários gateways padrão, como rotas para
0.0.0.0
ou::
, o ativo é escolhido por seu valor de preferência ou métrico .As coisas ficam mais complicadas quando existem várias rotas entre os destinos, como existem entre os ISPs no nível da Internet. Existem vários métodos para compartilhar as informações entre os roteadores: RIP ( Routing Information Protocol ), OSPF ( Open Shortest Path First ) e BGP ( Border Gateway Protocol ). Independentemente de como essas informações sejam compartilhadas, a tabela de roteamento conhece o próximo salto e o pacote IP está ciente apenas de seu destino final.
fonte
Uma possibilidade é que a rede esteja configurada com um FRHP (protocolo de redundância de primeiro salto), como VRRP ou HSRP. O FHRP possui um endereço de gateway virtual usado pelos hosts e o tráfego enviado para o endereço virtual é captado por um dos roteadores físicos, que encaminham o tráfego. Se o roteador principal falhar, um roteador secundário poderá determinar isso e assumir o encaminhamento dos pacotes.
De qualquer forma, os pacotes não determinam o caminho a seguir. Cada pacote é encaminhado individualmente e independentemente de quaisquer outros pacotes, com base nas informações na tabela de roteamento de um roteador, e os pacotes para o mesmo destino da mesma fonte podem seguir caminhos diferentes se uma tabela de roteamento mudar.
Os roteadores aprendem rotas de três maneiras:
fonte
Resposta curta e simples: ele não é codificado no pacote ou é o endereço de destino Ethernet, dependendo de como você o vê. A pilha IP / Ethernet analisa qual gateway lida com o endereço IP de destino, envia uma solicitação ARP para que o endereço IP do gateway obtenha seu endereço MAC e, em seguida, envia o pacote para o endereço MAC do gateway. O gateway encaminha o pacote e faz a mesma coisa novamente. Isso pressupõe uma rede Ethernet.
Eu acho que respondi o que você está perguntando. Uma vez eu me perguntei a mesma coisa. Sua pergunta também pode ser interpretada como um host, dada uma tabela de roteamento específica, decide para qual gateway enviar um pacote de saída.
fonte
Obviamente, um detalhe que é analisado é se uma rota corresponde. Se estou enviando para 192.0.2.55/24 e uma rota estiver disponível para o tráfego para 10.55.0.0/16, essa rota será ignorada porque não se aplica.
O próximo critério geralmente analisado é ter rotas mais específicas com prioridade sobre rotas mais gerais. Por rota "específica", quero dizer 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 na rede 0.0.0.0/0. Qualquer rota para uma rede menor será "mais específica" do que isso e terá prioridade. Portanto, 192.0.2.0/24 terá mais prioridade.
Terceiro, as rotas normalmente têm outro campo chamado "métrica" ou, às vezes, um nome diferente como "prioridade". Se você tiver várias redes do mesmo tamanho, isso poderá causar um impacto.
Esses valores "métricos" podem ser gerados automaticamente (por exemplo, como uma rede de alta velocidade é usada para mais tráfego), mas podem ser ajustados manualmente.
Os pacotes IP não incluem nenhuma informação sobre roteamento, exceto para especificar o endereço IP de destino. Os detalhes do roteamento são determinados pelo equipamento que lida com o roteamento ao longo do caminho, e esses detalhes geralmente não são colocados em um pacote IP. (Portanto, o equipamento não procura esses detalhes, pois não existe. Como o equipamento não procura essas informações, seria inútil tentar incluir essas informações.)
A página 11 da RFC 791 mostra uma tabela no estilo "ARTE ASCII" das informações que estão em um pacote IP. Após essa tabela, esse documento mostra detalhes (por exemplo, a seção "Opções" é descrita na página 15).
fonte