HCIA学习第六天:OSPF:开放式最短路径优先协议

OSPF:开放式最短路径优先协议

无类别链路状态IGP动态路由协议

1.距离矢量协议:运行距离矢量协议的路由器会周期性的泛洪自己的路由表。通过路由的交互,每台路由器从相邻的路由器学习到路由,并且加载进自己的路由表中;对于网络中的所有路由器而言,路由器并不清楚网络的拓扑结构,只是简单的知道要去往某个目的地的方向在哪儿,距离多远。这既是距离矢量协议的本质。

2.链路状态协议:与距离矢量协议不同,链路状态协议通告的是链路状态信息,而不是路由表。运行链路状态协议的路由器之间会先建立一个协议的邻居关系,然后彼此之间开始交互LSA(链路状态通告)。每台路由器都会产生LSA,路由器将接收到的LSA放入自己的LSDB(链路状态数据库)中。路由器通过LSDB,掌握了全网所有的拓扑信息。最后,由路由器通过SPF算法计算出最优路径,随后加载于自己的路由表中。

 

OSPF的特征

支持等开销负载均衡

基于组播进行更新----224.0.0.5 224.0.0.6

支持触发更新 ; 每30min进行一次周期更新

需要结构化的部署---区域划分 地址规划

相同区域传递拓扑,不同区域传递路由

区域划分的规则:

1.星型结构 0区为骨干区域;大于0则为非骨干区域,所有非骨干区域必须接入到骨干区域上。

2.必需要有ABR---域间路由器 两个区域相连时,必须存在ABR,ABR---同时工作在两个区域上。

Router-ID 路由器标识符 ,用于一个OSPF域中唯一的标识一台路由器。

Router-ID的设定可以通过手工配置的方式,或 使用系统自动生成的方式。

定义RID值,建议使用IP地址,全网唯一,要是不进行手工配置则会自动生成-------优先配置为环回的最大数值,如果没有环回,则自动配置为最大物理接口数值。

使用COST值作为度量值:Cost=开销值=参考带宽/接口带宽;默认参考带宽为100M,整段路径cost值之合最小为最佳。

若接口带宽大于参考带宽,则度量值为1,可能会导致选路不佳,故而在接口带宽大于参考带宽的网络中,可以人为的修改参考带宽。

[R1-ospf-1]bandwidth-reference 1000 修改参考带宽为1000Mbits/s

注意:一旦修改参考带宽,需全网所有设备都修改一致

一:ospf的数据包类型

1、HELLO包 用于邻居间的发现 关系建立 及保活

2、DBD包 数据库描述包 用于携带本地数据库目录

3、LSR包 链路状态请求包 在查看完对端邻居的DBD包后,基于本地的位置查询LSA 随后去索要未知的LSA信息,就通过这个LSR包。

4、LSU包 链路状态更新包 用于携带各种LSA信息

5、 LSACK包 链路状态确认包 用于确认接收到对端的信息

二:ospf的状态机

 

Down状态:表示未激活的状态,一旦本地发出hello包,则进入下一个状态。

Init状态:表示初始化状态

Tow-way状态:双向通信 表示建立了邻居关系

经过条件匹配,成功则进入下一个状态机,失败则停留于tow-way状态

Exstart 状态:预启动状态

Exchange状态: 准交换状态

Loading状态: 加载状态 在查看完对端邻居的DBD包后,使用LSR包来询问自己位置的LSA信息,对端使用LSU包进行回复,本地还需要使用LSACK进行确认回复。

Full状态: 邻接关系建立的标识

三:ospf的工作过程

启动配置完成后,本地组播 224.0.0.5 发送hello包,Hello包将携带本地的RID值,及已知的邻居的RID值,若接收到对端的hello包中有自己的RID则视为认识 邻居关系的建立,生成邻居表,开始条件匹配 成功 则进入下一个阶段 不成功 则 永远是邻居,使用空的DBD包进行主从选举 对比RID 大为优 且 优先进入下一个状态 优先共享数据库目录 ,之后 使用 LSR/LSU/LSACK 来获取未知的LSA信息并加载于本地的LSDB中。 启用SPF算法 基于本地LSDB生成有向图,在计算出最短路径树,在基于树形结构算出本地为起始点到达全网各个节点的最优路径,最后加载于本地路由表中,收敛完成后,hello保活即可。每30min进行一次周期更新,周期更新即为对比数据库目录,如果相同 则继续hello包保活,如果不相同,则重新收敛。

结构突变:

  1. 新增一个网段 直连新增网络设备,直接使用更新包告知邻接关系,需要ack确认。

  1. 断开一个网段 直连断开网络设备,直接使用更新包告知邻接关系,需要ack确认。

  1. 无法沟通: hello time 10s ,dead time 40s,时间到了就删除邻居信息。

四:ospf的基础配置

[R1]ospf 1 router-id 1.1.1.1 创建ospf进程号为1 仅具有本地意义 同时定义RID值 建议使用IP地址 全网需要唯一。

[R1-ospf-1]area 0 进入0 区

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

[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255

反掩码:掩码反过来

<R1>display ospf peer 查询详细邻居关系

<R1>display ospf brief 查询邻居表

<R1>display ospf lsdb 查询链路状态数据库

五:ospf的扩展配置

1、从邻居关系建立成为邻接关系的条件

网络类型----两个

①点到点的网络:在一个网段中,仅支持存在两个节点的网络。(在点到点的网络类型中,可以直接成为邻接关系)

②MA:多路访问---在一个网段内,存在的节点数量不限

在MA网络中,若所有设备均是邻接关系,则会造成大量的重复更新,故,进行DR/BDR的选举,所有非DR/BDR的设备被称之为DRother,DRother之间维持邻居关系。

选举规则:

  1. 先比较参选接口的优先级 默认1 范围0-255 大为优

  1. 若参选接口的优先级相同,比较参选设备的RID,大为优

[R1-GigabitEthernet0/0/0]ospf dr-priority 2 将参选接口优先级改为2

切记:ospf的DR选举是非抢占性的,故需要重启ospf进程达到重新选举的目的。

<R1>reset ospf process 重启ospf进程

2、手工认证

在邻居间接口上定义安全密钥

[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456

3、手工汇总----汇总区域

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

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

相关文章

git学习及简单maven打包

前提&#xff1a; 已经有远程仓库地址 和账号密码了 已经安装git了 1.本地新建文件夹A用作本地仓库 2.在A文件夹下右键打开GIT BASH HERE 3.创建用户和密码&#xff0c;方便追踪提交记录 git config --global user.email “caoqingqing0108” //创建邮箱 git config --global …

电视盒子哪款好?年货节必看电视盒子排名

电视盒子哪款好&#xff1f;电视盒子是每天都会使用到的&#xff0c;和电视机是好搭档&#xff0c;但很多朋友买电视盒子的时候会踩雷&#xff0c;像虚标配置、偷工减料、无售后等&#xff0c;近来年货节大促购入电视盒子的消费者增多&#xff0c;小编这次要来分享的是好评度最…

centos搭建ftp踩坑记录

ftp服务器搭建参考b站视频 第1坑&#xff0c;开放端口后仍然无法连接&#xff1a; 这里不仅需要在防火墙打开20和21端口&#xff0c;还需要打开被动访问所使用的端口&#xff0c;也就是在配置文件vsftpd.conf中指定的被动访问接收端口。 pasv_enableYES pasv_min_port40000 p…

【Java】Springboot入门

学习目标 基于SpringBoot框架的程序开发步骤 熟练使用SpringBoot配置信息修改服务器配置 基于SpringBoot的完成SSM整合项目开发 一、SpringBoot简介 1. 入门案例 问题导入 SpringMVC的HelloWord程序大家还记得吗&#xff1f; SpringBoot是由Pivotal团队提供的全新框架&…

了解维特比算法:通信系统和自然语言处理中解码的基石

一、介绍 在数字通信和信号处理领域&#xff0c;维特比算法是一种革命性的纠错和解码方法。该算法以 1967 年推出的 Andrew Viterbi 的名字命名&#xff0c;已成为数字通信和自然语言处理领域的基础。本文旨在深入研究维特比算法的复杂性&#xff0c;探讨其理论基础、实际应用以…

四、ESP8266网络客户端

四、ESP8266网络客户端 基本操作1、[使用ESP8266HTTPClient库实现网络通讯](https://blog.csdn.net/X_King_Q/article/details/112061397)2、使用WiFiClient库实现网络通讯3、Stream4、HTTP协议数据通讯4.1客户端向服务器发送数据信息4.2客户端向服务器请求数据信息 基本操作 …

2401cmake,学习cmake1

1步:一个基本出发点 最基础项目是基于源码的一个可执行构建.对简单项目.三行CMakeLists.txt就满足了. 在步1路径下创建如下CMakeLists.txt文件: cmake_minimum_required(VERSION 3.10) //设置项目名 project(Tutorial) //添加可执行文件 add_executable(Tutorial tutorial.cx…

跨境电商展-2024广州跨境电商展览会(ICBE China 2024)

ICBE2024第11届广州国际跨境电商交易博览会&#xff0c;作为华南地区最具影响力的跨境电商展览会&#xff0c;将再次于2024年5月15-17日在广州保利世贸展览馆盛大举行。此次展会以“创新、合作、共赢”为主题&#xff0c;汇聚了来自全球各地的跨境电商企业、平台、服务商等&…

(2024,定性评估、定量评估、人类评估)神经风格转移评估:综述

Evaluation in Neural Style Transfer: A Review 公和众和号&#xff1a;EDPJ&#xff08;进 Q 交流群&#xff1a;922230617 或加 VX&#xff1a;CV_EDPJ 进 V 交流群&#xff09; 目录 0. 摘要 1. 简介 2. 神经风格转移方法 0. 摘要 神经风格转移&#xff08;Neural St…

LeetCode.2808. 使循环数组所有元素相等的最少秒数

题目 题目链接 分析 我们最终形成的数组一定是当前数组nums 中的一个数字。 所以我们的想法就是枚举数组 nums 中的所有数字&#xff0c;取最小值。 题目告诉我们每一秒都可以向左右扩散一位&#xff0c;那么多个相同的 x 同时扩散&#xff0c;扩散完整个数组耗时就取决于两…

主流新能源汽车防盗模式简介

主流新能源汽车中&#xff0c;守卫模式是指车辆在停车状态下&#xff0c;通过特定的硬件和软件系统来保护车辆的安全&#xff0c;防止车辆被盗或被破坏。不同品牌的新能源汽车中&#xff0c;守卫模式的名称和功能略有不同&#xff0c;以下是常见的几种守卫模式及其对标&#xf…

BroadcastChannel使用

BroadcastChannel() 构造函数用于创建一个 BroadcastChannel 对象&#xff0c;并与底层的通道相关联。 channelName 表示通道名称的字符串&#xff1b;对于相同的来源下的所有浏览上下文&#xff0c;一个名称只对应一个通道 发送者 const channel new BroadcastChannel(&qu…

Django实例_后台管理及分页器

原理步骤参考: Django开发_14_后台管理及分页器-CSDN博客 一、创建Django项目 二、创建page_app python manage.py startapp page_app三、修改settings.py文件 (一)添加app (二)设置每页显示数据个数 (三)设置中文显示 四、总路由添加子路由路径 from django.contrib impo…

210. 课程表 II

210. 课程表 II 题目链接&#xff1a;210. 课程表 II 代码如下&#xff1a; //拓扑排序&#xff1a;判断图中是否存在回路 class Solution { public:vector<int> findOrder(int numCourses, vector<vector<int>>& prerequisites) {vector<int> r…

最全前端 HTML 面试知识点

一、HTML 1.1 HTML 1.1.1 定义 超文本标记语言&#xff08;英语&#xff1a;HyperTextMarkupLanguage&#xff0c;简称&#xff1a;HTML&#xff09;是一种用于创建网页的标准标记语言 HTML元素是构建网站的基石 标记语言&#xff08;markup language &#xff09; 由无数个…

PyTorch深度学习实战(34)——Pix2Pix详解与实现

PyTorch深度学习实战&#xff08;34&#xff09;——Pix2Pix详解与实现 0. 前言1. 模型与数据集1.1 Pix2Pix 基本原理1.2 数据集分析1.3 模型构建策略 2. 实现 Pix2Pix 生成图像小结系列链接 0. 前言 Pix2Pix 是基于生成对抗网络 (Convolutional Generative Adversarial Netwo…

pinctrl/gpio子系统(1)-pinctrl子系统介绍及驱动源码分析

1.简介 在如今的驱动开发工作中&#xff0c;实际上已经很少去对着寄存器手册进行驱动开发了&#xff0c;一般板子拿到手&#xff0c;已经有原厂的驱动开发工程师&#xff0c;在gpio子系统、pinctrl子系统中将自家芯片的引脚适配好了。 我们直接基于设备树已配置好的寄存器值&a…

SpringBoot引入Mybatis-Plus(详细)

文章目录 1.引入依赖2.不能使用mybatis的数据源&#xff0c;使用mybatisPlus的3.配置yml文件 1.引入依赖 <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3</version>…

计算机网络_1.4 计算机网络的定义和分类

1.4 计算机网络的定义和分类 一、计算机网络的定义&#xff08;无唯一定义&#xff09;二、计算机网络的分类&#xff08;从不同角度分类&#xff09;1、交换方式2、使用者3、传输介质4、覆盖范围5、拓扑结构 笔记来源&#xff1a; B站 《深入浅出计算机网络》课程 一、计算机…

【MySQL】学习并使用聚合函数和DQL进行分组查询

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-t8K8tl6eNwqdFmcD {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…