OSPFv2基础01_整体介绍

目录

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.hqwc.cn/news/9872.html

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

相关文章

SpringBoot 之实现 PDF 添加水印的方案

简介 PDF(Portable Document Format,便携式文档格式)是一种流行的文件格式,它可以在多个操作系统和应用程序中进行查看和打印。在某些情况下,我们需要对 PDF 文件添加水印,以使其更具有辨识度或者保护其版…

【Docker】Docker对用户的应用程序使用容器技术遵循的五个步骤和GRSEC详细讲解(文末赠书)

前言 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 📕作者简介:热…

5、DataX(DataX简介、DataX架构原理、DataX部署、使用、同步MySQL数据到HDFS、同步HDFS数据到MySQL)

1、DataX简介 1.1 DataX概述 DataX 是阿里巴巴开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步功能。源码地址:https://github.com/alibaba/Dat…

浅谈企业信息化能源管理系统的设计与应用

安科瑞 华楠 摘要: 我国的经济社会不断发展,对环境和资源造成的压力也越来越大。为了促进经济和社会的协调发展,可持续发展的理念被提出,企业信息化能源管理系统应运而生。将上述管理系统应用在企业之中,可以节约能源&#xff0…

9、架构:CLI 设计

通常大部分的程序员会更加习惯使用 CLI(Command-Line Interface 命令行界面)来辅助开发业务,包括初始化、更新、构建、发布等功能,可以获得沉浸式一站的开发体验。 在之前有一篇企业级 CLI 开发实战介绍过如何开发一款适用团队的…

java中如何将一个集合list转成以逗号隔开的字符串

事例代码 代码&#xff1a; package com.air.app;import java.util.ArrayList; import java.util.List;public class ListToStringTest {public static void main(String[] args) {//定义list集合List<String> list new ArrayList<>();list.add("1");…

基于eBPF技术的云原生可观测实践

** 基于eBPF技术的云原生可观测实践 ** eBPF技术是Linux内核3.15版本中引入的全新设计&#xff0c;自从2014年发布以来&#xff0c;一直都备受瞩目。在过去几年中&#xff0c;基于eBPF技术的实践和工程落地层出不穷&#xff0c;出现了爆发式的增长。2015年微软、Google、Face…

C++案例

目录 一、while循环猜数组 二、 水仙花数 三、for循环敲桌子游戏 四、99乘法表 五、一维数组--元素逆置 六、冒泡排序 七、封装一个函数--利用冒泡排序&#xff0c;实现对整型数组的升序排序 八、结构体嵌套结构体 九、结构体排序 一、while循环猜数组 说明&#x…

【vue3中使用swiper组件】

【vue3中使用swiper组件】超详细保姆级教程 效果展示简介版本安装Swiper用法完整代码展示html静态展示js逻辑展示&#xff08;vue3 --- ts&#xff09;官方文档导入模块 css样式展示 &#xff08;自行更改所需&#xff09;官方文档样式 效果展示 简介版本 安装Swiper 项目终端中…

国产自研开源大数据管理平台DataSophon

【背景】 几天在朋友圈看到开源社区Datavane发布了一个新开源项目DataSophon&#xff1b;一个致力于快速实现部署、管理、监控以及自动化运维大数据云原生平台&#xff0c;帮助快速构建起稳定、高效、可弹性伸缩的大数据云原生平台&#xff1b;从介绍内容来看非常优秀&#xff…

golang Redis的新数据类型github.com/go-redis/redis/v8实践

Redis的新数据类型# 在redis中&#xff0c;后面添加了几个比较高级的数据类型 hyperloglog基数统计、GEO存储地理位置、bitmap位图、stream为消息队列设计的数据类型 这 4 种数据类型。 HyperLogLog类型# HyperLogLog简介# HyperLogLog 是一种用于数据统计的集合类型&#x…

计算机网络_ 1.3 网络核心 (数据交换_电路交换)

计算机网络_数据交换_电路交换 计算机网络_数据交换_电路交换 计算机网络_数据交换_电路交换 最典型电路交换网络&#xff1a;电话网络电路交换的三个阶段 建立连接&#xff08;呼叫/电路建立&#xff09;通信释放连接&#xff08;拆除电路&#xff09; 独占资源 电路交换网络…