什么是回送设备,如何使用?


Answers:


180

回环设备是一种特殊的,虚拟 的网络接口,您的计算机使用与自己沟通。它主要用于诊断和故障排除,并连接到在本地计算机上运行的服务器。

回送的目的

当网络接口断开连接时(例如,拔出以太网端口或关闭Wi-Fi或未与接入点关联时),该接口上将无法进行通信,甚至计算机与自身之间也无法进行通信。回送接口不代表任何实际的硬件,但是存在,因此计算机上运行的应用程序始终可以连接到同一台计算机上的服务器。

这对于故障排除很重要(可以与在镜子中进行比较)。有时将环回设备解释为纯粹的诊断工具。但是,当提供所需资源的服务器在自己的计算机上运行时,这也很有用

例如,如果您运行Web服务器,则拥有所有Web文档,并可以逐文件检查它们。您可能也可以在浏览器中加载文件,尽管具有服务器端活动内容,但是它不能像正常访问某人时那样起作用。

因此,如果您想体验其他人所使用的相同站点,最好的方法通常是连接到您自己的服务器。环回接口可简化此操作。

回送地址

对于IPv4,将在地址块中为回送接口分配所有IP。也就是说,通过所有代表您的计算机。但是,对于大多数用途而言,仅需要使用一个IP地址,即。这个IP有主机名的映射到它。127.0.0.0/8 127.0.0.1127.255.255.254 127.0.0.1localhost

因此,要bob通过SSH登录到自己计算机上运行的SSH服务器,可以使用:

ssh bob@localhost

与其他网络适配器一样,回送设备将显示在的输出中ifconfig。它的名字是lo

ek@Del:~$ ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:50121 errors:0 dropped:0 overruns:0 frame:0
          TX packets:50121 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:4381349 (4.3 MB)  TX bytes:4381349 (4.3 MB)

示例:CUPS

localhost在Ubuntu上,一种常见的生产(即不仅仅是诊断)用途是执行高级打印机配置。在网络浏览器中,转到:

http://localhost:631

CUPS在端口631上运行Web服务器,无论您运行的是哪个GUI(甚至根本不运行GUI),都可以使用CUPS来配置打印。

屏幕截图显示了Web浏览器中的CUPS

如果您尝试连接到http://127.0.0.1:631,这也将起作用。但是,如果您尝试连接到http://127.0.0.2,则不会。所有127.*.*.*地址都可以在环回接口上标识您的计算机,但是服务器程序可以决定仅绑定到特定IP地址。

与Windows的显着差异

如果您来自Windows背景,那么您可能会期望loopback自己成为的同义词localhost(从而能够ping loopback,连接到上的服务器loopback,依此类推)。该行为是Windows特有的。

“ Loopback”的其他含义

回送的一般概念是一种机制,通过该机制,消息或信号最终(或循环)回到其开始位置。

因此,还有其他几种在Ubuntu中使用回送的方式,不应与网络中的回送设备相混淆。

环形安装

要在Ubuntu中挂载磁盘映像,可以运行:

sudo mount -o loop image.iso /media/label

通常将其称为循环设备(而不是回送设备),但是偶尔会使用术语回送文件接口

这与网络中的环回设备无关。

声音

Pulseaudio和其他声音系统提供了一种将“输入”与“输出”“连接”的机制,从而使音频输入回显到扬声器/耳机。Pulseaudio的回送模块简化了这一过程。

在这里,使用术语“ 环回” 正确的,但是像环回安装一样,这也与网络中的环回设备无关。(也与循环安装无关。)

进一步阅读


6
为什么127.0.0.0/8映射到127.0.0.1到127.255.255.254而不是127.0.0.0到127.255.255.255?(对不起,如果您认为这是高价的话。)
JellicleCat

5
他只提到了可用的主机地址,并排除了网络和广播地址。您说的应该是127.0.0.0-127.255.255.255是正确的,但是第一个和最后一个还有其他用途。
加布里埃尔·桑菲拉

1
@Eliah,一定localhost要指向127.0.0.1吗?还是也可以指向另一个环回地址 127.0.0.2
Pacerier '16

@GabrielSamfira,为什么当我尝试使用SSH(例如通过运行ssh 127.0.0.0)连接到这两个IP地址时,会显示“网络不可达”而不是“连接被拒绝”?
MAChitgarha

3
@MAChitgarha子网中的第一个IP地址是网络标识地址,最后一个IP地址是广播地址。默认情况下,这两个都不能分配给主机。广播地址用于寻址网络中的每个主机,网络地址用于标识网络本身。请参阅:en.wikipedia.org/wiki/IP_address
加布里埃尔·桑菲拉
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.