Si envío datos a mi computadora usando su nombre de host público, ¿realmente va a través de Internet?

12

Para aclarar:

Estoy usando mi nombre de host público para conectarme a una base de datos MySQL. El nombre de host se resuelve en la IP externa de mi servidor (por ejemplo, 1.2.3.4). ¿Los datos que envío / recibo a través de la conexión MySQL se transfieren a Internet? ¿Sería más rápido usar localhost? ¿Ocupará el ancho de banda de mi servidor?

Tom Marthenal
fuente

Respuestas:

28

Si quieres estar seguro, puedes usarlo traceroute 1.2.3.4. Esto enumerará todos los enrutadores entre el host que ejecuta el comando y el dispositivo con la dirección IP 1.2.3.4.

Mouviciel
fuente
3
+1 por incorporar la palabra "desvive" en tu oración. Ahora sé una palabra más en inglés.
Gani Simsek
en.wiktionary.org/wiki/devive dice "desvive - Para dejar sin vida". Estoy confundido. Tal vez debería ser "dispositivo"?
anon
77
Básicamente, " ese es el último trazado que ha corrido "
Xeoncross
55
@xeoncross - Eso es un infierno de trazado. ¿Dónde obtengo la versión que tiene esta opción de línea de comando? Estoy en Windows XP. También estoy interesado en instalar el ping de la muerte.
anon
66
en windows usarías tracert
Mauro
15

Si usa "localhost" como nombre de host para conectarse a su servidor MySQL, MySQL no usará TCP, sino sockets. Esta debería ser la forma más rápida de conectarse a un servidor MySQL que se ejecuta localmente.

Si su servidor tiene la IP externa configurada "correctamente", es decir, no está detrás de un firewall o proxy en una red interna, el tráfico no saldrá de su servidor ya que sabe que la dirección IP de destino es el mismo sistema.

Shi
fuente
1
Además, si está en Linux, el uso de "localhost" o "127.0.0.1" se conectará a través del loadaptador, que es un pseudo-adaptador que solo se usa para esas direcciones. No estoy seguro acerca de Windows, pero creo que tiene algo similar.
Nathan Moos
2
@Nathan Moos Como se indica en el manual de MySQL : Para las conexiones a localhost, los programas MySQL intentan conectarse al servidor local utilizando un archivo de socket Unix.
Shi
1
Estaba describiendo una situación más genérica en la que te estás conectando a localhost, no necesariamente MySQL. Lamento haber ignorado la redacción de la pregunta y la respuesta.
Nathan Moos
5

No mencionas nada sobre tu equipo de enrutamiento o conmutación, pero puedes hacer todo lo posible para asegurarte de que tus datos salgan antes de volver, pero en realidad es casi seguro que tus datos no saldrán de esta manera.

Chopper3
fuente
Estoy bastante seguro de que hay una pregunta implícita: "¿Qué debo verificar para saber que los datos no viajan en absoluto?"
Lie Ryan
Estoy de acuerdo, pero no proporciona ningún detalle sobre su enrutamiento o cambio, por lo que es imposible en esta etapa agregar más sin hacer suposiciones descabelladas.
Chopper3
3

No, si todo está en una máquina, no sale de la máquina.

mailq
fuente
Todo el tráfico de la máquina a la máquina se enruta a través de la interfaz de bucle invertido. Si se desconecta de su red, seguirá funcionando.
BillThor
@BillThor seguro, pero esa no era la pregunta.
mailq
No estoy seguro de esto: dijo que el nombre se resuelve en la dirección IP pública (Internet) de la máquina. Si la máquina está detrás de NAT utilizando el reenvío de puertos, tiene que ir al menos hasta la puerta de enlace.
Joel Coel
@BillThor Las direcciones IP que no sean 127.0.0.1 son asignadas a la máquina por la red (enrutador / conmutador / ISP), por lo que desconectarse de la red efectivamente desasigna las direcciones.
Lukman
2
Esto solo es cierto si el servidor sabe que es 1.2.3.4, si solo sabe que tiene una IP interna (es decir, 192.168.xx) que los datos, como mínimo, se enviarán al enrutador.
Unkwntech
2

si la configuración de IP de su servidor en su máquina usa la dirección IP pública, entonces no habrá tráfico que salga de su servidor (pero es más seguro estar seguro y usar localhost de todos modos para los beneficios de rendimiento)

si su IP es nativa y su enrutador tiene la IP pública y su servidor tiene una IP interna, entonces, como mínimo, el tráfico probablemente saldrá de su servidor y se reflejará en su servidor desde el enrutador, suponiendo que el enrutador refleje el puerto como parte de su reenvío de puertos, por lo que, en cierto sentido, no habrá tráfico que salga de su red, pero parte del tráfico saldrá de su servidor

sin ninguna información de configuración de red no puedo ser más definitivo que eso

anthonysomerset
fuente
1

Desenchufe su cable de ethernet o desconecte su wifi e intente su conexión de base de datos y tendrá su respuesta. Sin alboroto, sin muss!

Steven Striga
fuente
Ni siquiera cerca de corregir. ¿Red local?
navaho
@navaho El póster original decía "sería más rápido usar localhost", lo que indica que la base de datos está en la misma máquina que su aplicación; por lo tanto, para usar mi solución no se necesita acceso a la red local.
Steven Striga
La pregunta era si envío datos a mi computadora a través de Internet, ¿realmente se envía a través de Internet? La descripción es que estoy usando mi> nombre de host público <para conectarme a una base de datos MySQL. El nombre de host> se resuelve en la IP externa de mi servidor <(por ejemplo, 1.2.3.4). ¿Los datos que envío / recibo a través de la conexión MySQL se transfieren a Internet? Su respuesta no respondió la pregunta planteada. Tirar del cordón y ver qué sucede es, en el mejor de los casos, quedarse corto. Sí, respondiste la pregunta secundaria, ¿sería más rápido usar localhost, pero en cuanto a la pregunta original te quedaste corto?
navaho
0

Sus resultados pueden diferir, pero puedo acceder a mi sistema a través de la dirección externa bien con el enrutador desconectado de Internet. Sin embargo, para hacer esto, tuve que configurar el enrutador con la dirección IP fija apropiada, ya que esto normalmente es emitido por el ISP a través de DHCP.

En cuanto a la diferencia de velocidad, teóricamente el uso de localhost debería ser más rápido porque elimina los diversos gastos generales involucrados en atravesar una red. En términos reales, aunque la diferencia debería ser tan mínima que nunca debería ser capaz de notarla.

John Gardeniers
fuente
0

Además de traceroute (ya mencionado), puede usar tcpdump o wireshark y observar si las conexiones mysql se enrutan fuera de su host. Localhost siempre debe ser más rápido.

Andrew Case
fuente