Zastanawiam się, czy w ogóle jest on powiązany z moją kartą sieciową, czy system operacyjny lub sterownik przechwytuje i natychmiast zwraca dane wysłane na adres pętli zwrotnej?
Czy sygnał faktycznie dociera do mojej karty sieciowej, a następnie go zwraca?
Nie wspominasz o konkretnym systemie operacyjnym, ale w większości przypadków dane przemieszczają się w dół stosu, aż dotrą do adresu IP, w którym to momencie są prawie odsyłane. Jest to ogromne nadmierne uproszczenie, ale oznacza, że cały proces jest zwykle związany z procesorem, więc jego wydajność jest bezpośrednio związana z szybkością procesora i wydajnością stosu. W praktyce nowoczesne procesory i systemy operacyjne powinny być w stanie „odbijać” ruch pętli zwrotnej znacznie szybciej niż 40 Gb / s - co jest najszybszą kartą sieciową, którą, jak sądzę, mogę dziś kupić. Mam nadzieję że to pomoże.
„uderzenie w fizyczną sieć” jest nieco dwuznaczne, ponieważ może dostać się do twojej karty sieciowej bez wysłania i nie trafić do sieci fizycznej, w każdym razie, jeśli zostanie zwrócone przez jądro, tj. system operacyjny, oczywiście nie dostanie się do karty sieciowej.
12
Być może zainteresuje Cię funkcja „Loopback Fast Path” Microsoft dodana w Windows 8 i Windows Server 2012. Zobacz:
127.0.0.1 nie jest szybszym innym lokalnym IP. Lokalny adres ip szybki, ponieważ nie korzysta z fizycznego urządzenia i 2-warstw. (Nigdy nie uderza twojej karty sieciowej)
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
Jest bardzo źle z tą odpowiedzią. To jest szybsze. Jeśli wyczyścisz okno kolizji, wówczas czynnikiem ograniczającym będzie sterowanie przełączaniem kontekstu.
Zależy to od używanego systemu operacyjnego, ale w systemie Windows 2000 wystąpił błąd polegający na tym, że żądania adaptera sprzężenia zwrotnego byłyby wolne. Jest dla ciebie kilka bezużytecznych drobiazgów!
Więcej informacji można znaleźć w tym artykule KB .
Wolę powiedzieć, że odpowiedź znajduje się w samej nazwie. Nazwa mówi: „Lokalny adres sprzężenia zwrotnego”, co samo w sobie oznacza, że sieć nigdy nie ingeruje w proces, a samo żądanie jest zapętlane lokalnie.
Nazwa tak naprawdę nic ci nie mówi. Na przykład fizyczna pętla zwrotna RS-232 będzie tak samo wolna jak port szeregowy, podczas gdy gdybyś wdrożył ją na poziomie sterownika, byłoby to szybsze. Oczywiście localhost będzie obsługiwany w oprogramowaniu, ale nie można tego odróżnić od nazwy „loopback”. Jeśli jesteś za młody, aby wiedzieć o tych rzeczach, dam ci google.com/search?q=rs232+loopback&tbm=isch
Zwróć uwagę na linię „przerwań” na wszystkich kartach sieciowych… zauważ, że nie ma linii „przerwań” na „lo” ... to znaczy, że nie ma nawet przypisanego przerwania, więc cholernie szybko ;-)
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.