动态路由协议-OSPF详解及配置(OSPF协议与RIP协议对比,区域划分,数据包类型,OSPF的状态机,工作过程,基础配置,扩展配置,条件匹配)

目录

OSPF-开放式最短路径优先协议

1. OSPF协议与RIP协议对比

2. OSPF区域划分

3. OSPF的数据包类型

4. OSPF的状态机

5. OSPF的工作过程

6. OSPF的基础配置

7. 条件匹配

8. OSPF的扩展配置


判断一个动态路由配置协议好不好的标准:1. 选路佳;2.收敛快;3. 占用资源少

OSPF-开放式最短路径优先协议

1. OSPF协议与RIP协议对比

1. 因为OSPF是链路状态型协议,算出来的路径不会出现环路,并且,OSPF是以带宽作为开销值的评判标准的。所以,相较于RIP选出来的路径更加合理;

2. 因为OSPF的计时器时间短于RIP,所以,从收敛速度的角度看,OSPF优于RIP;

3. RIP传递的数据是路由信息,而OSPF传递的数据是拓扑信息。从单个数据包的角度来看,OSPF的资源占用量是大于RIP的。但是,由于RIP存在30S一次的周期更新,而OSPF并没有这样高频的周期更新,并且,OSPF本身就设计了很多减少资源占用的措施。所以从整体的角度来看,OSPF在资源占用上小优于RIP。

RIP --- RIPV1,RIPV2 --- IPV4;RIPNG --- IPV6

OSPF --- OSPFV1(实验室阶段夭折),OSPFV2 --- IPV4;OSPFV3 --- IPV6

RIPV2和OSPFV2

相同点:

  1. OSPFV2和RIPV2一样,都是无类别(区域之间传递的是路由信息,区域内部是链路信息)的路由协议,都支持VLSM和CIDR;
  2. OSPFV2和RIPV2 (224.0.0.9)都是以组播的形式发送信息--- 224.0.0.5和224.0.0.6;--- 本地链路组播地址,TTL值为1。
  3. OSPFV2和RIPV2都支持等开销负载均衡。

不同点:

RIPV2只能应用于小型网络中,OSPFV2可以应用在中大型网络当中

2. OSPF区域划分

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

进行区域划分的目的是区域内部传递拓扑信息,区域之间传递路由信息。

区域边界路由器:ABR,同时属于多个区域,并且一个接口对应一个区域。

区域之间可以存在多个ABR设备,并且一个ABR设备也可以属于多个区域

区域划分的要求:

  1. 区域之间必须存在ARP设备;
  2. 区域划分必须遵循星型拓扑来进行划分。星型拓扑中间的区域我们称为骨干区域。

       为了方便对区域进行管理,我们给每一个区域设置一个区域ID --- area ID --- 由32位二进制构成(表示方法存在两种:① 采用点分十进制的形式表示;② 直接采用10进制的形式表示)骨干区域的区域ID定义为0。

       如果网络的规模不大,则可以不进行区域划分,则这样的网络称为单区域OSPF网络。(在华为设备中要求单区域OSPF网络的区域ID必须设置为0)。如果网络规模较大,需要进行划分,则称为多区域OSPF网络。

3. OSPF的数据包类型

① hello包 ---- 用来周期发现,建立和保证邻居关系;

       hello时间:hello包默认以10s为周期进行周期保活的,不是所有类型的网络都是10s,以太网网络中是10s。

       dead time:OSPF中进行失效判断的时间为4倍的hello时间。

       因为OSPF需要收集网络拓扑信息,所以就需要区分和标定不同的路由器。我们给每台路由器设计了一个RID。1. 全网唯一;2. 格式统一:必须按照IP地址的格式来进行配置;RID可以手工配置,手工配置仅需满足以上两个要求即可。

Router-ID自动生成:

        1. 如果存在环回接口,则在环回接口中取IP地址最大的为RID;

        2. 如果不存在环回接口,则需要在所有的物理接口中选择IP地址最大的作为RID。

hello包中会携带RID。

② DBD包 ---- 数据库(存放的LSA链路状态通告即拓扑结构)描述报文,携带的是路径信息的摘要,相当于是菜单;

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

④ LSU包 ---- 链路状态更新报文,真正携带LSA链路状态通告信息的数据包;

⑤ LSAck包 ---- 链路状态确认报文,确认包;

OSPF协议存在30min一次的周期更新。

4. OSPF的状态机

Two-Way:标志着邻居关系的建立。通过Hello包建立。

条件匹配)条件匹配成功,则进入下一个状态,如果条件匹配失败,则仅保持邻居关系即可。周期性的发送hello包进行保活即可。

LSDB --- 链路状态数据库

主从关系选举:通过未携带数据的DBD包进行比较。比较Router-ID,RID大的为主(DR设备),为主则可以优先进入下一个状态,RID小的为从(BDR设备)。

使用未携带数据的DBD包进行主从关系选举主要目的是为了和之前的邻居状态区分。

DBD包的确认使用的不是ACK包来进行显性确认,而是通过数据包中的序号参数来进行的隐性确认。

FULL状态  --- 标志着邻接关系的建立。邻接设置的目的是为了和之前的邻居状态做区分。

7种状态总结:

  1. Down状态:启动OSPF,发送hello包之后进行下一个状态;
  2. Init状态(初始化状态):收到Hello包中有自己本地的RID,则进入下一个状态
  3. Two-Way:标志着邻居关系的建立。通过Hello包建立。(条件匹配)条件匹配成功,则进入下一个状态,如果条件匹配失败,则仅保持邻居关系即可。周期性的发送hello包进行保活即可。
  4. exstart(预启动)状态:使用未携带数据的DBD包进行主从关系选举。比较Router-ID,RID大的为主,为主则可以优先进入下一个状态。
  5. exchange(准交换)状态:使用携带目录信息的DBD包来共享数据库目录。
  6. loading(加载)状态:基于对端发送的DBD包和本地数据库进行对比,之后,使用LSR包请求自己未知的LSA信息,对端使用LSU包进行LSA信息的传递。需要使用ACK进行确认。
  7. FULL状态:标志着邻接关系的建立。

5. OSPF的工作过程

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

       邻居关系建立完成后,进行条件匹配,失败则停留在邻居关系,仅使用hello包进行保活。

       匹配成功,则开始建立邻接关系。首先使用未携带数据的DBD包进行主从关系选举。之后,携带数据的DBD包共享数据库的目录摘要信息。之后使用LSR/LSU/LSAck来进行获取本地未知的LSA信息。完成本地数据库的建立,生成数据库表。(LSDB:链路状态数据库)

       最后,基于本地链路数据库中的LSA信息,生成有向图,之后使用SPF算法转换成最短路径树,之后,计算到达未知网段的路由信息。将生成的路由信息添加到路由表中。

       收敛完成后,依然使用hello包每10s进行周期保活。每30min今昔一次周期更新。

结构突变的情况:

  • 新增网段:触发更新,将变更信息第一时间使用LSU包进行传递,需要ACK确认
  • 端口网段:触发更新,将变更信息第一时间使用LSU包进行传递,需要ACK确认
  • 无法沟通:dead time

OSPF协议是基于IP协议,端口号为89,ospf自身提供主从协商机制,可以保证可靠的传输,另外全网路由器保持着同样的一个lsdb,当拓扑发生变化时,需要携带的变更信息较少,通过IP协议即可完成。

6. OSPF的基础配置

1. 启动OFPS进程:

[r1]ospf
[r1-ospf-1](进程号(默认1))
or
[r1]ospf 1 router-id 1.1.1.1(配置RID,启动OSPF进程)
[r1-ofps-1]

2. 创建区域
[r1-ofps-1]area 0
[r1-ofps-1-area-0.0.0.0]

3. 宣告:所有的直连网段都需要宣告。目的:① 激活接口;②发布路由

[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255 ---- 反掩码
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0

反掩码:由连续的0和1组成,0对应的位不可变,1对应的位可变

范围宣告:network 12.0.0.0 0.0.0.255,宣告的是12.0.0.0-12.0.0.255这个范围

精确宣告:network  1.1.1.1 0.0.0.0,宣告的是1.1.1.1这个ip对应的接口。

查看邻居表:[r1]display ospf peer

Mode:Nbr is  Master/Slave --- 邻居是主/从;

Priority --- 优先级;

MTU --- 最大传输单元,这里为0并不是真实值,只是华为默认没有开启MTU监测功能。

查看邻居关系简表:[r1]display ospf peer brief

查看数据库表:[r1]display ospf lsdb

展开一条LSA信息:[r1]display ospf lsdb router 2.2.2.2

在华为体系中,在路由表中OSPF协议的默认Pre优先级为10。

OSPF是以带宽作为开销值的评判标准的。华为设备的默认的参考带宽为100Mbps

Cost = 参考带宽(100Mbps) / 真实带宽,以带宽为评判标志的选路本不合理。

[r1-ospf-1]bandwidth-reference 1000 --- 因为默认的参考带宽较小,且目前传输速率都比较大的情况下,会出现选路不加的情况,可以将参考带宽调大来改善问题。

注意:一台路由器修改了默认参考带宽,则所有的路由器都需要把默认参考带宽改成一样的。

OSPF协议的路由表中环回接口的网段为4.4.4.1/32

7. 条件匹配

指定路由器DR:DR和一个广播域内其他设备建立邻接关系

备份指定路由器BDR:BDR和其他设备建立的也是邻接关系

因为DR和BDR是在一个广播域中选举出来的,所以,其实质是一个接口概念。

条件匹配:在一个广播域中,如果所有设备之间都保持邻接关系的话,则将可能出现大量的重复更新,所以,需要进行DR和BDR的选举,所有DRother和DRother设备之间仅保持邻居关系即可。

DR和BDR选举规则:

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

优先级默认为1

[r1-GigabitEthernet0/0/0]ospf dr-priority ?
  INTEGER<0-255>  Router priority value

如果将一个接口的优先级设为0,则视为该接口直接放弃DR和BDR选举。

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

图中RID:1.1.1.1比RID:2.2.2.2小,但是前者为DR,后者为BDR,原因是非抢占选举,在配置完成时,已经超过40s,所以是这样。

DR/BDR的选举模式为非抢占模式,选举时间最大不能超过40s。

重启OSPF进程命令:<r1>reset ospf 1 process 

8. OSPF的扩展配置

1. 手工认证

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

2. 手工汇总:OSPF中拓扑信息是没有办法汇总的,所有只能针对区域之间传输的路由信息进行汇总,称为区域汇总。

[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0 ---- 在ARP设备上在进程中需要汇总的区域视图类配置

3. 沉默接口

[r1-ospf-1] slient-interface GigabitEthernet 0/0/2

4. 加快收敛

 [r1-GigabitEthernet0/0/1] ospf timer hello 5 ---- 修改hello时间的方法,hello时间修改,死亡时间将自动按照四倍关系进行匹配。

邻居之间,hello时间和死亡时间必须一致,不一致将导致邻居关系断开

5. 缺省路由

[r3-ospf-1]default-route-advertise --- 需要保证边界路由器本身存在缺省路由,才能下发缺省。

[r3-ospf-1]default-route-advertise always --- 可以强制下发缺省信息。

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Golang_HZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值