路由信息协议

维基百科,自由的百科全书
跳转至: 导航搜索

路由信息协议(英语:Routing Information Protocol,缩写:RIP)是一种使用最广泛的内部网关协议(IGP)。(IGP)是在内部网络上使用的路由协议(在少数情形下,也可以用于连接到因特网的网络),它可以通过不断的交换信息让路由器动态的适应网络连接的变化,这些信息包括每个路由器可以到达哪些网络,这些网络有多远等。 RIP 屬於網路層

虽然RIP仍然经常的被使用,但大多数人认为它将会而且正在被诸如OSPFIS-IS这样的路由协议所取代。当然,我们也看到EIGRP,一种和RIP属于同一基本协议类(距离矢量路由协议,Distance Vector Routing Protocol)但更具适应性的路由协议,也得到了一些使用。

历史[编辑]

RIP所使用的路由算法Bellman-Ford算法.这种算法最早被用于一个计算机网络是在1969年,当时是作为ARPANET的初始路由算法。

RIP是由“网关信息协议”(Xerox Parc的用于互联网工作的PARC通用数据包协议簇的一部分)发展过来的,可以说网关信息协议是RIP的最早的版本。后来的一个版本才被命名为“路由信息协议”,是Xerox网络服务协议簇的一部分。

運作原理[编辑]

同一自治系統(A.S.)中的 路由器每 30秒會與相鄰的路由器 交換子訊息,以動態的建立路由表

RIP封包格式[编辑]

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| command (1)   | version (1)   |      must be zero (2)         |
+---------------+---------------+-------------------------------+
| address family identifier (2) |      must be zero (2)         |
+-------------------------------+-------------------------------+
|                         IP address (4)                        |
+---------------------------------------------------------------+
|                        must be zero (4)                       |
+---------------------------------------------------------------+
|                        must be zero (4)                       |
+---------------------------------------------------------------+
|                          metric (4)                           |
+---------------------------------------------------------------+

RIP 允許最大的hop數為15

版本[编辑]

目前RIP共有三個版本,RIPv1, RIPv2, RIPng。

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路由器理应会使用IPsec来进行身份验证;
  • RIPv2 容許给路由器附上任何標籤, RIPng 則不容許;
  • RIPv2 在每个路由表项中都保存下一跳的信息,RIPng 是对一组路由表项指定下一跳信息;
  • RIPv2 使用UDP端口520和多播地址224.0.0.9通信,RIPng 则使用UDP端口521和多播地址FF02::9通信

相似協定[编辑]

一隻比RIP更強大,且同樣基於距離矢量路由協定的協定,是思科專有的IGRP思科在其現時發行的軟件中已再沒有對IGRP提供支援,而且由EIGRP──一隻徹底地重新設計的路由通訊協定所取代。 不過它與IGRP的關系就只有命名上的相似,亦純粹是因為EIGRP依然是基於距離矢量路由協定的緣故。

分层[编辑]

TCP/IP参考模型分为四层:应用层(Application Layer)、传输层(Transport Layer)、网络层(Internet Layer)、链路层(Link Layer)。

TCP/IP分层 协议 OSI 分层
应用层 FTP SMTP Telnet DNS SNMP 7
传输层 TCP UDP 4
网络层 IP, ICMP   (RIP, OSPF) 3
ARP, RARP
链路层 Ethernet Token
Bus
Token
Ring
FDDI WLAN 2
1

参见[编辑]