|
路由信息协议(版本2) (RFC1723RIPVersion2CarryingAdditionalInformation)
本文档的状态
本文档详细说明了一种Internet标准的循路协议以及进一步的请求讨论和建议。 请参考最新版的“Internet正式协议标准(STD1)”来获得本协议的标准化程度和状态。 本文档的发布不受任何限制。
概要 本文档详细说明了正如定义在[1,2]中的路由信息协议的扩展,扩充了在RIP信息中携 带有用信息的数量,增加了安全措施。 在本文档的旧文档RFC1388中,描述了对“路由信息协议”STD34(RFC1058)的更 新信息。 RIP-2协议分析参考文档RFC1721[4] IP-2适用性陈述参考文档RFC1722[5] RIP-2管理系统库的描述参考文档RFC1724[3] RFC1389是其旧文档
致谢 感谢ITTFripv2工作组对RIP-2协议改进提供帮助
目录
1、源由..................……………........2 2.现行的RIP协议..........................2 3.协议扩展................……………......3 3.1认证...................…………...4 3.2路由标签...................…........4 3.3子网掩码....................…......5 3.4下一跳....................….......5 3.5组播....................………....5 3.6请求与响应....................…...6 4.兼容性..................…………........6 4.1兼容转换................……….....6 4.2验证机制...................……....6 4.3增加跳距极限限制.....................7 4.4无地址链接.................……....7 5.安全考虑..............……………….....7 附录A....................………….......8 参考文献.......................……………...8 作者地址......................…………....9
1、源由 随着OSPF和IS-IS协议的出现,有人认为RIP协议过时了。不可否认,新的IGP路由 协议比RIP协议优越得多,但RIP协议也有许多优点: 首先,在小型网络中,RIP协议在带宽使用、配置和管理时间上有一些优势。而且,RIP 协议特别是相对新的IGP协议来说十分容易去实现。 此外,现在RIP还在大量使用,这是OSPF与IS-IS所不能比的,并且这种情形还可能 持续好几年时间。 既然RIP在许多领域和一定时期内仍具有使用价值,那么就有理由增加RIP的有效性, 这是毫无疑问的,因为对已有技术进行改造所获收益比起彻底更新要现实得多。
2、现行的路由信息协议 现行的RIP数据包仅包含路由器为包在网络中路由所需的最少必需信息,由于其自身 的原因,RIP包中还有许多地址空间未用。 现行的RIP协议并没有考虑自治系统之间以及内部网关协议与外部网关协议之间的联 系,没有考虑子网和验证功能,这些问题要由后来的RIP协议加以解决。 因为路由器需要子网掩码来获知怎样去决定路由,故缺少子网掩码对路由器来说是一 个很严重的问题。如果RIP路由是网络路由(所有非网络号字节为零),则子网掩码就是网 络掩码;然而如果加入了主机号,路由器就不能确定出子网掩码号,同样不能确定是子网路 由还是主机路由。当前,一些路由器是通过路由学习来简单地选择接口的子网掩码和决定路 由类型的。
3.协议的扩展 本文档对RIP协议本身没有做根本改变,只是对RIP数据包格式定义作了补充,来使 路由器享有一些重要的附加信息。 RIP数据包的首四位字节是RIP数据头,余下的字节由1到25个路由实体组成。新的路 由信息协议数据包格式定义如下: 081631 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |命令(1)|版本(1)|未使用| +-----------------+------------------+---------------------------------+ |地址族标识符(2)|路由标签(2)| +-------------------------------------+---------------------------------+ |IP地址(4)| +------------------------------------------------------------------------+ |子网掩码(4)| +------------------------------------------------------------------------+ |下一跳(4)| +-------------------------------------------------------------------------+ |度量值(4)| +-------------------------------------------------------------------------+ 其中命令域、地址族标识符域、IP地址域和度量值符域都保留了它们在RFC1058中的 定义。版本域被指定为2的RIP包将会支持使用验证机制和携带一些新的定义域信息;未 被使用的两个字节域继续保留不使用。 所有的字节域皆采用IP网络字节顺序来编码。
3.1、验证功能 验证机制是数据包的功能,在RIP消息头中只有两个字节的空间可利用,然而任何合 理的验证算法都需要两字节以上的空间,所以对于RIP(版本2)的验证算法将使用整个RIP 消息体中一个实体空间来进行身份验证。 如果数据包中第一项实体(并且仅仅是第一项)的地址族标志符为0XFFFF,那么这 个实体的其它字节域就包含了验证所需的信息,也就是说RIP数据包中仅剩下最多包含24 个实体路由信息。如果不使用验证功能,则数据包中就没有含有地址族标志为0XFFFFFF 实体。具有验证功能的RIP数据包格式定义如下:
081631 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |命令(1)|版本(1)|未使用| +--------------------+-----------------+---------------------------------------------+ |0xFFFF|验证类型(2)| +---------------------------------------+---------------------------------------------+ ~验证信息(16)~ +--------------------------------------------------------------------------------------+ 现在,能确定的唯一的验证算法就是“明文验证”,它的类型是2,其余下的16个字节 包含了纯文本密码。如果密码大小少于16个字节,则位数向左对齐,右边补零。
3.2路由标签 路由标记字段的存在是为了支持外部网关协议(EGP)。有关与这个字段的使用已经超出 本协议的范围了。不论使用什么方法,这个字段被期望用于传递自治系统的标号给外部网关 协议以及边界网关协议(BGP)。任何RIP系统收到一个包含有非零路由标记字段的RIP包时, 必须重新对外广播收到的值。而没有路由标记的路由器必须将0作为自己的路由标记对外广 播。 路由标签域(RT)是分配给路由的一个属性,必须受到保护并随路由重发。路由标签 域的设置提供了把内部RIP路由与外部RIP路由(可能来于EGP和另一个IGP)隔离的方 法 除RIP以外的路由器支持的协议都应该能配置,以使路由标签能配置成从不同源输入的路 由。例如:从EGP或BGP输入的路由要么可以成任意值的路由标签,要么至少可设置成发来路由 的独立系统号。 在RIP领域中只要所有路由器协调的使用路由标签域,其许多使用是十分有效的,它 考虑了在BGP-RIP协议间交互文档的可能性,此交互文档描述了在传输网络中同步路由的 方法。
3.3子网掩码 子网掩码域字段包含的子网掩码,对应于IP地址的网络号部分。如果其值为0,表示 这个实体中不包含子网掩码。 运行RIP-1的路由器在收听和处理RIP-2数据包时遵循以下原则: 1)网络内部的路由信息不可以向其他的网络广播, 2)有关特定子网的路由不能对运行RIP-1协议的路由器广播,因为它会误认为那是一个 到主机的路由, 3)超网路由不能对运行RIP-1协议的路由器广播,因为它会被路由器曲解。
3.4、下一跳 指定一个包到一个特定地址的立即下一跳地址的路由器应该被路由通过的。如果这个 字段的值为0.0.0.0的话,说明这个路由是RIP广播发出者。每一个被指定的下一跳地址, 都必须是可以通过发送RIP广播的逻辑子网而直接抵达的。 增加下一跳地址字段的目的是消除包在发送的过程中不会增加不必要的跳数。当一个网 络上并不是所有的路由器都运行RIP时,下一跳地址字段就会显得特别有用。一个很简单 的例子就是附录A中给出的例子。注意,下一跳地址字段是一个可选的字段。也就是说, 如果这些信息被忽略了,路由 |