动态路由之OSPF(开放式最短路径优先协议)

OSPF——开放式最短路径优先协议——链路状态型协议

传递的是LSA——链路状态信息

OSPF和RIP的区别

1、OSPF因为是链路状态型协议,所以计算出的路径不会出现环路,并且OSPF以带宽作为开销值进行选路,相较于跳数更加合理。所以从选路的角度看,OSPF由于RIP

2、由于OSPF的计时器时间短于RIP的计时器,所以从收敛角度比较,OSPF优于RIP

3、从单个数据包携带的数据量来看,因为OSPF携带的是拓扑信息(LSA),所以数据量较RIP大很多,但是由于RIP存在30s一次的周期更新,并且OSPF本身存在很多减少更新量的措施,所以从整体的角度看,OSPF小优于RIP

OSPF版本

OSPF版本:OSPFV1(在实验阶段夭折)、OSPFV2——IPV4

OSPFV4——IPV6

RIPV2和OSPFV2对比

相同点:

1、OSPFV2和RIPV2都是无类别的路由协议,都支持LSM,CIDR

2、OSPFV2和RIPV2都是以组播的形式发送信息——OSPFV2组播地址:224.0.0.5和224.0.0.6

3、OSPFV2和RIPV2都支持都开销负载均衡

为什么OSPFV2也是无类别的路由协议

因为OSPF区域之间传递的是路由信息

不同点:

1、RIP只能适用于中小型网络

2、OSPF可以应用在大型网络当中

OSPF为了适应中大型网络环境,需要进行结构化部署----区域划分

如果只有一个区域的OSPF网络,我们就将这样的网络称为单区域OSPF网络

如果存在多个区域的OSPF网络,我们就将这样的网络称为多区域OSPF网络

区域划分的主要目的:

区域内部传递拓扑信息、区域之间传递路由信息(类似于距离矢量型算法)

 区域划分的要求:

动态路由之OSPF(开放式最短路径优先协议)_第1张图片

1、区域之间必须存在ABR

2、区域划分必须按照星型拓扑结构划分,星型拓扑中间区叫做骨干区域

 OSPF区域编号

动态路由之OSPF(开放式最短路径优先协议)_第2张图片

区域IP(area IP)由32位二进制构成,用点分十进制进行表达,骨干区域的area IP为0

 

中转设备

区域边界路由器(ABR)——同时属于两个区域,并且一个接口对应一个区域区域之间可以存在多个ABR

OSPF减少更新量的措施

区域划分、发送DBD包

1、OSPF的数据包

hello包——可以用来周期发现、建立和保活邻居关系

周期:OSPF的hello包默认10s为周期进行周期发送,在特定的网络中会以30s周期进行发送

死亡时间(dead time):4倍的hello时间

RID:用来标定和区分OSPF网络中不同的路由器

RID的要求:

1、全网(OSPF网络)唯一

2、格式统一:RID要求必须符合IP地址格式(由32位二进制构成,并且使用点分十进制)

RID的获取方式:

1、手工配置——仅需满足RID的要求即可

2、自动获取——路由器首先从环回地址中选取数值最大的IP地址作为RID,若不存在环回地址则

将从本地的物理接口对应的IP地址中选取数值最大的IP地址作为RID。

DBD包——数据库描述报文---LSDB(数据链路状态数据库(存储LSA信息))

携带数据库的目录,例如菜单

LSR包——链路状态请求报文---基于DBD包请求未知的LSA信息

例如点菜

LSU包——链路状态更新报文---真正携带LSA信息的数据包

例如上菜

LSACK包——链路状态确认报文---确认包

2、OSPF的状态机

动态路由之OSPF(开放式最短路径优先协议)_第3张图片

动态路由之OSPF(开放式最短路径优先协议)_第4张图片

 动态路由之OSPF(开放式最短路径优先协议)_第5张图片

 

Down状态:启动OSPF,发送hello包进入下一个状态

Init(初始化)状态:当你收到一个hello包中包含本地的RIP信息时进入下一个状态

Two-Way(双向通信)状态:标志着邻居关系的建立

(条件匹配):如果条件匹配失败,则停留在邻居关系,仅10s一次,使用hello包进行保活条件匹配成功则进入下一个状态

Exstart(预启动)状态:使用未携带数据的DBD包进行主从关系选举,RID大的为主可以先进入下一个状态

Exchange(准交换)状态:使用携带目录信息的DBD包进行目录信息的共享,需要ACK确认

Loading(加载)状态:查看对端的DBD包与本段LSA信息对比,基于未知的LSA新消息发送LSR包进行请求,对端使用LSU进行回复,需要ACK确认

FULL(转发)状态:标志着邻接关系的建立

 3、OSPF的工作过程

1、启动配置完成后,OSPF向本地所有运行OSPF协议的接口以组播224.0.0.5的形式发送hello包。hello包中需要携带自身本地的RID及自身已知邻居的RID。之后将收集到的邻居关系记录在一张表(邻居表)里面。

2、邻居表建立完成后需要进行条件匹配,失败则停留在邻居关系,仅使用hello包进行周期保活

3、匹配成功则开始建立邻接关系。首先需要使用未携带数据的DBD包进行主从关系选举。之后使用携带数据的DBD

4、包共享数据库目录。之后使用LSR/LSU/LSACK数据包来获取未知网段的LSA信息;完成本地数据库表(链路状态数据库)的建立

5、最后,基于本地的链路状态数据库生成有向图及最短路径树,之后计算本地到达未知网段的路由信息,生成的路由信息加载到路由表中

6、收敛完成后,OSPF需要10s一次使用hello包进行周期保活

结构突变

1、突然增加一个网段——解决:触发更新立即发送携带LSA信息的LSU包,需要ACK确认

2、突然断开一个网段——解决:触发更新立即发送携带LSA信息的LSU包,需要ACK确认

3、无法联系——解决:40s死亡时间

 4、OSPF的基本配置

拓扑图如下:

动态路由之OSPF(开放式最短路径优先协议)_第6张图片

1、启动ospf——ospf 1 router-id 1.1.1.1 //配置RID启动ospf

[r1]ospf 1 router-id 1.1.1.1
[r2]ospf 1 router-id 2.2.2.2
[r3]ospf 1 router-id 3.3.3.3

2、创建区域

创建区域area 0

[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
[r2-ospf-1]area 0
[r3-ospf-1]area 1

3、宣告——不需要按照主类宣告

0.0.0.0——反掩码——由连续的0和1组成,其中0代表不可变位,1代表可变(与子网掩码的规则相反)

[r1-ospf-1-area-0.0.0.0]network 12.0.0.2 0.0.0.0    //限制IP地址为固定
[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255    //限制为一个网段
[r2-ospf-1-area-0.0.0.0]network 12.0.0.2 0.0.0.0
[r2-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255
[r2-ospf-1-area-0.0.0.0]network 23.0.0.0 0.0.0.255
[r3-ospf-1-area-0.0.0.1]network 3.3.3.3 0.0.0.0
[r3-ospf-1-area-0.0.0.1]network 23.0.0.0 0.0.0.255

常用命令

查看OSPF邻居表——display ospf peer

查看邻居关系简——display ospf brief

查看ospf的数据库表——display ospf lsdb

查看ospf数据库表中的某一条LSA信息——display ospf lsdb router 2.2.2.2 brief

查看ospf路由表——display ip routing-table protocol ospf

修改ospf默认带宽——bandwidth-reference——参考带宽一旦修改ospf网络内所有设备均修改成相同的

OSPF在华为体系中默认优先级为10

OSPF是以带宽作为开销值的度量标准。

COST=参考带宽/真实带宽——华为默认参考带宽是100Mbps

 重启ospf进程(在用户视图下执行)——resset ospf 1 process

条件匹配

指定路由器——DR

备份指定路由器——BDR

一个广播域中,在DR和BDR都存在的情况下,至少需要四台路由器才能看到邻居关系。

DR和BDR实际上是接口的概念

条件匹配定义:

在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新;故需要进行DR/BDR选举

所有非DR/BDR的设备之间仅维持邻居关系

DR/BDR选举规则:

1、先比较优先级。优先级最大的为DR,次大的为BDR

优先级初始默认值为1

修改优先级命令(0~255):ospf dr-priority

优先级的取值范围0~255。若优先级设置为0,则表示放弃DR/BDR选举

2、如果优先级相同,则比较RID。RID大的路由器对应接口为DR,次大的为BDR

DR/BDR的选举模式为非抢占模式。选举时间为40s。

重启ospf进程(在用户视图下执行)——resset ospf 1 process

拓展配置 

1、手工认证

两边的keyip必须相同

[r1]int g 0/0/0
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456

2、手动汇总(区域汇总)

原图不具备汇总,汇总出来的黑洞较大

新建环回:新建子网,添加环回,宣告

在ABR上进行汇总

192.168.1.0/24 192.168.2.0/24 192.168.3.0/24 192.168.4.0汇总为192.168.0.0/22,掩码为255.255.252.0

[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.252.0

3、沉默接口

[r1]ospf 1 router-id 1.1.1.1
[r1-ospf-1]silent-interface GigabitEthernet 0/0/2

4、加快收敛---减少计时器时间

注意:修改hello时间,死亡时间会自动按照4倍关系惊醒匹配

注意:邻居之间hello时间(死亡时间)必须相同,否则无法建立邻居关系

[r1]interface GigabitEthernet 0/0/0
[r1-GigabitEthernet0/0/0]ospf timer hello 5
[r2]interface GigabitEthernet 0/0/0
[r2-GigabitEthernet0/0/0]ospf timer hello 5

 

5、缺省路由

[r3]ospf
[r3-ospf-1]default-route-advertise 
[r3-ospf-1]q
[r3]ip route-static 0.0.0.0 0 3.3.3.10

注意:这样下发缺省必须自身具备缺省路由

加always可实现强制下发缺省:

[r3-ospf-1]default-route-advertise always

你可能感兴趣的:(网络,网络,经验分享,网络协议)