Ospf (开放式最短路径优先协议)
Ospf基础
IGP协议:支持中到大型网络
Ls协议:链路状态协议(比较消耗资源)
无有类无类之分
封装格式
Layer2|ipv4|ospf|fcs 协议号89
组播地址:224.0.0.5 224.0.0.6(MA网络种才存在)
邻居之间交互lsa(链路状态通告):内部有链路状态信息
LSU内部由许多lsa组成
Hello报文作用:
- 邻居发现
- 周期发送 10s/30s一次,四倍周期时间未收到邻居的hello则邻居关系重置(周期性维护邻居关系)
Ospf lsa 支持周期性更新油支持触发更新,30min一次重新通告lsa,(链路状态数据库中有lsa老化计时器,默认为60min,30min重新通告)
Lsa传递方式
路由器将lsa发送给邻居,邻居将lsa加入链路状态数据库后,复制一份发送给他的邻居,此lsa会在一个区域内传到各个邻居,这个区域叫做area(lsa泛洪发送机制)
Ospf收敛前提
区域内一台路由器,收到区域内所有其他路由器的lsa则收敛,当大家的lsdb全部一样时,收敛就完成了(收敛机制)
Ls协议与dv协议最大区别
Ospf的拉萨不光直连邻居收到,整个区域每个ospf路由器都会收到,dv只会发送路由给直连路由器,收到更新后加表再将自己的路由的路由发送出去。
Lsdb(链路状态数据库)
计算整个网络的拓扑信息使用spf算法(最短路径优先算法)
类比
eigrp的拓扑表是山寨的,说是拓扑表,其实里边装的都是路由信息,而ospf是货真价实的拓扑信息
ospf基本特性
- ospf属于igp ls协议,基于IP协议 协议号89
- 采用spf算法计算最佳路径
- 以较低频率定期发送更新(30min传递一次)称之为链路状态刷新
- 网络变化时为触发更新,无视更新计时器,直接向邻居发送lsu
- 支持等价负载均衡
Spf:(根据lsdb查找最小cost路径加入路由表,以自己为树根的树形算法)
Ispf:增量型最短路径优先算法:用来计算拓扑信息
Prc:部分路由计算:计算路由条目使用
这两种是spf的算法拆分,不用每次变更网络都重新计算拓扑信息,只计算树干和数枝节点,一般树叶节点使用prc计算,可以有效地节省资源,拓扑计算消耗资源巨大。
Ospf一般情况下无环,但是收敛速度一般
三张表
- 邻居表
- 链路状态数据库(拓扑表)
- 路由表(转发数据库)
划分区域规则:由于不同区域之间使用lsa-3传递的是路由信息(基于传闻的lsa)则有可能会出现环路,为了防环,ospf规定必须使用层级区域划分(分为骨干区域和其他区域,所有区域都要与骨干区域area0挂靠,这样子产生的星型拓扑是不会有环路产生的。
Area0=area0.0.0.0
Area0:骨干区域,传输区域,传输lsa
若不划分区域,则一个区域内所有的路由器每隔三十分钟就要重新计算一次拓扑信息,(lsa没有限制)且无法做区域间的汇总,区域内是做不了汇总的,因为大家都知道明细信息,对每一个网段的明细路由都是清清楚楚的。
划分区域的作用:
- 优化网络环境
- 对其他区域路由可以实现汇总(因为lsa3只有路由信息没有拓扑信息)称之为区域间汇总
ospf路由器分类
abr(区域边界路由器):始发lsa-3 在这台路由器上针对三类lsa做汇总(区域间汇总)
asbr(自治系统边界路由器)除了ospf,也有其他协议做了路由重分发,引入了ospf,使用lsa-5传递,与三类一样都是路由条目 (区域外汇总)
ospf网络设计原则
- 普通区域必须链接area0,除非做隧道,单点双向重分发,vlink
- Area0有且只有一个,若同时存在两个area0,将都收不到对方的lsa-3
原因:abr分为两类:
1、真ABR:在area0种有full的邻居,遵信3类lsa的防环机制
2、伪ABR:在area0中无full的邻居,不遵循三类lsa的防环机制
Lsa防环机制:真ABR通过非骨干区域收到3类lsa,只能加入lsdb,无法计算路由。
邻居机制
- neighbor:只是交互hello报文,其他的都没有进行交互,邻居表中的状态为two-way
- adjacency:邻接关系,交互过lsu lsr lsack等报文,lsdb达到同步后的状态为FULL此时才称为邻接关系,邻居表中状态为full(此时才有资格交互lsa)
DR与BDR(指定路由器与备份指定路由器)
在ma网络和nbma网络中才会选举,除这两种以外的路由器叫做drother
选举机制
- 比较接口ospf优先级,谁大谁优
- 比较router-id,谁大谁优
选举时间为hello时间的4倍,wait interval(计时器)
Ma网络中先建立邻居成为TWO-WAY状态,等待DR BDR选举完毕再进一步达到full
MA网络收敛过程
- 所有路由器达到two-way状态
- 选举dr bdr
- 向dr和bdr通过组播224.0.0.6发送lsa
- 由dr通过组播224.0.0.5将lsa发送给其他邻居
Dr和bdr特性
- 在一个网络中选举,只具有本网段意义
- 一旦选出,默认无法抢占
- 优先级不能为0(为0代表不参与选举,没有资格进行选举)
- 选举有限时间4倍hell