OSPF路由协议
原理概述
为了弥补距离矢量路由协议的不足,IETF组织于20世纪80年代末开发了一种基于链路状态的内部网关协议,OSPF(Open Shortest Path First)。
最初的OSPF规范体现在RFC 113中,这个第1版( OSPFv1 )很快被进行了重大改进的版本所代替,新版本体现在RFC 1247文档中,称为OSPFv2,版本2在稳定性和功能性方面的做出了很大的改进。现在IPv4网络中所使用的都是OSPFv2。
OSPF作为基于链路状态的协议,具有收敛快、路由无环、扩展性好等优点,被快速接受并广泛使用。链路状态算法路由协议互相通告的是链路状态信息,每台路由器都将自己的链路状态信息(包含接口的IP地址和子网掩码、网络类型、该链路的开销等)发送给其他路由器,并在网络中泛洪,当每台路由器收集到网络内所有链路状态信息后,就能拥有整个网络的拓扑情况,然后根据整网拓扑情况运行SPF算法,得出到所有网段的最短路径。
OSPF支持区域的划分,区域是从逻辑上将路由器划分为不同的组,每个组用区域号(Area ID)来标志。一个网段(链路)只能属于一个区域,或者说每个运行OSPF的接口必须指明属于哪一个区域。区域0为骨干区域,骨干区域负责在非骨干区域之间发布区域间的路由信息,在一个OSPF区域中只能有一个骨干区域。
在OSPF单区域中,每台路由器都需要收集其他所有路由器的链路状态信息,如果网络规模不断扩大,链路状态信息也会随之不断的增多,这将使得单台路由器上链路状态数据库非常庞大,导致路由器负担加重,也不便于维护管理。为了解决上述问题,OSPF协议可以将整个自治系统划分为不同的区域(Area),就像一个国家的国土面积很大时,会把整个国家划分为不同的省份来管理一样。
区域是从逻辑上将路由器划分为不同的组,每个组用区域号(Area ID)来标志,区域0为骨干区域,就像一个国家必须有首都一样,OSPF必须有骨干区域,且只能有一个,其他区域为非骨干区。一台路由器的不同接口可以属于不同的区域,但是同一网段(链路)必须属于同一区域。
链路状态信息只在区域内部泛洪,区域之间传递的只是路由条目而非链路状态信息,因此大大减小了路由器的负担。当一台路由器属于不同区域时称它为区域边界路由器(Area Border Router),负责传递区域间路由信息。区域间的路由信息传递类似距离矢量算法,为了防止区域间产生环路,所有非骨干区域之间的路由信息必须经过骨干区域,也就是非骨干区域必须和骨干区域相连,且非骨干区域之间不能直接进行路由信息交互。
实验目的
掌握OSPF单区域及多区域的基本配置;掌握NSSA区域及相关参数的配置方法;掌握OSPF路由过滤的配置方法;掌握OSPF路由汇总的配置方法;掌握OSPF认证的配置方法;掌握利用OSPF发布缺省路由的配置方法;掌握修改OSPF计时器的配置方法;掌握OSPF虚连接的配置方法;掌握LSA过滤的配置方法;
实验内容
公司A网络如实验拓扑所示,请根据如下需求对网络进行部署:
1)按照拓扑所示配置OSPF多区域,另外R3与R6,R4与R6间配置RIPv2。R1,R2,R3,R4的环回接口0通告入Area 0,R5的通告入Area 1,R6的通告入RIP中;
2)R6上的公司内部业务网段192.168.10.0/24和192.168.20.0/24通告入RIP中,R5上的公司外部业务网段172.16.10.0/24和172.16.20.0/24引入OSPF中;
3)在R3,R4上配置OSPF与RIP间的双点双向路由引入,将业务网段192.168.10.0/24和192.168.20.0/24引入到OSPF中;
4)通过配置减少Area 2中的维护的LSA条目数量,包括Type-3 LSA和Type-5 LSA;
5)通过配置使得R5上的业务网段通过R1访问192.168.10.0/24网段,通过R2访问192.168.20.0/24网段,仅在R3上配置;
6)通过配置解决当前OSPF网络中存在的次优路径问题;
7)R1与R2间的物理链路状态时而不稳定,尝试通过适当配置以提高OSPF网络的健壮性;
8)优化R5的OSPF路由表,减少其需要维护的LSA条目,并汇总R5上的两条业务网段;
9)根据R2与R4间的链路状况,适当调整OSPF相关计时器;
10)为了提高OSPF网络安全性,部署OSPF区域密文认证;
实验拓扑
实验编址表
验证与提示
1、按照拓扑所示配置OSPF多区域,另外R3与R6,R4与R6间配置RIPv2。R1,R2,R3,R4的环回接口0通告入Area 0,R5的通告入Area 1,R6的通告入RIP中。
根据实验编址表进行相应的基本配置,配置完成后检查OSPF的邻居建立情况,各设备间关于各环回接口0网段所在路由的接收情况,以及RIP路由域的工作情况。下面仅以R3为例(以下仅为关键信息,部分信息省略):
在验证时也可以借助以下命令进行:
display ospf peer brief;
display ip routing-table protocol rip;
2、R6上的公司内部业务网段192.168.10.0/24和192.168.20.0/24通告入RIP中,R5上的外部业务网段172.16.10.0/24和172.16.20.0/24引入OSPF中。
在R5上配置路由引入时需注意,要求是引入172.16.10.0/24与172.16.20.0/24该两个网段,不要将其余无关网段一并引入。
配置完成后,以R1为例,将观察到如下现象(以下仅为关键信息,部分信息省略):
3、在R3,R4上配置OSPF与RIP间的双点双向路由引入,将业务网段192.168.10.0/24和192.168.20.0/24引入到OSPF中。
在配置将RIP路由引入至OSPF时需注意,仅要求引入192.168.10.0/24与192.168.20.0/24该两个业务网段。
配置完成后,以R5为例,将观察到如下现象(以下仅为关键信息,部分信息省略):
4、通过配置减少Area 2中的维护的LSA条目数量,包括Type-3 LSA和Type-5 LSA。
由于目前Area 2中的R3,R4为ASBR,通过将其配置为NSSA区域方可实现要求。
配置完成后,以R3为例,将观察到如下现象:
5、通过配置使得R5上的业务网段通过R1访问192.168.10.0/24网段,通过R2访问192.168.20.0/24网段,仅在R3上配置。
分析在默认情况下所产生现象的原因,结合仅在R3上进行配置的要求,可以采用修改cost值的方法进行配置。
6、通过配置解决当前OSPF网络中存在的次优路径问题。
观察拓扑可知,R2与R4间的链路为串行链路,其带宽远小于以太网链路。结合该点进行分析,以环回接口0作为测试对象,使得OSPF网络中的每台设备上,其所拥有的其余设备的环回接口0所在网段的路由条目选路最优。
7、R1与R2间的物理链路状态时而不稳定,尝试通过适当配置以提高OSPF网络的健壮性。
根据要求,假设R1与R2之间的物理链路发生故障断开,分析此时会导致什么后果?根据分析结果,完成适当的OSPF配置。
8、优化R5的OSPF路由表,减少其需要维护的LSA条目,并汇总R5上的两条业务网段。理解OSPF过滤路由与过滤LSA的异同,选用合适的命令完成需求。
9、根据R2与R4间的链路状况,适当调整OSPF相关计时器。
理解OSPF的邻居建立规则,根据实际情况做相应调整。
10、为了提高OSPF网络安全性,部署OSPF区域密文认证。
在三个OSPF区域中分别部署区域密文认证,密钥可采用huawei。
思考
完成需求6之后,反观需求5是否仍满足?如果不满足,请分析原因并找到解决方案。
配置清单
<R1>display current-configuration#sysname R1#acl number 2000rule 5 permit source 10.0.12.0 0.0.0.255rule 10 permit source 10.0.13.0 0.0.0.255rule 15 permit source 10.0.24.0 0.0.0.255rule 20 permit source 10.0.34.0 0.0.0.255rule 25 permit source 202.101.34.0 0.0.0.255#interface GigabitEthernet0/0/0ip address 10.0.12.1 255.255.255.0#interface GigabitEthernet0/0/1ip address 10.0.13.1 255.255.255.0#interface GigabitEthernet0/0/2ip address 10.0.15.1 255.255.255.0#interface LoopBack0ip address 10.0.1.1 255.255.255.255#ospf 1 router-id 10.0.1.1area 0.0.0.0authentication-mode md5 1 plain huaweinetwork 10.0.1.1 0.0.0.0network 10.0.12.1 0.0.0.0network 10.0.13.1 0.0.0.0area 0.0.0.1authentication-mode md5 1 plain huaweifilter route-policy R1 importnetwork 10.0.15.1 0.0.0.0vlink-peer 10.0.2.2#route-policy R1 deny node 10if-match acl 2000#route-policy R1 permit node 20#return<R2>display current-configuration#sysname R2#acl number 2000rule 5 permit source 10.0.12.0 0.0.0.255rule 10 permit source 10.0.13.0 0.0.0.255rule 15 permit source 10.0.24.0 0.0.0.255rule 20 permit source 10.0.34.0 0.0.0.255rule 25 permit source 202.101.34.0 0.0.0.255#interface Serial1/0/0link-protocol pppip address 10.0.24.2 255.255.255.0ospf timer hello 60#interface GigabitEthernet0/0/1ip address 10.0.12.2 255.255.255.0#interface GigabitEthernet0/0/2ip address 10.0.25.2 255.255.255.0#interface LoopBack0ip address 10.0.2.2 255.255.255.255#ospf 1 router-id 10.0.2.2area 0.0.0.0authentication-mode md5 1 plain huaweinetwork 10.0.2.2 0.0.0.0network 10.0.12.2 0.0.0.0network 10.0.24.2 0.0.0.0area 0.0.0.1authentication-mode md5 1 plain huaweifilter route-policy R2 importnetwork 10.0.25.2 0.0.0.0vlink-peer 10.0.1.1#route-policy R2 deny node 10if-match acl 2000#route-policy R2 permit node 20#user-interface con 0authentication-mode passwordidle-timeout 0 0user-interface vty 0 4user-interface vty 16 20#Return<R3>display current-configuration#sysname R3#acl number 2000rule 5 permit source 192.168.10.0 0.0.0.255acl number 2001rule 5 permit source 192.168.20.0 0.0.0.255#interface GigabitEthernet0/0/0ip address 10.0.13.3 255.255.255.0#interface GigabitEthernet0/0/1ip address 10.0.34.3 255.255.255.0#interface GigabitEthernet0/0/2ip address 10.0.36.3 255.255.255.0#interface LoopBack0ip address 10.0.3.3 255.255.255.255#interface Tunnel0/0/0ip address 202.101.34.3 255.255.255.0tunnel-protocol gresource 10.0.34.3destination 10.0.34.4ospf cost 1ospf network-type broadcast#ospf 1 router-id 10.0.3.3import-route rip 1 route-policy R2Oarea 0.0.0.0authentication-mode md5 1 plain huaweinetwork 10.0.3.3 0.0.0.0network 10.0.13.3 0.0.0.0network 202.101.34.3 0.0.0.0area 0.0.0.2authentication-mode md5 1 plain huaweinetwork 10.0.34.3 0.0.0.0nssa no-summary#rip 1network 10.0.0.0import-route ospf 1#route-policy R2O permit node 10if-match acl 2000#route-policy R2O permit node 20if-match acl 2001apply cost 50#return<R4>display current-configuration#sysname R4#acl number 2000rule 5 permit source 192.168.10.0 0.0.0.255rule 10 permit source 192.168.20.0 0.0.0.255#interface Serial1/0/0link-protocol pppip address 10.0.24.4 255.255.255.0ospf timer hello 60#interface GigabitEthernet0/0/0ip address 10.0.34.4 255.255.255.0#interface GigabitEthernet0/0/2ip address 10.0.46.4 255.255#interface LoopBack0ip address 10.0.4.4 255.255.255.255#interface Tunnel0/0/0ip address 202.101.34.4 255.255.255.0tunnel-protocol gresource 10.0.34.4destination 10.0.34.3ospf cost 1ospf network-type broadcast#ospf 1 router-id 10.0.4.4import-route rip 1 route-policy R2Oarea 0.0.0.0authentication-mode md5 1 plain huaweinetwork 10.0.4.4 0.0.0.0network 10.0.24.4 0.0.0.0network 202.101.34.4 0.0.0.0area 0.0.0.2authentication-mode md5 1 plain huaweinetwork 10.0.34.4 0.0.0.0nssa no-summary#rip 1network 10.0.0.0import-route ospf 1#route-policy R2O permit node 10if-match acl 2000#return<R5>display current-configuration#sysname R5#acl number 2000rule 5 permit source 172.16.10.0 0.0.0.255rule 10 permit source 172.16.20.0 0.0.0.255#acl number 3001rule 5 permit ip source 172.16.0.0 0.0.255.255 destination 192.168.20.0 0.0.0.255#interface GigabitEthernet0/0/0ip address 10.0.15.5 255.255.255.0#interface GigabitEthernet0/0/1ip address 10.0.25.5 255.255.255.0#interface LoopBack0ip address 10.0.5.5 255.255.255.255#interface LoopBack1ip address 172.16.10.1 255.255.255.0#interface LoopBack2ip address 172.16.20.1 255.255.255.0#ospf 1 router-id 10.0.5.5asbr-summary 172.16.0.0 255.255.0.0import-route direct route-policy D2Oarea 0.0.0.1authentication-mode md5 1 plain huaweinetwork 10.0.5.5 0.0.0.0network 10.0.15.5 0.0.0.0network 10.0.25.5 0.0.0.0#route-policy D2O permit node 10if-match acl 2000#policy-based-route R5 permit node 10if-match acl 3001apply ip-address next-hop 10.0.25.2policy-based-route R5 permit node 20#return<R6>display current-configuration[V200R003C00]#sysname R6#interface GigabitEthernet0/0/0ip address 10.0.36.6 255.255.255.0#interface GigabitEthernet0/0/1ip address 10.0.46.6 255.255.255.0#interface LoopBack0ip address 10.0.6.6 255.255.255.255#interface LoopBack1ip address 192.168.10.1 255.255.255.0#interface LoopBack2ip address 192.168.20.1 255.255.255.0#rip 1network 10.0.0.0network 192.168.10.0network 192.168.20.0#return