Článek
Nejznámější adresa internetu nikam na internet nejde
Když vývojář napíše do prohlížeče 127.0.0.1, obvykle tím míří na vlastní počítač. Stejný princip používají lokální webové servery, databáze, testovací služby nebo programy, které potřebují komunikovat samy se sebou bez cesty do fyzické sítě.
Zajímavější detail je, že speciální není pouze jedna adresa. IANA vede jako loopback celý blok 127.0.0.0/8. To znamená rozsah od 127.0.0.0 do 127.255.255.255. Nejčastěji se používá právě 127.0.0.1, ale protokol rezervuje mnohem větší prostor.
Co znamená /8
Zápis 127.0.0.0/8 je CIDR notace. Číslo za lomítkem říká, kolik prvních bitů adresy je pevně určeno sítí. U /8 je to prvních osm bitů, tedy první oktet. Jakmile je první číslo IPv4 adresy 127, spadá adresa do tohoto rezervovaného bloku.
IANA u 127.0.0.0/8 uvádí, že není určený jako globálně dosažitelný a nemá se přeposílat přes síť. RFC 1122 navíc stanovuje, že datagramy poslané na adresu v tomto bloku se mají vrátit zpět uvnitř hostitele a nemají se objevit mimo něj.
Proto může fungovat i 127.12.34.56
Na běžném systému nemusí být loopback omezený pouze na 127.0.0.1. Pokud síťový stack respektuje celý rezervovaný blok, adresa 127.12.34.56 pořád patří do 127/8 a míří zpět na stejný stroj.
To je detail, který se hodí třeba při testování více lokálních služeb nebo při demonstraci síťování. Neznamená to ale, že každá aplikace, firewall nebo konkrétní konfigurace musí všechny varianty používat stejným způsobem. Pro běžné testování zůstává 127.0.0.1 nejuniverzálnější a nejznámější volbou.
localhost není totéž co 127.0.0.1
Slovo localhost je doménové jméno pro zvláštní použití. RFC 6761 říká, že dotazy na jména v doméně localhost mají směřovat na příslušnou loopback adresu. U IPv4 to typicky znamená 127.0.0.1. U IPv6 se používá ::1.
To je důležitý rozdíl. 127.0.0.1 je konkrétní IPv4 adresa. localhost je jméno, které se má přeložit na loopback. A ::1 je samostatná loopback adresa pro IPv6. V běžném použití vypadají jako tři varianty téže věci, technicky ale patří do různých vrstev.
IPv6 už nepotřebuje celý obrovský blok
IANA vede pro IPv6 loopback adresu ::1/128. Zápis /128 znamená, že je rezervovaná právě jedna konkrétní 128bitová adresa. Není tu ekvivalent celého obrovského bloku 127/8.
Když tedy aplikace poslouchá jen na 127.0.0.1, nemusí automaticky přijímat spojení přes ::1. A opačně. Vývojáři na to občas narazí ve chvíli, kdy localhost v jednom prostředí preferuje IPv6 a služba je navázaná jen na IPv4.
Loopback je bezpečně lokální cesta, ne magický firewall
Protože se loopback provoz nemá objevit mimo hostitele, hodí se pro služby, které mají být dostupné jen lokálně. Samotné použití adresy ale není univerzální bezpečnostní strategie. Program může zároveň poslouchat na jiné síťové adrese nebo může být zpřístupněn přes proxy, kontejner či jiné přesměrování.
Smysl 127.0.0.1 je jednodušší: umožňuje, aby síťové programy komunikovaly přes stejná rozhraní a protokoly, i když obě strany běží na jednom počítači. A největší drobnost, kterou si z toho odnést, je právě rozsah. Slavná jednička na konci není sama. Za ní stojí celý rezervovaný svět 127/8.
Zdroje a prameny
IANA — IPv4 Special-Purpose Address Space — oficiální registr: celý 127.0.0.0/8 je Loopback a není globálně dosažitelný ani forwardovatelný — otevřít zdroj
RFC 1122 — základní požadavky na internetové hostitele a vymezení 127/8 jako interní loopback — otevřít zdroj
RFC 6761 — speciální význam domény localhost a požadované mapování na loopback adresy — otevřít zdroj
IANA — IPv6 Special-Purpose Address Space — oficiální registr IPv6: ::1/128 jako loopback adresa — otevřít zdroj





