qual é o significado de 0.0.0.0 como um gateway?

47

Alguém pode esclarecer a atribuição do gateway para mim?

Qual é a diferença entre adicionar o gateway como 0.0.0.0 e atribuir um endereço IP específico como gateway?

    
por user2720323 08.10.2013 / 05:50

3 respostas

38

0.0.0.0 tem o significado específico "não especificado". Isto traduz aproximadamente a "não há nenhum" no contexto de um gateway. Obviamente, isso pressupõe que a rede esteja conectada localmente, pois não há salto intermediário.

Como destino, 0.0.0.0/0 é especial: se não houver bits de rede, também não pode haver nada no número da rede. Então, é naturalmente não especificado.

No entanto, seguindo a sua pergunta, sim, ela tem um significado especial. Isso significa que a rede está conectada localmente nessa interface e não são necessários mais saltos para chegar até ela.

    
por 08.10.2013 / 06:08
24

Na página da Wikipédia, 0.0.0.0

trecho

In the Internet Protocol version 4 the address 0.0.0.0 is a non-routable meta-address used to designate an invalid, unknown or non applicable target. To give a special meaning to an otherwise invalid piece of data is an application of in-band signaling.

Na página da Wikipédia, Rota predefinida .

trecho

The default route in Internet Protocol Version 4 (IPv4) is designated as the zero-address 0.0.0.0/0 in CIDR notation,1 often called the quad-zero route. The subnet mask is given as /0, which effectively specifies all networks, and is the shortest match possible. A route lookup that does not match any other route, falls back to this route. Similarly, in IPv6, the default route is specified by ::/0.

In the highest-level segment of a network, administrators generally point the default route for a given host towards the router that has a connection to a network service provider. Therefore, packets with destinations outside the organization's local area network, typically destinations on the Internet or a wide area network, are forwarded to the router with the connection to that provider.

The device to which the default route points is often called the default gateway, and it often carries out other functions such as packet filtering, firewalling, or proxy server operations.

Exemplo

Em seu questionamento, vou assumir que você tem algo assim:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0
0.0.0.0         192.168.1.254   0.0.0.0         UG        0 0          0 eth0

Isso está dizendo que para cada um dos destinos de rede (192.168.1.0 ou 169.254.0.0) o gateway padrão é o destino 0.0.0.0, se um pacote NÃO é destinado a qualquer endereço dentro de essa rede particular. Para o destino 0.0.0.0, use o endereço IP 192.168.1.254.

Essas regras agem para canalizar todo o tráfego que não corresponde a nenhuma das rotas que conhecemos até a rota padrão.

Amostras pareadas

Portanto, digamos que temos um pacote com o IP 192.168.1.110. A primeira regra é verificada e esse IP corresponde a essa rede, por isso é entregue.

Se tivéssemos o pacote 150.12.13.1, a terceira regra estaria em vigor e o pacote seria roteado para 192.168.1.254.

    
por 08.10.2013 / 06:01
3

Look, 0.0.0.0 é usado apenas em tabelas de roteamento - NÃO para atribuir a um host.

Os hosts (computadores com endereço IP) mantêm uma tabela de roteamento para resolver como enviar suas mensagens para o local correto.

Cenário 1: O PC-A quer enviar uma mensagem para o PC-B na MESMA REDE:

1) O PC-A verifica sua tabela de roteamento para ver se existe uma correspondência para o endereço IP de destino. 2) A tabela de roteamento mostra que o destino está dentro da mesma rede, encontra a interface que está conectada a essa rede e encaminha a mensagem para fora da interface diretamente para o destino.

Cenário 2: PC-A quer enviar uma mensagem para o Servidor-Z em uma REDE REMOTA (NÃO é a mesma rede):

1) O PC-A verifica sua tabela de roteamento e não consegue encontrar uma correspondência (é claro, porque os hosts não controlam os hosts em redes remotas - são os trabalhos dos roteadores).

2) No entanto, o PC é configurado com um endereço IP quad-zero e uma máscara de sub-rede mapeada para o seu roteador (gateway padrão para redes OUTRAS, REMOTAS, DIFERENTES) assim:

(0.0.0.0 0.0.0.0 192.168.0.1 interface)

O que significa zero? Isso significa nenhum. Portanto, se o seu computador não rastrear onde estão os hosts remotos, ele verificará sua tabela de roteamento sempre que quiser enviar uma mensagem para ver se precisa enviá-la para a mesma rede (local) ou se precisa para enviá-lo para uma rede REMOTE, então como ele recebe a mensagem para a rede remota?

Ele envia para o roteador e deixa o roteador fazer o trabalho de rotear o pacote pelo melhor caminho. Assim, o host / PC / computador precisa saber que, se não conseguir encontrar uma entrada em sua tabela de roteamento para onde enviar a mensagem (também conhecida como 0.0.0.0), ela saberá enviá-la ao roteador, que é o IP. endereço associado à entrada (0.0.0.0 0.0.0.0 192.168.0.1 interface) e usa a interface associada / NIC / Adaptador de rede que está conectada a isso.

Portanto, 0.0.0.0 é usado pelas tabelas de roteamento em hosts e roteadores para saber para onde enviar algo quando encontrar zero correspondências de como chegar a um destino e deve ser mapeado para o endereço IP de um roteador e uma interface para alcançar esse roteador .

    
por 17.11.2013 / 19:56