1 引子

最近搭建web集群环境,采用了LVS+Keepalived+Nginx+Tomcat的框架。在Realserver端需要用到回环接口(loopbak)。这里就简单介绍一下Linux和windows下的回环接口。

2介绍

Loopback接口是虚拟接口,是一种纯软件性质的虚拟接口。任何送到该接口的网络数据报文都会被认为是送往设备自身的。大多数平台都支持使用这种接口来模拟真正的接口。这样做的好处是虚拟接口不会像物理接口那样因为各种因素的影响而导致接口被关闭。事实上,将Loopback接口和其他物理接口相比较,可以发现Loopback接口有以下几条优点:

1.       Loopback接口状态永远是up的,即使没有配置地址。这是它的一个非常重要的特性。

2.       Loopback接口可以配置地址,而且可以配置全1的掩码,可以节省宝贵的地址空间。

3.       Loopback接口不能封装任何链路层协议。

IP协议中的loopback地址。RFC2606中明确指出了loopback地址的标准域名为localhost。在IPv4中,其对应的IP地址一直是127.0.0.1;理论上,整个127IP段(127.0.0.0~127.255.255.255)的IP地址都为loopback地址,与localhost对应。在IPv6中,localhost对应的IP地址为0:0:0:0:0:0:0:1,一般写作::1。

在网络设备中,loopback被用来代表某些用于管理目的的虚拟接口,其含义并没有"回环"的意思。loopback虚拟接口会分配到一个IP地址,但是这个IP地址不会对应到实际的物理接口。网络设备中的loopback地址主要用于管理目的,例如设备发出的报警。网络设备中的应用程序(管理程序)使用loopback地址发送可接收数据流,而不是使用实际物理接口的地址。对外部来说,直接使用loopback地址来查看设备对应的信息(如报警信息),与网卡的物理地址无关。。我们也可以把这种地址理解为网络设备提供的服务的地址。

在通信领域,loopback可以用作将接收到的信号或数据直接返回给发送者的测试方法。作为一种测试方法,很多通信设备都可以配置端口的数据发送模式(例如all ones模式),来检测同一个端口上的信号接收。这种测试也叫"回环测试"。

3 Linux下的loopback

在linux下,有个固定的网络接口,lo。先通过ifconfiglo查看lo配置:

[root@172-7-9-200 ~]# ifconfig lo
lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:16436  Metric:1RX packets:20 errors:0 dropped:0 overruns:0 frame:0TX packets:20 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:1128 (1.1 KiB)  TX bytes:1128 (1.1 KiB)

从配置可以看出,lo的mask仅为8bit,也就是说,只要127开头,任何网络主机号都可以,也就是说环回接口可以理解为一个网络号。测试验证,127.0.0.1、127.0.1.1、127.1.1.1均能ping通,而125.0.0.1不行。也就是说127这网络号下面的主机编址都是loopback。

[root@172-7-9-200 ~]# ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=2.79 ms
1 packets transmitted, 1 received, 0% packet loss, time 820ms[root@172-7-9-200 ~]# ping 127.0.1.1
PING 127.0.1.1 (127.0.1.1) 56(84) bytes of data.
64 bytes from 127.0.1.1: icmp_seq=1 ttl=64 time=0.150 ms
64 bytes from 127.0.1.1: icmp_seq=2 ttl=64 time=0.069 ms
2 packets transmitted, 2 received, 0% packet loss, time 1031ms[root@172-7-9-200 ~]# ping 127.1.1.1
PING 127.1.1.1 (127.1.1.1) 56(84) bytes of data.
64 bytes from 127.1.1.1: icmp_seq=1 ttl=64 time=0.055 ms
1 packets transmitted, 1 received, 0% packet loss, time 828ms[root@172-7-9-200 ~]# ping 126.0.0.1
PING 126.0.0.1 (126.0.0.1) 56(84) bytes of data.
32 packets transmitted, 0 received, 100% packet loss, time 31710ms

修改一下lo的地址,如下:

[root@172-7-9-200 ~]# ifconfig lo 130.0.0.1
[root@172-7-9-200 ~]# ifconfig lo
lo        Link encap:Local Loopback  inet addr:130.0.0.1  Mask:255.255.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:16436  Metric:1RX packets:28 errors:0 dropped:0 overruns:0 frame:0TX packets:28 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:1800 (1.7 KiB)  TX bytes:1800 (1.7 KiB)

这时候,就ping不通127.*.*.*的ip了,而能ping通130.0.*.*下的ip。

再把子网掩码配置为255.255.255.255,如下:

[root@172-7-9-200 ~]# ifconfig lo 130.0.0.1 netmask 255.255.255.255
[root@172-7-9-200 ~]# ifconfig lo
lo        Link encap:Local Loopback  inet addr:130.0.0.1  Mask:255.255.255.255inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNING  MTU:16436  Metric:1RX packets:36 errors:0 dropped:0 overruns:0 frame:0TX packets:36 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0 RX bytes:2472 (2.4 KiB)  TX bytes:2472 (2.4 KiB)
[root@172-7-9-200 ~]# ping 130.1.1.1
PING 130.1.1.1 (130.1.1.1) 56(84) bytes of data.
2 packets transmitted, 0 received, 100% packet loss, time 1151ms
[root@172-7-9-200 ~]# ping 130.0.1.1
PING 130.0.1.1 (130.0.1.1) 56(84) bytes of data.
1 packets transmitted, 0 received, 100% packet loss, time 825ms
[root@172-7-9-200 ~]# ping 130.0.0.1
PING 130.0.0.1 (130.0.0.1) 56(84) bytes of data.
64 bytes from 130.0.0.1: icmp_seq=1 ttl=64 time=1.23 ms
1 packets transmitted, 1 received, 0% packet loss, time 927ms
rtt min/avg/max/mdev = 1.232/1.232/1.232/0.000 ms

可知,只有130.0.0.1能ping通。

所以可以总结为:环回接口可以配置,而且是一个网络号,并非主机号,除非把掩码配置为32bits。

4 Windows下的loopback

Windows下安装loopback较Linux下麻烦,这个可以追溯两者的历史渊源的。Linux是为网络而生的,而Windows者强调的是个人视窗,所以没有类似linux默认有lo接口。这就需要安装Microsoft Loopback Adapter。

Windows版本不同,安装步骤也不一样:

在vista之前的版本,需要打开“控制面板”-“添加新的硬件设备”-“安装我手动从...”-“网络适配器”-“Microsoft loopback adapter ”,添加完成则进入Microsoft loopback adapter的配置。

Vista及以后的版本(Vista、windows 7,windows2008、windows8)则需要如下步骤:

设备管理器-“操作”-“添加过时硬件”-“安装我手动从...” - “网络适配器”-“Microsoft loopback adapter”,添加完成则进入Microsoft loopback adapter的配置。

不过有一种方法是通用的,也是最直接的:

直接“开始”-“运行”-“hdwwiz”,打开“添加硬件”界面。前面得两者方法,归根都是调用hdwwiz.exe的。

Windows环境下,默认的回环地址和Linux下一样,都是127.*.*.*。但是测试发现在Microsoft loopback adapter中设置IP地址为172.7.9.99,子网掩码为255.255.255.0的回环地址时,只能ping通172.7.9.99地址,ping不通172.7.9.*地址。

以太网适配器 lo:连接特定的 DNS 后缀 . . . . . . . :IPv4 地址 . . . . . . . . . . . . : 172.7.9.99子网掩码  . . . . . . . . . . . . : 255.255.255.0默认网关. . . . . . . . . . . . . :ping 172.7.9.99
正在 Ping 172.7.9.99 具有 32 字节的数据:
来自 172.7.9.99 的回复: 字节=32 时间<1ms TTL=64
来自 172.7.9.99 的回复: 字节=32 时间<1ms TTL=64ping 172.7.9.98
正在 Ping 172.7.9.98 具有 32 字节的数据:
来自 172.7.9.201 的回复: 无法访问目标主机。
来自 172.7.9.99 的回复: 无法访问目标主机。

这明显和Linux下的loopback接口不同。所以可以总结为:环回接口可以配置,而且是一个主机号,和掩码无关。

回环接口(loopback)相关推荐

  1. linux 回环接口实现,Linux回环接口-----(loop-back/loopback)

    回环接口(loop-back/loopback) Moakap整理 Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1. TCP/IP协议栈中的loopback接口 在TCP ...

  2. loopback回环接口

        所谓回环接口,是逻辑接口而非物理接口,即不是你触摸的到的router上的真正的接口.在配置OSPF路由协议的时候配置回环(loopback)接口是很重要的1件事.Cisco建议你配置OSPF的 ...

  3. [转载]回环接口(loop-back/loopback)

    回环接口(loop-back/loopback) Moakap整理 Loopback接口是一个虚拟网络接口,在不同的领域,其含义也大不一样. 1.TCP/IP协议栈中的loopback接口 在TCP/ ...

  4. linux中的lo介绍及作用(回环接口 回环IP)

    Linux回环IP地址lo的作用https://www.cnblogs.com/ArcherWuAIot/p/16359864.html 1.什么是LO接口? 在LINUX系统中,除了网络接口eth0 ...

  5. Linux中的lo回环接口详细介绍

    1.linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0: ...

  6. Linux中的lo回环接口

    引言----------------------------- 我们在Linux执行ifconfig指令时会发现显示两个设备的信息,一般来说,一个是网卡eth0,一个就是lo,具体系统可能会有差别.我 ...

  7. 回环口--Loopback接口

    Loopback 接口,也叫回环口,是一种虚拟的接口.在网络实验或者项目中我们有可能在除了物理的接口或者物理网卡之外,针对某种特殊的需求还会用到一种虚拟的.稳定的.操作起来类似真实接口或者网卡的这么一 ...

  8. 回环地址--Loopback

    (1)Loopback接口的主要作用 Loopback是路由器里面的一个逻辑接口.逻辑接口是指能够实现数据交换功能,但是物理上不存在.需要通过配置建立的接口.Loopback接口一旦被创建,其物理状态 ...

  9. linux lo回环接口与127.0.0.1

    问题: ping 127.0.0.1失败 127.0.0.1是本机ip,在做某一相验证是,用到redis-server,启动后使用redis-cli发现无法连接到本机的redis服务. 通过ifcon ...

最新文章

  1. ios的并发队列控制库
  2. 信号源的ALC环路介绍
  3. sql server 2008学习5 sql基础
  4. SQL学习笔记之存储过程的编写
  5. 学习oracle的感悟,随笔:最近关于Oracle学习思考的一些感悟
  6. python hashlib安装_Hashlib加密,内置函数,安装操作数据库
  7. linux添加磁盘分区,linux添加磁盘分区
  8. python代码手机壁纸_python批量下载壁纸的实现代码
  9. playwright基本使用方法
  10. 长期在计算机房工作辐射大吗,在机房里工作辐射大吗
  11. 中国企业软件25年到底有几次颠覆
  12. 共享换电:车企筑垒,宁王拆墙
  13. python爬虫 点击下一页,总结python爬虫抓站的实用技巧 python爬虫怎么获取下一页的url...
  14. Jest 组件库单元测试【基础语法篇】
  15. 在Windows上使用Ubuntu共享的打印机
  16. MySQL8高级优化,持续更新......
  17. Office 365平台及其价值主张
  18. oracle忘记解锁scott和hr用户问题
  19. 模型理论5_英语学术论文摘要语步结构自动识别模型的构建
  20. Python实验之制作一个公交车站查询系统。(附有源代码)

热门文章

  1. 恐龙插件_迎接年度开放式恐龙
  2. 读书感受 之 《数学之美》
  3. 5-26 高位震荡中,明后天有调整需求
  4. 自用工具 Unity 小地图
  5. 【记录贴】IPP3. Convert a Fahrenheit temperature to Celsius and Kelvin.
  6. 为什么脑子里有电波声_为什么有时会听到“电波声”?
  7. 关于比尔盖茨的几点思考
  8. 《目标检测蓝皮书》第5篇 目标检测基础
  9. Java常用开发软件下载地址
  10. 超详细的Centos7.5安装Oracle11g