Réseaux

Reseaux

Tous mes remerciements à Stéphane Cateloin pour ses conseils avisés et précis, sa disponibilité et sa patience.
De nombreux points du cours et exemples sont tirés du site Open Classrooms:
Réseau TCP/IP
Ce tutoriel d'Open Classrooms a été écrit par E. Lalitte et R. Guichard
On pourra aussi consulter le site suivant avec des schémas très parlants :
Réseau par A. Perez
Les cours de Marc Silanus sont également très bien faits :
http://silanus.fr/sin/formationISN/Reseau/Niveau1/ISN-ReseauN1.pdf

Plan de la page :

  1. Topologies
  2. Les protocoles
  3. La couche Accès Réseau
  4. La couche Internet
  5. La couche Transport
  6. La couche Aplication
  7. L'encapsulation
  8. Exemple

1) Topologies

Retour au plan de la page

D'après Wikipédia, "Internet est un système d'interconnexion de machines et constitue un réseau informatique mondial, utilisant un ensemble standardisé de protocoles de transfert de données. C'est donc un réseau de réseaux, sans centre névralgique, composé de millions de réseaux aussi bien publics que privés, universitaires, commerciaux et gouvernementaux. Internet transporte un large spectre d'informations et permet l'élaboration d'applications et de services variés comme le courrier électronique, la messagerie instantanée et le World Wide Web."
Pour plus de détails sur l'histoire voir :
Internet sur Wikipédia

Il existe toutefois différentes manières de connecter des éléments entre eux. En voici quelques unes :

topologies diverses

La disposition des machines dans un réseau est appelée "topologie" : les liaisons représentées sur le schéma ci dessous ne correspondent pas toujours à des équipements physiques (câbles...), mais peuvent être des liaisons "logiques" c'est à dire des représentations de la manière dont l'information circule.

La topologie en étoile possède en son centre un équipement central : s'il est défaillant, plus aucune communication ne passe.
C'est la topologie la plus fréquemment utilisée pour des réseaux locaux (ethernet).
La topologie en bus, aussi utilisée pour des réseaux locaux n'a pas cet inconvénient, mais le nombre d'unités connectées ne peut être trop important, car le délai de propagation devient trop long.
La topologie en anneau est défaillante dès que l'un des équipements de l'anneau est défaillant.
Dans ces trois cas, le chemin pour aller d'une machine à une autre est unique (ou presque) et évident.
La topologie en maille permet à l'information de continuer à circuler même si l'une des machines est défaillante, cependant, le chemin à parcourir pour aller d'une machine à une autre n'est ni évident, ni unique (cela nécessitera des tables de routage).
En fait le réseau internet est d'une topologie plutôt maillée, mais chaque noeud représente l'entrée d'un sous réseau (dont la topologie peut être en bus, en étoile ou autre). Cette entrée est matérialisée par un "routeur" dont nous étudierons les fonctions un peu plus loin. Ces sous réseaux peuvent évidemment encore être divisés en plusieurs sous-réseaux.

2) Les protocoles

Retour au plan de la page

Pour communiquer dans ces réseaux il est nécessaire de se mettre d'accord sur des règles communes que l'on appellera des "protocoles", tout comme pour envoyer un courrier par la poste des conventions sont à respecter (adresse avec code postal, timbre etc...)
En 1984, la norme OSI (schéma de gauche avec 7 couches) a été mise au point, mais elle est peu appliquée (car un peu trop rigide et lourde). Le modèle le plus utilisé est TCP/IP (schéma de droite avec 4 couches) que nous allons regarder de plus près. Les deux ont des architectures en couches ( chaque couche est constituée d'un traitement logiciel des données):

topologies diversesOSI-TCP/IP

Les couches sont indépendantes entre elles et ne communiquent qu'avec les deux couches adjacentes. Ceci permet de modifier une couche, sans modifier les autres : par exemple le passage des adresses IP de IPv4 à IPv6 n'affectera que la couche réseau (qui gère ces adresses). On peut changer sa carte réseau, par exemple, sans affecter le reste de la transmission sur le réseau.
Ces normes permettent une interopérabilité entre les machines qui la respectent : les machines peuvent travailler et communiquer les unes avec les autres.
Voici une première description très sommaire du fonctionnement du protocole TCP/IP sous deux formes :.
Soit une présentation que l'on peut voir sous trois formes :
Sur ce site
à télécharger au format pdf : Présentation sur les réseaux
la même présentation au format odp (open office) : Présentation sur les réseaux avec animations

Soit des explications :

  • Une application (la messagerie par exemple) lance une requête : elle transmet cette requête à la couche transport en ajoutant un entête indiquant l'identité de l'application.

  • La couche transport ajoute à ces données les ports source et destinataire (des numéros) pour trouver la bonne application chez le destinataire, et pour retransmettre les résultats à la bonne application au retour. Puis elle transmet l'ensemble à la couche réseau.

  • La couche Internet ajoute les adresses des machines source et destinataire sur le réseau (adresses IP) ainsi que d'autres renseignements (dont le protocole de la couche transport utilisé) dans une entête, puis elle transmet le tout à la couche Accès Réseau.

  • La couche Accès réseau ajoute les adresses MAC (adresse physique de la carte réseau) de la source et du prochain relais sur le chemin de l'IP source vers l'IP destinataire : elle lit l'adresse MAC du prochain relais dans une table stockée en mémoire, ou la recherche par une requête ARP (Adress Resolution Protocol) sur le réseau local.

  • Les données sont transmises par des moyens physiques sur le réseau.

  • Les données arrivent au premier relais (un routeur), qui reconnaît son adresse MAC.

  • Les données remontent alors à la couche Internet après avoir été débarrassées des adresses MAC et de l'entête de la couche Accès Réseau : le routeur voit que l'adresse IP du destinataire n'est pas la sienne.

  • Le routeur cherche dans sa table quel est le prochain routeur qui permet d'aller vers l'IP de destination puis il renvoie le paquet à la couche liaison où est reformée la trame à envoyer en remplaçant les adresses MAC par l'adresse MAC du routeur actuel, et celle du prochain routeur.

  • Et ce schéma se poursuit jusqu'à la machine destinataire.

  • La machine destinataire reconnaît son adresse MAC, transmet le message à la couche Internet (après avoir enlevé l'entête Accès Réseau), en se basant sur le n° de protocole dans l'entête.

  • La machine reconnaît son adresse IP, elle transmet les infos à la couche Transport après avoir enlevé l'entête Internet, en se basant sur le n° de protocole de l'entête IP

  • La couche Transport reconstitue les données et les transmet à l'application qui correspond au numéro de port du destinataire

  • L'application exploite les données.

encapsulation
Source : Stéphane Cateloin
Nous allons maintenant regarder ces mécanismes d'un peu plus près.

3) La couche Accès Réseau

Retour au plan de la page

Cette couche a pour rôle la transmission physique des données codées sous forme de 0 et de 1. Les supports de transmission les plus utilisés sont les câbles, la fibre optique et l'air.
Les câbles peuvent être de différentes technologies, mais la plus fréquente est la technologie des paires torsadées. Ces câbles sont composés en général de 4 paires de fils torsadés.
Ces paires torsadées sont d'un coût faible et se connectent facilement (avec les prises RJ45), mais elles sont sensibles aux bruits (interférences), et le signal s'atténue rapidement (100m). Le débit sur ces paires est variable, mais est limité à 1000 mégabits par seconde (Mbps). Ces paires sont utilisés pour connecter des réseaux locaux (par exemple de votre ordinateur à votre "box").
La fibre optique est un tube de quelques microns (en plastique ou en verre) qui conduit la lumière. Le débit peut être de plusieurs gigabits par seconde et le signal peut être transporté sur plusieurs dizaines de kilomètres avant de nécessiter l'utilisation d'un répéteur (qui retransmet le signal). Cette technologie est peu sensible aux interférences et est sûre (le signal est difficile à intercepter). Son principal inconvénient est son coût très élevé. La fibre optique est utilisée pour les interconnexions de réseaux dans les bâtiments d'un même site, mais aussi pour les interconnexions nationales ou internationales des différents opérateurs.
Les liaisons sans fil utilisent des ondes radioélectriques ou l'infrarouge.
L'une des plus courantes est le WIFI qui permet un débit de quelques centaines de Mbps sur des distances de l'ordre de la centaine de mètres (distance qui dépend fortement de l'environnement).
Un tel système évite l'installation de câbles, mais la sécurité est faible et doit être assurée par des méthodes de chiffrement.
Les liaisons satellitaires permettent de se connecter quasiment partout mais leur coût est élevé (envoi de satellites).
Reste à voir comment circule l'information (on se limitera aux réseaux filaires).
Pour envoyer des "0" et des "1" l'idée la plus simple est d'avoir un système à deux états (tension ou pas, lumière ou pas..), mais ce n'est pas suffisant :
Comment distinguer 10 de 100 ? Il faut synchroniser les communications de manière à ce que l'on sache si l'on a envoyé zéro pendant un ou deux intervalles de temps. Toutes les communications débutent donc par une séquence qui permet cette synchronisation. On peut ensuite utiliser ces deux états de différentes manières pour diminuer les risques d'erreurs. Il faut pouvoir distinguer 4 situations : non connecté, connecté mais sans envoi de données, connecté et envoi d'un zéro, connecté et envoi d'un 1.

Elles sont décrites sur le site suivant :
Codage NRZ, etc...
Il faut savoir aussi que pour transporter le signal sur de longues distances (par exemple sur les lignes téléphoniques) on transforme le signal numérique (0 ou 1) en un signal analogique (continu) à l'aide d'un MODEM. Le signal est alors sinusoïdal et on en fait varier l'amplitude, la fréquence ou la phase pour distinguer un "0" d'un "1".
Le "hub" est l'un des appareils que l'on utilise au niveau de la couche physique. Il joue le rôle de concentrateur et dispose de plusieurs ports (pour des prises RJ45) auxquels sont reliées différentes machines. Si une information arrive sur une des prises, le hub la diffuse à toutes les autres sans aucun "tri". Le répéteur reçoit les données et les renvoie en amplifiant le signal (permet de parcourir de plus longues distances).

Cette couche permet aussi la connexion à des machines d'un même réseau local et détecte aussi des erreurs de transmission. Elle utilise les adresses MAC (rien à voir avec macintosh, cela signifie Media Access Control). Ces adresses MAC permettent d'identifier chaque carte réseau (elles sont fixées par le fabricant et écrite "en dur" sur la carte réseau) et sont codées sur 6 octets, ce qui fait 248 adresses possibles. Pour trouver les adresses MAC de votre ordinateur (sous Windows) taper dans l'invite de commande "ipconfig/all". Vous verrez alors apparaître vos adresses physiques (adresses MAC) sous la forme 10:a5:89:de:74:12 (écriture hexadécimale, deux chiffres par octet). L'adresse ff:ff:ff:ff:ff:ff est l'adresse de "broadcast" qui sert à envoyer une requête à tous les membres du réseau local. Le protocole utilisé dans cette couche est le plus souvent le protocole Ethernet. Ce protocole définit le format des données envoyées.
A ce stade les données envoyées s'appellent une trame ethernet. Une telle trame comprend :

  • l'adresse Mac du prochain destinataire
  • l'adress Mac de la dernière source
  • le protocole utilisé dans la couche réseau
  • les données
  • le code de détection des erreurs (CRC)

Le nombre d'octets réservé à chacun de ces champs est bien défini (sauf pour les données) selon le schéma ci dessous :
trame ethernet
Source Wikipédia
Cette trame est précédée d'une séquence qui permet la synchronisation et est suivi d'une séquence spéciale de o et de 1 qui signifie "stop".
Voyons un peu de vocabulaire :

  • LAN Local Area Network : réseau local
  • VLAN Virtual LAN : réseau local virtuel (en fait un réseau peut être divisé en plusieurs VLAN par exemple pour l'administration d'un lycée d'une part, les élèves d'autre part)
  • WLAN Wireless LAN : réseau local sans fil

Le switch permet de connecter les différents matériels d'un réseau local (entre autres) : il associe dynamiquement chacun de ses ports à une adresse MAC (il "apprend" ces adresses au fur et à mesure que les machines envoient des requêtes). Quand il reçoit une trame, il l'envoie à la bonne machine, grâce à l'adresse MAC. Une box joue, entre autres, le rôle de switch. Un pont permet d'interconnecter deux réseaux locaux, avec filtrage

4) La couche Internet

Retour au plan de la page

Cette couche permet l'interconnexion des réseaux et fragmente les données en "paquets" de taille ne dépassant pas une taille maximum fixée.
Cette couche utilise le protocole et les adresses IP : les adresses MAC seraient inefficaces car il faudrait des tables gigantesques pour savoir où trouver chaque machine : il n'y a aucun lien entre l'adresse MAC et sa position dans le réseau. ! En revanche, les adresses IP sont attribuées de telle sorte que l'on puisse savoir dans quelle réseau est la machine concernée, puis dans quel sous-réseau etc...
Les adresses IP (en IPv4) sont codées sur 32 bits et correspondent à deux adresses en même temps : l'adresse du réseau local et l'adresse de la machine.
On utilise pour cela un masque de sous-réseau qui est aussi codé sur 32 bits. Un masque de sous réseau est un nombre qui en binaire commence par des "1" et finit par des "0".
Les "1" du masque correspondent, dans l'IP, à l'adresse du réseau, et les "0" à l'adresse de la machine : toutes les machines d'un même sous réseau partagent donc la même sous partie de leur adresse dont la taille est donnée par le nombre de "1" dans le masque.
Voyons un exemple :
IP : 192.168.0.1=11000000.10101000.00000000.00000001
masque : 255.255.0.0=11111111.11111111.00000000.000000000 ce que l'on note aussi 192.168.0.1/16 pour indiquer que le masque comporte 16 "1".
donc ce masque compte seize "1" au début, puis seize "0".
Dans l'IP on prend donc les seize premiers chiffres qui vont donner l'adresse du réseau : b11000000.10101000 = 192.168, que l'on traduit par 192.168.0.0 et l'adresse de la machine est 0.1 : ce qui signifie que c'est la machine 1 de ce réseau qui pourrait en compter 216 puisqu'il y a seize bits pour les numéroter (on verra que deux de ces numéros sont réservés et ne peuvent être attribués à des machines).
On ne peut mettre n'importe quels nombres dans un masque, car à partir du moment où on a un "0", les chiffres suivants doivent être des zéros.

Exercice 4.1: les codes suivants peuvent-ils correspondre à des masques de sous-réseaux ?
255.240.0.0, 255.255.128.0, 255.255.230.0

Les deux adresses que l'on ne peut attribuer dans chaque réseau local sont la plus petite (qui est attribuée au réseau) et la plus grande (qui est l'adresse de broadcast)

Exercice 4.2 : On donne l'adresse IP 192. 168.0.1 et le masque 255.255.240.0.
Retrouver l'adresse du réseau, ainsi que l'adresse de la dernière machine (celle qui a l'adresse la plus élevée) de ce réseau et le nombre de machines possibles pour ce réseau

Un réseau peut être découpé en sous réseaux, mais cela nécessite réflexion quant à l'attribution des adresses, car les normes, concernant les masques et les adresses IP,doivent être respectées à tous les "étages" du découpage.
Ce système permet de savoir si la machine destinataire est dans le même sous-réseau que la machine source : la machine source connaît son masque et peut déterminer si le destinataire est dans son sous-réseau ou non en comparant les préfixes, c'est à dire les parties des adresses IP qui à des ensembles de sous-réseaux. Les tables de routage utilisent ces préfixes pour diriger les trames qui arrivent.
A ce stade, les données sont constituées en datagramme selon le schéma suivant :
datagramme
On y voit entre autres, les adresses source et destinataire (IP), le protocole de la couche transport (voir ci dessous).
Plus de détails en suivant le lien :
Datagramme-unversité d'Aix
Nous verrons plus loin quel est le lien entre ce datagramme et la trame ethernet.
Cette couche permet le cheminement sur les réseaux. L'outil principal ici est le "routeur".
Un routeur peut être connecté à plusieurs réseaux en même temps. Il possède une carte réseau par réseau auquel il appartient (et donc autant d'adresses MAC).
Ce routeur tient à jour de manière dynamique une "table de routage" (il met à jour sa table au fur et à mesure de l'évolution de la topologie du réseau). Cette table associe chaque ensemble de réseaux (défini par un préfixe) qu'il sait joindre, à l'adresse IP de la passerelle (routeur) qui permet d'y accéder, ainsi qu'une passerelle par défaut qu'il utilise pour les adresses IP pour lesquelles il n'a aucun renseignement. Les principaux routeurs de la planète (ceux dont la table de routage est complète) disposent actuellement (2013) d'une table de routage comptant près de 450 000 entrées.
Pour voir la table de routage de votre ordinateur sous Windows, vous pouvez taper dans l'invite de commande "route print".
Pour ceux que cela intéresse vous trouverez des exemples concrets sur le site suivant :
Wikibooks-TCP/IP
On peut voir, dans l'invite de commande Windows, le chemin suivi par une requête : taper par exemple "tracert isn-marchal.com/site/reseau.html".
routage
On peut voir par combien de routeurs a transité la requête et lesquelles.
Attention, de nombreux réseaux sont des réseaux privés (intranet), par exemple ceux qui se trouvent derrière une "box". Les adresses IP des machines derrière la box ne servent que dans le réseau privé, on dit que ce sont des IP privées (elles ne sont pas uniques, et peuvent être réutilisées ailleurs dans le monde).
Quand une requête sort du réseau privé, la box (ou le routeur) fait correspondre l'IP privée à une IP publique et à un numéro de port, grâce à une table de NAT (Network Address Translation) et effectue le remplacement dans les entêtes TCP et IP. On économise ainsi les IP publiques (qui en IPv4 sont rares). Quand un paquet arrive au routeur, celui-ci réutilise la table de correspondance dans l'autre sens.
Pour plus de détails voir le lien suivant :
Wikipédia-NAT
Si dans une invite de commande (sous Windows) vous tapez "ipconfig/all" vous verrez votre adresse IP (peut-être privée), le masque de sous-réseau, l'IP du serveur DHCP (qui attribue les adresses IP), l'IP du serveur DNS (Domain Name System : qui permet de relier un nom, par exemple www.google.com, à une adresse IP) et l'IP de la passerelle par défaut entres autres. Vous pourrez aussi voir si vous pouvez fonctionner avec des adresses IPv6.

5) La couche Transport

Retour au plan de la page

Cette couche sert à faire dialoguer les différentes applications. En effet si vous utilisez votre messagerie et le navigateur WEB ("système hypertexte public fonctionnant sur Internet qui permet de consulter, avec un navigateur, des pages accessibles sur des sites" d'après Wikipédia), les résultats de vos requêtes doivent arriver à la messagerie si elles viennent de là et à votre navigateur sinon. On utilise dans cette couche une troisième sorte d'adresse qui est le "port".
Quand on envoie une requête sur internet , le système d'exploitation lui attribue un port, sur lequel la réponse est attendue. Il faut aussi connaître le port de l'application destinataire (80 pour les serveurs web, 25 pour le mail, 443 pour https, etc...). Pour plus de détails voir le site suivant :

ac-Nancy-le bon port

Différents protocoles peuvent être appliqués pour cette couche : les plus courants sont les protocoles TCP et UDP.
UDP est utilisé pour la télévision par exemple : ce protocole est très rapide, mais sa fiabilité n'est pas garantie (ce qui n'est pas grave pour certaines applications).
TCP réalise un transport fiable, mais sa vitesse est souvent plus lente (elle est régulée pour éviter la perte de paquets): il est utilisé pour le WEB ou la messagerie. Dans ce protocole, on vérifie d'abord si la connexion marche (c'est le mode connecté), puis on envoie des paquets. Chaque paquet doit être acquitté (c'est à dire que l'on reçoit un accusé de reception). Les paquets sont d'abord envoyés assez lentement (on envoie peu de segments), puis la vitesse augmente jusqu'à ce qu'un paquet soit rejeté. La vitesse retombe alors, jusqu'à ce qu'il n'y ait plus de problème. Ensuite elle recommence à augmenter.
TCP envoie des segments dont voici la structure :

segment TCP
Source Wikipédia

On voit que les ports source et destinataire sont indiqués.
Chaque octet à envoyer est numéroté et dans l'entête du segment on peut lire le n° du premier octet envoyé (n° de séquence) et celui du premier octet non reçu : ces numéros servent également à remettre les segments dans l'ordre si le réseau les a mélangés.
Après la case "Réservé", on a les drapeaux : par exemple ACK est le drapeau qui indique que ce segment rapporte un acquittement, SYN est une demande de connexion et FIN signale la fin.
Checksum est un processus de contrôle d'erreurs.

Pour plus de détails voir sur Wikipédia :

Wiki:Transmission Control Protocol

6) La couche Application

Retour au plan de la page

C'est la couche qui permet aux applications d'accéder au réseau. Les protocoles sont multiples:

  • SMTP (Simple Mail Transfer Protocol), POP (Post Office Protocol)ou IMAP (Internet Message Access Protocol) pour le courrier
  • HTTP (HyperText Transfer Protocole) pour l'envoi et la reception de pages WEB
  • FTP (File Transfer Protocol) pour le transfert de fichiers
  • DNS pour la résolution de noms de domaines
  • et bien d'autres encore

7) L'encapsulation

Retour au plan de la page

Il faut maintenant voir comment toutes ces couches se coordonnent: c'est le mécanisme d'encapsulation.
Partons de la couche application.

  • Elle veut envoyer des données D1, elle ajoute un entête qui permet de savoir quel protocole est utilisé : l'ensemble constitue D2.
  • A la couche Transport, les données sont constituées par D2. D2 est coupé en fragments qui sont inclus dans des segments TCP (par exemple) avec l'ajout de tous les renseignements nécessaires : chaque segment est considéré comme une donnée D3 pour la couche réseau.
  • A la couche Internet, on constitue des datagrammes en ajoutant les adresses IP : chaque datagramme constitue des données D4 pour la couche liaison.
  • A la couche Accès Réseau, on constitue des trames ethernet(par exemple), dans lesquelles les données sont D4.
  • Ces trames sont transmises physiquement d'une machine à l'autre.
  • Cette trame arrive à la machine destinataire et les informations remontent les couches
  • les données D4 arrivent à la couche Accès Réseau, ce qui concerne la couche Accès Réseau (les adresses mac etc.. ) est enlevé
  • les données D3 sont transmises à la couche Internet qui reconstitue D2 (toutes les informations pour faire ceci figurent dans le datagramme) et enlève les renseignements propres à la couche réseau
  • les données D2 sont transmises à la couche Transport, qui reconstitue le message initial D1 et enlève ce qui lui est propre
  • la bonne application reçoit les données D1.

encapsulation

Comme les protocoles sont transmis en même temps que les données, chaque couche sait exactement ce qu'elle doit faire et où transmettre les données.
Tout se passe comme si chaque couche de la machine source correspondait directement avec la couche homologue de la machine destinataire.

8) Exemple

Retour au plan de la page

Prenons un réseau simplifié constitué de quatre sous réseaux appelés 1.0.0.0, 2.0.0.0, 3.0.0.0 et 4.0.0.0 les masques étant 255.0.0.0 pour les quatre.

Exemple de reseau
Schéma du reseau

Les étiquettes du type "eth0" indiquent le nom de l'interface entre la machine et le réseau (une machine peut avoir plusieurs interfaces, par exemple une interface avec un réseau ethernet et une interface wifi..). Ces noms sont internes à la machine.
Chaque machine connaît les adresses MAC de son réseau local et sait qu'elle doit envoyer les messages sortant du réseau local vers le routeur de son réseau.
Voici les tables de routage des deux routeurs :

Routeur 1

Préfixe destinationMasquePasserelleInterface
1.0.0.0255.0.0.0directeth0
2.0.0.0255.0.0.0directeth1
3.0.0.0255.0.0.0directeth2
4.0.0.0255.0.0.03.2.0.0eth2

Routeur 2

Préfixe destinationMasquePasserelleInterface
4.0.0.0255.0.0.0directeth1
3.0.0.0255.0.0.0directeth0
0.0.0.00.0.0.03.1.0.0eth0


Si un message arrive au routeur 1 pour une machine du réseau 4.0.0.0, le routeur va l'envoyer vers la machine d'IP 3.2.0.0, à partir de sa carte réseau 3.1.0.0.
Dans la table du routeur 2, le chemin décrit pour le réseau 0.0.0.0 constitue le chemin par défaut.
La machine MAC4 veut envoyer, par l'intermédiaire de sa messagerie, "bonjour" à MAC10.

  • Au cours des couches se constitue la trame ethernet simplifiée suivante :

    MACdest6 MACsrc4 IPsrc2.2 IPdest4.2 Portsrc25 portdest25 bonjour

  • Cette trame arrive au routeur 1 qui reconnaît son adresse MAC, il envoie la trame à la couche Internet : le routeur voit que IP dest n'est pas la sienne. Il renvoie le message à la couche Accès Réseau

  • Une nouvelle trame est constituée :

    MACdest8 MACsrc7 IPsrc2.2.0.0 IPdest4.2.0.0 Portsrc25 portdest25 bonjour


    Le routeur a en effet trouvé dans sa table de routage qu'il devait envoyer ce message destiné au réseau 4.0.0.0 vers l'IP 3.2.0.0 (qui fait partie de l'un de ses réseaux locaux) dont il sait que l'adresse MAC est MAC8.

  • Cette trame arrive au routeur 2 qui reconnaît son adresse MAC, il envoie la trame à la couche Internet : le routeur voit que IP dest n'est pas la sienne. Il renvoie le message à la couche Accès Réseau

  • Une nouvelle trame est constituée :

    MACdest10 MACsrc9 IPsrc2.2.0.0 IPdest4.2.0.0 Portsrc25 portdest25 bonjour


    Le routeur a en effet detecté que la machine IP4.2.0.0 est dans un de ses réseaux locaux (à l'aide du masque de sous-réseau), il regarde quelle est l'adresse MAC du destinataire dans sa table.

  • Cette trame arrive à destination : la machine reconnaît son adresse MAC, remonte à la couche Internet (en enlevant ce qui concerne la couche Accès Réseau)

  • La couche Internet reconnaît son adresse IP, elle fait remonter vers la couche Transport (en enlevant ce qui concerne la couche Internet et en réassemblant les fragments du message initial)

  • La couche Transport "recolle" les différents octets (qui sont numérotés) dans le bon ordre, et transmet grâce au numéro de port destinataire, le message à l'application de messagerie.

Si la machine MAC4 envoie un message à la machine MAC3, le message va au switch, puis directement à la bonne machine.

Pour voir les correspondances adresses IP- adresses MAC d'un ordinateur sous Windows, taper dans l'invite de commande "arp -a". Si une machine ne connaît pas l'adresse MAC, d'une autre machine de son réseau local, elle envoie une requête ARP en broadcast (à toutes les machines) : "qui est la machine d'IP 187.24.36.27 ?" par exemple. La machine qui se reconnaît, envoie son adresse MAC.

Reste que si vous voulez aller voir le site isn-marchal.com, vous ne connaissez pas forcément l'IP correspondante : c'est le service DNS (Domain Name Service) qui se charge de la conversion.
Pour plus de détails voir Wikipédia : http://fr.wikipedia.org/wiki/Domain_Name_System

Ce schéma très simplifié devrait tout de même permettre de comprendre les principes du fonctionnement du réseau internet, dans les grandes (très grandes) lignes.