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≤NRHWE
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

Documents pareils