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,BDR 5.确保双向通信。 Hello 包所包含的内容: 路由器id Hello&Dead 间隔 * 区域id * 邻居 DR BDR 优先级 验证 * 末节区域 * 注:1.“*”部分全部匹配才能建立邻居关系。 2.邻居关系为 FULL 状态;而邻接关系是处于TWO-WAY 状态。 Hello 时间间隔: 在点对点网络与广播网络中为 10 秒; 在NBMA 网络与点对多点网络中为 30 秒。 注: 保持时间为 hello 时间4 倍 虚电路传送的LSA 为 DNA,时间抑制,永不老化. OSPF 的组播地址: DR 将使用组播地址 224.0.0.5 泛洪扩散更新的数据包到DRothers DRothers 使用组播地址 224.0.0.6 发送更新数据包 组播的MAC 地址分别为:0100.5E00.0005,0100.5E00.0006 OSPF 的包头格式: | 版本 | 类型 | 长度 | 路由器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 rou ter-id 虚链路的Metric 等同于所经过的全部链路开销之和 DR /BDR 选举: 1.优先级(0~255; 0 代表不参加选举;默认为 1); 2.比较 Router-id。 次者为 BDR。 在 Point-to-Point, Point-to-Multipoint(广播与非广播)这三种网络类型不选取 DR 与BDR; Broadcast, NBMA 选取 ...