OSPF(Open Shortest Path First)是一个内部网关协议(Interior Gateway Protocol,简称IGP)。与RIP相对,OSPF是链路状态路有协议,而RIP是距离向量路由协议。 链路是路由器接口的另一种说法,因此OSPF也称为接口状态路由协议。OSPF通过路由器之间通告网络接口的状态来建立链路状态数据库,生成最短路径树,每个OSPF路由器使用这些最短路径构造路由表。

链路状态

OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-State Database)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用“最短路径优先算法(Shortest Path First, SPF)”,独立地计算出到达任意目的地的路由。

区域area

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

共有五种区域的主要区别在于它们和外部路由器间的关系:

标准区域: 一个标准区域可以接收链路更新信息和路由总结。

主干区域(传递区域):主干区域是连接各个区域的中心实体。主干区域始终是“区域0”,所有其他的区域都要连接到这个区域上交换路由信息。主干区域拥有标准区域的所有性质。

存根区域(stub Area):存根区域是不接受自治系统以外的路由信息的区域。如果需要自治系统以外的路由,它使用默认路由0.0.0.0。

完全存根区域:它不接受外部自治系统的路由以及自治系统内其他区域的路由总结。需要发送到区域外的报文则使用默认路由:0.0.0.0。完全存根区域是Cisco自己定义的。

不完全存根区域(NSAA): 它类似于存根区域,但是允许接收以LSA Type 7发送的外部路由信息,并且要把LSA Type 7转换成LSA Type 5。

OSPF中的四种路由器

在OSPF多区域网络中,路由器可以按不同的需要同时成为以下四种路由器中的几种:

  1. 内部路由器:所有端口在同一区域的路由器,维护一个链路状态数据库。

  2. 主干路由器:具有连接主干区域端口的路由器。

  3. 区域边界路由器(ABR):具有连接多区域端口的路由器,一般作为一个区域的出口。ABR为每一个所连接的区域建立链路状态数据库,负责将所连接区域的路由摘要信息发送到主干区域,而主干区域上的ABR则负责将这些信息发送到各个区域。

  4. 自治域系统边界路由器(ASBR):至少拥有一个连接外部自治域网络(如非OSPF的网络)端口的路由器,负责将非OSPF网络信息传入OSPF网络。

OSPF链路状态公告类型

OSPF路由器之间交换链路状态公告(LSA)信息。OSPF的LSA中包含连接的接口、使用的Metric及其他变量信息。OSPF路由器收集链接状态信息并使用SPF算法来计算到各节点的最短路径。LSA也有几种不同功能的报文,在这里简单地介绍一下:

LSA TYPE 1:router LSA由每台路由器为所属的区域产生的LSA,描述本区域路由器链路到该区域的状态和代价。一个边界路由器可能产生多个LSA TYPE1。

LSA TYPE 2:network LSA由DR产生,含有连接某个区域路由器的所有链路状态和代价信息。只有DR可以监测该信息。

LSA TYPE 3:summary LSA由ABR产生,含有ABR与本地内部路由器连接信息,可以描述本区域到主干区域的链路信息。它通常汇总缺省路由而不是传送汇总的OSPF信息给其他网络。

LSA TYPE 4:Summary LSA由ABR产生,由主干区域发送到其他ABR, 含有ASBR的链路信息,与LSA TYPE 3的区别在于TYPE 4描述到OSPF网络的外部路由,而TYPE 3则描述区域内路由。

LSA TYPE 5:AS External LSA由ASBR产生,含有关于自治域外的链路信息。除了存根区域和完全存根区域,LSA TYPE 5在整个网络中发送。

LSA TYPE 6:multicast OSPF LSA,MOSF可以让路由器利用链路状态数据库的信息构造用于多播报文的多播发布树。

LSA TYPE 7:Not-So-Stubby LSA由ASBR产生的关于NSSA的信息。LSA TYPE 7可以转换为LSA TYPE 5。

协议类型

Hello报文,通过周期性地发送来发现和维护邻接关系;
DD(链路状态数据库描述)报文,描述本地路由器保存的LSDB(链路状态数据库);
LSR(LS Request)报文,向邻居请求本地没有的LSA;
LSU(LS Update)报文,向邻居发送其请求或更新的LSA;
LSAck(LS ACK)报文,收到邻居发送的LSA后发送的确认报文。

OSPF网络类型

根据路由器所连接的物理网络不同,OSPF将网络划分为四种类型:广播多路访问型(Broadcast multiAccess)、非广播多路访问型(None Broadcast MultiAccess,NBMA)、点到点型(Point-to-Point)、点到多点型(Point-to-MultiPoint)。

广播多路访问型网络如:Ethernet、Token Ring、FDDI。NBMA型网络如:Frame Relay、X.25、SMDS。Point-to-Point型网络如:PPP、HDLC。

指派路由器(DR)和备份指派路由器(BDR)

在多路访问网络上可能存在多个路由器,为了避免路由器之间建立完全相邻关系而引起的大量开销,OSPF要求在区域中选举一个DR。每个路由器都与之建立完全相邻关系。DR负责收集所有的链路状态信息,并发布给其他路由器。选举DR的同时也选举出一个BDR,在DR失效的时候,BDR担负起DR的职责。

点对点型网络不需要DR,因为只存在两个节点,彼此间完全相邻。 协议组成OSPF协议由Hello协议、交换协议、扩散协议组成。本文仅介绍Hello协议,其他两个协议可参考RFC2328中的具体描述。

当路由器开启一个端口的OSPF路由时,将会从这个端口发出一个Hello报文,以后它也将以一定的间隔周期性地发送Hello报文。OSPF路由器用Hello报文来初始化新的相邻关系以及确认相邻的路由器邻居之间的通信状态。

对广播型网络和非广播型多路访问网络,路由器使用Hello协议选举出一个DR。在广播型网络里,Hello报文使用多播地址224.0.0.5周期性广播,并通过这个过程自动发现路由器邻居。在NBMA网络中,DR负责向其他路由器逐一发送Hello报文。

OSPF的配置

OSPF Config/Process

Process ID:即 OSPF路由进程ProcessID必须指定范围在1-65535,多个OSPF进程可以在同一个路由器上配置,但最好不这样做。多个OSPF进程需要多个OSPF数据库的副本,必须运行多个最短路径算法的副本。ProcessID只在路由器内部起作用,不同路由器的ProcessID可以不同。

OSPF Config/General

Router ID:即该router的IP地址

ASBR::Autonomous System Border Router 至少拥有一个连接外部自治域网络(如非OSPF的网络)端口的路由器,负责将非OSPF网络信息传入OSPF网络。

ExtLsaCount:在连接状态数据库(LSDB)中,外部连接状态通告(LSA)的数量。

ExtLsaCksumSum:外部连接状态通告的校验和,决定在路由器的连接状态数据库中是否有个连接变化。

TOSRouteSupport:路由器是否支持TOS

OrgnNewLsa:新产生的LSA的数量,Router每产生一个该数量增加。

RxNewLsa:接受到的LSA

ExtLsaDbLimit:在连接状态数据库中存储的自治系统外部LSA的最大数量。

MulticastExt:该router是否转发多播报文,基于OSPF多播扩张中定义的算法。Bit 0表示转发多播报给router直接连接的区域;bit 1表示在OSPF区域间转发;bit 2表示在自治系统之间转发。

ExitOverflowIntrvl:在路由器进入Overflow状态时,试图离开Overflow状态的时间间隔。

DemandExt:

OSPF Config/Area

将该router加入到某个区域

Area:网络区域ID area-id在0-4294967295内的十进制数,也可以是带有IP地址格式的x.x.x.x。当网络区域ID为0或0.0.0.0时为主干区域。还有标准区域、存根区域(StubArea)、不完全存根区域(NSSA)之分。不同网络区域的路由器通过主干域学习路由信息。

AuthType:可以在相同OSPF区域的路由器上启用身份验证的功能,只有经过身份验证的同一区域的路由器才能互相通告路由信息。在默认情况下OSPF不使用区域验证。通过两种方法可启用身份验证功能,纯文本身份验证和消息摘要(md5)身份验证。纯文本身份验证传送的身份验证口令为纯文本,它会被网络探测器确定,所以不安全,不建议使用。而消息摘要(md5)身份验证在传输身份验证口令前,要对口令进行加密,所以一般使用此种方法进行身份验证。 使用身份验证时,区域内所有的路由器接口必须使用相同的身份验证方法。为起用身份验证,必须在路由器接口配置模式下,为区域的每个路由器接口配置口令。

ImportAsExt:区域对自治系统外部LSA的输入。

SPFRuns:内部区域路由表已经通过区域的LSDB计算的次数

AbrCount:该区域内区域边界路由器的数量

AsbrCount:该区域内自治系统边界路由器的数量

AreaLsaCount:在链路状态数据库中链路状态通告的数量

AreaLsaChsumSum:在链路状态数据库中链路状态通告的校验和的和,不包括外部链路状态通告。

AreaSummary:该变量控制进入存根区域的summary LSA的输入;noAreaSummary表示路由器既不产生也不传播summary LSA进入存根区域;sendAreaSummary表示路由器既要汇总也要传播LSA

OSPF Config/StubArea

存根区域:存根区域是不接受自治系统以外的路由信息的区域。如果需要自治系统以外的路由,它使用默认路由0.0.0.0。

Metric:Metric值。

MetricType:用默认路由进行通告时使用的Metric类型。

OSPF Config/LinkStateDb

OSPF路由器收集其所在网络区域上各路由器的连接状态信息,即链路状态信息(Link-State),生成链路状态数据库(Link-State Database)。路由器掌握了该区域上所有路由器的链路状态信息,也就等于了解了整个网络的拓扑状况。OSPF路由器利用“最短路径优先算法(Shortest Path First, SPF)”,独立地计算出到达任意目的地的路由。OSPF的LSA中包含连接的接口、使用的Metric、序列号(seq)、报文号(I)、结尾标识(M)及主从标志(MS)。OSPF路由器收集链接状态信息并使用SPF算法来计算到各节点的最短路径。

LSAType:连接状态通告的类型,有各自的通告格式

LSID:是LSA的特定域包含一个router ID或IP Address,指定这个通告描述的一片路由域

RtrID:标示源路由器

Seq:用于检测旧的或重复的LSA,该值线性增加

Age:该LSA的生存了时间

Chsum:通告内容中出了age域的所有内容的校验和

LsdbAdv:整个链路状态通告,包括它的头部。

OSPF Config/AreaRange

IP Address和IP Mask确定的一段IP地址

Address:子网地址

Mask:是子网掩码

Effect:触发指示的summary的通告或使子网不被通告到外部区域

OSPF Config/Host

区域内该router可达到的主机路由表。

OSPF Config/Interface

配置OSPF接口参数

Type:该连接的网络类型。

Priority:接口优先级,用于多播网络的指定路由器的选择计算。

TransitDelay:传输时延,指在OSPF链路接口之间传输一个链路状态更新包需要的时间。

ReTransitIntvl:重传间隔是指链路状态的重传间隔时间。如果一个路由器向相邻路由器发送一个新的链路状态包,在没有收到对端的确认包时,将发生重传。

HelloIntvl::Hollo间隔,OSPF路由器定期向邻接路由器发送HELLO数据包,以探寻相邻路由器的状态。其探寻间隔可以进行设置。

DeadIntvl:在该路由器的邻居在该时间内看到其hello报文,就认为该路由器处于非活动状态。

PollingIntvl:Hello报文发送给处于非活动状态的邻居。

DR:Designated Router指定路由器

BDR:备份指定路由器

Authkey:认证密码

MulticastFwding:多播转发类型

AuthType:认证类型

OSPF Config/Metric

设置被Interface Index指示的非虚拟接口的具体TOS Metric

OSPF Config/VirtualInterface

关于路由器的虚拟接口表

OSPF Config/Neighbor

关于某个接口连接的邻居的信心

OSPF Config/VirtualNeighbor

由process ID、area ID、router ID确定的虚拟邻接点信息

OSPF Config/ExLinkStateDb

某个外部连接状态通告

OSPF Config/RouteGroup

OSPF的路由组

OSPF Config/AreaAggregate

由IP Address和IP Mask及LSDB类型确定的一组地址范围。

ospf思路top图如下:

ospf协议说明之top思路图相关推荐

  1. OSPF协议介绍及配置 (下)

    4.特殊区域详解 为了让我们的讲解更加的通俗易懂,我们看上面这个拓扑,这是一个根据客户业务逻辑结构所涉及的OSPF网络,共有三个区域(实际上远远不止),骨干区域area0为一级行及二级行所部署,三级行 ...

  2. OSPF协议介绍及配置

    一.OSPF概述 回顾一下距离矢量路由协议的工作原理:运行距离矢量路由协议的路由器周期性的泛洪自己的路由表,通过路由的交互,每台路由器都从相邻的路由器学习到路由,并且加载进自己的路由表中,而对于这个网 ...

  3. RIP协议与OSPF协议与BGP协议

    RIP协议: https://www.bilibili.com/video/BV19E411D78Q?p=54 RIP是一-种分布式的基于距离向量的路由选择协议,是因特网的协议标准,最大优点是简单. ...

  4. OSPF协议学习笔记(一)

    一.OSPF路由协议(Open Shortest Path First),开放最短路径优先协议.是一种典型的链路状态的路由协议,OSFP将链路状态广播数据包LSA(Link State Adverti ...

  5. 计算机网络-OSPF协议

    目录 1 前言 2 OSPF协议的三个要点 3 链路状态路由协议算法 4 区域的概念 1 前言 开放最短路径优先 OSPF (Open Shortest Path First)是为克服 RIP 的缺点 ...

  6. CCNA学习总结—OSPF协议—OSPF协议原理

    1.为什么使用OSPF RIP协议因为15跳的限制只能使用在网络半径比较小的网络中,而且RIP不能做到百分百的防环,而网络风暴是每个大型网络所必须解决的重要的问题.RIP是距离矢量型路由协议,周期性更 ...

  7. ospf协议_「案例」OSPF路由动态协议及配置

    OSPF(Open Shortest Path First), 开放最短路径优先协议,是一种开源的使用最短路径优先(SPF)算法的内部网关协议(IGP).常用于路由器的动态选路. 1.OSPF仅传播对 ...

  8. 华为路由器:ospf协议入门介绍

    一.OSPF协议的介绍 OSPF协议概述 OSPF全称是开放式最短路径优先.是IETF开发的一种链路状态路由协议,使用基于带宽的度量值.采用SPF算法计算路由,从算法上保证了无路由环路.通过邻居关系维 ...

  9. OSPF协议基本原理笔记

    笔记是从书上和相应的PPT上摘抄的 特点 1.支持较大规模的网络: OSPF 协议无路由跳数限制,所以其适应范围广,支持网络规模更大.在特定的组网环境下,OSPF 单区域甚至可支持几十台路由器. 2. ...

最新文章

  1. 设计模式之观察者模式(Observer)摘录
  2. 刷个B站的功夫就能把Python学了,微软放出短视频入门课,资料登上GitHub热榜第一...
  3. linux查看根目录使用率,Linux 查看空间使用情况的实例详解
  4. java中array,arrayList,iterator;
  5. 高一计算机组装,高中生计算机组装与维护,呼市新华互联网学校
  6. TypeScript里get属性的实现
  7. P1092虫食算-深度优先搜索+玄学剪枝
  8. OpenCV_01 简介+无版权安装+模块分析
  9. Java里氏转换_详解Java设计模式编程中的里氏替换原则
  10. 项目管理工具project软件学习(六) - 设置里程碑、任务备注
  11. JAVA之NIO按行读写大文件,完美解决中文乱码问题
  12. Android项目图像资源保存在,将图像从drawable保存到android中的内部文件存储
  13. opencv中的Mat、CvMat以及IplImage介绍以及三者之间的转换
  14. 友华改设备标识命令_PT632 G_2装备指令
  15. 自制抖音去水印工具 java+微信小程序
  16. 2017 CCPC 秦皇岛 G题
  17. 读文献——《Going deeper with convolutions》
  18. 《滕王阁序》本周部分GAN论文(0113-0117)
  19. oracle bam教程,Oracle BAM原理简介
  20. 【计算机网络】PPP和PPPoE协议

热门文章

  1. 在python中查看关键字、需要在解释器中执行_现有代码 d={},在python3解释器中执行 d[([1,2])] = 'b'得到的结果为():...
  2. 网易云音乐首页导航样式的实现
  3. SSM毕设项目校园书蜀黍易购平台xk9g6(java+VUE+Mybatis+Maven+Mysql)
  4. 国内十大黄金期货交易APP平台排名(2022版)
  5. 数据分析实际案例之:pandas在餐厅评分数据中的使用
  6. MicroLib微库和ARM标准C库:usart使用中printf重定向引起的问题
  7. 22-08-06 西安 尚医通(03)EasyExcel; Spring Cache 、Redis做缓存
  8. C语言打印矩形、长方形、平行四边形、各种三角形
  9. 甲骨文合作伙伴基于甲骨文云平台不断加速创新并推动客户成功
  10. Wireshark对ping报文的解码显示(BE与LE) 转自作者:易隐者