OSPF协议简单介绍
OSPF—开放式最短路径优先协议 (Open shortest path first)
(主要学习 三表、五包,七状态)
算法:SPF算法—最短路径算法
适用于大型网络
标准的链路状态型路由协议
无类别路由协议—更新携带掩码—支持VLSM CIDR
协议号 89
优先级 10
度量值 带宽计算==参考带宽/接口带宽
更新内容:LSA—链路状态通告—一条包含了拓扑、路由的信息
拓扑—位置信息
组播更新 224.0.0.5/6
更新周期—30 min
触发更新
采用结构化部署的协议
结构化部署:
1. 区域划分
2. 地址规划
链路状态型路由协议的距离矢量型路由特征
区域内传拓扑 区域间传路由
区域划分规则:
- 必须满足星型结构,必须存在骨干区域,非骨干区域必须和骨干区域相连 区域ID 0为骨干区域
- 必须存在ABR
ABR—区域边界路由器
RIP的数据包—更新包
OSPF的数据包
1.Hello—用于邻居关系的建立携带RID—router ID
作用:标识路由器—发一次/10s
2.DBD—数据库描述包
3.LSR—链路状态请求
4.LSU—链路状态更新
5.LSack—链路状态确认
OSPF的工作过程:
1、 拓扑
2、 路由
启动协议之后,邻居间组播(244.0.0.5)发送hello包,若收到邻居的hello包,邻居发来的hello包中存在自己的RID,将建立邻居关系,生成—邻居表
邻居关系建立后,邻居之间进行条件匹配,条件匹配失败,则停留于邻居关系,仅hello包周期保活即可;
如果条件匹配成功,则建立邻接(毗邻)关系,邻接关系建立后,邻接关系间将使用DBD、LSR、LSU、LSack获取未知LSA信息,当收集齐LSA后,本地生成LSDB—链路状态数据库表,在本地基于LSDB生成最短路径—路由,加载到路由表。
收敛完成后,hello包周期保活邻居、邻接关系;30min周期DBD比对数据库;
若结构突变:1、新增、断开网段—直连设备使用DBD同步信息到所有的邻接处
2、设备断电或无法沟通—dead time到时后断开邻接关系
LSA–链路状态通告–拓扑或路由
LSDB–链路状态数据库–所有LSA的集合
Ospf协议的收敛被称为----LSA洪泛、LSDB同步
条件匹配
(邻接关系建立的条件)
网络类型:
1.MA网络—为了避免重复更新量,需要进行选举,选DR、BDR、Drother
只有Drother和DRother间建立邻居关系,其他关系均为邻接。
2.点到点—直接建立连接关系
OSPF的状态机—描述工作在OSPF协议中的路由器的接口状态
Down—一旦本地发出hello包,则进入下一个状态
Init—初始化状态—如果接收到的hello包中存在本地的IRD,那么进入下一个状态
2-way—邻居关系建立的标志
条件匹配
Exstart—预启动—发送类Hello的DBD,进行主从关系的选举,RID数字大者为主,优先进入下一状态
Exchange—使用真正的DBD包,进行数据库目录的共享,需要ACK确认
Loading 加载:使用LSR/LSU/LSack来获取未知的LSA信息
Full–转发:邻接关系建立的标志
OSPF 基础实验配置
地址配置:
R1:
[r1]interface LoopBack 0
[r1-LoopBack0]ip address 1.1.1.1 24
[r1]interface g0/0/0
[r1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
R2:
[r2]interface LoopBack 0
[r2-LoopBack0]ip address 2.2.2.2 24
[r2]interface g0/0/0
[r2-GigabitEthernet0/0/0]ip address 12.1.1.2 24.
[r2]interface g0/0/1
[r2-GigabitEthernet0/0/1]ip address 23.1.1.2 24
R3:
[r3]interface LoopBack 0
[r3-LoopBack0]ip address 3.3.3.3 24
[r3]interface g0/0/0
[r3-GigabitEthernet0/0/0]ip address 23.1.1.3 24
[r3]interface g0/0/1
[r3-GigabitEthernet0/0/1]ip address 34.1.1.3 24
R4:
[r4]interface LoopBack 0
[r4-LoopBack0]ip address 4.4.4.4 24
[r4]interface g0/0/0
[r4-GigabitEthernet0/0/0]ip address 34.1.1.4 24
Ospf路由配置:
R1:
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
R2:
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[r2-ospf-1-area-0.0.0.0]q
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]network 23.1.1.0 0.0.0.255
R3:
[r3]ospf 1 router-id 3.3.3.3
[r3-ospf-1]area 1
[r3-ospf-1-area-0.0.0.1]network 23.1.1.0 0.0.0.255
[r3-ospf-1-area-0.0.0.1]network 3.3.3.3 0.0.0.0
[r3-ospf-1-area-0.0.0.1]network 34.1.1.0 0.0.0.255
R4:
[r4]ospf 1 router-id 4.4.4.4
[r4-ospf-1]area 1
[r4-ospf-1-area-0.0.0.1]network 4.4.4.4 0.0.0.0
[r4-ospf-1-area-0.0.0.1]network 34.1.1.0 0.0.0.255
查表:
Display ip routing-table protocol ospf 查看路由表
查看路由表,我们看到路由器通过OSPF协议学习到了整个拓扑所有的网段
Display ospf peer 查看邻居表
查看邻居表,实验环境默认先启用路由协议的路由器为DR
所以我们必须给所有的路由器输入一条指令
reset ospf process
再次查看邻居表:
就会发现路由器之间满足DR、BDR的选举规则
Display ospf lsdb 查看链路状态数据库表
表中的每一条路由都能被拆开,例如将表中的router 2.2.2.2拆开