目录
前言:
上一篇描述了RIP协议的工作进程以及与OSPF相比的劣势,既然OSPF那么好,那就让我们来学习一下OSPF的相关内容,并理解为什么时代选择了OSPF。
内容:
1. OSPF的结构化部署---区域划分
1.1 区域划分的主要目的
---区域内部传递拓扑信息,区域之间传递路由信息---链路状态型协议的距离矢量特征
如果一个OSPF网络只存在一个区域,这个网络称为单区域OSPF网络;
如果一个OSPF网络存在多个区域,这样的网络称为多区域OSPF网络;
区域边界路由器(ABR)---同时属于多个区域,一个接口对应一个区域,将区域内的拓扑信息收集计算成路由信息,再进行传递
区域之间可以存在多个ABR设备,一个ABR设备可以处于多个区域
1.2 区域划分的要求:
1,区域之间必须存在ABR设备;
2,区域划分必须按照星型拓扑结构进行划分;
星型拓扑的中间区域---骨干区域
为了方便区分和标识不同的区域,我们将每一个区域都定义一个区域id---area id---32位二进制构成---两种表示方法---1,直接使用十进制表示---骨干区域的区域id定义为区域0
2.OSPF的数据包
HELLO包---周期性的发现,建立和保活邻居关系
HELLO的发送周期---HELLO时间---10S(以太网)/30S
死亡时间---DEAD TIME---4倍的HELLO时间
RID(router id)---区分和标识不同的路由器---本质由32位二进制构成
1,格式统一;2,全网唯一;
2.1 RID生成方式:
1,手工配置
2,自动生成---首先,设备将优先选择环回接口的IP地址作为RID,如果存在多个环回接口,则将选择所有环回接口中IP地址最大的作为RID;如果没有配置环回接口,则将使用设备的物理接口的IP地址作为RID,如果物理接口存在许多个,则选择IP地址作为最大的RID;
DBD包---数据库描述报文---LSDB---链路状态数据库---LSA---“菜单”
LSR包---链路状态请求报文------基于BDB包,请求未知的LSA信息---“点菜”
LSU包---链路状态更新报文---真正携带LSA的数据包---“上菜”
LSACK包---链路状态确认报文---确认包
OSPF协议具有周期更新,每隔30MIN发送一次
2.2 OSPF的状态机
down状态---启动OSPF之后,发出hello包进入下一个状态
init(初始化)---收到对方的hello包中包含自己的本地的RID,则进入下一个状态
Two-Way---双向通信状态---标志着邻居关系的建立
(条件匹配)成功则可以进入到下一个状态,如果条件匹配失败,则将停留在邻居关系,则仅周期性的发送hello包进行保活、
exstart(预启动)状态---主从关系选举---通过发送没有携带数据的DBD包来进行主从关系选举,比较RID来进行选举,RID大的为主,为主可以优先进入后面的状态
exchange(准交换)状态---交换携带数据(摘要数据)的DBD包进行LSDB数据库目录共享
loading(加载)状态---基于对端发送的DBD包,使用LSR/LSACK交换未知的的LSA信息
之所以使用DBD包,与之前的邻居关系进行区分
隐性确认与显性确认
FULL---标志着邻接关系的建立---与之前的邻居关系区分,邻居只能通过hello包进行保活,邻接关系可以叫化LSA信息
down状态 --- 启动ospf之后,发出hello包进入下一个状态
init(初始化)状态 --- 收到对方的hello包中包含自己本地的RID,则进入到下一个状态
Two-way(双向通信) --- 标志着邻居关系的建立
(条件匹配)匹配成功,则进入到下一个状态;失败则停留在邻居状态,仅使用hello包进行周
期保活
exstart(预启动)状态 --- 通过发送没有携带数据的DBD包来进行主从关系选举,比较RID来
进行选举,RID大的为主,为主可以优先进入后面的状态
exchange(准交换)状态 --- 交换携带数据(摘要信息)的DBD包进行LSDB数据库目录共
享
loading(加载)状态 --- 基于对端发送的DBD包,使用LSR/LSU/LSACK交换未知的LSA信息
FULL状态 --- 标志着邻接关系的建立。
2.3 OSPF的工作过程
启动配置完成,OSPF协议向本地所有运行协议的接口以组播的形式发送hello包;hello包中携带自己本地RID,以及本地已知的邻居RID。之后,将收集到的邻居关系记录在一张表中---邻居表;邻居关系建立完成后,进行条件匹配,(条件匹配)成功则可以进入到下一个状态,如果条件匹配失败,则将停留在邻居关系,则仅周期性的发送hello包进行保活。匹配成功建立邻接关系,主从关系选举---通过发送没有携带数据的DBD包来进行主从关系选举,比较RID来进行选举,RID大的为主,为主可以优先进入后面的状态,交换携带数据(摘要数据)的DBD包进行LSDB数据库目录共享,基于对端发送的DBD包,使用LSR/LSACK交换未知的的LSA信息,将所有LSA信息保存本地的LSDB数据库---数据库表;最后,基于LSDB,使用SPF算法进行计算,得到未知网段的路由信息,将其加载到路由表。收敛完成后,周期性的发送hello包进行保洁,每隔30MIN发送一次。
结构突变:
1,突然新增一个网段;触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK确认
2,突然断开一个网段;触发更新,第一时间将变更信息通过LSU包传递出去,需要ACK确认
3,无法联系;---deadtime---40S
2.4,OSPF的基本配置(ENSP)
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1 --- 手工配置RID需要在进程启动时配置 Info: The configuration succeeded. You need to restart the OSPF process to valid ate the new router ID. [r1-ospf-1]
2,创建区域
[r1-ospf-1]area 0 [r1-ospf-1-area-0.0.0.0]
3,宣告
1,激活接口---只有宣告的网段包含的接口会被激活,只有激活的接口可以收发OSPF的数据
2,发布路由---只有激活的接口所对应的直连网段的路由才能发布
[r1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0---反掩码---由连续的0和1组成,0对应位不可变,1对应位可变 [r1-ospf-1-area-0.0.0.0]
[r1]display ospf peer ---邻居表
[r1]display ospf peer brief --- 查看邻居关系简表
[r1]display ospf lsdb ---数据库表
[r1]display ospf lsdb router 2.2.2.2 --- 展开一条LSA的方法
[r1]display ip routing-table protocol ospf --- 查看路由表
华为设备,OSPF协议的默认优先级为---10
COST=参考带宽/真实带宽---华为设备默认的参考带宽为100Mbps
如果计算出一个小于1的小数,则直接按照1来算,如果是一个大于1的小数,只取整数部分。
[r1-ospf-1]bandwidth-reference 1000---修改参考带宽
条件匹配
DR---指定路由器---和广播域内其他设备建立邻接关系
BDR---备份指定路由器---和广播域内其他设备建立邻接关系,称为DR设备的备份
一个广播域内部,至少需要4台设备才能看到邻居关系
DR和BDR其实是接口概念
条件匹配 --- 在一个广播域中,若所有设备均为邻接关系,将出现大量的重复更新;故
需要进行DR/BDR的选举,所有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。
DR/BDR的选举是非抢占模式的 ---- 一旦角色选举出来,则将无法抢占。 ---- 选举时
间:40s(等同于死亡时间)
<r1>reset ospf 1 process --- 重启OSPF进程
2.5 OSPF的拓展配置
1,OSPF的手工认证
[r1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456
2,手工汇总 --- 区域汇总
在ABR设备上进行配置
[r2-ospf-1-area-0.0.0.0]abr-summary 192.168.0.0 255.255.254.0
3,沉默接口
配置了沉默接口的接口,将只接受不发送路由信息
[r2-ospf-1]silent-interface GigabitEthernet 0/0/2
4,加快收敛 --- 减少计时器的时间
[r1-GigabitEthernet0/0/0]ospf timer hello 5 --- 修改hello时间的方法
[r2-GigabitEthernet0/0/0]ospf timer dead ?
INTEGER<1-235926000> Second(s)
注意:邻居双方的hello时间和死亡时间必须相同,否则将断开邻居关系
5,缺省路由
[r3-ospf-1]default-route-advertise
注意:这个命令要求边界设备自身得具有缺省路由才行
[r3-ospf-1]default-route-advertise always --- 在没有缺省的情况下,强制下发缺省
总结:
以上就是OSPF协议的所有知识点了,与RIP协议相比,优点多很多,于是时代抛弃了RIP,站在了OSPF一方,学无止境,希望大家快乐开心每一天。