当前位置:网站首页>HCIP-第四天-OSPF路由协议
HCIP-第四天-OSPF路由协议
2022-07-26 22:50:00 【m0_72586049】
目录
OSPF路由协议
开放式最短路径优先协议(无类别链路状态型协议)
OSPF协议依靠五种不同类型的分组来建立邻接关系和交换路由信息,即问候分组、数据库描述分组、链路状态请求分组、链路状态更新分组和链路状态确认分组
由于该协议为公有协议,所以被称为开放式,OSPF是无类别链路状态igp协议,跨层封装到IP报头,以30min为一个周期进行周期更新,其更新方式为组播更新---224.0.0.5或224.0.0.6,对于大部分链路状态协议来说,其更新量会随着网络范围的扩展指数性的上升,因此ospf协议为了在中大型网络中工作,需要结构化的部署,也就是区域划分、合理ip地址规划;
一、OSPF的五种数据包
Hello 该包用于路由器之间邻居的发现和邻居关系的建立,每10s为周期向对端路由器发送一次,目的用于保活,维护邻居状态;
DBD 该包为数据库描述包,用于携带本地数据库的目录,进行主从关系(DR和BDR)的选举;
LSR 该包为链路状态请求包,对端(邻接)发来的LSDB目录中,基于本地未知的LSA进行LSA查询请求;
LSU 该包为链路状态更新包,用于传递LSA信息给邻接;
LSACK 该包为链路状态确认包,用于对对端信息DBD、LSR、LSU包的确认;
二、OSPF的七种链路状态机
Down 一旦接收到hello包,将进入下一个状态机
Init 一旦接收到hello包中,存在本地的rid,将进入下一个状态
2way 建立起邻居关系
(注:点到点网络将直接进入下一个状态; MA网络类型将进行DR/BDR选举,非DR/BDR间将无法进入下一状态)
Exstart 用不携带目录信息的DBD包,进行主从关系的选举;Route id大的为主(DR),优先进入下一个状态;解决了目录共享时的无序;
Exchange 使用携带目标信息的DBD包,互相共享本地数据库目录
Loading 查看完邻接的DBD信息后,对比本地,然后基于本地未知的LSA进行查询; 使用LSR 向对端进行查询,对端使用LSU来传输这些LSA信息,本地收到后需要LSACK来进去确认
Full 建立邻接关系,意味着邻接间,数据库同步(一致)
注:
LSA:链路状态通告,在不同的网络条件下将产生不同类别的LSA信息来代表拓扑或者路由条目;
LSDB:链路状态数据库 装载和存储所有各种类别的LSA;
三、OSPF的工作过程
启动配置完成后,邻居间开始收发Hello包;Hello包中将携带本地及本地所有已知邻居的Router id;之后生成邻居表;邻居间需要关注是否可以成为邻接的条件;若不能建立为邻接,将保持为邻居关系,仅Hello包周期保活即可;若可以建立邻接关系;将使用DBD进行本地数据库目录的对比;之后基于对比的结果,使用LSR/LSU/LSack来获取本地未知的LSA信息;使邻接关系间数据库(LSDB)完成同步(一致),生成数据库表;之后本地基于LSDB,使用SPF算法,生成有向图→最短路径树→计算本地到达所有未知网段的最短路径,将其加载到本地路由表中;收敛完成;收敛完成后,邻居和邻接关系间均以Hello包每10s保活一次;邻接关系间周期数据库每30min进行一次比对,保障一致;
四、OSPF的接口网络类型
OSPF协议在不同网路类型的接口下,拥有与其对应的不同的工作方式
其区域划分规则:
1、星型结构 --- 编号0骨干区域(中心),大于0为非骨干区域(分支), 非骨干区域必须直连骨干区域
2、必须存在ABR --- 区域边界路由器 两个区域间互联的设备
其接口网络类型分别有空接口(LookBack~)类型、点到点类型、BMA类型、NBMA类型、MGRE类型;
1)空接口类型
该网段没有Hello包,其路由信息为32位主机路由发送,在华为上显示为p2p点到多点类型,实际上为以LoopBack工作;
2)点到点类型
该网络一般由串线相连,有HDLC类型、PPP类型、GRE类型,该类型每10s进行一次Hello包周期更新,自动建立邻居和邻接关系,不进行DR和BDR选举;
3)BMA类型
该网段为以太网(共享型---共享物理链路)将不同频段、且相互不干涉波点的电流,集中于一条物理介质进行传输,起到带宽叠加的作用;路由信息传播为Broadcast广播传输,该类型每10s进行一次Hello包周期更新,自动建立邻居和邻接关系,进行DR和BDR选举;
4)NBMA类型
该类型典型例子为帧中继协议,其Hello包周期更新时间与其他网络类型不同,该类型每30s进行一次Hello包周期更新,手动建立邻居和邻接关系,进行DR和BDR选举;
5)MGRE类型
该网段为点到多点型,其类型在一个网段中只能存在一个邻居,华为设备在一个MGRE网段,接口为点到点工作方式时,仅和最先收到hello的设备建立邻居关系,Cisco在这种情况将出现邻居的翻滚;该类型每10s进行一次Hello包周期更新,自动建立邻居和邻接关系,不进行DR和BDR选举;
注:在MGRE环境中,接口默认的ospf工作方式为点到点,这种方式无法实现该NBMA网段的邻居全连;故只能去修改接口的工作方式:
修改MGRE网段所有接口为Broadcast工作方式,切记若一部分接口修改为Broadcast,另一部分接口依然保持为点到点,由于hello time相同可以建立邻居关系,但工作机制在DR/BDR选举处不同,故最终该网段无法正常收敛;
1、同时,必须关注网络拓扑结构;若该网段为全连网状结构,那么DR选举将正常进行;但若为部分网状或中心到站点拓扑,将可能出现DR位置错误问题;
2、若网络拓扑只能为部分网状或中心到站点,需要人为手工干预DR位置,或者将所有接口的工作方式修改为点到多点工作方式;
五、OSPF的不规则区域
该不规则区域主要为一台ABR设备若没有连接到骨干区域0,那么默认不能进行区域间路由的共享
其解决方法:
1、在合法ABR与非法ABR上建立tunnel接口,然后将其宣告到ospf协议中;
2、在合法与非法ABR上建立虚链路,由合法ABR为非法ABR进行授权,使得非法ABR可以进行区域间路由的共享;
3、多进程双向重发布,在同一台设备上,不同的进程可以工作在不同的接口上,建立各自的邻居关系,生成各自的数据库(该数据库不共享),仅将各自计算所得路由加载于同一张路由表内,一个接口只能被一个进程来宣告,双向重发布中有一自治系统边界路由器,也称协议边界路由器--ASBR,ASBR将不同进程或不同协议产生的路由进行双向共享;
六、OSPF的LSA---数据库表
1)主要信息
所有类别的LSA数据库表,均携带以下信息
Type: Router 类别名 此处为1类
Ls id: 1.1.1.1 link-id 在目录中的编号
Advertising Router: 1.1.1.1 通告者 --- 该LSA的更新源设备的RID
Ls age:老化时间 1800--3600秒 其中1800是周期的LSA刷新时间 3600是LSA的最大老化时间
Length:头部信息和数据部分的总长度
seq#:序列号
chksum: 校验码
注:LSA的新旧比较
1、会先比较序列号,序列号越大越优,
2、如果序列号相同,会比较校验值(checksum)越大越优
3、如果校验值也相同,会比较LSA Age时间,是否等于MAX-age时间(3600)
4、如果age时间不等于max-age时间,会比较他们的差值,如果差值大15分钟(900秒),小的优
5、如果age时间不等于max-age时间,会比较他们的差值,如果差值小于15分钟,说明是同一条LSA,忽略其中一条
2)类型
①LSA-router
传播范围为本区域内,通告者为本区域内的每台路由器,携带的信息为该区域每台设备的直连拓扑
②LSA-Network
传播范围为本区域内,通告者为该网段的DR,携带的信息为该网段的拓扑
③LSA-summary
传播范围为整个OSPF域,通告者为该网段的ABR,携带的信息为OIA域间路由
④LSA-asbr
传播范围为除ASBR所在区域以外的区域,通告者为该网段的ABR,携带的信息为ASBR的位置
⑤LSA-ase
传播范围为整个OSPF域,通告者为该网段的ASBR,携带的信息为OE域外路由
⑦LSA-nssa
传播范围为单个的NSSA区域内,通告者为该网段的ASBR,携带的信息为ON域外路由
边栏推荐
猜你喜欢
随机推荐
(超详尽版,不懂随时评论)Codeforces Round #804 (Div. 2)C The Third Problem
Explain exi interrupt through the counting experiment of infrared sensor
MySQL course 1. simple command line -- simple record welcome to supplement and correct errors
MGRE、PPP、HDLC综合实验
C language implementation of the small game [sanziqi] Notes detailed logic clear, come and have a look!!
About unsafe problems such as fopen and strError encountered in vs2022 or advanced version running environment
C语言——关系运算符和逻辑运算符、if语句、switch语句、分支结构的嵌套
Test and open basic daily question brushing (continuous updating...)
数字芯片的面积优化:第三届“华为杯”研究生创芯大赛数字方向上机题1详解
【C语言程序设计】分支结构
npm报错, Error: EPERM: operation not permitted, mkdir
Lora光照传感器节点数据采集
(title + detailed idea + annotated code) codeforces round 805 (Div. 3) F Equate Multisets
怎么判断一个数是奇数还是偶数?
Experiment of total connection and star topology of mGRE
ESP8266Wi-Fi数据通讯
OSPF protocol overview and basic concepts
记录第N次SQL异常
TCP's three handshakes and four waves (brief introduction)
Lora communication application development









