Académique Documents
Professionnel Documents
Culture Documents
Le Niveau Transsport
Le Niveau Transsport
Plan
- Introduction
- Les mécanismes généraux :
. QoS, transferts de données spécifiques, gestion de la connexion, adressage, sécurité
- Le service
- Le protocole TP :
. Classes, les TPDU, les champs, un scénario
- Conclusion
Bibliographie
- Service et protocole Transport, ISO 8072 et 8073 (CCITT X.214 et X.224).
- D.Dromard &al., Réseaux informatiques : cours et ex., Eyrolles, tome 2, 1994. Chapitre 2.
- G.Pujolle, Les réseaux, Eyrolles, 1995. Chapitre 7.
- H.Nussbaumer, Téléinformatique, Presses polytech. romandes, tome 2, 1987. Chapitre 3.
- A.Tanenbaum, Réseaux , InterEditions, 1997. Chapitre 6.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 1
■ Le niveau Transport ■
1. Introduction
1.1. Présentation
❏ La couche Transport assure la charnière entre les aspects applicatifs et les aspects liés à la trans-
mission de données sur un réseau informatique.
noms des unités de
couches données échangées
système d’extrémité
couches hautes
Protocole d’application A-PDU
Application
Protocole de présentation P-PDU
Présentation
Protocole de session S-PDU
Session
Protocole de transport
Transport T-PDU/Message
système relais
couches basses
Réseau N-SDU/Paquet
Physique Bit
Support physique d’interconnexion
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 2
■ Le niveau Transport ■
❏ La couche Transport assure le transport de bout en bout des données d’une façon sûre et efficace.
■ transfert d’informations entre systèmes d’extrémité
■ de manière efficace, fiable et économique,
■ indépendamment de la nature des réseaux sous-jacents .
Système source Système destinataire
Systèmes intermédiaires ou routeurs
Session
Transport messages
Réseau paquets
Liaison trames
de données
Physique
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 3
■ Le niveau Transport ■
❏ Les entités communicantes ne sont plus des stations mais des processus :
- adressage spécifique
- multiplexage des connexions Transport sur une connexion Réseau reliant les stations sup-
portant les processus.
rt
n Transpo
connexio
n n e x i o n Réseau
co
e x i o n T r ansport processus
conn
réseau station
❏ La connectivité doit être assurée et maintenue en dépit de la multiplicité des réseaux utilisés pour
l’acheminement.
réseau pricipal
sous-réseau 1 station
sous-réseau 3
réseau de secours
sous-réseau 2
Redondance
Interconnexion de réseaux
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 4
■ Le niveau Transport ■
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 5
■ Le niveau Transport ■
2. Mécanismes généraux
La couche Transport optimise l’utilisation des ressources disponibles (du Réseau) pour atteindre
(et maintenir) la qualité de service (de transmission de données) souhaitée par les entités supérieures
(applicatives).
❏ La notion de QoS peut être définie par l’ensemble des paramètres (délai de transit, débit, etc.)
caractérisant les besoins des entités applicatives.
❏ Pour chaque paramètre, l’OSI distingue trois ensemble de valeurs : préférées, acceptables et
inacceptables.
❏ La couche Transport joue un rôle de garant de la QoS : elle surveille les paramètres de QoS et
elle doit déterminer si elle est en mesure de respecter ses engagements.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 6
■ Le niveau Transport ■
☞ Un contrat est ainsi déterminé entre les entités supérieures ayant demandé l’établissement de
la connexion et la couche Transport.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 7
■ Le niveau Transport ■
❏ Les mécanismes mis en oeuvre au sein d’un protocole Transport (pour rendre le service deman-
dé) dépendent de l’environnement dans lequel il opère : c’est-à-dire des services fournis par la couche
Réseau.
❏ Taux acceptable d’incidents signalés : Les désynchronisations (N_RESET()) sont très rares.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 8
■ Le niveau Transport ■
❏ Taux inacceptable d’incidents signalés : la couche Réseau émet trop fréquemment des comman-
des de réinitialisation.
❏ Cette catégorie de service est fournie par les réseaux publics (X25).
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 9
■ Le niveau Transport ■
❏ Cette catégorie de service est fournie par les réseaux à longue distance en mode non connecté
et les réseaux par ondes hertziennes.
☞ La couche Transport doit résoudre tous les problèmes de fiablilité (analogues à ceux de la cou-
che Liaison de données).
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 10
■ Le niveau Transport ■
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 11
■ Le niveau Transport ■
2.4. Sécurité
La couche Transport est une couche favorable à la mise en oeuvre de mécanismes de protection :
elle prend en compte le transfert de bout en bout des informations.
Toutefois des mécanismes de protection peuvent être mis en oeuvre à n’importe quels autres ni-
veaux : notamment Application ou Réseau.
Exemple :
- “replay” : réexécution d’une séquence de messages préalablement capturées
- “spoofing” : l’intrus se fait passer pour quelqu’un d’autre (fausse identité)
Même si les données sont chiffrées au niveau supérieur, l’analyse du message peut fournir des in-
formations (directes ou indirectes) sur l’identité des correspondants, la fréquence et l’intensité de leurs
échanges
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 12
■ Le niveau Transport ■
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 13
■ Le niveau Transport ■
2.5. Adressage
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 14
■ Le niveau Transport ■
Processus A Processus B
(client) (serveur)
TSAP y
TSAP x Identification du
service demandé
Transport NSAP
Identification de
la station accédée
Réseau
TSAP et connexion
❏ Ces adresses peuvent ne pas figurer explicitement dans les messages de données échangés :
• Numéro de référence :
. Accélération du traitement - recherche du contexte rapide par accès direct au contexte
grâce au numéro de référence qui sert d’index.
. Minimisation du volume occupé dans l’entête.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 15
■ Le niveau Transport ■
Transport
(2) A se connecte
Réseau au TSAP connu
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 16
■ Le niveau Transport ■
Deux séquences d’échange de messages lors de l’établissement de la connexion peuvent être défi-
nies :
- En deux phases (“two way handshake”) :
. service Réseau assure la séquentialité (généralement en mode connecté)
- En trois phases (“three way handshake”)
. service Réseau n’assure pas la séquentialité (généralement en mode non connecté)
Le DT PDU peut être reçu avant que la confirmation d’établissement de la connexion (CR PDU)
soit reçu :
- soit mémorisation du DT PDU dans un contexte indéfini (hors connexion) !
- soit destruction du DT PDU correct !!
CR : connexion request CR CR CR
CC : connnexion confirm CC CC CC
DT : data
DT ! DT
DT
AK
AK : acknowledgment
DT DT
Etablissement de la connexion en 2 phases Etablissement de la connexion en 3 phases
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 17
■ Le niveau Transport ■
L’établissement de la connexion en trois phases permet une négociation plus appronfondie des pa-
ramètres de la connexion :
- proposition de l’initiateur de la connexion
- contre-proposition du sollicité
- accord définitif de l’initiateur
En deux phases, le sollicité peut seulement choisir parmi les propositions de l’initiateur ou refuser.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 18
■ Le niveau Transport ■
2.7.1 Présentation
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 19
■ Le niveau Transport ■
Α Β
T_Connect.req
T_Connect.ind
T_Connect.resp
T_Connect.conf
T_Data.req
T_Data.ind
T_Data.req
T_Disconnect.req
T_Disconnect.req
(on ne reçoit pas le T_Data.ind,
la connexion étant interrompue
après le T_Disconnect.req)
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 20
■ Le niveau Transport ■
2.7.3 La solution ?
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 21
■ Le niveau Transport ■
Envoi de Envoi de
DR DR
+ démarrage + démarrage
temporisateur Arrivée du Arrivée du
temporisateur
DR DR
Envoi du Envoi du
Arrivée du DC Arrivée du DC
DC + démarrage DC + démarrage
temporisateur temporisateur
Envoi de Ack Envoi de Ack
+ effacement + effacement
Arrivée du Ack Perte
connexion connexion déclenchement
+ effacement
connexion du temporisateur
+ effacement
connexion
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 22
■ Le niveau Transport ■
Envoi de
Envoi de
DR
DR
+ démarrage
Arrivée du + démarrage
temporisateur Arrivée du
DR temporisateur
DR
Perte Envoi du
Perte Envoi du
DC
+ démarrage DC
déclenchement déclenchement + démarrage
Envoi de temporisateur
Envoi de temporisateur
DR
Arrivée du DR
+ démarrage Perte
+ démarrage
temporisateur DR
temporisateur
Envoi du
DC déclenchement
Arrivée du (N tentatives)
DC + démarrage Effacement
temporisateur connexion
Envoi de Ack
+ effacement
connexion Arrivée du Ack Effacement
+ effacement connexion
connexion
(c) Confirmation de déconnexion perdue (d) Confirmation de déconnexion et
demandes de déconnexion perdues
Autres exemples de déconnexion
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 23
■ Le niveau Transport ■
❏ “Status reporting”
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 24
■ Le niveau Transport ■
Exemple :
- dans Internet, les datagrammes IP possède un champ Time To live (TTL).
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 25
■ Le niveau Transport ■
❏ La durée d’utilisation du cycle doit être supérieure à la durée maximale de vie des messages au
sein du réseau.
déclenchement du temporisateur et retransmision de DT1
Une solution à ce problème peut être apportée grâce à un plus grand cycle de numérotation :
- modulo 27 --> modulo 215 !
- ou une durée de résidence plus faible.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 26
■ Le niveau Transport ■
Réutilisation de l’identificateur de connexion après une durée de garde supérieure à la durée maxi-
male de vie des messages au sein du réseau.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 27
■ Le niveau Transport ■
TSAP TSAP
Transport Transport
NSAP NSAP
Réseau Réseau
Liaison de Liaison de
données données
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 28
■ Le niveau Transport ■
3. Le service Transport
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 29
■ Le niveau Transport ■
■ Transfert de données (“normales”) avec contrôle de flux sur une connexion de Transport avec
les primitives T_Data : T_Data.req(données utilisateur) et T_Data.ind(idem)
T_Data.req
(DT) T_Data.ind
(ACK)
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 30
■ Le niveau Transport ■
T_ExDT.req
T_ExDT.ind
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 31
■ Le niveau Transport ■
?T
q REPOS _C
C .re C.i
nd
!T _C
?T_DISC.ind !T_DISC.req
!T_DISC.req
?T_DISC.ind ?T_DISC.ind
DEMANDE DE DEMANDE DE
CONNEXION !T_DISC.req CONNEXION
SORTANTE ENTRANTE
?T_CC.conf !T_CC.resp
TRANSFERT
DE DONNEES
!T_DT.req !T_ExDT.req
?T_DT.ind ?T_ExDT.ind
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 32
■ Le niveau Transport ■
■ L’utilisateur du service Transport ne dispose que de deux primitives T_Unidata liées au transfert
de données : T_Unidata.req(adresse destination, adresse source, qualité de service, données utilisa-
teur) et T_Unidata.ind(idem).
T_Unidata.req
T_Unidata.ind
Remarque : Ces deux primitives véhiculent tous les paramètres nécessaires à leur transmission
(adressage, QoS,...) alors que les primitives T-Data du mode connecté n’en ont pas besoin.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 33
■ Le niveau Transport ■
4. Le protocole de Transport
❏ Les mécanismes exacts mis en oeuvre au sein du protocole Transport dépendent de l’environ-
nement dans lequel il opère : c’est-à-dire du niveau de service de la couche sous-jacente (Réseau).
❏ Cinq classes de mécanismes (procédures) mis en oeuvre au sein du protocole Transport sont dé-
finies pour s’adapter :
- aux différents niveaux de service Réseau
- aux différents besoins des applications
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 34
■ Le niveau Transport ■
☞ Le protocole de classe 0 est simple. Il est prévu pour fonctionner au-dessus des services Ré-
seau de niveau A.
Exemple : télex
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 35
■ Le niveau Transport ■
☞ Cette classe convient à un service Réseau de niveau B (service fiable avec resynchronisation).
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 36
■ Le niveau Transport ■
Cette classe de protocole Transport reprend toutes les fonctionnalités des classes 0, 1, 2, et 3.
❏ Détection d’erreurs par champ de contrôle d’erreur.
❏ Retransmission après temporisation
❏ Remise en séquence.
❏ Détection d’inactivité.
❏ Eclatement et recombinaison
☞ Cette classe est prévue pour les services Réseau de catégorie C (service insuffisant).
Remarque : Le protocole de classe 4 de l’OSI est connu sous le nom TP4.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 38
■ Le niveau Transport ■
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 39
■ Le niveau Transport ■
❏ Classes et codes
Tableau 1 : Les T_PDU
classes classes
TPDU code
obligatoires optionnelles
CR 0,1,2,3,4 1110
CC 0,1,2,3,4 1101
DR 0,1,2,3,4 1000
DC 1,2,3,4 1100
DT 0,1,2,3,4 1111
AK 3,4 1,2 0110
ED 1,3,4 2 0001
EA 1,3,4 2 0010
ERR 1,2,3,4 0111
RJ 1,3 0101
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 40
■ Le niveau Transport ■
entête
Format général des unités de données du protocole
Le champ Type :
- les 4 premiers bits définissent le type du TPDU
- les 4 bits suivants codent la valeur du crédit pour les TPDU CR, CC, AK et RJ, et valent 0
pour les autres TPDU.
❏ La technique de codage :
- TLV (Type -longueur-valeur) :
octets 1 1 n
Code Length Value
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 42
■ Le niveau Transport ■
❏ Quelques paramètres :
- Taille maximale des TPDU : par défaut et au minimum 128 octets [0xD0]
. sur 1 octet : la puissance de 2 de la taille en octets (de 27 à 213)
. Exemple : Option fixant la taille maximum à 1Ko :
Type Long. Val.
D0 1 8 Option de 3 octets
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 43
■ Le niveau Transport ■
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 44
■ Le niveau Transport ■
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 45
■ Le niveau Transport ■
LI Partie
DR 0 Destination Ref. Source Reference Cause
variable
Données
LI Partie
DC 0 Destination Ref. Source Reference
variable
format étendu
EOT EOT
LI DT 0 Destination Ref. T(S) Partie Données
variable format normal
ED
LI DT 0 Destination Ref. Partie Données
T(S) variable
ED
LI Partie
ER 0 Destination Ref. Cause variable
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 46
■ Le niveau Transport ■
Ce procédé se différencie :
- des numéros de voie logique (NVL) du protocole X25 car chaque paquet comporte un seul
NVL et un nouveau NVL est partagé à chaque couple d’entités Réseau adjacentes.
- des TSAP, car ceux-ci identifient de manière unique et permanente certains services.
Seul le champ “Destination reference” est utilisé lorsque la connexion est établie.
☞ pas de multiplexage
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 47
■ Le niveau Transport ■
En trois phases pour la classe 4 et en deux phases pour les autres classes.
DT,x
Les références sont utilisées pour accéder directement au contexte de la connexion lors de la phase
de transfert des données.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 48
■ Le niveau Transport ■
classe options
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 49
■ Le niveau Transport ■
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 50
■ Le niveau Transport ■
❏ La raison peut être précisée à travers un paramètre placé dans la partie variable de l’entête
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 51
■ Le niveau Transport ■
Des données peuvent être transmises par les TPDU CR, CC et DR, mais pas DC :
- toutefois la longueur de leur champ de données doit être inférieure à respectivement 32 et
64 octets
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 52
■ Le niveau Transport ■
Le champ T(S) :
- identifie le TPDU DT ou ED (modulo 27 ou 231)
- utilisé par le mécanisme de gestion de la fenêtre coulissante (≡ N(S) et P(S))
- toujours nul pour la classe 0
Le champ T(R) :
- numéro du prochain TPDU attendu
- utilisé par le mécanisme de gestion de la fenêtre coulissante (≡ N(R) et P(R))
- présent dans les TPDU AK et EA
- pas de “piggybacking” !
Le champ Crédit :
- nombre de TPDU que l’on peut transmettre par anticipation,
- définit la largeur variable de la fenêtre coulissante,
- permet de gérer finement le contrôle de flux,
. adaptation au capacité de stockage et de traitement du récepteur
. adaptation à la charge du réseau
- Deux formats : court sur 4 bits et étendu sur 2 octets.
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 53
■ Le niveau Transport ■
❏ Pas de piggybacking !
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 54
■ Le niveau Transport ■
ED,n+1
AK,m+1
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 55
■ Le niveau Transport ■
❏ Demande de retransmission :
- les TPDU REJ
- retransmission des TPDU de numéro supérieur ou égal au champ T(R)
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 56
■ Le niveau Transport ■
4.8. Scénario
processus B
N-data.req T-connect.resp
T-connect.resp N-data.ind Data,0,1(CC(TSAP_A, TSAP_B))
Station B d’adressse @B
T-data.req N-data.req Data,1,1(DT, 0(données))
Station A d’adresse @A
N-data.ind
N-data.req Data,2,1(DT,1(données))
N-data.ind
N-data.req Data,3,1(DT,2,Eot(données))
RR(3) N-data.ind T-data.ind
Data,4,1(AK,3)
TSAP_A TSAP_B
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 57
■ Le niveau Transport ■
5. Conclusion
La couche Transport
Offre adaptée aux besoins de la couche supérieure (⇑), en fonction des services offerts par la cou-
che Réseau (⇓) :
- OSI : TP a 5 classes
- Internet : 2 protocoles (TCP ou UDP)
Notion de QoS
____
B. Cousin, C.Viho - © IFSIC - Université Rennes I 58