Z książki Computer Network :
Adres IP 0.0.0.0 , najniższy adres, jest używany przez hosty podczas ich uruchamiania. Oznacza „tę sieć” lub „ten host”.
... Wszystkie adresy formularza 127.xx.yy.zz są zarezerwowane do testowania w pętli zwrotnej. Pakiety wysłane na ten adres nie są wysyłane na drut; są przetwarzane lokalnie i traktowane jako pakiety przychodzące. Umożliwia to wysyłanie pakietów do hosta bez znajomości jego numeru przez nadawcę, co jest przydatne do testowania.
Jeśli mam rację, zwrotny adres IP odnosi się do bieżącego hosta.
Jaka jest zatem różnica między 0.0.0.0 a adresem IP sprzężenia zwrotnego?
Odpowiedzi:
Wyrok:
wprowadza w błąd. To nie jest „lub”, ale „Ten host w tej sieci”.
Z RFC1122 :
Adres sprzężenia zwrotnego (właściwie dowolny adres w sieci 127.0.0.0/8) jest wyjaśniony w tym samym RFC w ten sposób:
Zatem zarówno adres sprzężenia zwrotnego, jak i adres zerowy można nazwać „hostem”, ale w rzeczywistości mają one bardzo różne zastosowania:
adres 0.0.0.0 można zaobserwować w sieci, ale tylko podczas procesu DHCP / BOOTP i tylko jako adres źródłowy.
żadnego adresu w 127.0.0.0/8 nie można wyświetlić w dowolnym miejscu w sieci i można go używać tylko do:
testowanie stosu TCP / IP hosta.
dwie aplikacje na tym samym hoście do komunikacji.
Adres 127.XXX jest dołączony do interfejsu pętli zwrotnej. Taki interfejs nie ma dołączonej warstwy bazowej (tzn. Nie jest dołączony do warstwy łącza). Pakiet jest przetwarzany i odbierany w warstwie internetowej. Tak więc naprawdę nie ma sposobu, aby ten pakiet dotarł do czegokolwiek poza hostem.
Ale pakiet wysłany z 0.0.0.0 jest przetwarzany normalnie przez stos sieciowy, z tym wyjątkiem, że nie ma decyzji o routingu, jest powiązany z inicjującym się interfejsem, więc jest wysyłany z tego interfejsu i przechodzi przez warstwę łącza (która może być coś innego niż Ethernet), a następnie w sieci.
źródło
0.0.0.0
z punktu widzenia gospodarza jest to „ja”.127
adres nie jest odniesieniem do hosta, ale raczej symulacją hosta zewnętrznego (nawet jeśli tak naprawdę nie jest zewnętrzny). Czy to jest poprawne ? RFC stwierdza również „datagram, którego adres źródłowy nie definiuje pojedynczego hosta - np. Adres zerowy, adres zwrotny”. Więc jeśli dobrze rozumiem, w przeciwieństwie do innych adresów, nie mają one oznaczać zewnętrznego hosta na sieć, ale służą jako punkt odniesienia dla różnych rzeczy - siebie i swego rodzaju hosta „testowego”.Nie. Ruch przesyłany na adres zwrotny zapętla się z powrotem w hoście. Możesz wysłać ruch na adres zwrotny jako adres docelowy, a następnie go odczytać. Jest to przydatne w testowaniu.
Adresów w
0.0.0.0/8
sieci nie można używać jako adresów docelowych. Jedynym praktycznym zastosowaniem jest adres źródłowy, gdy host nie ma adresu i prosi coś takiego jak serwer DHCP o przypisanie mu adresu.Istnieje specjalny rejestr adresów IANA IPv4, który zawiera listę wszystkich specjalnych bloków adresów i zawiera łącza do specyfikacji RFC, które definiują każdy z tych bloków.
źródło