虚拟接口:LoopBack、NULL、InLoopBack详解

科技   2025-01-05 12:45   河北  

在计算机网络领域,虚拟接口是构建和理解网络架构的重要组成部分。它们虽然不是物理存在,但在网络配置与优化中扮演着不可或缺的角色。本文将聚焦于三种常见的虚拟接口——LoopBackNULL以及InLoopBack,探讨它们的定义、作用及配置方法。

虚拟接口是通过软件模拟实现的网络接口,它不依赖于任何物理硬件。这类接口主要用于测试、管理和服务定位等场景。

1.LoopBack 接口

Loopback接口是一种逻辑接口,任何送到该接口的数据报文都会被认为是送往设备自身的。

Loopback接口创建后一直保持UP状态,用户可通过配置Loopback接口达到提高网络可靠性的目的。

1.1接口特点
  • Loopback接口一旦被创建,其物理状态和链路协议状态永远是Up,直到被删除,并具有环回特性。
  • Loopback接口上可以配置32位掩码的IP地址,从而可以节约IP地址。
  • 对于目的地址不是本地IP地址,出接口是本地Loopback接口的报文,设备会将其直接丢弃。
  • Loopback接口上不能配置封装任何链路层协议,其协议状态通常情况下都是Up
1.2主要应用
  • Loopback接口的IP地址指定为报文的源地址,可以提高网络可靠性。
  • 在一些动态路由协议中,当没有配置Router ID时,将选取所有Loopback接口上数值最大的IP作为Router ID
  • BGPBorder Gateway Protocol)协议中,将发送BGP报文的源接口配置成Loopback接口可以保证BGP会话不受物理接口故障的影响。
1.3接口配置

设备上电后,按下面步骤进行:

1)执行命令system-view,进入系统视图。

2)执行命令interface loopback loopback-number,创建并进入Loopback接口。

3)执行命令ip address ip-address mask mask-length ,配置Loopback接口的IP地址。

4)执行命令commit,提交配置。

然后使用display interface loopback [ loopback-number ]命令查看Loopback接口的状态信息。

1.4配置示例

假设想创建一个LoopBack0接口,并为其分配IP地址1.1.1.1/32

<BJ_HXSW_01>sys
Enter system view, return user view with Ctrl+Z.
[BJ_HXSW_01]
[BJ_HXSW_01]interface loopback ?
  <0-1023>  LoopBack interface number

[BJ_HXSW_01]interface loopback 0
[BJ_HXSW_01-LoopBack0]ip address 1.1.1.1 32
[BJ_HXSW_01-LoopBack0]dis th
#
interface LoopBack0
 ip address 1.1.1.1 255.255.255.255
#
return
[BJ_HXSW_01-LoopBack0]

配置完后,查看接口信息:

[BJ_HXSW_01]display interface loopback 0
LoopBack0 current state : UP
Line protocol current state : UP (spoofing)
Description:
Route Port,The Maximum Transmit Unit is 1500
Internet Address is 1.1.1.1/32
Physical is Loopback
Current system time: 2025-01-05 11:37:32+08:00
    Last 300 seconds input rate 0 bits/sec, 0 packets/sec
    Last 300 seconds output rate 0 bits/sec, 0 packets/sec
    Realtime 0 seconds input rate 0 bits/sec, 0 packets/sec
    Realtime 0 seconds output rate 0 bits/sec, 0 packets/sec
    Input: 0 packets,0 bytes
           0 unicast,0 broadcast,0 multicast
           0 errors,0 unknownprotocol
    Output:0 packets,0 bytes
           0 unicast,0 broadcast,0 multicast
           0 errors
    Input bandwidth utilization  :    0%
    Output bandwidth utilization :    0%

[BJ_HXSW_01]

2.NULL接口

NULL接口是另一种形式的虚拟接口,它的主要功能是丢弃所有发送到它的数据包。NULL接口一般用于处理不需要响应的数据流量,或者作为路由表中默认路由的一种特殊实现。

2.1接口特点
  • NULL0接口是系统自动创建的一个接口。

  • NULL0接口一直处于UP状态,但是不能转发数据报文,任何发送到该接口的网络数据报文都会被丢弃。

  • 不能在NULL0接口上配置IP地址,也不能在NULL0接口上封装任何链路层协议。

  • NULL接口一般用于处理不需要响应的数据流量,或者作为路由表中默认路由的一种特殊实现。

2.2主要应用

NULL0接口可以应用在如下场景:

  • 防止路由环路NULL0接口最典型的使用是用来防止路由环路。例如,在聚合一组路由时,总是创建一条到NULL0接口的路由。
  • 过滤流量NULL0接口提供了过滤流量的一个可选的方法。可以通过将不想要的报文发送到NULL0接口,避免使用访问控制列表。例如,在静态路由中指定到达某一网段的下一跳为NULL0接口,则任何发送到该网段的数据报文都会被丢弃。
2.3接口配置

设备上电后,按如下步骤进行:

1)执行命令system-view,进入系统视图。

2)执行命令interface null 0,进入NULL接口视图。

配置完成后,使用display interface null [ 0 ],可以查看NULL接口的状态信息。

2.4配置示例

例如,使用如下的静态路由配置命令丢弃所有去往网段192.168.50.0/24的报文:

[BJ_HXSW_01]ip route-static 192.168.50.0 255.255.255.0 NULL 0
[BJ_HXSW_01]   

然后执行dis ip routing-table查看路由表:

[BJ_HXSW_01]dis ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
         Destinations : 45       Routes : 45       

Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        0.0.0.0/0   Static  60   0          RD   192.168.250.1    Vlanif4005
        1.1.1.1/32  Direct  0    0           D   127.0.0.1       LoopBack0
……
      127.0.0.0/8   Direct  0    0           D   127.0.0.1       InLoopBack0
      127.0.0.1/32  Direct  0    0           D   127.0.0.1       InLoopBack0
……
   192.168.50.0/24  Static  60   0           D   0.0.0.0         NULL0
……

3.InLoopBack接口

InLoopBack接口是一种虚拟接口。

InLoopBack接口由系统自动创建,用户不能进行配置和删除,但是可以显示,其物理层和链路层协议永远处于up状态。InLoopBack接口主要用于配合实现报文的路由和转发,任何送到InLoopBack接口的IP报文都会被认为是送往设备本身的,设备将不再转发这些报文。

4.总结

4.1三种虚拟接口比较

4.2主要区别对比表
比较项LoopBack接口NULL接口InLoopBack接口
创建和删除用户手动创建系统自动创建系统自动创建
配置IP地址
物理层状态始终处于up状态始终处于up状态始终处于up状态
用途设备标识、路由、测试丢弃不需要的流量、简化配置、提高安全性设备自我识别、内部通信、确保稳定性和可用性

Python运维实践
Python运维实践,专注于互联网技术的总结与交流,内容涉及Python自动化运维、Django框架、园区网络技术、linux云计算、系统架构及网络空间安全等知识的实践与分享。
 最新文章