OSPF详解
一,OSPF基础
1.1基础术语
1.OSPF
基于IP协议封装,SPF算法的链路状态路由协议OSPF(Open Shortest Path Firest),内部网关协议,协议号89。通过交互LSA(Link State Advertisement链路状态通告),同步LSDB(Link State DataBase链路状态数据库)计算得出最优路径放入路由表中。
2.Router-ID
Router-ID由32位无符号整数组成,用来标识一台运行OSPF协议的路由器,设备的Router-ID不能相同。
Router-ID的配置方式(按优先级排序):
①手工配置(ospf router-id xxx.xxx.xxx.xxx)
②loopback接口中最大的IP地址
③物理接口中最大的IP地址
④以上配置都为空时,Router-ID为0.0.0.0
[Huawei]ospf router-id ? IP_ADDR<X.X.X.X> OSPF Private router ID value auto-recover Automatic modification of conflicted router IDs
3.区域 area
area由四个点分十进制组成,用来标识一个OSPF区域。从逻辑上将设备分为不同的组,每个组由area来表示。多区域时,必须和骨干区域连接。
[Huawei-ospf-1]area ? INTEGER<0-4294967295> OSPF area ID (Integer) IP_ADDR<X.X.X.X> OSPF area ID (IP address)
4.度量值
累计cost为开销值,计算公式为: 参考带宽100M/接口实际带宽 。修改cost有两种方式:①接口cost ② 参考带宽。 图1-1 及粘贴代码中所示,AR2到到10.1.14.0/24的累计cost为2,为AR2的的G0/0/0口的cost + AR1的G0/0/1口的cost
图 1-1
[R2]display ospf routing OSPF Process 1 with Router ID 2.2.2.2 Routing Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 10.1.12.0/24 1 Transit 10.1.12.2 2.2.2.2 0.0.0.0 10.1.14.0/24 2 Stub 10.1.12.1 1.1.1.1 0.0.0.0 Total Nets: 2 Intra Area: 2 Inter Area: 0 ASE: 0 NSSA: 0
1.2OSPF三大表
1.OSPF邻居邻接表
[R2]display ospf peer brief OSPF Process 1 with Router ID 2.2.2.2 Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full ---------------------------------------------------------------------------- [R2]display ospf peer //查看OSPF邻居 OSPF Process 1 with Router ID 2.2.2.2 //本地自己的Router ID Neighbors Area 0.0.0.0 interface 10.1.12.2(GigabitEthernet0/0/0)'s neighbors Router ID: 1.1.1.1 //邻居的router-id Address: 10.1.12.1 //邻居的接口IP State: Full //OSPF的状态 Mode:Nbr is Slave Priority: 1 //接口优先级用于选举DR和BDR DR: 10.1.12.1 BDR: 10.1.12.2 MTU: 0 //MTU值 最大传输单元,缺省为1500,华为缺省是不开启MTU检测 Dead timer due in 39 sec //死亡时间(失效时间) Retrans timer interval: 5 //LSA重传时间 Neighbor is up for 00:05:21 //邻居UP Authentication Sequence: [ 0 ] //认证字段
2.OSPF LSDB表
用来存放其他路由器的LSA。
1.Type:LSA的类型
2.LinkState ID:描述拓扑信息或者路由信息
3.AdvRouter:通告路由器(谁通告的的路由器)
4.Age:LSA的存放时间
5.Len:长度,以字节为单位
6.Sequence:OSPF LSA的序列号,当拓扑发生变化后+1,十六进制
7.Metric:开销
[R2]display ospf lsdb OSPF Process 1 with Router ID 2.2.2.2 Link State Database Area: 0.0.0.0 Type LinkState ID AdvRouter Age Len Sequence Metric Router 2.2.2.2 2.2.2.2 1175 36 80000003 1 Router 1.1.1.1 1.1.1.1 1175 48 80000008 1 Network 10.1.12.1 1.1.1.1 1175 32 80000002 0
3.OSPF 路由表
[R2]display ospf routing OSPF Process 1 with Router ID 2.2.2.2 Routing Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 10.1.12.0/24 1 Transit 10.1.12.2 2.2.2.2 0.0.0.0 10.1.14.0/24 2 Stub 10.1.12.1 1.1.1.1 0.0.0.0 Total Nets: 2 Intra Area: 2 Inter Area: 0 ASE: 0 NSSA: 0
二,OSPF报文
组成:OSPF头部(通用头部)和具体5个消息报文。
2.1 OSPF报头
如图2-1和图2-2所示,头部由IP报头封装,协议号为89。以及图
图 2-1
图 2-2
图 2-3
2.2Hello报文
发送目的组播224.0.0.5,Hello报文的作用主要有三个:发现,建立(hello时间,dead时间,掩码,区域,RID等)和维护邻居。Hello报文的组成如图 2-4 和图 2-5 所示。注意:未接收到对端存活的邻居的Hello包时,Neighbour字段为空。
图 2-4
图 2-5 之1
options:E-bit表示是否接收外部路由信息,必须和相关区域的配置保持一致。
图 2-5 之2
三,OSPF邻居状态机
①down:没有发送Hello包
②attempt:必须是在NBMA网络才存在
③init:初始,收到Hello包
④two-way:双向通信,收到的Hello包包含自己的Rotuer-ID。
------------------------------选举DR/BDR路由器---------------------------
⑤exstart:预启动
⑥exchange:交换
⑦loading:加载
⑧full:完成邻接关系
3.1邻居关系建立过程
RTA发送给Hello包,RTB也发送Hello包,同时接收到对端Hello包,状态从down转为init。RTA也接收到对端Hello包后,从down转为Init。两端Hello包中的Neighbour字段都为对端的Router-ID时,从Init状态转为2-way,邻居关系建立完成。如图 3-1所示。
3.2邻居关系建立条件
OSPF通用头部需要具备以下条件
3.2.1.版本要一致
3.2.2.Router-ID不能相同
如果OSPF区域存在Router-ID冲突,则系统可以重新选择Router ID。
情况一,直连的RID相同(一定不能)
直连的RID相同,无法修复。
报错:
Jan 28 2023 16:22:55-08:00 R5 %%01OSPF/4/CONFLICT_ROUTERID_INTF(l)[2]:OSPF Router id conflict is detected on interface. (ProcessId=256, RouterId=1.1.1.1, AreaId=0.0.0.0, InterfaceName=GigabitEthernet0/0/0, IpAddr=15.1.1.15, PacketSrcIp=1.1.1.15)
17 : Router id confusionq #通过display ospf error
情况二,非直连RID相同(能建立),但路由不稳定。
针对以上情况,华为存在OSPF自动修改机制:命令如下:
#undo ospf router-id auto-recover disable----------默认开启
情况三,不同区域,非直连RID相同
可以建立邻居,也可以邻接,路由有问题。
3.2.3.区域ID相同
3.2.4.掩码一致
广播类型需要检查掩码一致性,而P2P类型不需要检查掩码的一致性。NBMA类型需要检查掩码的一致性。P2MP不一定要检查掩码的一致性,默认P2MP需要检查掩码一致性,但可以手工配置忽略(配置方式:在接口下ospf p2mp-mask-ignore)。
3.2.5.Hello时间,Dead时间一致
①情况一,修改Hello时间,dead时间也会变为Hello的4倍。如下所示,将G0/0/0接口的Hello时间修改为20,Dead时间也自动变为20的四倍80,并且邻居关系状态为down。
[R2]display ospf interface GigabitEthernet 0/0/0 OSPF Process 1 with Router ID 2.2.2.2 Interfaces Interface: 10.1.12.2 (GigaitEthernet0/0/0) Cost: 1 State: BDR Type: Broadcast MTU: 1500 Priority: 1 Designated Router: 10.1.12.1 Backup Designated Router: 10.1.12.2 Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1 [R2]int g0/0/0 [R2-GigabitEthernet0/0/0]ospf timer hello 20 [R2-GigabitEthernet0/0/0]dis ospf interface g0/0/0 OSPF Process 1 with Router ID 2.2.2.2 Interfaces Interface: 10.1.12.2 (GigabitEthernet0/0/0) Cost: 1 State: BDR Type: Broadcast MTU: 1500 Priority: 1 Designated Router: 10.1.12.1 Backup Designated Router: 10.1.12.2 Timers: Hello 20 , Dead 80 , Poll 120 , Retransmit 5 , Transmit Delay 1
Jan 19 2023 16:51:05-08:00 R2 %%01OSPF/3/NBR_CHG_DOWN(l)[7]:Neighbor event:neighbor state changed to Down. (ProcessId=256, NeighborAddress=1.1.1.1, NeighborEvent=Inactiv
ityTimer, NeighborPreviousState=Full, NeighborCurrentState=Down)
②情况二,Dead时间修改,Hello时间会自动变更。如下所示,Dead时间改变为80后,Hello时间不会自动改变。同时邻居关系变为Down。
[R2-GigabitEthernet0/0/0]dis ospf interface g0/0/0 OSPF Process 1 with Router ID 2.2.2.2 Interfaces Interface: 10.1.12.2 (GigabitEthernet0/0/0) Cost: 1 State: DR Type: Broadcast MTU: 1500 Priority: 1 Designated Router: 10.1.12.2 Backup Designated Router: 10.1.12.1 Timers: Hello 10 , Dead 80 , Poll 120 , Retransmit 5 , Transmit Delay 1 s
③情况三,只要Hello,Dead时间修改相同,邻居关系即可建立。
[R1-GigabitEthernet0/0/0]ospf timer dead 80 [R1-GigabitEthernet0/0/0]dis ospf p b OSPF Process 1 with Router ID 1.1.1.1 Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 GigabitEthernet0/0/0 2.2.2.2 Full ----------------------------------------------------------------------------
3.2.6.Option(特殊区域标志)要一致
3.2.7.认证要相同
[R1-GigabitEthernet0/0/0]ospf authentication-mode simple cipher Huawei[R1-GigabitEthernet0/0/0]dis this [V200R003C00] # interface GigabitEthernet0/0/0 ip address 10.1.12.1 255.255.255.0 ospf authentication-mode simple cipher %$%$9(5r4KZ_`2-N{%8kU60V1bi6%$%$ ospf enable 1 area 0.0.0.0 # return [R1]display ospf peer OSPF Process 1 with Router ID 1.1.1.1
3.3 DR/BDR选举
作用是减少邻接的个数,邻接的配置量减少。抑制重复的LSA,节约带宽和性能。
选举时,优先比较优先级(默认为1,范围是0~255)越大越优先,优先级为0 时,不参加选举(如果所有设备的优先级都为0则都停留在邻居2-way状态)。优先级相同时,比较Router-ID。选举过程发生的2-way至exstart之间。
如果DR和BDR已经选举成功时,此时存在更高优先级的设备或者更大Router-ID的设备也无法成为DR或BDR。网络的健壮性和稳定性。
根据最优路径指定适合的DR和BDR。DRother只能与DR和BDR建立邻接关系。DRother之间是邻居关系。
3.4网络类型的影响
修改网络类型命令:
interface xxx ospf network-type xxx
1.P2MP
支持组播和广播,组播224.0.0.5
不需要选举DR和BDR
Hello 30,Dead 120
[R5-Serial4/0/0]dis this [V200R003C00] # interface Serial4/0/0 link-protocol ppp ip address 10.1.25.5 255.255.255.0 ospf network-type p2mp ospf enable 1 area 0.0.0.0 # return [R5-Serial4/0/0]display ospf interface s4/0/0 OSPF Process 1 with Router ID 5.5.5.5 Interfaces Interface: 10.1.25.5 (Serial4/0/0) Cost: 48 State: P-2-P Type: P2MP MTU: 1500 Timers: Hello 30 , Dead 120 , Poll 120 , Retransmit 5 , Transmit Delay 1
2.NBMA
不支持组播和广播,只能使用单播
需要选举DR和BDR
Hello 30,Dead 120
[R2-ospf-1]peer 10.1.25.5 Jan 22 2023 09:46:25-08:00 R2 %%01OSPF/4/NBR_CHANGE_E(l)[110]:Neighbor changes event: neighbor status changed. (ProcessId=256, NeighborAddress=5.25.1.10, NeighborEvent=Start, NeighborPreviousState=Down, NeighborCurrentState=Attempt) [R5-ospf-1]peer 10.1.25.2 [R5-ospf-1]display ospf peer brief OSPF Process 1 with Router ID 5.5.5.5 Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 Serial4/0/0 2.2.2.2 Full ----------------------------------------------------------------------------
3.两端网络类型不同的情况
①P2P+Boradcat
配置:
[R2-Serial4/0/0]dis thisinterface Serial4/0/0 link-protocol ppp ip address 10.1.25.2 255.255.255.0 ospf enable 1 area 0.0.0.0 [R5-Serial4/0/0]dis thisinterface Serial4/0/0 link-protocol ppp ip address 10.1.25.5 255.255.255.0 ospf network-type broadcast ospf enable 1 area 0.0.0.0
邻居建立,但是没有选举出DR和BDR,因为P2P不选举DR和BDR。路由表中没有学习到路由。
[R5]display ospf peer OSPF Process 1 with Router ID 5.5.5.5 Neighbors Area 0.0.0.0 interface 10.1.25.5(Serial4/0/0)'s neighbors Router ID: 2.2.2.2 Address: 10.1.25.2 State: Full Mode:Nbr is Slave Priority: 1 DR: None BDR: None MTU: 0 Dead timer due in 36 sec Retrans timer interval: 5 Neighbor is up for 00:04:36 Authentication Sequence: [ 0 ] [R2]display ospf peer OSPF Process 1 with Router ID 2.2.2.2 Neighbors Area 0.0.0.0 interface 10.1.25.2(Serial4/0/0)'s neighbors Router ID: 5.5.5.5 Address: 10.1.25.5 State: Full Mode:Nbr is Master Priority: 1 DR: None BDR: None MTU: 0 Dead timer due in 36 sec Retrans timer interval: 5 Neighbor is up for 00:01:36 Authentication Sequence: [ 0 ]
②P2P +P2MP
由于P2P和P2MP的Hello时间和Dead时间不同,配置网络类型后,将时间修改相同。
[R2]display ospf interface s4/0/0 OSPF Process 1 with Router ID 2.2.2.2 Interfaces Interface: 10.1.25.2 (Serial4/0/0) --> 10.1.25.5 Cost: 48 State: P-2-P Type: P2P MTU: 1500 Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1 [R5]display ospf interface Serial 4/0/0 OSPF Process 1 with Router ID 5.5.5.5 Interfaces Interface: 10.1.25.5 (Serial4/0/0) Cost: 48 State: P-2-P Type: P2MP MTU: 1500 Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
邻居建立并学习到OSPF路由
[R5]display ospf peer brief OSPF Process 1 with Router ID 5.5.5.5 Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 Serial4/0/0 2.2.2.2 Full ---------------------------------------------------------------------------- [R5]display ospf routing OSPF Process 1 with Router ID 5.5.5.5 Routing Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 5.5.5.5/32 0 Stub 5.5.5.5 5.5.5.5 0.0.0.0 10.1.25.5/32 0 Stub 10.1.25.5 5.5.5.5 0.0.0.0 2.2.2.2/32 48 Stub 10.1.25.2 2.2.2.2 0.0.0.0 10.1.1.0/24 49 Transit 10.1.25.2 3.3.3.3 0.0.0.0 10.1.25.0/24 96 Stub 10.1.25.2 2.2.2.2 0.0.0.0 Total Nets: 5 Intra Area: 5 Inter Area: 0 ASE: 0 NSSA: 0
3.5邻接建立过程
exstart发送DD报文标志邻接开始,RTA和RTB都发送第一个DD报文。数据库描述的I位表示这是第一个报文,M位表示接下来还有报文,MS位表示自己的Master。
在比较了Router-ID后,选择Router-ID大的2.2.2.2,确定了DD序列号。同时状态切换至exchange状态:
exchange也是交互DD报文。loading状态开始交互LSR,LSU,LSACK报文。full状态表示邻接完成。
3.6邻接建立条件
1.MTU一致,华为默认不比较MTU值。默认MTU=0级。
2.两边路由器优先级不可以同时为0。优先级为0不参与DR和BDR选举,卡在two-way状态。
3.链路请求列表或者链路重传列表不为空(loading)
3.7OSPF邻接表
1.OSPF邻接表简要信息
[R2]display ospf peer brief #查看OSPF邻接表摘要 OSPF Process 1 with Router ID 2.2.2.2
#进程 #路由器Router-ID Peer Statistic Information ---------------------------------------------------------------------------- Area Id Interface Neighbor id State 0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full 0.0.0.0 Serial1/0/0 3.3.3.3 Full #区域ID #接口 #对方的RID #状态 ----------------------------------------------------------------------------
2.OSPF邻接表详细信息
[R2]display ospf peer #查看OSPF邻接表详细信息 OSPF Process 1 with Router ID 2.2.2.2 Neighbors Area 0.0.0.0 interface 12.1.1.2(GigabitEthernet0/0/0)'s neighbors #本端接口 Router ID: 1.1.1.1 Address: 12.1.1.1 #对端RID #对端接口地址 State: Full Mode:Nbr is Slave Priority: 1 #优先级 DR: 12.1.1.2 BDR: 12.1.1.1 MTU: 0 #DR #BDR Dead timer due in 38 sec #死亡时间 Retrans timer interval: 5 Neighbor is up for 00:15:49 Authentication Sequence: [ 4972] #认证
四,LSA
4.1 LSA报文
字段 | 备注 |
LS Age | 表示LSA已经生存的时间,单位为秒。 |
LS Type | 标识了LSA的格式和功能。常用的LSA类型有五种。 |
Link State ID | 是该LSA所描述的那部分链路的标识。例如Router ID等。 |
Advertising Router | 产生此LSA的路由器的Router ID。 |
Sequence Number | 用于检测旧的和重复的LSA。 |
PS | LS Type、Link State ID和Advertising Router共同标识一条LSA。 |
LSA新旧比较(华为)
1.比较LSA的序列号,序列号越大越新。
2.如果序列号相同,比较checksum值,比checksum值大。
3.如果checksum值,比较LS AGE时间,看是否是最大的MAX AGE时间,如果是最大的就是最新。
4.如果不是最大的MAX AGE时间,采用MAX AGE DIFF算法,MAX AGE大于15分支,就最新的LSA,如果小于15分钟忽略不计。
4.2 一类LSA(Router LSA)
每个路由器都会生成路由器LSA。只在本区域内传递,不跨越ABR设备。作用是通告自己的直连信息。
[R3]display ospf lsdb router self-originate OSPF Process 1 with Router ID 3.3.3.3 Area: 0.0.0.0 Link State Database Type : Router----------LSA类型 Ls id : 3.3.3.3---------链路状态ID Adv rtr : 3.3.3.3---------产生此LSA的路由器Router ID Ls age : 612 Len : 48 Options : ABR E seq# : 80000013 chksum : 0x5281 Link count: 2 * Link ID: 3.3.3.3---------环回口地址 Data : 255.255.255.255-环回口掩码 Link Type: StubNet-------环回口(默认是P2P) Metric : 0---------------度量值 Priority : Medium--------优先级 * Link ID: 23.1.1.3---------DR的接口地址 Data : 23.1.1.3---------LSA描述本设备的接口 Link Type: TransNet-------封装以太网 Metric : 1----------------度量值 Area: 0.0.0.1 Link State Database Type : Router-------LSA类型 Ls id : 3.3.3.3------链路状态ID Adv rtr : 3.3.3.3------产生此LSA的路由器Router ID Ls age : 826 Len : 48 Options : ABR E seq# : 80000007 chksum : 0x2c3e Link count: 2 * Link ID: 4.4.4.4-------邻居路由器的Router ID } Data : 34.1.1.3------宣告该一类LSA的路由器接口IP地址 } 描述了拓扑信息 Link Type: P-2-P-------P2P网络类型 } Metric : 48 } * Link ID: 34.1.1.0------该Stub网络的IP地址 } Data : 255.255.255.0-该Stub网络的网络掩码 } Link Type: StubNet } 描述了路由信息 Metric : 48 } Priority : Low }
一类LSA的Link type由4个类型:P-2-P,TransNet,StubNet,Vlink。
4.3 二类LSA(Network LSA)
二类LSA由DR产生,只在自己的本区域内传递,不跨越ABR设备。通告MA网络的掩码和MA网络链接的路由器。
[R3]display ospf lsdb network self-originate OSPF Process 1 with Router ID 3.3.3.3 Area: 0.0.0.0 Link State Database Type : Network------------LSA类型 Ls id : 23.1.1.3-----------DR接口的IP地址 Adv rtr : 3.3.3.3------------DR的Router ID Ls age : 1355 Len : 32 Options : E seq# : 80000004 chksum : 0x8a90 Net mask : 255.255.255.0------网络掩码 Priority : Low Attached Router 3.3.3.3--连接到该网络的路由器 Attached Router 2.2.2.2--连接到该网络的路由器
4.4 SPF计算过程
第一步:计算路由信息
第二步计算路由信息
SPF Tree算法:①OSPF区域的防环,使用1类和2类保证无环。②计算最短的COST值。
以下拓扑,我们只能登录AR1,通过查看一类和二类LSA计算单区域内的拓扑。
①查看AR1自己产生的Router LSA
[R1]display ospf lsdb router self-originate
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Router
Ls id : 1.1.1.1
Adv rtr : 1.1.1.1
Ls age : 259
Len : 60
Options : E
seq# : 8000000c
chksum : 0x163d
Link count: 3
* Link ID: 10.1.12.2----------DR的接口地址
Data : 10.1.12.1----------产生该LSA的接口地址
Link Type: TransNet---------以太网接口
Metric : 1------------------度量值
* Link ID: 3.3.3.3--------------
Data : 10.1.13.1 ↑
Link Type: P-2-P
Metric : 48
* Link ID: 10.1.13.0 可知还连接了一条串行链路,本端为10.1.13.1/24,对端RID:3.3.3.3。开销为48。
Data : 255.255.255.0
Link Type: StubNet
Metric : 48 ↓
Priority : Low----------------
②再查看对应的2类LSA
[R1]display ospf lsdb network 10.1.12.2
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Network
Ls id : 10.1.12.2
Adv rtr : 2.2.2.2
Ls age : 730
Len : 32
Options : E
seq# : 80000002
chksum : 0x9299
Net mask : 255.255.255.0----------掩码24位
Priority : Low
Attached Router 2.2.2.2-------对端RID:2.2.2.2
Attached Router 1.1.1.1
综上所述,逻辑推理的的拓扑
③查看2.2.2.2产生的一类LSA
[R1]display ospf lsdb router 2.2.2.2
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Router
Ls id : 2.2.2.2
Adv rtr : 2.2.2.2
Ls age : 896
Len : 72
Options : E
seq# : 80000014
chksum : 0xb470
Link count: 4---------------------
* Link ID: 10.1.12.2
Data : 10.1.12.2 确认该链路2.2.2.2的接口地址为10.1.12.2/24
Link Type: TransNet
Metric : 1
* Link ID: 4.4.4.4----------------
Data : 10.1.24.2
Link Type: P-2-P
Metric : 48
* Link ID: 10.1.24.0 有一条串行链路,对端RID:4.4.4.4。本端接口为10.1.24.2/24。
Data : 255.255.255.0
Link Type: StubNet
Metric : 48
Priority : Low------------------
* Link ID: 10.1.235.2 -----------
Data : 10.1.235.2 有一条以太网链路,DR是10.1.235.2,该LSA由10.1.235.2产生
Link Type: TransNet
Metric : 1----------------------
④查看该以太网链路对应的二类LSA
[R1]display ospf lsdb network 10.1.235.2
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Network
Ls id : 10.1.235.2
Adv rtr : 2.2.2.2
Ls age : 77
Len : 36
Options : E
seq# : 80000005
chksum : 0xa583
Net mask : 255.255.255.0
Priority : Low
Attached Router 2.2.2.2-----}
Attached Router 3.3.3.3-----}该以太网链路中连接了3个设备RID分别为2.2.2.2,3.3.3.3,5.5.5.5
Attached Router 5.5.5.5-----}
综上所述,逻辑推理的拓扑:
⑤查看3.3.3.3产生的一类LSA
[R1]display ospf lsdb router 3.3.3.3
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Router
Ls id : 3.3.3.3
Adv rtr : 3.3.3.3
Ls age : 544
Len : 60
Options : E
seq# : 8000000a
chksum : 0x2e5b
Link count: 3
* Link ID: 1.1.1.1--------------
Data : 10.1.13.3
Link Type: P-2-P
Metric : 48
* Link ID: 10.1.13.0 确定了该设备的接口为10.1.13.3/24,度量值48
Data : 255.255.255.0
Link Type: StubNet
Metric : 48
Priority : Low----------------
* Link ID: 10.1.235.2
Data : 10.1.235.3 确定了该设备接口为10.1.235.3,DR为10.1.235.2
Link Type: TransNet
Metric : 1-------------------
⑥查看4.4.4.4产生的一类LSA
[R1]display ospf lsdb router 4.4.4.4
OSPF Process 1 with Router ID 1.1.1.1
Area: 0.0.0.0
Link State Database
Type : Router
Ls id : 4.4.4.4
Adv rtr : 4.4.4.4
Ls age : 1082
Len : 72
Options : E
seq# : 80000007
chksum : 0xf074
Link count: 4
* Link ID: 2.2.2.2----------------
Data : 10.1.24.4
Link Type: P-2-P
Metric : 48
* Link ID: 10.1.24.0
Data : 255.255.255.0
Link Type: StubNet 与2.2.2.2连接的的串行链路,接口地址为10.1.24.4/24,度量值48
Metric : 48
Priority : Low
* Link ID: 5.5.5.5----------------
Data : 10.1.45.4
Link Type: P-2-P
Metric : 48
* Link ID: 10.1.45.0 与5.5.5.5连接的串行链路,本端接口地址为10.1.45.4/24,度量值48
Data : 255.255.255.0
Link Type: StubNet
Metric : 48
Priority : Low----------------
综上所述,逻辑推理的拓扑图
⑦查看5.5.5.5对应的一类LSA
[R1]display ospf lsdb router 5.5.5.5 OSPF Process 1 with Router ID 1.1.1.1 Area: 0.0.0.0 Link State Database Type : Router Ls id : 5.5.5.5 Adv rtr : 5.5.5.5 Ls age : 1487 Len : 60 Options : E seq# : 80000007 chksum : 0xae7d Link count: 3 * Link ID: 4.4.4.4------------- Data : 10.1.45.5 Link Type: P-2-P Metric : 48 可知与4.4.4.4串行链路本端接口为10.1.45.5/24。度量值48 * Link ID: 10.1.45.0 Data : 255.255.255.0 Link Type: StubNet Metric : 48 Priority : Low---------------- * Link ID: 10.1.235.2 Data : 10.1.235.5 可知本端接口主机位为5 Link Type: TransNet Metric : 1--------------------
推理完成的拓扑
实际上的拓扑
计算最优路由
OSPF路由表:
[R1]display ospf routing OSPF Process 1 with Router ID 1.1.1.1 Routing Tables Routing for Network Destination Cost Type NextHop AdvRouter Area 10.1.12.0/24 1 Transit 10.1.12.1 1.1.1.1 0.0.0.0 10.1.13.0/24 48 Stub 10.1.13.1 1.1.1.1 0.0.0.0 10.1.24.0/24 49 Stub 10.1.12.2 2.2.2.2 0.0.0.0 10.1.45.0/24 50 Stub 10.1.12.2 5.5.5.5 0.0.0.0 10.1.235.0/24 2 Transit 10.1.12.2 2.2.2.2 0.0.0.0 Total Nets: 5 Intra Area: 5 Inter Area: 0 ASE: 0 NSSA: 0
4.5 三类LSA(Network-Summary-LSA)
[R2]display ospf lsdb summary 24.1.1.0 OSPF Process 1 with Router ID 2.2.2.2 Area: 0.0.0.0 Link State Database Type : Sum-Net---------三类LSA Ls id : 24.1.1.0--------目的网段地址 Adv rtr : 2.2.2.2---------产生该三类LSA的RID(注意:经过每一个DR都会改变) Ls age : 428 Len : 28 Options : E seq# : 80000005 chksum : 0xe055 Net mask : 255.255.255.0---网络掩码 Tos 0 metric: 1------------开销值(由本设备到达ABR的开销+ABR去往目标的开销) Priority : Low
配置:
ospf x
area x
abr-summary x.x.x.x x.x.x.x
注意:①必须在ABR设备汇总,非ABR设备汇总无效。
4.6虚链路
由于可能存在OSPF设计不规范,且有且只能有一个骨干区域。同时所有非骨干区域必须连接骨干区域的设备(真正的ABR)
解决方案:虚链路。虚链路不能在骨干区域实施,只能在非骨干区域实施。
国际标准按“需”链路,产生大量的DNA LSA(永不老化的LSA)。
华为标准,周期性发送hello,hello=10,dead=40,类型virtual。
虚链路用于属于Area 0
场景1:
area0--area1--area2
其中area2原理骨干区域
问题:area2区域学习不到任何其他区域的路由
原因:因为area2和area1之间不存在ABR设备,所以不能产生3类LSA。
配置方法:
ospf x
area x
vlink-peer x.x.x.x(指对端RID,RID指向唯一的设备)
[AR1]display ospf vlink OSPF Process 1 with Router ID 1.1.1.1 Virtual Links Virtual-link Neighbor-id -> 2.2.2.2, Neighbor-State: Full Interface: 12.1.1.1 (GigabitEthernet0/0/0) Cost: 1 State: P-2-P Type: Virtual Transit Area: 0.0.0.1 Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1 GR State: Normal
area0--area1--area0(骨干区域被分离
问题:两边area0互相不能学习到路由
原因:右边的ABR无法从右边的area0学习到目标的LSA,只能把学习到的3类放入LSDB,不能放入OSPF路由表。
解决方案:配置虚链路以后,虚链路属于area0,连接两边的area0,这样就形成逻辑上只有一个area0
4.6.1三类LSA和虚链路总结实验
查看各区域的三类LSA,以及对配置不符合要求的area3区域配置虚连接。
2.配置:
按拓扑配置IP地址和OSPF(略)。
R1和R2是ABR,负责生成三类LSA,并在区域内泛洪,经过其他ABR后,重新生成并泛洪。area3区域无法获得路由是由于在area3区域没有ABR。在R2上指定虚链路的邻居R4,在R4上指定虚链路的邻居R2。
[R2-ospf-1]area 1 [R2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 [R4-ospf-1]area 1 [R4-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2
3.观察现象
①R4变成了ABR
②查看vlink状态
[R4]display ospf vlink OSPF Process 1 with Router ID 4.4.4.4 Virtual Links Virtual-link Neighbor-id -> 2.2.2.2, Neighbor-State: Full Interface: 24.1.1.4 (GigabitEthernet0/0/0) Cost: 1 State: P-2-P Type: Virtual Transit Area: 0.0.0.1 Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1 GR State: Normal s
③R4产生的部分三类LSA
[R4]display ospf lsdb summary self-originate OSPF Process 1 with Router ID 4.4.4.4 Area: 0.0.0.0 Link State Database Type : Sum-Net Ls id : 45.1.1.0 Adv rtr : 4.4.4.4 Ls age : 273 Len : 28 Options : E seq# : 80000001 chksum : 0x9a82 Net mask : 255.255.255.0 Tos 0 metric: 1 Priority : Low Type : Sum-Net Ls id : 24.1.1.0 Adv rtr : 4.4.4.4 Ls age : 273 Len : 28 Options : E seq# : 80000001 chksum : 0xac85 Net mask : 255.255.255.0 Tos 0 metric: 1 Priority : Low Area: 0.0.0.1 Link State Database Type : Sum-Net Ls id : 45.1.1.0 Adv rtr : 4.4.4.4 Ls age : 273 Len : 28 Options : E seq# : 80000001 chksum : 0x9a82 Net mask : 255.255.255.0 Tos 0 metric: 1 Priority : Low
4.7四类LSA(ASBR-Summary LSA)
[R2]display ospf lsdb asbr OSPF Process 1 with Router ID 2.2.2.2 Area: 0.0.0.0 Link State Database Type : Sum-Asbr----------LSA类型 Ls id : 3.3.3.3-----------ASBR的RID Adv rtr : 2.2.2.2-----------产生四类LSA的 ABR的RID(经过ABR后改变) Ls age : 74 Len : 28 Options : E seq# : 80000004 chksum : 0x9aa9 Tos 0 metric: 1--------------从RTB到达此ASBR的开销
4.8五类LSA(AS-External-LSA)
由ASBR产生,在整个OSPF自治系统内泛洪,作用是通告外部路由。
[R3]display ospf lsdb ase self-originate OSPF Process 1 with Router ID 3.3.3.3 Link State Database Type : External---------LSA类型 Ls id : 4.4.4.4----------目的网段地址 Adv rtr : 3.3.3.3----------产生此五类LSA ASBR的RID(经过ABR不改变) Ls age : 900 Len : 36 Options : E seq# : 80000004 chksum : 0xe5cb Net mask : 255.255.255.255--网络掩码 TOS 0 Metric: 1-------------开销值(默认type 2 的开销为1) E type : 2----------------0_ASE有两种类型type1 和type2,默认为type2 Forwarding Address : 0.0.0.0-转发地址 Tag : 1----------------标记:标记外部路由,为路由过滤做准备 Priority : Low
import-route static cost 10 type 2
4.9特殊区域
4.9.1Stub区域
4.9.2Totally Stub区域
4.9.3NSSA(Not so Stubby Area)
引入NSSA区域的目的是解决次优问题。
不是那么末梢区域,屏蔽四类五类LSA。但区域内允许存在ASBR,引入了外部路由后区域内使用7类LSA代替五类LSA,转发到其他正常区域后转换为五类LSA。该区域存在七类LSA的缺省路由。
4.9.4Totally NSSA
完全不那么末梢区域,屏蔽三,四,五类LSA。但区域内允许有ASBR,因此引入外部路由,区域内使用七类代替五类LSA,到了其他区域转换成五类LSA。
该区域ABR会发送一条三类和七类LSA的缺省路由。
4.10NSSA 七类LSA
[R4]display ospf lsdb nssa self-originate OSPF Process 1 with Router ID 4.4.4.4 Area: 0.0.0.2 Link State Database Type : NSSA Ls id : 1.1.0.0----外部路由网段 Adv rtr : 4.4.4.4----ASBR的RID Ls age : 1054 Len : 36 Options : NP--------NSSA seq# : 8000000a chksum : 0x706 Net mask : 255.255.248.0 TOS 0 Metric: 1 E type : 1 Forwarding Address : 34.1.1.4 Tag : 1 Priority : Low
[AR1]display ospf error -------------------------------查看OSPF的错误 OSPF Process 1 with Router ID 1.1.1.1 OSPF error statistics General packet errors: 0 : IP: received my own packet 3 : Bad packet ----------------看下面具体的报文错误 0 : Bad version 0 : Bad checksum 0 : Bad area id 0 : Drop on unnumbered interface 0 : Bad virtual link 0 : Bad authentication type 0 : Bad authentication key 0 : Packet too small 0 : Packet size > ip length 0 : Transmit error 6 : Interface down 0 : Unknown neighbor 0 : Bad net segment 0 : Extern option mismatch 0 : Router id confusion HELLO packet errors: 3 : Netmask mismatch 0 : Hello timer mismatch 0 : Dead timer mismatch 0 : Virtual neighbor unknown 0 : NBMA neighbor unknown 0 : Invalid Source Address DD packet errors: 0 : Neighbor state low 0 : Unknown LSA type 0 : MTU option mismatch LS ACK packet errors: 0 : Neighbor state low 0 : Unknown LSA type LS REQ packet errors: 0 : Neighbor state low 0 : Empty request 0 : Bad request LS UPD packet errors: 0 : Neighbor state low 0 : Newer self-generate LSA 0 : LSA checksum bad 0 : Received less recent LSA 0 : Unknown LSA type