OSPF 开放式最短路径优先协议
适用范围:IGP
是否携带网络掩码:携带
算法:LS 链路状态型协议, SPF算法, dijkstar序列空间
封装:基于IP封装,协议号89
一…OSPF 特点
- OSPF是一种典型的链路状态型路由协议,是一种地图式协议,现使用 OSPFV2,V1是实验室版本,V3是适用于IPV6协议的
- OSPF 使用SPF算法 (ISIS)
- OSPF更新信息:LSA—链路状态通告 ,既包含了路由信息由包含拓扑信息
LSA种类: 在OSPFV2中使用 1 、2、3、4、5、7类
路由信息:包含的接口的路由信息
拓扑信息:路由器之间的连接关系 - OSPF更新地址: 使用组播或单播更新,组播地址224.0.0.5 224.0.0.6
-
为什么需要30分钟的链路状态更新?OSPF更新方式:使用触发更新和30分钟的链路状态更新,
这与OSPF是链路状态型有关, 区分新旧LSA(依照属性),状态刷新是把新旧比较的一些属性清零,比如序列号不能无限增加。 - OSPF支持认证(链路认证、区域认证、虚链路认证)
- OSPF支持路由汇总(仅仅在某些特殊的路由器支持汇总)
- OSPF支持区域的划分
- OSPF非常消耗路由器资源,一个cisco设备上最大支持31个OSPF路由进程
- OSPF使用 cost(相当于带宽)计算metric (路由学习入方向)
100M / 真实带宽(单位M)=cost
二,.OSPF 区域设计
- OSPF 区域标识;使用十进制数或类似于IP地址方式
OSPF区域的划分:基于接口的(链路的)
OSPF 区域类型: 骨干区域:区域0
非骨干区域:非0区域 - OSPF 路由器角色:骨干路由器: 非骨干路由器:
ABR:区域边界路由器,能够产生3类LSA的路由器,简单理解就是路由器的接口在骨干区域还有接口在非骨干区域的路由器
ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器,简单理解就是在OSPF与其他协议之间的路由器,并且需要把其他路由引入到OSPF中。 - OSPF 区域设计原则 :
① .OSPF网络中必须存在并唯一的骨干区域(若OSPF仅仅存在一个区域可以为非0区域)
② .非骨干区域必须与骨干区域直接相连(非骨干不能非骨干直接相连)
不规则区域:1.不连续的0区域 2.非骨干没有挂靠在骨干区域之上
4.区域划分的优点:1.减少LSA的数量 2.减少LSA的传播范围
在区域内部传递路由和拓扑信息,在区域间传递路由信息(是距离矢量型的)
OSPF配置
-
启用OSPF
Router-id:标识路由器的唯一性
产生方式:1.手工指定优先 2.环回最大 3.物理接口最大的
也可以这样通告:
-
OSPF的邻居表
FULL邻接状态 Dead time:与网络类型有关 30 120或10 40 show IP ospf inter查看 -
OSPF LSDB(链路状态数据库)
存放学习,自己产生的LSA信息
存在的是LSA的目录信息,并不是具体的LSA信息
查看详细的LSA信息,show IP ospf database router
Link-ID 链路标识符
标记一条LSA(1.类型 2.link-id(不一定是router-id)3.ADV router 谁产生的LSA信息)
AGE:老化时间 seq:序列号 checksum:校验和,这三者是进行LSA新旧比较的
比较方法: 1.最大的序列号
2.最大的校验和
3.若LSA时间只差小于15分 钟,则LSA age较小更新的, 若大于15分钟,不能判断(同为最新)
序列号:1.直线型序列空间
比如第一次发送某个网段,那么序列号是00000001,那么第二次发送这个网段的话,序列号就是00000002,则大的是新的,但是缺点是空间小
2.循环序列空间
就是一个圈,转圈一次增加,这个也不能详细比较
3.棒棒糖序列空间
在直线是一次增加,到了圈后继续转圈比,那么圈就比直线新。
比如2.2.2.0第一次产生是0X8000 0000,就是在直线最底部,触发一次0X8000 0001,到达直线最顶部就是0XFFFF FFFF,就到圈了,也就是0X0000 0000,接着触发更新就是0X0000 0001,最后转了一圈是0X7FFF FFFE,再继续就是0X0000 0000,接着触发一次又是0X0000 0001,这样就会面临与上面两个一致的问题,所以这里引出第二个LSA age。
LSA age就是1800s,也就是说到达30分钟后,LSA置为死亡,那么如果在30分钟之前达到0XFFFF FFFE呢?
这样触发一次再发送一条LSA,里面的序列号是不会变的,但是LSA age变为3600秒,这时候会被强制置为死亡状态。接着会继续上面的过程,也就是0X8000 0000重新开始。如果存在序列号是一致的,比较校验和就行,最大的肯定是新的 如果序列号,校验和都一致,那么比较LSA age,若LSA时间只差小于15分钟,则LSA age较小更新的, 若大于15分钟,不能判断(同为最新)
如果存在一条LSA的age是3600秒,绝对是最新的,不是再依照顺序比较。
周期链路刷新会将LSA的序列号从0X0800 0001开始,那么就可以判断是新的
优化机制:
如果大量的LSA的age时间相差一秒,那么就会存在一秒刷新一个,30分钟的链路状态刷新并不是基于时间的,而是LSA age的,那么为了解决这个问题,在有一条LSA的age达到1800秒,并不会删除,等4分钟,到达2040秒,就会把所有LSA age在1800秒以上的都删除。
3.IP路由表