R I P使用特殊的报文来收集和共享至有关目的地的距离信息。图1 2 - 1显示了路由信息域中只带一个目的地的R I P报文。
R I P报文中至多可以出现2 5个A F I、互联网络地址和度量域。这样允许使用一个R I P报文来更新一个路由器中的多个路由表项。包含多个路由表项的R I P报文只是简单地重复从A F I到度量域的结构,其中包括所有的零域。这个重复的结构附加在图1 2 - 1结构的后面。具有两个表项的R I P报文如图1 2 - 2所示。
地址域可以既包括发送者的地址也包括发送者路由表中的一系列I P地址。请求报文含有一个表项并包括请求者的地址。应答报文可以包括至多2 5个R I P路由表项。
整个的R I P报文大小限制是5 1 2 B。因此,在更大的R I P网络中,对整个路由表的更新请求需要传送多个R I P报文。报文到达目的地时不提供顺序化;一个路由表项不会分开在两个R I P报文中。因此,任何R I P报文的内容都是完整的,即使它们可能仅仅是整个路由表的一个子集。当报文收到时接收节点可以任意处理更新,而不需对其进行顺序化。
比如,一个R I P路由器的路由表中可以包括1 0 0项。与其他R I P路由器共享这些信息需要4个R I P报文,每个报文包括2 5项。如果一个接收节点(结点)首先收到了4号报文(包括从7 6至1 0 0的表项),它会首先简单地更新路由表中的对应部分,这些报文之间没有顺序相关性。这样使得R I P报文的转发可以省去传输协议如T C P所特有的开销。
1. 命令域
命令域指出R I P报文是一个请求报文还是对请求的应答报文。两种情形均使用相同的帧结构:
请求报文请求路由器发送整个或部分路由表。
应答报文包括和网络中其他R I P节点共享的路由表项。应答报文可以是对请求的应答,也可以是主动的更新。
2. 版本号域
版本号域包括生成R I P报文时所使用的版本。R I P是一个开放标准的路由协议,它会随时间而进行更新,这些更新反映在版本号中。虽然有许多像R I P一样的路由协议出现,但R I P只有两个版本:版本1和版本2。这一章对通常使用的版本1进行描述。
3. 0域
嵌入在R I P报文中的多个0域证明了在RFC 1058出现之前存在许多如R I P一样的协议。大多数0域为的是为了向后兼容旧的如R I P一样的协议,0域说明不支持它们所有的私有特性。
比如,两个旧的机制t r a c e o n和t r a c e o ff。这些机制被RFC 1058抛弃了,然而开放式标准R I P需要和支持这些机制的协议向后兼容。因此, RFC 1058在报文中为其保留了空间,但却要求这些空间恒置为0。当收到的报文中这些域不是0时就会被简单地丢弃。
不是所有的0域都是为了向后兼容。至少有一个0域是为将来的使用而保留的。
4. AFI域
地址家族标识(Address Family Identifier,A F I )域指出了互联网络地址域中所出现的地址家族。虽然RFC 1058是由I E T F创建的,因此适用于网际协议( I P ),但它的设计提供了和以前版本的兼容性。这意味着它必须提供大量互联网络地址构成或家族的路由信息的传输。因此,开放式标准R I P需要一种机制来决定其报文中所携带地址的类型。
5. 互联网络地址域
4字节的互联网络地址域包含一个互联网络地址。这个地址可以是主机、网络,甚至是一个缺省网关的地址码。这个域内容如何变化的两个例子如下:
在一个单表项请求报文中,这个域包括报文发送者的地址。
在一个多表项应答报文中,这些域将包括报文发送者路由表中存储的I P地址。
6. 度量标准域
R I P报文中的最后一个域是度量标准域,这个域包含报文的度量计数。这个值在经过路由器时被递增。数量标准有效的范围是在1~1 5之间。度量标准实际上可以递增至1 6,但是这个值和无效路由对应。因此, 1 6是度量标准域中的错误值,不在有效范围内。
【相关文章】