我需要这些ip地址缩写的规则。
C:\Users\avina>ping 1.1
Pinging 1.0.0.1 with 32 bytes of data:
Reply from 1.0.0.1: bytes=32 time=3ms TTL=58
Reply from 1.0.0.1: bytes=32 time=4ms TTL=58
Reply from 1.0.0.1: bytes=32 time=4ms TTL=58
Reply from 1.0.0.1: bytes=32 time=5ms TTL=58
Ping statistics for 1.0.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 5ms, Average = 4ms发布于 2019-02-16 12:50:02
这是一个古老的遗迹,从时代的经典IPv4网络。
当您没有子网时,只有一个B类网络,主机地址只有两个八位数,在某些情况下,只对所有主机使用线性编号0-65535 (0000h-FFFFh),而不是使用两个单独的数字就更方便了。(至少这就是我认为的原因。)
因此,BSD网络软件将接受x.y.(z*256+t)作为编写类-B地址的替代方式,以及通常的x.y.z.t。例如,地址128.42.1.6可以改为"128.42.262“。
同样也适用于类A地址作为x.(y*65536+z*256+t) -例如,地址10.1.33.27可以写成"10.74011“。
(附带说明,出于某种原因,它也会接受八进制和十六进制的数字。实际上,如果用十六进制编写上面的示例: 10.1.33.27为"0xA.0x1.0x21.0x1B",10.74011为“0xA.0x1211B”,则会更清楚。)
在许多忠实地复制相同IP地址解析代码的系统中,包括Windows或Linux (直到最近才从OpenBSD中清除),这一特性仍然存在。
这个超级用户帖子更详细地描述了它:https://superuser.com/revisions/486904/3
发布于 2019-02-16 08:55:42
这遵循了(很少使用的)约定,即可以书面省略中间的0八进制--这在IPv6中使用双::表示法要突出得多。
1.1向1.0.0.1扩展,就像127.1扩展到127.0.0.1一样。同样,a.b.c扩展到a.b.0.c,甚至只有a扩展到0.0.0.a (与无符号32位表示法一致)。
实际上,IPv4地址是一个无符号的32位整数.常见的a.b.c.d表示法实际上是a<<24|b<<16|c<<8|d。当只使用a.b时,它是a<<24|b,而a.b.c实际上是a<<24|b<<16|c。(Thx grawity!)
https://networkengineering.stackexchange.com/questions/56991
复制相似问题