- [1] 实验目的
- 通过抓包分析OSPF的包文
- 实现OSPF区域认证的配置
- 实验拓扑
实验拓扑图如图1-3所示。
图1-3 配置OSPF包文分析和验证
- 实验步骤
- IP地址的配置、运行OSPF的步骤与实验1相同,此处略。
- [2] 在R1的g0/0/0抓包
第1步,析包头。OSPF的所有的包都有一个共同的包头,包头格式如图1-4所示。
图1-4 OSPF包文头部格式
【技术要点】OSPF包文头部格式字段解析
- 版本,OSPF的版本号。对于OSPFv2来说,其值为2。
- 类型,OSPF报文的类型,有下面几种类型:1.hello 2.DD 3.LSR 4.LSU 5.LSACK
- OSPF报文的总长度,包括报文头在内,单位为字节。
- 发送该报文的路由器标识。
- 发送该报文的所属区域。
- 校验和,包含除了认证字段的整个报文的校验和。
- 验证类型,值有如下几种表示, 0:不验证;1:简单认证;2:MD5认证。
- 认证字段,0表示未作定义,1表示密码信息,2表示KEY ID 、MD5等
第2步,[3] 分析Hello包。Hello包的格式如图1-5所示。
图1-5 Hello包的格式
【技术要点】Hello包文格式字段解析
- Network Mask:发送Hello报文的接口所在网络的掩码
- HelloInterval:发送Hello报文的时间间隔。
- N:处理Type-7 LSAs
- MC:转发IP组播报文
- E:允许Flood AS-External-LSAs
- Rtr Pri:DR优先级。默认为1。如果设置为0,则路由器不能参与DR或BDR的选举
- RouterDeadInterval:失效时间。如果在此时间内未收到邻居发来的Hello报文,则认为邻居失效
- Designated Router:DR的接口地址
- Backup Designated Router:BDR的接口地址
- Neighbor:邻居,以Router ID标识
第3步,分析DD包。DD包的包文格式如图1-6所示。
图1-6 DD包的包文格式
【技术要点】DD包文头部格式字段解析
- Interface MTU:在不分片的情况下,此接口最大可发出的IP报文长度
- Options:可选项
- I:当发送连续多个DD报文时,如果这是第一个DD报文,则置为1,否则置为0
- M (More):当发送连续多个DD报文时,如果这是最后一个DD报文,则置为0。否则置为1,表示后面还有其他的DD报文。
- M/S (Master/Slave):当两台OSPF路由器交换DD报文时,首先需要确定双方的主从关系,Router ID大的一方会成为Master。当值为1时表示发送方为Master
- DD sequence number:DD报文序列号。主从双方利用序列号来保证DD报文传输的可靠性和完整性。
- LSA Headers:该DD报文中所包含的LSA的头部信息。
第4步,分析LSR。LSR的包文格式如图1-7所示。
图1-7 LSR的包文格式
【技术要点】LSR包文头部格式字段解析
- LS type:LSA的类型号。
- Link State ID:根据LSA中的LS Type和LSA description在路由域中描述一个LSA。
- Advertising Router:产生此LSA的路由器的Router ID。
第5步,分析LSU。LSU的包文格式如图1-8所示
图1-8 LSU的包文格式
【技术要点】LSU包文头部格式字段解析
- LS age:LSA产生后所经过的时间,以秒为单位。无论LSA是在链路上传送,还是保存在LSDB中,其值都会在不停的增长。
- Options:可选项
- LS type:LSA的类型:
- Link State ID:与LSA中的LS Type和LSA description一起在路由域中描述一个LSA。
- Advertising Router:产生此LSA的路由器的Router ID。
- LS sequence number:LSA的序列号。其他路由器根据这个值可以判断哪个LSA是最新的。
- LS checksum:除了LS age外其它各域的校验和。
- Length:除了LS age外其它各域的校验和。
注:所以的LSA都有一个这样的LSU我包头
第6步,分析LSACK 。LSACK的包文格式如图1-9所示。
图1-9 LSACK的包文格式
LSACK是用来对接收到的LSU报文进行确认。内容是需要确认的LSA的Header(一个LSAck报文可对多个LSA进行确认)。LSAck(Link State Acknowledgment Packet)报文根据不同的链路以单播或组播的形式发送。
-
- R1和R2之间采用接口认证
R1的配置
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher joinlabs
R2的配置
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ospf authentication-mode md5 1 cipher joinlabs
在R1的接口g0/0/0抓包,认证包文格式如图1-10所示。
图1-10 认证包文格式
【技术要点】认证包文字段解析
- Auth Type:认证类型为MD5
- Auth Crypt key id:配置的ID号
- Auth Crypt Data Length:数据长度为15
- Auth Crypt Sequence Number:认证的序列号为505
- Auth Crypt Data:认证数据为哈希得到的字符串
-
- 在区域0配置区域认证
R1的配置
[R1]ospf
[R1-ospf-1]are
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher joinlabs
R2的配置
[R2]ospf
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher joinlabs
R3的配置
[R3]ospf
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher joinlabs
- 实验调试
【技术要点】
OSPF支持报文验证功能,只有通过验证的OSPF报文才能接收,否则将不能正常建立邻居。
路由器支持两种验证方式:
-
- 区域验证方式:属于区域的接口发出的OSPF包文都会携带认证信息
- 接口验证方式:通过本接口发送的包文都会携带认证信息
当两种验证方式都存在时,优先使用接口验证方式。
本文出自作者的《华为认证HCIP-datacom认证实验指南》
编辑