OSPF : 开放式最短路径优先协议
使用范围:IGP
协议算法特点: 链路状态型路由协议,SPF算法
协议是否传递网络掩码:传递网络掩码
协议封装:基于IP协议封装,协议号为 89
一.OSPF 特点
1.OSPF 是一种典型的链路状态型路由协议
2.传递信息称作LSA,LSA 链路状态通告,包含路由信息和拓扑信息。
路由LSA:描述本路由器上接口的路由信息
有网络号,掩码,开销值
拓扑LSA:描述路由器之间的连接状态
6种常见拓扑LSA
- 更新方式: 触发更新+30分钟的链路状态刷新
触发更新:网络结构稳定后,不发送路由信息
网络结构变化,立即发送路由信息
4.更新地址: 组播和单播更新,组播地址: 224.0.0.5(ALL SPF
router)支持所有路由 224.0.0.6 (ALL DR router)支持DR等
224.0.0.x组播地址叫本地链路组播,TTL=1,
RIP用224.0.0.9,思科RIP的显示2,实际是1
5.支持路由认证
6.支持手工汇总
7.支持区域划分
8.OSPF 比较消耗设备资源
二.OSPF 区域
区域划分的意义: 1.减少LSA的数量 2.减少LSA的传播范围
区域的划分是基于接口的(链路的),不是基于路由的
说白了就是必须有域间路由
区域的标记:使用了32个二进制(0-2^32) 1.十进制 2.类似于IP地址
A.B.C.D
区域的分类:
骨干区域: 区域标记为0或0.0.0.0
非骨干区域:区域标记不等于0或0.0.0.0
区域设计原则: 向日葵型网络结构 (星型网络结构)
1.OSPF网络中必须存在并唯一的骨干区域(单区域除外)
2.若存在非骨干区域,非骨干区域必须与骨干区域直接相连
OSPF中路由器的角色:
骨干路由器:
非骨干路由器:
ABR:区域边界路由器,能够产生3类LSA的路由器
ASBR:自治系统边界路由器,能够产生5类或7类LSA的路由器
非OSPF的路由引入ospf就是ASBR
三.OSPF 消息数据包
Hello DBD LSR LSU LSACK
hello: 周期性发送,周期时间10s或30s(根据不同的网络类型默认
10s或30s)
目的:建立并维持OSPF 邻居关系(邻居关系建立之后充当
保活包功能)
DBD:数据库描述数据包;
1.主从选举DBD: 比较双方的router-id ,router-id大的一方为主
(master ),小的一方为从
(slave);主用于控制LSA的交互
(slave);主用于控制LSA的交互
2.携带LSA头部信息的DBD
LSR: 链路状态请求,按照DBD中报文的未知LSA头部进行请求。
LSU:链路状态更新,携带LSA信息。
LSACK:链路状态确认
LSACK:链路状态确认
四.OSPF 邻居状态机制
Down、 init 、 attempt(尝试 过渡) 、 two-way 、 exstart 、
exchange 、loading 、full
组播地址
一个组播mac对应32个组播IP
Init ---初始化状态,一旦开始发送hello报文,进入初始化状态。
Two-way---双向通信状态(邻居状态),接收到包含自己router-id 的对方hello报
文。
邻居关系建立条件:
1.router-id 必须不同
2.area ID 相同
3.认证: 认证类型 (不认证=0 明文认证=1 MD5=2) 认证数据
4.hello时间,dead时间必须一致
5.特殊区域标识一致(E(外部路由位)=1 ; N(NSSA外部路由
位)=0 P=0)
重点看前5条↑
6.MA网络中,网络掩码必须一致
7.必须同时使用单播或组播更新
8.更新源检测(双方的IP地址必须在同一网段)
邻居状态下(two-way): MA的网络中会选举DR(指定路由器) BDR(备份指定路由器)
DR选举:
1.比较优先级 (范围:0-255,默认优先级为1 ,越大越 优)
2.比较各自的router-id,越大越优
注意:1.DR抢占是关闭的 2.DR是一个接口概念(并不是一个路由器,只是一个接口) 3.优先级范围 0-255,数字为0代表不参与选举 4.先选举BDR ,再升级为DR
主从选举:发生在exstart状态, 通过双方的router-id进行比较, router-id大的一方为主。 发送的
主从选举DBD,DBD中包含了MTU值(默认思科直接启用,华为中 默认不包含MTU,可以使用命令
激活传递MTU值的功能,若双方的MTU值不值则卡在exstart 状 态)。
Exstart---预启动状态,一旦开始发送主从DBD,则进入预启动状 态。
Exchange ---预交换,主从选举完成,则发送携带LSA头部信息的 DBD,进入预交换状态,会发送LSR数据包。(但是没有LSU)
Loading ---加载状态,一旦发送LSU数据包,进入了加载状态,进行 大量LSA的学习。
Full ---邻接状态。双方LSA同步(双方LSA全部学习)
OSPFV2----LSA 1 2 3 4 5 7
描述一条LSA:1.LSA 类型 2.link-ID 链路标识符 3.ADV router 产生路由器
1类LSA:router -LSA
功能: 本路由器针对某个区域产生的路由信息和拓扑信息
传播范围:本区域内传输(终止于ABR)
Link ID : 产生者的router-id
ADV router: 产生者的router-id
特性: 在单个区域中产生一条1类LSA,若存在MA网络,1类LSA不完整,需要配合二类LSA
生成路由信息以及拓扑信息。
1类LSA 内容类型:
1.stubnet(末节网络) ------路由信息
2.transnet(传输网络 仅限于MA网络)----拓扑信息
3.point-to-point ---拓扑信息
4.virtual link (虚链路)---拓扑信息
查看1类LSA :
OSPF LSA详解
2类LSA ,network LSA ,网络LSA
功能: 用于在MA网络中,描述本网络路由器的数量以及本MA网络的网络掩码
传播范围:只能在本区域之内传输,终止于ABR
Link ID:DR接口的IP地址
ADV router:DR所在路由器的router-ID
特性: 只会出现在MA网络,用于补充1类LSA(1.MA网络的掩码 2.MA网络路由器的数量)
3类LSA :summary LSA 汇总LSA
功能:用于在区域之间传递路由信息
link-id :传递路由的网络号
ADV router:默认为所在区域ABR的router-id
特性: 在穿越不同区域时,由其他的ABR重新产生(ADV router 是变化的)
查看:
5类LSA: 外部LSA
功能: 用于在整个OSPF中传递外部路由(原本不属于OSPF域)
5类LSA有两种类型: 类型1 类型2(区别: )
Link id :传递外部路由的网络号
ADV router : 产生该LSA的 router-id (产生本LSA的ASBR的router-id )
传播范围:在整个OSPF域中传输
特点:
4类LSA: summary ASBR LSA
功能:除了ASBR所在区域外,用于通告ASBR位置
Link id:ASBR的router-id
ADV router: 默认ASBR所在区域的ABR的 router-id
特点:在穿越不同区域时,由新的ABR重新产生。(与3类LSA一致)
7类LSA : NSSA LSA
功能: 在NSSA区域中,传递外部路由。
Link id :传递路由网络号
ADV router:产生该LSA的 router-id
特性:默认为类型2 ,度量值为1 。 携带了FA地址(转发地址)
FA: 转发地址,当5类或7类LSA中携带了FA地址,则计算路径开销值时计算的是当前路由器
到达FA地址的开销值之和+种子度量值。(若FA地址不可达,则路由不能加表)
FA 地址:
1.默认7类LSA 产生FA地址,5类LSA不产生的(7转5 的5类LSA 携带FA地址 )
2.7类LSA 产生规则:默认产生的FA地址:是产生该7类LSA 的ASBR 最大的环回接口地址 ;
若连接其他协议的接口也运行了OSPF协议,且络类型为BMA,则产生的7类LSA中FA地址为
连接其他协议接口对应的下一跳地址(本路由器上路由表条目中的下一跳地址);若网络
类型为P2P,则FA地址依然为环回接口中IP地址最大的
3.5类LSA FA地址规则: 默认不产生,若连接其他协议的接口运行了OSPF 协议并且网络类
型为BMA,则FA地址为重发布之前路由的下一跳地址,若网络类型为P2P,则不会产生FA 地址。
LSA中存在3个参数用于LSA的新旧比较:3600s的LSA 都是最优的.
1.序列号
2.校验和
3.LSA老化时间(若以上都相同,LSA age 之差小于15分钟,越小越优,若大于15分钟,则
无法比较 认为都是最新的。)