Route par défaut et modèle osi

Bonjour,

Je sais que la route par défaut (ou gateway) est l’interface réseau (ou adresse ip) du routeur que doit emprunter un paquet pour sortir d’un réseau et aller vers un autre réseau (comme le réseau internet par exemple).

Et donc lorsque, depuis un poste client, je souhaite accéder à un site internet (comme foo.com par exemple) d’adresse ip 88.111.222.333 par exemple, la trame ethernet va au switch puis à la route par défaut (càd le routeur), puis dans le réseau internet, jusqu’au serveur web de foo.com.

Mais si la trame ethernet qui arrive au switch a comme valeur du champ adresse ip de destination « 88.111.222.333 », comment le switch sait qu’il faut transmettre cette trame vers la route par défaut (càd vers le routeur) ?

Y aurait-il un champ supplémentaire dans la trame qui indique l’adresse ip ou l’adresse mac de la route par défaut ?

Tu te demandes comment fonctionne les interface d’un switch ?

Ton switch il a des uplink qui sont relié à un autre switch/routeur, cette interface a donc une configuration réseau (ip + masque et passerelle).

1 J'aime

Bonjour,

Le modèle OSI est effectivement très important là-dedans. Mais aussi le principe d’encapsulation réseau .
( la page Wikipedia est illustrée avec le modèle TCP/IP, différent du modèle OSI, mais le principe reste le même )

Dans le modèle OSI, IP se situe à la couche 3 « réseau » alors que MAC est la couche 2 « liaison ».

Pour faire très court, lorsque ta machine veut faire parvenir des données à une adresse IP qui demande de passer par un routeur / une passerelle, elle envoie :

  • des données de niveau 3, un paquet IP avec une adresse IP d’expéditeur (la sienne) et une adresse IP du destinataire final. Ces données sont encapsulées dans …
  • des données de niveau 2, une trame (Ethernet, disons) avec une adresse MAC expéditeur (la sienne) et une adresse MAC destinataire, qui est celle du routeur / la passerelle. Ces données sont encapsulées dans …
  • des données de niveau 1, le Ethernet qui passe dans les fils

De son coté, le routeur voit arriver une trame avec son adresse MAC comme destinataire donc il sait qu’il doit continuer à la traiter.
Il regarde ensuite la couche 3 des données reçues et si l’adresse IP de destination est une adresse qui ne lui appartient pas, il fait suivre / « forwarde » / « route » le paquet.

Comment la machine source connaît l’adresse MAC de la passerelle / du routeur ? En utilisant le protocole ARP .

On peut étudier un exemple de « ping » et ARP en utilisant le site Cloudshark : cloudshark - arp.pcap
En sélectionnant un « paquet » dans la liste, on peut voir l’ensemble des couches de données.

Il y aurait encore beaucoup à dire mais c’est le principal.


AnonymousCoward

1 J'aime

Un switch n’est pas un routeur. Il ne sera pas concerné par le routage sauf s’il inclut des fonctionnalités de routage auquel cas ce n’est plus exclusivement un switch.
La machine cliente a pour adresse de passerelle une adresse qui est dans son sous-réseau (obligatoirement).
Le protocole IP est conçu pour gérer cet aspect. Seuls les routeurs sont concerné par le routage.
Le routage consiste à passer d’un sous-réseau à un autre, jusqu’à l’arrivée à destination.
La route par défaut ne se trouve pas dans la trame (à moins d’être source-routée, mais dans ce cas de nombreux système de sécurité vont rejeter le paquet).
C’est du forward de passerelle en passerelle.
Pour chaque interface d’un sous-réseau correspond une passerelle dans ce sous réseau. Chaque routeur dispose d’une passerelle par défaut, qui elle correspond à l’équipement à qui envoyer les trame dont le routeur ne sait pas quoi faire.
En clair:

  • un routeur transmet un paquet d’un réseau vers un sous-réseau qu’il connaît si ce sous-réseau est la destination du paquet.
  • Si le paquet a pour destination un sous-réseau qu’il ne connaît pas, alors il envoie le paquet à sa passerelle par défaut.
  • Quand plusieurs routes sont possible, il y a des protocole qu permettent d’aider à la décision comme l’OSPF, ou le BGP (exemple non exhaustifs)

La règle est simple:

  • Un switch ne route pas, car ce n’est sa fonction première. Aujourd’hui il y a des switch de niveau 3 qui de facto peuvent être aussi des routeurs.
    Mais fonctionnellement un switch ne route pas, seul un routeur le fait. Un équipement matériel peut endosser les deux rôles.

Les adresses mac ne sont connues que dans un même sous-réseau physique (donc pas de couche OSI au delà de IP).

Le routage n’utilise pas la moindre encapsulation de quoi que ce soit.
L’encapsulation consiste à avoir un paquet (en-tête+data) dont les data contiennent elle-même un en-tête et des datas d’un paquet encapsulé.
En simple, un colis avec un émetteur et un destinataire qui contient un autre colis avec un émetteur et un destinataire.

MAC est effectivement à la couche 2 et ne permet que des communication entre deux interfaces (c’est en quelque sorte l’équivalent du sous-réseau IPv6 fe80::).

En couche 2 le protocole est ARP, en couche 3 c’est IP en couche 4 c’est TCP ou UDP.

Un paquet est composé de deux partie:

  • une partie en-tête (header) qui contient les information nécessaire au transport c’est la partie IP (mais qui contient des informations nécessaire aux couches inférieures) mais aussi les datas nécessaires au protocole TCP par exemple ou tout autre protocole.
  • Une partie data qui va contenir les données transmises. A noter que l’en-tête contient la taille correspondante aux données. Certaines attaques se basent sur le fait de déclarer une taille de données différentes du contenu réel des données, permettant ainsi de tromper les piles de communication pour faire de l’overlap de paquets. Mais c’est un autre sujet.
    La partier data peut très bien contenir des informations qui comportent elles-aussi un en-tête et des données. Dans ce cas, et dans ce cas uniquement c’est de l’encapsulation.
1 J'aime