Localhost OR loopback命名

时间:2016-11-11 11:35:27

标签: network-programming

在开发IpAddress库的过程中,我遇到了一个小小的困境。 如何命名我的函数测试地址为LocalHost / Loopback。 这2个名称之间有什么区别?

在其他lib中,他们做出了这样的选择:

  

Boost.asio - > is_loopback

     

Qt - > isLoopback

     

wxWidget - > IsLocalHost

为什么他们将isLoopback称为address == "::1"

解答: "本地主机"通常是" loopback"的别名。接口。它们可以并且经常互换使用。

子问题:IPv4和IPv6之间的定义是否相同?

1 个答案:

答案 0 :(得分:0)

之前的答案并不完全正确。

Loopback + interface +可能已经配置了多个IP地址,而不仅仅是来自localhost网络。通常的做法是将非本地地址放在例如环回接口上。动态路由,在任何接口出现故障的情况下,您不希望丢失到路由器IP的路由。

另一方面,环回IPv4 +网络+由IANA定义为127.0.0.0/8。令人惊讶的是,对于IPv6 they reserved仅限:: 1/128地址。

回答你的问题:如果你只想检查地址,我会选择isLocalhost()。并且有点热心,我会在那里检查整个网络 - 我碰巧看了几次127.0.0.2 ......