ospf介绍

        Ospf首先是一种内部网关协议,其描述的路由信息属于同一个自制系统。所谓自制系统,即属于该自制系统的路由器都必须使用同一种内部网关协议。在这里,即为ospf。

  1. Ospf的一些常用术语:

Ospf协议的内容比较丰富,涉及的术语、定义较多。在这里有一些常用的定义:

  1. 自制系统(AS):一组使用相同路由协议交换路由信息的路由器
  2. Router-id:一个32位的数字,在一个AS中每个路由器都有其独一无二的router-id
  3. Network:ospf可以适用于多种网络,有点对点,广播网络,非广播网络。在这里,我们指的都是以太网
  4. 邻居路由器:两台路由器都有接口接在同一网络中,即接口的ip须属于这一网络
  5. 区域/area:ospf会将整个AS划分为多个区域(其主要目的是为了减少宽带负载,减少LSA数量,降低cpu和内存负担)
  6. DR:指定路由器,在一个网段中选举一个特定的路由器,在广播网络中负责与网段中的其他路由器交换信息
  7. BDR:备份指定路由器,与网段中的其他路由器同样建立邻接关系,平时和普通的DRother一样,在DR失效时,顶替DR的工作
  8. ABR:连接多个区域的路由器(广播网络里,ABR必须连接area 0)
  9. ASBR:与属于其他AS的路由器交换路由信息的路由器
  1. ospf的建立过程:

首先一个最简单的ospf的配置:

PA-5500-U20A(config)#router ospf   --进入ospf视图

PA-5500-U20A(config-router-ospf)#router-id  1.1.1.1   设置该路由器的router-id标识(在AS中唯一)

PA-5500-U20A(config-router-ospf)#area  0  设置该路由器可以属于的区域,在这里是区域0,也可以配置路由器同时属于区域1或其他区域

PA-5500-U20A(config-router-ospf)#network  10.0.0.0  24  area  0  --设置该路由器在区域0 中所运行ospf协议的网段

PA-5500-U20A(config-router-ospf)#ospf enable  --启动ospf协议

PA-5500-U20A(config)#interface ge 0/0/1   --配置路由器运行ospf协议的接口,以1口为例

PA-5500-U20A(config-if-Ge0/0/1)#ip  address  10.0.0.1  24   配置接口ip以运行ospf。由于我们刚才设置运行网段为10.0.0.0 24 故配属于该网段的ip即可

PA-5500-U20A(config)local-security  ospf  ospf   --配置ospf的本地安全

这是一个运行ospf协议的最基本配置,我们来看ospf的运行过程:

  1. 发送hello包,寻找邻居路由器
  2. 建立邻接关系,请求以及更新LSA信息
  3. 根据LSA信息建立的数据库,构造SPF树
  4. 计算ospf路由表

在建立过程中,会用到ospf的一些特有的数据包:

1Hello:发现邻居,建立、维持邻居关系,选举DRBDR,确保双向通信

2DBD:数据库描述数据包(主要描述始发路由器数据库中的一些或者全部LSA信息),主要包括接口的MTU,主从位MS,数据库描述序列号等);

3LSR:链路状态请求数据包(查看收到的LSA是否在自己的数据库,或是更新的LSA,如果是将向邻居发送请求);

4LSU:链路状态更新数据包(用于LSA的泛洪扩散和发送LSA去响应链路状态请求数据包);

5LSACK:链路状态确认数据包(用来进行LSA可靠的泛洪扩散,即对可靠包的确认)。

2.1发送hello包,寻找邻居路由器:

     以我们刚才的配置为例,当你对路由器做了如上的配置后,后台的ospf进程会每间隔10s发出一个hello包,hello包的发送是基于组播的。在你启动如上的配置后,ospf会将该接口的ip10.0.0.1加入到组播地址224.0.0.5(这个地址是ospf专用的)。故hello包即为源地址为10.0.0.1到目的地址224.0.0.5。而hello包中内容是所在区域\area、router-id、路由器优先级等设置的信息,以及当前路由器所认为的DR和BDR、和目前该路由器所探测到的邻居所组成的邻居列表。

    HELLO包发送到组播地址224.0.0.5以后,组播会将该hello包洪泛到加入该组的其他组成员中。例如       (fw1)(ge 0/0/1)-----(fw2)(ge 0/0/1)

在fw1上我们做了如上的配置,在fw2上我们可以做类似的配置,相同区域,相同网段。不同的只是router-id以及所使能的接口的ip地址,在这里,假设router-id配置2.2.2.2。接口ip我们配置成10.0.0.2  24。当然fw2也会将接口加入组224.0.0.5.也会发送hello包到组224.0.0.5。他的hello中的内容也是类似的。

当路由器收到洪泛过来的hello包后(DR将使用组播地址224.0.0.5泛洪扩散更新的数据包到DRothersDRothers使用组播地址224.0.0.6发送更新数据包),会将该路由器加入到自己的邻居列表中,同时会检测收到的hello包中的邻居列表是否已包含自己,(由于是第一次收到该hello包,自然是没有)。继续发送hello包,hello包的邻居列表里已包含刚才收到的路由器id。当再次收到hello包时,若检测到收到的包里的邻居列表含有自己时,则证明双方的通信是互通的。路由器的状态则由init状态转换为2-way状态。

    注意,由于这里是广播网络,在收发hello包的同时,会发送自己认为的DR、BDR,也会收到其他路由器认为的DR,BDR。在这一过程中,会利用hello包来进行网络中DR,BDR 的选举。DR选举的过程基本是根据路由器自身设置的优先级(优先级为0不参与选举),router-id等的大小来进行选举。BDR的选举过程也是类似。(是否参与DR,BDR的选举是都可以人为的手动设定的,确定参与DR的选举则不能参

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

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

相关文章

4 AI系统的测试关键技术和实践

4 AI系统的测试关键技术和实践 4.1 功能测试的困局 在传统系统的功能测试中,测试工程师无论是做手工测试还是自动化测试,都必须先设计和开发测试用例,然后才能利用测试用例完成测试工作,给出测试结论。从这里可以看出,测试用例是测试工作中很重要的产出物。IEEE 610在19…

20240308-2-校招前端面试常见问题-网络及浏览器

校招前端面试常见问题【4】——网络及浏览器 1、网络相关 Q:请简述一下 HTTP 协议,以及 HTTP1.0/1.1/2.0/3.0 的区别? HTTP 协议:超文本传输协议,使用 TCP/IP 协议传输数据。是一个应用层的协议。 HTTP1.0&#xff…

特性螺旋面的刀具设计记录

最近和成型类刀具杠上了,这不最近有小伙伴提供了两个比较特殊的螺旋面工件,通常称作阴、阳转子。具体形状如下: 阴转子 阴转子端面齿形没看出有什么特殊的,但是在轴剖面齿形是内凹的,这个是比较特殊的形式。 阳转子…

FFmpeg--音频解码流程:aac解码pcm

文章目录 音频解码流程API分析:伪代码code: 音频解码流程 aac—音频解码器–pcm数据 API avcodec_find_decoder:根据指定的AVCodecID查找注册的解码器 av_parser_init:初始化AVCodecParserContext avcodec_alloc_context3:为AV…

信息系统项目管理师003:信息化(1信息化发展—1.1信息与信息化—1.1.3 信息化)

文章目录 1.1.3 信息化1.信息化内涵2.信息化体系3.信息化趋势 要点总结 1.1.3 信息化 信息化是一个过程,与工业化、现代化一样,是一个动态变化的过程。信息化是指培养、发展以计算机为主的智能化工具为代表的新生产力,并使之造福于社会的历史…

目标检测:Anchor-free算法模型

下面几篇论文在目标领域内被广泛认为是具有里程碑意义的,它们引入了一些基本概念和方法,对后续的研究产生了深远的影响: 1. DenseBox 虽然不完全是今天所讨论的anchor-free检测方法,但DenseBox是较早采用端到端方式进行目…

Qt自定义控件

自定义控件 目的:将多个控件或者窗口作为一个整体被多次复用。 操作方式 1.首先进行自定义的ui设计,以及对应的.h和.cpp文件 2.到要使用的UI界面上,从控件库中拖拽一个Widget控件 3.右键点击"提升为" 4.填写自定义实现的类名&…

Qt连接所有同类部件到同一个槽函数

void MainWindow::AutoConnectSignals() {// 查找所有 QSpinBoxconst auto spinBoxes findChildren<QSpinBox*>();for (auto *spinBox : spinBoxes){connect(spinBox, static_cast<void(QSpinBox::*)(int)>(&QSpinBox::valueChanged), this, &ParameterW…

Mysql的Cardinality值

什么是Cardinality值&#xff1f; Cardinality值是Mysql做索引优化时一个非常关键的值&#xff0c;优化器会根据这个值来判断是否使用这个索引&#xff0c;它表示索引中唯一值的数目估计值&#xff0c;该值应该尽可能接近1&#xff0c;如果非常小&#xff0c;则用户需要考虑是否…

如何使用 CSS 防止换行

简介 开发人员通常喜欢在网页上对文本进行换行。换行会以某种方式限制文本&#xff0c;防止设计问题。文本换行还可以防止水平滚动。但有时候&#xff0c;您希望文本块保持在同一行&#xff0c;不考虑长度。您可以使用 CSS 的 white-space 属性来防止特定元素的换行和文本换行…

7. 交叉开发环境设置

嵌入式交叉编译工具 ​ 交叉编译工具是为了使在上位机中编译的文件能够在不同平台的目标机中执行&#xff0c;搭建交叉编译环境是嵌入式开发的第一步&#xff0c;也是关键的一步。不同的体系结构、不同的操作系统&#xff0c;甚至是不同版本的内核&#xff0c;都会用到不同的交…

win11中微软商店如何使用微信支付?microsoft store支付教程

Microsoft Store是由微软公司提供的一个数字分发平台&#xff0c;用于购买和下载Windows操作系统及其相关应用、游戏、音乐、电影、电视节目和其他数字内容。该平台最初是作为Windows 8的一部分引入的&#xff0c;后来也适用于Windows 10和其他Microsoft平台。 以下是Microsof…

ESP32系列四:搭建http的webserver的服务器

最近在使用ESP32搭建web服务器测试&#xff0c;发现esp32搭建这类开发环境还是比较方便的。具体的http协议这里就不再赘述&#xff0c;我们主要说一下如何使用ESP32提供的API来搭建我们的http web。 一、web服务器搭建过程 1、配置web服务器 在ESP-IDF中&#xff0c;Web服务…

JavaWeb笔记 --- 一JDBC

一、JDBC JDBC就是Java操作关系型数据库的一种API DriverManager 注册驱动可以不写 Class.forName("com.mysql.jdbc.Driver"); Connection Statement ResultSet PrepareStatement 密码输入一个SQL脚本&#xff0c;直接登录 预编译开启在url中 数据库连接池

HTML5+CSS3+JS小实例:暗紫色Tabbar

实例:暗紫色Tabbar 技术栈:HTML+CSS+JS 效果: 源码: 【HTML】 <!DOCTYPE html> <html lang="zh-CN"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scal…

【梳理】k8s使用Operator搭建Flink集群

文章目录 架构图安装cert-manager依赖helm 安装operator运行集群实例k8s上的两种模式&#xff1a;Native和Standalone两种CRDemo1&#xff1a;Application 单任务Demo2&#xff1a;Session 多任务创建ingress 总结 架构图 参考&#xff1a;部署验证demo 安装cert-manager依赖 …

SSL证书是什么

SSL 证书就是遵守 SSL协议&#xff0c;由受信任的数字证书颁发机构CA&#xff0c;在验证服务器身份后颁发&#xff0c;具有服务器身份验证和数据传输加密功能。 Secure socket layer(SSL)安全协议是由Netscape Communication公司设计开发。 该安全协议主要用来提供对用户和服…

CSS中 ,有哪些方式可以隐藏页面元素

文章目录 CSS中 &#xff0c;有哪些方式可以隐藏页面元素实现方式display&#xff1a;nonevisibility:hiddenopacity:0设置height 、width属性为0position:absoluteclip-path小结 CSS中 &#xff0c;有哪些方式可以隐藏页面元素 实现方式 通过 css 实现隐藏元素方法有如下 : …

Testing Library - 简介

testing-library 软件包系列以用户为中心的方式帮助您测试 UI 组件。 你的测试越接近你的软件使用方式&#xff0c;它们能给你提供的信心就越多。 核心库 DOM Testing Library&#xff0c;是一个轻量级的解决方案&#xff0c;用于通过查询和与DOM节点&#xff08;无论是使用JSD…

【面试准备日常】从头复习mysql--20240308

1.mysql数据类型 a.数值类型 分类类型大小有符号(SIGNED)范围无符号(UNSIGNED)范围描述数值类型TINYINT1 byte(-128&#xff0c;127)(0&#xff0c;255)小整数值SMALLINT2 bytes(-32768&#xff0c;32767)(0&#xff0c;65535)大整数值MEDIUMINT3 bytes(-8388608&#xff0c;…