O gateway de uma sub-rede precisa ser um computador "real"?

13

Um Gateway sempre é um computador real ou apenas uma entidade "lógica", que pode estar em qualquer endereço, exceto no IP de broadcast?

Semo
fonte
9
O termo moderno e sem dúvida mais correto para um gateway é roteador . Os roteadores podem existir exclusivamente em software, computadores convencionais, tais como PCs, laptops e sistemas de servidor pode ser usado como roteadores, mas os dispositivos de hardware geralmente dedicados são usados
HBruijn
2
O que você quer dizer com "entidade lógica"?
Barmar 29/01/19
2
@HBruijn, na maioria dos casos, um gateway é um roteador. O termo geral é que um gateway é o host da rede para a qual outros hosts enviam o tráfego destinado a uma rede diferente. Isso não significa que deve ser um roteador. Pode ser um proxy, ALG, etc. Além disso, pode haver um caso de esquina em que qualquer tráfego destinado a uma rede diferente precisa ser interceptado e não encaminhado pelo gateway; nesse caso, não é um roteador porque não está roteando. pacotes entre redes.
Ron Maupin
Eu apostaria que um sistema capaz de tomar decisões de encaminhamento com base nos endereços IP de destino não precisa ser Turing completo ... então, não, um roteador não precisa ser um computador (o mesmo se aplica a um nível abaixo para pontes e outro alto nível para gateways, embora seja possível em diferentes extensões.No entanto, cada sistema é tipicamente um dispositivo (ou conjunto de dispositivos) que pode ser configurado administrativamente ou por aplicativos adicionais (como protocolos de roteamento) - e até ser capaz de processar um configuração, essas coisas tendem a ser (especializadas) computadores.
Hagen von Eitzen
@Barmar Quero dizer, se um Gateway deve ser um dispositivo de hardware especializado como um Bridge ou Roteador, ou se poderia ser apenas uma informação, como uma configuração em um servidor, que é meio mutável, se você pensa em termos de linguagens de programação .
Semo

Respostas:

29

A rota padrão (também conhecida como endereço de gateway) deve pertencer a algo que seja capaz de encaminhar pacotes para o resto da Internet e que esteja disposto a fazê-lo. Ele não precisa ser o endereço IP "principal" da parte que possui (o que isso significa). Pode ser um endereço lógico que flutua entre dois ou mais dispositivos e, em configurações de alta disponibilidade, costuma ser.

O único requisito, para que o roteamento funcione, é que qualquer dispositivo que possua e anuncie o endereço atualmente, esse dispositivo possa e irá rotear o tráfego.

Chapeleiro Louco
fonte
6
... Ou pelo menos fingir.
Shadur 29/01/19
2
@Shadur Estou interessado em saber como o roteamento pode funcionar se a rota padrão apenas fingir realmente, você sabe, rotear o tráfego.
MadHatter
1
O roteamento em si não funciona, mas se tudo o que você deseja permitir é navegar, o "gateway" pode interceptar e executar um proxy transparente nas portas 53, 80 e 443, e manter o sistema em si o mais isolado possível.
Shadur 29/01/19
7
ESTÁ BEM. Não discordo, mas isso não é roteamento. Eu mantenho minha afirmação de que, para que o roteamento funcione, o roteador deve realmente rotear, e parece que você não discordaria disso.
MadHatter
1
Ponto justo, mas o "gateway", como é usado nesta pergunta, é a rota padrão, ou seja, o próximo salto do último recurso. Isso tem que ser capaz de obter-lhe não só a todas as sub-redes internas que você não tem rotas específicas para, mas para tudo o resto , bem .
MadHatter
15

O endereço IP do gateway pode ser qualquer endereço IP de host válido na sub-rede, ou seja, não o endereço de rede em si nem o endereço de broadcast. Esse endereço IP não precisa pertencer a um único computador ou roteador; pode ser um endereço IP "flutuante" usado por vários gateways. Confira os artigos da Wikipedia sobre HSRP , VRRP , GLBP ou CARP .

Por exemplo, quando a sub-rede é 172.16.23.0/25, então:

  • o endereço de rede é 172.16.23.0,
  • o endereço de transmissão é 172.16.23.127 e
  • o intervalo de endereços de host válidos é de 172.16.23.1 a 172.16.23.126, inclusive.

O gateway deve ser qualquer um desses endereços de host válidos, por exemplo, 172.16.23.65. As configurações do seu computador seriam então, por exemplo:

  • Endereço IP: 172.16.23.5
  • Máscara de sub-rede: 255.255.255.128
  • Gateway padrão: 172.16.23.65

Agora, adicionando um dos protocolos de redundância de primeiro salto, os gateways (roteadores) reais podem ter o endereço IP 172.16.23.1 e 172.16.23.2, mas usam o endereço IP virtual 172.16.23.65 para se apresentarem como o gateway padrão para a sub-rede .

Tommiie
fonte
9

"Entidade lógica" em seu uso é um pouco confusa. Mas vou tentar responder da melhor maneira possível.

Pela minha experiência, um gateway em uma configuração de IP geralmente é um dispositivo físico. Embora não precise ser um computador no sentido tradicional (também pode ser um dispositivo de rede), ele precisa ser um dispositivo.

Como você deve saber, o objetivo que um gateway padrão serve é atuar como uma entidade de encaminhamento para todas as solicitações que: a) o computador ainda não tenha em sua tabela de roteamento ou possui uma entrada instruindo o sistema a encaminhar a solicitação a um IP que passa a ser o gateway e / ou b.) Que estão fora do domínio de transmissão. O gateway padrão nunca é usado em situações em que dois hosts estão no mesmo domínio de broadcast (ou seja, uma topologia de rede criada por um switch) porque o sistema pode usar o endereço de broadcast da sub-rede para encontrar o endereço MAC de um sistema que possui um endereço IP específico.

Em resumo, para responder sua pergunta, tecnicamente, você pode definir seu gateway padrão como qualquer endereço IP em uma rede conectada. O Windows ou a maioria dos outros sistemas operacionais não o impedirão, porque geralmente não executam a verificação dos detalhes de TCP / IP. Se você está definindo, provavelmente é tecnicamente experiente o suficiente para entender a distinção. No entanto, se for o endereço IP de um dispositivo que não puder encaminhar, isso resultará em erros nos aplicativos dependentes do roteamento (por exemplo, um navegador da web) porque o dispositivo não será preparado com uma tabela de roteamento ou um serviço de roteamento encaminhar a solicitação.

Alguém muito mais experiente do que eu, no entanto, deve ser capaz de me corrigir facilmente se eu estiver errado.

TL; DR - um dispositivo físico, provavelmente.

kelvintechie
fonte
Você pode ter várias sub-redes IP diferentes no mesmo domínio de broadcast. Nesses casos, o tráfego entre esses hosts fluirá através de seus gateways padrão, a menos que entradas extras sejam adicionadas às tabelas de roteamento de hosts ou redirecionamentos de ICMP estejam em uso.
Peter Green
@ PeterGreen Sim, existem muitos casos extremos. Por exemplo, digamos 192.168.0.0/24 e 10.0.0.0/24 estão na mesma LAN Ethernet física com o gateway, pois ambos são o mesmo roteador físico em 192.168.0.1 e 10.0.0.1, respectivamente. Se 192.168.0.100 pings 10.0.0.100, a primeira ida e volta será retransmitida através do gateway. O gateway também pode enviar redirecionamentos ICMP para cada host, informando que eles estão na mesma LAN. Nesse caso, cada host enviará solicitações de ARP para obter os endereços MAC de seus pares e toda a comunicação adicional ocorrerá diretamente entre os pares (não pelo gateway).
Alex Hajnal
Observe que, com o exemplo acima, os hosts precisam ser estimulados (por meio de um redirecionamento ICMP) para transmitir uma solicitação ARP para o endereço MAC de um par em uma rede estrangeira. Ausentes que um host de redirecionamento não faça solicitações ARP de rede estrangeira.
precisa saber é o seguinte
5

As entradas da tabela de roteamento resolvem uma sub-rede para um gateway ou um adaptador de rede.

Uma tabela de roteamento típica para um dispositivo em uma rede privada pode, se você deixar de fora as coisas desnecessárias, parecer

0.0.0.0/0 via 192.168.0.1
192.168.0.0/24 dev eth0

A rota mais específica vence para cada destino; portanto, a rota de sub-rede tem precedência sobre a rota padrão para endereços na sub-rede.

O endereço do gateway é, por sua vez, resolvido através da tabela de roteamento, que determina a interface de rede à qual é fornecida e o endereço na camada inferior.

Portanto, para um pacote 1.1.1.1, o destino é pesquisado na tabela de roteamento, retornando a rota padrão, que possui um gateway. O gateway é procurado novamente, retornando a interface Ethernet.

A Ethernet possui endereços MAC; portanto, é feita uma pesquisa ARP para o endereço do gateway, e o endereço MAC do gateway é usado para o pacote de saída (que ainda usa o endereço de destino apropriado no cabeçalho IP).

Outros transportes de nível inferior funcionam de maneira diferente; por exemplo, os links PPP têm um "endereço de ponto"; portanto, a rota do dispositivo usa uma máscara de rede de / 32, e eles pulam a resolução do ARP e enviam pacotes como "broadcast" pelo link PPP.

Algumas pilhas de IP exigem a criação manual da rota do dispositivo, o que torna isso um pouco mais óbvio:

ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255 up
route add -net 192.168.0.0 netmask 255.255.255.0 dev eth0
route add default via 192.168.0.1
Simon Richter
fonte