OSPF使用hello数据包建立邻居
邻居建立条件
1,区域必须一致
2,认证必须一致
3,hello interval 时间必须一致
4,Dead之间必须一致
5,Option 一致
6,接口掩码必须一致
邻居关系建立过程
1,down状态:发送出去hello数据但是没有接收hello数据包
2,initial状态:接收到hello数据包,但是在active neighbour没有发现自己router-id
3,2-way状态:接收到hello数据,且active neighbour现自己router-id,表明与对方已经建立成功邻居关系
OSPF网络类型
1,P2P网络类型
2,广播型 ‘
hello interval时间10s,dead 时间40s
3,NBMA 非广播型
hello时间 30s,dead 120
以上三种网络类型为OSPF自己自动可识别类型
4,P2MP 点到多点 只能是手动配置,设备无法自动识别
hello时间 30s,dead 120
cost=参考带宽/实际接口带宽,OSPF在计算cost时只累计in方向cost值
LSDB同步过程
在完成邻居关系建立后开始LSDB同步
1主从关系选择
1.1 R1发送DD数据包表明(SEQ =X Init=1、more=1 MS=1 )
1.2 R2发送DD数据包表明(SEQ =Y Init=1、more=1 MS=1 )
选择router-ID大的成为主设备,router-iD小的成为从设备,从设备使用主设备SEQ值发送DD数据包
exstart状态
2,正式发送DD数据包(携带具体的LSA头部信息)
R1(从)发送DD数据包携带目的LSA头部信息,SEQ=Y,如果有更多数据包则将more标识为1
如果没有标识为0,MS=0
R2 (主)发送DD数据包携带目的LSA头部信息,SEQ=Y+1,如果有更多数据包则将more标识为1
如果没有标识为0,MS=1
主设备依次将SEQ加一,发送DD数据包
从设备使用主设备制定SEQ发送DD数据包
直到双方都收到more=0,DD数据包则结束DD交互。
在收到DD数据包时如果自己缺少则记录缺少的DD数据包,放入请求列表。
注意: MTU值必须一致
LSA类型+LS ID+advertise router:标明一条LSA
age+LSA 序列号+checksum:标明一条LSA实例
在DD数据中精确到实例,路由接收最新实例;
3,在完成DD交互后
使用LSR向对方要自己没有的LSA
使用LSU向对方发送最新LSA实例给对方
使用LSack进行确认
loading状态
如果请求列表为空则结束loading进入full状态
LSA更新更新问题
1,在接收到LSA后,如果本地没有则直接接收该LSA
2,如果本地有则对比LSA是否为最新实例
2.1 如果是最新的则接收
2.2 如果不是是最新的则丢弃,同时将自己LSA发送给对方
1,比较SEQ,SEQ越大越新
2,如果SEQ相同则比较checksum值,越大越新
3,如果以上都相同则比较age值,越大越新
LSA最大老化时间:3600s,如果3600s 都没有被刷新则删除
LSA 刷新时间 1800s,始发路由器每隔1800s为该LSA产生一个新的实例
路由更新地址
224.0.0.5 所有OSPF路由器侦听处理
224.0.0.6 由Dother设备发送路由更新,DR和BDR侦听处理,当DR和BDR设备在收到224.0.0.6
发送的路由更新后,在使用224.0.0.5将更新发送到网络中
OSPF数据包TTL为1表示只能在直连网络传递
router-LSA(LSA-1类)
P2P网络:LSA-1直接写出拓扑信息+路由信息
拓扑信息:说明接口链接的设备信息和链路类型
Link-ID:对方的router-id
data:与对方相连接口IP地址(本端)
link type:说明网络类型
路由信息:与对方相连接口所在网段
link-ID:与对端相连接口IP地址所在网络前缀
data:接口掩码
多路访问网络:LSA-1只写出与DR互联的拓扑信息
拓信息:说明与DR互联接口IP地址
link-id:表示DR接口IP地址
data:与DR相连的接口IP地址(本端)
路由信息由Network-LSA描述
注意:LSID不一定是路由信息,在router-LSA 中与router-id相同
Network-LSA(LSA-2):网络LSA,由DR设备产生,描述拓扑信息和路由信息
attached router:说明与DR设备相连设备的router-id
LS ID:DR设备接口IP地址
netmask:该DR设备接口IP地址掩码
LSA-1和LSA-2只在同一个区域内传递构成的为图
骨干区域:0区域为骨干区域
区域内部路由:只在一个区域内且没有连接任何其他区域的路由器称之为区域内部路由器
ABR:区域边界路由,连接一个0区域且最少连接一个不同区域的路由器称之为区域边界路由器
区域间路由传递只用LSA-3类,有ABR相连区域LSA-1和LSA-2计算成为路由后发现其他区域
LSA-3 穿越所有区域
OSPF区域内链路状态路由协议,区域间距离矢量
LSA-3:携带的是路由信息
LSID 为 网络前缀
netmask 掩码
域间路由计算时:直接计算到达与本区域相连最近ABR
OSPF域间环路防止
1,普通区域必须与骨干区域相连(普通区域之间路由传递必须经过骨干区域)
2,ABR只接受来自骨干区域的LSA-3类型
3,OSPF只能有一个0区域
Vlink:虚链路属于0区域,用于在普通区域上将一台路由变成ABR
解决:将远离0区域的普通区域连接到0区域;
将分割的多个0区域连接到一起
OSPF路由优选顺序:域内路由(O)>域间路由(OIA)
LSA-5(外部路由LSA):用于引入外部路由
LSID:所引入外部路由前缀
Netmask:掩码
router-ID:ASBR router-id 产生该外部路由的设备ID,中间传递过程不能改变
LSA-4(ASBR汇总LSA):用于描述ABSR在哪里,由ABR产生,告知引入区域如何到达ABSR
LSID :为ABSR router-id
ASBR:自治系统边界路由,引入外部路由的OSPF路由器就称之为ASBR
外部路由cost计算:tyep2 不计算OSPF内部cost值; type1 累计OSPF内部cost值
type1 优先于 type2
FA地址:forwarding address 用于OSPF路由优化
OSPF引入默认路由:使用LSA-5引入默认路由
1,default-route-advertise 只有在本地存在默认路由是才可以成功引入默认路由
2,default-route-advertise always 无论本地是否存在默认路由都引入默认路由
stub区域:末梢区域,不接受LSA-4和LSA-5类,同时不产生外部路由
由于该区域相连的ABR使用LSA-3类向该区域下发一条默认路由;
Totally stub区域:完全末梢区域,不接受LSA-3 、LSA-4、LSA-5,
由于该区域相连的ABR使用LSA-3类向该区域下发一条默认路由;
NSSA:not so stub area,非严格末梢区域,不接受LSA-4 LSA-5,但是可以引入外部路由
使用LSA-7引入外部路由