Couche transport et protocole X.224
Transcription
Couche transport et protocole X.224
La couche transport Le protocole X.224 Michel Gardie GET/INT/LOR/RIP 5 février 2004 Couche transport – Protocole X.224 Informations La version de ce document à la date d’impression et de révision est temporaire. Quelkes feautes d’ortaugrafe doâvent encorre traîner dans les paragraffes deijà raidyjés. Il est hors de question que nous nous excusions pour cela (faut quand même pas rêver !). Mais, vous pouvez nous signaler toute erreur ou omission. email : [email protected] Historique du document : © 1990 FRANCE TELECOM INT/DSR/TI © 1992, 1993 INT/DSR/TI © 1994, 1995, 1996, 1997, 1999 INT/LOR/RIP © 2002 INT/LOR/RIP Les premières versions du document ont été écrites sous Word®, il y a de cela bien longtemps. Puis, FrameMaker® 5.1 a servi de plateforme pour la rédaction des versions subséquentes. StarOffice® 5.2 est l’outil qui a servi à produire cette version à partir des sources FrameMaker®, suivi par OpenOffice 1.0.1 comme plateforme finale de rédaction. La date de conversion FrameMaker StarOffice a eu lieu le 26 septembre 2002. La transformation sous OpenOffice a eu lieu le 9 décembre 2002. Table des matières Recommandations et normes................................................................................................................ 4 Autres protocoles de transport............................................................................................................. 5 Situation de la couche transport........................................................................................................... 6 Importance de la couche transport........................................................................................................7 Service stable........................................................................................................................................ 8 Comparaison entre services.................................................................................................................. 9 Les services assurés............................................................................................................................ 10 Adressage transport............................................................................................................................ 11 Qualités de service des réseaux...........................................................................................................12 Classes de protocole........................................................................................................................... 13 Classes de protocole........................................................................................................................... 14 Déconnexion implicite.........................................................................................................................15 Déconnexion explicite.........................................................................................................................16 Segmentation...................................................................................................................................... 17 Concaténation..................................................................................................................................... 18 Identifications des connexions de transport........................................................................................ 19 Listes des TPDUs de base...................................................................................................................20 Autres TPDUs.................................................................................................................................... 21 Classe 0............................................................................................................................................... 22 Procédures communes en classe 0...................................................................................................... 23 Etablissement d’une connexion classe 0............................................................................................. 24 Transfert de données en classe 0.........................................................................................................25 Contrôle de flux implicite....................................................................................................................26 Classe 4............................................................................................................................................... 27 Connexion en classe 4.........................................................................................................................28 Exemple de reprise sur erreur en classe 4........................................................................................... 29 Autre exemple de reprise sur erreur....................................................................................................30 Éclatement en classe 4........................................................................................................................ 31 Transfert de données en classe 4.........................................................................................................32 Temporisateurs en classe 4................................................................................................................. 33 Contrôle de flux en classe 4................................................................................................................ 34 Paramètres de la TPDU AK................................................................................................................35 Emission d'une TPDU AK.................................................................................................................. 36 Réception d’une TPDU AK................................................................................................................ 37 Emission d'une TPDU DT.................................................................................................................. 38 Réception d’une TPDU DT................................................................................................................ 39 Maintien en séquence des TPDU AK reçues...................................................................................... 40 Séquencement des TPDU AK.............................................................................................................41 Séquencement des TPDU AK (suite)................................................................................................. 42 Séquencement des TPDU AK (fin).....................................................................................................43 Codage des TPDU.............................................................................................................................. 44 Codage de la TPDU CR..................................................................................................................... 45 Codage de la TPDU DT..................................................................................................................... 46 Codage de la TPDU AK..................................................................................................................... 48 Exemple de codage d’un AK.............................................................................................................. 50 INT/LOR/RIP 3 / 50 MG Recommandations et normes Les informations contenues dans ce document sont extraites des normes suivantes : ITU X.214 Définition du service de transport ITU X.224 Protocole fournissant le service transport en mode connecté ISO 8072 Définition du service de transport ISO 8073 Protocole fournissant le service transport en mode connecté Autres documents : ISO 8602 Protocole de transport en mode non connecté ITU X.234 Protocole de transport en mode non connecté INT/LOR/RIP 4 / 50 MG Autres protocoles de transport La liste ci-dessous n’est pas exhaustive. Nom Nature TCP Transmission Control Protocol (connecté) (RFC 793) UDP User Datagram Protocol (non connecté) (RFC 768) XTP eXpress Transport Protocol (modes connecté et déconnecté ; unicast/multicast) MTP Multicast Transport Protocol (expérimental ; connecté ; multicast)) (RFC 1301) VMTP Versatile Message Transaction Protocol (expérimental ; connecté) (RFC 1045) Delta-t Transport protocol for datagram / virtual circuit networks (expérimental) NETBLT Bulk data transfer protocol (expérimental) (RFC 998) RTP Real-time Transport Protocol (connecté ; multicast) (RFC 1889) Le protocole TCP est comparable (en fonctionnalités) à la classe 4 du protocole X.224. Le protocole UDP est comparable (en fonctionnalités) au protocole X.234. INT/LOR/RIP 5 / 50 MG Situation de la couche transport Application Application Présentation Présentation Session Session service Transport protocole service Transport Réseau Réseau Liaison Liaison Physique Physique Système d’extrémité A Réseau de communication de données Système d’extrémité B Figure 1. Situation de la couche transport La couche transport est la dernière des couches consacrées au transfert d’information. Elle fait donc partie du groupe des couches basses. INT/LOR/RIP 6 / 50 MG Importance de la couche transport ISOLER LES APPLICATIONS UTILISATRICES DES VARIATIONS DES MOYENS DE TELECOMMUNICATIONS. OFFRIR UNE FRONTIERE STABLE ENTRE LE MONDE DES COMMUNICATIONS ET CELUI DES TRAITEMENTS. OFFRIR DES FONCTIONS DE BOUT EN BOUT, SOUS LE CONTROLE DE L'UTILISATEUR FINAL. PERMETTRE L'UTILISATION DE SERVICES RESEAUX DIFFERENTS (CO-NS1, CL-NS2). OPTIMISER L'UTILISATION COMMUNICATION. DES RESSOURCES DE 1 Connection Oriented Network Service : Service Réseau Orienté Connexion. 2 Connectionless Network Service : Service Réseau Sans Connexion. INT/LOR/RIP 7 / 50 MG Service stable Système d’extrémité Applications vision unique, frontière stable Couche transport réseau 1 réseau 2 réseau 4 réseau 3 Figure 2. Isolation et frontière stable INT/LOR/RIP 8 / 50 MG Comparaison entre services service transport 4 4 3 service réseau service réseau 3 2 2 1 1 Service réseau avec peu de fonctionnalités Service réseau avec de nombreuses fonctionnalités Figure 3. Comparaison entre services réseau La figure 3 montre que la couche transport va s’adapter de façon à offrir un service constant à ses usagers (sessions, applications, etc.), et ce, quelle que soit la qualité de service disponible au niveau de la couche réseau. Si, par exemple, la couche réseau offre globalement une qualité de service acceptable (du point de vue des usagers de transport), la couche transport aura peu de fonctionnalités à mettre en œuvre. Si par contre la couche réseau offre globalement une qualité de service inacceptable (du point de vue des usagers de transport), alors le couche transport devra mettre en œuvre des moyens fonctionnels suffisants pour obtenir la qualité de service exigée par les utilisateurs. Une « mesure » de la qualité de service offerte par un réseau est présentée à la section « Qualités de service des réseaux », page 12. Ce type de mesure est défini par le protocole normalisé ITU X.224. INT/LOR/RIP 9 / 50 MG Les services assurés La couche transport optimise l'utilisation des services de réseau disponibles afin d'assurer au moindre coût les performances requises par chacune des entités de session. Les contraintes de cette optimisation sont celles imposées d'une part par l'ensemble des demandes de toutes les entités utilisatrices concurrentes, et d'autre part par la qualité et la capacité globales du service réseau dont dispose la couche transport. Le service de transport assure : 1. le choix de la qualité de service ; en fonction de la qualité de service des connexions réseau disponibles, les entités transport vont négocier un certain nombre de mécanismes afin d’offrir, autant que possible, des connexions transport dont la qualité est celle demandée par les usagers du service transport. 2. l'indépendance par rapport aux ressources des couches inférieures ; les usagers du service transport ne perçoivent que celui-ci, et n’ont aucune information sur la manière dont les entités transport, ainsi que les couches inférieures, procèdent pour le réaliser. 3. la signification de bout en bout ; les entités transport préservent l’intégrité des données échangées d’un bout à l’autre d’une connexion transport, quels que soient les moyens de télécommunication utilisés. 4. la transparence des informations transférées ; les entités transport n’interprètent pas les données qui leur sont remises par les usagers du service transport. 5. l'adressage de l’utilisateur de la couche transport ; les entités transport permettent aux usagers du service transport d’identifier et de distinguer plusieurs usagers de ce service. Ceci est généralement réalisé sous forme d’adresses transport venant compléter les adresses réseau. INT/LOR/RIP 10 / 50 MG Adressage transport La couche transport permet l'accès de ses services à plusieurs entités utilisatrices. Ces entités sont identifiées par une adresse transport (TSAP). La couche transport assurera la correspondance entre les adresses transport et les adresses réseau (NSAP)3. U1 U2 TSAP=a1 TSAP=a2 U1 U2 U3 TSAP=b1 TSAP=b2 TSAP=b3 couche transport couche transport NSAP = A NSAP = B couche réseau Figure 4. Adressage transport L’adresse de NSAP identifie le système d’extrémité ; l'adresse de TSAP identifie l’entité utilisatrice dans le système d’extrémité. Généralement, une entité utilisatrice se fait connaître d’une entité transport en exécutant une requête de chaînage (BIND-request) ; cette requête permet à l’entité transport de savoir à quelle adresse de TSAP l’entité utilisatrice répondra. Toute demande de connexion arrivant à une entité transport et désignant une adresse de TSAP non enregistrée sera rejetée avec la cause « entité de session demandée non raccordée au TSAP ». L’entité U1 sur le site A a pour adresse: <A, a1> ; l’entité U2 sur le site B a pour adresse <B, b2>. 3 Cette correspondance est parfois assurée par un annuaire, ou bien est fournie directement par l’utilisateur de la couche transport. INT/LOR/RIP 11 / 50 MG Qualités de service des réseaux TYPE A : Erreurs résiduelles : taux acceptable ; Erreurs signalées : taux acceptable Erreurs résiduelles : taux acceptable ; Erreurs signalées : taux inacceptable Erreurs résiduelles : taux inacceptable ; Erreurs signalées : taux non significatif TYPE B : TYPE C : Erreurs signalées : erreurs signalées par le service réseau. Exemples : NDISind4, NRSTind5, etc. Erreurs résiduelles : erreurs non signalées par le service réseau. Exemples : perte de paquet non signalée, mutilation de paquets, etc. Taux acceptable : la différence entre le taux exigé par l’entité session et le taux fourni par l’entité réseau est inférieure ou égale à un seuil défini à priori. 4 NDISind = Network Disconnect Indication = indication de déconnexion réseau 5 NRSTind = Network Reset Indication = indication de réinitialisation réseau INT/LOR/RIP 12 / 50 MG Classes de protocole CLASSE 0 : ADRESSAGE TRANSPORT ETABLISSEMENT DE CONNEXION POSSIBILITE DE REFUS DE CONNEXION SEGMENTATION DES DONNEES DECONNEXION IMPLICITE ABSENCE DE MULTIPLEXAGE CONTROLE DE FLUX: PAR LA COUCHE RESEAU RESEAUX DE TYPE A CLASSE 1 : CLASSE 0 + ACCUSE DE RECEPTION REPRISE SUR ERREUR CONCATENATION DONNEES EXPRES DECONNEXION EXPLICITE RESEAUX DE TYPE B déconnexion implicite : la connexion transport est rompue en libérant simplement la connexion réseau sous-jacente (voir Figure 4). déconnexion explicite : la connexion transport est logiquement rompue au niveau transport avant une libération éventuelle de la connexion réseau sous-jacente (voir Figure 5). contrôle de flux réseau : voir « Contrôle de flux implicite », page 26. INT/LOR/RIP 13 / 50 MG Classes de protocole CLASSE 2 : CLASSE 0 + MULTIPLEXAGE CONTROLE DE FLUX TRANSPORT DONNEES EXPRES CONCATENATION DECONNEXION EXPLICITE RESEAUX DE TYPE A CLASSE 3 : CLASSE 2 + REPRISE SUR ERREUR ACCUSE DE RECEPTION RESEAUX DE TYPE B CLASSE 4 : CLASSE 3 + DETECTION D'ERREUR ECLATEMENT RESEAUX DE TYPE C INT/LOR/RIP 14 / 50 MG Déconnexion implicite B A TDATreq D T TDISreq TDATind NDISreq NDISind TDISind Figure 5. Déconnexion implicite Contrairement au cas général où les primitives (requêtes) transport sont transformés en éléments de protocole transport (ex : TDATreq transformé en TPDU DT), la déconnexion implicite n’utilise aucune TPDU transport. C’est-à-dire que la primitive TDISreq (Transport Disconnect request) n’est pas transformée en TPDU DR (comme dans les classes 1, 2, 3 et 4). La primitive transport TDISreq est tout simplement transformée en une primitive réseau (NDISreq) sans aucun autre effort de la part de la couche transport ; c’est la couche réseau qui effectuera la déconnexion de la connexion réseau, aboutissant ainsi à la déconnexion de la connexion transport. INT/LOR/RIP 15 / 50 MG Déconnexion explicite B A TDATreq D T TDATind TDISreq DR TDISind DC NDISreq NDISind Optionnel Déconnexion explicite La primitive TDISreq (Transport Disconnect request) est transformée en TPDU DR. Dès réception de celle-ci, l’entité transport réceptrice (B) émet une primitive TDISind à destination de l’utilisateur du service transport, et confirme au niveau du protocole la déconnexion en générant une TPDU DC. Éventuellement, une phase de déconnexion réseau peut suivre la déconnexion transport. INT/LOR/RIP 16 / 50 MG Segmentation TSDU EndOfTDSU = false TPCI EndOfTDSU = true DATA TPCI DATA TPDU TPDU NSDU NSDU Figure 6. Exemple de segmentation La zone TPCI contient un élément binaire appelé «EndOfTSDU» permettant de gérer la segmentation. Cet élément est mis à 1 lorsque la TPDU contient le dernier segment de la TSDU (EndOfTSDU = true). TSDU = Transport Service Data Unit NSDU = Network Service Data Unit TPDU = Transport Protocol Data Unit TPCI = Transport Protocol Control Information INT/LOR/RIP 17 / 50 MG Concaténation TSDU TPCI TPDU TPCI DATA TPCI TPDU TPDU DT NSDU Figure 7. Concaténation But : Optimiser le coût de transmission du réseau. INT/LOR/RIP 18 / 50 MG Identifications des connexions de transport L'identification de fait à l'aide de : 1. un couple de référence (s,d) attribué par les entités transport lors de l'établissement de la connexion; une référence est considérée comme une référence de destination et l'autre comme une référence de source6 2. un TCEP (transport connection endpoint) qui permet l'aiguillage de la connexion transport vers l'utilisateur concerné7. Utilisateur Utilisateur tcep1 tcep2 tcep3 tcepm tcepn s1,d1 s1,d1 s2,d2 s2,d2 s3,d3 s3,d3 transport tcepp connexion réseau transport Figure 8. Identification des connexions transport 6 Le couple de référence n'est connu que des deux entités transport communicantes. 7 Le tcep n'est connu que d'une entité transport et d'une entité utilisatrice adjacentes. Sa valeur est donc locale à un site ; chaque site gère ses tcep de manière indépendante. INT/LOR/RIP 19 / 50 MG Listes des TPDUs de base Mnémonique Signification Classes CR Connection request 0 1 2 3 4 CC Connection confirm 0 1 2 3 4 DR Disconnect request 0 1 2 3 4 DC Disconnect confirm 1 2 3 4 DT Data 1 2 3 4 AK Acknowledgment 1 2 3 4 ED Expedited data 1 2 3 4 EA Expedited data acknowledgment 1 2 3 4 RJ Reject 1 ER Error INT/LOR/RIP 0 0 20 / 50 1 3 2 3 4 MG Autres TPDUs Mnémonique Signification NCM Network Connection Management DIAG Diagnostic NCMC Network Connection Management Confirmation UN Use of Network connection Ces TPDU sont totalement optionnelles. Les TPDU NCM, DIAG et NCMC sont définies dans l’annexe B de la recommandation ITU-T X.224. Elles font parties de ce que l’on appelle le sous-protocole de gestion des connexions réseau (NCMS : Network connection management subprotocol). La TPDU UN provient de la recommandation ITU-T X.264 : mécanisme d’identification du protocole de transport. Elle est également utilisée dans le protocole NCMS. Les TPDU UN et NCM circulent en tant que données d’une primitive N-CONNECT-request ou NCONNECT-indication. La TPDU DIAG circule en tant que données d’une primitive N-DISCONNECT. La TPDU NCMC circule en tant que données d’une primitive N-CONNECT-response ou NCONNECT-confirmation. En prenant pour hypothèse que le protocole réseau soit X.25, les TPDU UN et NCM circulent dans les données utilisateur d’un paquet d’appel ; la TPDU DIAG est transmise dans les données utilisateur d’un paquet de libération ; et enfin, la TPDU NCMC circule dans les données utilisateur d’un paquet de confirmation d’appel. INT/LOR/RIP 21 / 50 MG Classe 0 OFFRE LES FONCTIONNALITES MINIMUM FONCTIONS : ETABLISSEMENT DE CONNEXION TRANSPORT REFUS DE CONNEXION TRANSPORT ADRESSAGE DES UTILISATEURS TRANSPORT TRANSFERT DE DONNEES AVEC SEGMENTATION UTILISATION DU CONTROLE DE FLUX RESEAU8 DECONNEXION IMPLICITE9 8 Le contrôle de flux est implicite. (Voir page 26). 9 La durée de vie de la connexion transport est égale à la durée de vie de la connexion réseau sous-jacente. Par conséquent, il suffit de rompre la connexion réseau pour terminer la connexion transport. (Voir « Déconnexion implicite », page 15). INT/LOR/RIP 22 / 50 MG Procédures communes en classe 0 Transfert de TPDU Les TPDU sont envoyées individuellement dans des NSDU10. Il y a absence de concaténation. Déconnexion sur erreurs réseau signalées Sur réception de NDISind11 ou de NRSTind12, les entités transport considèrent la connexion transport comme étant rompue. Traitement des erreurs de protocole Utilisation de la TPDU ER (Error) L'entité réceptrice d'une TPDU ER déconnecte la connexion réseau. 10 Network Service Data Unit : unité de données du service réseau. 11 Network Disconnection indication : indication de déconnexion réseau 12 Network Reset indication : indication de réinitialisation réseau INT/LOR/RIP 23 / 50 MG Etablissement d’une connexion classe 0 ASSIGNATION A UNE CONNEXION RESEAU 1 ouverture d'une connexion réseau ; 2 assignation d'une connexion transport à la connexion réseau. ETABLISSEMENT DE LA CONNEXION TRANSPORT Échange des TPDU CR et CC. En cas de refus, DR est envoyé à la place de CC ; En cas d'erreur, ER est envoyé à la place de CC. CR (dst = 0, src = a) A CC (dst = a, src = b) B NEGOCIATIONS classe proposée : 0 paramètres optionnels : TSAP appelé13 ; TSAP appelant ; taille maximale de TPDU DT (128, 256, 512, 1024 ou 2048 octets) 13 TSAP = Transport Service Access Point : correspond en fait au sélecteur transport de l'adresse transport. Formellement, un TSAP est subdivisé en un sélecteur transport et un NSAP. La partie NSAP est traitée par la couche réseau. INT/LOR/RIP 24 / 50 MG Transfert de données en classe 0 ELEMENT DE PROTOCOLE : TPDU DT PARAMETRES DE LA TPDU DT : EndOfTSDU Données SEGMENTATION / REASSEMBLAGE TSDU 0 1 0 TPDU DT TPDU DT TPDU DT PAS DE CONTROLE DE FLUX EXPLICITE PAS D'ACCUSE DE RECEPTION PAS DE DONNEES EXPRES INT/LOR/RIP 25 / 50 MG Contrôle de flux implicite A 5 B 5 Données stop stop 4 4 stop stop action réseau 3 3 Figure 9. Contrôle de flux implicite Dans la figure ci-dessus, l’utilisateur (couche 5) de A reçoit trop de données. Il demande alors à l’entité transport de A de cesser de lui remettre des données. Ceci a été matérialisé par un message « stop » de la couche 5 de A à la couche 4. L’entité transport de A retransmet cette requête à la couche réseau. C’est le protocole de la couche réseau qui interrompt le transfert (en fermant par exemple une fenêtre d’anticipation). L’entité réseau de B ne pouvant plus émettre de données vers A, demande à l’entité transport de cesser de lui remettre des données. L’entité transport de B retransmet cette requête à l’utilisateur B. L'implémention des requêtes « stop » est tout à fait dépendante du système local. INT/LOR/RIP 26 / 50 MG Classe 4 CONNEXION AVEC DETECTION D’ERREURS ET REPRISE SUR ERREUR FONCTIONNALITES : MULTIPLEXAGE ADRESSAGE TRANSPORT CONTROLE DE FLUX POUR CHAQUE CONNEXION SEGMENTATION DES TSDU14; CONCATENATION DES TPDU15 FORMAT NORMAL16 OU ETENDU17 DES TPDU DECONNEXION EXPLICITE FONCTIONNEMENT SUR RESEAU CO-NS OU CL-NS REPRISE SUR ERREUR DETECTION D’ERREURS ACQUITTEMENT SELECTIF DONNEES EXPRES ECLATEMENT (sur réseaux co-ns seulement) 14 15 16 17 transport service data unit : unité de données du service de transport transport protocol data unit : unité de données du protocole de transport Numérotation modulo 128 Numérotation modulo 231 (soit 2 147 483 648). INT/LOR/RIP 27 / 50 MG Connexion en classe 4 La connexion transport en classe 4 se fait en trois phases. B A TCONreq (A, B) NCONreq (Ar, Br) NCONind (Ar, Br) NCONresp Optionnel NCONconf CR d=0, s=a, C=5 , Td=Bt, Ts=At =b, C=4 CC d=a, s TCONconf TCONind (A, B) TCONresp AK, d=b, Y=0, C= 5 Figure 10. Connexion en 3 phases L’établissement de la connexion réseau est optionnelle. Elle n’existe pas si le réseau sous-jacent est en mode datagramme. Si le réseau est en mode connecté, elle n’a pas lieu si une connexion réseau convenable existe déjà. La connexion transport proprement dite se fait en 3 phases : Phase 1. La TPDU CR est émise. Phase 2. Le récepteur répond par une TPDU CC. Phase 3. L’initiateur de la connexion doit confirmer l’arrivée de la TPDU CC par une TPDU AK (notre exemple), DT, ou ED. INT/LOR/RIP 28 / 50 MG Exemple de reprise sur erreur en classe 4 B A TCONreq (A, B) NCONreq (Ar, Br) NCONind (Ar, Br) NCONresp Optionnel NCONconf Start T1 Timeout T1 Restart T1 Stop T1 CR d=0, s=a, C=5 , Td=Bt, Ts=At CR d=0, s=a, C=5 , Td=Bt, Ts=At =b, C=4 CC d=a, s TCONind (A, B) TCONresp TCONconf AK, d=b, Y=0 , C= 5 Figure 11. Reprise sur erreur Les erreurs de transmission (e.g., perte de TPDU CR) sont détectées grâce au temporisateur T1. A l’expiration de celui-ci, la TPDU pour laquelle le temporisateur avait été armé, est retransmise. Le temporisateur est bien entendu réarmé. INT/LOR/RIP 29 / 50 MG Autre exemple de reprise sur erreur B A TCONreq (A, B) NCONreq (Ar, Br) NCONind (Ar, Br) NCONresp Optionnel NCONconf CR d=0, s=a, C=5 , Td=Bt, Ts=At Start T1 TCONind (A, B) TCONresp s=b, C=4 CC d=a, Start T1 CR d=0, s= Timeout T1 a, C=5, T d=Bt, Ts= At Restart T1 =b, C CC d=a, s Stop T1 =4 TCONconf Timeout T1 Restart T1 AK, d=b, Y= 0, C=5 Stop T1 Figure 12. Autre exemple de reprise sur erreur Dans cet échange, la première occurrence du CC est perdue. Au bout de T1 secondes, l’initiateur de la connexion ré-émet le CR. Malencontreusement, celui-ci est également perdu. Toutefois, au bout de T1 secondes, l’accepteur de la connexion est contraint de ré-émettre à son tour le CC. INT/LOR/RIP 30 / 50 MG Éclatement en classe 4 B A TCONreq (A, B) NCONreq (Ar, Br,1) NCONind (Ar, Br,3) NCONresp (3) NCONconf (1) {1} CR d =0, s=a, C=5 {3} TCONind (A, B) NCONreq (Br, Ar, 4) NCONind (Br, Ar, 7) NCONresp (7) NCONconf (1) NCONreq (Ar, Br, 5) TCONresp TCONconf } b, C=4 {4 = s , a = d {7} CC NCONind (Ar, Br, 6) NCONresp (6) NCONconf (5) {5} AK, d=b, Y= 0 , C=5 {6 } Figure 13. Eclatement en classe 4 L’éclatement consiste à disposer de plusieurs connexions réseau pour une connexion transport. A tout moment, une entité transport (appelante ou appelée) peut ouvrir une nouvelle connexion réseau pour transmettre des TPDU. L’éclatement ne peut exister que si le réseau sous-jacent est en mode connecté. Lorsqu’une entité transport doit émettre une TPDU, elle l’envoie sur une des connexions réseau disponibles. Il n’y a pas diffusion. {5} AK d=..... {6} signifie : AK émis sur connexion réseau 5 et reçu sur connexion réseau 6. La mise en œuvre de l'éclatement est bien sûr facultatif, et d'autre part suppose que le réseau sousjacent fonctionne en mode connecté. INT/LOR/RIP 31 / 50 MG Transfert de données en classe 4 Le transfert de données est complexe, car il est nécessaire de : 1. détecter les erreurs de transmission ; Le réseau étant supposé de qualité médiocre (ou perçu comme tel), des pertes de données, des duplications ou des mutilation de paquets peuvent se produire. 2. détecter les dysfonctionnements des connexions réseau ; Des déconnexions intempestives non signalées de connexions réseau peuvent survenir à tout moment. 3. reprendre les erreurs signalées et celles détectées ; Il faut récupérer les erreurs signalées par le réseau ainsi que celles que l’on a pu observer. 4. ré-ordonner les TPDU de données (DT) et celles d’acquittement (AK). L’éclatement (c’est-à-dire l’utilisation de plusieurs connexions réseau) va induire une possibilité de transmission hors séquence dans les TPDU échangées entre les entités de transport. L’entité transport réceptrice est capable de ré-ordonner les TPDU désordonnées. Cette fonctionnalité est importante si la connexion transport est utilisée au dessus d’un réseau en mode non connecté. Dans cet objectif, de nombreux mécanismes et de nombreux temporisateurs ont été définis. INT/LOR/RIP 32 / 50 MG Temporisateurs en classe 4 T1 : temporisateur de réexpédition temps au bout duquel une TPDU non acquittée doit être retransmise. Ce temporisateur est donc armé pour les TPDU suivantes : CR, CC, DT, ED, et DR. AL : temporisateur d'accusé de réception temps maximum que l'on peut attendre entre la réception d'une TPDU et l'envoi de son accusé de réception. Ce temporisateur est donc armé principalement pour les TPDU suivantes : CR, CC, DR, ED, et surtout DT. Il permet d’optimiser le transfert. Par exemple, lors de la réception d’une TPDU DT, on arme le temporisateur AL ; pendant la course de celui-ci, on peut recevoir d’autres TPDU DT ; à l’expiration du temporisateur AL, on émettra une seule TPDU AK acquittant ainsi toutes les TPDU DT d’un seul coup. W: temporisateur de fenêtre intervalle maximum entre deux mises à jour de fenêtre. Lorsque ce temporisateur arrive à expiration, il est obligatoire d’émettre une TPDU AK (éventuellement dupliquée). Ce mécanisme permet de générer un trafic minimum afin d’éviter l’expiration du temporisateur I. I : temporisateur d'inactivité a) protection contre les ruptures non signalées de connexions réseau, b) protection contre le mauvais fonctionnement de l'entité transport distante. L : temporisateur de numéro de séquence et de référence a) temps pendant lequel un numéro de séquence de TPDU DT est gelé ; le temps est compté à partir de l'instant où le numéro « tombe » en dessous de la borne inférieure de fenêtre. b) temps pendant lequel une référence de source est gelée. INT/LOR/RIP 33 / 50 MG Contrôle de flux en classe 4 Le contrôle de flux est utilisé en classe 4 pour réguler le flot des TPDU DT sur une connexion transport. Le mécanisme utilisé est celui de la fenêtre. Les TPDU AK permettent de contrôler l’évolution de cette fenêtre au cours de la connexion. Il est possible de : ouvrir une fenêtre ; fermer une fenêtre ; augmenter sa taille ; diminuer celle-ci. L’évolution de la fenêtre est contrôlé par les paramètres YR-TPDU-NR (your TPDU number) et CDT (crédit) de la TPDU AK. Le paramètre FCC (flow control confirmation ; confirmation de contrôle de flux) permet de contrôler la prise en compte des informations de contrôle de flux par le distant. Les paramètres SN (sub-number), YR-TPDU-NR et CDT permettent de gérer les éventuels transmissions hors séquence des TPDU AK, ainsi que leur perte et leur duplication. INT/LOR/RIP 34 / 50 MG Paramètres de la TPDU AK YR-TPDU-NR numéro de séquence indiquant le numéro de la prochaine TPDU DT « attendue ». CDT nouvelle valeur de crédit accordé au destinataire du AK. SN numéro de sous-séquence (optionnel). L'absence de ce paramètre équivaut à le transmettre avec une valeur de 0. FCC confirmation de contrôle de flux (optionnel). Contient une copie des informations reçues dans une TPDU AK. subdivisé en : ➢ limite inférieure de fenêtre (YR reçu) ➢ paramètre de sous-séquence en réponse (SN reçu) ➢ crédit de l'entité homologue (CDT reçu) Initialisation de la fenêtre borne inférieure de fenêtre LWE18 : 0 borne supérieure de fenêtre HWE19 : CDT 18 LWE = Low Window Edge 19 HWE = High Window Edge INT/LOR/RIP 35 / 50 MG Emission d'une TPDU AK Règle émission 1. YRémis ≤NR attendu ⇔YRémis ≤NR max reçu 1 Ceci est traduit de la manière suivante : le numéro de séquence d’une TPDU AK ne doit pas être supérieur au numéro de séquence de la prochaine TPDU DT attendue ; c’est-à-dire qu’il ne doit pas être supérieur de plus d’une unité au numéro de séquence le plus élevé des TPDU DT reçues auparavant. Règle émission 2. il est possible d'envoyer un AK n'importe quand. Règle émission 3. il est possible d'envoyer un AK dupliqué à tout moment. Règle émission 4. il est possible d'augmenter ou de réduire la limite supérieure de fenêtre de l’entité distante. INT/LOR/RIP 36 / 50 MG Réception d’une TPDU AK Règle réception 1. YRreçu max YRreçus précédents ⇒ LWE=YRreçu Une entité de transport qui reçoit une TPDU AK doit considérer que sa nouvelle limite inférieure de fenêtre est égale à la valeur du champ « numéro de YR-TU », si elle est supérieure à la valeur du champ « numéro de YRTU » de toute TPDU AK reçue précédemment. Règle réception 2. AK séquencé ⇒ HWE =YR reçu CDT reçu Une entité de transport qui reçoit une TPDU AK doit considérer que sa nouvelle limite supérieure de fenêtre est égale à la valeur du champ « numéro de YR-TU » augmenté du crédit CDT, à condition que la TPDU AK soit séquencée. INT/LOR/RIP 37 / 50 MG Emission d'une TPDU DT Règle émission DT 1. LWE≤NRHWE Une entité transport de doit ni expédier, ni réexpédier de TPDU DT dont le numéro de séquence est extérieur à sa fenêtre d’émission. INT/LOR/RIP 38 / 50 MG Réception d’une TPDU DT Règle réception DT 1. Une entité transport doit remettre toutes les TPDU DT dans l’ordre spécifié par leurs champs de numéro de séquence. Règle réception DT 2. Les TPDU DT reçues hors séquence, mais à l’intérieur de la fenêtre de transmission, ne doivent pas être remises mais conservées jusqu’à réception de toutes les TPDU de numéros de séquence inférieurs. Règle réception DT 3. Les TPDU DT reçues hors séquence, et à l’extérieur de la fenêtre de transmission, doivent être rejetées. Règle réception DT 4. Les TPDU DT dupliquées doivent faire l’objet d’un accusé de réception, car elles peuvent résulter d’une réexpédition effectuée à la suite d’une perte de TPDU AK. Règle réception DT 5. Les données contenues dans les TPDU DT dupliquées doivent être rejetées. INT/LOR/RIP 39 / 50 MG Maintien en séquence des TPDU AK reçues Une TPDU AK est dite en séquence si l'une des conditions suivantes est remplie : 1. son numéro de séquence (YR-TPDU-NR) est supérieur à celui de toute TPDU AK reçue précédemment ; 2. son numéro de séquence (YR-TPDU-NR) est égal au plus élevé des numéros de séquence reçus précédemment, et son numéro de sous-séquence est supérieur à celui de toute TPDU AK reçue précédemment et dont le champ YR-TPDU-NR a la même valeur (que ce numéro de séquence) ; 3. le numéro de séquence et le paramètre de sous-séquence sont l'un et l'autre égaux aux valeurs les plus élevées de ceux des TPDU AK reçues précédemment et la valeur de son champ de crédit (CDT) est égale ou supérieure à celle de toute TPDU AK reçue précédemment et comportant la même valeur de champ YR-TPDU-NR (que le numéro de séquence). Une TPDU AK reconnue hors séquence doit être ignorée. Les schémas des pages suivantes synthétisent ces trois règles. INT/LOR/RIP 40 / 50 MG Séquencement des TPDU AK B A DT N R=0 DT N AK AK Y = 2 C =2 Y = 1C R=1 = 2 TPDU conservée TPDU ignorée ; hors séquence Figure 14. YR croissant Le numéro de séquence (YR-TPDU-NR ou YR) de la première TPDU AK reçue est supérieur à celui de la seconde TPDU AK. INT/LOR/RIP 41 / 50 MG Séquencement des TPDU AK (suite) B A DT N AK AK Y = 1 C =3 Y = R=0 1C = 2 TPDU conservée TPDU ignorée ; hors séquence Figure 15. Crédit croissant Les numéros de séquence et de sous-séquence sont l'un et l'autre égaux mais la valeur du crédit (CDT ou C) de la première TPDU AK reçue est supérieure à celle de la seconde. INT/LOR/RIP 42 / 50 MG Séquencement des TPDU AK (fin) B A DT N AK Y = Baisse du crédit pour raisons internes AK Y = 1 C 1C = R=0 2( s= 0) =1s =1 TPDU conservée TPDU ignorée ; hors séquence Figure 16. Sous-numérotation croissante Le numéro de séquence (YR-TPDU-NR ou Y) de la première TPDU AK reçue est égal à celle de la seconde reçue, mais son numéro de sous-séquence (S) est supérieur à celui de la seconde (Dans la seconde TPDU AK reçue, le paramètre de sous-séquence n’est pas présent ; il est considéré comme valant 0). INT/LOR/RIP 43 / 50 MG Codage des TPDU 1 2 3 n n+1 p p+1 LI partie fixe partie variable en-tête données Figure 17. Structure générale d'une TPDU UNE TPDU EST DIVISEE EN 4 PARTIES : LONGUEUR DE L’EN-TÊTE : LI PARTIE FIXE CODE TPDU PARAMETRES FREQUENTS PARTIE VARIABLE AUTRES PARAMETRES DONNEES DONNEES UTILISATEUR PARAMETRES : OCTET N INT/LOR/RIP CODE DU PARAMETRE OCTET N+1 LONGUEUR OCTETS N+2 et suivants VALEUR DU PARAMETRE 44 / 50 MG Codage de la TPDU CR 1 2 3–4 LI 1110 CDT 5–6 7 Classe Options 0 dst 8àp Paramètres p+1 Données src Figure 18. TPDU CR PARTIE FIXE : CDT : Crédit initial ( 0 ≤Crédit initial ≤15 ) CLASSE : Classe préférée OPTIONS : Format normal ou étendu ; contrôle de flux ou non. PARTIE VARIABLE : Identificateurs de TSAP. Taille maximum des TPDU. Classes de repli. Total de contrôle. Utilisation des données exprès. Utilisation du total de contrôle. Utilisation du mécanisme de demande d’acquittement. Utilisation de l’acquittement sélectif. Paramètres de qualité de service. DONNEES UTILISATEUR : Ce champ peut contenir jusqu’à 32 octets de données. Il n’est jamais utilisé. Il est interdit en classe 0. INT/LOR/RIP 45 / 50 MG Codage de la TPDU DT 1 2 3 4 ROA N° de TPDU LI 1111 000y fin de TSDU fin Données utilisateur Figure 19. TPDU DT en classe 0 et 1 1 LI 1111 2 3–4 ROA REF 000y DST 5 N° de TPDU fin de TSDU 6 p Partie variable p+1 fin Données Figure 20. TPDU DT en format normal (classes 2 à 4) 1 LI 1111 2 3–4 ROA REF 000y DST 5–8 N° de TPDU fin de TSDU 9 Partie variable p p+1 fin Données Figure 21. TPDU DT en format étendu (classes 2 à 4) INT/LOR/RIP 46 / 50 MG PARTIE FIXE : ROA : bit 1 de l’octet 2 (bit y) ; ROA = Request Of Acknowlegment. REF DEST : référence identifiant la connexion transport au niveau de l'entité distante. Nº de TPDU : numéro de séquence de la TPDU envoyée (0 en classe 0). fin de TSDU : Quand ce champ est mis à 1, cela indique que la TPDU DT courante est la dernière d'une séquence complète. Ce champ correspond au bit 8 de l'octet 5. PARTIE VARIABLE : La partie variable peut contenir le total de contrôle en classe 4. DONNEES UTILISATEUR : Ce champ contient les données de la TSDU en cours de transmission. La longueur de ce champ est limitée par la taille de TPDU négociée pour cette connexion, moins l'entête (3, 5 ou 8 octets). La partie variable peut réduire encore la taille du champ des données utilisateur (4 octets). INT/LOR/RIP 47 / 50 MG Codage de la TPDU AK 1 2 LI 0110 CDT 3–4 REF DST 5 YR-TPDU-NR 6 fin Partie variable Figure 22. Format normal en classes 1 à 4 1 2 LI 0110 0000 3–4 REF DST 5–8 9 – 10 YR-TPDU-NR CDT 11 fin Partie variable Figure 23. Format étendu en classes 2 à 4 PARTIE FIXE REF DEST : référence identifiant la connexion transport au niveau de l'entité distante. YR-TPDU-NR : numéro de séquence en réponse indiquant le numéro de la prochaine TPDU DT attendue. (Your TPDU number). CDT : valeur du crédit (mise à 1111 en classe 1). INT/LOR/RIP 48 / 50 MG PARTIE VARIABLE Le total de contrôle en classe 4 ; Le paramètre de sous-numérotation (classe 4) ; Le paramètre de confirmation de contrôle de flux (classe 4) : ➢ limite inférieure de fenêtre ; ➢ paramètre de sous-numérotation en réponse ; ➢ crédit de l'entité homologue. ➢ Le paramètre d’acquittement sélectif (classe 4). INT/LOR/RIP 49 / 50 MG Exemple de codage d’un AK Supposons la TPDU suivante : ✗ AK, CDT = 5, YR-TPDU-NR = 11, référence de destination = 1 ✗ pas de checksum ✗ paramètre de confirmation de contrôle de flux ( yr=2 ; sn=1 ; cdt=3) On obtient : partie fixe zone de paramètres confirmation de contrôle de flux LI 0E AK / REF DEST CDT 65 00 01 YR FC L 0B 8C 08 yr 00 00 sn 00 02 00 cdt 01 00 03 Supposons maintenant la TPDU suivante : ✗ AK, CDT = 12, YR-TPDU-NR = 9, référence de destination = 4 ✗ pas de checksum ✗ numéro de sous-séquence = 1 ✗ acquittement sélectif (blocs 3-5 ; 7-9 ; 11-11) On obtient : partie fixe zone de paramètres numéro de sousséquence LI 10 AK / REF DEST CDT 6C INT/LOR/RIP 00 04 acquittement sélectif YR SN LI valeur sn AS L L1 H1 L2 H2 L3 H3 09 8A 02 00 8F 06 03 05 07 09 0B 0B 01 50 / 50 MG