0% ont trouvé ce document utile (0 vote)
29 vues88 pages

Couche Transport Slide

Transféré par

othmaneamjahdi.u
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
29 vues88 pages

Couche Transport Slide

Transféré par

othmaneamjahdi.u
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 88

Couche Transport

Plan

• Service de base
– Rappels sur la couche transport
– Multiplexage et démultiplexage
– UDP : un protocole en mode non connecte

• 2 Service fiable
– Principes de transfert de données fiable
– TCP : un protocole en mode oriente connexion
Couche transport
Couche transport
• La Couche transport permet de faire communiquer directement
deux ou plusieurs entités sans avoir a se préoccuper des différents
éléments de réseaux traversés :

– associations virtuelles entre processus


– communication de bout-en-bout (end-to-end)
• abstraction de la topologie et des technologies sous-

jacentes
• fonctionne dans les machines d'extremité

– émetteur : découpe les messages de la couche


applicative en segments et les « descend » à la couche
réseau
– récepteur : réassemble les segments en messages et les
« remonte » à la couche application
•  2 modèles définissent les fonctionnalités associées à chaque
Couche transport : OSI
Couche transport : TCP/IP
Couche transport
• 2 standard transport layer protocols : TCP and
UDP
– Transmissions ordonnées et fiables : TCP
• Gestion des connexions
• Contrôle de flux
• Contrôle de congestion
– Transmissions non ordonnées et non fiables : UDP
• Service best effort
• léger
– Services non fournis:
• Garantie de débit
• Garantie temporel
• Délais non limités
Couche transport : deux modes
Couche transport : Primitives
• Interface de programmation (applications ou
développeurs)
– exemple de primitives de base en mode connecte :
• LISTEN
• CONNECT
• SEND
• RECEIVE
• DISCONNECT
Couche transport : Automate de
connexion

Serveur Client
Couche transport : Etablissement
Multiplexage/demultiplexage
• Les processus applicatifs transmettent leurs
données au système à travers des sockets : Le
multiplexage consiste a regrouper ces données.
• mux (à l‘émetteur) :
– ajout d'un entête à chaque bloc de données d'un
socket
– collecte les données de plusieurs socket

• demux (au récepteur) :


– fourniture des données au socket correspondant
Multiplexage/démultiplexage
Démultiplexage en mode non connecté
• Association d'un socket avec un numéro de port
– identification du DatagramSocket : (@IPdest,
numPortDest)
– réception d'un datagramme a un hôte :
• vérification du numPortDest contenu
• envoi au socket correspondant à numPortDest
– Quelque soit @IPsource, Quelque soit numPortSource
Démultiplexage en mode non connecté
Multiplexage en mode oriente connexion
• Association relative a une connexion entre deux
processus
– identification du StreamSocket par le quadruplet :
• adresse source : @IPsource
• port source : numPortSource
• adresse destination : @IPdest
• port destination : numPortDest
– réception d'un segment a un hôte :
• verification du quadruplet contenu
• envoi au socket correspondant au quadruplet
– un serveur web peut avoir plusieurs connexions simultanee
Multiplexage en mode oriente connexion
Multiplexage en mode oriente connexion
Multiplexage en mode oriente connexion
UDP
UDP
• User Datagram Protocol [RFC 768]
– protocole de transport Internet basique
– service best effort :
– les datagrammes transférés peuvent être...
• perdus
• dupliqués
• désordonnés
– service sans connexion :
• pas d‘échange préalable
• pas d'information d‘état aux extrémités
• chaque datagramme géré indépendamment
Datagramme UDP
Port source
Port destination
UDP : Longueur du datagramme
UDP : contrôle d'erreur
• 16 bits
• contrôle d'erreur facultatif
• émetteur :
– ajout pseudo-header
– Calcul du checksum
• récepteur :
– recalcul du checsum
• = 0 : pas d'erreur détectée
• # 0 : erreur (destruction
silencieuse)
UDP : arguments pour un transport sans
connexion
• Motivation pour le choix d'un service transport non connecte :
– ressources limitées aux extrémités
• pile TCP/IP limitée
• absence d‘état dans les hôtes
• capacité de traitement limitée
– besoin d‘échange rapide
• pas d‘établissement de connexion
– besoin d‘efficacité
• entête réduit
– contraintes temporelles
• retransmission inadapté
• pas de contrôle du débit d‘émission
– besoin de nouvelles fonctionnalités
• remontes dans la couche application...
UDP : exemples d'applications
• applications classiques :
– résolution de noms (DNS)

– administration du réseau (SNMP)

– protocole de routage (RIP)

– protocole de synchronisation d'horloge (NTP)

– serveur de fichiers distants (NFS)


• fiabilisation implicite par redondance temporelle
• fiabilisation explicite par des mécanismes ajoutes dans la couche
application
• applications multicast
• applications multimédia
– diusion multimédia, streaming audio ou video

– téléphonie sur Internet

– visioconférence
• contraintes temporelles
• tolérance aux pertes
UDP : interface socket
Couche transport et fiabilité (1)
Couche transport et fiabilité (2)
Couche transport et fiabilité (3)
Protocole de Transfert Fiable (PTF)
PTF et AEF
PTF v1.0
PTF v2.0
• Transfert able sur un canal avec des erreurs
– canal sous-jacent pouvant changer la valeur des bits d'un paquet
• introduction de contrôle d'erreur :
– ctrlerr : redondance rajoutée au paquet

– Comment récupérer les erreurs ?


• acquittement (ACK) : le récepteur indique explicitement la réception
correcte d'un paquet
• acquittement négatif (NAK) : le récepteur indique explicitement la
réception incorrecte d'un paquet
– l‘émetteur ré-emet le paquet sur réception d'un NAK

– nouveau mécanisme dans PTF v2.0 :


• détection d'erreur
– valide(pqt) : vrai si le contrôle d'erreur de pqt est correct
– erreur(pqt) : vrai si le contrôle d'erreur de pqt est incorrect
• retour d'information (feedback) du récepteur (ACK et NAK)
PTF v2.0
PTF v2.0 : ACK
PTF v2.0 : NACK
PTF v2.0 : discussion
• PTF v2.0 est un protocole stop and wait :
– émetteur envoi un paquet et attend la réponse du
récepteur
– peu performant...
• PTF v2.0 a un défaut majeur !
– Que se passe-t-il si les ACK ou NAK sont incorrect ?
• pas d'information sur l‘état du récepteur
• une retransmission simple risque de dupliquer les données
– gestion des duplicats :
• émetteur retransmet le paquet courant si ACK/NAK incorrect
• émetteur insert un numéro de séquence a chaque paquet
• récepteur supprime les paquets dupliques
– inclu dans PTF v2.1
PTF v2.1 : émetteur
PTF v2.1 : émetteur
PTF v2.1 : discussion
• Comportement des extrémités avec PFT v2.1
– émetteur
• ajout de numéro de séquence a chaque paquet
– 2 suffisant (0 et 1)
• contrôle d'erreur sur les ACK et NAK
• 2 fois plus d‘états
– récepteur
• vérification que le paquet n'est pas duplique
– l‘état ou l'on se trouve indique le numéro de séquence attendu
• Peut-on éliminer les NAK?
– remplacement des NAK par ACK du dernier paquet valide reçu
• récepteur inclue le numéro de séquence correspondant dans le ACK
• ACK duplique au récepteur = NAK reçu au récepteur
– intégré dans PFT v2.2
PTF v2.2 : émetteur
PTF v2.2 : récepteur
PTF v3.0
• Transfert able sur un canal avec erreurs et pertes
– canal sous-jacent peut aussi perdre des paquets (data ou ACK)
• ctrlerr + numSeq + ACK + retransmission
– insuffisant : l'absence d'un paquet bloque l'automate !

• Temporisation des retransmission


– estimation d'un temps de retour de ACK raisonable
• déclenchement d'une temporisation a l‘émission d'un paquet
– tempo init
• ACK avant l'expiration de la temporisation  rien
– tempo stop
• pas de ACK a l'expiration de la temporisation
–  retransmission
» tempo expire

– si le ACK est seulement en retard...


• retransmission = duplication
– détectée grâce au numéro de séquence
PTF v3.0 : émetteur
PTF v3.0 : sans perte
PTF v3.0 : perte d’un paquet de données
PTF v3.0 : perte d’un ACK
PTF v3.0 : fin de temporisation
prématurée
PTF v3.0 : Stop and wait
Protocole Pipeline
Performance Pipeline
Go-Back-N : Emetteur
PTF v4.0 : emetteur
Go-Back-N : recepteur
• Recepteur avec gestion Go-Back-N (retour arriere).
– seulement des ACK :
• envoie toujours des ACK avec le plus élevé des seqnum de
paquets valides ordonnes
– peut générer des ACK dupliques

– seul seqnum attendu est mémorisé

– déséquencement :
• élimine les paquets déséquencés
– pas de tampon au niveau du récepteur

• ré-emet le ACK avec le plus élevé des seqnum de paquets


valides ordonnes
PTF v4.0 : recepteur
PTF v4.0 : exemple
Retransmissions selectives :
TCP
TCP (Transmission Control Protocol)
• [RFCs : 793, 1122-1123, 2474, 3168, 3260, 4379, 5462 et 5681]
– Service fiable
• mécanismes ARQ
– point-a-point
• deux processus (généralement un client et un serveur)
– Flot d'octet continu
• pas de frontières de messages
– oriente connexion
• ouverture en trois échanges (three-way handshake)
– initiation des états aux extrémité avant l‘échange de données
• fermetures courtoise ou brutale
– connexion bidirectionnelle (full duplex)
• flux de données dans chaque sens
• taille maximum du segment : MSS (Maximun Segment Size)
– pipeline
• tampons d‘émission et de réception
• double fenêtre asservie aux contrôles de flux et de congestion
Segment TCP
TCP : Port Source
• 16 bits (65535 ports)
• multiplexage a la source
• identication partielle du socket
– (demi-association locale)

• allocation generalement dynamique


(dans le cas d'un client)
• repartition espace des ports :
– 0 numPort 1023 :
accessible a l'administrateur
• socket usuel des serveurs
– 1024 numPort :
accessible aux utilisateurs
• socket usuel des clients
TCP : Port Destination
TCP : Numéro de séquence
TCP : Numéro de séquence
TCP : Numéro d’acquittement
TCP : Numéro d’acquittement
TCP : Numéro d’acquittement
TCP :Exemple Telenet
TCP :Exemple Telenet
TCP : acquittements temporisés
TCP : acquittements temporisés
TCP : longueur de l'entête
TCP : indicateurs (Flags)
TCP : taille de la fenêtre de reception
TCP somme de contrôle du segment

• Idem qu’UDP
TCP : Pointeur sur les données urgentes
TCP : Gestion de la connexion
TCP : three-way handshake
TCP : three-way handshake
TCP : three-way handshake
TCP : TCP : graceful release
TCP : graceful release
TCP : Shutdown
UDP
• User Datagram Protocol [RFC 768]
– protocole de transport Internet basique
– service best effort :
– les datagrammes transférés peuvent être...
• perdus
• dupliqués
• désordonnés
– service sans connexion :
• pas d‘échange préalable
• pas d'information d‘état aux extrémités
• chaque datagramme géré indépendamment
UDP
• User Datagram Protocol [RFC 768]
– protocole de transport Internet basique
– service best effort :
– les datagrammes transférés peuvent être...
• perdus
• dupliqués
• désordonnés
– service sans connexion :
• pas d‘échange préalable
• pas d'information d‘état aux extrémités
• chaque datagramme géré indépendamment

Vous aimerez peut-être aussi