Sunteți pe pagina 1din 41

Introduction aux rseaux

Jean-Yves Didier

Table des matires


1 Gnralits sur les rseaux 1.1 Dnitions . . . . . . . . . . . . . . . . . . . . 1.1.1 Dans la vie de tous les jours . . . . . . 1.1.2 Les rseaux informatiques . . . . . . . 1.2 Proprit des rseaux . . . . . . . . . . . . . . 1.2.1 Lchelle gographique . . . . . . . . . 1.2.2 Le mode dacheminement des messages 1.3 La norme OSI . . . . . . . . . . . . . . . . . . 1.3.1 La couche Matriel . . . . . . . . . . . 1.3.2 La couche Liaison . . . . . . . . . . . 1.3.3 La couche Rseau . . . . . . . . . . . 1.3.4 La couche Transport . . . . . . . . . . 1.3.5 La couche Session . . . . . . . . . . . 1.3.6 La couche Prsentation . . . . . . . . . 1.3.7 La couche Application . . . . . . . . . 1.3.8 Les limites du modle OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 4 4 4 4 5 6 6 7 7 7 7 7 7 7 8 8 8 9 9 9 9 10 10 10 10 11 11 12 12 13 13

La couche Matriel : construction physique dun rseau 2.1 Topologies des rseaux . . . . . . . . . . . . . . . . 2.1.1 Le cblage en mailles . . . . . . . . . . . . . 2.1.2 Le cblage en bus . . . . . . . . . . . . . . . 2.1.3 Le cblage en anneau . . . . . . . . . . . . . 2.1.4 Le cblage en toile . . . . . . . . . . . . . 2.1.5 Le cblage en arbre . . . . . . . . . . . . . . 2.1.6 Le cblage Starlan . . . . . . . . . . . . . . 2.2 Les techniques de partage du support physique . . . 2.2.1 Lallocation statique de bande passante . . . 2.2.2 Les accs au support par comptition . . . . 2.2.3 Les accs au support par lection . . . . . . . 2.3 Normes associes aux rseaux physiques . . . . . . . 2.4 Exemple de solutions matrielles pour les rseaux . . 2.4.1 Le rseau Ethernet . . . . . . . . . . . . . . 2.4.2 Le rseau Pronet-10 . . . . . . . . . . . . . 2.4.3 Le rseau WiFi . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . .

La couche Liaison : communiquer sur le mme support physique 3.1 Le rseau Pronet-10 . . . . . . . . . . . . . . . . . . . . . . . 3.2 Le rseau Ethernet . . . . . . . . . . . . . . . . . . . . . . . 3.3 Le rseau Wi . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Le mode ad-hoc . . . . . . . . . . . . . . . . . . . . . 3.3.2 Le mode infrastructure . . . . . . . . . . . . . . . . . La couche Rseau : du rseau physique au rseau logique 4.1 Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 De la ncessit des adresses logiques . . . . . . . 4.1.2 Lorsque le modle OSI montre ses limites . . . . . 4.2 Suite de protocoles IPv4 . . . . . . . . . . . . . . . . . . 4.2.1 La naissance dInternet et IPv4 . . . . . . . . . . . 4.2.2 Brve prsentation des protocoles IPv4 de couche 3 4.2.3 Adressage logique IPv4 . . . . . . . . . . . . . . 4.2.4 Format du datagramme IP . . . . . . . . . . . . . 4.2.5 Les protocoles ARP et RARP . . . . . . . . . . . 4.2.6 Mcanismes de routage IPv4 . . . . . . . . . . . . 4.2.7 Le protocole RIP . . . . . . . . . . . . . . . . . . 4.2.8 Le protocole ICMP . . . . . . . . . . . . . . . . . 4.3 La famille IPv6 . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Adressage IPv6 . . . . . . . . . . . . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

14 14 15 15 15 16 16 17 17 17 17 17 18 18 20 21 23 25 27 28 28 30 30 30 30 30 30 30 31 31 32 32 32 33 33 34 35 35 36 36 36 36 37 37 37

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

. . . . . . . . . . . . . .

Bibliographie Appendices A Commandes rseau Windows XP A.1 La commande ipcong . . . A.2 La commande tracert . . . . A.3 La commande ping . . . . . A.4 La commande arp . . . . . . A.5 La commande route . . . . . A.6 La commande nslookup . . . B Commandes rseau Unix B.1 La commande route . . . B.2 La commande ifcong . B.3 La commande arp . . . . B.4 La commande ping . . . B.5 La commande traceroute B.6 La commande tcpdump . B.7 La commande hostname

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

C Primitives de programmation rseau C.1 Headers inclure . . . . . . . . C.2 Les familles dadresse . . . . . . C.3 Les structures dadresses . . . . C.4 Lappel systme socket . . . . . C.5 Lappel systme bind . . . . . . C.6 Lappel systme connect . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . . 2

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

C.7 C.8 C.9 C.10 C.11

Lappel systme listen . . . . . . Lappel systme accept . . . . . Lappel systme gethostbyname Lmission dinformations . . . La rception dinformations . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

38 38 38 39 39 41

D Conversion binaire/dcimal

Table des gures


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Commutation de messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Commutation de paquets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les couches du modle OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Les couches de la famille de protocoles IP . . . . . . . . . . . . . . . . . . . . . . . Les diverses topologies des rseaux . . . . . . . . . . . . . . . . . . . . . . . . . . Le systme token-ring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . lments constitutifs dun rseau Ethernet n . . . . . . . . . . . . . . . . . . . . . lments constitutifs dun rseau de type Starlan sur paire torsade . . . . . . . . . . Adaptateur Pronet-10 avec lensemble de switchs ncessaires congurer son adresse physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trame ProNet-10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trame Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Trame Wi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Format de len-tte dun datagramme IPv4 . . . . . . . . . . . . . . . . . . . . . . . Trame ARP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dbut dune trame ARP de requte . . . . . . . . . . . . . . . . . . . . . . . . . . . Exemple de routage au travers de plusieurs rseaux . . . . . . . . . . . . . . . . . . Exemple de table de routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Algorithme exploitant la table de routage . . . . . . . . . . . . . . . . . . . . . . . Vecteurs distance : exemple de mise jour. . . . . . . . . . . . . . . . . . . . . . . . Datagramme RIPv1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datagramme RIPv2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datagramme ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Datagramme ICMP associ aux requtes et rponse ping . . . . . . . . . . . . . . . 6 6 7 8 9 11 12 13 14 14 15 15 20 22 22 23 24 24 25 27 27 27 28

GNRALITS SUR LES RSEAUX

1
1.1
1.1.1

Gnralits sur les rseaux


Dnitions
Dans la vie de tous les jours

Un rseau est, dans le vocabulaire de tous les jours, un ensemble dobjets ou de personnes connectes ou maintenues en liaison. Par extension, il peut venir en dsigner lensemble des connections tablies. Lorigine tymologique de ce mot est le terme latin rete qui signie let. Ce terme est appropri puisquun let est constitu de noeuds et de liens entre ces derniers. Par similitude, les objets ou personnes relies sont appeles noeuds du rseau. Ainsi, le terme rseau peut sappliquer divers domaines : le rseau social dsigne un ensemble de personnes qui se connaissent et restent en contact entre elles, le rseau ferroviaire dsigne les lignes de chemin de fer ainsi que les gares. Mais les rseaux ne se limitent pas ces deux domaines. Ainsi, il existe des rseaux lectriques, tlphoniques, ou informatiques. 1.1.2 Les rseaux informatiques

Plus spciquement, un rseau informatique dsigne un ensemble de machines inter-connectes qui servent changer des ux dinformation. Un rseau informatique rpond donc au besoin dchanger des informations (besoin de communiquer). Il convient toutefois de faire attention aux situations dans lesquelles le terme rseau est employ en informatique. En effet, il peut dsigner : Lensemble des machines, Le protocole de communications, La manire dont les quipements sont connects. Par la suite, lorsque que nous emploierons le terme rseau(x), celui-ci se rfrera lexpression rseau(x) informatique(s). Un rseau informatique possde certaines proprits que nous allons dtailler.

1.2

Proprit des rseaux

Les rseaux peuvent stendre sur une chelle gographique, avoir une topologie (dont nous reparlerons ultrieurement en section 2.1 page 8) ou un mode dacheminement des messages. 1.2.1 Lchelle gographique

Les rseaux sont classs en fonction de leur tendue gographique. Ainsi, on parlera de : - PAN Personnal Area Network pour les rseaux personnels de moins dune dizaine de machines, - LAN Local Area Network pour les rseaux locaux lchelle dun btiment (par exemple le rseau de lIUP), - MAN Metropolitan Area Network pour les rseaux construits lchelle dune ville ou dun campus (par exemple le rseau REVE reliant les tablissements de formation et de recherche de la ville dvry), - WAN Wide Area Network pour les rseaux lchelle dun pays ou mondiale (par exemple RENATER, le rseau reliant les tablissements de la recherche franaise). Le nombre de machines mises en rseau va dnir la diffrence entre un LAN ou un PAN. En revanche, il est intressant de noter que les MAN et les WAN peuvent tre composs de plusieurs LAN ou PAN. Il y donc non seulement interconnexion de machines mais aussi de rseaux au travers desquels les messages seront achemins.

GNRALITS SUR LES RSEAUX Le mode dacheminement des messages

1.2.2

Comme la mise en rseau de machines correspond au besoin dchanger des informations, des messages transitent en permanence dans un rseau. Il existe plusieurs stratgies pour acheminer un message au travers du rseau. On parle alors de techniques de commutation. Nous dtaillerons les 5 mthodes les plus courantes savoir : La commutation de circuits, La commutation de messages, La commutation de paquets, La commutation de trames, La commutation de cellules. La commutation de circuits est une mthode utilise sur les rseaux tlphoniques classiques. Les communications passent par trois phases distinctes : Ltablissement de la liaison o lon va chercher et occuper un itinraire pour acheminer le message (ce qui est fait lorsque lon dcroche et compose un numro. La sonnerie indique que la liaison est tablie), Le maintient de la liaison pendant toute la dure de la connexion, La libration des connexions sur ordre et le retour ltat libre du rseau. La commutation de messages sappuie sur les noeuds du rseau. Ainsi, le message transite de noeuds en noeuds jusquau destinataire. Un noeud ne peut envoyer le message que sil a reu ce dernier compltement. Ce mode de commutation a t abandonn et remplac au prot de la commutation de paquets. La commutation de paquets consiste fragmenter le message en paquets qui seront transmis de noeuds en noeuds jusquau destinataire. Il existe plusieurs stratgies pour acheminer les paquets. Dans le mode connect les paquets empruntent toujours le mme chemin (cest le cas du rseau TRANSPAC), Dans le mode non-connect les paquets peuvent emprunter des itinraires diffrents. En ralit, chaque noeud va se charger daiguiller linformation. Cest sur ce principe que sont changes les informations sur internet. Comme il sagit de lun des plus rpandus modes de commutation, ce dernier fait lobjet dune norme internationale qui est loeuvre des oprateurs tlphoniques : la norme X25. Pour permettre lacheminement et le rassemblage des paquets, ce dernier renferme les informations suivantes : Un identiant de source, Un identiant de destination, Un numro de squence, Un bloc contenant les donnes proprement dites, Un code de vrication des erreurs. La commutation de trames est une extension de la commutation de paquets. La commutation est assure directement au niveau du matriel employ pour construire le rseau La commutation de cellules est galement une extension de la commutation de paquets laquelle on ajoute les avantages de la commutation de circuits. Les paquets ont une longueur xe de 53 octets (avec 5 octets den-tte). La connexion est mise en place avant toute mission de cellule. Le rseau ATM (pour Asynchronous Transfer Mode) exploite cette solution. A ce type de commutation est associe la notion de qualit de service qui dpend du type dinformations transportes.

GNRALITS SUR LES RSEAUX

Pourquoi la commutation par paquets est un mode de commutation prpondrant ? Il suft de tracer sur un chronogramme le temps ncessit pour acheminer un message dun noeud lautre du rseau en passant par plusieurs noeuds intermdiaires pour comprendre la raison du choix de la commutation par paquets (voir gures 1 et 2). On constate immdiatement que les temps de transmission au travers de plusieurs noeuds sont infrieurs si la commutation de paquets est employe la place de la commutation de messages.
Rception mission

Noeud1 Noeud2 Noeud3

Temps de transmission

Temps

F IG . 1 Commutation de messages

Noeud1 Noeud2 Noeud3

1 1 2

4 3 4 1 2 3 4 1 2 3 1 24 3 4 1 2 3 4

Rception mission

Temps de transmission

Temps

F IG . 2 Commutation de paquets En ralit, comme la commutation par paquets est un mode de commutation trs rpandu (puisquutilis par internet), ce mode fait lobjet dune norme pour dcrire les rseaux. Il sagit de la norme OSI (pour Open Systems Interconnections).

1.3

La norme OSI

Cette norme ISO a t cre en 1984. Elle sintresse aux rseaux commutation de paquets. Il sagit dun modle 7 couches (voir gure 3 page suivante) qui dcrit les rseaux. Chaque couche possde une problmatique qui lui est propre. La mise en place dun rseau consiste trouver une solution par couche. Les couches sont en thorie indpendantes. Il est donc possible de modier la solution adopte pour une couche sans affecter les couches suprieures ou infrieures. Le modle OSI dcrit ainsi les rseaux des couches basses qui concernent le matriel qui constitue le rseau jusquaux couches hautes qui dcrivent la communication entre les applications fonctionnant laide du rseau constitu. Pour chacune des couches, nous aborderons les problmes rsoudre. 1.3.1 La couche Matriel

GNRALITS SUR LES RSEAUX

Application Prsentation Session Transport Rseau Liaison Matriel

7 6 5 4 3 2

Cette couche dcrit le support physique employ pour transmettre linformation (bre optique, cble rseau conventionnel, ondes pour les rseaux sans ls, etc. ) ainsi que la topologie du rseau en luimme cest dire comment les machines sont relies les unes aux autres. 1.3.2 La couche Liaison

Dans cette couche, le problme rsoudre est celui de la communication entre plusieurs machines relies par le mme support physique. Ainsi, il faut pouvoir identier deux machines situes sur le mme rseau physique. De mme, il faut assurer la transmission des informations sans erreur dune machine lautre ? 1.3.3 La couche Rseau

Cette couche sintresse linterconnection de plusieurs rseaux physiques. Ainsi, les problmes rsoudre sont lacheminement dun F IG . 3 Les couches du mo- paquet dun point du rseau un autre (ce que lon appelle le roudle OSI tage), sachant que larrive et le dpart ne sont pas sur le mme support physique, linterconnexion de supports physiques et de rseaux htrognes ainsi que le contrle et la rgulation du trac sur le rseau. A ce niveau apparaissent des protocoles de communication rseau tels que le protocole IP (pour Internet Protocol) utilis par Internet. 1.3.4 La couche Transport

Les problmes abords dans cette couche concerne le dcoupage dun message en paquets, la restitution de ce dernier partir des paquets. Cette couche doit aussi permettre de sassurer de la bonne rception du message. Les protocoles couramment utiliss dans cette couche sont les protocoles TCP et UDP. 1.3.5 La couche Session

Lorsque deux utilisateurs sont mis en relation, ces derniers effectuent des transactions dans le cadre dune session. Le problme rsoudre est donc ltablissement dune session. Il faudra galement dterminer les mcanismes de synchronisation employer. 1.3.6 La couche Prsentation

La problmatique est celle de la prsentation de linformation qui transite sur le rseau. Doiton compresser ou mme crypter les donnes ? Sous quelle forme doit elle circuler ? Doit on coder linformation ? 1.3.7 La couche Application

Cette couche sintresse aux protocoles associer aux applications qui ncessitent un support rseau pour changer des informations. Cest le cas des protocoles pour les changes de-mail, la navigation de pages en pages internet, etc ... 1.3.8 Les limites du modle OSI

LA COUCHE MATRIEL : CONSTRUCTION PHYSIQUE DUN RSEAU

Application

Transport Rseau

4 3

Le modle OSI est un protocole dvelopp aprs nombre de protocoles rseaux alors dj trs rpandus qui ne respectent pas cette norme. De plus, dans la ralit, lindpendance des diffrentes couches nest pas garantie. Ainsi, la famille de protocoles la plus utilise de nos jours, la famille de protocoles IP ne respecte pas la norme OSI la lettre. En effet, les couches Session, Prsentation et Application sont confondues dans cette famille de protocoles en une seule couche applicative (voir gure 4).

Par la suite, pour examiner la constitution des rseaux, nous nous appuierons sur le modle en couches de la famille de protocoles IP. Ainsi, nous verrons comment constituer physiquement un rseau 2 (couche matriel), comment faire communiquer deux machines siLiaison tues sur le mme support physique (couche liaison), comment interconnecter plusieurs rseaux (couche rseau), comment fragmenter 1 Matriel et dfragmenter les messages tout en contrlant la manire dont ils F IG . 4 Les couches de la fa- sont transports (couche transport) et enn comment sont bties les applications employant le rseau comme support de communication mille de protocoles IP (couche application).

La couche Matriel : construction physique dun rseau

Dans cette partie, nous verrons quelles sont les topologies que nous pouvons donner un rseau, les manires de partager le support physique entre plusieurs stations ainsi que les normes internationales qui y sont associes. Nous dtaillerons galement de manire plus approfondie le matriel employ pour constituer des rseaux de type Pronet-10, Ethernet et WiFi.

2.1

Topologies des rseaux

Lorsquil sagit de connecter 2 stations lune lautre, un seul cble suft pour les faire communiquer. Toutefois, comment cela se passe si lon dispose dune grande quantit de stations. Plusieurs stratgies peuvent tre employes pour relier les stations. Ces stratgies de cblages donnent plusieurs congurations physiques de rseaux appeles topologies. Parmi les topologies classiques, nous comptons : le cblage en mailles, le cblage en bus, le cblage en toile, le cblage en anneau, le cblage en arbre, le cblage dit Starlan. 2.1.1 Le cblage en mailles

Comme nous pouvons le voir la gure 5(a) page suivante, ce cblage constitue une gnralisation du cas deux stations. En effet, chaque station du rseau est relie une autre par un cble. Ce systme est inusit de nos jours en raison du nombre de cbles ncessaires pour crer un tel rseau (pour n stations, cela fait n(n + 1)/2 cbles). De plus, rajouter une station sur ce rseau signie que lon doit rajouter autant de cbles que de stations dj prsentes sur le rseau.

LA COUCHE MATRIEL : CONSTRUCTION PHYSIQUE DUN RSEAU

(a) Maille (b) Bus (c) toile

(d) Anneau

(e) Arbre

F IG . 5 Les diverses topologies des rseaux 2.1.2 Le cblage en bus

Dans ce type de cblage (voir gure 5(b)), toutes les stations se partagent le mme support physique de communication (le bus). Si les stations cherchent communiquer en mme temps, ce partage du mme support entrane la collision des diffrents messages. Il faudra mettre au point des stratgies anti-collision. Les anciens rseaux Ethernet fonctionnent avec ce type de topologie. 2.1.3 Le cblage en anneau

Un anneau est unidirectionnel (le message se propage toujours dans le mme sens dans les cbles - voir gure 5(d)). la diffrence des topologies prcdentes, c chaque station qui reoit un message va alors le remettre, donc le transmettre la station suivante, si elle nest pas concerne par le message en question. Toutefois, si lun des cbles est dfectueux ou une des stations tombe en panne, lensemble du rseau est coup. Pour viter ce problme, lanneau est parfois doubl avec un circuit allant dans le sens contraire. Les rseaux de type Pronet-10 fonctionnent avec une topologie en anneaux. 2.1.4 Le cblage en toile

Toutes les stations sont relies un noeud central (une station du rseau) qui sera le seul relayer les messages (gure 5(c)). Dans ce type de topologie, le point faible rside dans le noeud central. La abilit du rseau est quivalente celle du noeud central. 2.1.5 Le cblage en arbre

Cette topologie est une gnralisation de la topologie en toile (gure 5(e)). Les stations sont montes en cascade les unes par rapport aux autres. Bien videmment, la abilit du rseau est conditionne par la abilit de la racine de larbre. De plus, si une station est en panne, la branche qui dpend de cette station est alors isole du rseau principal.

LA COUCHE MATRIEL : CONSTRUCTION PHYSIQUE DUN RSEAU Le cblage Starlan

10

2.1.6

Ce type de topologie tient la fois du bus et de ltoile. Chaque station est branche un appareil central qui se charge de redistribuer les messages. Cette appareil peut tre assimil un support physique puisquil nest pas une station du rseau. En revanche, la abilit du rseau est conditionne par la abilit de cet appareil comme pour les rseaux en toile. Il est donc ncessaire dassurer la abilit de cet quipement actif au centre du rseau. Cette topologie est couramment utilise de nos jours car elle permet dutiliser les cbles du rseau tlphonique. Cest cette structure qui est prsent employe dans les rseaux thernet. la diffrence du cblage en maille, toutes les autres topologies supposent que les messages se partagent les mmes supports physique. Nous allons aborder prsent les techniques de partage employes.

2.2

Les techniques de partage du support physique

Lorsque plusieurs machines se partagent le mme support physique de transmission, ces dernires peuvent mettre des messages simultanment. Lorsque ceci se produit, les messages se mlangent et il se produit ce que lon appelle une collision. Il existe plusieurs solutions pour viter ce type de conit. Les trois solutions les plus couramment utilises sont : Lallocation statique de bande passante, Les accs au support par comptition par le biais de lcoute de la porteuse CSMA/CD, Les accs au support par lection en employant les techniques jeton. 2.2.1 Lallocation statique de bande passante

La bande passante est une mesure de capacit de transmission de linformation dans un support rseau. Elle est gnralement exprime en bits par seconde. Lide derrire lallocation statique de bande passante est que, si N stations se partagent le mme support physique de bande passante ou capacit C bits/s alors, on attribuera chaque station une bande passante de C/N bits/seconde. Cette technique est utilise dans les rseaux tlphoniques. Toutefois, elle ne convient pas pour les rseaux informatiques. En effet, si les messages sont transmis de manire sporadiques, cette gestion noptimise pas la vitesse de transmission des donnes. cest pour cela que sont apparues les autres techniques daccs au support. 2.2.2 Les accs au support par comptition

Ces accs se font par le biais de lcoute de la porteuse CSMA/CD. Elle est employe sur les topologies en bus et les topologies de type Starlan. Les accs multiples au support sont possibles (MA = Multiple Access). Chaque machine coute et dtecte si un signal est prsent ou non sur le rseau (CS = Carrier Sense). Le principe de fonctionnement de lalgorithme CSMA est le suivant : Si aucun signal nest dtect, alors mettre, Si un signal est dtect, alors diffrer la transmission. Toutefois un tel algorithme ne permet pas de dtecter les cas de transmission simultane pendant lesquels les collisions sont possibles. Cest pourquoi le systme employ est nomm CSMA/CD (CD = Collision Detection). Lide, dans le but de minimiser les pertes par dtection de collision est la suivante : une coute pralable est effectue, une coute est effectue pendant lmission pour dtecter les collisions,

LA COUCHE MATRIEL : CONSTRUCTION PHYSIQUE DUN RSEAU

11

une coute est effectue durant le double du temps de propagation ncessaire pour atteindre le point le plus loign du bus, si un signal est mis par une autre station pendant ces temps dcoute, alors il y a collision, si il y a collision, alors la transmission est arrte. Le message sera rmis aprs un temps tir alatoirement. Cest ce systme qui est employ sur les rseaux de type Ethernet. Toutefois, ce type de systme, qui optimise la vitesse de transmission des informations, ne garantit pas la dure effective de la transmission. Cest pourquoi, dans les systmes temps-rel, une technique daccs par lection a t dveloppe. 2.2.3 Les accs au support par lection

Cette technique est aussi appele technique jeton et est employe sur les topologies en anneau do le nom anglais de token ring (token = jeton, ring = anneau) comme on le voit sur la gure 6. Dans le principe, une seule trame (message) circule dans le rseau en permanence. De plus, un seule station met la fois. Enn, le jeton contrle laccs au support physique. Pour mettre un message, la station mettrice doit donc se conformer au protocole suivant : Capturer le jeton quand il passe sa porte, F IG . 6 Le systme token mettre une trame, ring Vrier que le destinataire a reu le message, Librer le jeton et le passer la station suivante, En cas de destruction inopine du jeton, il existe des algorithmes pour le rgnrer. Les diffrents rseaux voqus sont soumis des normes particulires que nous allons examiner prsent.

2.3

Normes associes aux rseaux physiques

Les normes pour les rseaux locaux datent du mois de fvrier 1980. Elles sont compatibles avec la norme OSI bien quelles lui soient antrieures. Il sagit de la srie des normes IEEE 802. Selon ces normes, les rseaux locaux sont subdiviss en 12 catgories. Le tableau 1 donne la liste de ces normes. Norme 802.1 802.2 802.3 802.4 802.5 802.6 802.7 802.8 802.9 802.10 802.11 802.12 Objet de la norme Fonctionnement inter-rseaux Le contrle des liaisons logiques Les rseaux locaux en bus logique Les rseaux locaux en bus jeton Les rseaux locaux en anneau logique Les rseaux mtropolitains MAN La transmission en large bande La bre optique Les rseaux intgrant la voix et les donnes La scurit des rseaux Les rseaux sans l La mthode daccs priorit la demande Nom anglophone Internetworking Logical Link Control Ethernet LAN Token Bus LAN Token Ring LAN Metropolitan Area Network Broadband Technical Advisory Group Fiber-Optic Technical Advisory Group Integrated Voice / Data Networks Network security Wireless network Demand Priority Access on LAN

TAB . 1 Liste des normes IEEE 802 concernant les rseaux locaux

LA COUCHE MATRIEL : CONSTRUCTION PHYSIQUE DUN RSEAU

12

Nous allons voir prsent des exemples de solutions dveloppes pour la couche matriel du rseau.

2.4
2.4.1

Exemple de solutions matrielles pour les rseaux


Le rseau Ethernet

Le rseau Ethernet est dcrit par la norme IEEE 802.3 qui a t internationalise depuis en norme ISO 8802.3. Elle concerne des topologies physique en bus, en anneau ou en toile mais qui seront traites de manire logique comme des bus. Les accs au support physique sont grs de manire comptitive avec coute de la porteuse CSMA/CD. Plusieurs sous-normes dcrivent les rseaux thernet comme nous le montre le tableau 2. Norme 802.3 10B5 802.3 10B2 802.3 10Broad36 802.3 1B5 802.3 10BT 802.3 10BF 802.3 100BT 802.3 100BF 802.3 1000BT 802.3 1000BF Dbit 10 Mbits/s 10 Mbits/s 10 Mbits/s 1 Mbits/s 10 Mbits/s 10 Mbits/s 100 Mbits/s 100 Mbits/s 1 Gbits/s 1 Gbits/s Support Coaxial 50W Coaxial 50W Coaxial 75W Paire torsade Paire torsade Fibre optique Paire Torsade Fibre optique Paire Torsade Fibre optique Longueur Max 500 m 200 m 3600 m 500m, 5 hubs 100m, hubs illimits 2 km Dnomination Ethernet standard Ethernet n Starlan Starlan Starlan Starlan Starlan Starlan Starlan

TAB . 2 Liste des caractristiques physiques des diffrents rseaux ethernet Au niveau du matriel, nous trouvons le plus couramment lEthernet n et les cblage Starlan avec paire torsade. LEthernet n est compos de cbles coaxiaux de couleur gnralement noire. Ladaptateur rseau (la carte rseau - g 7(a)) est reli par un T (g 7(c)) sur lequel partent 2 cbles (g 7(b)). Si un cble est une des extrmit du bus, celui-ci est termin par un bouchon terminateur (g 7(d)).

(a) Carte rseau BNC (b) Cble (BNC)

coaxiaux

(c) T-BNC

(d) Bouchon terminateur

F IG . 7 lments constitutifs dun rseau Ethernet n Le cblage Starlan avec paire torsade ncessite des appareils spciques au centre de ltoile. Au cartes rseaux (g 8(a)) employes sont branchs des cbles RJ45 (paires torsade - g 8(b)) qui sont ensuite connects des hubs (qui vont se charger de rpliquer le signal reu sur une des branches toutes les branches de ltoile - g 8(c)) ou des switchs (qui vont analyser le message pour le dupliquer sur la bonne branche menant la machine avec laquelle on veut communiquer - g 8(d)).

LA COUCHE MATRIEL : CONSTRUCTION PHYSIQUE DUN RSEAU

13

(a) Carte rseau RJ45

(b) Cble RJ45 (paire torsade)

(c) Hub

(d) Switch

F IG . 8 lments constitutifs dun rseau de type Starlan sur paire torsade 2.4.2 Le rseau Pronet-10

Ce rseau possde une topologie physique en anneau (ce nest pas celle dcrite dans la norme IEEE 802.5). La mthode pour contrler laccs au support physique se fait par lection. Il sagit donc dun rseau token-ring. Le cble est une paire torsade. Ce type de rseau est limt 254 machines. 2.4.3 Le rseau WiFi Dbit Distance (m) (Mbits/s) intrieur extrieur Norme 802.11a 54 1 48 17 36 25 24 30 12 50 6 70 Norme 802.11b 11 50 200 5.5 75 300 2 100 400 1 150 500 Norme 802.11g 55 27 75 48 29 100 36 30 120 24 42 140 18 55 180 12 64 250 9 75 350 6 90 400

WiFi, pour Wireless Fidelity, caractrise les rseaux sans-l. Pour ceux-ci plusieurs sous normes de la norme IEEE 802.11 existent. Parmi ces dernires, seulement 3 concernent la constitution physique du rseau qui sont dcrites dans le tableau cidessous. Norme 802.11a 802.11b 802.11g Dbit thorique 54 Mbits/s 11 Mbits/s 54 Mbits/s Frquence 5 GHz 2,4 GHz 2,4 GHz Canaux 8 13 13 Porte 10 m 100 m 100 m

Petite particularit, la norme 802.11a ne peut tre utilis en France qu lintrieur puisque la bande passante de 5GHz est rserve larme. De plus, les quipements 802.11a ne sont pas compatibles avec les quipements 802.11b/g. Les rseaux WiFi peuvent fonctionner suivant deux modes diffrents : en mode infrastructure ou en mode ad-hoc. En mode infrastructure, les cartes WiFi communiquent avec une borne daccs (appele aussi Access Point) qui gre les diffrentes communications. Il est possible de relier entre elles plusieurs bornes daccs pour constituer un systme de distribution tendu. En mode ad-hoc, les cartes WiFi communiquent directement entre elles. Ceci permet plusieurs personnes dans la mme salle dchanger rapidement des donnes. En revanche, la porte maximale de communication est plus faible. Une cellule de communication va temporairement tre cre qui sera identie TAB . 3 Porte maximale des rseaux wi en fonction du dbit espar ce que lon appelle un BSSID. Enn, le dbit des rseaux WiFi dpend de la distance entre compt les metteurs et les rcepteurs. Le tableau 3 donne le dbit thorique qui peut tre atteint suivant les diffrentes normes de WiFi en fonction de la distance sparant lmetteur et le rcepteur.

LA COUCHE LIAISON : COMMUNIQUER SUR LE MME SUPPORT PHYSIQUE

14

Lorsque le rseau physique est constitu, il est possible aux diffrentes machines de communiquer entre elles. Ce sera la problmatique de la couche 2 du modle OSI : la couche de liaison.

La couche Liaison : communiquer sur le mme support physique

Le rle de cette couche est deffectuer le partage du support physique qui a t dtermin dans la couche prcdente. Chaque message (on parlera plus spciquement de trame) est mis sur le support physique et est cout par toutes les machines. Toutefois, Comme les machines coutent tous les messages, ces dernires doivent pouvoir dterminer si ce message leur est adress et qui est la machine mettrice (pour pouvoir ventuellement rpondre). La solution est alors de donner une adresse physique aux machines et dincorporer les adresses physiques de source et de destination dans les trames changes. Nous allons prsent voir comment la problmatique pose par la couche de liaison est rsolue dans plusieurs cas particuliers de rseau : les rseaux de type Pronet-10, les rseaux de type Ethernet, les rseaux de type Wi.

3.1

Le rseau Pronet-10
Sur un rseau de type Pronet-10, ladresse physique est code sur un octet (la valeur est comprise entre 1 et 254). Cette adresse est choisie arbitrairement par ladministrateur rseau qui la donne en manipulant des petits interrupteurs (switchs) sur ladaptateur rseau Pronet-10 comme on peut le voir sur la gure 9.

Les trames Pronet-10 font de 8 2052 octets. Elles sont composes de plusieurs lments qui sont : Un dbut de message et une n de message pour reprer les trames, Une adresse de source et une adresse de destination, Un bloc de donnes, F IG . 9 Adaptateur Pronet-10 avec len Des structures de contrle pour vrier que le semble de switchs ncessaires congurer message a bien t achemin : parit et refus. son adresse physique Nous obtenons une trame telle que prsente la gure 10. Dbut de message 10 bits Adresse destination 8 bits Adresse source 8 bits Type de trame 24 bits Donnes 0 16352 bits Fin de message 9 bits Parit 1 bit Refus 1 bit

F IG . 10 Trame ProNet-10

LA COUCHE LIAISON : COMMUNIQUER SUR LE MME SUPPORT PHYSIQUE

15

3.2

Le rseau Ethernet

Ladresse physique des rseaux ethernet est directement code dans la carte sans intervention de ladministrateur rseau. Cette dernire est aussi parfois appele adresse MAC (MAC pour Media Access Control). Cette adresse physique est code sur 48 bits ce qui reprsente 2.8 1014 adresses possibles. Ladresse physique dune carte ethernet est donc unique au monde. Les trames changes, quant elles, font entre 72 et 1526 octets environ. Elles comprennent : un prambule qui permet de reprer le dbut de la trame et dindiquer sa longueur, Une adresse de source et une adresse de destination, Un bloc de donnes, Une structure de contrle (CRC) qui vrie que le message a t transmis sans erreur. Nous obtenons une trame telle que prsente la gure 11. Prambule 64 bits Adresse destination 48 bits Adresse source 48 bits Type de trame 16 bits Donnes 368 12000 bits CRC 32 bits

F IG . 11 Trame Ethernet

3.3

Le rseau Wi

Ladresse physique sur un rseau Wi est similaire celle employe sur un rseau de type Ethernet. Il sagit galement dune adresse MAC code sur 48 bits. La trame Wi se dcompose ainsi : Un contrle de trame qui est un en-tte indiquant le dbut du message, Un champ dure/ID qui indique la dure dutilisation du canal de transmission, 4 champs dadresse Adresse 1, Adresse 2, Adresse 3 et Adresse 4, Un contrle de trame qui permet didentier la trame mise dans une squence de trames, Une structure de contrle (CRC) qui vrie que le message a t transmis sans erreur. Nous obtenons une trame telle que prsente la gure 12. Contrle de trame 16 bits Dure /ID 16 bits Adresse 1 48 bits Adresse 2 48 bits Adresse 3 48 bits Contrle de squence 16 bits Adresse 4 48 bits Corps de la trame 0 18496 bits CRC 32 bits

F IG . 12 Trame Wi Si la trame wi contient 4 adresses, cest parce que plusieurs adresses peuvent tre employes suivant le mode dutilisation du rseau. En effet, 3 cas peuvent se prsenter : la communication en mode ad-hoc, la communication en mode infrastructure avec le partage dun seul point daccs, la communication en mode infrastructure dans un systme de distribution tendu o les points daccs employs ne sont pas les mmes pour les stations mettrices et rceptrices. 3.3.1 Le mode ad-hoc

Dans ce cas 3 adresses sont utilises : - Adresse 1 Adresse MAC de linterface rceptrice, - Adresse 2 Adresse MAC de linterface mettrice, - Adresse 3 BSSID de la cellule de communication temporaire.

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE Le mode infrastructure

16

3.3.2

Avec partage de la mme borne daccs En ralit, deux trames vont transiter : une de linterface mettrice (I1) la borne daccs (BA) puis de la borne daccs linterface rceptrice (I2) chacune de ces trames va galement employer 3 adresses. De plus, pour identier le quelle tape de la transmission a t ralise, chaque envoi de trame modie deux champs spciques dans le contrle de trame appel To DS et From DS de I1 BA (To DS=1) : - Adresse 1 Adresse MAC de BA, - Adresse 2 Adresse MAC de I1, - Adresse 3 Adresse MAC de I2. de BA I2 (From DS=1) : - Adresse 1 Adresse MAC de I2, - Adresse 2 Adresse MAC de BA, - Adresse 3 Adresse MAC de I1. Avec deux bornes daccs diffrentes Elles seront nommes BA1 et BA2. Ceci rajoute une tape supplmentaire au cas prcdent : il faut en effet transmettre le message dune borne daccs une autre. Les tapes sont alors les suivantes : de I1 BA1 (To DS=1) : - Adresse 1 Adresse MAC de BA1, - Adresse 2 Adresse MAC de I1, - Adresse 3 Adresse MAC de I2. de BA1 BA2 (From DS=1 et To Ds=1) : - Adresse 1 Adresse MAC de BA2, - Adresse 2 Adresse MAC de BA1, - Adresse 3 Adresse MAC de I2, - Adresse 4 Adresse MAC de I1, de BA2 I2 (From DS=1) : - Adresse 1 Adresse MAC de I2, - Adresse 2 Adresse MAC de BA2, - Adresse 3 Adresse MAC de I1. La couche de liaison nous permet de transmettre des messages au sein dun mme rseau physique. Toutefois, dans le cadre des rseaux de grandes chelle (comme Internet) toutes les machines ne sont pas situes sur le mme rseau physique. En ralit, il va sagir dinterconnexions de plusieurs rseaux physiques qui forment une rseau logique. Nous allons voir comment acheminer les messages dune machine une autre au travers de ces ensembles de rseaux. Cest le rle de la couche 3 du modle OSI : la couche rseau.

La couche Rseau : du rseau physique au rseau logique

Comme nous lavons voqu, la couche 3 du modle OSI fait intervenir la notion de rseau logique, par opposition au rseau physique. Ainsi, les principales fonctionnalits qui sont traites par cette couche sont :

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

17

traduire les adresses physiques en adresse logiques et inversement, router les messages (cest dire les aiguiller dun rseau physique un autre) en fonction de leur priorit et de ltat du rseau, grer le trac sur le rseau, grer la commutation des paquets sur le rseau, dcouper et rassembler les messages en fonction de la longueur maximale des trames des rseaux physiques par lesquels ils transitent.

4.1
4.1.1

Gnralits
De la ncessit des adresses logiques

Lorsque nous avons abord la couche 2 du modle OSI, nous avons vu que chaque interface avait une adresse physique. De plus, dans le cas des adaptateurs ethernet couramment rpandus, cette adresse est unique au monde. Dans ces conditions, on pourrait se demander quelle est lutilit dune adresse supplmentaire. Dune part, tous les rseaux ne sont pas de type ethernet, dautre part, une adresse MAC (physique) ne permettrait pas de localiser une machine dans le monde. En effet, les adresses MAC sont attribues par les fabricants dadaptateurs rseau qui vendent ensuite leurs cartes. Ainsi, 3 cartes qui ont des adresses MAC successives peuvent tre vendues en Europe, aux Etats-Unis et au Japon. Dans ce cas de gure, il est vraisemblable que ces cartes soient sur des rseaux physiques spars difciles localiser. Ainsi, une adresse logique permet didentier un rseau et doprer un routage hirarchique entre les rseaux. Une fois les rseaux identis, il est alors possible deux machines situes sur des rseaux physiques diffrents de communiquer entre elles. 4.1.2 Lorsque le modle OSI montre ses limites

Dans la couche 3, certaines des limitations du modle OSI apparaissent. En effet, dans la thorie, la norme OSI garantit lindpendance des couches mais, dans la ralit bon nombre des protocoles utiliss sont antrieurs la norme OSI et ne la respectent pas compltement. De plus, un certain nombre de couches se rvlent interdpendantes. Ainsi, partir de la couche 3, les protocoles employs ont tendance sorganiser en familles ou en suites. Parmi les suites de protocoles les plus utilises, nous trouvons : La suite IPv4 (plus familirement appele IP) utilise par internet compose des protocoles ARP, RARP, ICMP, ... La suite IPv6 qui devrait remplacer la prcdente long terme, La suite IPX cre par Novell et qui a t beaucoup utilise pour les jeux en rseau, La suite NetBIOS employe dans les rseaux locaux Microsoft qui ne sera pas traite dans ce cours.

4.2
4.2.1

Suite de protocoles IPv4


La naissance dInternet et IPv4

IPv4 (baptis aussi IP pour faire plus court) est le protocole utilis par Internet. Aussi la naissance de cette famille de protocole est intimement lie celle du rseau des rseaux. Celui-ci a t dvelopp lorigine par larme amricaine dans le but dchanger rapidement des informations entre les bases militaires et ce mme si une partie du rseau est dtruite. Ainsi le premier prototype baptis ARPANET voit le jour en 1969. Celui-ci relie 4 stations situes chacune dans une base diffrente. Ce rseau continuera de crotre et commencera ncessiter des

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

18

protocoles rigoureux pour grer ce dernier. Ainsi, en 1974 apparaissent les protocoles TCP et IP. Le succs de ce rseau continuera et il souvrira aux universit amricaine. Une partie de ce rseau devient alors publique. Cest elle qui portera le nom dInternet partir du dbut des annes 1980. Enn, un organisme public est cr pour grer Internet, lui confrant ses lettres de noblesse en mme temps que son importance devient mondiale. Cest ainsi que lInternet Society est ne en 1992. 4.2.2 Brve prsentation des protocoles IPv4 de couche 3

Lensemble des protocoles de la famille IP est rgie par des documents appels RFC (Request For Comments). Ils constituent en quelque sorte une norme pour chaque protocole employ. Les RFC sont donc une srie de documents techniques et organisationnels au sujet dInternet. Ils sont considrs comme des standards. Ces RFC peuvent se trouver plusieurs endroits dont : http ://www.rfc-editor.org qui est la liste complte en anglais, http ://www.abcdrfc.free.fr contient une traduction partielle en franais des RFC. Parmi les protocoles dtaills par ces RFC, nous trouverons : Le protocole IP qui soccupe de ladressage et de la fragmentation des paquets, Le protocole ARP qui permet de retrouver ladresse physique partir de ladresse logique (ici appele adresse IP), Le protocole RARP qui est linverse du protocole ARP, Les protocoles RIP et OSPF qui permettent le routage des paquets, Le protocole ICMP qui implmente la gestion derreurs et permet de tester la connectivit du rseau. 4.2.3 Adressage logique IPv4

Avant de dtailler les divers protocoles de la couche 3, il convient de dtailler llment de base sur lequel le travail va seffectuer : ladresse logique. Cette dernire est code sur 4 octets (32 bits) et est note : w.x.y.z. Avec chaque lment compris entre 0 et 255. Le 0 peut tre rserv pour les adresses de rseau et le 255 pour les adresses de broadcast appeles aussi adresses de diffusion (ces dernires permettent de contacter toutes les machines dun mme rseau). Comme nous lavons vu, une adresse logique permet didentier le rseau sur lequel est connect une machine. Ainsi, une adresse w.x.y.z peut se lire de plusieurs manires : La machine dadresse w.x.y.z, La machine dadresse x.y.z sur le rseau dadresse w.0.0.0, La machine dadresse y.z sur le rseau dadresse w.x.0.0, La machine dadresse z sur le rseau dadresse w.x.y.0. Ceci induit un dcoupage hirarchique entre les rseaux galement puisque le rseau w.x.0.0 sera considr comme tant un sous-rseau du rseau w.0.0.0. Ces diffrents lectures permettent de favoriser le routage des paquets dun rseau un autre. Pour complter cette prsentation des adresses IP, nous devons mentionner les organismes qui les attribuent pour Internet, chaque adresse IP publique devant tre unique au monde ! Deux organismes grent internet au niveau mondial : lIANA (Internet Assigned Numbers/Naming Authority) : qui va distribuer les adresses IP aux FAI (Fournisseurs dAccs Internet), InterNIC (Internet Network Information Center) qui possde des antennes nationales (lAFNIC en France - http ://www.nic.fr) et qui attribue des parties didentiant rseau pour les dispositifs directement relies Internet. Classes dadresses IP Ladresse IP induit galement une classication des rseaux (qui tend disparatre) selon la valeur

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

19

du premier octet (w) de ladresse. Cette classication est donne dans le tableau 4. Pour chaque type de rseau est donn la longueur de son adresse rseau, ainsi que le nombre de rseaux existants de cette classe. Et enn le nombre maximal de machine par rseau de chaque classe. Classe A B C D (multicast) E (exprimental) Valeur de w 0 - 127 128 - 191 192 - 223 224 - 239 240 - 255 Lg adresse rseau 1 octet 2 octets 3 octets Nb de rseaux 127 16384 2097152 Nb max de machines 16777216 65536 256

TAB . 4 Classes de rseaux IP De plus, certaines adresses sont rserves pour les rseaux locaux et les tests. Celles-ci ne sont pas routes par dfaut sur internet. Les plages dadresse rserves sont ainsi : 10.0.0.1 10.255.255.254, 172.16.0.1 172.31.255.254, 192.168.0.1 192.168.255.254, 127.0.0.1 127.255.255.254. La dernire plage est utilise pour les tests sur la machine (localhost) alors que les prcdentes sont employes pour les rseaux locaux. Notion de sous-rseau Les grands rseaux sont frquemment subdiviss en sous-rseaux. Ceci permet dutiliser de manire htrogne plusieurs type de rseaux physiques diffrents (token-ring et ethernet-STARLAN par exemple). Cela favorise la segmentation du rseau en vue de faciliter le routage des paquets (par effet de bord, ceci rduit aussi les temps de calcul sur les routeurs) et permet de rduire lencombrement gnral du rseau. Ceci permet aussi disoler certaines parties du rseau peu ables ou au contraire trs scurises par rapport un parc de machines standard. Enn, ceci permet doptimiser la plage dadresse IP utiliser. A partir des adresses IP des rseaux, il est possible de dnir des masques de sous-rseau. Ces derniers permettent de dterminer : le sous-rseau auquel appartient une machine, ladresse de diffusion dun sous-rseau donn, le nombre de machines dun sous-rseau donn. Un masque de sous-rseau se prsente de la manire suivante : Partie rseau hte 255.255.255.224 11111111.11111111.11111111.11100000 La partie rseau est constitue de tous les bits mis 1 alors que la partie hte est constitue de tous les bits mis 0. En thorie, rien noblige les 1 tre contigus. Toutefois, dans la pratique, on trie les bits et on place ceux 1 au dbut du masque et ceux 0 en n de masque. Il est alors possible de calculer ladresse de sous-rseau dune machine donne en effectuant un ET logique bit bit entre ladresse de la machine et le masque de sous-rseau (Ne pas oublier que chaque octet doit ncessairement contenir 8 bits). Ainsi, si on reprend le masque prcdent et on lapplique ladresse 200.100.40.33, on obtient : 200.100.40.33 11001000.01100100.00101000.00100001 ET 11111111.11111111.11111111.11100000 200.100.40.32 11001000.01100100.00101000.00100000

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

20

Ladresse de diffusion (broadcast) dun sous-rseau donn est obtenu en effectuant un OU logique entre ladresse de la machine et linverse du masque de sous-rseau. Si lon reprend lexemple de tout lheure on a : 200.100.40.33 11001000.01100100.00101000.00100001 OU 00000000.00000000.00000000.00011111 200.100.40.63 11001000.01100100.00101000.00111111 Le nombre de sous-rseaux possibles est compt en fonction du nombre de bits 1 dans le masque. Si celui-ci est n alors le nombre de sous-rseaux possibles sera 2n selon la RFC 1878 et 2n 2 selon la RFC 1860. Enn, le nombre de machines disponibles pour un rseau est donn en fonction du nombre de bits 0 dans le masque. Si ce dernier est m alors le nombre maximal de machine sur le sous-rseau sera de 2m 2. Enn, dans le but de simplier la notation des masques de sous-rseau, la notation CIDR (pour Classless Inter Domain Routing) est introduite dans les RFC 1518 et 1519. Elle spcie le nombre de bits 1 utiliss par le masque. Ainsi lexemple de tout lheure avec ladresse de rseau 200.100.40.32 et le masque 255.255.255.224 est not 200.100.40.32/27 puisque 27 bits sont 1. 4.2.4 Format du datagramme IP

Le datagramme IPv4 est un datagramme align sur 32 bits comme on peut le voir la gure 13.
32 bits Version IHL Type of service Flags Total length Fragment Offset Header Checksum

Identification Time to live Protocol

Source address Destination address Options Padding

F IG . 13 Format de len-tte dun datagramme IPv4 Nous allons dtailler le rle des diffrents champs contenus dans le datagramme IP : Version traduit la version du protocole IP utilis. Celle-ci est code sur 4 bits. Parmi ceux ci, les codes suivants sont attribus : 00 rserv, 04 IPv4, 05 ST datagram mode (inusit), 06 IPv6, 15 rserv. IHL pour Internet Header Length est un champ cod sur 4 bits qui donne le nombre de mots de 32 bits constituant len-tte. Celui-ci fait entre 5 (le nombre par dfaut) et 15 mots suivant les options employes, Type of service est un champ cod sur 8 bits qui attribue une qualit de service lie au paquet. Cest dire sa priorit, le dlai, le dbit et la abilit du paquet,

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

21

Total Length est un champ code sur 16 bits qui indique la longueur du paquet en octets, en-tte inclus. Si dans la thorie le paquet peut faire au maximum 65535 octets, dans la pratique, la taille est denviron 576 octets au plus, Identication est une valeur donne par la station mettrice en vue de reconstruire les fragments dun message. Le dtail du rle de ce champ est expliqu dans la RFC 815, Flags est un champ cod sur 3 bits qui gre galement la fragmentation des messages, suivant la valeur de chaque bits du champ : Bit 0, valeur 0, Bit 1, 0 = may fragment, 1 = do not fragment. Celui-ci indique si le paquet peut-tre fragment ou non, Bit 2, 0 = last fragment, 1 = more fragments. Celui-ci indique si des fragments doivent encore venir ou non. Fragment offset (sur 13 bits) indique la place du fragment dans le paquet. Le premier fragment dun paquet a ainsi un offset de 0, Time to Live est aussi appel en abrg TTL. Cod sur 8 bits, ce champ indique la dure de vie du paquet. Cette dernire est exprime en nombre de sauts de rseaux rseaux. Chaque fois que le paquets change de rseau, le champ est dcrment. Quand ce dernier tombe 0, le paquet est alors dtruit. Ceci permet de dtruire des paquets qui ne peuvent pas tre achemin leur destination. Protocol est un identiant cod sur 8 bits permettant de dterminer le protocole qui est encapsul dans le datagramme IP. Parmi les valeurs les plus courantes nous avons : 01 : ICMP (que nous verrons plus loin), 06 : UDP (qui est un protocole de niveau 4), 17 : TCP (qui est un autre protocole de niveau 4). Header Checksum est un code (sur 16 bits) permettant de contrler la validit de len-tte du paquet. Lalgorithme permettant dobtenir ce code est dtaill dans la RFC 1071, Source address est ladresse IP de la machine qui a mis le datagramme, Destination address est ladresse IP de la machine laquelle est adress le datagramme IP, Options dcrit les options sappliquant au datagramme IP que nous ne dtaillerons pas ici, Padding est un champ de bourrage. Celui-ci est constitu de 0 pour complter len-tte jusqu ce que sa longueur soit un multiple de 4 octets. Comme on peut le constater, le protocole IPv4 permet de fragmenter les paquets. Ceci est principalement d au fait que changer de rseau implique aussi parfois changer de type de rseau physique. Dans ce cas, il se peut que la taille des trames changes soient diffrentes. Il faut alors fragmenter le paquet pour que les fragments puissent tenir dans une trame. Lors de la rception du paquet, il faudra bien sr reconstituer le paquet partir des fragments. Toutefois, dans le cas o les deux machines mises en communication sont sur le mme rseau physique, il va falloir, dans la trame faire gurer ladresse physique des machines de source et de destination. Si le problme est simple pour la machine source, il faut en revanche un mcanisme permettant de retrouver celle de la machine de destination partir de son adresse IP. Cest le rle du protocole ARP. 4.2.5 Les protocoles ARP et RARP

ARP, pour Adress Resolution Protocol, est un protocole qui permet de donner ladresse physique dune machine partir de son adresse logique. Ce dernier est dcrit par la RFC 826 qui dcrit aussi les changes qui seffectuent alors sur le rseau. Ces derniers sont les suivants :

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

22

la machine source met une trame ARP sur le rseau physique qui est donc reue par toutes les machines, la machine cible se reconnat et rpond la machine source par une autre trame ARP, la machine source, ayant reu la rponse, connat alors ladresse physique associe ladresse logique de la machine de destination ou machine cible. Trame et requte ARP Cette trame sera encapsule dans une trame du rseau physique. Dans le cas dune trame ethernet (voir gure 11 page 15), le champ type de trame sera positionn la valeur 0x0806 pour indiquer que les donnes de la trame contiennent une trame ARP. De plus, la trame ARP sera structure comme la gure 14. Type phys. 16 bits Type log. 16 bits Taille phys. 8 bits Taille log. 8 bits Op. 16 bits Adresse physique metteur Adresse logique metteur Adresse physique rcepteur Adresse logique rcepteur

F IG . 14 Trame ARP Cette trame indique les types de protocoles physiques et logiques ainsi que les tailles des adresses physiques et logique. Le champ Op. indique le type de la trame (requte ARP, rponse ARP, etc ...). Dans un requte ARP sur un rseau thernet, nous aurons ainsi : ladresse de destination de la trame ethernet sera positionne ff :ff :ff :ff :ff :ff indiquant quelle concerne toutes les machines du rseau, le rseau thernet sera signal par un champ type physique positionn 0x01, le type logique sera IPv4. La valeur sera 0x0800, la taille de ladresse ethernet vaut 6, la taille de ladresse IPv4 vaut 4, lopration est un requte, le champ sera positionn 0x01, la seule adresse indtermine est celle de ladresse physique du rcepteur. Le champ sera alors positionn 00 :00 :00 :00 :00 :00, Pour rcapituler, la trame ARP de requte aura alors la forme donne la gure 15 dans laquelle, nous avons substitu pour les premiers champs leur valeur. 01 0800 06 04 01 adresses...

F IG . 15 Dbut dune trame ARP de requte

Rponse ARP La trame de rponse sera substantiellement la mme. Les diffrences seront : la trame ethernet de transport contiendra ladresse de source et de destination. Comme il sagit de la rponse, lancienne adresse de source gure dans le champ de ladresse de destination, le champ Op. a pour valeur 0x02, les 4 adresses des champs adresses sont remplis. Le rle du cache ARP Chaque change de donne prsuppose que la machine source mette une trame ARP pour retrouver ladresse physique de la machine de destination lorsque ces dernires sont sur le mme rseau physique. Toutefois, dans le but de dcongestionner le rseau, un mcanisme de cache est mis en

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

23

place an que les machines se souviennent des correspondances entre adresses physiques et logiques. Dans ce cache sont stockes ces correspondances. Toutefois, pour viter les problmes lis au changements de conguration des machines du rseau (changement de carte rseau lorsque celle-ci devient dfectueuse par exemple), les donnes mises dans le cache ont une dure dexpiration de lordre de la minute. Ainsi, lissue de cette dure, une requte ARP doit nouveau tre mise. Le protocole RARP RARP signie Rerverse-ARP. Il permet de dterminer partir dune adresse physique ladresse logique qui lui correspond. Les mmes trames que ARP sont employes. Le cache ARP sera galement utilis par RARP Les diffrences avec le protocole ARP sont principalement : dans le cas dun rseau ethernet, la trame ethernet contiendra comme type de trame la valeur 0x0835, la requte RARP mettra ladresse logique de source 0.0.0.0, les adresses de destination physique et logique 00 :00 :00 :00 :00 :00 et 0.0.0.0, le champ Op. sera positionn 0x03 pour les requtes et 0x04 pour les rponses. Si les protocoles ARP et RARP permettent deux machines de schanger des informations sur le mme rseau physique, le protocole Ip doit en revanche permettre deux machines sur des rseaux physiques diffrents de communiquer entre elles. Ceci est assur par la fonction que lon appelle le routage. 4.2.6 Mcanismes de routage IPv4

Il sagit de lun des rles essentiels de la couche 3 du modle OSI : acheminer les paquets dun rseau un autre. Pour ce faire, les divers rseaux physiques seront relis entre eux par des machines qui seront sur plusieurs rseaux la fois : les routeurs. De plus, comme il est impossible de relier tous les rseaux physiques directement, les paquets doivent parfois passer par des rseaux physiques intermdiaires comme on peut le voir sur la gure 16 o les paquets, pour passer de la machine source sur le rseau (physique) 1 la machine destination sur le rseau 3 doivent transiter par le rseau 2 ainsi que par les routeurs A et B.

Rseau 1

Rseau 2

Rseau 3

Machine source

Routeur A

Routeur B

Machine destination

F IG . 16 Exemple de routage au travers de plusieurs rseaux Pour parvenir effectuer ces fonctions de routage, il existe, sur chaque machine du rseau ce que lon appelle une table de routage. Les tables de routage Une table de routage va contenir plusieurs routes. Ces routes sont des rgles qui permettent de dterminer, partir de la destination que lon cherche atteindre, le prochain routeur contacter. Une table de routage ressemblera la gure 17 page suivante. Celle qui est reprsente ici est un table de routage sur une machine de type unix.

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

24

Table de routage IP du noyau Destination Passerelle 192.168.42.0 195.221.158.121 195.221.158.0 * 127.0.0.0 * default 192.168.42.1

Genmask 255.255.255.0 255.255.255.0 255.0.0.0 0.0.0.0

Indic U U U UG

Metric 0 0 0 0

Ref 0 0 0 0

Use 0 0 0 0

Iface eth0 eth0 lo eth0

F IG . 17 Exemple de table de routage La table de routage comprend, pour chaque rgle, un ensemble de paramtres qui sont les suivants : Destination indique une adresse de destination. Ce peut tre un rseau ou une machine. La destination peut galement prendre la valeur default qui correspond une destination par dfaut, Passerelle (parfois aussi appele gateway) indique ladresse du routeur joindre pour parvenir la destination. Si ce paramtre est positionn * alors il ny a pas besoin de transiter par un autre rseau, Genmask donne le masque de rseau appliquer pour dterminer si la destination est un rseau ou une machine, Indic indique le statut de la route (U = up, la route est oprationnelle - G = gateway, pour la passerelle par dfaut), Metric donne le nombre de sauts pour joindre la destination,
Adresse joindre IProuteur Adresse joindre IPMachineB Appliquer masque de sousrseau [Meme sousrseau] [Sous rseau diffrent] Passer la route suivante

Prendre la 1re route de la table

[Adresse routeur]

[*]

Ref donne le nombre de rfrences la route (non utilis sous Linux), F IG . 18 Algorithme exploitant la table de routage Use donne le nombre dutilisation de la route, Iface donne linterface physique utilise par la route. ethX dsigne les interfaces ethernet, lo dnit linterface locale utilise pour les tests (loopback). A partir des rgles dnies dans la table de routage, il est alors possible de dterminer quelle machine est contacter suivant la destination que lon cherche atteindre. Cet algorithme est dcrit de manire succincte la gure 18. Si ce mcanisme est sufsant pour des rseaux locaux, ce dernier nest pas adapt pour Internet. En effet, ce rseau des rseaux doit pouvoir acheminer des paquets dun rseau un autre mme si certaines portions du rseau sont subitement coupes. Pour ce faire, les routeurs schangent des informations sur leurs tables de routage respectives via des protocoles de routage. Les protocoles de routage La problmatique est de permettre trouver, dans cet enchevtrement de rseaux, le chemin permettant de relier deux machines et, accessoirement, le plus court chemin possible entre les deux. De nos

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE RTA Dest Cot a 0 RTA Dest Cot a 0 b 1 RTA Dest Cot a 0 b 1 b 1 a 2 b 2 a 2 RTA Cot 0 1 RTB Dest Cot b 0
(a) tape 0

25

Src *

Src *

RTC Dest Cot

Src

Src * rtb

RTB Dest Cot b 0 a 1 RTB Dest Cot b 0 a 1 a 1 b 2 b 2 a 2 RTB Cot 0 1

Src * rta

RTC Dest Cot b 1 a 1 RTC Dest Cot b 1 a 1 a 1 b 2 b 1 a 2 RTC Cot 1 1

Src rtb rta

(b) tape 1 : 1er change

Src * rtb rtb rtb rtc rtc

Src * rta rta rta rtc rtc

Src rtb rta rta rta rtb rtb

(c) tape 2 : 2me change

Dest a b

Src * rtb

Dest b a

Src * rta

Dest b a

Src rtb rta

(d) tape 2 : suppression des routes redondantes

F IG . 19 Vecteurs distance : exemple de mise jour. jours, deux protocoles sont principalement utiliss. Il sagit de RIP (Routing Information Protocol) et de OSPF (Open Shortest Path First). Si le deuxime est plus performant que le premier, il est en revanche dune complexit plus importante. Aussi, nous ne nous intresserons quau premier protocole qui est encore trs rpandu bien que remplac de plus en plus par le deuxime. 4.2.7 Le protocole RIP

RIP est dni par la RFC 1058 et fait lobjet dune extension depuis 1994 dnie dans la RFC 1723 : RIP2. Par le biais de ce protocole, chaque routeur change les identicateurs des rseaux quil peut atteindre ainsi que la distance (en nombre de sauts de rseau rseau) qui le spare de ces rseaux. Les mises jour sont effectues intervalles de temps rguliers mais galement lorsque la topologie du rseau a chang. Chaque mise jour va tre constitue dchanges de vecteurs-distance. Les vecteurs-distance et mise jour des routes Un vecteur-distance est compos de plusieurs informations : La destination : le rseau de destination, Le cot : le nombre de sauts pour parvenir la destination (mtrique), La source : lidentiant du routeur source qui fait parvenir ce vecteur distance. La mise jour seffectue de la manire suivante qui est galement illustre par la gure 19 : Au dpart, chaque routeur ne connat que son rseau direct (*),

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

26

Le cot est, bien sr, de 0 pour chaque rseau direct (gure 19(a)), Puis, les routeurs schangent les routes (des vecteurs-distance). Chaque route envoye un nouveau routeur voit son cot augment de 1 (tapes 1 et 2 des gures 19(b) et 19(c)), Enn, les vecteurs-distance arrivs sont compars la table courante : Si la destination est nouvelle, le vecteur-distance sera conserv, Si la destination est existante, les vecteurs-distance seront remplacs si la source est la mme o u si la source est diffrente mais le cot est meilleur, Dans tous les autres cas, le vecteur-distance sera supprim (voir les diffrences entre les gures 19(c) et 19(d)).

Mise en place du protocole RIP Le protocole RIP amliore lalgorithme des vecteurs-distance en introduisant le concept dinnit, les stratgies de type Split horizon et la gestion temporelle. Le concept dinnit traduit la notion de rseau inatteignable : on considre que ce dernier est linni, sachant que linni est considr comme tant 16 sauts dans la pratique (cot de 16). La stratgie Split Horizon consiste, pour un routeur, ne pas renvoyer les routes reues dun autre routeur ce dernier. Son implmentation est obligatoire dans le protocole RIP. La stratgie Split Horizon with Poisoned Reverse consiste, quant elle, renvoyer les routes reues dun autre routeur ce dernier en leur donnant un cot inni. Son implmentation est recommande dans le protocole RIP. La gestion temporelle seffectue de deux manires diffrentes : La faon prconise par les RFC : le temps entre les mises jour est de 30 secondes plus un petit dlai alatoire, un dlai dexpiration de 180 secondes est appliqu sur une route. Si pendant ce temps, elle nest pas mise jour, elle est marque pour effaage, lorsquune route est marqu pour effaage, elle est efface 120 secondes aprs sil ny a toujours pas eu de mise jour (tape de destruction). La faon CISCO ( grand fabricant de routeurs ) : le temps entre les mises jour est de 30 secondes plus un petit dlai alatoire, une route est marque invalide au bout de 180 secondes sans mise jour, une phase de rtention suit o les mises jour sont refuses pendant 180 secondes pour une route invalide, la destruction intervient 240 secondes aprs le marquage dune route en invalidit. Pour ce qui est des dtails du protocole RIP, celui-ci envoie ses paquets par le biais du protocole UDP (un protocole de la couche 4 !) sur le port 520. Le protocole RIPv1 utilise le broadcast alors que le protocole RIPv2 utilise le multicast. La deuxime version du protocole implmente galement la notion de masques de sous-rseaux ainsi quun mcanisme simple dauthentication. Si ce protocole est simple implmenter et consomme peu de bande passante sur les petits rseaux, il prsente galement comme inconvnients dutiliser UDP, de possder une innit limite 16 et dtre gourmand en bande passante sur les grands rseaux, en particulier lorsque la topologie de ces derniers change. Datagrammes RIP Ces datagrammes sont aligns sur 32 bits tout comme les datagrammes IP. Les 4 premiers octets constituent len-tte des datagrammes. Le premier octet commande prend pour valeur 1 en cas de requte et 2 en cas de rponse. Dans le cas de RIPv2 le dernier champ ( Domaine de routage ) de len-tte est utilis dans le cas o il y a plusieurs processus sur le routeur qui grent le protocole RIP. Cet en-tte est suivi de paquets de 20 octets qui dcrivent chaque vecteur distance reu. Les gures 20 et 21 donnent la disposition des diffrents champs des datagrammes dtaillant ainsi len-tte et les

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

27

champs associs la premire route change. Commande Version = 1 0 Famille dadresses = 2 Adresse IP destination 0 0 Mtrique . . . F IG . 20 Datagramme RIPv1

Commande Version = 1 Domaine de routage Famille dadresses = 2 Route tag Adresse IP destination Masque de sous-rseau Adresse IP du saut suivant Mtrique . . . F IG . 21 Datagramme RIPv2

4.2.8

Le protocole ICMP

ICMP (pour Internet Control Message Protocol) est lun des derniers protocoles de la famille IPv4 se situer en couche 3. Ce dernier gre les erreurs relatives au protocole IP et permet de tester la connectivit de certaines parties du rseau. Ce protocole peut tre employ par la machine ou le routeur qui est la source du problme pour signaler les incidents rencontrs. La RFC 792 prconise lencapsulation des trames ICMP dans un datagramme IP. Ce dernier voit alors ses champs Type of service et Protocol positionns respectivement 0 et 1 ( cf Figure 13 page 20). Le datagramme ICMP est compos de 4 champs (comme on peut le voir la gure 22) : Un champ type qui indique le type de message faire transiter, Un champ code permettant de spcier des informations supplmentaires, Un champ CRC qui permet de contrler la validit du datagramme envoy, Un champ Message qui sera plus ou moins long suivant la valeur du champ type. Type (8 bits) Code (8 bits) CRC (16 bits) Message (longueur variable)

F IG . 22 Datagramme ICMP Les valeurs du champ type et les messages correspondants sont consigns dans la table 5 page suivante. Loutil ping : Ping est un utilitaire install sur toutes les machines utilisant la famille de protocoles IPv4. Ce dernier permet de contrler la connectivit du rseau, en particulier si une machine donne est connecte

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE Type 0 4 8 10 12 14 16 18 Contenu du message Rponse echo (ping) Contrle de ux Echo (ping) Sollicitation routeur Erreur de paramtres Rponse dhorodatage Rponse 15 Rponse 17 Type 3 5 9 11 13 15 17 Contenu du message Destination non accessible Redirection Avertissement routeur Dure de vie coule Demande dhorodatage Demande dinformations Demande de masque dadresse

28

TAB . 5 Messages ICMP envoys en fonction de la valeur du champ Type au rseau ou non. Ce programme sappuie sur le protocole ICMP. Le trames envoyes correspondent la reprsentation donne la gure 23. Les valeurs des deux premiers champs sont nots A/B, A tant la valeur du champ en requte, B tant la valeur du champ lors de la rponse. 8/0 (8 bits) 0/3 (8 bits) CRC (16 bits) Application ID (16 bits) Numro squence (16 bits)

F IG . 23 Datagramme ICMP associ aux requtes et rponse ping Nous avons ainsi voqu lensemble des protocoles de la famille IPv4 qui composent la couche 3. Il existe toutefois dautres familles de protocoles existantes dans cette couche qui correspondent dautres besoins. Nous allons prsent dtailler le successeur de IPv4 qui est IPv6.

4.3

La famille IPv6

La famille IPv6 est apparue pour succder IPv4 qui date du dbut des annes 80. La dernire RFC concernant IPv6 porte le numro 2460. Le changement majeur concerne len-tte du datagramme IPv6 ainsi que la nouvelle forme prise par ladressage logique. 4.3.1 Adressage IPv6

Les adresses IPv6 sont codes non plus sur 32 bits comme IPv4 mais sur 128 bits. Toutefois, sur ce large nombre, seulement 64 sont rservs pour ladressage sur le rseau. Ceci permet de repousser les limites de la pnurie des adresses IP qui commence arriver, les adresses IP publiques devant tre uniques sur internet. La notation employe pour les adresses IPv6 est la notation hexadcimale, chaque paquets de 2 octets tant spars par des doubles points :. Ainsi, voici une adresse IPv6 valide : 3ffe:ffff:0100:f101:0210:a4ff:fee3:9566 Il faut ajouter que des blocs de 0 contigus peuvent tre simplis en notant : :. Cette notation nest bien sr utilisable quune seule fois dans une adresse IPv6 pour garantir lunicit de la reprsentation. Ainsi ladresse localhost pour IPv6 sera note 0000:0000:0000:0000:0000:0000:0000:0001 ou, plus simplement : : :1.

LA COUCHE RSEAU : DU RSEAU PHYSIQUE AU RSEAU LOGIQUE

29

Les adresses de type link-local Il sagit des adresses sur les rseaux locaux. Ces dernires sont prxes fe8x, fe9x, feax et febx.

COMMANDES RSEAU WINDOWS XP

30

Commandes rseau Windows XP

Cette annexe donne une liste non exhaustive de commandes rseau sous Windows XP. A chaque fois, les principaux paramtres des commandes sont prsents, mais a ne veut pas dire que ce sont les seuls disponibles pour les commandes en question. Si, dans la syntaxe de la commande, un terme est en italique, cela veut dire quil faut le remplacer par une valeur.

A.1

La commande ipcong

Cette commande afche tous les paramtres de conguration lis au protocole IP. Elle permet aussi de manipuler le cache des adresses DNS et bien dautres choses encore. La commande ipcong employe sans paramtre afche ladresse IP, le masque de sous-rseau et la passerelle par dfaut pour chaque interface rseau. Syntaxe Paramtres ipcong [/all] /all afche la conguration TCP/IP complte / ? afche laide associe la commande

A.2

La commande tracert

Cette commande permet de dterminer le chemin pris par les paquets entre deux machines relies entre elles par divers embranchements rseaux. Pour dterminer ce chemin, cette commande emploie des paquets ICMP. Syntaxe Paramtres tracert [-d] [-h MaximumHops] [-w Timeout] [TargetName] -d empche de rsoudre le nom associ une adresse IP -h MaximumHops nombre maximum de sauts (hops) inter-rseaux -w Timeout temps maximal en ms pendant lequel une rponse est attendue (dfaut 4000 ms) TargetName le nom ou ladresse IP de la machine de destination -? afche laide associe la commande

A.3

La commande ping

Cette commande, base sur le protocole ICMP permet deffectuer des contrle de connectivit du rseau. Utilise sans paramtres, cette commande afche un message daide Syntaxe Paramtres ping TargetName TargetName Le nom de la machine ou ladresse IP atteindre. /? Afche un message daide

A.4

La commande arp

Cette commande manipule le cache ARP de la machine locale. Utilise sans paramtre, la commande arp afche un message daide.

COMMANDES RSEAU WINDOWS XP Syntaxe

31

Paramtres

arp [-a [InetAddr] [-N IfaceAddr]] [-d InetAddr [IfaceAddr]] [-s InetAddr EtherAddr [IfaceAddr]] -a [InetAddr] [-N Ifa- Afche le cache arp pour toutes les interfaces. Pour afceAddr]] cher lentre dans le cache arp dune adresse spcique, utiliser arp -a avec le paramtre InetAddr qui est une adresse IP. Pour afcher le cache arp dune interface spcique, utiliser arp -a -N avec le paramtre IfaceAddr qui est ladresse IP associe linterface. -d InetAddr [IfaceAddr] Efface une entre du cache arp o InetAddr est ladresse IP retirer. Pour la retirer seulement pour une interface spcique, ajouter le paramtre IfaceAddr qui est ladresse IP associe linterface. arp -d * effacera toutes les entres du cache. -s InetAddr EtherAddr Ajoute de manire statique une entre dans le cache ARP. [IfaceAddr] /? Afche un message daide.

A.5

La commande route

Cette commande manipule la table de routage de la machine locale. Utilise sans paramtre, la commande route afche un message daide. Syntaxe Paramtres route [-f] [Command [Destination] [mask Netmask] [Gateway] [metric Metric]] [if Interface]] -f Fait du nettoyage dans la table de routage. Command Spcie la commande employer. Au choix : add Pour ajouter une route, del Pour effacer une route, change Pour modier une route, print Pour afcher une route. La commande route print sans autres paramtres afche la table de routage complte. Destination Adresse IP de destination. mask Netmask Donne le masque de sous-rseau Gateway Adresse IP de la passerelle (ou routeur) metric Metric Donne le cot de la route if Interface Spcie linterface

A.6

La commande nslookup

Cette commande afche des informations pour diagnostiquer les dysfonctionnements de linfrastructure DNS. Utilise sans paramtre, cette application se lance en mode interactif. Syntaxe Paramtres nslookup ComputerTond ComputerToFind Nom ou adresse IP de la machine dont on veut les informations DNS.

COMMANDES RSEAU UNIX

32

Commandes rseau Unix

Cette annexe donne une liste non exhaustive de commandes rseau sous Linux. A chaque fois, les principaux paramtres des commandes sont prsents, mais a ne veut pas dire que ce sont les seuls disponibles pour les commandes en question. Si, dans la syntaxe de la commande, un terme est en italique, cela veut dire quil faut le remplacer par une valeur. Les commandes cites ici sont extraites des pages de man. Dans tous les cas, sous un systme de type unix, un man de la commande ne fait pas de mal.

B.1

La commande route

route manipule les tables de routage IP du noyau. Son utilisation premire consiste congurer des routes statiques vers des htes ou des rseaux via une interface, aprs sa conguration par le programme ifcong. Avec les options add ou del, le programme route modie les tables de routage. Sans ces options, il afche simplement le contenu actuel des tables. Syntaxe route [-vn] route [-v] add [-net|-host] cible [netmask Nm] [gw Gw] [metric N] [reject] [[dev] If ] route [-v] del [-net|-host] cible [gw Gw] [netmask Nm] [metric N] [[dev] If ] -v Active le mode verbeux. -n Afche les adresses sous forme numrique, au lieu dessayer de dterminer les noms dhtes symboliques. Cest utile si vous dsirez comprendre pourquoi la route vers votre serveur de noms a disparu. del Supprime une route. add Ajoute une route. cible Le rseau ou lhte de destination, sous forme dadresse IP en notation dcimale pointe, ou sous forme de noms dhte ou de rseau. -net La cible est un rseau. -host La cible est un hte. netmask Nm Spcie le masque de rseau de la route ajouter. gw Gw Route les paquets via une passerelle. La passerelle concerne doit pouvoir tre atteinte. Ceci signie quune route statique vers cette passerelle doit pralablement exister. metric M Affecte la valeur M au champ mtrique de la table de routage. reject Installe une route bloquante, qui force lchec dune recherche de route. On lutilise par exemple pour dissimuler des rseaux avant dutiliser la route par dfaut. Ce nest pas une fonction de pare-feu. dev If Force la route tre associe au priphrique spci, sinon le systme tente de le dterminer par lui-mme. Dans la plupart des rseaux normaux, vous nen aurez pas besoin.

Paramtres

B.2

La commande ifcong

ifcong permet de congurer les interfaces de rseau prsentes dans le noyau. On peut les congurer lors du dmarrage quand cest ncessaire. Ensuite, on lutilise gnralement pour le dbogage ou pour dventuels rglages. Si aucun argument nest donn, ifcong afche ltat des interfaces actives. Si seul le paramtre interface est donn, il afche seulement ltat de linterface correspondante ; si seul le paramtre -a est fourni, il afche ltat de toutes les interfaces, mme celles qui sont inactives. Autrement, il permet de congurer une interface.

COMMANDES RSEAU UNIX Syntaxe

33

Paramtres

ifcong [-v] [-a] [-s] [interface] ifcong [-v] interface [aftype] options | adresse ... -a Afche toutes les interfaces actuellement disponibles, mme celles qui sont inactives. -v Mode verbeux pour certains types derreurs. interface Correspond au nom de linterface de rseau. Cest gnralement un nom de pilote suivi dun chiffre, comme eth0 pour la premire interface Ethernet. up Active linterface donne. Cette option est implicite si une adresse est affecte linterface. down Dsactive le pilote pour linterface donne. metric N Dnit la mtrique de linterface. netmask adresse Dnit le masque de rseau IP pour cette interface. adresse Correspond ladresse IP affecte cette interface.

B.3

La commande arp

arp manipule la table ARP du noyau de diffrentes faons. Les options principales permettent deffacer une correspondance dadresses et den dnir une manuellement. Pour les besoins de dbogage, le programme arp permet aussi deffectuer un dump complet de la table ARP. Syntaxe arp [-vn] [-i if ] -a [nomhte] arp [-v] [-i if ] -d nomhte [pub] arp [-v] [-i if ] -s nomhte hwaddr [temp|pub]] arp [-v] [-i if ] -Ds nomhte ifa pub arp [-vnD] [-i if ] -f nomchier -v Active le mode verbeux. -n Afche les adresses sous forme numrique. -a [nomhte] Afche les entres concernant lhte spci. Si le paramtre nomhte nest pas utilis, toutes les entres seront afches. -d nomhte Enlve une entre pour lhte spci. -D Utilise ladresse matrielle de linterface ifa . -i If Slectionne une interface. Lors du dump du cache ARP, seules les entres correspondant linterface spcie seront afches. -s nomhte hwaddr Cre manuellement une correspondance dadresses ARP pour lhte nomhte avec ladresse matrielle positionne hwaddr. -f nomchier Similaire loption -s , mais cette fois les informations dadresses sont prises dans le chier nomchier.

Paramtres

B.4

La commande ping

ping utilise le datagramme obligatoire ECHO_REQUEST du protocole ICMP pour requrir une rponse ICMP ECHO_RESPONSE dun hte ou dune passerelle. Les datagrammes ECHO_REQUEST ( pings ) comportent les en-ttes IP et ICMP, suivis dune struct timeval et dun nombre arbitraire doctets de bourrage utiliss pour remplir le paquet.

COMMANDES RSEAU UNIX

34

Syntaxe Paramtres

ping [ -bnqv] [ -c nombre] [ -i intervalle] [ -t ttl] [ -w heure-limite] -b Permettre de pinger une adresse de diffusion (broadcast). (Pour les versions rcentes de ping). -c nombre Sarrter aprs lenvoi de nombre paquets ECHO_REQUEST. Avec loption heure-limite, ping attend jusqu nombre paquets ECHO_REPLY avant que la temporisation nexpire. -i intervalle Attendre intervalle secondes entre chaque envoi de paquet. Le dlai par dfaut est normalement dune seconde. -n Afche les adresses sous forme numrique. -q Rien nest afch part les lignes de rsum au dmarrage et la n de lexcution. -t ttl Spcier le champ IP Time to Live. -v Active le mode verbeux. -w heure-limite Spcier un dlai, en secondes, avant que ping ne se termine quel que soit le nombre de paquets envoys ou reus.

B.5

La commande traceroute

traceroute donne la route prise par les paquets pour joindre une machine ou un rseau distant partir dune machine hte. Syntaxe Paramtres traceroute [ -Inv ] [-i iface ] [ -m max_ttl ] [ -p port ] [ -w waittime ] host -I Utilise ICMP ECHO la place des datagrammes UDP. -n Afche les adresses sous forme numrique. -v Active le mode verbeux. -i iface Spcie une interface rseau pour obtenir ladresse IP des paquets de sondage envoy. Utile sur les systmes plusieurs interfaces. -m max_ttl Donne le Time-to-live maximum pour les paquets envoys (30 par dfaut). -p port Donne le port UDP de base (33434 par dfaut). -w waittime Donne le temps en secondes pendant lequel une rponse est attendue (5 secondes par dfaut). host Le nom o ladresse de la machine joindre.

COMMANDES RSEAU UNIX

35

B.6

La commande tcpdump

tcpdump afche les informations relatives aux paquets qui transitent sur le rseau. Lafchage peut tre conditionn pour nafcher quun certain type de paquets via les options de la commande tcpdump. Syntaxe Paramtres tcpdump [ -dnpqStvxX ] [ -c count ] [ -i interface ] [ -w le ] [ expression ] -c count Sarrter au bout de count paquets. -d Afche le paquet sous une forme lisible par un humain. -i interface Ecouter sur une interface spcique. -n Afche les adresses sous forme numrique. -p Dsactive le mode promiscuous. Ce mode permet dafcher tous les paquets passant sur le rseau. Le dsactiver revient nafcher que les paquets explicitement adresss la machine locale. -q Afche les informations de manire concise. -S Afche les numros de squences TCP en mode absolu et non pas relatif. -t Nafche pas la date laquelle le paquet a t rceptionn. -v Active le mode verbeux. -w le Ecrit les paquets dans un chier. expression Slectionne les paquets afcher en fonction de lexpression donne. Se reporter la page de man pour plus de dtails.

B.7

La commande hostname

hostname est le programme utilis a la fois pour xer le nom dhte, et pour afcher les noms dhte ou de domaine du systme. Ces noms sont utiliss par de nombreux programmes fonctionnant en rseau, an didentier la machine. Quand il est invoqu sans arguments, ce programme afche le nom actuel, prcdemment xe avec la commande hostname. Seul ladministrateur peut modier le nom de la machine. Syntaxe Paramtres hostname [-d] [-F nom_de_chier] [-f] [-h] [-s] [-v] [nom] -d Afche le nom de domaine DNS si celui-ci existe. -F nom_de_chier Utilise le nom donn dans le chier nom_de_chier. -f Afche le nom complet de la machine avec le domaine DNS. -h Afche un message daide. -v Active le mode verbeux. nom Donne le nouveau nom dhte de la machine locale.

PRIMITIVES DE PROGRAMMATION RSEAU

36

C
C.1

Primitives de programmation rseau


Headers inclure
Pour avoir accs aux primitives de programmation rseau, vos programmes incluront ces lignes :

#include <sys/types.h> #include <sys/socket.h> Pour la primitive gethostbyname(), il faudra rajouter en plus : #include <netdb.h>

C.2

Les familles dadresse

Il existe plusieurs familles dadresses, chacune correspondant un protocole particulier. Les familles les plus rpandues sont : AF_UNIX : Protocoles internes de UNIX, AF_INET : Protocoles Internet, AF_NS : Protocoles de Xerox NS, AF_IMPLINK : Famille spciale pour des applications particulires auxquelles nous ne nous intresserons pas.

C.3

Les structures dadresses

La structure dune adresse de socket est la suivante : struct in_addr { u_long s_addr; }; struct sockaddr_in { u_short sin_family;/* famille dadresses */ u_short sin_port; /* numro de port */ struct in_addr sin_addr; /* adresse IP */ char sin_zero[8]; /* inutilis */ }; Les champs de la structure ont pour valeur, plus prcisment : sin_family : prend la valeur AF_INET, sin_port : numro de port cod sur 16 bits, sin_addr : adresse IP code sur 32 bits, sin_zero[ 8 ] : inutilis.

PRIMITIVES DE PROGRAMMATION RSEAU

37

C.4

Lappel systme socket


int socket (int family, int type, int protocole) ; Peut prendre 4 valeurs : AF_UNIX, AF_INET, AF_NS et AF_IMPLINK Prend essentiellement 2 valeurs : SOCK_STREAM utilis en mode connect TCP SOCK_DGRAM utilis en mode non-connect UDP gnralement mis 0 sauf pour certaines applications spciques Lappel systme socket retourne un entier dont la fonction est similaire celle dun descripteur de chier. Nous appellerons cette entier un descripteur de sockets (sockfd).

Appel systme Paramtres family type

protocole Valeur renvoye

C.5

Lappel systme bind

Il y a trois utilisations possibles de bind : 1. Le serveur enregistre sa propre adresse auprs du systme. Il indique au systme que tout message reu pour cette adresse doit lui tre fourni. Que la liaison soit avec ou sans connexion, lappel de bind est ncessaire avant lacceptation dune requte dun client. 2. Un client peut enregistrer une adresse spcique pour lui mme. 3. Un client sans connexion doit sassurer que le systme lui a affect une unique adresse que ses correspondants utiliseront an de lui envoyer des messages. Appel systme Paramtres sockfd myaddr addrlen Valeur renvoye int bind (int sockfd, struct sockaddr *myaddr , int addrlen) ; Descripteur de socket retourn par lappel socket effectu prcdemment. Pointeur sur une structure dadresse telle que dcrite en C.3. Taille de la structure dadresse. bind renvoie 0 sil russit, ou -1 sil choue.

bind fournit la socket sockfd, ladresse locale my_addr. Cest donc lappel systme bind qui remplit la structure my_addr passe en paramtre.

C.6

Lappel systme connect

Un socket est initialement cr dans ltat non connect, ce qui signie quil nest associ aucune destination loigne. Lappel systme connect associe de faon permanente un socket une destination loigne et le place dans ltat connect. Un programme dapplication doit invoquer connect pour tablir une connexion avant de pouvoir transfrer les donnes via un socket de transfert able en mode connect. Les sockets utilises avec les services de transfert en mode datagramme nont pas besoin dtablir une connexion avant dtre utiliss, mais procder de la sorte interdit de transfrer des donnes sans mentionner chaque fois, ladresse de destination.

PRIMITIVES DE PROGRAMMATION RSEAU

38

Appel systme Paramtres sockfd servaddr addrlen Valeur renvoye

int connect (int sockfd, struct sockaddr *servaddr , int addrlen) ; Descripteur de socket retourn par lappel socket effectu prcdemment. Pointeur sur une structure dadresse telle que dcrite en C.3. Celle-ci indique ladresse de destination avec laquelle la socket doit se connecter. Taille de la structure dadresse. connect renvoie 0 sil russit, ou -1 sil choue.

C.7

Lappel systme listen

Cet appel est gnralement utilis aprs les appels socket et bind et juste avant lappel accept. Appel systme Paramtres sockfd backlog int listen ( int sockfd, int backlog) ; Descripteur de socket retourn par lappel socket effectu prcdemment. spcie le nombre de connections tablir dans une le dattente par le systme lorsque le serveur excute lappel accept. Cet argument est gnralement mis 5 qui est la valeur maximale utilise. listen renvoie 0 sil russit, ou -1 sil choue.

Valeur renvoye

C.8

Lappel systme accept


int accept (int sockfd, struct sockaddr *peer, int *addrlen) ; Descripteur de socket retourn par lappel socket effectu prcdemment. Pointeur vers une structure dadresse de socket . Longueur de la structure dadresse peer. accept renvoie -1 en cas derreur. Sil russit il renvoie un entier nonngatif, constituant un descripteur pour la nouvelle socket.

Appel systme Paramtres sockfd peer addrlen Valeur renvoye

Lorsquune requte arrive, le systme enregistre ladresse du client dans la structure *peer et la longueur de ladresse dans *addrlen. Il cre alors un nouveau socket connect avec la destination spcie par le client, et renvoie lappelant un descripteur de socket. Les changes futurs avec ce client se feront donc par lintermdiaire de ce socket. Le socket initiale sockfd na donc pas de destination et reste ouverte pour accepter de futures demandes. Tant quil ny a pas de connexions le serveur se bloque sur cette appel. Lorsquune demande de connexion arrive, lappel systme accept se termine. Le serveur peut grer les demandes itrativement ou simultanment. Dans lapproche itrative, le serveur traite lui mme la requte, ferme le nouveau socket puis invoque de nouveau accept pour obtenir la demande suivante. Dans lapproche parallle, lorsque lappel systme accept se termine le serveur cre un serveur ls charg de traiter la demande (appel de fork et exec). Lorsque le ls a terminer il ferme le socket et meurt. Le serveur matre ferme quand lui la copie du nouveau socket aprs avoir excut le fork. Il appel ensuite de nouveau accept pour obtenir la demande suivante.

C.9

Lappel systme gethostbyname

La fonction gethostbyname (rechercher une machine par son nom) accepte un nom de domaine et renvoie un pointeur vers une structure qui contient linformation relative cette machine. Cet appel systme renvoie en ralit les informations DNS associe la machine.

PRIMITIVES DE PROGRAMMATION RSEAU

39

Appel systme Paramtres chane_nom Valeur renvoye

struct hostent * gethostbyname (char *chane_nom) ; nom de domaine traiter. renvoie un pointeur vers une structure qui contient linformation relative cette machine ou un pointeur NULL si une erreur se produit.

La structure struct hostent est de la forme : struct hostent { char *h_name ; /*nom officiel de la machine*/ char **h_aliases ; /*liste des surnoms de cette machine*/ int h_addrtype ; /*type dadresse (exemple adresse IP) */ int h_length ; /*longueur de ladresse */ char **h_addr_list ; /*liste des adresses de la machine les routeurs peuvent en avoir plusieurs */ };

C.10

Lmission dinformations

Une fois que le programme dapplication dispose dun socket, il peut lutiliser an de transfrer des donnes. Les trois appels systme courant sont : send, sendto et write. send et write ne sont utilisables quavec des sockets en mode connect car ils ne permettent pas dindiquer dadresse de destination. Appel systme Paramtres sockfd buf count Valeur renvoye Appels systme int write(int sockfd, void *buf, int count) ; Descripteur de socket retourn par lappel socket effectu prcdemment. tampon mmoire dans lequel sont entreposes les donnes crire. nombre doctets lire dans buf pour les crire dans sockfd. write renvoie le nombre doctets crits (0 signiant aucune criture), ou -1 sil choue. int send(int sockfd, void *msg, int len, int flags) ; int sendto(int sockfd, void *msg, int len, int flags, struct sockaddr *to, int tolen) ; Descripteur de socket retourn par lappel socket effectu prcdemment. tampon mmoire dans lequel est stock le message. taille des informations transfrer. combinaison de diverses valeurs mettre 0 par dfaut. adresse de destination. taille de la structure stockant ladresse de destination. renvoient le nombre de caractres mis, ou -1 sils chouent.

Paramtres

sockfd msg len ags to tolen Valeur renvoye

C.11

La rception dinformations

Ici encore, trois appels systmes sont courants : read, recv et recvfrom, les deux premiers tant utiliss pour le mode connect et le dernier pour le mode non connect.

PRIMITIVES DE PROGRAMMATION RSEAU

40

Appels systme

Paramtres

sockfd buff

nbytes ags from addrlen Valeur renvoye

int read ( int sockfd, char *buff, int nbytes ) ; int recv (int sockfd, char *buff, int nbytes, int flags ) ; int recvfrom (int sockfd, char *buff, int nbytes, int flags, struct sockaddr *from, int *addrlen) ; Descripteur de socket retourn par lappel socket effectu prcdemment. tampon mmoire dans lequel est stock le message aprs lecture sur la socket. taille maximale des informations lire. combinaison de diverses valeurs mettre 0 par dfaut. adresse de la socket mettrice. taille de la structure de ladresse from. renvoient le nombre de caractres lus, ou -1 sils chouent.

CONVERSION BINAIRE/DCIMAL

41

Conversion binaire/dcimal

Ce genre de conversion est essentiellement employ pour les masques de sous rseau. Pour rappel, 1 octet est compos de 8 bits. Chaque bit, suivant sa position dans loctet, a une valeur dcimale qui lui est affecte suivant la rgle donne dans le tableau ci-dessous : Position Valeur 7 6 128 64 5 32 4 16 3 8 2 4 1 2 0 1

En ralit, la valeur val peut sobtenir par une formule gnrale en fonction de la position pos : val = 2pos . Pour obtenir la valeur dcimale de loctet, il suft alors dadditionner les valeurs des bits qui ont t positionns 1. Dans le cadre des masques de sous-rseau, les possibilit sont rduites du fait que les bits positionns 1 doivent tre contigus en partant de la gauche. Ceci nous laisse quune poigne de valeurs connatre : Octet 00000000 10000000 11000000 11100000 11110000 11111000 11111100 11111110 11111111 Valeur 0 128 128 192 128 + 64 224 128 + 64 + 32 240 128 + 64 + 32 + 16 248 128 + 64 + 32 + 16 + 8 252 128 + 64 + 32 + 16 + 8 + 4 253 128 + 64 + 32 + 16 + 8 + 4 + 2 255 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1

La conversion inverse se fait en appliquant des divisions entire successives par 2 en notant les restes au fur et mesure. Les restes, repris dans lordre inverse donnent la valeur en binaire du nombre dcimal. Ainsi, pour 169, nous obtenons, en posant les division successives : 169 1 2 84 0

2 42 0

2 21 1

2 10 0

2 5 1

2 2 0

2 1 1

2 0

En reprenant les restes dans lordre inverse, nous pouvons crire : 16910 = 101010012 . La conversion inverse, pour vrication, permet dobtenir : 169 = 128 + 32 + 8 + 1.