Quanto è veloce 127.0.0.1?


37

Mi chiedo se è legato alla mia scheda di rete o se il sistema operativo o il driver intercetta e restituisce immediatamente i dati inviati all'indirizzo di loopback?

Il segnale arriva effettivamente alla mia scheda di rete, quindi la scheda di rete lo restituisce?


5
Altre curiosità l'intero 127/8 è dedicato al loopback
Jacob

2
Sarebbe interessante vedere alcuni dati sul throughput e / o sulla latenza del mondo reale per il loopback se qualcuno li possiede.
NPE,

3
Anche se gli elettroni viaggiassero lì, la NIC probabilmente non restituirebbe gli stessi elettroni :)
Halil Özgür

:) sì, dovrei dire segnale ..

1
non c'è posto come 127.0.0.1

Risposte:


29

Non menzionate un sistema operativo particolare, ma per la maggior parte di ciò che accade è che i dati viaggiano nello stack fino a quando non arrivano all'IP, a quel punto vengono praticamente restituiti. Questa è un'enorme semplificazione eccessiva, ma significa che l'intero processo è in genere associato alla CPU, quindi le sue prestazioni sono quindi direttamente collegate alla velocità della CPU e all'efficienza dello stack. In termini pratici, CPU e sistemi operativi moderni dovrebbero essere in grado di "rimbalzare" il traffico di loopback considerevolmente più veloce di 40 Gbps, che è la scheda di rete più veloce che penso di essere in grado di acquistare oggi. Spero che sia di aiuto.


39

Nessun traffico 127.0.0.1 non raggiunge mai la rete fisica, ma viene elaborato da un adattatore loop back nel kernel.


quindi questo significa super veloce proprio :)

@Mrk Mnl sì, puoi scommettere. Per il mio ping 00ms usando XAMP 1.7.4

12
qualsiasi indirizzo locale non colpisce mai la rete fisica. 127.0.0.1 solo uno di questi
alvosu l'

1
"colpire la rete fisica" è un po 'ambiguo in quanto potrebbe arrivare alla tua NIC senza essere inviato e non colpire la rete fisica, comunque se viene restituito dal kernel, cioè dal sistema operativo, ovviamente non arriva alla NIC.


7

127.0.0.1 non è più veloce di nessun altro IP locale. L'ip locale veloce, perché non utilizza dispositivi fisici e 2 livelli (non colpisce mai la scheda di rete)

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

4
C'è molto di sbagliato in questa risposta. È più veloce. Se si attua la finestra di collisione, il fattore limitante sarà guidato dal cambio di contesto.
symcbean,

fantastico, proprio quello che stavo cercando. Volevo vedere il mio limite superiore quando eseguivo il client sul server localmente ... grazie per la risposta !!!!
Dean Hiller,

@symcbean: puoi approfondire l '"errore" di questa risposta, per favore?
Sam Axe

5

Dipende dal sistema operativo in uso, ma in Windows 2000 era presente un bug in cui le richieste sull'adattatore di loopback sarebbero lente. Ci sono alcune curiosità inutili per te!

Consulta questo articolo di KB per ulteriori informazioni.


2

Preferirei dire che trovi la tua risposta nel suo stesso nome. Il nome dice: "Local Loopback Address", che di per sé significa che la rete non interviene mai nel processo e la richiesta è di per sé in loop indietro localmente.


Stavo per pubblicare lo stesso quando ho notato che mi hai battuto. In effetti "indirizzo di loopback" dovrebbe dare un suggerimento :)
luis.espinal,

la domanda era quanto velocemente, so cosa fa

Il nome in realtà non ti dice nulla. Ad esempio, un loopback RS-232 fisico sarà lento quanto la tua porta seriale, mentre se dovessi implementarne uno a livello di driver sarebbe più veloce. Naturalmente localhost verrà gestito nel software, ma non si può dire solo dal nome "loopback". Nel caso in cui tu sia troppo giovane per sapere queste cose, ti do google.com/search?q=rs232+loopback&tbm=isch
aij,

1

Se sei su Linux ...

digitare "ifconfig -a" come root ...

Nota la linea "interrompi" su tutte le schede di rete ... nota che non c'è una linea "interrompi" su "lo" ... ciò significa che non ha nemmeno un interrupt assegnato ad essa, quindi dannatamente veloce ;-)


non ha senso. Questo ha poco senso per un dispositivo virtuale e non dice nulla sulle sue prestazioni.
sleeplessnerd
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.