OSPF总结

OSPF总结

一.概念

OSPF是指开放式最短路径优先协议

无类别链路状态路由协议,属于IGP(内部网关路由协议)

OSPF基于拓扑进行更新收敛

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

距离矢量和链路状态的区别


距离矢量 DV 链路状态LS

协议 RIP;EIGRP OSPF;ISIS

​ 邻居间共享路由条目 邻居间传递拓扑

​ 传闻性协议 本地计算路由

判断网络优劣的三方面:

1.收敛速度快;2.选择路径佳;3.占用资源少

二.OSPF的5种数据包

hello包 – 组播收发,用于邻居、邻接关系的发现、建立、周期保活

DBD – 数据库描述包-- 本地LSDB(链路状态数据库)目录

LSR—链路状态请求 – 用于询问对端本地未知的LSA信息

LSU-- 链路状态更新 – 用于共享具体的每一条LSA信息

LSack 链路状态确认 – 确认包

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

三.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的工作过程

路由器上启动OSPF协议后,直连的邻居间,开始组播收发hello包,hello包中将存储本地已知邻居的RID,在双方RID均已知的情况下,建立邻居关系,生成邻居表;

邻居间hello包中有一些参数必须完全一致,否则无法建立邻居关系;

Hello 和dead time 、区域ID、认证参数、末梢区域标记;另外在华为的设备中OSPF要求邻居间接口上配置的ip地址,其掩码长度必须一致;

[r2]display ospf peer 查看邻居表

[r2]display ospf peer brief 查看邻居关系简报

邻居关系建立后,邻居间将进行条件匹配,匹配失败将停留为邻居关系,仅hello周期保活即可;匹配成功者间将进行邻接关系的建立;

邻接关系间的路由器,将使用DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息;使得同一区域内所有路由器的数据库完全一致;---- 数据库表;

[r2]display ospf lsdb 查看数据库表

当本地数据库完成同步后,将数据库–>有向图–>树型结构图–>将本地到达所有未知网段的最短路径加载于本地路由表中;

默认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路由器需要一致;

收敛完成,仅hello包周期保活即可;正常每30min,邻接关系间再进行一次DBD的对比,若一致及正常;若不一致将马上进行同步;

五.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连接

七.OSPF中的MTU问题

在ospf协议的DBD包中将携带本地接口的MTU值,若两端一致可以正常建立邻居关系;若不一致将无法建立邻接关系;

默认华为设备不携带MTU;

[r1-ospf-1] int g0/0/1

[r1-GigabitEthernet0/0/1]ospf mtu-enable 两端设备均需开启

八.OSPF协议从邻居建立成为邻接的条件

根据网络类型决定:

1.在点到点网络中,所有的邻居关系必然成为邻接关系

2.在MA网络中从邻居到邻接前将利用一个周期的dead time,进行DR/BDR选举;

进行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 修改优先级

重启进程

<r2>reset ospf process

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

非DR/BDR间为邻居关系;

九.OSPF的接口网络类型 — OSPF协议在不同的网络类型,其工作的方式不同

P2P(点到点) 10s hello time 不选DR/BDR

Broadcast (广播) 10s hello time 选DR/BDR

注1:MGRE为MA工作方式,在一个网段中节点的数量不限制;但OSPF协议在Tunnel接口默认的工作方式为点到点,该方式只能建立一个邻居关系;故MGRE中运行OSPF协议,默认只能产生一个关系,无法全网沟通;

解决方案:修改接口工作方式

[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

[r1-Tunnel0/0/0]ospf network-type broadcast 修改为广播型

注意:tunnel接口默认的点到点工作方式与人为修改的broadcast工作方式使用了相同的hello time,将导致p2p与broadcast接口相遇时邻居关系正常建立;但p2p不支持DR选举,最终无法正常沟通LSA信息;所以要求一个网段内所有接口的工作方式必须完全一致

注2:在一个MGRE环境中,所有接口工作方式若修改为broadcast;必须关注拓扑结构;

1) 中心到站点(星型) — DR位置问题 由于分支与分支没有伪广播,没有邻居建立动作,都只能观察到中心点,故DR选举时仅在本地和中心进行;所有就整个网段而言,DR选举在每台路由器上都出现不同结果,最终导致网络无法正常收敛;

解决方案:中心为DR,取消BDR;

2) 全连网状拓扑 –由于该网段所有节点均能和其他节点通讯,故可以和以太网一样,正常进行DR/BDR选举;

3) 部分网状拓扑—将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多进程:一台路由器上的多个进程,每个进程拥有自己的数据库,独立计算路由条目,且计算所有不共享;最终将所有最佳路径加载于同一张路由表内;

路由器的一个接口只能工作在一个进程中;

可用于解决不规则区域,将不规则位置工作不同的进程中,实现分开,之后利用重发布技术来共享路由表; 解决了选路不佳和资源占用的问题

重发布—在一个网络中若运行多种路由协议时,可以制作一台ASBR(自治系统边界路由器、协议边界路由器);ASBR需要不同接口工作不同的协议中,通过不同协议获取未知的路由;默认协议间不会互动;重发布技术可以将不同协议学习到的路由共享到其他协议;

命令:

``[r4]ospf 1`

[r4-ospf-1]import-route ospf 2 在进程1中引入进程2

[r4-ospf-1]q

[r4]ospf 2

[r4-ospf-2]import-route ospf 1 在进程2中引入进程1

十一.LSA类型

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

LSA1 Router 单区域,本地所在区域 单区域内的所有路由器 本地直连拓扑

LSA2 Network 单区域,本地所在区域 DR 单个MA网段的拓扑

LSA3summary 整个OSPF域 ABR 域间路由条目

LSA4 asbr 除ASBR所在区域外的整个ospf域 与ASBR在一个区域直连区域0的ABR ASBR所在位置

LSA5 ase 整个OSPF域 ASBR 域外路由条目

LSA7 nssa 单个NSSA区域 ASBR 域外路由条目

​ Link-id 通告者

LSA1 Router 通告者的RID 本区域内部所有运行OSPF协议的是路由器

LSA2 Network DR的接口ip地址 单个MA网段中的DR

LSA3 summary 路由的目标网络号 ABR;在通过下一台ABR时,修改为新的ABR

LSA4 asbr ASBR’RID ABR;在通过下一台ABR时,修改为新的ABR

LSA5 ase 路由的目标网络号 ASBR

LSA7nssa 路由的目标网络号 ASBR,离开该区域进入其他区域将被转换为5类

十二.OSPF优化–减少LSA的更新量

1、汇总 — 减少骨干区域的路由条目数量

2、特殊区域-- 减少非骨干区域的路由条目数量

【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

2)域外路由汇总—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

2、沉默接口

用于路由器连接PC终端设备的接口,这些接口为全网可达,会在路由协议中被宣告;故这些接口也会周期向下方的终端发送路由协议信息,造成资源占用,及安全问题;故这些接口需要关闭发送RIP/OSPF等协议数据包行为–沉默接口(被动接口)

切记不要配置到路由器与路由器相连的骨干接口,将导致邻居间无法收发路由信息,无法建立邻居关系

[r2]ospf 1

[r2-ospf-1]silent-interface GigabitEthernet 0/0/2

3、加快收敛

通过修改邻居间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

4、缺省路由

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值