ee4b9d31cc
déconne entre ici et le ftp de l'inria
625 lines
24 KiB
XML
625 lines
24 KiB
XML
<?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>
|
||
|
||
<h1>Qu'est-ce qu'un réseau ?</h1>
|
||
|
||
<p>Vous trouverez ici expliqué 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
|
||
de 1 ; c'est le choix fondamental, l'information minimale, qui
|
||
s'exprime ainsi (vrai/faux, ouvert/fermé, oui/non, etc). Une telle
|
||
information est appelé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ère dans l'octet, ce qui permet de faire 256 combinaisons
|
||
(2<sup>8</sup>). Un octet est adapté pour coder un caractère
|
||
occidental (il y a suffisamment de place pour les 26 lettres, avec les
|
||
minuscules, les caractères accentués, les chiffres et quelques autres
|
||
signes typographiques).
|
||
</p>
|
||
|
||
<h3>Unités de mesure</h3>
|
||
|
||
<p>Les quantités de données traitables par les ordinateurs se
|
||
chiffrent désormais en millions et milliards d'octets. Les
|
||
informaticiens ont donc conçu des unités adapté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'écrit 10000000000 en base 2).
|
||
</p>
|
||
|
||
<p>
|
||
Le <em>méga-octet</em> (<code>Mo</code>) est constitué de 1024 Ko
|
||
(plus d'un million de caractères), et le <em>giga-octet</em>
|
||
(<code>Go</code>) vaut 1024 Mo. On commence à parler de
|
||
<em>téra-octet</em> (<code>To</code>) mais c'est encore un peu trop
|
||
cher.
|
||
</p>
|
||
|
||
<p>
|
||
Une image plein écran « pèse » environ 1 Mo, voire plus si on veut une
|
||
grande palette de couleurs. Une simple disquette contient environ 1.44
|
||
Mo, et un CD-ROM 660 Mo. Un DVD-ROM pèse jusqu'à 17 Go (plus de 17
|
||
milliards de caractères). Pour donner une échelle de valeur, disons
|
||
que la Bible, correctement encodée, tient en 1 Mo (un peu moins d'une
|
||
disquette), et que l'<cite>Encyclopedia Universalis</cite>, avec
|
||
schémas, photos et quelques animations, rentre dans un CD-ROM.
|
||
</p>
|
||
|
||
<h2>Code Morse, multimédia et centre de tri</h2>
|
||
|
||
<p>
|
||
Stocker des informations est bel et bon ; mais il est tentant de
|
||
pouvoir en échanger, sans quoi la sclérose guette. On peut transporter
|
||
des disquettes, des CD-ROMs ou d'autres supports du même genre ;
|
||
c'est assez efficace en termes de débit (exercice : calculer la
|
||
quantité d'informations transportable dans une camionnette qui serait
|
||
pleine de CD-ROMs — c'est tout simplement colossal) ; mais
|
||
le temps de réponse est long, très long. Et puis, l'informaticien
|
||
n'aime pas se lever de sa chaise s'il n'y est pas poussé par une
|
||
nécessité impé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és
|
||
sautent aux yeux : le code Morse par exemple. On transmet des «longs»
|
||
et des «brefs». Le seul problème est que le débit n'est pas très
|
||
satisfaisant : deux bons opérateurs peuvent s'échanger 3 bits par
|
||
seconde, et une visio-conférence (de mauvaise qualité) en exige au
|
||
moins 60 000. Même un téléphone portable, à la qualité de son
|
||
douteuse, doit échanger 9 600 bits par seconde.
|
||
</p>
|
||
|
||
<p>
|
||
Néanmoins l'analogie est riche. En effet, en regardant de plus près,
|
||
quand un message est envoyé en Morse par télégraphe, son texte est
|
||
précédé du nom du destinataire : au XIXe siècle, il n'y avait pas de
|
||
ligne directe de New-York à Los Angeles ; le message devait
|
||
passer par différents opérateurs qui recevaient le message et le
|
||
réexpédiaient immé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é à chaque poste en fonction de sa
|
||
destination, est le fondement d'Internet. C'est ce qu'on appelle un
|
||
réseau par paquets, par opposition au télé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éseaux par circuits. Le premier type est celui du Morse décrit dans
|
||
le numéro précé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égralité de la transmission, et tout
|
||
problème est par essence local.
|
||
</p>
|
||
|
||
<p>
|
||
Le deuxième type de réseau est celui du téléphone : un rendez-vous est
|
||
pris entre les deux parties, une communication physique est établie
|
||
jusqu'à ce que l'un des deux raccroche.
|
||
</p>
|
||
|
||
<p>
|
||
Ces deux types de réseaux ont des avantages et des inconvénients
|
||
opposés. Essentiellement :
|
||
</p>
|
||
|
||
<ul>
|
||
|
||
<li> Un réseau par circuits permet de garantir un débit, une fois la
|
||
connexion effectuée, alors que les paquets sont envoyés à la grâce
|
||
de Dieu.</li>
|
||
|
||
<li> Un réseau par circuits permet aussi de garantir un temps de
|
||
réponse, paramè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 à destination.</li>
|
||
|
||
<li> Un réseau par circuits doit être homogène : une fois la
|
||
connexion établie, le chemin doit se comporter à l'identique sur
|
||
toute sa longueur; sur un réseau par paquets, il est facile de
|
||
construire des passerelles entre des liens de caractéristiques
|
||
physiques différentes.</li>
|
||
|
||
<li> Un réseau par circuits gâche de la bande passante (débit maximal
|
||
de données);: quand deux personnes sont au téléphones mais ne
|
||
parlent pas, la ligne est occupée.</li>
|
||
|
||
<li> Un réseau par paquets est résistant aux pannes : en cas de
|
||
coupure d'un site, les paquets peuvent être détournés sur une
|
||
autre voie.</li>
|
||
|
||
<li> Un réseau par paquets ne garantit rien sur l'intégrité des
|
||
donné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ément prévenu.</li>
|
||
|
||
</ul>
|
||
|
||
<p>
|
||
Actuellement, France Telecom utilise des réseaux par paquets pour
|
||
toutes les communications nationales. En effet, les possibilités de
|
||
réutilisation de la bande passante et de résistance aux pannes sont
|
||
très appréciables; les caractéristiques habituelles en téléphonie
|
||
(conversation continue, pas de perte de son) sont assuré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 émulation de réseau par circuits, par dessus un réseau par paquets
|
||
(et, bizarrement, ça marche).
|
||
</p>
|
||
|
||
<p class="centre"><img src="&url.tuteurs;docs/hublot/hublot03/paquets.png"
|
||
alt="[Schéma du réseau]" /><br /> Figure 1 : Réseau par paquets
|
||
reliant A à B</p>
|
||
|
||
<h2>Le fil qui chante</h2>
|
||
|
||
<p class="centre"><img src="&url.tuteurs;docs/hublot/hublot04/reseau1.png"
|
||
alt="[Sché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ésenter les 0 et les 1 sur un médium adapté. Actuellement, on
|
||
utilise principalement les méthodes suivantes :
|
||
</p>
|
||
|
||
<ul>
|
||
|
||
<li> Modulation de fréquence : les 0 et les 1 sont codés par des sons
|
||
de fréquences différentes (un aigu, un grave); la thé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éphoniques, avec un modem*. On peut
|
||
transmettre quelques centaines de milliers de bits par seconde
|
||
ainsi; les modems sont limités à 56 000 bits par seconde pour
|
||
d'autres raisons.</li>
|
||
|
||
<li> Encodage RLL : un 0 est codé par un changement de polarité, un 1
|
||
par deux changements. On trouve cette méthode sur les réseaux à
|
||
haut débit (chaque bit contient au moins un changement de
|
||
polarité, ce qui permet de conserver la synchronisation entre
|
||
l'émetteur et le récepteur, même lors d'une longue plage de 0). On
|
||
peut monter à 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 à très haut débit sont réalisés par fibre
|
||
optique ou laser; les 0 et les 1 sont alors codés en RLL ou avec
|
||
une méthode analogue. Pour des raisons de coût, seuls certains
|
||
sites font usage de moyens optiques, et pour certaines liaisons
|
||
seulement (l'université d'Évry utilise un laser pour relier deux
|
||
immeubles éloignés de 800 mètres l'un de l'autre).</li>
|
||
</ul>
|
||
|
||
<p>
|
||
Le bruit est ce qui s'oppose au signal ; par exemple, le cours du prof
|
||
c'est le signal, les élèves qui chuchotent c'est le bruit. Au
|
||
télé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ème, car c'est une communication
|
||
point à point sur une ligne réservée (aucun encombrement). En
|
||
revanche, dans un réseau local, on veut connecter plusieurs machines,
|
||
éventuellement beaucoup, et on ne désire pas tendre un câble pour
|
||
chaque paire de machines. L'idé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érents ordinateurs connectés
|
||
dessus.
|
||
</p>
|
||
|
||
<p>
|
||
En <i lang="en">token-ring</i>, un jeton (<i lang="en">token</i>) est
|
||
transmis de station à station ; c'est le droit de parole. Chaque
|
||
station ne peut conserver le jeton que pendant un temps maximal donné,
|
||
mais peut le relâcher immédiatement si elle n'a rien à 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 émettre un message,
|
||
elle espionne le bus jusqu'au moment où il se libère (plus personne ne
|
||
parle pendant un très court instant); elle prend alors la parole,
|
||
d'autorité. Ce faisant, elle continue d'espionner le bus, pour voir si
|
||
la communication passe bien; si elle est brouillée, c'est qu'une autre
|
||
station a eu la même idée en même temps. Dans ce cas, la station (et
|
||
l'autre aussi, car elle est également brouillée) s'arrête, attend un
|
||
temps aléatoire, et recommence. Avec une bonne probabilité, l'autre
|
||
station a attendu un temps aléatoire différent, et les deux messages
|
||
partent sans brouillage. Après un certain nombre d'essais infructueux,
|
||
avec des délais de plus en plus grands, le message est considéré comme
|
||
n'ayant pas pu passer, c'est ce qu'on appelle une collision.
|
||
</p>
|
||
|
||
<p>
|
||
Bizarrement, l'ethernet est très efficace, et partage très
|
||
correctement la bande passante, même quand le bus est chargé. Il a
|
||
l'avantage d'être très décentralisé : aucune station n'a besoin de
|
||
savoir qui, au juste, est présent sur le bus, et une station éteinte
|
||
n'empê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çon câble
|
||
d'antenne de télévision), passant par toutes les stations et terminés
|
||
aux deux bouts par des résistances, avec une longueur maximale de 185
|
||
mètres (ou 550 mètres si on emploie du gros câble blindé,
|
||
traditionnellement jaune). Cette méthode a l'inconvé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 établit des structures arborescentes : chaque station
|
||
est reliée, par un câble personnel, à un hub, une sorte de multiprise
|
||
amplifiée. Les hubs sont reliés entre eux via des câbles similaires ;
|
||
chaque hub reproduit sur toutes les autres prises ce qu'il reç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éma]" />
|
||
Figure 3 : Réseau ethernet arborescent (RJ45)</p>
|
||
|
||
<h2>Internet dans tout ça</h2>
|
||
|
||
<p>
|
||
On a vu, dans la section précédente, comment relier ensemble deux
|
||
stations pour qu'elles puissent s'échanger des données, pas forcément
|
||
de façon fiable, et sans garantie de débit. Ces méthodes sont locales,
|
||
et il convenait de passer à un réseau global. Ceci a été effectué
|
||
grâce au réseau Internet, dérivé de l'Arpanet au cours des années 1970
|
||
(Arpanet était le réseau des militaires américains).
|
||
</p>
|
||
|
||
<p>
|
||
Le principe est le suivant : quand une station veut envoyer un message
|
||
à 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ésent. Dans le cas contraire, elle envoie le message à une
|
||
station dont elle sait qu'elle est plus qualifiée qu'elle pour
|
||
résoudre ce problème. La station qualifiée est nommé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ée de l'adresse
|
||
<code>129.199.129.10</code>. Ces adresses sont mondiales, et toutes
|
||
les adresses commençant par <code>129.199</code> sont réservées à
|
||
l'ENS.
|
||
</p>
|
||
|
||
<h3>Un exemple à l'École</h3>
|
||
|
||
<p>
|
||
Prenons l'exemple de galion, tentant d'envoyer un message (sous la
|
||
forme d'un paquet IP, comme Internet Protocol) à aviso, en
|
||
Infirmatique.
|
||
</p>
|
||
|
||
<p>
|
||
galion, d'adresse <code>129.199.129.10</code>, sait qu'elle est reliée
|
||
directement à toutes les stations dont l'adresse commence par
|
||
<code>129.199.129</code>. Or, aviso a l'adresse
|
||
<code>129.199.128.1</code> ; galion, constatant cela, décide de
|
||
transmettre le paquet à sa passerelle, à 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ème lien depuis son deuxiè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 à finn, et
|
||
se désintéresse lui aussi de la question.
|
||
</p>
|
||
|
||
<p>
|
||
finn possède aussi deux visages, le second étant finn128
|
||
(<code>129.199.128.254</code>), relié 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ître les adresses contactables directement, et une passerelle
|
||
pour les autres cas. Les routeurs, eux, doivent avoir une notion
|
||
locale de la hiérarchie (clipper doit connaî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 à la volée :
|
||
clipper peut tout envoyer sur la machine par défaut (renater), qui lui
|
||
signalera à chaque fois qu'il existe une route plus directe ne passant
|
||
pas par lui; clipper s'en rappellera pendant quelques minutes. Ce
|
||
mécanisme, dit de routage dynamique, est un peu délicat à mettre en
|
||
place, aussi on s'en sert avec parcimonie (il est aisé d'obtenir, à la
|
||
suite d'un malentendu, une partie de ping-pong, où deux stations
|
||
considèrent, pour un paquet donné, que l'autre station est la
|
||
passerelle à utiliser).
|
||
</p>
|
||
|
||
<p>
|
||
Et voilà, ceci est Internet : des stations qui s'é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 à effectuer
|
||
plus de 30 sauts pour faire le trajet d'une station à une autre. Les
|
||
paquets peuvent être fractionnés et recombinés au gré des routeurs,
|
||
afin de s'adapter aux spécificités locales de la liaison.
|
||
</p>
|
||
|
||
<p>
|
||
Le chemin entre deux stations n'est pas forcément unique ; ceci permet
|
||
une tolérance aux pannes ou une adaptation aux
|
||
embouteillages. Notamment, les communications à grande échelle sont
|
||
alors résistantes aux attaques nucléaires (c'est ce qui plaisait aux
|
||
militaires américains). Une conséquence de ce fait est que deux
|
||
paquets successifs ne suivent pas forcément le même chemin; ils
|
||
peuvent notamment arriver dans le désordre, et certains peuvent être
|
||
dupliqués (quand une passerelle cherche à savoir, via un protocole
|
||
approprié, si un paquet est arrivé, et, ne voyant rien venir, en émet
|
||
un autre, alors que le premier était simplement parti par un chemin
|
||
détourné).
|
||
</p>
|
||
|
||
<p class="centre"><img
|
||
src="&url.tuteurs;docs/hublot/hublot05/reseau-ens.png" alt="[Une
|
||
partie du routage à l'ENS]" /><br /> Figure 4 : Une partie du routage
|
||
à l'ENS</p>
|
||
|
||
<h2>Le plombier et le facteur</h2>
|
||
|
||
<p>
|
||
Nous voilà en position d'envoyer des paquets à travers le monde. Mais
|
||
avec une fiabilité douteuse. On a principalement deux problèmes :
|
||
</p>
|
||
|
||
<ul>
|
||
<li> On voudrait qu'une même station puisse tenir plusieurs
|
||
conversations à la fois, sur des sujets différents. On a donc
|
||
inventé des sous-adresses, des boîtes aux lettres différenciées,
|
||
qu'on appelle les ports. Un port est un numéro entre 0 et 65 535;
|
||
la plupart des services ont un port canonique (25 pour le courrier
|
||
électronique, 80 pour le Web, etc) ;</li>
|
||
<li> On voudrait un protocole permettant d'assurer l'intégrité des
|
||
données (remise dans l'ordre, accusés de réception et ré-émission
|
||
des paquets perdus, contrôle de flux), si possible intégré dans le
|
||
système d'exploitation, pour que les applications puissent s'en
|
||
servir sans se prendre la tête.</li>
|
||
</ul>
|
||
|
||
<p>Deux protocoles ont donc été créés (un protocole est aux données ce
|
||
que le langage est à une conversation : c'est le « règlement »). Le
|
||
premier, <strong>UDP</strong> (<i lang="en">User Datagram
|
||
Protocol</i>) est une surcouche triviale (couche supplémentaire
|
||
reproduisant la structure sous-jacente) d'IP : on envoie des paquets,
|
||
sans garantie, d'une taille maximale de 8 192 octets (pour les
|
||
données; il y a aussi un entê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ôlé afin de ne pas
|
||
provoquer d'embouteillage, est établi entre deux stations, sur un
|
||
certain port.
|
||
</p>
|
||
|
||
<p>
|
||
TCP est le plus utilisé. UDP est utilisé pour certains protocoles où
|
||
l'ordre d'arrivée des données n'est pas important, ou quand les
|
||
données sont rapidement obsolètes. Par exemple, dans le cas de NFS
|
||
(partage de disques par réseau), l'ordre des requêtes n'est pas
|
||
primordial; quand on fait du téléphone par Internet, si un paquet se
|
||
perd, autant l'oublier: sa doublure arriverait trop tard pour
|
||
s'intégrer dans le flux sonore.
|
||
</p>
|
||
|
||
<h3>Les applications</h3>
|
||
|
||
<p>
|
||
La face visible d'Internet est formé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ée de faire la correspondance entre les
|
||
adresses numériques, et les noms de stations, noms qui sont destinés
|
||
aux humains. Ainsi, c'est le système des DNS qui permet à toute
|
||
station dans le monde de savoir que <code>clipper.ens.fr</code> répond
|
||
à 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'échanger des
|
||
courriers électroniques. De façon similaire au transport des paquets
|
||
IP, un courrier peut effectuer quelques sauts (à chaque fois sous la
|
||
forme d'une connexion TCP) entre serveurs de mails avant d'arriver à
|
||
destination. Par exemple, à 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ées, celle sur
|
||
le port 21 transporte les commandes).
|
||
</p>
|
||
|
||
<h4>NFS (<i lang="en">Network File System</i>)</h4>
|
||
|
||
<p>
|
||
Créé par Sun Microsystems, ce protocole de partage de disques permet,
|
||
à l'ENS, de pouvoir manipuler ses fichiers quelle que soit la station
|
||
qu'on utilise. Alors qu'il est souvent décrié, 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î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é
|
||
http, indiquant le protocole utilisé, puis contient le nom du serveur
|
||
Web, puis enfin le nom du fichier (avec é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 édifice aux proportions bibliques fonctionne la
|
||
plupart du temps. Néanmoins, quand une rupture générale de la Force
|
||
arrive, on peut se retrouver avec beaucoup de problèmes, tous
|
||
différents. Voici quelques spécimens:
|
||
</p>
|
||
|
||
<h3>Ping-pong</h3>
|
||
|
||
<p>
|
||
Deux routeurs se renvoient des paquets, chacun ayant décidé que Le Bon
|
||
Chemin passe par l'autre. Cela se diagnostique avec la commande Unix
|
||
<code>traceroute</code>. Solution : maudire <a
|
||
href="http://www.renater.fr/">Renater</a> (le fournisseur d'accès
|
||
Internet de l'ENS, grand spécialiste du tennis de table) et attendre
|
||
que les routeurs oublient d'être stupides.
|
||
</p>
|
||
|
||
<h3>Panne des DNS</h3>
|
||
|
||
<p>
|
||
Les DNS forment une structure hiérarchique qui a tendance à s'écrouler
|
||
d'un coup. Dans ces conditions, tout semble figé, sauf si on utilise
|
||
directement les adresses numériques; mais il est difficile de retenir
|
||
par coeur 4 milliards d'adresses... Le diagnostic : la commande
|
||
<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>
|
||
Votre station est bloquée, des messages « <i lang="en">NFS server not
|
||
responding, still trying</i> » apparaissent. C'est typique du serveur
|
||
NFS (celui qui possède, physiquement, les disques partagés) qui a pris
|
||
des vacances. Il faut attendre le reboot du serveur. NFS étant bien
|
||
fait, cela débloquera les machines sans conséquence funeste pour les
|
||
opé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
|
||
conséquences sont semblables à un plantage NFS : il faut attendre le
|
||
retour du serveur NIS. Une fois qu'il est revenu, tout remarche, rien
|
||
n'a été perdu.
|
||
</p>
|
||
|
||
<h3>Embouteillage</h3>
|
||
|
||
<p>
|
||
Une partie du réseau est à genoux. La plupart des paquets s'égarent,
|
||
tout va lentement, c'est horrible. Pas de solution, sinon espérer que
|
||
de nouvelles lignes seront bientôt mises en place, pester contre ces
|
||
milliers de crétins qui ne pensent qu'à récupérer les dernières photos
|
||
de Pamela Anderson, et revenir se connecter à une heure plus adaptée
|
||
(pour les États-Unis, la bonne heure est 6 heures du matin : les
|
||
Américains sont couchés, les Européens pas encore levés).
|
||
</p>
|
||
|
||
<p>
|
||
Il existe beaucoup d'autres pannes possibles, plus ésoté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èmes comprend une partie animée par
|
||
Jacques Beigbeder, qui décrit, entre autres, le fonctionnement du
|
||
réseau.
|
||
</p>
|
||
|
||
<p>
|
||
Les gens motivés se référeront aux RFC (<i lang="en">Request For
|
||
Comments</i>). Ce sont les documents de référence ; on les trouve là :
|
||
<a href="http://www.ietf.org/rfc.html">http://www.ietf.org/rfc.html</a>
|
||
</p>
|
||
|
||
<p>
|
||
Le protocole IP est décrit dans la <a
|
||
href="http://www.faqs.org/rfcs/rfc791.html">RFC 791</a>.
|
||
</p>
|
||
|
||
<div class="metainformation">Auteur : Thomas Pornin. Dernière
|
||
modification : le <date value="$Date: 2004-06-10 15:55:24 $" />.</div>
|
||
|
||
</body>
|
||
</html>
|