网络通信——OSPF协议(基础篇)

这里基础是因为没有讲解OSPF中的具体算法过程,以及其中很多小细节。后续会更新。

目录

一.OSPF的基础信息

二.认识OSPF中的Router ID 

 三.OSPF中的三张表

四.OSPF中的度量方法(计算开销值)

五. OSPF选举DR和BDR(就是这个区域的老大和老二)

(1)首先我们需要知道在OSPF中为什么需要这个DR和BDR。

(2)如何选举DR和BDR 

(3) 区分选举Router ID和选举DR/BDR

六. OSPF邻接建立过程(五种数据包,七中状态过程)

(1)五种数据包

(2)OSPF的Hello包(这个hello包的作用)

(3)OSPF的建立过程 


一.OSPF的基础信息

OSPF的链路类型:链路状态路由协议

注意:距离矢量协议(如RIP)不同,OSPF使用链路状态算法,所有路由器都有相同的网络拓扑视图,从而计算出最短路径。可以说是RIP的超级升级版本。

OSPF是由IETF开发链路(邻居路由器的线路 )状态(ip地址,子网掩码) 路由协议

采用SPF算法(Dijkstra算法)计算到达目的地最短路径

链路(link)——路由器接口

状态(state)——描述接口及邻居路由器之间的关系

二.认识OSPF中的Router ID 

首先R1开始只知道直连的网段(10,20,30),相互交换,通过路由学习,放在链路状态数据库。当链路收敛时,每个路由器都对网络有个完整的认识。每个路由器都有一个编号,表示路由器本身,叫Router ID 

Router ID(RID):是OSPF区域内唯一标识一台路由器的IP地址

重点:Router ID 选取规制

1.手动自己用命令选定的Router ID,最优先

2.路由器上的回环地址(就是虚拟接口的ip    eg:-int  l0)

3.活动的物理接口最大的IP地址为Router ID

 三.OSPF中的三张表

1.邻居表

列出本地路由器全部的已经建立邻接关系的邻居路由器信息

2.链路状态数据库(LSDB)LSA:链路状态信息

列出网络中所有的路由器的信息,有一个完整的网络拓扑认识

3.路由表

通过SPF算法,计算出到达每个网络的最佳路径。

四.OSPF中的度量方法(计算开销值)

之前的RIP的开销值是通过条数决定,这其实是有局限性的,由于是根据条数,如果说这条链路的宽带一条是100M(条数为2),另外一条是200M(条数为3)。由于RIP根据条数决定优先路线,导致流量会走100M这条路线,但其实最优的应该是200M。这就是RIP其中的局限性。

为了解决这个问题,OSPF的度量值计算要更加科学合理。

Metric    Cost= 参考带宽(10^8b/s=100mb)/   接口带宽     (<1的Cost=1);

OSPF协议的最短路径就是基于路由器的每一个接口指定的开销(cost)置计算出来的;

一条路由的开销:是指沿着到达目的网络的路由路径上的所有出站接口的开销之和

五. OSPF选举DR和BDR(就是这个区域的老大和老二)

DR(Designated Router)指定路由器

BDR(Backup DR)备用指定路由器(当老大DR挂掉的时候,BDR就会接任DR的位置)

DRother(除了DR和BDR的其他路由器)

(1)首先我们需要知道在OSPF中为什么需要这个DR和BDR。

DR的作用:多路访问中减少邻接关系;

BDR其到备份的作用(备胎)

 上面是一个简单的网络拓扑,我前面也讲了由于OSPF协议最优路径是通过STP算法进行的计算,既然是计算,肯定是需要参数的,这里参数就是通过数据包进行传递,如果说没有DR和BDR,想要让这个区域的路由器知道整个的网络拓扑,意味着,一个路由器,会将自己的路由信息发送给除它外其他的路由器,这样意味着整个网络中会充斥这个数据包,影响网络效率。

为了解决这个问题,就在这个区域选举DR和BDR这两个话事人,DRother们只需要于DR和BDR说就行,再通过DR和BDR汇众之后,同一发给DRother们,这样大大减少了网络中的数据包。

(2)如何选举DR和BDR 

通过组播发送Hello包 

1.具有最高OSPF优先级(路由器的接口优先级(越大越优先)(默认情况下是1(范围0~255)))的路由器会选为DR

2.若最高OSPF优先级相同,那具有最高Router ID的路由器选为  DR

组播地址

224.0.0.5    DRother和DR,BDR之间通信(员工与管理员一起的群)

224.0.0.6    DR和BDR通信(管理员们的群)

(3) 区分选举Router ID和选举DR/BDR

Router ID:这个区域中,路由器的标识号ID,也就是你的身份证号。

DR和BDR:这个区域中,管理者,类似你工作的工位号。

所以说是两个不同的概念。

六. OSPF邻接建立过程(五种数据包,七中状态过程)

(1)五种数据包

Hello数据包:用于邻居或邻接之间建立和维护邻居关系,10秒周期  40(4倍关系)秒死亡 这里10秒可以更改

DBD-数据库描述包:(相当于书本目录) 每台OSPF路由器的LSDB的信息,写了每个网段。

LSR-数据链路请求:请求OSPF邻居的链路状态信息。比方说路由器A收到路由器B发送的DBD包,拆开发现没有10.0.0.0这个网段,路由器A就会发送LSR包 给路由器B。

LSU-链路状态更新包:传SA(包含一条或多条给邻居) 比方说路由器B收到LSR请求包,路由器B就会发送这个LSU包给路由器A,这个包就具体的网段内容。

LSAck-链路状态确认包:回应并确认收到对方的LSU包中的LSA。

(2)OSPF的Hello包(这个hello包的作用)

1.OSPF的邻接关系的建立和维护依赖于Hello包

2.Hello包的发送周期与OSPF类型有关

3.管理Hello包交换的规则是Hello协议

4.Hello用来确定DR,BDR路由器的选择

(3)OSPF的建立过程 

首先路由器A,和B启动,此时是第一个状态down state状态 。

接着路由器A发送Hello包给路由器B,告诉它路由器A的Router ID。此时是init state状态。

然后路由器B发送Hello包给路由器A,告诉它路由器B的Router ID。此时由init状态变成了Twoway state 状态。此时邻居关系建立(不是邻接关系)

接下来进入exstart state状态(涉及到DBD包,商量哪一个是老大,谁先发)

这里路由器A先发送一个没有具体信息的DBD包给路由器B,路由器B收到之后,返回一个DBD给路由器A,意思就是说我的优先级比你大,我先发,所以后面发送具体的DBD包由路由器B先发送。

紧接着来到exchange state 状态

这里有时交换详细的DBD包,只不过由优先级高的先发,比如这里路由器B先发,都收集到对方的链路数据状态后。

进入到loading state状态

比如说路由A发现这段链路信息没有,于是就发送LSR包给路由器B,请求此路由信息,路由器B接收到这条信息之后,发送LSU返还给路由器A,最后路由器A接收到后,返还Lsack包过去表示说我接收了。

最后进入Full state 状态

邻接建立成功,链路收敛,进行SPF算法,计算最优的路由。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

P3131 [USACO16JAN] Subsequences Summing to Sevens S Python题解

[USACO16JAN] Subsequences Summing to Sevens S 题目描述 Farmer John’s N N N cows are standing in a row, as they have a tendency to do from time to time. Each cow is labeled with a distinct integer ID number so FJ can tell them apart. FJ would like to ta…

咸鱼sign逆向分析与爬虫实现

目标&#xff1a;&#x1f41f;的搜索商品接口 这个站异步有点多&#xff0c;好在代码没什么混淆。加密的sign值我们可以通过搜索找到位置 sign值通过k赋值&#xff0c;k则是字符串拼接后传入i函数加密 除了开头的aff…&#xff0c;后面的都是明文没什么好说的&#xff0c;我…

Linux安装RabbitMQ安装

1. RabbitMQ介绍 1.1 RabbitMQ关键特性 异步消息传递&#xff1a;允许应用程序在不直接进行网络调用的情况下交换消息。 可靠性&#xff1a;支持消息持久化&#xff0c;确保消息不会在系统故障时丢失。 灵活的路由&#xff1a;支持多种路由选项&#xff0c;包括直接、主题、…

学习记录:js算法(四十九):二叉树的层序遍历

文章目录 二叉树的层序遍历网上思路队列循环 总结 二叉树的层序遍历 给你二叉树的根节点 root &#xff0c;返回其节点值的层序遍历 。 &#xff08;即逐层地&#xff0c;从左到右访问所有节点&#xff09;。 图一&#xff1a; 示例 1&#xff1a;如图一 输入&#xff1a;roo…

线性代数书中求解齐次线性方程组、非齐次线性方程组方法的特点和缺陷(附实例讲解)

目录 一、克拉默法则 1. 方法概述 2. 例16(1) P45 3. 特点 (1) 只适用于系数矩阵是方阵 (2) 只适用于行列式非零 (3) 只适用于唯一解的情况 (4) 只适用于非齐次线性方程组 二、逆矩阵 1. 方法概述 2. 例16(2) P45 3. 特点 (1) 只适用于系数矩阵必须是方阵且可逆 …

链表OJ经典题目及思路总结(一)

目录 前言1.移除元素1.1 链表1.2 数组 2.双指针2.1 找链表的中间结点2.2 找倒数第k个结点 总结 前言 解代码题 先整体&#xff1a;首先数据结构链表的题一定要多画图&#xff0c;捋清问题的解决思路&#xff1b; 后局部&#xff1a;接着考虑每一步具体如何实现&#xff0c;框架…

CSP-J模拟赛(1)补题报告

前言&#xff1a; 1.交替出场&#xff08;alter) &#xff1a;10 2.翻翻转转&#xff08;filp)&#xff1a;0 3.方格取数&#xff08;square&#xff09;&#xff1a;0 4.圆圆中的方方&#xff08;round)&#xff1a;0 总结一下&#xff1a; 第一次考&#xff0c;没爆零就是胜…

Java面试必杀技为什么面试官都爱问源码?

你也许能说出一万个不知道原理源码也能胜任工作的理由。但是也改变不了&#xff0c;高质量的人才必须要通过原理源码来筛选的事实&#xff01; 不要抱怨没有时间学习&#xff0c;去年到今年&#xff0c;一年时间过去了&#xff0c;你是没时间学习&#xff0c;还是有时间也没学习…

大数据毕业设计选题推荐-个性化图书推荐系统-Python数据可视化-Hive-Hadoop-Spark

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、PHP、.NET、Node.js、GO、微信小程序、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇…

螺狮壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习01(环境准备)

1 准备工作 由于创建数据中心需要安装很多服务器&#xff0c;这些服务器要耗费很所物理物理计算资源、存储资源、网络资源和软件资源&#xff0c;作为穷学生只有几百块的n手笔记本&#xff0c;不可能买十几台服务器来搭建数据中心&#xff0c;也不愿意跑实验室&#xff0c;想躺…

MySQL基础篇 - 多表查询

01 多表关系 【1】概念&#xff1a;项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务之间相互关联&#xff0c;所以各表结构之间也存在着各种联系&#xff0c;基本上分为三种…

音视频入门基础:FLV专题(10)——Script Tag实例分析

一、引言 在《音视频入门基础&#xff1a;FLV专题&#xff08;9&#xff09;——Script Tag简介》中对FLV文件的Script Tag进行了简介。下面用一个具体的例子来对Script Tag进行分析。 二、Script Tag的Tag header实例分析 用notepad打开《音视频入门基础&#xff1a;FLV专题…

超分服务的分量保存

分量说明 分量的概念主要是对于一个显卡和网络传输而言&#xff0c;显卡可以同时进行几个线程&#xff0c;多个显卡可以分布式进行量的同时进行AI识别&#xff0c;比如我们有cuda的显卡&#xff0c;cuda的核心量可以分给不同的分片视频&#xff0c;第一步先将视频减小&#xff…

Java 自定义异常及经验小结

1&#xff0e;java内置的异常类可以处理大部分异常情况。此外&#xff0c;用户还可以自定义异常&#xff0c;只需继承Exception类即可。 2&#xff0e;在程序中使用自定义异常类&#xff0c;大体可分为以下几个步骤&#xff1a; &#xff08;1&#xff09;创建自定义异常类 &…

VBA数据库解决方案第十五讲:Recordset集合中单个数据的精确处理

《VBA数据库解决方案》教程&#xff08;版权10090845&#xff09;是我推出的第二套教程&#xff0c;目前已经是第二版修订了。这套教程定位于中级&#xff0c;是学完字典后的另一个专题讲解。数据库是数据处理的利器&#xff0c;教程中详细介绍了利用ADO连接ACCDB和EXCEL的方法…

虚拟机、ubantu不能连接网络,解决办法

虚拟机、ubantu不能连接网络&#xff0c;解决办法 物理机OS&#xff1a; [Windows10 专业版](https://so.csdn.net/so/search?qWindows10 专业版&spm1001.2101.3001.7020) 虚拟机平台&#xff1a; VMware Workstation 16 Pro 虚拟机OS&#xff1a; Ubuntu 18.04 自动配…

适合初学者的[JAVA]: 基础面试题

目录 说明 前言 String/StringBuffer/StringBuilder区别 第一点: 第二点: 总结&#xff1a; 反射机制 JVM内存结构 运行时数据区域被划分为5个主要组件&#xff1a; 方法区&#xff08;Method Area&#xff09; 堆区&#xff08;Heap Area&#xff09; 栈区&#x…

SSM整合:图书管理系统

图书管理系统 一.环境 1.数据库环境 CREATE DATABASE ssmbuild;USE ssmbuild;DROP TABLE IF EXISTS books;CREATE TABLE books (bookID INT(10) NOT NULL AUTO_INCREMENT COMMENT 书id,bookName VARCHAR(100) NOT NULL COMMENT 书名,bookCounts INT(11) NOT NULL COMMENT 数量…

宁夏众智科技OA办公系统存在SQL注入漏洞

漏洞描述 宁夏众智科技OA办公系统存在SQL注入漏洞 漏洞复现 POC POST /Account/Login?ACTIndex&CLRHome HTTP/1.1 Host: Content-Length: 45 Cache-Control: max-age0 Origin: http://39.105.48.206 Content-Type: application/x-www-form-urlencoded Upgrade-Insecur…

《论文阅读》PECER:通过动态人格提取和情境情绪推理产生同理心反应 ICASSP 2024

《论文阅读》PECER:通过动态人格提取和情境情绪推理产生同理心反应 ICASSP 2024 前言简介任务定义模型架构Cognitive-Affective Personality PerceiverMulti-source EncoderInteractive Decoder损失函数实验结果可持续发展观点前言 亲身阅读感受分享,细节画图解释,再也不用…