Vous êtes sur la page 1sur 47

Lyce polyvalent DIDEROT

61, rue David dAngers


75019 PARIS

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

Version 1.9 - Jan 2012

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

C.2. La trame Ethernet ............................................................................................................................................................ 9


a. La trame Ethernet II ............................................................................................................................................................................9

C.3. Communication au niveau trame .................................................................................................................................... 9


D. LE NIVEAU PAQUET ..................................................................................................................................................................... 11
D.1. Ladressage IP (IPv4) ...................................................................................................................................................... 11
a. Pourquoi une adresse IP alors quil existe dj ladresse MAC ? ......................................................................................................11
b. Constitution dune adresse IP ...........................................................................................................................................................12
c. Et le masque ? ...................................................................................................................................................................................12
d. Reprsentation du masque avec un / (/24) ......................................................................................................................................13
e. Application du masque .....................................................................................................................................................................13
f. Les classes dadresses IP ....................................................................................................................................................................14
g. Exemples ...........................................................................................................................................................................................14
h. Les adresses IP publiques et prives .................................................................................................................................................15
i. Technique du subnetting ..............................................................................................................................................................15
j. Technique du supernetting ..........................................................................................................................................................16
k. Adressage sans classe - CIDR (Classless InterDomain Routing) .........................................................................................................16

D.2. Les adresses IP spciales................................................................................................................................................ 17


a. {<netid> , 0} : Numro de rseau logique .........................................................................................................................................18
b. {<netid> , -1} : Diffusion dirige (Broadcast) .....................................................................................................................................18
c. {-1 , -1} : Diffusion (broadcast) ..........................................................................................................................................................18
d. {0 , 0} : DHCP et BOOTP.....................................................................................................................................................................18
e. {0 , <hostid>} : Hte dans tous les rseaux logiques .........................................................................................................................18
f. {127 , <quelconque>} : Adresse de boucle locale ..............................................................................................................................19
g. Adresses de classe D .........................................................................................................................................................................19

D.3. Ladressage IP (IPv6 venir) .......................................................................................................................................... 19


D.4. Le protocole ARP (Address Resolution Protocol) ........................................................................................................... 20
a. Le principe .........................................................................................................................................................................................20
b. Format des messages ARP ................................................................................................................................................................21
c. Exemple de trame .............................................................................................................................................................................22
d. Exemple de squence ARP ................................................................................................................................................................22
e. La table ARP ......................................................................................................................................................................................23

D.5. Le protocole RARP (Reverse ARP) .................................................................................................................................. 23


D.6. Le protocole IP ............................................................................................................................................................... 24
a. Principe .............................................................................................................................................................................................24
b. Le datagramme IP (IPv4) ...................................................................................................................................................................25
c. Les drapeaux .....................................................................................................................................................................................25

D.7. Le routage IP.................................................................................................................................................................. 27


a. Le routage direct ...............................................................................................................................................................................27
b. Le routage indirect ............................................................................................................................................................................27
c. La table de routage............................................................................................................................................................................28
d. Exemple de table de routage ............................................................................................................................................................29
e. Le routage et la couche 2 (MAC) .......................................................................................................................................................29
f. MTU (Maximum Transmission Unit) ..................................................................................................................................................30
g. Le TTL (Time To Live) .........................................................................................................................................................................31

D.8. Les protocoles de routage ............................................................................................................................................. 32

TCP/IP - G.VALET Reproduction interdite

2 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

a. Introduction ......................................................................................................................................................................................32
b. RIP (Routing Information Protocol) ...................................................................................................................................................32
c. OSPF (Open Shortest Path First) ........................................................................................................................................................33
d. Les autres protocoles de routage .....................................................................................................................................................33

D.9. Gestion et contrle ........................................................................................................................................................ 33


a. Le protocole ICMP (Internet Control Message Protocol) ..................................................................................................................33
b. Le protocole IGMP (Internet Group Message Protocol) ...................................................................................................................36

E. LE NIVEAU MESSAGE (TRANSPORT) ................................................................................................................................................ 38


E.1. La notion de port ............................................................................................................................................................ 38
E.2. UDP (User Datagram Protocol) ...................................................................................................................................... 39
E.3. TCP (Transport Control Protocol) ................................................................................................................................... 40
a. Messages et segments ......................................................................................................................................................................40
b. Etablissement et fermeture dune connexion ..................................................................................................................................40
c. Le numro de squence ....................................................................................................................................................................41
d. Deux flux unidirectionnels ................................................................................................................................................................42
e. Accus de rception ..........................................................................................................................................................................43
f. Contrle de flux .................................................................................................................................................................................44
g. Acquittement slectif (SACK) ............................................................................................................................................................45
h. Les drapeaux (Flags) ..........................................................................................................................................................................46
i. Enttes du protocole TCP ...................................................................................................................................................................46

TCP/IP - G.VALET Reproduction interdite

3 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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)

Nombre dhtes connects Linternet

TCP/IP - G.VALET Reproduction interdite

4 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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.

B.1. Les 4 couches


Ce modle est bas sur 4 couches :

Les 4 couches du modle TCP/IP

B.2. Correspondance entre OSI TCP/IP


Il existe une correspondance entre le modle OSI et TCP/IP

Correspondance OSI, TCP/IP

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

Version 1.9 - Jan 2012

B.3. Lencapsulation
Le principe de lencapsulation entre les couches sapplique galement TCP/IP (Voir modle OSI)

B.4. Les rles des diffrentes couches


Nous allons voir comment les tches sont rparties entre les couches.
a. La couche Accs rseau
La couche accs rseau est la premire couche de la pile TCP/IP, elle offre les capacits accder un
rseau physique quel qu'il soit, c'est--dire les moyens mettre en oeuvre afin de transmettre des
donnes via un rseau.
Ainsi, la couche accs rseau contient toutes les spcifications concernant la transmission de donnes
sur un rseau physique, qu'il s'agisse de rseau local (Anneau jeton - token ring, ethernet, FDDI), de
connexion une ligne tlphonique ou n'importe quel type de liaison un rseau. Elle prend en charge
les notions suivantes :
Acheminement des donnes sur la liaison
Coordination de la transmission de donnes (synchronisation)
Format des donnes
Conversion des signaux (analogique/numrique)
Contrle des erreurs l'arrive
...
Heureusement toutes ces spcifications sont transparentes aux yeux de l'utilisateur, car l'ensemble de
ces tches est en fait ralis par le systme d'exploitation, ainsi que les pilotes du matriel et le matriel
lui-mme, permettant la connexion au rseau (ex : driver de carte rseau).
b. La couche Internet
La couche Internet est la couche "la plus importante" car c'est elle qui dfinit les datagrammes, et qui
gre les notions d'adressage IP.
Son rle est de permettre l'injection de paquets dans n'importe quel rseau et l'acheminement des ces
paquets indpendamment les uns des autres jusqu' destination. Les paquets sont alors rassembls par
cette couche.
La couche Internet contient 5 protocoles :
Le protocole IP (Internet Protocol)
Le protocole ARP (Address Resolution Protocol)
Le protocole ICMP (Internet Control Message Protocol )

TCP/IP - G.VALET Reproduction interdite

6 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Le protocole RARP (Reverse Address Resolution Protocol)


Le protocole IGMP (Internet Group Management Protocol )
c. La couche Transport
Son rle est le mme que celui de la couche transport du modle OSI : permettre des entits paires de
soutenir une conversation.
Officiellement, cette couche n'a que deux implmentations : le protocole TCP (Transmission Control
Protocol) et le protocole UDP (User Datagram Protocol).
Officiellement, cette couche n'a que deux implmentations :
TCP, un protocole orient connexion qui assure le contrle des erreurs
UDP, un protocole non orient connexion dont le contrle d'erreur est peu fiable
d. La couche Application
Contrairement au modle OSI, c'est la couche immdiatement suprieure la couche transport, tout
simplement parce que les couches prsentation et session sont apparues inutiles.
On s'est en effet aperu avec l'usage que les logiciels rseau n'utilisent que trs rarement ces 2 couches,
et finalement, le modle OSI dpouill de ces 2 couches ressemble fortement au modle TCP/IP.
Cette couche contient un nombre trs important de protocoles de haut niveau dont le rle est de fournir
des services rseaux volus (Comme Netbios de Microsoft).
Voici quelques exemples de protocoles trs utiliss :
SMTP (Simple Mail Transfer Protocol)
Telnet
HTTP (HyperText Transfer Protocol)
FTP (File Transfer Protocol)

TCP/IP - G.VALET Reproduction interdite

7 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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

Lunit dinformation de la couche liaison est la trame

C.1. Ladresse physique


Ladresse physique, ne pas confondre avec ladresse logique (Adresse IP) permet de grer les
communications au niveau local (Mme segment rseau). Lors du passage dun rseau un autre, nous
verrons que le niveau paquet utilise des adresses logiques et que les adresses physiques changent.
Ce qui signifie que le niveau trame assure des communications poste poste localement (sur le mme
segment de rseau) et que ce sera le niveau paquet (Voir plus loin) qui permettra le dialogue avec des
machines situes sur dautres rseaux.
Chaque norme de rseau (Ethernet, ATM, FDDI, Token Ring) utilise son propre adressage physique. Nous
allons donc voir comment ces diffrentes normes dfinissent ladresse physique.
a. Ladresse MAC Ethernet
Ladresse MAC (Media Access Control) est historiquement lune des premires adresses physiques
apparues avec les rseaux locaux.
En thorie, chaque interface rseau matrielle (carte rseau) possde une adresse MAC unique. Cette
adresse est compose de 6 octets (48 bits) rpartit de la manire suivante :

TCP/IP - G.VALET Reproduction interdite

8 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Chaque octet est reprsent par un nombre hexadcimal variant de 00 FF. Voici un exemple dadresse
MAC :

Exemple dune adresse MAC de chez Intel

Les bits dune adresse MAC sont transmis de gauche droite sur le support.

C.2. La trame Ethernet


Il existe plusieurs types de trames Ethernet. Ces types dpendent du standard choisi. La socit Xerox,
lorigine de la norme Ethernet a mis au point une trame de type Ethernet I. La 2 me version fut appele
Ethernet II. LIEEE a normalis la trame sous le nom 802.3. Pour rsoudre les problmes de compatibilit
ascendante, lIEEE a cr la trame 802.2 SNAP.
a. La trame Ethernet II
Prambule

Adresse MAC dest.

Adresse MAC source

7 octets
Suite de 1 et 0
permettant la
synchronisation des
htes

6 octets

6 octets

Type

Donnes

FCS

46 1500 octets 4 octets : Contrle


de redondance
cyclique
Type de donnes de couche suprieure
sur 2 octets : Spcifie sil sagit dun trafic
ARP ou IP
0x800 : Donnes IP
0x806 : Donnes ARP

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

C.3. Communication au niveau trame


Dans lexemple ci-dessous, la station 1 communique avec la station 2 :
La station 1 envoie donc une trame avec ladresse destination de la station 2
Lorsque la station 2 reoit la trame, elle lit les donnes afin de les transmettre la couche
suivante (niveau paquet).

TCP/IP - G.VALET Reproduction interdite

9 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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

Communication IP de station 1 vers 2


00-80-C8-CD-C8-DC

00-09-5B-65-BE-40

0x800

Donnes

CRC

Communication IP de station 2 vers 1


00-09-5B-65-BE-40

00-80-C8-CD-C8-DC

MAC Destination

MAC Source

0x800

Donnes

Type

Donnes IP

CRC

Exemple de communication de niveau trame entre deux stations

TCP/IP - G.VALET Reproduction interdite

10 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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

D.1. Ladressage IP (IPv4)


a. Pourquoi une adresse IP alors quil existe dj ladresse MAC ?
Il est ncessaire de diffrencier les adresses de couche 2 et de couche 3, car l'adressage au niveau de
chacune de ces couches n'a pas le mme rle :
L'adressage MAC en couche 2 permet d'identifier les machines SUR UN MEME RESEAU.
L'adressage IP en couche 3 permet d'adresser les machines SUR DES RESEAUX DISTINCTS.
Peut-on alors utiliser pour ces deux couches une seule de ces deux adresses ? La rponse est
malheureusement non. Les adresses de couche 2 sont en rapport avec le matriel rseau utilis (le
protocole de couche 2 est gr au niveau de la carte connecte au rseau et non pas par le systme
d'exploitation comme les couches suprieures) il est donc difficile de modifier les adresses MAC qui sont
censes tre codes directement sur la carte rseau. Cela est notamment du au fait que chaque adresse
MAC doit tre unique sous peine de conflit matriel, et que cette adresse doit tre accessible trs tt lors
du boot d'une machine.
Les adresses de couche 3 quant elles demandent une certaine souplesse d'utilisation car on ne connat
pas priori l'adresse du rseau sur lequel une machine va se trouver. Il y a donc une incompatibilit
d'utilisation d'une adresse de couche 2 pour une adresse de couche 3, et vice versa.
Enfin, les protocoles rseau voluant au fil du temps, il est ncessaire que chaque couche soit
indpendante des autres.

TCP/IP - G.VALET Reproduction interdite

11 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

b. Constitution dune adresse IP


Constitue de 4 octets, elle est dcoupe en 2 parties :
Le numro de rseau (netid)
Le numro de lhte sur ce rseau (hostid)
La taille du netid dpend de la classe dadresse IP utilise. Il existe plusieurs classes dadresses IP ddies
des usages diffrents. Plus le numro de rseau est grand et plus le nombre dhtes sur ce rseau sera
petit.

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.

Exemple dassociation entre adresse et masque

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.

TCP/IP - G.VALET Reproduction interdite

12 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

d. Reprsentation du masque avec un / (/24)


Il existe une autre manire de noter le masque. Il sagit de compter le nombre de bits 1 du masque et
de noter ce chiffre la fin de ladresse :
Par exemple, le couple adresse et masque suivant :
192.168.1.13
255.255.255.0
Scrira dans cette nouvelle notation :
192.168.1.13 / 24
Le chiffre 24 indique que 24 bits du masque sont 1.
Cette notation est aujourdhui trs utilise dans tous les quipements rseaux rcents
afin de simplifier lcriture et rendre la configuration plus aise

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

Exemple dapplication du masque

TCP/IP - G.VALET Reproduction interdite

13 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

f. Les classes dadresses IP


Nous avons vu que ladresse IP est indissociable de son masque. Nanmoins le choix des adresses et des
masques ne doit pas tre faite au hasard. Cest l quinterviennent les classes A, B, C, D et E.
Les classes ont t car elles ne le sont plus un moyen efficace de segmenter lespace dadressage
dInternet. Nous verrons que si les classes sont encore trs utilises dans les rseaux locaux, dautres
techniques comme le surnetting ou ladressage CIDR sont monnaies courantes sur Internet.
Pour savoir quelle classe appartient une adresse IP, il faut se pencher sur sa reprsentation binaire. En
effet, la valeur des 4 premiers bits de ladresse dtermine la classe.
Voici un tableau rcapitulatif des diffrentes classes dadresses IP en fonction des 1 ers bits du 1er octet :
Bits de poids fort
0
10
110
1110
1111

Classe
A
B
C
D
E

Tableau des classes dIP en fonction des bits de poids fort

Ceci nous amne faire quelques constatations sur le potentiel dadresses et de rseaux dtenu par
chaque classe dadresse :

Les classes dadresses IP

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

TCP/IP - G.VALET Reproduction interdite

14 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

h. Les adresses IP publiques et prives


Les adresses publiques sont celles qui sont utilises sur Internet. Pour des raisons que nous verrons
lorsque nous parlerons du routage, un rseau local ne doit pas utiliser dadresses publiques. Il utilise des
adresses prives. La liste des adresses prives autorises sont :
Classe A : de 10.10.0.1 10.255.255.254
Classe B : de 172.16.0.1 172.31.255.254
Classe C : de 192.168.0.1 192.168.255.254
i. Technique du subnetting
Lobjectif du subnetting est de scinder une classe dadresses en sous rseaux indpendants. Chaque
sous-rseau dispose dun nombre limit dadresses.
Cette technique vient combler certaines lacunes des classes dadresses. En effet, les classes A,B et C sont
mal adaptes aux besoins croissants des rseaux. La classe B, par exemple, offre un nombre total de
65534 htes alors que la classe C nen offre que 254. Il apparat que si les besoins sont lgrement
suprieurs aux 254 htes quoffre un classe C, il en rsulte un gchis dadresses si on choisit un classe B.
Lide est de rserver quelques bits du numro de rseau pour crer des sous rseaux. A chaque n de
rseau, on associe un certain nombre de sous rseaux qui eux-mmes contiennent un nombre dtermin
dhtes :

Principe du masque de sous rseau

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 :

Exemple dutilisation de la technique de subnetting

TCP/IP - G.VALET Reproduction interdite

15 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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.

Possibilits de 210 = 1024


htes (1022 en pratique) soit
lquivalent de 4 classes C

Ladresse du rseau est


alors
192.168.24.0/22
Exemple dagrgation de 4 classes C

k. Adressage sans classe - CIDR (Classless InterDomain Routing)


A partir de 1994, le nombre dadresses IP ntait plus suffisant pour satisfaire toutes les demandes
daccs Internet. De plus, les tables de routage des routeurs devenaient tellement normes que les
performances chutaient. Si rien navait t fait, nous nentendrions certainement plus parler dInternet
aujourdhui.
Heureusement, ladressage bas sur les classes A, B et C a t remplac par ladressage CIDR. Il sagit
dune technique permettant de rpartir plus efficacement les adresses IP entre les demandeurs.
Au lieu davoir une taille fixe pour le numro de rseau (8,16 ou 24), ladressage CIDR utilise une taille
variable pouvant aller de 13 29.
Ladressage CIDR est aussi appel ladressage IP sans classes (Classless)

TCP/IP - G.VALET Reproduction interdite

16 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Par exemple pour le numro de rseau 83.206.23.128 et un masque de 255.255.255.248 on obtient un


rseau de 8 postes connects directement Internet ( pool dIP fixes )

Exemple de pool de 8 IP fixes

Une adresse prise dans le pool scrit : 83.206.23.131/29


Voici une liste dadressage possible avec leur quivalent en adressage classique :
Masque
/28
/27
/26
/25
/24
/23
/22
/21
/20
/19
/18
/17
/16
/15
/14
/13

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

Listes des diffrents adressages CIDR possibles

D.2. Les adresses IP spciales


Certaines adresses IP sont spciales et ne peuvent tre utilises par un hte sur le rseau.
Comme nous l'avons vu, une adresse IP est compose d'un numro de rseau complt par un numro
d'hte : {<numro de rseau> , <numro d'hte>} = {<netid> , <hostid>}.
Certaines valeurs sont donc interdites (0 signifie tous les bits 0 et -1 signifie tous les bits 1 :
{<netid> , 0}
{<netid> , -1}
{-1 , -1}
{0 , 0}

TCP/IP - G.VALET Reproduction interdite

17 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

{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

Version 1.9 - Jan 2012

f. {127 , <quelconque>} : Adresse de boucle locale


Un paquet IP envoy avec cette adresse de destination sera reu. Par lenvoyeur lui-mme. Le paquet
ne sort pas sur la carte rseau, il reste local.
g. Adresses de classe D
Il sagit dadresses spciales permettant denvoyer des paquets IP un groupe de stations. En effet, une
station peut se mettre lcoute dune de ces adresses de multidiffusion. Dans ce cas, elle recevra les
donnes.
Lappartenance un groupe est dynamique. C'est--dire quune station peut trs bien dcider dentrer ou
de quitter un groupe de multidiffusion
Parmi les adresses de multidiffusion, il en existe ayant une signification spciale. La liste suivante nest
pas
exhaustive.
(La
liste
complte
peut-tre
obtenue
en
consultant
ladresse
http://www.iana.org/assignments/multicast-addresses ) :
224.0.0.1 : Tous les htes dun mme sous rseau
224.0.0.2 : Tous les routeurs dun mme sous rseau
224.0.0.9 : Routeurs utilisant le protocole RIP2

D.3. Ladressage IP (IPv6 venir)

TCP/IP - G.VALET Reproduction interdite

19 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

D.4. Le protocole ARP (Address Resolution Protocol)


Lorsquune station veut dialoguer avec une autre sur un mme segment de rseau, elle doit connatre
ladresse physique du destinataire (MAC). Une station ne peut pas connatre lavance toutes les
adresses physiques des stations faisant partie de son segment de rseau.
Le protocole ARP se situe sur la couche 3 (Rseau) du modle OSI

Correspondance OSI TCP/IP - Protocoles

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.

TCP/IP - G.VALET Reproduction interdite

20 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Voici comment 2 stations peuvent communiquer sur un rseau local :

Exemple de requte ARP

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)

b. Format des messages ARP


Lentte de la trame ARP respecte la structure suivante :

Format dentte ARP

Voici la signification des champs de la trame :


TCP/IP - G.VALET Reproduction interdite

21 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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) :

Exemple de trame ARP, couches 2 et 3

d. Exemple de squence ARP


Voici le cas typique dune communication ARP base sur le principe de requte-rponse :
La requte dabord :

TCP/IP - G.VALET Reproduction interdite

22 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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.

Table ARP dune station sous Windows

Table ARP dune station sous Linux

D.5. Le protocole RARP (Reverse ARP)


Utilis par des stations nayant pas dadresse IP (Souvent des terminaux) pour obtenir ladresse IP qui leur
correspond. Dans ce cas, un serveur RARP (Souvent un routeur) stocke dans une table ARP la
correspondance entre IP et MAC.
La table stocke est statique et suppose de connatre lavance toutes les adresses MAC dun rseau (Ce
qui est souvent trs fastidieux surtout lors dajout de machine).
Dans la plupart des rseaux Ethernet, on utilise plutt des solutions DHCP (Dynamic Host Configuration
Protocol) ou BOOTP

TCP/IP - G.VALET Reproduction interdite

23 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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.

Exemple de rordonnancement de paquets

TCP/IP - G.VALET Reproduction interdite

24 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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

Dure de vie (TTL)


8 bits

3 bits

Protocole

Emplacement fragment
13 bits

Somme de contrle entte

8 bits

16 bits

Adresse IP source
32 bits

Adresse IP destination
32 bits

Paquet IPv4

Voici la signification des champs :


Version (4 bits) : 4 pour IPv4 ou 6 pour IPv6
Longueur dentte (4 bits) : Permet de connatre rapidement lendroit o se situe le dbut des
donnes du paquet.
Type de service ou ToS (8 bits) : Prcise le type de service fourni par les donnes. Peu utilis
jusqu larrive de protocoles grant la qualit de service (QoS). La plupart des quipements de
backbone nutilise pas ce champ et certains le rinitialise 0.
Longueur totale (16 bits) : Longueur totale du paquet (en-tte comprise)
Identification (16 bits) : Identificateur de datagramme. Chaque paquet possdant le mme n
didentification fait partie du mme datagramme.
Drapeaux (3 bits) : Voir page suivante
Emplacement fragment (13 bits) : Si le datagramme a t fragment, ce champ indique
lemplacement du fragment courant dans lensemble des fragments
Temps de vie (8 bits) : Dure de vie du paquet. Lorsquil est 0, le paquet est dtruit.
Habituellement, ce champ est dcrment chaque passage par un routeur
Numro de protocole (8 bits) : Indique le type de protocole encapsul dans les donnes (0x06
pour
TCP).
La
liste
complte
peut
tre
obtenue

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 :

TCP/IP - G.VALET Reproduction interdite

25 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Champ Drapeau

Reserved
Bit rserv toujours
1. Certaines
implmentations le
positionnent 0

TCP/IP - G.VALET Reproduction interdite

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

Version 1.9 - Jan 2012

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)

Cas du routage direct

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.

TCP/IP - G.VALET Reproduction interdite

27 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Cas du routage indirect

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

Tout paquet destination


du rseau 192.168.12.0/24
sera envoy sur linterface
3

Tout paquet destination


du rseau 192.168.67.0/24
sera envoy sur linterface
2

Exemple de constitution dune table de routage

Ce qui donnerait la table de routage suivante :

TCP/IP - G.VALET Reproduction interdite

28 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

d. Exemple de table de routage

Table de routage dun routeur sous LINUX

Voici la signification des colonnes intressante de cet exemple :


Destination : Il sagit de ladresse de lhte ou du rseau de destination. Par exemple 192.168.0.0
avec un masque de 255.255.255.0 dsigne le numro de rseau logique 192.168.0
Gateway : La passerelle (routeur) utiliser pour joindre ce rseau (0.0.0.0 signifie quil sagit du
routeur sur lequel est stock cette table)
Genmask : Masque de sous rseau associ ladresse de destination
Flags : Prcise ltat courant de la route
Metric : Le nombre de sauts max (routeurs) pour parvenir jusquau rseau de destination
Ref : Nombre de rfrences cette route
Use : Nombre de recherches effectues sur cette route
IFace : Interface matrielle ou logicielle utilise pour envoyer les paquets vers cette route
e. Le routage et la couche 2 (MAC)
Le routage intervient au niveau de la couche 3 du modle OSI. Nous allons voir comment la couche 2 peut
utiliser les informations de la couche 3 pour mener bien une communication entre 2 stations situes
dans des rseaux diffrents.

TCP/IP - G.VALET Reproduction interdite

29 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

A contacte son
routeur
Routeur contacte B
B rpond routeur
Routeur transmet
A

Exemple de routage indirect avec les informations de couche 2 (MAC)

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.

TCP/IP - G.VALET Reproduction interdite

30 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Exemple dillustration de la notion de MTU

Lidal consiste avoir un MTU identique sur lensemble du rseau.

Cas dun MTU identique sur lensemble des rseaux

g. Le TTL (Time To Live)


Imaginons un instant que lon envoie un paquet sur un rseau IP en utilisant une adresse IP qui nexiste
pas. Dans la pratique, le paquet peut tourner indfiniment de routeur en routeur sans jamais trouver son
destinataire. Si rien nest fait, un rseau comme Internet serait trs vite satur.
Cest pourquoi, la notion de temps de vie est dfinie pour chaque paquet transmis. Le fameux TTL
reprsente le nombre routeurs que le paquet peut traverser jusqu ce quil soit dtruit.
En fait, chaque fois que le paquet traverse un routeur, son champ TTL est diminu de 1. Le routeur qui
constate quun paquet a un TTL de 0 le dtruit sans autre forme de procs.
Lorsque quun routeur limine un paquet, il envoie { la source un message ICMP linformant que le paquet a
t limin pendant son transit. Le message ICMP envoy est de type 11, code 0 (Voir chap ICMP).

TCP/IP - G.VALET Reproduction interdite

31 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

D.8. Les protocoles de routage


a. Introduction
Un protocole de routage permet des routeurs dchanger des messages de routage leur permettant de :
Prendre connaissance de la topologie du rseau et mettre jour leur table de routage
Sadapter dventuelles modifications des liaisons et de la topologie.
Il existe deux types de protocole de routage :
Les IGP (Interior Gateway Protocol)
Les EGP (Exterior Gateway Protocol)
Les IGP permettent dassurer le routage pour un domaine de routage . Un domaine de routage est un
rseau gr par la mme entit administrative et technique. Dans ce cas, les administrateurs des ces
rseaux peuvent choisir leur propre organisation de routage.
Par opposition les EGP assurent linterconnexion avec les diffrents domaines de routage. Ils sont souvent
associs des rseaux publics ou grs par des prestataires diffrents ou des oprateurs de
tlcommunication.
b. RIP (Routing Information Protocol)
RIP est un protocole de type IGP vecteur de distance . Cela signifie quil raisonne en terme de
nombre de sauts vers une destination. Contrairement aux protocoles tat de liens , RIP ne se
proccupe ni de la nature, ni de ltat des liaisons.
Ce protocole permet des routeurs de dialoguer entre eux pour dterminer le chemin le plus court vers
une destination.
RIP est bien adapt aux rseaux locaux o le nombre de sauts pour passer dune extrmit du rseau
lautre ne dpasse pas 15. Au-del, le routeur considre que le rseau est inaccessible (valeur 16).
La version RIP1 a t amliore par RIP2 sur plusieurs points :
Routage par sous rseau
Authentification des messages entre routeurs
Transmission multipoint
.

TCP/IP - G.VALET Reproduction interdite

32 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

c. OSPF (Open Shortest Path First)


OSPF est un protocole de type IGP tat de liens . Il se proccupe de ltat des liaisons et adapte sa
table de routage en fonction de ces variations. Ds lors quun routeur est dfaillant, OSPF peut
dterminer un autre itinraire afin dassurer la continuit du service.
Il sagit de la 2me gnration de protocole de routage. Il est plus complexe et plus adapt aux grands
rseaux. Il maintient une vritable base de donnes distribue sur ltat des diffrents routeurs et des
liaisons. Cette distribution implique un temps de convergence pendant lequel le rseau nest pas
totalement oprationnel. Cest le temps ncessaire pour que tous les routeurs partagent la mme base
de donnes.
d. Les autres protocoles de routage
A noter quelques autres protocoles de routage :
IS-IS (IGP) : Dvelopp par llSO , il dcompose le rseau en domaines
IGRP (IGP) : Dvelopp par CISCO pour ses routeurs. Il sagit dune version amliore de RIP
EIGRP (IGP) : Amlioration dIGRP pour lutter contre les bouclages
BGP (Border Gateway Protocol) : Amlioration du protocole EGP permettant de grer les
bouclages involontaires.
IDRP (InterDomain Routing Protocol) : Protocole de type EGP bas sur BGP

D.9. Gestion et contrle


Nous savons que le protocole IP noffre aucune garantie quun paquet a t transmis correctement. IP
travaille en mode dconnect. Afin de grer le contrle des flux de paquets et les ventuelles erreurs de
routage et les problmes de congestion du rseau, on fait appel divers protocoles :
ICMP
IGMP
RSVP
RTP
a. Le protocole ICMP (Internet Control Message Protocol)
Qui na pas entendu parler du fameux ping qui permet de savoir si un hte distant est prsent sur le
rseau.
La commande ping , base sur le protocole ICMP, envoie un message particulier vers une adresse IP
distante. Ce message vhicul par lintermdiaire dun paquet IP, peut tre reu par tout quipement
dot dune interface rseau (switch manageable, ordinateur, imprimante, .).
Ce protocole permet aux diffrents lments rseau dobtenir des informations sur ltat du rseau, dun
priphrique ou encore sur ltat dune requte envoye sur le rseau.

TCP/IP - G.VALET Reproduction interdite

33 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Bien quil soit encapsul dans un datagramme IP, ICMP fait partie de la couche rseau.

Correspondance OSI TCP/IP - Protocoles

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

Dure de vie (TTL)


8 bits

Emplacement fragment

3 bits

Protocole

13 bits

Somme de contrle entte

8 bits

16 bits

Enttes IP

Adresse IP source
32 bits

Adresse IP destination
32 bits

Type

Code

8 bits

8 bits

Somme de contrle entte ICMP

Identifiant

16 bits

N de squence

16 bits

16 bits

Enttes ICMP
Bourrage ou Donnes
Longueur variable (32 bits minimum)

Datagramme IP + ICMP

Signification des champs :


Voir (Rubrique D.6 Le protocole IP pour les champs IP en blanc)
Type : Correspond une famille dincidents (voir tableau plus loin)
Code : Correspond un incident prcis parmi une famille
Contrle derreur : Permet de vrifier lintgrit du paquet ICMP
Identifiant : Permet de connatre lidentifiant dun metteur
N de squence : Lorsquun quun datagramme icmp est fragment, le n de squence permet de
savoir si tous les paquets ont bien t reus. Mais comme ce champ nest pas normalis, il
nexiste aucune garantie que le rcepteur va utiliser ce champ. Lidentifiant et le n de squence
sont applicables uniquement aux messages de type ECHO (ping). Ils servent associer une
requte avec sa rponse.

TCP/IP - G.VALET Reproduction interdite

34 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Voici un tableau de tous les types de messages ICMP :


Type

Destination non valide

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

Source Route Failed


Destination Network
Unknown
Destination Host Unknown
Source Host Isolated
Communication with
Destination Network is
Administratively Prohibited
Communication with
Destination Host is
Administratively Prohibited
Destination Network
Unreachable for Type of
Service
Destination Host Unreachable
for Type of Service
Communication
Administratively Prohibited
Host Precedence Violation
Precedence cutoff in effect
Redirect Datagram for the
Network (or subnet)
Redirect Datagram for the
Host
Redirect Datagram for the
Type of Service and Network
Redirect Datagram for the
Type of Service and Host

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

Time To Live exceeded in


Transit
Fragment Reassembly Time
Exceeded
Pointer indicates the error

Missing a Required Option

TCP/IP - G.VALET Reproduction interdite

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

Hte inaccessible pour ce type de service


Communication interdite par un filtre

Redirection pour un rseau


Redirection pour un hte
Redirection pour un rseau et pour un service
donn
Redirection pour un hte et pour un service
donn
Avertissement routeur : annonces de route par
les routeurs
Sollicitation routeur : Lhte veut obtenir
ladresse dun routeur
Dure de vie expire pendant le transit
Dure de rassemblage des fragments expire
En-tte IP invalide
Manque d'une option obligatoire

35 / 47

Demande
dinformations

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Bad Length

Mauvaise longueur dentte

15

Address Request

Demande d'adresse rseau

16

Address Reply

Rponse d'adresse rseau

17

Mask request

Demande de masque de sous rseau

18

Mask reply

Rponse de masque de sous rseau

Messages et code ICMP avec leur signification

Le fameux ping utilise le type 8 , code 0 pour lenvoi et le type 0 ,code 0 pour la rponse.

b. Le protocole IGMP (Internet Group Message Protocol)


Ce protocole permet lutilisation des adresses de multidiffusion. Rappelons que la multidiffusion consiste
envoyer le mme datagramme plusieurs destinations. En plus de ladresse IP dite unicast , un hte
peut utiliser une adresse IP de classe D dite multicast .
IGMP utilise la notion de groupe de diffusion. Tout hte peut dcider de rejoindre ou quitter un groupe.
La capacit de multidiffusion nest pas limite un sous rseau physique et les routeurs ou passerelles
peuvent propager les informations dappartenance un groupe.
Donc, les stations communiquent avec les passerelles par lintermdiaire du protocole IGMP pour
prciser leur appartenance au groupe.
Voici le format de la trame IGMP :

Champs de la trame IGMP

Les champs de la trame IGMP signifient :


Type (8bits) : Type de message IGMP (Voir plus loin)
Temps de rponse max (8 bits) : Ce champ nest utilis que pour les messages de type 11. Il
indique le temps d'attente maximum pour un client avant l'mission du rapport d'appartenance.
L'unit utilise est le 1/10 de seconde. Pour les autres types, ce champ est marqu 0
Contrle derreur (16 bits)

TCP/IP - G.VALET Reproduction interdite

36 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Adresse du groupe (32 bits) : Adresse IP de classe D


Il existe plusieurs versions de IGMP : IGMPv1, IGMPv2

TCP/IP - G.VALET Reproduction interdite

37 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

E. Le niveau Message (Transport)


Lenvoi de donnes par paquets est assur par la couche 3 (Rseau). La couche transport va permettre de
fournir des services supplmentaires permettant dutiliser le mode connect. Ce mode assure aux deux
extrmits dune connexion des garanties sur lenvoi et la rception des messages. En effet, rien jusqu
prsent ne nous permettait de savoir si des informations envoyes avaient rellement t reues.
La couche Transport et notamment le protocole TCP (Transport Control Protocol) vont largement
contribuer laugmentation de fiabilit des communications. TCP est fortement orient connexion.
Le protocole UDP (User Datagram Protocol) qui lui nest pas orient connexion, va permettre de faire
circuler des messages rapidement sans garantie fiable au niveau de la rception de ces messages.
Lunit dinformation de la couche transport est le message

E.1. La notion de port


TCP et UDP introduisent galement la notion de port . Un port correspond une application. En effet,
le seul moyen dont dispose une station pour orienter les donnes vers la bonne application de
destination est le port utilis pour le transport. Cette orientation est effectue au niveau du systme
dexploitation dans les couches suprieures du modle OSI (Session, prsentation et application).
Dans la relation client-serveur, le port source dun client est choisi par le systme dexploitation (Le
premier disponible) alors que le port de destination du serveur est un port identifi avec une
application spcifique (53 pour DNS , 80 pour http, 21 pour FTP, etc).
Voici comment un client et un serveur communiquent par le biais des ports source et destination :

Utilisation des ports dans la relation client-serveur

TCP/IP - G.VALET Reproduction interdite

38 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

E.2. UDP (User Datagram Protocol)


Le protocole UDP est utilis pour transmettre une faible quantit de donnes dans des situations o le
cot de la cration de connexions et du maintient de transmissions fiables s'avrent suprieur aux
donnes mettre.
UDP peut galement tre utilis pour les applications satisfaisant un modle de type "interrogation
rponse". La rponse tant utilise comme un accus de rception l'interrogation. Citons par exemple
les protocoles DNS, Netbios ou SNMP qui illustrent bien cet tat de fait.
UDP peut aussi tre utilis dans des applications temps rel o la retransmission dune trame perdue
est parfois inutile (Vido par exemple). Dans ce cas, la continuit du flux devient la priorit et lemporte
sur lintgrit des donnes.
En effet, lors de la transmission dune communication vido, le flux est une suite dimages transmises en
continu. La perte dune image due une instabilit de la liaison nest pas un problme pourvu que les images
suivantes puissent tre reues correctement.

Voici le dtail dun message UDP :

Champs dun message UDP

Voici la signification des champs :


Port source (16 bits) : Correspond au port utilis par lapplication de la station mettrice (source)
Port destination (16 bits) : Correspond au port utilis par lapplication de la station rceptrice
(destination). La liste officielle des ports et leur correspondance applicative sont donns
ladresse suivante http://www.frameip.com/liste-des-ports-tcp-udp/
Longueur (16 bits) : Le champ Longueur est cod sur 16 bits et il reprsente la taille de l'entte et
des donnes. Son unit est loctet et sa valeur maximale est 64 Koctets (216).
Le contrle derreur (16 bits) : Cod sur 16 bits, il reprsente la validit du paquet de la couche 4
UDP. Il est calcul sur tous les octets du message UDP + les 12 octets prcdents de lentte IP
Donnes (taille variable)

TCP/IP - G.VALET Reproduction interdite

39 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

E.3. TCP (Transport Control Protocol)


TCP est un service de transport fiable. Il offre un mode connect. Aucune transmission de donnes nest
possible tant que les deux parties nont pas tablies une connexion. On parle alors de circuit virtuel :

Un circuit virtuel grce TCP

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

TCP/IP - G.VALET Reproduction interdite

40 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

Voici un exemple de 3 segments TCP capturs. On distingue bien ltat des drapeaux TCP :

Pour la fermeture de la connexion, le drapeau FIN est utilis :


1re tape
La station qui souhaite mettre fin la connexion envoie le
drapeau FIN.
2me tape
La station qui reoit le drapeau FIN acquitte avec le drapeau
ACK puis envoie aussi le drapeau FIN. Selon les cas, lenvoi de
ACK et FIN se fait dans 2 segments diffrents
3me tape
La station A acquitte la demande de FIN

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

ISN choisi est :


D003EFA3 en hexa
3489918883 en dcimal

TCP/IP - G.VALET Reproduction interdite

41 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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

Voici un exemple de 2 segments envoys successivement (lun aprs lautre) :


1er segment (N squence relatif = 1 , 403 octets transmis) :

2me segment (N squence relatif = 404) :


N Seq = 1 + 403 octets transmis, donc
Le prochain N Seq = 404

d. Deux flux unidirectionnels


Une communication entre 2 htes est en ralit un ensemble de 2 communications unidirectionnelles.
En effet, les 2 htes sont tour tour, metteurs et rcepteurs.
Il y aura donc 2 numros de squence (Un pour chaque sens de communication). Il en sera de mme pour
les accuss de rception. Voici un exemple douverture de connexion puis dinitialisation des ISN

TCP/IP - G.VALET Reproduction interdite

42 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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)

Jai bien reu 10 octets et jattends le


11me.
Le Numro dacquittement sera = 11

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

Exemple daccus de rception :


128.107.229.50 envoie un segment de donnes 192.168.16.5

TCP/IP - G.VALET Reproduction interdite

43 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

En retour, 192.168.16.5 envoie un accus de rception 128.107.229.50

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 :

TCP/IP - G.VALET Reproduction interdite

44 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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)

Le rcepteur informe lmetteur sur sa


capacit de rception
Taille de fentre = 3000 octets

S2 (1500 octets)

ACK

4
Le segment 3 na pas t reu

S3 ( 1500 octets)

Jai bien reu 3000 octets et jattends le


3001me octets.
Le Numro dacquittement sera = 3001

S4 (1500 o)

6
Les segments 3 et 4 sont retransmis

ACK, Fentre = 1000o

S3 ( 1500 octets)
S4 (1500 o)

ACK

Jai bien reu 3000 octets et jattends le


3001me octet.
Le Numro dacquittement sera = 3001
Le taille de la fentre sera = 1000 octets
Acquittement des segments reus

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.

TCP/IP - G.VALET Reproduction interdite

45 / 47

COURS RESEAUX

TCP/IP

Version 1.9 - Jan 2012

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)

h. Les drapeaux (Flags)


Il sagit dinformation de type binaire (un bit 0 ou 1) permettant dexprimer un certain tat pour un
segment. Il existe plusieurs drapeaux dans TCP. En voici la signification :
URG : Indique que le champ Pointeur de donne urgente est utilis.
ACK : Indique que le numro de squence pour les accuss de rceptions est valide.
PSH : Indique au rcepteur de dlivrer les donnes l'application et de ne pas attendre le
remplissage des tampons.
RST : Demande la rinitialisation de la connexion.
SYN : Indique la synchronisation des numros de squence.
FIN : Indique fin de transmission.
Nous allons maintenant voir dans quels cas ces drapeaux sont utiliss.
i. Enttes du protocole TCP
Voici un rcapitulatif des diffrentes enttes incluses dans un segment TCP.

Enttes du segment TCP

Le tableau suivant prcise la signification de ces enttes :


Nom du champ
Port source
Port destination
N Squence

Taille
16 bits
16 bits
32 bits

N Accus

32 bits

TCP/IP - G.VALET Reproduction interdite

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

Version 1.9 - Jan 2012


octets prcdant ce numro ont bien t reus
Nombre de mots de 32 bits de lentte (segment sans les donnes).
Indique o commencent les donnes utiles.
Inutilis la plupart du temps
Voir

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

Nombre d'octets partir de la position marque dans l'accus de


rception que le rcepteur est capable de recevoir sans accus
Code derreur calcule sur lensemble du segment + 12 octets prcdents
(pseudo-entte)
Communique la position d'une donne urgente en donnant son dcalage
par rapport au numro de squence. Le pointeur doit pointer sur l'octet
suivant la donne urgente. Ce champ n'est interprt que lorsque le Flag
URG est marqu 1. Ds que cet octet est reu, la pile TCP doit envoyer
les donnes l'application sans attendre.
Permettent dajouter des fonctionnalits non prises en charge dans la
version native du protocole. Par exemple, loption SACK (Selective
Acknowledgment option) qui permet de grer de manire plus rigoureuse
les accuss de rception. La liste des options se trouve ladresse :
http://www.iana.org/assignments/tcp-parameters
Bits dont la taille est variable. Le bourrage sert complter les bits des
options pour faire un multiple de 32 bits

Signification des champs du segment TCP

TCP/IP - G.VALET Reproduction interdite

47 / 47

Vous aimerez peut-être aussi