Diferença entre localhost e o endereço ip

14

Se vincular um soquete em Python ao localhost, o 8200 poderá ser acessado pelo link . mas não o link

Se vincular um soquete em Python para xxxx, 8200, machinename, 8200, isso pode ser acessado pelo link e link , mas não link

Eu achei que localhost significava 'esta máquina', e que usá-la seria 'loop back' para o endereço IP da máquina, mas parece ser diferente ips.

127.0.0.1 é sempre um endereço IP diferente do endereço IP das máquinas?

update:

Eu entendo que os números reais são diferentes, mas o que o loopback faz?

Por exemplo, wikepedia diz que o 'aponta um navegador da web para os URLs link ou link acessará o próprio site do computador '

mas esse site também estará acessível em x.x.x.x e presumivelmente será configurado com um único soquete em x.x.x.x. Então, como funcionam as duas referências?

conclusão:

Acho que finalmente entendi que 127.0.0.1 e x.x.x.x funcionam assim

--127.0.0.1 ==\
               >- Computer
--x.x.x.x   ==/

e não

--127.0.0.1 ==\
--------------- x.x.x.x >- Computer

ou

--x.x.x.x ==\
--------------- 127.0.0.1 >- Computer

Obrigado pela ajuda

    
por David 07.10.2010 / 11:44

3 respostas

16

Para responder à sua pergunta.

127.0.0.1 não é apenas um endereço IP diferente do endereço IP da máquina, é um diferente interface também. 127.0.0.1 não deve ser visto na rede local. É um especial endereço IP interno para o adaptador de loopback.

x.x.x.x será sua placa de rede.

a propósito 'localhost' é simplesmente uma entrada no seu arquivo de hosts que aponta para 127.0.0.1

Se você vincular um soquete a 127.0.0.1:8200, somente os clientes que estiverem executando localmente poderão acessá-lo e somente com o link ou link (ou uma entrada de arquivo dns ou hosts que aponte para 127.0.0.1).

Um soquete vinculado a x.x.x.x: 8200 só estará disponível através do link ou de uma entrada de arquivo dns ou hosts que aponte para isso.

Ligar um socket a 127.0.0.1 também não o torna disponível automaticamente na interface ethernet.

É por isso que você não pode se conectar ao x.x.x.x: 8200

Você pode vincular a porta 8200 a todas as interfaces disponíveis (0.0.0.0), então deve funcionar.

    
por 07.10.2010 / 12:06
2

For example wikepedia says that 'pointing a web browser to the URLs http://127.0.0.1/ or http://localhost/ will access that computer's own web site'

Ligeiramente impreciso. pode fazê-lo. Igualmente, pode não trazer nenhum site e é possível exibir um site interno diferente do que você obtém quando usa seu endereço x.x.x.x.

127.0.0.1 aponta para sua própria máquina, mas isso não significa que ela se comportará da mesma maneira quando chegar à sua máquina

Se você quer uma analogia não técnica, pode considerá-los portas diferentes em sua casa.

Ambos apontam para a mesma casa, mas não são a mesma coisa. É possível para cada porta levá-lo para a mesma sala ou levá-lo para uma sala diferente. Também é possível travar uma porta e não a outra.

Quando você configura um site, especifica quais endereços vincular e, com bastante frequência, a resposta é todos os endereços. (Isso é equivalente a ter todas as portas levando você para o único quarto)

Você também pode especificar o site para vincular apenas a um endereço. (Isso é equivalente a bloquear todas as portas, exceto uma).

Se você tiver dois (ou mais) sites, poderá vinculá-los a endereços separados. (Isso é equivalente a ter cada porta indo para salas separadas).

Um exemplo de como as duas referências funcionam, meu computador com Windows 7 tem o IIS instalado, quando entro no Gerenciador do IIS e clico com o botão direito do mouse no Site padrão, ele me fornece uma opção de menu 'Editar vinculações'. Selecionando isso traz uma lista de ligações. Eu tenho apenas um, mas para o endereço IP tem * o que significa que o IIS escuta em todos os meus endereços IP.

    
por 07.10.2010 / 19:21
1

Cada endereço IP no sistema é independente e pode ser ligado por soquetes separadamente, com exceção do endereço especial 0.0.0.0, que indica ao sistema operacional para ligar o soquete a todas as interfaces.

    
por 07.10.2010 / 11:48

Tags