Couche Transport TCP/UDP ENPC. Transport 1

Documents pareils
Le protocole TCP. Services de TCP

Couche Transport TCP et UDP

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

Principes du transfert fiable de données. Les réseaux - deuxième partie. Transfert fiable de données fonctionnement

UDP/TCP - Protocoles transport

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

Les réseaux - deuxième partie

Introduction. Adresses

Rappels réseaux TCP/IP

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

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

Réseaux Résumé personnel

18 TCP Les protocoles de domaines d applications

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

Routage AODV. Languignon - Mathe - Palancher - Pierdet - Robache. 20 décembre Une implémentation de la RFC3561

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

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

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

Introduction aux Technologies de l Internet

Master e-secure. VoIP. RTP et RTCP

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

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

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

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

Réseaux Internet & Services

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

Algorithmique des Systèmes Répartis Protocoles de Communications

SSH, le shell sécurisé

Réseaux grande distance

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

ADSL. Étude d une LiveBox. 1. Environnement de la LiveBox TMRIM 2 EME TRIMESTRE LP CHATEAU BLANC CHALETTE/LOING NIVEAU :

Administration Réseau sous Ubuntu SERVER Serveur DHCP

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

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

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

La collecte d informations

Internet et Multimédia Exercices: flux multimédia

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

Plan. Programmation Internet Cours 3. Organismes de standardisation

Chapitre 1: Introduction générale

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

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

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

VoIP et "NAT" VoIP et "NAT" 1/ La Traduction d'adresse réseau. 1/ La traduction d'adresse réseau. 1/ La traduction d'adresse réseau

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

SSL ET IPSEC. Licence Pro ATC Amel Guetat

IPFIX (Internet Protocol Information export)

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

Dynamic Host Configuration Protocol

Haute performance pour serveurs Web embarqués

Les Réseaux. les protocoles TCP/IP

Allocation de l adressage IP à l aide du protocole DHCP.doc

Technologies de l Internet

Introduction aux réseaux

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

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

Réseaux - Cours 4. Traduction d adresse (NAT/PAT) et Service de Nom de Domaine (DNS) Cyril Pain-Barre. IUT Informatique Aix-en-Provence

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

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

RCS : Rich Communication Suite. EFORT

Sécurité des réseaux IPSec

NOTIONS DE RESEAUX INFORMATIQUES

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

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

Voix sur IP. Généralités. Paramètres. IPv4 H323 / SIP. Matériel constructeur. Asterisk

Configuration du driver SIP dans ALERT. V2

DIGITAL NETWORK. Le Idle Host Scan

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

EPREUVE E1 Epreuve scientifique et technique SOUS-EPREUVE E11 Etude des supports et protocoles de communication

Vue d'ensemble de NetFlow. Gestion et Supervision de Réseau

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

Création d un Firewall

RTP et RTCP. EFORT

Internet, de l'impensable à l'indispensable

La couche transport. La couche Transport. La couche Transport et Internet. Cours Réseau Esial 2ème. 5. La couche transport TCP/UDP et les applications

Réseaux et protocoles Damien Nouvel

Outils de l Internet

! 1 /! 5 TD - MIP + RO - NEMO. 1. Mobile IP (MIPv6) avec optimisation de routage

Protocole SIP et rc o d n o C ée yc L N E S ro P c a B

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

Administration des ressources informatiques

TD n o 8 - Domain Name System (DNS)

Internet Le service de noms - DNS

Nmap (Network Mapper) Outil d exploration réseau et scanneur de ports/sécurité

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

1 DHCP sur Windows 2008 Server Introduction Installation du composant DHCP Autorisation d'un serveur DHCP...

LA COUCHE TRANSPORT CONTRÔLE LE FLOT DE DONNEES TRANSMISES par la couche Réseau

Transmissions série et parallèle

La VOIP :Les protocoles H.323 et SIP

Fonctionnement d Internet

Votre Réseau est-il prêt?

Chapitre : Les Protocoles

ÉCOLE DE TECHNOLOGIE SUPÉRIEURE UNIVERSITÉ DU QUÉBEC MÉMOIRE PRÉSENTÉ À L ÉCOLE DE TECHNOLOGIE SUPÉRIEURE

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

Un aperçu de la technologie d'accélération WAN de Silver Peak

1- Principe général : 2- Architecture réseau pour ToIP : 3 Bilan. Qu est-ce que la VoIP/ToIP? IPBX/Protocoles utilisés

SIP. Sommaire. Internet Multimédia

pare - feu généralités et iptables

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

Réseau longue distance et application distribuée dans les grilles de calcul : étude et propositions pour une interaction efficace

Transcription:

Couche Transport TCP/UDP Transport 1

1 Services de la couche transport 2 Multiplexage et démultiplexage 3 Transport sans connexion: UDP 4 Principes du transfert fiable de données 5 Transport orienté connexion: TCP Transport 2

Services et protocoles transport fournit une communication logique entre les processus applicatifs exécutés sur des sites différents Les protocoles transport s exécutent sur les sites émetteur: divise le message en segments, les passe à la couche réseau récepteur: reforme le message à partir des segments obtenus de la couche réseau Plus d un protocole de transport disponible pour les applications Internet: TCP et UDP application transport réseau liaison physique transport point à point logiqiue réseau liaison physique réseau liaison physique réseau liaison physique réseau liaison physique réseau liaison physique application transport réseau liaison physique Transport 3

Transport vs. réseau Couche réseau: communication logique entre sites Couche transport : communication logique entre processus Construit sur les services de la couche réseau Enrichit le service de la couche réseau analogie: 5 enfants envoient des lettres à 5 autres enfants processus = enfants messages appli= lettres dans les enveloppes sites = maisons protocole transport= Ann et Bill Protocole réseau = le service postal Transport 4

protocoles internet transport fiable, délivrance dans l ordre (TCP) Contrôle de congestion Contrôle de flux Connexion Non fiable, dans le désordre: UDP extension du protocole best-effort IP services non disponibles: garantie des délais garantie largeur de bande application transport réseau liaison physique transport point à point logiqiue réseau liaison physique réseau liaison physique réseau liaison physique réseau liaison physique réseau liaison physique application transport réseau liaison physique Transport 5

1 Services de la couche transport 2 Multiplexage et démultiplexage 3 Transport sans connexion: UDP 4 Principes du transfert fiable de données 5 Transport orienté connexion: TCP Transport 6

Multiplexage/démultiplexage Demultiplexage sur le site rcpt : livre les segments reçus à la bonne socket = socket = process Multiplexage sur le site emetteur: Assembler les données de plusieurs sockets, ajouter un entête (utilisé ensuite pour le demultiplexage), application P3 P1 P1 application P2 P4 application transport transport transport réseau réseau réseau liaison liaison liaison physique physique site 1 site 2 site 3 physique Transport 7

Principe du démultiplexage Le site reçoit des datagrammes chaque datagramme a l adresse IP de l émetteur et du destinataire chaque datagramme (couche réseau) contient un segment (couche transport) chaque segment a le numéro de port de l émetteur et du destinataire (les numéros de port sont spécifiques à chaque applications) Les sites utilisent les adresses IP et les numéros de port pour diriger les segments vers la socket appropriée 32 bits source port # dest port # Autres champs d entête Données application (message) Format segmenttcp/udp Transport 8

Démultiplexage sans connexion Crée des sockets avec des numéros de port: DatagramSocket mysocket1 = new DatagramSocket(99111); Socket UDP identifiée par un couple: (adresse IP dest, numéro port dest) Quand un site reçoit un segment UDP: contrôle le numéro de port du dest dans le segment Dirige le segment UDP vers la socket attachée à ce numéro de port Les datagrammes IP avec des adresses IP et/ou des numéros de port d émetteurs différents sont dirigés vers la même socket Transport 9

Sans connexion DatagramSocket serversocket = new DatagramSocket(6428); P3 P2 P1P1 PS: 6428 PD: 9157 PS: 6428 PD: 5775 PS: 9157 PS: 5775 client IP: A PD: 6428 serveur IP: C PD: 6428 Client IP:B PS fournit l adresse de retour Transport 10

Démulptiplexage orienté connexion Socket TCP identifiée par un 4-uplet: Adresse IP source Numéro de port source Adresse IP dest Numéro de port dest Le site rcpt utilise tous ces champs pour diriger le segment vers la socket appropriée Un site serveur peut avoir plusieurs sockets TCP simultanément: Chaque socket est identifiée par son propre 4-uplet Les serveurs WEB ont des sockets différentes pour chaque client connecté Transport 11

démultiplexage orienté connexion P3 P2 P4 P1P1 PS: 80 PD: 9157 PS: 80 PD: 5775 PS: 9157 PS: 5775 client IP: A PD: 80 serveur IP: C PD: 80 Client IP:B Transport 12

1 Services de la couche transport 2 Multiplexage et démultiplexage 3 Transport sans connexion: UDP 4 Principes du transfert fiable de données 5 Transport orienté connexion: TCP Transport 13

UDP: User Datagram Protocol [RFC 768] Protocole de transport simple, sans valeur ajoutée Service best effort, les segments UDP peuvent être: Perdus Livrés dans le désordre aux applications Sans connexion: Pas de poignée de main entre émetteur et récepteur Chaque segment UDP est traité indépendamment des autres pourquoi UDP? Pas d établissement de connexion (qui ajoute des délais) Simple: sans état connexion à la source et au receveur Entête de segment petit Pas de contrôle de congestion: UDP peut circuler aussi vite que possible Transport 14

Utilisé pour les flux d appli multimedia Tolérantes aux pertes Sensibles à la vitesse 32 bits port source # port dest # longueur Somme ctrl Autres usages DNS Transfert fiable sur UDP: la fiabilité est ajoutée par la couche applicative Correction d erreur spécifique à l application Données application (message) Format de segment UDP Transport 15

Somme de contrôle UDP But: détecter les erreurs (ex: bits inversés) dans le segment transmis Emetteur Traite le segment comme une séquence d entiers 16-bit Somme de contrôle: addition du contenu du segment L émetteur met la somme de contrôle dans le champ ad hoc du segment UDP Récepteur: Calcule la somme de contrôle du segment reçu Contrôle si la somme calculée correspond au champ ad hoc du segment reçu: NON - erreur détectée OUI pas d erreur détectée Mais peut être présente. Transport 16

1 Services de la couche transport 2 Multiplexage et démultiplexage 3 Transport sans connexion: UDP 4 Principes du transfert fiable de données 5 Transport orienté connexion: TCP Transport 17

Principes du transfert fiable important dans les couches applications, transport, liaison un des sujets importants pour les réseaux Les caractéristiques du canal non fiable déterminent la complexité du protocole de transfert fiable (reliable data transfer protocol (rdt)) Transport 18

Idée: Si le canal peut inverser les bits: somme de contrôle pour le détecter Correction des erreurs: Accusé de réception (ACKs): le receveur dit explicitement que le paquet reçu est OK Accusé de réception négatif (NAKs): le receveur dit explicitement qu il y a une erreur dans le paquet reçu L émetteur retransmet le paquet si nécessaire Transport 19

Et si les ACK/NACK sont corrompus? L émetteur n a plus de retour du récepteur S il retransmet: duplication possible Que faire? L émetteur ACK/NAK les ACK/NAK du récepteur? Et si ces ACK/NAK sont perdus? Retransmettre, même si le paquet a été reçu sans erreur? Traiter les dupliquas: L émetteur ajoute un numéro de séquence à chaque paquet L émetteur retransmet le paquet courant si ACK/NAK corrompu Le récepteur ignore (ne livre pas) les paquets reçus en double stop et attend L émetteur envoi un paquet et attend la réponse du récepteur Transport 20

Et les pertes? Approche: l émetteur attend un temps raisonnable l ACK/NACK Retransmission si l ACK n est pas reçu à temps Si paquet (ou ACK) simplement retardé (et pas perdu): La retransmission créera un dupliqua, l usage du numéro de séquence évite la livraison multiple Le receveur doit indiquer le numéro de séquence du paquet pour lequel il envoie ACK Nécessite l évaluation du temps Transport 21

stop-et-attend émetteur Premier bit du paquet transmis t=0, t = L / R RTT receveur premier bit du paquet arrivé Dernier bit du paquet arrivé, envoie de ACK ACK arrive, envoie du paquet suivant, t = RTT + L / R U émetteur = L / R RTT + L / R =.008 30.008 = 0.00027 microsec onds Transport 22

protocoles en pipeline (avec anticipation) Pipelining: l émetteur envoie avec anticipation plusieurs paquets, çà acquitter par le récepteur La plage des numéros de séquence doit être étendue Tampons chez l émetteur et/ou le récepteur Deux types de protocoles en pipeline: go-back-n, selective repeat Transport 23

Go-Back-N (fenêtre glissante) Emetteur fenêtre jusqu a N paquets consécutifs non acquittés, ACK(n): ACKs acquiite tous les paquets jusqu à n ACK cumulatif timeout(n): retransmet le paquet n et tous les paquets envoyés ayant un numéro de séquence supérieur à n Transport 24

Selective repeat: fenêtre chez l émetteur et le récepteur Transport 25

1 Services de la couche transport 2 Multiplexage et démultiplexage 3 Transport sans connexion: UDP 4 Principes du transfert fiable de données 5 Transport orienté connexion: TCP Transport 26

socket TCP: Résumé RFCs: 793, 1122, 1323, 2018, 2581 point à point: Un émetteur,un receveur fiable, flux ordonné d octets Pas de limites des messages En pipeline: Largeur de la fenêtre affectée par les contrôles de flux et de congestion tampons: émetteur et récepteur application Données à envoyer TCP tampon émetteur segment application Données à lire TCP tampon récepteur socket Bi-directionnel: Flux bi-directionnel dans la même connexion MSS: (maximum segment size) taille maximum d un segment pour les données applicatives Orienté connexion: Poignée de main (échange de message de contrôle), initialise états émetteur et récepteur avant l échange des données Aucun élément de la connexion TCP dans les différents éléments du réseau entre l émetteur et le rcpt Contrôle de flux: L émetteur ne débordera pas le récepteur Transport 27

TCP structure d un segment URG: donnée urgente (non utilisé en général) ACK: n ACK valide PSH: délivrance immédiate (non utilisé en général) RST, SYN, FIN: Établissement de la connexion (commandes) Somme de contrôle Internet (comme dans UDP) 32 bits N port source N port dest N de séquence taille en tête N séquence d acquittement non UAP R S utilisé F Fenêtre de rcpt Somme ctrl Ptr donnée urgente Options (longueur variable) Données de l application (longueur <MSS) Compté en octes de données (Pas en segment) # octets que le rcvr peut accepter Transport 28

TCP: Gestion de la connexion Rappel: l émetteur et le récepteur établissent une connexion avant l échange de données initialise les variables TCP: N de seq. tampons, info pour le contrôle de flux (ex: RcvWindow) client: initie la connexion Socket clientsocket = new Socket("hostname","port number"); serveur: contacté par le client Socket connectionsocket = welcomesocket.accept(); Transport 29

3-poignée de main (Three way handshake): Pas 1: l hôte client envoie un segment TCP SYN au serveur Indique son n de séquence initial Pas de données Pas 2: l hôte serveur reçoit SYN et répond avec un segment SYNACK Le serveur alloue ses tampons Spécifie son n de séquence initial Pas 3: le client reçoit SYNACK, répond avec un segment ACK qui peut contenir des données Transport 30

TCP gestion de la connexion Fermer une connexion: Le client ferme la socket: clientsocket.close(); close client FIN serveur pas 1: le coté client envoie un segment TCP FIN au serveur pas 2: le serveur reçoit FIN, répond avec ACK. Il ferme la connexion et envoie FIN. Attente finie fermé ACK FIN ACK close fermé Transport 31

Pas 3: le client reçoit FIN, répond avec ACK. Entre dans une attente finie. Il répondra avec ACK à tout FIN reçu Pas 4: le serveur reçoit ACK. La connexion est fermée. close client FIN ACK FIN serveur close Attente finie fermé ACK fermé Transport 32

TCP: Transfert fiable TCP crée un service fiable au dessus du service non-fiable d IP Protocole en pipeline Acks groupés TCP utilise un seul timer pour la retransmission Retransmissions effectuées si: Un évt timeout Acks dupliqués Transport 33

TCP: contrôle de flux Le coté receveur de TCP a un tampon de réception: Contrôle de flux L émetteur ne fait pas déborder le tampon de rcpt en transmettant trop vide Le processus applicatif peut être lent dans sa lecture des données du tampon Service d alignement des débits: aligner le débit de l émetteur au débit de lecture de l application réceptrice Transport 34

Contrôle de congestion Congestion: Informellement: trop de sources envoient trop de données trop vite pour que le réseau qui les gère Différent du contrôle de flux Manifestations: Perte de paquets (débordements des tampons dans les routeurs) Délais longs (attente dans les tampons des routeurs) Un problème important pour les réseaux Transport 35

Approches pour le contrôle de la congestion 2 grandes approches à l égard du contrôle de la congestion: Gestion par les systèmes terminaux: Sans info-en-retour explicite du réseau Congestion déduite par les systèmes terminaux en observant les pertes et les délais Approche choisie par TCP Gestion assistée par le réseau: Les routeurs donnent de l infoen-retour aux systèmes terminaux Un seul bit indique la congestion (SNA, DECbit, TCP/IP ECN, ATM) Explicite la vitesse de transmission de l émetteur Transport 36