OSPF协议总结

概述

OSPF 即开放的最短路径优先协议,是一种典型的链路状态型路由协议该协议,使用链路状态路由算法的内部网关协议(IGP)。

OSPF主要特点
  1. 收敛速度快;
  2. 占用资源少;
  3. 防环的前提下选路最佳;
  4. 支持区域划分;
  5. 跨层封装协议,协议号89;
  6. 组播地址:224.0.0.5 224.0.0.6;
  7. 触发更新+周期更新(30min);
OSPF的数据包及相关名词
数据包(5种)

在这里插入图片描述

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

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

相关名词
  1. Router-id: 路由器标识符,用于标识本路由器在OSPF网络中的唯一性
  2. Down:一旦接收到对端的hello包进入下一个状态
  3. Init:初始化 若接收到的hello包中存在本地的RID,那么进入下一个状态机
  4. 2way:双向通讯 邻居关系建立的标志
  5. Exstart:预启动 使用不携带数据库目录信息的DBD包,进行主从关系的选举,RID数值大为主,优先进入下一个状态机
  6. Exchange:准交换 使用携带数据库目录信息的DBD包,进行目录共享,需要ACK确认
  7. Loading:加载
    接收到其他邻接的目录信息后,和本地进行比对,若本地存在未知的LSA信息,将使用LSR询问对端,对端使用LSU来更新这些LSA信息,直至双方数据库一致;
    LSU需要ACK确认;
  8. Full:转发,标志着邻接关系已经建立;
OSPF工作原理
  1. 路由器上启动OSPF协议后,直连的邻居间,开始组播收发hello包,hello包中将存储本地已知邻居的RID,在双方RID均已知的情况下,建立邻居关系,生成邻居表;
  2. 邻居关系建立后,邻居间将进行条件匹配,匹配失败将停留为邻居关系,仅hello周期保活即可。
  3. 匹配成功者间将进行邻接关系的建立;
  4. 邻接关系间的路由器,将使DBD/LSR/LSU/LSack来获取本地未知的所有LSA信息;使得同一区域内所有路由器的数据库完全一致
  5. 生成数据库表。
  6. 再之后本地基于数据库表,启用SPF选路规则,计算到达所有未知网段的最短路径,然后加其加载到本地的路由表中;收敛完成,hello包周期保活,每30min再周期收发一次DBD来判断和邻接间数据库是否一致;

结构突变——触发更新
1、断开网段 直连断开网段的设备,直接使用LSU告知邻接,需确认
2、新增网段 直连新增网段的设备,直接使用LSU告知邻接,需确认
3、无法沟通 hello time 对应的 dead time ;dead time 到时时,断开邻居关系,去除基于该邻接共享的LSA计算所得路由;

基础配置
route-id
  1. 优先手工配置,环回接口上取最大数值的ip地址,物理接口上最大ip地址的数值
  2. 仅具本地意义,建议配置RID,使用IPV4,且全网唯一;
邻居关系建立

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

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

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

MTU

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

注意:
默认华为设备不携带MTU;

OSPF的接口网络类型

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

在这里插入图片描述

一个网段中所有接口的ospf工作方式必须一致;否则将无法建立邻居关系,或者因为不同工作方式的hello time一样,错误建邻,无法收敛;

当MGRE环境中,使用OSPF,且所有tunnel接口修改为broadcast工作方式后,必须基于拓扑接口考虑DR位置问题

OSPF的不规则区域问题

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

远离骨干的非骨干区域不算连续骨干

解决方案:

  1. tunnel 在骨干区域与非法ABR间建立一条隧道,之后将该隧道链路宣告到OSPF协议中;

注意:
周期的Hello与更新将一致占用中间穿越区域,同时选路达不到最佳!

  1. 虚拟路
    在合法与非法ABR上建立虚链路,由合法ABR为非法ABR进行授权;使得非法ABR可以进行区域间路由的共享;因为并没有增添新的路径,故不存在选路不佳的问题。
  2. 多进程双重发布
    同一台设备上,不同的进程可以工作在不同的接口上,建立各自的邻居关系,生成各自的数据库(不共享);仅将各自计算所得路由加载于同一张路由表内;一个接口只能被一个进程来宣告。
    ASBR(自治系统边界路由器、协议边界路由器),将不同进程或不同协议产生的路由进行双向共享;
OSPF的数据库表

ospf协议在不同的条件环境下,将使用不同类别的LSA来传输拓扑或路由信息;
在这里插入图片描述
在这里插入图片描述
OSPF的LSA优化—减少LSA更新量
汇总: 减少骨干区域的LSA数量 ,只能在交叉路由的边界设备进行汇总
特殊区域 : 减少各个非骨干区域的LSA数量

  1. 同时不能存在ASBR

末梢区域–拒绝4/5类的LSA;由该区域连接骨干区域的ABR向该区域发布一条3类的缺省
完全末梢区域 在末梢区域的基础上,进一步拒绝3类的LSA;仅保留一条3类的缺省路由

  1. 存在ASBR

NSSA 非完全末梢区域 – 该区域将拒绝4/5类LSA,由该区域连接骨干区域的ABR向该区域发布一条7类的缺省路由;该区域内的ASBR导入域外路由时,基于7类导入,之后通过该区域连接骨干的ABR传递到骨干区域时,转换为5类进入骨干区域;

NSSA的设计,重点在于网络中其他部分的ASBR,而不是减少该区域内ASBR产生的域外路由

OSPF的扩展配置
认证

在直连的邻居或邻接之间,配置身份核实秘钥来保障邻居、邻接间数据沟通的安全性

  1. 接口认证

在直连连接的接口上配置:
[r6-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456
且两端的模式、编号、秘钥必须完全一致

  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的接口全部进行认证

  1. 虚链路认证

[r10-ospf-1-area-0.0.0.4]vlink-peer 9.9.9.9 md5 1 cipher 123456

沉默接口

命令:silent-interface + 接口号
用于路由器连接PC终端设备的接口,这些接口为全网可达,会在路由协议中被宣告;故这些接口也会周期向下方的终端发送路由协议信息,造成资源占用,及安全问题

加快收敛

通过修改邻居间hello 和dead time,可以实现加快收敛,但频率过高后也会占用更多硬件资源;故hello time为10s时,不太建议再加快; hello time 为30s时可以酌情修改;
邻居间的hello time和dead time 必须完成一致,否则无法建立邻居关系;
修改本端的hello time,本端的dead time自动4被关系匹配;对端时间不变,需要手工将两端配置完全一致

缺省路由

本地路由器的路由表中,存在任意方式产生的缺省路由后,通过专门的指令,将其重发布到OSPF协议中;

若一台设备同时学习到的多条不同类别的缺省路由:

内部优于外部 故 3类优于5/7 若均为5类 或均为7类 类型1优于类型2
类型相同,比较优先级,优先级相同比较cost值,完全一致负载均衡;
若5、7类相遇,类型1优于类型2;类型相同,比较优先级,优先级相同比较cost值,完全一致5类优于7类;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值