RIP是Routing Information Protocol(路由信息协议)的简称。它是一种较为简单的内部网关协议IGP(Interior Gateway Protocol),主要用于规模较小的网络中,比如校园网以及结构较简单的地区性网络。对于更为复杂的环境和大型网络,一般不使用RIP。
RIP是一种基于距离矢量(Distance-Vector)算法的协议,它通过UDP报文进行路由信息的交换,使用的端口号为520。
RIP有两个版本:RIP-1和RIP-2。
- RIP-1是有类别路由协议(Classful Routing Protocol),它只支持以广播方式发布协议报文。RIP-1的协议报文中没有携带掩码信息,它只能识别A、B、C类这样的自然网段的路由,因此RIP-1无法支持路由聚合,也不支持不连续子网(Discontiguous Subnet)。
- RIP-2是一种无分类路由协议(Classless Routing Protocol),有两种报文传送方式:广播方式和组播方式,缺省将采用组播方式发送报文,使用的组播地址为224.0.0.9。当接口运行RIP-2广播方式时,也可接收RIP-1的报文。
RIP-1的报文格式RIP-1报文由头部(Header)和多个路由表项(Route Entries)部分组成。在一个RIP报文中,最多可以有25个路由表项。RIP是一个基于UDP协议的,并且RIP-1的数据包不能超过512字节。
图1 RIP-1的报文格式
字段名 | 长度 | 含义 |
Command | 8比特 | 标识报文的类型: - 1:Request报文,向邻居请求全部或部分路由信息;
- 2:Reponse报文,发送自己全部或部分路由信息,一个Response报文中最多包含25个路由表项。
|
Version | 8比特 | |
Must be zero | 16/32比特 | 必须为零字段。 |
AFI(Address family identifier) | 16比特 | 地址族标识,其值为2时表示IP协议。对于Request报文,此字段值为0。 |
IP Address | 32比特 | 该路由的目的IP地址,可以是自然网段的地址,也可以是子网地址或主机地址。 |
Metric | 32比特 | 路由的开销值。对于Request报文,此字段值为16。 |
RIP-2的报文格式图2 RIP-2的报文格式
字段名 | 长度 | 含义 |
Command | 8比特 | 标识报文的类型: - 1:Request报文,向邻居请求全部或部分路由信息;
- 2:Reponse报文,发送自己全部或部分路由信息,一个Response报文中最多包含25个路由表项。
|
Version | 8比特 | |
Must be zero | 16比特 | 必须为零字段。 |
AFI(Address Family Identifier) | 16比特 | 地址族标识,其值为2时表示IP协议。对于Request报文,此字段值为0。 |
Route Tag | 16比特 | 外部路由标记。 |
IP Address | 32比特 | 该路由的目的IP地址,可以是自然网段的地址,也可以是子网地址或主机地址。 |
Subnet Mask | 32比特 | 目的地址的掩码。 |
Next Hop | 32比特 | 提供一个更好的下一跳地址。如果为0.0.0.0,则表示发布此路由的路由器地址就是最优下一跳地址。 |
Metric | 32比特 | 路由的开销值。对于Request报文,此字段为16。 |
RIP-2为了支持报文验证,使用第一个路由表项(Route Entry)作为验证项,并将AFI字段的值设为0xFFFF作为标识。
图3 RIP-2的验证报文格式
字段名 | 长度 | 含义 |
Command | 8比特 | 标识报文的类型: - 1:Request报文,向邻居请求全部或部分路由信息;
- 2:Reponse报文,发送自己全部或部分路由信息,一个Response报文中最多包含25个路由表项。
|
Version | 8比特 | |
Must be zero | 16比特 | 必须为零字段。 |
0xFFFF | 16比特 | 验证项标识,表示整个路由报文需要验证。 |
Authentication Type | 16比特 | |
Authentication | 16字节 | 验证口令,当使用明文验证时该字段才会包含密码信息。 |
参考标准
文档编号 | 描述 |
RFC 1058 | Routing Information Protocol |
RFC 1723 | RIP Version 2 Carrying Additional Information |
RFC 1721 | RIP Version 2 Protocol Analysis |
RFC 1722 | RIP Version 2 Protocol Applicability Statement |
RFC 1724 | RIP Version 2 MIB Extension |
RFC 2082 | RIP-2 MD5 Authentication |
RFC 2453 | RIP Version 2 |