一个“简单”的面试题:什么是环回地址 127.0.0.1?
在日常工作中,我们经常看到127.0.0.1
的影子,好多小伙伴也知道其代表是本机地址,但是很少有人对127.0.0.1
有过深入了解,今天瑞哥就带着大家好好剖析一下127.0.0.1
背后的原理。
什么是127.0 0.1
?
IP 地址 127.0 0.1
是一个特殊用途的 IPv4 地址,称为 localhost 或环回地址。所有计算机都使用此地址作为自己的地址,但它不会像真实 IP 地址那样让计算机与其他设备通信。
实际上,网段 127.0.0.0/8
中的任何 IPv4 地址都被指定为环回地址。应用程序通常更喜欢使用 127.0.0.1
作为其网络服务。IP 地址 127.0.0.1
通常分配给环回接口。环回接口在技术上是一个闭合电路。这意味着任何到达环回接口(localhost
或 127.0.0.1
)的 TCP 或 UDP 数据包都将被路由到计算机本身,而无需进入外部网络或 Internet。
127.0.0.1 环回如何工作?
与环回地址 127.0.0.1 建立网络连接的过程几乎与网络上的任何远程计算机或设备相同。主要区别在于连接到 127.0.0.1 不使用 LAN 接口硬件。通常,系统管理员和应用程序开发人员使用 127.0.0.1 来测试应用程序。与 127.0.0.1 建立 IPv4 连接时,通常会分配子网掩码 255.0.0.1 。假设任何公共交换机、路由器或网关接收到一个发往环回 IP 地址的数据包。在这种情况下,它应该丢弃数据包而不记录信息。因此,如果数据包意外到达本地节点之外,它就不会到达计算机。环回的这一方面有助于确保网络安全。
测试 127.0.0.1
127.0.0.1 是一个不可路由的私有 IP 地址,用于与输入地址的同一设备建立连接。例如,ping 127.0.0.1
在命令提示符窗口中输入命令将与始发设备连接:
跟ping localhost
效果是一样的:
localhost 和 127.0.0.1 区别
通常,localhost 和 127.0.0.1 可以互换使用,两者被认为是一样的,但是,它们之间也存在细微的差异。
首先,localhost 需要解析或查找与 localhost 关联的 IP 地址,而 127.0.0.1 通常不需要解析。
其次,localhost 并不总是解析为 127.0.0.1,它可以被解析为地址环回块中的另一个地址。
127.0.0.1 总结
127.0.0.1 是一个环回地址(本地主机地址)
是一个特殊的 A 类网络地址,具有“环回”功能,意味着从更高层协议发送到该地址的数据报将环回。
主要用于测试和开发目的
有时候将服务的 ip 设置成 127.0.0.1 也能起到安全保护的作用。
版权声明: 本文为 InfoQ 作者【wljslmz】的原创文章。
原文链接:【http://xie.infoq.cn/article/db103be80fa1ee92d97ae9506】。未经作者许可,禁止转载。
评论