一. OSPF---开放式最短路径
rip缺点
· rip基于跳数选路
· rip有周期更新--30s
· rip最大跳数15---rip仅支持小规模网络
OSPF与RIP的对比
· 根据区别
OSPF是基于链路状态的协议,RIP是基于距离矢量的协议
基本概念
· IGP (AS内部使用)
· 链路状态型协议---LS--传递拓扑
· 传递真实掩码(无类别的路由协议)
· 优先级--10
· COST---参考带宽/实际带宽(参考带宽默认100M)
· OSPF版本
V1/v2 使⽤在ipv4中 v3使⽤在ipv6中 ⽆类别链路状态型路由协议 更新⽅式为触发更新 存在周 期更新 每30min更新⼀次 组播更新 更新地址为224.0.0.6⽤在串型链路中和224.0.0.5 ⽤在以太 ⽹环境中。⽀持等开销负载均衡默认4条最⼤6条
· 更新内容
· LSA--链路状态通告
· LSDB--链路状态数据库
· 更新方式
· 触发更新
· 周期链路状态刷新--30min
· OSPF是个及其消耗路由器资源的协议
二. OSPF区域化结构
· OSPF为了适应大型网络环境,进行了结构化部署----区域划分
· 区域数量不同,单区域OSPF网络/多区域OSPF网络
· 区域划分特点
· 区域内部传递拓扑信息,区域之间传递路由信息--经典的链路状态型协议的距离矢量特征
· 区域编号--方便管理
· 由32位二进制组成,点分十进制表示,更多情况用阿拉伯数字表示
· 区域0--骨干区域
· 其他区域--非骨干区域
· 单区域网络--这个区域必须是骨干区域
· 多区域网络--呈星型拓扑,并且所有的非骨干区域必须与骨干区域直接相连
· 区域划分是基于接口的
· 为什么要进行区域划分?
· 限制LSA的传播范围
· 减少LSA的数量
OSPF的工作过程:5个数据包,7个状态机,2种关系,3种角色和3种表
三. OSPF数据包
· hello: 用来周期保活,发现,建立OSPF邻居关系 10s dead 40s
· router-id---⽤来标识路由器 路由器的名字 默认使⽤最⼤环回地址,若没有环回地址使用的 最⼤物理接⼝地址,建议⼿⼯进⾏修改。
· 全网唯一
· 32位二进制
· 10秒发送一次来确认邻居存在
· 死亡时间---40S---4*hello
· dbd 数据库描述报文
· 包含了本地所有邻居的目录信息
· lsr 链路状态请求
· 请求获取本地未知的链路信息
· lsu 链路状态更新
· 真正的包含了LSA信息
· lsack 链路状态确认报文
四:OSPF的建邻过过程 OSPF的7个状态机--以太网
·down--关闭状态:当收到邻居发来的hello中有⾃⼰的hello则进⼊下⼀状态
·init--初始化状态:当邻居发来的hello中有⾃⼰的router-id则进⼊下⼀状态
·2-way--双向通信状态:邻居关系建⽴完成 选举master
条件匹配:匹配成功进入下一阶段,匹配失败,则永远停留在邻居状态
·exstart--预启动状态:使用未携带真实数据的DBD报文进行主从关系选举,router-id大为主,优 先进入下一阶段
·exchange--转交换状态:使用携带真实数据的DBD报文进行目录共享
·loading--加载状态:邻居之间使用LSR/LSU/LSAck三种报文来获取完整的拓扑信息
·full--转发状态:邻接关系建⽴完成,⽣存最短路径树,⽣成路由表加⼊路由表中
·为什么要有条件匹配?
· 在同一个广播域中,若所有设备都建立了邻接关系,则将出现大量的重复更新
· 条件匹配可以大量减少这些重复更新的数据报文,并且降低了邻接关系数量
4.1.工作过程
· OSPF首先启动,路由器A向本地所有的启动了OSPF协议的直连接口,使用组播地224.0.0.5 发送hello 报文,hello中包含了全网唯一的本地的RID值;之后对端路由器B也将回复一个hello报文该报文中若携带了A的RID值,则A与B建立邻居关系,并生成邻居表
· 邻居关系建立以后,邻居间会进行条件匹配,匹配失败则停留在邻居关系,匹配成功,则可以开始建立邻接关系
· 邻接之间共享DBD报文,将本地和邻接的DBD报文进行对比,进行主从关系选举,主优先进入下一状态
· 之后共享真正携带数据的DBD报文ÿ