Jaký je rozdíl mezi 127.0.0.1 a 0.0.0.0?

Většina z nás slyšela o číslech „127.0.0.1 a 0.0.0.0“, ale pravděpodobně nad nimi příliš nepřemýšlela, ale pokud se zdá, že oba ukazují na stejné místo, jaký je skutečný rozdíl mezi těmito dvěma? Dnešní příspěvek Otázky a odpovědi SuperUser pomáhá vyjasnit věci pro zmateného čtenáře.

Dnešní relace Otázky a odpovědi k nám přichází s laskavým svolením SuperUser - subdivize Stack Exchange, komunitní skupiny webových stránek s otázkami a odpověďmi.

Foto s laskavým svolením Kate Gardiner (Flickr).

Otázka

Čtenář SuperUser Sagnik Sarkar chce vědět, jaký je rozdíl mezi 127.0.0.1 a 0.0.0.0:

Chápu, že 127.0.0.1 ukazuje na localhost a že 0.0.0.0 také dělá dobře (opravte mě, pokud se mýlím). Jaký je tedy rozdíl mezi 127.0.0.1 a 0.0.0.0?

Jaký je rozdíl mezi 127.0.0.1 a 0.0.0.0?

Odpověď

Přispěvatel SuperUser DavidPostill má pro nás odpověď:

Jaký je rozdíl mezi 127.0.0.1 a 0.0.0.0?

  • 127.0.0.1 je adresa zpětné smyčky (známá také jako localhost).
  • 0.0.0.0 je nesměrovatelná metadresa používaná k označení neplatného, ​​neznámého nebo neaplikovatelného cíle (zástupný znak „žádná konkrétní adresa“).

V kontextu záznamu trasy to obvykle znamená výchozí trasu.

V kontextu serverů znamená 0.0.0.0 všechny adresy IPv4 na místním počítači . Pokud má hostitel dvě IP adresy, 192.168.1.1 a 10.1.2.1, a server běžící na hostiteli naslouchá 0.0.0.0, bude dosažitelný na obou těchto IP adresách.

Co je IP adresa 127.0.0.1?

127.0.0.1 je adresa internetového protokolu (IP) se smyčkou, která se také označuje jako localhost . Adresa se používá k navázání připojení IP ke stejnému stroji nebo počítači, který používá koncový uživatel.

Stejná konvence je definována pro počítače, které podporují adresování IPv6 pomocí konotace :: 1. Nejběžnějším postupem je navázání připojení pomocí adresy 127.0.0.1; použití jakékoli adresy IP v rozsahu 127… * však bude fungovat stejným nebo podobným způsobem. Konstrukce zpětné smyčky dává počítači nebo zařízení schopnému připojení do sítě schopnost ověřit nebo vytvořit zásobník IP v počítači.

Zdroj: 127.0.0.1 - Jaká je jeho použití a proč je to důležité?

Zvláštní adresy

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 smyčkovat zpět uvnitř hostitele. Žádný datagram odeslaný na adresu 127 v síti by se nikdy neměl objevit v žádné síti kdekoli.

Zdroj: Síťová čísla

Pokud je to celá třída A, jaký je smysl dalších libovolných hodnot za poslední tři oktety?

Účelem rozsahu zpětné smyčky je testování implementace protokolu TCP / IP na hostiteli. Vzhledem k tomu, že spodní vrstvy jsou zkratovány, umožňuje odeslání na adresu zpětné smyčky efektivně otestovat vyšší vrstvy (IP a vyšší), aniž by se mohly projevit problémy v nižších vrstvách. 127.0.0.1 je adresa nejčastěji používaná pro účely testování.

Zdroj: IP vyhrazeno, zpětné smyčky a soukromé adresy

Další informace najdete v otázce Zeptejte se Ubuntu : Co je to zařízení Loopback a jak ho mohu použít?

Co je IP adresa 0.0.0.0?

0.0.0.0 je platná syntaxe adresy. Mělo by se tedy analyzovat jako platné všude tam, kde se očekává adresa IP v tradičním zápisu s tečkami. Po analýze a převedení do funkční numerické formy pak její hodnota určuje, co se stane dál.

Hodnota nuly má zvláštní význam. Je tedy platný , ale má význam, který nemusí být vhodný (a tedy považován za neplatný) za konkrétních okolností. V zásadě se jedná o zástupný symbol „žádná konkrétní adresa“. U věcí, jako je vazba adres síťových připojení, může být výsledkem přiřazení příslušné adresy rozhraní připojení. Pokud jej používáte ke konfiguraci rozhraní, může místo toho odebrat adresu z rozhraní. Závisí na kontextu použití, aby bylo možné určit, co „žádná konkrétní adresa“ ve skutečnosti dělá.

V kontextu záznamu trasy to obvykle znamená výchozí trasu. To se stane jako výsledek více masky adresy, která vybere bity k porovnání. Maska 0.0.0.0 nevybírá žádné bity, takže srovnání bude vždy úspěšné. Když je taková trasa nakonfigurována, pakety pak vždy existují (pokud jsou nakonfigurovány s platným cílem).

V některých případech bude fungovat pouze „0“ a bude mít stejný účinek. Ale to není zaručeno. Formulář 0.0.0.0 je standardní způsob, jak říci „žádná konkrétní adresa“ (v IPv6 to je :: 0 nebo jen : :) .

Zdroj: Co znamená IP adresa 0.0.0.0?

V internetovém protokolu verze 4 je adresa 0.0.0.0 nesměrovatelná meta-adresa používaná k označení neplatného, ​​neznámého nebo nepoužitelného cíle. Chcete-li dát zvláštní význam jinak neplatné části dat, je to použití signalizace v pásmu.

V kontextu serverů znamená 0.0.0.0 všechny adresy IPv4 na místním počítači . Pokud má hostitel dvě adresy IP, 192.168.1.1 a 10.1.2.1 a server běžící na hostiteli naslouchá dne 0.0.0.0, bude dosažitelný na obou těchto adresách IP ( Poznámka: Tento konkrétní text se opakuje shora jako součást celkové odpovědi ).

V kontextu směrování znamená 0.0.0.0 obvykle výchozí trasu, tj. Trasu, která vede k „zbytku“ internetu namísto někam v místní síti.

Použití zahrnují:

  • Adresa, kterou si hostitel nárokuje, když mu ještě nebyla přiřazena adresa. Například při odesílání počátečního paketu DHCPDISCOVER při použití DHCP.
  • Adresa, kterou si hostitel přiřadí, když požadavek na adresu přes DHCP selhal, za předpokladu, že to IP zásobník hostitele podporuje. Toto použití bylo v moderních operačních systémech nahrazeno mechanismem APIPA.
  • Způsob, jak určit libovolného hostitele IPv4 . Tímto způsobem se používá při určování výchozí trasy.
  • Způsob, jak explicitně určit, že cíl není k dispozici. Zdroj:  127.0.0.1 - Jaká je jeho použití a proč je to důležité?
  • Způsob, jak zadat libovolnou adresu IPv4 vůbec . Tímto způsobem se používá při konfiguraci serverů (tj. Při vázání naslouchacích soketů). Toto je programátorům TCP známé jako INADDR_ANY. [ bind (2) se váže na adresy, nikoli na rozhraní. ]

V IPv6 je adresa s nulami zapsána jako ::

Zdroj: 0.0.0.0 [Wikipedia]

Zjištění / požadavek DHCP

Při prvním spuštění klienta se říká, že je v inicializačním stavu , a vysílá zprávu DHCPDISCOVER ve své místní fyzické podsíti přes port 67 protokolu User Datagram Protocol (UDP) (server BootP). Vzhledem k tomu, že klient nemá způsob, jak znát podsíť, do které patří, je DHCPDISCOVER vysíláním všech podsítí (cílová adresa IP 255.255.255.255) se zdrojovou adresou IP 0.0.0.0. Zdrojová adresa IP je 0.0.0.0, protože klient nemá nakonfigurovanou adresu IP.

Pokud v této místní podsíti existuje server DHCP a je nakonfigurován a funguje správně, server DHCP uslyší vysílání a odpoví zprávou DHCPOFFER. Pokud server DHCP v místní podsíti neexistuje, musí být v této místní podsíti agent přenosu DHCP / BootP, který předá zprávu DHCPDISCOVER do podsítě, která obsahuje server DHCP.

Tímto přenosovým agentem může být buď vyhrazený hostitel (například Microsoft Windows Server), nebo směrovač (například směrovač Cisco nakonfigurovaný s pomocnými příkazy IP na úrovni rozhraní).

Poté, co klient obdrží DHCPOFFER, odpoví zprávou DHCPREQUEST označující jeho záměr přijmout parametry v DHCPOFFER a přesune se do požadujícího stavu . Klient může obdržet více zpráv DHCPOFFER, jednu z každého serveru DHCP, který přijal původní zprávu DHCPDISCOVER. Klient si vybere jeden DHCPOFFER a odpovídá pouze na tento server DHCP, čímž implicitně odmítne všechny ostatní zprávy DHCPOFFER. Klient identifikuje vybraný server vyplněním pole volby Identifikátor serveru IP adresou serveru DHCP.

DHCPREQUEST je také vysílání, takže všechny servery DHCP, které poslaly DHCPOFFER, uvidí DHCPREQUEST a každý bude vědět, zda byl jeho DHCPOFFER přijat nebo odmítnut. Veškeré další možnosti konfigurace, které klient požaduje, budou zahrnuty do pole možností ve zprávě DHCPREQUEST. I přesto, že klientovi byla nabídnuta adresa IP, odešle zprávu DHCPREQUEST se zdrojovou adresou IP 0,0.0.0. V tuto chvíli klient ještě neobdržel ověření, že je jasné používat IP adresu.

Konverzace klient-server pro klienta získávajícího adresu DHCP, kde klient a server DHCP sídlí ve stejné podsíti:

Zdroj: Porozumění a řešení problémů s DHCP v Catalyst Switch nebo Enterprise Networks

Výchozí trasa

Tento dokument vysvětluje, jak nakonfigurovat výchozí trasu nebo bránu poslední instance. Používají se tyto příkazy IP:

  • IP výchozí brána
  • ip default-network
  • IP cesta 0.0.0.0 0.0.0.0

IP Route 0.0.0.0 0.0.0.0

Vytvoření statické trasy do sítě 0.0.0.0 0.0.0.0 je další způsob, jak nastavit bránu poslední instance na routeru. Stejně jako u příkazu ip default-network není použití statické cesty k 0.0.0.0 závislé na žádných směrovacích protokolech. Na routeru však musí být povoleno směrování IP.

Poznámka: IGRP nerozumí cestě k 0.0.0.0. Proto nemůže šířit výchozí trasy vytvořené pomocí příkazu ip route 0.0.0.0 0.0.0.0 . Pomocí příkazu ip default-network nechte IGRP šířit výchozí trasu.

Zdroj: Konfigurace brány poslední instance pomocí příkazů IP

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ákno zde.