Ich weiß, dass IPv6 das Weglassen aufeinanderfolgender Nullen ermöglicht. Aber wie wäre es mit IPv4? Ich habe im Internet keinen Hinweis darauf gefunden, einschließlich Wikipedia und RFC 791 - Internet Protocol. In diesem Dokument wird vorgeschlagen , dass in einer IPv4-Adresse "Führende Nullen weggelassen werden können" (Suche nach dem Begriff "weggelassen"). Nicht spezifisch genug.
Schauen Sie sich diese Shell-Sitzung an:
[~]$ ping -c 1 127.1
PING 127.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.040 ms
--- 127.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.040/0.040/0.040/0.000 ms
[~]$ ping -c 1 127.0.1
PING 127.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.044 ms
--- 127.0.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.044/0.044/0.044/0.000 ms
[~]$ ssh 127.1 :
The authenticity of host '127.1 (127.0.0.1)' can't be established.
ECDSA key fingerprint is 04:48:fa:f2:ef:95:7c:35:46:39:2e:d3:89:dd:cd:87.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.1' (ECDSA) to the list of known hosts.
[email protected]'s password:
Sowohl Ping als auch SSH verstehen eindeutig, dass 127.1 und 127.0.1 mit 127.0.0.1 identisch sind. Wo ist das angegeben?
ip-address
specifications
ipv4
Alexandre de Verteuil
quelle
quelle
ping 0.0.0.0
oderping 0
genauso funktioniert ...)Antworten:
Es gibt einen Stapelüberlauf-Beitrag von vor ungefähr einem Jahr, in dem etwas Ähnliches gefragt wird ( dieser Beitrag ).
Der Hauptgrund ist, wie
inet_aton()
( Manpage ) die Oktette in die Binäradresse konvertiert.Dies wird von POSIX.anything nicht definiert - ist aber ziemlich weit verbreitet.
quelle
Es ist ein Relikt aus den alten Tagen der klassischen Adressierung.
127.1
bedeutet Netzwerk127
, Host1
. (Und ja,127.257
ist legal, da das Netzwerk127
mehr als 256 Hosts haben kann.quelle