Vous êtes sur la page 1sur 17

2

Le protocole IP

1. Prsentation de TCP/IP
TCP/IP est un sigle trs connu dans le domaine des rseaux. Au sens strict, TCP/IP est un
ensemble de deux protocoles :
- IP (Internet Protocol) qui est un protocole de niveau 3 (Rseau)
- TCP (Transmission Control Protocol) qui est un protocole de niveau 4 (Transport)
En pratique, les rseaux TCP/IP ne sont pas limits ces deux protocoles mais recouvrent en
fait toute une famille de protocoles (on parle de pile de protocoles).
Ladoption quasi universelle de TCP/IP en fait son principal intrt. Les technologies TCP/IP
couvrent en effet aussi bien les rseaux intranets (LAN) que lInternet.
TCP/IP est le fruit des recherches qui ont t menes par le DARPA (Defense Advanced
Research Projects Agency) ds la fin des annes 60. En 1969, dans le cadre du projet
ARPAnet (Advanced Research Projects Agency Network) une premire exprimentation
permit de relier quatre sites entre eux.
En 1983, les protocoles TCP/IP devinrent des standards militaires. Peu peu, le rseau
ARPAnet fut remplac par lInternet. Celui-ci dpassa le domaine exclusif des universits et
passa trs vite dans le domaine commercial.
TCP/IP fut intgr trs tt en standard sous Unix (dans le noyau BSD, Berkeley Software
Distribution), ce qui contribua invitablement sa popularit.
Depuis 1990, on assiste une vritable explosion dIP en Europe (dans le monde non
acadmique). Trois facteurs principaux expliquent la monte en puissance de TCP/IP :

linteroprabilit : un protocole commun sur des produits provenant de diffrents


constructeurs.
lintrt commercial sur lInternet : lInternet est bas sur les protocoles et services
TCP/IP.
laugmentation du nombre doutils de gestion de rseau : le plus important protocole de
gestion de rseau est actuellement SNMP (Simple Network Management Protocol).

1.1. Architecture de TCP/IP


Comme les protocoles TCP/IP ont t historiquement crs la demande du ministre de la
Dfense des Etats-Unis, on les dsigne souvent sous le nom de modle DoD.
La plupart des descriptions de TCP/IP dfinissent une architecture de protocoles comportant
quatre niveaux fonctionnels (du bas vers le haut) :

Couche Accs rseau : comporte les routines permettant daccder aux rseaux physiques

Le protocole IP Christian Bulfone / Licence MIASS

30

Couche Internet : dfinit le datagramme et prend en charge le routage des donnes


Couche Transport Hte Hte (TCP / UDP) : assure les services de transmission de
donnes de bout en bout
Couche Application : comporte les applications et processus utilisant le rseau

1.1.1. Couche Accs rseau


La couche la plus basse reprsente la connexion physique avec les cbles, les circuits
dinterfaces lectriques (transceivers), les cartes coupleurs, les protocoles daccs au rseau.
La couche Accs rseau est utilise par la couche Internet. La couche Accs rseau TCP/IP
intgre gnralement les fonctions des deux couches infrieures du modle de rfrence OSI
(Liaison de Donnes et Physique).
Les utilisateurs ignorent souvent cette couche, la conception de TCP/IP cachant les fonctions
des couches infrieures. Etant donn que les protocoles de cette couche font partie intgrante
dUnix, ils apparaissent souvent sous la forme dune combinaison de pilotes de priphriques
( drivers ) et de programmes associs.

1.1.2. Couche Internet


La couche Internet doit fournir une adresse logique pour linterface physique.
Limplmentation du modle DoD de la couche Internet est IP (Internet Protocol). Cette
couche fournit un mappage entre ladresse logique et ladresse physique fournie par la couche
Accs rseau grce aux protocoles ARP (Address Resolution Protocol RFC 826) et RARP
(Reverse Address Resolution Protocol).
Les incidents, les diagnostics et les conditions particulires associes au protocole IP relvent
du protocole ICMP (Internet Control Message Protocol), qui opre aussi au niveau de la
couche Internet.
La couche Internet est aussi responsable du routage des paquets de donnes, les
datagrammes, entre les htes. Cette couche est utilise par les couches plus hautes du modle
DoD.

1.1.3. Couche Transport hte hte


La couche Transport hte hte ou Transport en abrg, dfinit les connexions entre deux
htes sur le rseau. Le modle DoD comprend deux protocoles hte hte :

TCP (Transmission Control Protocol) : protocole responsable du service de transmission


fiable de donnes avec dtection et correction derreurs. TCP permet aussi les connexions
simultanes. Plusieurs connexions TCP peuvent tre tablies sur un hte, et les donnes
sont envoyes simultanment. TCP permet des connexions full-duplex.

UDP (User Datagram Protocol) : protocole peu fiable, utilis par des applications qui
nexigent pas la fiabilit de TCP.

Le protocole IP Christian Bulfone / Licence MIASS

31

1.1.4. Couche Application


La couche Application constitue le sommet de larchitecture TCP/IP. Elle permet aux
applications dutiliser les protocoles de la couche hte hte (TCP et UDP) pour transmettre
leurs donnes. Parmi les protocoles dapplications les plus rpandus (orients utilisateurs), on
trouve :
TELNET, le protocole de terminal de rseau (Terminal Emulation), permettant louverture
dune session distance sur un rseau.
FTP, le protocole de transfert de fichiers (File Transfert Protocol)
SMTP, le protocole de transfert de courrier lectronique (Simple Mail Transfer Protocol)
Mais aussi (orients administrateurs) :
DNS (Domain Name Service) - galement appel Name service qui permet dtablir la
correspondance entre les adresses IP et les noms attribus aux htes du rseau.
RIP (Routing Information Protocol), permettant de grer la fonction de routage
NFS (Network File System), permettant de partager des fichiers entre diffrentes
machines-htes du rseau

1.2. Comparaison des modles OSI et DoD


Comme dans le modle OSI, les donnes sont transmises de haut en bas dans la pile lors de
leur envoi sur le rseau, et de bas en haut dans la pile lors de leur rception partir du rseau.
Chaque couche de la pile ajoute des informations de contrle, un en-tte, de manire
garantir une transmission des donnes correcte.
Chaque couche possde ses propres structures de donnes indpendantes. La terminologie
utilise pour dcrire les donnes au niveau de chaque couche diffre dans les deux modles :
Dans le modle OSI, lexpression PDU (Protocol Data Unit) est employe pour dcrire
les donnes dune couche.
Dans le modle DoD, les termes message et flot (stream) sont utiliss au niveau de la
couche application ; les termes segment et paquet, au niveau de la couche hte hte ; le
terme datagramme, au niveau de la couche Internet ; et le terme trame, au niveau de la
couche accs rseau.

Messages,
Messages,Flots
Flots
Units
Unitsde
dedonnes
donnes

Segments
Segments
TCP TCP
Segments
TCP
Datagrammes
Paquets
UDP
PaquetsUDP
UDP

APPLICATIONS
telnet, ftp, smtp, www

TCP

UDP
ICMP

Datagrammes
Datagrammes

Transport
IGMP

IP

Rseau
ARP RARP

2
Trames
Trames

Ethernet, 802.3, X25, 802.5, ...

Le protocole IP Christian Bulfone / Licence MIASS

Physique

32

Le multiplexage/dmultiplexage permet plusieurs protocoles des couches hautes dutiliser


un protocole commun dune couche basse.
Un rseau Ethernet supportant IP (et ICMP), peut potentiellement supporter dautres
protocoles comme IPX. Cest le champ EtherType qui permet de savoir quel protocole
suprieur (rseau) la trame Ethernet est destine. Il autorise, au niveau de la couche liaison de
donnes, le multiplexage de plusieurs protocoles rseau au niveau de la source et le
dmultiplexage au niveau de la destination.
DEC
LAT

Banyan
Systems
ARP

0x6004
0xBAD

0x806

AT&T
0x8008
0x8069
0x8046
0x8047

IP

AppleTalk

0x809B
0x800

Novell

802.3
Moins de
1501

DA

SA

EtherType

Analyse du champ EtherType et


envoi vers le protocole appropri
Data

0x8137-0x8138

CRC

Quand la couche IP reoit un paquet Ethernet, elle doit distinguer les paquets pour TCP ou
UDP grce un champ didentification de protocole de 8 bits situ dans le paquet.

Le protocole IP Christian Bulfone / Licence MIASS

33

2. Les fonctions dIP


Le protocole Internet, RFC 791, fournit le service de transmission de paquets de base sur
lequel les rseaux TCP/IP sont construits. Tous les protocoles, figurant dans les couches audessus et en-dessous dIP, utilisent le protocole Internet pour transmettre des donnes. Toutes
les donnes de TCP/IP traversent IP, entrant et sortant, indpendamment de leur destination
finale.
La couche IP sappuie sur le matriel rseau sous-jacent pour sa transmission. IP peut
fonctionner au-dessus de plusieurs technologies diffrentes : Ethernet, Token-Ring, FDDI,
ATM,

Client FTP

Protocole FTP (couches 5 7)

Serveur FTP

TCP

Protocole TCP (couche 4)

TCP

IP

Protocole IP (couche 3)

IP

driver
Ethernet

Protocole Ethernet (couches 1 et 2)

driver
Ethernet

Ethernet

Ses fonctions incluent :


La dfinition du datagramme
La dfinition du plan dadressage Internet
La circulation de donnes entre la couche Accs rseau et la couche Transport machinehte machine-hte
Lacheminement (routage) des datagrammes vers les ordinateurs distance
La fragmentation et le rassemblage des datagrammes.
IP est avant tout un protocole orient non connexion, et chaque datagramme est rout
indpendamment des autres. Le protocole Internet dlgue aux protocoles des autres couches
le soin dtablir la connexion sils requirent un service orient connexion. Le rseau IP
emploie pour la livraison la mthode de Best Effort, cest--dire la meilleure livraison possible
du datagramme, sans que cette livraison soit garantie pour autant.
IP dpend galement des protocoles des autres couches pour garantir la dtection ventuelle
derreurs et leur correction. Le protocole contient uniquement un total de contrle den-tte
( header checksum ) et est dpourvu de tout code de vrification des donnes (code de
dtection derreurs et de correction). Les protocoles des autres couches de larchitecture
TCP/IP permettent deffectuer cette vrification lorsquelle savre ncessaire.

Le protocole IP Christian Bulfone / Licence MIASS

34

Les protocoles de couches suprieures peuvent esprer une certaine qualit de service (QoS).
La couche suprieure passe la couche IP les paramtres QoS en mme temps que les
donnes ; la couche IP peut alors tenter de faire correspondre ces paramtres et les services
fournis par le matriel rseau sous-jacent, capable ou non de fournir les services requis.

2.1. Format du datagramme


Le datagramme IP contient un en-tte IP suivi des donnes IP provenant des protocoles des
couches suprieures.
En-tte

Donnes
Bits

0
1

Mots

2
3

Version

1
2

IHL

1
6

Type of Service

Identification
Time to Live

2
0

2
8

3
1

Total Length
Flags

Protocol

Fragment Offset
Header Checksum

Source Address

Destination Address

2
4

Options

Padding
Data

Par dfaut, la longueur de len-tte est de 5 mots de 32 bits (soit 20 octets) ; le sixime
mot est facultatif. Puisque la longueur de len-tte est variable, elle inclut un champ
appel Internet Header Lenght (IHL - longueur de len-tte Internet) en mots. Len-tte
contient toutes les informations ncessaires la transmission du paquet.

Le champ Version fait quatre bits de long et indique le format de len-tte IP : le numro
de version actuel est 4 (IPv4) ; la version suivante est la version 6 (IPv6) et permet des
adresses IP 128 bits. Ce champ est utilis par lmetteur, le rcepteur et tout routeur
intermdiaire pour dterminer le format de len-tte IP.

Le champ Type of Service (TOS) informe les rseaux de la qualit de service dsire,
spcifiant ainsi la prsance, les dlais, le dbit et la fiabilit. La plupart des
implmentations de TCP/IP et des protocoles de routage ignorent ce champ ; il est
pourtant probable quil sera amen jouer un rle plus important dans lavenir.

Le champ Total length (longueur totale) contient la longueur de len-tte et des donnes
IP, en octets. LInternet ne limite pas les datagrammes une taille prcise mais suggre
que les rseaux et les passerelles puissent supporter ceux de 576 octets (512 octets de
donnes + 64 octets den-tte et de donnes propres au protocole) sans les fragmenter. La
taille des datagrammes IP sur la plupart des rseaux et des htes dpasse rarement 16 Ko.

La dure de vie (Time To Live) se mesure en secondes et reprsente la dure maximale de


vie dun datagramme sur le rseau. Cette valeur est dcrmente chaque routeur.
Lorsque le champ TTL tombe 0, le temporisateur TTL expire et le datagramme IP est

Le protocole IP Christian Bulfone / Licence MIASS

35

cart par le routeur (et pas par lhte de destination). Le champ TTL a une double
fonction :
- limiter la dure de vie des segments TCP
- liminer les boucles de routage Internet
Lorsque le temporisateur TTL expire, un message ICMP en avertit la source. Une valeur
par dfaut initiale de 32 ou 64 est courante.

IP transmet le datagramme en utilisant ladresse de destination contenue dans le


cinquime mot de len-tte. Ladresse de destination est une adresse IP standard de 32 bits
permettant didentifier le rseau de destination et la machine-hte connecte ce
rseau.
- si ladresse de destination correspond ladresse dune machine-hte connecte au
rseau local, le paquet est transmis directement vers la destination.
- sinon, le paquet est envoy vers une passerelle afin dtre transmis la machine-hte.
Lacheminement ou routage correspond la slection de la passerelle utiliser pour la
transmission des donnes. IP dtermine le routage appropri pour chaque paquet.

2.2. Acheminement des datagrammes


Les passerelles Internet sont gnralement (et plus exactement) rfrences comme tant des
routeurs IP puisquelles utilisent le protocole Internet pour acheminer les paquets entre les
rseaux. Dans le jargon traditionnel de TCP/IP, il nexiste que deux types de machinespriphriques de rseau :
- les passerelles
- les machines-htes.
Les passerelles transmettent les paquets entre rseaux, tandis que les machines-htes non.
Toutefois, si une machine-hte est connecte plusieurs rseaux (appele une machine-hte
multiconnecte), elle peut transmettre des paquets entre les rseaux.
Lorsque une machine-hte multiconnecte transmet des paquets, son fonctionnement est alors
identique celui dune passerelle et est utilise comme une passerelle.

2.3. Fragmentation des datagrammes


Lorsquune passerelle interconnecte des rseaux physiques diffrents, il est parfois ncessaire
de diviser le datagramme en lments de plus petite taille pour passer dun rseau lautre.
Chaque type de rseau se caractrise par une unit de transfert maximale (MTU : Maximum
Transmission Unit), correspondant au plus grand paquet que celui-ci puisse transfrer. Si la
longueur du datagramme provenant dun rseau est suprieure la MTU de lautre rseau, il
est alors ncessaire de diviser le datagramme en fragments de plus petite taille afin de
permettre la transmission des donnes. Cette procdure sappelle la fragmentation.
Type de rseau
Ethernet
IEEE 802.3
Token-Ring
FDDI
IEEE 802.4

MTU (en octets)


1 500
1 492
4 440 17 940
4 352
8 166

Le protocole IP Christian Bulfone / Licence MIASS

36

Le format de chaque fragment est identique celui de tout datagramme normal. Le deuxime
mot de len-tte contient les informations permettant de reconnatre chaque fragment de
datagramme et fournit les informations relatives la procdure de rassemblage des diffrents
fragments en un datagramme original.
Le champ Identification indique quel datagramme le fragment appartient, et le champ
Fragment Offset (dcalage de la fragmentation, en valeur multiple de 8 octets) prcise quelle
partie du datagramme correspond ce fragment. Le champ Flags (Drapeaux) possde un
lment binaire More Fragments bit qui indique IP sil a assembl tous les lments du
datagramme (MF=0).
1500 octets
504 octets

504 octets

472 octets

En-tte IP
Dcalage de
fragment = 0 octets

En-tte IP

Dcalage de
fragment = 504 octets

Dcalage de
fragment = 1008 octets

Fragment de donnes 1

Identification = 103
MF = 1
Fragment Offset = 0

En-tte IP

Fragment de donnes 2

Identification = 103
MF = 1
Fragment Offset = 63

En-tte IP

MTU : 1500

MTU : 525

Fragment de donnes 3

Identification = 103
MF = 0
Fragment Offset = 126

Le rassemblage est effectu par le module IP de destination, jamais par les routeurs
intermdiaires.

2.4. Transmission de datagrammes la couche Transport


Le champ Protocol indique quel protocole de couche suprieure recevra les donnes IP. Ce
champ est utilis pour le multiplexage/dmultiplexage des donnes vers des protocoles de
couche suprieure. Chaque protocole possde un numro de protocole unique qui permet IP
de le reconnatre.
Par exemple, la valeur du champ Protocol est 6 pour TCP, 17 pour UDP et 1 pour ICMP.
Sous Unix, ces valeurs sont stockes dans un fichier spcial /etc/protocols.

Le protocole IP Christian Bulfone / Licence MIASS

37

3. Adressage
3.1. Ladresse IP
TCP/IP offre une vision logique du rseau, rendant ainsi ce dernier indpendant de la
technologie matrielle sous-jacente (Ethernet, Token-Ring, FDDI ). Les nuds du rseau
TCP/IP sont identifis et accds grce une adresse logique, ladresse IP. Comme les
adresses IP ne dpendent pas des adresses physiques, on peut modifier le matriel sous-jacent
sans modifier ladresse logique.
Ladresse IP (ou IPv4) est dfinie sur 32 bits ; elle comporte deux parties : la partie rseau
(netid, ou ID de rseau) et la partie hte (hostid ou ID dhte). Un masque (netmask) est
associ cette adresse. Il permet au logiciel IP de dterminer le prfixe de rseau dune
adresse en calculant un ET logique avec le masque.

Historiquement le rseau Internet tait dcoup en classes dadresses. Le nombre de bits


dadresse utilis pour identifier le rseau et le nombre utilis pour reconnatre lhte variaient
en fonction de la classe.
Les trois principales classes dadresses taient : la classe A, la classe B et la classe C. La
classe D tait rserve la multidiffusion (multicasting), la classe E tait rserve un usage
ultrieur. Les classes devaient permettre de rpondre aux besoins dentreprises de diffrentes
tailles.
Un niveau de division complmentaire peut tre insr avec le sous-adressage (subnetting),
permettant de segmenter une plage dadresse en sous-rseaux IP.
ID de station

ID de rseau

0
Classe A : de 0.0.0.0 127.255.255.255
ID de station

ID de rseau

10
Classe B : de 128.0.0.0 191.255.255.255
ID de rseau

ID de station

110
Classe C : de 192.0.0.0 223.255.255.255
1110
Classe D : de 224.0.0.0 239.255.255.255
11110
Classe E : de 240.0.0.0 247.255.255.255

Le protocole IP Christian Bulfone / Licence MIASS

38

Si le premier bit dune adresse est positionn sur 0, il sagit alors dune adresse dun
rseau de classe A. Le premier bit dune adresse de classe A permet didentifier la classe
de ladresse. Les 7 bits suivants permettent de dterminer le rseau et les 24 derniers bits
de reconnatre lhte. Il existe moins de 128 numros de rseau de classe A ; chaque
rseau de classe A peut tre constitu de millions dhtes.

Si les 2 premiers bits de ladresse sont 1 0, il sagit alors dune adresse de rseau de classe
B. Les 2 premiers bits permettent de dterminer la classe, les 14 bits suivant de dterminer
le rseau. Les 16 derniers bits permettent de reconnatre lhte. Il existe des milliers de
numros de rseau de classe B et chaque rseau de classe B peut tre constitu de milliers
dhte.

Si les 3 premiers bits de ladresse sont 1 1 0, il sagit alors dune adresse de rseau de
classe C. Les 3 premiers bits identifient la classe ; les 21 suivants correspondent
ladresse du rseau, et les 8 derniers bits permettent didentifier lhte. Il existe des
millions de numros de rseau de classe C. Chaque rseau de classe C comporte moins de
254 htes.

Si les 3 premiers bits sont 1 1 1, il sagit dune adresse spciale rserve. Ces adresses ne
correspondent pas des rseaux spcifiques.

La notion de classe d'adresses a t rendue obsolte pour l'adressage des nuds du rseau
Internet car elle induisait une restriction notable des adresses IP affectables par l'utilisation de
masques spcifiques. Les documents RFC 1518 et RFC 1519 publis en 1993 spcifient une
nouvelle norme : l'adressage CIDR (Classless Internet Domain Routing ou routage de
domaine Internet sans classe cf. ci-aprs). Ce nouvel adressage prcise qu'il est possible
d'utiliser un masque quelconque appliqu une adresse quelconque. Il organise par ailleurs le
regroupement gographique des adresses IP pour diminuer la taille des tables de routage des
principaux routeurs du rseau Internet.
Les adresses IP sont reprsentes sous la forme de quatre nombres correspondant la valeur
dcimale des quatre octets qui composent ladresse, spars par des points (notation
dcimale pointe).
Le masque peut tre spcifi soit en notation dcimale pointe, soit sous forme condens
cest--dire en indiquant simplement le nombre de bits 1 quil contient :
Exemple :
192.168.200.254/255.255.255.0 (notation classique )
ou 192.168.200.254/24 (notation CIDR).

3.2. Adresses IP spciales

Une adresse IP dont lhostid vaut 0 indique le rseau lui-mme.

Une adresse de diffusion dirige (directed broadcast) est une adresse dans laquelle, tous
les bits de lhostid sont 1 (soit 255 en dcimal) : XXX.XXX.XXX.255 pour un rseau de
classe C, XXX.XXX.255.255 pour un rseau de classe B. Une adresse de diffusion dirige
peut apparatre dans ladresse IP de destination dun datagramme IP, mais jamais comme
source.

Le protocole IP Christian Bulfone / Licence MIASS

39

Une adresse de diffusion limite (limited broadcast) reprsente par ladresse


255.255.255.255, permet datteindre tous les nuds du rseau. La diffusion limite peut
tre utilise dans les rseaux locaux, pour lesquels une diffusion ne franchit jamais la
frontire du routeur. Elle ne peut jamais apparatre comme adresse IP source, mais
seulement comme adresse de destination.

Une adresse IP ne comportant que des 0 (0.0.0.0), est gnralement utilise lorsquun
nud IP essaye de dterminer sa propre adresse IP, comme le fait le protocole BOOTP
qui permet aux nuds dun rseau de se voir affecter une adresse IP.
On utilise aussi ladresse 0.0.0.0 dans les tables de routages pour indiquer lentre de
rseau de ladresse IP du routeur par dfaut (souvent appel passerelle par dfaut ).
Ladresse IP 0.0.0.0 ne peut tre utilise que comme adresse IP source, jamais comme
adresse IP de destination.

Adresse de bouclage : tout paquet envoy par une application TCP/IP vers une adresse de
type 127.X.X.X, o X est un nombre entre 0 et 255, a pour consquence le renvoi de ce
paquet lapplication sans que le paquet natteigne le support du rseau. Le paquet est
copi du buffer de transmission au buffer de rception sur la machine elle-mme.
Ladresse de bouclage logiciel permet de vrifier rapidement que TCP/IP est bien
configur (on peut faire un ping sur sa propre machine). Elle est galement utile
lorsquun client et un serveur TCP/IP sexcutent sur une mme machine.
Bien que toute adresse de format 127.X.X.X indique une adresse de bouclage, les adresses
de bouclage usuelles sont 127.0.0.1 et 127.1 dans la plupart des implmentations de
TCP/IP.

3.3. Unicast, broadcast, multicast


Lorsquun datagramme IP est envoy une adresse IP individuelle, on dit quil sagit dun
datagramme IP unicast. Lenvoi de ce datagramme est appel unicasting ; on utilise
lunicasting lorsque deux nuds IP communiquent ensemble.
Lorsquun datagramme IP est envoy tous les nuds dun rseau spcifique, il sagit dune
diffusion (broadcasting).
Lorsquun datagramme IP est envoy un groupe de destinataires, on parle de multicasting
(multidiffusion). Dans ce cas, on utilise une adresse de classe D comme adresse de
destination. Les systmes qui appartiennent au mme groupe de multidiffusion (qui ont donc
une mme adresse de classe D), doivent aussi se voir affecter une adresse IP (de classe A, B
ou C).
Le groupe de multidiffusion peut recevoir un datagramme IP de deux manires :
des datagrammes IP envoys directement aux adresses IP individuelles (classes A, B ou
C)
des datagrammes IP envoys ladresse de multidiffusion (classe D)
Pour que la multidiffusion fonctionne bien, un hte doit avoir la capacit de se joindre un
groupe de multidiffusion et de le quitter. Le logiciel de couche IP doit tre en mesure de
reconnatre les adresses de multidiffusion des datagrammes IP entrants ou sortants (ce qui
nest pas le cas des vieilles implmentations dIP).
Nimporte quel hte sur un inter-rseau IP peut se joindre un groupe de multidiffusion. Il
nest pas ncessaire que les htes du groupe appartiennent un mme rseau local ; ils
peuvent tre spars par des routeurs.
Le protocole IP Christian Bulfone / Licence MIASS

40

3.4. Affectation des adresses IP


Si le rseau local doit tre connect dautres rseaux tels que lInternet, il faut obtenir un
netid distinct qui nest utilis par personne dautre. Une fois ce numro obtenu, il incombe
ladministrateur rseau daffecter les numros dhte partir de son numro de rseau. Cest
lInternet Address Network Authority (IANA) qui dfinit les procdures et constitue lautorit
suprme sur les numros affects. LIANA a dlgu la zone europenne un organisme : le
RIPE NCC (Rseaux IP Europens - Network Coordination Centre). Cet organisme distribue
les adresses IP aux fournisseurs daccs Internet.
Pour rduire le besoin en nouvelles adresses IP, la RFC 1918 concerne lallocation dadresses
pour les rseaux privs. Ce sont des rseaux qui ne sont pas connects dautres rseaux, ou
dont les htes et les services ont une interaction limite avec lInternet.
classe A : 10.0.0.0 10.255.255.255
classe B : 172.16.0.0 172.31.255.255
classe C : 192.168.0.0 192.168.255.255
Pour des raisons de scurit, de nombreuses entreprises utilisent des passerelles logicielles
(tels des firewalls ou garde-barrire) pour connecter leur rseau local lInternet. Le rseau
interne na gnralement pas un accs direct lInternet et seuls un ou plusieurs htes sont
visibles depuis lInternet.
Il est galement possible dutiliser des mcanismes de translation dadresses (NAT, Network
Address Translation) qui peuvent faire correspondre un ensemble dadresses IP prives et un
ensemble dadresses IP distinctes (ce qui permet aussi de faire des conomies au niveau des
classes de rseaux).
Si on veut utiliser lespace dadressage priv, il sagit de bien dterminer quels sont les htes
qui nont pas besoin de bnficier dune connectivit de couche de Rseau, et ceux qui ont
besoin dadresses globalement distinctes.

3.5. Adressage de sous-rseau


Avec IP, il est possible de diviser une adresse de rseau en plusieurs adresses de sous-rseaux
(cf RFC 950). La cration de sous-rseaux permet de rsoudre des problmes organisationnels
ou de topologie.
Lapplication dun masque de bit, appel masque du sous-rseau (subnet mask), ladresse IP
permet de dfinir un sous-rseau. Le masque de sous-rseau divise le champ hostid en un
numro de sous-rseau et un numro dhte. Le masque est un nombre 32 bits dont les
valeurs sont dfinies selon les rgles suivantes :

si un bit dtermin est activ dans le masque (est 1), son pendant dans ladresse est
interprt comme tant un bit de rseau.

si un bit du masque est dsactiv (est 0), ce bit appartient alors la partie hte de
ladresse.

Le protocole IP Christian Bulfone / Licence MIASS

41

netid

hostid

Adresse IP

Masque de
sous-rseau

11111111

11111111

Numro de
sous-rseau

Numro
dhte

11111111

00000000

Le sous-rseau nest reconnu que localement. Dans le reste dInternet, ladresse est toujours
interprte comme tant une adresse IP standard.
D'aprs la RFC 950, les sous-rseaux dont les bits sont tous 0 ou tous 1 ne
devraient pas tre utiliss pour viter les erreurs d'interprtation sur les adresses
rserves.

3.6. Sur-rseaux
Le concept de sous-rseau a t conu en 1985 pour optimiser lutilisation de lespace
dadressage IP. Les adresses de classes A et B venaient en effet manquer, mais les adresses
de classe C disponibles taient encore en nombre apprciable.
La mise en sur-rseau, ou adressage en sur-rseau, consiste affecter un bloc dadresse de
classe C plutt quune adresse de classe B unique, afin de crer une classe dadresses virtuelle
situe mi-chemin entre un rseau de classe C et un rseau de classe B.
Ladressage en sur-rseau est conu notamment pour les fournisseurs daccs Internet (FAI).
Comme un bloc de 256 adresses de classe C est ncessaire pour prendre en charge
lquivalent dune seule adresse de classe B, une table de routage doit contenir 256 adresses
de rseau pour chacun des rseaux de classe C. Ce qui pose des problmes de taille.
La technique du CIDR permet de rsumer un bloc dadresses de classe C en une seule entre
de table de routage. Cette entre de table est constitue ainsi :
(plus basse adresse du bloc, masque de sur-rseau)
La plus basse adresse du bloc est ladresse de dpart de ce bloc, et le masque de sur-rseau
spcifie le nombre dadresses de classe C dans le bloc.
(192.55.16.0, 255.255.240.0)
Plus petite adresse
bu bloc

= 11000000

Masque de sur-rseau

= 11111111

Masque par dfaut

00110111

11111111
supernet
= 11111111 11111111
defaut mask

Le protocole IP Christian Bulfone / Licence MIASS

00010000

00000000

11110000

00000000

11111111

00000000

42

Lintervalle dadresses de classe C est dlimit par les adresses suivantes :


11000000 00110111 00010000 00000000 = 192.55.16.0
11000000 00110111 00011111 11111111 = 192.55.31.255
Combien dadresses de classe C contient ce bloc ? Il suffit de regarder le nombre de bits
pouvant varier dans la partie rseau de ladresse de classe C (le masque par dfaut indique la
partie netid et hostid). Ce sont les 4 bits du masque de sur-rseau :
11111111 11111111 11110000 00000000
soit 24 = 16 adresses de classes C.
Les routes dun bloc CIDR peuvent tre rsumes en une unique entre de table de routage
appele un agrgat.
Il existe une autre notation utilisable pour les blocs CIDR :
plus basse adresse du bloc/nombre de bits de prfixe commun
(192.55.16.0, 255.255.240.0)
192.55.16.0/20
Le masque de sous-rseau par dfaut dune adresse de classe C est 255.255.255.0, soit pour
les htes dune seule adresse de classe C, un prfixe commun de 24 bits. Lorsque ce nombre
de bits est infrieur 24, cest ladressage en sur-rseau qui est utilis (adressage en sousrseau lorsquil est suprieur 24).

3.7. Protocoles de rsolution dadresse


En TCP/IP les interfaces du rseau sont modlises par un unique identificateur 32 bits,
ladresse IP. Or la transmission des datagrammes IP sur le rseau physique ncessite que ces
datagrammes soient encapsuls dans des trames de couche de liaison de donnes (couche 2),
telles que Ethernet ou Token-Ring, qui elles contiennent des adresses physiques (adresses
MAC).
adresses IP
192.168.20.25

192.168.20.104

ARP
Ethernet
00:11:11:80:FB:3C

00:07:E9:19:50:8A

adresses MAC

Un mcanisme souple, implment sous forme dun protocole distinct et appel ARP
(Address Resolution Protocol) permet de dterminer dynamiquement ladresse MAC partir
de ladresse IP dun hte.

Le protocole IP Christian Bulfone / Licence MIASS

43

Pour dterminer ladresse matrielle de lhte B avant de lui envoyer son message, la station
A envoie sur le rseau une trame MAC de diffusion, appele trame ARP de requte. Celle-ci
contient les adresses IP et MAC de lhte A metteur, ainsi que ladresse IP de la destination
B. La trame inclut un champ destin contenir ladresse MAC de B. Tous les nuds du
rseau physique reoivent la trame ARP. Seul lhte dont ladresse IP correspond ladresse
requise dans la trame de requte ARP rpond en encodant sa propre adresse matrielle dans
une trame de rponse ARP. Lhte A initialise alors sa table cache ARP (conserve en
mmoire) en utilisant la rponse fournie. Les entres dans cette table expirent aprs une
temporisation donne qui peut tre configure dans certaines implmentations de TCP/IP
(gnralement 15 mn). Le cache ARP est consult par un hte juste avant lenvoi dune
requte ARP ; si la rponse se trouve dans le cache, la requte nest pas effectue.

La requte ARP est envoye avec une adresse matrielle de diffusion. Le protocole ARP part
du principe que le rseau physique sous-jacent prend en charge la diffusion.
Le paquet ARP est encapsul dans la trame de couche de liaison de donnes du rseau. La
valeur 0x806 dEtherType est rserve pour les trames ARP.
RARP (Reverse ARP) est un mcanisme utilis par les stations sans disques (terminaux X)
pour obtenir leur adresse IP auprs dun serveur distant. Le nud qui veut connatre sa propre
adresse envoie en diffusion une requte RARP. En Ethernet, la valeur 0x8035 dEtherType est
rserve pour les trames RARP. Sil existe plusieurs serveurs RARP, chacun deux tente de
traiter la requte RARP. Gnralement, le client RARP accepte la premire rponse reue et
ignore silencieusement les suivantes.
Le serveur RARP tient jour une table des adresses IP des nuds du segment ; cette table est
indexe par un identificateur distinct pour chaque machine, son adresse matrielle.
Dans la plupart des implmentations, RARP nest pas automatiquement fourni par le module
ARP ou IP, mais est excut sous forme de processus spar (un dmon) sur la machine qui
tiendra lieu de serveur RARP.

Le protocole IP Christian Bulfone / Licence MIASS

44

4. Le protocole ICMP : Internet Control Message


Protocol
Une partie de IP correspond au protocole ICMP (Internet Control Message Protocol) dfini
dans le RFC 792. Ce protocole est une partie intgrante de la couche Internet.
Toute implmentation de IP peut gnrer un message ICMP, cest en particulier le cas des
htes et des routeurs. Les messages ICMP sont encapsuls dans IP (le message ICMP est
inclus dans la partie donnes du datagramme IP ; le champ Protocol vaut alors 1). Il ny a
jamais de rponse un message ICMP (sauf echo request) pour ne pas engendrer dautres
messages en cascade.
ICMP envoie des messages qui ralisent les fonctions suivantes de contrle, de dtection des
erreurs, et de transmission dinformations pour TCP/IP. Il existe 18 types de messages ICMP.

Contle de flux : lorsque les datagrammes arrivent trop rapidement afin dtre traits, la
machine-hte de destination ou une passerelle intermdiaire renvoie un message de
congestion de la source ICMP lmetteur. Ce message indique la source de suspendre
temporairement lenvoi de datagrammes.

Dtection de destinations inaccessibles : lorsquune destination savre inaccessible, le


systme qui dtecte le problme envoie un message Destination inaccessible la source
du datagramme. Si la destination inaccessible est un rseau ou une machine-hte, le
message est alors envoy via une passerelle intermdiaire. En revanche, si la destination
est un port inaccessible, la machine-hte de destination envoie le message.

Redirection des voies : une passerelle envoie le message de redirection ICMP afin
dindiquer une machine-hte dutiliser une autre passerelle, probablement parce que
lautre passerelle constitue un meilleur choix. Ce message peut tre uniquement utilis si
la machine-hte source est connecte au mme rseau que les deux passerelles.

Vrification des machines-htes distance : une machine-hte peut envoyer le message


dcho ICMP pour constater si le protocole Internet du systme distance est
oprationnel. Lorsquun systme reoit un message de demande dcho (echo request,
type 8), il renvoie un message de rponse dcho (echo reply, type 0) la machine-hte
source. La commande ping dUnix utilise ce message ; elle mesure aussi le temps moyen
daccs (latence) lhte distant.

La commande traceroute utilise galement des messages ICMP ; elle permet de


connatre la route exacte emprunte par les datagrammes. traceroute envoie 3 paquets
UDP avec un TTL gal 1 puis recommence en augmentant le TTL de 1 chaque envoi.
A chaque fois que le TTL arrive 0, le routeur renvoie un message ICMP derreur.

Le protocole IP Christian Bulfone / Licence MIASS

45

9.0.0.0/8

10.0.0.0/8

11.0.0.0/8

12.0.0.0/8
12.0.0.1

traceroute 12.0.0.1

TTL = 1

TTL = 0

ICMP de 9.0.0.1
TTL = 2

TTL = 1

TTL = 0

ICMP TTL expir de 10.0.0.1


TTL = 3

TTL = 2

TTL = 1

TTL = 0

TTL = 2

TTL = 1

ICMP TTL expir de 11.0.0.1


TTL = 4

TTL = 3

ICMP TTL port inaccessible de 12.0.0.1

5. IPv6
IPv6 est le successeur de la version actuelle dIP (IPv4). Il maintient les meilleures fonctions
dIPv4, en carte ou minimise les mauvaises, et en ajoute de nouvelles quand elles sont
ncessaires. Les principales amliorations de cette version sont :

des adresses codes sur 16 octets (128 bits) et notes sous la forme de 8 groupes de 4
chiffres hexadcimaux spars avec le symbole deux-points, offrant un espace
dadressage quasi illimit (environ 3,41038 adresses)
exemple : 8000:0000:0000:0000:0123:4567:89AB:CDEF

la simplification de l'en-tte des datagrammes avec 7 champs (contre 14 pour IPv4)


permettant aux routeurs de traiter les datagrammes plus rapidement et amliorant
globalement leur dbit.

plus de souplesse accorde aux options : les champs obligatoires de l'ancienne version
sont maintenant devenus optionnels. De plus, la faon dont les options sont
reprsentes est diffrente ; elle permet aux routeurs d'ignorer plus simplement les
options qui ne leur sont pas destines. Cette fonction acclre le temps de traitement
des datagrammes.

une plus grande scurit (authentification et confidentialit)

une plus grande attention que par le pass accorde aux types de services.

Le protocole IP Christian Bulfone / Licence MIASS

46