OSPF-OSPF通用报头
验证理论
1.OSPF信息类型,每个信息类型的作用,每个信息类型中每个字段存在的价值
第一节——通用报头
实验拓扑:
初始配置:
将接口配置地址,抓包开始后配置上OSPF
1.OSPF通用报头
OSPF的5种报文具有相同的报文头格式,长度为24字节
内容:
字段 | 长度 | 含义 |
Version | 1字节 | 版本,OSPF的版本号。对于OSPFv2来说,其值为2. |
Type | 1字节 |
类型,OSPF报文的类型,包含
|
Packet length | 2字节 | OSPF报文的总长度,包括报文头在内,单位为字节。 |
Router-ID | 4字节 | 发送该报文的路由器标识 |
Area ID | 4字节 | 发送该报文的所属区域 |
Cheaksum | 2字节 | 校验和,包含除了认证字段的整个报文的校验和 |
AuType | 2字节 | 验证类型,值有如下几种表示,0:不验证,1:简单认证,2:MD5认证 |
Authentication | 8字节 | 鉴定字段,其数值根据验证类型而定。当验证类型为0时未作定义;类型为1时此字段为密码信息;类型为2时此字段包括Key ID,MD5验证数据长度和序列号的信息。 MD5验证数据添加在OSPF报文后面,不包含在Authentication字段中 |
type
packetlength
Router-ID与Area ID
更改AR1的route id为1.1.1.1。AR2的router id为2.2.2.2重新抓包
[AR1]dis ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbors
Area 0.0.0.0 interface 155.1.12.1(GigabitEthernet0/0/0)'s neighbors
Checksum:用于验证报文在传输过程中没有被修改
AuType,Authentication:
- 因为OSPF的认证字段是在通用报头中,所以OSPF的认证是对hello,dd,lsr,lsu,lsack都进行认证
- 同时增删认证不需要再次建立邻居,只是下一次发送的hello包中再次携带认证参数
- 区域认证与接口认证只要使用的同为simple或者同为MD5认证,则这两个参数没有区别
- 在区域或者接口内,后配置的MD5或者simple模式认证会覆盖先前配置的MD5或者simple模式认证
未认证状态:均为空
12之间配置基于区域的简单认证:
同时在两个设备上增加密码相同的基于区域的简单认证,直接在下一个hello包中的通用报头中携带了认证类型为1和密码内容用于再次协调参数,不需要重新建立邻居
配置:area 0 下
12之间配置基于区域的MD5认证:
配置:
删除前面的基于区域的简单认证,增加MD5认证
同时删除时邻居亦无需重新建立,只是下一次发送的hello包中认证类型和信息为0
同时增加MD5认证也只是下一个hello包又携带有MD5认证,只是hello包中又携带有认证信息,此时不再截图,与上面类似
此时认证类型为2,此字段包括Key ID,MD5验证数据长度和序列号的信息。MD5验证数据添加在OSPF报文后面,不包含在Authentication字段中
已知当区域认证和接口认证共存时,区域认证优先,在已有基于MD5的区域认证的状态下增加配置基于接口的简单认证。观察12之间配置为基于区域的简单认证与基于接口的简单认证之间这两个字段是否变化:
配置:
同样,邻居无需重新建立,只是hello中再次携带认证参数。与基于区域简单认证所携带的字段无差别
直接新增基于接口的MD5认证,将会覆盖前面的基于接口的简单认证。观察基于接口的MD5认证与基于区域的MD5认证是否存在区别
配置:接口下
发现与基于区域的MD5认证,在这两个字段上并无差别
且邻居起来的时间也不会被刷新
[AR1-GigabitEthernet0/0/0]dis ospf peer
OSPF Process 1 with Router ID 1.1.1.1
Neighbors
Area 0.0.0.0 interface 155.1.12.1(GigabitEthernet0/0/0)'s neighbors
Router ID: 2.2.2.2 Address: 155.1.12.2
State: Full Mode:Nbr is Master Priority: 1
DR: 155.1.12.2 BDR: 155.1.12.1 MTU: 0
Dead timer due in 37 sec
Retrans timer interval: 5
Neighbor is up for 00:01:26
Authentication Sequence: [ 0 ]