HCIP之OSPF(一)
作者:互联网
OSPF:开放式最短路径优先
公有协议----链路状态协议----更新量大
算法:
OSPF : 迪杰科斯特拉算法(SPF算法)
RIP:贝尔曼斯特算法
OSPF特点
1. CIDR:
2、收敛速度快:相当于RIP收敛快,相对于EIGRP比较慢
3、是无类路由协议,支持VLSM,CIDR,不连续子网,手工汇总
4、支持区域划分
OSPF:区域划分
骨干区域、常规区域
注:常规区域必须和骨干区域直接相连
5、支持认证:分三种:
不认证
简单明文认证
MD5(认证)
6、触发更新
7、OSPF是无环协议(只局限于区域内) ,在一个区域内是绝对无环的,基于SPF算法
8、OSPF的低层协议: IP 89
9、0SPF的优先级为10 (OSPF内部) 150 (OSPF 外部)
10、OSPF使用开销(COST)做为度量标准
11、RIPv1是广播,v2是组播: 224.0.0.9 OSPF是用组播来更新(224.0. 0.5, 224. 0.0. 6)
12、OSPF的三张表:邻居表(邻居数据库),拓扑表(链路状态数据库LSDB),路由表(RIB )
13、OSPF LSDB每30分钟会更新(LSA (1800秒) 60分钟老化(3600老化)
OSPF的进程只具有本地意文
ASBR:自制系统边界路由器
ABR:区域边界路由器
router-id:标识运行ospf的路由器的身份
选举规则:
手动指定优先,如果没有指定则选择环回接口,没有环回接口选举物理接口(接口地址越大越优先)
华为设备:手动指定最优先,最先up的接口最优先
可以在全局指定:router-id
ospf进程下指定:ospf 1 router id 1.1.1.1
注:进程优于全局
ospf邻居状态机:
down:表示没有邻居收到hello报文,在NBMA网络中仍然使用较低频率向down状态发送hello报文
Atempt(NBMA环境):未从收到hello报文,仍然需要向外发送hello包进行尝试,用于邻居联系
init :已经收到了邻居发送的hello包,但该报文中列出的邻居未包含自己的router-id
two-way :路由器双方都得到对方的router-id,建立了邻居关系,未建立邻接关系。在广播和NBMA类型的网络中,两个接口状态是DROther的路由器之间将停留在此状态。其他情况状态机将继续转入高级状态。
exstart :邻接建立的第一步,准备交互DBD描述报文,同时选举DR和BDR。路由器和它的邻居之间通过互相交换DBD报文来决定发送时的主从关系。建立主从关系主要是为了保证在后续的DD报文交换中能够有序的发送。
exchange :交互DBD描述报文,路由器将本地LSDB通过DBD报文描述并发送给邻居
loading :路由器发送LSR报文向邻居请求对方的DBD报文,对端发送LSU用于本地更新,发送LSACK确认
full :完全邻接状态,双方数据库同步。此状态下,邻居路由器的LSDB中所有的LSA在本路由器上全部有了,即本路由器和对端邻居建立了邻接关系
查看ospf邻居:display ospf peer brief
查看ospf链路状态数据库:display ospf lsdb
LSA(链路状态通告信息):有关各条链路的状态信息
LSU:包括了LSA信息,链路状态更新报文
最短路径算法(SPF算法)
邻居关系:是建立邻接关系的必须阶段
邻接关系
指定路由器(DR)
备份路由器(BDR)
非指定路由器(DRother)
ospf的报文:
1.Hello报文:建立和发现邻居,维护ospf邻居关系
2.DBD报文:数据库描述包,用于描述LSDB的摘要信息
3.LSR报文:用于向对方请求所需要的LSA信息
4.LSU报文:更新报文,用于向对方发送所需要的LSA
5.LSACK报文:用来对收到的LSU报文进行确认,即确认LSA
注:五种报文中,只有LSU包含具体的LSA信息,DBD只包含摘要信息
hello报文
掩码(在广播或NBMA中才会检查)
hello时间:发送hello的时间间隔,广播网络或点到点10s,NBMA30s
options:
DN:用来防环
o:支持9、10、11类LSA能力
DC位:按需链路
N:等于1代表支持七类LSA,=0代表不支持
P:需要做七转五
MC位:支持MOSF
E位:表示支持五类LSA
Router Priority:用于选举DR、BDR
Router Dead Interval(死亡时间):是hello时间的4倍,如果在该时间内没有收到hello报文就会认为邻居失效
DR
BDR
Active Neighbor
DR与BDR的选举
双方在进入2-way状态开始选举,选举时间=死亡时间=40s
1.DR与BDR字段为空,首先选举BDR,首先比较优先级,越高越优,默认为1,0表示不参与选举,优先级相同会比较router-id,越大越优,BDR选举后,会自动升级成为DR,重新再选举BDR
2.DR字段为空,BDR不为空,BDR自动升级成为DR,重新选举BDR
3.DR字段不为空,BDR为空,重新选举BDR
注:默认DR、BDR是不抢占的
作用:
减少邻接关系
降低OSPF协议流量
DR:指定路由器,负责在MA网络中建立维护邻接关系和LSA同步
DR会与其他路由器交换链路状态信息,其他不直接交换,减少资源消耗
BDR:备份路由器,当DR发生单点故障后,邻接关系全部失效,LSA无法同步。通过BDR能快速接管DR工作
DBD报文的作用:
主从选举DBD
交互LSA的摘要信息
注:第一个DBD报文为空报文,用来选举主从
选举规则:router id 大的为主
隐示确认:通过主序列号进行确认;如果主设备收到一条DBD的回复报文,里面的序列号是自己之前发送的,就认为之前的DBD的对端已经收到
华为设备默认不检测MTU,思科设备会检测。当MTU不一致时,会卡在exstart状态
从设备MTU小于主设备MTU,会卡在exstart状态
OSPF确认机制:
隐式确认(主从序列号)
显式确认(LSR、LSU、LSACK)
OSPF工作过程:
启动宣告配置完成后,路由器开始组播224.0.0.5收发OSPF的hello包;若接收到的hello 包中存在本地的route-id,建立邻居关系。生成邻居表;
之后基于表格中所有的邻居进行条件的匹配,匹配失败将维持邻居关系,仅hello包周期保活即可
匹配成功可以建立邻接关系;邻居间使用DBD进行数据库目录的比对;之后使用LSR查询目录中未知的LSA信息。对端使用LSU来携带传递LSA,最终需要LSack进行接收确认
当本地收集到区域内所有设备的LSA后,生成LSDB-链路状态数据库表
本地基于LSDB启用SFP算法,计算到达所有未知网段的最短路径,然后将其加载到路由表内
收敛完成,仅hello包周期保活所有的邻居和邻接关系;每30min周期进行DBD包的收发来进行纠错
结构突变:
新增网段或断开网段:直连会使用DBD告知邻居,邻居进行LSR、LSU、LSACK收敛
无法沟通:死亡时间和最大老化时间解决
正常邻居间存在hello包,;若超过死亡时间依然未收到hello包,则断开邻居关系,删除之前学习到的所有信息
若邻居关系正常,但未进行周期更新,则每条LSA的后方会存在一个老化时间,默认为3600s,到达最大老化时间时删除LSA信息即可
LSA新旧比较:
比较序列号,越大越优
比较校验值,越大越优
LSA age时间,是否等于 MAX-age时间(3600)
如果age时间不等于MAX-age时间,比较差值,当差值大于15min,小的优
如果age时间不等于MAX-age时间,比较差值,当差值小于15min,说明为同一条LSA,忽略其中一条
LSA更新时间:
1800s到期自动更新
触发更新(接口的变化)
OSPF网络类型
P2P网络类型:
物理接口:串口(PPP、HDLC)、tunnel接口、virtual-link、sham-link
hello时间与死亡时间:10s 40s
自动建立邻居,不选举DR
NBMA:非广播多路访问网络
物理接口哦:FR接口
hello时间与死亡时间:30s 120s
不自动建立邻居关系:
手工指定单播邻居
控制Hub端为DR,不得出现BDR
手工写映射
P2MP:点到多点网络类型
自动建立邻居
hello时间与死亡时间:30s 120s
P2MP NON broadcast:点到多点非广播
hello时间与死亡时间:30s 120s
不自动建立邻居:
手工指定单播邻居
注:修改hello时间,影响dead时间
注:修改dead时间,不影响hello时间。但二者都影响邻居关系的建立
标签:LSA,OSPF,报文,邻居,BDR,HCIP,hello 来源: https://blog.csdn.net/qq_45331873/article/details/105612170