ccie

网工面试99%都会遇到的问题——OSPF 数据包类型

网工面试99%都会遇到的问题——OSPF 数据包类型 OSPF的包有多层封装,可以象剥洋葱皮一样看每一层。 如图1所示,最外层是IP头(思科的OSPF包允许的最大尺寸是1500字节),IP头里面封装的是5种OSPF包类新中的一种。 每一种包以自己的包头开始,包头后面根据不同的包类型,内容也有所不同,比如Hello包的内容是邻居列表;链路状态请求包包含了一系列LSAs描述;LSAs更新包则包含了一系列的LSAs。 OSPF包的多层封装 这里需要注意的是,OSPF的包只能在邻居间互相传递,它们绝对不能被路由到始发网段之外。 利用任何一个抓包软件抓到的OSPF包都可以看到,OSPF包的TTL值为1,这也就保证了这个包只能被传一跳。 下面来详细分析一下每一种包头: OSPF包头,5种OSPF包类型的包头,结构完全一样,只是包的类型和数据不同 OSPF包头 每一个OSPF包都是以一个24字节的IP包头开始的。 Version 字段是OSPF的版本号,现在最新的版本号为2。 Type 字段是本OSPF包的类型,OSPF共有5种类型的包 类型代码 1 为 Hello 类型代码 2 为 Database Description 类型代码 3 为 Link State Request 类型代码 4 为 Link State Update 类型代码 5 为 Link State Acknowledgment Packet Length 字段是本OSPF包的长度(包括包头),单位是字节。最长为1500字节 Router ID 字段是OSPF包的始发路由器Router ID Area ID 字段是OSPF包始发的区域ID,也就是始发的发送接口属于的区域ID,若这个是在virtual-link上发送,则Area ID是0,因为virtual-link就是属于Area 0的。 Checksum 字段是对整个包的标准的IP校验和。 AuType 字段是OSPF启动的认证模式 0 未启动认证 1 明文验证 2 MD5验证 Authentication 字段是包被认证所必须的信息。 若认证类型为0,则本字段的内容被忽略;若认证类型为1,则本字段包含最长为64比特的密码;若认证类型为2,则本字段包含Key ID、认证数据的长度、非递减序号。