理论+实验:OSPF路由协议

OSPF路由协议介绍

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

定义

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

工作原理

OSPF的简单说就是两个相邻的路由器通过发报文的形式成为邻居关系,邻居再相互发送链路状态信息形成邻接关系,之后各自根据最短路径算法算出路由,放在OSPF路由表,OSPF路由与其他路由比较后优的加入全局路由表。

三个阶段

邻居发现:通过发送Hello报文形成邻居关系。
路由通告:邻居间发送链路状态信息形成邻接关系。
路由计算:根据最短路径算法算出路由表

四张表

邻居表:主要记录形成邻居关系路由器。
链路状态数据库:记录链路状态信息。
OSPF路由表:通过链路状态数据库得出。
全局路由表:OSPF路由与其他比较得出。

四种路由类型

DR 指定理由器:当多路访问网络发生变化时,DR负责更新其他所有路由器。
BDR备份指定路由器:BDR会监控DR 的状态,并在当前DR发生故障时接替其角色。
ABR区域边界路由器:ABR用来连接骨干区域和非骨干区域,它与骨干区域之间既可以是物理连接,也可以是逻辑上的连接。
ASBR自治系统边界路由器:ASBR路由器是用来把其他路由选择协议学习到的路由通过路由选择重分配的方式注入到OSPF域的路由器。

五种报文

Hello报文:发现邻居建立并维护邻居关系。
DBD(DataBase Description)报文:发送链路状态头部信息(数据库描述报文DBD
LSR报文(Link-State Request):把从DBD中找出需要的链路状态头部信息传给邻居,请求完整信息 (链路请求报文LSR)
LSU(Link-State Update)报文:将LSR请求的头部信息对应的完整信息发给邻居 (链路回应报文LSU)
LSACK(Link-State Acknowledgment):收到LSU报文后确认该报文(链路确认报文LSA)

五大区域

1.骨干区域(Area0)

2.非骨干区域——根据能够学习的路有种类来区分

(1)标准区域

(2)末梢区域(stub)

(3)完全末梢(Totally stubbby)

(4)非纯末梢区域(NSSA)

工作过程

1.了解自身链路
每台路由器了解其自身的链路,即与其直连的网络。
2.寻找邻居
不同于RIP,OSPF协议运行后,并不立即向网络广播路由信息,而是先寻找网络中可与自己交换链路状态信息的周边路由器。可以交互链路状态信息的路由器互为邻居。
3.创建链路状态数据包
路由器一旦建立了邻居关系,就可以创建链路状态数据包。
4.链路状态信息传递
路由器将描述链路状态的LSA泛洪到邻居,最终形成包含网络完整链路状态信息的链路状态数据库。
5.计算路由
路由区域内的每台路由器都可以使用SPF算法来独立计算路由。
在这里插入图片描述

内部网关协议和外部网关协议

1.自治系统(AS)

2.内部网关协议(IGP),例如:RIP、OSPF、ISIS等

3.外部网关协议(EGP),例如:BGP等

OSPF的基本概念

OSPF区域

1.为了适应大型的网络,OSPF在AS内划分多个区域

2.每个OSPF路由器只维护所在区域的完整链路状态信息

区域ID

1.区域ID可以是表示成一个十进制的数字

2.也可以表示成一个IP

骨干区域Area 0

负责区域间路由信息传播

Router ID

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

Router ID选取规则

1.选取路由器loopback接口上数值最高的IP地址(推荐)

2.如果没有loopback接口,在屋里端口中选取IP地址最高的(不推荐)

3.也可以使用router-id命令指定Router ID

DR和BDR的选举方法

自动选举:

网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR

手动选举:

1.优先级范围0-255,数值越大,优先级越高,默认1

2.如果优先级相同,则需要比较Router ID

3.如果路由器优先级被设置为0,它将不参与DR和BDR的选举方式

DR 和BDR的选举过程

路由器的优先级可以影响一个选举过程,但是它不能强制更换已经存在的DR或BDR路由器

#选举DR、BDR是为在广播多路访问中减少连接关系的建立,优化性能
#默认Router-ID最大是DR,第二大是BDR,其他是Drother
#DR一旦被选定就不会被抢占,
#Drother会通过224.0.0.6向DR和BDR通告网络状态信息,DR会通过224.0.0.5向所有邻居通告信息

OSPF协议主要优点

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

实验

在这里插入图片描述

实验步骤:

1、R1、R2、R3上配置物理接口和环回扣的IP地址
2、R1、R2、R3.上启动OSPF
3、OSPF配置循序先R1、R2、R3
现象:
DR是R1的13.0.0.1 BDR是R2的13.0.0.2

R1路配置信息

[R1]int g0/0/0													#进接口
[R1-GigabitEthernet0/0/0]ip add 13.0.0.1 24						#配置接口IP
[R1-GigabitEthernet0/0/0]int loo 0								#进环回逻辑接口
[R1-LoopBack0]ip add 1.1.1.1 32									#配置环回接口IP
[R1-LoopBack0]q													#返回
[R1]ospf 1 router-id 1.1.1.1 									#配置route-id
[R1-ospf-1]area 0.0.0.0										    #进入区域0 骨干区域
[R1-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255				#宣告网段+反掩码
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0					#宣告环回路由+反掩码

R2路配置信息

[R2]int g0/0/0													#进接口
[R2-GigabitEthernet0/0/0]ip add 13.0.0.2 24						#配置接口IP
[R2-GigabitEthernet0/0/0]int loo 0								#进环回逻辑接口
[R2-LoopBack0]ip add 2.2.2.2 32									#配置环回接口IP
[R2-LoopBack0]q													#返回
[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					#宣告环回路由+反掩码

R3路配置信息

[R3]int g0/0/0													#进接口
[R3-GigabitEthernet0/0/0]ip add 13.0.0.3 24						#配置接口IP
[R3-GigabitEthernet0/0/0]int loo 0								#进环回逻辑接口
[R3-LoopBack0]ip add 3.3.3.3 32									#配置环回接口IP
[R3-LoopBack0]q													#返回
[R3]ospf 1 router-id 3.3.3.3 									#配置route-id
[R3-ospf-1]area 0.0.0.0											#进入区域0 骨干区域
[R3-ospf-1-area-0.0.0.0]network 13.0.0.0 0.0.0.255				#宣告网段+反掩码
[R3-ospf-1-area-0.0.0.0]network 3.3.3.3 0.0.0.0					#宣告环回路由+反掩码

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/CN_PanHao/article/details/106491244
今日推荐