OSPF总结

OSPF总结

第一部分

一、五种数据包
OSPF的数据包有5种

OSPF总结
hello包——组播收发,用于邻居、邻接关系的发现、建立、周期保活
DBD——数据库描述包 — 本地LSDB(链路状态数据库)目录
LSR——链路状态请求 — 用于询问对端本地未知的LSA信息
LSU——链路状态更新 — 用于共享具体的每一条LSA信息
LSack——链路状态确认 —确认包

LSA——链路状态通告 — 具体的一条一条 路由或者拓扑信息,不是一种数据包,所有的LSA是使用LSU这种包来转发的;

OSPF的数据包是跨层封装于3层报头后方 ,协议号89

OSPF总结
二、状态机
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确认;
Full 转发 标志着邻接关系已经建立;

三、工作过程
路由器上启动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计算所得路由;

四、路由前字母的涵义
字母O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
O 本地区域的路由;本地通过该区域的拓扑信息计算所得
O IA 域间路由,其他区域的路由;是ABR共享到本区域的路由
O E1/2 域外路由,其他协议或进程的路由条目;是ASBR重发布到OSPF的路由
O N1/2 域外路由,其他协议或进程的路由条目;是ASBR重发布到OSPF的路由,同时本地处于NSSA区域

五、OSPF的基础配置
[r1]ospf 1 router-id 1.1.1.1 启动时,定义进程号,仅具有本地意义;建议配置RID;
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

区域划分规则:
1、星型结构 – 区域0为骨干 大于0为非骨干 非骨干区域必须直连骨干区域
2、ABR–区域边界路由器 两个区域间必须依靠ABR连接

启动配置完成后,邻居间使用hello包建立邻居关系,生成邻居表:
hello包 – 组播收发 周期发送 – hello time 10s 或30s dead time 为hello time 4倍
OSPF总结
邻居间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 查看数据库表

数据库表同步完成后,邻接间的互动完成,仅hello包保活;之后本地基于本地的数据库表;
转换为有向图,再转换为树形结构,最终将本地到达所有未知网段的最短路径,加载于本地的路由表中:
display ip routing-table protocol ospf
默认ospf协议在华为设备中,优先级为10;度量为cost值
cost值=开销值= 参考带宽/接口带宽 默认参考带宽为100M
ospf协议将cost值之和最小定义为最佳路径,加载于本地路由表中
若接口带宽大于参考带宽,cost值为1,将可能导致选路不佳;可以修改默认的参考带宽
[r1]ospf 1
[r1-ospf-1]bandwidth-reference ?
INTEGER<1-2147483648> The reference bandwidth (Mbits/s)
[r1-ospf-1]bandwidth-reference 1000
切记:一旦修改,整个网络所有ospf路由器需要一致;

关于ospf的MTU问题:
在ospf协议的DBD包中将携带本地接口的MTU值,若两端一致可以正常建立邻居关系;若不一致将无法建立邻接关系;
默认华为设备不携带MTU;
[r1-ospf-1] int g0/0/1
[r1-GigabitEthernet0/0/1]ospf mtu-enable 两端设备均需开启

六、OSPF的接口网络类型
OSPF协议在不同的网络类型,其工作的方式不同
[r1]display ospf interface GigabitEthernet 0/0/1

     OSPF Process 1 with Router ID 1.1.1.1
             Interfaces

Interface: 12.1.1.1 (GigabitEthernet0/0/1)
Cost: 1 State: DR Type: Broadcast MTU: 1500

网络类型 ospf接口网络类型
LoopBack P2P(LoopBack) 无hello 环回使用32位主机路由
点到点 (PPP/HDLC/GRE)P2P 10s hello time 不选DR/BDR
BMA (以太网) Broadcast 10s hello time 选DR/BDR

NBMA (MGRE) P2P
在tunnel接口上,ospf的默认工作方式为P2P,这种工作方式,只能建立一个邻居关系,故在MGRE环境中将无法正常工作;
修改接口的默认工作方式:

[r1]interface Tunnel 0/0/0
[r1-Tunnel0/0/0]ospf network-type ?
broadcast Specify OSPF broadcast network
nbma Specify OSPF NBMA network
p2mp Specify OSPF point-to-multipoint network
p2p Specify OSPF point-to-point network
切记:一个网段中所有接口的ospf工作方式必须一致;否则将无法建立邻居关系,或者因为不同工作方式的hello time一样,错误建邻,无法收敛;

当MGRE环境中,使用OSPF,且所有tunnel接口修改为broadcast工作方式后,必须基于拓扑接口考虑DR位置问题
MGRE可以构建不同的拓扑结构:
1、星型–中心到站点–轴辐状 中心站点为DR,取消BDR
2、全连网状 — 不需要再关注DR
3、部分网状 — 基于能够全网段内正常共享LSA来考虑最佳的DR位置

七、关于OSPF协议从邻居建立成为邻接的条件
根据网络类型决定
在点到点网络中,所有的邻居关系必然成为邻接关系
在MA网络中从邻居到邻接前将利用一个周期的dead time;进行DR/BDR选举;
先比较这些参选接口的优先级,默认1,取值范围0-255;越大越好,0标识不参选;
DR优先级最大,BDR次大;选举非抢占,故若希望干涉选举,需要重启ospf进程,或者将非DR/BDR修改为0;
[r2]interface GigabitEthernet 0/0/1
[r2-GigabitEthernet0/0/1]ospf dr-priority 3 修改优先级
重启进程
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
非DR/BDR间为邻居关系;

第二部分

一、关于OSPF的不规则区域问题
1、远离骨干的非骨干
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)在华为中,保留周期–占资源

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的数据库表
display ospf lsdb 查看LSDB目录
ospf协议在不同的条件环境下,将使用不同类别的LSA来传输拓扑或路由信息;

display ospf lsdb router 2.2.2.2 具体查看某条LSA信息
类别名 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所在区域以及stub、totally stub、NSSA、totally NSSA区域以外的整个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类别 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更新量的优化

OSPF优化–减少LSA的更新量
1、汇总 — 减少骨干区域的路由条目数量
2、特殊区域-- 减少非骨干区域的路由条目数量

(1)汇总–OSPF协议不支持接口汇总,在一个区域内,邻接间传递的是拓扑信息,不能进行汇总;故只能在交互路由的边界设备进行汇总
①域间路由汇总–在区域间的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

②域外路由汇总—ASBR在将外部的路由条目通过重发布协议,共享到OSPF协议中时;
可以进行汇总
[r4]ospf 1
[r4-ospf-1]asbr-summary 99.1.0.0 255.255.252.0

(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

[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

切记:NSSA和完全NSSA的工作环境,需要考虑ISP(运营商)所在位置,否则可能导致环路出现

第三部分ospf扩展配置

一、认证
1、认证 —在直连的邻居或邻接之间,配置身份核实秘钥来保障邻居、邻接间数据沟通的安全性
(1)接口认证
在直连连接的接口上配置
[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的接口全部进行认证

(3)虚链路认证
[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

三、收敛时间
通过修改邻居间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

四、缺省路由
1、3类缺省 特殊区域自动产生;末梢、完全末梢、NSSA、完全NSSA
末梢、完全末梢、完全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;

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类;

五、附录e
附录E — link-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
若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码;

六、ospf选路规则
1、AD(管理距离,优先级)无关的一种情况:
r2(config)#router ospf 1
r2(config-router)#distance 109 1.1.1.1 0.0.0.0
本地从RID为1.1.1.1的设备处学习到路由条目,管理距离修改109;
一台路由器从两个OSPF邻居处学习到了两条相同的路由时,仅比较度量值,不关注管理距离;因为仅针对一台邻居进行管理距离修改的结果是要么两台都被改,要么修改失败;-关注IOS版本—有时修改RID大路由器管理距离生效,有时需要修改RID小的设备;

2、AD(管理距离)无关的第二种情况 O IA 3类
O IA 与 O IA路由相遇,到达相同目标的两条3类路由,这两条路由均通过非骨干传递,仅关注cost值,不关注管理距离;
若一条通过骨干区域传递,另一条同过非骨干区域传递–非骨干传递的路由无效
OSPF的区域水平分割:区域标号为A的3类LSA,不能回到区域A;避免环路产生
先比类型(5/7的LSA才存在类型)- 区域(骨干优于非骨干)cost(小优)
3、OE 与OE E为5类 N 为7类
默认所有重发布进入路由条目均为类型2,类型2在路由表中cost值不会显示沿途的累加,仅显示起始度量;

两条均为OE2或者均为N2,起始度量相同; 关注沿途的累加度量 (OE2路由在表中度量默认不显示内部度量,仅显示起始度量)
两条均为OE2或者均为N2,起始度量不同;优先起始度量小的路径;
注:以上设计是便于管理员快速干涉选路;

OE1路由仅比较总度量(起始度量+沿途累加),仅修改起始度量不一定能干涉选路,必须在修改后使得总度量产生区别才能干涉选路;
4、拓扑优于路由
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类

五、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;

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的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的度量;
OSPF总结
六、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位无效,故两个区域的路由均回进入骨干区域;

七、SPF算法-防环机制
1、在同一个区域每台路由具有一致的LSDB
2、每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)
3、必须区域划分
1)域间汇总减少路由条目数量
2)汇总路由是在所有明细路由均消失后才删除,网络更稳定
3)区域划分后不同类别的LSA传播范围不同,控制更新量
总结:观看OSPF防环文档
过程–基于本地LSDB(1/2类LSA)生成–生成有向图–基于有向图来进行最短路径树生成
最短路径树,关注本地LINK-ID的LSA开始–》基于该LSA内提及到点到点或传输网络信息再查看link-id递归到下一条信息;基于所有点到点和传输网络信息生成最短路径树主干;
然后用树中每台设备的末梢网络信息补充路由表,完成收敛;

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;避免环路产生

第四部分 补充

一、ospf状态机的问题

OSPF总结
1)在MA网络中(进行DR/BDR选举)存在7种状态机
init是路由器A收到邻居B的hello包,但该hello包中没有A的RID;
2)在点到点网络init状态机在判断可以建立邻居后,直接进入exstart状态机;没有2way状态机----6种状态机
在点到点网络实际仅存在邻接关系;在MA网络(选举DR/BDR)网络中存在邻居和邻接关系;
3)若邻接间的数据库默认一致,将不需要进入loading状态机;
4)在hello时间较大时,比如p2mp和nbma工作方式,默认hello time为30s;
hello包收发的间隔较大,从down状态到init需要很长时间的等待,故在两种状态机,存在一个尝试状态机;
5)华为设备中ospf存在加速建邻机制— 在两台路由器进行过一次邻接关系建立后,双方存在对端的缓存信息后;二次建邻时将快速完成状态机的切换;–前提是缓存未删除—认证或拥塞

二、ospf的DBD包——排序问题(隐形确认问题)

首先在exstart状态机,邻接设备间会使用不携带LSA头部信息的DBD包进行主从关系的选举,该选举的作用决定了那台设备优先进入exchange状态机的顺序;
同时在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,同时标记主从关系;
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检测

三、重发布、重分布、重分发
在一个网络中,出现了两种路由协议,或者同一种的不同进程时;
协议间、进程间,数据库、信息独立不共享;
重发布技术,可以在两种协议或两种进程间,进行路由条目的共享,实现全网可达;

关注点:
1、ASBR— 自治系统边界路由器(协议边界路由器)
重发布动作只能由ASBR来完成,它同时工作在两种协议或两种进程间;
2、种子度量–起始度量 — 由于不同协议存在不同度量的计算参数,且存在不同的最大值;
故将A协议发布到B协议时,ASBR将清除该条目在A协议中的度量,而是人为添加一个起始度量值,再将路由条目共享到B协议中;B协议可以基于起始度量来叠加内部度量;

规则:
1、将A协议发布到B协议时,是在ASBR上,的B协议中进行命令配置;
2、将A协议发布到B协议时,是将ASBR上所有直连于A协议上的路由,及ASBR通过A协议学习到的所有路由全部共享到B协议中;

类型:单点 多点 单向 双向

配置命令:
3方面
A协议发布B:一种动态路由协议发布到另一种动态路由协议
或者同一协议的A进程发布到B进程
静态—>B协议 将ASBR上静态手写的路由,重发布到一种动态路由协议中
直连—>B协议 将ASBR上未宣告到某个动态路由协议中的直连条目,重发布到该协议

Rip:
A–>B
[r4]rip 1
[r4-rip-1]import-route ospf 1
[r4-rip-1]import-route ospf 1 cost 2 可修改默认种子度量 默认为0;

静态–>B
[r4-rip-1]import-route static 默认为度量为0; 缺省静态路由通过重发布静态是不能进行的;

直连–>B
[r4]ospf 1
[r4-ospf-1]import-route direct 默认为度量为0;
注:在将其他动态路由协议学习到的路由重发布进入rip的同时,也将ASBR上的未工作在RIP的路由重发布到RIP;两者若发布了部分相同的路由条目,优选重发布直连;

OSPF:
A–>B
[r4]ospf 1
[r4-ospf-1]import-route rip 1
默认导入路由,其优先级为150;5类或7类LSA共享;
默认种子度量为1;类型为2;
类型2代表cost值处仅显示种子度量,不显示沿途累加后总度量;但选路时基于总度量(种子度量+沿途累加)来选的;
[r4-ospf-1]import-route rip 1 type 1 修改类型
[r4-ospf-1]import-route rip 1 cost 2 type 1 类型和种子度量均修改
类型1 显示总度量;选路时类型1优于类型2;

静态–>B
[r4-ospf-1]import-route static
默认种子度量为1;类型为2;
缺省路由不能在重发布静态时导入;只能使用专门的命令来导入ASBR从其他协议处产生的缺省路由
[r4-ospf-1]default-route-advertise

直连–>B
[r4-ospf-1]import-route direct
默认种子度量为1;类型为2;

OSPF总结

上一篇:OSPF动态路由协议笔记之(六) : 外部路由和计算原理


下一篇:2021Day1省选B卷游记