Routage IPv4 - Introduction

Table of Contents

Vue générale

La fonction d'un routeur est de faire transiter les paquets entrant vers l'interface de sortie la plus appropriée pour les acheminer à leur destination, a priori en diminuant la distance restant à parourir (si possible).

Internet propose un routage hierarchisé à 2 niveaux :

La frontière entre les 2 parties est définie :

Frontière fixe : adressage par classe (A,B,C,D,E) :

Classe netmask prefix intervalle
A 255.0.0.0 /8 0.0.0.0 - 127.255.255.255
B 255.255.0.0 /16 128.0.0.0 - 191.255.255.255
C 255.255.255.0 /24 192.0.0.0 - 223.255.255.255

Nous ne parlerons pas des adresses de classe D (224.0.0.0 - 239.255.255.255) réservées aux réseaux multicast qui ne sont pas abordés dans ce chapitre,ni les adresses de classe E (240.0.0.0 - 255.255.255.255) réservées aux réseaux expérimentaux.

Cette technique, bien que devenue obsolète, à laisser des traces dans le protocole de routage RIPv1 que nous verrons plus loin (même si l'usage de RIP tend à disparaître lui-aussi pour d'autres raisons)

L'adressage par classe a été jusqu'au année 1990 le principe du routage entre les réseaux.

Frontière mobile : CIDR

Même dans le contexte précédent, un administrateur d'un réseau important devait souvent redécouper son espace d'adressage pour s'adapter aux contraintes topologiques de son réseaux.

Cette première technique, parfois dénommée "VLSM" pour "Variable Length Subnetting Mask" permet à un administrateur d'étendre le netmask d'un certain nombre de bits pour réaliser un plan d'adressage compatible avec ces contraintes.

Même un protocole ancien comme RIPv1 prend en compte (avec certaines réserves) cette technique.

Ceci ne résolvait pas les problèmes qui ont commencé à apparaitre sur les routeurs ïnter-network" au cours des années 1980 avec l'ouverture d'Internet aux entreprises et au grand public. L'explosion du nombre de réseaux a très vite saturé les tables de routages et une évolution pour le passage à l'échelle était nécessaire.

Dès 1993 (RFC1519- revue en 2006 RFC4632), CIDR ( Classless Internet Domain Routing ) a été formalisé et généralisé.

Pourquoi ?

  • réduire la taille des tables de routage avec l'aggrégation de routes
  • permettre un découpage plus pertinent de l'espace d'adressage pour économiser les adresses

Cette technique permet l'aggrégation de route qui consiste à regrouper en une seule entrée des adresses réseaux ayant un préfixe commun et un même prochain saut (il faut aussi que les métriques soient compatibles).

La longueur minimale de masque est 0 (1 pour pouvoir faire un peu de routage) et la longueur maximale est 30.

Adresses réservées

Dans chaque classe d'adresse est définie un plage d'adresse privée utilisable localement.

Classe plage d'adresses notation
A 10.0.0.0 - 10.255.255.255 10.0.0.0/8
B 172.16.0.0 - 172.31.255.255 172.16.0.0/12
C 192.168.0.0 - 192.168.255.255 192.168.0.0/16

Travail personnel : déterminer les RFC ayant trait aux adresses réservées et précisées leurs valeurs.

La table de routage et son utilisation

Une entrée de table de routage peut etre résumée sous la forme :

network address netmask next hop interface admin.metric origine
La notion de métrique administrative est utile lorsque les routes proviennent de plusieurs sources (processus de routage dynamique, route statique) et permet d'arbitrer les choix lorsqu'une meme destination est annoncée par plusieurs sources. L'origine mémorise comment la route a été apprise.

Utilisation

Lors de l'arrivée d'un paquet, l'adresse de destination est extraite.

Pour tester une entrée de la table de routage, le netmask est appliquée à l'adresse de destination pour en extraire la partie network. Si elle est égale à la network address, la route correspond ( match ), sinon cette dernière est rejetée.

L'entrée la plus précise ( netmask correspondant au préfixe le plus long) est toujours choisie en priorité, si plusieurs entrées sont sélectionnables.

La route par défaut ( 0.0.0.0/0 ), si elle est définie, est donc choisie seulement si toutes les autres routes ont été rejetées.

Les implémentations sont souvent plus performantes que la méthode exposée ici.

D'autres paramètres peuvent etre pris en compte dans le processus de décision, que ce soit avant (PRE) ou après (POST) la consulatation de la table de routage (routage politique, QOS, choix de la table de routage ou VRF, NAT, PAT, ...).

Les techniques de NAT et PAT seront vues ultérieurement (en TP et en cours).

Acquisition des routes

La construction de la table de routage est basé sur différentes sources :

  • connected : en IPv4, une interface est liée à une adresse (et un netmask); le réseau correspondant est donc directement inséré dans la table et ce, tant que l'interface demeure active.
  • static : saisie par l'opérateur - elle n'est jamais enlevée.
  • dynamic : injectée dans la table par un processus de routage (RIP, OSPF, IS-IS, EIGRP, BGP, ...), elle peut etre enlevée automatiquement si la route est perdue; les routes dynamiques peuvent etre calculée où provenir d'une "redistribution" ( routes issues d'autres processus de routages, connectées ou statiques ).

Configuration des interfaces

en pratique :

  • sous Linux (au plus simple):
/sbin/ifconfig <interface> <adresse IPv4>/<prefix length>
  • sous IOS Cisco :
(config)#interface <type> <number>
(config-int)#ip address <adresse IPv4> <netmask>
(config-int)#no shutdown

D'autres paramètres peuvent etre ajoutés selon le type d'interface. À noter que sur un routeur, une interface doit etre explicitement activée (administrativly up).

Routes statiques

en pratique :

Ajouter par l'opérateur à l'aide d'une commande :
  • Cisco
(config)#ip route <network> <netmask> [ <nextHop | interface> ] <metric>
  • Linux
# traditionnel
route add -net <network/prefix> gw <nextHop>  metric <metric>
#iproute2 (au plus simple)
ip route add  <network/prefix> [ metric <metric> ] nexthop via <ip address> [ dev <interface> ] ...

Suffisante dans les situations simples, cette méthode nécessite systématiquement des modifications par l'opérateur pour s'adapter aux modifications de la topologie (évolutions du réseaux, pannes) et devient rapidement fastidieuse.

Routage dynamique

3 familles d'algorithmes :

  • vecteur de distance (RIP, EIGRP, RIPnG)
  • état des liens (OSPFv2, IS-IS, OSPFv3)
  • politique, vecteur de chemin (BGP)

Vecteur de distance

État des liens

Vecteur de chemins

Conclusion