文章目录
OSPF邻居建立过程、四种网络类型、OSPF高级配置、LSA类型与管理
邻居建立过程
图示
文字概述
初始阶段
① 两台路由器宣告OSPF后,发送Hello报文
② 收到对方Hello包后,将对方Router-ID加入Hello包的Active Neighbor列表,状态变为Init邻居发现
③ 再次收到携带自己Router-ID的Hello包后,建立邻居关系,状态转为2-Way该阶段OSPF要判断是否和邻居建立邻接关系。也决定着路由器是否要发送DD报文给邻居。
主从选举
④ 双方发送Init=1/M=1/MS=1的DD报文进行主从选举,2台路由器都认为自己是主,状态进入ExStart
⑤ 根据Router-ID确定主从后,从路由器开始发送LSA摘要(Init=0/M=0/MS=0),主保持ExStart,从转为Exchange(M标志位取决于后续内容)数据库同步
⑥ 主路由器收到DD摘要后,发送LSR请求,然后回传DD摘要(Init=0/M=0/MS=1),主转为Exchange,从转为Loading (M标志位取决于后续内容)
⑦ 从路由器收到DD摘要,发送LSR请求,然后回传空白DD报文(Init=0/M=0/MS=0),意思是告知主路由器摘要已经交换完毕,主转为Loading完成同步
⑧ LSR LSU和邻居状态的变化无关,当LSU全部发送完毕后,回复LSACK,最终状态转为Full
关键机制说明
DD报文三重作用
- 选举主从
- 路由器发送了第一个DD报文后,2-Way 变成ExStart
- 传递LSA摘要
- 当从路由器认怂,发送第一个DD携带LSA摘要报文后,从路由器变成exchange
- 当主路由器发送完LSR后,给从路由器发送DD携带LSA摘要报文后,主路由器变为exchange
- 触发Loading状态转换
- 从路由器由于收到了主路由器的最后一个DD摘要报文,所以从路由器变为loading
- 从路由器交换完lsa摘要后,会给主路由器发送一个空DD报文,m=0,用来帮助主路由器进入loading
OSPF确认机制
报文类型 | 确认方式 |
---|---|
Hello | 间隔时间/老化时间(10s/40s) |
DD | 用seq来做隐式确认 |
LSR | LSU作为确认回复 |
LSU | LSACK显式确认回复 |
- DD报文隐式确认示例
R2→R1发送DD(seq=4350) ,同时R1→R2发送DD(seq=4353)
R1通过比较RID认怂后,R1→R2发送DD(seq=4350)(同上一条,隐式确认R1为主)
R2→R1回复DD(seq=4351)(继续确认为4350+1)
最终R1→R2发送空白DD(seq=4351)(同上一条,隐式确认R1为主)确认同步完成
MTU协商机制
- DD报文中的MTU(接口缺省MTU为1500):
- DD报文中第一个字段就是发出该报文接口的MTU值
- 正常来说,ospf邻居建立是需要要求两端接口的MTU值保持一致,否则无法建立。
华为设备配置命令
[R1-GigabitEthernet0/0/0] ospf mtu-enable #在接口上开启ospf的MTU检测 (必须两端同时开启才会生效,但只开启一端不影响邻居建立)
[R1-GigabitEthernet0/0/0] mtu 1600 # 修改接口MTU值
- 华为默认不检测MTU(思科默认检测) ,因此一般显示为0。
- 如果从路由器接口的MTU>主路由器的MTU,从路由器会卡在exchange,主路由器会卡在exstart
- 如果从路由器接口的MTU<主路由器的MTU,主从路由器都会卡在exstart
四种网络类型详解
网络类型邻接关系总表
网络类型 | 是否建立邻接关系 |
---|---|
P2P | 是 |
Broadcast | DR与BDR都与所有角色建立邻接关系,DRother间仅建立邻居关系 |
NBMA | DR与BDR都与所有角色建立邻接关系,DRother间仅建立邻居关系 |
P2MP | 是 |
1. 广播网络(Broadcast)
核心特性
- 以太网的默认OSPF网络类型:广播型
- 计时器:Hello 10s/Dead 40s
- 角色选举: 需要选举DR/BDR/DRother
- 组播更新地址:224.0.0.5/224.0.0.6 。
- 报文传输规则:
组播地址说明
发送方 | 报文类型 | 目标地址 | 接收方 |
---|---|---|---|
所有设备 | Hello | 224.0.0.5 | 所有邻居 |
所有设备 | DD/LSR | 单播 | 指定邻居 |
DR/BDR | 所有 | 224.0.0.5 | DRother |
DRother | 所有 | 224.0.0.6 | DR/BDR |
DR和BDR同时监听224.0.0.5和224.0.0.6;DRother只监听224.0.0.5
2. 点到点网络(P2P)
核心特性
- PPP/HDLC的默认OSPF网络类型:P2P
- 计时器:Hello 10s/Dead 40s
- 角色选举:无需DR/BDR/DRother,直接建立邻接关系
- 报文传输:所有报文通过224.0.0.5组播
3. NBMA网络
核心特性
- 帧中继FR/ATM的默认OSPF网络类型:NBMA
- 计时器:Hello 30s/Dead 120s
- 角色选举:需要选举DR/BDR/DRother
- 报文传输:所有报文通过单播发送
- 强制配置:需手动指定邻居
[R1-ospf-1] peer 192.168.1.2
4. 点到多点网络(P2MP)
核心特性
- 配置方式:人工指定(常用于DSVPN)
- 计时器:Hello 30s/Dead 120s
- 角色选举:无需DR/BDR/DRother,
- 报文传输:
- Hello:224.0.0.5组播
- 其他报文:单播发送
实验
查看邻居状态
[R4]display ospf peer brief #查看选举结果
OSPF Process 1 with Router ID 4.4.4.4
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 GigabitEthernet0/0/0 2.2.2.2 Full
0.0.0.0 GigabitEthernet0/0/0 3.3.3.3 Full
查看接口状态
[R4]display ospf interface GigabitEthernet 0/0/0
OSPF Process 1 with Router ID 4.4.4.4
Interface
Interface:192.168.1.4 (GigabitEthernet0/0/0)
cost : 1 State : DR Type : Broadcast MTU : 1500
Priority : 1
Designated Router : 192.168.1.4
Backup Designated Route r: 192.168.1.3
Timers : Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
计时器说明
- Poll:NBMA网络探测间隔(120秒)
- Retransmit 5:报文重传间隔(5秒)
- Transmit Delay 1:LSA每传输一跳老化时间减1
OSPF高级配置
COST计算规则
计算公式:
Cost = 参考带宽(默认100Mbps) / 接口实际带宽
计算示例:
接口带宽 | 计算值 | 最终Cost |
---|---|---|
100Mbps | 100/100=1 | 1 |
50Mbps | 100/50=2 | 2 |
155Mbps | 100/155≈0.6 | 1 |
当计算出的cost大于0且小于2时,cost=1;大于等于2且小于3时,cost=2;以此类推
- 修改方法:
[AR1-GE0/0/0] ospf cost 100 #方法1:直接修改接口Cost
[AR1-ospf-1] bandwidth-reference 10000 # 方法2:修改参考带宽为10Gbps
如何计算一条路由条目的cost值:数据传递方向路由器出接口cost累加
静默接口配置(思科叫被动接口)
- 当路由器的接口被配置为静默接口后,该接口可以生成LSA,但是不再收发和处理OSPF报文
黑名单模式(默认允许所有)
[AR1-ospf-1] silent-interface g0/0/0
白名单模式(先禁止所有,再允许特定接口)
[AR1-ospf-1] silent-interface all
[AR1-ospf-1] undo silent-interface g0/0/1
LSA类型与管理
LSA关键特性
更新机制:
- 触发更新(拓扑变化时立即发送)
- 周期更新(LSA老化时间3600s,每1800秒周期更新,初始Age=0的LSA才进行周期更新)
种类数量:11种
- router LSA;
- Network LSA;
- Network summary LSA;
- ASBR summary link states;
- AS external link states;
- 组播ospf(HCIE阶段学习);
- NSSA external link states;
- ospfv3两种(HCIE阶段学习);
- mpls两种(HCIE阶段学习) 。
标识规则:通过以下字段判断LSA是否相同:
- LS Type
- Link State ID
- Advertising Router
- 头部
如果不同,再比较新旧,旧的会被新的覆盖
- 比较LS sequence number(越大越新)
- 比较LS checksum(越大越新)
- 比较LS age(当差值超过15分钟时,Age=3600的LSA最新)
当OSPF接收一条LSA