Services pour la Couche Transport Couche 3 La Couche Réseau couche 7 Applicat 6 Présentat nom PDU Applicat APDU Présentat PPDU 5 session session SPDU 4 transport transport message 3 paquet Pascal Berthou (berthou@laas.fr) 2 trame LAAS-CNRS, 7, av du Colonel Roche - 31077 Toulouse 1 hôte A routeur routeur hôte B bit 2 Rôles de la Couche Réseau Diversité des x Rôles Topologie sous-jacente transparente à la Couche Transport Service Réseau indépendant de la technologie sous-jacente Connecte logiquement des hôtes qui ne sont pas directement reliés par un lien Mécanismes nécessaire Segmentation/Reassemblage adressage global routage - trouver une route jusqu a l hôte final autre : contrôle de flux, contrôle de congestion, contrôle d admission,... 3 4
Connecte logiquement des hôtes Les différents moyens d'interconnection A 1 A 2 B 1 B 2 Répéteurs niveau, pas de conversion ni de transcodage, répétition ou régénération des signaux, étendent de manière transparente le support, les x sont identiques à partir de la couche. B 3 Grâce a la couche 2, chacun peut communiquer avec celui au quel il est ment relié (A 1,A 2 ) (B 1,B 2,B 3 ) Comment faire communiquer (A 1, B 1 )? Les ponts (bridges) niveau, permet de passer d'un type de à un autre, possibilités de filtrage. Les routeurs (routers/gateways) niveau, conversion de protocoles, incorporent des algorithmes de routage. 5 6 plan Unités de données Introduction Objectifs : Indépendance vis a vis de la technologie sous-jacente Problème : Mécanismes de la couche Segmentation / Réassemblage Adressage global Modes d acheminements Routage Exemple de l Internet Tous les x de niveau 2 n utilisent pas les mêmes formats de trames (taille des données variables) Comment faire : Définir ses propres unités de traitement N-PDU : Paquets La taille de ses N-PDUs est choisie en fonction des caractéristiques du service que souhaite rendre le (en particulier performances) exemple : ATM=53octets, IP=65515 Une entête (partie fixe + parfois options) + champ information (souvent variable mais borné) 7 8
Segmentation / Réassemblage Adressage global Adaptation des unités de données à transmettre à la taille de la couche sous-jacente : N-SDU fragmenté en n x L-SDU Le protocole de la couche Réseau met généralement en œuvre un mécanisme de fragmentation : identification des N-PDU appartenant aux différents N-SDU ordonnancement des N-PDU appartenant au même N-SDU délimitation des N-SDU entre eux (marquage du dernier N-PDU de chaque N-SDU) Remarques : la fragmentation peut être très coûteuse : manipulation de la totalité des données à chaque routeur De moins en moins utilisé (vu plus tard) Besoin d une adresse unique pour identifier un hôte dans le : La couche Réseau utilise des adresses pour identifier les systèmes (d extrémité et intermédiaires). Deux types de structuration des adresses existent : L adressage global (linéaire, plat) : chaque station se voit attribuer un numéro indépendamment de toute sémantique, des stations voisines peuvent avoir des adresses sans aucune relation entre elles. L adressage hiérarchique (structuré) : chaque adresse est décomposée en champs, sous-champs, etc. la sémantique associée à chaque champ peut être géographique ou fonctionnelle 9 10 L adressage d Internet Objectifs Les adresses du protocole IPv4 : longueur fixe de 32 bits. Adressage hiérarchique à 2/3 champs : (classe,) netid, hostid 3 classes d adresse unicast : longueur variable de netid et hostid. 1 classe d adresse multicast : identifie un groupe de stations Nouvelle version IPv6 : longueur des adresses 128 bits! adresses anycast (+ unicast + multicast) Exemple : 146.84.32.07 classe B, netid = 146.84, hostid = 32.07 Transmettre les paquets d un hôte à un autre en traversant un composé de nœuds intermédiaires (routeurs) Principalement deux techniques utilisées Technique basée sur les Datagrammes permet de construire un service en mode non-connecté ou orienté connexion généralement associé au mode sans connexion Technique basée sur les Circuits Virtuels permet de construire un service en mode orienté connexion ou non généralement associé au mode orienté connexion Ne pas confondre avec les services Service Sans Connexion Service Orienté Connexion 11 12
Technique Datagrammes Acheminement par Datagrammes Analogie avec les télégrammes Intérêts : pas de mémorisation du trajet d'un type de paquet possibilité de routes diverses robustesse efficacité (multiplexage) tarification au débit Mécanisme : dynamique Chaque routeur est muni d une table de routage. Cette table reflète l état (perçu par le routeur) de la topologie du à un moment donné. Actions effectuées lors de la réception d un paquet: extraction de l adresse de destination, recherche dans la table de routage de l interface adéquat retransmission du paquet vers le prochain routeur cette interface A @A @G C B G Quel Chemin de A vers G? D E F table de routage de C 13 14 Technique Circuits Virtuels Acheminement par Circuits Virtuels Analogie avec les circuit s du téléphone Intérêts : éviter de recalculer la route pour chaque paquet traitement efficace des paquets (temps réel possible) tarification à la durée Mécanisme : Permanents Configurés Dynamiques Etablit à la connexion Le circuit virtuel (CV) relie l émetteur au destinataire. Chaque tronçon de CV est identifié par un nº de voie logique (NVL). Les numéros de VL sont réservés lors de l établissement de la connexion. Ils sont rendus lors de la libération de la connexion Utilise une table de routage pour l établissement des CV! Actions effectuées lors de la réception d un paquet : extraction du NVL, recherche dans la table de circuit virtuel échange du NVL, retransmission du paquet A 1 C 7 B 8 G D E F table de commutation de C 15 16
Comparaison des deux techniques Combinaison des services et techniques d acheminement Technique Datagramme Circuit Virtuel Initialisation Non OUI Adressage Adresse complete de la source etdu destinataire NON Identificateur de CV OUI pour chaque CV Informations d'état Calcul de route Pour chaque paquets Initial Robustesse Contrôle de Congestion Pertes des paquets en cours de traitement si crash Complexe Perte de tous les circuits en cas de crash Simple Couche supérieure Sans Connexion Orienté Connexion Technique d' Datagram UDP --------- IP TCP --------- IP acheminement Circuit virtuel UDP --------- IP --------- ATM ATM AAL1 --------- ATM 17 18 Algorithmes de routage Propriétés des Algorithmes de Routage Mise à jour des tables de routage! Critères Deux classes d algorithmes de routage : Exactitude (correctness) algorithmes de routage fixes (routage statique) algorithmes de routage adaptatifs (routage dynamique) : s adapte aux modifications de la topologie et, plus rarement, à celles du trafic automatiquement Les algorithmes de routage peuvent être : centralisés : les tables de routage de tous les nœuds sont calculées dans un seul nœud. répartis : les tables de routage sont calculées dans chaque noeud. Les algorithmes de routage peuvent utiliser des informations : locales aux nœuds. Exemple : longueur de ses files d attente. collectées globalement. Exemple : connaissance de la topologie totale Simplicité (simplicity) Robustesse (robustness) doit toujours fonctionner qqs les évenements Stabilité (stability) convergence rapide vers un équilibre Équité (fairness) même traitement pour tout les paquets «Optimalité» (optimality) Rôle contradictoire Offrir le meilleur service aux utilisateurs (délai, bande passante, ) Permettre une utilisation optimale du 19 20
plan Structure de l Internet Introduction Mécanismes de la couche Segmentation / Réassemblage Adressage global Modes d acheminements Routage Exemple de l Internet Ensemble de x (AS, Autonomous systems) interconnectés par un protocole de niveau : IP (RFC 791) Service : Sans Connexion Paquets de taille maximale de 65515 octets fragmentation : Possible, mais de moins en moins... Adressage : Hiérarchisé Mode d acheminement : Datagram Options IP (Sécurité,Strict source routing,loose source routing,enregistrement de route,estampilles temporelles, ) 21 22 Le format d un paquet IP 0 4 7 15 31 Taille Version Taille Entête TdS Identificateur Flag Index de fragment TTL Protocole Adresse IP de source Adresse IP de destination Options Header Checksum bourrage Les protocoles de routage IGRP : Interior Gateway Routing Protocol RIP Routing Internet Protocol OSPF Open Shortest Path First (RFC 1247) EGRP : Exterior Gateway Routing Protocol BGP Border Gateway Protocol Routage basé sur les vecteurs de distance mais orienté-chemin Politiques de routage variée : choix possible d un chemin en fonction de la politique (avec des fournisseurs par ex.) Les données 23 24
Les protocoles associés ICMP Internet Control Message Protocol (RFC 792) Test et retour d'erreur du ARP Address Resolution Protocol (RFC 826) «Quelle est l'adresse MAC du destinataire possédant l'adresse IP 192.55.123.78?» RARP, BOOTP,... : Configuration automatique de l'adresse IP RARP Reverse Address Resolution Protocol (RFC 903) «Mon adresse MAC est 45.00.FE.67.89.AB, qui connait mon adresse IP» broadcast limité (adresse MAC=FF.FF.FF.FF.FF.FF) BOOTP Bootstrap Protocol (RFC 951, 1048 et 1084) DHCP Dynamic Host Configuration Protocol... Couche 4 La Couche Transport Pascal Berthou (berthou@laas.fr) LAAS-CNRS, 7, av du Colonel Roche - 31077 Toulouse 25 Plan Introduction Introduction Mécanismes de la couche Transport Modèles de couche Transport Modèles Internet pour la couche Transport La couche Transport du modèle OSI : quatrième couche du modèle de référence dernière couche des services de «bas niveau». La couche Transport assure la charnière entre les aspects applicatifs et les aspects liés à la transmission de données sur un informatique. 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és indépendamment de la nature des x sous-jacents (rôle de la couche ). 27 28
Service pour les couches «applicatives» Objectifs de la couche transports couche 7 Applicat 6 Présentat nom PDU Applicat APDU Présentat PPDU Services fournis par la couche (vu depuis la couche Transp) niveau A (service fiable sans désynchronisation), Taux d erreurs faible, incidents rares : exemple : Réseaux Locaux Travail couche transport : faible 5 4 session transport protocole de transport session transport SPDU message niveau B (service fiable avec quelques désynchronisations) Taux d erreurs faible, incidents fréquents : exemple : X25 Travail couche Transport plus important Etablissement de nvlle connexions, resynchronisation, masquages 3 2 1 hôte A routeur routeur hôte B paquet trame bit niveau C (service peu fiable) Taux d erreurs important, incidents fréquents : exemple : WAN, IP Travail couche Transport : Résoudre tous les problèmes de fiabilité Travail similaire à celui de la couche 29 30 Différence entre la couche et la couche transport Plan Introduction routeur lien de communication routeur hôte Mécanismes de la couche Transport Modèles de couche Transport Modèles Internet pour la couche Transport Niveau Niveau transport Différences : Adressage nécessaire au niveau de la couche transport (multiplexage) reordonnancement possible délais variables Nombre de connexions variables 31 32
Les mécanismes de la couche transport Transport de données Mécanismes classiques (non traités - abordés précédemment) Détection des pertes Réordonnancement Mécanismes typiques de la couches transport Transport de données Multiplexage / Adressage Etablissement / Fermeture de connexion Contrôle de flux / Contrôle de congestion Gestion de la Qualité de Service Plusieurs services de transfert de données spécifiques sont définis: Les données normales Les données express ( Expedited Data ) traitement et transmission rapide de données à ne pas confondre avec les différents niveaux de priorités que peuvent avoir les unités de données normales de petite taille (<16 octets) but : la transmission d alarme non soumis aux contrôles habituels (de flux, numérotation, etc.) Transfert de données lors de l établissement et lors de la libération de la connexion transmission de données en pseudo-mode non connecté permet d accélérer le début de la transmission de données données qui permettent de déterminer les droits d établissement de la connexion 33 34 Multiplexage / Adressage Etablissement d une connexion transport Les entités communicantes ne sont plus des stations mais des processus : Comment faire passer plusieurs connexions Transport sur une connexion Réseau reliant les stations qui supportent les processus Multiplexage : adressage spécifique Exemple : Numéros de ports TCP/UDP Comment une application peut connaître l @ transport d un serveur donné Cas 1 : l @ transport est bien connue Cas 2 : Utilisation d un serveur de nom Nécessaire pour mettre en place des mécanises de fiabilité Contrairement aux apparences ce n est pas trivial Le peut dupliquer, perdre, désordonner des paquets Etablissement de connexion à 2 échanges pas suffisant Solution : 3 échanges Requête dupliquée ACK Donnée dupliquée Connexion établie à nouveau! Donnée reçue à nouveau! 35 36
Contrôle de flux Contrôle de congestion Possibilité de réutiliser les techniques de la couche Liaison Go-back-N Selective Repeat Toutefois plus compliqué car : Nombre de connexions grands et variable Délais variables Réservation statique de mémoire (fenêtre) coûteux et inefficace On préfère utiliser des mécanismes dont La taille de la fenêtre n est pas fixe Phénomène observable quand le est surchargé Accumulation de paquets en attente d émission dans les nœuds du Retransmission des paquets : considérés à tort ou non comme perdus! Augmentation du trafic et dégradation des performances. Solutions proches de celles du contrôle de flux : réduction des fenêtres d émission par exemple 37 38 Qualité de service Qualité de service La couche Transport optimise l utilisation des ressources du pour atteindre et maintenir la qualité de service souhaitée par les entités supérieures La QdS = Ensemble de paramètres (délai, pertes, débit ) caractérisants les besoins des applications La valeur des paramètres peu être négociée en fonction Du sous-jacent, des entités supérieures, des mécanismes protocolaires La couche Transport joue le rôle de garant de la QdS : Surveillance des paramètres et notification des éventuels problèmes Quelques paramètres de QoS le délai d établissement de la connexion la probabilité d échec d établissement de la connexion le débit de la connexion ( throughput ) : dans chaque sens le délai de transmission la gigue ( jitter ) : variation du délai le taux d erreur résiduel la probabilité d incident de transfert : non respect des contraintes précédentes la qualité de la sécurité de la connexion : niveau de protection la priorité relative des connexions entre-elles : dégradation des moins prioritaires la probabilité de résiliation de la connexionle délai de libération de la connexion la probabilité d échec de libération de la connexion! etc. Un contrat est ainsi déterminé entre les entités supérieures ayant demandé l établissement de la connexion et la couche Transport. 39 40
Plan Les modèles de couche transport Introduction Mécanismes de la couche Transport Modèles de couche Transport Modèles Internet pour la couche Transport Spécification du protocole de couche Transport : TP ( Transport Protocol ) : Norme ISO 8073 ou CCITT X.224 5 classes de services définies dans le modèle OSI La classe 0 ( Transfert non fiable, connexion, segmentation) La classe 1 (0 + classe de base avec reprise sur problèmes de connexion) La classe 2 (0 + classe avec multiplexage) La classe 3 (1 + 2 = classe avec reprise sur pb connex. et multiplexage) La classe 4 (3 + classe avec détection et reprise sur erreur) 41 42 Les Transports PDU - TPDU Plan Le format des TDPU Entête avec partie fixe & variable (nombre d options variables) Un champ de longueur données variables Le protocole Transport utilise 10 types de TPDU : Demande de connexion ( Connection request : CR), Confirmation de connexion ( Connection confirm : CC), Introduction Mécanismes de la couche Transport Modèles de couche Transport Modèles Internet pour la couche Transport Demande de déconnexion ( Disconnection request : DR), Confirmation de déconnexion ( Disconnection confirm : DC), Données ( Data : DT), Accusé de réception de données ( Data acknowledgment : AK), Données exprès ( Expedited data : ED), Accusé de réception de données exprès ( Exp. data ack : EA), TPDU d erreur ( Error TPDU : ER), Rejet ( Reject : RJ). 43 44
Modèle Internet TCP : Transmission Control Protocol Internet : 2 protocoles (TCP ou UDP) Mécanismes de TCP Adressage / Multiplexage : TCP : Transmission Control Protocol Orienté connexion Mode Flux & Fiable UDP : User Datagram Protocol Sans connexion TSAP = Adresse IP + N Port (2 octets) Une connexion est une paire de sockets (@src, port src, @dest, port dest) Gestion de la fiabilité CRC sur entêtes et données Numérotation des données Timers Contrôle de flux et de congestion Fenêtre à taille variable 45 46 TCP : Transmission Control Protocol TCP - Transmission Control Protocol Primitive Emetteur Récepteur 0 4 10 16 31 SrcPort DstPort SequenceNum Acknowledgment HdrLen 0 Flags AdvertisedWindow SOCKET Crée une nouveau point de 1 1 communication BIND Attache une adresse locale à la socket 2 LISTEN Annonce la capacité à accepter des connexions ACCEPT Bloque le receveur jusqu'à ce qu'une connexion arrive CONNECT Demande d'établissement de connexion 2 SEND Emission de données 3 5 RECEIVE Attente & réception de données 4 6 3 4 Checksum UrgPtr CLOSE Fermeture de connexion 5 7 Options (variable) Data 47 48
Gestion des connexions UDP : User Datagram Protocol Active participant (client) SYN, SequenceNum = x SYN + ACK, SequenceNum = y, Acknowledgment = x + 1 Passive participant (server) Active participant (server) FIN, SequenceNum = x Acknowledgment = x + 1 FIN, SequenceNum= y Passive participant (client) Mécanismes de UDP Adressage / Multiplexage : idem TCP Gestion de la fiabilité CRC sur entêtes uniquement Contrôle de flux Aucun! Inéquitable pour TCP! ACK, Acknowledgment = y + 1 Acknowledgment = y + 1 Etablissement de connexion Fermeture de connexion 49 50 UDP Packet Format 0 16 31 Source Port Destination Port Message Length Checksum Data Exemple d applications Protocoles de niveau application utilisant TCP / UDP dans l Internet Mail Web Application TCP SMTP HTTP UDP Numéros de ports identifient l application La longueur du message est au moins 8 octets (data peut être vide) VoIP Vidéo RTP RTP / UDP Checksum calculé sur : Entête UDP + Des données de l entête IP! (@IPsrc + @Ipdst + Protocol + long.) Permet de vérifier la destination Système de fichier distribué Transfert de fichier FTP NFS 51 52