Td corrigé TD 10 Réseaux: modèle OSI pdf

TD 10 Réseaux: modèle OSI

Ce corrigé propose une réponse à toutes les questions de l'énoncé "TD2", bien que ... que tous les protocoles utilisés communiquent en mode connecté, que le protocole de ..... Exercice 1 "Transmission d'informations binaires selon HDLC".




part of the document



eurs sur les DATA et qu'au départ les seules connexions établies sont celles du niveau 1.
NOTA :
On utilise les notations du cours (cf. "Support de cours C2" vues 21 à 24), en identifiant chaque SAP par le numéro de la couche inférieure. L'appel d'une directive "en descendant" donne le contrôle à la couche ayant le même numéro que celui associé au SAP, en activant une entité de cette couche. Par contre on considère que l'appel d'une directive "remontante" (suffixe I ou C) donne le contrôle à la couche de numéro supérieur à celui du SAP, en relançant l'activité d'une entité de ce niveau N qui aura du se mettre auparavant en attente de cet événement.
L'établissement de la connexion de niveau 3 est connu des couches 3 homologues et de l'entité de la couche 4 de A qui a demandé cette connexion. Mais l'entité homologue de niveau 4 du système B ne s'en apercevra qu'au moment où elle voudra passer un message de niveau 4 (parce qu'il ne sera pas refusé avec l'indication "Pas de connexion de niveau 3"). Cette dissymétrie est due aux restrictions de l'énoncé, nécessaire pour limiter la taille du schéma ci-dessous, parce que normalement les connexions réelles sont établies à la demande d'un application (niveau 7)


Voici la liste chronologique des opérations à faire pour établir la connexion entre les couches 3 homologues :
Une entité de niveau 4 (Transport) demande à la couche 3 d'établir une connexion de niveau 3 en exécutant une Directive 3-CRq, ce qui active une entité du niveau 3, qui :
Prépare un PAQUET D'APPEL (ex CALL en X25), qui comportera 20 octets de données et un entête de 3 octets (3-PCI), dans un buffer de type 3-PDU
Demande à la couche 2 d'établir une liaison de niveau 2, pour permettre l'envoi du paquet d'appel. Elle exécute alors une Directive 2-CRq (avec attente de la CONFIRMATION)
L'entité de niveau 2 activée par la Directive 2-CRq :
Prépare une TRAME de service demandant l'initialisation de la liaison (en X25 niveau 2, il s'agit d'une SABM). Cette trame se réduit aux 6 octets de l'entête 2-PCI.
Exécute une Directive 1-DaRq, pour demander à la couche 1 de transmettre la trame "SABM" à la couche homologue.
Lance la séquence 2-CC pour qu'elle se déclare en attente de l'arrivée du message de confirmation.
L'entité de niveau 1 activée par la Directive 1-DaRq active alors le coupleur et l'adaptateur qui feront l'E/S (avec les zones de service (fanions, bits e remplissage, calcul et émission du FCS)).
Une entité de niveau 1 du système B est normalement en attente d'arrivée de signaux sur la ligne d'entrée de données (coupleur et adaptateur constamment "en réception"). Les données de la trame de service sont ainsi rangées en mémoire dans un tampon 1-SDU (filtrage au passage des bits de "transparence bit", calcul du FDS).
Lorsque la réception est terminée (détection du fanion de fin), l'entité de niveau 1 de B le signale à sa couche "cliente" (niveau 2) en provoquant le relancement de la Directive 1-DaI, mise en attente précédemment par une entité du niveau 2 de B.
L'entité de niveau 2 relancée par la Directive 1-DaI va alors examiner quel est le type de la trame reçue. Constatant qu'il s'agit d'une trame "SABM", la séquence "1-DaI" du niveau 2B va provoquer le relancement de la séquence 2-CI (elle aussi du niveau 2 B) qui attend ce type de trame.
La séquence 2-CI (niveau 2B) va alors exécuter une Directive 2-CRp, pour :
Préparer une TRAME de service donnant son accord pour l'initialisation de la liaison (en X25 niveau 2, il s'agit d'une trame UA). Cette trame se réduit aux 6 octets de l'entête 2-PCI.
Exécuter une Directive 1-DaRq, pour demander à la couche 1 de transmettre la trame "UA" à la couche homologue.
Lance la séquence 1-DaI pour qu'elle mette en attente de la prochaine trame entrante.
Une entité de niveau 1 du système A reçoit les signaux de la ligne d'entrée de données (coupleur et adaptateur constamment "en réception"). Les données de la trame de service sont ainsi rangées en mémoire dans un tampon 1-SDU (filtrage au passage des bits de "transparence bit", calcul du FCS).
Lorsque la réception est terminée (détection du fanion de fin), l'entité de niveau 1 de A le signale à sa couche "cliente" (niveau 2) en provoquant le relancement de la Directive 1-DaI qui a été mise en attente précédemment par une l'entité du niveau 2 de A qui avait activé 1-DaRq (voir étape 2).
L'entité de niveau 2 de A, relancée par la Directive 1-DaI, va alors examiner quel est le type de la trame reçue. Constatant qu'il s'agit d'une trame "UA", la séquence "1-DaI" du niveau 2A va provoquer le relancement de la séquence 2-CC (elle aussi du niveau 2) qui attend ce type de trame, séquence 2-CC qui autorisera ensuite le relancement de l'entité de niveau 3A qui attend cet évènement.
L'entité active du niveau 3A va alors :
Commander à la couche Liaison la transmission du PAQUET D'APPEL (23 octets) préparé lors du lancement initial par 3-CRq (voir étape 1), en activant une Directive 2-DaRq.
Lancer la séquence 3-CC, pour qu'elle se déclare en attente de l'arrivée du message de confirmation d'appel de niveau 3.
L'entité de niveau 2 activée par la Directive 2-DaRq va alors :
Préparer une TRAME "INFO", pour transporter le paquet passé par la couche 3. La longueur de cette trame sera de 29 octets (après encapsulation niveau 2).
Exécuter une Directive 1-DaRq, pour demander à la couche 1 de transmettre la trame "INFO" à la couche homologue de B.
Lancer la séquence 2-DaI pour qu'elle se déclare en attente de l'arrivée du message de confirmation.
L'entité de niveau 1 activée par la Directive 1-DaRq va alors activer le coupleur et l'adaptateur du système A, qui feront l'E/S (avec les zones de service (fanions, bits e remplissage, calcul et émission du FCS). La trame est reçue dans le système B et rangée en mémoire dans un tampon 1-SDU (filtrage au passage des bits de "transparence bit", calcul du FCS).
Lorsque la réception est terminée (détection du fanion de fin), l'entité de niveau 1 de B le signale à sa couche "cliente" (niveau 2) en provoquant le relancement de la Directive 1-DaI qui a été mise en attente précédemment.
L'entité de niveau 2 relancée par la Directive 1-DaI va alors examiner quel est le type de la trame reçue. Constatant qu'il s'agit d'une trame "INFO", la séquence "1-DaI" du niveau 2B va :
Vérifier la conformité de la trame reçue et provoquer la préparation puis l'envoi d'une trame de compte-rendu (RR) en activant la Directive 1-DaRp (je ne développe pas plus cette branche (voir schéma)).
Provoquer le relancement de la séquence 2-DaI (elle aussi du niveau 2) qui attend ce type de trame.
La séquence 2-DaI isole les infos de la trame, en reconstituant ainsi le PAQUET D'APPEL dont elle signale l'arrivée à la séquence 3-CI du niveau 3 B (mise en attente auparavant).
La séquence 3-CI du niveau 3 de B analyse alors le paquet reçu et normalement active la Directive 3-CRp pour préparation puis transfert à A d'un PAQUET D'ACCEPTATION D'APPEL de 23 octets… Ce paquet d'acceptation remontera ensuite jusqu'au niveau 3A dont la séquence 3-CC rendra compte à l'entité appelante (niveau 4), si elle attend un CR.

Question = Estimer le temps d'établissement de cette connexion, en faisant les hypothèses :
A et B sont reliés par une liaison à 9600 bits/s, avec un délai de transfert de 10 ms
Chacun des systèmes A ou B est exploité sur un PC de puissance moyenne, qui prend 2 ms pour traiter une primitive SAP quelconque.
Pour évaluer les longueurs des PDU intervenant au cours de cet échange entre A et B, on considérera les longueurs exprimées en octets suivantes :
L (3-PCI) = 3 ; L (2-PCI) = 6 ;
L (Messages de demande ou de confirmation de connexion) = 20, pour chacun des niveaux 4 et 3.
En se plaçant dans l'hypothèse où il n'y a qu'une connexion à établir et où toutes les directives et E/S sont "bloquantes", les temps à considérer sont : Temps d'exécution de 24 directives 48 ms Temps de transfert de A à B (6 traversées) 60 ms Temps d'écoulement des octets (6+6+29+6+29+6)*8/9600 68 ms Soit # 168 ms pour établir une connexion
Exercice 2
On utilise maintenant la connexion de niveau 3 établie entre les couches transport des systèmes A et B pour transmettre un fichier de 120 000 octets de A vers B, en utilisant les fonctions de segmentation et de ré assemblage aux niveaux 3 et 2, pour avoir au plus 100 octets de données par paquet et 64 octets de données par trame.
Rendement de la transmission [(Nb octets utiles / Nb octets total), transmis par A] ?
Il y a segmentation au niveau 3, pour faire 1200 paquets de 100 octets info (+3 entête) Il y a encore segmentation de chaque paquet en 2 trames de 64 octets info -> trame de 70 octets en tout 39 octets info -> trame de 45 octets en tout Soit 115 octets transmis par A (+6 par B non comptés ?), pour véhiculer 100 octets d'infos R = 100/115 = 86,95 %
Schéma chronologique des appels de Primitives des SAP de niveau 3, 2, 1 des 2 systèmes ouverts A et B, pour transmettre un paquet de données (régime de croisière). On a supposé que :
La première trame correspondant à un paquet transporte dans sa zone PCI l'accusé de réception de la dernière trame INFO émise par le système B (paquet RR d'acceptation du paquet précédent).
Le niveau 2 B ré assemble les 2 trames d'un paquet pour le "passer" ensuite en une fois à l'entité de niveau 3B qui l'attend (2-DaI)

Estimer le débit de données utiles, par seconde, en supposant que tous les traitements sont effectués par le même type de processeur que celui considéré au cours de la question 3 et que la détection d'erreur interdit l'anticipation.
12 primitives déroulées 24 ms
Trame1 (70*8/9600)+ T= 58,33 ms + 10 ms 68,33 ms
Accusé de réception 1 (6*8/9600) + T = 5 ms + 10 ms 15 ms
Trame2 (45*8/9600)+ T= 37,5 ms + 10 ms 47,5 ms
Accusé de réception 2 (9*8/9600) + T = 7,5 ms + 10 ms 17,5 ms
Temps de transfert d'un paquet 172,33 ms
Débit réel "de croisière" 115*8*(1000/172,33) 5338,4 bits/s
Débit utile "de croisière" 100*8* (1000/172,33) 4642,3 bits/s
Ici le système A peut considérer que son message a bien été reçu dès qu'il a reçu l'accusé de réception du dernier paquet (le "Contrôle de bout en bout" est ici fait aux niveaux 2 et 3). Les seules directives supplémentaires à considérer pour la transmission du message complet sont celle de remise du message (3-DaRq) et celle de confirmation finale (3-DaC)
Temps de transfert du message complet = 1200*172,33 + 0,004 # 206,79 s
Que devient ce débit si le protocole de niveau 2 et 3 (en allant au delà de l'énoncé, ici) autorise l'émission anticipée des DATA, sans attente des accusés de réception (en régime de croisière) ?
12 primitives déroulées 24 ms
Trame1 (70*8/9600) = 58,33 ms 58,33 ms
Trame2 (45*8/9600)= 37,5 ms 37,5 ms
Temps de transfert d'un paquet 119,83 ms
Temps de transfert du message complet 143,79 s
Débit réel "de croisière" 115*8*(1000/143,79) 6398,2 bits/s
Débit utile "de croisière" 100*8* (1000/157,33) 5563,7 bits/s
Quelle serait la vitesse de ligne (en bits/s) que les systèmes A et B pourraient utiliser de façon rentable sur la Liaison A-B, lorsque les protocoles de niveau 2 et 3 permettent l'anticipation ?
Il faudrait d'abord que les 2 systèmes se répartissent la charge de déroulement des primitives (6 par coté -> 12 ms par paquet)
On peut supposer qu'en régime de croisière les délais de transfert ne s'accumulent pas, puisque chaque couche anticipe sans attendre le compte-rendu
Il faudrait ensuite que le temps de transfert sur chacun des sens de transmission ne dépasse pas ce temps de traitement (on se place dans le sens A -> B , plus chargé) Soit 12 ms pour 115 octets ( 920 bits) Débit 920/0,012 = 76666,66 bits/s
Débit utile 800/0,012 = 66666,66 bits/s

Exercice 3
Faire le schéma chronologique des appels de Primitives des SAP de niveau 3, 2, 1 de deux systèmes ouverts A et B, qui seront déroulées dans ces systèmes, pour transmettre les 2 premières trames transportant des données d'un fichier de 120 000 octets de A vers B, en supposant que :
A et B sont reliés par une liaison à 9600 bits/s, avec un délai de transfert de 10 ms
Les protocoles de niveaux 2 et 3 communiquent en mode "non connecté" ;
Les traitements de niveaux 1, 2 et 3 des 2 systèmes sont exécutés dans une carte coupleur télécoms, qui prend 2 ms pour traiter une primitive SAP quelconque ;
Les 3-PDU ("Datagrammes") peuvent transporter 500 octets de données, ils ont un entête de 20 octets ;
Les 2-PDU ("Trames") peuvent transporter un datagramme entier, ils ont un entête de 26 octets.
Estimer le temps nécessaire au transfert du message au complet, jusqu'à l'entité de transport du système B.
Quel est le débit utile moyen, par seconde ?
Il y a segmentation au niveau 3 : le 3-SDU reçoit 120 000 octets au moment de l'appel par l'entité de niveau 4 (3-DaRq). Ce 3-SDU va être découpé en 240 segments qui seront chacun véhiculés dans un Datagramme de 520 octets au total. Le passage par le niveau 2 ne nécessite pas de nouvelle segmentation, mais l'encapsulation porte à 546 la longueur de chaque trame Le rendement est ici R2 = 500/546 # 91,6 %
Les protocoles des niveaux 3 et 2 travaillent par hypothèse en mode non connecté = les entités de niveaux 3 et 2 de A émettent par conséquent sans jamais attendre, selon le schéma :

Le temps d'émission d'un datagramme est (546*8)/9600 + 4ms = 0,459 s
Le temps d'émission complète du message, avec contrôle de "Bout en Bout" au niveau 4) est 240*0,459 +2T+0,016 = 110,22 s
Le débit utile moyen par seconde est alors (120000*8)/110,22 # 8710 bits/s

Exercice 1 "Transmission d'informations binaires selon HDLC"
Voir "Cours C 3, vues 12, 13 et 14".
On considère 2 systèmes A et B reliés par une voie de transmission Full Duplex, arrivant de chaque coté sur des adaptateurs de coupleurs émettant ou recevant des suites binaires organisées en trames, selon le schéma général HDLC (plus précisément LAP-B pour se placer dans le cadre du cours X-25). Pour les 2 questions ci-dessous on considère que le système A est émetteur, alors que B est récepteur, comme le précise le schéma ci-dessous :

Que va "lire", à partir de l'instant t0, l'adaptateur du système B lorsque les valeurs qu'il détecte sur le fil réception de son interface V24 (P03 de la prise 25 points) sont celles listées sous l'axe des temps ci-après ???
 INCORPORER Word.Picture.8 
L'adaptateur de B va :
Tant qu'il est dans l'état "attente d'une trame" = ignorer tout les bits à 1
Pousser dans son registre à décalage le premier bit 0 qu'il reconnaît, ainsi que les 7 bits suivants. La reconnaissance d'un FANION (01111110) provoque le passage de l'adaptateur dans l'état "Réception de trame en cours" et le rangement en mémoire du premier octet lu (7Eh)
Tant qu'il est en cours de réception d'une trame, l'adaptateur récepteur va lire un par un les bits présentés sur le fil P03 en "poussant" chaque bit lu à la position gauche du registre à décalage (sauf s'il s'agit d'un bit 0 de transparence qui doit être ignoré (identifié parce qu'il est précédé de 5 bits à 1 consécutifs)). C'est ainsi que l'adaptateur récepteur acquiert et range en mémoire (en appliquant la règle LSB) : 11111110 (FEh) 01101111 (6Fh) 111000110 (E3h)
Lors de la lecture du prochain groupe de 8 bits, l'adaptateur reconnaît un FANION parce qu'il lit dans ce cas 5 bit à 1 suivis d'un bit à 1 et d'un bit à 0. Il rangera cette valeur (7Eh) à la suite des octets qu'il a déjà rangés et devra faire le contrôle de la bonne réception (le reste de la division modulo 2 du polynôme reçu par le polynôme générateur imposé par le protocole LAP-B doit être nul).
Inversement, on suppose qu'à l'instant t0 le système A commande à son adaptateur d'émettre une trame pour transporter la chaîne de 3 octets suivante : 7F E5 43 Donner la suite chronologique des valeurs binaires qui passeront sur le fil émission de l'adaptateur A (Broche P02 de la prise V24).
Avant l'instant t0, l'adaptateur A était au repos, ce qui provoquait l'émission réitérée de 1 vers la ligne
L'adaptateur A commence par émettre un FANION (7Eh)
L'adaptateur A considère ensuite un par un les octets à émettre, en les chargeant successivement dans son registre à décalage, en partant du début de la chaîne (adresse la plus petite)
Les bits présents dans le registre à décalage sont émis dans l'ordre LSB first = tout se passe comme si le registre à décalage était décalé d'une position vers la gauche à chaque top de l'horloge de référence et que le bit "expulsé à droite" était alors affiché sur la ligne. L'adaptateur contrôle l'émission des bits à 1, pour générer un 'Bit de transparence" à 0 après avoir émis 5 bits à 1 consécutifs.
L'adaptateur émetteur calcule dynamiquement le reste de la division modulo 2 du "dividende courant" par le polynôme générateur.
Lorsque l'adaptateur a fini d'émettre le dernier octet de la chaîne, il émettra le reste courant des divisions modulo 2 (c'est le CRC ("Cyclic Redundancy Code"), puis le FANION fermant la trame.
Le schéma ci-après donne la suite binaire émise effectivement en indiquant la position des "Bits de transparence" et des FANIONS.



Bruno Doublier …TD2C page  PAGE 9/ NBPAGES 9

ECE (Ingé 3 & PM) "Correction TD N°2"

Bruno Doublier … TD2C page  PAGE 1/ NBPAGES 9