Me pregunto si está vinculado a mi NIC o si el sistema operativo o el controlador interceptan e inmediatamente devuelven los datos enviados a la dirección de bucle invertido.
¿La señal realmente viaja a mi NIC y luego la NIC la devuelve?
Me pregunto si está vinculado a mi NIC o si el sistema operativo o el controlador interceptan e inmediatamente devuelven los datos enviados a la dirección de bucle invertido.
¿La señal realmente viaja a mi NIC y luego la NIC la devuelve?
Respuestas:
No mencionas un sistema operativo en particular, pero para la mayoría de todo lo que sucede es que los datos viajan por la pila hasta llegar a IP, momento en el que prácticamente se envían de vuelta. Esa es una simplificación masiva, pero significa que todo el proceso generalmente está vinculado a la CPU, por lo que su rendimiento está directamente relacionado con la velocidad de la CPU y la eficiencia de la pila. En términos prácticos, las CPU y sistemas operativos modernos deberían poder 'rebotar' el tráfico de bucle invertido considerablemente más rápido que 40 Gbps, que es la NIC más rápida que creo que soy capaz de comprar hoy. Espero que esto ayude.
No todo el tráfico 127.0.0.1 nunca llega a la red física, es procesado por un adaptador de bucle de retorno en el núcleo.
Puede que le interese la función "Ruta rápida de bucle invertido" que Microsoft agregó en Windows 8 y Windows Server 2012. Consulte:
También proporciona una ilustración de la ruta tomada por el loopback con y sin la optimización.
127.0.0.1 no es más rápido que cualquier otra ip local. La ip local es rápida, ya que no utiliza dispositivos físicos ni capas 2 (nunca llega a su NIC)
iperf -c 109.191.109.xxx 1111 -t 5
iperf: ignoring extra argument -- 1111
------------------------------------------------------------
Client connecting to 109.191.109.241, TCP port 5001
TCP window size: 49.7 KByte (default)
------------------------------------------------------------
[ 3] local 109.191.109.xxx port 32840 connected with 109.191.109.xxx port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 5.0 sec 4.72 GBytes 8.12 Gbits/sec
$ iperf -c 127.0.0.1 1111 -t 5
iperf: ignoring extra argument -- 1111
------------------------------------------------------------
Client connecting to 127.0.0.1, TCP port 5001
TCP window size: 49.7 KByte (default)
------------------------------------------------------------
[ 3] local 127.0.0.1 port 56482 connected with 127.0.0.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 5.0 sec 4.62 GBytes 7.94 Gbits/sec
Depende de qué sistema operativo esté ejecutando, pero Windows 2000 tenía un error en el que las solicitudes en el adaptador de bucle invertido serían lentas. ¡Hay algunas curiosidades inútiles para ti!
Consulte este artículo de kb para obtener más información.
Prefiero decir que encuentras tu respuesta en su nombre. El nombre dice: "Dirección de bucle de retorno local", lo que en sí mismo significa que la red nunca interviene en el proceso y que la solicitud se repite localmente.
Si estás en Linux ...
escriba "ifconfig -a" como root ...
Observe la línea de "interrupción" en todas las NIC ... observe que no hay una línea de "interrupción" en "lo" ... eso significa que ni siquiera tiene una interrupción asignada, así que bastante rápido ;-)