If-Koubou

Jaka jest różnica między 127.0.0.1 a 0.0.0.0?

Jaka jest różnica między 127.0.0.1 a 0.0.0.0? (Jak)

Większość z nas słyszała o "127.0.0.1 i 0.0.0.0", ale prawdopodobnie nie zastanawiała się nad nimi, ale jeśli oba rzeczywiście wskazują na to samo miejsce, to jaka jest rzeczywista różnica między tymi dwoma? Dzisiejszy post z pytaniami i odpowiedziami SuperUser pomaga oczyścić czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.

Zdjęcie dzięki uprzejmości Kate Gardiner (Flickr).

Pytanie

Czytnik SuperUser Sagnik Sarkar chce wiedzieć, jaka jest różnica między 127.0.0.1 a 0.0.0.0:

Rozumiem, że 127.0.0.1 wskazuje na Lokalny Gospodarz i że również 0.0.0.0 też działa (popraw mnie jeśli się mylę). Jaka jest więc różnica między 127.0.0.1 a 0.0.0.0?

Jaka jest różnica między 127.0.0.1 a 0.0.0.0?

Odpowiedź

Współpracownik SuperUser DavidPostill ma dla nas odpowiedź:

Jaka jest różnica między 127.0.0.1 a 0.0.0.0?

  • 127.0.0.1 to adres sprzężenia zwrotnego (znany również jako localhost).
  • 0.0.0.0 jest nierutowalnym metadresem służącym do oznaczania nieważnego, nieznanego lub nieistniejącego celu (posiadacza miejsca "bez określonego adresu").

W kontekście wpisu trasy zwykle oznacza trasę domyślną.

W kontekście serwerów oznacza to 0.0.0.0 wszystkie adresy IPv4 na komputerze lokalnym. Jeśli host ma dwa adresy IP, 192.168.1.1 i 10.1.2.1 oraz serwer działający na hoście, który nasłuchuje w wersji 0.0.0.0, będzie dostępny na obu tych adresach IP.

Jaki jest adres IP 127.0.0.1?

127.0.0.1 to adres IP z pętlą zwrotną (IP), zwany również adresem Lokalny Gospodarz. Adres jest używany do ustanowienia połączenia IP z tym samym komputerem lub komputerem, z którego korzysta użytkownik końcowy.

Ta sama konwencja jest zdefiniowana dla komputerów obsługujących adresowanie IPv6 przy użyciu konotacji :: 1. Ustanowienie połączenia przy użyciu adresu 127.0.0.1 jest najczęstszą praktyką; jednak użycie dowolnego adresu IP w zakresie od 127 ... * będzie działać w taki sam lub podobny sposób. Konstrukcja sprzężenia zwrotnego zapewnia komputer lub urządzenie zdolne do łączenia w sieć możliwości sprawdzania poprawności lub ustanawiania stosu IP na komputerze.

Źródło: 127.0.0.1 - Jakie są jej zastosowania i dlaczego jest ważna?

Adresy specjalne

Numer sieci 127 klasy A jest oznaczony symbolem sprzężenie zwrotne funkcja, to jest datagram wysłany przez protokół wyższego poziomu do adresu 127 sieci, powinien powrócić z powrotem do hosta. Bez datagramu wysłane do sieci 127 adres powinien kiedykolwiek pojawić się w dowolnej sieci w dowolnym miejscu.

Źródło: Numery sieciowe

Jeśli jest to cała klasa A, jaki jest punkt innych arbitralnych wartości dla ostatnich trzech oktetów?

Celem zakresu sprzężenia zwrotnego jest testowanie implementacji protokołu TCP / IP na hoście. Ponieważ dolne warstwy są zwarte, wysyłanie do adresu pętli zwrotnej umożliwia efektywne testowanie wyższych warstw (IP i wyższych) bez ryzyka wystąpienia problemów z dolnymi warstwami. 127.0.0.1 to adres najczęściej używany do testowania.

Źródło: Zarezerwowany adres IP, sprzężenie zwrotne i adresy prywatne

Aby uzyskać więcej informacji, zobacz Zapytaj Ubuntu pytanie: Co to jest urządzenie Loopback i jak z niego korzystać?

Jaki jest adres IP 0.0.0.0?

0.0.0.0 jest prawidłową składnią adresu. Powinien więc być traktowany jako poprawny wszędzie tam, gdzie oczekuje się adresu IP w tradycyjnej notacji dziesiętnej z kropkami. Po przeanalizowaniu i przekonwertowaniu do działającej formy liczbowej, jej wartość określa, co stanie się dalej.

Wartość zerowa ma specjalne znaczenie. Tak jest ważny, ale ma znaczenie, które może nie być odpowiednie (i dlatego traktowane jako nieważne) w określonych okolicznościach. Zasadniczo jest to symbol zastępczy "brak konkretnego adresu". W przypadku takich rzeczy, jak adresowanie połączeń sieciowych, wynikiem może być przypisanie odpowiedniego połączenia do interfejsu. Jeśli używasz go do skonfigurowania interfejsu, może on zamiast tego usunąć adres z interfejsu. Zależy to od kontekstu użycia, aby ustalić, co naprawdę "nie ma konkretnego adresu".

W kontekście wpisu trasy zwykle oznacza trasę domyślną. Zdarza się to bardziej z maską adresu, która wybiera bity do porównania. Maska 0.0.0.0 nie wybiera bitów, więc porównanie zawsze zakończy się sukcesem. Dlatego jeśli skonfigurowana jest taka trasa, zawsze jest miejsce na pakiety (jeśli skonfigurowane z ważnym miejscem docelowym).

W niektórych przypadkach tylko "0" zadziała i przyniesie taki sam efekt. Ale nie jest to gwarantowane. Formularz 0.0.0.0 to standardowy sposób na wyrażenie "brak konkretnego adresu" (w IPv6) ::0 Lub tylko ::).

Źródło: Jakie jest znaczenie adresu IP 0.0.0.0?

W protokole internetowym w wersji 4 adres 0.0.0.0 jest nierutowalnym adresem metadanym używanym do oznaczenia nieważnego, nieznanego lub niedozwolonego celu. Aby nadać sens niesprawnemu w inny sposób fragmentowi danych, należy zastosować sygnalizację wewnątrzpasmową.

W kontekście serwerów oznacza to 0.0.0.0 wszystkie adresy IPv4 na komputerze lokalnym. Jeśli host ma dwa adresy IP, 192.168.1.1 i 10.1.2.1 i serwer działający na hoście, nasłuchuje na 0.0.0.0, będzie dostępny na obu tych IP (Uwaga: Ten konkretny tekst powtarza się z góry jako część ogólnej odpowiedzi).

W kontekście routingu, 0.0.0.0 zwykle oznacza trasę domyślną, tj. Trasę, która prowadzi do "reszty" Internetu zamiast gdzieś w sieci lokalnej.

Zastosowania obejmują:

  • Adres hosta uważa się za swój, jeśli nie został jeszcze przypisany adres. Na przykład podczas wysyłania początkowego pakietu DHCPDISCOVER podczas korzystania z DHCP.
  • Adres, który host przypisuje sobie, gdy żądanie adresu przez DHCP nie powiodło się, pod warunkiem, że stos IP hosta obsługuje to. To użycie zostało zastąpione mechanizmem APIPA w nowoczesnych systemach operacyjnych.
  • Sposób na określenie dowolny host IPv4. Jest używany w ten sposób podczas określania trasy domyślnej.
  • Sposób wyraźnego określenia, że ​​cel jest niedostępny. Źródło: 127.0.0.1 - Jakie są jej zastosowania i dlaczego jest ważna?
  • Sposób na określenie dowolny adres IPv4. Jest używany w ten sposób podczas konfigurowania serwerów (np. Przy wiązaniu nasłuchujących gniazd). Jest to znane programistom TCP jako INADDR_ANY. [bind (2) wiąże się z adresami, nie z interfejsami.]

W IPv6 adres zerowy jest zapisywany jako ::

Źródło: 0.0.0.0 [Wikipedia]

Wykrywanie / żądanie DHCP

Kiedy klient uruchamia się po raz pierwszy, mówi się, że znajduje się on w stan inicjalizacjii przesyła komunikat DHCPDISCOVER do lokalnej podsieci fizycznej za pośrednictwem portu 67 User Datagram Protocol (UDP) (serwer BootP). Ponieważ klient nie ma możliwości poznania podsieci, do której należy, serwer DHCPDISCOVER jest rozgłaszaniem wszystkich podsieci (docelowy adres IP 255.255.255.255) ze źródłowym adresem IP 0.0.0.0. Źródłowy adres IP to 0.0.0.0, ponieważ klient nie ma skonfigurowanego adresu IP.

Jeśli serwer DHCP istnieje w tej podsieci lokalnej i jest skonfigurowany i działa poprawnie, serwer DHCP będzie słyszał transmisję i odpowie komunikatem DHCPOFFER. Jeśli serwer DHCP nie istnieje w podsieci lokalnej, w tej podsieci lokalnej musi być agent przekazywania DHCP / BootP, aby przekazać komunikat DHCPDISCOVER do podsieci zawierającej serwer DHCP.

Ten agent przekazujący może być hostem dedykowanym (na przykład Microsoft Windows Server) lub routerem (na przykład router Cisco skonfigurowany z instrukcjami pomocnika IP na poziomie interfejsu).

Po otrzymaniu przez klienta usługi DHCPOFFER odpowiada komunikatem DHCPREQUEST, informującym o tym, że zamierza zaakceptować parametry w opcji DHCPOFFER i przechodzi do żądanie państwa. Klient może odbierać wiele komunikatów DHCPOFFER, po jednym z każdego serwera DHCP, który odebrał oryginalny komunikat DHCPDISCOVER. Klient wybiera jeden DHCPOFFER i odpowiada tylko na ten serwer DHCP, niejawnie odrzucając wszystkie inne komunikaty DHCPOFFER. Klient identyfikuje wybrany serwer, wypełniając pole Identyfikator serwera pole opcji z adresem IP serwera DHCP.

DHCPREQUEST jest również broadcastem, więc wszystkie serwery DHCP, które wysłały usługę DHCPOFFER, zobaczą DHCPREQUEST i każdy będzie wiedział, czy jego DHCPOFFER został zaakceptowany, czy odrzucony. Wszelkie dodatkowe opcje konfiguracji wymagane przez klienta zostaną uwzględnione w polu opcji komunikatu DHCPREQUEST. Mimo że klient otrzymał propozycję adresu IP, wyśle ​​komunikat DHCPREQUEST ze źródłowym adresem IP 0.0.0.0. W tej chwili klient nie otrzymał jeszcze weryfikacji, że korzystanie z adresu IP jest oczywiste.

Konwersacja klient-serwer dla klienta uzyskującego adres DHCP, w którym klient i serwer DHCP znajdują się w tej samej podsieci:

Źródło: Zrozumienie i rozwiązywanie problemów z DHCP w przełączniku Catalyst lub w sieciach korporacyjnych

Trasa domyślna

W tym dokumencie wyjaśniono, jak skonfigurować domyślną trasę lub bramę ostatniej instancji. Te polecenia IP są używane:

  • ip default-gateway
  • ip domyślna-sieć
  • ip route 0.0.0.0 0.0.0.0

Droga IP 0.0.0.0 0.0.0.0

Utworzenie statycznej trasy do sieci 0.0.0.0 0.0.0.0 jest kolejnym sposobem ustawienia bramy ostatniej instancji na routerze. Podobnie jak w przypadku ip domyślna-sieć polecenie, używanie trasy statycznej do 0.0.0.0 nie jest zależne od żadnych protokołów routingu. Jednak routing IP musi być włączony na routerze.

Uwaga: Protokół IGRP nie rozpoznaje trasy do adresu 0.0.0.0. Dlatego nie może propagować domyślnych tras utworzonych za pomocą ip route 0.0.0.0 0.0.0.0 dowództwo. Użyj ip domyślna-sieć polecenie, aby protokół IGRP propagował trasę domyślną.

Źródło: Konfigurowanie bramy ostatniej instancji za pomocą poleceń IP

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.