OSPF 协议总结---By Joe&东东&校长OSPF 的五个包:1.Hello:9 项内容,4 个必要2.DBD:数据库描述数据包(主要描述始发路由器数据库中的一些或者全部 LSA 信息),主要包括接口的 MTU,主从位 MS,数据库描述序列号等);3.LSR:链路状态请求数据包(查看收到的 LSA 是否在自己的数据库,或是更新的 LSA,如果是将向邻居发送请求);4.LSU:链路状态更新数据包(用于 LSA 的泛洪扩散和发送 LSA 去响应链路状态请求数据包);5.LSACK:链路状态确认数据包(用来进行 LSA 可靠的泛洪扩散,即对可靠包的确认)。Hello 包作用:1.发现邻居;2.建立邻居关系;3.维持邻居关系;4.选举 DR,BDR5.确保双向通信。Hello 包所包含的内容:路由器 idHello&Dead 间隔 *区域 id *邻居DRBDR优先级验证 *末节区域 *注:1.“*”部分全部匹配才能建立邻居关系。2.邻居关系为 FULL 状态;而邻接关系是处于 TWO-WAY状态。Hello 时间间隔:在点对点网络与广播网络中为 10 秒;在 NBMA 网络与点对多点网络中为 30 秒。注:保持时间为 hello 时间 4 倍虚电路传送的 LSA 为 DNA,时间抑制,永不老化.OSPF 的组播地址:DR 将使用组播地址 224.0.0.5 泛洪扩散更新的数据包到 DRothersDRothers 使用组播地址 224.0.0.6 发送更新数据包组播的 MAC 地址分别为:0100.5E00.0005,0100.5E00.0006OSPF 的包头格式:| 版本| 类型 | 长度| 路由器 ID | 区域 ID| 验证和 |验证类型|验证 |数据|| 1 byte |1|2|4|4|2|2| 8| variance |OSPF 支持的验证类型:OSPF 支持明文和 md5 认证,用 Sniffer 抓包看到明文验证的代码是“1”,md5验证的代码是“2”。OSPF 支持的网络类型:1.广播2.非广播3.点对点(若 MTU 不匹配 将停留在 EX-START状态)4.点对多点5.虚电路(虚电路的网络类型是点对点)虚链路必须配置在 ABR 上,虚链路的配置使用的命令是 area transit-area-id virtual-link router-id虚链路的 Metric 等同于所经过的全部链路开销之和DR /BDR 选举:1.优先级(0~255; 0 代表不参加选举;默认为 1);2.比较 Router-id。次者为 BDR。在 Point-to-Point, Point-to-Multipoint(广播与非广播)这三种网络类型不选取 DR 与BDR; Broadcast, NBMA 选取 DR 与 BDR。先启动 OSPF 进程的路由器会等待一段时间,这个时间内你没有启动其它路由的OSPF 进程的话,第一...