Mis vahe on 127.0.0.1 ja 0.0.0.0 vahel?

Enamik meist on kuulnud ‘127.0.0.1 ja 0.0.0.0’ -st, kuid pole ilmselt neile palju mõelnud, kuid kui mõlemad näivad tegelikult viitavat samale asukohale, siis mis on nende kahe tegelik erinevus? Tänane SuperUseri küsimuste ja vastuste postitus aitab segaduses lugeja jaoks asjad selgeks teha.

Tänane küsimuste ja vastuste seanss saabub meile SuperUseri kaudu - see on Stack Exchange'i alajaotus, mis on kogukonna juhitud Q&A veebisaitide rühmitus.

Foto viisakalt Kate Gardiner (Flickr).

Küsimus

SuperUseri lugeja Sagnik Sarkar soovib teada, mis vahe on 127.0.0.1 ja 0.0.0.0 vahel:

Saan aru, et 127.0.0.1 osutab kohalik host ja ka see 0.0.0.0 teeb sama hästi (parandage mind, kui ma eksin). Niisiis, mis vahe on 127.0.0.1 ja 0.0.0.0 vahel?

Mis vahe on 127.0.0.1 ja 0.0.0.0 vahel?

Vastus

SuperUseri kaastöötaja DavidPostillil on meile vastus:

Mis vahe on 127.0.0.1 ja 0.0.0.0 vahel?

  • 127.0.0.1 on tagasisideaadress (tuntud ka kui localhost).
  • 0.0.0.0 on marsruutimata meta-aadress, mida kasutatakse vale, tundmatu või mittekohaldatava sihtmärgi („pole konkreetset aadressi” koha omaniku) tähistamiseks.

Marsruudi sisestamise kontekstis tähendab see tavaliselt vaikemarsruuti.

Serverite kontekstis tähendab 0.0.0.0 kõik kohaliku masina IPv4-aadressid. Kui hostil on kaks IP-aadressi, 192.168.1.1 ja 10.1.2.1, ja hostis töötav server kuulab 0.0.0.0, on see mõlemal IP-l kättesaadav.

Mis on IP-aadress 127.0.0.1?

127.0.0.1 on tagasiühendatud Interneti-protokolli (IP) aadress, mida nimetatakse ka aadressiks kohalik host. Aadressi kasutatakse IP-ühenduse loomiseks sama masina või arvutiga, mida lõpptarbija kasutab.

Sama konventsioon on määratletud arvutite jaoks, mis toetavad IPv6-aadressimist :: 1 konnotatsiooni abil. Ühenduse loomine aadressi 127.0.0.1 abil on kõige tavalisem tava; mis tahes IP-aadressi kasutamine vahemikus 127… * toimib aga samal või sarnasel viisil. Tagasisidekonstruktsioon annab arvutile või seadmele, mis on võimeline võrku ühendama, võime kinnitada või luua masinas IP-korstna.

Allikas: 127.0.0.1 - mis on selle kasutusviisid ja miks see on oluline?

Eriaadressid

Klass A võrgunumbrile 127 on määratud loopback funktsioon, see tähendab, et datagramm, mille kõrgema taseme protokoll saadab võrgu 127 aadressile, peaks ringlema tagasi hostis. Datagrammi pole saadetud võrku 127 aadress peaks kunagi ilmuma mis tahes võrgus kõikjal.

Allikas: Võrgu numbrid

Kui see on terve klass A, siis mis mõte on muudel omavolilistel väärtustel viimasel kolmel oktetil?

Tagasiside vahemiku eesmärk on TCP / IP protokolli juurutamise testimine hostil. Kuna alumised kihid on lühised, võimaldab loopback-aadressile saatmine kõrgemaid kihte (IP ja kõrgemaid) tõhusalt testida, ilma et oleks võimalik, et alumiste kihtide probleemid avalduksid. 127.0.0.1 on testimiseks kõige sagedamini kasutatav aadress.

Allikas: IP reserveeritud, tagasisidetud ja privaatsed aadressid

Lisateavet leiate Küsige Ubuntu käest küsimus: mis on loopoopseade ja kuidas seda kasutada?

Mis on IP-aadress 0.0.0.0?

0.0.0.0 on kehtiv aadressi süntaks. Seega peaks see sõeluma kehtivana kõikjal, kus eeldatakse IP-aadressi traditsioonilises täpp-kümnendkoodis. Kui see on parsitud ja teisendatud toimivaks numbriliseks vormiks, määrab selle väärtus, mis edasi saab.

Nullväärtusel on eriline tähendus. Nii see on kehtiv, kuid sellel on tähendus, mis ei pruugi konkreetsetel asjaoludel sobida (ja seega käsitletakse kui sobimatut). Põhimõtteliselt on see kohatäide „pole konkreetset aadressi”. Näiteks võrguühenduste aadressi sidumine võib olla ühendusele sobiva liidese aadressi määramine. Kui kasutate seda liidese konfigureerimiseks, võib see selle asemel liidese aadressi eemaldada. Mida „ükski konkreetne aadress” tegelikult teeb, sõltub kasutuskontekstist.

Marsruudi sisestamise kontekstis tähendab see tavaliselt vaikemarsruuti. See juhtub suurema osa aadressimaski tulemusel, mis valib võrreldavad bitid. 0.0.0.0 mask ei vali bitti, nii et võrdlus õnnestub alati. Nii et kui selline marsruut on konfigureeritud, on pakettidel alati kuhugi minna (kui see on konfigureeritud kehtiva sihtkohaga).

Mõnel juhul töötab ka lihtsalt „0” ja sellel on sama mõju. Kuid see pole tagatud. Vorm 0.0.0.0 on tavaline viis öelda "mingit konkreetset aadressi" (see tähendab IPv6-s ::0 või lihtsalt ::).

Allikas: Mida tähendab IP-aadress 0.0.0.0?

Internetiprotokolli versioonis 4 on aadress 0.0.0.0 marsruutimata meta-aadress, mida kasutatakse vale, tundmatu või mittekohaldatava sihtmärgi tähistamiseks. Muidu kehtetule andmele erilise tähenduse andmine on ribasisese signaalimise rakendus.

Serverite kontekstis tähendab 0.0.0.0 kõik kohaliku masina IPv4-aadressid. Kui hostil on kaks IP-aadressi 192.168.1.1 ja 10.1.2.1 ning hostil töötav server kuulab 0.0.0.0, on see mõlemal IP-l kättesaadav (Märge:Seda konkreetset teksti korratakse ülevalt üldise vastuse osana).

Marsruutimise kontekstis tähendab 0.0.0.0 tavaliselt vaikemarsruuti, st marsruuti, mis viib ‘ülejäänud’ Internetti, mitte kuskil kohalikus võrgus.

Kasutamine sisaldab:

  • Aadress, mida host väidab, et see on oma, kui talle pole veel aadressi määratud. Näiteks DHCP kasutamisel algse DHCPDISCOVER paketi saatmisel.
  • Aadress, mille host määrab endale, kui DHCP-i kaudu päritav aadressitaotlus on ebaõnnestunud, tingimusel et hosti IP-pinu seda toetab. See kasutus on kaasaegsetes operatsioonisüsteemides asendatud APIPA mehhanismiga.
  • Täpsustamise viis mis tahes IPv4-host. Seda kasutatakse vaikimisi marsruudi määramisel sel viisil.
  • Võimalus selgesõnaliselt täpsustada, et sihtmärk pole saadaval. Allikas: 127.0.0.1 - mis on selle kasutusviisid ja miks see on oluline?
  • Täpsustamise viis mis tahes IPv4-aadress üldse. Seda kasutatakse serverite konfigureerimisel (s.o kuulamispesade sidumisel). TCP programmeerijad teavad seda kui nime INADDR_ANY. [bind (2) seondub aadressidega, mitte liidestega.]

IPv6-s kirjutatakse kõik nullid-aadress ::

Allikas: 0.0.0.0 [Vikipeedia]

DHCP avastamine / taotlus

Kui klient esimest korda käima läheb, öeldakse, et see on initsialiseerimineja edastab DHCPDISCOVER-sõnumi oma kohalikus füüsilises alamvõrgus üle User Datagram Protocol (UDP) pordi 67 (BootP-server). Kuna kliendil pole võimalust teada saada alamvõrku, kuhu ta kuulub, on DHCPDISCOVER kõigi alamvõrkude leviedastus (sihtkoha IP-aadress 255.255.255.255), lähte-IP-aadress on 0.0.0.0. Allika IP-aadress on 0.0.0.0, kuna kliendil pole konfigureeritud IP-aadressi.

Kui selles kohalikus alamvõrgus on DHCP-server ning see on konfigureeritud ja töötab õigesti, kuuleb DHCP-server ülekannet ja vastab sõnumiga DHCPOFFER. Kui DHCP-serverit kohalikus alamvõrgus ei eksisteeri, peab DHCPDISCOVER-sõnumi edastamiseks alamvõrku, mis sisaldab DHCP-serverit, selles kohalikus alamvõrgus peab olema DHCP / BootP-releeagent.

See releeagent võib olla kas spetsiaalne host (näiteks Microsoft Windows Server) või ruuter (Cisco ruuter, mis on konfigureeritud näiteks liidese taseme IP-abistajate lausetega).

Pärast seda, kui klient on saanud DHCPOFFERi, vastab ta sõnumiga DHCPREQUEST, näidates oma kavatsust aktsepteerida DHCPOFFERis olevaid parameetreid, ja liigub taotlev riik. Klient võib saada mitu DHCPOFFER-sõnumit, ühe igalt DHCP-serverilt, kes sai algse DHCPDISCOVER-sõnumi. Klient valib ühe DHCPOFFERi ja vastab ainult sellele DHCP-serverile, lükates kaudselt tagasi kõik muud DHCPOFFER-sõnumid. Klient tuvastab valitud serveri, täites selle Serveri identifikaator suvand DHCP-serveri IP-aadressiga.

DHCPREQUEST on ka ülekanne, nii et kõik DHCP-serverid, kes DHCPOFFER-i saatsid, näevad DHCPREQUEST-i ja igaüks teab, kas tema DHCPOFFER aktsepteeriti või lükati tagasi. Kõik kliendi soovitud täiendavad seadistamisvalikud lisatakse sõnumi DHCPREQUEST suvandite väljale. Isegi kui kliendile on pakutud IP-aadressi, saadab ta DHCPREQUEST-teate allika IP-aadressiga 0.0.0.0. Praegu pole klient veel saanud kinnitust, et IP-aadressi kasutamine on selge.

Kliendi-serveri vestlus kliendile, kes saab DHCP-aadressi, kus klient ja DHCP-server asuvad samas alamvõrgus:

Allikas: DHCP mõistmine ja tõrkeotsing Catalyst Switchi või ettevõtte võrgus

Vaikimisi marsruut

Selles dokumendis selgitatakse, kuidas konfigureerida vaikimisi marsruut või lüüs viimase abinõuna. Kasutatakse neid IP-käske:

  • ip vaikelüüs
  • ip vaikevõrk
  • ip marsruut 0.0.0.0 0.0.0.0

IP-marsruut 0.0.0.0 0.0.0.0

Staatilise marsruudi loomine võrku 0.0.0.0 0.0.0.0 on veel üks viis ruuteri viimase võimalusena lüüsi seadmiseks. Nagu ka ip vaikevõrk staatilise marsruudi kasutamine 0.0.0.0-ni ei sõltu ühestki marsruutimisprotokollist. Kuid IP-marsruutimine peab olema ruuteris lubatud.

Märge: IGRP ei saa aru teest 0.0.0.0. Seetõttu ei saa see levitada vaikimisi marsruute, mis on loodud rakenduse ip marsruut 0.0.0.0 0.0.0.0 käsk. Kasuta ip vaikevõrk käsk, et IGRP levitaks vaikimisi marsruuti.

Allikas: Viimase võimaluse värava konfigureerimine IP-käskude abil

Kas teil on selgitusele midagi lisada? Heli kommentaarides välja. Kas soovite lugeda rohkem vastuseid teistelt tehnikatarkust pakkuvatelt Stack Exchange'i kasutajatelt? Tutvuge täieliku arutelulõngaga siin.