Académique Documents
Professionnel Documents
Culture Documents
Plan
- 1. Introduction p217
- 2. Mécanismes généraux p221
- 3. Le service Transport p244
- 4. Le protocole de Transport p249
- 5. Conclusion p275
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 et C. Viho - © IFSIC - Université Rennes I 216
■ 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 et C. Viho - © IFSIC - Université Rennes I 217
■ 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 et C. Viho - © IFSIC - Université Rennes I 218
■ 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.
C
e x i o n T r ansport
conn
o n n e x i o n Réseau rt
c
n Transpo processus
connexio
A
réseau station B
La connectivité doit être assurée et maintenue en dépit de la multiplicité des réseaux utilisés pour
l’acheminement.
réseau principal
sous-réseau 1 station
sous-réseau 3
réseau de secours
sous-réseau 2
Redondance
Interconnexion de réseaux
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 219
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 220
■ 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.) ca-
ractérisant les besoins des entités applicatives.
Pour chaque paramètre, l’OSI distingue trois ensembles de valeurs : préférées, acceptables et inac-
ceptables.
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 et C. Viho - © IFSIC - Université Rennes I 221
■ 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 et C. Viho - © IFSIC - Université Rennes I 222
■ Le niveau Transport ■
Les mécanismes mis en oeuvre au sein d’un protocole Transport (pour rendre le service demandé)
dépendent de l’environnement dans lequel il opère : c’est-à-dire des services fournis par la couche Ré-
seau.
Taux acceptable d’erreurs résiduelles : La fraction de paquets perdus, dupliqués ou corrompus est
négligeable.
Taux acceptable d’incidents signalés : Les désynchronisations (N_RESET()) sont très rares.
- Par exemple : Cette catégorie de service est fournie par les réseaux locaux.
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 223
■ Le niveau Transport ■
Taux inacceptable d’incidents signalés : la couche Réseau émet trop fréquemment des commandes
de réinitialisation.
Par exemple : Cette catégorie de service est fournie par les réseaux publics (X25).
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 224
■ Le niveau Transport ■
Par exemple : Cette catégorie de service est fournie par les réseaux à longue distance en mode non
connecté ou les réseaux par ondes hertziennes.
La couche Transport doit résoudre, pour ce niveau, tous les problèmes de fiabilité (analogues à
ceux de la couche Liaison de données).
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 225
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 226
■ 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 dans d’autres niveaux : no-
tamment Application ou Réseau.
Exemple :
- “replay” : réexécution d’une séquence de messages préalablement capturés
- “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 et C. Viho - © IFSIC - Université Rennes I 227
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 228
■ Le niveau Transport ■
2.5. Adressage
2.5.1 Les adresses
Double besoin pour les adresses :
- identifier les processus dans les stations
. durée de vie égale à celle du processus : réutilisation des mêmes adresses
. connaissance de ces adresses limitée aux intervenants
- identifier des services généraux (“Well known generic service address”)
. durée de vie permanente
. connaissance totale étendue à tous les acteurs potentiels
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.
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 229
■ Le niveau Transport ■
2.5.2 Client/serveur
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
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 230
■ Le niveau Transport ■
Serveur multi-processus
connect() accept()
Transport
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 231
■ Le niveau Transport ■
2.6.1 Présentation
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 232
■ 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”) :
. le service Réseau assure la séquentialité (généralement en mode connecté)
- En trois phases (“three way handshake”)
. le 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çue :
- soit mémorisation du DT PDU dans un contexte indéfini (hors connexion) !
- soit destruction du DT PDU correct !
CR : connection request CR CR CR
CC : connection 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 et C. Viho - © IFSIC - Université Rennes I 233
■ Le niveau Transport ■
L’établissement de la connexion en trois phases permet une négociation plus approfondie 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 les re-
fuser.
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 234
■ 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
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 235
■ Le niveau Transport ■
Comment les armées rouges vont-elles faire pour attaquer ensemble et vaincre ?
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 236
■ Le niveau Transport ■
Envoi de Envoi de
DR DR DR
+ démarrage + démarrage DR
temporisateur Arrivée du Arrivée du
temporisateur
DR DR
Envoi du Envoi du
Arrivée du DC DC Arrivée du
DC DC
DC + démarrage DC + démarrage
temporisateur temporisateur
Envoi de Ak Envoi de Ak
+ effacement AK + effacement
Arrivée du Ak Perte
connexion connexion déclenchement
+ effacement
connexion du temporisateur
+ effacement
connexion
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 237
■ Le niveau Transport ■
Envoi de
Envoi de
DR
+ démarrage DR DR
Arrivée du + démarrage DR
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
+ démarrage DR Arrivée du DR
Perte
+ démarrage
temporisateur DR
temporisateur
Envoi du
DC déclenchement
Arrivée du DC (N tentatives)
DC + démarrage Effacement
temporisateur connexion
Envoi de Ak
+ effacement AK
connexion Arrivée du Ak 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 et C. Viho - © IFSIC - Université Rennes I 238
■ Le niveau Transport ■
“Status reporting”
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 239
■ Le niveau Transport ■
2.7.1 Présentation
Exemple :
- dans Internet, les datagrammes IP possèdent un champ “Time To Live” (TTL).
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 240
■ 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 retransmission de DT1
Une solution à ce problème peut être apportée grâce à un plus grand cycle de numérotation :
- modulo 27 --> modulo 231 !
- ou une durée de résidence plus faible.
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 241
■ 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 et C. Viho - © IFSIC - Université Rennes I 242
■ Le niveau Transport ■
TSAP TSAP
Transport Transport
NSAP NSAP
Réseau Réseau
Liaison de Liaison de
données données
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 243
■ Le niveau Transport ■
3. Le service Transport
☞ nommé TP
Transport OSI en mode non connecté (Additif 1 de la norme 7498).
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 244
■ 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
(AK)
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 246
■ Le niveau Transport ■
q/CR
ec t.re Repos
CR
/?T
nn _C
Co on
!T_ nec
t.in
DC?T_Disc.ind d
!T_Disc.req/DR
!T_Disc.req/DR
Demande de DC/?T_Disc.indDC/?T_Disc.ind
Demande de
connexion sortante !T_Disc.req/DR connexion entrante
!T_Data.req/DT !T_ExData.req/ED
DT/?T_Data.ind ED/?T_ExData.ind
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 247
■ 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 et C. Viho - © IFSIC - Université Rennes I 248
■ Le niveau Transport ■
4. Le protocole de Transport
Les mécanismes exacts mis en oeuvre au sein du protocole Transport dépendent de l’environne-
ment 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éfi-
nies pour s’adapter :
- aux différents niveaux de service Réseau
- aux différents besoins des applications
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 249
■ Le niveau Transport ■
Exemple : télex
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 250
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 251
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 252
■ Le niveau Transport ■
Cette classe de protocole Transport reprend toutes les fonctionnalités des classes 3 et ajoute :
Détection d’erreur 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 niveau C (service insuffisant).
Remarque : Le protocole de classe 4 de l’OSI est connu sous le nom TP4.
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 253
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 254
■ Le niveau Transport ■
Classes et codes
Tableau 1 : Les T_PDU
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 et C. Viho - © IFSIC - Université Rennes I 255
■ Le niveau Transport ■
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.
paramètre 1 paramètre 3
paramètre 2 paramètre 4
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 257
■ Le niveau Transport ■
Quelques paramètres :
- Taille maximale des TPDU [0xD0] : par défaut et au minimum 128 octets
. sur 1 octet : la puissance de 2 de la taille en octets (de 27 à 213)
. Exemple : Option fixant la taille maximum à 1 Koctet
Type Long. Val.
D0 1 A Option de 3 octets
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 258
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 259
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 260
■ Le niveau Transport ■
LI Partie
DR 0 Destination Ref. Source Reference Cause
variable
Données
LI Partie
DC 0 Destination Ref. Source Reference
variable
EOT
LI RJ Cdt Destination Ref. 0 T(R) (existe dans les 2 formats : normal ou étendu)
LI Partie
ER 0 Destination Ref. Cause variable
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 261
■ 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 et C. Viho - © IFSIC - Université Rennes I 262
■ 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 et C. Viho - © IFSIC - Université Rennes I 263
■ Le niveau Transport ■
classe options
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 264
■ Le niveau Transport ■
La taille maximum des TPDU est défini par l’option de code 0cD0.
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 265
■ 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 et C. Viho - © IFSIC - Université Rennes I 266
■ 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
Les données exprès peuvent être transmises par les classes 1, 3 ou 4, et optionnellement par la clas-
se 2.
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 267
■ 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 (et la classe 2 si l’option contrôle de flux n’est pas valide)
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 aux capacités de stockage et de traitement du récepteur
. adaptation à la charge du réseau
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 268
■ Le niveau Transport ■
Pas de piggybacking !
- certaines classes ne mettent pas en oeuvre le contrôle de flux, ni celui d’erreur :
. le piggybacking est inutile
- pour les autres classes :
. concaténation
certaines classes d’applications n’utilisent que le transfert de données à l’alternat
. le piggybacking est inapproprié
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 269
■ Le niveau Transport ■
ED, n+1
AK, m+1
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 270
■ Le niveau Transport ■
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 271
■ Le niveau Transport ■
4.7.10 Concaténation
AK,cdt=5 DT
données
Dest Ref= 701616 Dest Ref= 015316
T(R)=10 EOT, T(s) = 12
CRC = FEDC16
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 272
■ Le niveau Transport ■
4.8. Scénario
processus B
N-data.req T-connect.resp
T-connect.conf N-data.ind Data,0,1(CC(TSAP_A, TSAP_B))
T-data.req N-data.req Data,1,1(DT, 0(données))
Station A d’adresse @A
Station B d’adresse @B
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
N-data.ind Data,1,4(AK,3)
TSAP_A TSAP_B
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 273
■ 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 couche
Réseau :
- OSI : TP a 5 classes
- Internet : 2 protocoles (TCP ou UDP)
Notion de QoS, négociation des options, codage TLV, service de concaténation, mécanisme de fe-
nêtre coulissante à crédit
____
B. Cousin et C. Viho - © IFSIC - Université Rennes I 274