Les bases du SI - Les routeurs (2/6)

Les bases du SI - Les routeurs (2/6)
Photo by Jonathan / Unsplash

Les routeurs sont des composants qui sont connectés à plusieurs réseaux différents en même temps. Ils sont capables d'envoyer les IP datagrams d'un réseau à un autre.

Le renvoi des données est basé sur des protocoles réseaux qui déterminent le meilleur chemin pour atteindre le réseau.

Le routeur inspecte l'adresse de destination de chaque paquet entrant et ensuite le renvoi à travers l'une de ses interfaces.

Pour choisir la bonne interface, le routeur recherche dans sa table de routage pour retrouver une IP-to-Interface.

La table peut contenir une adresse par défaut pour les paquets reçus d'un réseau inconnu.

Métriques de routage

Il peut arriver qu'il y ait plusieurs chemins possibles pour atteindre la destination : dans ce cas le routeur se base sur les métriques.

La métrique est sélectionnée en fonction de la bande passante utilisée et de la congestion du réseau.

# Pour afficher les routes
# Linux : 

$ ip route

# Microsoft :

> route print

# Pour ajouter des routes

> route ADD 192.168.222.0/24 10.175.34.1

Les paquets peuvent aussi être renvoyés dans la couche plus basse de TCP/IP : la Link Layer.

Les Hubs et les Switchs sont des composants réseaux qui renvoient des paquets sur le réseau local.

Ils fonctionnent grâce aux adresses MAC - Media Access Control. Tandis que les IP sont sur la couche OSI 3, les adresses MAC sont sur la couche OSI 2. L'adresse MAC est aussi connue sous le nom d'adresse physique.

Les adresses MAC sont sur 48 bits au format Hexadécimal.

Switch

Tandis que les routeurs fonctionnent avec des adresses IP, les switchs fonctionnent avec des adresses MAC. Les switchs ont plusieurs interfaces donc elles utilisent une forwarding table pour relier une ou plusieurs adresses MAC à une interface.

Cette forwarding table est appelée CAM - Content Addressable Memory.

Les routeurs ne peuvent pas utiliser l'adresse MAC de broadcast (FF:FF:FF:FF:FF:FF).

💡
Le broadcast est l'action qui consiste à envoyer la même trame à tous les équipements connectés à un même réseau

Forwarding Tables

Une table est généralement composée de :

  • Une adresse MAC
  • Les interfaces utilisées par les switchs pour délivrer les paquets à une adresse MAC
  • Un TTL - Time To Live

La CAM Table est stockée sur la RAM du composant et est mise à jour en permanence.

Les switchs découvrent seuls les nouvelles adresses MAC en inspectant les entêtes des paquets.

Les routeurs utilisent des protocoles complexes pour mettre à jour leur table de routage.

Forwarding

Pour un renvoi de paquet :

  • Le switch lit l'adresse MAC de destination
  • Le switch réalise un lookup sur la CAM Table
  • Le switch renvoie le paquet sur l'interface correspondante
  • Si il n'y a pas d'entrée dans la CAM Table, le switch renvoie vers toutes les interfaces

ARP

Quand un hôte souhaite discuter avec un autre hôte, il a besoin de connaître son adresse IP et son adresse MAC. Mais il arrive qu'il ne connaisse pas l'adresse MAC. Pour en prendre connaissance, il passe par l'utilisation de ARP - Address Resolution Procotol.

Avec ARP, un hôte peut construire un couple IP / MAC correct.

Exemple, quand A veut envoyer des données à B et qu'il ne connaît que son adresse IP :

  • A construit une requête ARP qui contient l'IP de B et FF:FF:FF:FF:FF:FF comme adresse MAC de destination (adresse de broadcast)
  • Le switch va envoyer la requête à tous les hôtes
  • B va répondre avec une réponse ARP en donnant à A son adresse MAC
  • A va sauvegarder le couple IP/MAC dans son cache ARP avec un TTL qui sera supprimé soit lors de l'arrêt de l'hôte, soit lors de l'expiration du cache
# Linux

$ arp -a

# Microsoft

> ip neighbour

Hubs

Les hubs étaient utilisés avant les switchs avec le même objectif mais pas avec les mêmes fonctionnalités.

Le hub sert de simple répéteur sans aucune vérification. Il renvoie le signal électrique reçu sur un port sur l'ensemble des autres ports.