转载请注明出处:

1.OSPF 路由学习规律

OSPF使用链路状态数据库(Link State Database)来存储网络拓扑信息。每个OSPF路由器通过交换链路状态更新(Link State Updates)来了解整个网络的拓扑,并根据收到的链路状态更新构建自己的链路状态数据库。

OSPF路由学习有以下规律:

  1. 邻居关系建立:OSPF路由器通过发送Hello消息来发现相邻路由器,并与其建立邻居关系。邻居之间会交换各自的链路状态信息。

  2. SPF计算:一旦建立了邻居关系并收到链路状态更新,每个OSPF路由器都会执行SPF(Shortest Path First)计算,计算出到达各个目标网络的最短路径。

  3. LSA洪泛:OSPF路由器将自己的链路状态信息封装为LSA(Link State Advertisement)包,并通过洪泛算法将其传递给所有的邻居路由器,以使得每个路由器都具有完整的链路状态信息。

  4. 链路状态数据库同步:所有邻居路由器交换并更新LSA后,每个OSPF路由器会将收到的LSA合并到自己的链路状态数据库中,并重新执行SPF计算。

  5. 路由表生成:根据链路状态数据库中的拓扑信息,每个OSPF路由器生成自己的路由表,并使用最短路径优先算法(Dijkstra算法)选择最佳路径。

2.OSPF 路由学习示例

  假设有三个OSPF路由器 A、B 和 C,它们连接在一个共享网络上,并具有以下拓扑结构:

       A
/ \
B-----C
  1. 路由器 A 发送 Hello 消息检测邻居,并与 B 和 C 建立邻居关系。

  2. A、B 和 C 交换各自的链路状态信息,更新链路状态数据库。

  3. A 将自己的链路状态信息封装为 LSA 包,并洪泛给 B 和 C。

  4. B 和 C 收到 A 的 LSA 包后,将其合并到各自的链路状态数据库中。

  5. B 和 C 分别执行 SPF 计算,计算出到达目标网络的最短路径。

  6. B 和 C 生成自己的路由表,并选择最佳路径。

3.IS-IS 路由学习规律

IS-IS也使用链路状态数据库来存储网络拓扑信息,但其学习规律与OSPF有一些差异。

IS-IS 路由学习有以下规律:

  1. 邻居关系建立:IS-IS路由器通过发送Hello消息来发现相邻路由器,并与其建立邻居关系。邻居之间会交换自己的链路状态信息。(类似于OSPF)

  2. LSP洪泛:IS-IS路由器将自己的链路状态信息封装为LSP(Link State PDU)包,并通过洪泛算法将其传递给所有的邻居路由器,以使得每个路由器都具有完整的链路状态信息。(类似于OSPF)

  3. 链路状态数据库同步:所有邻居路由器交换并更新LSP后,每个IS-IS路由器会将收到的LSP合并到自己的链路状态数据库中。

  4. SPF计算:IS-IS路由器执行SPF计算,计算出到达各个目标网络的最短路径。

  5. 路由表生成:根据链路状态数据库中的拓扑信息,每个IS-IS路由器生成自己的路由表,并选择最佳路径。

4.IS-IS 路由学习示例

  假设有三个IS-IS路由器 A、B 和 C,它们连接在一个共享网络上,并具有以下拓扑结构:

       A
/ \
B-----C
  1. 路由器 A 发送 Hello 消息检测邻居,并与 B 和 C 建立邻居关系。

  2. A、B 和 C 交换各自的链路状态信息,更新链路状态数据库。

  3. A 将自己的链路状态信息封装为 LSP 包,并洪泛给 B 和 C。

  4. B 和 C 收到 A 的 LSP 包后,将其合并到各自的链路状态数据库中。

  5. B 和 C 执行 SPF 计算,计算出到达目标网络的最短路径。

  6. B 和 C 生成自己的路由表,并选择最佳路径。

5.OSPF 和 IS-IS 路由学习的差异

  OSPF(Open Shortest Path First)协议和ISIS(Intermediate System to Intermediate System)协议的不同点:

  1. 协议类型: OSPF是一个开放标准的链路状态协议,而ISIS是一个由ISO制定的链路状态协议。

  2. 支持的网络层: OSPF在IPv4和IPv6网络上均可使用,而ISIS通常用于IPv4网络,但也可以通过扩展支持IPv6网络。

  3. 度量方式: OSPF使用带宽作为默认度量方式,考虑链路的带宽来计算最短路径,而ISIS使用通告链路开销作为度量方式,通告链路的开销越小表示该链路更好。

  4. 对区域的支持: OSPF将网络划分为多个自治系统(AS),每个AS内部可以进一步划分为多个区域,而ISIS没有明确的区域概念,所有的IS-IS路由器都处于同一个级别,形成一个平等的拓扑结构。

  5. 邻居发现机制: OSPF使用Hello消息来发现邻居,并建立邻居关系;ISIS使用IIH(IS-IS Hello)消息来发现邻居,并建立邻居关系。

  6. LSDB同步方式: OSPF使用DR(Designated Router)和BDR(Backup Designated Router)来同步Link State Database(LSDB),以减少资源消耗;ISIS使用全网LSP(Link State PDU)数据库来同步LSDB,每个IS-IS路由器都存储完整的拓扑信息。

  7. 区分内部和外部路由: OSPF将路由划分为内部路由和外部路由,通过OSPF ASBR(Autonomous System Boundary Router)对外部路由进行广播;ISIS没有明确的内部和外部路由之分,所有的路由都是平等的。

  8. 适用场景: OSPF在大型企业网络、互联网核心路由器和ISP网络中广泛使用;ISIS主要在ISP网络中使用,尤其是用于骨干网和交换中心等高性能网络环境。

 OSPF协议和ISIS协议的相同点:

  1. 链路状态协议: OSPF和ISIS都属于链路状态协议,使用相似的LSA(Link State Advertisement)消息来交换路由信息。

  2. 基于最短路径算法: OSPF和ISIS都使用最短路径优先(Shortest Path First,SPF)算法来计算最短路径,并选择最佳的路由。

  3. 支持动态路由: OSPF和ISIS都支持动态路由选择,可以根据网络拓扑和链路状态动态调整最佳路径。

  4. 支持路由聚合: OSPF和ISIS都支持路由聚合,可以将连续的网络地址合并为一个路由条目,减少路由表的大小和路由更新的开销。

  5. 支持ECMP: OSPF和ISIS都支持等价多路径(Equal Cost Multipath,ECMP)功能,可以将流量分发到多个最佳路径上,提高链路利用率和可靠性。

OSPF路由 与 ISIS路由 与路由学习对比的更多相关文章

  1. 某大型企业ospf面试题分析(含路由策略和路由过滤,及双点双向重发布)

    面试问题背景 本面试题来自国内最大通信技术公司之一,央企,有很多金融网项目. 了解行业的同学,一定知道事哪个企业. 上面试问题(取自百哥收集整理的面试总结大全,关注百哥CSDN或知乎,不定期分享名企面 ...

  2. 六、路由详细介绍之动态路由RIP(了解一下就行)

    动态路由分为距离矢量路由(RIP)和链路状态(OSPF和ISIS) 一.离矢量路由协议-RIP RIP协议现在基本上被淘汰. RIP动态路由协议工作原理,如上图: R12中有192.168.1.0和1 ...

  3. 华为HCIA认证零基础入门-网络工程师必备之什么是静态路由?如何配置静态路由?

    一.静态路由功能介绍:静态路由就是手工配置的路由,使得数据包能够按照预定的路径传送到指定的目标网络. 当不能通过动态路由协议学到一些目标网络的路由时,配置静态路由就会显得十分重要. 二.静态路由应用场 ...

  4. 从Angular2路由引发的前后端路由浅谈

    笔者的学习进度比较慢,直到两年以前写的网站都还是以服务端为主导的,即网站的所有视图都由服务器视图模板来渲染,笔者使用的是 DotNet MVC,开发套路就是在Controller里面写Action,在 ...

  5. AngularJS 路由和模板实例及路由地址简化方法

    最近一同事在学习AngularJS,在路由与模板的学习过程中遇到了一些问题,于是今天给她写了个例子,顺便分享出来给那些正在学习AngularJS的小伙伴们. 话说这AngularJs 开发项目非常的爽 ...

  6. .NetCore MVC中的路由(2)在路由中使用约束

    p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 120%; orphans: 2; widows: 2 ...

  7. ASP.NET Core的路由[5]:内联路由约束的检验

    当某个请求能够被成功路由的前提是它满足某个Route对象设置的路由规则,具体来说,当前请求的URL不仅需要满足路由模板体现的路径模式,请求还需要满足Route对象的所有约束.路由系统采用IRouteC ...

  8. 一个类似backbone路由的纯净route ( 前端路由 客户端路由 backbone路由 )

    大家用backbone.angular,可能都习惯了内置的路由,这两个框架的路由都是非常优秀的,强大而简单. 客户端(浏览器)路由原理其实比较简单,其实就是监听hash的变化. 在之前的架构探讨中,说 ...

  9. ASP.NET MVC 路由进阶(之二)--自定义路由约束

    3.自定义路由约束 什么叫自定义路由约束呢?假如路由格式为archive/{year}/{month}/{day},其中year,month,day是有约束条件的,必须是数字,而且有一定范围. 这时候 ...

  10. angularjs 路由回退,返回到上一个路由

    在现阶段比较流行的angularjs框架中:路由是一个比较重要的应用:angularjs的单页面是其强大功能之一: 所有的页面其实就只是在一个页面就实现的:angularjs通过对路由的控制来进行页面 ...

随机推荐

  1. oracle 19c rpm 个性化配置安装

    简单来说就是: 1.安装preinstall   :    oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 2.安装 ee    : oracl ...

  2. 逍遥自在学C语言 | 函数初级到高级解析

    前言 函数是C语言中的基本构建块之一,它允许我们将代码组织成可重用.模块化的单元. 本文将逐步介绍C语言函数的基础概念.参数传递.返回值.递归以及内联函数和匿名函数. 一.人物简介 第一位闪亮登场,有 ...

  3. 即构微信小程序直播组件是什么?有哪些功能?哪些小程序类目可以使用?

    即构直播助手是微信官方认证的微信小程序插件,为开发者提供便捷.强大的微信小程序音视频直播服务. 即构直播助手除了包含微信小程序下的音视频推拉流能力,还支持iOS.Android.Windows.Web ...

  4. Appium新版本引发的一个问题

    Appium新版本引发的一个问题 准备工作 测试代码 from appium import webdriver des_cap = {'platformName': 'android'} driver ...

  5. Java通用返回工具类Result

    通用返回类Result 前言:Java项目搭建时,常常需要去封装一个通用型的Result工具类,下面就是我自己封装的常用的返回类,可以直接使用.(有部分Swagger注解,使用时可忽略) 第一步.创建 ...

  6. Linux0.11内核笔记(-)

    基础知识 C语言.汇编知识.嵌入式汇编.x86处理器和编程的相关知识和.UNIX操作系统设计 Linus在最初开发Linux操作系统时参考了MINIX操作系统:<操作系统:设计与实现>一种 ...

  7. 单节点kafka部署笔记

    1 背景 因为工作中需要对接kafka,准备在测试环境中自己部署一套,考虑方便决定部署一台单点. 2 部署 2.1 scala 2.1.1 java环境 openjdk即可,我使用的是openjdk1 ...

  8. 2022-1-11 控件学习4 ItemControl、ListBox、ComboBox

    ItemControl itemControl前台 ItemControl后台 ItemControl一般是竖直排列的,如果需要很想排列需要使用,也可以使用 UniformGrid Columns=& ...

  9. C++欧几里得算法求最大公约数和最小公倍数

    定义 最大公约数即为 Greatest Common Divisor,常缩写为 gcd. 一组整数的公约数,是指同时是这组数中每一个数的约数的数. 一组整数的最大公约数,是指所有公约数里面最大的一个. ...

  10. mybatis系列: 简介以及使用

    目录 一.简介 二.简单使用 一.简介 MyBatis本质上就是对JDBC的封装,通过MyBatis完成CRUD. MyBatis在三层架构中负责持久层的,属于持久层框架. MyBatis的发展历程: ...