文章目录
ospf的五个包
hello包
作用:用于邻居,邻接关系的发现,建立和维持(周期更新 broadcast,p2p 10s ; p2mp,nbma 30s)
hello time:10s
dead time:40s(hello time的四倍,若要更改也需遵循此规则)
发出条件:
- ospf协议开启就开始进行hello 包发送。
- 两点之间使用单播(224.0.0.5),多点之间使用组播(224.0.0.6)
DBD包
全名:Database Description (DBD) 数据库描述包
作用:
1.确定主从关系(DR/BDR选举)
2. 在确定主从关系后将数据库的详细拓扑数据发给目标
389
OSPF DB Description 中不包含任何信息只在报文头部携带源的ospf router-ip
390 确定主从关系后
携带了OSPF DB Description 的LSA信息
3.发出条件:
1:在收到包含自己router-id hello包时发出不包含LSA信息的DBD包
2:在确定主从关系后,若自己为主,则发送带LSA的DBD
若自己为从,这等待主方发送DBD后在发送带LSA的DBD
主从选举(DR/BDR选举)
主从选举是为了确定传输顺序,防止数据冲突。
主从选举规则:
1. 比较优先级,默认为1,范围为0-255,0为不参加选举。优先级高的为DR,次高的为BDR,其他为BDOther
2. 若优先级相同,比较router-id,高的为DR,次高的BDR,其他的为BDOther。
3. 若没有设置router-id,则router-id为路由器中配置的id最大的为他的router-id
注意:若是后来加入的路由器ospf router-id大于先前的,DR/BDR已经确定,不会从新选举。
解决方法:重启ospf进程。
LSR 链路状态请求
- 全名: link status request
- 作用:按照DBD中报文的未知LSA头部进行请求
3:发出条件:在收到含LSA信息的DBD包后发出
LSU 链路状态更新
- 全名:link status update 链路状态更新
- 作用:携带LSA信息更新ospf LSDB(link status database )
LSA
- 全名:link status acknowledge 链接状态确认
ospf的状态机制
由报文的得出共五个阶段
1.init 初始化阶段
一旦开始发送hello包就开始进入此状态
2:2-way 邻居状态
收到包含 自己router-id 的hello包就开始进入此状态
在此
1:进入邻接状态的条件:
- router-id不同
- area 区域相同
- 网段相同
- 认证方式相同
- hello time,dead time相同
- 特殊区域标记相同
- MA网络类型中,网络掩码需要相同
- 必须实验组播更新(224.0.0.6)或者单播更新(224.0.0.5)
能不能进入邻接关系取决于网络类型
1:P2P:直接进入邻接状态
2:MA网络,需要进行DR/BDR选举
原因:由于OSPF协议没有接口水平分割,故该网段两两间皆邻接,将可能出现大量的重复更新,所以选举DR/BDR来决定主从关系
2:在此状态下完成的事情
DR/BDR(指定路由器/备用指定路由器)选举:
- 比较优先级
- 比较router-id
3:exstart 预启动状态
条件:一旦开始发送主从DBD(不包含LSA的BDB)
4:exchange 预交换状态
条件:主从选举完成,将发送含LSA头部的DBD包
作用:发送LSR包
5:loading 加载状态
条件:发送LSU包
作用:进行大量LSA学习
6:full 邻接状态
作用:同步两方的LSA信息
ospf的工作过程
- 配置好ospf协议后,开始组播(单播)收发hello包;
- 若收到包含自己router-id的hello包,则视为其他路由器知道此路由器的存在,象征这邻居关系的建立,生产邻居表
- 开始判断是否能进行下一阶段。若不能则卡在2-way状态,仅进行hello包的周期保活。若能,则建立邻接关系
- 发送不包含LSA头部的DBD包进行主从选举
- 之后主优先与从进行DBD目录交换;
- 交换后再使用LSR/LSU/LSack来获取未知的LSA信息;
- 直到邻接间数据库完全一致;
- 生成LSDB表链路状态数据库(该网络所有LSA的集合)
- 当数据库的同步完成后;本地将所有的LSA进行组合;
- 生成有向图—>最短路径树将最佳路径加载到本地的路由表中;
- 网络收敛完成,hello包周期保活;
- 之后每30min邻接关系间周期比对下一数据库目录;(查漏补缺)
注意:
- 新增网段 – 直连新增网段的ospf设备,使用LSU告知本地所有邻接,对端需确认
- 断开网段 -直连断开网段的ospf设备,使用LSU告知本地所有邻接,对端需确认
- 无法沟通 —dead time到时时,断开邻居关系,删除从该邻接学习到信息;
ospf的基础配置
ospf 1 router-id 1.1.1.1
进程号
作用范围:本地
范围;1-65535
补充:只具有本地意义
router-id 路由器表示符号
作用范围:整个ospf网络
范围:0.0.0.0–255.255.255.255
格式:ipv4地址格式
选举规则:
- 手工配置优先
- 逻辑接口中IP最大的
- 物理接口中最大的
补充:在整个ospf网络具有唯一性
area
作用:
范围及格式:
ospf的三个表
1:邻接表
查看命令:
display ospf peer
display ospf peer brief
标志包含的信息:
- 是哪个接口的邻居
- 邻居的route-id
- 邻居接口的id
- 邻居间的状态
- DR/BDR是谁
2:LSDB表 所有LSA的集合
查看命令
display ospf lsdb
3:路由表
查看命令
display IP routing-table protocol ospf