动态路由OSPF协议详解以及单域配置报文解析(非常详细!!)

前言

OSPF(Open Shortest Path First开放式最短路径优先)是一个内部网关协议(Interior Gateway Protocol,简称IGP),用于在单一自治系统(autonomous system,AS)内决策路由。是对链路状态路由协议的一种实现,隶属内部网关协议(IGP),故运作于自治系统内部。著名的迪克斯加算法被用来计算最短路径树。OSPF支持负载均衡和基于服务类型的选路,也支持多种路由形式,如特定主机路由和子网路由等

一、OSPF的基本概念

1.1定义

OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。
作为一种链路状态的路由协议,OSPF将链路状态组播数据LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器。
在信息交换的安全性上,OSPF规定了路由器之间的任何信息交换在必要时都可以经过认证或鉴别(Authentication),以保证只有可信的路由器之间才能传播选路信息。OSPF支持多种鉴别机制,并且允许各个区域间采用不同的鉴别机制。OSPF对链路状态算法在广播式网络(如以太网)中的应用进行了优化,以尽可能地利用硬件广播能力来传递链路状态报文。通常链路状态算法的拓扑图中一个结点代表一个路由器。若K个路由器都连接到以太网上,在广播链路状态时,关于这K个路由器的报文将达到K的平方个。为此,OSPF在拓扑结构图允许一个结点代表一个广播网络。每个广播网络上所有路由器发送链路状态报文,报告该网络中的路由器的链路状态。

1.2协议概述

1.2.1自治系统(AS)

多个路由跑相同路由进程协议的区域 成为AS区域系统。
在这里插入图片描述

1.2.2内部网关协议(IGP)

在区域内部跑的进程协议,如:RIP,OSPF,ISIS等
在这里插入图片描述

1.2.3外部网关协议(EGP)

在区域外跑的进程协议
在这里插入图片描述

1.3OSPF区域

为了适应大型的网络,OSPF在AS内划分多个区域
每个OSPF路由器只维护所在区域的完整链路状态信息
在这里插入图片描述
区域ID
●区域ID可以表示成一个十进制的数字
●也可以表示成一个IP
骨干区域Area 0
●负责区域间路由信息传播
非骨干区域

1.4Router ID

OSPF区域内唯一标识路由器的IP地址

Router ID选取规则
●选取路由器loopback接口上数值最高的IP地址
●如果没有loopback接口,在物理端口中选取IP地址最高的
●也可以使用router-id命令指定Router ID

1.5DR与BDR

DR ,BDR 和其他路由
● DR: 区域当中的主路由,有且仅有一个
●2BDR:区域当中的备份路由,有且仅有一个
● 除了DR 和 BDR 都是其他路由

其他路由器只和 DR 和 BDR 形成邻接关系。主路由负责通告信息,备份路由负责准备顶替 DR
其他路由器发送信息只能到达DR 和BDR(一个组播) ,DR再发送通告信息(第二个组播)。其中存在两个组播信息。
DR 和 BDR 负责监控其他路由发来的信息

1.5.1指定路由器(DR)

在这里插入图片描述

1.5.2其它路由器(DRother)

DRother只和DR及BDR发生关系
在这里插入图片描述

1.5.3DR与BDR的选举方法

自动选举DR和BDR
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
●优先级范围是0~ 255,数值越大,优先级越高,默认为1
●如果优先级相同,则需要比较Router ID
●如果路由器的优先级被设置为0,它将不参与DR和DBR
的选举

1.5.4DR与BDR的选举过程

路由器的优先级可以影响一个选举过程,但是他不能强制更换已经存在的DR或BDR路由器。
即,我们第一个启动的OSPF路由器就会变成DR。第二个启动的OSPF的路由器会变成BDR。而第三个和以后开启的路由器即使路径再短,也无法更改现有的DR和BDR。

1.6OSPF的组播地址

Drother会通过224.0.0.6向DR和BDR通告网络状态信息,DR会通过
224.0.0.5向所有邻居通告信息

1.7OSPF的数据包类型

OSPF数据包
承载在IP数据包内,使用协议号89
OSPF的包类型
在这里插入图片描述

二、OSPF的工作原理

2.1、工作原理简述

OSPF的简单说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。整个过程使用了五种报文、三个阶段、四张表。
五种报文
Hello报文:建立并维护邻居关系。
DBD报文:发送链路状态头部信息。
LSR报文:把从DBD中找出需要的链路状态头部信息传给邻居,请求完整信息。
LSU报文:将LSR请求的头部信息对应的完整信息发给邻居。
LSACK:收到LSU报文后确认该报文。
三个阶段
邻居发现:通过发送Hello报文形成邻居关系。
路由通告:邻居间发送链路状态信息形成邻接关系。
路由计算:根据最短路径算法算出路由表。
四张表
邻居表:主要记录形成邻居关系路由器。
链路状态数据库:记录链路状态信息。
OSPF路由表:通过链路状态数据库得出。
全局路由表:OSPF路由与其他比较得出。

2.2、OSPF的工作过程

2.2.1了解自身链路

每台路由器了解其自身的链路,即与其直连的网络。

2.2.2寻找邻居

不同于RIP,OSPF协议运行后,并不立即向网络广播路由信息,而是先寻找网络中可与自己交换链路状态信息的周边路由器。可以交互链路状态信息的路由器互为邻居。

2.2.3创建链路状态数据包

路由器一旦建立了邻居关系,就可以创建链路状态数据包。

2.2.4链路状态信息传递

路由器将描述链路状态的LSA泛洪到邻居,最终形成包含网络完整链路状态信息的链路状态数据库。

2.2.5计算路由

路由区域内的每台路由器都可以使用SPF算法来独立计算路由。

三、OSPF协议主要优点

(1)OSPF 适合在大范围的网络:OSPF 协议当中对于路由的跳数,它是没有限制的,所以 OSPF 协议能用在许多场合,同时也支持更加广泛的网络规模。只要是在组播的网络中,OSPF协议能够支持数十台路由器一起运作。
(2)组播触发式更新:OSPF 协议在收敛完成后,会以触发方式发送拓扑变化的信息给其他路由器,这样就可以减少网络宽带的利用率;同时,可以减小干扰,特别是在使用组播网络结构,对外发出信息时,它对其他设备不构成其他影响
(3)收敛速度快:如果网络结构出现改变,OSPF 协议的系统会以最快的速度发出新的报文,从而使新的拓扑情况很快扩散到整个网络;而且,OSPF 采用周期较短的 HELLO 报文来维护邻居状态。
(4)以开销作为度量值:OSPF 协议在设计时,就考虑到了链路带宽对路由度量值的影响。OSPF 协议是以开销值作为标准,而链路开销和链路带宽,正好形成了反比的关系,带宽越是高,开销就会越小,这样一来,OSPF 选路主要基于带宽因素。
(5)OSPF 协议的设计是为了避免路由环路:在使用最短路径的算法下,收到路由中的链路状态,然后生成路径,这样不会产生环路。(6)应用广泛:广泛的应用在互联网上,其他会有大量的应用实例。证明这是使用最广泛的IGP 之一。

四、OSPF单域配置报文解析

4.1拓扑图

在这里插入图片描述
1、R1、R2、R3上配置物理接口和环回口的IP地址
2、R1、R2、R3上启动0SPF
3、OSPF配置循序先R3、R2、R1

4.2报文分析

在最后一步前进行抓包,可以看到OSPF中Hello报文,这时候DR、BDR还未选举
在这里插入图片描述
等待40S后可以看到DBD、LSR、LSU、LSA报文
在这里插入图片描述
Router-id选举完成后,再次抓取Hello报文,这时候可以发现DR为13.0.0.3(R3),BDR为13.0.0.2(R2)
在这里插入图片描述
这时候断开R3(DR),发现R3已经不再进行组播
在这里插入图片描述
R2与R1在尝试联系R3
在这里插入图片描述
在联系不通后,原BDR(R2)成为DR,原Drother(R1)成为BDR
在这里插入图片描述
我们重新恢复R3,重新建立链路链接
在这里插入图片描述
这时的DR(R2),BDR(R1)均未发生变化
在这里插入图片描述
断开R1,R2与R3尝试联系R1
在这里插入图片描述
联系不通后,选取R3为BDR
在这里插入图片描述

4.3总结

通过此次实验可以清楚地看到OSPF在选取DR,BDR的一个过程,在DR断开后,BDR会成为DR,在Drother中选举一台成为BDR,在原DR路由器重新连接后会成为Drother,不会与现在的DR、BDR路由器产生冲突。
配置OSPF命令

[R2]ospf 1 router-id 2.2.2.2                              #配置route-id
[R2-ospf-1]area 0.0.0.0                                   #进入区域0 骨干区域
[R2-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255        #宣告网段、反掩码
[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0           #宣告网段、反掩码
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值