Démultiplexage. Encapsulation. Problématique. Le système de communication



Documents pareils
UDP/TCP - Protocoles transport

Couche Transport TCP et UDP

Le protocole TCP. Services de TCP

Introduction. Adresses

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

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

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

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

Introduction aux Technologies de l Internet

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

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

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

Algorithmique des Systèmes Répartis Protocoles de Communications

Rappels réseaux TCP/IP

Master e-secure. VoIP. RTP et RTCP

Réseaux grande distance

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

Plan. Programmation Internet Cours 3. Organismes de standardisation

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

18 TCP Les protocoles de domaines d applications

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

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

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

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

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

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

Dynamic Host Configuration Protocol

Configuration automatique

Chapitre : Les Protocoles

2. DIFFÉRENTS TYPES DE RÉSEAUX

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

Réseaux et protocoles Damien Nouvel

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

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

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

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

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

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

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

Réseaux Internet & Services

SSH, le shell sécurisé

Configuration automatique

Internet et Multimédia Exercices: flux multimédia

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

Chapitre 1. Introduction aux applications multimédia. 1. Introduction. Définitions des concepts liés au Multimédia (1/2)

Les réseaux : les principes Comment ça marche?

La couche réseau Le protocole X.25

Chapitre 1: Introduction générale

Les Réseaux Informatiques

RTP et RTCP. EFORT

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

Technologies de l Internet

Cisco Discovery - DRSEnt Module 7

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

Le Multicast. A Guyancourt le

VOIP. QoS SIP TOPOLOGIE DU RÉSEAU

La collecte d informations

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

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

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

Les Réseaux sans fils : IEEE F. Nolot

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

Réseaux M2 CCI SIRR. Introduction / Généralités

TCP/IP. [ Les protocoles ] [ L'adresse IP ] [ Les sockets ] [ Mode connecté ] [ Mode non connecté ]

Multimedia. Systèmes, Communications et Applications. Ahmed MEHAOUA

Christian CALECA TCP/IP

Université Pierre Mendès France U.F.R. Sciences de l Homme et de la Société Master IC²A. TP réseau firewall

Les ACL Cisco. F. Nolot Master 2 Professionnel STIC-Informatique 1

1.Introduction - Modèle en couches - OSI TCP/IP

Cisco Certified Network Associate

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

Les réseaux /24 et x0.0/29 sont considérés comme publics

Introduction de la Voix sur IP

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

L outil Nmap-Stateful. Olivier Courtay Thomson R&D / IRISA

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

Réseaux IUP2 / 2005 IPv6

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

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

Les Réseaux. les protocoles TCP/IP

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

Algorithmique et langages du Web

QoS et Multimédia SIR / RTS. Introduction / Architecture des applications multimédia communicantes

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

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

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

Téléinformatique. Chapitre V : La couche liaison de données dans Internet. ESEN Université De La Manouba

Administration UNIX. Le réseau

IPFIX (Internet Protocol Information export)

UFR de Mathématiques et Informatique Année 2009/2010. Réseaux Locaux TP 04 : ICMP, ARP, IP

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

Transmissions série et parallèle

M1101a Cours 4. Réseaux IP, Travail à distance. Département Informatique IUT2, UPMF 2014/2015

Liste des ports. 1 sur 6

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

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

Cours Réseaux. Plan. I. Réseau: Définitions et éléments II. Le modèle à couches

GENERALITES. COURS TCP/IP Niveau 1

Transcription:

Agenda & UDP transport protocols Le cours d aujourd hui Application Présentation Session Telnet, FTP, e-mail, Web, Prométhée Spathis UPMC-L6/CNRS promethee.spathis@{lip6,upmc}.fr http://www-rp.lip6.fr/~spathis/ Transport Réseau Liaison / UDP, ICMP, IGMP driver et interface physique Architecture / (1) Architecture / (2) client FTP FTP protocol sever FTP protocol router UDP transport protocol protocol ICMP IGMP réseau Eth driver driver Ethernet protocol Ethernet driver token ring driver token ring ARP Interface physique RARP liaison Ethernet token ring Canal de communication

Encapsulation user data Démultiplexage Segment data data sever FTP ICMP IGMP UDP numéro du port de destination de l entête ou UDP Valeur du champ protocol de l entête Ethernet 14 20 20 Paquet Trame Ethernet data data Ethernet trailer 4 Ethernet driver Ethernet ARP Interface physique trame entrante RARP valeur du champ type de l entête Ethernet Problématique Créer un circuit logique de communication entre Le protocole rend un service de remise de paquets de machine à machine, qui plus best effort > passer à un service de canal de communication de à? réseau (internet) accès au réseau (host-to-network) Le système de communication s transport IfR1 système de communication vu par les protocoles de transport IfR1 IfR2 IfR2 IfR3 s transport IfR3 Service du système de communication routage à travers une interconnexion de réseaux fragmentation/réassemblage service non connecté, best effort La couche de transport est de bout-en-bout Localisée à la périphérie du réseau, au niveau des machines hôtes R1 R2 R3

Quel service transport pour les s? Les besoins des s s expriment en fonction de 3 paramètres : fiabilité tolérance aux pertes de données > audio transfert totalement fiable : aucune tolérance aux pertes > FTP, Telnet bande passante quantité minimum nécessaire pour un fonctionnement correct quelque soit le débit effectif obtenu > s dites élastiques contraintes temporelles s interactives : téléphonie sur Internet, jeux en réseau délai d acheminement borné Les besoins d s courantes Application file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging Data loss no loss no loss no loss loss-tolerant loss-tolerant loss-tolerant no loss Bandwidth elastic elastic elastic audio: 5kbps-1Mbps Time Sensitive no no no yes, 100 s msec video:10kbps-5mbps same as above yes, few secs few kbps up yes, 100 s msec elastic yes and no Les protocoles de transport dans Internet Quel service de transport pour quelles s service: Orienté connexion : mise en place d une connexion entre les client et serveur (à l initiative du client) Transport fiable entre les émetteur et récepteur Contrôle de flux : éviter qu un émetteur n engorge un récepteur Contrôle de congestion : régulation du débit d émission de l émetteur en fonction de la saturation du réseau Aucune garantie : temporelles, bande passante minimum UDP service: Transfert de données non fiable entre émetteur et récepteur Ne fournit pas : établissement de connexion, fiabilité, contrôle de congestion, respect de contraintes temporelles, bande passante garantie Q: A quoi sert UDP du coup? Application e-mail remote terminal access Web file transfer streaming multimedia Internet telephony Application layer protocol SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] proprietary (e.g. RealNetworks) proprietary (e.g., Vonage,Dialpad) Underlying transport protocol or UDP typically UDP

Rôle du Transport Général Communication inter- Identification des points d'extrémités Actions de bout en bout Objectif transformer les propriétés pas toujours désirables du réseau en un service de haut niveau souhaité par les s A la demande de l' corriger les manquements du service réseau Plusieurs déclinaisons de protocoles de transport UDP (rfc 768) Service minimum (rfc 793) Service orienté données Challenges prendre en compte le service offert par la couche réseau pertes de paquets déséquencements erreurs MTU temps de traversée imprévisibles prendre en compte les besoins des s garantie de remise des messages reséquencement absence de duplications absence de messages erronés messages de longueur quelconque synchronisation entre l'émetteur et le récepteur prise en charge de plusieurs s sur le même hôte Transmission Control Protocol Principes généraux Couche de transport des systèmes d extrémités (i.e. s des données) Communication de à > (dé)multiplexage Offre un service de remise Point à point Communication bidirectionnelle Transfert fiable de données Mode connecté Flux d octets > Fournit un canal de transmission fiable et efficace Transmission Control Protocol Comporte les mecanismes (Dé)multiplexage Gestion de connexions Contrôle de perte Contrôle de flux: interaction inter-hôte Contrôle de congestion: interaction hôte-réseau réactive et agréssive Spécifications RFC 4614 : Roadmap

Difficultés pour Connexion avec des hôtes différents Phase d établissement et de libération de connexion RTT varie dans l espace et le temps Mécanisme d adaptation de la temporisation Survivance de paquets (trés long délai de transfert) Attention aux arrivées de trés vieux paquets Capacité de stockage dynamique des extrémités Apprendre les ressources disponibles Capacité de la route varie dans le réseau Ajuster le débit d émission à la bande passante Principe de conception Général Pas de version de Emetteur Comporte l'ensemble des fonctions Traitements complexes: éléments liés à la fiabilisation des échanges Récepteur Exécution simple acquitter les données reçues allouer le crédit d'émission Motivations interopérabilité maximum recherchée grand nombre d'os et de version > autant de "version de " évolution de graduelle Service versus protocole Unité de service: Octet Unité de protocole: Segment Unité de contrôle Notion de Maximum Segment Size (MSS) MSS = MTU - - ne transmet pas d'octets individuels en émission bufferise les octets jusqu'à en avoir un nombre raisonnable fabrique un segment et l'envoie en réception vide le contenu du segment reçu dans un buffer de réception le destinataire vient y lire les octets à sa guise Transfert de données assure un transfert efficace de bout en bout Segmentation découpage du flux en segments selon la MTU locale numérotation des octets gel du numéro de séquence pendant MSL (Maximum Segment Lifetime) assure un transfert de bout en bout fiable Contrôle de perte ou d'erreur acquittement positif cumulatif protection par temporisateur de retransmission chez l'émetteur uniquement Contrôle de flux Mécanisme à fenêtre de taille variable Progression par acquittement et crédit (window size) Contrôle de congestion

Construction d'un segment Quand est-ce que décide d'envoyer un segment? MSS (Maximum Segment Size) octets de données prêts à l envoi MSS = MTU en-tête en-tête le le lui demande explicitement fonction push le temporisateur expire pour éviter d'attendre trop longtemps MSS octets Contrôle d'erreur Principe le champ Checksum le champ Sequence Number des acquittements positifs (dumb receiver : pas d'acquittements négatifs) un temporisateur de retransmission des retransmissions qui réparent les pertes Contrainte ne pas retransmettre abusivement RTT variable > dimensionnement dynamique du temporisateur Contrôle de flux Objectifs l'émetteur ne fait pas déborder la mémoire du récepteur maximiser le débit pour un transport efficace Principe le débit de l'émetteur est contrôlé par une fenêtre d'anticipation dont la taille correspond à un nombrede crédits d'émission la fenêtre glisse à la réception d'un crédit (dans l'ack) le récepteur informe de l'espace disponible champ window size (rwnd) s applique à partir du numéro d acquittement l'émetteur limite la quantité émise (en transit) à window size unité: l octet fenêtre dynamique progression de la fenêtre par acquittement et crédit indique le quté d'octets de données que l'entité est prête à recevoir description des services Connexions Fiabilité et contrôle de flux requièrent que les deux entités initialisent et maintiennent des informations d états concernant le flot de données. Le point d accès au service de transport est appelé un port. Exprimé sur 16 bits, il est local à chaque hôte. Les numéros de ports source et destination identifient respectivement les s émettrice et réceptrice. 2 s utilisant établissent au préalable une connexion avant de pouvoir échanger des données. Une connexion est identifiée de manière unique par le quadruplet (numéro de port source, adresse source, numéro de port récepteur, adresse récepteur) Un couple (numéro de port, adresse ) est appelé socket et identifie une extrémité de connexion. La combinaison des informations d états du flot de données (numéros de sequence, taille des fenêtres) et des sockets est appelé une connexion Multiplexage Clé de démultiplexage = paire (port, hôte) appelée socket

numéros de port bien connus No port Mot-clé Description 20 FTP-DATA File Transfer [DefaultData] 21 FTP File Transfer [Control] 23 TELNET Telnet 25 SMTP Simple Mail Transfer 37 TIME Time 42 NAMESERVER Host Name Server 43 NICNAME Who Is 53 DOMAIN Domain Name Server 79 FINGER Finger 80 HTTP WWW 110 POP3 Post Office Protocol - Version 3 111 SUNRPC SUN Remote Procedure Call Mise en œuvre des ports port = référence abstraite > l'implémentation diffère d'un OS à l'autre! en général, un port = une file de messages d' Le ecrit des d' données ports si la file est pleine, files l écriture est bloqué quand le veut démultiplexage arrivée de messages d' recevoir un msg, il le retire de la tête de la file si la file est vide, le se bloque jusqu'à ce qu'un msg soit disponible exemple de flot unidirectionnel Format d un segment layer layer send buffer sender segments byte stream receiver byte stream receive buffer source port number destination port number 32 bit sequence number 32 bit acknowledgment number hlen reserved flags 16 bit window size checksum urgent pointer options (if any) padding 20 bytes network layer control datagrams network links control ACKs Data (if any) 4 bytes

source port number,, reserved, port numbers (16 bits) identifient les s émettrice et réceptrice (n o de ports et adresses identifient une connexion unique) Sequence number (32 bits) identifie l octet dans le flux de données que représente le premier octet de ce segment Acknowledgment number (32 bits) prochain numéro de séquence que l émetteur du segment s attend à recevoir = numéro de séquence du dernier octet reçu correctement et en séquence + 1 Hlen (4bits) longueur de l entête en mots de 32 bits Reserved (6 bits) champ réservé pour de futures utilisations, flags, Flags (6 bits) de «gauche à droite» URG pointeur urgent valide ACK numéro de séquence valide RST réinitialiser la connexion PSH données à envoyer «promptement» + notification immédiate à l réceptrice (même si buffer plein) SYN synchroniser les n o de séquences FIN l émetteur a fini d envoyer des données et ferme son côté de la connexion, windows size,, padding Calcul du checksum Window size (16 bits) Contrôle de flux et transmission efficiente : nombre d octets supplémentaires que le récepteur est prêt à recevoir, i.e. taille courante des tampons de réception du récepteur Cheksum TPC + data + pseudo permet de vérifier si les données sont intactes, si elles ont atteint la bonne destination et si les a passées au bon protocole. le pseudo n est pas transmis avec le segment. Ses champs sont extraits de l entête du paquet. Urgent pointer déplacement positif à ajouter au numéro de séquence du segment pour récupérer le numéro de séquence du dernier octet de donnée urgente permet à une extrémité de la connexion d envoyer des données out of band (spécifiées comme urgentes) sans avoir à attendre que l autre extrémité ait consommé les octets déjà dans le flux pseudo source address destination address zero protocol + data length source port number destination port number 32 bit sequence number 32 bit acknowledgment number hlen reserved flags 16 bit window size checksum urgent pointer options (if any) padding Data (if any)

Options (1) Option End of Options List (Kind = 0) : marque la fin de la liste des options si nécessaire Option NOP No OPeration (Kind = 1) : aligne le début d une option sur celui d un mot de 32 bits Options de type > 1 1 octet 00 1 octet 01 1 octet 1 octet Kind > 1 Length Data Options (2) Kind Length Meaning Reference ---- ------ ------------------------------- --------- 0 - End of Option List [RFC793] 1 - No-Operation [RFC793] 2 4 Maximum Segment Size [RFC793] 3 3 WSOPT - Window Scale [RFC1323] 4 2 SACK Permitted [RFC2018] 5 N SACK [RFC2018] 6 6 Echo (obsoleted by option 8) [RFC1072] 7 6 Echo Reply (obsoleted by option 8)[RFC1072] 8 10 TSOPT - Time Stamp Option [RFC1323] 9 2 Partial Order Connection Permitted[RFC1693] 10 3 Partial Order Service Profile [RFC1693] 11 CC [RFC1644] 12 CC.NEW [RFC1644] 13 CC.ECHO [RFC1644] 14 3 Alternate Checksum Request [RFC1146] 15 N Alternate Checksum Data [RFC1146]... Options (2 ) Kind Length Meaning Reference ---- ------ ------------------------------- ---------... 16 Skeeter [Knowles] 17 Bubba [Knowles] 18 3 Trailer Checksum Option [Subbu & Monroe] 19 18 MD5 Signature Option [RFC2385] 20 SCPS Capabilities [Scott] 21 Selective Negative Acknowledgements [Scott] 22 Record Boundaries [Scott] 23 Corruption experienced [Scott] 24 SNAP [Sukonnik] 25 Unassigned (released 12/18/00) 26 Compression Filter [Bellovin] Exemples d options Window Scale (WSOPT) : décalage à droite du champ window size (passage de la valeur max 64ko à 4 Go) 03 03 data Maximum Segment Size : taille maximum négociée d un segment en réception (option présente uniquement dans les segments SYN) 02 04 data http://www.iana.org/assignments/tcp-parameters

Time Stamp Option TSOPT Format d un datagramme UDP Time Stamp Option (TSOPT) 08 0A TS Value (TSval) TS Echo Reply (TSecr) 1 octet 1 octet 4 octets 4 octets pseudo zero source address destination address protocol UDP + data length TSval (TS Value) valeur de l horloge d horodatage à l émission TSecr (TS Echo Reply) valide uniquement dans si le flag ACK est positionné (mis à 0 sinon) reporte généralement la valeur du TSval de l option TSOPT la plus récemment reçue Mesure du RTT source port number length Data destination port number checksum UDP User Datagram Protocol les services rendus Protocole de transport (i.e. de bout en bout) le plus simple qui soit UDP étend (remise de machine à machine) en un service de communication de à Aucune valeur ajoutée à Fonction de (dé)multiplexage grâce aux champs Source Port et Destination Port Source Port et Destination Port identifient (quoique de façon indirecte) les en communication sur les deux machines distantes Clé de démultiplexage pour UDP = paire (port, hôte) appelée socket UDP numéros de port bien connus 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 Protocol

Établissement de connexion la poignée de main «à trois voies» Pourquoi à trois voies? SYN_SENT SYN_RCVD SYN_SENT ESTABLISHED SYN_RCVD ESTABLISHED? MSS = Maximum Segment Size spécifiée en fonction de la taille des tampons de réception si les 2 extrémités sont connectées au même réseau physique alors MSS = MTU ESTABLISHED ISN Initial Sequence Number 1 ère incarnation SYN_SENT SYN_RCVD Fermeture de connexion FIN_WAIT_1 (fermeture active) ESTABLISHED ESTABLISHED FIN_WAIT_2 TIME_WAIT CLOSE_WAIT (fermeture passive) LAST_ACK 2 ème incarnation SYN_SENT ESTABLISHED SYN_RCVD CLOSED TIME_WAIT ou état d attente 2MSL (Maximum Segment Life) permet à au client de retransmettre le dernier ACK si perdu (timeout du serveur et retransmission du dernier FIN ) Une connexion ne peut utiliser les adresses et numéros de port d une connexion dans l état 2MSL

TIME_WAIT = 2MSL Efficacité de transmission (1) FIN_WAIT_1 (fermeture active) FIN_WAIT_2 TIME_WAIT TIME_WAIT (réamorcé) CLOSE_WAIT (fermeture passive) RTO CLOSED Découplage écriture - émission Emission de segments pleins (taille MSS) Mise en mémoire des écritures (retard à l'émission) il a MSS (Maximum Segment Size) octets de données à envoyer MSS = MTU en-tête en-tête le lui demande explicitement fonction push le temporisateur expire pour éviter d'attendre trop longtemps MSS octets Acquittements retardés Pas d'envoi immédiat à réception d'un segment de données envoi d'un ACK: Avec un segment de données: Piggybacking (superposition) Pour les échanges bi-directionnelles Apres un délai maximum d'attente (rfc1122) Après la réception de 2 MSS Efficacité de transmission (2) Conclusions Protocole Transport Multiplexage et démultiplexage Gestion de connexions Numéros de séquence Contrôle de flux basé sur la notion de fenêtre glissante Retransmission sur expiration d un temporisateur Détection des erreurs basée sur une somme de contrôle