Routing Information Protocol

(RIP, protocole d'information de routage) est un protocole de routage IP de type Vector Distance (à vecteur de distances) s'appuyant sur l'algorithme de détermination des routes décentralisé Bellman-Ford. Il permet à chaque routeur de communiquer avec les routeurs voisins. La métrique utilisée est la distance qui sépare un routeur d'un réseau IP déterminé quant au nombre de sauts (ou «  » en anglais). 

Pour chaque réseau IP connu, chaque routeur conserve l'adresse du routeur voisin dont la métrique est la plus petite. Ces meilleures routes sont diffusées toutes les .

Limitations de RIP 

 Pour éviter les boucles de routage, le nombre de sauts est limité à 15. Au-delà, les paquets sont supprimés.
 RIP ne prend en compte que la distance entre deux machines en ce qui concerne le saut, mais il ne considère pas l'état de la liaison afin de choisir la meilleure bande passante possible. Si l'on considère un réseau composé de trois routeurs A, B et C, reliés en triangle, RIP préférera passer par la liaison directe A-B même si la bande passante n'est que de  alors qu'elle est de  entre A et C et C et B.

Ces limitations sont corrigées dans le protocole OSPF.

Versions 
Il existe actuellement trois versions de RIP : RIPv1 et RIPv2 (pour IPv4) et RIPng (pour IPv6).

RIPv1 

RIPv1 est défini dans la RFC 1058. Cette version ne prend pas en charge les masques de sous-réseau de longueur variable (on dit qu'il est classful) ni l'authentification des routeurs. Les routes sont envoyées en .

RIPv2 

RIPv2 est défini dans la RFC 2453. Cette version, développée en 1993, a été conçue pour permettre au protocole de répondre aux contraintes des réseaux actuels (découpages des réseaux IP en sous-réseaux, authentification par mot de passe, …). Avec cette version, les routes sont envoyées à l'adresse multicast 224.0.0.9.

Un message RIP comprend un en-tête suivi de 1 à 25 enregistrement(s) de route (24 si un message d'authentification est requis).

     0               1               2               3      
     0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    | commande (1)  | version (1)   |      domaine de routage (2)   |
    +---------------+---------------+-------------------------------+
    | identifieur de famille d'@ (2)| marqueur de route (2)         |
    +-------------------------------+-------------------------------+
    |                         adresse IP (4)                        |
    +---------------------------------------------------------------+
    |                     masque de sous réseau (4)                 |
    +---------------------------------------------------------------+
    |                         passerelle (4)                        |
    +---------------------------------------------------------------+
    |                          métrique (4)                         |
    +---------------------------------------------------------------+
    | identifieur de famille d'@ (2)| marqueur de route (2)         |
    +-------------------------------+-------------------------------+
    |                         adresse IP (4)                        |
    +---------------------------------------------------------------+
    |                     masque de sous réseau (4)                 |
    +---------------------------------------------------------------+
    |                         passerelle (4)                        |
    +---------------------------------------------------------------+
    |                         métrique (4)                          |
    +---------------------------------------------------------------+
    | identifieur de famille d'@ (2)| marqueur de route (2)         |
    +-------------------------------+-------------------------------+
    |                       etc.                                    |
    +----------------------

 Commande : requête/réponse ou diffusion.
 Domaine de routage : permet de découper le réseau en sous-réseaux logiques.
 Marqueur de route : marqueur qui peut être utilisé pour distinguer les routes apprises en interne par RIP de celles apprises par d’autres protocoles (par exemple OSPF).
 Métrique : distance de la route compris entre 1 et 15 (16 étant l'infini).
 Version : indique la version du protocole utilisé, 1 ou 2.

Articles connexes 
 GNU Zebra

Protocole de routage
Protocole réseau sur la couche réseau