我知道可以将IPv4中的IP写为整数,例如2130706433
代替127.0.0.1
。
这种可能性的原因是什么?
IPv6是否有类似的表示法?
我尝试ping -6 1
尝试ping ::1
,但这不起作用(主机不存在)。
答案 0 :(得分:4)
IPv4地址可以用多种方式表示。例如,默认的环回IP可以是以下之一:
第一种表示法(完整的8位十进制数字)广泛使用,其余的很少使用,但inet_addr POSIX标准函数允许。只有第一个熟悉的符号保留在较新的inet_ntop/inet_pton POSIX标准函数中,它们处理IPv4和IPv6地址。
使用IPv6,带有可选的十进制虚线预告片(用于嵌入式IPv4)的16位十六进制点分表示法以及标准定义的可选零压缩。
例如:
然后,仍然存在多个单个地址的表示。为了避免产生混淆,RFC 5952建议使用允许使用唯一符号的规范形式。
答案 1 :(得分:1)
IPv4地址只是一个32位的数字。您可以用任何方式表示它,您可以表示这样的数字(十进制,十六进制,八进制)。点缀符号a.b.c.d
更加实用。
您可以使用IPv6地址执行相同的操作,除了那些是128位数字 - 甚至更难以十进制形式查看。
通常的工具只会处理通常的注释。十进制不是其中之一。