Les protocoles UDP et TCP



Documents pareils
Le protocole TCP. Services de TCP

Introduction. Adresses

UDP/TCP - Protocoles transport

Couche Transport TCP et UDP

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.

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

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

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

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 Internet & Services

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

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

2. DIFFÉRENTS TYPES DE RÉSEAUX

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

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

Réseaux IUP2 / 2005 IPv6

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

La collecte d informations

18 TCP Les protocoles de domaines d applications

Dynamic Host Configuration Protocol

Configuration automatique

Algorithmique des Systèmes Répartis Protocoles de Communications

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

Cisco Certified Network Associate

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

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

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

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

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

Réseaux et protocoles Damien Nouvel

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

Introduction aux Technologies de l Internet

Algorithmique et langages du Web

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

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

Les Réseaux. les protocoles TCP/IP

FILTRAGE de PAQUETS NetFilter

U.E. ARES - TD+TME n 1

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

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

Création d un Firewall

Les Réseaux Informatiques

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

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

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

Technologies de l Internet

DIFF AVANCÉE. Samy.

Sécurité et Firewall

DIGITAL NETWORK. Le Idle Host Scan

SSH, le shell sécurisé

Administration UNIX. Le réseau

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

Master e-secure. VoIP. RTP et RTCP

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

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

Configuration automatique

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

Sécurité des réseaux Les attaques

Christian CALECA TCP/IP

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

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

Introduction aux réseaux

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

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

Chapitre 11 : Le Multicast sur IP

Sécurité des réseaux Firewalls

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

Chapitre : Les Protocoles

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

Plan. Programmation Internet Cours 3. Organismes de standardisation

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

Cours CCNA 1. Exercices

SOMMAIRE : CONFIGURATION RESEAU SOUS WINDOWS... 2 INSTRUCTIONS DE TEST DE CONNECTIVITE... 5

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

Alexis Lechervy Université de Caen. M1 Informatique. Réseaux. Filtrage. Bureau S3-203

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

Module 8. Protection des postes de travail Windows 7

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

1. Fonctionnement de l Internet 2. Protocoles applicatifs 3. Programmation réseau

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

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 RESEAUX INFORMATIQUES

TP 1 : LES COMMANDES RESEAUX Matière: RESEAUX LOCAUX

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

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

PowerShield 3 fournit toutes les informations nécessaires pour un diagnostic de premier niveau.

TCP/IP Internet/Intranet/Extranet

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

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

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

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

module Introduction aux réseaux DHCP et codage Polytech / 5

Le protocole SSH (Secure Shell)

Le modèle client-serveur

Administration réseau Firewall

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

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

Les firewalls libres : netfilter, IP Filter et Packet Filter

Transcription:

3 Les protocoles UDP et TCP TCP comme UDP s exécute au-dessus d IP et se fonde sur les services fournis par ce dernier. TCP (Transport Control Protocol) assure un service de transmission de données fiable avec une détection et une correction d erreurs de bout en bout. UDP (User gram Protocol) offre un service de transmission de datagrammes sans connexion. Avec TCP ou UDP, il est possible de remettre des données à des processus d application s exécutant sur une machine distante. Ces processus d application sont identifiés par numéros de port. Une socket (historiquement développé dans Unix BSD) est un point de communication par lequel un processus peut émettre et recevoir des informations. C est la combinaison d une adresse IP et d un numéro de port. La combinaison de sockets définit complètement une connexion TCP ou un échange UDP. Ps (99..3.6, 400) (96.6.3., 80) 400 Numéro de port 80 Ps TCP IP 99..3.6 TCP IP 96.6.3. réseau IP La RFC 060 indique les ports prédéfinis pour les services : 0 : FTP 3 : Telnet 5 : SMTP 53 : DNS 69 : TFTP 80 : HTTP. Protocole UDP : User gram Protocol Le protocole UDP permet aux applications d accéder directement à un service de transmission de datagrammes, tel que le service de transmission qu offre IP. Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 47

Caractéristiques d UDP : UDP possède un mécanisme permettant d identifier les processus d application à l aide de numéros de port UDP. UDP est orienté datagrammes (sans connexion), ce qui évite les problèmes liés à l ouverture, au maintien et à la fermeture des connexions. UDP est efficace pour les applications en diffusion/multidiffusion. Les applications satisfaisant à un modèle du type «interrogation-réponse» peuvent également utiliser UDP. La réponse peut être utilisée comme étant un accusé de réception positif à l interrogation. Si une réponse n est pas reçue dans un certain intervalle de temps, l application envoie simplement une autre interrogation. UDP ne séquence pas les données. La remise conforme des données n est pas garantie. UDP peut éventuellement vérifier l intégrité des données (et des données seulement) avec un total de contrôle. UDP est plus rapide, plus simple et plus efficace que TCP mais il est moins robuste. Le protocole UDP permet une transmission sans connexion, mais aussi sans sécurité. Pourtant de nombreuses applications reposent sur UDP : - TFTP - DNS - NFS - SNMP - RIP L en-tête a une taille fixe de 8 octets. En-tête UDP Données Bits 0 6 3 Source Port Length Destination Port Checksum Le champ Source Port occupe 6 bits. Il indique : - le numéro de port du processus émetteur, - le numéro de port où on peut adresser les réponses lorsque l on ne dispose d aucun autre renseignement. - si sa valeur est 0, cela signifie qu aucun numéro de port n est attribué. Le champ Destination Port identifie le processus correspondant à l adresse IP de destination auquel on envoie les données UDP. UDP effectue le démultiplexage des données à l aide de numéros de port. Lorsqu UDP reçoit un datagramme sans numéro de port, il génère un message d erreur ICMP indiquant qu il est impossible de contacter le port et il rejette le datagramme. Le champ Length contient la longueur du paquet UDP en octets (en-tête + données). La valeur minimale est 8 et correspond à un paquet où le champ de données est vide. Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 48

Le pseudo en-tête de préfixe de l en-tête UDP contient l adresse d origine, l adresse de destination, le protocole (UDP = 7) et la longueur UDP. Ces informations sont destinées à prévenir les erreurs de routage.. Protocole TCP : Transport Control Protocol Les applications utilisent TCP pour garantir une transmission des données fiable. TCP est un protocole fiable, orienté connexion, à flot d octets... Fiabilité L utilisation d un mécanisme appelé PAR (Positive Acknowlegment with Retransmission, Accusé de réception positif avec la retransmission) permet à TCP de garantir des transmissions fiables. Un système utilisant PAR envoie à nouveau les données, à moins que le système à distance ne lui renvoie un message précisant que les données sont arrivées correctement. Emetteur Destinataire Emetteur Destinataire timeout Données Erreur Données non reçues : pas d acquittement L unité utilisée pour l échange de données entre modules TCP coopérants est appelée segment. Chaque segment contient un total de contrôle que le destinataire utilise pour vérifier que les données n ont pas été endommagées pendant leur transmission. Si le segment de données est reçu en parfait état, le récepteur renvoie un accusé de réception positif à l émetteur. Dans la négative, le récepteur élimine ce segment de données. Après un délai d attente déterminé, le module TCP d envoi retransmet les segments pour lesquels aucun accusé de réception positif n a été reçu. Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 49

En-tête Données Bits 0 4 8 6 0 4 8 3 Source Port Destination Port Sequence Number Mots 3 4 offset Reserved Flags Ack Number Window 5 Checksum Urgent Pointer 6 Options Padding TCP est un protocole orienté connexion. Il établit une connexion logique de bout en bout entre deux machines-hôtes communicantes. Une information de contrôle, appelée handshake («poignée de main»), est échangée entre les deux extrémités de manière à établir un dialogue avant de procéder à la transmission des données. TCP active la fonction de contrôle d un segment en mettant à le bit approprié du champ Flags du 4 e mot de l en-tête du segment. TCP utilise un mécanisme de poignée de main mettant en œuvre trois échanges de segment : «three-way handshake». Hôte A Hôte B SYN SYN, ACK ACK, données Le transfert de données a commencé La machine-hôte A établit la connexion en envoyant d abord à la machine-hôte B un segment contenant la séquence de bits «numéro de la séquence de synchronisation» (SYN). Ce segment indique à la machine-hôte B que A souhaite établir une connexion et lui précise le numéro de séquence que A va utiliser comme numéro d initialisation de la transmission de ses segments. (les numéros de séquence sont utilisés pour conserver l ordre des données). La machine-hôte répond à A en lui renvoyant un segment contenant l accusé de réception (ACK) et les bits SYN. Le segment de B accuse réception de la bonne transmission du segment de B et transmet alors les premières données. Une fois cet échange terminé, le TCP de la machine-hôte A constate que le TCP à distance est actif et est prêt à recevoir les données. Après avoir établi la connexion, les données sont transmises. Dès que les transferts de données entre modules coopératifs sont terminés, ils Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 50

échangent alors une poignée de main de type Three-way handshake dont les segments contiennent le bit «plus aucune donnée à transmettre» (appelé le bit FIN) pour indiquer la fin de la connexion. L échange de données bout en bout assure la connexion logique entre les deux systèmes... Transfert de données de base TCP se représente les données qu il envoie sous la forme d un flot continu d octets et non sous la forme de paquets indépendants. Par conséquent, TCP veille à maintenir l ordre dans lequel les octets ont été transmis et reçus. Les champs Sequence Number et Ack Number de l en-tête du segment TCP prennent en charge le suivi des octets. Le standard TCP n exige pas que les octets de numérotation de départ de chaque système correspondent à un nombre déterminé ; chaque système choisit le numéro qu il va utiliser comme élément d initialisation. Pour garantir un suivi correct du flot de données, il convient que chaque extrémité de la connexion connaisse le numéro d initialisation de l autre extrémité. Les deux extrémités de la connexion synchronisent les systèmes de numérotation au niveau de l octet en échangeant les segments SYN pendant «la poignée de main». Le champ Sequence Number du segment SYN contient le numéro de séquence initiale (ISN), qui correspond au numéro d initialisation du système de numérotation des octets (en standard, ISN est égal à 0). 3 bits Source Port Destination Port Emetteur Destinataire Sequence Number Ack Number réseau IP offset Reserved Checksum Flags Options Window Urgent Pointer Padding SYN=, ACK=0, SEQ# = x SYN=, ACK=, SEQ# = y, ACK# = x + SYN=0, ACK=, SEQ# = x +, ACK# = y + Three-way handshake U R G A C K P S H R S T S Y N F I N... ACK=, PSH=, SEQ# = 000, ACK# = 3000 60 octets URG : tenir compte du champ Urgent Pointer ACK : tenir compte du champ Acknowledgment Number PSH : délivrer immédiatement les données au processus de couche supérieure RST (reset) : réinitialiser la connexion 0 octets ACK=, PSH=, SEQ# = 3000, ACK# = 060 ACK=, PSH=, SEQ# = 060, ACK# = 300 ACK=, PSH=, SEQ# = 300, ACK# = 090... 30 octets SYN : établir une connexion FIN : terminer la connexion Chaque octet de données est numéroté séquentiellement à partir du numéro ISN, de sorte que le numéro de séquence du premier octet de données envoyé est le suivant : ISN + (généralement ). Le numéro de séquence contenu dans l en-tête d un segment de données permet d identifier la position séquentielle du premier octet de données d un segment appartenant à un flot de données déterminé. Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 5

Exemple : si le premier octet du flot de données portait le numéro de séquence (ISN=0) et que 4000 octets de données ont déjà été transférés, la longueur du premier octet de données du segment courant est alors 400 octets et le numéro de séquence correspond à 400. Le segment d accusé de réception (ACK) exécute deux fonctions - l accusé de réception positif et le contrôle de flux. L accusé de réception indique à l émetteur le nombre d octets de données déjà reçus ainsi que le nombre d octets de données que peut encore recevoir le récepteur. Le numéro de l accusé de réception correspond au numéro de séquence du dernier octet reçu à l extrémité à distance. Le protocole standard ne requiert pas l envoi d un accusé de réception pour chaque paquet. Le numéro de l accusé de réception correspond à un accusé de réception positif dont le numéro est égal au nombre d octets transmis. Exemple : si le numéro du premier octet transmis est et que 000 octets ont été reçus correctement, le numéro de l accusé de réception est : 000..3. Contrôle de flux Les machines qui émettent et reçoivent des segments de données TCP ne le font pas toutes au même rythme. Il peut donc arriver que l émetteur envoie ses données beaucoup plus rapidement que le récepteur ne peut les gérer. C est pourquoi TCP implémente un mécanisme de contrôle de flux de données. Le champ Window contient le nombre d octets que l extrémité à distance peut recevoir. Si le récepteur peut recevoir encore 6000 octets, le champ Window est alors égal à 6000 octets. Ce champ indique à l émetteur qu il peut poursuivre l envoi de segments tant que le nombre total d octets envoyés est inférieur au nombre d octets que peut accepter le récepteur. Celui-ci procède au contrôle du flux d octets provenant de l émetteur en modifiant la taille de la fenêtre. Une fenêtre de taille nulle indique à l émetteur d interrompre la transmission jusqu à ce qu il reçoive une valeur de fenêtre non nulle. Fenêtre 6000 Données reçues Segment en cours 00 00 300 400 500 600 700 Numéro de séquence initiale 0 Numéro de l accusé de réception 000 Numéro de séquence 400 L émetteur envoie un flot de données TCP commençant par un numéro de séquence d initialisation égal à 0. Le récepteur a reçu 000 octets et en a accusé réception, de sorte que le numéro effectif de l accusé de réception est 000. Le récepteur dispose également d un espace en mémoire tampon suffisant pour stocker 6000 octets de plus ; il a dès lors inséré une fenêtre correspondant à 6000 octets. L émetteur transmet alors un segment de 000 octets commençant par le numéro de séquence 400. Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 5

L émetteur n a reçu aucun accusé de réception pour les octets situés au-delà de 00. Toutefois, il continue d envoyer des données tant que la fenêtre peut les accepter. Si l émetteur remplit la fenêtre et ne reçoit aucun accusé de réception concernant les données précédemment envoyées, il renvoie, après un certain délai, les données à partir d un premier octet sans accusé de réception. La retransmission devrait commencer à partir de l octet 00, pour autant qu aucun accusé de réception n ait été reçu entre-temps. Cette procédure garantit que l extrémité à distance du réseau a réceptionné les données transmises..4. Muliplexage TCP peut servir simultanément à plusieurs processus de la même machine par multiplexage. Ces processus communiquent par la même interface réseau et partagent donc la même adresse IP que l interface réseau. TCP associe un numéro de port à chaque application qui utilise ses services. Une connexion s établit entre le numéro de port de l émetteur et celui du récepteur. On appelle cela les extrémités (end points) de la connexion : une extrémité est définie par une paire de valeurs : l adresse IP et le numéro de port. Les numéros des ports source et de destination sont contenus dans le premier mot de l en-tête du segment. TCP peut de plus transmettre les données sur une connexion dans un sens ou dans l autre (connexion full duplex). Périodiquement une RFC décrit les numéros de ports usuels. Les numéros compris entre 0 et 03 sont réservés et sont les numéros de port usuels. HTTP SMTP SSH DNS SNMP DHCP port=80 port=5 port= port=53 port=6 port=67/68 proto=6 TCP UDP proto=7 ICMP proto= type=0x800 IP ARP type=0x806 Ethernet Les protocoles UDP et TCP Christian Bulfone / Licence MIASS 53