2003-07-08 12:27:53 +02:00
|
|
|
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
|
<!DOCTYPE html
|
|
|
|
|
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
|
|
|
|
"tuteurs://DTD/tml.dtd">
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title>R<>seaux</title>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<h1>Qu'est-ce qu'un r<>seau<61>?</h1>
|
2003-07-08 12:27:53 +02:00
|
|
|
|
|
|
|
|
|
<p>Vous trouverez ici expliqu<71> ce qu'est un r<>seau, et comment les
|
|
|
|
|
ordinateurs communiquent entre eux. En un mot, ce qu'est Internet...
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<div class="encadre">Ce cours r<>sulte de la compilation d'articles
|
|
|
|
|
parus dans le <cite><a
|
|
|
|
|
href="&url.tuteurs;docs/hublot/">Hublot</a></cite> en 1999-2000.</div>
|
|
|
|
|
|
|
|
|
|
<h2>Des uns et des z<>ros</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Les ordinateurs n'ont que deux doigts, contrairement aux humains. Ils
|
|
|
|
|
comptent et manipulent l'information uniquement sous la forme de 0 et
|
2007-07-17 12:01:59 +02:00
|
|
|
|
de 1<>; c'est le choix fondamental, l'information minimale, qui
|
2003-07-08 12:27:53 +02:00
|
|
|
|
s'exprime ainsi (vrai/faux, ouvert/ferm<72>, oui/non, etc). Une telle
|
|
|
|
|
information est appel<65>e un <em>bit</em>. Comme un bit ne contient pas
|
|
|
|
|
grand'chose, on groupe plusieurs bits pour qu'ils forment, ensemble,
|
|
|
|
|
une information plus complexe.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Huit bits ensemble forment un <em>octet</em>. Chaque bit a une place
|
|
|
|
|
particuli<EFBFBD>re dans l'octet, ce qui permet de faire 256 combinaisons
|
|
|
|
|
(2<sup>8</sup>). Un octet est adapt<70> pour coder un caract<63>re
|
|
|
|
|
occidental (il y a suffisamment de place pour les 26 lettres, avec les
|
|
|
|
|
minuscules, les caract<63>res accentu<74>s, les chiffres et quelques autres
|
|
|
|
|
signes typographiques).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Unit<69>s de mesure</h3>
|
|
|
|
|
|
|
|
|
|
<p>Les quantit<69>s de donn<6E>es traitables par les ordinateurs se
|
|
|
|
|
chiffrent d<>sormais en millions et milliards d'octets. Les
|
|
|
|
|
informaticiens ont donc con<6F>u des unit<69>s adapt<70>es. Le
|
|
|
|
|
<em>kilo-octet</em> (<code>Ko</code>) comporte 1024 octets
|
|
|
|
|
(2<sup>10</sup>). (et non 1000 : 1000 est un nombre rond en base 10,
|
|
|
|
|
mais pas en base 2; en revanche, 1024 s'<27>crit 10000000000 en base 2).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Le <em>m<>ga-octet</em> (<code>Mo</code>) est constitu<74> de 1024 Ko
|
|
|
|
|
(plus d'un million de caract<63>res), et le <em>giga-octet</em>
|
|
|
|
|
(<code>Go</code>) vaut 1024 Mo. On commence <20> parler de
|
|
|
|
|
<em>t<>ra-octet</em> (<code>To</code>) mais c'est encore un peu trop
|
|
|
|
|
cher.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Une image plein <20>cran <20><>p<EFBFBD>se<73><65> environ 1 Mo, voire plus si on veut une
|
2003-07-08 12:27:53 +02:00
|
|
|
|
grande palette de couleurs. Une simple disquette contient environ 1.44
|
|
|
|
|
Mo, et un CD-ROM 660 Mo. Un DVD-ROM p<>se jusqu'<27> 17 Go (plus de 17
|
|
|
|
|
milliards de caract<63>res). Pour donner une <20>chelle de valeur, disons
|
|
|
|
|
que la Bible, correctement encod<6F>e, tient en 1 Mo (un peu moins d'une
|
|
|
|
|
disquette), et que l'<cite>Encyclopedia Universalis</cite>, avec
|
|
|
|
|
sch<EFBFBD>mas, photos et quelques animations, rentre dans un CD-ROM.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h2>Code Morse, multim<69>dia et centre de tri</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Stocker des informations est bel et bon<6F>; mais il est tentant de
|
2003-07-08 12:27:53 +02:00
|
|
|
|
pouvoir en <20>changer, sans quoi la scl<63>rose guette. On peut transporter
|
2007-07-17 12:01:59 +02:00
|
|
|
|
des disquettes, des CD-ROMs ou d'autres supports du m<>me genre<72>;
|
2003-07-08 12:27:53 +02:00
|
|
|
|
c'est assez efficace en termes de d<>bit (exercice : calculer la
|
|
|
|
|
quantit<EFBFBD> d'informations transportable dans une camionnette qui serait
|
2007-07-17 12:01:59 +02:00
|
|
|
|
pleine de CD-ROMs — c'est tout simplement colossal)<29>; mais
|
2003-07-08 12:27:53 +02:00
|
|
|
|
le temps de r<>ponse est long, tr<74>s long. Et puis, l'informaticien
|
|
|
|
|
n'aime pas se lever de sa chaise s'il n'y est pas pouss<73> par une
|
|
|
|
|
n<EFBFBD>cessit<EFBFBD> imp<6D>rieuse (aller prendre sa dose de Coca-Cola par exemple).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Donc, il s'agit de doter les ordinateurs de moyens de
|
|
|
|
|
communication. Pour coder des 0 et des 1, certains protocoles adapt<70>s
|
|
|
|
|
sautent aux yeux : le code Morse par exemple. On transmet des <20>longs<67>
|
|
|
|
|
et des <20>brefs<66>. Le seul probl<62>me est que le d<>bit n'est pas tr<74>s
|
|
|
|
|
satisfaisant : deux bons op<6F>rateurs peuvent s'<27>changer 3 bits par
|
|
|
|
|
seconde, et une visio-conf<6E>rence (de mauvaise qualit<69>) en exige au
|
|
|
|
|
moins 60 000. M<>me un t<>l<EFBFBD>phone portable, <20> la qualit<69> de son
|
|
|
|
|
douteuse, doit <20>changer 9 600 bits par seconde.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
N<EFBFBD>anmoins l'analogie est riche. En effet, en regardant de plus pr<70>s,
|
|
|
|
|
quand un message est envoy<6F> en Morse par t<>l<EFBFBD>graphe, son texte est
|
|
|
|
|
pr<EFBFBD>c<EFBFBD>d<EFBFBD> du nom du destinataire : au XIXe si<73>cle, il n'y avait pas de
|
2007-07-17 12:01:59 +02:00
|
|
|
|
ligne directe de New-York <20> Los Angeles<65>; le message devait
|
2003-07-08 12:27:53 +02:00
|
|
|
|
passer par diff<66>rents op<6F>rateurs qui recevaient le message et le
|
|
|
|
|
r<EFBFBD>exp<EFBFBD>diaient imm<6D>diatement dans la bonne direction. Un message pour
|
|
|
|
|
San Francisco prenait au d<>but le m<>me chemin. Ce principe de message,
|
|
|
|
|
sautant de poste en poste, redirig<69> <20> chaque poste en fonction de sa
|
|
|
|
|
destination, est le fondement d'Internet. C'est ce qu'on appelle un
|
|
|
|
|
r<EFBFBD>seau par paquets, par opposition au t<>l<EFBFBD>phone, qui est un r<>seau par
|
|
|
|
|
circuits.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h2>Le soleil a rendez-vous avec la lune</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Il existe deux types de r<>seaux : les r<>seaux par paquets et les
|
|
|
|
|
r<EFBFBD>seaux par circuits. Le premier type est celui du Morse d<>crit dans
|
|
|
|
|
le num<75>ro pr<70>c<EFBFBD>dent : chaque information est un message qui transite
|
|
|
|
|
de centre de tri en centre de tri, suivant l'adresse du destinataire;
|
|
|
|
|
personne ne s'occupe de l'int<6E>gralit<69> de la transmission, et tout
|
|
|
|
|
probl<EFBFBD>me est par essence local.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Le deuxi<78>me type de r<>seau est celui du t<>l<EFBFBD>phone : un rendez-vous est
|
|
|
|
|
pris entre les deux parties, une communication physique est <20>tablie
|
|
|
|
|
jusqu'<27> ce que l'un des deux raccroche.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Ces deux types de r<>seaux ont des avantages et des inconv<6E>nients
|
|
|
|
|
oppos<EFBFBD>s. Essentiellement :
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
|
|
|
|
|
<li> Un r<>seau par circuits permet de garantir un d<>bit, une fois la
|
|
|
|
|
connexion effectu<74>e, alors que les paquets sont envoy<6F>s <20> la gr<67>ce
|
|
|
|
|
de Dieu.</li>
|
|
|
|
|
|
|
|
|
|
<li> Un r<>seau par circuits permet aussi de garantir un temps de
|
|
|
|
|
r<>ponse, param<61>tre souvent encore plus important que le
|
|
|
|
|
d<>bit. Quand on envoie un paquet, on ignore par o<> il va passer ou
|
|
|
|
|
m<>me s'il va vraiment arriver <20> destination.</li>
|
|
|
|
|
|
|
|
|
|
<li> Un r<>seau par circuits doit <20>tre homog<6F>ne : une fois la
|
|
|
|
|
connexion <20>tablie, le chemin doit se comporter <20> l'identique sur
|
|
|
|
|
toute sa longueur; sur un r<>seau par paquets, il est facile de
|
|
|
|
|
construire des passerelles entre des liens de caract<63>ristiques
|
|
|
|
|
physiques diff<66>rentes.</li>
|
|
|
|
|
|
|
|
|
|
<li> Un r<>seau par circuits g<>che de la bande passante (d<>bit maximal
|
|
|
|
|
de donn<6E>es);: quand deux personnes sont au t<>l<EFBFBD>phones mais ne
|
|
|
|
|
parlent pas, la ligne est occup<75>e.</li>
|
|
|
|
|
|
|
|
|
|
<li> Un r<>seau par paquets est r<>sistant aux pannes : en cas de
|
|
|
|
|
coupure d'un site, les paquets peuvent <20>tre d<>tourn<72>s sur une
|
|
|
|
|
autre voie.</li>
|
|
|
|
|
|
|
|
|
|
<li> Un r<>seau par paquets ne garantit rien sur l'int<6E>grit<69> des
|
|
|
|
|
donn<6E>es : quand on envoie un message, on ne peut pas savoir
|
|
|
|
|
combien de temps il va mettre pour arriver, ni s'il arrivera un
|
|
|
|
|
jour, ou en un seul exemplaire; et s'il se perd, on n'est pas
|
|
|
|
|
forc<72>ment pr<70>venu.</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Actuellement, France Telecom utilise des r<>seaux par paquets pour
|
|
|
|
|
toutes les communications nationales. En effet, les possibilit<69>s de
|
|
|
|
|
r<EFBFBD>utilisation de la bande passante et de r<>sistance aux pannes sont
|
|
|
|
|
tr<EFBFBD>s appr<70>ciables; les caract<63>ristiques habituelles en t<>l<EFBFBD>phonie
|
|
|
|
|
(conversation continue, pas de perte de son) sont assur<75>es par des
|
|
|
|
|
protocoles de plus haut niveau, qui tentent de r<>tablir des garanties
|
|
|
|
|
de d<>bit, de corriger les erreurs, enfin bref de faire au mieux. C'est
|
|
|
|
|
une <20>mulation de r<>seau par circuits, par dessus un r<>seau par paquets
|
|
|
|
|
(et, bizarrement, <20>a marche).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p class="centre"><img src="&url.tuteurs;docs/hublot/hublot03/paquets.png"
|
|
|
|
|
alt="[Sch<63>ma du r<>seau]" /><br /> Figure 1 : R<>seau par paquets
|
|
|
|
|
reliant A <20> B</p>
|
|
|
|
|
|
|
|
|
|
<h2>Le fil qui chante</h2>
|
|
|
|
|
|
|
|
|
|
<p class="centre"><img src="&url.tuteurs;docs/hublot/hublot04/reseau1.png"
|
|
|
|
|
alt="[Sch<63>ma]" /><br /> Figure 2 : R<>seau ethernet par c<>ble
|
|
|
|
|
coaxial</p>
|
|
|
|
|
|
|
|
|
|
<h3>Coder les 1 et les 0</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Pour connecter deux ordinateurs, il faut tout d'abord pouvoir
|
|
|
|
|
repr<EFBFBD>senter les 0 et les 1 sur un m<>dium adapt<70>. Actuellement, on
|
|
|
|
|
utilise principalement les m<>thodes suivantes :
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
|
|
|
|
|
<li> Modulation de fr<66>quence : les 0 et les 1 sont cod<6F>s par des sons
|
|
|
|
|
de fr<66>quences diff<66>rentes (un aigu, un grave); la th<74>orie montre
|
|
|
|
|
que c'est une m<>thode qui r<>siste bien au bruit. C'est ce qu'on
|
|
|
|
|
utilise sur les lignes t<>l<EFBFBD>phoniques, avec un modem*. On peut
|
|
|
|
|
transmettre quelques centaines de milliers de bits par seconde
|
|
|
|
|
ainsi; les modems sont limit<69>s <20> 56 000 bits par seconde pour
|
|
|
|
|
d'autres raisons.</li>
|
|
|
|
|
|
|
|
|
|
<li> Encodage RLL : un 0 est cod<6F> par un changement de polarit<69>, un 1
|
|
|
|
|
par deux changements. On trouve cette m<>thode sur les r<>seaux <20>
|
|
|
|
|
haut d<>bit (chaque bit contient au moins un changement de
|
|
|
|
|
polarit<69>, ce qui permet de conserver la synchronisation entre
|
|
|
|
|
l'<27>metteur et le r<>cepteur, m<>me lors d'une longue plage de 0). On
|
|
|
|
|
peut monter <20> 100 millions de bits par seconde ainsi; on trouve
|
|
|
|
|
cette m<>thode dans les r<>seaux locaux de type ethernet.</li>
|
|
|
|
|
|
|
|
|
|
<li> Optique : les liens <20> tr<74>s haut d<>bit sont r<>alis<69>s par fibre
|
|
|
|
|
optique ou laser; les 0 et les 1 sont alors cod<6F>s en RLL ou avec
|
|
|
|
|
une m<>thode analogue. Pour des raisons de co<63>t, seuls certains
|
|
|
|
|
sites font usage de moyens optiques, et pour certaines liaisons
|
|
|
|
|
seulement (l'universit<69> d'<27>vry utilise un laser pour relier deux
|
|
|
|
|
immeubles <20>loign<67>s de 800 m<>tres l'un de l'autre).</li>
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Le bruit est ce qui s'oppose au signal<61>; par exemple, le cours du prof
|
2003-07-08 12:27:53 +02:00
|
|
|
|
c'est le signal, les <20>l<EFBFBD>ves qui chuchotent c'est le bruit. Au
|
|
|
|
|
t<EFBFBD>l<EFBFBD>phone, le signal c'est la conversation, tandis que le bruit c'est
|
|
|
|
|
la friture.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Exemples de r<>seaux</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Le cas d'un modem ne pose pas de probl<62>me, car c'est une communication
|
|
|
|
|
point <20> point sur une ligne r<>serv<72>e (aucun encombrement). En
|
|
|
|
|
revanche, dans un r<>seau local, on veut connecter plusieurs machines,
|
|
|
|
|
<EFBFBD>ventuellement beaucoup, et on ne d<>sire pas tendre un c<>ble pour
|
|
|
|
|
chaque paire de machines. L'id<69>e est donc de se partager un conducteur
|
|
|
|
|
commun, ce qu'on appelle d'habitude un bus. Ensuite, il faut d<>cider
|
|
|
|
|
comment partager ce bus entre les diff<66>rents ordinateurs connect<63>s
|
|
|
|
|
dessus.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
En <i lang="en">token-ring</i>, un jeton (<i lang="en">token</i>) est
|
2007-07-17 12:01:59 +02:00
|
|
|
|
transmis de station <20> station<6F>; c'est le droit de parole. Chaque
|
2003-07-08 12:27:53 +02:00
|
|
|
|
station ne peut conserver le jeton que pendant un temps maximal donn<6E>,
|
|
|
|
|
mais peut le rel<65>cher imm<6D>diatement si elle n'a rien <20> dire.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>R<>seau Ethernet</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
En ethernet, la m<>thode est plus simple qu'en <i
|
|
|
|
|
lang="en">token-ring</i> : quand une station veut <20>mettre un message,
|
|
|
|
|
elle espionne le bus jusqu'au moment o<> il se lib<69>re (plus personne ne
|
|
|
|
|
parle pendant un tr<74>s court instant); elle prend alors la parole,
|
|
|
|
|
d'autorit<69>. Ce faisant, elle continue d'espionner le bus, pour voir si
|
|
|
|
|
la communication passe bien; si elle est brouill<6C>e, c'est qu'une autre
|
|
|
|
|
station a eu la m<>me id<69>e en m<>me temps. Dans ce cas, la station (et
|
|
|
|
|
l'autre aussi, car elle est <20>galement brouill<6C>e) s'arr<72>te, attend un
|
|
|
|
|
temps al<61>atoire, et recommence. Avec une bonne probabilit<69>, l'autre
|
|
|
|
|
station a attendu un temps al<61>atoire diff<66>rent, et les deux messages
|
|
|
|
|
partent sans brouillage. Apr<70>s un certain nombre d'essais infructueux,
|
|
|
|
|
avec des d<>lais de plus en plus grands, le message est consid<69>r<EFBFBD> comme
|
|
|
|
|
n'ayant pas pu passer, c'est ce qu'on appelle une collision.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Bizarrement, l'ethernet est tr<74>s efficace, et partage tr<74>s
|
|
|
|
|
correctement la bande passante, m<>me quand le bus est charg<72>. Il a
|
|
|
|
|
l'avantage d'<27>tre tr<74>s d<>centralis<69> : aucune station n'a besoin de
|
|
|
|
|
savoir qui, au juste, est pr<70>sent sur le bus, et une station <20>teinte
|
|
|
|
|
n'emp<6D>che pas la communication. Son d<>faut principal est l'absence de
|
|
|
|
|
garantie de d<>bit, chaque station se contentant de faire au mieux, au
|
|
|
|
|
lieu de faire bien.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
L'ethernet se pratiquait sur des c<>bles coaxiaux (fa<66>on c<>ble
|
|
|
|
|
d'antenne de t<>l<EFBFBD>vision), passant par toutes les stations et termin<69>s
|
|
|
|
|
aux deux bouts par des r<>sistances, avec une longueur maximale de 185
|
|
|
|
|
m<EFBFBD>tres (ou 550 m<>tres si on emploie du gros c<>ble blind<6E>,
|
|
|
|
|
traditionnellement jaune). Cette m<>thode a l'inconv<6E>nient
|
|
|
|
|
d'occasionner une coupure du c<>ble quand on rajoute une nouvelle
|
|
|
|
|
prise; et il n'est pas toujours facile de faire passer le m<>me c<>ble
|
|
|
|
|
par toutes les stations, suivant leur disposition.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Maintenant, on <20>tablit des structures arborescentes : chaque station
|
|
|
|
|
est reli<6C>e, par un c<>ble personnel, <20> un hub, une sorte de multiprise
|
2007-07-17 12:01:59 +02:00
|
|
|
|
amplifi<EFBFBD>e. Les hubs sont reli<6C>s entre eux via des c<>bles similaires<65>;
|
2003-07-08 12:27:53 +02:00
|
|
|
|
chaque hub reproduit sur toutes les autres prises ce qu'il re<72>oit sur
|
|
|
|
|
chacune d'elles. On peut brancher une nouvelle machine sans perturber
|
|
|
|
|
le fonctionnement, et on peut plus facilement relier des machines
|
|
|
|
|
distantes.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p class="centre"><img
|
|
|
|
|
src="&url.tuteurs;docs/hublot/hublot04/reseau2.png" alt="[Sch<63>ma]" />
|
|
|
|
|
Figure 3 : R<>seau ethernet arborescent (RJ45)</p>
|
|
|
|
|
|
|
|
|
|
<h2>Internet dans tout <20>a</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
On a vu, dans la section pr<70>c<EFBFBD>dente, comment relier ensemble deux
|
|
|
|
|
stations pour qu'elles puissent s'<27>changer des donn<6E>es, pas forc<72>ment
|
|
|
|
|
de fa<66>on fiable, et sans garantie de d<>bit. Ces m<>thodes sont locales,
|
|
|
|
|
et il convenait de passer <20> un r<>seau global. Ceci a <20>t<EFBFBD> effectu<74>
|
|
|
|
|
gr<EFBFBD>ce au r<>seau Internet, d<>riv<69> de l'Arpanet au cours des ann<6E>es 1970
|
|
|
|
|
(Arpanet <20>tait le r<>seau des militaires am<61>ricains).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Le principe est le suivant : quand une station veut envoyer un message
|
|
|
|
|
<EFBFBD> une consoeur, elle commence par examiner ses branchements, pour voir
|
|
|
|
|
si la destinatrice ne serait pas, par hasard, accessible
|
|
|
|
|
directement. Dans ce cas, elle lui envoie le message par le moyen
|
|
|
|
|
physique pr<70>sent. Dans le cas contraire, elle envoie le message <20> une
|
|
|
|
|
station dont elle sait qu'elle est plus qualifi<66>e qu'elle pour
|
|
|
|
|
r<EFBFBD>soudre ce probl<62>me. La station qualifi<66>e est nomm<6D>e routeur, ou
|
|
|
|
|
aussi passerelle.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Pour savoir qui est contactable et comment, chaque station est munie
|
|
|
|
|
d'une adresse de 4 octets (chaque octet contenant un nombre entre 0 et
|
|
|
|
|
255). Ainsi, la station galion, en salle S, est dot<6F>e de l'adresse
|
|
|
|
|
<code>129.199.129.10</code>. Ces adresses sont mondiales, et toutes
|
|
|
|
|
les adresses commen<65>ant par <code>129.199</code> sont r<>serv<72>es <20>
|
|
|
|
|
l'ENS.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Un exemple <20> l'<27>cole</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Prenons l'exemple de galion, tentant d'envoyer un message (sous la
|
|
|
|
|
forme d'un paquet IP, comme Internet Protocol) <20> aviso, en
|
|
|
|
|
Infirmatique.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
galion, d'adresse <code>129.199.129.10</code>, sait qu'elle est reli<6C>e
|
|
|
|
|
directement <20> toutes les stations dont l'adresse commence par
|
|
|
|
|
<code>129.199.129</code>. Or, aviso a l'adresse
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>129.199.128.1</code><3E>; galion, constatant cela, d<>cide de
|
2003-07-08 12:27:53 +02:00
|
|
|
|
transmettre le paquet <20> sa passerelle, <20> savoir clipper
|
|
|
|
|
(<code>129.199.129.1</code>, contactable par un lien ethernet direct
|
|
|
|
|
depuis galion). Puis galion se lave les mains de ce qui se passe
|
|
|
|
|
ensuite, ce n'est plus son affaire.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
clipper ne peut pas non plus contacter aviso directement, mais il peut
|
|
|
|
|
parler sur un deuxi<78>me lien depuis son deuxi<78>me visage, clipper-gw
|
|
|
|
|
(<code>129.199.1.22</code>). Sur ce lien, il peut contacter finn
|
|
|
|
|
(<code>129.199.1.128</code>), qui est responsable des adresses en
|
|
|
|
|
<code>129.199.128.</code> clipper transmet donc le paquet <20> finn, et
|
|
|
|
|
se d<>sint<6E>resse lui aussi de la question.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
finn poss<73>de aussi deux visages, le second <20>tant finn128
|
|
|
|
|
(<code>129.199.128.254</code>), reli<6C> directement aux stations de
|
|
|
|
|
l'Infirmatique. finn peut donc communiquer directement avec aviso, et
|
|
|
|
|
lui envoie le paquet.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Routeurs et r<>seau</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Donc, pour que tout se passe bien, il suffit que chaque station sache
|
|
|
|
|
reconna<EFBFBD>tre les adresses contactables directement, et une passerelle
|
|
|
|
|
pour les autres cas. Les routeurs, eux, doivent avoir une notion
|
|
|
|
|
locale de la hi<68>rarchie (clipper doit conna<6E>tre finn, mais ce que finn
|
|
|
|
|
doit faire pour contacter aviso ne le regarde pas).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Il est m<>me possible de reconstruire ces informations <20> la vol<6F>e :
|
|
|
|
|
clipper peut tout envoyer sur la machine par d<>faut (renater), qui lui
|
|
|
|
|
signalera <20> chaque fois qu'il existe une route plus directe ne passant
|
|
|
|
|
pas par lui; clipper s'en rappellera pendant quelques minutes. Ce
|
|
|
|
|
m<EFBFBD>canisme, dit de routage dynamique, est un peu d<>licat <20> mettre en
|
|
|
|
|
place, aussi on s'en sert avec parcimonie (il est ais<69> d'obtenir, <20> la
|
|
|
|
|
suite d'un malentendu, une partie de ping-pong, o<> deux stations
|
|
|
|
|
consid<EFBFBD>rent, pour un paquet donn<6E>, que l'autre station est la
|
|
|
|
|
passerelle <20> utiliser).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Et voil<69>, ceci est Internet : des stations qui s'<27>changent des paquets
|
|
|
|
|
(d'une taille maximale de 65.536 octets, mais souvent plus petits, de
|
|
|
|
|
l'ordre de 1.500 octets). Normalement, un paquet n'a pas <20> effectuer
|
|
|
|
|
plus de 30 sauts pour faire le trajet d'une station <20> une autre. Les
|
|
|
|
|
paquets peuvent <20>tre fractionn<6E>s et recombin<69>s au gr<67> des routeurs,
|
|
|
|
|
afin de s'adapter aux sp<73>cificit<69>s locales de la liaison.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Le chemin entre deux stations n'est pas forc<72>ment unique<75>; ceci permet
|
2003-07-08 12:27:53 +02:00
|
|
|
|
une tol<6F>rance aux pannes ou une adaptation aux
|
|
|
|
|
embouteillages. Notamment, les communications <20> grande <20>chelle sont
|
|
|
|
|
alors r<>sistantes aux attaques nucl<63>aires (c'est ce qui plaisait aux
|
|
|
|
|
militaires am<61>ricains). Une cons<6E>quence de ce fait est que deux
|
|
|
|
|
paquets successifs ne suivent pas forc<72>ment le m<>me chemin; ils
|
|
|
|
|
peuvent notamment arriver dans le d<>sordre, et certains peuvent <20>tre
|
|
|
|
|
dupliqu<EFBFBD>s (quand une passerelle cherche <20> savoir, via un protocole
|
|
|
|
|
appropri<EFBFBD>, si un paquet est arriv<69>, et, ne voyant rien venir, en <20>met
|
|
|
|
|
un autre, alors que le premier <20>tait simplement parti par un chemin
|
|
|
|
|
d<EFBFBD>tourn<EFBFBD>).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p class="centre"><img
|
|
|
|
|
src="&url.tuteurs;docs/hublot/hublot05/reseau-ens.png" alt="[Une
|
|
|
|
|
partie du routage <20> l'ENS]" /><br /> Figure 4 : Une partie du routage
|
|
|
|
|
<EFBFBD> l'ENS</p>
|
|
|
|
|
|
|
|
|
|
<h2>Le plombier et le facteur</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Nous voil<69> en position d'envoyer des paquets <20> travers le monde. Mais
|
2007-07-17 12:01:59 +02:00
|
|
|
|
avec une fiabilit<69> douteuse. On a principalement deux probl<62>mes<65>:
|
2003-07-08 12:27:53 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<ul>
|
|
|
|
|
<li> On voudrait qu'une m<>me station puisse tenir plusieurs
|
|
|
|
|
conversations <20> la fois, sur des sujets diff<66>rents. On a donc
|
|
|
|
|
invent<6E> des sous-adresses, des bo<62>tes aux lettres diff<66>renci<63>es,
|
|
|
|
|
qu'on appelle les ports. Un port est un num<75>ro entre 0 et 65 535;
|
|
|
|
|
la plupart des services ont un port canonique (25 pour le courrier
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<20>lectronique, 80 pour le Web, etc)<29>;</li>
|
2003-07-08 12:27:53 +02:00
|
|
|
|
<li> On voudrait un protocole permettant d'assurer l'int<6E>grit<69> des
|
|
|
|
|
donn<6E>es (remise dans l'ordre, accus<75>s de r<>ception et r<>-<2D>mission
|
|
|
|
|
des paquets perdus, contr<74>le de flux), si possible int<6E>gr<67> dans le
|
|
|
|
|
syst<73>me d'exploitation, pour que les applications puissent s'en
|
|
|
|
|
servir sans se prendre la t<>te.</li>
|
|
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<p>Deux protocoles ont donc <20>t<EFBFBD> cr<63><72>s (un protocole est aux donn<6E>es ce
|
2007-07-17 12:01:59 +02:00
|
|
|
|
que le langage est <20> une conversation<6F>: c'est le <20><>r<EFBFBD>glement<6E><74>). Le
|
2003-07-08 12:27:53 +02:00
|
|
|
|
premier, <strong>UDP</strong> (<i lang="en">User Datagram
|
|
|
|
|
Protocol</i>) est une surcouche triviale (couche suppl<70>mentaire
|
2007-07-17 12:01:59 +02:00
|
|
|
|
reproduisant la structure sous-jacente) d'IP<49>: on envoie des paquets,
|
2003-07-08 12:27:53 +02:00
|
|
|
|
sans garantie, d'une taille maximale de 8 192 octets (pour les
|
|
|
|
|
donn<EFBFBD>es; il y a aussi un ent<6E>te donnant entre autres l'adresse et le
|
|
|
|
|
port de destination).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<strong>TCP</strong> (<i lang="en">Transmission Control Protocol</i>)
|
|
|
|
|
est une m<>canique complexe qui assure une s<>mantique de connexion: un
|
|
|
|
|
tuyau bidirectionnel, fiable, au flux contr<74>l<EFBFBD> afin de ne pas
|
|
|
|
|
provoquer d'embouteillage, est <20>tabli entre deux stations, sur un
|
|
|
|
|
certain port.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
TCP est le plus utilis<69>. UDP est utilis<69> pour certains protocoles o<>
|
|
|
|
|
l'ordre d'arriv<69>e des donn<6E>es n'est pas important, ou quand les
|
|
|
|
|
donn<EFBFBD>es sont rapidement obsol<6F>tes. Par exemple, dans le cas de NFS
|
|
|
|
|
(partage de disques par r<>seau), l'ordre des requ<71>tes n'est pas
|
|
|
|
|
primordial; quand on fait du t<>l<EFBFBD>phone par Internet, si un paquet se
|
|
|
|
|
perd, autant l'oublier: sa doublure arriverait trop tard pour
|
|
|
|
|
s'int<6E>grer dans le flux sonore.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Les applications</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
La face visible d'Internet est form<72>e par les applications. Nous
|
|
|
|
|
allons en d<>tailler quelques unes.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h4>DNS (<i lang="en">Domain Name Server</i>)</h4>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Cette application est charg<72>e de faire la correspondance entre les
|
|
|
|
|
adresses num<75>riques, et les noms de stations, noms qui sont destin<69>s
|
|
|
|
|
aux humains. Ainsi, c'est le syst<73>me des DNS qui permet <20> toute
|
|
|
|
|
station dans le monde de savoir que <code>clipper.ens.fr</code> r<>pond
|
|
|
|
|
<EFBFBD> l'adresse <code>129.199.129.1</code>. Chaque site doit disposer d'un
|
|
|
|
|
DNS, connaissant les machines locales, et pouvant interroger les
|
|
|
|
|
autres DNS. Les DNS communiquent par paquets UDP sur le port 53.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h4>SMTP (<i lang="en">Simple Mail Transfer Protocol</i>)</h4>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Par connexion TCP sur le port 25, ce protocole permet d'<27>changer des
|
|
|
|
|
courriers <20>lectroniques. De fa<66>on similaire au transport des paquets
|
|
|
|
|
IP, un courrier peut effectuer quelques sauts (<28> chaque fois sous la
|
|
|
|
|
forme d'une connexion TCP) entre serveurs de mails avant d'arriver <20>
|
|
|
|
|
destination. Par exemple, <20> l'ENS, tout courrier sortant passe par
|
|
|
|
|
<code>nef.ens.fr</code>.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h4>FTP (<i lang="en">File Transfer Protocol</i>)</h4>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Ce protocole de transfert de fichiers utilise deux connexions TCP, sur
|
|
|
|
|
les ports 20 et 21 (celle sur le port 20 sert aux donn<6E>es, celle sur
|
|
|
|
|
le port 21 transporte les commandes).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h4>NFS (<i lang="en">Network File System</i>)</h4>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Cr<EFBFBD><EFBFBD> par Sun Microsystems, ce protocole de partage de disques permet,
|
|
|
|
|
<EFBFBD> l'ENS, de pouvoir manipuler ses fichiers quelle que soit la station
|
|
|
|
|
qu'on utilise. Alors qu'il est souvent d<>cri<72>, ses versions modernes
|
|
|
|
|
sont fort acceptables, pourvu que le r<>seau sous-jacent soit
|
|
|
|
|
rapide. Il utilise des paquets UDP, sur le port 2049.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h4>HTTP (<i lang="en">HyperText Transfer Protocol</i>)</h4>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
C'est le coeur du World Wide Web, qui n'est qu'une application
|
|
|
|
|
d'Internet, r<>cente de surcro<72>t (1990). Par connexion TCP sur le port
|
|
|
|
|
80 du serveur Web, le client obtient le contenu d'une page
|
|
|
|
|
(normalement en langage HTML) et divers autres types de fichiers
|
|
|
|
|
(notamment les images). Une adresse Web (URL) commence par le mot-cl<63>
|
|
|
|
|
http, indiquant le protocole utilis<69>, puis contient le nom du serveur
|
|
|
|
|
Web, puis enfin le nom du fichier (avec <20>ventuellement des r<>pertoires
|
|
|
|
|
et des sous-r<>pertoires) sur ce serveur.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p class="centre"><img
|
|
|
|
|
src="&url.tuteurs;docs/hublot/hublot06/reseau.png"
|
|
|
|
|
alt="[Fonctionnement du Web]" /><br /> Figure 5 : Consultation de
|
|
|
|
|
<code>http://www.ens.fr/index.html</code></p>
|
|
|
|
|
|
|
|
|
|
<h2>Intervention divine</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Bizarrement, tout cet <20>difice aux proportions bibliques fonctionne la
|
|
|
|
|
plupart du temps. N<>anmoins, quand une rupture g<>n<EFBFBD>rale de la Force
|
|
|
|
|
arrive, on peut se retrouver avec beaucoup de probl<62>mes, tous
|
|
|
|
|
diff<EFBFBD>rents. Voici quelques sp<73>cimens:
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Ping-pong</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Deux routeurs se renvoient des paquets, chacun ayant d<>cid<69> que Le Bon
|
|
|
|
|
Chemin passe par l'autre. Cela se diagnostique avec la commande Unix
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<code>traceroute</code>. Solution<6F>: maudire <a
|
2003-07-08 12:27:53 +02:00
|
|
|
|
href="http://www.renater.fr/">Renater</a> (le fournisseur d'acc<63>s
|
|
|
|
|
Internet de l'ENS, grand sp<73>cialiste du tennis de table) et attendre
|
|
|
|
|
que les routeurs oublient d'<27>tre stupides.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Panne des DNS</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Les DNS forment une structure hi<68>rarchique qui a tendance <20> s'<27>crouler
|
|
|
|
|
d'un coup. Dans ces conditions, tout semble fig<69>, sauf si on utilise
|
|
|
|
|
directement les adresses num<75>riques; mais il est difficile de retenir
|
2007-07-17 12:01:59 +02:00
|
|
|
|
par coeur 4 milliards d'adresses... Le diagnostic<69>: la commande
|
2003-07-08 12:27:53 +02:00
|
|
|
|
<code>host</code> sur un h<>te connu (<code>www.google.com</code> par
|
|
|
|
|
exemple) bloque et ne r<>pond pas.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Plantage du serveur NFS</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Votre station est bloqu<71>e, des messages <20><><i lang="en">NFS server not
|
|
|
|
|
responding, still trying</i><3E><> apparaissent. C'est typique du serveur
|
2003-07-08 12:27:53 +02:00
|
|
|
|
NFS (celui qui poss<73>de, physiquement, les disques partag<61>s) qui a pris
|
|
|
|
|
des vacances. Il faut attendre le reboot du serveur. NFS <20>tant bien
|
|
|
|
|
fait, cela d<>bloquera les machines sans cons<6E>quence funeste pour les
|
|
|
|
|
op<EFBFBD>rations en cours.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Plantage du serveur NIS</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
NIS, alias les Pages Jaunes, est le protocole permettant de partager
|
|
|
|
|
les mots de passe entre les stations. Pour l'utilisateur final, les
|
2007-07-17 12:01:59 +02:00
|
|
|
|
cons<EFBFBD>quences sont semblables <20> un plantage NFS<46>: il faut attendre le
|
2003-07-08 12:27:53 +02:00
|
|
|
|
retour du serveur NIS. Une fois qu'il est revenu, tout remarche, rien
|
|
|
|
|
n'a <20>t<EFBFBD> perdu.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h3>Embouteillage</h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Une partie du r<>seau est <20> genoux. La plupart des paquets s'<27>garent,
|
|
|
|
|
tout va lentement, c'est horrible. Pas de solution, sinon esp<73>rer que
|
|
|
|
|
de nouvelles lignes seront bient<6E>t mises en place, pester contre ces
|
|
|
|
|
milliers de cr<63>tins qui ne pensent qu'<27> r<>cup<75>rer les derni<6E>res photos
|
|
|
|
|
de Pamela Anderson, et revenir se connecter <20> une heure plus adapt<70>e
|
2007-07-17 12:01:59 +02:00
|
|
|
|
(pour les <20>tats-Unis, la bonne heure est 6 heures du matin<69>: les
|
2003-07-08 12:27:53 +02:00
|
|
|
|
Am<EFBFBD>ricains sont couch<63>s, les Europ<6F>ens pas encore lev<65>s).
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Il existe beaucoup d'autres pannes possibles, plus <20>sot<6F>riques. Elles
|
|
|
|
|
sont la cause de certaines de ces discussions d'informaticiens que
|
|
|
|
|
personne ne comprend, mais qui semblent les amuser follement.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h2>En savoir plus</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Le cours d'Architecture et Syst<73>mes comprend une partie anim<69>e par
|
|
|
|
|
Jacques Beigbeder, qui d<>crit, entre autres, le fonctionnement du
|
|
|
|
|
r<EFBFBD>seau.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Les gens motiv<69>s se r<>f<EFBFBD>reront aux RFC (<i lang="en">Request For
|
2007-07-17 12:01:59 +02:00
|
|
|
|
Comments</i>). Ce sont les documents de r<>f<EFBFBD>rence<63>; on les trouve l<><6C>:
|
2004-06-10 17:55:22 +02:00
|
|
|
|
<a href="http://www.ietf.org/rfc.html">http://www.ietf.org/rfc.html</a>
|
2003-07-08 12:27:53 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Le protocole IP est d<>crit dans la <a
|
|
|
|
|
href="http://www.faqs.org/rfcs/rfc791.html">RFC 791</a>.
|
|
|
|
|
</p>
|
|
|
|
|
|
2007-07-17 12:01:59 +02:00
|
|
|
|
<div class="metainformation">Auteur<75>: Thomas Pornin. Derni<6E>re
|
|
|
|
|
modification<EFBFBD>: le <date value="$Date: 2007-07-17 10:03:07 $" />.</div>
|
2003-07-08 12:27:53 +02:00
|
|
|
|
|
|
|
|
|
</body>
|
2003-09-25 10:49:28 +02:00
|
|
|
|
</html>
|