华为路由器中常用的虚接口简介

本文介绍了在路由器配置中经常会使用到的各种虚接口,以及它们的原理和配置方法 。
1. 虚接口概述
通常,在路由器中执行show running命令查看配置时,会发现配置中存在各种类型的接口,例如ethernet、ATM、Serial、POS等等,这些接口都是与实际的物理接口是一一对应的(假如存在子接口,则可能会使多个接口名称对应同一个物理接口) 。但在路由器中还存在着另外一类完全不同的接口类型,例如:loopback、null、tunnel、virtual-template 等等,这一类接口有如下几个共同点:
1.不存在与该接口对应的真实物理接口;虽然有时会存在一定的“映射”关系;
2.由于第一条的原因,此类接口不会依据物理接口自动生成,必须根据实际需要手工创建 。
3.接口的状态永远是UP的(包括物理状态UP和协议状态UP),不会DOWN掉,其中Tunnel 接口除外,该接口的物理状态永远UP,但协议状态视实际运行状况而定 。
由于具有以上几点共性,此类接口被统称为“虚接口”,不同的虚接口各自有不同的用法,下文将分别介绍 。
2. loopback接口的用法
此类接口是应用最为广泛的一种虚接口,几乎在每台路由器上都会使用 。常见于如下用途 。
作为一台路由器的治理地址
系统治理员完成网络规划之后,为了方便治理,会为每一台路由器创建一个loopback 接口,并在该接口上单独指定一个IP 地址作为治理地址,治理员会使用该地址对路由器远程登录(telnet),该地址实际上起到了类似设备名称一类的功能 。
但是通常每台路由器上存在众多接口和地址,为何不从当中随便挑选一个呢?原因如下:由于telnet命令使用TCP报文,会存在如下情况:路由器的某一个接口由于故障down 掉了,但是其他的接口却仍然可以telnet,也就是说,到达这台路由器的TCP连接依旧存在 。所以选择的telnet地址必须是永远也不会down掉的,而虚接口恰好满足此类要求 。由于此类接口没有与对端互联互通的需求,所以为了节约地址资源,loopback 接口的地址通常指定为32 位掩码 。
使用该接口地址作为动态路由协议OSPF、BGP的router id 。
动态路由协议OSPF、BGP在运行过程中需要为该协议指定一个Router id,作为此路由器的唯一标识,并要求在整个自治系统内唯一 。由于router id是一个32位的无符号整数,这一点与IP地址十分相像 。而且IP地址是不会出现重复现象的,所以通常将路由器的router id指定为与该设备上的某个接口的地址相同 。由于loopback接口的IP地址通常被视为路由器的标识,所以也就成了router id的最佳选择 。
3. NULL接口的用法
通常任何接口都会分配一个IP地址,但是NULL接口却是一个例外,你无法在NULL接口上配置IP地址,路由器会提示配置非法 。一个没有IP地址的接口能够做什么用呢?此类接口单独使用没有意义,但是假如将配置的静态路由下一跳指向NULL接口,则会有很大的用处 。
用来取悦BGP
BGP路由协议向外发布路由的一种方法是使用命令:
network ip-address [mask mask]
但是此命令正确生效有一个前提:在路由表中必须存在一条与ip-address mask 完全相同的路由 。由于BGP发布路由时都是经过聚合之后的,这样的路由路由表中并没有,所以要使用命令:
ip route ip-address mask null0
配置这样一条假静态路由来“取悦”BGP 。
相关配置命令:
interface NULL0 /*创建null0接口*/
router bgp 100
network 118.1.0.0 255.255.0.0 /*BGP要向外发布118.1.0.0/16的路由*/
ip route 118.1.0.0 255.255.0.0 NULL 0 /*配置一条假静态路由取悦BGP*/
执行命令show ip route查看路由表信息,

推荐阅读