Commutation de paquets
Au niveau de la couche réseau, un message de la couche supérieure est divisé en paquets gérables et chaque paquet est envoyé via le réseau. La source du message envoie les paquets un par un ; la destination du message reçoit les paquets un par un. La destination attend que tous les paquets appartenant au même message arrivent avant de remettre le message à la couche supérieure. Les périphériques de connexion doivent encore décider comment acheminer les paquets vers la destination finale. Aujourd'hui, il existe deux approches différentes pour acheminer les paquets : l'approche datagramme et l'approche circuit virtuel.
Approche datagramme - service sans connexion
Au début d'Internet, pour simplifier, la couche réseau a été conçue pour fournir un service sans connexion dans lequel le protocole de la couche réseau traite chaque paquet indépendamment, chaque paquet n'ayant aucune relation avec un autre paquet. L'idée était que la couche réseau n'est responsable que de la livraison des paquets de la source à la destination. Dans cette approche, les paquets d'un message peuvent ou non emprunter le même chemin jusqu'à leur destination.
Un paquet appartenant à un message peut être suivi d'un paquet appartenant au même message ou à un message différent. Un paquet peut être suivi d'un paquet provenant de la même source ou d'une source différente.
Chaque paquet est routé en fonction des informations contenues dans son en-tête : adresses source et destination. L'adresse de destination définit où elle doit aller ; l'adresse source définit d'où elle vient. Dans ce cas, le routeur achemine le paquet en fonction uniquement de l'adresse de destination. L'adresse source peut être utilisée pour envoyer un message d'erreur à la source si le paquet est rejeté.
Approche circuit virtuel - service orienté connexion
Dans un service orienté connexion (également appelé approche de circuit virtuel), il existe une relation entre tous les paquets appartenant à un message. Avant que tous les datagrammes d'un message puissent être envoyés, une connexion virtuelle doit être configurée pour définir le chemin des datagrammes. Une fois la connexion établie, les datagrammes peuvent tous suivre le même chemin. Dans ce type de service, non seulement le paquet doit contenir les adresses source et destination, il doit également contenir une étiquette de flux, un identifiant de circuit virtuel qui définit le chemin virtuel que le paquet doit suivre.
Chaque paquet est transféré en fonction de l'étiquette qu'il contient. Pour suivre l'idée d'une conception orientée connexion à utiliser sur Internet, nous supposons que le paquet possède une étiquette lorsqu'il atteint le routeur. Dans ce cas, la décision d'acheminement est basée sur la valeur de l'étiquette, ou identifiant de circuit virtuel, comme on l'appelle parfois.
Pour créer un service orienté connexion, un processus en trois phases est utilisé : configuration, transfert de données et démontage. Dans la phase de configuration, les adresses source et de destination de l'expéditeur et du destinataire sont utilisées pour créer des entrées de table pour le service orienté connexion. Dans la phase de démontage, la source et la destination informent le routeur de supprimer les entrées correspondantes. Le transfert de données s'effectue entre ces deux phases.
Phase de configuration
Dans la phase de configuration, un routeur crée une entrée pour un circuit virtuel. Par exemple, supposons que la source A ait besoin de créer un circuit virtuel vers la destination B. Deux paquets auxiliaires doivent être échangés entre l'expéditeur et le destinataire : le paquet de configuration et le paquet d'acquittement.
Paquet de configuration
Un paquet de configuration est envoyé de la source à la destination. Ce paquet auxiliaire porte les adresses source et destination. La figure ci-dessous montre ce processus.
- La source A envoie un paquet de configuration au routeur R1.
- Le routeur R1 reçoit le paquet de configuration. Il sait qu'un paquet allant de A à B sort par le port 3. Comment le routeur a obtenu cette information est un point couvert plus tard. Pour le moment, supposons qu'il connaisse le port de sortie. Le routeur crée une entrée dans sa table pour ce circuit virtuel, mais il ne peut remplir que trois des quatre colonnes. Le routeur attribue le port entrant (1) et choisit une étiquette entrante disponible (14) et le port sortant (3). Il ne connaît pas encore l'étiquette sortante, qui sera trouvée lors de l'étape d'acquittement. Le routeur transmet ensuite le paquet via le port 3 au routeur R3.
- Le routeur R3 reçoit le paquet de configuration. Les mêmes événements se produisent ici qu'au routeur R1 ; trois colonnes du tableau sont complétées : dans ce cas, le port entrant (1), l'étiquette entrante (66) et le port sortant (2).
- Le routeur R4 reçoit le paquet de configuration. Encore une fois, trois colonnes sont remplies : port entrant (1), étiquette entrante (22) et port sortant (4).
- La destination B reçoit le paquet de configuration, et si elle est prête à recevoir des paquets de A, elle attribue une étiquette aux paquets entrants provenant de A, dans ce cas 77, comme illustré dans la figure ci-dessous. Cette étiquette permet à la destination de savoir que les paquets proviennent de A et non d'autres sources.
Paquet d'acquittement
Un paquet spécial, appelé paquet d'acquittement, complète les entrées dans les tables de commutation. La figure ci-dessous montre ce processus.
- La destination envoie un accusé de réception au routeur R4. L'accusé de réception contient les adresses globales de source et de destination afin que le routeur sache quelle entrée de la table doit être complétée. Le paquet porte également l'étiquette 77, choisie par la destination comme étiquette entrante pour les paquets de A. Le routeur R4 utilise cette étiquette pour compléter la colonne d'étiquette sortante pour cette entrée. Notez que 77 est l'étiquette entrante pour la destination B, mais l'étiquette sortante pour le routeur R4.
- Le routeur R4 envoie un accusé de réception au routeur R3 qui contient son étiquette entrante dans la table, choisie dans la phase de configuration. Le routeur R3 l'utilise comme étiquette sortante dans la table.
- Le routeur R3 envoie un accusé de réception au routeur R1 qui contient son étiquette entrante dans la table, choisie lors de la phase de configuration. Le routeur R1 l'utilise comme étiquette sortante dans la table.
- Enfin le routeur R1 envoie un acquittement à la source A qui contient son étiquette entrante dans la table, choisie lors de la phase d'établissement.
- La source l'utilise comme étiquette sortante pour les paquets de configurations à envoyer à la destination B.
Phase de transfert de données
La deuxième phase est appelée la phase de transfert de données. Une fois que tous les routeurs ont créé leur table de transfert pour un circuit virtuel spécifique, les paquets de couche réseau appartenant à un message peuvent être envoyés les uns après les autres.
L'ordinateur source utilise l'étiquette 14, qu'il a reçue du routeur R1 dans la phase de configuration. Le routeur R1 transfère le paquet au routeur R3, mais change l'étiquette en 66. Le routeur R3 transfère le paquet au routeur R4, mais change l'étiquette en 22. Enfin, le routeur R4 livre le paquet à sa destination finale avec l'étiquette 77. Tous les paquets du message suivent la même séquence d'étiquettes et les paquets arrivent dans l'ordre à destination.
Phase de démontage
Dans la phase de démontage, la source A, après avoir envoyé tous les paquets à B, envoie un paquet spécial appelé paquet de démontage. La destination B répond avec un paquet de confirmation. Tous les routeurs suppriment les entrées correspondantes de leurs tables.