Vous êtes sur la page 1sur 82

Protocoles TCP/IP, UDP/IP

Les Protocoles TCP/IP, UDP/IP

 Les protocoles TCP, UDP et IP sont les principaux


protocoles au niveau réseaux et transport permettant à
internet d’exister.
Couche IP

 Version (4bits) : La version


d’IP utilisée. 4 pour IPV4.

Format d’un datagramme IP


Couche IP

 Longueur d’entête (4bits) :


Longueur d'En-Tête en nombre
de mots de 32 bits.

Entre 5 et 15

Format d’un datagramme IP


Couche IP
 Type de service (8bits) : Qualité
de service.

 Priorité (3bits) : Il indique la priorité que


possède le paquet.
000 – Routine, 001 – Prioritaire,
010 –Immédiat, 011 – Urgent,
100 –Très Urgent, 101 – Critique,
110 – Supervision Interconnexion,
111 – Supervision réseau.

 Délai (1bit): Il indique l’importance du délai


d’acheminement du paquet.
0 – Normal, 1- Bas.

 Débit (1bit): Il indique l’importance du débit


acheminé.
0 – Normal, 1- Haut.

 Fiabilité (1bit): Il indique l’importance de la


qualité du paquet.
0 – Normal, 1- Haut.

 Coût (1bit): Il indique le coût du paquet.


0- Normal, 1- Haut.

 MBZ (1bit): il doit être mis à 0.

Format d’un datagramme IP


Couche IP

 Longueur totale (16bits) :


taille (entête + données) en
octet.

Format d’un datagramme IP


Couche IP

 Identification (16bits) : id des


fragments d'un même paquet.

Format d’un datagramme IP


Couche IP

 Flags (3bits) : Indicateurs de


fragmentation.
 Bit 0 : réservé, doit être à zéro.

 Bit 1 : (DF)
0 = Fragmentation possible,
1 = Non fractionnable.

Bit 2 :(MF)
0 = Dernier fragment,
1 = Fragment intermédiaire.

Format d’un datagramme IP


Couche IP

 Déplacement (13bits) : Fragment Offset

Position du fragment par


rapport au paquet de départ, en
nombre de mots de 8 octets.

Format d’un datagramme IP


Couche IP

 Durée de vie (TTL) (8 bits) : du


paquet dans le réseau.

Format d’un datagramme IP


Couche IP

 Protocole (8 bits) : type du


protocole de niveau supérieur.
 1 : ICMP.
 2 : IGMP.
 8 : EGP.
 9 : IGP.

 17 : UDP.

 6 : TCP.

Format d’un datagramme IP


Couche IP

 Somme de contrôle entête (16 bits) : Header Checksum


code de contrôle d’erreur pour l’entête.

Format d’un datagramme IP


Couche IP

 Adresse source (32 bits) : IP


de la machine source.

Format d’un datagramme IP


Couche IP

 Adresse destination (32 bits) :


IP de la machine destination.

Format d’un datagramme IP


Couche IP

 Options (0- 40 octets) :


Facultatif, permet de
personnaliser encore plus le
l’entête IP.

Format d’un datagramme IP


Couche IP

 Bourrage (Padding) : De taille


variable comprise entre 0 et 7
bits. Il permet de combler avec
des bits à 0 le champ option
afin d’obtenir une entête IP
multiple de 32 bits.

Format d’un datagramme IP


Couche IP

 Données : Données de la
couche supérieure (TCP, UDP,
ICMP, etc.).

Format d’un datagramme IP


Couche IP

 Le standard spécifie une taille maximale 216 – 1 = 65535.

 Un réseau peut enforcer sa taille maximale à travers le MTU (Maximum Transfer


Unit).

 Le datagramme IP doit être fragmenté pour être transmis sur le réseau.

Fragmentation des datagrammes IP


Couche IP

Exemple

Fragmentation des datagrammes IP


Couche IP

Exemple

Fragment 1

Fragmentation des datagrammes IP


Couche IP

Exemple

Fragment 1

Fragmentation des datagrammes IP


Couche IP

Exemple
Fragment 2

Fragmentation des datagrammes IP


Couche IP

Exemple
Fragment 2

Fragmentation des datagrammes IP


Couche IP

Exemple

Fragmentation des datagrammes IP


Couche IP

 ARP (Address Resolution Protocol) est un protocole réseau qui permet à un hôte
de connaitre l’adresse physique (e.g. MAC) associée à une adresse logique (e.g.
IPV4).

 Il est utilisé pour connaitre vers quel hôte du réseau physique un paquet IP doit
être envoyé.

Protocole ARP
Couche IP

Paquet ARP

Protocole ARP
Couche IP

@MAC: 00-0d-88-c7-9a-24 @MAC: 00-08-a3-b6-ce-04 @MAC: 00-0d-56-09-fb-d1


@IP: 10.10.0.5 @IP: 10.10.0.2 @IP: 10.10.0.3

Cache ARP

1. Le routeur consulte sa table de


@MAC: 00-12-3f-d4-6d-1b
@IP: 10.10.0.4
correspondance IP->MAC pour
l’adresse 10.0.0.2

Protocole ARP
Couche IP

@MAC: 00-0d-88-c7-9a-24 @MAC: 00-08-a3-b6-ce-04 @MAC: 00-0d-56-09-fb-d1


@MAC: 00-0b-63-d7-9d-54 @IP: 10.10.0.5 @IP: 10.10.0.2 @IP: 10.10.0.3
@IP: 10.10.0.1

Cache ARP

2. A émet une requête ARP (contenant l'@IP


@MAC: 00-12-3f-d4-6d-1b 10.10.0.2) en broadcast.
@IP: 10.10.0.4
3. A, B, C et D comparent cette adresse
logique à la leur

Protocole ARP
Couche IP

@MAC: 00-0d-88-c7-9a-24 @MAC: 00-08-a3-b6-ce-04 @MAC: 00-0d-56-09-fb-d1


@MAC: 00-0b-63-d7-9d-54 @IP: 10.10.0.5 @IP: 10.10.0.2 @IP: 10.10.0.3
@IP: 10.10.0.1

Cache ARP

4. B répond en envoyant son


@MAC: 00-12-3f-d4-6d-1b
@IP: 10.10.0.4
adresse MAC

Protocole ARP
Couche IP

@MAC: 00-0d-88-c7-9a-24 @MAC: 00-08-a3-b6-ce-04 @MAC: 00-0d-56-09-fb-d1


@IP: 10.10.0.5 @IP: 10.10.0.2 @IP: 10.10.0.3

Cache ARP

4. Le routeur mis à jour son cache ARP.


@MAC: 00-12-3f-d4-6d-1b 5. Les paquets IPs à destination de 10.10.0.2 sont à envoyés
@IP: 10.10.0.4
à l’@ physique de B dans la trame Ethernet.

Protocole ARP
Couche IP

 ICMP - Internet Control and Error Message Protocol permet le contrôle d’erreur de
transmission (e.g. Inaccessibilité de la machine ou du réseau)
 Le protocole IP ne permet que l’envoi de données et c’est ICMP qui permet à un
hôte de savoir s’il y’a une erreur de transmission de son paquet.
 ICMP permet aussi de vérifier l’accessibilité à un réseau ou une machine à travers
la requête ECHO (utilisé par l’utilitaire ping).

Protocole ICMP
Couche Transport

 La couche transport permet de créer une liaison de


communication logique entre des applications qui
s’exécutent dans des hôtes distants.

 Les protocoles de la couche transport s’exécutent aux


extrémités du réseau.

Services et protocoles de la couche


Couche Transport

 Dans la couche transport, le numéro de port permet de multiplexer à l’envoi et de


démultiplexer à la réception les données à destination d’application différentes
derrière la même adresse IP.
 Dans l’exemple, P1 et P2 utilise des ports différents qui permettent de recevoir les
données de P3 et P4 selon le port destination dans le paquet de la couche
transport.

Notion des ports


Couche Transport

Introduction
 UDP est un protocole de la couche transport :
 Sans délai de connexion.
 Simple et plus rapide.
 Pas de gestion des pertes de données à l’inverse du TCP. L’application doit ajouter des mécanismes pour
compenser.
 UDP est souvent utilisé pour les applications multimédias (streaming audio/vidéo).
 Tolérant aux pertes.
 Sensible au débit.

Protocole UDP
Couche Transport

Paquet UDP
 Port source : Numéro de port de
l’application émettrice du paquet.
 Port destination : Numéro de port de
l’application destinataire.
 Longueur : Longueur entête + Données.
 Minimum 8 octets.
 Maximum 65 535.
 Somme de contrôle : code contrôle des
erreurs.

Protocole UDP
Couche Transport

 TCP est un protocole de la couche transport :


 Réception garantie des données.
 Réémission des données en cas d’erreurs.
 Réassemblage des données transmises dans différentes segments TCP dans le bon
ordre.
 Contrôle du flot de données pour ne pas saturer le réseau.
 Communication en mode connecté.
 Ouverture d’un canal.
 Communication Full-Duplex.
 Fermeture du canal.

Protocole TCP
Couche Transport

Paquet TCP
 Port Source (2 octets) : Numéro de
port de l'application émettrice.

Protocole TCP
Couche Transport

Paquet TCP
 Port Destination (2 octets) : Numéro
de port de l'application réceptrice.

Protocole TCP
Couche Transport

Paquet TCP
 Numéro de Séquence (NS) (4 octets)
: Position du premier octet du segment
à transmettre. Si le flag SYN = 1, NS =
ISN (Initial Sequence Number) ou le
numéro de séquence initial.

Protocole TCP
Couche Transport

Paquet TCP
 Numéro de Séquence acquitté (NR)
(4 octets) : Numéro du prochain octet
attendu.

Protocole TCP
Couche Transport

Paquet TCP
 Longueur entête (LET) (4 bits) :
Longueur de l'en-tête en multiple de 4
octets.

Protocole TCP
Couche Transport

Paquet TCP
 Réservé (6 bits) : Champ réservé.

Protocole TCP
Couche Transport

Paquet TCP
 Flag URG : Si 1, le paquet doit être géré
de façon urgente (Utilisé conjointement
avec le pointeur d’urgence).

Protocole TCP
Couche Transport

Paquet TCP
 Flag ACK : Si 1, le paquet est un accusé
de réception. Le champ NR
représentera le numéro de séquence
attendu après ceux acquittés.

Protocole TCP
Couche Transport

Paquet TCP
 Flag PSH : Si 1, les données collectées
doivent être transmises à l’application
sans attendre les données qui suivent.

Protocole TCP
Couche Transport

 Flag RST : Si 1, la connexion est Paquet TCP


réinitialisée.

Protocole TCP
Couche Transport

Paquet TCP
 Flag SYN : Si 1, il indique une demande
d'établissement de connexion.

Protocole TCP
Couche Transport

Paquet TCP
 Flag FIN : Si 1, il indique la fin de
connexion.

Protocole TCP
Couche Transport

Paquet TCP
 Taille fenêtre (2 octets) : Le nombre
d’octets que le récepteur peut recevoir
sans acquittement.

Protocole TCP
Couche Transport

Paquet TCP
 Somme de contrôle entête (2 octets)
: Il permet de vérifier l’intégrité de
l’entête.

Protocole TCP
Couche Transport

Paquet TCP
 Pointeur d’urgence (2 octets) : Il
indique combien de données du
segment, à partir du premier octet sont
urgentes (Utilisé conjointement avec le
flag URG).

Protocole TCP
Couche Transport

Paquet TCP
 Options (0- 40 octets) : Facultatif,
permet de personnaliser encore plus le
l’entête TCP.

Protocole TCP
Couche Transport

Paquet TCP
 Bourrage : De taille variable comprise
entre 0 et 7 bits. Il permet de combler
avec des bits à 0 le champ option afin
d’obtenir une entête TCP multiple de 32
bits.

Protocole TCP
Couche Transport

 Données : Données de la couche Paquet TCP


supérieure.

Protocole TCP
Couche Transport

Etablissement de connexion
 A est le client et B le serveur.
 Les ports TCPs ouverts.
 Application sur le serveur à l’écoute.
 Application sur le client fait une requête.

Protocole TCP
Couche Transport

Etablissement de connexion
 Client : Demande de connexion.
 SYN = 1, ACK = 0, ISNclient = x (Séquence initiale
aléatoire du client).

Protocole TCP
Couche Transport

Etablissement de connexion
 Serveur : Acceptation de la connexion.
 SYN = 1, ACK = 1, NRclient = x+1, ISNserveur = y
(Séquence initiale aléatoire du serveur).

Protocole TCP
Couche Transport

Etablissement de connexion
 Client : Accusé de réception.
 SYN = 0, ACK = 1, NRserveur = y+1.

Protocole TCP
Couche Transport

Transfert des données


 Après l’établissement de la connexion, les
application client et serveur communiquent en full
duplex, ils envoyer et recevoir des données.

Protocole TCP
Couche Transport

Transfert des données


 L’application client envoi 10 octets et acquitte la
réception jusqu’au numéro de séquence 202.
Envoi de
10 Octets

Protocole TCP
Couche Transport

Transfert des données


 L’application serveur envoi 20 octets et acquitte la réception
des 10 octets jusqu’au numéro de séquence 65.

Envoi de
20 Octets

Protocole TCP
Couche Transport

Transfert des données


 L’application client envoi 10 octets et acquitte la réception
des 20 octets jusqu’au numéro de séquence 222.

Envoi de
10 Octets

Protocole TCP
Couche Transport

Transfert des données


 L’application serveur envoi 2 octets et acquitte la réception
des 20 octets jusqu’au numéro de séquence 75.

Envoi de
2 Octets

Protocole TCP
Couche Transport

Fiabilité des transferts


 Dans le protocole TCP, les pertes de segments sont
détectées par absence d’acquittement positif après un
timeout.

Protocole TCP
Couche Transport

Fiabilité des transferts


 L’application A émet 8 octets de données.

Protocole TCP
Couche Transport

Fiabilité des transferts


 L’acquittement de l’application B est perdu dans le réseau.

Protocole TCP
Couche Transport

Fiabilité des transferts


 Après un timeout pour la réception d’un acquittement,
l’application A suppose que B n’a pas reçu le segment TCP
et le renvoi.

Protocole TCP
Couche Transport

Fiabilité des transferts


 l’application A reçoit cette fois-ci l’acquittement. Ainsi, la fiabilité
du transfert du segment est garantie.

Protocole TCP
Couche Transport

Fiabilité des transferts


 l’application A reçoit cette fois-ci l’acquittement. Ainsi, la fiabilité
du transfert du segment est garantie.

Protocole TCP
Couche Transport

Fin de connexion
 L’application A ou B peut décider de mettre fin à la conversation.

Protocole TCP
Couche Transport

Fin de connexion
 A demande la fin de connexion
 FIN=1.

Protocole TCP
Couche Transport

Fin de connexion
 L’application B acquitte la demande de l’application A.
 ACK = 1, NRA = x + 1

Protocole TCP
Couche Transport

Fin de connexion
 Après que l’application B ait envoyé ses données en attente et
reçoit l’acquittement, il demande la fin de la connexion.
 FIN=1

Protocole TCP
Couche Transport

Fin de connexion
 L’application A acquitte la fin de la connexion.
 ACK = 1, NRB = y + 1

Protocole TCP
Couche Transport

Fenêtre glissante
 Sans contrôle du flux TCP, il y’a gaspillage de la bande passante :
 Envoi de données excessives.
 Attente excessive pour la confirmation de la réception des données.

Protocole TCP
Couche Transport

Fenêtre glissante

Dernier numéro de
séquence acquitté
 L’application B a acquitté jusqu’au numéro de
séquence 44.

 Comme la taille de la fenêtre est 4, A ne peut


envoyer que 4 octets de segments TCPs sans
acquittement.

Protocole TCP
Couche Transport

Fenêtre glissante
 L’application A envoi une donnée avec le
numéro de séquence 45 (inclut dans la fenêtre
actuelle).

Protocole TCP
Couche Transport

Fenêtre glissante
 L’application A envoi une donnée avec le
numéro de séquence 46 (inclut dans la fenêtre
actuelle).

Protocole TCP
Couche Transport

Fenêtre glissante
 L’application A envoi une donnée avec le
numéro de séquence 47 (inclut dans la fenêtre
actuelle).

Protocole TCP
Couche Transport

Fenêtre glissante
 L’application A envoi une donnée avec le
numéro de séquence 48 (inclut dans la fenêtre
actuelle).

Protocole TCP
Couche Transport

Fenêtre glissante
 L’application A a épuisé la fenêtre et attend
l’acquittement de l’application B pour envoyer
des données à nouveau.

Protocole TCP
Couche Transport

Fenêtre glissante
 L’application A envoi une donnée avec le
numéro de séquence 49 qui est inclut dans la
nouvelle fenêtre.

Protocole TCP

Vous aimerez peut-être aussi