Proč je Localhost IP 127.0.0.1?

Geekové po celém světě znají svého místního hostitele jako 127.0.0.1, ale proč je tato konkrétní adresa ze všech dostupných adres vyhrazena pro místního hostitele? Čtěte dále a ponořte se do historie místních hostitelů.

Obrázek GMPhoenix; k dispozici jako tapeta zde.

Dnešní relace Otázky a odpovědi k nám přichází s laskavým svolením SuperUser - subdivize Stack Exchange, což je seskupení webových stránek otázek a odpovědí, které je součástí komunity.

Otázka

Čtečka SuperUser Roee Adler, zvědavá na výchozí IP adresu localhost, položila komunitě následující otázku:

Zajímalo by mě, jaký je původ rozhodnutí o  localhostIP adrese  127.0.0.1. Co znamená „význam“  127? jaký je „význam“  0.0.1?

Co to vlastně znamená? I když je možné prožít celou vaši podivínskou existenci a neznáte odpověď na tyto otázky, jsme připraveni se do toho pustit.

Odpovědi

Několik přispěvatelů se postavilo, aby odpovědělo na otázku Roeeho, každý z jejich příspěvků pomáhá objasnit, jak je 127.0.0.1 místem, které všichni nazýváme domovem. John T píše:

127 je poslední číslo sítě v síti třídy A s maskou podsítě  255.0.0.0127.0.0.1 je první přiřazitelná adresa v podsíti. 127.0.0.0 nelze použít, protože by to bylo číslo drátu. Ale použití jakýchkoli jiných čísel pro hostitelskou část by mělo fungovat dobře a vrátit se k použití 127.0.0.1. Můžete to zkusit sami pomocí pingu,  127.1.1.1 pokud chcete. Proč čekali na implementaci posledního čísla sítě? Nemyslím si, že je to zdokumentováno.

Hyperslug dělá nějaký archiv, který zabíjí tím, že prochází stará memoranda o tématu:

Nejstarší zmínka, kterou mohu najít ohledně přiřazení 127 jako zpětné smyčky, je listopad 1986 RFC 990, jehož autory jsou Reynolds a Postel:

Nulu adresy je třeba vykládat ve smyslu „toto“, jako v „této síti“.

Například adresa 0.0.0.37 může být interpretována jako hostitel 37 v této síti.

Sítě číslo 127 třídy A je přiřazena funkce „zpětné smyčky“, to znamená, že datagram odeslaný protokolem vyšší úrovně na adresu sítě 127 by se měl vrátit zpět do hostitele. Žádný datagram „odeslaný“ na adresu sítě 127 by se nikdy neměl objevit v žádné síti kdekoli.

Již v září 1981 byly RFC 790, 0 a 127 rezervovány:

000.rrr.rrr.rrr vyhrazeno [JBP] ... 127.rrr.rrr.rrr rezervováno [JBP]

0 a 127 byly jedinými vyhrazenými sítěmi třídy A do roku 1981. 0 byla použita pro směrování na konkrétního hostitele, takže zbylo 127 pro zpětnou vazbu.

Vím, že to neodpovídá na otázku, ale je to tak daleko, jak jsem mohl kopat. Možná by dávalo větší smysl zvolit 1.0.0.0 pro zpětnou smyčku, ale to už bylo dáno BBN Packet Radio Network.

I když všichni víme a milujeme 127.0.0.1 jako localhost, stojí za zmínku, že to nebude localhost navždy. 127.0.0.1 je způsob, jakým je localhost určen v komunikaci IPv4, a protože IPv6 pomalu převezme, bude označen mnohem intuitivnějším číslem: 0: 0: 0: 0: 0: 0: 0: 1.

Máte co dodat k vysvětlení? Zvuk v komentářích. Chcete si přečíst další odpovědi od ostatních technicky zdatných uživatelů Stack Exchange? Podívejte se na celá diskusní vlákna zde.