EMSI-3IIR
Année Universitaire : 2009-2010
TABLE DES MATIERES CHAPITRE 1 : LE MODELE DE REFERENCE OSI ................ ........................... ...................... ...................... ............. 2
1.
L’architecture protocolaire réseau..................... réseau ........................................... ............................................. ...................................... ............... 2
2.
Couche physique : Transmission physique des données........................................... ............................................... .... 3
3.
Couche Liaison de données.......................................... ................................................................ ............................................ .............................. ........ 4
3.1. Rôle et objectif .............................................................. .................................................................................... ............................................. ....................... 4 3.2. La délimitation des données .......................................... ................................................................. ............................................. ...................... 4 3.2.1. Notion de fanion............................................. ................................................................... ............................................ .............................. ........ 4 3.2.2. Notion de transparence transparence .......................................... ................................................................. ............................................. ...................... 5 ôle de la validité d’information ........................................... 3.3. Contr ôle .................................................................. .............................. ....... 5 3.4. Contrôle de l’échange ............................................. ................................................................... ............................................ .............................. ........ 5 3.4.1. Les mécanismes de base............................................ ................................................................... ......................................... .................. 5 3.4.2. Les protocoles à anticipation ............................................ ................................................................... .................................. ........... 8 3.5. Le protocole HDLC ............................. ................................................... ............................................ ............................................ ......................... ... 11 3.5.1. Le mode Normal ou Synchrone ...................................................... ....................................................................... ................. 11 3.5.2. Le mode Asynchrone ............................................ ................................................................... ........................................... .................... 11 3.6. Structure d’une trame HDLC ............................................ ................................................................... ....................................... ................ 12 3.6.1. Le champs Commande .......................................... ................................................................. ........................................... .................... 13 3.6.2. Structure d’un dialogue HDLC ............................................ ................................................................... ............................ ..... 15 4.
La couche réseau ........................................... ................................................................. ............................................ ........................................... ..................... 18
4.1. Les modes de connexion ............................................... ..................................................................... ........................................... ..................... 18 4.2. La commutation............................... ..................................................... ............................................. .............................................. ............................ ..... 19 4.2.1. La commutation de circuits ................................... ......................................................... ........................................... ..................... 20 4.2.2. Commutation de messages ................................ ...................................................... ............................................. ........................... 21 4.2.3. Commutation de paquets ............................ .................................................. ............................................. ................................ ......... 21 4.3. Le routage............................................ .................................................................. ............................................ ............................................. ........................... 23 4.3.1. Routage centralisé .......................................... ................................................................ ............................................ ............................ ...... 24 4.3.2. Routage distribué.................................... .......................................................... ............................................ .................................... .............. 25 4.4. La norme X25 ....................... ............................................. ............................................. ............................................. ....................................... ................. 26 L’adressage X25 ............................................. 4.4.1. ................................................................... ............................................ ............................ ...... 27 4.4.2. Format des paquets X25 ................................. ....................................................... ............................................. ............................ ..... 27 5.
La couche Transport ........................................ .............................................................. ............................................. ........................................ ................. 28
6.
La couche Session ................................................. ....................................................................... ............................................ .................................... .............. 29
7.
La couche Présentation ............................................ .................................................................. ............................................ ................................ .......... 29
8.
La couche Application ......................................... ............................................................... ............................................ .................................... .............. 30
CHAPITRE 2 : LA PROGRAMMATION RESEAU EN JAVA J AVA ............... .......................... ................... ........ 31
Transmission de données
1/31
EMSI-3IIR
Année Universitaire : 2009-2010
Chapitre 1 : Le modèle de référence OSI 1. L’architecture protocolaire réseau
Architecture protocolaire réseau : un modèle complet de protocoles de communication Objectifs : o Une cohérence parfaite entre les différentes parties du réseau Une grande modularité, chaque partie peut être modifiée ou o remplacée sans affecter les autres. Une couche : un ensemble homogène de protocoles destinés à accomplir une tâche ou à rendre un service Le découpage en couches permet de Dissocier des problèmes de natures différentes endre évolutive l’architecture : une nouvelle technologie ne remet en cause que R endre la couche concernée Masquer les détails d’implémentation : une couche fournie certains services Principe d’une architecture en couches :
Il y a 2 types t ypes de dialogue :
dialogue horizontal entre couches homologues à l’aide du protocole de niveau
N
dialogue vertical à l’aide de primitives de service
Service : fonctionnalité offerte par le réseau (communication fiable de bout en bout, cryptage des données, ….) servi ce de La couche N+1 demande un s ervice à la couche N à l’aide d’une primitive de service niveau N Les données de la couche N+1 sont encapsulées dans une unité de données de niveau N (en-tête couche N et données N+1)
Transmission de données
2/31
EMSI-3IIR
Année Universitaire : 2009-2010
L’en-tête contient les infos nécessaires au traitement distant sur la couche homologue
(identifiant du service, adresse du destinataire, compteurs de contrôle de l’échange, …) La couche N rend le service de nive au N à la couche N+1 à l’aide d’une interface de
niveau N L e modè odèle de r éfér ence OSI OS I = Ar Ar chite chi tectur cture e prot protoco ocolai lairr e en 7 couche couchess
Un standard permettant de connecter des systèmes ouverts OSI : Open System Interconnexion Système ouvert : qui implémente des protocoles ouverts Protocole ouvert : la description du protocole et ses modifications sont publiques Architecture protocolaire en couches Couches « hautes » orientées application Couches « basses » orientées transport
Décrit formellement ce qu’est une couche, un servi ce, un point d’accès, …
La couche n ajoute l’en-tête Hn (encapsu ( encapsulation) lation)
La couche liaison ajoute un champ supplémentaire T2 pour le contrôle d’erreur de de la transmission (FCS, Frame Check Sequence)
2. Couche physique : Transmission physique des données Objectif : transmettre les informations numériques codées par l’ordinateur sur un support physique de Transmission. Voir le cours : Transmission de données (Semestre 1) .
Transmission de données
3/31
EMSI-3IIR
Année Universitaire : 2009-2010
3. Couche Liaison de données 3.1. Rôle et objectif
Elle supervise le fonctionnement de la transmission et définit la structure syntaxique des messages appelés trames. Une trame est une suite binaire de taille bornée contenant des informations de types “ données ” et/ou des informations de contrôle (l’entête) nécessaires pour réaliser les fonctions de ce niveau. Elle détecte et corrige, si possible, les erreurs dues au support physique et signale à la couche réseau les erreurs irrécupérables. Définir un protocole de liaison de données consiste à préciser : Le format des trames, Le critère de début et de fin de trames, La technique de détection d’erreur utilisée, La place et la signification des différents champs dans une trame, Les règles de dialogue : les procédures après détection d’erreur ou de panne et la supervision de la liaison.
3.2. La délimitation des données 3.2.1.
Notion de fanion Lors d'une transmission de données, il faut pouvoir repérer le début et la fin de la séquence des données transmises Bit de "Start" et bit de "Stop" en transmission asynchrone En transmission synchrone on utilise un fanion (flag) = une séquence de bits particulière
Les trames sont des blocs composés d’un nombre quelconque de bits et on parle de protocole orienté bit. Le fanion sert à délimiter les trames. La suite d’éléments binaires 01111110 est utilisée comme fanion. Un mécanisme de transparence est nécessaire pour éviter l’apparition de la séquence du fanion à l’intérieur de la trame technique du bit de bourrage .
Il consiste, en émission, à insérer dans le corps de la trame un élément binaire de valeur 0 après avoir rencontré 5 éléments binaires consécutifs de valeur 1. En réception, si on rencontre 5 éléments binaires consécutifs de valeur 1, l'automate regarde le bit suivant : o s'il est à "1", il s'agit du fanion o s'il est à "0", le "0" est enlevé de la séquence (il a été introduit à l'émission)
Transmission de données
4/31
EMSI-3IIR
3.2.2.
Année Universitaire : 2009-2010
Notion de transparence La technique du bit de bourrage
Avec un tel mécanisme, on interdit donc l’émission de plus de 5 éléments binaires de
Cette méthode a l’avantage de permettre la transmission de trames de longueur variable,
valeur 1 sauf pour la délimitation de trames (Les fanions). sans limitation, mais elle introduit des variations sur la durée de transmission des données utilisateur
Remarque : La technique de bourrage s’applique sur les trames sans fanions.
La délimitation des trames par des fanions est la dernière étape dans cette couche
Exemple : 1. construire la trame à envoyer au récepteur à partir du bloc de bits suivant (Application de la technique de la transparence puis l’ajout des fanions):
001111011111110001011111001111110 2. Le récepteur dans une communication reçoit la suite de trames suivante : 011111101101011111110001011111001111110011111100111110011001111110 a. Combien de trames dans cette suite de bits ? b. Déterminer les bits de bourrage qui sont ajoutés par l’émetteur dans cette suite (le récepteur doit les enlevés avant de poursuivre d’autr es contrôles).
3.3. Contrôle de la validité d’information
Voir la partie de l’erreur et la détection de l’erreur dans le cours : Transmission de données (Semestre 1).
3.4. Contrôle de l’échange 3.4.1.
Les mécanismes de base Le mode Send & Wait
Transmission de données
5/31
EMSI-3IIR
Année Universitaire : 2009-2010
Lorsqu’une trame est bien reçue, la station réceptrice envoie une trame d’acquittement ACK, après réception de l’ACK l’émetteur peut transmettre une
nouvelle trame. Problème : l'émetteur peut rester bloqué indéfiniment si M0 ou ACK est perdu
La reprise sur temporisation
Time out = compteur Problème : si l'ACK est perdu, les données sont retransmises alors qu'elles ont déjà été reçues ; le message est alors dupliqué chez le récepteur Remarque : le timer doit être bien réglé
Perte de l'ACK
Numérotation des messages émis
On utilise 2 compteurs (Ns en émission, Nr en réception) Ns et Nr sont initialisés à zéro Ns contient le numéro du prochain message à émettre
Transmission de données
6/31
EMSI-3IIR
Année Universitaire : 2009-2010
Nr contient le numéro du prochain bloc à recevoir Ns est transmis de l'émetteur vers le récepteur Un message n'est délivré côté récepteur que si le Ns reçu est égal au Nr local Si Ns < Nr, le message a déjà été reçu, le récepteur le "jette" et l'acquitte de nouveau Attend t-on pour envoyer Mi+1 que Mi soit acquitté ? Ns > Nr est-il possible ?
La numérotation des messages, évite la duplication et permet le contrôle de séquencement des données reçues
Perte de l'acquittement
Le deuxième M0 reçu est rejeté
Exemple : Tracer un diagramme d’échange de messages entre un émetteur et récepteur, l’émetteur désire envoyer 3 messages M0, M1 et M2 au récepteur, supposons que M1 n’arrive pas
correctement au récepteur.
Délai d'acquittement trop important
Transmission de données
7/31
EMSI-3IIR
Année Universitaire : 2009-2010
M1 n'a jamais été reçu et pourtant il est acquitté Il faudrait numéroter aussi les acquittements !
Exemple : Refaire le même exemple précédent, supposons maintenant que le délai d’acquittement est
trop important.
Attend t-on pour envoyer Mi+1 que Mi soit acquitté ? Mode Send & Wait , on attend (pas adapté pour RTT grand) Si on n'attend pas, il faut pouvoir : o stocker les messages non acquittés sur l'émetteur o numéroter les acquittements Ns > Nr est-il possible ? Possible si on envoie Mi+1 alors que Mi n'est pas acquitté Les messages n'arrivent alors pas dans le bon ordre sur le récepteur Soit on refuse les messages tels que Ns> Nr Soit on stocke les messages désordonnés sur le récepteur
3.4.2. Les protocoles à anticipation Dans le mode Send & Wait les performances sont dégradées du fait de l'attente de l'ACK avant d'envoyer un nouveau message.
Protocole à anticipation :
l'émetteur peut faire plusieurs émissions successives sans attendre l'ACK des messages précédents Il faut mémoriser TOUS les messages non acquittés sur l'émetteur dans des "buffers" Quand un ACK arrive, l'émetteur peut libérer le buffer correspondant au(x) message(s) acquitté(s) Sil n'y a plus de buffer libre, l'émetteur doit attendre l'arrivée d'un ACK pour continuer d'émettre
Principe :
Transmission de données
8/31
EMSI-3IIR
Année Universitaire : 2009-2010
Fenêtre d'anticipation (notée W) Crédits d'émission dont dispose l'émetteur Taille optimale de la fenêtre Quand l'émission se fait en continue (l'émetteur n'attend jamais un ACK) W optimale = Ta / Tb Gestion glissante de la fenêtre Quand un ACK avec Nr=i arrive, l'émetteur libère le buffer qui contient le message Mi Exemple avec Ns et Nr stockés sur 3 bits chacun et W=3 (taille de la fenêtre) Gestion sautante de la fenêtre L'acquittement est différé et concerne plusieurs messages Si W=3, M0, M1 et M2 sont acquittés en une seule fois Les émissions s'arrêtent quand les crédits d'émission sont épuisés
Exemple : On désire transmettre des messages entre deux stations A et B, la distance séparant les deux stations est de 1000Km. Les messages font 1000 bits et le débit de la liaison est de 10 Mb/s (1Mb=106 bits), la vitesse de propagation sur la voie de transmission est de 1000Km/s. Transmission de données
9/31
EMSI-3IIR
Année Universitaire : 2009-2010
1. Quel est le temps d’envoi d’un message de A vers B ? On utilise une procédure dite Send and Wait : A envoie un message vers B et attend que B acquitte ce message pour en envoyer un autre. Le mess age d’acquittement fait 100 bits. 2. Calculer le débit effectif de la liaison et son taux d’utilisation.
Au vu des résultats précédents, on désire de faire de l’anticipation, c'est-à-dire que A peut envoyer K messages au maximum avant de recevoir l’acquittement du premier (il y a un
acquittement par message émis). 3. Calculer la valeur de K qui maximise le taux d’utilisation.
Gestion de la fenêtre avec W=3
Les politiques de reprise sur erreur Rejet simple
o o o o
Tous les blocs reçus hors séquencement sont rejetés Le protocole est dit " Go Back N" L'émetteur reprend la transmission à partir du message perdu Mémoire du récepteur minimisée, R éception = 1
Exemple : Proposer un schéma d’échange de messages entre deux stations A et B en utilisant le protocole d’anticipation à rejet simple. A désire transmettre 4 messages à B en supposant que l’émission du 2 ème message (M1) est perdu au chemin.
Transmission de données
10/31
EMSI-3IIR
Année Universitaire : 2009-2010
Rejet sélectif
o
Le récepteur mémorise les messages hors séquencement L'émetteur ne retransmet que les messages erronés Réception = nombre de messages déséquencés pouvant être reçus
o
Transmission optimisée - mémoire importante en réception
o o
3.5. Le protocole HDLC
3.5.1.
3.5.2.
HDLC - High Level Data Link Control, Protocole de niveau 2 OSI Repose sur la transmission synchrone. Nécessite une liaison physique synchrone full-duplex Il met en oeuvre un mécanisme de transparence par fanion Différents modes de HDLC : Le mode Normal ou Synchrone
NRM - Normal Response Mode ou LAP - Link Access Protocol Relation maître/esclave (sollicitation du primaire)
Le mode Asynchrone
ABM - Asynchronous Balanced Mode
Transmission de données
11/31
EMSI-3IIR
Année Universitaire : 2009-2010
Chaque extrémité est primaire en émission et secondaire en réception (mode équilibré) Liaison point à point uniquement Full duplex (LAP Balanced)
Toutes les informations sont transportées dans une structure unique : la trame. (Frame) La trame est de longueur variable et délimitée par un fanion (flag) En l'absence de données, le fanion est envoyé pour maintenir la synchronisation entre les trames
En cas d’émission consécutive de trames, le fanion marque la fin d’une trame et le début
de la suivante La transparence est assurée par la technique du bit de bourrage Contrôle d'erreurs très efficace par CRC avec reprise sur erreur
Exemple : La suite binaire suivante S arrive dans une station réceptrice : S = 01111110 01111110 10101010 10101101 01110010 00110001 01111110 01111110 01111110 1. Combien de trames HDLC y a-t-il dans S ?
3.6. Structure d’une trame HDLC
Format de la trame (Frame)
Fanion = 01111110 Le champ Adresse s’étend sur un octet et identifie une des extrémités de la liaison. Le champ Commande décrit le type de la trame : il s’étend sur 1 octet mais peut être
porté à 2 octets dans le mode appelé mode étendu. Le champ Information est un champ facultatif contenant un nombre quelconque
d’éléments binaires représentant les données de l’utilisateur.
Transmission de données
12/31
EMSI-3IIR
Année Universitaire : 2009-2010
Le champ FCS (Frame Check Sequence) est une séquence de contrôle de trame (elle est obtenue par un contrôle polynomial de polynôme générateur x16 + x12 + x5 + 1). Le champ de gauche est le premier transmis, le champ de droite est le dernier.
Types de trames :
Il existe trois types de trames qui sont identifiés par le champ Commande. o La trame d’information ou trame I : permet la transmission de données o
de l’utilisateur. Les trames de supervision ou trames S : permettent l’acquittement et le
contrôle de flux. Elles ne transportent pas de données. o
Les trames non numérotées ou trames U (Unnumbered) :
sont utilisées pour toutes les fonctions de contrôle de la liaison telles que l’initialisation, la libération... Elles ne transportent pas de données.
Le champ Commande :
Exemple : Dans un protocole de liaison HDLC, on veut émettre la trame d’information définie par :
N(S) = 5, N(R) = 2, P = 1, Champ information (en hexadécimal) = 3F7C16, Adresse = 2B16 FCS = A380. (Valeur non calculée mais prise au hasard pour l’exemple). Donner en binaire la suite à émettre avant la procédure de la transparence binaire, puis donner la suite effectivement émise sur la ligne (après réalisation de la transparence binaire). 3.6.1.
Le champs Commande La trame I (Information) :
La trame I permet la transmission des données. Elle est numérotée le compteur Ns. Elle permet également l’acquittement des trames échangées dans le sens
inverse grâce au compteur Nr. o Ns - compteur des trames I émises o Nr - compteur des trames I reçues o Nr contient le numéro de la prochaine trame attendue o Nr = x acquitte les (x-1) trames précédentes 0
Les trames S (Supervision) : Permettent l’acquittement et l’indication de l’état de disponibilité des stations
(aptitude ou non à recevoir de nouvelles trames). Transmission de données
13/31
EMSI-3IIR
Année Universitaire : 2009-2010
Servent au contrôle d’erreur et au contrôle de flux. Contiennent un numéro Nr
Les trois trames de supervision sont : o
La trame RR (Receiver Ready) indique que l’équipement est prêt à recevoir de nouvelles trames d’information. Le numéro de séquence Nr
indique le numéro de la prochaine trame attendue. Il indique donc que toutes les trames d’information de numéro Ns strictement inférieur à Nr ont été bien reçues. o
La trame RNR (Receiver Not Ready) indique que l’équipement n’est pas en mesure de recevoir de nouvelles trames d’information. Le numéro
Nr a la même signification que pour RR. o
La trame REJ (Rejet) indique que l’équipement demande l’arrêt immédiat des émissions en cours de trame d’information et la reprise de
la transmission. Le numéro de séquence Nr indique où reprendre la transmission.
Les trames U (Les trames non numérotées) (Unnumbered) : Les trames U sont utilisées pour effectuer des fonctions supplémentaires de commande de la liaison :
o
SABM (Set Asynchronous Balanced Mode) permet d’initialiser le
o
fonctionnement en mode équilibré ; DISC (DISConnect) permet de rompre logiquement la liaison entre deux stations ;
o
UA
o
o
(Unnumbered
Acknowledgement)
permet
d’acquitter
les
commandes SABM ou DISC ; FRMR (FRaMe Reject) permet de rejeter une commande invalide (correcte du point de vue de la détection des erreurs mais incohérente par rapport à l’état du dialogue) ; DM (Disconnect Mode) permet d’indiquer l’état de déconnexion d’une
station. Il est utilisé, en particulier, pour répondre négativement à une initialisation SABM.
Le bit P/F - bit de contrôle Il est appelé P dans une trame de commande, F dans une trame de réponse
Transmission de données
14/31
EMSI-3IIR
Année Universitaire : 2009-2010
P (Poll) = demande de réponse explicite ou non émise par une station primaire F (Final) = indication de réponse explicite émise par une station secondaire, suite à une demande explicite émise par un primaire P=1 - sollicite une réponse explicite du secondaire Réponse à P=1 par F=1 - le secondaire répond par un acquittement Une station qui reçoit une trame de commande avec le bit P/F=1 doit répondre avec P/F=1
Exemple : La suite binaire suivante S arrive dans une station réceptrice : S =011111100000001000101001110111110100111110 000101011001111100001010111111001111110011111 1000000010100010010010111011111010101111110 1. Combien de trames HDLC y a-t-il dans S ? Pour la suite de l’exercice, on travail avec la premièr e trame de S.
2. Déterminer les différents champs dans cette trame ainsi que leurs contenus. 3. De quel type de trames s’agit-il ? Donner votre interprétation de ce que veut dire l’émetteur par l’envoi de cette trame.
3.6.2.
Structure d’un dialogue HDLC Connexion et libération Une connexion bipoint se déroule en trois étapes: initialisation du mode, échanges de trames d'information avec contrôle d'erreur et de flux, et enfin fermeture de la connexion.
Règles de reprise pour le mode LAP_B : Débordement (contrôle de flux) : o La station qui ne peut plus recevoir de trames I émet un RNR dont le Nr indique la première trame non acceptée o Elle émet une trame RR quand elle est de nouveau prête à recevoir de nouvelles trames Erreur de transmission : o Toute trame dont l'analyse du FCS indique une erreur de transmission est ignorée aucune autre action n'est entreprise
Transmission de données
15/31
EMSI-3IIR
Année Universitaire : 2009-2010
Erreur de numéro de séquence Ns : o La trame dont le Ns n'est pas celui attendu est ignorée ainsi que les suivantes o La station recevant cette trame émet une trame REJ dont le numéro Nr indique la trame attendue Deux temporisateurs : o Temporisateur de retransmission (T1) initialisé par l'émetteur à chaque trame émise o Temporisateur d'acquittement (T2) correspondant au délai maximum au bout duquel le récepteur doit, s'il n'a pas de données à émettre, envoyer un acquittement Reprise sur time-out : o La station qui ne reçoit aucun acquittement des trames d'information émises au bout d'un temps T1 reprend l'émission de la première trame non acquittée en positionnant le bit P/F à 1 o La station peut poursuivre normalement l'émission des autres trames I dès la réception d'un acquittement portant le bit P/F à 1 Des variables d’état V(s), V(r) et DN(r) : o
Dans chaque station, la mise en œuvre des procédures comprend la
gestion du contrôle des temporisateurs et des variables d'état appelées V(s), V(r) et DN(r) définies par: V(S) : numéro (modulo 8) de la prochaine trame d'information que la station est prête à émettre. V(R) : numéro (modulo 8) de la prochaine trame d'information que la station est prête à recevoir. DN(R): "numéro plus un" (modulo 8) de la dernière trame d'information que la station avait émise et qui a été acquittée par la station distante. Exemple d’échange de données
Transmission de données
16/31
EMSI-3IIR
Année Universitaire : 2009-2010
Exemple :
Transmission de données
17/31
EMSI-3IIR
Année Universitaire : 2009-2010
On considère une liaison entre deux stations A et B, gérée par un protocole de type HDLC. On suppose que la station a une fenêtre d’émission de taille 3 et la station B à une fenêtre
de taille 1. 1) Tracer le diagramme d’échanges de trames entre la station émettrice A et station réceptrice B (type, numéros de séquence Ns et Nr, valeur de P/F) pour transférer 7 trames d’information de A à B avec établissement et fermeture de connexion (le temps
de propagation est négligeable). 2) Refaire ce diagramme si la trame I3 est perdue au chemin. 3) Que se passe-t-il si une trame avec P = 1 se perd ? Comment peut-on résoudre ce problème ?
4. La couche réseau
Pour échanger des informations entre 2 entités communicantes quelconques à travers un ou plusieurs réseaux : Les deux correspondants doivent être mis en relation ( notion de commutation) Chaque correspondant doit être identifié et localisé de manière unique sur le réseau (notions d'adressage et de nommage) Le réseau doit acheminer les blocs d'information vers le destinataire ( notion de routage) La taille des unités de données transférées doit être adaptée aux capacités du réseau (notion de segmentation) Le trafic admis dans le réseau ne doit pas conduire à l'effondrement de celui-ci (notion de contrôle de congestion)
4.1. Les modes de connexion
Deux techniques sont possibles pour assurer le transfert de données d ’un point vers un autre : le mode connecté ou le mode sans connexion. Au niveau du réseau, le premier utilise les circuits virtuels et le second les datagrammes. Service avec connexion : ce type de service repose sur le concept de circuit virtuel. Il consiste à chercher une fois pour tout un chemin et à le garder tout au long de la communication. Celle-ci se fait en 3 phases: 1- Recherche du chemin et établissement du circuit virtuel; 2- Transfert des données ; 3- Libération du circuit virtuel. Le terme circuit virtuel signifie que l’émetteur et récepteur ont l’impression d’avoir une ligne physique qui les relie. (Le téléphone fonctionne sur ce pri ncipe : circuit physique réel).
Paquets 1,2,...
Paquets 1,2,...
Destinataire
Emetteur
Service sans connexion : dans ce type de service le paquet est appelé
datagramme.
Transmission de données
18/31
EMSI-3IIR
Année Universitaire : 2009-2010 o
o o
Les datagrammes sont des paquets indépendants les uns des autres; chaque paquet choisit son propre chemin en fonction de sa taille, du trafic au moment où il est émis, etc. Les paquets peuvent ainsi arriver en désordre. Ce service est celui du courrier postal par exemple.
Paquet 1
Paquet 1
Destinataire
Emetteur Paquet 2 Paquet 2
o
o
Le mode datagramme est intéressant lorsque les paquets sont longs. Le chemin le plus rapide est choisi à chaque fois. Par contre lorsque les paquets sont petits et nombreux, il est pénalisant d’incorporer à chacun les informations nécessaires au routage et de calculer individuellement la route.
La recommandation qui a connu le plus grand succès est X.25 Il s’agit d’une recommandation CCITT reprise par l ’ISO. Cette norme définit les 3 premières couches du modèle de référence. Cependant lorsque l ’on parle de X.25, on fait référence à la couche réseau. La norme X.25 a été adoptée par tous les grands opérateurs comme base de leur réseau de transport de données. X.25 est un protocole en mode connecté basé sur la technique des circuits virtuels
Les réseaux Internet emploient IP (Internet Protocol) qui fonctionne en mode non connecté.
4.2. La commutation
2 stations du réseau peuvent être mises en relation par différents chemins. Si plusieurs chemins, lequel choisir ? o o o
Minimiser le coût de l’infrastructure du réseau.
Atteindre le destinataire de la façon la plus efficace. Optimiser l’utilisation des ressources du réseau : Optimiser le partage des ressources ( Multiplexage).
C’est l’objectif de la commutation.
Principe de la commutation : o
Aiguillage de la commutation d’un canal en entrée vers un c anal de sortie.
o
Définir la manière (la technique) comment on atteint la destination. Commutateur
Station 1
Station 4
Transmission de données Station 2
19/31 Station 5
EMSI-3IIR
4.2.1.
Année Universitaire : 2009-2010
Divers techniques : o Commutation de Circuits. o Commutation de Messages. o Commutation de Paquets. La commutation de circuits
Un circuit physique (chemin) est construit de bout en bout entre l’émetteur et le récepteur. La mise en relation est réalisée par les commutateurs avant tout échange de données (phase de connexion). Le circuit est bloqué (phase de transfert) tant que les deux abonnés ne le restituent pas explicitement (phase de libération). Exemple : Le réseau Téléphonique Commuté (RTC). Réseau
Récepteur
Emetteur Circuit réservé entre émetteur et récepteur
Commutateur
Avantage :
Garantit le bon ordonnancement des données. o Pas de stockage intermédiaire des données. o Débit Source/Destination identiques. o Les abonnés monopolisent la ressource durant toute la connexion. Inconvénients : o
o
S’il n’y a plus de ressource disponible de bout en bout, la connexion est
o
refusée. Mauvaise utilisation des ressources : les 2 abonnés consomment rarement toute la bande passante.
Transmission de données
20/31
EMSI-3IIR
4.2.2.
Année Universitaire : 2009-2010
Commutation de messages Un message est une suite d’informations formant logiquement un tout pour l’émetteur et le destinateur (Un fichier complet, un programme, …). Pas d’établissement préalable à la communication (aucun lien physique entre la source
et la destination).
Sur chaque nœud du réseau, un message est : o
Reçu en entier et stocké si nécessaire (mettre en mémoire).
o
Analysé (contrôle des erreurs), puis transmis au nœud suivant,
etc. …
B
Réseau
A
D
E
C
Avantage : Meilleure utilisation des liens qu’avec la commutation de circuit. o o Possibilité de faire de la diffusion d’un même message. o De faire du contrôle d’erreurs entre deux commutateurs voisins. Inconvénients :
Nécessite une mémoire de masse importante dans les commutateurs.
o
Temps d’acheminement non maîtrisé si un message est erroné, il devra être
o
4.2.3.
retransmis intégralement Remarque : o Ce mode de commutation a pratiquement disparu au profit de la commutation de paquets. Commutation de paquets
Le message est découpé en paquets (fragments) de petite taille. Chaque paquet est acheminé dans le réseau indépendamment du précédent (et des autres).
Le séquencement des paquets n’est plus garanti. Reconstitution du message à l’arrivée.
Transmission des paquets de différentes sources sur un même lien.
C
C2 C1
B2
B1
B Transmission de données A
A1
….
C2
C1
A1
B1
21/31
EMSI-3IIR
Année Universitaire : 2009-2010
Avantage : Optimisation de l’utilisation des ressources. o o
Transmission plus rapide que dans la commutation de messages.
Retransmission uniquement du paquet erroné en cas d’erreur. L’intérêt de la commutation de paquets sur la commutation de messages peut être rendu o
évident par la figure ci-dessous On gagne du temps par la simultanéité de réception et de transfert de paquets différents. Commutation de Messages
Message
Nœud 1
Emission Message
Nœud 2
Emission Message
Nœud 3
Temps
Commutation de Paquets Nœud 1
Nœud 2
Nœud 3
P1
P2
P3 P1
P2
P3 P1
P2
P3
Temps
Avantage :
Mêmes avantages que la commutation de message. o Le temps de transmission est meilleur que celui obtenu avec la commutation de messages. Inconvénients : o Il peut être nécessaire de réordonner les paquets pour reconstituer le message. o Chaque paquet doit contenir les informations nécessaires à son acheminement. o
Il existe 2 types de commutations de paquets :
Transmission de données
22/31
EMSI-3IIR
Année Universitaire : 2009-2010 o
o
Le Circuit Virtuel : Tous les paquets d’un même message suivent le même chemin défini pour chaque message (le chemin est établi à l’avance : Réservation logique des ressources du réseau). Le Datagramme : Chaque paquet (appelé Datagramme) d’un message peut emprunter un chemin différent des autres ; à l’arrivée, il faut réordonner les
paquets du message, car les paquets peuvent arrivés dans le désordre à la destination. Exercice :
On désire transmettre un message de taille 1480 octet sur un réseau d’un émetteur A vers une destination B. Réseau
2 1
A
3
4
5
6
B
Le réseau en question consiste à ajouter 20 Octet de contrôle sur chaque message envoyé. Le débit de la transmission est 64 Kbits/Sec. 1. Déterminer le temps nécessaire d’envoi du message de A vers B dans les différents modes de commutations suivantes : a. Commutation de Circuit b. Commutation de Messages c. Commutation de Paquets (mode Datagramme) : Faire le calcul pour les différentes tailles de paquets : 57 oct, 168 oct et 316 oct. Remarque : o On suppose que pour les différentes commutations l’information suit le même chemin : 1-2-3-4-5-6 o Le temps de propagation sur les supports est supposé négligeable. 2. Quels commentaires pouvez-vous faire pour le choix de la commutation à utiliser ?
4.3. Le routage
Le routage est la fonction qui peut sembler le plus importante da la couche réseau. Quelle que soit le mode employé, datagrammes ou circuits virtuels, le problème est le même: Comment trouver les chemins possibles et lequel choisir ? L’algorithme de routage est chargé de résoudre ce problème il doit être : o Robuste (capacité de trouver, en cas de défaillance en un point, un chemin de secours);
Transmission de données
23/31
EMSI-3IIR
Année Universitaire : 2009-2010
Stable (certitude de trouver rapidement une solution, quelque soit la complexité du réseau); o Juste (équité de tous usagers). Les algorithmes de routages sont classés en deux catégories : Les routages adaptatifs o o Les routages non adaptatifs Ressources d ’un réseau ne peuvent être atteintes que par l’intermédiaire d’une adresse de telle sorte que chaque terminal doit pouvoir être adressé sans aucune ambiguïté. Dans les réseaux publics (X.25), l ’adresse est codée sur 14 chiffres. Le type d ’adressage utilisé est hiérarchique o
Destination
Voie de sortie
D1
A1, A2
D2
A2
D3
A1, A2
D4
A3 A1
File d’attente en entrée
Table de Routage
A2
D4 D1 D2 D1 A3 Nœud de
commutatio
Les algorithmes de routage utilisent une table installée dans chaque nœud du réseau et
Les principales actions à entreprendre pour déterminer une table de routage sont les suivantes: Les nœuds du réseau doivent communiquer leur état à leur voisine, tous les
consiste à fixer par quelle ligne de sortie chaque commutateur réexpédié les paquets qu'il reçoit.
reçus
pour en tirer un état global du réseau. En fonction de l'état global du réseau déterminer une table de routage.
On peut définir deux classes de routage :
4.3.1.
nœuds du réseau ou à un centre de contrôle. Chaque nœud ou le centre de contrôle doit assembler les rapports qu'il a
Routage centralisé Routage distribué
Routage centralisé
Transmission de données
24/31
EMSI-3IIR
Année Universitaire : 2009-2010
Le routage centralisé est géré par un nœud particulier du réseau qui reçoit des informations de chacun des nœuds du réseau et leur envoie leur table de routage.
La mise à jour des tables de routage peut se faire de la manière suivante: o La méthode la plus simple est, un routage fixe pour une configuration donnée. En cas de défaillance d'un élément du réseau, le centre envoie une nouvelle table de routage. o
Synchrone: toutes les tables sont mises à jour au même moment par le centre de contrôle qui reçoit des informations de la part de tous les nœuds
à intervalles réguliers. o
4.3.2.
Asynchrone: les nœuds envoient un compte rendu dés que celui -ci
a suffisamment varié par rapport au précédent. De même, le centre de contrôle dresse des tables de routage. au fur et à mesure de l'arrivée de nouvelles informations. Il envoie à tous l es nœuds la première table de routage qui lui paraît suffisamment différente de la précédente.
Routage distribué
Le routage distribué ne possède pas de centre de contrôle. La décision du routage est effectuée au niveau de chaque nœud. o L'inondation: A la réception d'un paquet celui-ci est renvoyé sur toutes
les lignes de sortie. Cette technique est inadaptée au circuit virtuel. o
Le routage adaptatif : Chaque nœud établi une table de routage local en fonction des comptes- rendus des nœuds voisins.
En général, un bon algorithme de routage est un algorithme qui établit la table de routage selon les états du nœud sans trop charger le réseau avec les paquets
de contrôle qui peuvent empêcher un fonctionnement en temps réel et provoquer aussi le phénomène de congestion. Exemple : On considère la topologie du réseau suivant :
A
B
C
D
E
F
G
H
I
J
K
L
Transmission de données
25/31
EMSI-3IIR
Année Universitaire : 2009-2010
Considérons le nœud J. Il reçoit les tables de routage de ses voisins immédiats A, I, H, et K.
Elles sont représentées dans les tableaux ci-dessous : A 0 12 25 40 14 23 18 17 21 9 24 29 Délai
A B C D E F G H I J K L
I 24 36 18 27 7 20 31 20 0 11 22 33 Délai
H 20 31 19 8 30 19 6 0 14 7 22 9 Délai
K 21 28 36 24 22 40 31 19 22 10 0 9 Délai
Déterminer la nouvelle table de routage de J.
4.4. La norme X25
La norme X.25 recouvre en fait les trois premières couches du modèle OSl.
X.25 niveau 3
X.25 niveau 3
HDLC : LAPB
HDLC : LAPB
X.21
X.21
ETTD
Nœud d’entrée
Réseau X.25
Nœud d’entrée
ETTD
La norme X.25 constitue donc une interface locale entre un ETTD et son point d'entrée dans le réseau. Cette même interface est utilisée entre les nœuds du réseau de
communication.
Transmission de données
26/31
EMSI-3IIR
Année Universitaire : 2009-2010
4.4.1.
L’adressage X25 Les ressources d ’un réseau ne p euvent être atteintes que par l’intermédiaire d’une adresse de telle sorte que chaque terminal doit pouvoir être adressé sans aucune ambiguïté. Dans les réseaux publics (X.25), l ’adresse est codée sur 14 chiffres . Le type d ’adressage utilisé est hiérarchique 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Pays Réseau Adresse de l’hôte Adresse complémentaire
4.4.2.
Etats-Unis 310 à 329 Canada 302 à 307 France 208 à 212 Royaume U. 234 à 238
--> 200 réseaux --> 60 réseaux --> 50 réseaux --> 50 réseaux
Format des paquets X25 Le protocole X.25 définit deux types de paquets : les paquets de données et les paquets de supervision (l'établissement, rupture de connexion, ...).
Structure des paquets de données Q
D
0
P(R)
1 NGLV NVL M P(S) ... ... données ... ...
0
Le bit Q : pour permettre
aux couches supérieures de définir deux catégories de paquets (contrôle et données par exemple). D : pour le contrôle de flux “ 1 ” = bout en bout; “ 0 ” = local. N° voie logique (12 bits) : comporte N° groupe (4 bits) et le N° de canal logique
(8 bits) ~ 4096 CV 1 P(R) et P(S) jouent le même rôle que les compteurs N(R) et N(S) utilisés dans la procédure HDLC. (P(R) est le numéro du prochain paquet à recevoir, P(S) est le numéro du paquet émis.) Le bit M est le bit "séquence complète de paquets". Il est utilisé pour la réception de message dont la taille est supérieure à un paquet.
Structure de paquets de supervision
La différence entre paquet de données et paquets de contrôle se fait à l'aide du bit de poids faible du 3ème octet.
Transmission de données
27/31
EMSI-3IIR
Année Universitaire : 2009-2010 1
2
3
0
0
0
4
5
6
7
1 NGLV NVL Type ... ... Champs complémentaires ... ...
8
1
Suivant les types de paquets, il est nécessaire d'avoir' des informations complémentaires qui sont alors mises dans le champ complémentaire des paquets de supervision. Les différents types de paquets de supervision sont donnés dans le tableau suivant:
Troisième octet
1 2 3 Demande d'ouverture et Appel d'ouverture 0 0 0 Appel accepté 0 0 0 Receive Ready (RR) P(R) Receive Not Ready (RNR) P(R) Reject(REJ) P(R) Demande de fermeture et indication de 0 0 0 fermeture Confirmation de fermeture 0 0 0
4 5 6 0 1 0 0 1 1 0 0 0 0 0 1 0 1 0 1 0 0 1
0
1
7 1 1 0 0 0 1
8 1 1 1 1 1 1
1 1
5. La couche Transport
7 6 5 4 3 2 1
3 2 1
7 6 5 4 3 2 1
1ère à prendre en charge des connexions directes entre ses extrémités (Transport de messages de bout en bout ou relation système à système). Offre aux niveaux supérieurs des services indépendants du (ou des) réseau(x).
Transmission de données
28/31
EMSI-3IIR
Année Universitaire : 2009-2010
Couche charnière entre les couches de bas niveau (1,2 et 3) et les couche de haut niveau (5,6 et 7) : réalise une indépendance entre les OS des machines interconnectés et les supports physiques de transport de données.
6. La couche Session 7 6 5 4 3 2 1
Protocole session
3 2 1
7 6 5 4 3 2 1
1ère qui ne concerne plus la transmission. Établit, gère et termine les sessions de communication entre les entités de la couche présentation. Augmentation de la qualité de transmission avec des outils de synchronisation de dialogue et de structuration des informations échangée.
7. La couche Présentation 7 6 5 4 3 2 1
Protocole présentation
3 2 1
7 6 5 4 3 2 1
La couche présentation définit la syntaxe et la sémantique des informations Transportées. La couche présentation assure le transport de données dans un format homogène entre applications et ordinateurs hétérogènes. Elle permet l’introduction de mécanismes de pré et post conditionnement de l’information en vue de son transport.
Transmission de données
29/31
EMSI-3IIR
Année Universitaire : 2009-2010
8. La couche Application 7 6 5 4 3 2 1
Protocole application
3 2 1
7 6 5 4 3 2 1
La couche application donne au processus d’application le moyen d’accéder à l’environnement OSI et fournit tous les services directement utilisables par l’application, à savoir : Le transfert d’informations ; L’allocation de ressources ; L’intégrité et la cohérence des données accédées ;
La synchronisation des applications coopérantes. La couche application gère les programmes de l ’utilisateur et définit des standards pour que les différents logiciels commercialisés adoptent les mêmes principes.
Transmission de données
30/31