Wie schnell ist 127.0.0.1?

36

Ich frage mich, ob es überhaupt an meine Netzwerkkarte gebunden ist oder ob das Betriebssystem oder der Treiber die an die Loopback-Adresse gesendeten Daten abfängt und sofort zurückgibt.

Geht das Signal tatsächlich zu meiner Netzwerkkarte und wird es von der Netzwerkkarte zurückgesendet?

serv-inc
quelle
5
Weitere Trivia, die das gesamte 127/8 widmet
Jacob
2
Es wäre interessant, einige reale Durchsatz- und / oder Latenzwerte für den Loopback zu sehen, wenn jemand sie hat.
NPE
3
Selbst wenn die Elektronen dorthin wandern, würde die NIC wahrscheinlich nicht dieselben Elektronen zurückgeben :)
Halil Özgür
:) Ja, ich sollte sagen, Signal ..
1
Es gibt keinen Ort wie 127.0.0.1

Antworten:

29

Sie erwähnen kein bestimmtes Betriebssystem, aber meistens wandern die Daten den Stapel hinunter, bis sie die IP-Adresse erreichen, und an diesem Punkt werden sie so gut wie zurückgesendet. Dies ist eine massive Vereinfachung, bedeutet jedoch, dass der gesamte Prozess in der Regel CPU-gebunden ist, sodass seine Leistung direkt von der CPU-Geschwindigkeit und der Stapeleffizienz abhängt. In der Praxis sollten moderne CPUs und Betriebssysteme in der Lage sein, Loopback-Verkehr erheblich schneller als 40 Gbit / s zu leiten - das ist die schnellste Netzwerkkarte, die ich meiner Meinung nach heute kaufen kann. Hoffe das hilft.

Chopper3
quelle
39

Nein, der gesamte 127.0.0.1-Datenverkehr trifft nie auf das physische Netzwerk. Er wird von einem Loopback-Adapter im Kernel verarbeitet.

Zypher
quelle
das heißt also super schnell richtig :)
@ Mrk Mnl ja, Sie wetten. Für meinen Ping 00ms mit XAMP 1.7.4
12
Jede lokale Adresse trifft niemals auf das physische Netzwerk. 127.0.0.1 nur einer von ihnen
alvosu
1
"Das physische Netzwerk erreichen" ist ein bisschen mehrdeutig, da es zu Ihrer Netzwerkkarte gelangen kann, ohne gesendet zu werden, und das physische Netzwerk nicht erreicht, wenn es vom Kernel, dh dem Betriebssystem, zurückgegeben wird. Offensichtlich gelangt es nicht zur Netzwerkkarte.
7

127.0.0.1 ist keine andere lokale IP schneller. Die lokale IP-Adresse ist schnell, da sie kein physisches Gerät und keine zwei Ebenen verwendet. (Ihre Netzwerkkarte wird nie erreicht.)

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
alvosu
quelle
4
Mit dieser Antwort ist eine Menge falsch. Es ist schneller. Wenn Sie das Kollisionsfenster einschränken, wird der Begrenzungsfaktor durch Kontextwechsel bestimmt.
symcbean
Genial, genau das, wonach ich gesucht habe. Ich wollte meine Obergrenze sehen, wenn ich Client zu Server lokal laufen lasse ... danke für die Antwort !!!!
Dean Hiller
@symcbean: Können Sie bitte die "Unrichtigkeit" dieser Antwort erläutern?
Sam Axe
5

Es hängt davon ab, welches Betriebssystem Sie ausführen, aber Windows 2000 wies einen Fehler auf, bei dem Anforderungen auf dem Loopback-Adapter langsam waren. Es gibt einige nutzlose Kleinigkeiten für Sie!

Weitere Informationen finden Sie in diesem KB-Artikel .

Matthew Steeples
quelle
2

Ich würde eher sagen, dass Sie Ihre Antwort im Namen selbst finden. Der Name sagt: "Local Loopback Address" (Lokale Loopback-Adresse). Dies bedeutet, dass das Netzwerk niemals in den Prozess eingreift und die Anforderung selbst lokal zurückgeschleift wird.

ikartik90
quelle
Ich wollte das Gleiche posten, als ich bemerkte, dass du mich geschlagen hast. In der Tat sollte 'Loopback-Adresse' einen Hinweis geben :)
Luis.espinal
Die Frage war, wie schnell ich weiß, was es tut
Der Name sagt eigentlich nichts. Beispielsweise ist ein physischer RS-232-Loop-Back genauso langsam wie Ihr serieller Port, während Sie einen Loop-Back auf Treiberebene schneller implementieren würden. Natürlich wird localhost in der Software behandelt, aber das kann man nicht einfach am Namen "loopback" erkennen. Für den Fall, dass Sie zu jung sind, um von diesen Dingen zu wissen, gebe ich Ihnen google.com/search?q=rs232+loopback&tbm=isch
aij
1

Wenn Sie unter Linux arbeiten ...

tippe "ifconfig -a" als root ein ...

Beachte die "Interrupt" -Leitung auf allen NICs ... beachte, dass es keine "Interrupt" -Leitung auf "lo" gibt ... das heißt, es ist nicht einmal ein Interrupt zugewiesen, also verdammt schnell ;-)

jim_m_somewhere
quelle
das macht keinen Sinn. Dies macht für ein virtuelles Gerät wenig Sinn und sagt nichts über seine Leistung aus.
Schlaflos