路由信息协议(RIP)是一种在网关与主机之间交换路由选择信息的标准。RIP 是一种内部网关协议。在国家性网络中如当前的因特网,拥有很多用于整个网络的路由选择协议。作为形成网络的每一个自治系统(AS),都有属于自己的路由选择技术,不同的 AS 系统,路由选择技术也不同。
路由信息协议(Routing Information Protocol,缩写:
RIP)是一种使用最广泛的内部网关协议(IGP)。(IGP)是在内部网络上使用的路由协议(在少数情形下,也可以用于连接到因特网的网络),它可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达哪些网络,这些网络有多远等。 RIP 属于网络层协议,并使用UDP作为传输协议。(RIP是位于网络层的)
虽然RIP仍然经常被使用,但大多数人认为它将会而且正在被诸如OSPF和IS-IS这样的路由协议所取代。当然,我们也看到EIGRP,一种和RIP属于同一基本协议类(距离矢量路由协议,Distance Vector Routing Protocol)但更具适应性的路由协议,也得到了一些使用。
Xerox公司在20世纪70年代开发的,是IP所使用的第一个路由协议,现在RIP已经成为从UNIX系统到各种路由器的必备路由协议。RIP协议有以下特点:
(1)RIP是自治系统内部使用的协议即内部网关协议,使用的是距离矢量算法。
(2)RIP使用UDP的520端口进行RIP进程之间的通信。
(3)RIP主要有两个版本:RIPv1和RIPv2。RIPv1协议的具体描述在RFC1058中,RIPv2是对RIPv1协议的 改进,其协议的具体描述在RFC2453中。
(4)RIP协议以跳数作为网络度量值。
(1)RIP是自治系统内部使用的协议即内部网关协议,使用的是距离矢量算法。
(2)RIP使用UDP的520端口进行RIP进程之间的通信。
(3)RIP主要有两个版本:RIPv1和RIPv2。RIPv1协议的具体描述在RFC1058中,RIPv2是对RIPv1协议的 改进,其协议的具体描述在RFC2453中。
(4)RIP协议以跳数作为网络度量值。
(5)RIP协议采用广播或组播进行路由更新,其中RIPv1使用广播,而RIPv2使用组播。
(6)RIP协议支持主机被动模式,即RIP协议允许主机只接收和更新路由信息而不发送信息。
(7)RIP协议支持默认路由传播。
(8)RIP协议的网络直径不超过15跳,适合于中小型网络。16跳时认为网络不可达。
(9)RIPv1是有类路由协议,RIPv2是无类路由协议,即RIPv2的报文中含有掩码信息。 [1]
(6)RIP协议支持主机被动模式,即RIP协议允许主机只接收和更新路由信息而不发送信息。
(7)RIP协议支持默认路由传播。
(8)RIP协议的网络直径不超过15跳,适合于中小型网络。16跳时认为网络不可达。
(9)RIPv1是有类路由协议,RIPv2是无类路由协议,即RIPv2的报文中含有掩码信息。 [1]
RIP所使用的路由算法是Bellman-Ford算法.这种算法最早被用于一个计算机网络是在1969年,当时是作为ARPANET的初始路由算法。
RIP是由“网关信息协议”(Xerox Parc的用于互联网工作的PARC通用数据包协议簇的一部分)发展过来的,可以说网关信息协议是RIP的最早的版本。后来的一个版本才被命名为“路由信息协议”,是Xerox网络服务协议簇的一部分。
目前RIP共有三个版本,RIPv1, RIPv2, RIPng
其中RIPV1和RIPV2是用在IPV4的网络环境里,RIPng是用在IPV6的网络环境里。
RIPv1
RIPv1使用分类路由,定义在[RFC 1058]中。在它的路由更新(Routing Updates)中并不带有
子网的资讯,因此它无法支持可变长度子网掩码。这个限制造成在RIPv1的网络中,同级网络无法使用不同的子网掩码。换句话说,在同一个网络中所有的子网络数目都是相同的。另外,它也不支持对路由过程的认证,使得RIPv1有一些轻微的弱点,有被攻击的可能。
RIPv2
因为RIPv1的缺陷,RIPv2在1994年被提出,将子网络的资讯包含在内,透过这样的方式提供无类别域间路由,不过对于最大节点数15的这个限制仍然被保留着。另外针对安全性的问题,RIPv2也提供一套方法,透过加密来达到认证的效果。而之后[RFC 2082]也定义了利用MD5来达到认证的方法。 RIPv2的相关规定在[RFC 2453] or
STD56。
RIPng
RIPng(Routing Information Protocol next generation)则被定义在[RFC 2080],主要是针对IPv6做一些延伸的规范。与RIPv2相比下其最主要的差异是:
RIPv2 支持RIP更新认证, RIPng 则没有 (IPv6 routers were, at the time, supposed to use IPsec for authentication);
RIPv2 容许附上arbitrary 的标签, RIPng 则不容许;
RIPv2 encodes the next-hop into each route entries, RIPng requires specific encoding of the nexthop for a set of route entries.
RIPv2 UDP的Port number 为 520,RIPng UDP的Port number 为 521