OSPF:开发式最短路径优先协议
2022-01-18 20:57:41 5 举报
AI智能生成
OSPF协议的总结
作者其他创作
大纲/内容
第一部分
OSPF协议的目的:
无类别链路状态型IGP协议;由于其基于拓扑进行更新收敛,故更新量会随着拓扑的变大而成指数上升;故OSPF协议为了能在大、中型网络中运行,需要结构化的部署----合理的区域划分、良好的地址规划 正常等开销负载均衡; 跨层封装协议,协议号89;
组播更新 224.0.0.5 224.0.0.6 触发更新+周期更新(30min)
组播更新 224.0.0.5 224.0.0.6 触发更新+周期更新(30min)
判断路由协议的好坏:
1、收敛速度快 2、选择路径佳(前提防环) 3、占用资源少
一、OSPF的数据包 -- 5种:
hello包 -- 组播收发,用于邻居、邻接关系的发现、建立、周期保活
DBD -- 数据库描述包-- 本地LSDB(链路状态数据库)目录
LSR---链路状态请求 -- 用于询问对端本地未知的LSA信息
LSU-- 链路状态更新 -- 用于共享具体的每一条LSA信息
LSA--链路状态通告--具体的一条一条 路由或者拓扑信息,不是一种数据包,所有的LSA是使用LSU这种包来转发的;
LSack 链路状态确认 -- 确认包
OSPF的数据包是跨层封装于3层报头后方 ,协议号89
二、OSPF的状态机 -- 两台OSPF路由器间不同关系的阶段
Down 一旦接收到对端的hello包进入下一个状态
Init 初始化 若接收到的hello包中存在本地的RID,那么进入下一个状态机
2way 双向通讯 邻居关系建立的标志
条件:点到点网络直接进入下一个状态机;MA网络进行DR/BDR选举,非DR/BDR之间不能进入下一个状态机;
Exstart预启动 使用不携带数据库目录信息的DBD包,进行主从关系的选举,RID数值大为主,优先进入下一个状态机
exchange准交换 使用携带数据库目录信息的DBD包,进行目录共享,需要ACK确认
loading加载 接收到其他邻接的目录信息后,和本地进行比对,若本地存在未知的LSA信息,将使用LSR询问对端,对端使用LSU来更新这些LSA信息,直至双方数据库一致;
LSU需要ACK确认;
LSU需要ACK确认;
Full 转发 标志着邻接关系已经建立;
三、OSPF的工作过程
路由器上启动OSPF协议后,直连的邻居间,开始组播收发hello包,hello包中将存储本地已知邻居的RID,在双方RID均已知的情况下,建立邻居关系,生成邻居表;
邻居关系建立后,邻居间将进行条件匹配,匹配失败将停留为邻居关系,仅hello周期保活即可;匹配成功者间将进行邻接关系的建立;
邻接关系间的路由器,将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息;使得同一区域内所有路由器的数据库完全一致;---- 数据库表;
当本地数据库完成同步后,将数据库-->有向图-->树型结构图-->将本地到达所有未知网段的最短路径加载于本地路由表中;
收敛完成,仅hello包周期保活即可;正常每30min,邻接关系间再进行一次DBD的对比,若一致及正常;若不一致将马上进行同步;
结构突变:触发更新
1、断开网段 直连断开网段的设备,直接使用LSU告知邻接,需确认
2、新增网段 直连新增网段的设备,直接使用LSU告知邻接,需确认
3、无法沟通 hello time 对应的 dead time ;dead time 到时时,断开邻居关系,去除基于该邻接共享的LSA计算所得路由;
子主题
子主题
四、OSPF的基础配置
[r1]ospf 1 router-id 1.1.1.1 启动时,定义进程号,仅具有本地意义;建议配置RID;
RID格式为ipv4地址,且需要全网唯一; 手工配置--环回接口上取最大数值的ip地址---物理接口上最大ip地址的数值
RID格式为ipv4地址,且需要全网唯一; 手工配置--环回接口上取最大数值的ip地址---物理接口上最大ip地址的数值
宣告:1、区域划分 2、接口激活协议 3、传递接口信息
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
[r1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255
区域划分规则:
1、星型结构 -- 区域0为骨干 大于0为非骨干 非骨干区域必须直连骨干区域
ABR--区域边界路由器 两个区域间必须依靠ABR连接
1、星型结构 -- 区域0为骨干 大于0为非骨干 非骨干区域必须直连骨干区域
ABR--区域边界路由器 两个区域间必须依靠ABR连接
启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表:
hello包 -- 组播收发 周期发送 -- hello time 10s 或30s dead time 为hello time 4倍 邻居间hello包中有一些参数必须完全一致,否则无法建立邻居关系;
Hello 和dead time 、区域ID、认证参数、末梢区域标记;另外在华为的设备中OSPF要求邻居间接口上配置的ip地址,其掩码长度必须一致;[r2]display ospf peer 查看邻居表
[r2]display ospf peer brief 查看邻居关系简报
hello包 -- 组播收发 周期发送 -- hello time 10s 或30s dead time 为hello time 4倍 邻居间hello包中有一些参数必须完全一致,否则无法建立邻居关系;
Hello 和dead time 、区域ID、认证参数、末梢区域标记;另外在华为的设备中OSPF要求邻居间接口上配置的ip地址,其掩码长度必须一致;[r2]display ospf peer 查看邻居表
[r2]display ospf peer brief 查看邻居关系简报
当邻居关系建立后,邻居间进行条件匹配,匹配失败,将保持为邻居关系;匹配成功,将建立为邻接关系,邻接关系将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息,同步生成数据库表---LSDB 链路状态数据库
[r2]display ospf lsdb 查看数据库表
[r2]display ospf lsdb 查看数据库表
数据库表同步完成后,邻接间的互动完成,仅hello包保活;之后本地基于本地的数据库表;
转换为有向图,再转换为树形结构,最终将本地到达所有未知网段的最短路径,加载于本地的路由表中:
转换为有向图,再转换为树形结构,最终将本地到达所有未知网段的最短路径,加载于本地的路由表中:
五、关于OSPF协议从邻居建立成为邻接的条件
在点到点网络中,所有的邻居关系必然成为邻接关系
在MA网络中从邻居到邻接前将利用一个周期的dead time;进行DR/BDR选举;
先比较这些参选接口的优先级,默认1,取值范围0-255;越大越好,0标识不参选;
DR优先级最大,BDR次大;选举非抢占,故若希望干涉选举,需要重启ospf进程,或者将非DR/BDR修改为0;
先比较这些参选接口的优先级,默认1,取值范围0-255;越大越好,0标识不参选;
DR优先级最大,BDR次大;选举非抢占,故若希望干涉选举,需要重启ospf进程,或者将非DR/BDR修改为0;
第二部分
一、关于OSPF的不规则区域问题
1、远离骨干的非骨干
2、不连续骨干
1、远离骨干的非骨干
2、不连续骨干
解决方案:
1、tunnel 在骨干区域与非法ABR间建立一条隧道,之后将该隧道链路宣告到OSPF协议中
缺点:
1)周期的hello与更新,包括触发更新,将一致占用中间穿越区域;
2)选路不佳
1、tunnel 在骨干区域与非法ABR间建立一条隧道,之后将该隧道链路宣告到OSPF协议中
缺点:
1)周期的hello与更新,包括触发更新,将一致占用中间穿越区域;
2)选路不佳
2、OSPF的虚链路
由非法ABR设备,通过直连区域的合法ABR进行授权,来转发路由
由于没有新增链路,故不存在选路不佳问题
[r2]ospf 1
[r2-ospf-1]area 1 两台ABR间的直连区域(同时处于该区域)
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 对端ABR的RID
[r2]display ospf vlink
缺点:虚链路上的两台ABR间的周期资源占用问题;
1)在思科中,取消两台设备的周期行为,hello、更新均收发一次;--不可靠
2)在华为中,保留周期--占资源
由非法ABR设备,通过直连区域的合法ABR进行授权,来转发路由
由于没有新增链路,故不存在选路不佳问题
[r2]ospf 1
[r2-ospf-1]area 1 两台ABR间的直连区域(同时处于该区域)
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 对端ABR的RID
[r2]display ospf vlink
缺点:虚链路上的两台ABR间的周期资源占用问题;
1)在思科中,取消两台设备的周期行为,hello、更新均收发一次;--不可靠
2)在华为中,保留周期--占资源
3、多进程双向重发布;
ospf多进程:一台路由器上的多个进程,每个进程拥有自己的数据库,独立计算路由条目,且计算所有不共享;最终将所有最佳路径加载于同一张路由表内;
路由器的一个接口只能工作在一个进程中;
可用于解决不规则区域,将不规则位置工作不同的进程中,实现分开,之后利用重发布技术来共享路由表; 解决了选路不佳和资源占用的问题
[r4]ospf 1
[r4-ospf-1]import-route ospf 2
[r4-ospf-1]q
[r4]ospf 2
[r4-ospf-2]import-route ospf 1
ospf多进程:一台路由器上的多个进程,每个进程拥有自己的数据库,独立计算路由条目,且计算所有不共享;最终将所有最佳路径加载于同一张路由表内;
路由器的一个接口只能工作在一个进程中;
可用于解决不规则区域,将不规则位置工作不同的进程中,实现分开,之后利用重发布技术来共享路由表; 解决了选路不佳和资源占用的问题
[r4]ospf 1
[r4-ospf-1]import-route ospf 2
[r4-ospf-1]q
[r4]ospf 2
[r4-ospf-2]import-route ospf 1
二、OSPF的数据库表
类别名 link-id(页面)
所有类别LSA均携带的信息
Type : Router 类别名 此处为1类
Ls id : 2.2.2.2 link-id 在目录中的页码号
Adv rtr : 2.2.2.2 通告者,该条LSA发出起源设备的RID
Ls age : 1255 老化时间,正常1800s周期归0,触发归0;最大老化3609s
Len : 48 长度
Options : ABR E
seq# : 80000016 序列号
chksum : 0x4baa 校验和码
LSA类别 传播范围 通告者 携带信息
LSA1 Router 单区域,本地所在区域 单区域内的所有路由器 本地直连拓扑
LSA2 Network 单区域,本地所在区域 DR 单个MA网段的拓扑
LSA3summary 整个OSPF域 ABR 域间路由条目
LSA4 asbr 除ASBR所在区域外的 与ASBR在一个区域 ASBR所在位置
整个ospf域 直连区域0的ABR
ASBR所在区域基于1类获取ASBR位置
LSA5 ase 整个OSPF域 ASBR 域外路由条目
LSA7 nssa 单个NSSA区域 ASBR 域外路由条目
LSA类别 link-id 通告者
LSA1 Router 通告者的RID 单区域内的所有路由器
LSA2 Network DR接口的ip地址 每个MA网段内的DR
LSA3summary 域间路由的目标网络号 ABR,在经过下一台ABR时,修改
LSA4 asbr ASBR的RID ABR,在经过下一台ABR时,修改
LSA5 ase 域外路由的目标网络号 ASBR
LSA7 nssa 域外路由的目标网络号 ASBR
所有类别LSA均携带的信息
Type : Router 类别名 此处为1类
Ls id : 2.2.2.2 link-id 在目录中的页码号
Adv rtr : 2.2.2.2 通告者,该条LSA发出起源设备的RID
Ls age : 1255 老化时间,正常1800s周期归0,触发归0;最大老化3609s
Len : 48 长度
Options : ABR E
seq# : 80000016 序列号
chksum : 0x4baa 校验和码
LSA类别 传播范围 通告者 携带信息
LSA1 Router 单区域,本地所在区域 单区域内的所有路由器 本地直连拓扑
LSA2 Network 单区域,本地所在区域 DR 单个MA网段的拓扑
LSA3summary 整个OSPF域 ABR 域间路由条目
LSA4 asbr 除ASBR所在区域外的 与ASBR在一个区域 ASBR所在位置
整个ospf域 直连区域0的ABR
ASBR所在区域基于1类获取ASBR位置
LSA5 ase 整个OSPF域 ASBR 域外路由条目
LSA7 nssa 单个NSSA区域 ASBR 域外路由条目
LSA类别 link-id 通告者
LSA1 Router 通告者的RID 单区域内的所有路由器
LSA2 Network DR接口的ip地址 每个MA网段内的DR
LSA3summary 域间路由的目标网络号 ABR,在经过下一台ABR时,修改
LSA4 asbr ASBR的RID ABR,在经过下一台ABR时,修改
LSA5 ase 域外路由的目标网络号 ASBR
LSA7 nssa 域外路由的目标网络号 ASBR
三、OSPF优化--减少LSA的更新量
1、汇总 --- 减少骨干区域的路由条目数量
【1】汇总--OSPF协议不支持接口汇总,在一个区域内,邻接间传递的是拓扑信息,不能进行汇总;故只能在交互路由的边界设备进行汇总
1)域间路由汇总--在区域间的ABR上,交互区域间路由条目时进行汇总配置
[r2]ospf 1
[r2-ospf-1]area 1 本地通过该区域1/2类LSA计算所得路由,可以汇总后传递给其他区域
[r2-ospf-1-area-0.0.0.1]abr-summary 3.3.0.0 255.255.252.0
[r2]ospf 1
[r2-ospf-1]area 1 本地通过该区域1/2类LSA计算所得路由,可以汇总后传递给其他区域
[r2-ospf-1-area-0.0.0.1]abr-summary 3.3.0.0 255.255.252.0
2)域外路由汇总---ASBR在将外部的路由条目通过重发布协议,共享到OSPF协议中时;
可以进行汇总
[r4]ospf 1
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
可以进行汇总
[r4]ospf 1
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0
2、特殊区域-- 减少非骨干区域的路由条目数量
【2】 特殊区域 -- 用于减少各个非骨干区域的LSA数量
不能为骨干区域,不能配置虚链路
不能为骨干区域,不能配置虚链路
[1] 同时不能存在ASBR
1)末梢区域--拒绝4/5类的LSA;由该区域连接骨干区域的ABR向该区域发布一条3类的缺省
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub
注:该区域内的所有路由器均需配置该命令
2)完全末梢区域 在末梢区域的基础上,进一步拒绝3类的LSA;仅保留一条3类的缺省路由
先将整个区域所有路由器配置为末梢区域;然后仅再在连接骨干区域的ABR上配置完全即可
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub no-summary
1)末梢区域--拒绝4/5类的LSA;由该区域连接骨干区域的ABR向该区域发布一条3类的缺省
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub
注:该区域内的所有路由器均需配置该命令
2)完全末梢区域 在末梢区域的基础上,进一步拒绝3类的LSA;仅保留一条3类的缺省路由
先将整个区域所有路由器配置为末梢区域;然后仅再在连接骨干区域的ABR上配置完全即可
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]stub no-summary
[2] 存在ASBR
1)NSSA 非完全末梢区域 -- 该区域将拒绝4/5类LSA,由该区域连接骨干区域的ABR向该区域发布一条7类的缺省路由;该区域内的ASBR导入域外路由时,基于7类导入,之后通过该区域连接骨干的ABR传递到骨干区域时,转换为5类进入骨干区域;
NSSA设计的重点,不是减少该区域内ASBR产生的域外路由,而是网络中其他部分的ASBR产生的域外路由;
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa 本区域内部所有设备均需配置
2)完成NSSA --- 在NSSA的基础上,进一步拒绝3类LSA的进入,由该区域连接骨干区域的ABR向该区域发布一条3类的缺省
先将该区域配置为NSSA区域,之后仅在该区域连接骨干的ABR上配置完全即可
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa no-summary
1)NSSA 非完全末梢区域 -- 该区域将拒绝4/5类LSA,由该区域连接骨干区域的ABR向该区域发布一条7类的缺省路由;该区域内的ASBR导入域外路由时,基于7类导入,之后通过该区域连接骨干的ABR传递到骨干区域时,转换为5类进入骨干区域;
NSSA设计的重点,不是减少该区域内ASBR产生的域外路由,而是网络中其他部分的ASBR产生的域外路由;
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa 本区域内部所有设备均需配置
2)完成NSSA --- 在NSSA的基础上,进一步拒绝3类LSA的进入,由该区域连接骨干区域的ABR向该区域发布一条3类的缺省
先将该区域配置为NSSA区域,之后仅在该区域连接骨干的ABR上配置完全即可
[r2]ospf 1
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]nssa no-summary
第三部分
ospf扩展配置:
1、认证 ---在直连的邻居或邻接之间,配置身份核实秘钥来保障邻居、邻接间数据沟通的安全性
1)接口认证
在直连连接的接口上配置
[r6-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
两端的模式、编号、秘钥必须完全一次
在直连连接的接口上配置
[r6-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
两端的模式、编号、秘钥必须完全一次
2)区域认证
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456
将该路由器R1,所有属于区域1的接口全部进行认证
[r1]ospf 1
[r1-ospf-1]area 1
[r1-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456
将该路由器R1,所有属于区域1的接口全部进行认证
3)虚链路认证
[r10-ospf-1-area-0.0.0.4]vlink-peer 9.9.9.9 md5 1 cipher 123456
[r10-ospf-1-area-0.0.0.4]vlink-peer 9.9.9.9 md5 1 cipher 123456
沉默接口
用于路由器连接PC终端设备的接口,这些接口为全网可达,会在路由协议中被宣告;故这些接口也会周期向下方的终端发送路由协议信息,造成资源占用,及安全问题;故这些接口需要关闭发送RIP/OSPF等协议数据包行为--沉默接口(被动接口)
切记不要配置到路由器与路由器相连的骨干接口,将导致邻居间无法收发路由信息,无法建立邻居关系
[r2]ospf 1
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
切记不要配置到路由器与路由器相连的骨干接口,将导致邻居间无法收发路由信息,无法建立邻居关系
[r2]ospf 1
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
加快收敛
通过修改邻居间hello 和dead time,可以实现加快收敛,但频率过高后也会占用更多硬件资源;故hello time为10s时,不太建议再加快; hello time 为30s时可以酌情修改;
邻居间的hello time和dead time 必须完成一致,否则无法建立邻居关系;
修改本端的hello time,本端的dead time自动4被关系匹配;对端时间不变,需要手工将两端配置完全一致;
[r2-GigabitEthernet0/0/0]ospf timer hello 10
邻居间的hello time和dead time 必须完成一致,否则无法建立邻居关系;
修改本端的hello time,本端的dead time自动4被关系匹配;对端时间不变,需要手工将两端配置完全一致;
[r2-GigabitEthernet0/0/0]ospf timer hello 10
缺省路由
1)3类缺省 特殊区域自动产生;末梢、完全末梢、NSSA、完全NSSA
末梢、完全末梢、完全NSSA这3中特殊区域,会在配置完成后,由该区域连接骨干区域的ABR向该区域内部发送;
在华为设备中,NSSA和完全NSSA,会在配置完成后,由该区域连接骨干区域的ABR向内部发布7类的缺省路由;
因此完全NSSA将拥有3类和7类两种缺省,内部优于外部,故信任3类;
末梢、完全末梢、完全NSSA这3中特殊区域,会在配置完成后,由该区域连接骨干区域的ABR向该区域内部发送;
在华为设备中,NSSA和完全NSSA,会在配置完成后,由该区域连接骨干区域的ABR向内部发布7类的缺省路由;
因此完全NSSA将拥有3类和7类两种缺省,内部优于外部,故信任3类;
2)5类缺省-- 外部路由,重发布产生的;
本地路由器的路由表中,存在任意方式产生的缺省路由后,通过专门的指令,将其重发布到OSPF协议中;
[r9]ospf 1
[r9-ospf-1]default-route-advertise 将本地路由表中通过其他方式获取的缺省路由,重发布到内部的OSPF协议中 默认导入类型2路由
[r9-ospf-1]default-route-advertise always 强制重发布缺省路由--即便本地路由表中没有缺省路由,也强制向内部发布一条缺省路由 默认导入类型2路由
[r9-ospf-2]default-route-advertise type 1 修改为类型1;
本地路由器的路由表中,存在任意方式产生的缺省路由后,通过专门的指令,将其重发布到OSPF协议中;
[r9]ospf 1
[r9-ospf-1]default-route-advertise 将本地路由表中通过其他方式获取的缺省路由,重发布到内部的OSPF协议中 默认导入类型2路由
[r9-ospf-1]default-route-advertise always 强制重发布缺省路由--即便本地路由表中没有缺省路由,也强制向内部发布一条缺省路由 默认导入类型2路由
[r9-ospf-2]default-route-advertise type 1 修改为类型1;
3)7类缺省 --- NSSA或完全NSSA,自动由该区域连接骨干的ABR发出,但在完全NSSA中还会产生3类缺省,故完全NSSA中7类缺省无意义;
默认5类一样也是类型2;
[r6-ospf-1-area-0.0.0.3]nssa default-route-advertise
手工产生7类缺省,前提在NSSA区域中
若一台设备同时学习到的多条不同类别的缺省路由:
内部优于外部 故 3类优于5/7
若均为5类 或均为7类 类型1优于类型2 类型相同,比较优先级,优先级相同比较cost值,完全一致负载均衡;
若5、7类相遇,类型1优于类型2;类型相同,比较优先级,优先级相同比较cost值,完全一致5类优于7类;
默认5类一样也是类型2;
[r6-ospf-1-area-0.0.0.3]nssa default-route-advertise
手工产生7类缺省,前提在NSSA区域中
若一台设备同时学习到的多条不同类别的缺省路由:
内部优于外部 故 3类优于5/7
若均为5类 或均为7类 类型1优于类型2 类型相同,比较优先级,优先级相同比较cost值,完全一致负载均衡;
若5、7类相遇,类型1优于类型2;类型相同,比较优先级,优先级相同比较cost值,完全一致5类优于7类;
第四部分
【1】用关于OSPF状态机的问题
1)在MA网络中(进行DR/BDR选举)存在7种状态机
init是路由器A收到邻居B的hello包,但该hello包中没有A的RID;
init是路由器A收到邻居B的hello包,但该hello包中没有A的RID;
2)在点到点网络init状态机在判断可以建立邻居后,直接进入exstart状态机;没有2way状态机----6种状态机
在点到点网络实际仅存在邻接关系;在MA网络(选举DR/BDR)网络中存在邻居和邻接关系;
在点到点网络实际仅存在邻接关系;在MA网络(选举DR/BDR)网络中存在邻居和邻接关系;
3)若邻接间的数据库默认一致,将不需要进入loading状态机;
4)在hello时间较大时,比如p2mp和nbma工作方式,默认hello time为30s;
hello包收发的间隔较大,从down状态到init需要很长时间的等待,故在两种状态机,存在一个尝试状态机;
hello包收发的间隔较大,从down状态到init需要很长时间的等待,故在两种状态机,存在一个尝试状态机;
5)华为设备中ospf存在加速建邻机制--- 在两台路由器进行过一次邻接关系建立后,双方存在对端的缓存信息后;二次建邻时将快速完成状态机的切换;--前提是缓存未删除---认证或拥塞
【2】关于OSPF的DBD包--- 排序问题(隐性确认问题)
首先在exstart状态机,邻接设备间会使用不携带LSA头部信息的DBD包进行主从关系的选举,该选举的作用决定了那台设备优先进入exchange状态机的顺序;
同时在exchange状态时,邻接间将收发携带LSA头部信息的DBD包;可能由于LSA头部信息较多,将多次收发DBD,也需要进行排序;
所以主优先进入exchange,主在exchange优先发送DBD,在发送一个DBD后,需要接收到对端的DBD后,才能发出下一个DBD;目的在于避免两端同时发送携带LSA的DBD报头,导致链路拥塞; 故为了顺序正常,DBD需要进行隐性确认;
同时在exchange状态时,邻接间将收发携带LSA头部信息的DBD包;可能由于LSA头部信息较多,将多次收发DBD,也需要进行排序;
所以主优先进入exchange,主在exchange优先发送DBD,在发送一个DBD后,需要接收到对端的DBD后,才能发出下一个DBD;目的在于避免两端同时发送携带LSA的DBD报头,导致链路拥塞; 故为了顺序正常,DBD需要进行隐性确认;
隐性确认:
从在收到主的DBD包后,复制该DBD包的序列号回复DBD;
在主或从未完成所有LSA头部信息的共享前,对端设备需要使用空包(不携带LSA信息,但复制了对端序列号的DBD)来完成确认;
隐性确认可以让ospf协议在exchange状态机取消ACK的确认;
从在收到主的DBD包后,复制该DBD包的序列号回复DBD;
在主或从未完成所有LSA头部信息的共享前,对端设备需要使用空包(不携带LSA信息,但复制了对端序列号的DBD)来完成确认;
隐性确认可以让ospf协议在exchange状态机取消ACK的确认;
DBD报头中存在标记位来告知邻接,是不是本地第一个DBD和最后一个DBD,同时标记主从关系;
I 为1 标识本地第一个DBD M位为一标识不是本地最后一个DBD
MS 位为1标识主,为0标识从; 第一次收发的DBD两端均人为是主;
DBD包中将携带接口的MTU值,两端MTU不一致将卡在exstart或exchange状态机;
默认华为不检测接口的MTU;
[r7]interface GigabitEthernet 0/0/1
[r7-GigabitEthernet0/0/1]ospf mtu-enable 开启接口mtu检测
I 为1 标识本地第一个DBD M位为一标识不是本地最后一个DBD
MS 位为1标识主,为0标识从; 第一次收发的DBD两端均人为是主;
DBD包中将携带接口的MTU值,两端MTU不一致将卡在exstart或exchange状态机;
默认华为不检测接口的MTU;
[r7]interface GigabitEthernet 0/0/1
[r7-GigabitEthernet0/0/1]ospf mtu-enable 开启接口mtu检测
「3]ink-id相同的问题
若一台ABR将两条3类LSA导入其他区域;同时这两条LSA的link-id会相同;
假设:短掩码网段先进入,link-id正常显示;长掩码进入时link-id加反掩码
20.1.0.0/16--link-id 20.1.0.0
20.1.0.0/24--link-id 20.1.0.255
若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码;
假设:短掩码网段先进入,link-id正常显示;长掩码进入时link-id加反掩码
20.1.0.0/16--link-id 20.1.0.0
20.1.0.0/24--link-id 20.1.0.255
若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码;
「4」OSPF选路规则
拓扑优于路由 1/2LSA计算所得路由优于3/4/5/7类计算所得
内部优于外部 3类优于4/5/7类
类型1优于类型2 E1优于E2,N1优于N2,E1优于N2,N1优于E2;
E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类
同一路由本地基于骨干区域和非骨干均学习到,不比较度量,直接优选骨干--非骨干传递的路由无效
OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;避免环路产生
内部优于外部 3类优于4/5/7类
类型1优于类型2 E1优于E2,N1优于N2,E1优于N2,N1优于E2;
E1与N1相遇,或E2与N2相遇,先比总度量(起始+沿途)小优;度量一致5类优于7类
同一路由本地基于骨干区域和非骨干均学习到,不比较度量,直接优选骨干--非骨干传递的路由无效
OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;避免环路产生
【5】FA-转发地址(正常OSPF区域收到的5类LSA不存在FA值;)
产生FA的条件:
1、5类LSA ---- 假设R2为ASBR,g0/0口工作的OSPF中,g0/1口工作在非ospf协议或不同ospf进程中;若g0/1也同时宣告在和g0/0相同的OSPF进程中,同时该接口的工作方式为广播型;
将在5类LSA中出现FA地址,地址为R2连接R3网段中R3的接口ip;
将在5类LSA中出现FA地址,地址为R2连接R3网段中R3的接口ip;
2、7类LSA---必然出现FA地址
假设R9为ASBR,S0/0口工作的OSPF中,S0/1口工作在非ospf协议或不同进程中;
S0/1未运行OSPF--FA地址为R9上最后宣告的环回地址(个别IOS也可能是最大环回接口ip地址),若R9没有环回接口;FA地址为R9上最后宣告的物理接口地址(个别IOS也可能是最大的物理接口ip地址)
假设R9为ASBR,S0/0口工作的OSPF中,S0/1口工作在非ospf协议或不同进程中;
S0/1未运行OSPF--FA地址为R9上最后宣告的环回地址(个别IOS也可能是最大环回接口ip地址),若R9没有环回接口;FA地址为R9上最后宣告的物理接口地址(个别IOS也可能是最大的物理接口ip地址)
R9的S0/1也工作OSPF协议中,S0/1接口工作方式为广播,那么FA地址为R10接口ip;
S0/1的工作方式为点到点,那么FA地址为R9的s0/1口ip
切记:在FA地址出现后,4类LSA无效;人为过滤掉4类LSA,依然可达域外;
当4类LSA存在,却人为过滤了到达FA地址的路由,那么将无法访问域外;
一旦出现FA地址,所有的选路计算均基于FA地址进行;
1、针对存在FA的5/7类路由,4类LSA无意义,仅递归到FA地址;若FA地址被策略过滤导致不可达;
2、路由表中的度量是到FA地址的度量,不是到ASBR的度量;
S0/1的工作方式为点到点,那么FA地址为R9的s0/1口ip
切记:在FA地址出现后,4类LSA无效;人为过滤掉4类LSA,依然可达域外;
当4类LSA存在,却人为过滤了到达FA地址的路由,那么将无法访问域外;
一旦出现FA地址,所有的选路计算均基于FA地址进行;
1、针对存在FA的5/7类路由,4类LSA无意义,仅递归到FA地址;若FA地址被策略过滤导致不可达;
2、路由表中的度量是到FA地址的度量,不是到ASBR的度量;
【6】NP位+E位 P位被加密,故抓包时看不见P位;
正常NSSA区域内的1类LSA中,N=1 E=0 标识该区域转发7类LSA,不转发5类
非NSSA区域E=1 N=0 标识可以转发5类,不能转发7类
P位为1,标识该区域将执行7类转5类; P为0,不能7转5;
区域0连接到两个非骨干区域,这两个非骨干假设为区域1和区域2;区域1/2同时连接同一个外部协议,且同时进行了重发布配置;区域1为NSSA区域,区域2为非NSSA区域;那么此时的区域1,P位=0不能进行7转5;故骨干区域只能收到从区域2来的外部路由;
若NSSA和非NSSA均将同一条域外路由向内部传递,仅非NSSA区域可以实现;
若区域1和区域2均为NSSA区域,那么ABR的RID大区域进行7转5,另一个区域不转,
故同一条域外路由,骨干区域只能收到从一个NSSA区域传递的外部路由;若以上条件中,两个区域均为非NSSA区域,那么P位无效,故两个区域的路由均回进入骨干区域;
非NSSA区域E=1 N=0 标识可以转发5类,不能转发7类
P位为1,标识该区域将执行7类转5类; P为0,不能7转5;
区域0连接到两个非骨干区域,这两个非骨干假设为区域1和区域2;区域1/2同时连接同一个外部协议,且同时进行了重发布配置;区域1为NSSA区域,区域2为非NSSA区域;那么此时的区域1,P位=0不能进行7转5;故骨干区域只能收到从区域2来的外部路由;
若NSSA和非NSSA均将同一条域外路由向内部传递,仅非NSSA区域可以实现;
若区域1和区域2均为NSSA区域,那么ABR的RID大区域进行7转5,另一个区域不转,
故同一条域外路由,骨干区域只能收到从一个NSSA区域传递的外部路由;若以上条件中,两个区域均为非NSSA区域,那么P位无效,故两个区域的路由均回进入骨干区域;
【7】SFP算法 –OSPF防环机制
1、在同一个区域每台路由具有一致的LSDB
2、每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)
3、必须区域划分--
优势-1)域间汇总减少路由条目数量
2)汇总路由是在所有明细路由均消失后才删除,网络更稳定
3)区域划分后不同类别的LSA传播范围不同,控制更新量
总结:观看OSPF防环文档
过程--基于本地LSDB(1/2类LSA)生成--生成有向图--基于有向图来进行最短路径树生成
最短路径树,关注本地LINK-ID的LSA开始--》基于该LSA内提及到点到点或传输网络信息再查看link-id递归到下一条信息;基于所有点到点和传输网络信息生成最短路径树主干;
然后用树中每台设备的末梢网络信息补充路由表,完成收敛;
2、每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)
3、必须区域划分--
优势-1)域间汇总减少路由条目数量
2)汇总路由是在所有明细路由均消失后才删除,网络更稳定
3)区域划分后不同类别的LSA传播范围不同,控制更新量
总结:观看OSPF防环文档
过程--基于本地LSDB(1/2类LSA)生成--生成有向图--基于有向图来进行最短路径树生成
最短路径树,关注本地LINK-ID的LSA开始--》基于该LSA内提及到点到点或传输网络信息再查看link-id递归到下一条信息;基于所有点到点和传输网络信息生成最短路径树主干;
然后用树中每台设备的末梢网络信息补充路由表,完成收敛;
收藏
0 条评论
下一页