Académique Documents
Professionnel Documents
Culture Documents
MODELE OSI
Dr Lambert KADJO
lamberttanon_k@yahoo.fr
http://www.kadjo-lambert.c4.fr
1
CFTIC-INPHB 2010-2011
LES COUCHES HAUTES DU
MODELE OSI
2
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.1 La notion de port
I. PROTOCOLES DE TRANSPORT
I.1 La notion de port Identification des services
I.2 Le protocole UDP
I.3 Le protocole TCP Au niveau de la couche Internet les datagrammes sont routés d'une machine
à une autre en fonction des bits de l'adresse IP qui identifient le numéro de
réseau. Lors de cette opération aucune distinction n'est faite entre les
II. LA COUCHE SESSION services ou les utilisateurs qui émettent ou reçoivent des datagrammes, ie
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS
tous les datagrammes sont mélangés.
Pour le système Unix, les programmes sont identifiés de manière unique par
un numéro de processus, mais ce numéro est éphémère, non prévisible à
distance, il ne peut servir à cette fonction car les processus sont créés et
détruits dynamiquement sur les machines.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 3
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.1 La notion de port
I. PROTOCOLES DE TRANSPORT
I.1 La notion de port Identification des services
I.2 Le protocole UDP
I.3 Le protocole TCP L'idée est d'associer la destination à la fonction qu'elle remplie. Cette
identification se fait à l'aide d'un entier positif que l'on baptise port.
Le système d'exploitation local a à sa charge de définir le mécanisme qui
II. LA COUCHE SESSION permet à un processus d'accéder à un port.
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS
La plupart des systèmes d'exploitation fournissent le moyen d'un accès
synchrone à un port. Ce logiciel doit alors assurer la possibilité de gérer la
file d'attente des paquets qui arrivent, jusqu'à ce qu'un processus
(Application) les lise. A l'inverse, le système d’exploitation bloque un
processus qui tente de lire une donnée non encore disponible.
Une application qui souhaite communiquer sur le réseau avec une autre
application doit se raccorder à un port, comme le montre le schéma ci-
ESI-INPHB dessous.
GENIE ELECTRIQUE ET
ELECTRONIQUE 4
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.1 La notion de port
I. PROTOCOLES DE TRANSPORT
I.1 La notion de port Identification des services
I.2 Le protocole UDP
I.3 Le protocole TCP - Tous les échanges entre UDP et les processus d'applications ont lieu via les
ports. Avant de pouvoir transmettre un message sur le réseau, chaque
processus d'application doit négocier avec le système d'exploitation pour
II. LA COUCHE SESSION obtenir un port (un numéro de port associé).
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS
- Un port UDP peut être considéré comme une file d'attente. Dans la plupart
des implémentations, quand un port est affecté à un programme d'application
par le système d'exploitation, une file d'attente est créée sur ce port. Cette
file d'attente recevra les messages venant du réseau et à destination de ce
port.
- TCP/IP fixe certains numéros de ports UDP pour les types d'applications
les plus courants. Les autres numéros sont disponibles. Si une application ne
connaît pas le numéro de port d'une application distance à laquelle elle veut
s'adresser, elle peut obtenir ce numéro par un mécanisme de requête /
réponse.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 6
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.1 La notion de port
I. PROTOCOLES DE TRANSPORT
I.1 La notion de port Gestion des numéros de port
I.2 Le protocole UDP
- Historiquement les ports de 1 à 255 sont réservés aux services bien connus,
II. LA COUCHE SESSION plus récemment, ce segment a été élargi à [1,1023].
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS
-Aucune application ne peut s'attribuer durablement et au niveau de
l'Internet un numéro de port dans ce segment, sans en référer à l'IANA, qui
en contrôle l'usage.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 7
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.1 La notion de port
I. PROTOCOLES DE TRANSPORT
I.1 La notion de port Gestion des numéros de port
I.2 Le protocole UDP
C:\Windows\system32\drivers\etc\services
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 9
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.2 Le protocole UDP
I. PROTOCOLES DE TRANSPORT User Datagram Protocol
I.1 La notion de port
I.2 Le protocole UDP - est défini dans la RFC 768.
I.3 Le protocole TCP
-C’est un protocole de transport sans connexion de service applicatif,
émission de messages applicatifs, sans établissement de connexion au
II. LA COUCHE SESSION préalable, l'arrivée des messages ainsi que l’ordonnancement ne sont pas
III . LA COUCHE PRESENTATION garantis.
IV. LA COUCHE APPLICATIONS
-Un paquet UDP est conçu pour être encapsulé dans un datagramme IP et
permettre un échange de données entre deux applications, sans échange
préliminaire.
Ainsi, si les données à transmettre n'obligent pas IP à fragmenter,
un paquet UDP génère un datagramme IP !
I.1 La notion de port Plus particulièrement, les paquets à destination d'une application
I.2 Le protocole UDP UDP sont conservés dans une pile de type FIFO. Si l'application
destinatrice ne les « consomme » pas assez rapidement, les plus
I.3 Le protocole TCP
anciens paquets risquent d'être écrasés par les plus récents. Un
risque supplémentaire (par rapport aux propriétés d'IP déjà connues)
II. LA COUCHE SESSION de perte de données.
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS Il n'y a aucun retour d'information au niveau du protocole pour
apporter un quelconque moyen de contrôle sur le bon acheminement
des données. C'est au niveau applicatif qu'il convient de prendre en
compte cette lacune.
II. LA COUCHE SESSION - Les ports source et destination contiennent les numéros de port utilisés par
III . LA COUCHE PRESENTATION UDP pour démultiplexer les datagrammes destinés aux processus en attente
IV. LA COUCHE APPLICATIONS
de les recevoir. Le port source est facultatif (égal à zéro si non utilisé).
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 12
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.2 Le protocole UDP
I. PROTOCOLES DE TRANSPORT
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 13
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.2 Le protocole UDP
I. PROTOCOLES DE TRANSPORT
II. LA COUCHE SESSION il vérifie que celui-ci est un des ports actuellement actifs (associé à
III . LA COUCHE PRESENTATION une application) et le délivre à l'application responsable (mise en
IV. LA COUCHE APPLICATIONS
queue) ;
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 15
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.2 Le protocole UDP
I. PROTOCOLES DE TRANSPORT
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 16
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT
I.1 La notion de port Transmission Control Protocol
I.2 Le protocole UDP
- est défini dans la RFC 793.
I.3 Le protocole TCP
-Utiliser un service de transport non fiable et sans connexion comme UDP
ne peut convenir pour des programmes d'application transférant de grands
II. LA COUCHE SESSION volumes de données.
III . LA COUCHE PRESENTATION Il faudrait implanter dans les applications des mécanismes de
IV. LA COUCHE APPLICATIONS
contrôle du bon acheminement des messages, de remise dans l'ordre
des messages.
- est un protocole du niveau transport qui permet à une application d'une
machine d'envoyer un flux de données vers une application d'une autre
machine.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 17
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT
I.1 La notion de port Caractéristiques
I.2 Le protocole UDP
- TCP contient un mécanisme pour assurer le bon acheminement des
I.3 Le protocole TCP
données. Cette possibilité est absolument indispensable dès lors que les
applications doivent transmettre de gros volumes de données et de façon
II. LA COUCHE SESSION fiable.
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS -Il faut préciser que les paquets de données sont acquittés de bout en bout et
non de point en point. D'une manière générale le réseau assure
l'acheminement et les extrémités le contrôle.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 18
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT
I.1 La notion de port Caractéristiques
I.2 Le protocole UDP
- Le protocole TCP permet l'établissement d'un circuit virtuel entre les deux
I.3 Le protocole TCP points qui échangent de l'information. On dit aussi que TCP fonctionne en
mode connecté (par opposition à UDP qui est en mode non connecté ou
encore mode datagramme).
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION
Avant le transfert les 2 applications se mettent en relation avec leurs
IV. LA COUCHE APPLICATIONS OS respectifs, les informent de leurs désirs d'établir ou de recevoir une
communication.
Pratiquement, l'une des deux applications doit effectuer un appel
que l'autre doit accepter.
Les protocoles des 2 OS communiquent alors en s'envoyant des
messages au travers du réseau pour vérifier que le transfert est possible
(autorisé) et que les deux applications sont prêtes pour leurs rôles.
Une fois ces préliminaires établis, les modules de protocole
informent les applications respectives que la connexion est établie et
que le transfert peut débuter.
Durant le transfert, le dialogue entre les protocoles continue, pour
ESI-INPHB vérifier le bon acheminement des données.
GENIE ELECTRIQUE ET
ELECTRONIQUE 19
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT
I.1 La notion de port Caractéristiques
I.2 Le protocole UDP
- Conceptuellement, pour établir une connexion -- un circuit virtuel -- il faut
I.3 Le protocole TCP avoir réunis les éléments du quintuplet :
Le protocole : C'est TCP mais il y pourrait y avoir d'autres
transports qui assurent le même service...
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION
IP locale : Adresse de la machine qui émet.
IV. LA COUCHE APPLICATIONS Port local : Le numéro de port associé au processus. Il est imposé ou
est déterminé automatiquement.
IP distante : Adresse de la machine distante.
Port distant : Le numéro de port associé au service à atteindre. Il est
obligatoire de le connaître précisement.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 20
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Caractéristiques
I.1 La notion de port - TCP a la capacité de mémoriser des données :
I.2 Le protocole UDP Aux deux extrémités du circuit virtuel, les applications s'envoient
I.3 Le protocole TCP des volumes de données absolument quelconques, allant de 0 octet à
des centaines (ou plus) de Mo.
À la réception, le protocole délivre les octets exactement comme ils
II. LA COUCHE SESSION ont été envoyés.
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS Le protocole est libre de fragmenter le flux de données en paquets
de tailles adaptées aux réseaux traversés. Il lui incombe cependant
d'effectuer le réassemblage et donc de stocker temporairement les
fragments avant de les présenter dans le bon ordre à l'application.
- TCP est indépendant vis à vis des données transportées, c'est un flux
d'octets non structuré sur lequel il n'agit pas.
TCP simule une connexion en « full duplex ». Pour chacune des deux
applications en connexion par un circuit virtuel, l'opération qui consiste à
lire des données peut s'effectuer indépendamment de celle qui consiste à en
écrire.
Le protocole autorise la clôture du flot dans une direction tandis que l'autre
ESI-INPHB
GENIE ELECTRIQUE ET continue à être active. Le circuit virtuel est rompu quand les deux parties ont
21
ELECTRONIQUE clos le flux.
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Format d’un segment TCP
I.1 La notion de port
I.2 Le protocole UDP
- La figure suivante montre la structure d'un en-tête TCP. Sa taille normale
I.3 Le protocole TCP est de 20 octets, à moins que des options soient présentes.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 22
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Format d’un segment TCP
I.1 La notion de port - TCP SOURCE PORT : Le numéro de port de l'application locale.
I.2 Le protocole UDP -TCP DESTINATION PORT : Le numéro de port de l'application distante.
I.3 Le protocole TCP - SEQUENCE NUMBER : C'est un nombre qui identifie la position des
données à transmettre par rapport au segment original. Au démarrage de
chaque connexion, ce champ contient une valeur non nulle et non facilement
II. LA COUCHE SESSION prévisible, c'est la séquence initiale ou ISN.
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS TCP numérote chaque octet transmis en incrémentant ce nombre de
32 bits non signé. Il repasse à 0 après avoir atteint 232 - 1
(4 294 967 295).
Pour le premier octet des données transmis, ce nombre est incrémenté
de un, et ainsi de suite.
-ACKNOWLEDGEMENT NUMBER : C'est un numéro qui identifie la
position du dernier octet reçu dans le flux entrant. Il doit s'accompagner du
drapeau ACK (voir plus loin).
- OFF : pour OFFSET, il s'agit d'un déplacement qui permet d'atteindre les
données quand il y a des options. Codé sur 4 bits, il s'agit du nombre de
mots de 4 octets qui composent l'en-tête. Le déplacement maximum est donc
de 60 octets (24-1 x 4 octets). Dans le cas d'un en-tête sans option, ce champ
ESI-INPHB
GENIE ELECTRIQUE ET porte la valeur 5. (10 mots de 4 octets sont donc possibles pour les options).
ELECTRONIQUE 23
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Format d’un segment TCP
I.1 La notion de port
- RESERVED : Six bits réservés pour un usage futur (trois bits de poids
I.2 Le protocole UDP
faibles utilisés actuellement (Nonce, cwd, ECN)).
I.3 Le protocole TCP -CODE : Six bits pour influer sur le comportement de TCP en caractérisant
l'usage du segment :
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION
URG Le champ « URGENT POINTER » doit être exploité.
IV. LA COUCHE APPLICATIONS
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 27
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Début et clôture de connexion
I.1 La notion de port
I.2 Le protocole UDP
Établissement d'une connexion
I.3 Le protocole TCP
L'établissement d'une connexion TCP s'effectue en trois temps, comme
le schéma de la figure suivante l'explicite.
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 28
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Début et clôture de connexion
I.1 La notion de port
I.2 Le protocole UDP Établissement d'une connexion
I.3 Le protocole TCP
- On suppose que l'émetteur du premier paquet avec le bit SYN a
connaissance du couple (adresse IP du récepteur, numéro de port du service
II. LA COUCHE SESSION
souhaité).
III . LA COUCHE PRESENTATION -L'émetteur du premier paquet est à l'origine de l'établissement du circuit
IV. LA COUCHE APPLICATIONS
virtuel, c'est une attitude généralement qualifiée de `` cliente ''. On dit aussi
que le client effectue une « ouverture active » (active open).
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 30
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Début et clôture de connexion
I.1 La notion de port
I.2 Le protocole UDP Clôture d'une connexion
I.3 Le protocole TCP
Clôture canonique :
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 32
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Début et clôture de connexion
I.1 La notion de port
I.2 Le protocole UDP Clôture d'une connexion
I.3 Le protocole TCP
Clôture abrupte:
- Ce type d'arrêt est typiquement géré par la couche TCP elle-même quand
l'application est brutalement interrompue sans avoir effectué un appel à la
primitive close(2), comme par exemple lors d'un appel à la primitive
abort(2), ou après avoir rencontré une exception non prise en compte (
« core dump »...).
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 34
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Contrôle du transport
I.1 La notion de port
I.2 Le protocole UDP Mécanisme de l'acquittement
I.3 Le protocole TCP
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 35
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Contrôle du transport :
I.1 La notion de port
Quelques termes
I.2 Le protocole UDP
Le RTT doit donc être inférieur à 2 x MSL. Il est courant sur l'Internet
actuel d'avoir un RTT de l'ordre de la seconde. Ce RTT est la somme des
temps de transit entre chaque routeur et du temps passé dans les diverses
files d'attente sur les routeurs.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 39
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Contrôle du transport
I.1 La notion de port
I.2 Le protocole UDP Fenêtres glissantes
I.3 Le protocole TCP la bande passante du réseau est beaucoup mieux employée.
- Si l'un des paquets doit être réémis, la couche TCP du destinataire aura toute
l'information pour le replacer dans le bon ordre.
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION
- À chaque paquet est associée une horloge
IV. LA COUCHE APPLICATIONS - Le nombre de paquets à envoyer avant d'attendre le premier acquittement est
fonction de deux paramètres :
La largeur de la fenêtre précisée dans le champ WINDOW de l'en-tête.
- Des valeurs courantes sont de l'ordre de 4096, 8192 ou 16384.
Elle change dynamiquement pour deux raisons :
L'application change la taille du « buffer de la socket » qui
correspond à la taille de cette fenêtre.
Chaque acquittement ACK envoyé est assorti d'une nouvelle valeur
de taille de la fenêtre, permettant ainsi à l'émetteur d'ajuster à tout
instant le nombre de segment qu'il peut envoyer simultanément.
Cette valeur peut être nulle, comme par exemple lorsque
ESI-INPHB l'application cesse de lire les données reçues.
GENIE ELECTRIQUE ET C'est ce mécanisme qui assure le contrôle de flux de TCP. 40
ELECTRONIQUE
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Contrôle du transport
I.1 La notion de port
I.2 Le protocole UDP Fenêtres glissantes
I.3 Le protocole TCP
La taille maximale des données, ou MSS (Maximum Segment Size) vaut
512 octets par défaut. C'est la plus grande taille du segment de données que
II. LA COUCHE SESSION
TCP enverra au cours de la session.
III . LA COUCHE PRESENTATION -Le datagramme IP a donc une taille égale au MSS augmentée de 40 octets
IV. LA COUCHE APPLICATIONS
(20 + 20), en l'absence d'option de TCP.
- Chaque couche TCP envoie sa valeur de MSS en même temps que le
paquet de synchronisation, comme une option de l'en-tête. Cette valeur est
calculée pour éviter absolument la fragmentation de IP au départ des
datagrammes.
- Cette option apparaît uniquement dans un paquet assorti du drapeau SYN,
donc à l'établissement de la connexion.
- Comme de bien entendu cette valeur est fortement dépendante du support
physique et plus particulièrement du MTU.
Sur de l'Ethernet II, la valeur maximale est 1500 - 2 x 20 = 1460, avec des
trames l'encapsulation 802.3 de l'IEEE nous avons une longueur de 1452
ESI-INPHB octets.
GENIE ELECTRIQUE ET
ELECTRONIQUE 41
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Contrôle du transport
I.1 La notion de port
I.2 Le protocole UDP Fenêtres glissantes
I.3 Le protocole TCP
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 42
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Contrôle du transport
I.1 La notion de port
I.2 Le protocole UDP Fenêtres glissantes
I.3 Le protocole TCP Le débit obtenu dépend de la taille de la fenêtre et bien sûr de la bande
passante disponible. On conçoit aisément qu'entre la situation de la Fenêtre
glissante et celle de la gestion basique, l'usage de la bande passante
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION s'améliore. Par contre l'agrandissement de la taille de la fenêtre ne se conçoit
IV. LA COUCHE APPLICATIONS que jusqu'à une limite optimale au delà de laquelle des paquets sont perdus
parce qu'envoyés trop rapidement pour être reçus par le destinataire. Or, pour
fonctionner de manière optimale, TCP se doit de limiter au maximum la
perte de paquets et donc leur rémission.
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 43
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Quelques algorithmes de contrôle de congestion
I.1 La notion de port
I.2 Le protocole UDP
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 44
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Quelques algorithmes de contrôle de congestion
I.1 La notion de port
I.2 Le protocole UDP Slow Start
I.3 Le protocole TCP
● But : retrouver rapidement la bande passante disponible
● cwnd = 1
II. LA COUCHE SESSION ● cwnd++ à chaque accusé reçu (cwnd *= 2 à chaque RTT)
III . LA COUCHE PRESENTATION croissance exponentielle de la fenêtre
IV. LA COUCHE APPLICATIONS
● ssthresh = valeur arbitraire
● Si atteinte ssthresh :
– on entre en congestion avoidance
● Si perte :
– ssthresh = cwnd / 2
– cwnd = 1
– on relance le slow start
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 45
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Quelques algorithmes de contrôle de congestion
I.1 La notion de port
I.2 Le protocole UDP Congestion Avoidance
I.3 Le protocole TCP
● But : augmenter le débit en testant gentillement la bande passante
disponible
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION ● Utilisé quand cwnd >= ssthresh
IV. LA COUCHE APPLICATIONS
– quand cwnd < ssthresh, c'est le slow start qui est utilisé
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 46
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Quelques algorithmes de contrôle de congestion
I.1 La notion de port
I.2 Le protocole UDP Fast retransmission
I.3 Le protocole TCP
● But : détecter plus rapidement la perte d'un paquet (et le retransmettre)
● Un paquet est considéré par l'émetteur comme perdu si :
II. LA COUCHE SESSION – pas d'accusé au timeout (=> pertes successives), déjà traité
III . LA COUCHE PRESENTATION – ou bien récéption de N dupacks, N = 3 en gén. (=> perte isolée)
IV. LA COUCHE APPLICATIONS
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 47
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Quelques algorithmes de contrôle de congestion
I.1 La notion de port
I.2 Le protocole UDP Fast recovery
I.3 Le protocole TCP
● ssthresh = cwnd / 2
● cwnd = ssthresh + 3 (“gonflement” de cwnd)
II. LA COUCHE SESSION – envoi éventuel de nouveaux paquets
III . LA COUCHE PRESENTATION – la valeur 3, car 3 paquets accusés
IV. LA COUCHE APPLICATIONS
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 48
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Quelques algorithmes de contrôle de congestion
I.1 La notion de port
I.2 Le protocole UDP Algorithmes plus récents
I.3 Le protocole TCP
● Tahoe : slow start + congestion avoidance + fast retrans
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 49
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Contrôle de la congestion
I.1 La notion de port
I.2 Le protocole UDP Différents mécanismes
I.3 Le protocole TCP ● Contrôle de flux : par rapport au récepteur
– l'émetteur adapte le nombre de paquets envoyés à la
taille du buffer de réception
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION ● Contrôle de congestion : par rapport au réseau
IV. LA COUCHE APPLICATIONS – l'émetteur adapte le débit des données envoyées à la
bande passante instantanée du réseau
– NB : ce n'est pas la taille des paquets, mais leur débit
d'envoi qui change
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 50
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Complément sur le fonctionnement de TCP
I.1 La notion de port
I.2 Le protocole UDP L'usage du protocole TCP diffère considérablement en fonction des
I.3 Le protocole TCP applications mises en œuvre et des réseaux à parcourir.
Pour le trafic en volume (bulk data), TCP tente d'utiliser des paquets les plus
larges possibles pour maximiser le débit, alors que le trafic interactif utilise
des paquets quasiment vides émis le plus souvent à la fréquence de frappe des
utilisateurs ou au rythme des mouvements d'une souris.
Un exemple typique est celui de l'application TELNET pour laquelle les
caractères sont envoyés un à un dans un paquet différent, chaque caractère
étant à l'origine de quatre paquets : émission d'un caractère, acquittement,
ESI-INPHB
GENIE ELECTRIQUE ET retour de l'écho du caractère, acquittement.
ELECTRONIQUE 51
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Encapsulations successives
I.1 La notion de port
I.2 Le protocole UDP TCP s'appuyant sur les couches inférieures pour acheminer les datagrammes
I.3 Le protocole TCP utilisateurs, les encapsulations successives ont lieu :
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 52
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT Exemples d’applications utilisant TCP
I.1 La notion de port
I.2 Le protocole UDP FTP ( File Transfert Protocol )
I.3 Le protocole TCP SMTP (Simple Mail Transport Protocol)
Telnet ( TELetype NETwork )
Les applications X400 (messagerie électronique)
II. LA COUCHE SESSION
III . LA COUCHE PRESENTATION
IV. LA COUCHE APPLICATIONS
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 53
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE TRANSITOIRE : COUCHE
TRANSPORT
I.3 Le protocole TCP
Descriptif des états TCP
• LISTEN (Ecoute) : la connexion reste en attente d'une requête de connexion externe par un TCP
distant. Cet état est atteint après une demande de connexion passive.
• SYN-SENT (SYN émis) : la connexion se met en attente d'une requête de connexion, après avoir
envoyé elle-même une requête à un destinataire.
• SYN-RECEIVED (SYN reçu): les deux requêtes de connexion se sont croisées. La connexion
attend confirmation de son établissement.
• ESTABLISHED (Etablie): la connexion a été confirmée de part et d'autre et les données peuvent
transiter sur la voie de communication. C'est l'état stable actif de la connexion.
• FIN-WAIT-1 (FIN –Attente -1): sur requête de déconnexion émise par l'application, la connexion
demande la confirmation d'une requête de déconnexion qu'elle a elle-même émise vers le distant.
• FIN-WAIT-2 (FIN –Attente -2): la connexion se met en attente d'une requête de déconnexion par le
distant, une fois reçue la confirmation de sa propre requête.
• CLOSE-WAIT (Attente de fermeture): la connexion se met en attente d'une requête de déconnexion
émise par l'application.
• CLOSING (Fermeture en cours) : la connexion attend la confirmation de sa requête de déconnexion
par le TCP distant, lequel avait auparavant émis sa propre requête de déconnexion.
• LAST-ACK (Dernier ACK): la connexion attend la confirmation de sa requête de déconnexion,
émise suite à une requête similaire à l'initiative du distant.
• TIME-WAIT (Temporisation expirée): un temps de latence avant fermeture complète
54
du canal, pour s'assurer que toutes les confirmations ont bien été reçues.
• CLOSED (Fermé): la connexion n'existe plus. C'est un pseudo état.
Machine d'états d'une connexion TCP
CLOSE Passive OPEN
CLOSED Active
Delete TCB : OPEN :
Create TCB Create TCB
Send SYN CLOSE
SEND Delete TCB
receive SYN
send SYN, ACK
receive SYN
SYN RCV send ACK SYN SENT
CLOSING
FIN WAIT 2 LAST ACK
receive ACK of FIN
receive ACK of FIN
RFC 4340
fournit un service d'accusé de réception (donc l'application peut savoir
quels messages sont arrivés) et nécessite une connexion, ce qui permet
de choisir des options. Mais il ne retransmet pas les données perdues,
l'application est juste tenue au courant.
fournit à l'Internet un service de contrôle de la congestion. Il y en a
même plusieurs, choisis lors de la négociation initiale.
ESI-INPHB fournit un service de messages non fiable.
GENIE ELECTRIQUE ET
ELECTRONIQUE 56
2011 - 2012
LES COUCHES
HAUTES DU
MODELE OSI
LA COUCHE SESSION
I. LA COUCHE TRANSITOIRE: LA
COUCHE TRANSPORT
I.1 La notion de port
I.2 Le protocole UDP
ESI-INPHB
GENIE ELECTRIQUE ET
ELECTRONIQUE 57
2011 - 2012