目录
前言
前文详细介绍的动态路由当中的RIP协议,通过了解,我们知道RIP协议的工作半径为15跳,当跳数超过15时,RIP将无法传递路由信息,因此RIP协议适用于中小型网络,当遇到大型网络时
动态路由协议当中的另一种协议---OSPF协议将发挥其作用。
一.OSPF简介
OSPF即开放式最短路径优先协议(Open Shortest Path First),是一种基于链路状态路由(Link State Routing)协议的动态路由协议。其主要作用是为互联网提供路由选择服务。通过OSPF协议,网络设备可以自动地学习和更新网络拓扑信息,从而能够动态地选择最短路径进行数据传输。OSPF协议具有快速收敛、计算路径的成本低、支持VLSM、支持路由聚合等特点,被广泛应用于中大型企业和互联网服务提供商的路由器中。
二.OSPF优点:
1.OSPF 使用SPF算法计算路径信息,不会出现环路,并且,OSPF使用带宽作为开销值进行 选路,选路层面优于RIP
2.OSPF计时器时间短于RIP,收敛速度优于RIP
3.从单个数据包来看,OSPF传递托普信息(链路状态信息--LSA),数据量远大于RIP的单个数 据包,RIP存在30秒一次的周期更新,占用资源量巨大,OSPF由于本身存在减少更新量手 段, 整体上数据量OSPF优于RIP--OSPF的优化--减少更新量
4.OSPF/RIP----无类别的路由协议(传递目标网段信息时携带子网掩码)--支持VLSM CIDR
由于OSPF在区域之间传递路由信息此时需要携带子网掩码并进行传递
因此OSPF是无类别的路由协议
5.OSPF V2和RIP ----使用组播地址未224.0.0.5和224.0.0.6
6.OSPF和RIP 支持开销负载均衡
7.OSPF为了适用中大型的网络环境,会进行区域划分
OSPF不会出环的原因:
OSPF是链路状态型协议,采用STP协议的设计理念,区域内的每台设备都将自己作为树根路由器,采用SPF算法计算出到达不同目标网段的一条最佳路径。
链路状态型协议的距离矢量特征----区域划分的目的:
区域内部传递拓扑信息,区域之间传递路由信息
三.区域边界路由器---ABR
区域边界路由器(ABR)是OSPF网络中的一种路由器,它位于不同的OSPF区域之间,起到连接这些区域的作用。ABR具有连接多个区域并转发数据包的能力。
在OSPF网络中,每个区域都有一个区域ID,并由一个或多个路由器组成。ABR通常连接两个或更多的区域,并在两个区域之间传递路由信息。当一个OSPF路由器成为ABR时,它必须能够识别边界路由器,并进行与其它区域的交互。
四.区域划分的要求
1.区域之间必须存在ABR
2.区域划分必须遵循星型拓朴结构-----星型拓扑中间区域称为骨干区域
3.为了方便对OSPF区域进行管理,我们给区域设计了一个编号---区域ID----骨干区域的area ID为0
五.OSPF的数据包类型
OSPF的数据包类型包括:OSPF的数据包类型
1. Hello:用于和周期建立发现和保持活动状态邻居关系---周期发送时间默认为10秒
---失效判断的默认时间为Hello包4倍
2. Database Description(DBD)--数据库描述包:携带时路径信息摘要
----(简称时路径信息菜单) 3. Link State Request(LSR)----链路状态请求报文:基于DBD包请求未知的LSA信息
---简称根据菜单点菜
4. Link State Update(LSU)---链路状态更新报文:用于向邻居发送更新的LSA。
---简称上菜
5. Link State Acknowledgment(LSAck)---链路状态确认包:用于确认LSU的接收。
6.RID---区分和标定不同路由器---要求1.OSPF网络内唯一
2.统一按照IP地址的格式配置
RID 获取方法:
1.手工配置---满足RID的两点要求即可
2.自动获取----路由器会先在自己的环回接口中选择最大的IP地址作为RID
例:IP:12.0.0.1 和 13.0.0.1 中 会选择13.0.0.1 即选择数值最大的
3.当路由器不存在环回接口,将在物理接口中选择数值最大的IP地址
7.OSPF存在每30分钟一次的周期更新
六.OSPF的状态机
OSPF(Open Shortest Path First)协议的状态机包括以下状态:
-
Down状态:此状态表示邻居关系还没有建立。
-
Init状态:此状态表示路由器已经发送了Hello报文,但还没有接收到对方的回复。
-
2-Way状态:此状态表示双方已经成功地建立了邻居关系,并且互相确认对方是可靠的。
-
LSDB---链路状态数据库---存储LSA信息的数据库
-
ExStart状态:此状态表示路由器已经确定了将要作为Master或Slave参与Master-Slave的选举过程,并且发送了DD(Database Description)报文。
-
Exchange状态:在这个状态下,路由器之间通过DD报文来交换数据库信息。
-
-
Loading状态:在这个状态下,路由器之间交换LSA(Link State Advertisement)信息,以更新自己的LSDB。
-
Full状态:在这个状态下,路由器已经完成了LSDB的同步,并且可以在自己的路由表中找到最短路径。----标志着邻接关系的建立
七.OSPF的工作过程
1 启动配置完成后,OSPF会向所有运行协议的接口以组播224.0.0.5的形式发送hello包;hello 包中携带本地的RID以及本地已知的邻居的RID之后,将收集到的邻居关系记录在一张表中---邻居表
2 邻居建立后,需要进行条件匹配,匹配失败则停留在邻居关系,仅使用Hello包进行周期保活
3 匹配成功后,则可以开始建立邻居关系,首先使用未携带数据的DBD包进行主从关系选举,之后使用携带数据的DBD包进行数据库目录信息共享 之后本地使用LSR/LSU/LSACK来获取未知的LSA信息 完成本地数据库的建立,生成数据库表---LSDB
4 最后,基于本地的链路状态数据库生成有向图及最短路径树,之后计算本地未知的网段路由信息,生成路由添加到路由表中
5 收敛完成后,hello包10秒一次周期保活,30MIN一次周期更新
八.OSPF基本配置
R1
#启动ospf进程
[r1]ospf 1 router-id 1.1.1.1 # 1代表进程号用来同一台设备区分进程
#创建区域
[r1-ospf-1]area 0
#宣告
#只有激活接口才可以收发OSPF数据包 对应的直连网段的路由信息才能被发布
[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255 #反掩码 0代表对应位不可变 1代表可变
#精准宣告
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0
R2
[r2]ospf 1 router-id 2.2.2.2
[r2-ospf-1]area 0
[r1-ospf-1-area-0.0.0.0]network 12.0.0.0 0.0.0.255
[r1-ospf-area-1-0.0.0.0]network 2.2.2.2 0.0.0.0
[r2-ospf-1]area 1
[r2-ospf-1-area-0.0.0.1]network 23.0.0.0 0.0.0.255
R3配置和R1相同
#查看邻居表
[r1]display ospf peer
#开启MTU值检测
[r1-GigabitEithernet]ospf mtu-enable #如果邻居双方都开启检测,则双方的MTU值必须相同,否则停
留在exstar状态
#查看邻居表简表
[r1]display ospf peer brief
#查看数据库表
[r1]display ospf lsdb
#查看路由表信息
[r1]display ip routing-table protocol ospf
#修改参考带宽
[r1-ospf-1]bandwidth-reference 1000 #参考带宽修改后,需要将其他路由器的参考带宽也修改为1000
华为体系中默认优先级为10
COST = 参考带宽 / 真实带宽--华为设备默认参考带宽为 100Mbps
若COST 是一个小于1的小数,则直接取1 如果大于1的小数取整数部分
九.结构突变和条件匹配
1.新增一个网段:触发更新,路由器第一时间将变更信息通过LSU包发送出去,需要确认
例子:路由器中突然多了/少了一条网段信息
2.断开一个网段:触发更新,第一时间将变更信息通过LSU包发送出去,需要确认
3.条件匹配:指定路由器---DR--和MA网络剩余所有设备建立联系
备份指定路由器---BDR--和MA网络中剩余的所有设备建立邻接关系
在MA网络中,若所有设备均建立邻接关系,则将出现大量重复更新,所以需要进行
DR/BDR选举,所有DROther之间只保留邻居关系即可---DR和BDR是接口概念
在MA网络中,为了各路由器都能知道R2的结构突变的基础上,减少资源浪费,只需要指定一台DR路由器R1,和MA网络剩余所有路由器建立邻接关系,当R2发生结构突变,R2触发更新,R2第一时间将变更信息通过LSU包发送给邻接路由器R1(以224.0.0.6发出),当R1确认收到R2发送的
LSU包后,会发生结构突变,第一时间将变更信息通过LSU包发送给邻接路由器R3 R4(以224.0.0.5发出),由此,R1 R3 R4 都能知道R2发生结构突变,无需将R2与所有路由器建立邻接关系,由此达到减少资源浪费的目的
224.0.0.6--DR/BDR专门监听
DR和BDR选举规则---非抢占模式--选举时间40S
1.先比较优先级,优先级大的为DR设备,优先级次大的为BDR --优先级默认值为1
#修改优先级
[r1-GigabitEthernet0/0/0]ospf dr-priority+(数值)
如果接口优先级为0,则这个接口将不参与DR和BDR选举
2.优先级相同则比较Router-id 选择router-id 大的设备所对应的接口为DR 次大的为BDR
十.拓展配置
#手工认证---两边的key ID 必须一样
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
#手工汇总GigabitEther
[r2-ospf-1-area-0.0.0.0]abr=summary 192.168.0.0 255.255.254.0
#沉默接口
[r1-ospf-1]silent-interface GigabitEthernet 0/0/2
#加快收敛---减少计时器时间---OSPF邻居之间的死亡时间和hello时间必须相同否则无法建邻
[r1-GigabitEthernet0/0/0]ospf timer hello 5
#缺省路由---OSPF要求ABR必须存在缺省路由,才能下发缺省路由信息
[r3-ospf-1]default-route-advertise
#强制下发缺省路由
[r3-ospf-1]default-route-advertise always