web-dev-qa-db-fra.com

Quelle est la vitesse de 127.0.0.1?

Je me demande si elle est liée à mon NIC du tout ou si le système d'exploitation ou le pilote intercepte et renvoie immédiatement les données envoyées à l'adresse de bouclage?

Le signal voyage-t-il réellement vers mon NIC puis le NIC le renvoie?)

37
user55029

Vous ne mentionnez pas un système d'exploitation particulier, mais pour la plupart, tout ce qui se passe est que les données descendent dans la pile jusqu'à ce qu'elles arrivent à IP, auquel cas elles sont à peu près renvoyées. C'est une simplification excessive mais cela signifie que l'ensemble du processus est généralement lié au processeur, ses performances sont donc directement liées à la vitesse du processeur et à l'efficacité de la pile. En termes pratiques, les processeurs et les systèmes d'exploitation modernes devraient être capables de "rebondir" le trafic de bouclage beaucoup plus rapidement que 40 Gbit/s - ce qui est le plus rapide NIC je pense que je suis capable d'acheter aujourd'hui. J'espère que cela vous aidera.

29
Chopper3

Le trafic 127.0.0.1 n'atteint jamais le réseau physique, il est traité par un adaptateur de boucle dans le noyau.

38
Zypher

Vous pouvez être intéressé par la fonctionnalité "Loopback Fast Path" ajoutée par Microsoft dans Windows 8 et Windows Server 2012. Voir:

http://blogs.technet.com/b/wincat/archive/2012/12/05/fast-tcp-loopback-performance-and-low-latency-with-windows-server-2012-tcp- loopback-fast-path.aspx

Il fournit également une illustration du chemin emprunté par le bouclage avec et sans l'optimisation.

12
Ed Briggs

127.0.0.1 n'est pas plus rapide que toute autre adresse IP locale. L'IP local rapide, car il n'utilise pas de périphérique physique et 2 couches (il ne frappe jamais votre 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
7
alvosu

Cela dépend du système d'exploitation que vous utilisez, mais Windows 2000 contenait un bogue où les demandes sur l'adaptateur de bouclage seraient lentes. Il y a des anecdotes inutiles pour vous!

Veuillez voir ceci kb article pour plus d'informations.

5
Matthew Steeples

Je dirais plutôt que vous trouvez votre réponse dans son nom même. Le nom dit: "Local Loopback Address", ce qui signifie en soi que le réseau n'intervient jamais dans le processus et que la demande est elle-même rebouclée localement.

2
ikartik90

Si vous êtes sous Linux ...

tapez "ifconfig -a" en tant que root ...

Remarquez la ligne "interruption" sur toutes les cartes réseau ... remarquez qu'il n'y a pas de ligne "interruption" sur "lo" ... cela signifie qu'il n'y a même pas d'interruption assignée, donc sacrément rapide ;-)

1
jim_m_somewhere