Entendo que 127.0.0.1 aponta para localhost
, e também 0.0.0.0 (me corrija se estiver errado). Então, qual é a diferença entre 127.0.0.1 e 0.0.0.0?
networking
ip-address
localhost
ipv4
Sagnik Sarkar
fonte
fonte
0.0.0.0
com a entrada de endereço.2130706433
.Respostas:
Qual é a diferença entre 127.0.0.1 e 0.0.0.0?
127.0.0.1
é o endereço de loopback (também conhecido como localhost).0.0.0.0
é um meta-endereço não roteável usado para designar um destino inválido, desconhecido ou não aplicável (um espaço reservado para nenhum endereço específico).O que é o endereço IP 127.0.0.1?
Fonte: 127.0.0.1 - Quais são seus usos e por que é importante?
Endereços Especiais
Fonte: Números de Rede
Se é uma classe inteira A, qual é o sentido de outros valores arbitrários para os últimos três octetos?
Fonte: IP Reservado, Loopback e Endereços Privados
Para mais informações, consulte https://askubuntu.com question O que é o dispositivo de loopback e como o uso? e por que o endereço IP de loopback é de 127.0.0.1 a 127.255.255.254? .
O que é o endereço IP 0.0.0.0?
Fonte: Qual é o significado do endereço IP 0.0.0.0
Fonte: 0.0.0.0
Descoberta / Solicitação DHCP
...
...
Fonte: Noções básicas e solução de problemas do DHCP no Catalyst Switch ou nas redes empresariais
Rota Padrão
Fonte: Configurando um Gateway de Último Recurso Usando Comandos IP
fonte
Eles não são os mesmos.
127.0.0.1
faz parte da rede 127/8 que está reservada e aponta para o mesmo computador.0.0.0.0
é um endereço IP especial que significa coisas diferentes, dependendo do contexto.Você pode ter confundido 0.0.0.0 com 127.0.0.1 quando olha para netstat e vê o endereço local escutando como 0.0.0.0, mas é uma maneira diferente de usar 0.0.0.0.
https://en.wikipedia.org/wiki/0.0.0.0
fonte
0.0.0.0
às vezes também pode indicar uma transmissão, significando para todos os computadores na rede.255.255.255.255
(ou mais realisticamente algo como192.168.1.255
para uma rede local)A special definition exists for the IP broadcast address 255.255.255.255. It is the broadcast address of the zero network or 0.0.0.0, which in Internet Protocol standards stands for this network, i.e. the local network. Transmission to this address is limited by definition, in that it is never forwarded by the routers connecting the local network to other networks.
127.0.0.1 é um dos endereços do computador local, mas qualquer endereço 127.xyz também é outro endereço do computador (chamado "endereço de loopback"), exceto 127.0.0.0 (sub-rede de loopback) e 127.255.255.255 (endereço de broadcast para o sub-rede de loopback).
127.xyz significa "aqui".
0.0.0.0 é totalmente diferente: 0.0.0.0 não é o endereço de nada , é o curinga, como
*
no shell.Você não pode enviar dados para 0.0.0.0 ou abrir ativamente uma conexão TCP para 0.0.0.0 porque não há nada lá; 0.0.0.0 nem é um endereço inacessível ou não roteável, não faz sentido em um contexto em que um endereço é esperado .
Você pode usar o joker 0.0.0.0 em contextos em que um endereço pode ser opcionalmente fornecido , para dizer que não me importo .
Por exemplo, quando você abre ativamente uma conexão TCP com algum servidor TCP (um servidor TCP é criado por um TCP aberto passivo), é necessário especificar o endereço do servidor TCP (IP e número da porta) e, opcionalmente, pode escolher um Endereço local. (Como o soquete não é um soquete do servidor, ninguém pode abrir uma conexão e o endereço do seu lado da conexão geralmente não é muito importante.)
A
bind
chamada do sistema é usada para escolher o endereço local de um soquete TCP. Os dados transmitidosbind
são realmente um conjunto de restrições: restrição no endereço IP, restrição na porta TCP. A notação de texto usual é IP: port. 0.0.0.0TED significa que qualquer IP e qualquer porta são aceitáveis, é a restrição nula. 0.0.0.0:20 significa que a porta local deve ser 20, qualquer IP é aceitável (0.0.0.0:20 é usado pela conformidade dos servidores FTP para conexão de dados no modo ativo).O subsistema TCP / IP escolherá o endereço do seu lado da conexão TCP, se você não escolher um, usando a tabela de roteamento, com base no endereço de destino: o endereço do soquete TCP local será o endereço local associado à rota correspondente para o endereço de destino.
Eu mencionei anteriormente o shell "meta-caractere"
*
, mas o poder de combinar meta-caracteres com caracteres como*foo*
(qualquer nome de arquivo que contenha "foo") não existe com restrições de endereço IP, é tudo ou nada: um único endereço IP é considerado aceitável ou todos os endereços são. A lógica não determina que deve ser assim. Você pode estender a interface com uma linguagem de restrição mais rica.Precisão:
A frase 127.xyz significa "aqui" não implica que todos esses endereços sejam iguais. Eles representam "locais" diferentes (endereços de soquete), dentro do "computador" local, na pilha IP local, na verdade.
Observação: um computador com virtualização (emulação, virtualização de hardware, paravirtualização, o que você puder imaginar ...) possui várias pilhas de IP independentes.
fonte
-n
ou-d
denetstat
e programas relacionados para mostrar endereços numéricos, não nomes. 127.0.0.1 não é o mesmo endereço IP que 127.16.23.42. Portanto, 127.0.0.1:80 e 127.16.23.42:80 representam endereços de terminal TCP distintos, um servidor da Web em um endereço não pode ser encontrado no outro endereço.Normalmente, você usa o endereço de ligação 0.0.0.0 para permitir conexões de redes e fontes externas. Muitos servidores como o MySQL normalmente se ligam ao 127.0.0.1, permitindo apenas conexões de loopback, exigindo que o administrador o altere para 0.0.0.0 para habilitar a conectividade externa.
fonte