Ignorer la navigation

Couche transport: TCP et UDP

Déroulement d'un échange TCP

https://cisco.goffinet.org/ccna/fondamentaux/modeles-tcp-ip-osi/

Connexion

TCP est un protocole connecté. D'abord le client doit obtenir une connexion auprès d'un serveur en utilisant un port.

La transaction est une "poignée de main" en  temps: SYN - SYN/ACK et ACK.

Transfert de données

Une fois connecté, le client et le serveur peuvent échanger des données, les numéros de séquence étant utilisés afin d’ordonner les segments TCP reçus et de détecter les données perdues.

Le numéro d’acquittement est le numéro de séquence attendu du partenaire de communication.

ACK+1 signifie: "j’ai reçu les premiers segments donne-moi la suite".

La perte d’un segment est gérée par TCP en utilisant un mécanisme de temporisation et de retransmission. Après l’envoi d’un segment, TCP va attendre un certain temps la réception du ACK correspondant. 

Fermeture de la connexion

La fermeture de la connexion sera réalisée de chaque côté de la connexion et acquittée.

Comparaison TCP et UDP

Cette page affiche les trames échangées entre 2 machines. En sélectionnant un trame on obtient le détail par couche ou protocole.

2 PC communiquent simplement:

PC2 envoie: "A"
PC1 répond "A"

Analyser l'échange avec TCP, pour cela retrouver:

  • les adresses IP et ports utilisés par les 2 PC,
  • la phase de connexion,
  • les échanges de données,
  • la fermeture de la connexion.

Comparer avec le même échange avec le protocole UDP.

TCP et UDP en action

Sélectionner "HTTP et DNS" sur la page précédente.

L'échange a été capté pendant l'ouverture d'une page web. On peut y voir une transaction DNS puis une transaction HTTP.

  • Repérer les échanges DNS,
  • Identifier les adresses IP du PC, du serveur DNS et du serveur HTTP,
  • Quel est le protocole de la couche transport utilisé pour supporter DNS?
  • Quels sont les numéros de ports utilisés côté client et serveur?
  • Repérer l'échange HTTP. Il doit être de la forme ci-dessous:

HTTP GET request and reply over TCP.

  • Quel est le protocole de la couche transport utilisé pour supporter HTTP?
  • Quels sont les numéros de ports utilisés côté client et serveur?
  • Retrouver l'ouverture fermeture de la session TCP
  • Retrouver l'échange HTTP. 
  • En sélectionnant la requête GET, rechercher la taille du segment TCP (Len:??). Combien de segments sont utilisés pour transmettre le requête HTTP GET?
  • En sélectionnant la réponse HTTP, déterminer le nombre de segments TCP utilisés pour transporter la réponse.