2021-01-25

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

一、ospf特点和rip的区别:
ospf是无类别链路状态IGP协议,rip是距离矢量协议。
ospf本身支持无类别路由,rip1不支持,rip2支持。
ospf本身没有环路,rip有环路需要靠各种防环机制来避免。
ospf收敛快,rip收敛慢
ospf靠ip组播路由,rip1广播,rip2组播。
ospf支持协议认证,rip不支持认证。
ospf发送的报文未经过加工,rip路径加工过准确度低

二、OSPF的5种数据包类型:
在这里插入图片描述

1、hello 包
动配置完成后,检查版本号-区域-认证方式-认证密码 一致才可建立邻居,生成邻居表;

2、DBD包 -数据库描述包
成为邻居后,要经过条件匹配,看是否进入邻接状态。
进入邻接关系后,邻接的双方发送DBD包来确认双方信息库的摘要,然后查缺补漏,使用三类LSA报文,使双方LSDB同步。

3、LSR链路状态请求
4、LSU链路状态更新
5、LSack 链路状态确认
三、OSPF的状态机
Down:一旦本地发出ospf的hello包进入下一个状态
Init初始化:接收到的hello包中存在本地的RID,进入下一状态
2way双向通信:邻居关系建立的标志;
条件匹配:点到点直接进入下一状态;MA网络进行DR/BDR选举(40s),非DR/BDR间不进入下一状态
Exstart预启动:使用类似hello 的DBD包来进行主从关系选举,RID数值大为主,优先进入
下一状态;
Exchange准交换:使用真实的DBD包来共享数据库目录;
Loading加载:使用LSR/LSU/LSack来获取未知的LSA信息;
Full转发:邻接关系建立的标志
四、OSPF的工作过程
1、启动配置完成后,邻居间组播(224.0.0.5)使用hello包,建立邻居关系,生成邻居表;
2、邻居表生成后,基于邻居表中的各个邻居,进行条件的匹配;匹配失败将维持邻居关系,
仅hello包周期保活即可;
条件匹配成功者间将建立邻接关系,邻接关系间将使用DBD来共享本地的数据库摘要;邻接关系间可以通过识别摘要,来请求本地未知的LSA信息;请求时使用LSR,对端使用LSU来分享这些LSA信息;
当获取到网络中所有的LSA后,本地数据库建立完成,LSDB同步结束;数据库表可查看;
3、默认OSPF协议通过本地的数据库,启用SPF最短路径选路规则,计算本地到达所有未知网段的最佳路径,然后将其加载于路由表中;
收敛完成—hello包周期保活 邻接关系间每30min周期进行DBD的比对,若一致继续保持安静;
4、结构突变
【1】新增网段—直连新增网段的设备,使用DBD包来告知本地所有邻居;
【2】断开网段—直连断开网段的设备,使用DBD包来告知本地所有邻居;
【3】无法沟通—dead time到时时,断开邻居关系,是否能够重建关注hello包;
5当LSDB同步完成,本地将使用spf选路规则,计算本地到达所有未知网段的最短路径,然后将其加载到路由表中;

五、术语
LSA:
链路状态通告,在不同环境下产生不同类别的LSA;可以是拓扑也或者是路由条目;

LSDB:
链路状态数据库—所有LSA的集合

LSA洪泛:
LSDB同步-----OSPF收敛的称呼

BR:
一台路由器上所以接口都在area0

IR
一台路由器上所以接口都在同一个普通区域

ABR
一个接口在区域0一个接口在普通区域

ABSR
连接不同自治系统的路由器

邻居:
neighbor,直接相连的设备都是ospf则是邻居

邻接:
点到点网络之间建立邻接关系
以太网有条件有选择的建立邻接
NBMA 手动指定邻居和邻接
DR/BDR选举规则:
1、先必须优先级,默认1;数值大优 若优先级为0,标识不参选
2、优先级一致比较RID,数值大优

自治系统:
使用同一种路由协议的一组路由器

RouterID:
在ospf自治系统里标识唯一一台路由器。可以自己配置一个随意编号,如果不配将随据抽取一个数值较大的IP地址。

度量:
cost值=开销值=参考带宽/接口带宽
默认参考带宽为100M;优先cost值之和最小的路径;
注:当接口带宽大于参考带宽时,度量值为1;可能导致选路不佳;可以修改所有OSPF设备的参考带宽

接口类型
网络类型 OSPF的接口网络类型 工作方式
环回-LOOPBACK LOOPBACK 无hello包,主机路由发送
点到点–PPP/HDLC/GRE POINT_TO_POINT hello time10s;自动建邻,不选DR/BDR
BMA–以太网 BROADCAST hello time10s;自动建邻,选DR/BDR
NBMA–帧中继、MGRE POINT_TO_MULTIPOINT hello time30s;自动建邻,不选DR

OSPF的数据库表
数据表为LSDB,是各种类别的LSA信息集合;LSA在不同条件下产生,路由信息或者拓扑信息;使用不同的类别来区分了不同条件的LSA信息;
所有类别的LSA信息,均存在以下参数

认证:
Hello报文里附带认证信息
接口下:ospf authentication-mode simple plain 123456
区域设置下: ospf authentication-mode 1【编号必须一致】 simple plain 123456
如果区域0做了认证 所有Vlink也必须做
1
2
3
4
六、区域
区域划分的规则:
1、星型结构—骨干区域0;非骨干大于0;非骨干必须直连骨干区域;
2、必须存在ABR–区域边界路由器
解决OSPF的不规则区域
OSPF协议的规则区域-星型结构,非骨干区域必须连接骨干区域;
否则该非骨干区域的ABR不能进行区域间路由共享;
解决方法:
1、tunnel 在两台ABR上建立隧道,然后将其宣告到OSPF协议中;
缺点:对周期、触发更新和保活流量对中间区域存在资源占用,选路不佳;
2、OSPF虚链路–在两台ABR上进行虚链路的建立,之后让骨干区域ABR对非法ABR进行授权;使得非法ABR可以进行路由共享;
3、多进程双向重发布
(1)多进程—一台设备上同时运行多个进程时,不同进程存在各自的RID和数据库;当从各自邻居处学习到了信息后,存储在自己的数据库中,数据不共享;仅将计算所得路由加载到同一张路由表中; 若将一个接口同时宣告于多个进程,仅最先宣告进行工作;
(2)双向重发布–两种协议或两个进程间,进行路由条目的双向共享;
解决不规则区域时,将处于不规则点的ABR不同接口宣告到不同进程,最后使用双向重发布来实现路由共享—选路正常,无周期信息,可靠和稳定的;

特殊区域
减少非骨干区域的LSA --所有特殊区域配置,需要该区域每台设备均配置(否则不能建邻)不能是骨干区域,不能存在虚链路;
末梢区域–该区域拒绝4/5的LSA;
完全末梢区域—在末梢区域的基础上,进一步拒绝3类LSA,仅保留一条3类缺省;
先将该区域定义为末梢区域,然后仅在ABR上定义完全即可;
NSSA非完全末梢区域–该区域拒绝4/5的LSA;为避免环路产生,不自动产生缺省;在管理员确定了网络无环的情况下手工添加缺省路由;本区域的ASBR产生的域外路由使用7类标记,离开本区域进入骨干时,转换回5类,进行转换的ABR成为新的ASBR;
NSSA的意义在于拒绝从网络中其他区域的ASBR产生的4/5类LSA信息;
完全NSSA非完全末梢区域–在NSSA区域的基础,进一步拒绝3类LSA;自动产生3类缺省;但使用时,应该考虑是否会产生环路;

七、各种类别的LSA:
在邻接关系建立后,对比DD摘要信息,会发送LSR和LSU信息来更新数据,报文中的type字段吧LSU报文分为了6种,分别是:
LStype1-Router-lsa
每一个路由器都会生成,描述区域内端口链路状态,只能在区域内泛洪。
LStype2-Network-lsa
该lsa包含网络上所有路由器的链路状态,旨在所属区域泛洪。
区域间
LStype3-汇总LSA
由ABR计算前两类lsa得出,描述了一个区域的路由,只会往相邻的另一个区域内泛洪, 不是跨区域的。
LStype4-LSABR-Summary-LSA
由ABR产生,用来描述某区域ASBR的路由信息,在ABR所连接区域除ASBR外的区域中洪范。 ,
LStype5-AS-外部lsa
由ASBR描述,了出AS外的某一段网络的信息,在整个AS内泛洪
LSA7nssa-external

ASBR-在传递出该NSSA区域后,被新的ASBR转换为5类OSPF的区域划分规则:
1、 星型拓扑—非骨干区域需要连接骨干区域
2、 必须存在ABR—区域边界路由器—区域间必须存在一个边界设备

启动配置完成后,邻居间收发hello包,建立邻居关系,生成邻居表:
Hello包携带的参数:在这里插入图片描述

在这里插入图片描述

邻居间在进行邻居关系建立时,hello包有几个参数必须完全一致,否则无法建立邻居关系:
Hello time和dead time 区域ID(ABR) 认证字段 末梢区域标记
华为设备还要求邻居间建立邻居的接口ip地址子网掩码必须一致
[r2]display ospf peer 查看邻居表
[r2]display ospf peer brief 查看邻居表的简表
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information

Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full
0.0.0.1 GigabitEthernet0/0/1 3.3.3.3 Full

邻居关系建立后,进行条件的匹配;匹配失败将保持为邻居关系,仅hello包周期保活;
匹配成功将可以建立为邻接关系:
首先使用DBD进行主从关系选举,在使用DBD进行数据库目录的交互:
关于DBD包的几个参数:
1、 MTU OSPF协议会在DBD包中携带与邻居直连接口的MTU值;要求邻居的MTU值必须完全一致,否则将卡在exstart状态机;默认华为设备间不检测这个MTU值;
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf mtu-enable 在于邻居间直连的接口上开启MTU检测;若一端开启,另一端也必须开启;
2、 隐性确认 一台设备使用和另一台设备一样的序列号来确认对端的数据 OSPF中从来对主进行隐性确认;
3、 描述字段 I为1标识本地发出的第一个DBD M为0本地发出的最后一个DBD MS 为1代表主 S为0代表从
五、 OSPF从邻居关系建立为邻接关系的条件
关注网络类型
1、 点到点网络 邻居正常必然成为邻接关系
2、 MA网络中 由于OSPF不支持接口的水平分割;故若两两设备间均为邻接关系,将导致大量的重复更新;因此必须进行DR/BDR选举,DR/BDR使用组播224.0.0.6;
在该网段内的非DR/BDR设备间只能建立为邻居关系;
选举规则:先比较参选接口的优先级0-255 数值大优,为0标识不参选
默认为1;若优先级相同,比较参选设备的RID值,数值大优;
修改接口优先级可以干涉选举:
[r1]interface GigabitEthernet 0/0/1
[r1-GigabitEthernet0/0/1]ospf dr-priority 2 参选接口修改优先级
注:DR选举为非抢占行为;故修改优先级需要重启的OSPF进程
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y

六、ospf的接口网络类型 – ospf的协议在不同网路类型的接口上,其工作方式不同
display ospf interface GigabitEthernet 0/0/1 查看OSPF协议在该接口的工作方式
网络类型 ospf的工作方式
LoopBack 显示P-2-P,实际为环回专用工作方式 无hello包 32位主机路由传递
点到点(串线HDLC/PPP) P-2-P hello time10s 不选DR 自接建立邻居关系
BMA(以太网) Broadcast hello time 10s 选DR/BDR
NBAM(MGRE) 默认接口工作方式为p2p,该工作方式仅允许建立一个邻居关系;
导致在MGRE环境中无法建立所有的邻居关系;
可以通过修改接口的工作方式来解决:
修改所有接口的工作访问broadcast
[r1-Tunnel0/0/0]ospf network-type broadcast
切记:在MGRE环境下,若一个网段的部分接口修改为broadcast,其他依然为点到点;由于建邻的条件匹配,故可以建立邻居关系;但broadcast需要DR,点到点不需要,所以最终不能正常收敛;需要该网段所有节点均为broadcast;

拓扑结构:
中心到站点(轴辐状-星型结构) DR必须定在中心站点,没有BDR
部分网状结构 基于实际环境关注是否固定DR;
全连网状结构 — DR/BDR选举正常
一、 OSPF的不规则区域
1) 远离了骨干的非骨干区域
2) 不连续骨干区域—本地学习到来自区域x的路由后,不得共享到X区域
解决方案:
1、 普通GRE,tunnel 隧道
在合法与非法ABR间使用tunnel建立一条新的逻辑链路;之后将该链路宣告到OSPF协议中
缺点:
1) 周期的OSPF进行需要实际通过中间区域进行传递,大大增加中间区域的资源占用
2) 选路不佳—ospf设备接收到两条去往同一网段的路由时,先关注两条路由获取的区域ID;骨干区域优于非骨干

2、 OSPF的虚链路技术
由合法的ABR对非法ABR进行授权,之后非法ABR可以进行区域间路由共享
[r2]ospf 1
[r2-ospf-1]area 1 进入穿越区域
[r2-ospf-1-area-0.0.0.1]vlink-peer 4.4.4.4 对端ABR的RID;

优点:没有建立新的通道,不存在选路不佳问题;
缺点:1、两台ABR设备间的周期信息,依然对中间照成影响—华为
2、两台ABR设备间不保活,无周期信息;即可不可靠—cisco

3、 多进程双向重发布—最佳方案
重发布:多协议间利用ASBR(自治系统边界路由器、协议边界路由器)
多进程:在一台设备上若同时启动多个OSPF进程,不同的进程将宣告不同的接口,拥有各自的数据库,且不共享;仅将计算所得路由加载于同一张路由表中;

在非法ABR处,将不同区域的接口宣告到不同进程中,形成独立的数据库;之后使用重发布技术来实现路由共享,全网可达;不担心选路问题,资源占用问题;
[r4]ospf 1
[r4-ospf-1]import-route ospf 2
[r4-ospf-1]q
[r4]ospf 2
[r4-ospf-2]import-route ospf 1

OSPF协议在不同的环境下,使用不同类别的LSA来传输路由或拓扑信息;

类别 传播范围 通告者 liink-id 携带信息
1 Router 单区域 该区域每台路由器 通告者的ID 本地直连拓扑
2 Network 单区域 DR DR的接口IP地址 单个MA网段的拓扑
3 summary 整个OSPF的域 ABR 域间路由网络号 域间路由(其他区域的路由)
4 asbr 除ASBR所在区域 ABR ASBR的RID ASBR的位置
整个OSPF的域
ASBR所在区域,通过1类告知位置;通告者为与ASBR在同一区域连接其他区域的ABR
5 External 整个OSPF的域 ASBR 域外路由的网络号 域外路由(重发布进入的路由)

类别 link-id 通告者
1 Router 通告者的RID 该区域的每台路由器
2 network DR的接口ip地址 该网段的DR
3 summary 域间路由网络号 ABR,经过下一台ABR时,修改为新的ABR
4 ASBR ASBR的RID ABR,经过下一台ABR时,修改为新的ABR
5 External 域外路由网络号 ASBR(不变化)

已标记关键词 清除标记
相关推荐
课程简介: 历经半个多月的时间,Debug亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。 其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,Debug还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程! 核心技术栈列表: 值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括Spring Boot、Spring MVC、Mybatis、Mybatis-Plus、Shiro(身份认证与资源授权跟会话等等)、Spring AOP、防止XSS攻击、防止SQL注入攻击、过滤器Filter、验证码Kaptcha、热部署插件Devtools、POI、Vue、LayUI、ElementUI、JQuery、HTML、Bootstrap、Freemarker、一键打包部署运行工具Wagon等等,如下图所示: 课程内容与收益: 总的来说,本课程是一门具有很强实践性质的“项目实战”课程,即“企业应用员工角色权限管理平台”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于Shiro的资源授权实现员工-角色-操作权限、员工-角色-数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图: 以下为项目整体的运行效果截图: 值得一提的是,在本课程中,Debug也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页