为什么将环回IP地址从127.0.0.1更改为127.255.255.254?


34

我确实知道127.0.0.1〜127.255.255.254是大多数现代操作系统的环回IP地址,我们可以使用这些IP地址来引用我们自己的计算机。但是127.0.0.1还不够吗?!?!为什么范围很广?为什么从127.0.0.1到127.255.255.254?

Answers:


42

127/8网络可用于多种用途。

1)在不使用虚拟机的情况下,在快速网络中模拟大量不同的计算机(只需打开更多接口并将服务绑定到它们)。如果出于某种原因要在端口80上本地运行许多不同的Web服务器,这可能会有所帮助。

2)允许的本地运行服务数量超过64k TCP所允许的数量(尽管您似乎不太可能合理地达到该限制)

3)与不熟悉该类人的人一起玩游戏;“嘿,你是一个失败的黑客,我敢打赌你甚至不能砍死我。继续尝试;我的电话是127.45.209.66”

可能还有其他事情。


4
我可以证明已经发现#1在我目前正在通过SSH隧道使其他私有服务器位于本地主机的位置上有用。
— jeteon

但这不是IPv6中的情况吗?
— 限量赎罪

IPv6具有本地链接地址。不一样,但是适用。serverfault.com/a/754287/178
— Piskvor,

12

http://www.ietf.org/rfc/rfc1700.txt

过去,IP地址被认为是大量的,将完整的/ 8和/ 16块分配给要求它们的人。

你要知道,即使127/8被保留,在RFC规定,只有127.0.0.1/32应使用(http://www.ietf.org/rfc/rfc3330.txt)。


所以..除了127/32以外,没有使用此范围内的其他IP地址?

它用于MPLS中的traceroute,但是他们可以选择其他IP范围。
— 半径

@Farseeker-127/32?您是说127.0.0.1/32吗?
— 史蒂夫·弗利

23
RFC 3330 没有声明仅应使用127.0.0.1/32。它观察到它通常仅使用127.0.0.1/32来实现。整个127.0.0.0/8块仍保留用于环回。
— 朱利诺


1

早在设计此标准时,在回送子网中拥有尽可能多的最大分类子网(24位)就可能是有意义的。当然,我们不再关心类子网。这就是IPv6为此目的仅分配一个地址的原因。


9
它比那更深。由于127/8是一个以0位开始并且在第一个八位字节的其余部分中都具有1位的网络地址,因此,符合RFC的网络堆栈需要确定所有这些信息,以确定将流量路由到何处。这种优化不在任何其他地址中发生的事实被用作优化,并不是因为他们认为保留1600万个环回地址是有意义的(没有,现在也没有)。
— 适配器

1
不遵循@TomTom-127.0.0.1的计算结果为0111 1111 0000 0000 0000 0000 0000 0001二进制,仍为正(MSB是“符号”位)-现在为128.0.0.1(1000 0000 0000 0000 0000 0000 0000 0001)为负。
— LawrenceC

哎呀,你是对的。删除了我的评论。
— TomTom,2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.