第23章-OSPF基础

1. RIP协议的问题

2. OSPF概述

3. OSPF初始化流程

4. OSPF报文类型

5. OSPF分区域管理


1. RIP协议的问题

        1)问题1

        设计粗糙

        2)问题2

        环路问题:会产生环路

        跳数限制:最大跳数受限,无法大规模组网

        广播方式:广播方式的固有缺陷

        内容冗余:始终以完整的路由表发送消耗网络带宽

        最佳路径判断:以跳数为度量值无法准确判断最优路径

        收敛速度慢:失效计时器耗费时间长

        收敛(Convergence)

        是指网络中的所有路由器在发生拓扑变化或路由信息变化后,最终达到一个一致的路由状态的过程;


2. OSPF概述

        算法原理:

        1)定义

        OSPF(Open Shortest Path First,OSPF)开放式最短路径优先:链路状态路由协议

        度量值:cost,cost与带宽成反比

        RIP:RIP是距离矢量

        度量值:跳数

        2)优点

        ① 更大的扩展性

        ② 快速收敛

        ③ 安全可靠

        ④ 减少网络资源的浪费

        3)缺点

        消耗更多的内存和处理能力

        4)IP协议

        OSPF只支持IP协议

        协议号:89

        4)IS-IS协议

        IS-IS(Intermediate System to Intermediate System)协议是一种用于内部网关路由(IGP)的动态路由协议,算法链路状态路由协议(Link State Routing Protocol)

        兼容性:如IPX、Iptalk等


3. OSPF初始化流程

        1)建立邻居和邻接关系

        RIP:启动后所有的路由信息直接发送

        OSPF:首先建立可靠的邻居关系

        ① 建立邻居关系:发送hello报文

        双方启动OSPF后,以组播方式互相发送hello报文

  • 前提条件:接口UP + 同一网段 +同一区域
  • 组播方式:以224.0.0.5发送,且自动监听该地址
  • 与RIP对比:RIP v1:广播;RIP v2:224.0.0.9
  • 固定组播地址:避免不必要的设备接收到消息

        ② 建立邻接关系:选举DR/BDR选举(邻居<邻接)

        关系状态的确立:

        DRother与DR建立邻接关系(DRother:既不是DR也不是BDR)

        DRother与BDR建立邻接关系

        DR与BDR建立邻接关系

        两个DRother之间保持邻居关系

        DR/BDR的选举:

        选举原因:广播网络中使用路由信息交换更加高速有序

        选举范围:每条广播链路上都要选出一个DR和BDR

        注意1:一个路由器可能会有多个角色(DR和BDR)

        注意2:要在广播链路上,如果是PPP点到点,则不选

        选举规则:

        ① 优先级数字大的优先(OSPF默认优先级都是1,可改)

        ② Router-id大的优先

        Router-id

        ① 定义:路由器ID,标识路由器的身份

        ② 产生方法:

        手动配置:配置一个IPv4地址格式作为Rid(不一定需要真实存在)

        自动选举:在所有环回口/物理接口中选举IP地址最大的作为Rid

        Tips:手动配置一个本地环回口的IP地址作为Rid,因为环回口是逻辑上的,不会down

        2)邻接路由器之间交换链路状态信息,从而实现区域内链路状态数据库同步

        RIP:直接传递路由信息

        OSPF:不传递路由信息,而传递链路状态信息

        链路状态通告:LSA(Link State Advertisement),描述路由的接口、路由条目的相关信息

        链路状态数据库:LSDB(Link State DataBase),存储本地所有的LSA

        工作流程:

        ① 向邻接路由器发送DD报文,通告本地LSDB中所有的LSA的摘要信息

        ② 收到DD后,与本地LSDB对比,向对方发送LSR报文,请求发送本机所需的全部信息

        ③ 收到LSR后,把对方所需的LSA的完整信息打包为一条LSU报文,发送至对方

        ④ 收到LSU后,向对方回复LSAck报文,进行确认

        DD报文:发摘要的作用,为了对比,进行优化选择,避免冗余;

        LSU:链路状态的更新报文;

        更新机制:增量更新机制;

        3)每台路由器根据本机链路状态数据库,计算到达每个目的网段的最优路由,写入路由表

        等待第2步骤所有的都同步了,再开始计算

        例子:


4. OSPF报文类型

        Hello报文:发现和建立邻居关系(默认每隔10秒发一次,最大4个周期)

        DD报文:数据库描述报文:用于描述本地LSDB中所有LSA的摘要

        LSR报文:链路状态请求

        LSU报文:链路状态的更新

        LSAck报文:链路状态的确认


5. OSPF分区域管理

        分区域的原因:

        ① 内部同步:加快收敛速度

        ② 把网络故障隔离在区域内部

        路由器角色:

        IR(Internal Router):

        内部路由器,所有接口都处于同一个区域

        ABR(Area Border Routers):

        区域边界路由器:连接不同区域的路由器

        功能:汇总某区域内的LSA,再发送给其他区域

        例子:区域0到区域1只找ABR,区域0和区域1不同步信息

        ASBR(Autonomous System Boundary Router)

        自治系统边界路由器:连接外部自治系统的路由器

        区域类型:

        骨干区域:有且只有一个骨干区域,一般是区域0(骨干区域必须是连续的);

        非骨干区域:非骨干区域必须连接到骨干区域;

        即非骨干区域的互通必须要用骨干区域做中转

        目的是为了防环

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式总结-抽象工厂模式

抽象工厂模式 模式动机模式定义模式结构模式分析模式实例与解析实例一&#xff1a;电器工厂 模式动机 在工厂方法模式中具体工厂负责生产具体的产品&#xff0c;每一个具体工厂对应一种具体产品&#xff0c;工厂方法也具有唯一性&#xff0c;一般情况下&#xff0c;一个具体工…

微信小程序怎么制作?制作一个微信小程序需要多少钱?

随着移动互联网的快速发展&#xff0c;微信小程序已成为连接用户与服务的重要桥梁。它以其便捷性和易用性&#xff0c;为各类企业和个人提供了一个全新的展示和交易平台。那么&#xff0c;如何制作一个微信小程序&#xff1f;又需要投入多少资金呢&#xff1f;本文将为您提供全…

H5面临的网络安全威胁和防范措施

H5&#xff0c;是基于HTML5技术的网页文件。HTML&#xff0c;全称Hyper Text Markup Language&#xff0c;即超文本标记语言&#xff0c;由Web的发明者Tim Berners-Lee与同事Daniel W. Connolly共同创立。作为SGML的一种应用&#xff0c;HTML编写的超文本文档能够独立于各种操作…

java自动化-03-04java基础之数据类型举例

1、需要特殊注意的数据类型举例 1&#xff09;定义float类型&#xff0c;赋值时需要再小数后面带f float num11.2f; System.out.println(num1);2&#xff09;定义double类型&#xff0c;赋值时直接输入小数就可以 3&#xff09;另外需要注意&#xff0c;float类型的精度问题…

Swing中的FlowLayout/WrapLayout在打横排列时候如何做到置顶对齐

前言 最近在开发swing客户端时候碰到一个棘手的问题&#xff1a; Swing中的FlowLayout/WrapLayout在打横排列时候如何做到置顶对齐如果是vue或者react&#xff0c;一搜百度什么都出来了&#xff0c;swing的话&#xff0c;嗯。。。资料有点少而且大部分是stack overflow上面的…

CEF的了解

(14 封私信 / 80 条消息) CEF和Electron的区别是什么&#xff1f; - 知乎 (zhihu.com) Electron面向的开发者&#xff1a;会用JavaScript,HTML,CSS&#xff0c;不会C CEF面向的开发者&#xff1a;会用JavaScript,HTML,CSS&#xff0c;会C (14 封私信 / 80 条消息) liulun - …

UI自动化测试重点思考(上)--元素定位/验证码/测试框架

UI自动化测试重点思考--元素定位 Selenium定位元素selenium中如何判断元素是否存在&#xff1f;定位页面元素webdriver打开页面id定位name定位class_name定位tag_name 定位xpath定位css_selector定位link_text 定位partial_link 定位总结 selenium中元素定位的难点&#xff1f;…

典型病例(第二期):血糖18.3,小便多且泡沫难消,滋阴补肾效果显著

案例分享&#xff1a; 患者廖先生&#xff0c;男&#xff0c;43岁 主诉&#xff1a;身体明显特别消瘦&#xff0c;血糖检测达到18.3&#xff0c;患者口干口渴&#xff0c;小便频繁&#xff0c;且带有很难消散的泡沫&#xff0c;疲倦乏力&#xff0c;多食易饥&#xff0c;每天…

MySQL 主从复制架构搭建及其原理

前言 系统的性能瓶颈一般出现在数据库上&#xff0c;以 mysql 为例&#xff0c;如果存在高并发的写请求&#xff0c;势必会有锁表&#xff0c;锁数据行的情况发生&#xff0c;这时候如果有读请求刚好访问到被锁的数据&#xff0c;那么读请求会阻塞&#xff0c;直到写请求处理完…

前端三剑客 —— CSS (第六节)

目录 内容回顾&#xff1a; 弹性布局属性介绍 案例演示 商品案例 布局分析 登录案例 网格布局 内容回顾&#xff1a; 变量&#xff1a;定义变量使用 --名称&#xff1a;值&#xff1b; 使用变量&#xff1a; 属性名&#xff1a;var&#xff08;--名称&#xff09;&a…

爬虫实战三、PyCharm搭建Scrapy开发调试环境

#一、环境准备 Python开发环境以及Scrapy框架安装&#xff0c;参考&#xff1a;爬虫实战一、Scrapy开发环境&#xff08;Win10Anaconda&#xff09;搭建 PyCharm安装和破解&#xff0c;参考&#xff1a;爬虫实战二、2019年PyCharm安装&#xff08;激活到2100年&#xff09; …

基于ArgoCD和Testkube打造GitOps驱动的Kubernetes测试环境

本文介绍了一项新工具&#xff0c;可以基于Gitops手动或者自动实现Kubernetes集群应用测试&#xff0c;确保集群的健康状态与Git仓库定义的一致。原文: GitOps-Powered Kubernetes Testing Machine: ArgoCD Testkube 简介&#xff1a;GitOps 云原生测试面临的挑战 现代云原生应…

SQLite的架构(十一)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite下一代查询规划器(十&#xff09; 下一篇&#xff1a;SQLite—系列文章目录 介绍 本文档介绍SQLite库的架构。 这里的信息对那些想要了解或 修改SQLite的内部工作原理。 接口SQL 命令处理器虚拟机B-树…

PHP 插值搜索(Interpolation Search)

给定一个由 n 个均匀分布值 arr[] 组成的排序数组&#xff0c;编写一个函数来搜索数组中的特定元素 x。 线性搜索需要 O(n) 时间找到元素&#xff0c;跳转搜索需要 O(? n) 时间&#xff0c;二分搜索需要 O(log n) 时间。 插值搜索是对实例二分搜索的改进&#xff0c;…

Api网关-使用Grafana可视化Apisix指标

文章目录 前言一、Apisix部署二、安装配置Grafana1. 安装Grafana2. 设置中文3. 启动4. 登录5. 启停命令5.1 启动和停止5.2 启禁用开机自启动5.3 查看状态 三、安装配置prometheus1. 安装2. 配置服务3. 启动4. 登录5. prometheus启停命令5.1 启动和停止5.2 启禁用开机自启动5.3 …

element-ui breadcrumb 组件源码分享

今日简单分享 breadcrumb 组件的源码实现&#xff0c;主要从以下三个方面&#xff1a; 1、breadcrumb 组件页面结构 2、breadcrumb 组件属性 3、breadcrumb 组件 slot 一、breadcrumb 组件页面结构 二、breadcrumb 组件属性 2.1 separator 属性&#xff0c;分隔符&#xff…

钉钉事件订阅前缀树算法gin框架解析

当钉钉监测到发生一些事件&#xff0c;如下图 此处举例三个事件user_add_org、user_change_org、user_leave_org&#xff0c;传统的做法是&#xff0c;我们写三个if条件&#xff0c;类似下图 这样字符串匹配效率比较低&#xff0c;于是联想到gin框架中的路由匹配算法&#xff0…

【大数据存储】实验4 NoSQL数据库

实验4 NoSQL数据库 NoSQL数据库的安装和使用实验环境&#xff1a; Ubuntu 22.04.3 Jdk 1.8.0_341 Hadoop 3.2.3 Hbase 2.4.17 Redis 6.0.6 mongdb 6.0.12 mogosh 2.1.0 Redis 安装redis完成 新建终端启动redisredis-server新建一个终端redis-cli 建表操作 尝…

随机生成Long全范围数

随机生成Long全范围数 前言实现思路主要代码分区随机生成过程案例&#xff1a;随机生成100个数 朴素的比较总结 前言 使用自带的Random.nextLong()函数生成Long型的长整数&#xff0c;范围比较小&#xff0c;如下图。100个随机数没看见10以内的数字。所以考虑实现随机化生成大…

012——LED模块驱动开发(基于I.MX6uLL)

目录 一、 硬件原理图 二、 驱动程序 三、 应用程序 四、 Makefile 五、操作 一、 硬件原理图 又是非常经典的点灯环节 &#xff0c;每次学新语言第一步都是hello world&#xff0c;拿到新板子或者学习新的操作系统&#xff0c;第一步就是点灯。 LED 的驱动方式&#xff0…