ospf复习

工作过程

启动OSPF配置之后,OSPF会向本地所有激活OSPF的接口发送hello包,以组播
224.0.0.5(所有运行OSPFV2协议的设备监听的地址)的形式发送。hello包中将携带本
地的RID及本地已知邻居的RID,之后,将收集到的邻居关系,记录在本地的一张表
中 --- 邻居表。
邻居关系建立完成后,将进行条件匹配,失败则停留在邻居关系,仅使用hello包进行保
活。
匹配成功,则开始建立邻接关系。首先使用未携带数据的DBD包进行主从关系选举,之
后,使用携带数据的DBD包共享数据库摘要信息。之后,使用LSR/LSU/LSACK获取未知
的LSA信息,完成本地的数据库建立。 --- LSDB链路状态数据库 --- 数据库表。
最后,将基于本地收集到的LSA信息,生成有向图和最短路径树,计算到达未知网段的路
由信息。将计算的路由信息收集到本地的路由表中。
收敛完成后,OSPF依然需要每隔10S进行周期保活;每隔30min进行周期更新。

OSPF的基本配置
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]
2,创建区域
[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3,宣告
1,激活接口 --- 只有激活的接口才可以收发OSPF的数据包
2,发布路由 --- 只有激活接口所对应的直连网段的路由信息才能被发布
[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255--- 反掩码 --- 由连续的0和连续的
1组成,0所对应位不可变,1所对应位可变
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0 --- 精准宣告

OSPF的数据包
1,hello包 --- 周期性的发现,建立以及保活邻居关系
hello时间 --- 10S --- BMA环境下
Dead time --- 4倍的hello时间
RID --- 32位二进制构成 --- 1,全网唯一;2,格式统一
1,手工配置 --- 只需满足以上两点要求即可
2,自动生成 --- 首先现在环回接口的IP地址中进行选择,如果环回接口的IP地址
存在多个,则在这些地址中选择数值最大的作为RID,如果没有环回接口,则在自
己物理接口中选择数值最大的IP地址作为RID。
2,DBD包 --- 数据库描述报文 ---- 携带数据库的摘要信息 ---LSDB -- 链路状态数据库
3,LSR包 --- 链路状态请求报文 --- 基于DBD包,请求未知的LSA信息
4,LSU包 --- 链路状态更新报文 --- 真正携带LSA信息的数据包
5,LSAck包 --- 链路状态确认报文 --- 确认包
OSPF协议存在30min一次的周期更新。 

ospf状态机

1.down: 未启动协议,一旦启动OSPF协议后,进行hello的收发,进入下一状态;

2.Init(初始化):在此状态下,路由器已经从邻居收到了Hello报文,若自己的Router ID不在所收到的Hello报文的邻居表中,表示尚未与邻居建立双向通讯关系,若收到了携带了自己的RID的hello包,则和对方一起进入下一状态;

3.two-way(双向通信):邻居关系建立的标志;此时进行条件匹配,若成功,RID大的优先进入下一状态;若失败,则保持邻居关系,hello包10s周期保活即可;

条件匹配:点到点网络直接进入下一状态;MA网络将进行DR/BDR选举 选举DR:

1.比较接口的优先级(0-255),越大越优

2.比较router-id ,越大越优。 注意:DR是接口概念,DR不能抢占,若优先级为0,视为放弃选举

4.Exstart(预启动):使用假的dbd包进行主从选举,RID数值大的优先进入下一状态。

使用类似hello 的DBD进行主从关系选举,route-id数值大为主;优先进入下一状态;若MTU不一样的话,就停留在这个状态,MTU在OSI中是2层或3层 2层的大于3层

主从选举的目的: 在下一状态时,被选举为主路由器的优先将自己的LSDB发送出去

5.Exchange(准交换):使用真正的DBD包进行数据库目录的共享,共享的是LSDB;(交换完成后需要用LSAck包进行确认)

6.Loading (加载):使用LSR/LSU/LSack来获取未知的LSA信息(共享拓扑图)
7.Full(转发):邻接(毗邻)关系建立的标志

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

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

相关文章

vue 混入(mixin)的使用

在 vue 组件内,如果想将一些公共功能,如组件、方法、钩子函数等复用,混入是一个很好的选择。 现在开始我们的混入使用吧 1、我们可以创建一个目录mixins,在创建一个comment.js文件如图: // 在 common.js 里写你想共享…

20230803激活手机realme GT Neo3

20230803激活手机realme GT Neo3 缘起: 新买的手机:realme GT Neo3 需要确认: 1、4K录像,时间不限制。 【以前的很多手机都是限制8/10/12/16分钟】 2、通话自动录音 3、定时开关机。 4、GPS记录轨迹不要拉直线:户外助…

小程序学习(四):WXML模板语法

WXML模板语法-数据绑定 1.数据绑定的基本原则 ①在data中定义数据 ②在WXML中使用数据 2.动态绑定属性 WXML模板语法-事件绑定 3.什么是事件 4.小程序中常用的事件 5.事件对象的属性列表 6.target和currentTarget的区别 7.bindtap的语法格式 8.在事件处理函数中为data中的数据…

DC-2靶机

文章目录 信息收集漏洞发现漏洞利用 DC-2介绍 DC-2环境下载 请注意,您需要将渗透测试设备上的 hosts 文件设置为: 192.168.0.145 dc-2 显然,将 192.168.0.145 替换为 DC-2 的实际 IP 地址。 它将使生活变得更加简单(如果没有它&am…

LeetCode513. 找树左下角的值

513. 找树左下角的值 文章目录 [513. 找树左下角的值](https://leetcode.cn/problems/find-bottom-left-tree-value/)一、题目二、题解方法一:递归法(层序遍历,深度优先搜索)**不足之处以及如何改进** 方法二:迭代 一、…

Gitignore忽略文件

默认情况下,Git会监视我们项目中的所有内容,但是有些内容比如mode_modules中的内容,我们不希望他被Git所管理。 我们可以在我们项目目录中添加一个 .gitignore 文件来设置那些需要git忽略的文件。

屏幕取色器Mac版_苹果屏幕取色工具_屏幕取色器工具

Sip for Mac 是Mac系统平台上的一款老牌的颜色拾取工具,是设计师和前端开发工作者必不可少的屏幕取色软件,你只需要用鼠标点一下即可轻松地对屏幕上的任何颜色进行采样和编码,并将颜色数据自动存到剪切板,方便随时粘贴出来。 Sip…

GPIO简介

一、GPIO GPIO(General-purpose input/output)即通用型输入输出,GPIO可以控制连接在其之上的引脚实现信号的输入和输出 芯片的引脚与外部设备相连,从而实现与外部硬件设备的通讯、控制及信号采集等功能 LED实验步骤 实验步骤 以L…

使用Golang反射技术实现一套有默认值的配置解析库

在实际开发中,我们往往会给一个逻辑设计一套配置文件,用于根据不同环境加载不同配置。 比如生产环境和测试环境数据库的地址不一样,我们就需要在配置文件中设置不同的值。但是配置文件中又有一些相同值的配置项,比如数据库的名称等…

Spring事务传播机制、实现方式、失效场景即原理

贴一篇源码分析的好文章:https://blog.csdn.net/qq_30905661/article/details/114400417 本质: 一个事务对应一个数据库连接。 通过 this 来调用某个带有 Transactional 注解的方法时,这个注解是失效的,可以看做这个方法&#x…

Cocos Creator不规则按钮

实现该功能需要用到组件PolygonCollider2D,官方链接: https://docs.cocos.com/creator/3.4/manual/zh/physics-2d/physics-2d-collider.html 创建组件 创建一个精灵节点: 创建碰撞组件PolygonColider2D,如图 给按钮添加多边形碰…

链表的总体涵盖以及无哨兵位单链表实现——【数据结构】

😊W…Y:个人主页 在学习之前看一下美丽的夕阳,也是很不错的。 如果觉得博主的美景不错,博客也不错的话,关注一下博主吧💕 在上一期中,我们说完了顺序表,并且提出顺序表中的问题 1. 中…

无涯教程-Lua - 函数声明

函数是一起执行任务的一组语句,您可以将代码分成单独的函数。 Lua语言提供了程序可以调用的许多内置方法。如方法 print()打印在控制台中作为输入传递的参数。 定义函数 Lua编程语言中方法定义的一般形式如下- optional_function_scope function function_name(…

一个SpringBoot 项目能处理多少请求?

这篇文章带大家盘一个读者遇到的面试题哈。 根据读者转述,面试官的原问题就是:一个 SpringBoot 项目能同时处理多少请求? 不知道你听到这个问题之后的第一反应是什么。 我大概知道他要问的是哪个方向,但是对于这种只有一句话的…

Django实现音乐网站 ⑵

使用Python Django框架制作一个音乐网站,在系列文章1的基础上继续开发,本篇主要是后台歌手表模块开发。 目录 表结构设计 歌手表(singer)结构 创建表模型 设置图片上传路径 创建上传文件目录 生成表迁移 执行创建表 后台管…

代理模式.

前言: 为什么要学习代理模式,因为AOP的底层机制就是动态代理! 代理模式: 静态代理 动态代理 静态代理 抽象角色 : 一般使用接口或者抽象类来实现 真实角色 : 被代理的角色 代理角色 : 代理真实角色 ; 代理真实角色后 , 一…

艺术二维码 API 申请及使用

艺术二维码是一种创新的技术产品,它将二维码与美观的背景图像相结合,创造出既实用又美观的作品。它们不仅具有传统二维码的功能性,能被智能设备快速扫描识别,还加入了艺术元素,增强了视觉吸引力和品牌识别度。其中&…

ffmpeg综合应用示例(五)——多路视频合并(Linux版本)

本文的目的为方便Linux下编译运行多路视频合成Demo 原文:ffmpeg综合应用示例(五)——多路视频合并 Ubuntu 20.04 ffmpeg version ffmpeg-4.4-x86_64 编译 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/home/workspace/dengzr/linux-x64/lib…

jenkins使用gitlab标签发布

关于jenkins git parameter使用gitlab标签发布和分支发布的用法 手动配置的我就不说了,点点点就行,主要是说一下在pipeline里如何使用 通过分支拉取gitlab仓库代码 pipeline {agent anyenvironment {}parameters {gitParameter(branch: , branchFilte…

Sentinel dashboard的使用;Nacos保存Sentinel限流规则

Sentinel dashboard的使用 往期文章 Nacos环境搭建Nacos注册中心的使用Nacos配置中心的使用Sentinel 容灾中心的使用 参考文档 Sentinel alibaba/spring-cloud-alibaba Wiki GitHub 限流结果 下载sentinel-dashboard github地址:Sentinel/sentinel-dashboar…