路由器基础(五): OSPF原理与配置

        开放式最短路径优先 (Open   Shortest   Path    First,OSPF)  是一个内部网关协议 (Interior    Gateway     Protocol,IGP),用于在单一自治系统(Autonomous   System,AS) 内决策路由。OSPF 适合小型、中型、较大规模网络。OSPF 采用Dijkstra的最短路径优先算法 (Shortest Path Firs, SPF) 计算最小生成树,确定最短路径。OSPF 基于IP, 协议号为89, 采用组播方式交换OSPF包。OSPF的组播地址为224.0.0.5 (全部OSPF路由器)和224.0.0.6 (指定路由器)。OSPF使用链路状态广播 (LinkState Advertisement,LSA) 传送给某区域内的所有路由器。

一、AS

        自治系统 (AS) 是指使用同一个内部路由协议的一组网络。Internet 可以被分割成许多不同的自治系统。换句话说, Internet 是由若干自治系统汇集而成的。每个AS 由一个长度为16位的编码标识,由Internet地址授权机构 (Internet Assigned Numbers Authority,IANA)  负责管理分配。AS编号分为公有AS  (编号范围1~64511)和私有AS (编号范围64512~65535),公有AS编号需要向IANA申请。

二、IGP

        内部网关协议 (Interior Gateway Protocol,IGP) 在同一个自治系统内交换路由信息。IGP的主要目的是发现和计算自治域内的路由信息。IGP使用的路由协议有RIP、OSPF、IS-IS等。

三、EGP

        外部网关协议 (Exterior Gateway Protocol,EGP) 是一种连接不同自治系统的相邻路由器之间交换路由信息的协议。EGP使用的路由协议有BGP

四、IGP EGPAS三者关系

六、链路状态路由协议

        链路状态路由协议基于最短路径优先 (SPF) 算法。该路由协议提供了整网的拓扑视图,根据拓扑图计算到达每个目标的最优路径;当网络变化时触发更新,发送周期性更新链路状态通告,不是相互交换各自的整张路由表。

        运行距离矢量路由协议的路由器会将所有它知道的路由信息与邻居共享,当然只是与直连邻居共享。

链路状态和距离矢量路由协议对比:

距离矢量路由协议

链路状态路由协议

发布路由触 发条件

周期性发布路由信息

当网络扑拓变化时,发布路由信息

发布路由信 息的路由器

所有路由器

指定路由器(Designated Router, DR)

发布方式

广播

组播

应答方式

不要求应答

要求应答

支持协议

RIP、I GRP、BGP(增 强型距离矢量路由协议)

OSPF、IS-IS

 七、区域 (Area)

        OSPF 是分层路由协议,将网络分割成一个“主干”连接的一组相  互独立的部分,这些相互独立的部分称为“区域” (Area),   “主 干”部分称为“主干区域”。每个区域可看成一个独立的网络,区 域的OSPF 路由器只保存该区域的链路状态。每个路由器的链路状态数据可以保持合理大小,计算路由时间、报文数量就不会过大。

八、OSPF的5类报文

        OSPF 使用IP包头封装5类报文,用来交换链路状态广播 (Link State Advertisement,LSA)

        注意: LSA 本身不是OSPF 的消息,而是一类数据结构,存放在路由器的链路状态库 (Link-State  DataBase,LSDB) 中,并可包含在LSU 消息中进行交换。LSA包括有关邻居和通道成本的信息。接收路由器用LSA 维护其路由选择表。

LSA类型

产生者

传播区域

描述

LSA1(Router LSA)

所有路由 器

只在所描述的区 域内泛洪

描述某区域内路由器端口链 路状态的集合

LSA 2(Network LSA)

DR或BDR

只在DR、BDR所  属的区域内泛洪

描述广播型网络和NBMA络,包含了该网络上所连接 路由器Route ID列表

LSA3(Network

summary LSA)

ABR

通告给其他相关 区域

区域内所有网段的路由信息

LSA 4(ASBR

Summary LSA)

ABR

通告给除AS BR 所在区域的其他 相关区域

描述到ASBR的路由

LSA5(Autonomous

System

External LSA)

ASBR

通告到所有的区 域(除了Stub  域和NSSA区域)

描述到AS外部的路由

 (1)Hello

        Hello 用于发现邻居,保证邻居之间keepalive,      NBMA网络上  选举指定路由器 (DR)  备份指定路由器 (BDR)  Hello   文的发送间隔时间是10秒,默认无效时间间隔是Hello时间间隔的4 倍,即如果在40秒内没有从特定的邻居接收到这种分组,路由器就 认为那个邻居不存在了。 Hello 包应该包含:源路由器的RID源路 由器的Area ID源路由器接口的掩码、源路由器接口的认证类型和 认证信息、源路由器接口的Hello包发送的时间间隔、源路由器接口的无效时间间隔、优先级、 DR/BDR接口IP 地址、五个标记位、源路由器的所有邻居的RID Hello 组播地址为224.0.0.5

(2)数据库描述 (DD DBD) 消息

        用来交换每个LSA 的摘要版本, 一般出现在初始拓扑交换中,这样路由器可以获悉邻接路由器的LSA 列表并用于选择主从关系。 LSA描述了路由器的所有链路、接口、路由器的邻居及链路状态信息。

(3)链路状态请求 (LSR) 消息。

        请求一个或多个LSA,  告知邻接路由器提供LSA的详细信息给发送路由器。

(4)链路状态更新 (LSU) 消息。

        包含LSA 的详细信息, 一般用来响应LSR 消息。

( 5 )       (LSAck)  

        用来确认已收到LSU 消息。

        上述消息可以支持路由器发现邻接路由器 (Hello),  学习其本身链路状态库 (LSDB)  中没有的LSA(DD),    请求并可靠交换LSA(LSR/LSU),    监测邻接路由器是否发生拓扑改变。
        LSA每30分钟重传1次。

九、OSPF 工作流程

        (1)启动OSPF 进程的接口,发送Hello 消息。

        (2)交换Hello 消息建立邻居关系。

        (3)每台路由器对所有邻居发送LSA 

        (4)路由器接收邻居发过来的LSA 并保存在LSDB 中,发送一个LSAcopy给其他邻居。

        (5)LSA 泛洪扩散到整个区域,区域内所有路由器都会形成相同LSDB

        (6)当所有路由器的LSDB 完全相同时,每台路由器将以自身为根,使用最短路径算法算出到达每个目的地的最短路径。

        (7)每台路由器通过最短路径构建出自己的路由表,包含区域内路由(最优)、区域间路由、 E1外部路由和E2外部路由。

十、BRBDR选举

        在DR BDR 出现之前,每一台路由器及其所有邻居成为全连接的OSPF邻接关系,关系数为n×(n-1)/2   在多址网络中,路由器发出的LSA从邻居的邻居发回来,导致网络上产生很多LSA的复制,所以基于这种考虑产生了DR BDR 网段中的所有路由器都从DR BDR 交换信息,而不是彼此交换信息。 DR BDR 将信息转交给其他所有路由器,用DR BDR 方式的连接数为2×(n-1)。

DR/BDR的选举过程:

        (1)选举路由器必须进入双向会话 (Two-way)    状态,优先级别必须大于0(优先级为0,则不参与选举)。

        (2)选举优先级最高的路由器为DR,  次优的为BDR。

        (3)如果优先级相同,则选举Router-id 最大的路由器。

        (4)如果DR/BDR已经存在,而又有新的OSPF路由器加入,即使该路由器优先级最高,也不剥夺现有DR/BDR 的角色。

        (5)如果DR失效,则BDR接管DR, 并重新激活一个新BDR选举进程。

十一、OSPF选举Router-id 的规则

        (1)手动配置的Router-id为首选。

        (2)用所有loopback 中最大的IP作为Router-id。

        (3)用所有活动物理接口中最大的IP作为Router-id   (用作Router-id 的接口不一定非要运行OSPF协议)。

十二、OSPF 网络类型

        OSPF 网络类型分为点到点网络 (Point-to-Point)、 广播型网络(Broadcast) 非广播型 (NonBroadcast     Multiaccess,NBMA)  网络、点到多点网络 (Point-to-Multicast)、  虚链接 (Virtual     Link)

OSPF网络类型

特点

数据传输方式

点到点网络

(Point-to-Point)

有效邻居总是可以形成邻居关系

组播地址为224.0.0.5,该 地址称为AllSPFRouters

点到多点网络

(Point-to-Multicast)

不选举DR/BDR,可看作是多个 Point-to-Point链路的集合

单播(Unicast)

广播型网络

(Broadcast)

选举DR/BDR,所有路由器和 BR/BDR交换信息。DR/BDR不 能被抢占。广播型网络有:以太 网、Token RingFDDI

DR、BDR组播到224.0.0.5 ; DR/BDR侦听224.0.0.6,

该地址称为AllDRouters

非广播型

(NBMA)

没有广播,需手动指定邻居,

Hello消息单播。NBMA网络有 X.25、Frame Relay和ATM

单播

十三、OSPF网络接口COST 

         OSPF 协议中每个接口根据其速率不同,都有一个默认的公式计算的

cost值。

        OSPF 协议中接口的开销计算公式:接口开销=参考带宽/逻辑带宽

        注意: OSPF 的接口带宽默认为100Mbps, 因此Ethernet(100Mbit/s)对应的开销的缺省值是1。

十四、OSPF  配置

        创建OSPF 进程,指定路由器的RouterID, 启动OSPF OSPF 配置的前提。

(1)创建OSPF进程。

system-view                                //进入系统视图

ospf  [process-id|router-id  router-id  ]               //启OSPF 进程,进入OSPF视图

//process-id为进程号,缺省值为1,这个值只有本地意义; router-id router-id 是路由器的ID

area    area-id                                        //进入OSPF 区域视图

//OSPF区域分为骨干区域 (Area 0)  和非骨干区域。骨干区域负责区域之 间的路由,非骨干区域之间的路由信息必须通过骨干区域来转发

network address wildcard-mask [description text] 

//配置区域所包含的网段。其中, description 字段用来为OSPF指定网段配置描述信息

(2)在接口上启动OSPF

system-view                                                     //进入系统视图

interface interface-type interface-number       //进入接口视图

ospf enable [process-id ]area area-id             //在接口上启动OSPF

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

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

相关文章

Java高级互联网架构师之路:垃圾回收器的介绍

本文重点 从本文开始我们将开启垃圾回收器的介绍了,我们知道垃圾回收算法是逻辑改变,而垃圾回收器是具体的实现。我们前面介绍的垃圾回收器有7个,本文将在添加三个,但是这三个目前来看不是很常用,我们只了解一下,我们主要还是讲解这7个垃圾回收器。 十个垃圾回收器 目…

nodejs+springboot+elementui+python的Sd球鞋销售平台的设计与实现-毕业设计

此网站系统的开发方式和信息管理方式,借鉴前人设计的信息和研发。以网站商品信息为主,购物商品为核心功能来进行设计和研发,把网站信息和技术整合,开发出一套Sd球鞋销售平台。用目前现有的新技术进行系统开发,提供后台…

HiveSQL中last_value函数的应用

一、背景 在以下数据中如何实现对每一个列按照更新时间取最新的非null值? 1 a a null 202301 202301 1 b b null null 202302 1 null c null null 202303 1 d null null null 202304如何实现…

安装虚拟机后ifconfig不显示IP地址及设置静态IP地址ssh连接

ifconfig不显示IP地址 可以看到ens160并没有显示IP地址,刚刚装好的虚拟机是很干净的,连网卡都没有,我们修改一个配置文件: vim /etc/sysconfig/network-scripts/ifcfg-ens160将文件中的onboot修改为yes,即启动时需不需…

pytorch学习第五篇:NN与CNN代码实例

这篇文章详细介绍了全链接神经网络实现方法,以及卷积的实现方法。最后我们发现,卷积的实现方法与全链接大同小异,因为 torch 为我们做了很多工作,我们来看看这两个有什么区别。 我们使用 torch 框架来实现两种神经网络,来对图形进行分类。 NN 首先我们引入依赖包 impor…

远程设备常用工具:向日葵、Todesk

其实按理说远程工具例如向日葵、Todesk如果是计算机专业、计算机从业者是必须知道的一个东西,但是在大学期间身边知道的人是少之又少的。 向日葵、Todesk工具的优势:方便、快捷、速度快等等我就不过多阐述了 PS:现在我就是在学校用远程写这篇 很多时候…

YOLO V1学习笔记

为什么要学YOLOV1_哔哩哔哩_bilibili 这个视频讲解的很好,建议在看这个之前看看卷积神经网络,会对卷积后的结果理解更加深刻一点。 一 背景 目标检测分为单阶段和两阶段模型。 之前的目标检测DPM、R-CNN、Fast-RCNN、Faster-RCNN都是双阶段模型&…

ElasticSearch集群架构实战及其原理剖析

ES集群架构 为什么要使用ES集群架构 分布式系统的可用性与扩展性: 高可用性 服务可用性:允许有节点停止服务;数据可用性:部分节点丢失,不会丢失数据; 可扩展性 请求量提升/数据的不断增长(将数据分布…

用android studio调试react native中的原生代码(windows+android)

要用Android Studio调试React Native原生代码, 1. 需要先在终端中运行react-native start命令启动React Native服务器。 2. 然后,在Android Studio中打开你的React Native项目(\android\build.gradle),连接你的设备或…

[极客大挑战 2019]LoveSQL 1

题目环境:判断注入类型是否为数字型注入 admin 1 回显结果 否 是否为字符型注入 admin 1 回显结果 是 判断注入手法类型 使用堆叠注入 采用密码参数进行注入 爆数据库1; show database();#回显结果 这里猜测注入语句某字段被过滤,或者是’;被过滤导致不能…

linux jdk配置

1.下载jdk ,以jdk1.8为例子 Java Downloads | Oracle JDK 8 Update Release Notes (oracle.com) 2.配置环境变量 1.下载相关jdk版本,执行以下命令安装jdk tar -zxvf jdk-8u144-linux-x64.tar.gz 2.编辑命令 vi /etc/profile 3.在最后加入下面配置 e…

硬件测试(二):波形质量

一、信号质量测试 信号在传输的过程中,一般不是标准的矩形波信号,信号质量测试即通过示波器测试单板硬件的数字信号和模拟信号的各项指标,包括电源、时钟、复位、CPU小系统、外部接口(USB、网口、串口)、逻辑芯片(CPLD…

【C++】异常【完整版】

目录 1.C语言传统的处理错误的方式 2. C异常概念 3. 异常的使用 3.1 异常的抛出和捕获 3.2 异常的重新抛出 3.3异常安全 3.4 异常规范 4.自定义异常体系 5.C标准库的异常体系 6.异常的优缺点 1.C语言传统的处理错误的方式 传统的错误处理机制: 1. 终止程序…

“1-5-15”原则:中国联通数字化监控平台可观测稳定性保障实践

一分钟精华速览 “只知道系统有问题,但是找不到问题到底出在哪里”,这几乎是大家都面临过、或正在面临的问题。用户在投诉,但是我的指标都是正常的,到底是哪一环出问题了? 本文详细介绍了中国联通在智能运维领域的应用…

Asterisk Ubuntu 安装

更新环境 sudo apt update sudo apt install wget build-essential git autoconf subversion pkg-config libtool sudo contrib/scripts/get_mp3_source.sh A addons/mp3 A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c A addons/mp3/Ma…

3D医学三维技术影像PACS系统源码

一、系统概述 3D医学影像PACS系统,它集影像存储服务器、影像诊断工作站及RIS报告系统于一身,主要有图像处理模块、影像数据管理模块、RIS报告模块、光盘存档模块、DICOM通讯模块、胶片打印输出等模块组成, 具有完善的影像数据库管理功能,强大…

Leetcode76最小覆盖子串

思路:滑动窗口思想 1. 滑动窗口是什么:用一个滑动窗口为覆盖目标子串的字符串 2.怎么移动窗口:当不满足覆盖时右指针移动扩大范围,当覆盖了就移动左指针缩减范围直到再次不覆盖 3. 怎么判断是否覆盖:这里使用两个哈…

接口自动化测试难点:数据库验证解决方案 百分之90人不知道

接口自动化中的数据库验证:确保数据的一致性和准确性 接口自动化测试是现代软件开发中不可或缺的一环,而数据库验证则是确保接口返回数据与数据库中的数据一致性的重要步骤。本文将介绍接口自动化中的数据库验证的原理、步骤以及示例代码,帮…

Flutter 06 动画

一、动画基本原理以及Flutter动画简介 1、动画原理: 在任何系统的Ul框架中,动画实现的原理都是相同的,即:在一段时间内,快速地多次改变Ul外观;由于人眼会产生视觉暂留,所以最终看到的就是一个…