ospf 总结

一、OSPF协议的数据包:

1、数据包结构
在这里插入图片描述

2、数据包种类
在这里插入图片描述

Hello:用于邻居、邻接 发现、建立、保活 hello time 默认10s或30s

DBD:数据库描述包

LSR:链路状态请求

LSU:链路状态更新

LSack:链路状态确认

二、状态机

Down:一旦本地发出hello包进入下一个状态

Init:初始化 收到的hello包若存在本地的RID进入下一个状态

2way:双向通讯 邻居关系建立的标志

条件匹配:点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态;

Exstart:预启动 使用类似hello的DBD进行主从关系的选举,RID大为主优选进入下一状态

Exchange 准交换 使用真正的DBD进行数据库目录的共享,需要使用ACK确认

Loading 加载 使用LSR/LSU/LSAck来获取未知的LSA信息;

Full转发 邻接关系建立的标志

LSA:链路状态通告,在不同的网络条件下将产生不同类别的LSA信息来代表拓扑或者路由条目;

LSDB:链路状态数据库 装载和存储所有各种类别的LSA;

三、OSPF的工作过程

OSPF协议启动后,A向本地所有启动了OSPF协议的直连接口组播224.00.5发送hello包;本地hello包中携带本地的全网唯一的router-id;

之后对端B运行OSPF协议的设备将回复hello包,该hello包中若携带了A的routerid,那么A/B建立为邻居关系;生成邻居表;

邻居关系建立后,邻居间进行条件匹配,匹配失败就停留于邻居关系,仅hello包周期保活;

条件匹配成功可以开始建立邻接关系:

邻接间共享DBD包,将本地和邻接的DBD包进行对比,查找到本地没有的LSA信息目录;

之后使用LSR来询问,对端使用LSU应答具体的LSA信息,之后本地再使用ack确认,可靠;

该过程完成后,生成数据库表;

再之后本地基于数据库表,启用SPF选路规则,计算到达所有未知网段的最短路径,然后加其加载到本地的路由表中;收敛完成,hello包周期保活,每30min再周期收发一次DBD来判断和邻接间数据库是否一致;

结构突变:
1、
新增网段 直连新增网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认
2、
断开网段 直连断开网段的设备,将直接使用LSU包来告知本地所有邻接,之后邻接传邻接扩散到全网,需要ACK确认
3、
无法沟通 dead time 为hello time 的4倍;当dead
time到时时,断开邻居关系,删除通过该邻接生成的路由协议;

四、OSPF的基础配置
[r1]ospf 1
router-id 1.1.1.1 启动时,需要定义进程号;进程号仅具有本地唯一性; 建议同时配置全网唯一的router-id;
生成顺序—手工 本地环回接口中最大ip地址数值 本地物理接口中最大数值的ip地址

[r1-ospf-1]

宣告:ospf协议在宣告的同时需要进行区域划分

区域划分规则:

1、星型拓扑结构,区域0为中心骨干区域,其他大于0为非骨干站点区域;

2、必须拥有ABR–区域边界路由器

[r2-ospf-1]area 0 先进入区域,之后再该区域内宣告属于该区域的接口,宣告时必须携带反掩码

[r2-ospf-1-area-0.0.0.0]network
12.1.1.2 0.0.0.0

[r2-ospf-1-area-0.0.0.0]network
2.2.2.2 0.0.0.0

[r2-ospf-1-area-0.0.0.0]q

[r2-ospf-1]area 1

[r2-ospf-1-area-0.0.0.1]network
23.1.1.1 0.0.0.0

启动配置完成后,邻居间收发hello包,建立邻居关系;生成邻居表:

[r2]display ospf peer

[r2]display ospf peer
brief

邻居、邻接关系的发现、建立、保活均依赖hello包进行;

Hello包中邻居间必须完全一致的参数:任意参数不同,均导致邻居关系无法建立

1、
子网掩码(华为)发送hello包接口的源ip地址其掩码

2、
Hello dead
time – OSPF接口网络类型相关

3、
认证字段 – 更新安全

4、
区域ID – 要求区域间存在ABR

5、末梢区域标记 --特殊区域

邻居关系建立后,邻居间进行条件匹配,匹配成功者间可以建立为邻接关系;邻接关系间将使用DBD包进行主从关系选举,之后由主优先使用DBD进行数据库目录信息的共享,从而最终基于LSR/LSU/LSAck来获取未知的LSA信息;当收集到全网的LSA信息后,装载于本地的LSDB(链路状态数据库)–数据库表:

display ospf lsdb

reset
ospf process

Warning: The OSPF
process will be reset. Continue? [Y/N]:y

关于OSPF,DBD包的几个知识点:

1、DBD包中携带MTU值,要求邻居MTU值必须相同,否则将卡在exstart或exchange状态;

默认华为未开启MTU检测

[r1]interface
GigabitEthernet 0/0/1

[r1-GigabitEthernet0/0/1]ospf
mtu-enable

2、隐性确认—不使用确认包,而是从设备复制主设备的序列号来确认收到了主的DBD

3、
OSPF标记位 I
M MS I为1本地发出的第一个DBD包

       M为0,表示本地发出的最后一个DBD;

MS为1代表主,为0代表从;

数据库建立后,本地基于SPF选路规则,计算到达未知网段最短路径加载于路由表中;

1、
字母

Cisco

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协议

ON1/2 NSSA域外路由
其他协议或其他进程产生后,通过ASBR重发布进入到OSPF协议,同时学习到这条路由的设备处于ospf的一种NSSA的特殊区域中

display ospf routing
华为查看

2、
管理距离(华为为优先级)

Cisco设备定义管理距离为110 在华为设备上优先级为10

3、
度量(cost)

开销值 参考带宽/接口带宽 华为设备,环回接口不计算为一段路径;默认的参考带宽为1000M;

优选cost值之和最小路径;

五、 OSPF协议邻居成为邻接关系的条件

在点到点网络中,所有的OSPF邻居将直接建立为邻接关系;

在MA网络中,为了避免大量的重复的LSA更新—因为OSPF需要邻接间进行DBD对比,故没有接口水分割机制;故必须进行DR/BDR选举,非DR/BDR间仅建立邻居关系;—在每一个MA网络中均需要进行一次选举;

选举规则:

1、
优先级 数值大优,默认为1; 若为0为放弃选举;

2、
优先级一致,比较参选接口所有设备的router-id,数值大优;

[r1-GigabitEthernet0/0/1]ospf
dr-priority 2

修改参选接口的优先级

切记:DR选举非抢占
,故在修改优先级后,必须重启参选设备ospf进程来重新选举

OSPF的收敛被称为LSA洪泛,也被称为LSDB同步;

六、 OSPF接口网络类型 –OSPF协议在不同网路类型的接口下,其不同的工作方式

接口网络类型 OSPF接口网络类型(ospf工作方式)

LoopBack 0:
Cisco – LoopBack 没有hello包 以32位主机路由发送

                 华为—显示为p2p类型

实际为LoopBack工作方式

点到点:
(串线HDLC/PPP/GRE)
p2p. hello time10s 自动建邻 不选DR/BDR

BMA
以太网 Broadcast hello time 10s
自动建邻 选DR/BDR

NBMA
帧中继
nbma hello time 30s 手工建立邻居 选DR/BDR

MGRE
p2p. hello time10s 自动建邻 不选DR/BDR
–在一个网段中只

能存在一个邻居;华为设备在一个MGRE网段,接口为点到点工

作方式时,仅和最先收到hello的设备建立邻居关系;

Cisco在这种情况将出现邻居的翻滚;

注:在MGRE环境中,接口默认的ospf工作方式为点到点,这种方式无法实现该NBMA网段的邻居全连;故只能去修改接口的工作方式:

修改MGRE网段所有接口为Broadcast工作方式,切记若一部分接口修改为Broadcast,另一部分接口依然保持为点到点,由于hello time相同可以建立邻居关系,但工作机制在DR/BDR选举处不同,故最终该网段无法正常收敛;

【1】
同时,必须关注网络拓扑结构;若该网段为全连网状结构,那么DR选举将正常进行;但若为部分网状或中心到站点拓扑,将可能出现DR位置错误问题;

【2】
若网络拓扑只能为部分网状或中心到站点,需要人为手工干预DR位置

或者将所有接口的工作方式修改为点到多点工作方式;

Ospf的点到多点工作方式:只能手工配置,适用于部分网状结构拓扑;

Hello time30s,不选DR/BDR,自动建立邻居关系;

七、 OSPF的不规则区域

一台ABR设备若没有连接到骨干区域0,那么默认不得区域间路由的共享

1、
远离了骨干的非骨干区域

2、
不连续骨干

解决方案:

1)
在合法与非法ABR上建立tunnel,然后将其宣告到ospf协议中

缺点:1、周期更新、保活,触发更新对中间穿越区域产生资源占用

  2、选路不佳  --  当ospf学习到两条相同目标,但不同区域同时过来时,优选骨干区域;

2)
虚链路 — 在合法与非法ABR上建立虚链路,由合法ABR为非法ABR进行授权;

        使得非法ABR可以进行区域间路由的共享;

       因为并没有增添新的路径,故不存在选路不佳的问题;

[r2-ospf-1]area 1 两台ABR共同所在的区域

[r2-ospf-1-area-0.0.0.1]vlink-peer
4.4.4.4 对端ABR的RID

Cisco为了避免周期信息对中间区域的占用,取消虚链路上的所有周期行为;—不可靠

华为在虚链路上依然保持周期的保活、更新 — 对中间区域的资源占用

3)
多进程双向重发布(推荐)

多进程— 同一台设备上,不同的进程可以工作在不同的接口上,建立各自的邻居关系,生成各自的数据库(不共享);仅将各自计算所得路由加载于同一张路由表内;一个接口只能被一个进程来宣告;

双向重发布,ASBR(自治系统边界路由器、协议边界路由器),将不同进程或不同协议产生的路由进行双向共享;

[r2]ospf 1

[r2-ospf-1]import-route
ospf 2

[r2-ospf-1]q

[r2]ospf 2

[r2-ospf-2]import-route
ospf 1

八、 OSPF的各种LSA — 数据库表

display ospf lsdb

display
ospf lsdb router 1.1.1.1

                类别名  link-id(在目录中的编号)

所有类别的LSA,均携带以下信息

Type

Router 类别名 此处为1类

Ls id

1.1.1.1 link-id 在目录中的编号

Adv rtr

1.1.1.1 通告者 — 该LSA的更新源设备的RID

Ls age

1359 老化时间 1800s周期刷新为0 触发更新归0 最大3609s

Len

48

Options

E

seq#

8000000c 序列号

chksum

0x818c 校验码

OSPF的LSA是1800会更新一次更新一次序列号会加一

LSA的新旧比较

1、会先比较序列号,序列号越大越优,

2、如果序列号相同,会比较校验值(checksum)越大越优

3、如果校验值也相同,会比较LSA Age时间,是否等于MAX-age时间(3600)

4、如果age时间不等于max-age时间,会比较他们的差值,如果差值大15分钟(900秒),小的优

5、如果age时间不等于max-age时间,会比较他们的差值,如果差值小于15分钟,说明是同一条LSA,忽略其中一条

什么情况下LSA会更新:

1、1800到期会周期更新

2、触发更新(接口地址变化(增加,或删除),修改接口开销值,删除接口,或者删除通告)

类别名 传播范围 通告者 携带的信息

1类LSA-router 本区域内 本区域内的每台路由器 该区域每台设备的直连拓扑

2类LSA-Network 本区域内 该网段的DR 该网段的拓扑

3类LSA-summary 整个OSPF域 ABR O IA 域间路由

4类LSA-asbr 除ASBR所在区域外的
ABR ASBR的位置

                整个ospf域;ASBR所在区域使用

                1类标记位置

5类LSA-ase 整个OSPF域
ASBR O E 域外路由

类别名 link-id 通告者

1类LSA-router 通告者的RID 本区域内的每台路由器

2类LSA-Network DR接口的ip地址 每个MA网段中的DR

3类LSA-summary 域间路由的目标网络号 ABR,在经过下一台ABR时,修改为新的ABR

4类LSA-asbr ASBR的RID ABR,在经过下一台ABR时,修改为新的ABR

5类LSA-ase 域外路由的目标网络号 ASBR 在ospf内部传递时不变

九. OSPF的LSA优化—减少LSA更新量

1、
汇总 – 减少骨干区域的LSA数量 – 前提要求网络存在合理的地址规划

2、
特殊区域 – 减少各个非骨干区域的LSA数量

【1】
汇总

1)
域间路由汇总—ABR将本地直连的A区域1/2类LSA计算所得路由,再通过3类LSA共享到其它本地所直连的B区域时;

[r1]ospf 1

[r1-ospf-1]area 1 明细路由所在区域

[r1-ospf-1-area-0.0.0.1]abr-summary
3.3.2.0 255.255.254.0

2)
域外路由汇总—在ASBR上操作,将5类/7类LSA向OSPF发布时进行汇总;

[r2]ospf 1

[r2-ospf-1]asbr-summary
99.1.0.0 255.255.252.0

注:切记华为设备默认设备不会在进行汇总配置的设备上,自动生成空接口防环路由;

【2】
特殊区域 不能是骨干区域,不能存在虚链路;

「1」
同时不存在ASBR

1)末梢区域—该区域拒绝4/5的LSA进入;由该区域连接骨干区域的ABR设备,向区域内发送一条3类的缺省路由;

[r1]ospf 1

[r1-ospf-1]area 1

[r1-ospf-1-area-0.0.0.1]stub

注:该区域内所有设备均需要定义,否则无法建立邻居关系;

2)完全末梢区域,在末梢区域的基础上进一步拒绝3类的LSA;仅保留一条3类的缺省路由;

先将该区域配置为末梢区域,然后仅在ABR上定义完全末梢即可;

[r1]ospf 1

[r1-ospf-1]area 1

[r1-ospf-1-area-0.0.0.1]stub no-summary

「2」
同时存在ASBR

NSSA 非完全末梢区域—拒绝非本区域内部产生4/5LSA,本区域ASBR产生的5类将通过7类LSA传输,到达ABR处进入骨干区域时,由7类转换回5类;

在cisco设备中为了避免环路的出现,OSPF协议在NSSA区域配置完成后,不会自动产生缺省路由;而是由管理员在缺省网络无环的前提下,手工添加;

在华为的设备中让由该区域连接骨干0的ABR自动下发一下7类缺省;

[r1]ospf 1

[r1-ospf-1]area 1

[r1-ospf-1-area-0.0.0.1]nssa

注:该区域内所有设备均需要定义,否则无法建立邻居关系;

完全NSSA – 完全的非完全末梢区域;在普通NSSA的基础上,近一步拒绝3类的LSA,由ABR产生一条3类缺省

先将该区域配置为普通的NSSA,然后仅在ABR上定义完全NSSA即可

[r1]ospf 1

[r1-ospf-1]area 1

[r1-ospf-1-area-0.0.0.1]nssa no-summary

特别注意事项:

由于特殊区域将自动产生缺省路由,指向骨干;故ISP所连接的位置很关键,否则将可能与特殊区域产生的缺省路由互为环路;要求ISP所在位置的OSPF区域不要做任何特殊区域配置;

十、OSPF的扩展配置;

1、认证—接口认证

[r3]interface
GigabitEthernet 0/0/1 在直连邻居的接口上配置即可

[r3-GigabitEthernet0/0/1]ospf
authentication-mode md5 1 cisco123 密文认证,key编号1,密码为cisco123,密码直接以MD5值传递;

1、
被动接口 – 只接受不发送路由协议的信息,其他信息正常通过;华为成为沉默接口

只能配置于连接用户的接口,不得用于连接OSPF邻居的接口;

[r3]ospf 1

[r3-ospf-1]silent-interface
GigabitEthernet 0/0/0

4、 修改计时器—OSPF的hello time 为10或30s;dead time为hello 的4倍;

改小计时器可以加快收敛速度,但将增加对网络资源占用;故修改时不宜修改过小,维持原有的倍数关系;

[r3]interface GigabitEthernet 0/0/1

[r3-GigabitEthernet0/0/1]ospf timer hello 5 修改本端的hello time,本端的dead time自动4倍关系匹配;直连邻居间hello 和dead
time必须完全一致,否则无法建立邻居关系;

5、 缺省路由 – 3类的缺省 5类的缺省 7类缺省

3类缺省 –》 配置特殊区域后自动生成 – 末梢、完全末梢、完全NSSA

5类缺省—》本地路由表中通过其他协议或OSPF的其他进程生成了缺省路由条目—前提

之后使用重发布机制将改条目重发布到ospf的协议中来;

[r4]ospf 1

[r4-ospf-1]default-route-advertise

默认导入路由起始度量为1,类型2;

[r4-ospf-1]default-route-advertise type 1 cost 10 修改类型和起始度量

若本地路由表中没有缺省条目,也可以让设备强制向内网发送一条5类缺省

[r4-ospf-1]default-route-advertise always 默认为类型2,cost值为1;

[r4-ospf-1]default-route-advertise always type 1 cost
10 修改类型和起源cost;

7类缺省:普通的NSSA区域将自动产生7类的LSA;也可在NSSA区域内手动生成出7类缺省

[r4]ospf 1

[r4-ospf-1]area 1

[r4-ospf-1-area-0.0.0.1]nssa default-route-advertise 默认为类型2 ,起始cost为1;

优选顺序:内部优于外部,类型1优于类型2;

十一、OSPF的扩展知识点

「1」附录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

若长掩码先进入,再短掩码进入时,长掩码的信息被刷新为反掩码;

「2」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;

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类

【4】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的度量;

【5】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,另一个区域不转,

故同一条域外路由,骨干区域只能收到从一个区域传递的外部路由;

【6】SFP算法 –OSPF防环机制

1、在同一个区域每台路由具有一致的LSDB

2、每台路由器以自己为根计算到达每个目标的最短路径(最小cost值)

3、必须区域划分–

优势-1)域间汇总减少路由条目数量

2)汇总路由是在所有明细路由均消失后才删除,网络更稳定

3)区域划分后不同类别的LSA传播范围不同,控制更新量

总结:观看OSPF防环文档

过程–基于本地LSDB(1/2类LSA)生成–生成有向图–基于有向图来进行最短路径树生成

最短路径树,关注本地LINK-ID的LSA开始–》基于该LSA内提及到点到点或传输网络信息再查看link-id递归到下一条信息;基于所有点到点和传输网络信息生成最短路径树主干;

然后用树中每台设备的末梢网络信息补充路由表,完成收敛;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值