La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Chapitre X TCP/IP Les protocoles de l'architecture Internet (2ème partie) 1.

Présentations similaires


Présentation au sujet: "Chapitre X TCP/IP Les protocoles de l'architecture Internet (2ème partie) 1."— Transcription de la présentation:

1 Chapitre X TCP/IP Les protocoles de l'architecture Internet (2ème partie) 1

2 Sommaire Introduction Qualité de service (QoS) Le protocole UDP Le protocoleTCP 2

3 Introduction Le but des réseaux est de permettre la communication entre applications tournant sur deux machines (ou plus) reliées au réseau. ==> communication "de bout en bout" entre deux applications. Les applications utilisent des services facilitant ces communications : couche transport. Principaux services : adressage complémentaire des applications qualité du service de communication La couche Transport assure la charnière entre les aspects applicatifs et les aspects liés à la transmission de données sur un réseau informatique. La couche Transport assure le transport de bout en bout des données dune façon sûre et efficace. service connecté ou non de manière efficace, fiable et économique, indépendamment de la nature des réseaux sous-jacents (Applications écrites indépendamment du réseau de communication et de sa topologie). 3

4 Éléments de protocoles de Transport Fonctionnalités de la couche Transport similaires à celles de la couche Liaison de données : assurer le contrôle derreur, le séquencement des données, le contrôle de flux… Différence majeure : environnements différents Établissements de connexion plus complexes au niveau Transport : plusieurs connexions peuvent être établies en même temps Taille des tampons plus difficile à prévoir Paquets pouvant être stockés pour une durée inconnue Fonctions de la couche Transport: Les entités communicantes ne sont plus des stations mais des processus Adressage : fournir un point daccès à lapplication Établissement/fermeture de connexion Segmentation : découpage du message en paquets Contrôle de flux et gestion des tampons Multiplexage et démultiplexage des flux de données Récupération derreurs lorsque le réseau sous-jacent nest pas fiable 4

5 Qualité de service (QoS) La couche Transport optimise lutilisation 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 lensemble des paramètres (délai de transit, débit, etc.) caractérisant les besoins des entités applicatives. La valeur des paramètres peut être négociée lors de la phase détablissement de la connexion, en fonction : des caractéristiques des réseaux sous-jacents des demandes des entités supérieures locales et distantes des mécanismes protocolaires disponibles 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. 5

6 Qualité de service : Paramètres Temps détablissement dune connexion Durée sécoulant entre linstant où la demande est émise par lutilisateur de celui où la confirmation est reçue. Probabilité déchec détablissement Probabilité que la connexion ne puisse sétablir dans un délai maximum défini. Débit de la connexion Mesure du nombre doctets utiles pouvant être transférés en une seconde sur la liaison. Le débit est mesuré séparément dans les deux sens. Temps de transit Temps sécoulant entre linstant où un message est émis et linstant où il est reçu par lentité de transport du destinataire. Taux derreur résiduel Quotient entre le nombre de messages perdus ou mal transmis et le nombre total de messages émis au cours dune période de temps. 6

7 Probabilité dincident de transfert Fraction de temps durant laquelle la qualité de service na pas été respectée. Temps de déconnexion Durée sécoulant entre la demande de déconnexion émise par un utilisateur et la déconnexion effective de lusager distant. Probabilité déchec de déconnexion Taux de demandes de déconnexion non exécutées pendant le temps maximum qui était défini. Protection Possibilité de résister aux intrusions dun tiers sur la connexion. Priorité Permet aux utilisateurs de privilégier certaines connexions. Résiliation Liberté laissée à la couche transport de fermer une connexion suite à un engorgement ou à des problèmes internes. Un contrat est ainsi déterminé entre les entités supérieures ayant demandé létablissement de la connexion et la couche Transport. 7

8 Qualité de service : mécanisme À louverture de la connexion deux valeurs de chacun des paramètres sont transmises à lentité transport : La valeur souhaitée La valeur minimum acceptée Lentité de transport locale regarde si elle peut au moins satisfaire les valeurs minimales demandées. si oui elle transmet à lentité distante les valeurs définissant la QoS quelle peut satisfaire. si non elle retourne une erreur à la couche réseau. Lentité de transport distante opère de la même façon sur les valeurs reçues. Si une ou plusieurs valeurs ne peuvent être garanties la demande est rejetée. Si non la demande est acceptée et lutilisateur reçoit les valeurs accordées. 8

9 On classe généralement les protocoles en deux catégories selon le niveau de contrôle des données que l'on désire: Les protocoles orientés connexion : Il s'agit des protocoles opérant un contrôle de transmission des données pendant une communication établie entre deux machines. Dans un tel schéma, la machine réceptrice envoie des accusés de réception lors de la communication, la machine émettrice est garante de la validité des données qu'elle envoie. Les données sont ainsi envoyées sous forme de flot. TCP est un protocole orienté connexion Les protocoles non orientés connexion : Il s'agit d'un mode de communication dans lequel la machine émettrice envoie des données sans prévenir la machine réceptrice, la machine réceptrice reçoit les données sans envoyer d'avis de réception à la première. Les données sont ainsi envoyées sous forme de blocs (datagrammes). UDP est un protocole non orienté connexion 9

10 Protocoles de Transport dans Internet 2 protocoles de Transport principaux : TCP (Transmission Control Protocol) fournissant : Un service fiable de bout en bout sur un réseau non fiable Un service orienté connexion Une adaptation dynamique aux caractéristiques de trafic du réseau et une tolérance aux pannes UDP (User Datagram Protocol) fournissant : un service sans connexion : pas de services supplémentaires fournis par rapport à ceux fournis par la couche Réseau en fait, simple en-tête ajouté aux paquets IP 10

11 Désignation : les portes (1) Problèmes communs à UDP et TCP : IP transporte des messages entre des machines et donc identifie des machines hôtes. UDP comme TCP veulent permettre à des processus sexécutant sur des machines pouvant être différentes de communiquer. Puisque les processus sont en général créés et détruits dynamiquement (De nombreux programmes TCP/IP peuvent être exécutés simultanément sur Internet) les noms de processus ne peuvent être utilisés pour les désigner. Utilisation d un objet « intermédiaire » -> PORTE Les portes : Ce sont des boites aux lettres désignées sur la machine à laquelle elles appartiennent par un entier sur 16 bits. Sur le réseau lidentification dun processus dune machine se fera par le triplet : (adresse IP de la machine, protocole id, numéro de porte). La combinaison adresse IP + port est alors une adresse unique au monde, elle est appelée socket. Ladresse IP sert donc à identifier de façon unique un ordinateur sur le réseau tandis que le numéro de port indique l'application à laquelle les données sont destinées. De cette manière, lorsque l'ordinateur reçoit des informations destinées à un port, les données sont envoyées vers l'application correspondante. 11

12 Désignation : les portes (2) S'il s'agit d'une requête à destination de l'application, l'application est appelée application serveur. S'il s'agit d'une réponse, on parle alors d'application cliente. Il existe des milliers de ports (ceux-ci sont codés sur 16 bits, il y a donc possibilités), c'est pourquoi une assignation standard a été mise au point, afin d'aider à la configuration des réseaux. Les ports 0 à 1023 sont les ports pré-définis (Well Known Ports). Ils sont assignés par le IANA (Internet Assigned Numbers Authority) et sont sur beaucoup de systèmes uniquement utilisables par les processus système ou les programmes exécutés par des utilisateurs privilégiés. Les ports >1024 sont les ports dynamiques ou privés. les ports d'un serveur sont généralement compris entre 0 et 1023 (fourchette de valeurs associées à des services connus). Du côté du client, le port est choisi aléatoirement parmi ceux disponibles par le système d'exploitation. Ainsi, les ports du client ne seront jamais compris entre 0 et 1023 car cet intervalle de valeurs représente les ports pré- définis. 12

13 Désignation : les portes (3) Voici certaines de ces assignations par défaut: Port Service ou Application 7Echo Ping dune station (permet de tester la présence dune station sur le réseau) 21 FTP File Transfer Protocol 23 Telnet Connexion à distance 25 SMTP service de courier electronique 53 Domain Domain Name Server 80 HTTP Hyper Text Transfert Protocol Les sockets Un socket est la concaténation de ladresse IP de la machine et du numéro de Porte(port) sur lequel est connectée lapplication qui envoie ou reçoit des données. Ce mécanisme permet didentifier de manière unique une application résidant dans une machine sur le réseau. Cela permet ainsi à deux applications de communiquer entre elles, que ces applications résident sur la même machine ou quelles résident sur des machines différentes. Afin déviter tout problème de redirection de messages, les protocoles tels que UDP ou TCP incluent le numéro de port dans leur datagramme (incluent le numéro de socket dans le calcul du champ correcteur derreur de façon à assurer que le datagramme est envoyé au bon serveur et ne risque pas dêtre accepté par la couche application sur un serveur erroné ) 13

14 client/serveur De nombreuses applications fonctionnent selon un environnement client/serveur, cela signifie que des machines clientes (des machines faisant partie du réseau) contactent un serveur, une machine généralement très puissante en terme de capacités d'entrée-sortie, qui leur fournit des services. Ces services sont des programmes fournissant des données telles que l'heure, des fichiers, une connexion, etc. Les services sont exploités par des programmes, appelés programmes clients, s'exécutant sur les machines clientes. On parle de client lorsque l'on désigne un programme, tournant sur une machine cliente, capable de traiter des informations qu'il récupère auprès du serveur (dans le cas du client FTP il s'agit de fichiers, tandis que pour le client messagerie il s'agit de courrier électronique). Un serveur est un ordinateur que l'on contacte et qui propose des services tels que : Serveur d'horodatage : fournit lheure, permet la synchronisation des clients. Serveurs de noms (DNS) pour la transformation adresse IP en nom. Serveur de courrier électronique (SMTP). Remote login : pour la connexion à distance. Serveur de fichier. gopher, www, wais : les serveurs dinformations. Echo ICMP : la gestion des erreurs. 14

15 Le protocole UDP. RFC 768. août

16 Le protocole UDP User Datagram Protocol (champ protocole du datagramme IP = 17) protocole de transport le plus simple service de type best-effort (comme IP) les segments UDP peuvent être perdus les segments UDP peuvent arriver dans le désordre mode non connecté : chaque segment UDP est traité indépendamment des autres La qualité de service fournie est celle dIP : Pas dordre Pas de reprises en cas derreur Si le message ne parvient pas on nest pas averti Pourquoi un service non fiable sans connexion ? simple donc rapide (pas de délai de connexion, pas d'état entre émetteur/récepteur) petit en-tête donc économie de bande passante sans contrôle de congestion donc UDP peut émettre aussi rapidement qu'il le souhaite Souvent utilisé pour les applications multimédias tolérantes aux pertes sensibles au débit applications qui envoient peu de données et qui ne nécessitent pas un service fiable exemples : DNS(53), TFTP(69), BOOTP/DHCP(67-68) 16

17 Le datagramme UDP Le port source : il s'agit du numéro de port correspondant à l'application émettrice du segment UDP. Ce champ représente une adresse de réponse pour le destinataire. Ainsi, ce champ est optionnel, cela signifie que si l'on ne précise pas le port source, les 16 bits de ce champ seront mis à zéro, auquel cas le destinataire ne pourra pas répondre (cela n'est pas forcément nécessaire, notamment pour des messages unidirectionnels). Le port destination : Ce champ contient le port correspondant à l'application de la machine destinataire à laquelle on s'adresse. La longueur : taille de len-tête et des données exprimée en octets ( 8 au minimum) taille maximale = 64 Koctets ( Données de longueur variable ) Checksum (facultatif) : Il s'agit d'une somme de contrôle (checksum) réalisée de telle façon à pouvoir contrôler l'intégrité du segment. 17

18 18

19 Déroulement des communications UDP/IP 19

20 20

21 21

22 Le protocoleTCP Rfc 793 Septembre

23 Le protocole TCP- Fonctionnalités TCP ne tourne pas sur les routeurs : uniquement aux extrémités (PC, imprimantes,...) Assure le transport : de bout en bout entre applications en mode connecté : ouverture...fermeture (circuit virtuel) sans erreur : contrôle et retransmission si nécessaire sans perte : numérotation et retransmission ordonné : bon séquencement système dacquittement avec contrôle de flux (fenêtre démission) full duplex indication du service par numéro de port Données venant des couches supérieures : suite doctets Découpe cette suite doctets en segments Un segment TCP est contenu dans un datagramme IP: champ protocole du datagramme IP = 6 Des segments sont échangés pour : ouvrir les connexions transférer des données envoyer des ACK : gérer le contrôle de flux fermer les connexions 23

24 Le segment TCP dépend de la capacité de stockage du récepteur permet le contrôle de flux 24

25 Port source : identifie lapplication émettrice du segment TCP Port destination : identifie lapplication destinataire du segment TCP Numéro de séquence NS (émission) comptabilise les octets depuis le début de la connexion ISN : numéro de séquence initial, valeur « aléatoire » acquittée lors de l'établissement de la connexion le numéro de séquence du premier octet transmis est ISN+1 puis NS=ISN+nb_octets_transmis+1 Numéro de séquence NR (réception): le récepteur renvoie le numéro du prochain octet attendu soit NS_reçu+taille_données_reçues Les 6 indicateurs URG : valide le champ « Pointeur sur données urgentes » ACK : valide le champ NR: numéro de séquence acquitté. PSH : PUSH indique au récepteur de délivrer immédiatement les données en attente sur le récepteur (TCP peut attendre d'avoir suffisamment de données avant de constituer un segment: efficacité du protocole) RST : demande au destinataire de réinitialiser la connexion (suite à la détection dune anomalie grave sur le réseau) ou rejet d'une demande de connexion SYN : demande de connexion (échange et acquittement des ISN) FIN : demande de déconnexion (le destinataire n'est pas obligé de s'exécuter : fermeture négociée) 25

26 Une connexion TCP Connexion (généralement) initialisée par le client Numéro de port client choisi dynamiquement Numéro de port serveur : défini par des standards 26

27 Le bit PUSH Pour optimiser la transmission, par défaut TCP attend que le tampon d'émission soit plein pour constituer un segment (groupage de messages) Le bit PUSH sert à demander la transmission et réception immédiate 27

28 Le contrôle d'erreur dans UDP et TCP Deux objectifs vérifier que les données transmises n'ont pas été altérées garantir que les données sont transmises au bon destinataire --> rajout d'un pseudo en-tête IP pour le calcul du checksum (qui est non transmis) Exemple de calcul de checksum Calcul du checksum par additions des mots de 16 bits complémentées à 1 Exemple : checksum sur 3 mots de 16 bits Somme des deux premiers mots Addition du troisième mot Complément à (= le champ checksum) Si pas d'erreur, la somme de tous les mots de 16 bits reçus doit faire

29 Le protocole TCP – Acquittement Le mécanisme dacquittement de TCP est cumulatif : indique le numéro de séquence du prochain octet attendu les octets précédents (cumulés) sont implicitement acquittés Si un segment a un numéro de séquence supérieur au numéro de séquence attendu : Celui ci est conservé lacquittement référence toujours le numéro de séquence attendu. Pour tout segment émis : un temporisateur est armé et un acquittement est attendu si le segment nest pas acquitté : considéré comme perdu après expiration du temporisateur TCP le retransmet Risque que les temporisateurs des segments suivants expirent avant que le destinataire ne puisse les acquitter Le choix de la valeur du temporisateur est donc critique pour lefficacité du protocole 29

30 30

31 Le protocole TCP - Contrôle de flux Au récepteur : Nombre d'octets pouvant être stockés par le récepteur. Contrôlé par la largeur de la fenêtre (window size) : nombre maximum d'octets pouvant être émis sans acquittement par l'émetteur. Espace de stockage du récepteur presque plein diminution de la largeur de la fenêtre ( 0), Espace de stockage du récepteur presque vide augmentation de la largeur de la fenêtre. 31

32 Etablissement d'une connexion TCP Connexion en trois phases 1 - demande d'ouverture par le client (SYN), choix ISNc 2 - acceptation par le serveur (SYN+ACK), allocation des tampons, choix ISNs 3 - le client acquitte l'acceptation (ACK) Modes d'ouverture ouverture passive : le serveur est en attente de demande de connexion ouverture active : TCP adresse une demande de connexion à une entité identifiée 32

33 Fermeture d'une connexion TCP Fermeture négociée 1 - demande de fin de connexion (FIN) par une des extrémités 2 - acquittement du FIN (ACK) mais mise en attente de la demande (B a encore des données non transmises) 3 - B envoie ses données en attente 4 - A acquitte les données (ACK) 5 - acceptation de la fin de connexion par B (FIN) 6 - acquittement de la fin de connexion (ACK) 33

34 Fermeture d'une connexion TCP 34

35 Taille des segments TCP Souplesse de TCP : l'application lit/écrit dans un tampon TCP décide quand envoyer/restituer un segment (si PSH n'est pas positionné) Idée : TCP a intérêt d'envoyer des segments de taille maximale (limitation de l'overhead lié à la taille de l'en-tête) fragmentation IP coûteuse --> éviter la fragmentation la taille max. d'un segment TCP est de 64Ko (à cause d'IP) MSS : Maximum Segment Size (sans en-tête) à l'ouverture de la connexion, chaque entité peut annoncer (option TCP) son MSS à l'autre, en fonction de la MTU de son réseau (MSS=MTU-40) (20,IP,20,TCP) par défaut, MSS=536 octets 35

36 Politique de retransmissions Les pertes de segment sont détectées par absence d'ack positif à expiration d'un temporisateur sur l'émetteur 1 tempo. par seg. Toutes les données reçues hors séquence sont mémorisées par le destinataire 36


Télécharger ppt "Chapitre X TCP/IP Les protocoles de l'architecture Internet (2ème partie) 1."

Présentations similaires


Annonces Google