HCIP (华为高级网络安全工程师)(第五天)(OSPF协议)
2022/1/12 23:09:01
本文主要是介绍HCIP (华为高级网络安全工程师)(第五天)(OSPF协议),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录
OSPF(开放式最短路径优先协议)
RIP和OSPF的版本
RIPV2和OSPFV2的异同点:
区域划分
单区域OSPF网络
多区域OSPF网络
区域划分的主要目的
区域划分的要求
RID
RID需要满足的条件
RID的获取方法(两种)
OSPF的工作过程
1,OSPF的数据包
2,OSPF的状态机
七个状态机
3,OSPF工作过程
4,OSPF的基本配置
OSPF(开放式最短路径优先协议)
一个动态路由协议的好与坏的判定
选路佳,收敛快,占用资源少
RIP和OSPF的版本
RIP存在3个版本
1、RIPV1,RIPV2 --- IPV4
2、RIPNG --- IPV6
OSPF也存在3个版本
1、OSPFV1(实验室阶段夭折),OSPFV2 --- IPV4
2、OSPFV3 --- IPV6
RIPV2和OSPFV2的异同点:
相同点
1,OSPFV2和RIPV2一样,都是无类别的路由协议(传递路由信息的时候携带子网掩码),都支持VLSM和CIDR。
OSPFV2本应该传递拓扑信息,为什么与RIPV2一样也需要携带子网掩码?
原因:OSPFV2在区之域间传递路由信息
2,OSPFV2(224.0.0.5 / 224.0.0.6)和RIPV2(224.0.0.9)都是以组播的形式传递信息。
3,OSPFV2和RIPV2都支持等开销负载均衡。
不同点
OSPF和RIP不同,RIP要求仅适用于中小型的网络环境中,OSPF可以应用于中大型的网络环境中。
为什么OSPF可以应用在中大型网络当中,而RIP只能应用在中小型网络当中?
原因:OSPF为了适应中大型网络环境,需要进行结构化部署。 --- 区域划分
区域划分
单区域OSPF网络
当网络规模不大时,我们也可以将OSPF网络划分在一个区域内,这样的OSPF网络。
多区域OSPF网络
如果,一个OSPF网络当中包含多个OSPF区域。
区域划分的主要目的
区域内部传递拓扑信息,区域之间传递路由信息
什么叫做链路状态下的距离矢量特征? --- 实则就是在问OSPF在什么情况下传递这个路由信息?
OSPF在区域之间传递路由信息
怎样才能在两个分别隔开的OSPF区域间传递路由信息?
ABR(区域边界路由器)
同时处于多个区域,并且一个接口对应一个区域,至少有一个接口属于骨干区域。
区域之间可以存在多个ABR,一个ABR也可以对应多个区域。
区域划分的要求
1,区域之间必须存在ABR
2,区域划分必须按照星型拓扑结构划分 --- 所有区域需要连接在中心区域上,这个中心我们称之为骨干区域。
为了方便对各个区域进行区分和管理,我们给每个区域设计一个编号 --- 区域ID(area ID) --- 由32位二进制构成 --- 可以通过点分十进制的形式来表示,也可以直接使用十进制来进行表示。 --- 规定,骨干区域的区域ID必须是0。
在OSPF当中怎样才可以得知路由器的位置关系?
因为OSPF传递的是拓扑信息,需要将所有路由器的位置关系表示清楚,所以,需要有一个参数对所有的路由器进行区分和标定。我们引入RID来完成这个工作。
RID
RID需要满足的条件
1,唯一性(全OSPF网络内部唯一即可)
2,格式统一 --- 由32位二进制构成,采用IP地址的格式
RID的获取方法(两种)
1,手工配置:仅需满足以上两点要求即可。
2,自动获取:如果是自动获取,设备将会在自己环回接口的IP地址中选择数值最大的作为自己的RID。如果没有环回接口,则将在自己的物理接口上选择IP地址数值最大的作为RID。hello包中会携带这个RID。
OSPF的工作过程
1,OSPF的数据包
OSPF一共存在5种数据包
hello包 --- 用来周期发现,建立和保活邻居关系
hello的周期发送时间 --- 10S(30S)不同网络类型中,周期保活时间不同
死亡时间 --- dead time --- 4倍的hello时间 --- 40S(120S)
DBD包 --- 数据库描述报文 --- 携带的是数据库(LSDB --- 存放LSA信息的数据库)的目录信息
LSR包 --- 链路状态请求报文 --- 基于DBD包请求未知的LSA信息
LSU包 --- 链路状态更新报文 --- 真正携带LSA信息的数据包
LSAck包 --- 链路状态确认报文 --- 确认包
OSPF存在每30min一次的周期更新。
2,OSPF的状态机
Two-way --- 标志着邻居关系的建立。
(条件匹配)
EXSTART状态 --- 主从关系选举 --- 使用的未携带数据的DBD包(主要是为了和之前的邻居关系进行区分),通过比较RID大小进行主从关系选举,RID大的为主,可以优先进入下一个阶段。
FULL状态 --- 标志着邻接关系的建立 --- 邻接关系主要是为了和之前邻居关系进行区分。邻居关系,仅能使用hello包进行周期保活,只有邻接关系,可以去交换LSA信息。
七个状态机
down状态 --- 启动OSPF之后,发出hello包进入下一个状态
init(初始化)状态 --- 收到Hello包中包含本地的RID时进入下一个状态
Two-way(双向通讯)状态 --- 标志着邻居关系的建立(条件匹配)条件匹配成功,则进入下一个状态;否则,只能停留在邻居关系,靠Hello包进行周期保活。
Exstart(预启动)状态 --- 使用未携带数据的DBD包进行主从关系选举,比较RID,RID大的为主,可以优先进入下一个状态
Exchange(准交换)状态 --- 使用携带数据的DBD包进行数据库目录摘要的共享。
Loading(加载)状态 --- 查看对端的DBD包中的信息和本地的LSDB数据库目录信息进行对比,基于未知的LSA信息发送LSR包,对端回复LSU包,需要LSACK进行确认。
FULL状态 --- 标志着邻接关系的建立
3,OSPF工作过程
启动配置完成后,OSPF向本地所有运行OSPF协议的接口以组播224.0.0.5发送Hello包。Hello包中携带本地的RID以及本地已知邻居的RID。之后,将收集到的邻居关系记录在一张表中 --- 邻居表
邻居表建立之后,将进行条件匹配;失败则将停留在邻居关系,仅使用hello包进行周期保活。
匹配成功,则开始建立邻接关系。首先使用未携带数据的DBD包进行主从关系选举。之后,使用携带数据的DBD包进行数据库目录的共享。之后,本地使用LSR / LSU / LSACK数据包来获取未知的LSA信息;完成本地数据库的建立。 --- LSDB(链路状态数据库) --- 生成数据库表。
最后,基于本地的链路状态数据库,生成有向图,之后,通过SPF算法将有向图转换成最短路径树。之后,计算本地到达未知网段的路由信息,将路由信息添加到路由表中。
收敛完成后,hello包依然需要进行10S(30S)一次的周期保活,没30min进行一次周期更新。
如果网络结构存在以下三种突变
1,增加一个网段
解决方案:触发更新,直接通过LSU包将变更信息发送,需要ACK确认
2,断开一个网段
解决方案:触发更新,直接通过LSU包将变更信息发送,需要ACK确认
3,无法沟通
解决方案:死亡时间 --- 40S(120S)
4,OSPF的基本配置
1,启动OSPF进程
[r1]ospf 1 router-id 1.1.1.1 --- 1 进程号,仅具有本地意义;手工配置RID在启动进程时完成
[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 12.0.0.0 0.0.0.255 --- 反掩码 --- 由连续的0和连续的1组成(0对应的位不可变,1对应位可变)
[r1]display ospf peer --- 查看OSPF的邻居表
[r1]display ospf peer brief --- 查看邻居关系的简表
[r1]display ospf lsdb --- 查看数据库表
[r1]display ospf lsdb router 2.2.2.2 --- 展开一跳LSA信息
华为设备给OSPF定义的默认优先级为10。
OSPF是以带宽作为开销值的 --- COST = 参考带宽 / 真实带宽 --- 华为设备OSPF默认的参考带宽是100Mbps
OSPF开销值为小数时的处理逻辑,当该数值为大于1的小数,则将直接舍弃小数部分取整即可;如果是小于1的小数,则将直接设置为1。
r1-ospf-1]bandwidth-reference 1000 --- 修改参考带宽值注意,参考带宽修改,则所有设备上都需要改成相同的。
这篇关于HCIP (华为高级网络安全工程师)(第五天)(OSPF协议)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享