常见的动态路由OSPF

1 OSPF路由协议概述

1.自治系统(AS)

AS是指由同一个技术管理机构管理,使用统一选路策略的一些路由器集合。

2、分类

在这里插入图片描述

1、按协议类型分类:

距离矢量路由协议
路由器对全网拓扑不安全了解,是“传说的路由”,例如:A发路由信息给B,B加上自己的度量值又发给C,路由表里的信息都是“听”来的。
主要包含:RIP、IGRP、EIGRP等
链路状态路由协议
路由器对拓扑完全了解,,是“传信的路由”,例如:A将消息放入信里发给B,B不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起发给C,这样,信息五任何改变和丢失,最后所有的路由都收到相同的一堆信,这一堆信就是LSDB(链路状态数据库)。然后每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入路由表中。
主要包含:OSPF、IS-IS等
2、按自制系统分类:

局域网内IGP(内部网关路由协 议):
内部网关路由协议是运行在AS内部的路由协议,主要解决AS内部的选录问题,发现、计算路由。
包含:RIP、OSPF、IS-IS等。

互联网EGP(外部网关路由协议):
外部网关理由协议是运行在AS与AS之间的路由协议,解决AS之间的选路问题。
包含:BGP。

OSPF

链路状态路由协议:OSPF
路由器对全网拓扑完全了解。是传信的路由,a将信息放在一封信里发给B,B对其不做任何改变,拷贝下来,并将自己的信息放在另一封信里,两封信一起给c,这样,信息没有任何改变和丢失,最后所有路由器都收到相同的一堆信,这一堆信就是SLDB。然后,每个路由器运用相同的SPF算法,以自己为根,计算出SPF Tree(即到达目的地的各个方案),选出最佳路径,放入路由表中。

##OSPF的工作过程
1.邻居列表
2.链路状态数据库
3.路由表
在这里插入图片描述
在这里插入图片描述
OSPF接口发送Hello包,建立邻居关系,之后学习链路状态信息(互相发送LSA链路状态通告相互通告路由),形成链路状态数据库。再通过Dijkstra算法(SPF算法),计算最短路径树(cost最小)后放入路由表

2 OSPF区域

●为了适应大型的网络,OSPF在AS内划分多个区域。
●每个OSPF路由器只维护所在区域的完整链路状态信息。

区域ID
1)区域的ID可以表示为十进制的数字或者是一个IP。
2)区域的划分上,一般Area 0是骨干区域,其他为非骨干区域,非骨干区域无法直接通信,所有通信必须经过骨干区域。

Router ID

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

Router ID选取规则
●选取路由器loopback接口上数值最高的IP地址。

●如果没有loopback接口,在物理端口中选取IP地址最高的。

●也可以使用router-id命令指定router id,是优先级最高的。

OSPF的度量值:COST

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

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

DR.BDR和DRother

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

DR和BDR的选举方法
自动选举DR和BDR
网段上Router ID最大的路由器将被选举为DR,第二大的将被选举为BDR
手工选择DR和BDR
优先级范围是0~255,数值越大,优先级越高,默认为1
如果优先级相同,则需要比较Router lD
如果路由器的优先级被设置为0,它将不参与DR和DBR的选举
现实中,很少能有路由器同时开机,所以先上线的是DR,第二上线的是BDR。
注:当DR和BDR存在时,除非他俩down了,不然没法强制更换。
DRother:其他路由

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

OSPF的组播地址
224.0.0.5——刚开机,互相发送hello包,状态信息交互,选举DR和BDR
224.0.0.6——其他路由器通过224.0.0.6发送自己的信息给DR和BDR

DR和BDR再通过224.0.0.5将收到的信息转发给其他的路由器
可理解为:DR.BDR监听224.0.0.6
DRothers监听224.0.0.5

OSPF数据包(一个协议)
承载在IP数据包内,使用协议号89

OSPF的包类型(五个包)

1.hello包——————————用于发现和维持邻居关系,选举DR和BDR
2.数据库描述包(DBD)————用于向邻居发送摘要信息以同步链路状态数据库
3.链路状态请求包(LSR)————在路由器收到包含新的DBD后发送,请求更详细的信息
4.链路状态更新包(LSU)————收到LSR后发送链路状态通告(LSA),LSA的集合体LSU
5.链路状态确认包(LSACK)———确认已经收到DBD/LSU,每个LSA需要被分别确认

OSPF邻接关系的建立(七个状态)

1.Down状态–——初始状态
2.Init状态————收到第一个hello包
3.2-way状态–——双向建立会话
4.ExStart状态——建立主从关系
5.Exchange状态–交换摘要信息
6.Loading状态——加载详细信息
7.Full状态————完全连接

OSPF网络类型(四个类型)

点到点网络
——自动发现邻居,不需DR/BDR,组播224.0.0.255

广播多路访问网络
——自动发现邻居、选DR/BDR、组播224.0.0.5、224.0.0.6

非广播多路访问网络
——手工指定邻居、选DR/BDR、单播

点到多点网络
——自动发现邻居,不需DR/BDR、组播224.0.0.5

OSPF与RIP的比较

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

配置命令

[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 routing
display ospf interface GigabitEthernet 0/0/0

3 OSPF多区域

1.在大型企业网络中,使用OSPF路由协议经常遇到以下问题

在大型企业网络中,网络结构的变化是时常发生的,因此OSPF路由器就会经常运行SPF算法来重新计算路由信息,大量消耗路由器的CPU和内存资源。
在OSPF网络中,随着多条路径的增加,路由表变得越来越庞大,每一次路径的改变都使路由器不得不花大量的时间和资源去重新计算路由表,路由器变得越来越低效。
包含完整网络结构信息的链路状态数据库也会越来越大,这将有可能使路由器的CPU和内存资源彻底耗尽,从而导致路由器的崩溃。
为了解决这个问题,OSPF允许把大型区域划分成多个更易管理的小型区域。这些小型区域可以交换路由汇总信息,而不是每一个路由的细节。通过划分成多个小型区域,OSPF的工作可以更加流畅。

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 链路状态数据库的组成

每个路由器都创建了由每个接口、对应的相邻节点和接口速度组成的数据库

链路状态数据库中每个条目称为LSA(链路状态通告),常见的有六种LSA类型

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

6 末梢区域和完全末梢区域

满足以下条件的区域
●只有一个默认路由作为其区域的出口
●区域不能作为虚链路的穿越区域
●Stub区域里无自治系统边界路由器ASBR
●不能使骨干区域Area 0
末梢区域
没有LSA4、5、7通告

完全末梢区域
除一条LSA3的默认路由通告外,没有LSA3、4、5、7通告

这样大大减少了路由器中的路由条目,因此,这些路由器的性能将得到大大的提升,并且内存也得到了节省。

其主要目的是减少区域内的LSA条目以及路由条目,减少对设备CPU和内存的占用;末梢区域和完全末梢区域中ABR会自动生成一条默认路由发布到末梢区域或完全末梢区域中。

7 末梢区域配置命令

ABR配置
【R4】ospf 1
【R4-ospf-1】area 2
【R4-ospf-a-area-0.0.0.2】network x.x.x.x x.x.x.x
先宣告直连网段,再配
【R4-ospf-a-area-0.0.0.2】stub

区域内部路由配置
【R5】ospf 1
【R5-ospf-1】area 2
【R5-ospf-a-area-0.0.0.2】network x.x.x.x x.x.x.x
先宣告直连网段,再配
【R5-ospf-a-area-0.0.0.2】stub

8 完全末梢区域配置命令

ABR配置
【R4】ospf 1
【R4-ospf-1】area 2
【R4-ospf-a-area-0.0.0.2】network x.x.x.x x.x.x.x
先宣告直连网段,再配
【R4-ospf-a-area-0.0.0.2】stub no-summary

区域内路由配置
【R5】ospf 1
【R5-ospf-1】area 2
【R5-ospf-a-area-0.0.0.2】network x.x.x.x x.x.x.x 先宣告直连网段,再配
【R5-ospf-a-area-0.0.0.2】stub no-summary

猜你喜欢

转载自blog.csdn.net/zhangyuebk/article/details/112505825