OSPF使用5种不同的报文类型。每种类型用于支持不同的,专门的网络功能。这5种类型是:
·HELLO报文(类型1 )。
·数据库描述报文(类型2 )。
·链路-状态请求报文(类型3 )。
·链路-状态更新报文(类型4 )。
·链路-状态应答报文(类型5 )。
这5种报文类型有时用编号指明,而不是用名字。所以, OSPF类型5报文实际上是指链路-状态应答报文。所有这些报文类型使用OSPF头。
一、HELLO报文
OSPF包含一个用于建立和维护相邻站点之间关系的协议( HELLO协议)。这些关系称为连接性。连接性是OSPF交换路由数据的基础。
通过这个协议和报文类型, OSPF节点能发现区中的其他OSPF节点。它的名字表明了其含义,HELLO协议在可能的相邻路由器之间建立通信。HELLO协议使用非凡的子报文结构,这个结构附加到标准2 4字节的OSPF头后面。这些结构共同构成HELLO报文。
OSPF网络中的所有路由器必须遵守一定的规则,这个规则在整个网络中要一致。这些规则包括:
网络掩码。
HELLO报文广播的间隔。
网络中的其他路由器认为一个没有反应的路由器为死节点的时间(路由器死时间间隔)。
OSPF中的所有路由器对这些参数必须使用相同值,否则网络可能不会正常工作。这些参数通过HELLO报文进行交换。它们一起构成相邻节点之间通信的基础。它们要确保在不同网络的路由器之间不形成相邻关系(连接性),并且网络中的所有成员要对多久彼此联系一次成达共识。
HELLO报文也包括最近已与其联系过的其他路由器列表(使用它们自己惟一的路由器I D )。这个N e i g h b o r (相邻者)域使邻居发现过程成为可能。HELLO报文还包括几个其他的域,如Designated Router(指定路由器)、Backup Designated Router(备份指定路由器)和其他一些域。这些域对于维护连接性,支持OSPF网络的稳定周期和收敛都是有用的。
二、DD报文
当OSPF中的两个路由器初始化连接时要交换数据库描述(DD)报文。这个报文类型用于描述,而非实际地传送OSPF路由器的链路-状态数据库内容。由于数据库的内容可能相当长,所以可能需要多个数据库描述报文来描述整个数据库。实际上,保留了一个域用于标识数据库描述报文序列。接收方对报文的重新排序使其能够真实地复制数据库描述报文。
DD交换过程按询问/应答方式进行,在这个过程中,一个路由器作为主路由器。另一个路由器作为从路由器,主路由器向从路由器发送它的路由表内容。显然,主从之间的关系会因每个DD交换的不同而不同。网络中的所有路由器会在不同时刻作用,在这个过程中既可能是主又可能是从。
三、链路-状态请求报文
OSPF报文的第三种类型为链路-状态请求报文。这个报文用于请求相邻路由器链路-状态数据库中的一部分数据。表面上讲,在收到一个D D更新报文之后, OSPF路由器可以发现相邻信息不是比自己的更新就是比自己的更完全。假如是这样,路由器会发送一个或几个链路-状态请求报文给它的邻居(具有更新信息的路由器)以得到更多的链路状态信息。
请求的信息必须是非常具体的。它必须使用下面的标准规范指明所要求的数据:
·链路-状态( L S )类型号( 1到5 )。
·LS标识。
·通告路由器。
这些规范一起指明了一个具体的OSPF数据库子集,而不是它的一个事例。一个事例是与信息相同的子集,这个子集带有暂时边界(也就是时戳)。记住, OSPF是一个动态路由协议,它能对网络中链路状态的变化自动作出反应。因此, L S请求的接收者把对这些特定路由信息解释为最新数据。
OSPF使用5种不同的报文类型。每种类型用于支持不同的,专门的网络功能。这5种类型是:
·HELLO报文(类型1 )。
·数据库描述报文(类型2 )。
·链路-状态请求报文(类型3 )。
·链路-状态更新报文(类型4 )。
·链路-状态应答报文(类型5 )。
这5种报文类型有时用编号指明,而不是用名字。所以, OSPF类型5报文实际上是指链路-状态应答报文。所有这些报文类型使用OSPF头。
一、HELLO报文
OSPF包含一个用于建立和维护相邻站点之间关系的协议( HELLO协议)。这些关系称为连接性。连接性是OSPF交换路由数据的基础。
通过这个协议和报文类型, OSPF节点能发现区中的其他OSPF节点。它的名字表明了其含义,HELLO协议在可能的相邻路由器之间建立通信。HELLO协议使用非凡的子报文结构,这个结构附加到标准2 4字节的OSPF头后面。这些结构共同构成HELLO报文。
OSPF网络中的所有路由器必须遵守一定的规则,这个规则在整个网络中要一致。这些规则包括:
网络掩码。
HELLO报文广播的间隔。
网络中的其他路由器认为一个没有反应的路由器为死节点的时间(路由器死时间间隔)。
OSPF中的所有路由器对这些参数必须使用相同值,否则网络可能不会正常工作。这些参数通过HELLO报文进行交换。它们一起构成相邻节点之间通信的基础。它们要确保在不同网络的路由器之间不形成相邻关系(连接性),并且网络中的所有成员要对多久彼此联系一次成达共识。
HELLO报文也包括最近已与其联系过的其他路由器列表(使用它们自己惟一的路由器I D )。这个N e i g h b o r (相邻者)域使邻居发现过程成为可能。HELLO报文还包括几个其他的域,如Designated Router(指定路由器)、Backup Designated Router(备份指定路由器)和其他一些域。这些域对于维护连接性,支持OSPF网络的稳定周期和收敛都是有用的。
二、DD报文
当OSPF中的两个路由器初始化连接时要交换数据库描述(DD)报文。这个报文类型用于描述,而非实际地传送OSPF路由器的链路-状态数据库内容。由于数据库的内容可能相当长,所以可能需要多个数据库描述报文来描述整个数据库。实际上,保留了一个域用于标识数据库描述报文序列。接收方对报文的重新排序使其能够真实地复制数据库描述报文。
DD交换过程按询问/应答方式进行,在这个过程中,一个路由器作为主路由器。另一个路由器作为从路由器,主路由器向从路由器发送它的路由表内容。显然,主从之间的关系会因每个DD交换的不同而不同。网络中的所有路由器会在不同时刻作用,在这个过程中既可能是主又可能是从。
三、链路-状态请求报文
OSPF报文的第三种类型为链路-状态请求报文。这个报文用于请求相邻路由器链路-状态数据库中的一部分数据。表面上讲,在收到一个D D更新报文之后, OSPF路由器可以发现相邻信息不是比自己的更新就是比自己的更完全。假如是这样,路由器会发送一个或几个链路-状态请求报文给它的邻居(具有更新信息的路由器)以得到更多的链路状态信息。
请求的信息必须是非常具体的。它必须使用下面的标准规范指明所要求的数据:
·链路-状态( L S )类型号( 1到5 )。
·LS标识。
·通告路由器。
这些规范一起指明了一个具体的OSPF数据库子集,而不是它的一个事例。一个事例是与信息相同的子集,这个子集带有暂时边界(也就是时戳)。记住, OSPF是一个动态路由协议,它能对网络中链路状态的变化自动作出反应。因此, L S请求的接收者把对这些特定路由信息解释为最新数据。