OSPF5种分组
| 1、Hello | 发现邻居并建立和维护邻居关系 (Hello报文)
| 2、DataBase Description | 检查所有路由器的LSDB是否同步(数据库描述报文DBD)
| 3、Link-State Request | 向另外一台路由器请求特定的链路状态记录 (链路请求报文LSR)
| 4、Link-State Update | 发送被请求的链路状态记录 (链路回应报文LSU)
| 5、Link-State Acknowledgment | 对其他类型的分组进行确认 (链路确认报文LSA)
名词解释
1、传送的LSA link status advertisement 链路状态通告,包括拓扑信息
具体包括:网段的前缀 掩码 连接的路由器的哪些接口 直连哪些路由器
LSA分为7种类型
某些包含的是拓扑信息 但是有些包含的是路由信息
2、LSDB 它是LSA的的集合 链路状态数据库
对此进行spf 算法 得到spf 树 (基于cost代价)再得出最优的路由 并将其加入到路由表中
3、既支持vlsm 可变掩码、又支持 cidr(无类别域间选路)
4、封装
layer2| ip |ospf| fcs
直接封装到IP报头内 上层协议号为89 eigrp为88
详解
一、hello发送周期分为10s和30s两种,hello hold的时间为发送时间*4即40s或120s
二、dbd数据库描述报文 包含lsa的报头 即告诉邻居路由器 本地的lsdb中包含哪些LSA信息
同步lsdb过程中如果没有此描述可能会发送重复的LSA 造成资源的浪费导致低效LSA中除了拓扑
或路由信息的载荷外还有LSA的报头也叫LSA的摘要,报头中包含此LSA的标识,从而避免发送重复的LSA信息
三、路由器请求邻居有但是本地没有的LSA,以保证lsdb一致,根据交互的dbd,
将没有的LSA的报头放在LSAR中,表明需要的LSA
四、根据上面的一条 将邻居请求的LSA信息 放在LSU中由本地路由器发送给邻居
LSU包含完整的LSA信息
五、LSACK为确认机制 由OSPF定义的确认机制
ospf定义了两类的确认 一种为显式的确认 另一类为隐式的确认(基于***的确认机制)
前者收到一个报文 针对此报文 生成一个单独的确认报文
(只有ospf支持确认)后者收到一个报文 使用相同的报文再发送回来 ***设置为一致 既传输了信息 又做了确认
OSPF综合实验:在华为ENSP中建立如图所示拓扑图:
根据如图所示配置AR1,AR2,AR3 的配置
在R1中设置interface LoopBack0
ip address 1.1.1.1 255.255.255 .255
ospf 1 router-id 1.1.1.1 ###配置route-id
area 0.0.0.0 ###进入区域0 骨干区域
network 13.0.0.0 0.0.0.255###宣告网段 13.0.0.0 反掩码 0.0.0.255(32位)
network 1.1.1.1 0.0.0.0 ###宣告网段
同理在AR2,AR3中配置同样的步骤,配置不同参数即可
配置完成后,通过在R1的G0/0/0口抓包
通过抓包发现DR是13.0.0.1,BDR是13.0.0.2
接着关闭AR1
在重新开启AR1,再次在G0/0/0口抓包
发现DR变成了13.0.0.2,BDR变成了13.0.0.3。
实验结束。实验总结:当DR设备出现故障再重新启动上后,不能再变回DR了,会退到BDR