Département Informatique Les Réseaux Informatiques Couche Transport Protocoles UDP & TCP Laurent JEANPIERRE
Département Informatique2 Contenu du cours Introduction Notion de port Protocole UDP Protocole TCP Mode connecté, accusés de réception Notion de fenêtrage Notion de segments, N° de séquence L’entête TCP
Département Informatique3 Rôle des couches OSI (4) Couche transport Communication de bout en bout Abstraction de la structure du réseau Donnée Message Multiplexage 1 machine n services 1 service n machines Couche Physique Réseau Transport LLC MAC
Département Informatique4 Rôle des couches OSI (4) Couche transport UDP Non connecté Rapide Aucune garantie TCP Connecté Messages remis dans le bon ordre Aucun message perdu Aucun message abîmé Couche Physique Réseau Transport LLC MAC
Département Informatique5 Fondations et Besoins La couche Réseau permet Envoi de données de taille quelconque Adressage unique des machines Contact d’une machine arbitraire (routage) MAIS Aucune garantie d’arrivée Aucun respect de l’ordre des paquets Une seule connexion par machine
Département Informatique6 Contenu du cours Introduction Notion de port Protocole UDP Protocole TCP Mode connecté, accusés de réception Notion de fenêtrage Notion de segments, N° de séquence L’entête TCP
Département Informatique7 Notion de port 1 port 1 point d’accès dans 1 machine « adresse » de service Numéro sur 16 bits (0 65535) Deux classes de ports 0 1023 : Ports réservés « well known ports» : Ports libres (ou presque) Pas d’utilisation précise (quoique…) Souvent alloués à la demande, par l’O.S.
Département Informatique8 Contenu du cours Introduction Notion de port Protocole UDP Protocole TCP Mode connecté, accusés de réception Notion de fenêtrage Notion de segments, N° de séquence L’entête TCP
Département Informatique9 User Datagram Protocol Un transfert UDP est caractérisé par : Machine source Machine destination Port source Port destination Connexion à usage unique Le port client est rendu après utilisation Le port serveur attend un autre client
Département Informatique10 Exemple Le protocole HTTP Surcouche de UDP (ou de TCP…) Requête HTTP : Le Client demande un port UDP 1843 Le Client envoie datagramme IP client : 1843 IP serveur : 80 Le Serveur envoie une réponse (page Web) IP serveur : 80 IP Client : 1843 Le port 1843 est rendu à la machine Client
Département Informatique11 Trame UDP Entête UDP : Port source (16 bits) Port destination (16 bits) Longueur totale (16 bits) Entête : 8 octets Données : 0 octets Somme de contrôle (16 bits) Entête UDP + Données UDP Pseudo-entête IP (…)
Département Informatique12 Trame UDP (2) DonnéesEntête UDPEntête IPEntête Ethernet 14 octets20 octets8 octets1472 octets Données (suite)Entête IPEntête Ethernet 14 octets20 octets1480 octetsMTU=1500 octets
Département Informatique13 Bilan UDP Protocole léger 8 octets pour 64Ko Ports clients à usage unique 1 Port serveur sert plusieurs clients Multiplexage temporel Aucune garantie D’ordre D’arrivée
Département Informatique14 Contenu du cours Introduction Notion de port Protocole UDP Protocole TCP Mode connecté, accusés de réception Notion de fenêtrage Notion de segments, N° de séquence L’entête TCP
Département Informatique15 Le protocole TCP Transport Control Protocol Communication en mode connecté Ouverture d’un canal Communication Full-Duplex Fermeture du canal La connexion sécurise la communication Ordre garanti Arrivée garantie
Département Informatique16 Arrivée garantie Comment savoir si un paquet arrive ? Accusé de réception Machine 1Machine 2 Envoi de message Réception Accuse réception Reçoit accusé Envoi suite du message Trop long ! Ré-envoi du message Réception Accuse réception
Département Informatique17 Contenu du cours Introduction Notion de port Protocole UDP Protocole TCP Mode connecté, accusés de réception Notion de fenêtrage Notion de segments, N° de séquence L’entête TCP
Département Informatique18 Utilisation du réseau Gaspillage de bande passante ! Envoi de données Attente Envoi d’acknowledge Attente … On peut faire mieux ! fenêtrage
Département Informatique19 Fenêtres TCP Idée : prendre de l’avance sur les réponses fenêtre glissante D 0D 1D 2D 3D 4D 5
Département Informatique20 Contenu du cours Introduction Notion de port Protocole UDP Protocole TCP Mode connecté, accusés de réception Notion de fenêtrage Notion de segments, N° de séquence L’entête TCP
Département Informatique21 Notion de segments UDP gère des messages TCP gère une communication Echange soutenu entre deux machines Durée importante (millisecondes jours) Messages Flux de données Taille inconnue à l’avance segmentation à la volée TCP gère des segments de 64K (ou moins)
Département Informatique22 Réception des segments Ressemble à la fragmentation IP Ordre nécessaire pour recomposer le message IP ne garantit pas l’ordre Chaque paquet est routé séparément Certains routeurs équilibrent la charge des réseaux routes différentes pour paquets successifs Problème de la perte de trames trou dans la séquence ( retransmission) Fenêtre glissante retard d’un segment (ou +) les segments sont reçus en désordre
Département Informatique23 Notion de séquence Introduction d’un « numéro de segment » introduit un ordre sur les segments permet d’accuser réception d’un segment permet de détecter les trames perdues Un même numéro ne doit pas être réutilisé Risque de confusion 32 bits (>4 milliards) durée de vie limitée (2 minutes)
Département Informatique24 Choix du numéro de séquence Rappel : Donne un numéro d’octet Spécifique à une connexion donnée Mêmes IPs Mêmes ports Unique par période de 2 minutes Choix basé sur l’horloge de la machine +1 toutes les 4 s
Département Informatique25 Numéros de séquence (2) Numéro initial variable Comment identifier le premier segment ? Synchronisation nécessaire Elément essentiel de l’ouverture de connexion « three-way handshaking » Synchro, Séq = xxx Synchro, Séq = yyy; Ack xxx+1 Ack yyy+1
Département Informatique26 Contenu du cours Introduction Notion de port Protocole UDP Protocole TCP Mode connecté, accusés de réception Notion de fenêtrage Notion de segments, N° de séquence L’entête TCP
Département Informatique27 Entête TCP Port SourcePort Destination Numéro de séquence Numéro d’acknowledge Réservé Long Drapeaux Longueur de l’entête En mots de 32 bits Urgent Acknowledge Push Reset Synchro Fin
Département Informatique28 Options Entête TCP Port SourcePort Destination Numéro de séquence Numéro d’acknowledge LongRéservéDrapeaux Somme de contrôle d’erreurs Taille de fenêtre Pointeur Urgent
Département Informatique29 Trames TCP DonnéesEntête TCPEntête IPEntête Ethernet 14 octets20 octets 1460 octets Données (suite) Entête TCPEntête IPEntête Ethernet 14 octets20 octets 1460 octetsMTU=1500 octets Ouverture de connexion (3 trames SYN-SYN/ACK-ACK) Fermeture de connexion (3 trames FIN-FIN/ACK-ACK)
Département Informatique30 Bilan Une connexion TCP : Ouverture de connexion Synchronisation Acknowledge Synchronisation Envoi de trames selon fenêtre disponible Si accusé réception décaler la fenêtre Si TimeOut ré-envoyer le segment fautif Envoi trame de fin Accuse réception de la trame de fin
Département Informatique31 TCP Avancé Acknowledges cumulés Acquitte le prochain octet attendu N’acquitte pas les trames après un ‘trou’ Fenêtre de congestion Adapte la fenêtre au réseau Si reçoit tous acknowledges, Fenêtre += 1 Si retransmission, Fenêtre /= 2 Démarrage lent Initialement, Fenêtre = 1
Département Informatique32 Exemple : Envoi unilatéral de segments de 1Ko SYN Séq=564 SYN Séq=123 ACK 565 D0 : Séq=565 ACK 124 ACK 1565 D1 : Séq=1565 ACK 124 D2 : Séq=2565 ACK 124 TimeOut D1 D1 : Séq=1565 ACK 124 ACK 3565 D3 : Séq=3565 ACK
Département Informatique33 Conclusion La couche 4 améliore les services de couche 3 UDP Multiplexage de services Protocole très léger TCP Multiplexage de services Full-Duplex Service garanti Acknowledges arrivée garantie des segments Séquençage ordre garanti des segments Acknowledges cumulés pas trop de gaspillage