环回接口---loopback

尽管在网上查了不少资料,但依然未找到全面的解释,最近给县局作岗位认证培时, 忽然间想通了些问题,很多疑问迎刃而解。以下是我对环回地址及环回接口的一些认识,供大家参考交流:
一、环回接口
为了标识和管理网络设备(如路由器、pc),我们通常会利用到这些设备的接口(包括物理接口和逻辑接口:如vlan)上设置的IP地址。但很多情况下,尽管该设备未脱离网络,由于其管理地址所处的接口状态处于down,该设备便无法管理(因为物理连接断开,接口协议起不来)。为了解决这一问题,于是便出现了loopback接口,该接口为设备上一个逻辑接口,接口状态不受物理端口up/down的影响,只要设备的系统协议不出问题,该接口就不会down掉。顺便补充一下,尽管3层vlan亦是逻辑接口,但通常我们使用的vlan都是居于端口的,而且核心层交换机vlan一般只关联一个端口,当端口状态处于down时vlan接口是无法up起来的。
由此可见loopback接口的地址无疑是标示物理设备本身的最佳选择,因为只要设备运行正常,它将永处于up状态。
二、环回地址及环回路由
loopback地址即是loopback接口上设置的地址,该地址用于标示设备本身。A类地址段127.0.0.0被用作本地环回地址,一般设备都默认采用127.0.0.1,当然也可在loopback接口上设置公网IP,作为全网的设备标识。
当设备给其自身发数据包时,是把该数据包送往其loopback接口(其实是直接送给cpu处理)。但如果目的IP不是其loopback地址,它如何得知数据包的目的地址就是它自己的IP地址呢呢?此时就需要环回路由来识别了。一般pc网卡上的IP及一些低端网络设备的管理IP都默认指向其环回接口,但很多高端设备都需要手动设置环回路由。例如一台路由器的其中一个接口地址为61.175.201.54,则环回路由应该设置为61.175.201.54/32 127.0.0.1,以表示该地址就在自身接口上。
三、应用举例
就拿pc来说,pc的网卡就相当于路由器的一个接口。如一台pc网卡上设置的地址为220.172.115.50,网卡连接正常时,协议状态up,在dos命令行状态下输入ipconfig
便可看到该网卡上的IP地址。此时在主机上ping其网卡地址的过程如下:主机发送一个icmp包,目的地址为220.172.115.50,请求对方回答;主机根据默认环回主机路由发现数据包目的地址的下一跳指向其loopback接口(主机事先并不知道该地址就在其网卡上),于是将数据包发往其loopback接口(即直接发往cpu);之后主机收到源IP为220.172.114.50的ping包,于是对该数据包进行回答,回应包亦根据环回路由原路返回。从该过程可看出,该数据包的始发点和被接收点都在同一个接口(即主机本身的loopback接口),寻址过程为一个环回过程,因此该接口称之为“环回接口”。当网卡连接断开时,协议down下,用ipconfig便发现“media disconnected”等提示,无IP地址显示。ping 220.172.115.50便出现“destination unreachable”等提示(由于网卡协议没起来,主机没能发现相应路由,无法做出转发决定,从而提示路由不可达)。但此时ping 127.0.0.0/8网段的IP均能ping通,因为一般pc默认把127.0.0.0/8网段IP作为loopback地址,当主机发现该数据包的目的地址为其自身的环回地址时,便将该数据包直接送往其cpu。由此可看出ping通环回地址并不表示就能ping通网卡地址,因此不要拿ping 127.0.0.1来检测网卡的好坏,这样做是行不通的。
下面我们来看看关于路由器的例子。如routerA的接口s0/1与routerB的接口s0/2直接相连,routerA s0/1的地址为202.56.112.11而routerB s0/2的地址为202.56.112.12
,两台路由器都没有做接口环回路由。此时在routerA上ping其接口s0/1的IP地址能ping通,但tracert 202.56.112.11便发现该数据包并未直接送给routerA本身,而是通过routerB后再回到routerA的。第一次遇到这种情况时我也很诧异,但理解环回的概念以后,这个疑惑也就自然解开。下面我们也来看看该数据包的寻址过程:首先路由器(cisco2600以上)没有默认接口地址的loopback路由,并且这两台router也没有做相关手工设置。因此当routerA发送目的地址为其s0/1的icmp ping包时,routerA查找路由表没发现指向环回接口的主机路由(主机路由优先级高于网络路由),于是根据直连路由将该数据包转发到routerB;routerB接收到该数据包后也根据直连路由将其转发给routerA;routerA收到该ping包后,作出回应,回应包原路返回。因而便出现一个有趣的现象,routerA ping自己的延迟比其ping routerB的延迟还要大。为此很多设备都手工设置了本地环回路由,从而减少不必要的麻烦。

原文地址:https://www.cnblogs.com/qiaoyanlin/p/8745964.html

时间: 2024-10-08 22:59:20

环回接口---loopback的相关文章

环回接口(loopback interface)的新认识

背景 前些日子在IDC实验docker的时候,为了避免与公司网络冲突,将bridge设置为127.x网段的IP,原以为这样就OK,后来发现在访问container内部的服务的时候无法访问.开始以为iptables的问题,搞了半天,后来,才发现系统对127.x.x.x的包根本不会经过bridge.这两天补习了一下linux的路由实现,才彻底明白其中缘由. 其实,关于环回接口,TCP/IP详解中已经描述得很清楚,只是自己没有去仔细阅读而已. TCP/IP关于环回接口的描述 Linu支持环回接口( L

环回接口以及MTU

一.环回接口 1.环回接口出现的目的 为了解决客户机使用网络协议(如TCP/IP协议)与同一台计算机上的服务器通信的需求,实现了工作在网络层的虚拟的环回网络接口. 它不是真正的网络接口,实际上是一种由操作系统提供的专用软件,可通过TCP/IP与统一主机的其他服务器进行通信. 2.地址选择 A类地址段127.0.0.0默认被用作本地环回地址,其实只要是127开头的所有地址均是环回地址. 这个地址是用于标志本机的localhost.也就是说当要向本机发送数据时,就会用到环回地址. 具体事例说明: 就

ngrep环回接口数据抓取方法,使用-d lo参数

ngrep环回接口数据抓取方法,使用-d lo参数,注意顺序: ngrep -W byline -d lo port 80

TCP/IP||链路层

1.链路层 链路层主要有3个目的 1.为ip模块发送数据和接收ip数据报 2.为ARP模块发送ARP请求和接受ARP应答 3.为RARP发送RARP请求和应答 以太网IP数据报封装在RFC 894,IEEE 802 网络IP数据报封装在RFC 1042中,所以主机需求rfc都与10mb/s以太网电缆相连接 1.必须可以接收采用rfc 894封装格式分组 2.接受rfc 894混合和rfc 1042封装格式分组 RFC 894 采用48 bit的目的地址和原地址,在802标准定义的帧格式中不包括c

TCP/IP 协议:链路层概述

我们以一个常见的查看IP指令为出发点(ifconfig -a): ? 1.链路层是什么 链路层是指硬件层协议.也即网络所使用的硬件,比如:以太网(后文主要讨论对象),令牌环网,FDDI已经RS-232串行线路. 在上面的命令(ifconfig -a)结果中,硬件地址(MAC)为08:00:27:00:9c:59 (48bit),链路层主要的作用就是连接不同的两个硬件. ? 2.链路层的作用 1.为IP模块发送和接收IP数据报 2.为ARP模块发送和接收ARP应答 3.为RARP发送RARP请求和

ospf中的DR和BDR

在OSPF中,有两个相当重要的概念:DR和BDR.我们先来看看什么叫DR,什么叫BDR,然后再来看看他们都是做什么的. DR:designatedrouter  指定路由器. BDR:backupdesignated router  备份指定路由器. 在一个LAN 连接中,OSPF将选举出一个路由器做为DR,再选举一个做为BDR,所有其他的和DR以及BDR相连的路由器形成完全邻接状态而且只传输LSA(链路状态通告)给DR和BDR. 换句话说,在一个OSPF的网络中,所有的路由器将被分为两类:指定

TCP/IP 笔记 1.2 链 路 层

都是包含三种类型.根据类型字段的值来进行区分 2.4 SLIP:串行线路IPS L I P的全称是Serial Line IP.它是一种在串行线路上对 I P数据报进行封装的简单形式,在RFC 1055[Romkey 1988]中有详细描述. S L I P适用于家庭中每台计算机几乎都有的 R S - 2 3 2串行端口和高速调制解调器接入 I n t e r n e t.下面的规则描述了 S L I P协议定义的帧格式:1) IP 数据报以一个称作 E N D(0 x c 0)的特殊字符结束.

TCP/IP五层模型详解

将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议就理解了整个互联网通信的原理. 首先,用户感知到的只是最上面一层应用层,自上而下每层都依赖于下一层,所以我们从最下一层开始切入,比较好理解每层都运行特定的协议,越往上越靠近用户,越往下越靠近硬件 物理层 物理层由来:孤立的计算机之间必须完成组网. 物理层功能:主要是基于电器特性发送高低电压(电信号),高电压对应数字1,低电压对应数字0 数据链路层 数据链路层的功能:定义了电信号的分组方式

《TCP/IP详解卷2:实现》笔记--接口层:以太网和环回

1.以太网接口 Net/3以太网设备驱动程序都遵循同样的设计.对于大多数Unix设备驱动程序来说,都是这样,因为写一个新接口卡的驱动 程序总是在一个已有的驱动程序的基础上修改而来的.下面我们简要地概述一下以太网的标准和一个以太网驱动程序的设 计.下图是一个IP分组的以太网封装. 我们所讨论的最初的以太网组帧的标准在1982年由Digital设备公司,intel公司以及施乐公司发布,并作为今天在TCP/IP网络 中最常使用的格式,另一个可选的格式是IEEE规定的802.2和802.3标准. 下图列