打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
OSPF协议详解,路由协议学习必备知识

OSPF概述

OSPF是IETF定义的一种基于链路状态的内部网关路由协议。目前针对IP4协议使用的是OSPFVersion 2( RFC2328 );针对IPv6协议使用OSPF Version 3( RFC2740)。

OSPF有以下优点:

  • 基于SPF算法,以“累计链路开销”作为选路参考值
  • 采用组播形式收发部分协议报文
  • 支持区域划分
  • 支持对等价路由进行负载分担
  • 支持报文认证

应用场景

大型企业网络中通常部署OSPF实现各个楼宇的网络之间的路由可达

  • 核心和汇聚层部署在OSPF骨千区域。
  • 接入和汇聚层部署在OSPF非骨千区域
  • 接入层: 接入层利用光纤、双绞线、同轴电缆、无线接入技术等传输介质,实现与用户连接,并进行业务和带宽的分配。接入层目的是允许终端用户连接到网络,因此接入层交换机具有低成本和高端口密度特性。
  • 汇聚层: 汇聚层为接入层提供基于策略的连接,如地址合并,协议过滤,路由服务,认证管理等。通过网段划分实现与网络隔离,可以防止网络故障蔓延和影响到核心层。汇聚层同时也可以提供接入层虚拟网之间的互连,控制和限制接入层对核心层的访问,保证核心层的安全和稳定。
  • 核心层: 核心层的功能主要是实现骨干网络之间的优化传输,核心层任务的重点通常是几余能力、可靠性和高速的传输。

基本术语

Router ID

Router ID用于在自治系统中唯一标识一台运行OSPF的路由器,不能网络的中的其他路由器Router ID重复。它是一个32位的无符号整数。 Router ID选举规则如下:

  • 手动配置OSPF路由器的Router ID(建议手动配置)
  • 如果没有手动配置Router ID,则路由器使用Loopback接口中最大的IP地址作为Router ID
  • 如果没有配置Loopback接口,则路由器使用物理接口中最大的IP地址作为Router ID

注意: Router ID一旦选定,之后如果要更改的话就需要重启OSPF进程。

区域

  • OSPF Area用于标识一个OSPF的区域。
  • 区域是从逻辑上将设备划分为不同的组,每个组用区域号( Area ID ) 来标识
  • OSPF的区域ID是一个32bit的非负整数,按点分十进制的形式( 与IPV4地址的格式一样)呈现例如Area0.0.0.1。为了简便起见,我们也会采用十进制的形式来表示

度量值

  • OSPF使用Cost( 开销 )作为路由的度量值。每一个激活了OSPF的接口都会维护一个接口Cost值,缺省的100 Mbit/s接门Cost =
    。其中100 Mbit/s为OSPF指定的缺省参考值,该值是可配置的。
  • OSPF以“累计cost”为开销值,也就是流量从源网络到目的网络所经过所有路由器的出接口的cost总和。

在实际应用中,推荐根据接口带宽大小手动配置Cost值,而不是修改OSPF参考带宽

度量值修改举例

在规划流量路径时,推荐将汇聚层直连链路Cost值>接入层所有链路Cost值之和,这样可以保证从接入层访问R1或R2时,流量可通过接入层路由器直达R1或R2 以上图为例。R1和R2位于企业网中的汇聚层,R1和R2的直连链路属于区域0,R1有一个直连网段10.0.1.1/32通过在区域0。

  • 在缺省情况下,R4到达10.0.1.1/32的路由存在两个下一跳。
  • 修改Cost之后,R4到达10.0.1.1的路由仅存在一个下一跳。

ABR

ABR为area border router的缩写 释义:区域边界路由器 用于将一个或多个OSPF区域边界上、将这些区域连接到主干网络的路由器

ASBR

ASBR为Autonomous System Boundary Router的缩写  释义:自治系统边界路由器ASBR位于OSPF自治系统和非OSPF网络之间。ASBRs可以运行OSPF和另一路由选择协议(如RIP),把OSPF上的路由发布到其他路由协议上。发出的LSA5,用于向自治系统区域通告网络拓扑

三大表项

邻居表

OSPF有三张重要的表项,OSPF邻居表LSDBOSPF路由表。对于OSPF的邻居表,需要了解:

  • OSPF在传递链路状态信息之前,需先建立OSPF邻居关系。
  • OSPF的邻居关系通过交互Hello报文建立。
  • OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display ospf peer查看。

LSDB

对于OSPF的LSDB,需要了解: LSDB会保存自己产生的及从邻居收到的LSA信息,本例中R1的LSDB包含了三条LSA。

  • Type标识LSA的类型,AdvRouter标识发送LSA的路由器。
  • 使用命令行display ospf lsdb查看LSDB表。

路由表

对于OSPF的路由表,需要了解:

  • OSPF路由表和路由器路由表是两张不同的表。本例中OSPF路由表有三条路由。
  • OSPF路由表包含Destination、Cost和NextHop等指导转发的信息。
  • 使用命令display ospf routing查看OSPF路由表

路由器路由表通常称为全局路由表,并非所有OSPF路由都可以放到路由器路由表

报文格式和类型

相同头部格式

  • OSPF一共定义了5种类型的报文,不同类型的OSPF报文有相同的头部格式
  • OSPF报文直接采用IP封装,在报文的IP头部中,协议号为89

重要字段解释

  • Version: 对于当前所使用的OSPFv2,该字段的值为2。
  • Router ID: 表示生成此报文的路由器的Router ID。
  • Area ID: 表示此报文需要被通告到的区域。
  • Type: 类型字段。
  • Packet length: 表示整个OSPF报文的长度,单位是字节。
  • Checksum: 校验字段,其校验的范围是整个OSPF报文,包括OSPF报文头部
  • Auth Type: 为0时表示不认证;为1时表示简单的明文密码认证;为2时表示加密0( MD5 ) 认证。
  • Authentication: 认证所需的信息。该字段的内容随AuType的值不同而不同

报文类型

Hello报文

在邻居建立过程中,hello包会有两种形式,一种是端口刚宣告进OSPF协议中时,一种是端口发现对应的端口时。两者只有细微的差别。我们先看第一种hello报文:

image.png

图中区域2为OSPF报文的hello包:

  • network mask:表示发出这个报文接口的网络掩码;
  • hello interval:表示hello时间,中括号内为单位秒,OSPF每隔10秒发送一个hello包,以确认邻居是否健在;
  • options:表示一种标注,里面的(E)表示OSPF的区域类型,为1时表示为普通区域,为0时表示为特殊区域。(可以先这样理解,后面讲到Nssa区域时会有些不同)(N)表示OSPF区域是否为Nssa区域,1表示该区域为Nssa区域,0表示为非Nssa区域;
  • router priority:表示路由的优先级;
  • router dead interval:表示路由老化时间,一般为4倍的hello时间,超过40秒没有收到邻居发送的hello包,则认为邻居消失;
  • designed router:表示DR,0.0.0.0表示为空;
  • backup designed router:表示BDR,0.0.0.0表示为空。

当接口发现邻居时,hello报文会增加一个active router的信息,表示邻居路由ID,同,通过hello报文选举DR,BDR,如下图:

image.png

DD报文

用于选举主从路由器,并发送LSA摘要

OSPF报问头部不再叙述,其DD报文里的要素依次为:

  • Interface MTU:表示发送接口的MTU值,两个接口的这个值要相等,华为默认为0,不考虑MTU值;
  • options:同hello报文内options含义相同;
  • DB Description:用于选举主从路由器,其中:
    • (I) 为1表示该报文用于选择主从路由器,为0表示不用选举;
    • (M) 为1表示数据未发送完,还有后续报文,为0表示没有后续报文
    • (MS)为1表示该路由器为主路由器,为0表示该路由器为从路由器
  • DD Sequence:校验值,用于进行隐式确认。

在选举完主从路由器后,从路由会发送包含LSA摘要的DD报文。如下图:

此时,DB Description中的各参数均为0,同时将本路由的LSA摘要(在最底部)放入DD报文中,用于邻居进行LSA的对比更新。

LSR报文

用于请求LSA的详细信息,意思是告诉对方,我没有的LSA条目如下,你需要给我发过来。

OSPF报头各要素和其他报文一致,LSR报文内各要素分别为:

  • LS Type:表示LSA的类型;
  • Link state ID:表示网络编号。
  • advertising router:表示产生该LSA条目的路由Id

LSU报文

当收到LSR请求报文后,路由器会通过LSU报文将LSA的详细条目进行发送

方框内包含了LSA的详细信息,分别是类型(type)、网络号(ID)、掩码(data)、度量值(metric)。

LSAck报文

当路由将LSDB数据库更新完毕后,会发送LSAck报文进行通告。

从上图的可知LSAck只包含LSA的摘要信息

LSA类型

LSA类型是OSPF中比较重要而且比较复杂,后续会有单独的文章详细介绍LSA类型的,上述是LSA类型的的概要信息。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
OSPF的五种报文
OSPF原理知识点总结
全网最详细的OSPF原理总结,盘它看这篇就够了!
OSPF基础知识入门
HCIE RS面试必问之OSPF邻居状态机详解
图解 OSPF 名词
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服