尽管在网上查了不少资料,但依然未找到全面的解释,最近给县局作岗位认证培时, 忽然间想通了些问题,很多疑问迎刃而解。以下是我对环回地址及环回接口的一些认识,供大家参考交流:
一、环回接口
为了标识和管理网络设备(如路由器、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的延迟还要大。为此很多设备都手工设置了本地环回路由,从而减少不必要的麻烦。

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

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

    背景 前些日子在IDC实验docker的时候,为了避免与公司网络冲突,将bridge设置为127.x网段的IP,原以为这样就OK,后来发现在访问container内部的服务的时候无法访问.开始以为ip ...

  2. 七、环回接口ip地址(逻辑接口)

    loopback接口,在网络设备(一般是路由器)上是一种特殊的接口,它不是物理接口,而是一种看不见摸不着的逻辑接口(也称虚拟接口),但是对于网络设备来说却是至关重要的. 在网络设备上可以通过配置命令来 ...

  3. 简单理解Linux的Loopback接口

    Linu支持环回接口( Loopback Interface),以允许运行在同一台主机上的客户程序和服务器程序通TCP/IP进行通信. A 类网络127就是为环回接口预留的 .根据惯例,大多数系统把I ...

  4. OSPF协议详解

    CCNP OSPF协议详解 2010-02-24 20:30:22 标签:CCNP 职场 OSPF 休闲 OSPF(Open Shortest Path Fitst,ospf)开放最短路径优先协议,是 ...

  5. TCP/IP 协议:链路层概述

    我们以一个常见的查看IP指令为出发点(ifconfig -a):   1.链路层是什么 链路层是指硬件层协议.也即网络所使用的硬件,比如:以太网(后文主要讨论对象),令牌环网,FDDI已经RS-232 ...

  6. 解决: Can’t connect to local MySQL server through socket /var/lib/mysql/mysql.sock

    今天在搬瓦工上使用mysql 命令行,总报一个这样的错:Can't connect to local MySQL server through socket '/xxxxx/mysql.sock',一 ...

  7. tcp/ip详解 卷1 -- 链路层

    以太网 以太网指数字设备公司,英特尔公司,Xeror公司在 1982年联合公布的一个标准, 是当前 TCP/IP 采用的主要局域网技术. 以太网采用 CSMA/CD 的媒体接入方法, 即 带冲突检测的 ...

  8. TCP/IP 详解常用术语

    业务需要,最近看TCP/IP 这本书,专业名词太多了,总结一下,给后来着参考,直接使用. 后续会在读书时慢慢添加. ACK:(ACKnowledgment)TCP首部中的确认标志. ARP:地址解析协 ...

  9. Java 使用Jedis连接Redis数据库(-)

    redis 安装: Linux 安装redis 1)下载jar包: 使用Jedis需要以下两个jar包: jedis-2.8.0.jar commons-pool2-2.4.2.jar 2)测试red ...

随机推荐

  1. 每日踩坑 2019-04-09 Web.config configuration 蓝色波浪线 未声明 configuration 标签的解决办法

    百度看了几篇答案都没有给出解决方案,看了看 MSDN. https://docs.microsoft.com/zh-cn/previous-versions/ms228147(v=vs.110) 似乎 ...

  2. POJ.3648.Wedding(2-SAT)

    题目链接 题意看这吧..https://www.cnblogs.com/wenruo/p/5885948.html \(Solution\) 每对夫妇只能有一个坐在新娘这一边,这正符合2-SAT初始状 ...

  3. [CF521D]Shop

    [CF521D]Shop 题目大意: 你有一个长度为\(k(k\le10^5)\)的数列\(A_{1\sim k}\),有\(n(n\le10^5)\)种操作,操作包含以下\(3\)种: 将\(A_x ...

  4. Loadrunner乱码的解决办法

    乱码出现的步骤 1.录制过程产生的乱码 2.运行过程编码不一致   录制的时候本机默认编码:GB2312,GBK,GB18030,而录制的网页有可能是uft-8编码 GB pk UTF-8 GB-X: ...

  5. 解析3D标签云,其实很简单

    声明:本文为原创文章,如需转载,请注明来源WAxes,谢谢! 最近开始用canvas搞3D了,搞得也是简单的东西,就是球体转圈.做出来后,突然想起以前看过的3D标签云,在以前觉得真心狂拽酷炫叼啊,当时 ...

  6. index-document-shard

    1.index.shard.document理解: a.每个index包含有多个document,index采用数据路由将document存放在shard中, b.算法(数据路由): shard = ...

  7. 什么是SASS

    一.什么是SASS SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 本文总结了SASS的主要用法.我的目标是,有了这篇文章,日常的一 ...

  8. .NetCore中EFCore for MySql整理(三)之Pomelo.EntityFrameworkCore.MySql

    一.Pomelo.EntityFrameworkCore.MySql简介 Git源代码地址:https://github.com/PomeloFoundation/Pomelo.EntityFrame ...

  9. grid - 重复网格轨道

    使用repeat()可以创建重复的网格轨道.这个适用于创建相等尺寸的网格项目和多个网格项目 <view class="grid"> <view class='gr ...

  10. 原创:vsphere概念深入系列三:vSphere命令行管理

    假设无法近距离接触物理主机,只能远程命令行管理,. 以下命令行可以起到点作用. 首先需要安装vSphere CLI工具. 启动后界面: 1.查看datastore内容 所有命令行工具都可以加上-ser ...