在大型网络中,要使路由器发挥最好的性能,需要做一些优化。而由于一些原因,造成了OSPF区域骨干区域没有和非骨干区域相连、骨干区域不连续等问题。如要更改区域所有路由器配置,工作量较大,这时可使用虚链路连接没有连接在一起的区域,还有助于提供逻辑冗余。
OSPF路由协议地址汇总
前面已经介绍了IP子网划分的原理,而IP地址汇总就是将多个网段汇总成一个网段,和子网划分相反。如何将多个地址汇总成一个地址呢?
具体步骤如下:
(1)确定需要汇总网段的地址
(2)将各网段的地址以二进制形式写出
(3)比较各网段的网络地址,从第一比特位开始,记录连续的、相同的比特位,而不相同的比特位开始到第32位比特位都为0.由此得出的地址就是汇总后的网络地址,其网络位是连续的、相同的比特位
例如:将网段172.16.0.0/24~172.16.7.0/24汇总成一个网段,汇总后的网段172.16.0.0/21可包含所有需要汇总的地址段
OSPF地址汇总的作用
(1)地址汇总可以通过减少泛洪的LSA数量节省资源
(2)可以通过屏蔽一些网络不稳定的细节来节省资源
(3)减少路由表中的路由条目
虽然末梢区域可以通过防止某些LSA进入该区域,从而达到在一个非骨干的区域里节省资源的目的,但相对于骨干区域,这些区域除节省资源外并没有做其他任何事情,同时一个区域内所有的地址仍然会通告到骨干区域当中。这种情形可以通过地址汇总来帮助解决。与末梢区域一样,地址汇总也是通过减少泛洪的LSA数量来达到节省资源的目的。另外,它还可以通过屏蔽一些网络不稳定的细节来节省资源。 例如:一个忽好忽坏的不稳定的子网,在它每一次发生状态转变的时候,都会引起LSA在整个OSPF域中泛洪。但是,如果这个子网地址被地址汇总到一个汇总地址中的话,那么简单那的子网和它的稳定性就不再被通告出去了。
地址汇总的类型和命令
在Cisco的路由器上可以执行以下两种类型的地址汇总:
1.区域间路由汇总
区域间路由汇总(Inter-area summarization),顾名思义,是指在区域之间的地址汇总。这种类型的汇总通常是配置在ABR路由器上的。配置命令如下:
Router(config-router)# area area-id range ip-address mask
其中,area-id:指明需要进行路由条目汇总的区域;ip-address:指明汇总后的网段地址。
2.外部路由汇总
外部路由汇总(External route summarization)允许一组外部地址汇总为一条汇总地址,通过重新分配注入到一个OSPF域中。这种类型的汇总通常是配置在ASBR路由器上的。配置命令如下:
Router(config-router)# summary-address ip-address mask
注意:配置了路由汇总后,路由表中将自动生成一条指向Null0的路由条目。Null0是路由器上的一个虚拟接口,也被称为丢弃端口,所有到达该端口的数据会被直接丢弃。
3.地址汇总配置案例
公司网络拓扑图如上图所示:由于路由条目较多,所以公司决定配置路由汇总来减少路由条目
公司网络配置步骤如下:
(1)配置各个路由器的接口地址(略)
(2)配置OSPF和RIP协议并通过重分发实现全网互通
R1的配置:
R1(config)# router ospf 1 R1(config-router)# network 192.168.0.0 0.0.0.3 are 1 R1(config-router)# network 192.168.0.4 0.0.0.3 are 0
R2的配置:(ABR路由器)
R2(config)# router ospf 1 R2(config-router)# network 192.168.0.0 0.0.0.3 are 1 R2(config-router)# network 10.1.3.0 0.0.0.255 area 1 R2(config-router)# area 1 range 10.1.0.0 255.255.252.0 //汇总后的地址为10.1.0.0/22
R3的配置:(ASBR路由器)
R3(config)# router ospf 1 R3(config-router)# network 192.168.0.4 0.0.0.3 are 0 R3(config-router)# redistribute rip subnets R3(config)# router rip R3(config-router)# version 2 R3(config-router)# no auto-summary R3(config-router)# network 192.168.0.8 R3(config-router)# summary-address 10.0.0.0 255.255.248.0 //汇总后的地址为10.0.0.0/21 R3(config-router)# redistribute ospf 1 metric 3
R4的配置:
R3(config)# router rip R3(config-router)# version 2 R3(config-router)# no auto-summary R3(config-router)# network 192.168.0.8 R3(config-router)# network 10.0.0.0
虚链路及其配置
在OSPF区域中骨干区域必须连续,并且其他区域要与骨干区域相连。但是在实际网络中,由于网络合并、网络设计不合理等造成了OSPF区域骨干区域没有和非骨干区域相连、骨干区域不连续等问题。如要更改区域所有路由器配置,工作量较大,这时可使用虚链路没有连接在一起的区域
虚链路(Virtual Link)是指一条通过非骨干区域连接到骨干区域的链路,是一条逻辑通道。只要应用于以下两种情况:
(1)通过一个非骨干区域连接一个区域到骨干区域,如下图所示:
(2)通过一个非骨干区域连接一个分段的骨干区域两边的部分区域,如下图所示:
在上面两个案例中,虚链路和具体的物理链路没有关系。虚链路事实上是一个逻辑通道,数据包可以通过选择最优的路由路径从一端到达另一端。
配置虚链路的规则及特点
(1)虚链路必须配置在两台ABR路由器之间
(2)虚链路所经过的区域必须拥有全部的路由选择信息,这样的区域又称为传送区域
(3)传送区域不能是一个末梢区域,包括NSSA区域
(4)虚链路的稳定性取决于其所经过的区域的稳定性
(5)虚链路有助于提供逻辑冗余
显然,虚链路的存在增加了OSPF区域的复杂程度,而且使故障的排查更加困难,因此应该避免使用虚链路。当要使用虚链路时,预先要制定好充分地计划,以确保那些没有直连骨干区域的区域不被遗漏。
虚链路的配置命令
Router(config-router)# area area-id virtual-link router-id
虚链路的配置案例
公司由于网络扩容,导致Area2不能直接连接到Area0并被Area1分割,为了使Area2能正常工作,需要在R1和R2上配置虚链路
(1)配置各个路由器的接口地址(略)
(2)在路由器上启用OSPF,并配置虚链路,实现全网互通
R1的配置:
R1(config)# router ospf 1 R1(config-router)# router-id 1.1.1.1 R1(config-router)# network 10.0.0.0 0.0.0.3 area 0 R1(config-router)# network 10.0.0.4 0.0.0.3 area 1 R1(config-router)# area 1 virtual-link 2.2.2.2
R2的配置:
R2(config)# router ospf 1 R2(config-router)# router-id 2.2.2.2 R2(config-router)# network 10.0.0.8 0.0.0.3 area 2 R2(config-router)# network 10.0.0.4 0.0.0.3 area 1 R2(config-router)# area 1 virtual-link 1.1.1.1
R3和R4的配置(略)
(3)使用命令查看虚链路状态
R1# show ip ospf virtual-links VirtualLink OSPF_VL0 to router 2.2.2.2 is up //虚链路状态为up …