29Aug
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 SuperUser Q & A pomaga wyjaśnić problem zagmatwanego czytelnika.
Dzisiejsze pytanie &Sesja odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupy Q & A.
Zdjęcie dzięki uprzejmości Kate Gardiner( Flickr).
Pytanie Czytnik
SuperUser Sagnik Sarkar chce wiedzieć, jaka jest różnica pomiędzy 127.0.0.1 a 0.0.0.0:
Rozumiem, że 127.0.0.1 wskazuje na localhost i że również 0.0.0.0 też działa( popraw mnie jeśli jamylę się).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ź Autor
SuperUser DavidPostill ma odpowiedź dla nas:
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 nieprawidłowego, 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, 0.0.0.0 oznacza wszystkie adresy IPv4 na lokalnej maszynie .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), nazywany również localhost .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, które obsługują 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ą jego zastosowania i dlaczego jest to ważne?
Adresy specjalne
Numer sieci 127 klasy A ma przypisaną funkcję z pętlą zwrotną , to jest datagram wysłany przez protokół wyższego poziomu do adresu 127 sieci powinien powrócić z powrotem do hosta.Żaden datagram wysłany do adresu 127 sieci nie powinien nigdy pojawić się w żadnej sieci.
Ź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
Więcej informacji można znaleźć w pytaniu Zadaj pytanie dotyczące systemu Ubuntu : Co to jest urządzenie sprzężenia zwrotnego i jak tego użyć?
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. A zatem jest to poprawne , 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, który jest : : 0 lub po prostu : : ).
Źródło: Jakie jest znaczenie adresu IP 0.0.0.0?
W wersji 4 protokołu internetowego adres 0.0.0.0 jest nieracjonalnym adresem meta używanym do oznaczenia nieważnego, nieznanego lub nieużywanego celu. Aby nadać sens niesprawnemu w inny sposób fragmentowi danych, należy zastosować sygnalizację wewnątrzpasmową.
W kontekście serwerów, 0.0.0.0 oznacza wszystkie adresy IPv4 na lokalnej maszynie .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 na 0.0.0.0, będzie dostępny na obu tych IP( Uwaga: Ten konkretny tekst powtarza się z góryjako 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.
Zastosuj:
- Adres hosta uważa 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 określania dowolnego hosta IPv4 na wszystkich .Jest używany w ten sposób podczas określania trasy domyślnej.
- Sposób jawnego określenia, że cel jest niedostępny. Źródło: 127.0.0.1 - Jakie są jego zastosowania i dlaczego jest to ważne?
- Sposób określania dowolnego adresu IPv4 na wszystkich .Jest używany w ten sposób podczas konfigurowania serwerów( to znaczy 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 zapisany jako : :
Źródło: 0.0.0.0 [Wikipedia]
Wykrywanie / żądanie DHCP
Po uruchomieniu klienta po raz pierwszy, mówi się, że jest w inicjalizujący stan i 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 odebraniu przez klienta usługi DHCPOFFER odpowiada komunikatem DHCPREQUEST, informującym o tym, że zamierza zaakceptować parametry w opcji DHCPOFFER i przechodzi do z żądaniem .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 opcji Server Identifier 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 konfiguracyjne 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.
. ..
Rozmowa klient-serwer dla klienta uzyskującego adres DHCP, w którym klient i serwer DHCP znajdują się w tej samej podsieci:
Źródło: Opis 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ślna trasa lub brama ostatniej instancji. Te polecenia IP są używane:
- ip default-gateway
- ip default-network
- ip route 0.0.0.0 0.0.0.0
IP Route 0.0.0.0 0.0.0.0
Tworzenie statycznej trasy do sieci 0.0.0.0 0.0.0.0 to kolejnasposób ustawić bramę ostatniej instancji na routerze. Podobnie jak w przypadku ip domyślnej sieci , używanie statycznej trasy 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ą polecenia ip route 0.0.0.0 0.0.0.0 .Użyj polecenia ip default-network , aby protokół IGRP propagował trasę domyślną.
Źródło: Konfigurowanie bramy ostatniej instancji za pomocą poleceń IP
Czy chcesz coś dodać 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.