第六天

动态路由要求
  1.选路佳;2.收敛快;3.占用资源少

OSPF-开放式最短路径优先协议
1.因为OSPF是链路状态型协议,不会出现环路,并以带宽作为开销值的评判标准,相较于RIP选出来的路径更合理

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

3.RIP传输的是路由信息,OSPF传输的是拓扑信息,从单个数据包的角度看OSPF的资源占用更大(所以存在很多减少资源占用的措施),但是由于RIP有30秒一次的周期更新,而OSPF并没有这样高频的周期更新。总体上看,OSPF的资源占用量比RIP少。

版本OSPFV1(在实验室阶段夭折),OSPFV2,IPV4;OSPFV3,IPV6

RIPV2和OSPFV2
相同点:
1.都是无类别路由协议,都支持VLSM和CIDR;
2.都是组播传播,RIPV2(224.0.0.9),OSPFV2(224.0.0.5和224.0.0.6)
3.都支持等开销负载均衡

不同点:
RIPV2只能应用于小型网络,OSPFV2可以应用在中大型网络中

OSPF为了适应中大型网络,需要进行结构化部署,即区域划分,区域划分的目的是区域内部传递拓扑信息,区域之间传递路由信息。
在区域之间,有区域边界路由器 ABR 同时属于多个区域,并且一个接口对应一个区域。且至少有一个接口在区域0。(链路状态的距离矢量特征---区域之间传递路由信息)
区域之间可以存在多个ABR设备,并且,一个ABR设备也可以属于多个区域。
区域划分的要求:

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

为了方便对区域进行管理,我们给每个区域设置一个区域ID 叫area ID ,由32位二进制构成

(表示方法存在两种1,采用点分十进制的形式来表示;2,直接采用10进制的形式来表示)

骨干区域的区域ID定义为0
如果网络规模不大,则可以不进行区域划分,则这样的网络称为单区域OSPF网络。

(在华为设备中要求单区域OSPF网络的区域ID必须设置为区域0)

如果网络规模较大,需要进行划分,则称为多区域OSPF网络。

1.OSPF的数据包类型

hello包,用来周期发现,建立和保活邻居关系。

hello包默认以10S为周期来进行周期保活的。--- hello时间
OSPF中进行失效判断的时间为4倍的hello时间。--- dead time死亡时间
因为OSPF需要收集网络拓扑信息,所以就必须区分和标定不同的路由器。我们给每台路由器设计了一个RID。

RID 1,全网唯一(这个区域网络中); 2,格式统一,必须按照IP地址的格式来进行配置。
这个RID可以手工配置并且手工配置仅需满足以上两个要求即可。
RID也可以自动生成

1,如果存在环回接口,则在环回接口中取IP地址最大的为RID。2,如果不存在环回接口,则需要在所有的物理接口中选择IP地址最大的作为RID。(RID单纯的数值最大)
hello包中会携带RID。

DBD包---数据库描述报文---携带的是路径信息的摘要
LSR包---链路状态请求报文--- 基于DBD包请求未知的LSA的信息(LSA--路由器之间传递的链路状态信息)
LSU包---链路状态更新报文---真正携带LSA信息的数据包
LSAck包---链路状态确认报文---确认包

OSPF协议存在30min一次的周期更新。
2.OSPF的状态机

down状态,启动OSPF,发送hello包之后进入下一个状态

(hello包中的内容:R1hello包携带自身RID并请求建立连接,R2接收到并发送hello包含自身RID并请求建立R1的连接)
init状态(初始化)状态,收到hello包中有自己本地的RID,则进入下一个状态
Two-way (双向通讯)状态,标志着邻居关系的建立。
(条件匹配)条件匹配成功,则可以进入下一个状态,如果条件匹配失败,则仅保持邻居关系,周期性的发送hello包进行保活即可。
exstart (预启动)状态,使用末携带数据的DBD包进行主从关系选举,为主的优先进入下一个状态。

(主从关系选举,通过未携带数据的DBD包进行比较。比较RID,RID大的为主,为主则可以优先进入下一个状态,RID小的为从。使用未携带数据的DBD包进行主从关系选举,主要目的是为了和之前的邻居状态做区分。)
exchange (准交换)状态,使用携带目录信息的DBD来共享数据库目录。

(携带的目录信息:LSDB--链路状态数据库。DBD包的确认使用的不是ACK包来确认的(ACK为显性确认),而是通过数据包中的序号参数来进行的隐形确认。)
loading (加载)状态,基于对端发送的DBD包和本地数据库进行对比,之后,使用LSR包请求自己未知的LSA信息,对端使用LSU包进行LSA信息的传递。需要使用ACK进行确认。
FULL状态,标志着邻接关系的建立。(邻接设置的目的是为了和之前的邻居状态做区分)

3.OSPF的工作过程
     启动配置完成后,OSPF向本地所有运行协议的接口以组播224.0.0.5的形式发送hello包,hello包携带本地RID以及本地已知的邻居的RID。之后将收集到的邻居关系记录在一张表中,邻居表
邻居关系建立后,进行条件匹配,失败则停留在邻居关系,仅使用hello包周期保活。

数据库表(LSDB--链路状态数据库)。

    最后,基于本地链路数据库中的LSA信息,生成有向图,之后使用SPF算法转换成最短路径树,之后,计算到达未知网段的路由信息。将生成的路由信息添加到路由表中。
    收敛完成后,依然使用hello包每10S进行周期保活,每30min进行一次周期更新。
结构突变的情况
1,新增网段---触发更新,将变更信息第一时间使用LSU包进行传递,需要ACK确认。
2,断开网段---触发更新,将变更信息第一时间使用LSU包进行传递,需要ACK确认。
3,无法沟通--- 则使用dead time,失效判断。

4.OSPF的基本配置

1.启动进程

[r1]ospf 1(进程号) router-id 1.1.1.1(手配RID,在启动进程时配置)

2.创建区域

[r1-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]
3.区域宣告

[r1-ospf-1-area-0.0.0.0]network 12.0.0.0  0.0.0.255

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

ripospf优先级 rip和ospf优先级_学习

 [r1]display ospf peer 查看邻居表

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

ripospf优先级 rip和ospf优先级_链路_02

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

[r1]display ospf lsdb router 2.2.2.2 展开一条LSA信息
在华为体系中,OSPF默认优先级为10

OSPF是以带宽作为开销值的评判标准,COST=真实带宽/参考带宽,华为设备默认参考带宽为100Mbps

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

注意:一台路由器修改了参考带宽,则所有路由器参考带宽都必须改成一样的。

条件匹配
在一个广播域中,如果说有设备之间都保持邻接关系会产生大量的重复更新,所以需要进行DR和BDR的选举,所有DRother之间仅保持邻居关系。

指定路由器,DR和一个广播域内其他设备建立邻接关系
备份指定路由器,BDR和其他设备也建立邻接关系
(一个广播域内有多台路由器,DR和BDR在这个广播域内选出,选择的是接口)

DR/BDR选举规则:
1,先比较优先级(priority),优先级最大的为DR,优先级次大的为BDR。优先级默认值为1
[r1-GigabitEthernet0/0/0]ospf dr-priority ?  修改优先级
INTEGER<0-255> Router priority value
如果将一个接口的优先级修改为0,则其效果是该接口直接放弃DR和BDR的选举。
2,当优先级相同时,则比较RID。RID大的路由器对应的接口为DR,次大的对应的接口为BDR。
DR和BDR的选举是非抢占模式的(选出后不可篡位)--选举时间为40S(最后期限,和死亡时间一致)

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

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 在ABR设备上进程中需要汇总的区域视图里配置
3,沉默接口
[r1-ospf-1]silent-interface GigabitEthernet 0/0/2 只接受,不发送
4,加快收敛
[r1-GigabitEthernet0/0/0]ospf timer hello 5  修改hello时间的方法,hello时间修改,死亡时间将自动按照四倍关系进行匹配。
邻居之间,Hello时间和死亡时间必须一致,不一致将导致邻居关系断开
5.缺省路由

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

[r1-ospf-1]default-route-advertise always  强制下发缺省信息

(本文为初学者学习笔记,若有错误之处,感谢大佬指正!)