当前位置: 首页 > news >正文

OSPF路由协议重点总结

【单区域】

一.RIP的缺点

{1}以跳数评估的路径并非最优路径、限制网络直径不能超过16跳;

{2}收敛速度慢;

{3}更新发送全部路由表浪费网络资源。

二.OSPF

OSPF是开放式最短路径优先,是IETF开发的一种链路状态路由协议,使用基于带宽的度量值;

采用SPF算法计算路由,从算法上保证无路由环路;

通过邻居关系维护路由,避免定期更新对带宽的消耗;

路由更新效率高,网络收敛快,适用于大中型网络;

报文封装于IP,协议号89,组播地址224.0.0.5和224.0.0.6

三.OSPF基本概念

OSPF基本协议模型:计算路由——传播路由——发起路由——建立邻居

Router ID:

运行OSFP协议必须要有router ID,RID是32比特无符号整数,可以唯一的标识一台路由器;

可以手工配置也可自动生成;

如果没有命令,当配置了lookback接口,则选其接口上数值最大的IP地址作为RID;如果没有这个接口,则选它已经配置的IP地址且链路开启的接口上数值最大的IP地址作为RID。

LS:

直连网段状态:接口的网段和状态 描述:网段、掩码、接口开销

直连拓扑状态:0SPF邻居和邻居状态 描述:邻居RID、连接接口、

接口开销

接口开销:OSPF参考带宽和接口带宽 描述:OSPF参考带宽默认100M、lookback接口开销默认1

LSA:

LSA是链路状态通告,是按一定格式封装后的链路状态信息,LSA1是路由器链路状态通告(每台路由器都会发LSA1),LSA2是传送网络链路状态通告。LSA封装在LSU报文中,在洪泛时内容不变。

LSDB:

LSDB是链路状态数据库,每台OSPF路由器都有一个LSDB,用于存储LSA。

同一个区域中的OSPF路由器的LSDB一致。

LSA封装在LSU报文中,在区域内洪泛,最终达到区域内LSDB一致。

LSA在洪泛过程中内容保持不变。

SPF计算:以自己LSA 1为根,进行SPF计算。各OSPF路由器单独进行SPF计算,互不影响。

OSPF的度量值为cost,也叫开销,是以链路的接口带宽为依据。

OSPF网络类型:

Broadcast广播多路访问:以太网接口

NBMA(Non-Broadcast Multi-Access,非广播多点访问网络):帧中继接口

P2MP(Point-to-MultiPoint,点到多点)

P2P(Point-to-Point,点到点):PPP HDLC接口

注:NBMA、P2MP已被淘汰。

OSPF报文类型与封装:

四.OSPF工作原理

1.建立邻居关系(点对点):

邻居之间通过交换Hello报文,确认邻居是否工作正常;如果在一定的时间间隔内,收不到邻居发来的Hello报文,就认为邻居已经失效,从邻居表中删除。

DR/BDR的选举(广播多路访问):

采用DR/BDR建立邻接关系,可以降低需要维护的邻接关系数量。

选举规则:

{1}首先比较Hello报文中携带的优先级:

优先级最高的被选举为DR,优先级次高的被选举为BDR;优先级为0的不参与选举。

{2}优先级一致的情况下,比较Router ID;Router ID越大越优先

{3}保持稳定原则:当DR/BDR已经选举完毕,就算一台具有更高优先级的路由器变为有效,也不会替换该网段中已经选举的DR/BDR成为新的DR/BDR。

例:RTE后来加入网络,虽然它的Router ID比原有的DR和BDR都高,但是出于稳定性的考虑,只能成为DRother路由器。当DR失效时,BDR立刻成为新的DR,DRother路由器进行竞争,Router ID高的成为新的BDR。

邻居关系无法建立原因总结:

2.状态转换:Down——Init——2-Way ; ExStart——Exchange——Loading——Full。

Down:初始状态。表示没有从邻居收到任何信息(Hello报文)。

动作:路由器会定期向外发送Hello报文,尝试发现邻居。

Init(初始):路由器收到了一个Hello报文,但这个Hello报文的“邻居列表”里还没有自己的Router ID。

动作:意味着对方已经看到了我,但我还没有和对方完成一次完整的握手。我会在下一个Hello报文中将对方的Router ID加入我的“邻居列表”。

2-Way(双向通信):路由器收到了一个Hello报文,并且这个报文的“邻居列表”中包含了自己的Router ID。

动作:双向通信已建立。

注意:

在广播网络中,此时会进行DR/BDR的选举。

选举完成后,DR/BDR会与所有邻居继续下一步,而DRother之间将停留在此状态,它们之间不需要建立完全的邻接关系。

在点对点网络中,没有DR/BDR选举,所有邻居直接进入下一步。

ExStart(预启动):双方准备开始同步数据库摘要,但需要先确定一个“主”路由器和一个“从”路由器,由“主”来控制同步过程。

动作:通过交换空的DBD报文(其中包含初始序列号)来进行选举。Router ID大的成为主路由器。

Exchange(交换):主从关系确立后,开始正式交换数据库的“目录”。

动作:双方相互发送DBD报文,报文中包含自己LSDB中所有LSA的头部信息(目录)。对方收到后,对比自己的目录,就能知道自己缺了哪些(LSA),或者谁的版本更新。

Loading(加载):根据交换来的“目录”,请求自己需要或更新的详细信息。

动作:

路由器查看对方发来的目录,发现自己没有或版本较旧的LSA,就发送 LSR报文 去请求。

对方收到LSR后,用 LSU报文 回应,里面包含了完整的LSA内容。

收到LSU后,回复 LSAck报文 进行确认。

Full(完全邻接):双方路由器的LSDB已完全同步。

动作:时,双方数据库的内容一模一样。路由器会立即以自己的LSA为根,进行SPF算法计算,得出最优路由路径,并将其加入路由表。

补:OSPF协议包具备超时重传机制;OSPF协议包具备序列号,对重复包不做处理

3.洪泛新LSA:

当有新的LSA生成或收到时,这条新的LSA应当被泛洪。泛洪新的LSA时,只需要使用LS Update报文和LS Ack报文。

1. 当RTA有新的LSA要泛洪时,RTA向RTB发送一个LS Update报文,在这个报文里包含这条LSA

2. 收到新的LSA以后,RTB向RTA泛洪一个LS Ack报文进行确认。当在两个处于完全邻接状态(邻居状态为Full)的路由器之间泛洪新的LSA时,邻居状态不受影响。

广播网络中LSDB更新:在广播和NBMA网络中,链路状态发生变化时,主要是通过DR路由器发送更新报文。

OSPF LSA洪泛与老化:

OSPF LSA老化:LSA不老化的缺点:当网络长时间中断,故障网络中的设备发起的LSA长时间无效,但仍然存储在LSDB中,浪费设备内存。

OSPF LSA采用递增老化:LSA自发起时开始计时,到达最大老化时间后,从LSDB中清除。

OSPF最大老化时间3600秒,LSA头部的老化时间字段用于计时。

OSPF LSA老化与全网刷新:

正常OSPF网络的路由维护:LSA老化时间到达最大老化时间的一半(30分钟),发起路由器随机等待一段时间后重新发起该LSA,然后洪泛,刷新所有路由器LSDB。

新发起的LSA序列号加1,老化时间为0。LSA在整个洪泛过程中,除老化时间外,其余各字段都保持不变。

报文:

 Hello报文:建立并维护邻居关系 (间隔10s,失效40s)

 Database description(DD):数据库内容汇总(LSA头部)

 Link state request(LSR):请求自己没有或更新的链路状态信息

 Link state update(LSU):链路状态更新信息(LSA头部+内容)

 Link state acknowledge(LSAck):对LSU的确认

OSPF区域号:

OSPF路由域:运行OSPF路由协议的网络。OSPF区域:OSPF是一种支持划分多区域的协议。

 Area ID:32位,用数字或IP地址表示。

【多区域】

五.单区域存在的问题

{1}LSDB 庞大,占用内存大,SPF计算开销大。

{2}LSA洪泛范围大,拓扑变化影响范围大。

{3}路由不能被汇总,路由表庞大,查找路由开销大。

划分区域的好处:

{1}每个区域独立存储LSDB,划分区域减小了LSDB。

{2}LSA洪泛被限制在区域内,有效控制了拓扑变化的影响范围。

{3}区域边界可以做路由汇总,减小了路由表。

六.多区域基本概念

OSPF多区域基本结构:

骨干区域:Area 0,OSPF的Area 0必须是连续的,不能被分割。

非骨干区域:必须和Area 0直接相连,非骨干区域之间不能直接交换路由信息,必须通过Area 0。

特殊区域:具有某些特殊性质的区域,如Stub、NSSA区域。

OSPF多区域链路状态数据库:

   每个区域都有自己独立的LSDB,SPF计算独立运行。

   LSA洪泛和LSDB同步只在区域内进行。

OSPF对区域间路由信息的描述:

   OSPF只知道本区域的拓扑结构,并不知道其他区域的拓扑结构,其他区域的路由信息,依靠本     区域的ABR来描述。

OSPF对区域间路由的描述与计算:

   ABR先计算区域内的LSA 1、2,并为计算出来的路由向其他区域发起LSA 3,而且为Area 0中的     LSA 3向其他区域重新发起LSA 3。

OSPF对外部路由信息的描述:OSPF通过ASBR来描述外部路由的可达性。

OSPF对外部路由的描述与计算:ASBR为外部路由发起LSA5,在整个OSPF路由域中洪泛。

七.0SPF的LSA分类

八.OSPF的LSA传播过程

LSA报文头格式:

OSPF外部路由开销类型:

开销类型1:开销 = LSA携带开销 + 到始发ASBR的开销

开销类型2:开销 = LSA携带开销

先比较LSA携带开销,再比较到始发ASBR的开销,两者都相等才负载。

OSPF外部路由开销类型:

先进行SPF计算,把外部路由LSA挂到SPF树上去,能挂上去的进行开销比较,挂不上去的直接忽略。

类型1优于类型2,相对于类型1,类型2相当于加了无穷远。重发布外部路由时,默认开销类型2。

到始发ASBR的开销计算:

转发地址为0.0.0.0    区域内通过ASBR的LSA 1计算得到。区域间通过ASBR的LSA 4计算得到。

普通区域重发布的外部路由,转发地址默认为0.0.0.0。

转发地址为某IP地址:在OSPF路由表中查询得到;若查询不到,则忽略该LSA。

OSPF选路原则:

按照路由类型的优先级选择:

{1}区域内路由(Intra Area){2}区域间路由(Inter Area)

{3}第一类外部路由(Type1 External){4}第二类外部路由(Type2 External)

在类型相同的情况下,选择路由开销(Cost)较小的路由。

OSPF协议的路由聚合/汇总:ABR或ASBR将具有相同前缀的路由信息聚合后发布到其它区域

优点:减少LSA3类、LSA5类的数目,减少路由信息;减小路由表的规模;提高路由器的运算速度

九.OSPF特殊区域

特殊区域是指人为定义的一些区域,它们在逻辑中一般位于OSPF区域的边缘,只与骨干区域相连。

常见的特殊区域有以下几类:

{1}Stub区域(末梢区域)

{2}Totally Stub区域(完全末梢区域)

{3}NSSA区域(非纯末梢区域)

{4}完全NSSA区域(完全非纯末梢区域)

特性StubTotally StubNSSA完全NSSA
内容不知外部,只知内外只知内部不知外部,但自己可引入极度精简,但自己可引入
阻断的LSAType 4, Type 5Type 3, Type 4, Type 5Type 4, Type 5Type 3, Type 4, Type 5
允许的LSA1、2、31、21、2、3、71、2、7
默认路由ABR下发的 Type 3 LSAABR下发的 Type 3 LSAABR下发的 Type 7 LSA
(需手动触发)
ABR下发的 Type 3 LSA
ASBR不允许不允许允许(产生Type 7)允许(产生Type 7)

http://www.dtcms.com/a/491449.html

相关文章:

  • QT6中QToolBox功能与应用
  • Linux 进程信号机制详解
  • 淘宝客做网站推广自定义页面wordpress
  • YOLO-V1 与 YOLO-V2
  • 中科大少年班记(2025年10月)
  • 微信公众号端网站开发小程序开发费用一览表fhq华网天下
  • 体育数据库:搭建体育应用的核心「数据引擎」
  • 【JETSON+FPGA+GMSL】多功能图像采集卡,以高集成、多通道方案应对工业视觉挑战
  • 做网站教学书微信公众号下载安装
  • 【从零开始构建性能测试体系-07】理解响应时间、吞吐量与并发:性能测试关键指标解读
  • C/C++字符串
  • 上网站乱码python网站开发效率
  • 告别“搬砖”:在AI的辅助下,前端如何触及业务与架构的深水区?
  • 大显存 AI 训练实战:PyTorch/TensorFlow 参数调试与多场景落地指南
  • 石狮新站seo电子商务网站建设与管理感想
  • Socket 抓包工具与实战,从抓取到定位(Socket 的命令、分析)
  • 让安全驾驶有“AI”相伴|腾视科技DMS视频监控一体机,守护每一次出行
  • 软考高项论文考试攻略1:从趋势分析到实战技巧
  • C语言:自定义类型
  • MATLAB中双馈发电机与无刷双馈发电机低电压穿越的异同分析
  • 做公司网站需要多南京建设行政主管部门网站
  • 【CDA案例】某女装品牌如何用AARRR 模型落地实践使私域增长突围的?5分钟get到​重点
  • 企业电话交换机配置在线聊天功能安装文档
  • 公司做网站需要什么条件程序员培训机构出来找工作好找吗
  • Python3编程之Python基础(更新中...)
  • 从概念到实战:一文读懂实时操作系统(RTOS),并洞悉其与Linux/Windows的本质区别
  • 网站建设谈单思路互联网保险的特点不包括
  • 从边缘到云端:Takebishi如何比Kepware更快打通IIoT数据链路
  • uniapp :class不支持 getAvatarClass(currentContact.type) 语法 导致的问题
  • List导出到Excel文件