La lecture à portée de main
Description
Sujets
Informations
Publié par | Affe |
Nombre de lectures | 64 |
Langue | Français |
Extrait
La couche Transport
Protocole de Transport
Transport4
Frontière du sous-réseau
RéseauRéseau3
Protocole de Réseau
Liaison2
1 Physique
© P. Sicard-Cours Réseaux 4 Couche Transport 1
Services de la couche transport
• Transfert fiable efficace, sûr et économique d’informations de
bout en bout
• Dans l’idéal, répondant à des QoS diverses
• Dernière couche avant les “applications”
• Les qualités de services nécessaires aux applications
- Très variables
- Exemples:
• Transfert de fichier: Taux erreur nul, débit n’est pas
primordial, le temps de transit non plus
• Téléphone: Taux d’erreur peut être non nul, débit
minimum indispensable, temps de transit minimum (<
0,25 s)
© P. Sicard-Cours Réseaux 4 Couche Transport 2Les services de la couche transport
d’Internet
• Rappel: IP sans connexion non fiable, déséquencement possible, délai de
transfert très variable
• Protocoles pensés au départ pour le transfert de fichier et l’utilisation de
machine à distance
• Deux types de services suivant les besoins de l’application à développer
– Sans connexion, aucune QoS: User Datagram Protocol (UDP)
– Avec connexion: Transport Control Protocol (TCP)
» Ouverture et fermeture de connexion
» Fragmentation et reassemblage
» Contrôle de flux et récupération des erreurs
• TCP et UDP se sont imposés naturellement. Les normes OSI ont été définies
en parallèle mais elles sont arrivées trop tard
• TCP garantie seulement un taux de perte nul
• Dans les norme OSI il existe différents niveaux de QoS pouvant être utilisés
suivant le réseau sous jacent
© P. Sicard-Cours Réseaux 4 Couche Transport 3
QoS dans Internet
• Application temps-réel : la QoS de TCP est insuffisante
• Niveau Réseau
– RSVP: Ressource Reservation Protocol
– Permet de réserver dans les routeurs des ressources permettant de garantir un
débit, délai de traversée...
– C’est le destinataire qui est à l’origine des réservations en fonction de la QoS
qu’il espère
– Nécessite des échanges de paquets de signalisation
– Différentiation de service (DiffServ):
– Définition de classes de services de qualités différentes
– Marquage des paquets et traitement prioritaire dans les routeurs
– Ces techniques sont peu utilisées à grande échelle car difficile à mettre en oeuvre
© P. Sicard-Cours Réseaux 4 Couche Transport 4Garanties de QoS
• Niveau Transport TCP inutile pour beaucoup d’application
“temps-réel”
– Exemple: le téléphone
– Les paquets perdus et réemis arrivent trop tard
– Un taux d’erreur non nul est possible
– Utilisation de UDP
– Une couche supplémentaire entre UDP et l’application: RTP
(Real Time Protocol) normalisé
– Numérotation des paquets, estampillage temporel, rapports du récepteur à
l’émetteur pour signaler: la QoS courante (délai de transit, taux d!’erreur, débit…)
– Adaptation par l’application (changement de taux de compression, correction à
l!’arrivée, tampon d!’amortissement à l!’arrivée …)
© P. Sicard-Cours Réseaux 4 Couche Transport 5
Fonctionnalités des procoles transport
d’Internet
. Protocoles client/serveur:
» Le serveur se met en attente de demandes
» Le client initie le dialogue par une demande
• Interface des “sockets”: librairies de primitives d’accès aux
protocoles transport TCP et UDP
• 1 serveur : 1 numéro de port fixé
– Côté serveur: réservés pour applications standards
– Fichier /etc/services
– Exemple: HTTP port 80 en TCP
- Côté client: alloués dynamiquement
• Multiplexage vers les applications:
- Adresses Internet source et destination, numéros de ports source et destination
- Entêtes réseau (IP) et transport (TCP ou UDP)
© P. Sicard-Cours Réseaux 4 Couche Transport 6Adressage
TELNET HTTP
Port 23 Port 80
TCP
Adresse IP 193.8.8.8 Adresse IP 55.0.0.2
IP
Adresse Ethernet 00:0a:95:a2:79:77 Adresse Ethernet 00:0a:95:a2:68:6c
ETHERNET ETHERNET
• Numéro de port particulier attribué aux applications “standards” (/
etc/services)
• Adresse IP attribuée de façon unique à une “interface réseau” sur
une machine
Architecture et principes 01© P. Sicard-Cours Réseaux 1 7
Les services du protocole UDP
• Mode sans connexion (Datagram)
• Multiplexage applications -> transport
• Numéro de port sur 2 octets
• Longueur en nombre d’octets
• Détection d’erreur optionnelle (par “checksum”)
• Aucun contrôle de flux et de récupération d’erreur
• Entête UDP:
Port source Port destination
Longueur Détection d'erreur
Données
© P. Sicard-Cours Réseaux 4 Couche Transport 8Services du protocole TCP
• Service orienté connexion
- Ouverture et libération de la connexion
• Segmentation re-assemblage des messages
- Pas de notion de paquets de donnée à la réception : flux d’octets
• Rétablir l’ordre des paquets
- Numérotation des octets de données
• Multiplexage vers plusieurs applications (numéro de port)
• Transfert de données exprès
• Contrôle de flux
• Détection des paquets erronés et perdus
• Récupération des erreurs par réémission
• Détection d’inactivité
© P. Sicard-Cours Réseaux 4 Couche Transport 9
Le format du paquet TCP
Port source Port destination
Numéro de séquence
Numéro d'acquittement
Lg de
Flags Fenêtrel'entête
Détection d'erreur Pointeur
Options
• Flags: Urgent, Ack, Psh, Rst, Syn, Fin
© P. Sicard-Cours Réseaux 4 Couche Transport 10L’établissement d’une connexion
• Hypothèses :
- connexion bidirectionnelle entre deux entités
- Le niveau transport est mis en œuvre au dessus d’une couche réseau non fiable
- Perte de paquet
- Retardement de paquets
- Déséquencement des paquets
• Le problème :
- Par un mécanisme de retransmission, on peut avoir plusieurs exemplaires d’un même
paquet en cours de transmission
- On doit donc impérativement reconnaître et éliminer les doublons.
- Comment définir une connexion sans ambiguïté ?
- Comment associer une donnée à une connexion ?
© P. Sicard-Cours Réseaux 4 Couche Transport 11
Mécanisme d’établissement de
connexion
• Echange de paquets spéciaux pour l’ouverture de la connexion
- Connexion Request (CR)
• Identificateur de connexion dans l’entête des paquets
• Numéro de séquence pour les données pour différencier les paquets d’une
même connexion
• Chaque TPDU circulant est identifiée de façon unique par un couple :
<identificateur de connexion, n°TPDU>
Entité transport A Entité transport BCR (id = x )
DATA(x)
© P. Sicard-Cours Réseaux 4 Couche Transport 12Perte de la demande de connexion
• Les données sont envoyées mais rejetées en B (pour lui pas de connexion)
• Donc on rajoute ACK_CR + armement de timer de réemission en A
AA B B
Armement d’un timer CR (id = x ) CR (id = x )
Perte
ACK_CR (id = x )
DATA(x)DATA(x)
Rejetée
© P. Sicard-Cours Réseaux 4 Couche Transport 13
Problème des doublons
• Reémission possible d’un CR alors que le CR initial a
simplement été retardé et non perdu
• Reémission possible de données dans une connexion
précédente
A B
CR (id = x ) (DOUBLON)
Connexion x ouverte et fermée
Rejeté depuis un moment
mais trop tard
ACK_CR (id = x )
DATA(x)(DOUBLON)
Pris comme une nouvelle donnée
© P. Sicard-Cours Réseaux 4 Couche Transport 14Solution au problème des doublons
• Se rappeler quels id de connexion ont déjà été déjà utilisés
– Pour reconnaître les doublons de demandes d’ouverture de connexion, on
conserve les références des connexions fermées
– Si on veut résister aux pannes: sauvegarde sur disque dur des ids déjà utilisés
– Problème : le nombre d’id de connexion n’est pas infini
– Il faudra reprendre à un moment les ids déjà utilisés
– On se débrouille pour avoir une durée de vie limitée des paquets
– Soit T la durée de vie maximale d’un paquet sur le réseau
– Méthodes de limitation de la durée de vie:
» Limiter la taille du réseau (mais les paquets peuvent tourner en rond)
» Champs durée de vie (exemple: IP)
» Estampiller avec date et heure mais difficile car besoin d’u