网站设计的论坛,简历模板免费下载可编辑,中国优秀设计网站有哪些内容,网络推广运营外包1.OSPF报文格式
24字节 字段长度含义Version1字节版本#xff0c;OSPF的版本号。对于OSPFv2来说#xff0c;其值为2。Type1字节类型#xff0c;OSPF报文的类型#xff0c;有下面几种类型#xff1a; 1#xff1a;Hello报文#xff1b;● 2#xff1a;DD报文#xff1…1.OSPF报文格式
24字节 字段长度含义Version1字节版本OSPF的版本号。对于OSPFv2来说其值为2。Type1字节类型OSPF报文的类型有下面几种类型 1Hello报文● 2DD报文● 3LSR报文● 4LSU报文● 5LSAck报文。Packet length2字节OSPF报文的总长度包括报文头在内单位为字节Router ID4字节发送该报文的路由器标识。Area ID4字节发送该报文的所属区域。Checksum2字节校验和包含除了认证字段的整个报文的校验和。AuType2字节验证类型值有如下几种表示● 0不验证。● 1简单认证。● 2MD5认证。Authentication8字节鉴定字段其数值根据验证类型而定● 当验证类型为0时未作定义。● 类型为1时此字段为密码信息 ● 类型为2时此字段包括Key ID、MD5验证数据长度和序列号的信 MD5验证数据添加在OSPF报文后面不包含在Authenticaiton字段
2. DD报文-database description
作用用于数据库的同步 对比对端链路状态通告(LSA)和自己链路状态通告的差异通过LSA中的LSA Type 、Link-state ID、adveriting Router全部一致才认为自己有该LSA 如果自己存在对端的LSA还要比较LSA的新旧通过sequence number越大越优相同则比较checksum再相同比较LSA Age 为什么不直接发送全部的LSA给其他路由器原因在于只比对摘要信息判断是否需要更新自己数据库可以节省链路开销有针对性的更新需要的路由条目按需索取。 DD报文格式 字段长度含义Interface MTU16比特在不分片的情况下此接口最大可发出的IP报文长度。华为OSPFv2默认不检查该值为0华为OSPFv3需要检查。Options8比特可选项● E允许Flood AS-External-LSAs● MC转发IP组播报文● N/P处理Type-7 LSAs● DC处理按需链路。I (Init)1比特当发送连续多个DD报文时如果这是第一个DD报文则置为1否则置为0。M(More)1比特当发送连续多个DD报文时如果这是最后一个DD报文则置为0。否则置为1表示后面还有其他的DD报文。MS(Master/Slave)1比特当两台OSPF路由器交换DD报文时首先需要确定双方的主从关系Router ID大的一方会成为Master。当值为1时表示发送方为Master。DD sequence number32比特DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性。An LSA Header每个20字节该DD报文中所包含的LSA的头部信息。 OSPF是承载于IP之上IP是不可靠的通过OSPF自身报文保证可靠性。其中DD sequence number可以保证DD报文可靠性和有序性I 、M(More)、MS(Master/Slave)保证DD报文可控性。 抓包验证 在AR1的g0/0/0进行抓包分析
第一个DD包10.1.12.1 -10.1.12.2没有LSA摘要 10.1.12.2-10.1.12.1 .2 RouterID大为master没有LSA摘要 10.1.12.1 -10.1.12.2 序列号这个master保持一致通过这种类似三次握手的方式保持可靠性。发送LSA摘要给.2 10.1.12.2-10.1.12.1 .2向.1发送LSA 摘要序列号1 10.1.12.1 -10.1.12.2 确认上一个报文LSA 摘要为空回复报文序列号于master发送序列号相同。 在AR1上开启Debug模式看DD报文
R1terminal debugging
R1debugging ospf packet dd
# 由于前面已经到达FULL状态不会再交互DD报文这里reset一下OSPF进程
R1reset ospf process
# 关闭debug
R1undo debugging all 可以看到第一DD报文信息与抓包的一致I、M、MS置位LSA头部长度为0 .1发送给.2的第二条DD报文可以看到I、M、MS已经复位LSA头部长度为1有一条摘要 .1发送给.2的第三条DD报文可以看到I、M、MS已经复位LSA头部长度为0没有LSA header