文章目录
ospf协议是一个跨层封装协议,跨四层封装,直接寄将应用层的数据封装在网络层协议后面。IP协议包中的协议号字段对应的数值为–89
ospf数据包
ospf的头部信息
(1)版本:指的是ospf版本,ipv4中opsf的版本为2所有该版本号为2
(2)类型:ospf数据包类型 hello--1 DBD-2 LSR--3 LSU--4 LSACK--5
(3)验证类型:null不认证--0 simple--1(明文) MD5--2(加密)
ospf认证时需要比较两部分,认证类型+认证数据
1、Hello—周期保活邻居关系
建立邻居关系的条件匹配:
(1)子网掩码相同:邻居之间hello包中所携带的掩码必须相同否者无法建立邻居关系;只针对以太网接口类型,点到点网络不做限制。
(2)hello时间和dead time时间相同:邻居之间保证一样的hello时间和死亡时间,否则无法建邻
(3)ospf特殊区域标记相同:8位特殊区域标记包含着ospf特殊区域标记,这个特殊区域标记不同则无法建邻
(4)认证相同:邻居之间认证数据和认证类型保持相同
2、BDB–数据库描述包,可以主从关系选举(未携带数据的DBD;携带链路状态数据库(LSDB)摘要信息)
主从关系选举:为主的优先进行LSA信息交换、主导选举时的隐形确认
(1)I---该位值为1,代表此时DBD包进行主从关系选举,后面将不携带LSDB的摘要信息
M---More 该位值为1,代表后续有更多的DBD包,该位值为0,代表最后一个DBD包
MS---Master 1为设备是主,0为设备是从
(2)DBD序列号---在DBD报文交互中,会逐次加1,用于确保DBD报文传输的可靠性和有序性,为隐形确认
3、LSR— 链路状态请求报文—基于DBD包中的摘要信息和本地的LSDB进行更对比,之后请求未知的LSA信息,链路状态类型+链路状态ID+通告路由器=一条LSA
4、LSU—链路状态更新报文,正真携带LSA的数据报文
链路状态更新数据包是OSPF数据包第4种类型,OSPF路由器会发此类数据包来实施LSA的泛洪。
单个LSU数据包内会包含多条LSA。OSPF路由器也会发送LSU数据包,来回应(邻居路由器发出的)LSU数据包。
以泛洪方式发出的LSA由LSA确认数据包进行确认。只要有一条未经确认的LSA,(OSPF路由器就会)每隔重传间隔时间重传一次。
5、LSACK—链路状态确认报文,通过LSA头部内容确认
链路状态确认数据包是OSPF数据包的第5种类型,用来对每条LSA进行确认。
OSPF路由器也会发送LSack数据包,来应答LSU数据包。
可用单个LSack数据包一次性确认收到的多条LSA。LSack数据包负责LSU数据包的可靠传输。
ospf接口网络类型
ospf接口网络类型---ospf在不同的网络类型下接口的工作方式
查看ospf接口网络类型命令 :dis ospf int 接口
修改接口的网络类型:ospf network-type 类型