2023-06-09 00:42:12 阅读( 7328)
通常,在路由器中执行showrunning命令查看配置时,会发现配置中存在各种类型的接口,例如ethernet、ATM、Serial、POS等等,这些接口都是与实际的物理接口是一一对应的(如果存在子接口,则可能会使多个接口名称对应同一个物理接口)。
通常,当您在路由器中执行show running命令查看配置时,您会发现配置中有各种类型的接口,如以太网、ATM、串行、POS等。
这些接口都与实际的物理接口一一对应(如果有子接口,多个接口名称可能对应同一个物理接口)。
1.虚拟接口概述
通常,当您在路由器中执行show running命令查看配置时,您会发现配置中有各种类型的接口,如以太网、ATM、串行、POS等。
这些接口都与实际的物理接口一一对应(如果有子接口,多个接口名称可能对应同一个物理接口)。但是路由器中有另一种完全不同的接口类型。
例如:回送、空、隧道、虚拟模板等。这种界面有以下共同点:
1.没有与该接口对应的真实物理接口;虽然有时候有一定的“映射”关系;
2.因为第一个原因,这种界面不会根据物理界面自动生成,必须根据实际需要手动创建。
3.接口将始终处于打开状态(包括物理状态打开和协议状态打开),不会关闭,隧道接口除外,其物理状态将始终处于打开状态,但协议状态取决于实际操作。
因为以上的共性,这类接口统称为“虚拟接口”,不同的虚拟接口有不同的用法,下面会单独介绍。
2.环回接口的使用
这种接口是使用最广泛的虚拟接口,几乎每台路由器上都使用这种接口。常用于以下用途。
作为路由器的管理地址
在系统管理员完成网络规划后,为了便于管理,将为每台路由器创建一个环回接口,并指定一个IP地址作为该接口上的管理地址,管理员将使用该地址远程登录路由器。
这个地址实际上起着设备名称的作用。
但是通常每个路由器上都有很多接口和地址,为什么不从中选择一个呢?原因如下:由于telnet命令使用TCP报文,会出现以下情况:路由器的某个接口因故障停机,
但是其他接口仍然可以telnet,也就是说,到这个路由器的TCP连接仍然存在。所以选择的telnet地址一定不能宕机,虚拟接口正好满足这样的要求。
由于这种接口不需要与对端互联,为了节省地址资源,环回接口的地址通常指定为32位掩码。
使用此接口地址作为动态路由协议OSPF和BGP的路由器id。
动态路由协议OSPF和BGP需要为该协议指定一个路由器id作为该路由器的唯一标识,并且在整个自治系统中应该是唯一的。因为路由器id是32位无符号整数,
这非常类似于IP地址。此外,IP地址不会重复,因此路由器的路由器id通常被指定为与设备上的接口地址相同。由于环回接口的IP地址通常被视为路由器的标识符,
所以成为了路由器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查看路由表信息,
Quidway(config)#show ip route
Routing Tables:
Destination/Mask Proto Pre Metric Nexthop Interface
118.1.0.0/16 Static 60 0 0.0.0.0 NULL0
由于这样的路由只用来取悦BGP,而不会指导真正的报文发送,也就不需要一个IP地址作为路由的下一跳(这样可以节省一个IP地址),所以此处使用NULL0接口。
用来配置黑洞路由
上述组网在正常情况下可以很好的运行,但如果出现如下情况时:
RTC到RTD之间的链路由于故障中断了,所以在RTD上将不存在去10.1.3.0/24的指向RTC的路由。此时,如果RTA下的一个用户发送报文,目的地址为10.1.3.1,则,
RTA将此报文发送到RTD,由于RTD上已不存在去10.1.3.0/24的路由,所以选择缺省路由,将报文发送给RTE,RTE查询路由表后发现该条路由匹配10.1.0.0/16,
于是又将该报文发送给RTD。同理,RTD会再次将报文发给RTE,此时,在RTD和RTE上就会产生路由自环。
解决上述问题的最佳方案就是,在RTD上配置一条黑洞路由:
ip route 10.1.0.0 255.255.0.0 NULL 0,
这样,如果再发生上述情况时,RTD就会查找路由表,并将报文发送到NULL0接口(实际上就是丢弃此报文),从而避免环路的产生。
4. tunnel接口的用法
tunnel接口的用法比较单一,此类型的接口实际上是GRE协议专用的接口。GRE (Generic Routing Encapsulation)是一种三层隧道协议,
最常用的方式为使用IP报文承载GRE报文,而GRE报文的载荷仍旧是IP报文。
interface Tunnel0 /*创建tunnel接口*/
ip address 10.33.255.2 255.255.255.252 /* 自己tunnel口的地址*/
tunnel source 211.138.94.199 /*建立隧道后,发送报文实际使用的源地址*/
tunnel destination 211.138.94.197 /*建立隧道后,发送报文实际使用的目的地址*/
对于tunnel source、tunnel destination 两个地址,通常仍旧选用本端loopback接口和对端的loopback接口的地址(原因见2.1)。
5. virtual-template接口的用法
同tunnel 接口很类似,virtual-template接口专用于MP协议,MP协议是将多个使用PPP协议的物理接口捆绑在一起,对外以一个接口的面目出现,以达到增加带宽和节省IP地址的目的。
user hh service-type ppp password 0 hh /*配置PAP验证的用户名和密码*/
multilink-user hh bind Virtual-Template3 /*指定绑定的Virtual-Template接口名*/
/*下面的两个接口捆绑到一起*/
interface Serial5/1/4:0
encapsulation ppp
ppp authentication pap
ppp multilink
ppp pap sent-username hh password 0 hh /*使用MP,用户名是hh*/
!
interface Serial5/1/5:0
encapsulation ppp
ppp authentication pap
ppp multilink
ppp pap sent-username hh password 0 hh /*使用MP,用户名是hh*/
interface Virtual-Template3 /*创建Virtual-Template接口*/
ip address 61.236.88.134 255.255.255.252 /*IP 地址统一在Virtual-Template接口上配*/
猜你喜欢
Guessyoulike