OSPF路由 与 ISIS路由 与路由学习对比
转载请注明出处:
1.OSPF 路由学习规律
OSPF使用链路状态数据库(Link State Database)来存储网络拓扑信息。每个OSPF路由器通过交换链路状态更新(Link State Updates)来了解整个网络的拓扑,并根据收到的链路状态更新构建自己的链路状态数据库。
OSPF路由学习有以下规律:
邻居关系建立:OSPF路由器通过发送Hello消息来发现相邻路由器,并与其建立邻居关系。邻居之间会交换各自的链路状态信息。
SPF计算:一旦建立了邻居关系并收到链路状态更新,每个OSPF路由器都会执行SPF(Shortest Path First)计算,计算出到达各个目标网络的最短路径。
LSA洪泛:OSPF路由器将自己的链路状态信息封装为LSA(Link State Advertisement)包,并通过洪泛算法将其传递给所有的邻居路由器,以使得每个路由器都具有完整的链路状态信息。
链路状态数据库同步:所有邻居路由器交换并更新LSA后,每个OSPF路由器会将收到的LSA合并到自己的链路状态数据库中,并重新执行SPF计算。
路由表生成:根据链路状态数据库中的拓扑信息,每个OSPF路由器生成自己的路由表,并使用最短路径优先算法(Dijkstra算法)选择最佳路径。
2.OSPF 路由学习示例
假设有三个OSPF路由器 A、B 和 C,它们连接在一个共享网络上,并具有以下拓扑结构:
A
/ \
B-----C
路由器 A 发送 Hello 消息检测邻居,并与 B 和 C 建立邻居关系。
A、B 和 C 交换各自的链路状态信息,更新链路状态数据库。
A 将自己的链路状态信息封装为 LSA 包,并洪泛给 B 和 C。
B 和 C 收到 A 的 LSA 包后,将其合并到各自的链路状态数据库中。
B 和 C 分别执行 SPF 计算,计算出到达目标网络的最短路径。
B 和 C 生成自己的路由表,并选择最佳路径。
3.IS-IS 路由学习规律
IS-IS也使用链路状态数据库来存储网络拓扑信息,但其学习规律与OSPF有一些差异。
IS-IS 路由学习有以下规律:
邻居关系建立:IS-IS路由器通过发送Hello消息来发现相邻路由器,并与其建立邻居关系。邻居之间会交换自己的链路状态信息。(类似于OSPF)
LSP洪泛:IS-IS路由器将自己的链路状态信息封装为LSP(Link State PDU)包,并通过洪泛算法将其传递给所有的邻居路由器,以使得每个路由器都具有完整的链路状态信息。(类似于OSPF)
链路状态数据库同步:所有邻居路由器交换并更新LSP后,每个IS-IS路由器会将收到的LSP合并到自己的链路状态数据库中。
SPF计算:IS-IS路由器执行SPF计算,计算出到达各个目标网络的最短路径。
路由表生成:根据链路状态数据库中的拓扑信息,每个IS-IS路由器生成自己的路由表,并选择最佳路径。
4.IS-IS 路由学习示例
假设有三个IS-IS路由器 A、B 和 C,它们连接在一个共享网络上,并具有以下拓扑结构:
A
/ \
B-----C
路由器 A 发送 Hello 消息检测邻居,并与 B 和 C 建立邻居关系。
A、B 和 C 交换各自的链路状态信息,更新链路状态数据库。
A 将自己的链路状态信息封装为 LSP 包,并洪泛给 B 和 C。
B 和 C 收到 A 的 LSP 包后,将其合并到各自的链路状态数据库中。
B 和 C 执行 SPF 计算,计算出到达目标网络的最短路径。
B 和 C 生成自己的路由表,并选择最佳路径。
5.OSPF 和 IS-IS 路由学习的差异
OSPF(Open Shortest Path First)协议和ISIS(Intermediate System to Intermediate System)协议的不同点:
协议类型: OSPF是一个开放标准的链路状态协议,而ISIS是一个由ISO制定的链路状态协议。
支持的网络层: OSPF在IPv4和IPv6网络上均可使用,而ISIS通常用于IPv4网络,但也可以通过扩展支持IPv6网络。
度量方式: OSPF使用带宽作为默认度量方式,考虑链路的带宽来计算最短路径,而ISIS使用通告链路开销作为度量方式,通告链路的开销越小表示该链路更好。
对区域的支持: OSPF将网络划分为多个自治系统(AS),每个AS内部可以进一步划分为多个区域,而ISIS没有明确的区域概念,所有的IS-IS路由器都处于同一个级别,形成一个平等的拓扑结构。
邻居发现机制: OSPF使用Hello消息来发现邻居,并建立邻居关系;ISIS使用IIH(IS-IS Hello)消息来发现邻居,并建立邻居关系。
LSDB同步方式: OSPF使用DR(Designated Router)和BDR(Backup Designated Router)来同步Link State Database(LSDB),以减少资源消耗;ISIS使用全网LSP(Link State PDU)数据库来同步LSDB,每个IS-IS路由器都存储完整的拓扑信息。
区分内部和外部路由: OSPF将路由划分为内部路由和外部路由,通过OSPF ASBR(Autonomous System Boundary Router)对外部路由进行广播;ISIS没有明确的内部和外部路由之分,所有的路由都是平等的。
适用场景: OSPF在大型企业网络、互联网核心路由器和ISP网络中广泛使用;ISIS主要在ISP网络中使用,尤其是用于骨干网和交换中心等高性能网络环境。
OSPF协议和ISIS协议的相同点:
链路状态协议: OSPF和ISIS都属于链路状态协议,使用相似的LSA(Link State Advertisement)消息来交换路由信息。
基于最短路径算法: OSPF和ISIS都使用最短路径优先(Shortest Path First,SPF)算法来计算最短路径,并选择最佳的路由。
支持动态路由: OSPF和ISIS都支持动态路由选择,可以根据网络拓扑和链路状态动态调整最佳路径。
支持路由聚合: OSPF和ISIS都支持路由聚合,可以将连续的网络地址合并为一个路由条目,减少路由表的大小和路由更新的开销。
支持ECMP: OSPF和ISIS都支持等价多路径(Equal Cost Multipath,ECMP)功能,可以将流量分发到多个最佳路径上,提高链路利用率和可靠性。
OSPF路由 与 ISIS路由 与路由学习对比的更多相关文章
- 某大型企业ospf面试题分析(含路由策略和路由过滤,及双点双向重发布)
面试问题背景 本面试题来自国内最大通信技术公司之一,央企,有很多金融网项目. 了解行业的同学,一定知道事哪个企业. 上面试问题(取自百哥收集整理的面试总结大全,关注百哥CSDN或知乎,不定期分享名企面 ...
- 六、路由详细介绍之动态路由RIP(了解一下就行)
动态路由分为距离矢量路由(RIP)和链路状态(OSPF和ISIS) 一.离矢量路由协议-RIP RIP协议现在基本上被淘汰. RIP动态路由协议工作原理,如上图: R12中有192.168.1.0和1 ...
- 华为HCIA认证零基础入门-网络工程师必备之什么是静态路由?如何配置静态路由?
一.静态路由功能介绍:静态路由就是手工配置的路由,使得数据包能够按照预定的路径传送到指定的目标网络. 当不能通过动态路由协议学到一些目标网络的路由时,配置静态路由就会显得十分重要. 二.静态路由应用场 ...
- 从Angular2路由引发的前后端路由浅谈
笔者的学习进度比较慢,直到两年以前写的网站都还是以服务端为主导的,即网站的所有视图都由服务器视图模板来渲染,笔者使用的是 DotNet MVC,开发套路就是在Controller里面写Action,在 ...
- AngularJS 路由和模板实例及路由地址简化方法
最近一同事在学习AngularJS,在路由与模板的学习过程中遇到了一些问题,于是今天给她写了个例子,顺便分享出来给那些正在学习AngularJS的小伙伴们. 话说这AngularJs 开发项目非常的爽 ...
- .NetCore MVC中的路由(2)在路由中使用约束
p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; orphans: 2; widows: 2 ...
- ASP.NET Core的路由[5]:内联路由约束的检验
当某个请求能够被成功路由的前提是它满足某个Route对象设置的路由规则,具体来说,当前请求的URL不仅需要满足路由模板体现的路径模式,请求还需要满足Route对象的所有约束.路由系统采用IRouteC ...
- 一个类似backbone路由的纯净route ( 前端路由 客户端路由 backbone路由 )
大家用backbone.angular,可能都习惯了内置的路由,这两个框架的路由都是非常优秀的,强大而简单. 客户端(浏览器)路由原理其实比较简单,其实就是监听hash的变化. 在之前的架构探讨中,说 ...
- ASP.NET MVC 路由进阶(之二)--自定义路由约束
3.自定义路由约束 什么叫自定义路由约束呢?假如路由格式为archive/{year}/{month}/{day},其中year,month,day是有约束条件的,必须是数字,而且有一定范围. 这时候 ...
- angularjs 路由回退,返回到上一个路由
在现阶段比较流行的angularjs框架中:路由是一个比较重要的应用:angularjs的单页面是其强大功能之一: 所有的页面其实就只是在一个页面就实现的:angularjs通过对路由的控制来进行页面 ...
随机推荐
- 精讲Mybatis··#{}和${}
题目 笔记Notes 面试题目:#{}和${}的区别是什么? 网上的答案是:#{}是预编译处理,${}是字符串替换.mybatis在处理#{}时, 会将sql中的#{}替换为?号,调用Prepared ...
- win10系统网络图标变成一个地球模型并且无法连上网络
最近在家远程办公,但是遇到个很棘手的问题,电脑突然连不上无线网络了.... 无线网络图标变成地球模型如下:
- 【HDC.Cloud 2023】新鲜速递:从多元生态、开源到人才培养,让开发者成为决定性力量
摘要:华为云开发者联盟邀您一起回顾大会精彩时刻. 本文分享自华为云社区<[HDC.Cloud 2023]新鲜速递:从多元生态.开源到人才培养,让开发者成为决定性力量>,作者: 华为云社区精 ...
- 攻防世界web高手进阶区-ics-06
今天借着这道web题顺便学会了利用burpsuite进行爆破 先摆题目 打开题目环境,发现是一个工程管理系统,根据题目找到报表中心,点进去 好像没什么收获,F12看一下,发现id =1,试了一下id= ...
- Flask结合gunicorn和nginx反向代理的生产环境部署及踩坑记录
前言 之前自己写的flask使用gunicorn上线生产环境没有什么问题,但是最近搭建了一个现成的flask项目,当使用python直接运行时不会有问题,而使用gunicorn时则会出现一些问题. 部 ...
- 如何使用CCXT交易数字货币现货
更多精彩内容,欢迎关注公众号:数量技术宅,也可添加技术宅个人微信号:sljsz01,与我交流. 数字货币现货标准化接口 数字货币市场与股票.期货市场最大的不同点在于数字货币主流交易所数量很多.举个例子 ...
- .NET for Apache Spark 调试
.NET for Apache Spark 调试 官方文档:在 Windows 上部署 .NET for Apache Spark 应用程序 | Microsoft Learn 打开"新命令 ...
- React函数式组件渲染、useEffect顺序总结
参考资料: 深入React的生命周期(上):出生阶段(Mount) 深入React的生命周期(下):更新(Update) 精读<useEffect 完全指南> React组件重新渲染理解 ...
- python3 猜数字小游戏
Guess_the_Number.py import random # Generate a random number between 1 and 100 number = random.randi ...
- return true 与 return false的妙用——jQuery
var arr = [1, 3, 5,7,9]; jQuery.each(arr, function(key, value){ if(key === 2){ return true; } consol ...