Rozumiem, że 127.0.0.1 wskazuje localhost
, podobnie jak 0.0.0.0 (popraw mnie, jeśli się mylę). Jaka jest różnica między 127.0.0.1 a 0.0.0.0?
networking
ip-address
localhost
ipv4
Sagnik Sarkar
źródło
źródło
0.0.0.0
wprowadzania adresu.2130706433
.Odpowiedzi:
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
to niemożliwy do routingu meta-adres używany do oznaczania niepoprawnego, nieznanego lub nieodpowiedniego celu (brak określonego symbolu zastępczego adresu).Co to jest adres IP 127.0.0.1?
Źródło: 127.0.0.1 - Jakie są jego zastosowania i dlaczego jest to ważne?
Specjalne adresy
Źródło: Numery sieciowe
Jeśli jest to cała klasa A, jaki jest sens innych arbitralnych wartości dla ostatnich trzech oktetów?
Źródło: Zastrzeżone IP, sprzężenie zwrotne i adresy prywatne
Aby uzyskać więcej informacji, zobacz pytanie https://askubuntu.com Co to jest urządzenie sprzężenia zwrotnego i jak go używać? i dlaczego adres IP sprzężenia zwrotnego od 127.0.0.1 do 127.255.255.254? .
Co to jest adres IP 0.0.0.0?
Źródło: Jakie jest znaczenie adresu IP 0.0.0.0
Źródło: 0.0.0.0
Wykrywanie / żądanie DHCP
...
...
Źródło: Zrozumienie i rozwiązywanie problemów z DHCP w Catalyst Switch lub Enterprise Networks
Trasa domyślna
Źródło: Konfigurowanie bramy ostatniej szansy za pomocą poleceń IP
źródło
One nie są takie same.
127.0.0.1
jest częścią sieci 127/8, która jest zarezerwowana i wskazuje ten sam komputer.0.0.0.0
to specjalny adres IP, który oznacza różne rzeczy w zależności od kontekstu.Być może pomyliłeś 0.0.0.0 z 127.0.0.1, kiedy patrzysz na netstat i widzisz, że lokalny adres nasłuchuje jako 0.0.0.0, ale jest to inny sposób użycia 0.0.0.0.
https://en.wikipedia.org/wiki/0.0.0.0
źródło
0.0.0.0
może czasem wskazywać na transmisję, co oznacza wszystkie komputery w sieci.255.255.255.255
(lub bardziej realistycznie coś w rodzaju192.168.1.255
sieci lokalnej)A special definition exists for the IP broadcast address 255.255.255.255. It is the broadcast address of the zero network or 0.0.0.0, which in Internet Protocol standards stands for this network, i.e. the local network. Transmission to this address is limited by definition, in that it is never forwarded by the routers connecting the local network to other networks.
127.0.0.1 jest jednym z adresów komputera lokalnego, ale każdy adres 127.xyz jest także innym adresem komputera (zwanym „adresem sprzężenia zwrotnego”), z wyjątkiem 127.0.0.0 (podsieci sprzężenia zwrotnego) i 127.255.255.255 (adres rozgłoszeniowy dla podsieć sprzężenia zwrotnego).
127.xyz oznacza „tutaj”.
0.0.0.0 jest zupełnie inny: 0.0.0.0 nie jest adresem niczego , jest jokerem, jak
*
w powłoce.Nie możesz wysłać danych do 0.0.0.0 lub aktywnie otworzyć połączenia TCP do 0.0.0.0, ponieważ nic tam nie ma; 0.0.0.0 nie jest nawet adresem nieosiągalnym lub nierutowalnym, nie ma znaczenia w kontekście, w którym oczekiwany jest adres .
Możesz użyć jokera 0.0.0.0 w kontekstach, w których można opcjonalnie podać adres , co oznacza, że mnie to nie obchodzi .
Na przykład, gdy aktywnie otwierasz połączenie TCP z jakimś serwerem TCP (serwer TCP jest tworzony przez pasywne otwieranie TCP), musisz podać adres serwera TCP (IP i numer portu) i opcjonalnie możesz wybrać lokalny adres. (Ponieważ twoje gniazdo nie jest gniazdem serwera, nikt nie może otworzyć połączenia z nim, a adres po twojej stronie połączenia zwykle nie jest bardzo ważny).
bind
Wezwanie system jest używany do wyboru lokalnego adresu gniazda TCP. Przekazywane danebind
to tak naprawdę zbiór ograniczeń: ograniczenie adresu IP, ograniczenie portu TCP. Zazwyczaj notacja tekstowa to IP: port. 0.0.0.0:0 oznacza, że dowolny adres IP i dowolny port jest dopuszczalny, jest to ograniczenie zerowe. 0.0.0.0:20 oznacza, że port lokalny musi mieć 20, każdy dopuszczalny adres IP (0.0.0.0:20 jest używany przez zgodne serwery FTP do połączenia danych w trybie aktywnym).Podsystem TCP / IP wybiera adres strony połączenia TCP, jeśli go nie wybierzesz, korzystając z tabeli routingu na podstawie adresu docelowego: lokalny adres gniazda TCP będzie adresem lokalnym powiązanym z odpowiednią trasą na adres docelowy.
Wcześniej wspomniałem o „meta-znaku” powłoki
*
, ale moc łączenia meta-znaków ze znakami takimi jak*foo*
(dowolna nazwa pliku zawierająca „foo”) nie istnieje z ograniczeniami adresu IP, to wszystko albo nic: albo jeden adres IP jest uważane za dopuszczalne lub wszystkie adresy są. Logika nie nakazuje, aby tak było. Możesz rozszerzyć interfejs o bogatszy język ograniczeń.Precyzja:
Zdanie 127.xyz oznacza „tutaj” nie oznacza, że wszystkie te adresy są takie same. Reprezentują one różne „lokalizacje” (adresy gniazd), wewnątrz lokalnego „komputera”, faktycznie wewnątrz lokalnego stosu IP.
Uwaga: komputer z wirtualizacją (emulacja, wirtualizacja sprzętowa, parawirtualizacja, cokolwiek możesz wymyślić ...) ma wiele niezależnych stosów adresów IP.
źródło
-n
lub powiązanych programów, aby wyświetlić adresy numeryczne, a nie nazwy. Adres 127.0.0.1 nie jest tym samym adresem IP co 127.16.23.42. Zatem 127.0.0.1:80 i 127.16.23.42:80 reprezentują odrębne adresy punktów końcowych TCP, serwera WWW pod jednym adresem nie można znaleźć pod drugim adresem.-d
netstat
Zazwyczaj używasz adresu powiązania 0.0.0.0, aby zezwolić na połączenia z zewnętrznych sieci i źródeł. Wiele serwerów, takich jak MySQL, zazwyczaj łączy się z 127.0.0.1, zezwalając tylko na połączenia zwrotne, wymagając od administratora zmiany na 0.0.0.0, aby umożliwić połączenie zewnętrzne.
źródło