OSPF——开放最短路径优先、多区域OSPF

news2025/2/3 8:53:26

目录

1 内部网关协议 OSPF

1.1 三个主要特点(生成拓扑图)

其他特点

1.3 链路状态路由过程

1.4 OSPF 的五种分组类型

1.4.1 OSPF 分组用 IP 数据报传送

1.5 OSPF 工作过程

1.6 OSPF 定义五种网络类型

1.7 多路访问网络中的挑战

1.7.1 DR和BDR的选举 

1.7.2 Router ID

1.8 OSPF命令

2 OSPF多区域

2.1 OSPF为什么要引入多区域技术呢?

 2.2 OSPF区域

2.2.1 OSPF区域类型

(1) 骨干区域:Backbone Area 0

(2) 普通(标准)区域:Standard Area

(3) Stub区域:Stub Area

(4) 完全Stub区域:  Totally Stubby Area

(5) NSSA区域:  Not-so-stubby Area

(6) 完全NSSA区域:

2.3 OSPF路由器类型

2.3.1 内部路由器  IR (Internal  Area Router)

2.3.2 区域边界路由器 ABR (Area Border Router)

2.3.3 主干路由器  BR (Backbone Router)

2.3.4 自治系统边界路由器 ASBR (AS Boundary Router)

2.4 OSPF LSA的类型

2.4.1  LSA类型1 – 路由器LSA Router LSA

2.4.2 LSA类型2 – 网络LSA Network LSA

2.4.3 LSA类型3 – 网络汇总LSA Network Summary LSA

2.4.4 LSA类型4 – ASBR汇总LSA ASBR Summary LSA

2.4.5 LSA类型5 – 自治系统外部LSA AS External LSA

2.4.6 LSA类型7 – NSSA外部LSA NSSA External LSA

2.5 OSPF区域类型与可能存在的LSA类型对照


1 内部网关协议 OSPF

·开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点在 1989 年开发出来的。

·原理很简单,但实现很复杂。

·使用了 Dijkstra 提出的最短路径算法 SPF

·采用分布式的链路状态协议 (link state protocol)。

·现在使用 OSPFv2。

OSPFv2路由协议实现拓扑图的生成,SPF算法生成路由,通过路由更新保持最新动态的路由的生成

1.1 三个主要特点(生成拓扑图)

1.采用洪泛法 (flooding),向本自治系统中所有路由器发送信息。

2.发送的信息是与本路由器相邻的所有路由器的链路状态,但这只是路由器所知道的部分信息。

         链路状态:说明本路由器都和哪些路由器相邻,以及该链路的度量 (metric)。

3.当链路状态发生变化或每隔一段时间(如30分钟),路由器才用洪泛法向所有路由器发送此信息。

其他特点

·对于不同类型的业务可计算出不同的路由

·可实现多路径间的负载均衡(load balancing)。

·所有在 OSPF 路由器之间交换的分组都具有鉴别的功能。

·支持可变长度的子网划分无分类编址 CIDR

·32 位的序号,序号越大状态就越新。全部序号空间在 600 年内不会产生重复号。

·每个路由器最终都能建立。

·全网的拓扑结构图

·在全网范围内是一致的(这称为链路状态数据库的同步)。

·每个路由器使用链路状态数据库中的数据构造自己的路由表(例如,使用Dijkstra的最短路径路由算法)。

链路状态数据库能较快地进行更新,使各个路由器能及时更新其路由表。

重要优点:OSPF 更新过程收敛速度快

1.3 链路状态路由过程

1.每台路由器了解其自身的链路(即与其直连的网络)。

        例如:从R1来了解:

2.每台路由器负责“问候”直连网络中的相邻路由器。

        ——向邻居发送Hello数据包:

        ·路由器使用 Hello 协议来发现其链路上的所有邻居。

        ·两台链路状态路由器获悉它们是邻居时,将形成一种相邻关系

        ·这些小型 Hello 数据包持续在两个相邻的邻居之间互换,以此实现“保持生存”功能来监控邻居的状态。  

3.每台路由器创建一个链路状态数据包(LSP),其中包含与该路由器直连的每条链路的状态。     

        ·路由器一旦建立了相邻关系,即可创建链路状态数据包 (LSPs)。

        ·包含与该链路相关的链路状态信息。

4.每台路由器将LSP泛洪到所有邻居,然后邻居将收到的所有LSP存储到数据库中。

        (1)将链路状态数据库泛洪到邻居: 

        ·路由器一旦接收到来自相邻路由器的 LSP,立即将该 LSP 从除接收该 LSP 的接口以外的所有接口发出。

        ·链路状态路由协议则在泛洪完成后 再计算 SPF 算法。

        ·LSP 中还包含其它信息(例如序列号和过期信息),以帮助管理泛洪过程。

        (2)将链路状态数据库泛洪到邻居:

        ·LSP 并不需要定期发送,而仅在下列情况下才需要发送:

        -在路由器初始启动期间,

        -或在该路由器上的路由协议进程启动期间,

        ·每次拓扑发生更改时,包括链路接通或断开,或是相邻关系建立或破裂。

5.每台路由器使用数据库构建一个完整的拓扑图并计算通向每个目的网络的最佳路径

        构建链路状态数据库:

        ·路由区域内的每台路由器都可以使用 SPF 算法来构建您之了解过的 SPF 树。

        有了完整的链路状态数据库,R1 现在即可使用该数据库和 SPF(最短路径优先)算法来计算通向每个网络的首选路径(即最短路径):

1.4 OSPF 的五种分组类型

1.问候 (Hello) 分组。

2.数据库描述 (Database Description) 分组。

3.链路状态请求 (Link State Request) 分组。

4.链路状态更新 (Link State Update) 分组。

5.链路状态确认 (Link State Acknowledgment)分组。

1.4.1 OSPF 分组用 IP 数据报传送

1.5 OSPF 工作过程

1.6 OSPF 定义五种网络类型

·Point-to-point 点对点

·广播多路访问

·非广播多路访问 (NBMA)

·点对多点

·虚拟链路 

1.7 多路访问网络中的挑战

·创建多边相邻关系,其中每对路由器都存在一项相邻关系。  

·LSA(链路状态通告)的大量泛洪。

LSA 的泛洪:

·链路状态路由器会在 OSPF 初始化以及拓扑更改时泛洪其链路状态数据包。

·多路访问网络中的每台路由器都需要向其它所有路由器泛洪 LSA 并为收到的所有 LSA 发出确认,网络通信将变得非常混乱。

多路访问网络中管理相邻关系数量和 LSA 泛洪的解决方案:

        ·指定路由器 (DR)/备用指定路由器 (BDR);

        ·其它所有路由器变为 DROther;

·多路访问网络中的路由器会选举出一个 DR 和一个 BDR。DROther 仅与网络中的 DR 和 BDR 建立完全的相邻关系。

·DROther 只需使用组播地址将其 LSA 发送给 DR 和 BDR,DR 使用组播地址,将LSA 转发给其它所有路由器。 

1.7.1 DR和BDR的选举 

1.7.2 Router ID

        ·OSPF区域内唯一标识路由器的IP地址,OSPF识别路由器的一个编号。

        ·选取方式:

        1.手工指定路由器ID。

        2.如果有loopback端口,则端口IP地址最大的是ID。

        3.如果没有loopback端口,则IP地址最大的是ID。

1.8 OSPF命令

·启用OSPF路由协议:Router(config)#router ospf process-id

·指定运行OSPF协议的接口:Router(config-router)#network address mask area area-id

检查 OSPF 配置

 ·检查配置的路由协议:Router#show ip protocols

·显示路由器中的所有路由:Router#show ip route

·显示 area-ID 邻接的信息:Router#show ip ospf interface

·显示OSPF的邻居:Router#show ip ospf neighbor

2 OSPF多区域

2.1 OSPF为什么要引入多区域技术呢?

·单区域存在的问题

        ·每台路由器都需要维护的路由表越来越大,单区域内路由无法汇总。

        ·收到的LSA通告太多了。

        ·内部动荡会引起全网路由器的完全SPF计算。

        ·资源消耗过多,性能下降,影响数据转发。

问题的原因:都是LSA到处扩散惹的“祸”。

OSPF划分多区域后的好处——划整为零的思想

·解决方案:

把大型网络分隔为多个较小,可管理的单元 – 区域 area。

·划分区域的好处——控制LSA

        ·在区域边界可以做路由汇总,减小了路由表。

        ·减少了LSA洪泛的范围,有效地把拓扑变化控制在区域内,提高了网络的稳定性。

        · 拓扑的变化影响可以只限制涉及本区域。

        · 多区域提高了网络的扩展性,有利于组建大规模的网络。

OSPF多区域设计规定:

(1) 每个区域都有自己独立的链路状态数据库,SPF路由计算独立进行。

(2) LSA洪泛和链路状态数据库同步只在区域内进行。

(3) OSPF骨干区域Area 0,必须是连续的。

(4) 其它区域必须和骨干区域Area 0直接连接;其它区域之间不能直接交换路由信息;区域间的路由交换必须通过Area 0,区域间是距离矢量行为。

(5) 形成OSPF邻居关系的接口必须在同一区域,不同OSPF区域的接口不能形成邻居。

(6) 区域边界路由器把区域内的路由转换成区域间路由,传播到其它区域。

 2.2 OSPF区域

OSPF 将自治系统划分为两种不同的区域 (area):骨干和非骨干区域。

区域概念

OSPF的网络设计要求是双层层次化(2-layer hierarchy),包括如下2层:

        ·中转区域

        ·常规区域

区域标识

区域ID可以表示成一个十进制的数字,也可以表示成一个点分十进制的数字。

2.2.1 OSPF区域类型

(1) 骨干区域:Backbone Area 0

         ·又称主干区域,标识符= 0.0.0.0,作用=用来连通其他下层区域;

         ·本身是一个标准区域,负责连接非骨干区域,其它区域(非骨干区域)必须保证和骨干区域有直接的物理连接;  

        ·ABR上做汇总的好处是减少通告出去和进来的不必要信息;

(2) 普通(标准)区域:Standard Area

        ·标准的OSPF区域,能发起也能接收区域内路由、区域间路由、外部路由;

        ·一个区域缺省是普通区域;骨干区域Area 0也是一个标准区域。

(3) Stub区域:Stub Area

        ·存根区域,不能重发布引入外部路由,也不能接收外部路由。

        ·把一个区域配成存根区域的好处是,阻挡不必要的LSA5外部路由进入本地区域,从而精简路由表;

        ·对于外部路由LSA5,ABR会生成0/0的缺省路由(LSA3)通告进stub区域内部;

(4) 完全Stub区域:  Totally Stubby Area

        ·完全存根区域,不能重发布引入外部路由,也不能接收外部路由、区域间路由。

        ·LSA3是ABR通过计算LSA1和LSA2转化而生成的,可以进一步配置成完全存根区域,阻挡LSA3,生成O IA* 0/0;(LSA5就会使用)

        ·完全存根区域是一种对存根区域的改进,进一步精简路由表;

(5) NSSA区域:  Not-so-stubby Area

        ·次存根区域/非完全存根区域,不能接收其他区域的外部路由,本区域可以重发布引入外部路由。

        ·即想阻挡LSA5,自身又想引入外部路由,stub的变种

        ·NSSA既阻挡外部LSA5的进入,同时它的ASBR又可以引入外部路由LSA7;

        ·LSA7在NSSA内洪泛,通过ABR时转换为LSA5;

        ·对于外部路由就是LSA5不会缺省生成0/0默认路由进入本地区域,需手工配置(特殊的不会产生,只有它不会产生默认路由

(6) 完全NSSA区域:

        ·完全次存根区域,不能接收其他区域的外部路由、区域间路由,本区域可以引入外部路由。

        ·进一步由NSSA ABR阻挡LSA3进入NSSA区域内,同时ABR自动生成0/0进入完全NSSA区域;(LSA5会使用)

2.3 OSPF路由器类型

2.3.1 内部路由器  IR (Internal  Area Router)

        ·所有接口在同一个Area内;

        ·同一区域内的所有内部路由器的 LSDB完全相同;

2.3.2 区域边界路由器 ABR (Area Border Router)

        ·接口分属于两个或两个以上的区域的路由器;

        ·ABR为它们所连接的每个区域分别维护单独的LSDB;

        ·区域间路由信息必须通过ABR才能进出区域;

        ·ABR是区域路由信息的进出口,也是区域间数据的进出口;

2.3.3 主干路由器  BR (Backbone Router)

        ·至少有一个接口属于Area 0(主干区域)的路由器;

        ·区域之间的行为特性是D-V;

        ·为了解决区域之间可能发生的路由循环,引入一个特殊的区域 Area 0,其它区域之间要通信,必须通过Area 0 骨干区域;

2.3.4 自治系统边界路由器 ASBR (AS Boundary Router)

        ·边界OSPF路由域和外部网络的路由器;

        ·通过重发布引入非OSPF网络路由信息;

划分区域优点和缺点

优点: 减少了整个网络上的通信量。 减少了需要维护的状态数量。

缺点: 交换信息的种类增多了。 使 OSPF 协议更加复杂了。

2.4 OSPF LSA的类型

LSU中携带了具体的LSA信息:

2.4.1  LSA类型1 – 路由器LSA Router LSA

        ·每个路由器针对它所在的区域产生LSA1,描述区域内部与路由器直连的链路的信息(包括链路类型,Cost等) ;  

        ·LSA1只允许在本区域内洪泛,不允许跨越ABR;  

        ·LSA中会标识路由器是否是ABR(B比特置位),ASBR(E比特置位)或者是Virtual-link(V比特置位)的端点的身份信息;  

        ·LSA中会标识路由器所支持的Option功能标记(如E)。

2.4.2 LSA类型2 – 网络LSA Network LSA

        ·描述TransNet(包括Broadcast和NBMA网络)网络信息;

        ·由DR生成,描述其在该网络上连接的所有路由器以及网段掩码信息,以及这个MA所属的路由器;

        ·LSA类型2只在本区域Area内洪泛,不允许跨越ABR;

LSA1、LSA2总结:

·通过LSA1,LSA2在区域内洪泛,使区域内每个路由器的LSDB达到同步,计算生成标识为“O”的路由,解决区域内部的通信问题;

·区域内路由:目标网络在本区域内。

2.4.3 LSA类型3 – 网络汇总LSA Network Summary LSA

        ·由ABR生成,将所连接区域内部的链路信息以子网的形式扩散到邻区域;

        ·Type3 LSA实际上就是将区域内部的Type1 Type2的信息收集起来以路由子网的形式扩散出去,   这就是Summay LSA中Summay的含义(注意这里的summary与路由汇总没有关系);

        ·ABR收到来自同区域其它ABR传来的Type 3 LSA后重新生成新的Type3 LSA(Advertising  Router改为自己)然后继续在整个OSPF系统内扩散;

        ·Type3 LSA的扩散本质上属于DV行为;  

        ·ABR收到的Type3 LSA与自己生成的相同 此LSA不做计算(避免环路);

2.4.4 LSA类型4 – ASBR汇总LSA ASBR Summary LSA

        ·LSA类型1指明自己是ASBR,为解决LSA5的路由生成问题,ABR在阻拦LSA1的同时生成LSA4,描述到ASBR的可达性;

        ·格式与Type3相同,描述的目标网络是一个ASBR的RouterID;

        ·Type4 LSA的触发条件为:ABR收到一个Type5 LSA;

2.4.5 LSA类型5 – 自治系统外部LSA AS External LSA

        ·外部路由通过重发布,引入OSPF路由域,相应信息(路由条目)由ASBR以LSA5的形式生成然后进入OSPF路由域;

        ·缺省情况下,LSA5生成路由用OE2表示,可强行指定为OE1;  

                ·OE2 开销 = 外部开销;  

                ·OE1 开销 = 外部开销 + 内部开销;

        ·LSA5不允许进入特殊区域 —— stub存根区& NSSA区

2.4.6 LSA类型7 – NSSA外部LSA NSSA External LSA

        ·在NSSA(非完全存根区域)not-so-stubby area中ASBR针对外部网络产生类似于LSA5的LSA类型7;

        ·LSA类型7只能在NSSA区域中洪泛,到达NSSA区域ABR后,NSSA ABR将其转换成LSA类型5外部路由,传播到Area 0,从而传播到整个OSPF路由域;

        ·生成路由缺省用ON2表示,也可指定为ON1;

2.5 OSPF区域类型与可能存在的LSA类型对照

  一个区域所设置的特性决定着它能接收的路由,OSPF将整个OSPF路由域划分为不同的区域,目的是为减少不必要的路由信息的传递,精简路由表:

这部分知识点对我来说有点难记,需要反复看,累die...

欢迎一起学习~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1427561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WAF 无法防护的八种风险

一、目录遍历漏洞 测试用例:Apache 目录遍历漏洞 测试环境搭建: apt intsall apache2 && cd /var/www/html/ && rm index.html无法拦截原因: 请求中无明显恶意特征,无法判断为攻击行为 实战数据: 截…

飞腾D2000+X100的UART串口调试方法

一、测试使用主板的串口说明 D2000自带的UART0直接引出9针全功能RS232串口,UART1为CPU调试串口,UART2和UART3接485接口芯片转为RS485,此外,主板还有X100 usb2.0转出8路RS232,详细硬件框图如下: 源芯片串口号串口电平连接器丝印D2000UART0RS232COM0D2000UART1TTL调试串口…

LightDB24.1 存储过程中声明的不带参数的游标,支持open 游标名加括号的调用方式

背景 oracle 存储过程中不带参数声明的游标,可以在open打开时加上括号进行调用。在老的业务中经常能够看到这种用法。虽然觉得不合理,但是oracle人家支持,作为兼容性极强的LightDB不会在这个小水沟翻车的,果断进行支持一波。 L…

【鸿蒙千帆起】高德地图携手 HarmonyOS NEXT,开启智能出行新篇章

2024 年 1 月 18 日下午,华为举办了鸿蒙生态千帆启航仪式,对外宣布 HarmonyOS NEXT 星河预览版现已开放申请,同时,首批 200鸿蒙原生应用加速开发,鸿蒙生态设备数量更是突破了 8 亿大关。这些进展反映了开发者和合作伙伴…

Jmeter+ant+Jenkins 接口自动化框架完整版

接口自动化测试单有脚本是不够的,我们还需要批量跑指定接口,生成接口运行报告,定位报错接口,接口定时任务,邮件通知等功能。批量跑指定接口:我们可以利用ant批量跑指定目录下的Jmeter脚本生成接口运行报告&…

上传upload及显示img图片预览、删除

上传图片文件a-upload html部分 <div className="clearfix"><a-upload:custom-request="customRequest"listType="picture-card":fileList="fileList":onPreview="handlePreview":on-remove="del">&…

【算法与数据结构】300、674、LeetCode最长递增子序列 最长连续递增序列

文章目录 一、300、最长递增子序列二、674、最长连续递增序列三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、300、最长递增子序列 思路分析&#xff1a; 第一步&#xff0c;动态数组的含义。 d p [ i ] dp[i] dp[i…

什么是接口的幂等性,如何保证接口的幂等性?

✅作者简介&#xff1a;大家好&#xff0c;我是Leo哥&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo哥的博客 &#x1f49e;当前专栏&#xff1a; Java ✨特色专栏&#xff1a; MyS…

如何在Windows部署GoLand并通过SSH远程连接Linux服务器

文章目录 1. 安装配置GoLand2. 服务器开启SSH服务3. GoLand本地服务器远程连接测试4. 安装cpolar内网穿透远程访问服务器端4.1 服务器端安装cpolar4.2 创建远程连接公网地址 5. 使用固定TCP地址远程开发 本文主要介绍使用GoLand通过SSH远程连接服务器&#xff0c;并结合cpolar内…

想好新年去哪了吗?合合信息扫描全能王用AI“留住”年味

还有不到十天&#xff0c;除夕就要到了。近几年春节假期中&#xff0c;有人第一次带着孩子直击海面冰风&#xff0c;坐船回老家&#xff1b;也有人选择“漫游”国内外&#xff0c;在旅行中迎接新春的朝气。合合信息旗下扫描全能王APP通过AI扫描技术&#xff0c;提供了一种全新的…

白皮书发布,石油石化数字孪生加速

近日&#xff0c;《数字石化 孪生智造——石油石化数字孪生白皮书》发布。白皮书聚焦石油石化行业发展机遇&#xff0c;剖析数字孪生技术在行业中的案例实践与应用场景&#xff0c;展望石油石化企业未来孪生发展新态势。 当前&#xff0c;国家大力推动减污降碳协同增效&#x…

【机器学习】基于K-近邻的车牌号识别

实验四: 基于K-近邻的车牌号识别 1 案例简介 ​ 图像的智能处理一直是人工智能领域广受关注的一类技术&#xff0c;代表性的如人脸识别与 CT 肿瘤识别&#xff0c;在人工智能落地的进程中发挥着重要作用。其中车牌号识别作为一个早期应用场景&#xff0c;已经融入日常生活中&…

vue2使用echarts自定义tooltip内容

先上最终效果图 # 实现过程&#xff1a; 一、下载引入echarts 下载 npm install echarts --save在main.js中引入 import * as echarts from "echarts"; Vue.prototype.$echarts echarts;二、使用 <template><div id"myechart" style"…

[香橙派开发系列]使用蓝牙和手机进行信息的交换

文章目录 前言一、HC05蓝牙模块1.HC05概述2.HC05的连接图3.进入HC05的命令模式4.常用的AT指令4.1 检查AT是否上线4.2 重启模块4.3 获取软件版本号4.4 恢复默认状态4.5 获取蓝牙的名称4.6 设置蓝牙模块的波特率4.7 查询蓝牙的连接模式4.8 查询模块角色 5.连接电脑6.通过HC05发送…

Python爬虫的基本原理

我们可以把互联网比作一张大网&#xff0c;而爬虫&#xff08;即网络爬虫&#xff09;便是在网上爬行的蜘蛛。把网的节点比作一个个网页&#xff0c;爬虫爬到这就相当于访问了该页面&#xff0c;获取了其信息。可以把节点间的连线比作网页与网页之间的链接关系&#xff0c;这样…

C#——三角形面积公式

已知三角形的三个边&#xff0c;求面积&#xff0c;可以使用海伦公式。 因此&#xff0c;可以执行得到三角形面积公式的计算方法代码如下&#xff1a; /** / <summary>* / 三角形面积公式* / </summary>* / <param name"a">边长a</param>*…

在idea中使用maven编译包,直接打包到远程环境上去了

执行指令 mvn clean install编译包的结果指向远程环境上去了 报错信息 No SSH configuration for 修改idea远程连接配置&#xff0c;改回编包打包到本地。 settings -> Build,Execution,Deployment -> Run Targets 删除掉这部分配置即可。 如果想改成直接编包到远程…

latex表格使用总结

参考博客 https://blog.csdn.net/TH_guan/article/details/124878398 测试了一下latex里面表格的用法 \documentclass{article} \usepackage{booktabs} % 导入三线表需要的宏包 \usepackage{booktabs} % 导入三线表需要的宏包 \usepackage{longtable}% 导入跨页表格所需宏包 …

【打赏】完美运营的最新视频打赏系统

完美运营的最新视频打赏系统优于市面上95%的打赏系统&#xff0c;与其他打赏系统相比&#xff0c;功能更加强大&#xff0c;完美运营且无bug。支付会调、短链接生成、代理后台、价格设置和试看功能等均没有问题。 以上为原简介&#xff0c;经测试验证。成功搭建并可以正常进入…

【GitHub项目推荐--大语言模型课程】【转载】

Large Language Model Course Large Language Model Course&#xff08;大型语言模型课程&#xff09;是一个开源项目&#xff0c;该课程分为三个部分&#xff1a; LLM 基础&#xff1a;涵盖了数学、Python 和神经网络的基础知识。 LLM 科学家&#xff1a;专注于学习如何使用…