1 Router ID
所谓的Router ID可以看作是一个IP地址,用以识别每台运行OSPF协议的路由器它的作用就是用来标识一台设备在同一个自治系统内部是唯一的。在OSPF中,这个Router ID通常可以手工指定也可以让系统自己选择。如果没有手工指定Router ID,那么系统会从当前配置的有效的IP地址中中选择一个地址最大的来作为Router ID。通常我们在配置Router ID是会选择Loopback接口。
2 OSPF的协议号
OSPF协议使用的协议号是89。OSPF协议是使用IP报文来封装,在IP Header中的Protocol字段为89。当IP协议收到一个IP报文时,如果发现IP Header 的Protocol字段为89时就会知道这个报文是OSPF报文,然后转发给处理OSPF报文的模块。
3 OSPF报文协议不转发
OSPF发送报文使用IP来发送,并将IP报文中的TTL值设为1。因此,OSPF报文只能传递到一条的范围,即使IP中目的地址是可达的,但由于TTL值经过一条后已经为0所以不再向任何设备转发此报文。(虚连接情况除外,虚连接会在以后的章节中介绍)。
4 OSPF数据包格式。
在OSPF路由协议的数据包中,其数据包头长为24个字节,包含如下8个字段:
4.1 Version number-定义所采用的OSPF路由协议的版本。
4.2 Type-定义OSPF数据包类型。OSPF数据包共有五种。
4.3 Hello-用于建立和维护相邻的两个OSPF路由器的关系,该数据包是周期性地发送的。
4.4 Database Description-用于描述整个数据库,该数据包仅在OSPF初始化时发送。
4.5 Link state request-用于向相邻的OSPF路由器请求部分或全部的数据,这种数据包是在当路由器发现其数据已经过期时才发送的。
4.6 Link state update-这是对link state请求数据包的响应,即通常所说的LSA数据包。
4.7 Link state acknowledgment-是对LSA数据包的响应。
4.8 Packet length-定义整个数据包的长度。
4.9 Router ID-用于描述数据包的源地址,以IP地址来表示。
4.10 Area ID-用于区分OSPF数据包属于的区域号,所有的OSPF数据包都属于一个特定的OSPF区域。
4.11 Checksum-校验位,用于标记数据包在传递时有无误码。
4.12 Authentication type-定义OSPF验证类型。
4.13Authentication-包含OSPF验证信息,长为8个字节。