3I 023 TD 5 Protocoles de Transport : TCP et UDP

Documents pareils
Introduction. Adresses

Couche Transport TCP et UDP

U.E. ARES - TD+TME n 1

Le protocole TCP. Services de TCP

UDP/TCP - Protocoles transport

Rappels réseaux TCP/IP

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

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

Réseaux IUP2 / 2005 IPv6

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

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

Introduction aux Technologies de l Internet

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

Réseaux Internet & Services

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

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

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

Technologies de l Internet

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

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

LES PROTOCOLES DES RÉSEAUX

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

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

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

Plan. Programmation Internet Cours 3. Organismes de standardisation

2. DIFFÉRENTS TYPES DE RÉSEAUX

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

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

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

Cisco Certified Network Associate

Réseaux et protocoles Damien Nouvel

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

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

Les Réseaux. les protocoles TCP/IP

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

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

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

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

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

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

Télécommunications. IPv4. IPv4 classes. IPv4 réseau locaux. IV - IPv4&6, ARP, DHCP, DNS

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

SSL ET IPSEC. Licence Pro ATC Amel Guetat

Sécurité des réseaux Les attaques

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

Module 8. Protection des postes de travail Windows 7

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

Les firewalls libres : netfilter, IP Filter et Packet Filter

Introduction aux réseaux

18 TCP Les protocoles de domaines d applications

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

Tunnels. Plan. Pourquoi? Comment? Qu est-ce? Quelles solutions? Tunnels applicatifs ESIL INFO 2005/2006. Sophie Nicoud

Chapitre : Les Protocoles

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

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

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

IPv6. Protocole, format et applications. Tuyêt Trâm DANG NGOC. Université de Cergy-Pontoise. Tuyêt Trâm DANG NGOC IPv6 1 / 150

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

Programme formation pfsense Mars 2011 Cript Bretagne

Formation Iptables : Correction TP

IPFIX (Internet Protocol Information export)

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

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

TCP/IP Internet/Intranet/Extranet

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

NetCrunch 6. Superviser

Christian CALECA TCP/IP

Création d un Firewall

Gestion et Surveillance de Réseau

La collecte d informations

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

Filtrage IP MacOS X, Windows NT/2000/XP et Unix

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

Internet Le service de noms - DNS

Découverte de réseaux IPv6

Les Réseaux Les transferts de données

Installation d un serveur virtuel : DSL_G624M

Les Réseaux Informatiques

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

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

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

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

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

Notions de Réseaux TCP/IP et environnements Microsoft Windows. Michel Cabaré Novembre 2002 ver 2.0

Configuration automatique

CAS IT-Interceptor. Formation «Certificate of Advanced Studies»

Sécurité des réseaux Firewalls

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

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

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

Master e-secure. VoIP. RTP et RTCP

Internet et Multimédia Exercices: flux multimédia

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

Algorithmique des Systèmes Répartis Protocoles de Communications

Cisco Certified Network Associate

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

Groupe Eyrolles, 2000, 2004, ISBN :

DIGITAL NETWORK. Le Idle Host Scan

Haka : un langage orienté réseaux et sécurité

LES RESEAUX INFORMATIQUES

Transcription:

Protocoles de Transport : TCP et UDP Semaine du 13 Février 2017 1 TCP vs. UDP Q1. Donner les différences majeures entre les protocoles TCP et UDP. Q2. Supposez que deux processus A et B communiquent entre eux à travers une connexion TCP. Soient x et y les numéros de port source et destination des segments TCP envoyés par A à destination de B. Quelle est la valeur respective des numéros de port source et destination des segments envoyés en sens inverse? Q3. Donnez autant de raisons que possible pour lesquelles un développeur préférerait concevoir une application utilisant les services de UDP plutôt que ceux rendus par TCP. Q4. Est-il possible pour une application de bénéficier d un service de transfert de données fiable quand bien même l application utilise les services rendus par UDP? Si tel est le cas, expliquez comment. Q5. Quel protocole de la couche transport (TCP ou UDP) utiliseriez-vous si votre application avait besoin de l une des propriétés suivantes? Donner une raison. (a) Vitesse? (b) Interactions de courtes durées? (c) Equité entre des flots? (d) Inondation? (e) Flexibilité? 2 TCP trivia Répondez par Vrai ou Faux en justifiant votre réponse. Q1. Un processus A envoie au processus B un fichier de grande taille à travers une connexion TCP au préalablement établie entre eux. En supposant que B n a pas de données à envoyer à A, le processus B ne renvoie pas d acquittement à A parce qu il lui est impossible de faire du piggybacking (piggyback : procédé qui consiste à transmettre un acquittement en profitant de l envoi d un segment de données). Q2. Supposez que le processus A envoie au processus B un segment avec un numéro de séquence égal à 38 et contenant 4 octets de données. La valeur du numéro d acquittement contenu dans ce même segment vaut nécessairement 42. Q3. La valeur utilisée dans le champ numéro de séquence d un segment qui n a pas de charge utile (payload) est égale à la valeur du dernier acquittement reçu. Q4. La taille de la fenêtre de réception utilisée par TCP pour le contrôle de flux ne change jamais pendant la durée d une connexion. Q5. Supposez que le processus A envoie un fichier de grande taille à B à travers une connexion TCP. La quantité maximale d octets que A peut envoyer depuis le dernier reçu est systématiquement déterminée en fonction de la fenêtre de réception précédemment annoncée par B. 1 / 7

Q6. Il est toujours possible d envoyer autant d octets que ceux spécifiés par la fenêtre de réception annoncée par le récepteur dans son dernier sans recevoir d supplémentaire(s). Q7. Supposez que A envoie un fichier de grande taille à B à travers une connexion TCP. Si le numéro de séquence d un segment que A envoie vaut m, alors le numéro de séquence du segment suivant sera forcément m + 1. Q8. Supposez que la dernière valeur du RTT mesurée au cours d une connexion TCP est de 1 seconde. La valeur du temporisateur de retransmission pour cette connexion aura donc une durée supérieure ou égale à 1 seconde. 3 Généralités sur TCP et UDP Q1. Soit A un processus qui utilise une connexion TCP pour envoyer des données à un processus B qui s exécute sur une machine hôte distante. L application A va écrire dans les tampons du socket à dix reprises. Sous quelles circonstances l implémentation sous-jacente de TCP pourrait-elle être amenée à envoyer un nombre plus important (i.e. > 10) de segments que d écritures. (On ne tient pas compte des retransmissions éventuelles des paquets perdus, ou des segments de contrôle tels que les SYN, ou FIN)? Q2. A l inverse, est-il possible que l implémentation sous-jacente de TCP procède à l envoi de moins de 10 segments? Q3. Donnez trois cas de figure dans lesquels il est possible d envoyer des octets au détriment de la valeur spécifiée par la fenêtre de réception annoncée par le dernier reçu. Q4. Dans quelles circonstances un premier segment numéroté m est-il suivi par un second segment numéroté m + 1. (On supposera que les deux segments proviennent de la même application source). Donnez au moins 3 exemples. Q5. Pour quelle raison l application A peut-elle fermer (close()) en toute quiétude le socket une fois qu elle a fini d écrire les données, même si l application B n a pas encore reçu toutes les données? Q6. Sachant que UDP rend ses services sans établir au préalable de connexion, pourquoi un numéro de port est-il nécessaire? Q7. Donnez au moins deux raisons pour lesquelles A aurait besoin de retransmettre un segment SYN pendant la phase d établissement de connexion TCP avec B. Q8. Pourquoi TCP utilise-t-il une valeur très élevée (i.e. plusieurs secondes) pour détecter et retransmettre un SYN? Q9. A l établissement d une connexion TCP, pourquoi client et serveur tirent-ils aléatoirement leur ISN (Initial Sequence Number), le numéro de séquence utilisé pour numéroter les octets de données qu ils comptent envoyer? Pourquoi ne pas commencer à partir d un numéro de séquence à 0 ou 1? Q10. Supposez que la valeur du temporisateur de retransmission est de 3 secondes. Donnez deux cas où cette valeur sera maintenue. 2 / 7

4 Protocole FTP FTP (File Transfer Protocol) est un protocole de niveau 7 utilisé pour transférer des fichiers entre deux machines hôtes. FTP utilise les services de TCP. Le numéro de port du processus serveur est identifié par le numéro de port 21 sur lequel il reçoit les demandes de connexion (commande PORT). 4243 Client 4242 21 Serveur 20 PORT 4243 Connect 2043 NAT Le client FTP utilise cette connexion pour soumettre au serveur des commandes qui permettent, par exemple, de lister les fichiers localisés dans un des répertoires du serveur (LIST), naviguer parmi ces répertoires (CWD) ou initier le transfert d un fichier (RETR) qui sera en fait envoyé sur une autre connexion TCP sur le port 20. Contrairement au protocole HTTP qui dispose d une seule connexion TCP pour envoyer aussi bien sa signalisation que les données utiles 1, la signalisation de FTP est dite hors-bande (out-of-band) dans le sens où elle transite le long d une connexion dédiée (port 21), distincte de celle utilisée pour les données (port 20). Dans le cas de HTTP, on parle de signalisation dans la bande (in-band). Q1. Sachant que l on souhaite que le serveur initie la connexion FTP dédiée au transfert de données, comment ce dernier peut-il connaître le port du client nécessaire à l établissement de cette connexion? Q2. Expliquez brièvement le rôle d un NAT. Q3. Lorsque le choix du numéro de port de la connexion TCP côté client est à la charge de ce dernier, un problème peut se poser lorsque la machine hôte du client est située derrière un NAT. Pourquoi? Q4. Si le NAT devait agir de façon à autoriser l utilisation de ce mode de fonctionnement quant au choix des numéros de port, quelles seraient les actions à prendre au niveau du NAT? Q5. Pourquoi ces actions pourraient-elles modifier la taille des paquets échangés le long de la connexion dédiée à la signalisation FTP? Q6. Quelle seraient les conséquences de ces actions au niveau du NAT sur les autres applications qui auraient le malheur d utiliser le port 21? Quelles conséquences aurait sur le transfert de fichiers l utilisation d un VPN sécurisé entre machine hôte du client et celle du serveur? Q7. Supposez à présent que le choix des numéros de ports pour la connexion dédiée au transfert de fichiers est à la charge du serveur (mode passif ). Expliquez pourquoi est-il dans ce cas là plus simple pour FTP de s accommoder de la présence d un NAT côté client. 1 du point de vue des utilisateurs 3 / 7

Client Serveur 4243 4242 21 2042 20 PASV PORT 2042 Connect 2042 NAT 5 Étude d une connexion TCP (facultatif) Deux processus logés sur des machines hôtes distantes ont établi une connexion TCP qui traverse un chemin dont le délai aller-retour (RTT Round Trip Time) atteint une valeur de 100 msec. C est à ce moment que la rupture d un lien force la connexion TCP à emprunter un chemin plus long dont la durée aller-retour est de 500 msec. 500 ms X 100 ms Q1. Le routeur de gauche détecte la rupture du lien immédiatement et commence à acheminer les paquets de données le long du nouveau chemin sans qu aucune perte de paquet ne soit à regretter. (On supposera que le router de droite détecte également le changement de route et qu au même titre il se met à retourner ses le long du nouveau chemin sans qu aucun d eux ne soit perdu). Pourquoi la source est-elle tout de même amenée à retransmettre des paquets de données? Q2. On suppose à présent que la détection de la rupture de lien n est pas instantanée : le passage d un chemin à l autre entraîne la perte de paquets de données (et d ). Comment la valeur du temporisateur de retransmission évolue-t-elle après la rupture du lien? Qu en est-il de celle de la fenêtre de congestion? 4 / 7

6 Échange de segments TCP Une entité TCP A doit envoyer 3000 octets de données utilisateur à une entité TCP B. On suppose que : Le MSS (Maximum Segment Size) est égal à 1460 octets ; L émetteur envoie toujours le nombre maximum d octets de données qu il lui est permis ; Il n y a pas d options TCP. On note : seqnum le champ Sequence Number (numéro de séquence) de TCP ; acknum le champ Acknowledgment Number (numéro d acquittement) de TCP ; adwin le champ Advertised Window (taille fenêtre) de TCP. Q1. Complétez le schéma suivant (en remplissant les par les valeurs décimales adéquates). Note : tous les segments ont une raison d être. A B SYN FIN SYN seqnum = 199 acknum = 1000 adwin = 2000 adwin = 1000 adwin = 0 adwin = 2000 adwin = 2000 FIN 5 / 7

7 Analyse de traces TCP Q1. Trace 1 0000 00 80 c8 b9 bc 10 00 20 ed 61 8b f1 08 00 45 00 0010 00 30 01 81 40 00 80 06 35 2a 84 e3 3e e2 d8 ef 0020 27 68 04 15 00 50 fa 26 15 c6 00 00 00 00 70 02 0030 ff ff aa b0 00 00 02 04 05 b4 01 01 04 02 Q2. Trace 2 0000 00 20 ed 61 8b f1 00 80 c8 b9 bc 10 08 00 45 00 0010 00 2c a9 2f 00 00 ed 06 60 7f d8 ef 27 68 84 e3 0020 3e e2 00 50 04 15 01 fa ff 7f fa 26 15 c7 60 12 0030 1f fe 9e 2e 00 00 02 04 05 b4 00 00 00 00 00 00 Q3. Trace 3 0000 00 80 c8 b9 bc 10 00 20 ed 61 8b f1 08 00 45 00 0010 00 28 01 83 40 00 80 06 35 30 84 e3 3e e2 d8 ef 0020 27 68 04 15 00 50 fa 26 15 c7 01 fa ff 80 50 10 0030 ff ff d5 e9 00 00 Q4. Trace 4 0000 00 80 c8 b9 bc 10 00 20 ed 61 8b f1 08 00 45 00 0010 01 62 01 84 40 00 80 06 33 f5 84 e3 3e e2 d8 ef 0020 27 68 04 15 00 50 fa 26 15 c7 01 fa ff 80 50 18 0030 ff ff 17 92 00 00 47 45 54 20 2f 20 48 54 54 50 0040 2f 31 2e 31 0d 0a... 6 / 7

Structure de la trame Ethernet 48 bits Destination Address 48 bits Source Address 16 bits Type 46 to 1500 bytes Payload CRC 0x0200 Xerox PUP 0x0806 ARP 0x0800 DOD Internet IP 0x8035 RARP Structure du paquet IP 4 bits 8 bits 16 bits Ver. IHL ToS Total Length Identication 0 D F M F OF (Offset Fragment) TTL Protocol Header Checksum Source Address Destination Address Options + Padding Structure du segment TCP 4 bits 6 bits 6 bits 16 bits THL Source Port Reserved Checksum Sequence Number Acknowledgment Number Destination Port U RG A CK P SH R ST S YN F IN Window Options + Padding Urgent Pointer Ver. IHL ToS DF MF OF TTL Version d IP Longueur de l entête IP ( ) Type de service (0 généralement) Ne pas fragmenter Fragment suivant existe Décalage du fragment Durée de vie restante THL URG PSH RST SYN FIN Longueur de l entête TCP ( ) Données urgentes Acquittement Données immédiates Réinitialisation Synchronisation Fin Quelques protocoles transportés : 1 ICMP 8 EGP 2 IGMP 11 GLOUP 4 IPv4 17 UDP 5 Stream 36 XTP 6 TCP 46 RSVP Structure du message ARP 8 bits 8 bits 16 bits Hardware Type (Ethernet : 1, HDLC : 17) Protocol Type (IPv4 : 0x0800) Protocol Address Length Hardware Address Length Sender Hardware Address Sender Protocol Address (bytes 3-4) Target Protocol Address OpCode (1 : ARP Request, 2 : ARP Reply) Sender Protocol Address (bytes 1-2) Target Hardware Address Options codées sur : T = 2 T = 3 T = 4 T = 8 1 octet à 00 : fin des options 1 octet à 01 : NOP (pas d opération) Plusieurs octets de type T-L-V : Négociation de la taille max. du segment Adaptation de la taille de la fenêtre Autorisation des acquittements sélectifs Estampilles temporelles 1 octet 1 octet L 2 octets Type (T) Length (L) Option Value (V) Structure du datagramme UDP 16 bits Source Port Length Destination Port Checksum Services associés aux ports (well-known ports) ftp-data 20/tcp smtp 25/tcp kerberos 88/tcp/udp ftp 21/tcp domain 53/tcp/udp pop-3 110/tcp/udp ssh 22/tcp/udp tftp 69/udp snmp 161/udp telnet 23/tcp www 80/tcp/udp snmp-trap 162/udp 7 / 7