Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Dpartement IRIS
http://www.diderot.org
COURS RESEAUX
TCP/IP
Description courte
Auteur
G.VALET
Version - Date
Version 1.9 - Jan 2012
Nom du fichier
chap4-tcpip
COURS RESEAUX
TCP/IP
Sommaire
A. INTRODUCTION ............................................................................................................................................................................ 4
B. LE MODELE TCP/IP ...................................................................................................................................................................... 5
B.1. Les 4 couches ................................................................................................................................................................... 5
B.2. Correspondance entre OSI TCP/IP ................................................................................................................................. 5
B.3. Lencapsulation ................................................................................................................................................................ 6
B.4. Les rles des diffrentes couches ..................................................................................................................................... 6
a. La couche Accs rseau.......................................................................................................................................................................6
b. La couche Internet ..............................................................................................................................................................................6
c. La couche Transport ............................................................................................................................................................................7
d. La couche Application .........................................................................................................................................................................7
C. LE NIVEAU TRAME......................................................................................................................................................................... 8
C.1. Ladresse physique ........................................................................................................................................................... 8
a. Ladresse MAC Ethernet ......................................................................................................................................................................8
2 / 47
COURS RESEAUX
TCP/IP
a. Introduction ......................................................................................................................................................................................32
b. RIP (Routing Information Protocol) ...................................................................................................................................................32
c. OSPF (Open Shortest Path First) ........................................................................................................................................................33
d. Les autres protocoles de routage .....................................................................................................................................................33
3 / 47
COURS RESEAUX
TCP/IP
A. Introduction
Appel galement Modle Dod ou Darpa , le modle TCP/IP a t initialement dvelopp par
lagence ARPA (Advanced Research Projects Agency) sous le nom Arpanet . Destin une utilisation
militaire, TCP/IP est devenu un standard aussi bien au niveau des rseaux locaux que des rseaux tendus
comme lInternet. De ce fait, il est trs important de comprendre les mcanismes et les protocoles qui
interagissent avec les diffrentes couches du modle OSI.
Le modle TCP/IP correspond une simplification du modle OSI plus pragmatique et reprsentatif des
technologies existantes.
Indpendamment des types de rseaux (ATM, Ethernet ou FDDI), on parle de rseau TCP/IP lorsque la
famille de protocoles TCP/IP est utilise.
Notons par exemple lexistence de technologies passerelles permettant { des rseaux non IP dassurer
la transmission de donnes IP ( IP sur ATM par exemple)
4 / 47
COURS RESEAUX
TCP/IP
B. Le modle TCP/IP
Il existe une diffrence essentielle entre le modle et son implmentation. TCP/IP est en fait les deux la
fois. Il fait rfrence 2 notions bien distinctes :
La notion de modle bas sur des couches (comme le modle OSI)
La notion dimplmentation : TCP/IP est une appellation souvent tendue aux logiciels bass sur
les protocoles TCP/IP. Nanmoins, les applications TCP/IP sont en fait des logiciels implmentant
le modle TCP/IP
Le modle TCP/IP sinspire beaucoup du modle OSI. Ceci est du au fait quils ont t mis en uvre peu
prs au mme moment.
Le nom TCP/IP provient des deux protocoles principaux de ce modle : TCP (Transmission Control
Protocol) et IP (Internet Protocol)
Ce modle est celui adopt par le rseau mondial Internet.
Les 3 dernires couches OSI sont confondues dans la couche Application. Il en va de mme pour les 2
premires couches avec la couche Accs rseau.
TCP/IP - G.VALET Reproduction interdite
5 / 47
COURS RESEAUX
TCP/IP
B.3. Lencapsulation
Le principe de lencapsulation entre les couches sapplique galement TCP/IP (Voir modle OSI)
6 / 47
COURS RESEAUX
TCP/IP
7 / 47
COURS RESEAUX
TCP/IP
C. Le niveau Trame
Le niveau trame fait rfrence la couche 2 du modle OSI. Pour linstant, nous ne parlons pas
directement de TCP/IP qui nintervient qu partir de la couche 3.
A ce niveau, les donnes sont transmises sous la forme de trames. Ces trames sont envoyes et reues
grce la prsence dune adresse physique. Cette adresse physique est utilise pour mener bien la
transmission jusquau destinataire final.
Cette trame de compose de la manire suivante :
Exemple de trame
8 / 47
COURS RESEAUX
TCP/IP
Chaque octet est reprsent par un nombre hexadcimal variant de 00 FF. Voici un exemple dadresse
MAC :
Les bits dune adresse MAC sont transmis de gauche droite sur le support.
7 octets
Suite de 1 et 0
permettant la
synchronisation des
htes
6 octets
6 octets
Type
Donnes
FCS
La trame Ethernet II
Le type de trame prcise si les donnes qui suivent correspondent un trafic de type IP ou de type
ARP (Address Resolution Protocol) que nous verrons plus loin
9 / 47
COURS RESEAUX
TCP/IP
La station 2 connaissant ladresse de lexpditeur peut donc devenir metteur puisquelle connat
ladresse de la station 1
Station 2
00-80-C8-CD-C8-DC
Station 1
00-09-5B-65-BE-40
00-09-5B-65-BE-40
0x800
Donnes
CRC
00-80-C8-CD-C8-DC
MAC Destination
MAC Source
0x800
Donnes
Type
Donnes IP
CRC
10 / 47
COURS RESEAUX
TCP/IP
D. Le niveau paquet
Au-dessus du niveau trame , figure le niveau paquet . Les donnes vont tre fragmentes en petits
lments appels des paquets. Ces paquets doivent tre transports sur dautres rseaux, vers le bon
point de destination et dans les meilleures conditions possibles.
La couche rseau du modle OSI correspond au niveau paquet.
Le niveau paquet introduit la notion dadressage logique. En effet, nous avons vu que les adresses
physiques taient utilises uniquement sur un mme rseau.
Sur les rseaux TCP/IP, ladresse logique est nomme adresse IP . Elle sert didentificateur et est
indpendante de la couche matrielle.
Il existe actuellement 2 versions dIP : IPv4 et IPv6. IPv4 est une ancienne version dIP qui est utilise sur
la majorit des rseaux locaux. IPv6 a t conu pour pallier au manque dadresses disponibles sur le
rseau Internet.
Lunit dinformation la couche rseau est le paquet
11 / 47
COURS RESEAUX
TCP/IP
Principe dadressage IP
c. Et le masque ?
Le masque agit comme un sparateur entre le n de rseau et le n dhte. Le masque est galement
constitu de 4 octets et est souvent associ ladresse IP.
Tous les bits 1 du masque permettent de dfinir chaque bit correspondant de ladresse IP comme un bit
faisant partie du n de rseau. Par opposition, tous les bits 0 du masque permettent de dfinir chaque
bit correspondant de ladresse IP comme un bit faisant partie du n dhte.
Le masque servant faire la sparation en deux parties sur une adresse IP, il est donc indissociable de
celle-ci. Une adresse seule ne voudra rien dire puisqu'on ne saura pas quelle est la partie rseau et quelle
est la partie machine. De la mme faon, un masque seul n'aura pas de valeur puisqu'on n'aura pas
d'adresse sur laquelle l'appliquer. L'adresse IP et le masque sont donc lis l'un l'autre, mme si l'on peut
choisir l'un indpendamment de l'autre.
12 / 47
COURS RESEAUX
TCP/IP
e. Application du masque
Pour que 2 stations puissent communiquer, la rgle est la suivante :
Un ET logique entre ladresse IP et le masque de sous rseaux doit donner le mme rsultat
13 / 47
COURS RESEAUX
TCP/IP
Classe
A
B
C
D
E
Ceci nous amne faire quelques constatations sur le potentiel dadresses et de rseaux dtenu par
chaque classe dadresse :
g. Exemples
83.206.23.134 : Adresse de classe A , netid = 83 , hostid = 206.23.134
190.12.24.56 : Adresse de classe B , netid = 190.12 , hostid = 24.56
192.168.1.5 : Adresse de classe C, netid=192.168.1 , hostid=5
14 / 47
COURS RESEAUX
TCP/IP
Dans lexemple suivant bas sur un classe C, le masque de sous rseaux est de 28 bits, le numro de sous
rseaux sur 3 bits :
15 / 47
COURS RESEAUX
TCP/IP
j. Technique du supernetting
La technique du supernetting consiste en une agrgation de plusieurs classes (La classe C) pour former
des rseaux de taille permettant dviter le gchis dadresses.
Nous avons vu que la technique du subnetting consistait utiliser une partie du hostid pour crer
des sous rseaux. La technique du supernetting consiste utiliser une partie du netid .
En utilisant quelques bits du masque de sous-rseaux, cela revient obtenir plusieurs rseaux dune
mme classe dadresse.
Voici un exemple dun rseau utilisant le supernetting en agrgeant 4 classes C :
Ici, le numro dhte (hostid) est sur 10 bits, soit 2 de plus quun classe C
alors que le numro de rseau est sur 22 bits.
16 / 47
COURS RESEAUX
TCP/IP
Nombre dadresses
16
32
64
128
256
512
1 024
2 048
4 096
8 192
16 384
32 768
65 536
131 072
262 144
524 288
Equivalent classe C
me
1/16
de classe C
me
1/8 de classe C
me
1/4 de classe C
1/2 classe C
1 classe C
2 classes C
4 classes C
8 classes C
16 classes C
32 classes C
64 classes C
128 classes C
256 classes C (1 classe B)
512 classes C
1024 classes C
2048 classes C
17 / 47
COURS RESEAUX
TCP/IP
{0 , <hostid>}
{127 , <quelconque>}
Adresses de classe D
a. {<netid> , 0} : Numro de rseau logique
Cette adresse indique un rseau logique, et donc l'ensemble de ses nuds. Elle ne peut donc tre utilise
ni comme source ni comme destination.
Exemple : 192.168.34.0 ne peut pas tre affecte un hte
b. {<netid> , -1} : Diffusion dirige (Broadcast)
Cette adresse est utilise pour contacter tous les htes dun mme rseau logique. Dans ce cas, un
paquet IP qui a comme destination cette adresse sera envoy tous les htes appartenant au mme
rseau logique (Et sous rseaux)
Exemple : 192.168.34.255
c. {-1 , -1} : Diffusion (broadcast)
Cette adresse est utilise pour contacter tous les htes quels que soient leur rseau logique. Dans ce cas,
un paquet IP qui a comme destination cette adresse sera envoy tous les htes du rseau physique.
Exemple : 255.255.255.255
Bien videmment, la plupart des routeurs sont programms pour ne pas laisser passer ce genre de diffusion
(Imaginez un instant que lon puisse envoyer un message de ce type sur Internet !!!!)
d. {0 , 0} : DHCP et BOOTP
Les protocoles DHCP (Dynamic Host Configuration Protocol) et BOOTP sont prvus pour permettre des
postes qui nont pas dadresse IP den obtenir une automatiquement sans intervention particulire sur la
station.
Cette adresse IP est utilise pour effectuer une demande dadresse IP auprs dun serveur DHCP.
Exemple : 0.0.0.0
e. {0 , <hostid>} : Hte dans tous les rseaux logiques
Un paquet IP envoy avec cette adresse de destination sera envoy tous les htes ayant le mme
numro dhte mais situs dans des rseaux logiques diffrents.
Exemple : 0.0.0.12 concernera 192.168.0.12 et 192.168.23.12 , etc, etc
TCP/IP - G.VALET Reproduction interdite
18 / 47
COURS RESEAUX
TCP/IP
19 / 47
COURS RESEAUX
TCP/IP
a. Le principe
Il existe donc un protocole (ARP) permettant de connatre ladresse MAC partir dune adresse IP :
Rsolution ARP
Lorsque quune station veut dialoguer avec une autre, elle diffuse sur le rseau un message indiquant
quelle souhaite connatre ladresse physique du destinataire. Pour diffuser ce message, elle utilise le
protocole ARP.
20 / 47
COURS RESEAUX
TCP/IP
Pour des raisons videntes de performances, chaque station conserve un cache de toutes les adresses
MAC connues dans les requtes prcdentes, ce qui vite de polluer le rseau de nouvelles demandes
inutiles. (arp a sous windows)
21 / 47
COURS RESEAUX
TCP/IP
Type matriel : Fait rfrence au format de la trame ARP qui dpend fortement des couches
infrieures. (01 : Ethernet, 16 : ATM)
Type de protocole : Nombre sur 2 octets reprsentant le type de protocole de couche 3 utilisant
ARP (0x0800 pour IP)
HLEN : Taille en octet de ladresse matrielle (6 sur Ethernet)
PLEN : Taille en octet de ladresse du protocole (4 pour IP)
Opration : 2 types dopration possible (ARP request , ARP reply)
Adresse MAC du demandeur
Adresse IP du demandeur
Adresse MAC du destinataire (00 :00 :00 :00 :00 :00 lorsque ladresse MAC nest pas encore
connue)
Adresse IP du destinataire
c. Exemple de trame
Voici une trame ARP capture en utilisant un analyseur de protocole (Ethereal) :
22 / 47
COURS RESEAUX
TCP/IP
La rponse ensuite :
e. La table ARP
Afin de ne pas saturer le rseau de requtes ARP inutiles, la totalit des stations et mme les lments
rseau tels que les commutateurs et routeurs gardent un tableau de correspondance entre adresse IP et
MAC dans un cache ARP (station) ou table des adresses MAC (commutateur).
Ce cache doit tre rafraichi priodiquement pour viter la prsence dentres errones dans la table. La
frquence de rafrachissement dpend des types dquipements et peut dans la plupart des cas tre
modifie.
Ces tables peuvent tre statiques ou dynamiques. Seule la table dynamique doit tre rafrachie.
23 / 47
COURS RESEAUX
TCP/IP
D.6. Le protocole IP
Du point de vue de lutilisateur, le rseau Internet est un rseau virtuel unique qui interconnecte toutes
les machines et au travers duquel il peut communiquer (Pujolle Les rseaux)
Ce protocole est charg de dlivrer des paquets vers une destination. Le chemin parcouru par ces
paquets nest pas connu lavance. Ce qui signifie que certains paquets peuvent prendre des routes
diffrentes et donc arriver dans le dsordre. Lmetteur doit ordonnancer ces paquets et le rcepteur
doit r assembler les paquets fragments pour reconstituer le message original.
a. Principe
Ce message original est appel datagramme IP . Ce datagramme qui peut tre de taille variable et sera
fragment pour des raisons de performances. En effet, un routeur charg dorienter un paquet vers un
autre rseau doit pouvoir traiter un nombre important de paquets venant dexpditeurs diffrents.
Il faut trouver un compromis pour :
Allger le travail des routeurs pour quils puissent traiter un maximum de demandes
Minimiser le travail de rassemblage du destinataire
Cest pourquoi nous verrons que pour le routage, chaque rseau dispose dun MTU (Maximum Transfer
Unit) qui prcise la taille maximum dun paquet traversant ce rseau
Fragmenter le datagramme IP revient donc le diviser en plusieurs paquets. Chaque paquet a le mme
format que le datagramme dorigine. Lentte de chaque fragment reprend la plupart des informations de
lentte dorigine.
24 / 47
COURS RESEAUX
TCP/IP
b. Le datagramme IP (IPv4)
Chaque paquet a le format suivant :
32 bits
Version
Longueur
4 bits
Type de service
4 bits
Longueur totale
8 bits
16 bits
Identification
Drapeaux
16 bits
3 bits
Protocole
Emplacement fragment
13 bits
8 bits
16 bits
Adresse IP source
32 bits
Adresse IP destination
32 bits
Paquet IPv4
ladresse
http://www.daemon.org/ip.html#protolist
Somme de contrle derreur (16 bits) : Code de contrle derreur de len-tte (Comme le TTL
varie chaque passage par un routeur, ce code doit tre recalcul chaque fois)
Adresse source et destination (32 bits chacune)
Donnes (<65535 octets) : Donnes du paquet
c. Les drapeaux
Sur 3 bits, le champ drapeau donne des indications sur ltat de fragmentation du paquet :
25 / 47
COURS RESEAUX
TCP/IP
Champ Drapeau
Reserved
Bit rserv toujours
1. Certaines
implmentations le
positionnent 0
DF
MF
Dont
fragment
Lorsquil est 1, ce
bit signifie que les
paquets ne doivent
pas tre fragments
More
Fragment
Lorsquil est 1, ce
bit signifie le paquet
est un fragment et
que dautres
fragments restent
venir
26 / 47
COURS RESEAUX
TCP/IP
D.7. Le routage IP
Il sagit sans l de la pierre angulaire des rseaux TCP/IP. Le routage est une orientation des paquets vers
un rseau de destination. Chaque routeur est connect plusieurs rseaux. Ils maintiennent jour une
table de routage leur permettant de prendre des dcisions en fonction des caractristiques du paquet
orienter.
Exemple de routage
a. Le routage direct
Cest le cas de deux stations situes dans le mme segment de rseau. Il peut sagir aussi dune
communication entre une station et un routeur. Dans ce cas, la table de routage interne de la station est
utilise pour envoyer le paquet directement au destinataire dont ladresse physique aura t connue (via
le protocole ARP)
b. Le routage indirect
Dans ce cas, le routage est plus complexe car il faut dterminer le routeur qui va se charger dorienter le
paquet vers le bon rseau. Cest gnralement le rle de la passerelle par dfaut que tout client peut
utiliser lorsque ladresse IP du destinataire nest pas une adresse IP faisant partie du sous rseau logique.
27 / 47
COURS RESEAUX
TCP/IP
c. La table de routage
Le routage est effectu partir du numro de rseau de ladresse IP de lhte de destination. La table
contient, pour chaque numro de rseau atteindre, ladresse IP du routeur auquel il faut envoyer le
paquet.
Tout paquet destination
du rseau 172.16.0.0/16
sera envoy sur linterface
1
28 / 47
COURS RESEAUX
TCP/IP
29 / 47
COURS RESEAUX
TCP/IP
A contacte son
routeur
Routeur contacte B
B rpond routeur
Routeur transmet
A
Nous avons vu prcdemment que les adresses matrielles (MAC) des stations dun rseau physique ne
sont pas connues par les stations dautres rseaux physiques.
Une station A souhaitant communiquer avec une station B, va donc utiliser ladresse MAC de sa passerelle
par dfaut. De lautre ct, la station B va rpondre en utilisant ladresse MAC de linterface 1 du routeur.
A aucun moment, la station B ne connat ladresse MAC de la station A.
f. MTU (Maximum Transmission Unit)
Dans le cas de transfert de donnes dans un rseau rout, la capacit des routeurs traiter le maximum
de paquets en provenance de sources diffrentes dans un minimum de temps est dterminante.
En effet, un utilisateur donn ne doit monopoliser la bande passante des routeurs en transmettant de
gros fichiers par exemple.
De cette remarque est ne lide de la fragmentation de donnes. Cette fragmentation va permettre
chaque routeur de transfrer des paquets dune taille convenable qui permettra ces quipements de
rpartir quitablement la bande passante.
Le MTU correspond justement la taille maximum dun paquet qui peut tre transfr sur un rseau. Audel de cette taille, le paquet devra tre fragment.
30 / 47
COURS RESEAUX
TCP/IP
31 / 47
COURS RESEAUX
TCP/IP
32 / 47
COURS RESEAUX
TCP/IP
33 / 47
COURS RESEAUX
TCP/IP
Bien quil soit encapsul dans un datagramme IP, ICMP fait partie de la couche rseau.
Voici le contenu dune trame ICMP qui indique les diffrents champs permettant daccder aux
fonctionnalits de ce protocole :
32 bits
Version
Longueur
4 bits
Type de service
4 bits
Longueur totale
8 bits
16 bits
Identification
Drapeaux
16 bits
Emplacement fragment
3 bits
Protocole
13 bits
8 bits
16 bits
Enttes IP
Adresse IP source
32 bits
Adresse IP destination
32 bits
Type
Code
8 bits
8 bits
Identifiant
16 bits
N de squence
16 bits
16 bits
Enttes ICMP
Bourrage ou Donnes
Longueur variable (32 bits minimum)
Datagramme IP + ICMP
34 / 47
COURS RESEAUX
TCP/IP
0
8
4
Code
0
0
0
Nom
Echo-reply
Echo request
Source quench
0
1
2
3
4
Net unreachable
Host unreachable
Protocole unreachable
Port unreachable
5
6
7
8
9
3
10
11
12
13
14
15
0
Pb de
paramt
res
Temps
dpass
Redirections
1
5
2
3
10
0
0
11
12
Description
Rponse une demande dcho
Demande dcho
Volume de donnes trop important.
Lquipement ne parvient pas traiter toutes
les trames
Rseau inaccessible
Hte inaccessible
Protocole inaccessible
Port inaccessible
Fragmentation ncessaire mais le champ DF du
datagramme IP est 1
Echec de routage par la source
Rseau de destination inconnu
Hte de destination inconnue
Machine source isole
Rseau de destination interdit
administrativement
Hte de destination interdite
administrativement
Rseau inaccessible pour ce type de service
35 / 47
Demande
dinformations
COURS RESEAUX
TCP/IP
Bad Length
15
Address Request
16
Address Reply
17
Mask request
18
Mask reply
Le fameux ping utilise le type 8 , code 0 pour lenvoi et le type 0 ,code 0 pour la rponse.
36 / 47
COURS RESEAUX
TCP/IP
37 / 47
COURS RESEAUX
TCP/IP
38 / 47
COURS RESEAUX
TCP/IP
39 / 47
COURS RESEAUX
TCP/IP
a. Messages et segments
Un message est llment que doit transporter TCP. Pour des raisons de performances, TCP est amen
dcomposer le message en segments. Chaque en-tte de segment contient un numro dordre. Ce
numro dordre permet aux fonctions de la couche transport, au niveau de lhte de destination, de
rassembler les segments dans lordre de leur envoi. Lapplication de destination peut ainsi disposer des
donnes sous la forme exacte voulue par lexpditeur.
b. Etablissement et fermeture dune connexion
Avant tout transfert de donnes, une connexion est tablie selon le principe de la poigne de main 3
temps . Chaque segment est mis avec un drapeau prcisant sa signification
1re tape
La station 1 met un segment avec le drapeau SYN (Demande
de connexion).
2me tape
La station 2 rpond en mettant un segment avec le drapeau
SYN/ACK (SYN : La station B envoie elle aussi une demande
douverture de connexion. ACK : Accus de rception de la
demande de connexion prcdente).
3me tape
La station 1 rpond par un segment avec le drapeau ACK
prcisant quelle a reu la confirmation de la demande de
connexion
40 / 47
COURS RESEAUX
TCP/IP
Voici un exemple de 3 segments TCP capturs. On distingue bien ltat des drapeaux TCP :
c. Le numro de squence
Il faut prciser que lors de lchange en 3 tapes, les 2 htes transmettent un numro de squence initial
(ISN : Initial Sequence Number). Ce numro de squence est incrment tout au long de la
communication afin de situer le segment dans la squence transmise. Lorsque n segments sont transmis,
le numro de squence du prochain segment sera gal n+1 :
LISN est un nombre pseudo-alatoire gnr par lmetteur. Ce nombre est cod sur 32 bits. Voici une
capture de trame correspondant linitialisation du numro de squence :
Le
logiciel
de
capture
mentionne un numro de
squence relatif lISN
0 signifie en ralit ISN
41 / 47
COURS RESEAUX
TCP/IP
Dans la suite du cours, il sera plus facile de travailler avec un numro de squence relatif { lISN. Par
exemple, pour un numro de squence relatif de 152, il sagira dans la ralit de ISN + 152
42 / 47
COURS RESEAUX
TCP/IP
Station B
Station A
ISN station A = D003EFA3 (SYN)
ISN station B = B88F9F71 (SYN, ACK)
ACK
e. Accus de rception
En mode connect les deux stations vont adopter le principe de laccus de rception. Les segments
envoys par lmetteur feront lobjet dun accus de rception de la part du rcepteur. Cet accus de
rception se matrialise sous la forme dun segment dont le drapeau ACK est lev ainsi quun numro de
squence indiquant le prochain octet attendu.
Station A
Station B
1
Jenvoie le segment 1
contenant 10 octets
Se g m e
nt 1 (10
octets)
AC K
3
Jenvoie le segment 2
contenant 300 octets
Se g m e n
t 2 (300
AC K
4
Jai bien reu 300 octets
supplmentaires et jattends le 311me
octets (10+300).
Le Numro dacquittement sera = 311
Etc, etc
Principe daccus de rception des donnes
43 / 47
COURS RESEAUX
TCP/IP
f. Contrle de flux
Dans une communication TCP, le nombre daccuss de rception peut devenir trs important. En effet,
pour chaque segment transmis, il faudrait un accus de rception.
Il faut un mcanisme permettant la fois de limiter le nombre daccuss de rception, tout en contrlant
le flux de donnes. Si le rcepteur des donnes nenvoie pas les accuss de rception, lmetteur doit
comprendre quil faut retransmettre les segments perdus mais aussi ralentir le dbit des donnes.
Ce mcanisme, appel Fentre glissante (Window TCP), a pour principe de fixer un nombre maximum
doctets envoyer (Taille de la fentre) sans quil soit ncessaire dmettre un accus
Une station pourra donc mettre plusieurs segments sans attendre un accus de rception. Cest le
rcepteur qui informe lmetteur de sa capacit de rception.
Exemple dune communication sans perte de segments :
44 / 47
COURS RESEAUX
TCP/IP
Station A
Station B
1
Le rcepteur informe lmetteur sur sa
capacit de rception
Taille de fentre = 3500 octets
=3500o
Taille Fentre
Se g m e n t 1
( 1500 octe
ts)
Segment 2 (1
500 octets)
Segment 3 (150
0 octets)
2
Jenvoie les segments 1, 2 et
3 contenant 3500 octets
3
Jai bien reu 3500 octet et jattends le
3501me octets.
Le Numro dacquittement sera = 3501
AC K
Etc, etc
Maintenant supposons quun segment nest pas reu cause dun problme de transmission :
Station A
2
Jenvoie les segments 1, 2 et
3 contenant 3500 octets
Station B
Taille Fentre=3000o
S1 ( 1500 octets)
S2 (1500 octets)
ACK
4
Le segment 3 na pas t reu
S3 ( 1500 octets)
S4 (1500 o)
6
Les segments 3 et 4 sont retransmis
S3 ( 1500 octets)
S4 (1500 o)
ACK
On remarque alors que le rcepteur ajuste la taille de la fentre aprs avoir constat un problme de
rception.
g. Acquittement slectif (SACK)
En cas de perte de segment (Comme dans le cas voqu prcdemment), on saperoit que le segment S4
est transmis 2 fois alors quil a t reu correctement la 1 re fois. Cette situation gnre un trafic
supplmentaire dans un contexte dj perturb. Dans ces conditions le remde peut tre pire que le mal
surtout si la taille de la fentre est grande.
45 / 47
COURS RESEAUX
TCP/IP
La plupart des implmentations TCP actuelles utilisent la technique de lacquittement slectif . Cette
technique autorise lenvoi dacquittements pour des segments non contigus, ce qui permet lmetteur
de retransmettre uniquement les segments perdus et pas ceux qui ont t correctement transmis.
Pour plus dinformation, voir la RFC 2018 (http://www.faqs.org/rfcs/rfc2018.html)
Taille
16 bits
16 bits
32 bits
N Accus
32 bits
Description
Port utilis par lexpditeur du segment
Port du destinataire
Numro de squence du 1er octet de ce segment. Chaque octet est
numrot partir dun numro initial (souvent 1). Il est donc possible de
connatre la position dun octet par rapport une squence complte
Numro du prochain octet recevoir. Lmetteur comprend que tous les
46 / 47
COURS RESEAUX
TCP/IP
Offset
4 bits
Rserv
Drapeaux
6 bits
6 bits
Fentre
16 bits
Checksum
16 bits
Pointeur de donnes
urgentes
16 bits
Options
32 bits avec
bourrage
bourrage
47 / 47