1 OSPF(华为)
1.1 华为ospf多区域
1.1.1 Ospf区域
Area0.0.0.1等同于Area1,Area0.0.0.255等同于Area255,Area0.0.1.0等同于Area256。许多网络厂商的设备同时支持这两种区域ID配置及表示方式。
1.1.2 配置多区域ospf
[Huawei]interface LoopBack 0
[Huawei-LoopBack0]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
广播(broadcast):指定OSPF广播网络。
NBMA:指定OSPF非广播多点接入(NBMA)网络。
P2MP:指定OSPF点对多点(point-to-multipoint)网络。
P2P:指定OSPF点对点(point-to-point)网络。
1.1.3 Ospf区域间,外部路由汇总
[R4]ospf 1
[R4-ospf-1]area 1
[R4-ospf-1-area-0.0.0.1]abr-summary 10.5.0.0 255.255.254.0(L1和L232位地址的链路聚合/abr-summary对匹配地址/掩码(边界路由器)的路由进行汇总唯一的)
1.1.4 接口路由引入到ospf中
[R2]ospf 1
[R2-ospf-1]import-route direct(重新分发来自其他路由协议的信息)
1.1.5 修改ospf的参考带宽值
[Huawei]ospf 1
[Huawei-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[Huawei-ospf-1]bandwidth-reference 10000 (10Gbs)
1.1.6 Ospf引入缺省路由
[R1]ospf 1
[R1-ospf-1]default-route-advertise always type 1
命令"default-route-advertise always type 1"指定了默认路由的广告行为和类型。
当执行这个命令时,它告诉OSPF协议在路由表中存在默认路由时始终广告它。默认路由是指当没有更具体的路由匹配时,用于指示数据包的下一跳地址的路由。
"type 1"表示默认路由的类型为类型1,默认的路由类型有两种:类型1和类型2。类型1默认路由通过单个OSPF区域进行传播,而类型2默认路由则通过多个OSPF区域进行传播。
通过配置"default-route-advertise always type 1"命令,OSPF会始终广告默认路由,并将其作为类型1路由进行传播。这样,其他OSPF路由器就可以了解到该默认路由,并在需要时使用它作为数据包的下一跳。
1.1.7 修改OSPF中两类路由的优先级
例:修改 R1设备上的 OSPF 区域内和区域之间的路由优先级为 20,修改 OSPF外部路由的优先级为50
[R1]ospf
[R1-ospf-1]preference 20
[R1-ospf-1]preference ?
INTEGER<1-255> Preference value
ase AS external link states
route-policy Route policy
INTEGER<1-255>优先级值
ase AS外部链接状态
Route -policy路由策略
1.2 OSPF邻接关系与LSA
指定路由器(DR)
备用指定路由器(BDR)
其它指定路由器(DROther)R3-DR R2-BDR R1\4- DROther
1.2.1 将直连路由引入OSPF中
R5 上 Loopback0 接口不属于 OSPF 区域,将 Loopback0 接口路由引入到 OSPF 中
[R5]ospf 1
[R5-ospf-1] import-route direct
1.2.2 LSA类型
OSPF(Open Shortest Path First)使用链路状态数据库(Link State Database,LSDB)来存储网络的拓扑信息。在LSDB中,OSPF定义了多种类型的链路状态信息,称为链路状态记录(Link State Advertisement,LSA)。
以下是OSPF中常见的LSA类型:
-
Type 1 - 路由器链路状态记录(Router LSA):
- 生成者:每个OSPF路由器。
- 作用:描述一个路由器连接的所有链路和相邻路由器的信息。
- 范围:仅在生成路由器所在的区域内分发。 -
Type 2 - 网络链路状态记录(Network LSA):
- 生成者:主干路由器(Backbone Router)。
- 作用:描述与多个OSPF路由器连接的多点网络的信息。
- 范围:仅在主干区域(Backbone Area)中分发。 -
Type 3 - 摘要链路状态记录(Summary LSA):
- 生成者:区域边界路由器(Area Border Router,ABR)。
- 作用:将来自其他区域的网络信息汇总并分发到本区域。
- 范围:在各个区域之间进行分发。 -
Type 4 - ASBR摘要链路状态记录(ASBR Summary LSA):
- 生成者:自治系统边界路由器(ASBR)。
- 作用:向本区域内的其他路由器提供到其他自治系统的路由。
- 范围:在各个区域内分发。 -
Type 5 - 外部链路状态记录(External LSA):
- 生成者:自治系统边界路由器(ASBR)。
- 作用:传递到外部自治系统的路由信息。
- 范围:在各个区域内分发。 -
Type 6 - 多点到点链路状态记录(Multicast LSA):
- 生成者:用于传输组(multicast group)的设计节点。
- 作用:描述多点到点连接中的组播信息。
- 范围:在各个区域内分发。 -
Type 7 - NSSA外部链路状态记录(NSSA External LSA):
- 生成者:区域内的NSSA ASBR。
- 作用:在NSSA(Not-So-Stubby-Area)中传递到外部自治系统的路由信息。
- 范围:在NSSA区域内分发。 -
Type 8 - 外部连接属性链路状态记录(External Attributes LSA):
- 生成者:根据需要由ASBR生成。
- 作用:描述与外部连接相关的属性信息。
- 范围:在各个区域内分发。
这些LSA类型在OSPF中扮演不同的角色,用于描述路由器和网络的拓扑信息、汇总和分发路由信息、传递到外部自治系统的路由等。通过交换这些LSA,OSPF路由器能够建立并维护网络的拓扑信息,并进行最短路径计算和路由选择。这些LSA类型在OSPF中起着不同的作用,用于描述不同类型的链路状态信息,包括路由器连接的链路、网络拓扑、摘要路由、外部路由等。通过交换这些LSA,OSPF路由器能够建立并维护网络的拓扑信息,并进行最短路径计算和路由选择。
1.2.2.1 观察LSA类型
在 R1 上查看 Type-1 LSA 10.0.1.1display ospf lsdb router 10.0.1.1 在 R2 上查看 Type-2 LSA
display ospf lsdb network
在 R1 上查看 Type-3 LSA 10.0.45.0display ospf lsdb summary 10.0.45.0
在 R1 上查看 Type-4 LSA
display ospf lsdb asbr 10.0.5.5
1.2.3 观察 LSR、LSU 和 LSAck
默认情况下,网络稳定运行,OSPF 路由器每 30 分钟更新一次。为了触发 OSPF 的查询和更
新信息,取消在 R4 的 Loopback0 接口上激活 OSPF,在 R1 上观察 OSPF 报文。
#在 R1 上开启 debugging ospf packet update、debugging ospf packet ack
terminal debugging
Info: Current terminal debugging is on.
terminal monitor
Info: Current terminal monitor is on.
debugging ospf packet update
debugging ospf packet ack
#取消 R4 的 Loopback0 接口激活 OSPF 的配置
[R4]ospf 1
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0] undo network 10.0.4.4 0.0.0.0
1.3 OSPF Stub 区域与 NSSA 区域
所有Stub区域和NSSA(Not-So-Stubby-Area)区域都是area区域的一部分,但不是所有area区域都是Stub区域或NSSA区域。
实验组网
1.3.1 Stub区域
Stub区域是一种特殊的OSPF区域,用于简化区域内部的路由信息和控制路由传播。在Stub区域中,所有外部(AS外部)的LSA类型5(External LSA)被汇总为一个缺省路由,减少了在Stub区域内部的路由器上的路由表项数量。
特点:
- 在Stub区域内部,不会传播LSA类型5(External LSA)。
- Stub区域内的路由器只会收到来自区域内部的LSA,不会收到来自其他区域的LSA。
- 所有外部路由都被汇总为一个缺省路由(Default Route),用于向区域内部的路由器提供通往外部网络的路由。
问:在什么场景下适合使用 Stub区域?
答:Stub区域适用于一些特定的网络场景,其中包括以下情况:
1. 减少路由表规模:Stub区域可以帮助减少OSPF域内的路由表规模。它将所有外部路由汇总为一个缺省路由,这样在Stub区域内的路由器只需维护一个缺省路由,而不需要记录所有外部路由的详细信息。
2. 限制外部路由信息:Stub区域限制了从外部自治系统传播到OSPF域内部的路由信息。在Stub区域内,不会传播来自外部自治系统的LSA类型5(External LSA)信息,这可以减少对外部网络的依赖,保护内部网络的安全性。
3. 提高网络安全性:通过将外部路由汇总为缺省路由,Stub区域可以隐藏内部网络的详细拓扑和路由信息,提高网络的安全性。外部网络无法直接获得Stub区域内部的具体路由信息。
4. 简化网络配置和管理:Stub区域的配置相对简单,只需配置一个缺省路由即可。它减少了对外部路由的管理和维护工作,简化了网络配置和管理的复杂性。
5. 内部网络通信需求较少:如果OSPF域内的大部分通信需求都是在内部网络中进行的,而对于外部网络的通信较少,那么使用Stub区域可以更好地满足内部通信的需求,而无需维护大量的外部路由信息。
需要注意的是,Stub区域并不适用于所有情况。在设计网络时,应根据具体需求和网络拓扑来决定是否使用Stub区域。如果需要更灵活地控制外部路由信息的传播和影响,NSSA(Not-So-Stubby-Area)区域可能是更合适的选择。
命令例#在 R1、R3 上配置区域 2 为 Stub 区域
[R1] ospf 1
[R1-ospf-1] area 0.0.0.2
[R1-ospf-1-area-0.0.0.2] stub
[R3] ospf 1
[R3-ospf-1] area 0.0.0.2
[R3-ospf-1-area-0.0.0.2] stub
1.3.2 NSSA区域
NSSA区域是一种允许向外部自治系统(AS)传递部分路由信息的特殊区域。在NSSA区域中,可以使用LSA类型7(NSSA External LSA)将外部路由信息传递到外部自治系统。
特点:
- 在NSSA区域内部,不会传播LSA类型5(External LSA)。
- NSSA区域内的ASBR(自治系统边界路由器)会将来自外部自治系统的路由信息转换为LSA类型7,然后在NSSA区域内传播。
- NSSA区域内的其他路由器会将LSA类型7转换为LSA类型5,并向区域内部的其他路由器传播。
- NSSA区域内的其他路由器不会将LSA类型7传递到其他区域。
通过Stub区域和NSSA区域,OSPF提供了更灵活的路由控制和外部路由传播机制,使得在特定的网络环境中可以更好地控制路由信息和减少路由器的负载。
问:在什么场景下适合使用 NSSA 区域?
答:NSSA(Not-So-Stubby-Area)区域适用于一些特定的网络场景,其中包括以下情况:
1. 连接到外部自治系统(AS)的边界:如果在OSPF域中存在一个外部自治系统,而你希望控制外部路由的传播和影响,NSSA区域是一种合适的选择。它允许将外部路由信息转换为LSA类型7,并在NSSA区域内部传播,而不会向其他区域传播。
2. 过渡性需求:NSSA区域还适用于在将区域从Stub区域转变为完全Stub区域(Totally Stubby Area)之前的过渡阶段。在过渡期间,NSSA区域允许某些外部路由进入区域,并控制其传播,从而更好地管理网络的变化。
3. 限制外部路由信息:NSSA区域允许在OSPF域内部控制外部路由的传播和影响。通过将外部路由转换为LSA类型7,可以控制具体哪些外部路由被允许进入区域,并在区域内传播。
4. 简化网络配置:NSSA区域相对于完全Stub区域提供了更大的灵活性。它可以允许某些外部路由进入区域,而无需完全限制外部路由。这可以简化网络配置,并在需要的情况下提供一些外部路由的可达性。
需要注意的是,NSSA区域并不适用于所有情况。在设计网络时,应根据具体需求和网络拓扑来决定是否使用NSSA区域。如果需要更严格地限制外部路由传播和影响,完全Stub区域可能是更合适的选择。
命令例#在 R4、R5 上配置区域 1 为 NSSA 区域
[R4]ospf 1
[R4-ospf-1] area 0.0.0.1
[R4-ospf-1-area-0.0.0.1] nssa
[R5]ospf 1
[R5-ospf-1] area 0.0.0.1
[R5-ospf-1-area-0.0.0.1] nssa