我很难用图表来说明环回的含义。https://en.wikipedia.org/wiki/Loopback#Virtual_loopback_interface
计算机程序发送到环回 IP 地址的任何流量都会立即简单地传回网络软件堆栈,就像从另一个设备接收到的一样。
“环回”动作是什么意思?
环回场景中的源和目的是什么?
这与常规场景有何不同?
您能使用一些命令来显示环回场景和常规场景吗?
例如:
- 当我输入 时,它的工作方式与任何其他 IP 地址
ssh localhost
一样。ssh
- 当我
http://localhost:631
在浏览器的地址栏中输入并按回车键时,它的工作方式就像输入任何其他 URL 一样。
“loopback”应该意味着“消息或信号结束(或循环)回到它开始的地方”(https://askubuntu.com/questions/247625/what-is-the-loopback-device-and-how-do-i-use-it)。但在这两个示例中,我没有看到这种含义发生,而是与非环回 IP 地址相同。
谢谢。
答案1
您混淆了堆栈的设备驱动程序层和 IP 层。
在IP层,127.0.0.1只是另一个IP地址,并且被同等对待。
在司机在层中,通过环回接口发送的数据包“简单且立即地传回网络软件堆栈”,而不是发送到网卡。
这个概念不是特定于操作系统的;各种操作系统使用相同的概念。
答案2
| --- > ---\
lo | |
| --- < ---/
| --- > --- |
veth0 | | veth1
| --- < --- |
一veth
对是一对以太网设备,它们之间有一根电缆。作为虚拟设备实现。它们被设计为与容器通信:veth 对的一端可以移动到容器中。
你可以思考就像lo
一veth
对,只是只有一端。
实际上,实施细节并不相同。当您查看有效的奇怪事实时,这一点至少是清楚的,但您看不到中的ping 127.0.0.2
地址。但是,除非您正在利用旧版互联网协议的“功能”,或者您正在开发内核,否则无需关心。127.0.0.2
ip -4 addr
更高级的思考方式lo
是不需要做任何事物,就像dummy
界面一样。 (你可以玩ip link add type dummy
)。
当您 ping 计算机以太网或 WiFi 接口的 IP 地址时,它可以工作无需通过该接口发送任何内容。可以使用tcpdump
或 中的数据包计数器来验证这一点ip -s link
。对于 来说也是如此dummy
,同样的情况也适用于。lo
但如果您没有观察到这一点,您可以使用不太高级的解释。它并没有真正误导你。
lo
和 的使用方式存在一些差异dummy
,但这是神奇的 127.0.0.2 内容,对问题来说并不重要。