Vous êtes sur la page 1sur 71

Support du cours de Réseaux

Licence de Mathématiques et Informatique


(L2MI-AR)
Faculté des Sciences, Université de
Ngaoundéré

NLONG Jean Michel

Semestre 5, Octobre 2009


Table des matières

1 Introduction 4
1.1 Les réseaux d’ordinateurs . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1 Réseaux pour l’entreprise . . . . . . . . . . . . . . . . . 4
1.1.2 Les réseaux pour les individus . . . . . . . . . . . . . . . 5
1.1.3 Taxonomie des réseaux . . . . . . . . . . . . . . . . . . . 6
1.2 Déroulement des échanges . . . . . . . . . . . . . . . . . . . . . 8
1.2.1 Représentation de l’information . . . . . . . . . . . . . . 8
1.2.2 Eléménts de base de la transmission des données . . . . . 11
1.3 Modèles de référence . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.1 La normalisation . . . . . . . . . . . . . . . . . . . . . . 12
1.3.2 Modéle de référence OSI . . . . . . . . . . . . . . . . . . 13
1.3.3 Modéle TCP/IP . . . . . . . . . . . . . . . . . . . . . . . 14

2 Technologies des réseaux 18


2.1 Bases théoriques de la transmission des données . . . . . . . . . . 18
2.1.1 Transmission en bande de base . . . . . . . . . . . . . . . 19
2.1.2 Propriétés d’une voie de transmission . . . . . . . . . . . 20
2.1.3 Transmission en modulation . . . . . . . . . . . . . . . . 21
2.1.4 Multiplexage . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 Les supports de transmission . . . . . . . . . . . . . . . . . . . . 23
2.2.1 La paire torsadée . . . . . . . . . . . . . . . . . . . . . . 23
2.2.2 Le câble coaxial . . . . . . . . . . . . . . . . . . . . . . 24
2.2.3 La fibre optique . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.4 Les liaisons sans fil . . . . . . . . . . . . . . . . . . . . . 25
2.3 Les réseaux ambiants . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.1 Réseaux Ethernet . . . . . . . . . . . . . . . . . . . . . . 25
2.3.2 Réseaux sans fil . . . . . . . . . . . . . . . . . . . . . . . 30
2.3.3 L’ADSL . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.4 Le niveau liaison de données . . . . . . . . . . . . . . . . . . . . 38
2.4.1 Détection et correction d’erreurs . . . . . . . . . . . . . . 38
2.4.2 Protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . 40

1
3 La couche réseau 43
3.1 Services offerts . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.1.1 Service datagramme . . . . . . . . . . . . . . . . . . . . 43
3.1.2 Service circuit virtuel . . . . . . . . . . . . . . . . . . . . 43
3.1.3 Routage . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.1.4 Le contrôle de congestion . . . . . . . . . . . . . . . . . 44
3.2 L’Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.1 Historique . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.2 Organisation administrative . . . . . . . . . . . . . . . . 46
3.2.3 Architecture . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.3 Le protocole IP . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.1 Datagramme IP . . . . . . . . . . . . . . . . . . . . . . . 48
3.3.2 Adressage . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.3.3 Principe du CIDR . . . . . . . . . . . . . . . . . . . . . . 50
3.3.4 Le routage IP . . . . . . . . . . . . . . . . . . . . . . . . 52
3.3.5 La fragmentation IP . . . . . . . . . . . . . . . . . . . . 54
3.4 Les protocoles des service . . . . . . . . . . . . . . . . . . . . . 56
3.4.1 ARP et RARP . . . . . . . . . . . . . . . . . . . . . . . 56
3.4.2 ICMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
3.4.3 IGMP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

4 La couche transport 58
4.1 Services offerts . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.1.1 Transport de bout en bout . . . . . . . . . . . . . . . . . 58
4.1.2 Adressage et multiplexage des communications . . . . . . 59
4.1.3 Qualité de service . . . . . . . . . . . . . . . . . . . . . . 59
4.2 La couche transport de l’Internet . . . . . . . . . . . . . . . . . . 60
4.2.1 UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.2.2 TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 La couche application 64
5.1 Le modèle client-serveur . . . . . . . . . . . . . . . . . . . . . . 64
5.2 Le service d’annuaire de l’Internet . . . . . . . . . . . . . . . . . 65
5.2.1 Associer une adresse IP et un nom de domaine . . . . . . 65
5.2.2 Un système réparti . . . . . . . . . . . . . . . . . . . . . 65
5.3 Le Web et le protocole HTTP . . . . . . . . . . . . . . . . . . . . 66
5.3.1 Fonctionnement . . . . . . . . . . . . . . . . . . . . . . . 66
5.4 Le courrier électronique . . . . . . . . . . . . . . . . . . . . . . . 67
5.5 Le transfert de fichiers . . . . . . . . . . . . . . . . . . . . . . . 68
5.5.1 Vue d’ensemble . . . . . . . . . . . . . . . . . . . . . . . 68
5.5.2 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . 69

2
5.6 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3
Chapitre 1

Introduction

Les réseaux de télécommunication constituent aujourd’hui une formidable


passerelle entre les cultures. Les télécommunications recouvrent toutes les tech-
niques (filaires, radio, optiques etc ;) de transfert d’information qu’elle qu’en soit
la nature (symboles, écrits, voix, données, images animées ou non). L’émergence
des ordinateurs domestiques et des communications a profondément influencé
l’organisation des systèmes informatiques. Les architectures du type « centre de
calcul »ont désormais laissé la place aux réseaux d’ordinateurs et aux systèmes
distribués. Cependant ces deux architectures ne doivent pas être confondues : Un
réseau d’ordinateurs est un ensemble d’ordinateurs indépendants interconnectés.
Chaque ordinateur garde son autonomie, et les utilisateurs se connectent implicite-
ment sur un ordinateur du réseau pour obtenir un service. Un système distribué par
contre est un réseau transparent d’ordinateurs. Les utilisateurs finaux n’ont pas
conscience du réseau sous-jacent, et ont l’impression de travailler sur leur poste
local.

1.1 Les réseaux d’ordinateurs


Ce cours est dédié à l’étude des réseaux d’ordinateurs comme moyen de com-
munication pour les hommes. L’importance de ces technologies a été démon-
trée par leur rapide adoption dans les entreprises et les individus. Nous com-
mencerons donc cet exposé par un examen des raisons qui ont motivé l’émergence
des réseaux.

1.1.1 Réseaux pour l’entreprise


Beaucoup d’entreprises disposent aujourd’hui d’un nombre considérable d’or-
dinateurs, affectés à différents services administratifs ou de production. Tradition-

4
nellement, ces ordinateurs sont utilisés de façon indépendante, ce qui pose des
problémes d’efficacité pour les transferts d’information souvent indispensables.
La mise en réseau des ordinateurs au sein d’une entreprise permettra donc de fa-
ciliter le travail en collaboration entre les différents membre de l’organisation.
De façon générale, les réseaux permettent le partage des ressources. Cela
signifie que les programmes, les équipements et plus naturellement les données
peuvent être accessibles à n’importe quelle personne autorisée, sans que celle-ci
ait à se déplacer jusqu’à l’ordinateur qui contient la ressource.
Un second objectif de l’interconnexion est la fiabilité du système, par dupli-
cation des ressources et données critiques. Ainsi, le système pourra survivre à une
panne d’une machine, si les services qu’elle offrait ont été répliqués sur une autre
machine. Ce transfert de compétence peut être transparent aux utilisateurs.
Les réseaux offrent un moyen de communication interne puissant. Les em-
ployés éparpillés sur de longues distances (et même dans le même site) peuvent
ainsi se passer des moyens traditionnels de communication, et rester très proches.
On peut ainsi travailler sur le même document (travail collaboratif), chacun modi-
fiant à sa guise les parties qui l’intéressent, ces modifications sont immédiatement
visibles par tous les autres membres de l’équipe.
Comme corollaire à tout ce qui vient de se dire , les réseaux permettent ainsi
de faire des économies (en argent et en temps) sur le matériel et les procédures
de gestion dans l’entreprise. Sur le matériel : partager une imprimante unique est
plus rentable qu’en avoir une pour chaque ordinateur, déployer des fichiers sur
plusieurs machines idividuelles fonctionnant en client-serveur est plus rentable
qu’acheter un serveur « dopé »pour héberger tous les fichiers.

1.1.2 Les réseaux pour les individus


Les réseaux pour les individus ont connu leur essor dès 1990, avec la domesti-
cation de l’Internet. Les applications les plus alléchantes sont notamment l’accès
à l’information à distance, la communication, et les loisirs.
L’accès à l’information à distance existe sous plusieurs formes. Les banques
par exemple offrent la possibilité à leurs clients de consulter leurs comptes (et
même de faire des opérations) sans bouger de leur domicile. Ces système ont
débordé le cadre strict des banques pour inonder dans le commerce électronique,
où il est possible de faire ses amplettes, de payer et de se faire livrer à domicile.
On peut aussi citer la télévision et plus généralement la presse, qui proposent des
grilles d’information personnalisées accessibiles via les réseaux.
En communication, l’application la plus connue est le courrier électronique,
qui à l’image du courrier traditionnel permet d’envoyer un message à un corre-
spondant à l’autre bout de la planète (mais de façon instantannée). En attendant
qu’il soit possible d’envoyer des cartes de vœux parfumées par ce canal. Les autres

5
applications émrgentes sont la téléconférence (ou vidéoconférence), le chat, et
depuis quelques années maintenant la téléphonie sur IP.
L’industrie du jeu et des loisirs interactifs est en pleine expansion de nos jours.

1.1.3 Taxonomie des réseaux


Les réseaux informatiques qui permettaient à leur origine de relier des ter-
minaux passifs à de gros ordinateurs centraux autorisent à l’heure actuelle l’inter-
connexion de tous types, d’ordinateurs. Que ce soit de gros serveurs, des stations
de travail, des ordinateurs personnels ou de simples terminaux graphiques. Les
services qu’ils offrent font partie de la vie courante des entreprises et adminis-
trations (banques, gestion, commerce, bases de données, recherche, etc...) et des
particuliers (messagerie, loisirs, services d’informations par Internet . . .).

Classification par la taille


On peut faire une premiére classification des réseaux à partir de leur taille,
géographiquement :
Les bus que l’on trouve dans un ordinateur pour relier ses différents composants
(mémoires, périphériques d’entrée-sortie, processeurs, . . .) peuvent être con-
sidérés comme des réseaux dédiés à des tâches très spécifiques.
Un réseau personnel (Personnal Area Network - PAN) interconnecte (très sou-
vent par des liaisons sans fil) des équipements personnels ou domestiques,
comme un ordinateur portable, un agenda électronique.
Un cluster (ou une grappe) est un groupe d’unités centrales reliées entre elles
de maniére à agir comme un seul ordinateur, soit pour pouvoir faire de la
répartition de charge soit du calcul distribué.
Un réseau local (Local Area Network - LAN) peut s’étendre de quelques métres
à quelques kilométres et correspond au réseau d’une entreprise. Il peut se
développer sur plusieurs bâtiments et permet de satisfaire tous les besoins
internes de cette entreprise.
Un réseau métropolitain (Metropolitan Area Network - MAN) interconnecte plusieurs
réseaux locaux d’entreprise dans une même ville, par exemple les différents
sites d’une université, les administrations, les fournisseurs d’accès.
Un réseau étendu (Wide Area Network - WAN) permet de communiquer à l’échelle
d’un pays, ou de la planéte entière, les infrastructures physiques pouvant
être terrestres ou spatiales à l’aide de satellites de télécommunications.

6
Classification par la topologie
On peut également différencier les réseaux selon leur structure, ou plus pré-
cisément leur topologie. On distingue ainsi deux classes de réseaux :
– Les réseaux en mode diffusion
– Les réseaux en mode point à point
Le mode de fonctionnement en diffusion consiste à partager un seul support de
transmission. Chaque message envoyé par un équipement sur le réseau est reçu par
tous les autres. Une adresse spécifique placée dans le message permettra à chaque
équipement de déterminer si le message lui est adressé ou non. A tout moment
un seul équipement a le droit d’envoyer un message sur le support, il faut donc
qu’il écoute au préalable si la voie est libre ; si ce n’est pas le cas il attend selon
un protocole spécifique à chaque architecture. Les réseaux locaux adoptent pour
la plupart le mode diffusion sur une architecture en bus ou en anneau, les réseaux
satellitaires ou radio suivent également ce mode de communication. Dans une telle
configuration la rupture du support provoque l’arrêt du réseau, par contre la panne
d’un des éléments ne provoque pas (en général) la panne globale du réseau.
Dans le mode de fonctionnement point à point le support physique (le câble)
relie une paire d’équipements seulement. Quand deux éléments non directement
connectés entre eux veulent communiquer, ils le font par l’intermédiaire d’autres
nœuds du réseau (ces autres nœuds sont appelés des routeurs). Plusieurs topolo-
gies peuvent être utilisées (voir figure 1.1).
Dans le cas de l’étoile le site central reçoit et relaie tous les messages. Le
fonctionnement est simple, mais la panne du nœud central paralyse tout le réseau.
Dans une boucle simple, chaque nœud recevant un message de son voisin en
amont le réexpédie à son voisin en aval. Pour que les messages ne tournent pas
indéfiniment, le nœud émetteur retire le message lorsqu’il lui revient. Si l’un des
éléments du réseau tombe en panne tout s’arrête. Ce probléme est partiellement
résolu par la double boucle dont chacune des boucles fait tourner les messages
dans un sens opposé. En cas de panne d’un équipement, on reconstitue une boucle
simple avec les éléments actifs des deux boucles, mais dans ce cas tout message
passera deux fois par chaque nœud. Il en résulte alors une gestion très complexe.
Dans le maillage régulier l’interconnexion est totale, ce qui assure une fiabil-
ité optimale du réseau. Par contre c’est une solution coûteuse en câblage physique.
Si l’on allége le plan de câblage, le maillage devient irrégulier. La fiabilité peut
rester élevée, mais elle nécessite un routage des messages selon des algorithmes
parfois complexes.

7
F IG . 1.1 – Topologies en mode point à point

1.2 Déroulement des échanges


1.2.1 Représentation de l’information
Les informations transmises peuvent être réparties en deux catégories selon ce
qu’elles représentent, et les transformations qu’elles subissent pour être traitées
dans les systémes informatiques. On distingue :
– Les données discrétes, où l’information correspond à l’assemblage d’une
suite d’éléments indépendants les uns des autres (suite discontinue de valeurs)
et dénombrables (ensembles finis). Par exemple, un texte est une association
de mots eux-mêmes composés de lettres qui sont des symboles élémen-
taires.
– Les données continues ou analogiques, résultant de la variation continue
d’un phénoméne physique : voix, température, image. . .
Pour traiter ces informations par des équipements informatiques, il est néces-
saire de substituer à chaque élément d’information une valeur binaire représenta-
tive de l’amplitude de celui-ci.

8
Codage de l’information
Coder l’information consiste à faire correspondre de façon bijective à chaque
symbole d’un alphabet (élément à coder) une représentation binaire (mot de code).
L’ensemble des mots de code constitue le code. Le codage des différents états d’un
système peut s’envisager selon deux approches. Les codes de longueur fixe et les
codes de longueur variable.
Dans un code de longueur fixe, chaque état du système est codé par un certain
nombre de bits, appelé longueur du code. Avec n bits, on peut coder jusqu’é 2n
états. Le code ASCII (American Standard Code for Information Interchange fig-
ure 1.2) est le code générique des télécommunications. Il autorise 128 caractéres
(27 ). Les 32 premiers symboles (voir explication des plus importants en figure 1.3)
correspondent à des commandes utilisées dans certains protocoles de transmission
pour en contrôler l’exécution. La norme de base (7 bits) prévoit des adaptations
aux particularités nationales (adaptation à la langue). Ce code, étendu à 8 moments
(8 bits) constitute l’alphabet de base des micro-ordinateurs de type PC.

BITS b7 0 0 0 0 1 1 1 1
BITS b6 0 0 1 1 0 0 1 1
BITS b5 0 1 0 1 0 1 0 1
b4 b3 b2 b1 hex 0 1 2 3 4 5 6 7
0 0 0 0 0 NUL DLE SP 0 é P p
0 0 0 1 1 SOH DC1 ! 1 A Q a q
0 0 1 0 2 STX DC2 " 2 B R b r
0 0 1 1 3 ETX DC3 é 3 C S c s
0 1 0 0 4 EOT DC4 $ 4 D T d t
0 1 0 1 5 ENQ NAK % 5 E U e u
0 1 1 0 6 ACK SYN ’ 6 F V f v
0 1 1 1 7 BEL ETB ( 7 G W g w
1 0 0 0 8 BS CAN ) 8 H X h x
1 0 0 1 9 HT EM . 9 I Y i y
1 0 1 0 A LF SUB : J Z j z
1 0 1 1 B VT ESC , ; K k é
1 1 0 0 C FF ES < L é l é
1 1 0 1 D CR GS " M é m é
1 1 1 0 E SO RS > N n "
1 1 1 1 F SI US / ? O - o DEL

F IG . 1.2 – Le code ASCII

9
Les codes à longueur variable visent à optimiser la longueur du codage des
symboles du système. Cela est important lorsque les états du système ne sont pas
équiprobables. Un exemple de code à longueur variable est le Code de Huffman
décrit par l’exemple ci-dessous :
Soit le système décrit dans le tableau ci-dessous, où chacun des quatre états représenté
par une lettre, avec une probabilité (ou une fréquence) associée.
Etat Probabilité
E 0,48
A 0,23
S 0,10
T 0,08
U 0,06
Y 0,05
Pour obtenur le code associé à chaque symbole, on construit une arbre binaire
ayant pour feuilles les différents symboles à coder. Ensuite à chaque étape on
réduit les deux symboles de plus faible probabilité en un (pseudo) symbole. Le
nouveau symbole a une probabilité égale à la somme des probabilités des deux
précédents. Quand aucune réduction n’est plus possible on doit obtenir un seul
(pseudo) symbole avec une probabilité de 1.
Les codes sont alors attribués en parcourant l’arbre de la racine aux feuilles. Le
fils gauche de chaque nœud aura pour valeur 1 (ou 0 selon la conevention que l’on
adopte) et le fils droit 0 (ou 1). Le code de chaque feuille est déduit en concaté-
nant les 0 et 1 rencontrés sur le parcours. Pour notre exemple, on a l’arbre de la
figure 1.4, et le tableau ci-dessous.
Occurence code
E 0
A 10
S 1100
T 1101
U 1110
Y 1111

Numérisation des informations


Numériser une grandeur analogique consiste à transformer la suite continue
de valeurs en une suite discréte et finie. A cet effet, on prél‘’eve, à des instants
significatifs, un échantillon du signal et on exprime son amplitude par rapport à
une échelle finie.
Le récepteur, à partir des valeurs transmises, reconstitue le signal d’origine.
Une restitution fidèle du signal nécessite que soient définis :

10
– l’intervalle d’échantillonnage qui doit être une constante du système (fréquence
d’échantillonnage) ;
– l’amplitude de l’échelle de quantification, celle-ci doit être suffisante pour
reproduire la dynamique du signal (différence d’amplitude entre la valeur la
plus faible et la valeur la plus forte) ;
– que chaque valeur soit codée.

Compression de données
Le temps de transmission d’un message est fonction de la longueur du mes-
sage et du débit de la ligne de transmission (c’est le nombre de caractères transmis
par unité de temps). Ce temps est d’autant plus faible que la longueur du message
est petite, ou que le débit est grand. L’augmentation du débit se heurte à des prob-
lémes technologiques et de coût. Pour un même contenu sémantique, il peut donc
être intéressant de réduire la longueur du message sans en altérer le contenu. C’est
la compression des données.
Le codage de Huffman par exemple (figure 1.4) substitue à un code de longueur
fixe un code de longueur variable. En longueur fixe il faudrait trois bits pour
coder chacun des six symboles, soit 300 bits pour notre exemple. Avec le code
de longueur variable obtenu, on obtient (48x1 + 23x2 + (10+8+6+5)x4) = 210
bits.

1.2.2 Eléménts de base de la transmission des données


Une liaison entre deux équipements A et B peut être simplex (unidirection-
nelle) ; A est toujours l’émetteur et B est toujours le récepteur (cas d’un capteur
qui envoie des mesures à un ordinateur).
On peut avoir une liaison half-duplex (bidirectionnelle à l’alternat) quand les
rôles de A et B peuvent changer, la communication change de sens à tour de
rôle (comme avec des talkies-walkies).
Elle est full-duplex (bidirectionnelle simultanée) quand A et B peuvent émettre et
recevoir en même temps (comme dans le cas du téléphone).
La transmission de plusieurs bits peut s’effectuer en série ou en paralléle.
En série, les bits sont envoyés les uns derriére les autres de maniére synchrone
ou asynchrone.
Dans le mode synchrone l’émetteur et le récepteur se mettent d’accord sur une
base de temps (un top d’horloge) qui se répète régulièrement durant tout l’échange.
A chaque top d’horloge (ou k tops d’horloge ; k entier fixé définitivement) un bit
est envoyé et le récepteur saura ainsi quand lui arrivent les bits.
Dans le mode asynchrone, il n’y a pas de négociation préalable mais chaque carac-
tére envoyé est précédé d’un bit de start et immédiatement suivi d’un bit de stop.

11
Ces deux bits spéciaux servent à caler l’horloge du récepteur pour qu’il échantil-
lonne le signal qu’il reçoit afin d’y décoder les bits qu’il transmet.
En paralléle, les bits d’un même caractére sont envoyés en même temps chacun
sur un fil distinct, mais cela pose des problémes de synchronisation et n’est utilisé
que sur de courtes distances (bus par exemple).

1.3 Modèles de référence


Un réseau a pour objectif final d’interconnecter des individus travaillant sur
des projets particuliers, chacun sur son équipement terminal. Les équipements
terminaux peuvent être différents (de par leurs natures, dimensions, puissances,
technologies . . .) Ils peuvent être situés à des endroits géographiques très divers,
et utiliser des modes de transmission tout aussi divers. Cette situation est illustrée
figure 1.5.
Le début des transferts est toujours initié par l’application, qui exprime le be-
soin de communiquer. Le système hôte prend alors en charge cette information et
fournit les moyens de l’acheminer jusqu’à l’autre bout. Plusieurs stratégies peu-
vent être envisagées à ce niveau (utilisation du réseau local de l’entreprise, con-
nexion sans fil à une station de base etc). Dans tous les cas, cette information est
relayée par un certain nombre d’équipements intermédiaires obéissant à des spé-
cifications propres, et communiquant deux à deux par des protocoles partagés.
Les questions que l’on se pose alors lors de la conception d’un tel système de
connexion sont :
– A quoi doit servir cette session (Que veulent faire les applications) ?
– Comment amener l’utilisateur A (du moins sa machine) à trouver son parte-
naire ?
– Comment se font les échanges (les utilisateurs ont-ils besoin d’être présents
pendant toutes les opérations, y a-t-il une cadence à respecter pendant l’échange) ?
– Sur quels systèmes tournent ces applications ?
– Comment les appelle-t-on ?
– Quels types de support sont utilisés pour la transmission ?
– Comment transmettre sur ces supports ?
– ...
Les réponses à ces questions sont fondamentales pour un fonctionnement cohérent
et utile du système.

1.3.1 La normalisation
L’évolution des technologies des réseaux s’est faite dans des directions sou-
vent opposées, situation très pénalisante pour les utilisateurs finaux. Historique-

12
ment chaque grand constructeur avait défini sa propre architecture protocolaire
(IBM, BULL . . .), et ces architectures propriétaires étaient incompatibles entre
elles. La normalisation des réseaux peut être vue comme une maniére de faire
converger les technologies de façon à permettre leur interconnexion. Elle permet
de garantir au consommateur une indépendance vis-à-vis des fournisseurs, et per-
met de pérenniser les investissements.
L’ISO (International Standardization Organization) entreprit alors de définir une
architecture de communication normalisée, appelée modéle de référence OSI (Open
System Interconnection), mais cette architecture n’a jamais pu s’imposer, et a été
supplantée par l’architecture TCP/IP.
Tous les modéles architecturaux des réseaux utilisent les mêmes principes. Le
but est de fournir à l’utilisateur l’accès aux resources, et lui procurer un service
identique, que les ressources soient locales ou distantes, de façon transparente.

1.3.2 Modéle de référence OSI


La norme OSI définit un modéle architectural de réseau en sept couches (fig-
ure 1.6), chacune de ces couches correspondant à une fonctionnalité particuliére
d’un réseau. Les couches 1, 2, 3 et 4 sont dites basses et les couches 5, 6 et 7 sont
dites hautes. Chaque couche est constituée d’éléments matériels et/ou logiciels et
offre un service (sous forme d’une interface de fonctions abstraites) à la couche
située immédiatement au-dessus d’elle. Ces fonctions épargnent ainsi à la couche
plus haute les détails d’implémentation nécessaires. Chaque couche n d’une ma-
chine dialogue avec la couche n d’une autre machine ; ce dialogue se fait suivant
un protocole dit de niveau n qui est un ensemble de régles de communication pour
le service de niveau n.
– La couche physique est responsable de la transmission des bits en ordre et
de manière fiable.
– La couche liaison a pour rôle de détecter les erreurs de la transmission
physique. Pour cela les informations à transmettre sont organisées en unités
de liaison appelées trames. La trame contient ainsi l’information réelle à
transmettre, à laquelle s’ajoutent des données de contrôle de la transmis-
sion : la machine physique émettrice et la machine destinataire (notamment
en cas de canal partagé), des information de contrôle d’erreur (codes cor-
recteurs), éventuellement des informations de contrôle de flux pour réguler
les débits entre l’émetteur et le récepteur.
– La couche réseau est surtout responsable du contrôle du réseau de commu-
nication, c’est-à-dire de l’acheminement des messages entre un émetteur et
un récepteur, éventuellement non directement connectés. C’est à ce niveau
que l’on doit gérer l’interconnexion de réseaux différents.
– La couche transport s’occupe de la remise bout-à-bout. C’est à ce niveau

13
que se fait la différenciation entre plusieurs programmes sur la même ma-
chine, communiquant avec d’autres programmes sur d’autres machines. Cette
couche est la derniére couche de contrôle des informations : elle doit assurer
un service de transfert fiable quelle que soit la qualité du sous-réseau sous-
jacent.
– La couche session gére l’échange des données entre les applications dis-
tantes. Sa fonction essentielle est la synchronisation deséchanges et la défi-
nition des points de reprise.
– La couche présentation est une interface entre les couches qui assurent
l’échange et celles qui manipulent réellement les données sémantiques. Elle
doit donc offrir des services de conversion pour présenter ces données sous
une syntaxe et une sémantique appropriée.
– La couche application fournit aux programmes utilisateurs (applications) un
enesemble de fonctions permettant le déroulement correct des programmes
communicants (transfert de fichiers, courrier électronique . . .)

1.3.3 Modéle TCP/IP


La définition de l’architecture TCP/IP a commencé en 1974, lorsque la DARPA
(Defence Advanced Research Project Agency - USA) décide d’interconnecter les
systèmes informatiques de l’armée des Etats Unis. TCP/IP (du nom des deux pric-
ipaux protocoles qui constituent l’architecture) est un ensemble de protocoles per-
mettant de résoudre les problémes d’interconnexion en milieu hétérogéne. Il décrit
ainsi un réseau logique au dessus des réseaux physiques réels auxquels sont effec-
tivement connectés les ordinateurs.
L’architecuture TCP/IP définit une grande variétés d’applications (courrier
électronique, transfert de fichiers, accès à l’information à distance . . .) et des pro-
tocoles de communicartion associés. Selon la qualité service nécessaire, ces ap-
plications sont construites au dessus de l’un des deux protocoles de transport TCP
ou UDP. TCP (Transmission Control Protocol) est un protocole de transport fiable
à flux d’octet et orienté connexion, alors que UDP (User Datagram Protocol) est
non fiable, sans connexion ni contrôle de flux.
Le protocole IP (Internet Protocol) est le protocole de réseau. Il permet aux
hétes (machines connectées à l’internet) d’envoyer des paquets sur le réseau. Les
routeurs sont en charge d’acheminer ces paquets à destination, au mieux qu’ils
peuvent.
Il n’y a pas de couche de liaison, mais un ensemble de protocoles qui perme-
ttent l’accès au sous-réseau réel de transport. L’architecture TCP/IP est illustrée
figure 1.7.

14
Symbole Signification
ACK Acknowledge Accusé de réception
BEL Bell Sonnerie
BS Backspace Retour arriére
CAN Cancel Annulation
CR Carriage return Retour chariot
DEL Delete Oblitération
DLE Data link escape Caractére d’échappement
EM End medium Fin de support
ENQ Enquiry Demande
EOT End of transmission Fin de communication
ESC Escape Echappement
ETB End of transmission block Fin de bloc de transmission
ETX End of text Fin de texte
FE Format effector Commande de mise en page
FF Form feed Présentation de formule
FS File separator Séparateur de fichiers
HT Horizontal tabulation Tabulation horizontale
LF Line feed Interligne
NAK Negative acknowledge Accusé de réception négatif
NUL Null Nul
SOH Sart of header Début d’en-tête
SP Space Espace
STX Start of text Début de texte
SYN Synchronous idle Synchronisation
TC Transmission control Commande de transmission
VT Vertical tabulation Tabulation verticale

F IG . 1.3 – Signification des caractéres de comandes

15
100
1

52
1
0

0 29
0 1

18 11
0 1 0 1

E48 A23 S10 T8 U6 Y5

F IG . 1.4 – Arbre de Huffman

bla bla bla


Application Application

Machine
Machine

Quelque part
Quelque part

Environnements
Fournisseur et equipements Fournisseur
intermediaires

F IG . 1.5 – Chemin d’un trafic réseau

16
Protocole
Application Application
Interface

Présentation Présentation

Session Session

Transport Transport

Réseau Réseau

Liaison
Liaison

Physique
Physique

Médium de transmission physique

F IG . 1.6 – Modéle de référence OSI

Application FTP, SMTP

DNS, HTTP
Présentation
...

Session Applications

Transport TCP, UDP


Transport

IP
Réseau
Réseau

Liaison Acces
au sous−réseau
réel de transport
Physique

F IG . 1.7 – Modèle OSI et l’architecture TCP/IP

17
Chapitre 2

Technologies des réseaux

Ce chapitre traite de la partie matérielle des réseaux d’ordinateurs, constituée


du matériel de transmission, et les algorithmes utilisés pour réaliser une commu-
nication utile entre deux équipements directement reliés1 .
La couche physique fournit les moyens mécaniques, électriques et procédu-
raux nécessaires à la connexion physique destinée à la transmission des bits en-
tre deux entités communicantes. Elle spécifie les modes d’accès au support de
transmission, et le codage des informations émises. Les normes et standards de
la couche physique définissent le type de signaux émis (modulation, puissance,
portée . . .), la nature et les caractéristiques des supports (câbles, fibre optiques,
ondes radio . . .)

2.1 Bases théoriques de la transmission des données


L’information qui circule dans un ordinateur est numérique, alors que les
lignes de communication véhiculent des grandeurs électriques ou physiques. Pour
pouvoir être émise sur le canal, l’information doit être transcodée. Cette informa-
tion peut être transmise sur un câble en faisant varier certaines grandeurs physiques
comme l’intensité ou la tension sur ce câble. Pour la transmission sans fil, on
utilise un autre principe : Lorsque les électrons se déplacent, ils créent des ondes
électromagnétiques qui peuvent se propager dans l’espace. En connectant une an-
tenne approprié à un circuit électrique, les ondes électromagnétiques peuvent être
diffusées et reçues par un autre équipement plus loin.
Selon que le signal en émission est modifié ou pas avant transmission, on a la
transmission en bande de base ou la transmission en modulation.
1
Directement reliés ici signifie qu’il n’existe pas d’équipement intermédiaire chargé de relayer
les données transmises entre les deux équipements.

18
F IG . 2.1 – Signal carré de la séquence de bits 1010

2.1.1 Transmission en bande de base


Un système de transmission est qualifié de bande de base s’il n’introduit pas
d’écart de fréquence entre les signaux émis et ceux reçus. Cette transmission est
généralement employée dans les réseaux locaux où la distance entre les équipements
est faible, et donc la perte de puissance acceptable.
La transmission en bande de base consiste à envoyer directement les suites de
bits sur le support à l’aide de signaux carrés constitués par un courant électrique
pouvant prendre 2 valeurs (5 ou 0 Volts par exemple). Plusieurs transcodages des
bits possibles, mais dans tous les cas l’émetteur envoie sur la ligne un signal carré
du type de celui de la figure 2.1 pour la séquence de bits 1010 par exemple.

0 1 1 0 0 1 0

Code tout ou rien

Code NRZ

Code bipolaire

Code RZ (retour à zero)

Code biphase(ou Manchester)

Code Miller (delay modulation)

F IG . 2.2 – Différents codages en bande de base de la séquence 0110010

Dans la figure 2.2, nous trouvons quelques exemple de codage de l’informa-


tion pour une transmission en bande de base.
– le code tout ou rien : c’est le plus simple, un courant nul code le 0 et un
courant positif indique le 1.

19
– le code NRZ (non retour à zéro) : pour éviter la diffculté à obtenir un courant
nul, on code le 1 par un courant positif et le 0 par un courant négatif.
– le code bipolaire : c’est aussi un code tout ou rien dans lequel le 0 est
représenté par un courant nul, mais ici le 1 est représenté par un courant
alternativement positif ou négatif pour éviter de maintenir des courants con-
tinus.
– le code RZ : le 0 est codé par un courant nul et le 1 par un courant positif
qui est annulé au milieu de l’intervalle de temps prévu pour la transmission
d’un bit.
– le code Manchester : ici aussi le signal change au milieu de l’intervalle
de temps associé à chaque bit. Pour coder un 0 le courant sera négatif sur
la premiére moitié de l’intervalle et positif sur la deuxiéme moitié, pour
coder un 1, c’est l’inverse. Autrement dit, au milieu de l’intervalle il y a une
transition de bas en haut pour un 0 et de haut en bas pour un 1.
– le code Miller : on diminue le nombre de transitions en effectuant une tran-
sition (de haut en bas ou l’inverse) au milieu de l’intervalle pour coder un
1 et en n’effectuant pas de transition pour un 0 suivi d’un 1. Une transition
est effectuée en fin d’intervalle pour un 0 suivi d’un autre 0.

2.1.2 Propriétés d’une voie de transmission


On appelle valence d’une voie (on note B) le nombre de valeurs que peut
prendre l’état physique à un instant t. Par exemple, les codes présentés ci-dessus
sont tous bivalents, la grandeur électrique ne pouvant prendre que deux valeurs
possibles.
Pour être correctement transmis, on a généralement besoin qu’une valeur élec-
trique reste constant pendant un certain temps sur le canal. Ce temps s’appelle
moment élémentaire et est noté Tm en secondes.
La vitesse de modulation, ou rapidité de modulation, est le nombre de valeurs
physiques émises par secondes. Elle est donc l’inverse du moment élémentaire, et
notée Rm en bauds.
Le débit binaire d’une voie, ou vitesse de transmission, est le nombre de valeurs
logiques transmises par seconde. Il est noté D, en bits/s.
On peut donc écrire :
Rm
D= log2 (V )
k
avec k le nombre de valeurs physiques utilisées pour coder une valeur logique2 .
2
On rappelle qu’une valeur physique porte comme information binaire log2 (V ).

20
2.1.3 Transmission en modulation
Dans un réseau longue distance, il serait trop coûteux de prévoir des répéteurs
pour régénérer réguliérement le signal, si la transmission en bande de base est
adoptée. Sur de longues distances en effet, le signal subit des atténuations dues
aux bruit, au point de s’étaler. C’est pourquoi sur les longues distances on émet
un signal sinusoïdal, qui résiste mieux au bruit, et qui même s’il est affaibli, sera
facilement décodable par le récepteur.
Le signal électrique résultant du transcodage peut être noté comme une fonc-
tion g(t) du temps. Lorsqu’il est transmis sur une ligne analogique, il prend la
forme d’une courbe sinusoïdale. Ce signal sinusoïdal est obtenu grâce à un mo-
dem (modulateur-démodulateur) qui est un équipement électronique capable de
prendre en entrée un signal en bande de base pour en faire un signal sinusoïdal
(modulation) et l’inverse à savoir restituer un signal carré à partir d’un signal sinu-
soédal (démodulation). Autrement dit il permet de passer des signaux numériques
discrets (0 ou 1) à des signaux analogiques continus.
Un signal sinusoïdal est de la forme u = Asin(ωt + ϕ) :
– A est l’amlitude (on dit crête à crête)
ω
– f = 2π est la fréquence
– ϕ est la phase, c’est-à-dire le décalage de l’onde par rapport à l’origine.
Ces trois paramètres peuvent être modifiés, on parle de modulation. Le principe
consiste à partir d’un signal sinusoïdal de référence appelé porteuse, et à le modi-
fier selon ses besoins.

Notion de bande passante


Un support physqie est imparfait, il ne laisse passer que certaines fréquences,
il fonctionne comme un filtre. L’intervalle des fréquences que le support accepte
est alors appelé sa bande passante. La bande passante est un propriéte très impor-
tante d’un support, puisqu’elle détermine le nombre de canaux logiques qu’il peut
comporter.

Modulation de fréquence
La modulation de fréquence code chaque état binaire par une fréquence dif-
férente. Si on note par exemple f0 la fréquence de la porteuse, on choisit deux
fréquences f1 (pour coder 0) et f2 (pour coder 1) telles que :
(
f1 = f0 − x
f2 = f0 + x

21
Comme l’amplitude importe peu, c’est un signal très résistant aux perturbations
(la radio FM est de meilleure qualité que la radio AM) et c’est assez facile à
détecter.
Pour augmenter la valence de la voie, on peut utiliser quatre valeurs de f . Cette
technique permet par exemple de faire du full-duplex sur une ligne.

Modulation d’amplitude
La modulation d’amplitude envoie un signal d’amplitude différente suivant
qu’il faut transmettre un 0 ou un 1. Cette technique est efficace si la bande pas-
sante et la fréquence sont bien ajustées. Par contre, il existe des possibilités de
perturbation (orage, lignes électriques. . .), car si un signal de grande amplitude
(représentant un 1) est momentanément affaibli le récepteur l’interprétera à tort
en un 0.

Modulation de phase
La modulation de phase change la phase du signal suivant qu’il s’agit d’un 0
(phase montante) ou d’un 1 (phase descendante).
Dans les exemples donnés ci-dessus on a seulement 2 niveaux possibles à
chaque fois, donc on a uniquement la possibilité de coder 2 valeurs différentes à
chaque instant, dans ce cas 1 baud = 1bit/s. De maniére plus sophistiquée il existe
des modems capables de moduler un signal suivant plusieurs niveaux, par exemple
4 fréquences différentes que le modem récepteur saura lui aussi distinguer. Dans
ce cas, chaque signal envoyé code 2 bits donc 1 baud = 2bit/s. Il est même possible
de transmettre des signaux mêlant les différentes modulations présentées comme
dans le cas de la norme V29 qui module à la fois l’amplitude du signal sur 2
niveaux et la phase sur 8 niveaux. En combinant les 2 modulations, on obtient
ainsi 16 signaux différents possibles à chaque instant, permettant de transmettre
simultanément 4 bits à chaque top d’horloge (1 baud = 4 bit/s).

2.1.4 Multiplexage
Le multiplexage consiste à faire transiter sur une seule et même ligne de li-
aison, dite voie haute vitesse, des communications appartenant à plusieurs paires
d’équipements émetteurs et récepteurs. Chaque émetteur (resp. récepteur) est rac-
cordé à un multiplexeur (resp. démultiplexeur) par une liaison dite voie basse
vitesse.
Plusieurs techniques sont possibles :
– le multiplexage fréquentiel consiste à affecter à chaque voie basse vitesse
une bande passante particuliére sur la voie haute vitesse en s’assurant qu’au-

22
cune bande passante de voie basse vitesse ne se chevauche. Le multiplexeur
prend chaque signal de voie basse vitesse et le réémet sur la voie haute
vitesse dans la plage de fréquences prévues. Ainsi plusieurs transmissions
peuvent être faites simultanément, chacune sur une bande de fréquences
particuliéres, et à l’arrivée le démultiplexeur3 est capable de discriminer
chaque signal de la voie haute vitesse pour l’aiguiller sur la bonne voie
basse vitesse.
– le multiplexage temporel partage dans le temps l’utilisation de la voie haute
vitesse en l’attribuant successivement aux différentes voies basse vitesse
même si celles-ci n’ont rien à émettre. Suivant les techniques, chaque inter-
valle de temps attribué à une voie lui permettra de transmettre 1 ou plusieurs
bits.
– le multiplexage statistique améliore le multiplexage temporel en n’attribuant
la voie haute vitesse qu’aux voies basse vitesse qui ont effectivement quelque
chose à transmettre. En ne transmettant pas les silences des voies basses,
cette technique implantée dans des concentrateurs améliore grandement le
débit global des transmissions mais elle fait appel à des protocoles de plus
haut niveau et est basée sur des moyennes statistiques des débits de chaque
ligne basse vitesse.

2.2 Les supports de transmission


L’objectif de la couche 1 du modéle OSI est aussi de fixer les caractéristiques
des matériels utilisés pour relier physiquement les équipements d’un réseau. Nous
décrivons succinctement quelques uns des supports de transmission les plus util-
isés.

2.2.1 La paire torsadée


La paire torsadée est un câble téléphonique constitué à l’origine de deux fils
de cuivre isolés et enroulés l’un sur l’autre (d’où le nom). Actuellement on utilise
plutôt des câbles constitués de 2 ou 4 paires torsadées. Elle est très répandue, de
connexion facile et d’un faible coût mais elle posséde une faible immunité aux
bruits. Pour améliorer les performances on utilise la paire torsadée blindée plus
résistante aux perturbations électromagnétiques et qui autorise un débit pouvant
aller jusqu’A 16 Mbits/s. D’une maniére générale les performances (et les coûts)
de ce support dépendent de la qualité des matériaux employés et des détails de
réalisation. On recommande actuellement d’utiliser des câbles de 4 paires non
blindées de catégorie 5 avec une impédance de 100 ohm.
3
Le même équipement joue à la fois le rôle de multiplexeur et démultiplexeur.

23
Utilisée en ligne de téléphone classique leur débit est au maximum de 56
Kbit/s avec les modems les plus récents, mais les progrés de cette technologie
autorisent, sur de courtes distances, des débits de l’ordre de 10 Mbit/s voire 100
Mbit/s. On la rencontre très souvent comme support des réseaux 10 Base T4 ,
chaque extrémité d’un tel câble étant muni d’une prise RJ45.
Son intérêt principal est que cette même paire torsadée peut servir au réseau
téléphonique, au réseau informatique et vidéo d’une même entreprise et de plus
elle pourra être utilisée ultérieurement pour évoluer vers des réseaux 100 Base T
et même Gigabits. Dans ce type de réseaux locaux chaque poste est relié à un hub,
par une liaison point à point, formant physiquement une étoile (dont le centre
est un hub) ou un arbre, mais dont le fonctionnement est en mode de diffusion
de type bus. Cependant l’orientation actuelle est de remplacer les hubs par des
commutateurs qui eux réalisent de la diffusion en mode point à point.

2.2.2 Le câble coaxial


Le câble coaxial est un câble utilisé également en téléphonie et en télévision,
il est constitué d’un coeur qui est un fil de cuivre. Ce coeur est dans une gaine
isolante elle-méme entourée par une tresse de cuivre, le tout est recouvert d’une
gaine isolante. Certains coaxiaux large bande peuvent atteindre un débit maxi-
mal de 150 Mhz mais son encombrement est nettement supérieur à celui de la
paire torsadée et ses performances n’atteignant pas celle de la fibre optique. Il a
tendance à disparaître des nouveaux plans de câblage.
On le rencontre dans sa version 10 Base2 (ou Ethernet fin 10 Mbit/s sur 200 m
maximum) ou 10 Base5 (ou Ethernet épais 10 Mbit/s sur 500 m maximum) pour la
réalisation de réseaux locaux à topologie en bus. Les connexions de chaque poste
sur le bus se font à l’aide de connecteur en T, et la connexion du câble sur le poste
se fait à l’aide de connecteur AUI pour l’Ethernet épais et BNC pour l’Ethernet
fin5 . Il est actuellement beaucoup utilisé pour relier entre eux deux éléments actifs
(hub, routeur,. . .)

2.2.3 La fibre optique


La fibre optique est un support d’apparition plus récente mais son utilisation
prend de l’ampleur de jour en jour car elle permet(tra) des débits de plusieurs
Gbit/s sur de très longues distances. Elle est particuliérement adaptée à l’intercon-
nexion de réseaux par exemple entre plusieurs bâtiments d’un même site. En plus
4
T pour twisted (torsadée), 10 pour 10 Mbits/s et 100 Base T pour 100 Mbit/s.
5
le section suivante le fonctionnement d’un réseau Ethernet

24
de ses capacités de transmission, ses grands avantages sont son immunité aux in-
terférences électromagnétiques et sa plus grande difficulté d’écoute, contrairement
aux supports électriques, ce qui la rend également attrayante dans les contextes où
la confidentialité est requise. D’un point de vue technique une fibre optique est
constituée d’un coeur et d’une gaine en silice de quelques microns recouvert d’un
isolant. à une extrémité une diode électroluminescente (LED) ou une diode laser
émet un signal lumineux et à l’autre une photodiode ou un phototransistor est
capable de reconnaître ce signal.

F IG . 2.3 – Réflexion interne dans une fibre optique

Les différents rayons lumineux issus de la source sont guidés par le fil de verre
en suivant un principe de réflexion interne qui se produit au niveau de la frontiére
entre le coeur et la gaine comme illustré dans la figure 2.3. Si la réflexion ne laisse
subsister qu’un seul rayon, car le diamétre du fil est très réduit, alors on parle de
fibre monomode sinon, lorsqu’il existe plusieurs rayons simultanément on parle
de fibre multimode. Enfin, la bande passante d’une fibre optique étant très large
(plusieurs MHz) il est aisé de faire du multiplexage fréquentiel pour faire transiter
simultanément plusieurs communications.

2.2.4 Les liaisons sans fil


Les liaisons sans fil sont possibles grâce à des liaisons infrarouges, laser ou
hertziennes sur de courtes distances et grâce aux faisceaux hertziens pour les li-
aisons satellitaires. Les débits sont trés élevés mais les transmissions sont sensi-
bles aux perturbations, et les possibilités d’écoute sont nombreuses.

2.3 Les réseaux ambiants


2.3.1 Réseaux Ethernet
Ethernet (aussi connu sous le nom de norme IEEE 802.3) est une technologie
de réseau local basé sur le principe suivant : Toutes les machines du réseau Eth-

25
ernet sont connectées à une même ligne de communication, constituée de câbles
cylindriques.
On distingue différentes variantes de technologies Ethernet (Figure 2.4) suiv-
ant le diamétre des câbles utilisés :
– 10Base-2 : Le câble utilisé est un câble coaxial de faible diamétre
– 10Base-5 : Le câble utilisé est un câble coaxial de gros diamétre
– 10Base-T : Le câble utilisé est une paire torsadée, le débit atteint est d’env-
iron 10Mbps
– 100Base-TX : Comme 10Base-T mais avec une vitesse de transmission
beaucoup plus importante (100Mbps)

Technologie Type de câble Vitesse Portée


10Base-2 Câble coaxial de faible diamétre 10Mb/s 185m
10Base-5 Câble coaxial de gros diamétre 10Mb/s 500m
10Base-T double paire torsadée 10 Mb/s 100m
100Base-TX double paire torsadée 100 Mb/s 100m
1000Base-SX fibre optique 1000 Mb/s 500m
F IG . 2.4 – Principales technologies Ethernet

Ethernet est une technologie de réseau très utilisée car le prix de revient d’un
tel réseau n’est pas très élevé.

Principe de transmission
Tous les ordinateurs d’un réseau Ethernet sont reliés à une même ligne de
transmission, et la communication se fait à l’aide d’un protocole appelé CSMA/CD
(Carrier Sense Multiple Access with Collision Detection ce qui signifie qu’il s’agit
d’un protocole d’accès multiple avec surveillance de porteuse (Carrier Sense) et
détection de collision).
Avec ce protocole toute machine est autorisée à émettre sur la ligne à n’im-
porte quel moment et sans notion de priorité entre les machines. Cette communi-
cation se fait de façon simple :
– Chaque machine vérifie qu’il n’y a aucune communication sur la ligne avant
d’émettre
– Si deux machines émettent simultanément, alors il y a collision (c’est-à-dire
que plusieurs trames de données se trouvent sur la ligne au même moment)
– Les deux machines interrompent leur communication et attendent un délai
aléatoire, puis la premiére ayant passé ce délai peut alors réémettre
Ce principe est basé sur plusieurs contraintes :
– Les paquets de données doivent avoir une taille maximale

26
– il doit y avoir un temps d’attente entre deux transmissions
Le temps d’attente varie selon la fréquence des collisions :
– Aprés la premiére collision une machine attend une unité de temps
– Aprés la seconde collision la machine attend deux unités de temps
– Aprés la troisiéme collision la machine attend quatre unités de temps avec
bien entendu un petit temps supplémentaire aléatoire

Ethernet commuté
Jusque lé, la topologie Ethernet décrite était celle de l’Ethernet partagé (tout
message émis est entendu par l’ensemble des machines raccordées, la bande pas-
sante disponible est partagée par l’ensemble des machines).
Depuis quelques années une évolution importante s’est produite : celle de
l’Ethernet commuté. La topologie physique reste une étoile, organisée autour d’un
commutateur (switch).
Le commutateur utilise un mécanisme de filtrage et de commutation. Il inspecte
les adresses de source et de destination des messages, dresse une table qui lui
permet alors de savoir quelle machine est connectée sur quel port du switch (en
général ce processus se fait par auto-apprentissage, c’est-à-dire automatiquement,
mais le gestionnaire du switch peut procéder à des réglages complémentaires).
Connaissant le port du destinataire, le commutateur ne transmettra le message que
sur le port adéquat, les autres ports restants dés lors libres pour d’autres transmis-
sions pouvant se produire simultanément.
Il en résulte que chaque échange peut s’effectuer à débit nominal (plus de partage
de la bande passante), sans collisions, avec pour conséquence une augmentation
très sensible de la bande passante du réseau (é vitesse nominale égale).
Quant à savoir si tous les ports d’un commutateur peuvent dialoguer en même
temps sans perte de messages, cela dépend de la qualité de ce dernier (non block-
ing switch).
Puisque la commutation permet d’éviter les collisions et que les techniques
10/100/1000 base T(X) disposent de circuits séparés pour la transmission et la
réception (une paire torsadée par sens de transmission), la plupart des commuta-
teurs modernes permet de désactiver la détection de collision et de passer en mode
full-duplex sur les ports. De la sorte, les machines peuvent émettre et recevoir en
même temps (ce qui contribue à nouveau à la performance du réseau). Le mode
full-duplex est particuliérement intéressant pour les serveurs qui doivent desservir
plusieurs clients.

27
Négociation de la bande passante
Avec les évolutions des débits d’Ethernet, la grande majorité des infrastruc-
tures actuelles sont mixtes. Il est donc nécessaire que les équipements réseau
(cartes, commutateurs, etc.) soient capables de reconnaître et d’utiliser la bande
passante disponible sur le câble. Il existe deux modes de négociation :
Auto-négociation : La négociation entre équipements porte sur deux fonction-
nalités :
– le débit 10, 100 et 1000Mbps,
– le mode half-duplex ou full-duplex (IEEE 802.3x).
La fonction d’auto-négociation est optionnelle. Elle est apparue avec l’ex-
tension FastEthernet et ne concerne que les câbles en paires torsadées et
les fibres optiques. La fonction de négociation utilise les signaux de con-
trôle d’état du lien physique en respectant la compatibilité entre tous les
équipements indépendemment de leur génération et des options qu’ils sup-
portent. L’ordre des négociations est : 100BaseTX Full-Duplex, 100BaseT4,
100BaseTX, 10BaseT Full-Duplex, 10BaseT.
Mode Full-Duplex IEEE 802.3x : Le mode de fonctionnement de base d’Ether-
net est Half-Duplex. Il suppose que le média est partagé entre plusieurs sta-
tions et que les informations transitent dans les 2 sens. C’est sur ce mode de
base que la méthode d’accès CSMA/CD est bâtie. Le mode Full-Duplex cor-
respond à une communication point-é-point entre deux équipements. Dans
ce contexte, le média n’est plus partagé entre plus de 2 stations et les infor-
mations transitent toujours dans les deux sens mais sur des canaux (paires
torsadées ou fibres) distincts. En conséquence, l’algorithme d’accès au mé-
dia est considérablement simplifié et la bande passante utile est doublée.
Aujourd’hui, beaucoup de constructeurs ont adopté ces options d’Ethernet.
Il est donc possible de concevoir des artéres à 200Mbps entres commuta-
teurs et (ou) concentrateurs (hubs) pour un coût très raisonnable.

Format de trame
Une trame est un ensemble de bits de longueur donnée transmis en un bloc sur
le lien physique. Le but de la mise en trames est de pouvoir organiser la détection
et la correction des erreurs lors de la transmission. la figure 2.5 présente le format
des 2 types de trames Ethernet reconnues.
La signification de chacun des champs de trame est donnée ci-après.
Le préambule : Le préambule est une suite de 0 et de 1 alternés. Il permet à
l’horloge du récepteur de se synchroniser sur celle de l’émetteur. Comme
la transmission est asynchrone, il est possible qu’une partie du préambule
soit perdue. Méme si la norme IEEE 802.3 a spécifié un champ spécifique

28
F IG . 2.5 – Trames Ethernet

en fin de préambule : SOF (Start of Frame) avec 2 bits à 1, il n’y a aucune


différence avec le standard Ethernet v2.0 pour lequel les 2 derniers bits du
préambule sont aussi à 1.
Les adresses MAC : Les adresses MAC identifient le ou les destinataire(s) de la
trame puis l’émetteur. Elles sont constituées de 6 octets : Les 3 premiers
octets font référence au constructeur de l’interface. Ils sont uniques et sont
attribués par l’IEEE. Les 3 octets suivants donnent le numéro d’interface
chez ce constructeur.
L’adresse source est toujours celle d’une interface unique (unicast). La des-
tination peut être une adresse unique, de groupe (multicast) ou de diffusion
générale (broadcast = FF-FF-FF-FF-FF-FF). Dans une adresse de groupe,
le premier bit transmis est à 1. Si les autres bits ne changent pas, l’adresse
de groupe correspond à toutes les cartes d’un même constructeur.
Le champ longueur/type : Ce champ de 2 octets a été défini dans le standard
Ethernet II pour indiquer le type de protocole de niveau 3 employé pour
transporter le message. Avec la normalisation IEEE 802.3 ce champ a été
redéfini pour contenir la longueur en octets du champ des données.
Les données : Ethernet II D’après la définition d’origine, la couche 2 est com-
pléte avec ce format. Les données sont directement transmises au niveau
réseau identifié par le champ type. Aucune séquence de bourrage ou
padding n’est prévue bien que le nombre minimum de données atten-
dues soit de 46 octets.
IEEE 802.3 Le champ de données contient l’entéte de la sous-couche LLC
en plus des données. Au niveau MAC ce champ est vu comme une
suite de 46 à 1500 octets que l’on n’interpréte pas. Si le nombre de
données n’atteint pas 46 octets, le champ est complété par une séquence
de bourrage (padding).

29
Le champ de contrôle : Le FCS : Frame Check Sequence est un champ de 4
octets qui permet de valider l’intégrité de la trame à 1 bit prés. Il utilise un
CRC (Cyclic Redundancy Check) qui englobe tous les champs de la trame.
Ainsi, la station réceptrice peut décider si la trame est correcte et doit être
transmise à la couche supérieure : LLC (Logical Link Control IEEE 802.2)
ou réseau.
(Le temps inter-trame :] Le temps inter-trame est appelé indifféremment Inter
Frame Space ou Inter Frame Gap. Une machine ne peut émettre toutes les
trames qu’elle a à transmettre les unes à la suite des autres. Le délai inter-
trame normalisé est de 96 bits soit 9,6 microsecondes à 10Mbps. Attention,
cette définition a été revue pour le Gigabit-Ethernet. Il correspond au temps
minimum de retour au repos du média et permet aux autres stations de pren-
dre la main.

2.3.2 Réseaux sans fil


En ce début de 21éme siécle, les réseaux locaux informatiques connaissent
deux évolutions importantes. D’une part, l’utilisation courante du réseau local
chez les particuliers, et, d’autre part, l’arrivée en masse des ordinateurs et autres
matériels mobiles. Pour cela il faut trouver une technologie permettant de simpli-
fier le câblage du réseau chez un particulier et de préserver la mobilité des produits
portables. Un seul principe permet de concilier les deux, le sans fil ou Wireless.
Toutefois autant la solution peut de prime abord paraître simple, autant elle est
complexe à mettre en place pour plusieurs raisons. Il faut tout d’abord dévelop-
per une technologie proposant le plus d’avantages possibles comme une longue
portée, le franchissement d’obstacles (murs) et surtout un prix bas. Une fois cette
technologie trouvée, il faut l’adapter aux normes en vigueur sur tous les conti-
nents. Ainsi, si plusieurs normes sont d’ores et déjé disponibles et utilisées, au-
cune d’entre elles n’a réussi à prendre le dessus sur les autres et s’affirmer comme
nouveau standard.
L’IrDA, plus communément appelé infrarouge, est actuellement la technologie
de transmission sans fil la plus répandue. Malgré un coût très bas, l’IrDA présente
deux inconvénients majeurs : un temps de réaction très lent et l’obligation de
maintenir l’émetteur dans le faisceau de réception sans obstacle en chemin.
De ce fait, une seule technologie semble faire l’unanimité chez les différents
fabricants : la transmission par ondes radio, qui ne posséde pas les inconvénients
rencontrés avec la transmission infrarouge et dont les coûts de production ne
cessent de baisser. Deux normes utilisant la technologie de transmission par ondes
radio ont déjé pris un ascendant sur le marché, l’IEEE802.11 et le très médiatique
Bluetooth.

30
Modes de fonctionnement
Les réseaux sans fil fonctionnent essentiellement sous deux modes, le mode
ad hoc et le mode à infrastructure.
Le réseau ad hoc est la méthode la plus simple à mettre en oeuvre pour un
réseau sans fil. Il est créé par une réunion de stations mobiles ou statiques ne pos-
sédant pas d’architecture préexistante. Le routage entre les différents points du
réseaux est donc dynamique.
Cette configuration a le double avantage d’étre facile à déployer et de gagner en
mobilité. Mais deux nœuds du réseau ne peuvent échanger de données que s’ils
sont à portée de réception l’un de l’autre. On peut prendre comme exemple de
réseau ad hoc, un téléphone portable échangeant des données par infrarouge avec
un ordinateur.
Le cas compliqué est celui où deux machines hors de portée l’une de l’autre veu-
lent communiquer. Certains nœud du réseau doivent alors servir de routeur. Dans
l’exemple ci-dessous (figure 2.6, la machine A dont la portée est schématisée par
le cercle bleu, veut communiquer avec la machine C se trouvant hors de son champ
de réception. Pour aboutir, la connexion réseau va donc utiliser la machine B se
trouvant à la fois à portée de réception des machines A et C.

F IG . 2.6 – Réseau Ad Hoc

Ce principe de fonctionnement pose toutefois des problémes de routage, et il


existe actuellement deux types de protocoles standard. Il y a les protocoles proac-
tifs, et les protocoles réactifs :.
– Les protocoles proactifs permettent de stocker toutes les routes identifiées
dans une table de routage transmise à tous les systèmes du réseau. Le prin-
cipal avantage est que les routes sont immédiatement disponibles mais le
trafic généré pour le contrôle et la mise à jour de la table de routage peut
être important et partiellement inutile.
– Les protocoles réactifs ne créent pas de table de routage et réagissent à la
demande en diffusion de requétes, le trafic de contrôle est donc supprimé

31
mais le coût en bande passante est important et la mise en place des routes
nécessitent un délai avant chaque ouverture.
Aussi séduisants soient-ils, les réseaux ad hoc présentent comme inconvénients
majeurs : l’absence d’isolation des liens, des propagations versatiles et des zones
d’interférences étendues.
Les réseaux en mode infrastructure sont contrôlés par des stations de base
appelées point d’accés, gérant l’ensemble des communications au sein d’une
même zone géographique. C’est le même principe de fonctionnement que les télé-
phones GSM.
Les réseaux de petite dimension pourront se contenter d’une seule cellule tandis
que les grandes installations en comprendront plusieurs (figure 2.7). Les points
d’accès de chaque cellule étant interconnectés par un système de distribution
(backbone) en Ethernet ou même sans fil. La circulation d’un système (par ex-
emple ordinateur portable) d’une cellule à une autre est rendue possible grâce au
roaming qui permet de ne pas fermer la connexion, la transition sera dans ce cas
opérée entre la transmission de deux paquets.

F IG . 2.7 – Réseau cellulaire

Le principal avantage de l’utilisation du réseau cellulaire et d’utiliser un min-


imum de fréquences, la même fréquence pouvant être utilisée par plusieurs sys-
tèmes à condition qu’ils soient chacun dans une cellule différente.

32
Le Bluetooth
Norme définie par l’IEEE 802.15.1 et dont le groupe d’intérét est le SIG (Blue-
tooth Special Interest Group), le Bluetooth a pour objectif d’unir l’ensemble des
constructeurs autour de cette norme sans fil. Le SIG a été initié par le suédois Er-
icsson, très vite rejoint par, entre autres, 3Com, IBM, Intel, Microsoft, Motorola
Nokia, Toshiba... L’ensemble de la technologie Bluetooth est intégré dans une
puce qui coûte quelques francs, et ce prix baisse de plus en plus. Cette baisse
des tarifs étant nécessaire pour imposer la technologie auprés des fabricants de
produits finaux pour ensuite imposer la norme auprés du consommateur.
La norme Bluetooth 1.0 s’appuie sur une transmission radio utilisant la bande
de fréquence 2,45GHz. Son principe de fonctionnement est en mode point to mul-
tipoint, c’est-à-dire qu’un système maître peut communiquer avec plusieurs sys-
tèmes esclaves contrairement aux transmissions infrarouges qui ne permettent que
la transmission de point à point. L’avantage pour la téléphonie mobile et les PDA
se fait tout de suite ressentir.
Les systèmes d’un réseau Bluetooth sont regroupées en sous réseaux appelés
picoréseaux. Dans chaque picoréseau un système maître peut accueillir jusqu’é
7 systèmes esclaves soit un maximum de 8 appareils actifs. Ce réseau peut être
agrandi en faisant communiquer jusqu’é 10 picoréseaux soit 72 systèmes actifs.
Car dans chaque picoréseau, un appareil devra être à la fois maître de son pi-
coréseau et esclave d’un autre afin d’assurer la liaison entre les picoréseaux.
Le débit autorisé par la norme Bluetooth est de 1 Mbps, cette vitesse variant
suivant le protocole. Dans le cas d’un échange bidirectionnel des données (liaison
synchrone) le transfert des données théorique s’effectuera à 432 Kbps dans les
deux sens tandis que lors d’une liaison asynchrone, le débit théorique sera de 720
Kbps dans un sens et de 57,6 Kbps dans l’autre. à savoir que le débit effectif
est toujours bien en decé du débit théorique. Ces limitations ne permettent pas
une utilisation pour les réseaux de PC à PC. Toutefois elle sera très utile dans
le transfert de fichiers à partir d’un PDA ou bien de tout périphériques vers un
téléphone portable pour transférer un fichier via Internet.
Outre son débit limité, l’autre inconvénient de cette technologie est sa portée.
Si la portée théorique affichée par les constructeurs est de 50 métres, la portée
effective n’est en réalité que de 10 métres, limitant donc bien son utilisation dans
des micro réseaux. Cette portée peut étreétendue à 100 métres si le signal est am-
plifié, mais à un coût final plus grand.
Le Bluetooth peut provoquer également d’autres inconvénients bien plus embé-
tants. En effet il peut arriver que deux appareils produits par des fabricants dif-
férents ne puissent communiquer entre eux. Ce probléme d’incompatibilité sera
cependant résolu avec la norme Bluetooth 1.1 avec une mise à jour du firmware
obligatoire pour les appareils en version 1.0 ou 1.0b.

33
La norme Bluetooth 2 encore en cours de développement devrait résoudre une
grande partie de ces inconvénients puisque cette technologie permettra un transfert
théorique de 10 Mbps avec une portée de 100 métres.

l’IEEE 802.11
L’IEEE 802.11 est une norme finalisée en 1998. L’IEEE 802.11b, créée en
1999 est également appelée Wi-Fi. C’est la déclinaison la plus utilisée actuelle-
ment dans le milieu informatique.
Comme la technologie Bluetooth, l’IEEE 802.11b utilise la technologie radio dans
une gamme de fréquence de 2,4GHz. Par contre la portée théorique est de 100
métres en extérieur (50 métres en intérieur), ce qui est représente déjé un avantage
conséquent par rapport au Bluetooth.
Un réseau IEEE 802.11b fonctionne aussi bien en mode cellulaire (chaque
cellule est contrôlée par un point d’accés) qu’en mode ad hoc (les stations com-
muniquent entre elles sans point d’accés). Son architecture est donc bien adaptée à
l’utilisation pour un réseau local de petite ou grande envergure, raison pour laque-
lle la plupart des constructeurs proposent toute une gamme de produits réseaux
allant de la carte réseau PCI au routeur utilisant cette norme. L’un des points
qui ont permis au Wi-Fi de s’imposer est son débit de 11Mbps égal à celui d’un
réseau de type Ethernet. L’IEEE 802.11a, avec son débit de 54 Mbps est encore
plus avantageuse.
Sur le plan de la sécurité, l’IEEE 802.11b évolue sur une plage de 79 fréquences.
Il utilise un protocole de cryptage des données par une clé de 128 bits. Ce pro-
tocole de sécurité développé par le comité de 802.11 s’appelle le WEP (Wired
Equivalent Privacy). Il s’agit plus précisément d’un algorythme générant des nom-
bres pseudos aléatoires initialisé par une clé secréte dont chaque station connectée
au réseau devra se servir pour s’authentifier.
Si l’on prend en compte tous les avantages proposés par la norme IEEE 802.11b
qui sont la facilité de mise en oeuvre, la portée et le débit, on est en droit de penser
que nous sommes lé en possession de l’avenir du réseau local.

2.3.3 L’ADSL
Le rapide développement des technologies de l’information a fait apparaître
de nouveaux services gourmands en capacité de transmission. L’accès rapide à
Internet, la visioconférence, l’interconnexion des réseaux, le télétravail, la distri-
bution de programmes TV, etc font parties de ces nouveaux services multimédia
que l’usager désire obtenir à domicile ou au bureau.
Jusqu’é présent les services à hauts débits existant (câble coaxial, fibre optique)
n’étaient pas bien adaptés aux besoins réels (câblage trop cher à remplacer par de

34
la fibre optique ou connexion peu stable en câble coaxial). L’idée d’utiliser la paire
torsadée semble la mieux adaptée puisque dans le monde plus de 800 millions de
connexions de ce type sont déjé en place et qu’il suffit d’ajouter un équipement au
central téléphonique ainsi qu’une petite installation chez l’utilisateur pour pouvoir
accéder à l’ADSL (figure 2.8).

Modem ADSL Routeur

Internet
PC

Voix RTC

Téléphone Filtre ADSL

F IG . 2.8 – Connexion à Internet via ADSL

Le terme DSL ou xDSL signifie Digital Subscriber Line (Ligne numérique


d’abonné) et regroupe l’ensemble des technologies mises en place pour un trans-
port numérique de l’information sur une simple ligne de raccordement téléphonique.
Les technologies xDSL sont divisées en deux grandes familles, celle utilisant une
transmission symétrique et celle utilisant une transmission asymétrique.
Le terme ADSL signifie Asymmetric Digital Subscriber Line. Ce système permet
de faire coexister sur une même ligne un canal descendant (downstream) de haut
débit, un canal montant (upstream) moyen débit ainsi qu’un canal de téléphonie
(appelé POTS - Plain Old Telephone Service - en télécommunication).
Dans les solutions symétriques (HDSL-High bit rate DSL, SDSL-symmetric
DSL), la connexion s’effectue au travers de paires torsadées avec un débit iden-
tique en flux montant comme en flux descendant.
Les solutions asymétriques partent du constat qu’il était possible de transmettre
les données plus rapidement d’un central vers un utilisateur mais que lorsque l’u-
tilisateur envoie des informations vers le central, ceux-ci sont plus sensibles aux
bruits causés par des perturbations électromagnétiques (plus on se rapproche du
central, plus la concentration de câble augmente ; donc ces derniers générent plus
de diaphonie). L’idée est donc d’utiliser un système asymétrique, en imposant un
débit plus faible de l’abonné vers le central.
Le standard ADSL a été finalisé en 1995 et prévoit :
– Un canal téléphonique avec raccordement analogique ou RNIS
– Un canal montant avec une capacité maximale de 800 kbits/s
– Un canal descendant avec un débit maximal de 8192 kbits/s

35
La distance de boucle entre le central et l’utilisateur ne doit pas dépasser cer-
taines échelles afin de garantir un bon débit des données (voir tableau 2.9).

Downstream(Kbit/s) Upstream(Kbit/s) diamétre du fil(mm) Distance(km)


2048 160 0.4 3.6
2048 160 0.5 4.9
4096 384 0.4 3.3
4096 384 0.5 4.3
6144 640 0.4 3.0
6144 640 0.5 4.0
8192 800 0.4 2.4
8192 800 0.5 3.3
F IG . 2.9 – Débits en fonction de la distance et du diamétre du câble

Transmission des données


De maniére théorique, cette technologie offre un débit maximal descendant
(d’Internet vers l’abonné) de 8,2 M bit/sec et un débit maximal montant (de
l’abonné vers Internet) de 640 K bit/sec. D’un point de vue technique ADSL fonc-
tionne en full duplex grâce à un multiplexage fréquentiel, permettant de faire tran-
siter simultanément les signaux montant et descendant accompagnés également
des signaux portant la voix téléphonique. La figure 2.10 illustre ce multiplexage
dans le cas où les fréquences pour les voies montantes et descendantes ont été
clairement séparées. Pour gagner encore en largeur de bande, et donc en débit, on
peut envisager de rapprocher les deux espaces de fréquences, mais il faut alors
annuler les perturbations (phénoméne d’écho) que subissent les signaux montant
et descendant émis simultanément.

F IG . 2.10 – Multiplexage fréquentiel utilisé dans l’ADSL

Les services téléphoniques traditionnels nécessitent une largeur de bande de

36
3,1 kHz (la bande passante comprise entre 300Hz et 3400Hz), or les câbles re-
liant les centraux téléphoniques aux utilisateurs possédent tous une bande passante
supérieure, de l’ordre de plusieurs centaines de kHz. C’est sur ce réseau d’accès
câblé que ce sont développées les techniques xDSL.
Les différents signaux sont transmis selon la technologie DMT (Discrete Mul-
tiTone) qui divise la totalité de la bande passante en 256 sous-canaux d’une largeur
de 4,3 kHz. Ainsi, le 1er canal est réservé à la téléphonie. Les canaux 2 à 6 servent
à séparer la voix des données numériques. Le flux montant occupe les 32 canaux
suivants et le flux descendant tous les canaux restant, dans le cas où aucune zone
de fréquence ne sépare les deux sens de communication et que l’annulation d’é-
cho est en place. Le fait que la largeur de bande montante soit plus faible que la
descendante explique le terme asymétrique dans la dénomination ADSL. De plus,
certains sous-canaux sont utilisés pour la gestion de la transmission.
Chacun des sous-canaux est modulé indépendamment en utilisant la technique
du QAM (Quadrature amplitude modulation), qui est une méthode de modulation
d’amplitude de deux porteuses en quadrature (4 niveaux d’amplitude). Avant tout
transfert de données, une procédure de négociation (handshake) est mise en place
pour mesurer la qualité de la transmission et l’adapter en fonction de la ligne. On
appelle cette technique rate adaptative, car elle est capable de diminuer le débit si
la qualité de la transmission se dégrade.

Modems, routeurs et filtres ADSL


On a vu à la section précédante comment les données sont renvoyées vers
l’utilisateur. Mais maintenant il faut bien que celui-ci décode les données, c’est
le rôle du modem. Il existe à l’heure actuelle trois type de modems suivant les
besoins de l’utilisateur :
– Avec interface 10/100 baseT, pour les PC équipés de carte Ethernet
– ATMD 25 pour les PC équipés de carte ATM ou pour redistribuer ADSL
sur un réseau ATM
– Avec interface USB, pour les PC équipés d’interface USB
Si l’utilisateur veut redistribuer ADSL sur son réseau informatique, celui-ci
préférera l’utilisation d’un routeur avec interface ADSL.
Le filtre est un équipement d’aiguillage qui sépare la bande passante réservée
au service téléphonique de la bande passante utilisée pour la transmission ADSL.
Il assure un découplage suffisant pour éviter que les signaux émis sur l’une des
bandes de fréquences ne vienne perturber le fonctionnement de l’autre. Si l’util-
isateur a une connexion analogique traditionnelle, il a besoin d’installer un filtre
avant chaque appareil téléphonique.

37
2.4 Le niveau liaison de données
Le niveau liaison met en œuvre des algorithmes pour réaliser une communica-
tion fiable et efficace entre deux machines physiquement connectées. La couche
liaison a pour rôle principal de fournir des services à la couche réseau. Ondis-
tingue plusieurs types de services :
Service orienté connexion ou sans connexion :
Les trames : Le flot de bits à transmettre sur le support physique est organisé en
trames. Le but de la mise en trames est de pouvir organiser la détection et la
correction d’erreurs lors de la transmission. Deux trames consécutives sont
séparées par du vide. Devant la difficulté de détecter la transmission de vide
d’autres méthodes de séparation de trames existent, comme le comptage de
caractéres, l’ajout de caractéres spéciaux en début et en fin de trame . . .
Contréle d’erreurs : On peut utiliser des acquittements (négatifs ou positifs)
pour signifier l’arrivée des trames chez le récepteur, ou introduire des tem-
porisateurs pour empécher une attente indéfinie de l’acquittement.
Contréle de flux : Le contrôle de flux consiste à gérer la transmission entre e=un
expéditeur rapide et un récepteur lent.

2.4.1 Détection et correction d’erreurs


Les erreurs de transmission sont très présentes dans les transmissions analogiques
et dans les réseaux sans fil. Ces erreurs peuvent survenir par bloc ou une parci une
par lé. L’inconvénient des rafales d’erreurs est qu’elles sont difficiles à détecter.

Codes correcteurs
Les codes correcteurs consistent à rajouter de la redondance à l’information à
transmettre. Ces codes visent plusieurs objectifs :
– permettre au récepteur de se rendre compte qu’il y erreur.
– permettre de localiser l’erreur.
Une trame est normalement constitutée de m bits d’information et de r bits de
contréle, soit n = m + r bits appelé mot de code. La distance de Hamming d’un
code est le nombre minimum de bits différents entre deux mots de code quelcon-
ques. En pratique, toutes les 2m combinaisons de bits sont utilisées pour représen-
ter l’information à transmettre, mais pas toutes les 2n . Les r bits de contrôle sont
fonction des m bits d’information.
La propriété de détection et de correction d’un code dépend de sa distance de
Hamming. Un code de distance d + 1 permet de détecter d erreurs de transmis-
sion.

38
Le code de Hamming est un exemple de code correcteur, capable de détecter
et corriger une erreur de transmission. Les bits du mot de code sont numérotés à
partir du bit 1 à gauche. Les bits dont les numéros sont des puissances de 2 sont
des bits de contréle, les autres sont les m bits de l’information à transmettre. Cha-
cune des m positions des bits d’information est écrite sous la forme d’une somme
de puissances de 2, et est contrélée par les bits de contrôle qui apparaissent dans
cette somme. Chaque bit de contrôle contréle ainsi plusieurs positions, et sa valeur
est fixée de façon à obtenir une parité paire (ou impaire selon la convention) sur
l’ensemble (bit de contrôle + bits contrélés).
Soit à transmettre les caractéres ascii 7 bits. On a 7 bits d’information aux posi-
tions 3, 5, 6, 7, 9, 10 et 11, et donc 4 bits de contrôle aux positions 1, 2, 4 et 8. Du
caractére H (ascii 1001000) par exemple, on aura le mot de code 00110010000.

Codes détecteurs
Les codes correcteurs sont complexes et nécessitent un pourcentage élevé de
bits superflus. Ils sont néanmoins utiles lorsque la transmission est par exemple
simplex, car le récepteur ne peut pas acquiter les trames, et la retransmission n’est
pas possible.
Il est souvent préférable de juste détecter l’erreur et de la corriger par une retrans-
mission de la trame.
Une façon simple est l’ajout d’un bit de parité à l’information à transmet-
tre. Pour augmenter la faculté de détection, on peut organiser l’information sous
forme d’une matrice de bits. Un bit de parité est ajouté à chaque ligne et à chaque
colonne.
Mais en pratique on utilise beaucoup plus les codes à redondance cyclique
(CRC). On ajoute des bits qui sont des combinaisons linéaires des bits de l’in-
formation à transmettre. La suite de bits à transmettre u1 , u2 , ..., uk est considérée
comme un polynôme M (x) = u1 xk1 + u2 xk2 + ... + uk . Par exemple 1101011011
est représenté par x9 + x8 + x6 + x4 + x3 + x + 1 .
A l’émission, on calcule la division du polynôme M multiplié par xr par le polynôme
générateur G de degré r. On appelle Q le polynôme quotient et R le polynôme
reste de cette division, on a donc : xr M (x) = Q(x).G(x) + R(x).
La suite de bits correspondant au polynôme R constitue le CRC qui est ajouté à
l’information é transmettre, le polynôme total émis est donc E(x) = xr M (x) +
R(x). Par exemple, à l’aide du polynôme générateur G(x) = x4 + x + 1, la suite
1101011011 sera transmise accompagnée du CRC 1110 car
x4 .M (x) = x13 + x12 + x10 + x8 + x7 + x5 + x4
= (x9 + x8 + x3 + x)(x4 + x + 1) + x3 + x2 + x.
A la réception, on divise le polynôme M 0 correspondant à la suite totale de bits
reçus (information+CRC) par le polynôme générateur. Si le reste calculé est non

39
nul, c’est qu’une erreur s’est produite dans la transmission. Si le reste est nul, on
est à peu prés sér que la transmission s’est faite sans erreur.
Pourquoi cela fonctionne-t-il ? Il est évident que xr M (x) − R(x) est divisible
par G(x), mais en arithmétique modulo 2, addition et soustraction sont équiva-
lentes (ce sont des OU exclusifs en fait) donc on a également E(x) = xr M (x) +
R(x) = G(x)Q(x), montrant que E est un polynôme multiple de G. Si lors de
la transmission des erreurs se sont produites, cela se traduit par le fait que le
polynôme reéu M 0 (x) = E(x) + T (x), T étant le polynôme correspondant aux
erreurs (T (x) = xi si le iéme bit a été inversé).
A la réception le décodeur calcule le reste de E(x)+T
G(x)
(x)
qui est en fait le reste de
T (x)
G(x)
puisque E est un multiple de G. Si ce résultat est non nul, c’est que T est non
nul et que des erreurs se sont produites.
Le résultat est également nul si T est un multiple de G ce qui masque des erreurs,
mais le choix judicieux de G permet de minimiser ces erreurs non détectées.
Enfin, il faut aussi remarquer un inconvénient de cette méthode qui signale des
erreurs de transmission même si celles-ci ont eu lieu dans le CRC et non dans
l’information à transmettre initialement. Dans ce cas il ne devrait pas être néces-
saire de retransmettre l’information, or c’est ce qui est fait puisque globalement le
transfert (info+CRC) a subi des perturbations.

2.4.2 Protocoles
Le rôle d’un protocole de liaison de données est évidemment de fixer comment
doivent être réalisées les différentes tâches qui incombent à la couche liaison de
l’architecture. Dans certains cas le protocole de liaison est intégré à l’interface
réseau, et s’exécute dans le contréleur. Nous avons vu en section 2.3.1 comment
était organisé l’échange dans le cas de l’Ethernet. Nous allons maintenant étudier
les protocoles HDLC utilisé comme protocole da liaison sur X.25, SLIP et PPP qui
sont des standards largement utilisés sur l’Internet, pour la connexion d’abonnés
privés.

HDLC
HDLC (High Data Link Control) est un protocole orienté bit. La structure de
la trame est a suivante (figure 2.11) :
– Le champ control est utilisé pour les numéros de séquence et d’acquitte-
ment, et aussi pour indiquer le typ de la trame : supervision, information ou
non numérotée.
– Le champ address est surtout important sur des lines à plusieurs terminaux.
– Le champ data contient l’information (quand il existe).

40
01111110 Address Control Data Checksum 01111110
Bits 8 8 8 >=0 16 8

F IG . 2.11 – Trame HDLC

– Le champ checksum est une somme de contrôle calculée par la méthode


CRC.
Le protocole permet d’envoyer jusqu’é 7 trames sans acquittement.

SLIP
SLIP (Serial Line IP) est le plus ancien protocole qui permet de connecter
des abonnés privés à l’Internet à travers un modem et une ligne série. La station
envoie des paquets IP sur la ligne en utilisant un octet spécial pour la mise en
trames. SLIP a été supplanté par PPP à cause de certaines limitations :
– Il ne gére pas les erreurs
– il ne supporte que le protocole IP
– les deux machines en communication doivent connaétre leur adresse IP à
l’avance
– ne permet pas de gérer l’authentification

PPP
PPP (Point-to-Point Protocol) est une amélioration de SLIP. Il est aussi utilisé
pour l’interconnexion des roputeurs sur l’Internet. PPP procure quelques avancées :
– la mise en trame non ambigée, avec détection d’erreurs
– le contrôle de la liaison : établissement, négociation, terminaison
– Négociation des options réseau, comme par exemple l’assignation dynamique
d’adresses IP, très utilisée par le fournisseurs d’accès Internet pour les util-
isateurs privés qui se connectent par intermittence.
La trame PPP a la structure ci-dessous (figure 2.12). Toutes les trames PPP débu-

Bytes 1 1 1 1 or 2 variable 2 or 4 1
Flag Address Control Flag
Protocol Payload Checksum
01111110 11111111 00000011 01111110

F IG . 2.12 – Trame PPP

41
tent avec le caractére spécial (HDLC) 01111110. Ensuite viennent les autres champs.
Nous expliqunons les valeurs par défaut ci-dessous :
– Le champ adresse est toujours à 11111111 (diffusion totale) pour indiquer
que n’importe quelle station peut récupérer la trame. Ceci évite de gérer des
adresse de liaison étant donnée que la liaison connecte deux équipement par
une ligne physique.
– Un champ contrôle à 00000011 indique une trame non numérotée (par
défaut). Dans un environnement perturbé il est possible de numéroter les
trames et donc de gérer les erreurs.
– Le champ protole permet de définir le protoole dont les données sont en-
capsulées. Les protocoles possibles sont LCP pour le contrôle de la liaison,
NCP pour la négociation des options réseau, IP pour le transport de data-
grammes IP, et d’autres.

42
Chapitre 3

La couche réseau

3.1 Services offerts


La couche réseau a pour objectif de transporter les paquets de la source à la
destination, si possible en traversant plusieurs routeurs. La couche réseau offre un
service de remise de paquets d’une machine à une autre à la couche transport.

3.1.1 Service datagramme


Dans le service datagramme, le réseau se contente de remettre les datagrammes
d’une machine émettrice vers une machine réceptrice. Les différents datagrammes
peuvent être routés différemment par le réseau. Ce service ne garantit aucun ordre
pour l’arrivée des datagrammes. Il n’est pas non plus garanti que tous les data-
grammes arrivent.
Le service datagramme est généralement choisi lorsque
1. les machines hôtes peuvent implémenter des protocoles de fiabilité indépen-
dants du réseau
2. les applications ont de grands besoins en rapidité, plutôt qu’en fiabilité
3. l’investissement pour les équipements de transmission est vu sur du long
terme
4. on a besoin de simplifier les protocoles

3.1.2 Service circuit virtuel


Avant d’envoyer les données le protocole de réseau établit d’abord une con-
nexion avec le récepteur. Un chemin est établi (circuit) le long du réseau, et tous
les paquets suivront ce chemin de l’origine à la destination. A la fin de la commu-
nication, le circuit virtuel et la connexion sont fermés.

43
La mise en œuvre d’un schéma de circuit virtuelest motivée par le souci de
ne pas écrire des protocoles de transport complexs, ou le profit qu’en tirent les
applications temps-réel.

3.1.3 Routage
Le routage est la fonction principale de la couche réseau. Dans le cas général,
un paquet traverse plusieurs segments de son origine à sa destination. L’algorithme
de routage est le logiciel qui décide à chaque étape du chemin à emprunter par le
paquet pour atteindre sa destination finale.
Un bon algorithme de routage doit vérifier certaines propriétés :
– correct : la route adoptée doit permettre effectivement d’atteindre la desti-
nation.
– simple : le calcul de la route à emprunter à un saut particulier ne doit pas
nécessité beaucoup de temps de calcul.
– robuste : il doit résister aux changements sur la toplogie du réseau.
– stable :
– équitable : les routeurs doivent être utilisés de façon équilibrée
– optimal : il doit choisir à chaque moment la route la moins coûteuse
Les algorithmes de routage peuvent être groupés en deux catégories, le routage
statique ou non adaptatif et le routage adaptatif ou dynamique.

3.1.4 Le contrôle de congestion


La congestion est la situation où il y a trop de paquets dans (une partie)
du réseau. Il en résulte une dégradation des performances. La congestion est
généralement due aux factuers suivants :
– Plusieurs paquets arrivent de plusieurs ports sur un routeur, et tous veulent
sortir par un même port de sortie.
– Processeurs lents. Ceux-ci n’arrivent pas à traiter rapidement les paquets à
leur charge.
– Auto-alimentation. Le réseau génère lui-même du trafic en plus du trafic
utile. C’est souvent le cas des protocoles de fiabilisation, qui retransmettent
les paquets lorsqu’ils jugent que ces derniers sont perdus ou erronés.
Les principes de contrôle de congestion se répartissent en deux catégories :
Contrôle en boucle ouverte : On essaie de faire le contrôle par une meilleure
conception du réseau et de son fonctionnement. Le protocole doit alors dé-
cider de :
– quand accepter du nouveau trafic
– quand et quels paquets détruire

44
– comment ordonnancer les évènements
Contrôle en boucle fermée : Ces politiques sont fondées sur les concepts de feed-
back :
– contrôler le système et détecter les cas de congestion
– informer les nœuds concernés
– ajuster le straitements pour résoudre le problème

3.2 L’Internet
L’Internet est née dans le but d’interconnecter des réseaux différents (internet-
working). Ce nom désigne ce système d’interconnexion, où les différents réseaux
apparaissent comme un unique environnement de communication homogéne. Les
protocoles TCP/IP apparus ces 20 derniéres années permettent d’atteindre cet ob-
jectif.
L’Internet est en réalité une fédération de tous les réseaux interconnectés à
travers le monde. La couche réseau est le lien entre ces réseaux, et le protocole
IP spécifie son fonctionnement. IP a pour rôle de transporter les datagrammes de
la source à la destination, en s’arrageant au mieux. Les datagrammes peuvent être
fragmentés au besoin par les routeurs traversés.

3.2.1 Historique
Les travaux de l’ARPA (Advanced Research Project Agency, aux USA) débutèrent
au milieu des années 70 et avaient pour but de développer un réseau à commuta-
tion de paquets pour relier ses centres de recherches dans le but de partager des
équipements informatiques et échanger des données et du courrier. Le but était de
concevoir un réseau résistant à des attaques militaires. Il ne fallait donc pas qu’il
comporte de points névralgiques dont la destruction aurait entraîné l’arrêt complet
du réseau.
C’est ainsi, que dés le départ le réseau ARPANET fut conçu sans nœud parti-
culier le dirigeant, et de telle sorte que si une voie de communication venait
à être détruite, alors le réseau soit capable d’acheminer les informations par un
autre chemin. C’est vers 1980 qu’est apparu le réseau Internet, tel qu’on le con-
naît maintenant, lorsque l’ARPA commença à faire évoluer les ordinateurs de ses
réseaux de recherche vers les nouveaux protocoles TCP/IP et qu’elle se mit à sub-
ventionner l’université de Berkeley pour qu’elle intègre TCP/IP à son système d’-
exploitation Unix (BSD). Ainsi la quasi-totalité des départements d’informatique
des universités américaines commencèrent à se doter de réseaux locaux qui en
quelques années seront interconnectés entre eux sous l’impulsion de la NSF (Na-
tional Science Foundation). Même si dès son origine Internet comprenait des so-

45
ciétés privées, celles-ci étaient plus ou moins liées à la recherche et au développe-
ment, alors qu’à l’heure actuelle les activités commerciales s’y sont considérable-
ment multipliées, et ceci surtout depuis l’arrivée du web en 1993. L’ouverture à
l’Internet mondial (à l’époque presque exclusivement nord-américain) eut lieu en
1988.

3.2.2 Organisation administrative


Comme l’ensemble des protocoles TCP/IP n’est pas issu d’un constructeur
unique, mais émane de la collaboration de milliers de personnes à travers le monde,
une structure de fonctionnement originale a été imaginée dès le début. Après des
évolutions successives, c’est maintenant l’IAB (Internet Architecture Board) qui
est le comité chargé de coordonner l’architecture, les orientations, la gestion et le
fonctionnement d’Internet. L’IAB comporte deux branches principales :
– l’IETF (Internet Engineering Task Force, www.ietf.org) s’occupe des prob-
lèmes techniques à court et moyen terme et est divisé en 9 zones (applica-
tions, sécurité, routage et adressage, etc...), chacune dotée d’un responsable.
– l’IRTF (Internet Research Task Force, www.irtf.org) coordonne les activités
de recherche relatives à TCP/IP.
Par ailleurs, il existe l’ISOC (The Internet Society ) qui est liée à l’IAB et qui
aide ceux qui souhaitent s’intégrer à la communauté d’Internet. De nombreux ren-
seignements sur le fonctionnement et les organismes liés à Internet sont disponibles
sur le web de l’ISOC (www.isoc.org).
Aucun constructeur, ou éditeur de logiciel, ne peut s’approprier la technique
TCP/IP, les documentations techniques sont donc mises à disposition de tous
par l’INTERNIC (Internet Network Information Center à partir de son site web
ds.internic.net/ds/dspg1intdoc.html). Les documents relatifs aux travaux sur Inter-
net, les nouvelles propositions de définition ainsi que les modifications de proto-
coles, tous les standards TCP/IP, y sont publiés sous la forme de RFC (Request For
Comments, appels à commentaires). Toutes les RFC sont publiés par un membre
de l’IAB et sont numérotés séquentiellement, une proposition de RFC s’appelle un
Internet Draft qui sera discuté, modifié, et enfin adopté ou rejeté par les membres
du domaine concerné par la note technique.

3.2.3 Architecture
Les logiciels TCP/IP sont structurés en quatre couches de protocoles qui s’ap-
puient sur une couche matérielle comme illustré dans la figure 3.1.
La couche de liens (accès au sous réseau réel de transport sur la figure) a pour
rôle d’adapter le réseau Internet au réseau de transport utilisé par la machine. Elle

46
Couches

HTTP FTP SMTP DNS Application


Protocoles

TCP UDP Transport

IP ARP, ICMP, RARP Réseau


Réseaux

SLIP PPP Ethernet Pysique +


Liaison
(ATM, X25, LAN, ...)

F IG . 3.1 – Architecture des protocles TCP/IP

est constituée d’un pilote réseau intégré au système d’exploitation, et d’une carte
d’interface de l’ordinateur avec le réseau.
La couche réseau ou couche IP (Internet Protocol) est celle qui fédère tous ces
réseaux. Le protocole IP spécifie son fonctionnement, il a pour rôle de transporter
les datagrammes de la machine source à la machine destination, en s’arrangeant
au mieux des possibilités du moment. Les datagrammes peuvent être fragmentés
au besoin. Elle comprend aussi les protocoles ICMP (Internet Control Message
Protocol) et IGMP (Internet Group Management Protocol)
Au dessus de la couche réseau se trouve la couche transport. Elle est destinée
à offrir les moyens entre deux entités sur les machines source et destination d’en-
tretenir une communication. Elle assure donc un transport de messages de bout
en bout, en faisant abstraction des machines intermédiaires entre l’émetteur et le
destinataire. Elle est constituée de deux protocoles :
– TCP (Transmission Control Protocol) qui s’occupe aussi de réguler le flux
de données et assure un transport fiable (données transmises sans erreur et
reçues dans l’ordre de leur émission)
– UDP (User Datagram Protocol) qui offre un moyen non fiable aux applica-
tions de confier des datagrammes au réseau.
Le modèle TCP/IP ne possède pas de couche session ni présentation. La couche
application est donc immédiatement au dessus de la couche transport. Elle con-
tient tous les protocoles de haut niveau. Cela comprend
– l’application de terminal virtuel (TELNET)
– l’application de transfert de fichiers (FTP)
– le courrier électronique (SMTP)
– le web (HTTP)
– le service d’annuaire (DNS)
– ...

47
0 3 4 78 15 16 31
Longueur
Version Type de service Longueur totale

En−tete minimum, 20 octets


en−tete
DM
Identification Offset
FF

Durée de vie (TTL) Protocole Somme de controle

Adresses IP source
Adresse IP destination

Options éventuelles Bourrage

Données

F IG . 3.2 – Structure d’un datagramme IP

3.3 Le protocole IP
Au niveau réseau, l’Internet peut être perçu comme une fédération de sous
réseaux ou système autonomes connectés ensemble. Il n’y a pas de structure à pro-
prement parler, le protocole IP a pour objectif de masquer les réseaux physiques
traversés. C’est un protocole réseau allégé en mode datagramme, qui s’adapte aux
capacités de chaque réseau physique traversé dans l’acheminement des paquets.

3.3.1 Datagramme IP
Un datagramme IP est une structure de données contenant un ent-tête et des
données (remises par le niveau transport). L’en-tête spécifie le couple (adresse IP
du destinataire, adresse IP de l’émetteur) afin de permettre au protocole de routage
de router la trame correctement et à la machine destinataire de connaître l’origine
des informations qu’elle reçoit. Cette en-tête a la structure de la figure 3.2.
– La version code sur 4 bits le numéro de version du protocole IP utilisé (la
version courante est la 4, d’où son nom d’IPv4).
– La longueur d’en-tête représente sur 4 bits la longueur, en nombre de mots
de 32 bits, de l’en-tête du datagramme. Ce champ est nécessaire car une
en-tête peut avoir une taille supérieure à 20 octets à cause des options que
l’on peut y ajouter.
– Le type de service (TOS) est codé sur 8 bits, indique la maniére dont doit
être géré le datagramme
– La longueur totale contient la taille totale en octets du datagramme. Ce
champ est de 2 octets on en déduit que la taille complète d’un datagramme

48
ne peut dépasser 65535 octets. Utilisée avec la longueur de l’en-tête elle
permet de déterminer où se trouvent exactement les données transportées.
– Les champs identification, drapeaux et offset interviennent dans le proces-
sus de fragmentation des datagrammes IP dont on parlera plus bas.
– La durée de vie (TTL) indique le nombre maximal de routeurs que peut tra-
verser le datagramme. Elle est initialisée à un nombre N (souvent 32 ou 64)
par la station émettrice et décrémentée de 1 par chaque routeur qui le reçoit
et le réexpédie. Lorsqu’un routeur reçoit un datagramme dont la durée de
vie est nulle, il le détruit et envoie à l’expéditeur un message ICMP. Ainsi,
il est impossible qu’un datagramme tourne indéfiniment dans le réseau.
– Le champ protocole permet de coder quel protocole de plus haut niveau a
requis le service de IP. Les valeurs sont 1 pour ICMP, 2 pour IGMP, 6 pour
TCP et 17 pour UDP. Ainsi, la station destinataire qui reçoit un datagramme
IP pourra diriger les données qu’il contient vers le protocole adéquat.
– La somme de contrôle d’en-tête (header checksum) est calculée à partir de
l’en-tête du datagramme pour en assurer l’intégrité. L’intégrité des données
transportées est elle assurée par les protocoles demandeurs.
– Les adresses IP source et destination contiennent sur 32 bits les adresses de
la machine émettrice et destinataire finale du datagramme.
– Le champ options est une liste de longueur variable, mais toujours com-
plétée par des bits de bourrage pour atteindre une taille multiple de 32 bits
pour être en conformité avec la convention qui définit le champ longueur
de l’en-tête. Les options peuvent être security, strict source routing, loose
source routing, record route ou timestamp.

3.3.2 Adressage
Chaque machine raccordée à l’Internet (routeur ou système terminal) est iden-
tentifiée par un numéro unique appelé adresse IP. Cette adresse est différente de
l’adresse qui connecte la machine à son réseau local (appelée adresse matérielle).
Un composant doit posséder au moins une adresse IP pour être accessible.
Une adresse IP est un entier sur 4 octets (32 bits), pour ce qui est de la version
4 actuellement en vigueur. Mais la façon usuelle de la représenter est la forme
décimale pointée w.x.y.z, où w, x, y et z sont quatre nombres décimaux allant
de 0 à 255. Par exemple 195.24.195.185. Internet étant une fédération de réseaux,
une adresse peut être vue de quatre façons différentes :
– La machine d’adresse w.x.y.z
– La machine d’adresse x.y.z du réseau w.0.0.0
– La machine d’adresse y.z du réseau w.x.0.0
– La machine d’adresse z du réseau w.x.y.0

49
Classe Valeur de w adresse de réseau nombre de machines
A de 0 à 127 1 octet 224 = 16777216
B de 128 à 191 2 octets 216 = 65536
C de 192 à 223 3 octets 28 = 256
D de 224 à 239 Adresses de multicast
E de 240 à 255 Réservés

F IG . 3.3 – Classification des adresse IP

Cette décomposition en adresse de réseau et d’hôte se fait selon une logique de


classe de réseaux. Le tableau de la figure 3.3 récapitule cette classification.

Adresses IP spéciales
– L’adresse 127.0.0.1 dénote l’adresse de bouclage (la machine elle-même).
– L’adresse 0.0.0.0 est illégale en tant qu’adresse de destination, mais elle
peut être utilisée localement dans une application pour indiquer n’importe
quelle interface réseau.
– Les autres adresses dans le réseau 127.0.0.0 sont considérées comme lo-
cales, de même que celles du réseau 0.0.0.0.
– L’adresse spéciale 255.255.255.255 est une adresse de diffusion.
– La première adresse d’un réseau spécifie le réseau lui-même, la derni‘’ere
est une adresse de diffusion (broadcast).
Les adresses suivantes ne sont pas (ou tout du moins ne devraient pas être)
routées sur Internet : elles sont réservées à un usage local (au sein d’une organisa-
tion, où elles peuvent être routées).
– 10.0.0.0 à 10.255.255.255
– 172.16.0.0 à 172.31.255.255
– 192.168.0.0 à 192.168.255.255
De plus les adresses suivantes ne devraientt pas être routées sur Internet, ni
même de façon privée au delà d’un même segment de liaison, où ces adresses sont
utilisables uniquement comme adresses de configuration automatique par défaut
des interfaces d’hôtes (en cas d’absence de configuration manuelle explicite et de
non-détection d’autres systèmes de configuration comme DHCP) : 169.254.0.0 à
169.254.255.255.

3.3.3 Principe du CIDR


Selon le principe d’adressage ci-dessus, tous les hôtes d’un même réseau doivent
avoir la même adresse de réseau. Cela a conduit à une pénurie des d’adresses de

50
classes A et l’explosion des tables de routage. Par exemple, une entreprise de pe-
tite taille qui commence son activité avec un réseau de classe C, peut assez rapi-
dement avoir besoin de plus de 254 machines. Elle peut alternativement acquérir
un second réseau de classe C qu’elle voudrait fusionner avec le premier. Gérer
cette situation peut devenir très compliqué. Le principe du CIDR (Classless Inter
Domain Routing) est apparu principalement dans le but d’agréger des réseaux.
Cette agrégation se fait par région géographique et fournisseurs d’accès. C’est un
système de sur-réseau, qui permet de faire apparaître dans les tables de routage
plusieurs réseaux sous le même identifiant, à condition que les réseaux aggrégés
aient des adresses contigües, de manière à avoir des préfixes identiques.
Avec l’ancien système, à chaque fois qu’un fournisseur d’accès désirait se voir
attribuer plusieurs « classe C », cela créait autant d’entrées dans la table de routage
(vers lui) que de réseaux alloués. D’autre part, les plages d’adresses de classe A
et B étaient (et sont encore) largement sous-utilisées.
Avec cette évolution, il est devenu impossible de déduire la classe effective (ou le
masque de sous-réseau) d’une adresse IPv4 simplement en comptant les premiers
bits de poids fort positionnés à 1. Le CIDR permet le regroupement de plusieurs
« classe C »pour les considérer comme un seul bloc, et donc avec l’effet de ne
créer qu’une seule entrée dans une table de routage là où il y en avait plusieurs.
Dans le système CIDR, une adresse IP est associée à un couple (IP de base,
longueur du masque), noté IP/longueur. Prenons par exemple le réseau 193.48.96.0/20 :
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 0 0 0 0 0 1|0 0 1 1 0 0 0 0|0 1 1 0 0 0 0 0|0 0 0 0 0 0 0 0| 193.48.96.0
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1| | | /20
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Cette longueur de masque alloue ici un bloc unique de 4096 adresses pour ce
réseau, qui peut être découpé librement par son administrateur. Il peut ainsi con-
tinuer à le considérer comme une agrégation de 16 réseaux « classe C »distincts,
de 193.48.96.0 à 193.48.111.0, ou le découper en sous-réseaux de taille variable
(et pas forcément aligné sur les limites binaires si le routage entre ces sous-réseaux
reste interne).
Un fournisseur d’accès peut se voir attribuer des réseaux encore plus grands,
comme par exemple 82.64.0.0/14 (256 K adresses), qui correspond à l’agrégation
de 4 réseaux de « classe B », bien que l’adresse de base soit dans l’ancienne plage
destinée aux réseaux de « classe A ».
On constate qu’un réseau /8 a la même taille qu’un « classe A », un /16 cor-
respond à un « classe B »et /24 à un « classe C ». Ultimement, un /32 iden-
tifie une adresse unique. Il y a une correspondance entre cette notation et les
masques de sous-réseau. Dans les exemples précédents, 193.48.96.0/20 peut être
noté 193.48.96.0 masque 255.255.240.0.

51
Masque de sous-réseau
Le masque de sous-réseau permet de savoir quelle partie d’une adresse IP
correspond à la partie numéro de réseau et laquelle correspond à la partie numéro
de l’hôte. Un masque a la même longueur qu’une adresse IP. Il est constitué d’une
suite de chiffres 1 terminée (éventuellement) par des chiffres 0 :
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 1 1 1 1 1 1 1|1 0 0 0 0 0 0 0| masque 255.255.255.128
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Pour calculer la partie sous-réseau d’une adresse IP, on effectue une opération ET
logique bit à bit entre l’adresse et le masque. Pour calculer l’adresse de l’hôte,
on effectue une opération ET bit à bit entre le complément à un du masque et
l’adresse. Autrement dit, il suffit de conserver les bits de l’adresse où les bits du
masque sont à 1 (un certain nombre de bits en partant de la gauche de l’adresse).
La partie numéro d’hôte est contenue dans les bits qui restent (les plus à droite).

3.3.4 Le routage IP
Le routage est l’une des fonctionnalités principales de la couche IP et consiste
à choisir la manière de transmettre un datagramme IP à travers les divers réseaux
de l’Internet. Un routeur est un équipement relié à au moins deux réseaux (cet
équipement pouvant être un ordinateur, au sens classique du terme, qui assure les
fonctionnalités de routage). Ainsi un routeur réémettra des datagrammes venus
d’une de ses interfaces vers une autre.

Remise directe
D’une maniére générale on distingue la remise directe, qui correspond au
transfert d’un datagramme entre deux ordinateurs du même réseau, et la remise
indirecte qui est mise en œuvre dans tous les autres cas, c’est-à-dire quand au
moins un routeur sépare l’expéditeur initial et le destinataire final.
Par exemple, dans le cas d’un réseau Ethernet, la remise directe consiste à
encapsuler le datagramme dans une trame Ethernet après avoir utilisé le protocole
ARP pour faire la correspondance adresse IP adresse physique et à émettre cette
trame sur le réseau. L’expéditeur peut savoir que le destinataire final partage le
même réseau que lui-même en utilisant simplement l’adresse IP de destination du
datagramme. Il en extrait l’identificateur de réseau et si c’est le méme que celui
de sa propre adresse IP, alors la remise directe est suffisante.
En fait, ce mécanisme de remise directe se retrouve toujours lors de la remise d’un
datagramme entre le dernier routeur et le destinataire final.

52
Remise indirecte
Pour sa part, la remise indirecte nécessite de déterminer vers quel routeur
envoyer un datagramme IP en fonction de sa destination finale. Ceci est rendu
possible par l’utilisation d’une table de routage spécifique à chaque routeur qui
permet de déterminer vers quelle voie de sortie envoyer un datagramme destiné à
un réseau quelconque. A cause de la structure localement arborescente d’Internet,
la plupart des tables de routage ne sont pas très grandes. Par contre, les tables
des routeurs interconnectant les grands réseaux peuvent atteindre des tailles très
grandes, ralentissant d’autant le trafic sur ces réseaux.
L’essentiel du contenu d’une table de routage est constitué de quadruplets (desti-
nation, passerelle, masque, interface) où :
– destination est l’adresse IP d’une machine ou d’un réseau de destination
– passerelle (gateway) est l’adresse IP du prochain routeur vers lequel envoyer
le datagramme pour atteindre cette destination
– masque est le masque associé au réseau de destination
– interface désigne l’interface physique par laquelle le datagramme doit réelle-
ment être expédié.
Une table de routage contient notamment une route par défaut qui spécifie un
routeur par défaut vers lequel sont envoyés tous les datagrammes pour lesquels il
n’existe pas de route dans la table.
Tous les routeurs mentionnés dans une table de routage doivent bien-sûr être
directement accessibles à partir du routeur considéré. Cette technique, dans laque-
lle un routeur ne connaît pas le chemin complet menant à une destination, mais
simplement la première étape de ce chemin, est appelée routage par sauts suc-
cessifs (next-hop routing).

Routage intérieur
Le routage statique au moyen de tables de routage convient à de petits réseaux
stables, où les conditions de trafic ne changent pas beaucoup. Mais lorsque le
réseau est dynamique, (modification de la structure d’interconnexion) ou que les
conditions du trafic changent beaucoup, administrer manuellement les tables de
routage peut devenir une tâche impossible.
Le premier protocole standard utilisé dans l’Internet a été RIP (Routing Infor-
mation Protocol). RIP est un protocole à vecteur de distance, permettant à des
routeurs de s’échanger des informations sur la topologie du réseau. Les routeurs
s’échangent les informations contenues dans leurs tables de routage au moyen de
petits messages RIP, qu’ils communiquent à leurs voisins directs. Ces messages
contiennent comme principale information la liste des réseaux connus et accessi-
bles de l’émetteur, accompagnés des vecteurs de distance correspondants.

53
Le deuxième standard, OSPF (Open Shortest Path First) est apparu en 1990,
dans le but de remplacer RIP. La conception de OSPF avait pour objectif de fournir
un algorithme de routage ouvert (d’où le terme Open), n’appartenant à aucun
opérateur ou entreprise. OSPF doit aussi fournir les améliorations suivantes :
1. Il doit supporter plusieurs types de mesures de distance (physique, latence)
2. Ce doit être un algorithme dynamique qui s’adapte automatiquement et rapi-
dement aux changements de topologie des réseaux
3. Il doit supporter le routage basé sur le type de service. IP fournit un champ
type de service, mais aucun algorithme jusqu’alors n’exploitait cette possi-
bilité. On doit pouvoir router différemment le trafic temps réel.
4. Le protocole doi assurer le partage de charge. Il doit être possible d’utiliser
de façon optimale toutes les routes possibles vers un réseau, et pas seule-
ment la meilleure.
5. Support des systèmes hiérarchiques. Aucun routeur ne pouvant avoir une
connaissance globale de l’Internet, le protocole doit prendre en compte cette
contrainte
6. Le protocole doit pouvoir résister aux attaques de sécurité. Il doit être pos-
sible de le stabiliser, après que quelques routeurs aient reçus de mauvaises
informations de routage. On doit aussi prendre en compte le tunnelling.

Routage extérieur
A l’intérieur d’un système autonome, le protocole de routage conseillé est
OSPF. Mais les administrateurs peuvent aussi implémenter leurs propres solu-
tions. Lorsque l’on veut router des messages entre plusieurs de tels systèmes, on
a besoin d’un autre protocole. Ceci parce que les décisions de routage ne sont pas
seulement prises en considération des distances ou des qualités de service, mais
aussi par des considérations économiques, sécuritaires ou politiques. De tels pro-
tocoles sont appelés protocoles de passerelle extérieure, et BGP (Border Gate-
way Protocol) est le standard sur Internet. Les décisions typiques à prendre sont
du genre :
1. Pas de transit par certains systèmes
2. Ne jamais passer par le Nigéria pour un trafic allant au Cameroun
3. Le trafic commençant à IBM ne doit jamais passer par Microsoft

3.3.5 La fragmentation IP
D’après le format de datagramme IP (figure 3.2), un datagramme a une taille
au plus égale à 65535 octets. Mais en réalité cette limite supérieure n’est jamais at-

54
teinte. Les paquets IP sont encapsulés dans un trame de niveau 2 pour être achem-
inés sur le réseau local. Pour optimiser le débit il est préférable qu’un datagramme
IP soit encapsulé dans une seule trame de ce type. Chaque réseau impose ainsi une
taille maximale pour les paquets qui y circulent. Ces limites sont dues à plusieurs
cause :
1. Le matériel
2. Le système d’exploitation (taille des tampons)
3. Les protocoles (nombre de bits sur le champ taille)
4. Conformité à des standards (inter)nationaux
5. Besoin de réduire les taux d’erreurs à un certain niveau
6. Besoin d’empêcher les paquets d’occuper le canal trop longtemps
Mais, comme un datagramme IP peut transiter à travers Internet sur un ensemble
de réseaux aux technologies différentes, il est impossible de définir, à priori, une
taille maximale des datagrammes IP qui permette de les encapsuler dans une seule
trame quel que soit le réseau (1500 octets pour Ethernet et 4470 pour FDDI par
exemple).
On appelle la taille maximale d’une trame d’un réseau le MTU (Maximum Trans-
fer Unit). Cette taille va servir à fragmenter les datagrammes trop grands pour le
réseau qu’ils traversent. Mais, si le MTU d’un réseau traversé est suffisamment
grand pour accepter un datagramme, évidemment il sera encapsulé tel quel dans
la trame du réseau concerné.
Le protocole IP fragmente au besoin les paquets qu’il doit acheminer, pour les
adapter au canal de sortie. La fragmentation se situe au niveau d’un routeur qui
reçoit des datagrammes issus d’un réseau à grand MTU et qui doit les réexpédier
vers un réseau à plus petit MTU. Le champ identification du datagramme permet
de savoir à quel datagramme appartient un fragment. Tous les fragments d’un
datagramme ont donc le même numéro. Le champ offset indique la position du
fragment dans le datagramme entier. Le champ MF (more fragments) indique si
un datagramme contient plusieurs fragment (M F = 1).
Une application peut interdire la fragmentation des datagrammes qu’elle génère.
Le champ DF (Don’t fragment) doit alors être mis à 1. Dans ce cas un routeur qui
ne peut faire passer le datagramme vers le saut suivant parce que la fragmentation
est nécessaire détruit le datagramme et génère un message ICMP vers l’expédi-
teur.
Un datagramme fragmenté est réassemblé à la destination finale, avant d’être
transmis au protocole demandeur. Le module IP de destination doit alors recon-
stituer le paquet original, quand tous les fragments lui sont arrivés.

55
3.4 Les protocoles des service
Cette section présente les protocoles de la pile TCP/IP qui sont considérés
comme faisant partie de la couche IP. Mais ils utilisent IP pour l’acheminement
de leurs messages.

3.4.1 ARP et RARP


Un ordinateur dans un réseau IP est connecté sur un réseau local dans lequel
il est identifié par une adresse matérielle. Cette adresse est celle de son interface
réseau, elle dépend de l’architecture de réseau local employée (Ethernet, Token-
Ring, FDDI . . .) Mais pour fonctionner sur le réseau IP cette interface doit disposer
d’une adresse IP qui est seule utilisable par le protocole. Il est donc indispensable
de disposer d’une fonction logicielle permettant d’associer l’adresse IP à l’adresse
matérielle (ou adrese MAC). C’est le rôle des protocole ARP et RARP.
ARP (Address Resolution Protocol) permet à une machine de connaître l’adresse
MAC associée à une adresse IP. Ceci est particulièrement important dans un réseau
comme l’Ethernet par exemple. Lorsque la couche IP transmet un datagramme à la
couche liaison, IP demande à cette dernière de l’envoyer à une machine, spécifiée
par son adresse IP. Mais le protocole de liaison a besoin de l’adresse MAC pour
envoyer la trame. Il va donc générer un message ARP (une trame en diffusion sur
le segment), demandant à la machine concernée de signaler son adresse MAC. Ce
n’est qu’à la réception de la réponse que la machine source pourra correctement
générer la trame.
RARP (Reverse ARP) est le protocole inverse de ARP. Il associe à une adresse
physique son adresse IP.

3.4.2 ICMP
ICMP (internet Control Message Protocol) est le protocole de gestion des er-
reurs associées à IP. IP est un protocole de type best effort, c’est-à-dire qu’il fait au
mieux de ses possibilités pour transporter les messages d’hôte à hôte. Il ne prévoit
pas dans sa spécification la gestion des erreurs, ceci est laissé au protocole ICMP.
ICMP permet d’informer d’une erreur réseau ou de formuler une demande d’état
à un système. Les messages ICMP sont encapsulés dans un datagramme IP (Pro-
tocole = 1). ICMP définit plusieurs types de messages, et à chaque type on associe
zéro ou plusieurs codes qui précisent la nature de l’erreur. ICMP ne fiabilise pas
IP, il est juste un protocole d’information. Les types ICMP (et les codes associés)
sont les suivants :
– Demande d’écho (8)
– Réponse d’écho (0)

56
– Destination inconnue (3). On a les codes suivants :
– réseau inaccessible (0)
– hôte inaccessible (1)
– protocole inaccessible (2)
– port inaccessible (3)
– Limitation du débit par la source (4)
– Redirection (5). On a les codes suivants :
– Par réseau (0)
– Par hôte (1)
– Expiration de délai (11)
– Paramètre IP initelligible (12)
– Requête d’horodatage (13)
– Réponse d’horodatage (14)
– Requête de masque d’adresse (17)
– Réponse de masque d’adresse (18)

3.4.3 IGMP
Le protocole IGMP (Internet Group Management Protocol) est le protocole
d’apprentissage utilisé par les routeurs multicast pour découvrir l’existence, dans
les sous-réseaux auxquels ils sont connectés, de membres d’un groupe multicast.
Un groupe multicast est un ensemble de stations oragnisées autour d’une adresse
de multicast (classe D). L’adresse de multicast n’est pas une adresse de machine,
c’est-à-dire qu’elle ne peut pas être source d’un datagramme IP.
Le multicast est un moyen d’atteindre n groupe de machines réparties à travers des
réseaux différents, par une seule adresse de destination. Une machine qui s’associe
à un tel groupe doit configurer une dfe ces interfaces pour l’attacher à l’adresse
du groupe. Le routeur du réseau envoie périodiquement un message IGMP aux
machines qu’il dessert,leur demandant à quels groupes elles appartiennent. Les
machines concernées doivent alors répondre par une réponse IGMP, permettant
au routeur d’enregistrer l’information.

57
Chapitre 4

La couche transport

Les applications disponibles sur une architecture sont diverses et ont des be-
soins variés, en termes de qualité de service attendue du réseau. Par exemple une
application de transfert de fichier a besoin que le réseau puisse lui offrir un service
de transport fiable (pas de perte de données), alors qu’une application de vidéo-
conférence veut plutôt minimiser les temps de transfert. La couche transport a
pour rôle d’offrir un moyen aux applications d’envoyer et recevoir des messages
avec une certaine qualité de service.
La couche transport garantit aux couches hautes un transfert fiable et transparent
des données, en masquant à celles-ci, les détails de l’exécution du service.

4.1 Services offerts


4.1.1 Transport de bout en bout
La couche de transport est normalement destinée à offrir un service de qualité
et rentable aux utilisateurs que sont les applications (ou la couche application). Le
service transport utilise normalement les services réseau pour acheminer les mes-
sages. Seulement, le protocole réseau tourne généralement sur les équipements
d’interconnexion, et est de la responsabilité des administrations traversées. Les
applications ne contrôlent pas le réseau, elles ne peuvent ainsi se fier à la qualité
du service réseau pour leur fonctionnement.
La couche transport a alors pour rôle d’offrir un moyen, au dessus du réseau,
pour améliorer la qualité de service perçue des applications. Les paquets perdus ou
endommagés peuvent être détectés et corrigés par le service transport. De même
il peut être possible d’offrir des primitives abstraites d’accès au réseau, indépen-
dantes de la mise en œuvre des services réseau, qui peut être très différente d’un
réseau à un autre.

58
Couche application Couche application

application

serveur
autres
serveurs

TSAP20 TSAP10
TSAP4 TSAP3

11 00
00 11 1
0 1
0 11 00
00 11 1
0 1
0

Couche transport Couche transport

Couche reseau
Couche reseau

Couche liaison
Couche liaison

Couche physique
Couche physique

Reseau de
communication

F IG . 4.1 – Points d’accès du service transport

En définitive, la couche transport permet aux applications de ne pas se soucier


de la technologie utilisée par le réseau, et d’être ainsi indépendantes des implé-
mentations et des types de services.

4.1.2 Adressage et multiplexage des communications


Lorsqu’une application désire communiquer avec un processus applicatif dis-
tant, il doit spécifier lequel. Traditionnellement la solution est de concevoir un
système d’adressage au niveau transport (ce suystème est semblable à l’adressage
au niveau réseau, mais ici, l’adresse spécifie un processus, et non un équipement.
Cette adresse est appelée point d’accès du service transport (Transport Service
Access Point - TSAP). Le mécanisme est illustré figure 4.1. Concrètement le TSAP
est un numéro, permettant au service de transport d’identifier l’application (en fait
processus). Le service peut ainsi transporter les communications pour plusieurs
applications.

4.1.3 Qualité de service


Une autre façon de percevoir le service de transport est qu’elle offre une
diférenciation de service à la demande des applications. Certaines applications
ont par exemple besoin d’établir une connexion entre les processus homologues,

59
même si le réseau sous-jacent est de type datagramme. Le service de transport
doit alors fournir les moyens d’atteinde cet objectif. Les paramètre de qualité de
service négociables peuvent être :
– délai d’établissemnt de connexion
– débits supportés
– latence des communications
– protection et sécurité
– gestion des erreurs
– résilience ou tolérance aux fautes
Ces paramètre seront discutés plus en profondeur dans le modèle TCP/IP.

4.2 La couche transport de l’Internet


La couche transport de l’Internet consiste essentiellement en deux protocoles,
TCP (Transmission Control Protocol) et UDP (User Datagram Protocol). Tous les
deux utilisent IP comme couche réseau, mais TCP procure une couche de transport
fiable (alors même que IP ne l’est pas), tandis que UDP ne fait que transporter de
maniére non fiable des datagrammes.

4.2.1 UDP
Le protocole UDP (défini par la rfc 768) utilise IP pour acheminer, d’un or-
dinateur à un autre, en mode non fiable des datagrammes qui lui sont transmis
par une application. UDP n’utilise pas d’accusé de réception et ne peut donc pas
garantir que les données ont bien été reçues. Il ne réordonne pas les messages si
ceux-ci n’arrivent pas dans l’ordre dans lequel ils ont été émis et il n’assure pas
non plus de contrôle de flux. Il se peut donc que le récepteur ne soit pas apte à
faire face au flux de datagrammes qui lui arrivent. C’est donc à l’application qui
utilise UDP de gérer les problémes de perte de messages, duplications, retards,
déséquencement . . .
Cependant, UDP fournit un service supplémentaire par rapport à IP, il permet
de distinguer plusieurs applications destinatrices sur la même machine par l’inter-
médiaire des ports. Un port est une destination abstraite sur une machine identifié
par un numéro qui sert d’interface à l’application pour recevoir et émettre des don-
nées. Par exemple, l’application tftp utilise le port 69, l’application snmp utilise
le port 161.
Chaque datagramme émis par UDP est encapsulé dans un datagramme IP en y fix-
ant à 17 la valeur du protocole. La structure d’un datagramme UDP est présentée
à la figure 4.2.

60
0 15 16 31
Port source Port destination

Longueur totale Somme de controle

Données

F IG . 4.2 – En-tête d’un datagramme UDP


0 15 16 31
Port source Port destination

Numero de sequence

Numero d’acquittement
URG
ACK

RST
SYN
FIN
PSH

HDRL Taille de fenetre

Somme de controle Pointeur d’urgence

Options bourrage

Données

F IG . 4.3 – En-tête TCP

Malgré cette absence de fiabilité, le protocole UDP, de par sa siplicité est util-
isé par les applications qui veulent un service de délivrance rapide (application
temps réel). Lorsque les performances du réseau sont acceptables (pertes de mes-
sages négligeable), il est en effet plus rentable d’utiliser UDP.

4.2.2 TCP
Contrairement à UDP, TCP est un protocole qui procure un service de flux
d’octets orienté connexion et fiable. Les données transmises par TCP sont encap-
sulées dans des datagrammes IP en y fixant la valeur du protocole à 6. Tout comme
UDP, TCP permet de différencier plusieurs applications sur la même machine par
les numéros de port. L’entête d’un segment TCP est présentée figure 4.3.

Etablissement de connexion
Le terme orienté connexion signifie que les applications dialoguant à travers
TCP doivent établir une connexion avant de pouvoir transmettre des données
(comme dans le cas de l’utilisation du téléphone). Les ordinateurs vérifient donc
préalablement que le transfert est autorisé, que les deux machines sont prêtes en
s’échangeant des messages spécifiques. Une fois que tous les détails ont été pré-
cisés, les applications sont informées qu’une connexion a été établie et qu’elles

61
Ouverture passive

Ouverture active
SYN

ACK SYN

Connexion etablie ACK


Connexion etablie

F IG . 4.4 – TCP 3 Way HandShake

peuvent commencer leurs échanges d’informations. Ce processus est appelé poignée


de main à trois phases (Three Way Handshake) et est illustré figure 4.4.
Il y a donc exactement deux extrémités communiquant l’une avec l’autre sur
une connexion TCP. Cette connexion est bidirectionnelle simultanée (full duplex
) et composée de deux flots de données indépendants et de sens contraire.
Il est cependant possible d’inclure dans l’en-tête de segments TCP d’une commu-
nication de A vers B des informations relatives à la communication de B vers A.
Cette technique de superposition (piggybacking) permet de réduire le trafic sur le
réseau.

Protocole à flot d’octets


Tout au long de la connexion, TCP échange un flux d’octets sans qu’il soit
possible de séparer par une marque quelconque certaines données. Le contenu des
octets n’est pas du tout interprété par TCP, c’est donc aux applications d’extrémité
de savoir gérer la structure du flot de données.
Si elles sont trop volumineuses, les données à transmettre pour une application
sont fractionnées en fragments dont la taille est jugée optimale par TCP. A l’in-
verse, TCP peut regrouper des données d’une application pour ne former qu’un
seul datagramme de taille convenable de maniére à ne pas charger inutilement le
réseau. Cette unité d’information émise est appelée segment.
Certaines applications demandent que les données soient émises immédiatement,
même si le tampon n’est pas plein. Pour cela, elles utilisent le principe du push
pour forcer le transfert. Les données sont alors émises avec un bit marquant cela
pour que la couche TCP réceptrice du segment remette immédiatement les don-
nées à l’application concernée.

62
Transport fiable
La fiabilité fournie par TCP consiste à remettre des datagrammes, sans perte,
ni duplication, alors même qu’il utilise IP qui lui est un protocole de remise non
fiable. Ceci est réalisé à l’aide de la technique générale de l’accusé de réception.
Chaque segment est émis avec un numéro qui va servir au récepteur pour envoyer
un accusé de réception (champ Numero d’acquittement de l’en-tête). Ainsi
l’émetteur sait si l’information qu’il voulait transmettre est bien parvenue à des-
tination. De plus, à chaque envoi de segment, l’émetteur arme une temporisation
qui lui sert de délai d’attente de l’accusé de réception correspondant à ce seg-
ment. Lorsque la temporisation expire sans qu’il n’ait reçu de ACK, l’émetteur
considère que le segment s’est perdu et il le réexpédie. Mais il se peut que la tem-
porisation expire alors que le segment a été transmis sans problème, par exemple
suite à un engorgement de réseau ou à une perte de l’accusé de réception corre-
spondant. Dans ce cas, l’émetteur réémet un segment alors que c’est inutile. Mais
le récepteur garde trace des numéros de segments reçus, donc il est apte à faire la
distinction et peut éliminer les doublons.

63
Chapitre 5

La couche application

La raison d’étre de tout réseau est de faire communiquer des applications pour
les utilisateurs. Ces applications se présentent sous forme de processus commu-
niquant au moyen d’un protocole d’application. Si les deux processus sont sur la
même machine, la communication se fait par des régles définies par le système d’-
exploitation. S’ils sont sur des systèmes distants, ils communiquent par échange
de message. Nous nous intéressons dans ce cours aux applications Internet.

5.1 Le modèle client-serveur


Une application réseau est ainsi constituée de deux processus, un sur une ma-
chine (ceci ne nuit pas à la généralité, puisque comme nous l’avons au chapitre
précédent, une même machine peut avoir plusieurs adresses de réseau. De même
que deux applications sur la même machine peuvent communiquer en utilisant des
numéros de ports différents).
Le fonctionnement suit généralement un modéle client-serveur : Le processus
serveur exécute un programme dit serveur, généralement lancé au démarrage du
système hôte (en tout cas il doit être actif avant le début de la transaction). L’autre
processus, le client identifie le serveur par l’adresse IP de la machine sur l’aquelle
il tourne, un numéro de service bien connu, appelé port. Les deux processus peu-
vent alors échanger des messages selon le protocole applicatif qui les définit. Cet
échange se fait soit en mode connecté (TCP) soit en mode non connecté (UDP).
La pile TCP/IP définit un certain nombre d’applications standard, nous étudions
ci-dessous quelques unes.

64
5.2 Le service d’annuaire de l’Internet
Domain Name System (DNS) est un système permettant d’établir une corre-
spondance entre une adresse IP et un nom de domaine et, plus généralement, de
trouver une information à partir d’un nom de domaine.

5.2.1 Associer une adresse IP et un nom de domaine


Les ordinateurs connectés à un réseau IP, par exemple Internet, possédent tous
une adresse IP. Ces adresses sont numériques afin d’étre plus facilement traitées
par une machine. Il n’est évidemment pas simple pour un humain de retenir ce
numéro lorsque l’on désire accéder à un ordinateur d’Internet. C’est pourquoi le
Domain Name System (ou DNS, système de noms de domaine) fut inventé. Il
permet d’associer à une adresse IP, un nom intelligible, humainement plus simple
à retenir, appelé nom de domaine. uycdc.uninet.cm, par exemple, est composé du
domaine générique cm, du domaine déposé uninet et du nom d’hôte uycdc.
Quand un utilisateur souhaite accéder à un site, comme par exemple www.yahoo.fr,
son ordinateur émet une requéte spéciale à un serveur DNS, demandant « Quelle
est l’adresse de www.yahoo.fr ? ». Le serveur répond en retournant l’adresse IP du
serveur du site.
Il est également possible de poser la question inverse, à savoir « Quel est
le nom de domaine de telle adresse IP ? ». On parle alors de résolution inverse.
Plusieurs noms de domaine peuvent pointer vers une même adresse IP. Mais une
adresse IP ne peut pointer que sur un unique nom de domaine.
Lorsqu’un service génére un trafic important, celui-ci peut faire appel à la
technique du DNS Round-Robin, qui consiste à associer plusieurs adresses IP à
un nom de domaine. Une rotation circulaire entre ces différentes adresses permet
ainsi de répartir la charge générée par ce trafic important, entre les différentes
machines, ayant ces adresses IP.

5.2.2 Un système réparti


Il existe en fait des centaines de milliers de serveurs DNS dans le monde entier.
Chaque serveur DNS n’a en réalité à sa disposition qu’un ensemble d’informa-
tions restreint. Quand un serveur DNS doit trouver l’adresse IP d’une certaine ma-
chine, une communication s’instaure avec d’autres serveurs DNS. Tout d’abord,
le serveur demande à des serveurs DNS peu nombreux appelés root-servers quels
serveurs peuvent lui répondre pour la zone org. Parmi ceux-ci, il va en choisir un
pour savoir quel serveur est capable de lui répondre. C’est ce dernier qui pourra
lui donner l’adresse IP demandée.

65
Cependant, ce processus de résolution de nom est long. C’est pourquoi, la plu-
part des serveurs DNS (et notamment ceux des Fournisseurs d’accès à Internet)
font aussi office de DNS cache : ils gardent en mémoire la réponse d’une résolu-
tion de nom afin de ne pas effectuer ce long processus à nouveau ultérieurement.
Un nom de domaine peut utiliser plusieurs serveurs DNS. Généralement, les
noms de domaines en utilisent deux : un primaire et un secondaire. Seuls ces
derniers peuvent fournir une réponse valable à tout instant. On parle de réponse
faisant autorité (authoritative answer en anglais). Les serveurs des Fournisseurs
d’accès à Internet quant à eux fournissent des réponses qui ne sont pas nécessaire-
ment à jour, à cause du cache mis en place. On parle alors de réponse ne faisant
pas autorité (non authoritative answer en anglais).
Pour trouver le nom de domaine d’une IP, on utilise le même principe. Dans un
nom de domaine, la partie la plus générale est à droite : cm dans uycdc.uninet.cm.
Dans une adresse ip, c’est le contraire : le premier octyet est la partie la plus
générale de l’adresse IP. Pour conserver une logique cohérente, on inverse l’ordre
des quatre termes de l’adresse et on la concaténe au pseudo domaine in-addr.arpa.
Cette architecture garantit au réseau Internet une certaine sécurité. Quand un
serveur DNS tombe, le bon fonctionnement de la résolution de nom n’est pas
remise en cause. De plus, elle permet de mettre à jour l’adresse IP associée à un
nom de domaine dans le monde entier facilement et assez rapidement (un délai de
48 heures est généralement suffisant).

5.3 Le Web et le protocole HTTP


Le web est le service d’informations générales sur l’internet. Le Hypertext
Transfer Protocol, abrégé HTTP, littéralement « protocole de transfert hypertexte
», est un protocole de communication informatique client-serveur développé pour
le World Wide Web. Il est utilisé pour transférer les documents (document HTML,
image, feuille de style, etc.) entre le serveur HTTP et le navigateur Web lorsqu’un
visiteur consulte un site Web.
HTTPS (Secured) est la variante du HTTP sécurisé avec les protocoles SSL
ou TLS. Il permet au visiteur de vérifier l’identité du site auquel il accéde grâce à
un certificat d’authentification. Il permet également de chiffrer la communication.
Il est généralement utilisé pour les transactions financiéres en ligne : commerce
électronique, banque en ligne, courtage en ligne, etc.

5.3.1 Fonctionnement
La RFC 2616 décrit le protocole HTTP. La RFC 2818 définit le protocole
HTTPS.

66
Le client (le plus souvent c’est un navigateur Web) envoie une requéte au serveur
afin de lui indiquer la ressource qu’il veut recevoir. Le serveur lui répond en con-
séquence.
Ces en-têtes sont très simplifiés afin d’en comprendre le fonctionnement, mais
ils peuvent être beaucoup plus importants, fournissant ainsi plus d’informations
au client et/ou au serveur.
Le client envoie :
GET /index.html HTTP/1.1
Ce qui équivaut littéralement A : « Donne moi le contenu de la page in-
dex.html à la base de ton serveur sachant que je te parle en HTTP 1.1. »
Le serveur lui renvoie alors :

HTTP/1.1 200 OK
Date: Sun, 05 Nov 2000 20:24:23 GMT
Server: Apache/1.3.14 (Unix) PHP/4.0.3
Last-Modified: Sat, 03 Jun 2000 07:12:12 GMT
Content-Length: 3069
Content-Type: text/html

<html>
[...]
</html>

Ce qui veut dire : « J’ai bien reçu ta requéte, je suis un server de type <Server>,
on est le <Date> et la derniére fois que la page a été modifié est le <Last-Modified>.
Le contenu de la page fait <Content-Length> octets et est de type <Content-Type>.
Voici le contenu.

5.4 Le courrier électronique


Le Simple Mail Transfer Protocol (littéralement « Protocole simple de trans-
fert de courrier »), généralement abrégé SMTP, est un protocole de communica-
tion utilisé pour transférer le courrier électronique vers les boîtes de messagerie
d’Internet.
SMTP est un protocole assez simple (comme son nom l’indique). On com-
mence par spécifier le ou les destinataires d’un message puis, l’expéditeur du
message, puis, en général après avoir vérifié leur existence, le corps du message
est transféré. Il est assez facile de tester un serveur SMTP en utilisant telnet sur le
port 25.
Le SMTP a commencé à être largement utilisé au début des années 1980. Il
était alors un complément à l’UUCP, celui-ci étant plus adapté pour le transfert

67
d’e-mails entre des machines dont l’interconnexion est intermittente. Le SMTP,
de son côté, fonctionne mieux lorsque les machines qui envoient et reçoivent les
messages sont interconnectées en permanence.
Le logiciel Sendmail fut l’un des premiers, sinon le premier, Mail Transfer
Agent (MTA), logiciel de transfert de courrier, à utiliser SMTP. Depuis, la plu-
part des logiciels de courriel clients peuvent utiliser SMTP pour envoyer les mes-
sages. Certains nouveaux serveurs sont apparus, comme Postfix, Qmail, Exim et
Exchange de Microsoft (qui accomplit également d’autres fonctions).
Comme le protocole utilisait du texte en ASCII (7 bits), il ne fonctionnait
pas pour l’envoi de n’importe quels octets dans des fichiers binaires. Pour pal-
lier ce probléme, des standards comme MIME ont été développés pour permettre
le codage des fichiers binaires au travers de SMTP. Aujourd’hui, la plupart des
serveurs SMTP acceptent le MIME sur 8 bits, ce qui permet de transférer des
fichiers binaires presque aussi facilement que du texte simple.
SMTP ne permet pas de récupérer à distance des courriels arrivés dans une
boîte aux lettres sur un serveur. Les standards POP et IMAP ont été créés dans ce
but.
Une des limitations de SMTP était qu’il n’y avait pas de moyen d’identifier
l’expéditeur. Pour ceci, l’extension SMTP-AUTH a été définie.

5.5 Le transfert de fichiers


Le File Transfer Protocol (protocole de transfert de fichiers) ou FTP est dédié
à l’échange informatique de fichiers sur un réseau TCP/IP. Il permet, depuis un
ordinateur, de copier des fichiers depuis ou vers un autre ordinateur du réseau,
d’administrer un site web, ou encore de supprimer ou modifier des fichiers sur cet
ordinateur.
La mise en place du protocole FTP date de 1971, date à laquelle un mécanisme
de transfert de fichiers (décrit dans la RFC 141) entre les machines du MIT avait
été mis au point. De nombreux RFC ont ensuite apporté des améliorations au
protocole de base, mais les plus grandes innovations datent de juillet 1973. Le
protocole FTP est actuellement défini par la RFC 959.

5.5.1 Vue d’ensemble


FTP obéit à un modéle client-serveur, c’est-A-dire qu’une des deux parties, le
client, envoie des requétes auxquelles réagit l’autre, appelé serveur. En pratique,
le serveur est un ordinateur sur lequel fonctionne un logiciel lui-méme appelé
serveur FTP, qui rend publique une arborescence de fichiers similaire à un système

68
de fichiers Unix. Pour accéder à un serveur FTP, on utilise un logiciel client FTP
(possédant une interface graphique ou en ligne de commande).
Le protocole utilise une connexion TCP. Il peut s’utiliser de deux façons dif-
ferentes :
– en mode actif, c’est le client FTP qui détermine le port de connexion à
utiliser pour permettre le transfert des données.Ainsi, pour que l’échange
des données puisse se faire, le serveur FTP initiera la connexion de son port
de données (port 20) vers le port spécifié par le client. Le client devra alors
configurer son pare-feu pour autoriser les nouvelles connexions entrantes
afin que l’échange des données se fasse. Ce mode est donc moins sécurisé
que le FTP passif pour le client. De plus il peut s’avérer problématique
pour les utilisateurs essayant d’accéder à des serveurs FTP lorsqu’ils sont
derriére une passerelle NAT. Vu la façon dont fonctionne la NAT, le serveur
FTP initie la connexion de données en se connectant à l’adresse externe
de la passerelle NAT sur le port choisi. La passerelle NAT n’ayant pas de
correspondance pour le paquet reçu dans sa table d’état le paquet sera ignoré
et ne sera pas délivré au client.
– en mode passif, le serveur FTP détermine lui même le port de connexion à
utiliser pour permettre le transfert des données (data connexion) et le com-
munique au client. Dans le cas de l’existence d’un pare-feu devant le serveur
FTP celui-ci devra être configuré pour autoriser la connexion de données.
L’avantage de ce mode, est que le serveur FTP n’initie aucune connexion.
Dans le cas des clients FTP sur un réseau local, ce mode est beaucoup plus
sécurisé que le ftp actif, car le pare-feu ne devra laisser passer que les flux
sortant vers internet pour permettre aux clients d’échanger des données avec
le serveur.
Deux ports sont standardisés (well known ports) pour les connexions FTP : 21
pour la connexion de commandes et 20 pour la connexion data.

5.5.2 Utilisation
Pour accéder a un serveur FTP on utilise un client ftp, en ligne de commande
ou avec une interface graphique. Les utilisateurs de GNU-Linux ou d’un Unix
peuvent consulter une documentation (la plupart du temps installée par défaut),
en tapant man ftp.
La plupart des navigateurs récents autorisent les connexions FTP en utilisant
une URL de type :
ftp://nom_d_utilisateur:mot_de_passe@nom_du_serveur:port_ftp
Par sécurité, il est conseillé de ne pas préciser le mot de passe, le serveur
le demandera. Cela évite de le laisser visible en clair ou réutilisable. La partie
port_ftp est optionnelle. S’il est omis le port par défaut (21) sera utilisé.

69
5.6 SSH
SSH est l’abréviation de Secure Shell, qui est à la fois un programme infor-
matique et un protocole de communication sécurisé. Le protocole de connexion
impose un échange de clé de chiffrement en début de connexion. Par la suite toutes
les trames sont chiffrées. Il devient donc impossible d’utiliser un sniffer pour voir
ce que fait l’utilisateur. Le protocole SSH a été conçu avec l’objectif de remplacer
les différents programmes rlogin,telnet et rsh. Le protocole SSH existe en deux
versions majeures : la version 1.0 et la version 2.0. La premiére version permet de
se connecter à distance à un ordinateur afin d’obtenir un shell ou ligne de com-
mande. Cette version souffrait néanmoins de problémes de sécurité dans la vérifi-
cation de l’intégrité des données envoyées ou reçues, la rendant vulnérable à des
attaques actives. En outre, cette version implémentait un systeme de transmission
de fichiers sommaires, et du port tunneling. La version 2 est actuellement encore
à l’état de draft, mais est déjA largement utilisée à travers le monde. Cette version
est beaucoup plus sûre cryptographiquement, et posséde en plus un protocole de
transfert de fichiers complet.
Habituellement le protocole SSH utilise le port 22. Il est particuliérement util-
isé pour ouvrir un shell (console) sur un ordinateur distant. Peu utilisé sur les
stations Windows (avec PuTTY ou cygwin avec OpenSSH), SSH fait référence
pour l’accès distant sur les stations Linux et Unix.
SSH peut également être utilisé pour recopier des ports TCP d’une machine
UNIX vers une autre, créant ainsi un tunnel. Cette méthode est couramment util-
isée afin de sécuriser une connexion qui ne l’est pas (par exemple le protocole
email POP3) en la faisant transférer par le biais du tunnel crypté SSH.
Note : rien n’empêche de faire plusieurs sauts entre consoles SSH, c’est-à-
dire ouvrir une console sur un serveur, puis, de là, en ouvrir une autre sur un autre
serveur.

70

Vous aimerez peut-être aussi