Se eu enviar dados para o meu computador usando o nome de host público, eles realmente passarão pela Internet?

12

Para esclarecer:

Estou usando meu nome de host público para me conectar a um banco de dados MySQL. O nome do host é resolvido para o IP externo do meu servidor (por exemplo, 1.2.3.4). Os dados que estou enviando / recebendo através da conexão MySQL acessam a internet? Seria mais rápido usar o host local? Isso ocupará a largura de banda do meu servidor?

    
por Tom Marthenal 13.08.2011 / 16:58

8 respostas

28

Se quiser ter certeza, você pode usar traceroute 1.2.3.4 . Isso listará todos os roteadores entre o host que está executando o comando e o dispositivo com o endereço IP 1.2.3.4.

    
por 13.08.2011 / 18:04
15

Se você usar "localhost" como nome de host para se conectar ao seu servidor MySQL, o MySQL não usará o TCP, mas sim os sockets. Esta deve ser a maneira mais rápida de se conectar a um servidor MySQL em execução localmente.

Se o seu servidor tiver o IP externo configurado "corretamente", isto é, não estiver atrás de um firewall ou proxy em uma rede interna, o tráfego não sairá do servidor, pois sabe que o endereço IP de destino é o mesmo sistema.

    
por 13.08.2011 / 17:04
5

Você não menciona nada sobre seu equipamento de roteamento ou comutação, mas pode sair do seu caminho para garantir que seus dados saiam antes de voltar, mas, na realidade, quase certamente seus dados não serão exibidos dessa maneira.

    
por 13.08.2011 / 17:03
3

Não, se tudo estiver em uma máquina, não sai da máquina.

    
por 13.08.2011 / 17:02
2

se a configuração do servidor ip em sua máquina usa o endereço IP público, então nenhum tráfego deixará seu servidor (mas é mais seguro ter certeza de usar o host local para os benefícios de desempenho)

se o seu IP for nat'ed e o seu roteador tiver o ip público e seu servidor tiver um IP interno, então, no mínimo, o tráfego provavelmente sairá do servidor e será refletido de volta para o servidor a partir do roteador, assumindo que o roteador reflexão de porta como parte de seu encaminhamento de porta - então, de certo modo, nenhum tráfego deixará sua rede, mas algum tráfego deixará seu servidor

sem qualquer informação de configuração de rede, não posso ser mais definitivo do que isso

    
por 13.08.2011 / 20:00
1

Desconecte seu cabo ethernet ou desconecte seu wifi e tente sua conexão de banco de dados e você terá sua resposta. Sem confusão, sem confusão!

    
por 14.08.2011 / 05:01
0

Seus resultados podem ser diferentes, mas consigo acessar meu sistema pelo endereço externo com o roteador desconectado da Internet. No entanto, para fazer isso eu tive que configurar o roteador com o endereço IP fixo apropriado, já que isso é normalmente emitido pelo ISP via DHCP.

Quanto à diferença de velocidade, teoricamente, o uso de localhost deve ser mais rápido, pois elimina as várias sobrecargas envolvidas na travessia de uma rede. Em termos reais, a diferença deve ser mínima para que você nunca seja capaz de perceber isso.

    
por 17.08.2011 / 07:36
0

Além do traceroute (já mencionado) você pode usar tcpdump ou wireshark e esperar por conexões mysql sendo roteadas para fora do seu host. O host local sempre deve ser mais rápido.

    
por 18.08.2011 / 01:41