OSPF协议详解

静态缺点

1、中大型复杂网络----配置量大

2、不能实时收敛

动态-----可以实时收敛

IGP----内部网关路由协议  RIP OSPF EIGRP ISIS

EGP----外部网关路由协议  BGP

IGP  (选路佳    占用资源    收敛快)----一个协议好需满足这三个

距离矢量 DV RIP  共享路由 (优:邻居间交互信息少)

链路状态 LS OSPF  共享拓扑 (优:防环能力强)

OSPF

Ospf:开放式最短路径优先协议  -----更新量大

无类别链路状态型路由协议;邻居间基于拓扑信息进行交互,更新量很大;故为了能在中大型复杂网络中工作,需要结构化的部署 --- 良好的ip地址规划  区域划分(区域内传拓扑,区域间传路由)

更新方式 ---  触发更新 -- 224.0.0.5/6    周期更新 --30min:相当于ospf的保底,因为信息量大,触发更新可能出现问题,此时周期更新能够进行兜底(rip也有周期更新----rip缺少hello包和确认包(ack))

  1. OSPF的数据包类型 ---  跨层封装于3层报头(没有四层)   协议号89

5种包都是这样通过type区分

Hello   ---   周期收发,用于邻居的发现、关系的建立、周期的保活-- 10s或30s

DBD-数据库描述包      用于携带数据库目录

LSR 链路状态请求      基于本地未知的LSA信息进行查询

LSU 链路状态更新      用于传递具体的LSA信息

LSack  链路状态确认   可靠性,确认包

(LSA --链路状态通告  --- 具体的每一条的拓扑或路由信息;)

OSPF的状态机  --  邻居间的邻居关系的不同阶段

Down  一旦接收到hello包进入下一个状态

Init 初始化  收到的hello包中若存在本地的RID,进入下一状态

2way双向通讯    邻居关系建立的标志  

条件:点到点网络直接进入下一个状态机;MA网络进行DR/BDR选举(默认一个dead time),非DR/BDR间不能进入下一状态;

    

Exstart 预启动  使用不携带数据库目录信息的DBD包进行主从关系的选举,RID数值大为主,优先进入下一个状态 ---   排序(避免同时更新,导致网络拥塞)

Exchange 准交换 使用携带目录信息的DBD包,进行交互

Loading 加载 查看完其他邻接发送过来的DBD后,基于当中本地未知的LSA信息,使用LSR查询,对端使用LSU来共享这些LSA信息,本地收到后需要ACK确认;最终完成邻接间的数据库一致

Full 转发  邻接关系建立的标志

OSPF的工作过程

启动配置完成后,邻居间组播收发hello包,获取对端的RID,建立邻居关系,生成邻居表

邻居关系建立后,关注条件;条件不匹配的邻居间,将维持邻居关系,仅hello包周期保活即可;

条件匹配:可以建立邻接(毗邻)关系

将使用DBD/LSR/LSU/LSack来进行交互、共享,同步数据库,获取未知的LSA信息;最终生成与邻接一致的数据库表

当数据库表同步完成后,本地使用SPF算法,将数据库表转换为有向图,再将有向图计算成为最短路径树,然后以本地为起点,计算到达所有未知网段的最短路径,然后将这些路由加载于本地的路由表中;收敛完成。

拓扑结构突变(3种情况):

  1. 新增网段  直连新增网段的设备,使用LSU直接向本地所有邻接进行触发更新,对端需要确认
  2. 断开网段  直连断开网段的设备,使用LSU直接向本地所有邻接进行触发更新,对端需要确认
  3. 无法沟通  ---  没有周期的hello包;dead time为hello time的4倍--倒计时,正常被每一个新的hello包刷新,归0时断开邻居关系,删除该邻接共享的信息

OSPF协议的基础配置

[r1]ospf 1 router-id 1.1.1.1 启动时可以定义进程号仅具有本地意义,默认为1

       可以定义RID --- 手工 -- 环回上最大数值ip地址-- 物理接口上最大数值ip地址

宣告:1、区域划分  2、激活接口OSPF协议   3、共享接口信息

[r1-ospf-1]area  0

[r1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0

[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

OSPF区域划分规则:

  1. 必须为星型结构   区域0为骨干,大于0为非骨干,非骨干必须连接骨干区域
  2. 区域间必须使用ABR来互联  -- ABR区域边界路由器

宣告配置全部完成后,邻居间周期组播收发hello包,建立邻居关系;生成邻居表

OSPF协议的hello包为周期收发;邻居间hello包中必须完全一致的参数:否则无法建立邻居关系

Hello、dead time;区域编号;认证字段;末梢区域标记;在华为设备中邻居间hello包还将携带建邻的接口ip地址子网掩码,也必须和邻居一致;

<r2>display  ospf peer  查看邻居表

<r2>display  ospf peer brief  查看邻居简表

         OSPF Process 1 with Router ID 2.2.2.2

                  Peer Statistic Information

 ----------------------------------------------------------------------------

 Area Id          Interface                        Neighbor id      State   

 0.0.0.0          GigabitEthernet0/0/0             1.1.1.1          Full       

 0.0.0.1          GigabitEthernet0/0/1             3.3.3.3          Full       

 ----------------------------------------------------------------------------

邻居关系建立后,邻居间进行条件的匹配;匹配失败维持邻居关系,仅hello包周期保活;

匹配成功,可以建立邻接关系;使用DBD/LSR/LSU/LSack来获取本地未知的LSA信息;实现邻接关系间设备的数据库一致; 

数据库表

<r1>display  ospf lsdb  查看数据库表  LSDB--链路状态数据库

DBD包:DBD包中携带接口的MTU值,要求两端接口MTU一致,否则将卡在exstart状态机;华为设备默认不携带MTU值,MTU默认值为1500

若要携带则需手动开启:

[r1]interface g0/0/1

[r1-GigabitEthernet0/0/1]ospf mtu-enable  两端直连接口均需开启

当MTU值不一样,数据有可能会拆开(若一边为1400另一边接口为1300则包会拆分为一个1300和一个大于(多出来的数据会出现合成一个完整的包)100的数据)

DBD包中的描述位:

I 为1表示本地发出的第一个DBD

M 为0表示本地发出的最后一个DBD

MS 为1表示本地为主(master),为0表示本地为从(slave

DBD使用序列号来进行隐性确认,从(slave)基于主(master)的序列号进行;

当邻接关系间数据库同步完成后,本地基于数据库中的所有LSA;生成 有向图 --> 最短路径树-->将本地作为起点,计算到达所有未知网段的最短路径,然后将其加载到路由表中:

在华为设备中,默认的优先级为10;使用cost作为度量;

(Cost=开销值=参考带宽/接口带宽)

默认参考带宽100M;cost值向上取整数;故当接口带宽大于参考带宽时,cost值为1;可能导致选路不佳;可以手工修改默认的参考带宽:

[r1]ospf 1

[r1-ospf-1]bandwidth-reference ?

  INTEGER<1-2147483648>  The reference bandwidth (Mbits/s)

[r1-ospf-1]bandwidth-reference 1000

切记:一旦修改,全网所有设备需一致;

ospf协议默认将选择cost值之和最小的路径,为最短路径加表;

OSFP邻居关系建立成为邻接关的条件

从邻居关系建立成为邻接关系,关注网络类型;点到点  MA(BMA、NBMA)

在点到点网络中,邻居直接全部建立为邻接关系(不进行DR/BDR选举);

在MA网络中若两两间均建立邻接关系,将可能出现大量的重复更新

(1给2和3,因为邻居之间互相传递2又给3)

DV距离矢量路由协议可以使用接口水平分割来解决,由于OSPF协议邻接需要数据库比对,故不能设计接口水平分割;只能进行DR/BDR选举来解决;所有非DR/BDR之间为邻居关系,不进行数据库同步;DR选举是避免在一个MA网段内出现重复更新

选举规则:

  1. 先比较参选接口优先级,默认1;越大越优  为0标识不参选
  2. 若优先级相同,比较参选设备的RID数值,越大越优
[r1]int g0/0/1

[r1-GigabitEthernet0/0/1]ospf dr-priority 0 将接口优先级改为0,不进行玄选举

 

OSPF的接口网络类型 ---  ospf协议在不同网络类型的接口上,不同的工作方式

[r1]display  ospf interface g0/0/1  查看OSPF协议在接口具体的工作方式名称

 Interface: 12.1.1.1 (GigabitEthernet0/0/1)

 Cost: 1       State: BDR       Type: Broadcast ;

接口类型                     OSPF工作方式

LoopBack     华为显示p2p,实为环回专用工作方式  无hello包 以32位主机路由传递

点到点类型(HDLC/PPP/GRE) p2p  hello time10s ,死亡时间为Hellotime的4倍,不选DR,邻居直接建立为邻接

BMA(以太网) Broadcast(广播)  hello time10s ,死亡时间为Hellotime的4倍, 选DR/BDR 非DR/BDR间仅建立邻居关系

NBMA(MGRE) 默认和普通GRE一样接口工作方式为p2p,该工作方式在华为设备上仅和最先收到的hello包建立邻居关系(只允许建一个邻居);

故在MGRE环境(MA)需要手工修改接口工作方式:

[r1-Tunnel0/0/0]ospf network-type ?

  broadcast  Specify OSPF broadcast network

  nbma       Specify OSPF NBMA network

  p2mp (不选DR但谁给路由谁就是下一跳)      Specify OSPF point-to-multipoint network

  p2p        Specify OSPF point-to-point network

注:p2p 和broadcast 两种工作方式的hello time均为10s,故可以建立邻居关系,但在DR选举上不同,故无法正常交流LSA

切记:邻居间ospf接口工作方式必须一致,才能正常建邻和正常收敛

若将MGRE下所有接口的工作方式修改为broadcast,需要关注拓扑结构:

  1. 全连网状结构,可以正常工作,正常选举DR/BDR
  2. 非全连 ---管理员手工合理安排DR位置
  3. 星型结构-- 仅中心站点为DR,无BDR

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java 线程的状态

线程状态 操作系统的线程 从上图可以详细分析出线程的五种状态以及状态之间的切换。 1&#xff09;新建状态&#xff08;New&#xff09;&#xff1a;当线程对象对创建后&#xff0c;即进入了新建状态&#xff0c;如&#xff1a;Thread t new MyThread(); 2&#xff09;就绪…

【Vue3进阶】- 第2学堂小商城实战课程前言

该教程为进阶教程&#xff0c;如果你还不了解Vue3的基础知识&#xff0c;可以先前往Vue3基础教程&#xff0c;从入门到实战。 学习时遇到的任何疑问都欢迎在相应课文页面下方的问答区进行提问哦 我能学到什么&#xff1f; 编程写法千千万&#xff0c;实现需求是第一。 教程中…

智慧工地可视化解决方案(2)

系统功能 总体应用设计 系统业务分为中心管理、视频联网、人员管理、环境管理、起重机械管理、车辆管理。 每个业务对应一个或者多个硬件系统。中心管理为监控中心。视频联网包含视频联网监控和移动执法子系统。人员管理分为实名制考勤子系统和人员安全子系统(安全帽)。起…

5.11 Vue配置Element UI框架

Vue配置Element UI框架 目录一、 概要二、 开发前准备1. 搭建Vue框架 三、 安装 Element UI1. 引入 Element UI 依赖2. 在 main.js 中引入 Element UI 和相关样式&#xff1a;3. 按需引入(非必须, 可忽略)4. 简单构建一个主页面 目录 一、 概要 Element UI 是一个基于 Vue.js …

安卓Termux系统安装MariaDB结合内网穿透实现公网连接本地数据库

文章目录 前言1.安装MariaDB2.安装cpolar内网穿透工具3. 创建安全隧道映射mysql4. 公网远程连接5. 固定远程连接地址 前言 Android作为移动设备&#xff0c;尽管最初并非设计为服务器&#xff0c;但是随着技术的进步我们可以将Android配置为生产力工具&#xff0c;变成一个随身…

SSM框架学习——Spring事务管理

Spring事务管理 概念 事务&#xff08;Transaction&#xff09;是访问并可能操作各种数据项的一个数据库操作序列&#xff0c;这些操作要么全部执行&#xff0c;要么都不执行&#xff0c;是一个不可分割的工作单元。 事务有如下特性&#xff1a; 原子性隔离性一致性持久性 …

116. 飞行员兄弟(递推+暴力)太难了不要求

输入样例&#xff1a; --- ---- ---- ---输出样例&#xff1a; 6 1 1 1 3 1 4 4 1 4 3 4 4 代码&#xff1a; #include<algorithm> #include<iostream> #include<cstring> #include<queue> #include<cmath> #define x first #define y second…

往word表格插入图片,表格大小如何不变形?

在word中进行大量图片排版时&#xff0c;往往会用到表格。然而在往word表格插入图片的过程中&#xff0c;表格往往会随图片大小自适应变化&#xff0c;如何保证图片自适应表格大小&#xff08;即图片按照所给定的表格大小自动缩放&#xff09;&#xff0c;解决方法如下&#xf…

小红书运营快捷回复工具

小红书作为一个热门的社交电商平台&#xff0c;吸引了众多品牌和个人用户进行运营和互动。而很多做小红书运营的姐妹&#xff0c;经常会有回评论懒得打字的困扰&#xff0c;为了提高回复评论和私信的效率&#xff0c;本文给大家推荐一款快捷回复工具&#xff0c;手机电脑都能用…

【Python使用】嘿马头条完整开发md笔记第3篇:数据库,1 新增【附代码文档】

嘿马头条项目从到完整开发笔记总结完整教程&#xff08;附代码资料&#xff09;主要内容讲述&#xff1a;课程简介&#xff0c;ToutiaoWeb虚拟机使用说明1 产品介绍,2 原型图与UI图,3 技术架构,4 开发,1 需求,2 注意事项。数据库&#xff0c;理解ORM1 简介,2 安装,3 数据库连接…

电商新手选品易犯6大通病,85%的人都踩过雷!

电商选品是一个复杂而关键的过程&#xff0c;需要综合考虑多种因素&#xff0c;尤其对于刚刚涉猎电商行业的新手来更有难度&#xff0c;许多电商新手在选品过程中都会犯一些通病&#xff0c;以下是一些常见的电商选品通病以及调整建议&#xff0c;希望对大家有所帮助&#xff1…

《第一行代码 Android 第三版》 天气预报APP SunnyWeather——交作业

跟着书本手敲一遍kotlin项目SunnyWeather,MVVM架构&#xff1a; 没啥难度&#xff0c;就是熟悉kotlin... github链接&#xff1a;SunnyWeather/app at master xda1212/SunnyWeather GitHub

Vivado Lab Edition

Vivado Lab Edition 是完整版 Vivado Design Suite 的独立安装版本 &#xff0c; 包含在生成比特流后对赛灵思 FPGA 进行编程和 调试所需的所有功能。通常适用于在如下实验室环境内进行编程和调试&#xff1a; 实验室环境中的机器所含磁盘空间、内存和连 接资源较少。Vivad…

【环境搭建】(四)ubuntu22.04系统安装Opencv4.8.0+Opencv-contrib4.8.0

一个愿意伫立在巨人肩膀上的农民...... 一、安装下载所需工具 1.打开终端&#xff0c;输入以下命令来更新软件源&#xff1a; sudo apt-get update 2.安装wget&#xff1a; sudo apt-get install wget 3.下载opencv和opencv-contrib包&#xff1a; wget -O opencv-4.8.0.…

备忘录软件哪款可以加密?备忘录app怎么加密?

在快节奏的现代生活中&#xff0c;备忘录软件已成为我们不可或缺的助手。它不仅能方便我们随时记录任务事项&#xff0c;捕捉生活中的灵感&#xff0c;还便于我们随时修改和查看记录内容&#xff0c;实用性极高。然而&#xff0c;随着记录内容的增多&#xff0c;数据安全性问题…

【自动化测试】 环境部署和元素定位

写在前面 勤奋跟吃苦不一样&#xff0c;假如你对工作&#xff0c;生活不满意。就要跳出圈子&#xff0c;接触其它人或事物&#xff0c;提升自己。从而换个工作&#xff0c;或者换了心态看待问题。而不是&#xff0c;吃苦的加班逼着自己去内卷&#xff0c;卷来卷去觉得吃苦受累&…

Leetcode 309. 买卖股票的最佳时机含冷冻期

心路历程&#xff1a; 这道题的建模和股票问题一样&#xff0c;只不过需要在状态上增加一个处于冻结期&#xff1b; 状态&#xff1a;1第i天&#xff1b;2第i天持有股票的状态&#xff08;持有&#xff0c;不持有被冻结&#xff0c;不持有未被冻结&#xff09; 动作&#xff1…

基于SpringBoot餐饮美食分享平台的设计与实现+毕业论文+毕业答辩PPT+搭建资料

系列文章目录 本系统的用户可分为用户和管理员二个用户角色组成。管理员可以管理系统内所有功能&#xff0c;主要有系统首页、信息展示、用户信息管理、菜谱信息管理、笔记信息管理、美食信息管理、修改密码、退出登录管理、系统管理等功能&#xff1b;用户登录系统可以对个人…

实体机双系统安装

实体机双系统安装 第一步&#xff1a;下载openKylin镜像 前往官网下载x86_64的镜像&#xff08;https://www.openkylin.top/downloads/628-cn.html&#xff09; tips&#xff1a;下载完镜像文件后&#xff0c;请先检查文件MD5值是否和官网上的一致&#xff0c;如果不一致请重…

如何给图片添加水印?

如何给图片添加水印&#xff1f;在现代职场中&#xff0c;图片的使用已经成为了日常工作的一部分&#xff0c;而给图片添加水印也逐渐成为了一种常见的需求。无论是在设计、广告、营销还是其他领域&#xff0c;给工作中的图片加水印都有其重要性和实用性。工作中给图片加水印的…