什么是回送和本地主机?

它们为什么存在,它们的用途是什么,我将如何使用它们?

评论

是不是两个单独的问题合而为一?

#1 楼

回送设备是计算机用来与其自身通信的特殊虚拟网络接口。它主要用于诊断和故障排除,并连接到在本地计算机上运行的服务器。

环回的目的

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

这对于故障排除很重要(可以与在计算机中查找相比)。镜子)。有时将环回设备解释为纯粹的诊断工具。但是,当提供所需资源的服务器在自己的计算机上运行时,这也很有用。例如,如果您运行Web服务器,则拥有所有Web文档,并可以通过以下方式检查它们:文件。您也许也可以在浏览器中加载文件,尽管具有服务器端活动内容,但是它不能像正常访问时那样工作。

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

环回上的地址

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

,因此,要通过SSH以bob的身份登录到您自己计算机上运行的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

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

http://localhost:631


CUPS在端口631上运行Web服务器,并且无论您运行的是哪个GUI,都可以使用它来配置打印。 (或者即使您根本没有运行GUI)。



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

与Windows的显着区别

来自Windows背景,您可能希望127.*.*.*本身就是loopback的同义词(因此能够ping localhost,连接到loopback上的服务器,依此类推)。该行为是Windows特有的。


,但是您可以在loopback文件中添加包括loopback在内的任何名称,并以/etc/hosts作为其地址,它的作用类似于127.0.0.1

“回送”的其他含义

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

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

循环挂载

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

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


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

与网络中的回送设备无关。

声音

Pulseaudio和其他声音系统提供了一种将“输入”与“输出”“连接”的机制,从而使音频输入回显到扬声器/耳机。 Pulseaudio的回送模块可以简化此操作。在这里,使用术语“回送”是正确的,但是像循环安装一样,这也与网络中的回送设备无关。 (也与循环安装无关。)

进一步阅读



TLDP,“环回接口”
如何回环设备已实现?


评论


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

–JellicleCat
15年6月25日在22:48

他只提到了可用的主机地址,并排除了网络和广播地址。您说的应该是127.0.0.0-127.255.255.255是正确的,但是第一个和最后一个还有其他目的。

–加布里埃尔·桑菲拉(Gabriel Samfira)
15年7月14日在14:32

@Eliah,本地主机是否必须指向127.0.0.1?或者它也可以指向另一个环回地址,例如127.0.0.2?

–起搏器
16年1月21日在21:03

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

– MAChitgarha
18年8月25日在11:20



@MAChitgarha子网中的第一个IP地址是网络标识地址,最后一个IP地址是广播地址。默认情况下,这两个都不能分配给主机。广播地址用于寻址网络中的每个主机,而网络地址用于标识网络本身。请参阅:en.wikipedia.org/wiki/IP_address

–加布里埃尔·桑菲拉(Gabriel Samfira)
18年8月25日在14:47