Dlaczego tak duży zakres IPv4 jest przypisany do localhost?

41

Dlaczego tak duży zakres adresów IPv4 jest przypisany localhost( 127.0.0.0przez 127.255.255.255)?

użytkownik2677679
źródło
8
Tylko moje dwa centy. Odkryłem, że przydatny jest więcej niż jeden adres zwrotny. Możesz powiązać usługi z dowolnym adresem w 127.0.0.0/8. Podczas jednej próby testowałem / porównywałem różne wersje naszego kodu serwera. Niestety, prawnie zastrzeżony klient, z którym musiałem przetestować, nie miał możliwości podłączenia się do innego portu. Nasz kod serwera mógłby jednak powiązać () z określonymi adresami. Byłem w stanie uruchomić różne instancje / wersje dla różnych adresów IP pętli zwrotnej. Tzn. Pierwsza związana z 127.0.0.2, następnie 127.0.0.3 i 127.0.0.4.
Eterfish
2
Wygląda na to, że zły wybór z czasu, gdy adres IPv4 nie był rzadkim zasobem.
Everton

Odpowiedzi:

45

Pochodzi z RFC 990, str. 5 , pod „Adresami specjalnymi”:

Do sieci o numerze 127 klasy A przypisana jest funkcja „sprzężenia zwrotnego”, to znaczy datagram wysłany przez protokół wyższego poziomu na adres sieci 127 powinien zapętlić się z powrotem w hoście. Żaden datagram „wysłany” na adres sieciowy 127 nigdy nie powinien pojawić się w żadnej sieci w dowolnym miejscu.

W tym czasie (1986 r.) Internet był całkowicie zajęty i nikt tak naprawdę nie zastanawiał się nad przydzieleniem tak dużej ilości miejsca na adres pętli zwrotnej. Zatem sprzężenie zwrotne uzyskało całą sieć klasy A.

Mike Pennington
źródło
1
Według RFC 990 wydaje się, że koncepcja klas B i C istniała już od jakiegoś czasu. Czy są jakieś informacje na temat tego, dlaczego sprzężenie zwrotne ma klasę A, a nie klasę B lub C.
Peter Green
@PeterGreen, choć nie jest ostateczną odpowiedzią, zwróć uwagę na to: w RFC776 (styczeń 1981), nie ma wzmianki 127.ani klas A / B / C, ale w następnej, RFC790 (wrzesień 1981), pojawiają się klasy i zauważ, że klasy B i C są wtedy puste (jeszcze żadnych rzeczywistych przydziałów). I przypuśćmy, że pomysł był 2 punkty: w tym czasie nie wszyscy gospodarze zostały zaktualizowane do zrozumienia klas B i C (inna routingu niż A), więc lepiej było trzymać się tylko istniejącym w tym czasie, A, które już miały kilka zadań i po prostu użyj ostatniego miejsca ( 127.) w bloku A, aby zostawić miejsce na przyszłość ...
Patrick Mevzek