大多数的产品都支持环回接口( Loopback Interface),以允许运行在同一台主机上的客户 程序和服务器程序通过 T C P / I P进行通信。 A类网络号1 2 7就是为环回接口预留的。 根据惯例, 大多数系统把I P地址1 2 7 . 0 . 0 . 1分配给这个接口,并命名为 l o c a l h o s t。一个传给环回接口的 I P数 据报不能在任何网络上出现。
有网络层的逻辑操作。但是大多数的产品还是照样完成传输层和网络层的所有过程,只是当 IP数据报离开网络层时把它返回给自己。
图1是环回接口处理IP数据报的简单过程。
图中需要指出的关键点是:
1) 传给环回地址(一般是127.0.0.1)的任何数据均作为IP输入。
2) 传给广播地址或多播地址的数据报复制一份传给环回接口, 然后送到以太网上。 这是 因为广播传送和多播传送的定义包含主机本身。
3) 任何传给该主机IP地址的数据均送到环回接口。 看上去用传输层和 I P层的方法来处理环回数据似乎效率不高, 但它简化了设计, 因为环 回接口可以被看作是网络层下面的另一个链路层。 网络层把一份数据报传送给环回接口, 就 像传给其他链路层一样,只不过环回接口把它返回到 IP的输入队列中。
在图1中,另一个隐含的意思是送给主机本身 I P地址的I P数据报一般不出现在相应的网 络上。例如,在一个以太网上,分组一般不被传出去然后读回来。某些 B S D以太网的设备驱 动程序的注释说明,许多以太网接口卡不能读回它们自己发送出去的数据。由于一台主机必须处理发送给自己的IP数据报,因此图1所示的过程是最为简单的处理办法。
4.4BSD系统定义了变量useloopback,并初始化为1。但是,如果这个变量置为 0, 以太网驱动程序就会把本地分组送到网络,而不是送到环回接口上。它也许不能工作, 这取决于所使用的以太网接口卡和设备驱动程序。