网络基础之动态路由协议(OSPF)

网友投稿 472 2022-09-20


网络基础之动态路由协议(OSPF)

@[toc](目录

一、OSPF概述

OSPF路由协议是开放的最短路径优先协议,是链路状态路由协议

1、按照AS(自治系统)分类

2、按协议类型分类

距离矢量路由协议:RIP1/2,BGP(路径矢量协议),EIGRP(高级距离矢量协议)路由器对全网拓扑不完全了解,是“传说的路由”,A发送路由信息给B,B加上自己的度量值又发送给C,路由器里的条目是听来的。 链路状态路由协议:OSPF,ISIS路由器对全网拓扑完全了解,是“传信的路由”,A将信息放在一封信里发送给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给C,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一封信,这一堆信就是LSDB。然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选择最佳路径,放入路由表中。

3、OSPF工作过程

(1)建立邻居表(2)形成链路状态数据库(3)形成路由表

二、OSPF区域

1、OSPF区域

1、为了适应大型的网络,OSPF在AS内划分多个区域(分化管理)2、每个OSPF路由器(只管理自己的区域)只维护所在区域的完整链路状态信息,然后将一个区域的LSA简化和汇总后由边界路由(ABR)转发给另一个区域。区域ID1)区域的ID可以表示为十进制的数字或者是一个IP。2)区域的划分上,一般Area 0是骨干区域,(负责区域间路由信息传播),其他为非骨干区域,非骨干区域无法直接通信,所有通信必须经过骨干区域。

2、路由器(DR和BDR)

1)Router ID:OSPF区域内唯一标识路由器的IP地址

2)Router ID选取规则:选取路由器loopback接口上数值最高的IP地址如果没有loopback接口,在物理端口中选取IP地址最高的上面两个都是自动选取的,下面这个是手动选取的规则:使用router-id命令指定Router lD

3)DR和BDR当多台OSPF路由器连到同一个多路访问网段时,如果每两台路由器之间都相互交换LSA,那么该网段将充满着众多LSA条目,为了能够尽量减少LSA的传播数量,这时候需要一个路由器和所有的路由器互换LSA,减少LSA的数量,那么这个路由器被称为DR;在选DR的时候,也会选出一个作为备份,称为BDR;最后其他路由器(DRothers)只和DR和BDR形成邻接关系。

4)DR和BDR的选举方法1、自动选举DR和BDR网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR2、手工选择DR和BDR

优先级范围是0~255,数值越大,优先级越高,默认为1 如果优先级相同,则需要比较Router lD 如果路由器的优先级被设置为0,它将不参与DR和DBR的选举

现实中,很少能有路由器同时开机,所以先上线的是DR,第二上线的是BDR。注:当DR和BDR存在时,除非他俩down了,不然没法强制更换。

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

6)OSPF的组播地址在OSPF中使用224.0.0.5和224.0.0.6作为组播地址,选举时,大家都是用组播地址224.0.0.5发送Hello包(这个时候路由器都认为自己是DR),当DR和BDR选出来后,DR和BDR使用224.0.0.5发送,其他路由器使用224.0.0.6发送。

3、OSPF的度量值:COST

规则:数值越小越优先最短路径是基于接口指定的代价(COST)计算的计算公式=108/BW常用的端口与COST

接口类型 COST(108/BW)
Gigabit Ethernet 0.1
fast Ethernet 1
Ethernet 10
电话线56K 1785

4、OSPF数据包(5个包)

OSPF数据包承载在lP数据包内,使用协议号89

OSPF的包类型 描述
Hello包 用于发现和维持邻居关系,选举DR和BDR
数据库描述包(DBD) 用于向邻居发送摘要信息以同步链路状态数据库
链路状态请求包(LSR) 在路由器收到包含新信息的DBD后发送,用于请求更详细的信息
链路状态更新包(LSU) 收到LSR后发送链路状态通告(LSA),一个LSU数据包可能包含几个LSA
链路状态确认包(LSAck) 确认已经收到DBD/ LSU,每个LSA需要被分别确认

5、OSPF的7个状态

状态 作用
down状态 初始化,没有来自邻居的Hello包
init状态 收到第一个Hello包,但没发出去,建立了自己的邻居表
2 Way 状态 双向建立会话,邻居表都建立完成
Exstart状态 建立主从关系
Exchange状态 交换摘要信息,到确认信息收到
Loading状态 加载详细信息
full状态 完全连接,计算最短路径,并载入路由表

6、OSPF的4个网络类型

网络类型 说明
点到点网络(Point-to-Point) 自动发现邻居,不需DR/BDR、组播224.0.0.5
广播多路访问网络(Broadcast MultiAccess,BMA) 自动发现邻居、选DR/BDR、组播224.0.0.5、224.0.0.6
非广播多路访问网络(None Broadcast MultiAccess,NBMA) 手工指定邻居、选DR/BDR、单播(AMT使用)
点到多点网络(Point-to-Multipoint) (星型结构) 自动发现邻居,不需DR/BDR、组播224.0.0.5

7、OSPF的特点

可适应大规模网络路由变化收敛速度快无路由环支持变长子网掩码VLSM支持区域划分支持以组播地址发送协议报

8、OSPF与RIP的比较

OSPF RIP V1 RIP V2
链路状态路由协议 距离矢量路由协议 同V1
没有跳数的限制 RIP的15跳限制,超过15跳的路由被认为不可达 同V1
支持可变长子网掩码(VLSM) 不支持可变长子网掩码(VLSM) 支持可变长子网掩码(VLSM)
收敛速度快 收敛速度慢 同V1
使用组播发送链路状态更新 周期性广播更新整个路由表 周期性组播更新整个路由表

9、配置命令

[R1]ospf 1 router-id 1.1.1.1创建ospf进程,配置Router ID[R1-ospf-1]area 0创建区域0,区域0为骨干区域[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0宣告直连路由,使用反掩码[R1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255

查看命令display ospf 1 peer brief ---------查看OSPF邻居表的简要信息display ospf 1 peer ---------------查看OSPF邻居表的详细信息display ospf 1 brief -----------------查看本地设备上的OSPF 1 的相关信息display ip routing-table -----------查看路由表中的OSPF路由(确定路由器的类型和属性)display ospf routingdisplay ospf interface GigabitEthernet 0/0/0

三、OSPF多区域

通常现实中的网络拓扑是非常大型和复杂的,而SPF算法的反复计算,庞大的路由表和拓扑表的维护等都会占用大量的路由器资源,这会降低路由器的运行效率。而OSPF协议可以通过划分区域来减小这些不利的影响,也就是说OSPF协议划分多个区域后,每一个区域的路由器只需要了解所在区域的网络路由拓扑,并不需要了解整个网络的路由拓扑,这样就减小了路由表,降低了SPF算法的计算量和LAS的开销。

1、OSPF多区域的生成原因

1)改善网络的可扩展性2)快速收敛

2、OSPF的通信量

1)域内通信量:就是同一个OSPF区域内的路由器交换数据包的通信量2)域间通信量:是一个OSPF区域的路由器和另一个OSPF区域的路由器交换数据包时的通信量3)外部通信量:OSPF区域内的路由器和OSPF区域外或另一个自治区域的路由器交换数据包的通信量

3、OSPF中的路由器的类型

1)内部路由器:路由器只保存本区域的链路状态信息2)区域边界路由器(ABR):连接区域与其他区域的路由器;将连接区域的链路状态信息总汇后发给区域0,并将其他区域的的链路状态信息发给连接的区域3)自治系统边界路由器(ASBR):用来连接OSPF区域和外部的路由器;并将外部路由注入到OSPF网络中

4、OSPF区域的类型

1)骨干区域:area 0,OSPF区域的核心,其他区域都要连接到该区域2)非骨干区域–根据能够学习的路由种类来区分非骨干区域分为标准区域,末梢区域(stub),完全末梢(Totally stubby)区域,非纯末梢区域(NSSA)。接下来我们介绍一下末梢区域和完全末梢区域。满足一下条件的可以被认定为末梢区域和完全末梢区域

只有一个默认路由作为其区域的出口 区域不能作为虚链路的穿越区域 Stub区域里无自治系统边界路由器ASBR 不能使骨干区域Area 0

末梢区域减少了LSA的数量,减少了路由器资源的浪费,不允许有LSA4、LSA5、LSA7通告,ABR会向末梢区域发送一条默认路由。完全末梢区域只接受一条由LSA3提供的默认路由,没有LSA3、LSA4、LSA5、LSA7通告。这样大大减少了路由器中的路由条目,因此,这些路由器的性能将得到大大的提升,并且内存也得到了节省。

5、OSPF链路状态通告类型

1)链路状态数据库的组成

每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库 链路状态数据库中每个条目称为LSA(链路状态通告),常见的有六种LSA类型

2)通告类型
LSA类型 描述 用途
Type 1 路由器LSA 由区域内的路由器发出的,描述了路由器的的链路状态和花费,传递到整个区域内
Type 2 网络LSA 由区域内的DR发出的,描述了区域内变更信息,传递到整个区域内
Type 3 网络汇总LSA ABR发出的,其他区域的汇总链路通告,描述了其他区域内某一网段的路由,区域间传递
Type 4 ASBR汇总LSA ABR发出的,用于通告ASBR信息,确定ASBR的位置,不会出现在ASBR所属区域之内
Type 5 AS外部LSA ASBR发出的,用于通告外部路由,告诉相同AS的路由器通往外部AS的路径,在整个AS中进行泛洪
Type 7 NSSA外部LSA NSSA区域内的ASBR发出的,用于通告本区域连接的外部路由,与Type 5类似,仅在非纯末梢区域内进行泛洪,传递时会被ABR转换为LSA5

类型1,路由器LSA:

所有路由器都会生成这一类型的链路状态通告 指明了它们的状态和沿每条链路方向出站的代价,以及该链路上所有已知的 OSPF 邻居 只在本区域内泛洪 链路状态ID是源路由器ID

类型2,网络LSA:

由DR生成 指明了所有与之相连的路由器 只在本区域内泛洪 链路状态ID是DR的ip接口地址

类型3,汇总LSA:

由ABR生成 将从一个区域学到的信息发送给其他区域 在除了绝对末节区域和完全NSSA区域外的所有区域泛洪 链路状态ID是目的网络地址

类型4,ASBR汇总LSA

由同区域,离ASBR最近的ABR生成 指明如何到达ASBR 在除了绝对末节区域和完全NSSA区域外的所有区域泛洪 链路状态ID是所描述的ASBR的路由器ID

类型5,自治系统LSA

由ASBR生成 指明到达自治系统外部网络的路由 在除了绝对末节区域和完全NSSA区域外的所有区域泛洪 链路状态ID是外部网络地址

类型7,NSSA区域中对外部路由使用

由ASBR生成 指明到达区域外部网络的路由 在NASS区域内泛洪

四、路由的重分发

在大型的企业中,可能在同一网内使用到多种路由协议,为了实现多种路由协议的协同工作,路由器就需要使用路由重分发,将其学习到的一种路由协议通过另一种路由协议广播出去。

1、路由重分发的考虑

度量值(每种协议的度量值不一样) 管理距离(优先级)

2、重分发到OSPF域中路由路径类型

类型1(type1或者E1),考虑的是源地点到目的地点的代价。例如上图中AR1到AR4,可以经过AR2或AR3;AR1—AR2—AR4的代价为25(5+20),AR1—AR3—AR4代价为48(30+18),所以选择从AR2走。 类型2(type2或E2),只考虑外部路由的代价,思科和华为默认。例如上图,AR1—AR2—AR4代价为20,AR1—AR3—AR4代价为18,优先从AR3走。

3、配置命令

[R1]rip 1[R1-rip-1]import-route ospf 1 cost 3把ospf协议注入到rip进行路由重分发,路径类型缺省为路径类型2(外部开销),成本开销为3(对于rip的度量值是跳数),rip中重分发ospf要指定cost的值,最大为15跳[R1-rip-1]ospf 1[R1-ospf-1]import-route rip 1 type 1 cost 1把外部rip协议注入到OSPF进行路由重分发,使用路径类型1(内部开销+外部开销),成本开销为1(COST=100M/BW)

default-route-advertise always ------ OSPF重分发默认路由import-route direct ---------------------OSPF重分发直连路由import-route static ----------------------OSPF重分发静态路由

五、NSSA区域

1、概念

NSSA区域是OSPF RFC的补遗,LSA类型7仅在此区域泛红,有类似于末梢区域和完全末梢区域的优点,也可以包含ASBR。

2、NSSA区域重分发路由类型

N1、N2:在通过NSSA区域ABR后转换成E1、E2

3、区域内对应的LSA类型

区域类型 1&2 3 4&5 7
骨干区域(区域0) 允许 允许 允许 不允许
非骨干区域、非末梢区域 允许 允许 允许 不允许
末梢区域 允许 允许 不允许 不允许
完全末梢区域 允许 不允许(有一条默认路由) 不允许 不允许
NSSA 允许 允许 不允许 允许

4、OSPF路径和地址汇总

(1)路径类型优先级:1表示最高的优先级,4表示最低的优先级路由表添加路由条目时,如果目的网段相同,会选择优先级高的路由条目添加到路由表中

区域内路径:优先级1 区域外路径:优先级2 类型1的外部路径:优先级3 类型2的外部路径:优先级4

(2)地址汇总优点:通过以下作用来节省资源

六、虚链路

1、概念

虚链路是一条通过一个非骨干区域链接到骨干区域的链路,这是一种应急措施,用于本来这个区域连接区域0的ABR损坏。

2、规则与特点

虚链路必须配置在两台ABR路由器之间 传送区域不能是一个末梢网络 虚链路的稳定性取决于其经过的区域的稳定性 虚链路有助于提供逻辑冗余 3、配置命令

[R1]ospf 1[R1-ospf-1]area 1[R1-ospf-1-area-0.0.0.1]vlink-peer 1.1.1.1互相指定被穿越区域两端的ABR的路由ID[R2]ospf 1[R2-ospf-1]area 1[R2-ospf-1-area-0.0.0.1]vlink-peer 2.2.2.2

[R2]dis ospf vlink查看本地上通过虚链路建立的OSPF邻居关系

七、配置

1、实验一

[R1]ospf 1 router-id 1.1.1.1创建ospf进程,配置Router ID[R1-ospf-1]area 0创建区域0,区域0为骨干[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0宣告直连路由,使用反掩码[R1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255[R1-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.0.3[R1-ospf-1-area-0.0.0.0]q

R2和R3配置相同,更换自身网段即可。在R3上查看OSPF动态学习的路由

2、实验二

使用OSPF多区域、RIP和OSPF的重分发

先配置各个路由器的接口IPR1ASBR负责连接OSPF区域和区域外的路由,所以要配置OSPF和其他协议,这里是RIP V2[R1]ospf 1 router-id 1.1.1.1[R1-ospf-1]area 1R1属于区域1[R1-ospf-1-area-0.0.0.1]network 10.0.0.0 0.0.0.255[R1-ospf-1-area-0.0.0.1]network 1.1.1.1 0.0.0.0[R1-ospf-1-area-0.0.0.1]q

[R1-ospf-1]rip 1[R1-rip-1]version 2[R1-rip-1]un summary[R1-rip-1]network 50.0.0.0[R1-rip-1]q

光设置各个的协议也不行,需要将各个协议的信息互通一下,所以就要设置路由的重分发[R1]rip 1[R1-rip-1]import-route ospf 1 cost 3把ospf协议注入到rip进行路由重分发,路径类型缺省为路径类型2(外部开销),成本开销为3(对于rip的度量值是跳数),rip中重分发ospf要指定cost的值[R1-rip-1]ospf 1[R1-ospf-1]import-route rip 1 type 1 cost 1把外部rip协议注入到OSPF进行路由重分发,使用路径类型1(内部开销+外部开销),成本开销为1(COST=100M/BW)

R2ABR属于两个区域,所以要配置两个区域,在各自的区域宣告各自的网段[R2]ospf 1 router-id 2.2.2.2[R2-ospf-1]area 1[R2-ospf-1-area-0.0.0.1]network 10.0.0.0 0.0.0.255[R2-ospf-1-area-0.0.0.1]q[R2-ospf-1]area 0[R2-ospf-1-area-0.0.0.0]network 20.0.0.0 0.0.0.255[R2-ospf-1-area-0.0.0.0]network 2.2.2.2 0.0.0.0[R2-ospf-1-area-0.0.0.0]q

其他路由器配置各自的协议,和在各自的区域宣告网段后,每个路由器上都学习到了其他的路由器上的路由表。R4上的路由表

R6的路由表

补充

这里可以看出路由表中路由减少了除OSPF区域和直连路由之外的路由。

完全末梢网络这个和上面的末梢网络差不多,就是在ABR上将Stub 改成stub no-summary

在最后一个路由器上地址被聚合成一条默认路由

补充二每个路由协议对应的优先级

路由协议或路由种类 优先级
Direct 0
OSPF 10
IS-IS 15
Static 60
RIP 100
OSPF ASE 150
BGP 255

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:动态路由及矢量路由选择协议RIP(距离矢量路由选择协议)
下一篇:详解Spring中Lookup注解的使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~