TCP UDP Et Transport De Bout En Bout

CCST Networking (Cisco Certified Support Technician)Introduction to TCPIP

TCP UDP et transport de bout en bout

Définition

TCP (Transmission Control Protocol) et UDP (User Datagram Protocol) sont les deux protocoles majeurs de la couche Transport (Host-to-Host) dans TCP/IP. TCP offre un transport fiable, oriente connexion. UDP offre un transport leger, sans connexion. Les deux utilisent des numeros de port pour multiplexer les applications.

Contexte

CCST demande de connaitre les differences fondamentales entre TCP et UDP, le concept de three-way handshake, les numeros de port well-known et la notion de fiabilite.

Détails techniques

Comparaison TCP vs UDP

Critère TCP UDP
Type Orienté connexion Sans connexion
Fiabilité Oui (ACK, retransmission) Non
Ordre Séquencement garanti Pas de séquencement
Controle de flux Oui (windowing) Non
Overhead 20 octets (en-tete minimum) 8 octets
Vitesse Plus lent (controles) Plus rapide
Exemples HTTP, HTTPS, FTP, SSH, SMTP DNS (requetes), DHCP, TFTP, SNMP, VoIP

Three-way handshake (TCP)

Client                  Serveur
  |                        |
  |---- SYN -------------->|  (1) Le client demande une connexion
  |<--- SYN-ACK -----------|  (2) Le serveur accepte et repond
  |---- ACK -------------->|  (3) Le client confirme
  |                        |
  |==== Connexion etablie ====|
  |                        |
  |<--- DATA / ACK ------->|  (echange de donnees)
  |                        |
  |---- FIN -------------->|  (fermeture)
  |<--- ACK ---------------|  
  |<--- FIN ---------------|  
  |---- ACK -------------->|

Numeros de port

Plage Nom Usage
0 – 1023 Well-known ports Services standards (HTTP=80, SSH=22, DNS=53...)
1024 – 49151 Registered ports Applications enregistrees (MySQL=3306, RDP=3389...)
49152 – 65535 Dynamic / ephemeral Ports source aleatoires attribues par le client

Ports well-known a connaitre pour CCST

Port Protocole Service
20/21 TCP FTP (data / control)
22 TCP SSH / SFTP
23 TCP Telnet
25 TCP SMTP
53 UDP/TCP DNS
67/68 UDP DHCP
69 UDP TFTP
80 TCP HTTP
110 TCP POP3
123 UDP NTP
143 TCP IMAP
161/162 UDP SNMP
443 TCP HTTPS

Socket

Un socket identifie de maniere unique une connexion : IP source : port sourceIP destination : port destination.

Exemple : 192.168.1.10:4920093.184.216.34:443 (HTTPS).

Fiabilite TCP : windowing et ACK

  • Le client envoie N segments avant d'attendre un ACK (fenetre de taille N).
  • Si un segment est perdu, le recepteur signale le dernier segment recu correctement et l'emetteur retransmet.
  • La taille de la fenetre s'ajuste dynamiquement (TCP slow start, congestion avoidance).

Exemple concret

Un navigateur ouvre une page HTTPS. Il etablit d'abord un three-way handshake TCP vers le port 443 du serveur. Puis il negocie TLS. Les donnees HTML sont transmises de facon fiable (chaque segment est acquitte). En parallele, un telephone VoIP utilise UDP sur le port 5060 (SIP) pour la signalisation et les ports RTP (UDP) pour la voix — perdre un paquet voix est preferable a attendre une retransmission TCP.