HCIP的学习(7)

这边可以与我之前写的HCIA博客结合起来一起看,效果更好
HCIA的学习(6)

OSPF状态机

  • down—关闭-----一旦启动OSPF进程,并发出hello报文,则进入下一个状态
  • init----初始化状态------当收到的hello报文中存在本地的RID值,则进入下一个状态
  • 2-way----双向通讯----邻居关系建立的标志

条件匹配:匹配成功则进入下一个状态,匹配失败则停留在邻居关系。(发送的是Hello包进行选举)

  • exstart—预启动----使用未携带LSA摘要的DBD报文进行主从关系选举,其中RID大的为主设备
  • exchange—准交换—使用携带LSA摘要信息的DBD报文进行信息共享
  • loading----加载----邻居间使用LSR/LSU/LSAck三种报文来获取完整的拓扑信息
  • full----转发----拓扑交换完成后进入该状态,标志着邻接关系的建立
Attempt状态---尝试状态。
	仅在NBMA网络中会出现,当设备启动后,从down切换到该状态,尝试向外发送hello报文,当成功发送后,
	进入到init状态。(因为NBMA网络中不允许发送组播报文,所以只能进入Attempt状态等待网络管理员告知
	我邻居的IP地址,然后发送单播报文)

条件匹配:

目的:是为了减少网络中LSA信息的重复更新及资源消耗

(假如没有条件匹配,如果A,B,C,D依靠一个交换机使其出于同一个广播域,假设A先给B,C,D发送自己的拓扑信息了,B接收到后又将自己的拓扑信息和获取到的A拓扑信息一起发送给C(因为如果不将A的拓扑信息一起发送,如果网络是A-B-C三台路由器直连,那么C就永远无法接受到A的拓扑信息),那么C就收到两份A的信息造成LSA信息的重复更新及资源消耗)

设备接口名称:

  • 指定路由器—DR(负责收取其他所有人的拓扑信息)
  • 备份指定路由器—BDR(当DR出现故障时,负责收取其他所有人的拓扑信息)
  • 其他路由器—DRother(自身的拓扑信息只发给DR或BDR,不再发给其他DRother)

注意:DR选举是一个广播域选举一个,只有一种情况只有DR,没有BDR,就是广播域中只有一个设备参加选举,其他设备皆接口优先级为0,放弃选举。

选举规则:

  1. 对比接口优先级----越大越优先,默认值为1,范围为0-255;当优先级为0时代表放弃选举。(先比较)
  2. 对比设备RID----越大越优先

组播地址:(为什么有两个组播地址的原因)

  1. DRother发送时使用224.0.0.6
  2. DR/BDR接收224.0.0.6,发送224.0.0.5

角色关系:

  • DRother之间属于邻居关系,其他设备之间属于邻接关系。

条件匹配属于非抢占模式,即一旦选举成功,不会因为新加入的设备而重新选举。如果需要重新选举,则重启OSPF进程。

OSPF工作过程

在这里插入图片描述

1、设备在启动配置完成后,OSPF将向本地所有运行了OSPF协议的接口以组播224.0.0.5的方式发送出hello报文。
hello报文中携带有本地的RID值以及自己已经知晓的邻居的RID(通过接收其他邻居的hello包来获取邻居的RID)。
2、当收到的hello报文中存在本地RID数值,则进入2-way状态,且将与邻居的关系加入到邻居表中。
3、进行条件匹配,匹配成功开始建立邻接关系。匹配失败则停留在邻居关系,仅使用hello报文保活。
(注:如果是点到点网络就不需要条件匹配,因为不会重复更新)
4、开始建立邻接关系,首先使用未携带数据的DBD报文进行主从关系选举,主设备先进入下一个状态,从设备先
发送下一个报文。之后使用DBD报文来共享LSA摘要信息。之后双方通过LSR/LSU/LSAck报文完成未知LSA的获取
过程,完成本地数据库的搭建----LSDB
5、基于本地数据库中的LSA信息,通过SPF算法,计算出有向图和最短路径树,并计算所有到达所有节点的路由
信息,将计算出的路由信息加载到OSPF路由表中。
6、基于OSPF路由表以及其他协议路由表,共同选择出最优路由,并将最优路由加载到全局路由表中,以供后续
指导数据包的转发过程。
7、设备之间使用hello报文保活,每30min进行一次周期链路刷新。

下边可以与我之前写的实验报告结合起来一起看,那里有完整配置
OSPF实验

OSPF基本配置

在这里插入图片描述

IP划分:192.168.1.0/24
IP划分的原则:
1.每一台设备的环回看做一个网段(不管这台设备有多少个环回)
2. 所有的物理链路看做一个网段
所以上图需要4个网段,借两位
192.168.1.0/26 —链路
-------192.168.1.0/29 —R1、R2、R3
-------192.168.1.8/29
-------------192.168.1.8/30 —R3-R4
-------------192.168.1.8/30 —R4-R5
-------192.168.1.16/29
-------192.168.1.24/29
-------192.168.1.32/29
-------192.168.1.40/29
-------192.168.1.48/29
-------192.168.1.56/29
-------192.168.1.64/29 ----保留地址
192.168.1.64/26 —R1环回
192.168.1.128/26 —R2环回
192.168.1.192/26 —R3环回
(因为需要3个网段,最好掩码为30,因为掩码30只有两个可用IP地址,不会造成IP地址的浪费,但有一个网段需要3个IP地址,所以那个网段我们至少掩码为29)

[r1]ospf 1 router-id 1.1.1.1  ---启动OSPF并手工配置RID,RID满足要求即可(即全网唯一)
[r1-ospf-1]area 0  ---划分区域
[r1-ospf-1-area-0.0.0.0]network 192.168.1.1 0.0.0.0  ---精准宣告,宣告使用的IP属于本地的IP
[r1-ospf-1-area-0.0.0.0]network 192.168.1.0 0.0.0.255  ---范围宣告

两种宣告方式任选其一即可,一般推荐使用精准宣告

[r1]display ospf peer   ---查看邻居表
[r1]display ospf peer brief  ---查看邻居简表
[r1]display ospf lsdb   --查看LSDB
[r1]display ospf routing  ---OSPF路由表
[r1-GigabitEthernet0/0/0]ospf dr-priority 2  ----修改OSPF接口优先级

缺省路由下放
[r5-ospf-1]default-route-advertise   ----非强制性下放,要求本地必须存在一条缺省路由
[r5-ospf-1]default-route-advertise always  ---强制性下放

[r1-ospf-1]silent-interface LoopBack 0  ----静默接口,配置为静默接口的接口,不会发送和接收OSPF报文


区域认证:
[r4-ospf-1-area-0.0.0.1]authentication-mode md5 1 cipher 123456
接口认证:
[r3-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher 123456

一条OSPF路径的COST值等于从目的地到本地路由器沿途所有设备的入接口cost之和

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

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

相关文章

基于Spring Boot的职称评审管理系统

基于Spring Boot的职称评审管理系统 开发语言:Java框架:springbootJDK版本:JDK1.8数据库工具:Navicat11开发软件:eclipse/myeclipse/idea 部分系统展示 前台首页界面 用户注册登录界面 管理员登录界面 个人中心界面…

正则表达式的先行断言(lookahead)和后行断言(lookbehind)

正则表达式的先行断言(lookahead)和后行断言(lookbehind) 分类 编程技术 正则表达式中的零宽断言是一种特殊的结构,它在匹配的时候不会消耗字符,只是对匹配位置进行条件判断。这对于一些复杂的模式匹配非常有用,因为它允许你在匹配位置前面…

ArcGIS 10.8中文版详细安装教程(附安装包)

ArcGIS 10.8中文版详细安装教程(附安装包) 关键词:ArcGIS 10.8中文版安装 1.概述 ArcGIS Desktop 10.8中文版是由ESRI公司开发的一款专业的地理信息系统,一套完整的桌面GIS软件套件,它包含ArcMap、ArcCatalog、ArcG…

使用 Clickhouse 集成的表引擎同步数据方式详解

Clickhouse作为一个列式存储分析型数据库,提供了很多集成其他组件的表引擎数据同步方案。 官网介绍 一 Kafka 表引擎 使用Clickhouse集成的Kafka表引擎消费Kafka写入Clickhouse表中。 1.1 流程图 1.2 建表 根据上面的流程图需要建立三张表,分别Click…

详解python中的迭代

如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的,而很多语言比如C语言,迭代list是通过下标完…

list的常用接口底层实现与介绍

目录 概念: list的基本结构: list的迭代器⭐❤: 自定义类型的完善: const的迭代器: insert erase: size empty push_back 、push_front 、pop_back、pop_front swap 、operator 析构函数…

51单片机实验01-点亮LED小灯

目录 一,软件下载 二,单片机概述 1,单片机内部资源 1)flash 2)ram 3)sfr 2,51单片机 3,单片机最小系统 三,点亮最右边的小灯 1,指出满足小灯点亮的有…

【Qt】:常用控件(三:按钮类)

常用控件(三) 一.Push Button二.Radio Buttion三.Check Box 一.Push Button 使⽤ QPushButton 表⽰⼀个按钮.这也是当前我们最熟悉的⼀个控件了.QPushButton继承⾃QAbstractButton .这个类是⼀个抽象类.是其他按钮的⽗类. QAbstractButton 中,和 QPushBu…

非关系型数据库-----------探索Redis支持五种数据类型

目录 一、Redis支持五种数据类型 1.String(字符串) 2.Hash(哈希) 3.List(列表) 4.Set(集合) 5.sorted set(有序集合) 二、Redis的字符串类型string 1、 SET/GET/APPEND/STRL…

通用分布式锁组件

通用分布式锁组件 1 Redisson1.1介绍1.2 为什么要使用Redisson实现分布式锁1.2.1 锁续期的问题1.2.2 获取锁尝试的问题1.2.3 可重入问题 1.3 Wath Dog的自动延期机制1.4 快速了解1.5 项目集成 2 定义通用分布式锁组件2.1 实现思路分析2.2 定义注解2.3 定义切面2.4 使用锁2.5.工…

【面试经典150 | 动态规划】不同路径 II

文章目录 写在前面Tag题目1方法一:动态规划方法二:空间优化 题目2方法一:动态规划空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主…

Transformer学习: Transformer小模块学习--位置编码,多头自注意力,掩码矩阵

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Transformer学习 1 位置编码模块1.1 PE代码1.2 测试PE1.3 原文代码 2 多头自注意力模块2.1 多头自注意力代码2.2 测试多头注意力 3 未来序列掩码矩阵3.1 代码3.2 测试掩码 1 …

【Java设计模式】序:设计模式总体概述

目录 什么是设计模式设计模式的分类1 创建型模式1.1. 单例(Singleton)1.2 原型(Prototype)1.3 工厂方法(FactoryMethod)1.4 抽象工厂(AbstractFactory)1.5 建造者(Builde…

ajax教程

文章目录 一、原生ajax1、AJAX 简介2、特点1)优点2)缺点 二、http协议1、概念2、Cookie和Session机制1)Cookie2)Session3)报文 二、请求头1、概念2、常见请求头:3、Content-Type 三、AJAX使用1、详细操作2、…

竞赛 Yolov安全帽佩戴检测 危险区域进入检测 - 深度学习 opencv

1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 Yolov安全帽佩戴检测 危险区域进入检测 🥇学长这里给一个题目综合评分(每项满分5分) 难度系数:3分工作量:3分创新点:4分 该项目较为新颖&am…

代码随想录阅读笔记-二叉树【二叉搜索树中的搜索】

题目 给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。 例如, 在上述示例中,如果要找的值是 5,但因为没有节点…

Sybase ASE中的char(N)的坑以及与PostgreSQL的对比

1背景 昨天,一朋友向我咨询Sybase ASE中定长字符串类型的行为,说他们的客户反映,同样的char类型的数据,通过jdbc来查,Sybase库不会带空格,而PostgreSQL会带。是不是这样的?他是PostgreSQL的专业大拿,但因为他手头没有现成的Sybase ASE环境,刚好我手上有,便于一试。 …

PostgreSQL 表膨胀原因和解决方案

在 PostgreSQL 中,表膨胀是一个常见的问题,它会导致数据库性能下降,甚至在极端情况下会耗尽磁盘空间。了解表膨胀的原因及其解决方案,对于维护数据库性能和稳定性至关重要。 表膨胀的原因 MVCC (多版本并发控制) PostgreSQL 使…

Kotlin:for循环的几种示例

一、 打印 0 到 2 1.1 方式一:0 until 3 /*** 打印 0 到 2*/ fun print0To2M1(){for (inex in 0 until 3){// 不包含3print("$inex ")} }运行结果 1.2 方式二:inex in 0 …2 /*** 打印 0 到 2*/ fun print0To2M2(){for (inex in 0 ..2){//…

A First Course in the Finite Element Method【Daryl L.】|PDF电子书

专栏导读 作者简介:工学博士,高级工程师,专注于工业软件算法研究本文已收录于专栏:《有限元编程从入门到精通》本专栏旨在提供 1.以案例的形式讲解各类有限元问题的程序实现,并提供所有案例完整源码;2.单元…