OSPFv2基础01_整体介绍

news2024/11/26 3:45:44

目录

1.OSPF简介

2.OSPF工作原理简介

3.OSPF基础概念

3.1 OSPF系统

 3.1.1 OSPF路由器分类

3.1.2 OSPF区域

(1)OSPF区域分类

(2)OSPF特殊区域

3.1.3 OSPF路由类型

3.2 OSPF报文

3.2.1 OSPF首部格式

3.2.2 OSPF报文格式

(1)Hello报文格式

(2)DD报文格式

(3)LSR报文格式

(4)LSU报文格式

(5)LSAck报文格式

3.2.3 LSA格式

(1) LSA首部格式

(2) LSA格式

3.3 OSPF网络类型


1.OSPF简介

OSPF(Open Shortest Path First)协议是一种用于路由选择的链路状态协议,它是由IETF(Internet Engineering Task Force)定义的,被广泛用于企业和服务提供商的网络中。

OSPF可以在大型网络中自适应地计算路径,并选择最优路径来转发数据包,从而提高网络的可靠性、灵活性和性能。

它使用链路状态数据库(LSDB)来存储网络拓扑信息,并通过洪泛算法来传递信息,最终计算出网络的最短路径树。

该协议支持VLSM(Variable-Length Subnet Mask)地址分配,可以应对复杂的网络拓扑,同时还支持多种路由类型,如多路径路由、默认路由和区域路由等。

2.OSPF工作原理简介

  • 通过Hello报文建立邻居关系
  • 泛洪LSA并完成LSDB记录同步
  • SPF算法计算并形成路由

图 2-1 OSPF工作原理简介 

3.OSPF基础概念

3.1 OSPF系统

图 3-1 OSPF系统

 3.1.1 OSPF路由器分类

  • 内部路由器(IR,Internal Router):所有的OSPF接口都在同一个区域的路由器。
  • 骨干路由器(BR,Backbone Router):至少有一个OSPF接口属于骨干区域(区域0)的路由器。
  • 区域边界路由器(ABR,Area Border Routers):至少有一个OSPF接口属于骨干区域且至少有OSPF接口连接属于非骨干区域,ABR用来连接骨干区域和非骨干区域。
  • 自治系统边界路由器(ASBR,AS Boundary Router):至少有一个OSPF接口属于OSPF一个区域(任何区域),另外一个接口连接连其他AS边界路由器并用于交换路由器信息。

3.1.2 OSPF区域

(1)OSPF区域分类

OSPF区域分为骨干区域和非骨干区域,骨干区域和非骨干区域统称为常规(Normal)区域。

  • 非骨干区域

非骨干区域区域号不能为0.0.0.0,非骨干区域通过物理连接或者虚连接连接骨干区域。

  • 骨干区域

骨干区域区域号固定为0.0.0.0,骨干区域的作用是汇总各个区域的LSA信息,并通过ABR通告给和骨干区域相连的各个区域。

OSPF区域划分规定:

1.骨干区域必须是连续的,分离的骨干区域需要通过虚连接联通。

2.非骨干区域必须和骨干区域联通(通过物理连接或者虚连接联通)。

(2)OSPF特殊区域

OSPF特殊区域主要通过以下信息进行区分:ABR和ASBR数量,是否有虚连接穿过该区域,是否位于AS边缘,允许哪些LSA进入该区域。

按照以上信息的差异,OSPF特殊区域可以分为以下4种:

  • Stub(末梢)区域

Stub区域需要满足以下条件:

  • 只有一个ABR没有ASBR。
  • 没有虚连接。
  • 非骨干区域。
  • 处于AS边缘。

Stub区域只允许同一AS(自治系统)Type 1 LSA,Type 2 LSA,Type 3 LSA在区域内通告,这样可以减少区域内路由表项数量。

  • Totally Stub(完全末梢)区域

Totally Stub区域需要满足以下条件:

  • 只有一个ABR没有ASBR。
  • 没有虚连接。
  • 非骨干区域。
  • 处于AS边缘。

Totally Stub区域和Stub区域的区别是Totally Stub区域只允许Type 1 LSA,Type 2 LSA,不允许Type 3 LSA在区域内通告,这样进一步减少区域内路由表项数量。

Totally Stub区域如何和外部区域如何通信?

ABR产生一条缺省的Summary LSA (Type 3 LSA)通告给骨干区域。

  • NSSA(非纯末梢)区域

NSSA区域需要满足以下条件:

  • 有大于或等于一个ABR且有大于或等于一个ASBR。
  • 没有虚连接。
  • 非骨干区域。

NSSA区域允许同一AS(自治系统)Type 1 LSA,Type 2 LSA,Type 3 LSA在区域内通告,且允许不同AS(自治系统)Type 7 LSA进入该区域,NSSA区域ABR会通过Type 5 LSA通告给AS内其他区域。

  • Totally NSSA(完全非纯末梢)区域

Totally NSSA区域需要满足以下条件:

  • 有大于或等于一个ABR且有大于或等于一个ASBR。
  • 没有虚连接。
  • 非骨干区域。

Totally NSSA区域允许同一AS(自治系统)Type 1 LSA,Type 2 LSA在区域内通告,不允许Type 3 LSA在区域内通告。

Totally NSSA区域允许不同AS(自治系统)Type 7 LSA该区域,NSSA区域ABR会通过Type 5 LSA通告给AS(自治系统)内其他区域。

Totally NSSA区域如何和AS(自治系统)内其他区域如何通信?

ABR产生一条缺省的Summary LSA (Type 3 LSA)通告给骨干区域。

表 3-1 OSPF特殊区域

3.1.3 OSPF路由类型

OSPF路由可以分为4类:

  • 区域内路由(Intra Area Route)
  • 区域间路由(Inter Area Route)
  • 第一类外部路由(Type-1 Externel Route)
  • 第二类外部路由(Type-2 Externel Route)

 表 3-2 OSPF路由类型

3.2 OSPF报文

OSPF共有5中报文:Hello报文,DD报文,LSR报文,LSU报文,LSAck报文。

  • Hello报文

Hello报文用于维护邻居路由器列表,并检测邻居路由器是否在线。此报文设置有OSPF的管理IP地址,包括标识号、优先级、邻居IP地址等信息。

  • DD(Database Description)报文

DD报文用于交换LSDB(链路状态数据库)的摘要信息,以确定哪些LSA(链路状态广告)需要传输和接收。DD报文传输的信息为LSA头部信息,传输LSA头部的目的在于减少网络流量,通常路由器的LSA数量会比较多,如果传输LSA完整信息的话会造成网络流量大的问题。

  • LSR(Link State Request)报文

LSR报文用于请求一个或多个LSA的完整副本。LSR报文同样只包含LSA头部信息。

  • LSU(Link State Update)报文

LSU报文用于传输一个或多个LSA的完整副本。当路由器LSDB中有更改时,LSU报文将通知其他路由器的更新LSDB。只有LSU会携带完整的LSA信息。

  • LSAck(Link State Acknowledgment)报文

LSAck报文用于确认收到的LSA,并向发送方发送确认消息。路由器发送LSU报文后,如果没有收到对端LSAck报文,将会重传LSA。

 图 3-2 OSPF报文交互流程

3.2.1 OSPF首部格式

图 3-3 OSPF首部格式

 Version:OSPF版本,1字节。

Message Type:报文类型,1字节。

  • 1:Hello报文
  • 2:DD报文
  • 3:LSR报文
  • 4:LSU报文
  • 5:LSAck报文

Packet Length:OSPF报文长度,2字节。

Source OSPF Router:路由器ID,4字节,发送OSPF报文的源路由器ID。

Area ID:区域ID,4字节。

Checksum:校验和,2字节。

Auth Type:验证类型,2字节。

Auth Data:验证数据,4字节。

3.2.2 OSPF报文格式

(1)Hello报文格式

图 3-4 Hello报文格式

Network Mask:4字节,发送Hello报文接口IP的子网掩码。

Hello Interval:2字节,发送Hello报文的时间间隔。

Options:1字节,选项,由下面比特位组成。

  • DN:Down比特位
  • O:Opaque比特位
  • DC:Demand Circuit比特位
  • L:LLS Data Block比特位
  • NP:N或P比特位
  • MC:Multicast比特位
  • E:External Routing比特位
  • MT:Multi-Topology比特位

Router Pri:1字节,本路由器的DR优先级。

Router Dead Interval:4字节,本地路由器失效时间。

Designated Router:4字节,DR接口IP地址。

Backup Designated Router,4字节,BDR接口IP地址。

Active Neighbor:4字节,已发现邻居路由器的Router ID。

(2)DD报文格式

 图 3-5 DD报文格式

Interface MTU:2字节,发送DD报文接口的MTU数值。

Options:1字节,选项,由下面比特位组成

  • DN:Down比特位
  • O:Opaque比特位
  • DC:Demand Circuit比特位
  • L:LLS Data Block比特位
  • NP:N或P比特位
  • MC:Multicast比特位
  • E:External Routing比特位
  • MT:Multi-Topology比特位

DB Description:DB说明,1字节

  • I:1比特,多个DD报文,第一个DD报文置1。
  • M:1比特,多个DD报文,最后一个DD报文置1。
  • MS:1比特,设置DD报文双方主从关系。

DD Sequence:4字节,DD报文序列号。

LSA Headers:4字节,LSA头部信息列表。

(3)LSR报文格式

图 3-6 LSR报文格式

 Link State Request以下几个部分组成

LS Type:4字节,请求的LSA类型。

Link State ID:4字节,由LSA类型决定实际意义。

  • Type 1 LSA:产生该LSA的路由器Router ID。
  • Type 2 LSA:DR接口IP地址。
  • Type 3 LSA:目的网络IP地址。
  • Type 4 LSA:ASBR Router ID。
  • Type 5 LSA:目的网络IP地址。

Advertising Router:4字节,发送此报文路由器Router ID。

(4)LSU报文格式

图 3-7 LSU报文格式

 Number of LSAs:4字节,报文中LSA数量。

LSA:LSA列表,LSA格式后面有详细介绍。

(5)LSAck报文格式

图 3-8 LSAck报文格式

 LSA Headers:LSA头部列表。

3.2.3 LSA格式

(1) LSA首部格式

图 3-9 LSA首部格式

LS age:LSA年龄,2字节,该LSA的年龄(距离上次生成的时间)。

Options:选项,1字节,LS类型、范围、发生器类型等选项。

LS type:LSA类型,1字节,常见LSA类型如下:

  • 1:Router-LSA,
  • 2:Network-LSA
  • 3:Network-summary-LSA
  • 4:ASBR-summary-LSA
  • 5:AS-external-LSA
  • 7:NSSA-external-LSA

Link state ID:链路状态ID,4字节,LSA的标识符。

Advertising Router:广告LSA路由ID,4字节。

LS sequence number:LSA序列号,4字节。

LS Checksum:LSA校验和,2字节,校验范围为除LS age字段外的LSA数据。

Length:LSA的长度,2字节     LSA body    不定长    LSA的具体内容。

(2) LSA格式

  • Type 1 LSA:路由器LSA(Router-LSA)

图 3-10 Router-LSA格式

 V位:1比特,如果长生此LSA的路由器有设置虚连接,该位置1,否则置0。

E位:1比特,如果产生此LSA的路由器是ASBR,该位置1,否则置0。

B位:1比特,如果长生此LSA的路由器是ABR,该位置1,否则置0。

Number of Links:2字节,路由器OSPF链路数量。

Link ID:4字节,由Link Type决定实际意义。

Link Data:4字节,由Link Type决定实际意义。

Link Type:1字节,实际的链路类型

  • 1.P2P(点对点网络):Link ID表示邻居路由设备的Router ID,Link Data表示发送该LSA的路由器接口的IP地址。
  • 2.Transit(传送网络):Link ID表示DR接口的IP地址,Link Data表示发送该LSA的路由器接口的IP地址。
  • 3.Stub(末梢网络):Link ID表示IP网络或子网地址,Link Data表示发送该LSA的路由器接口所在网络的子网掩码。
  • 4.Virtual Link(虚连接):Link ID表示邻居路由设备的Router ID,Link Data表示发送该LSA的路由器接口的MIB-II ifIndex(接口索引)值。

TOS:1字节,固定为0。

Metric:2字节,链路开销。

  • Type 2 LSA:网络LSA(Network-LSA)

图 3-11 Network-LSA格式

 Network Mask:4字节,该网络子网掩码。

Attached Router:4字节,该网段所有与DR形成邻居关系的路由器Router ID。

  • Type 3 LSA:网络聚合LSA(Network-summary-LSA)

图 3-12 Network-summary-LSA格式

  •  Type 4 LSA:ASBR聚合LSA(ASBR-summary-LSA)
  • Type 5 LSA:自治系统外部LSA(AS-external-LSA)

3.3 OSPF网络类型

OSPF网络可以分为以下4种类型:

  • P2P(点到点,point-to-point)类型。
  • P2MP(点到多点,point-to-multipoint)类型。
  • BMA(广播多路访问,Broadcast multi-Access)类型。
  • NBMA(非广播多路访问,Non-Broadcast multi-Acces)类型。

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

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

相关文章

【软考】数据库理论

文章目录 一、函数依赖闭包 一、函数依赖闭包 视频连接:https://open.163.com/newview/movie/free?pidEGVFE2HM4&midOGVFE3RKQ 其他的概念: 函数依赖集候选关键字闭包

Ribbon快速入门

1.Ribbon 概述 Spring Cloud Ribbon 是一个基于 HTTP 和 TCP 的客户端负载均衡工具,它基于 Netflix Ribbon 实现。通过 Spring Cloud 的封装,可以让我们轻松地将面向服务的 REST 模版请求自动转换成客户端负载均衡的服务调用。 轮询 hash 权重 … 简单…

机器视觉-镜头、相机、光源选型以及打光

机器视觉-镜头、相机、光源选型以及打光从理论到实战 关注林中青木微信公众号,获取更多干货,大佬带你飞~

海睿思分享 | ChatGPT梦幻联动,解锁企业数字化转型新可能

在当今这个充满活力和变化的世界里,人工智能 (AI) 的迅速发展正在改变着我们的生活方式。它不仅提高了我们的工作效率,而且正在重新定义我们的日常生活,以前所未有的方式提高了我们的生活质量。其中,以ChatGPT为代表的语言生成模型…

Golang的数据类型及数据类型间转换整理

Golang 更明确的数字类型命名,支持 Unicode,支持常用数据结构。 Go 语言中数据类型分为: 基本数据类型 和 复合数据类型 基本数据类型有:整型、浮点型、布尔型、字符串 复合数据类型有: 数组、切片、结构体、函数、m…

【QT】——定时器QTimer的使用

目录 常见的函数 构造函数 获取/设置定时器间隔时间 启动/停止定时器 信号 设置定时器的时间的两种方法 设置定时器精度 其他函数 静态函数 实例 QTimer是QT框架中的定时器类型,它的使用方法如下: 定义一个调用QTimer对象,调用st…

华为OD机试真题 Python 实现【找出通过车辆最多颜色】【2023Q1 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出3、说明 一、题目描述 在一个狭小的路口,每秒只能通过一辆车,假如车辆的颜色只有3种,找出n秒内经过的最多颜色的车辆数量。 三种颜色编…

深度学习在Li电池RUL、SOH和电池热管理中的研究进展与应用

公众号:尤而小屋作者:Peter编辑:Peter 大家好,我是Peter~ 今天给大家分享一篇关于深度学习在Li电池RUL、SOH和电池热管理中的研究进展与应用的文献综述。文献基本信息介绍: 本文系统介绍了Deep Learning深度学习的不同…

大厂题第1辑——虚函数七题精讲之3:纯虚函数

什么是纯虚函数?什么是抽象类?纯虚函数可以提供实现吗?有什么意义? 题6-什么是纯虚函数? C中有两种继承:接口继承和实现继承。二者的第一个区别是:基类都干了些什么? 如果基类啥实…

15.2 BP神经网络实现图像压缩——基于BP神经网络的图像压缩(matlab程序)

1.简述 BP神经网络的图像压缩原理 数字图像压缩实际上是以较少的比特数有损或者无损的来表示原来像素矩阵的一种图像处理技术,实际上就是减少图像数据中的时间冗余,空间冗余,频谱冗余等等作为目的,从而同过减少上述的一种或者多种冗余的信息而达到更加高效的存储与传输数据.图…

目标检测的评估指标

Precision(精确率/查准率):是指在所有被预测为正的样本中,确实是正样本的占比。当Precision越大时,FP越小,此时将其他类别预测为本类别的个数也就越少,可以理解为预测出的正例纯度越高。Precision越高,误检…

LLM驱动的智能体#Mixcopilot的迭代演进

论文: Generative Agents: Interactive Simulacra of Human Behavior shadow 前阵子在一场线下活动,我们展开了对生成式智能体的分享和研讨,同时也介绍了Earth在实现智能体系统的思考和实践。 最近有一篇文章把LLM驱动的智能体的构成讲解的很…

centos7安装图形化界面

一键安装并生效脚本 #!/bin/bash # 安装X(X Window System) yum groupinstall -y "X Window System"# 安装图形界面软件 yum groupinstall -y "GNOME Desktop"# 设置开机进入图形界面 systemctl set-default graphical.target# 进入图形界面 startx安装 …

Windows | [出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)]

Windows | [出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)] C:\WINDOWS\system32\wsl.exe -d Ubuntu-20.04

Verilog基本语法之数据类型

Verilog 是一种用于数字逻辑电路设计的硬件描述语言,可以用来进行数字电路的仿真验证、时序分析、逻辑综合。 既是一种行为级(可用于电路的功能描述)描述语言又是一种结构性(可用于元器件及其之间的连接)描述语言。 …

深度了解机器人行业全貌

产品分类 机器人主要可分为工业机器人、服务机器人和特种机器人,主要产品如下图所示。 机器人主要分类 资料来源:36氪、华泰证券《机械设备行业专题研究-商用服务机器人:曙光已现蓝海可期-220105》。 其中工业机器人的主要种类及应用领域如下图所示。 工业机器人主要类型及…

docker安装失败 应用程序无法启动,因为应用程序的并行配置不正确

问题描述 报错“应用程序无法启动,因为应用程序的并行配置不正确”。 配置:windows10 解决过程 网上的解决方案有三种: 启动windows服务Windows Modules Installer。运行sxstrace.exe。安装visual c相关依赖。下载visual studio installer…

Python基础 —— 输入输出

〇、概述 当我们编写代码时,必不可少地需要通过敲击键盘来向电脑输入数据,然后显示器将把我们想要的内容显示出来;这其中需要很多复杂的知识,为了简化操作,便有人将其封装成了 print() 和 input() 两个函数。 一、输出…

LiDAR SLAM 闭环——BoW3D论文详解

标题:BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM 作者:Yunge Cui,Xieyuanli Chen,Yinlong Zhang,Jiahua Dong,Qingxiao Wu,Feng Zhu 机构:中科院沈阳自动化研究所 来源:2022 RAL 现算法已经开源&#…

linux查看文件夹的命令

第一种: 最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 ls -ll ls -lh 第二种: 通过命令du -h –max-de…