【问题标题】:Why does the ip address 127.001 route to 127.0.0.1 and 127.011 route to 127.0.0.9?为什么 ip 地址 127.001 路由到 127.0.0.1 和 127.011 路由到 127.0.0.9?
【发布时间】:2021-01-11 23:05:42
【问题描述】:

通过一个意外的拼写错误,我意识到当您尝试访问 IP 地址 127.0.01 时,它会成功路由到 127.0.0.1

玩弄这个,我注意到似乎发生了某种翻译。一些例子:

  • 127.001 -> 127.0.0.1
  • 127.002 -> 127.0.0.2
  • 127.011 -> 127.0.0.9
  • 127.111 -> 127.0.0.111
  • 127.1111 -> 127.0.4.87
  • 127.9999 -> 127.0.39.15

这些翻译背后的逻辑是什么?我已经在 MacOS、Linux 和 Windows 上尝试并复制了它。

【问题讨论】:

标签: networking localhost loopback-address


【解决方案1】:

来自wikipedia

当以点分表示法在地址中指定的数字少于四个时,最后一个值被视为一个整数,其字节数与将地址填充到四个八位字节所需的字节数一样多。因此,地址 127.65530 等价于 127.0.255.250。

您可以自己计算以检查。

例子:

127.9999 = 0111111100000000 00100111 00001111

= 127.03915

【讨论】:

  • 知道为什么前导 0 会影响整数转换吗?即127.011 映射到127.0.0.9127.11 映射到127.0.0.11?
  • 前导 0 常用于表示八进制。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-10
  • 2020-05-06
  • 2017-10-19
  • 2017-07-05
  • 2015-03-10
  • 1970-01-01
相关资源
最近更新 更多