Couche Transport TCP et UDP



Documents pareils
UDP/TCP - Protocoles transport

Le protocole TCP. Services de TCP

Introduction. Adresses

Systèmes et Réseaux (ASR 2) - Notes de cours Cours 14

II/ Le modèle OSI II.1/ Présentation du modèle OSI(Open Systems Interconnection)

Architecture TCP/IP. Protocole d application. client x. serveur y. Protocole TCP TCP. TCP routeur. Protocole IP IP. Protocole IP IP.

Introduction aux Technologies de l Internet

Couche application. La couche application est la plus élevée du modèle de référence.

Présentation du modèle OSI(Open Systems Interconnection)

DHCP et NAT. Cyril Rabat Master 2 ASR - Info Architecture des réseaux d entreprise

2. DIFFÉRENTS TYPES DE RÉSEAUX

Réseaux Locaux. Objectif du module. Plan du Cours #3. Réseaux Informatiques. Acquérir un... Réseaux Informatiques. Savoir.

Rappels réseaux TCP/IP

Chapitre I. La couche réseau. 1. Couche réseau 1. Historique de l Internet

Devoir Surveillé de Sécurité des Réseaux

Protocoles IP (2/2) M. Berthet. Les illustrations sont tirées de l ouvrage de Guy Pujolle, Cours réseaux et Télécom Contributions : S Lohier

Cours de sécurité. Pare-feux ( Firewalls ) Gérard Florin -CNAM - - Laboratoire CEDRIC -

Services Réseaux - Couche Application. TODARO Cédric

Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley, July ENPC.

Ch2 La modélisation théorique du réseau : OSI Dernière maj : jeudi 12 juillet 2007

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

Chapitre : Les Protocoles

Réseaux grande distance

L3 informatique Réseaux : Configuration d une interface réseau

18 TCP Les protocoles de domaines d applications

Dynamic Host Configuration Protocol

Programmation Réseau. ! UFR Informatique ! Jean-Baptiste.Yunes@univ-paris-diderot.fr

Algorithmique des Systèmes Répartis Protocoles de Communications

Sécuriser son réseau. Sécuriser son réseau Philippe Weill (IPSL/LATMOS) Frédéric Bongat (SSI/GOUV/FR)

La couche réseau Le protocole X.25

Plan. Programmation Internet Cours 3. Organismes de standardisation

Internet Protocol. «La couche IP du réseau Internet»

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Internet - Outils. Nicolas Delestre. À partir des cours Outils réseaux de Paul Tavernier et Nicolas Prunier

Rappel: Le routage dans Internet. Contraintes. Environnement et contraintes. La décision dans IP du routage: - Table de routage:

Réseaux et protocoles Damien Nouvel

Culture informatique. Cours n 9 : Les réseaux informatiques (suite)

Cisco Certified Network Associate

Le Multicast. A Guyancourt le

Intérêt du NAT (Network Address Translation) Administration Réseau Niveau routage. Exemple d Intranet. Principe NAT

Mr. B. Benaissa. Centre universitaire Nâama LOGO

Les Réseaux Informatiques

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Master e-secure. VoIP. RTP et RTCP

Plan. École Supérieure d Économie Électronique. Plan. Chap 9: Composants et systèmes de sécurité. Rhouma Rhouma. 21 Juillet 2014

Réseaux IUP2 / 2005 IPv6

Configuration automatique

Niveau Transport "Transport Layer" I) Problèmes et solutions au niveau transport II) Exemple des protocoles et services de transport dans l INTERNET

Les clés d un réseau privé virtuel (VPN) fonctionnel

Liste des ports. 1 sur 6

Année Universitaire session 1 d automne Parcours : CSB5 Licence 3 STS Informatique

DIFF AVANCÉE. Samy.

Réseaux Internet & Services

Réseaux - Cours 3. BOOTP et DHCP : Amorçage et configuration automatique. Cyril Pain-Barre. IUT Informatique Aix-en-Provence

Le protocole ARP (Address Resolution Protocol) Résolution d adresses et autoconfiguration. Les protocoles ARP, RARP, TFTP, BOOTP, DHCP

La supervision des services dans le réseau RENATER

Packet Tracer : configuration des listes de contrôle d'accès étendues, scénario 1

Installation et configuration d un serveur DHCP (Windows server 2008 R2)

Sécurité des réseaux Firewalls

Algorithmique et langages du Web

La collecte d informations

RESEAUX TCP/IP: NOTIONS AVANCEES. Preparé par Alberto EscuderoPascual

Voix et Téléphonie sur IP : Architectures et plateformes

Introduction à l'analyse réseau Philippe Latu philippe.latu(at)linux-france.org

U.E. ARES - TD+TME n 1

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

Services OSI. if G.Beuchot. Services Application Services Présentation - Session Services Transport - Réseaux - Liaison de Données - Physique

Technologies de l Internet

TABLE DES MATIERES. I. Objectifs page 2. II. Types de réseaux page 2. III. Transmission page 2. IV. Câbles page 3. V.

RTP et RTCP. EFORT

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Figure 1a. Réseau intranet avec pare feu et NAT.

SSH, le shell sécurisé

DIGITAL NETWORK. Le Idle Host Scan

Réseaux. 1 Généralités. E. Jeandel

TR2 : Technologies de l'internet. Chapitre VII. Serveur DHCP Bootp Protocole, Bail Relais DHCP

GENERALITES. COURS TCP/IP Niveau 1

Chapitre 11 : Le Multicast sur IP

Les Réseaux. les protocoles TCP/IP

Capture, Filtrage et Analyse de trames ETHERNET avec le logiciel Wireshark. Etape 1 : Lancement des machines virtuelles VMWARE et de Wireshark

Plan du Travail. 2014/2015 Cours TIC - 1ère année MI 30

N o t i o n s d e b a s e s u r l e s r é s e a u x C h a p i t r e 2

NOTIONS DE RESEAUX INFORMATIQUES

Cisco Discovery - DRSEnt Module 7

20/09/11. Réseaux et Protocoles. L3 Informatique UdS. L3 Réseaux et Protocoles. Objectifs du cours. Bibliographie

Tunnels et VPN. 22/01/2009 Formation Permanente Paris6 86

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

Travaux pratiques : collecte et analyse de données NetFlow

Principes de DHCP. Le mécanisme de délivrance d'une adresse IP à un client DHCP s'effectue en 4 étapes : COMMUTATEUR 1. DHCP DISCOVER 2.

Firewall. Souvent les routeurs incluent une fonction firewall qui permet une première sécurité pour le réseau.

Outils d'analyse de la sécurité des réseaux. HADJALI Anis VESA Vlad

Master 1 ère année. UE Réseaux Avancés I. Corrections décembre Durée : 2h Documents autorisés

Chapitre 1: Introduction générale

TR2 : Technologies de l'internet. Chapitre VI. NAT statique et dynamique Overloading (PAT) Overlapping, port Forwarding Serveur Proxy, DMZ

Cours CCNA 1. Exercices

Introduction aux réseaux

Catalogue & Programme des formations 2015

Présentation et portée du cours : CCNA Exploration v4.0

Groupe Eyrolles, 2000, 2004, ISBN :

Protocoles réseaux. Abréviation de Binary Digit. C'est la plus petite unité d'information (0, 1).

Transcription:

Partie 7: Couche Transport TCP et UDP Ahmed Mehaoua - 1 Le Modèle OSI Application Présentation Session Transport Réseau Liaison Physique Application Présentation Session Transport Réseau Liaison Physique Mode de transport des données Ahmed Mehaoua - 2 1

Problématique? UDP Ahmed Mehaoua - 3 Services offerts par la couche Transport Créer des connexions logiques entre applications s exécutant sur des hôtes distants Fragmentation et réassemblage des messages Unité de données de protocole (PDU) appelé segment (TCP) ou datagramme (UDP) Protocoles de la couche Transport s exécutent uniquement aux extrémités. Transport Ahmed Mehaoua - 4 2

Services offerts par la couche Transport Multiplexage des données issues de différentes applications sur une connexion de niveau réseau avec démultiplexage au moyen de paramètres dans l en-tête des segments (n de ports) Service Transport VS Service Réseau Couche réseau: transfert de données entre machines Couche transport : transfert de données entre processus applicatifs (Pi) receiver P3 application-layer P4 M1 M2 data segment header segment packet Ht M Hn segment P1 M1 application transport network application transport network M2 P2 application transport network network network UDP Ahmed Mehaoua - 5 Internet - Couche Transport - 1. Mode connecté : TCP (Transport Control Protocol) Transport fiable Phase de connexion / de transfert des données / déconnexion Contrôle de flux Contrôle des erreurs + acquittements + retransmission Garantie du séquencement Segmentation des messages Usage : Applications critiques 2. Mode non connecté : UDP (User Datagram Protocol) Transport non fiable Overhead réduit par rapport à TCP (8 octets / 20 octets) Envoi direct des informations Support du multi-point Pas de garantie de séquencement Contrôle des erreurs Usage : Applications multimédias UDP Ahmed Mehaoua - 6 3

Architecture d un d terminal IP Système d exploitation Ahmed Mehaoua - 7 UDP / TCP - Identification des services - les adresses IP désignent les machines entre lesquelles les communications sont établies. Lorsqu'un processus désire d entrer en communication avec un autre processus, il doit adresser le processus s'exécutant sur cette machine. L'adressage de ce processus est effectué selon un concept abstrait, les ports,, indépendant du système d'exploitation des machines car : les processus sont créé éés s et détruits d dynamiquement sur les machines, L'émission d'un message se fait sur la base d'un port source et d un d port destinataire. Les processus disposent d'une interface système leur permettant de spécifier un port ou d'y accéder (socket( socket). Les accès s aux ports sont généralement g synchrones, les opérations sur les ports sont tamponnés s (files( d'attente). Ports Ahmed Mehaoua - 8 4

Communication client/serveur Processus Application www.yahoo.fr DNS Ports UDP TCP Fragmentation Contrôle d'erreurs Contrôle de flux Séquencement Multiplexage 128.45.3.234 ARP Adresse IP Adressage Routage C3:6D:43:80:FE:21 Adresse Ethernet Contrôle d'accès Délimitation trame Ahmed Mehaoua 1999 - page 9 Ahmed Mehaoua - 9 UDP / TCP les ports Ports Ahmed Mehaoua - 10 5

UDP / TCP: les ports RFC 1700 Well-known ports Ahmed Mehaoua - 11 UDP : les ports standards Certains ports sont réservés (well-kown port assignements) : No port Mot-clé Description 7 ECHO Echo 11 USERS Active Users 13 DAYTIME Daytime 37 TIME Time 42 NAMESERVER Host Name Server 53 DOMAIN Domain Name Server 67 BOOTPS Boot protocol server 68 BOOTPC Boot protocol client 69 TFTP Trivial File transfert protocol 123 NTP Network Time Protocol 161 SNMP Simple Network Management prot. D'autres numéros de port (non réservés) peuvent être assignés dynamiquement aux applications. Notion de multiplexage Ahmed Mehaoua - 12 6

TCP : ports standards No port Mot-cl clé Description 20 FTP-DATA 21 FTP 23 TELNET 25 SMTP 37 TIME 42 NAMESERVER 43 NICNAME 53 DOMAIN 79 FINGER 80 HTTP 110 POP3 111 SUNRPC File Transfer [Default Data] File Transfer [Control] Telnet Simple Mail Transfer Time Host Name Server Who Is Domain Name Server Finger WWW Post Office Protocol - Version 3 SUN Remote Procedure Call Ahmed Mehaoua - 13 UDP : User Datagram Protocol UDP Ahmed Mehaoua - 14 7

UDP : format du datagramme Les messages UDP sont appelés datagrammes UDP. IP Taille (en-tête inclus) en octets Contrôle des erreurs (optionnel) vaut zéro z si non utilisé Taille maximale = 65536 octets Datagramme UDP Ahmed Mehaoua - 15 UDP : Multiplexage UDP multiplexe et démultiplexe les datagrammes en sélectionnant les numéros de ports : Le Port source indique la session créatrice du paquet (une application obtient un numéro de port de la machine locale; dès lors que l'application émet un message via ce port le champ PORT SOURCE du datagramme UDP contient ce numéro de port), une application connaît (ou obtient) un numéro de Port distant afin de communiquer avec le service désiré. Lorsque UDP reçoit un datagramme, il vérifie que celui-ci est un des ports actuellement actifs (associé à une application) et le délivre à l'application responsable (mise en queue) si ce n'est pas le cas, il émet un message ICMP port unreachable, et détruit le datagramme. Inconvénients de TCP Ahmed Mehaoua - 16 8

Inconvénients nients de UDP Manque de fiabilité (pas nécessaire pour les applications de vidéo diffusion ou de VoIP) Aucune gestion de la congestion (les routeurs sont la seul solution pour réduire cet effet) UDP représente un pourcentage très réduit du trafic qui traverse le réseau Quelques applications utilisant UDP: DNS, SNMP, DHCP et RIP. TCP Ahmed Mehaoua - 17 Transmission Control Protocol TCP Ahmed Mehaoua - 18 9

Transmission Control Protocol TCP Ahmed Mehaoua - 19 Transmission Control Protocol TCP Ahmed Mehaoua - 20 10

TCP: Fragmentation & Encapsulation Ethernet Frame Application Message Ethernet IP Packet IP hdr TCP Segment 20 bytes TCP hdr 20 bytes IP data Ethernet data MSS : maximum segment size MSS TCP data 14 bytes MTU 1500 bytes 4 bytes TCP segmentation Ahmed Mehaoua - 21 TCP : construction du segment segment TCP Ahmed Mehaoua - 22 11

TCP : format du segment segment TCP Ahmed Mehaoua - 23 TCP : format du segment (suite) Numéro de séquences : indique le numéro de séquence s du premier octet (NS) de ce segment. Généralement à la suite d octets d O1, O2,..., On (représentant les données du message à envoyer) est associée e la suite de numéro de séquence s NS, NS+1,..., NS+n. Il existe deux exceptions à cette règle r : lorsque le bit SYN (voir CODE BITS) est positionné,, le NS représente cette donnée e de contrôle et par conséquent la suite NS, NS+1, NS+2,..., NS+n+1, associe la suite de données SYN, O1, O2,..., On. lorsque le bit FIN (voir CODE BITS) est positionné,, le NS+n représente cette donnée e de contrôle et par conséquent la suite NS, NS+1, NS+2,..., NS+n, associe la suite de données O1, O2,..., On, FIN. Numéro d acquittementd : le prochain numéro de séquence s NS attendu par l émetteur de cet acquittement. Acquitte implicitement les octets NS-1, N NS-2, etc. Fenêtre: : la quantité de données que l él émetteur de ce segment est capable de recevoir; ceci est mentionné dans chaque segment (données ou acquittement). Format du segment TCP (suite) Ahmed Mehaoua - 24 12

TCP : Format du segment CODE BITS : indique la nature du segment : URG : le pointeur de données urgentes est valide (exemple : interrupt en remote login), les données sont émises sans délai, d les données reçues sont remises sans délai. d SYN : utilisé à l initialisation de la connexion pour indiquer oùo la numérotation séquentielle commence. SYN occupe lui-même un numéro de séquence s bien que ne figurant pas dans le champ de données. Le Numéro de séquence s inscrit dans le datagramme (correspondant à SYN) est alors un Initial Sequence Number (ISN) produit par un générateur g garantissant l unicitl unicité de l ISN sur le réseau r (indispensable pour identifier les duplications). FIN : utilisé lors de la libération de la connexion; PSH : fonction «push». Normalement, en émission, TCP reçoit les données depuis l Application, l les transforme en segments à sa guise puis transfère re les segments sur le réseau; r un récepteur r TCP décodant d le bit PSH, transmet à l application réceptrice, r les données correspondantes sans attendre plus de données de l él émetteur. Exemple : émulation terminal, pour envoyer chaque caractère re entré au clavier (mode caractère re asynchrone). RST : utilisé par une extrémit mité pour indiquer à l autre extrémit mité qu elle doit réinitialiser la connexion. Ceci est utilisé lorsque les extrémit mités s sont désynchronisées. Format du segment TCP (suite) Ahmed Mehaoua - 25 TCP format du segment CHECKSUM : calcul du champ de contrôle (CRC: Code cyclique de vérification) et s'applique à la totalité du segment obtenu (Entête et données) Champ OPTIONS Permet de négocier n la taille maximale des segments échangés. Cette option n'est présente que dans les segments d'initialisation de connexion (avec bit SYN). TCP calcule une taille maximale de segment de manière à ce que le datagramme IP résultant r corresponde au MTU du réseau. r La recommandation est de 536 octets. La taille optimale du segment correspond au cas oùo le datagramme IP n est pas fragmenté mais : il n existe n pas de mécanisme m pour connaître le MTU, le routage peut entraîner ner des variations de MTU, la taille optimale dépend d de la taille des en-têtes (options). Acquittement dans TCP Ahmed Mehaoua - 26 13

TCP : La connexion une connexion de type circuit virtuel est établie avant que les données ne soient échangées : appel + négociation + transferts Une connexion = une paire d'extrémités de connexion Une extrémité de connexion = couple (adresse IP, port) Exemple de connexion : ((124.32.12.1, 1034), (19.24.67.2, 21)) Une extrémité de connexion (Serveur) peut être partagée par plusieurs autres extrémités de connexions (Clients) : multi-instanciation La mise en oeuvre de la connexion se fait en deux étapes : une application (extrémité) effectue une ouverture passive en indiquant qu'elle accepte une connexion entrante, une autre application (extrémité) effectue une ouverture active pour demander l'établissement de la connexion. TCP connexion Ahmed Mehaoua - 27 TCP : ouverture connexion TCP opening Ahmed Mehaoua - 28 14

TCP : fermeture connexion TCP closing Ahmed Mehaoua - 29 TCP : n n de séq.. & Acquittement TCP acquittement Ahmed Mehaoua - 30 15

TCP : ACKs cumulés A B A B ACK cumulés ACK cumulés ACK retardés TCP acquittement Ahmed Mehaoua - 31 TCP : problèmes avec ACKs TCP acquittement Ahmed Mehaoua - 32 16

TCP : envoi des ACK TCP acquittement Ahmed Mehaoua - 33 TCP : retransmission Acquittements et retransmissions Le mécanisme d acquittement de TCP est cumulatif : il indique le numéro de séquence du prochain octet attendu : tous 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 (bien que dans la fenêtre), le segment est conservé mais l acquittement référence toujours le numéro du séquence attendu. Pour tout segment émis, TCP s attend à recevoir un acquittement : Si le segment n est pas acquitté, le segment est considéré comme perdu et TCP le retransmet. Or un réseau d interconnexion offre des temps de transit variables nécessitant le réglage des temporisations; TCP gère des temporisations variables pour chaque connexion en utilisant un algorithme de retransmission adaptative, Acquittement dans TCP (suite) Ahmed Mehaoua - 34 17

TCP : Retransmissions Algorithme de retransmission adaptative 1. enregistre la date d éd émission d un segment, 2. enregistre la date de réceptionr de l acquittement l correspondant, 3. calcule l él échantillon de temps de boucle A/R écoulé (New_RTT), 4. détermine le temps de boucle moyen RTT (Round Trip Time) : RTT = (a * old_rtt) ) + ((1-a) * New_RTT)) avec 0<= a < 1 a proche de 1 : RTT insensible aux variations brèves, a proche de 0 : RTT très s sensible aux variations rapides, 5. calcule la valeur du temporisateur en fonction de RTT. Les premières res implémentations mentations de TCP ont choisi un coefficient constant B pour déterminer d cette valeur : Temporisation = B * RTT avec B >1 (généralement B=2). Aujourd hui de nouvelles techniques sont appliquées pour affiner la mesure du RTT : l algorithme l de Karn. Gestion de la congestion Ahmed Mehaoua - 35 TCP : Contrôle de flux par fenêtrage La technique acquittement simple pénalise les performances puisqu'il faut attendre un acquittement avant d'émettre un nouveau message. Le fenêtrage améliore le rendement des réseaux. La technique du fenêtrage : une fenêtre de taille T, permet l'émission d'au plus T messages "non acquittés" avant de ne plus pouvoir émettre : fenêtrage glissante permettant d'optimiser la bande passante permet également au destinataire de faire diminuer le débit de l'émetteur donc de gérer le contrôle de flux. Fenêtrage: suite Ahmed Mehaoua - 36 18

TCP : Contrôle de flux par fenêtrage (2) Le mécanisme de fenêtrage mis en oeuvre dans TCP opère au niveau de l'octet et non pas au niveau du segment; il repose sur : la numérotation séquentielle des octets de données à envoyer, la gestion de trois pointeurs par fenêtrage : 1 2 3 4 5 6 7 8 9 10 11... Octets émis et acquittés Octets émis et non acquittés Octets émissibles Octets non émissibles tout de suite. 3 pointeurs Format du segment TCP Ahmed Mehaoua - 37 TCP : Contrôle de flux - Sender Side Packet Sent Source Source Port Port Dest. Dest.. Port Port Sequence Number Acknowledgment HL/Flags Window D. D. Checksum Urgent Urgent Pointer Pointer Options.. Packet Received Source Source Port Port Dest. Dest.. Port Port Sequence Number Acknowledgment HL/Flags Window D. D. Checksum Urgent Urgent Pointer Pointer Options.. App write Sent & acknowledged Sent & not acked to be sent outside window Ahmed Mehaoua - 38 19

TCP : Contrôle des congestions TCP gère g : le contrôle de flux de bout en bout (saturation des tampons des terminaux récepteursr cepteurs) ) par une fenêtre de transmission; mais également les problèmes de congestion des tampons des routeurs au moyen d une d fenêtre de congestion. Le contrôle de congestion est basée e sur 3 mécanismes m : Le Slow Start (SS) Le Congestion Avoidance (CA) Le Multiplicative Decrease (MD) Utilise 3 variables : Une fenêtre de congestion : cnwnd Un temporisateur fonction du RTT (délai aller-retour) retour) Un seuil : ssthresh Gestion de la congestion Ahmed Mehaoua - 39 Slow Start Start with cwnd = 1 (slow start) sender On each successful ACK increment cwnd cwnd 1 cwnd cnwd + 1 Exponential growth of cwnd 1 RTT each RTT: cwnd 2 x cwnd 2 Enter Congestion Avoidance when cwnd >= ssthresh 34 data packet ACK receiver 5 67 8 cwnd cwnd + 1 (for each ACK) Ahmed Mehaoua - 40 20

Congestion Avoidance Starts when cwnd ssthresh On each successful ACK: cwnd cwnd + 1/cwnd sender cwnd 1 data packet receiver 2 ACK 1 RTT 3 4 cwnd cwnd + 1 (for each group of ACKs per cwnd) Ahmed Mehaoua - 41 Multiplicative Decrease On each packet drop decrease cwnd: cwnd Win / 2 cwnd cwnd Win Slow Start Congestion Avoidance 4 Win /2 2 1 RTT W W+1 RTT Time Ahmed Mehaoua - 42 21

TCP summary ssthresh cwnd/2 window Slow Start SS: Slow Start CA: Congestion Avoidance MD : Multiplicative Decrease Timeout SS Congestion Avoidance Initially: cwnd = 1; ssthresh = infinite; New ack received: if (cwnd( < ssthresh) /* Slow Start*/ cwnd = cwnd + 1; else /* Congestion Avoidance */ cwnd = cwnd + 1/cwnd; Timeout: (loss detection) /* Multiplicative decrease */ ssthresh = window/2; cwnd = 1; Timeout SS CA MD MD Time Ahmed Mehaoua - 43 22