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通过对路由的控制来进行页面 ...
随机推荐
- 如何在long-running task中调用async方法
什么是 long-running thread long-running task 是指那些长时间运行的任务,比如在一个 while True 中执行耗时较长的同步处理. 下面的例子中,我们不断从队列 ...
- 鸟类识别系统Python+Django+TensorFlow+卷积神经网络算法【完整代码】
一.介绍 鸟类识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法.并通过对数据集进行训练,最后得到一个识别精度较高的模型.并基于Django框架,开 ...
- GPT3与机器翻译的结合:探索新的语言翻译技术
目录 引言 随着全球化的加速和人工智能的快速发展,机器翻译成为了许多企业.机构和个人的痛点.虽然已有多种机器翻译技术,但基于自然语言处理和深度学习的机器翻译一直缺乏有效的解决方案,这导致机器翻译的准确 ...
- Sentieon | 每周文献-Tumor Sequencing-第三期
肿瘤测序系列文章-1 标题(英文):The relationship between genetic characteristics and clinical characteristics and ...
- 龙芯电脑编译redis (loongarch)
1.获取源码 源码地址:https://redis.io/download/#redis-downloads 最新版本是7.2,这里用redis5测试,最后一个版本是5.0.14 wget https ...
- 聊聊Asp.net Core中如何做服务的熔断与降级
概念解析 啥是熔断 而对于微服务来说,熔断就是我们常说的"保险丝",意为当服务出现某些状况时,切断服务,从而防止应用程序不断地尝试执行可能会失败的操作造成系统的"雪崩&q ...
- Git无法push提示报错443
更新 设置代理不能完美解决问题,需要检查本地的SSH配置是否正确,以及正确配置SSH密钥关联github账户 配置SSH参考链接: <GitHub如何配置SSH Key> https:// ...
- 分享我的 Shell 环境,git 操作效率提升 100% !
每当我换到一个新的开发环境,蛮多东西要折腾的.比如 git.golang.环境变量等等.所以特地整理了一下,下次换新电脑也方便. 本文分享我在工作中常用的环境变量 + Shell alias:比如 ...
- Mapbox—geocoder搜索地点error eaching the server
Mapbox-geocoder搜索地点error eaching the server --There was an errorr eaching the server 环境说明: vue3.3.4 ...
- 如何用 Java 写一个 Java 虚拟机
项目链接 https://github.com/FranzHaidnor/haidnorJVM haidnorJVM 使用 Java17 编写的 Java 虚拟机 意义 纸上得来终觉浅,绝知此事要躬行 ...