Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauNicolas Roulleau
Rapport du projet Application Web De Domotique Arduino réalisé par Adrien Liotard et Nicolas Roulleau dans le cadre de leur dernière année de cycle ingénieur à l'ISTIA (49).
mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...Bassirou Dime
La virtualisation des classes constitue un projet très important pour le Sénégal mais aussi pour
la plupart des pays africains comme la cote d’ivoire, le Ghana qui envoient des consultants au
Sénégal uniquement pour mieux comprendre comment marche concrètement notre université
virtuelle qui est aujourd’hui un modèle de référence pour le continent africain.
C’est dans une démarche de réduire les distances entre les professeurs et les étudiants que
nous avions pensés mettre en place un système, une solution adaptée permettant de répondre
aux difficultés que rencontre les étudiants du département génie informatique en période de
stage de fin d’année .
Ainsi, le gain de temps est le premier avantage qu’offre ce système.
En effet, le temps perdu lié à la nécessité de se déplacer pour rencontrer son maitre de stage
ou son professeur encadrant, les réunions pédagogiques, est précieux et pourrait être consacré
à bien d’autres activités beaucoup plus productives et plus bénéfiques.
L’utilisation de ce système de classes virtuelles non seulement pour les étudiants mais aussi
pour les professeurs s’avère donc être la solution idéale qui permettra d’économiser à la fois
du temps et de l’énergie.
Le partage de fichiers textes interactifs, la vidéo conférence, les chats instantanés le partage de
bureau bref toutes ces fonctionnalités font de notre système de classes virtuelles un moyen
d’apprentissage, pédagogique, collaboratif très utile pour une éducation performante, de
qualité et surtout très propice à nos pays africains, vu le nombre interminable de bacheliers
dans nos universités
Rapport Projet Application Web De Domotique Arduino - Liotard RoulleauNicolas Roulleau
Rapport du projet Application Web De Domotique Arduino réalisé par Adrien Liotard et Nicolas Roulleau dans le cadre de leur dernière année de cycle ingénieur à l'ISTIA (49).
mise en place d'un système de classes virtuelles utilisant le webRTC + openfi...Bassirou Dime
La virtualisation des classes constitue un projet très important pour le Sénégal mais aussi pour
la plupart des pays africains comme la cote d’ivoire, le Ghana qui envoient des consultants au
Sénégal uniquement pour mieux comprendre comment marche concrètement notre université
virtuelle qui est aujourd’hui un modèle de référence pour le continent africain.
C’est dans une démarche de réduire les distances entre les professeurs et les étudiants que
nous avions pensés mettre en place un système, une solution adaptée permettant de répondre
aux difficultés que rencontre les étudiants du département génie informatique en période de
stage de fin d’année .
Ainsi, le gain de temps est le premier avantage qu’offre ce système.
En effet, le temps perdu lié à la nécessité de se déplacer pour rencontrer son maitre de stage
ou son professeur encadrant, les réunions pédagogiques, est précieux et pourrait être consacré
à bien d’autres activités beaucoup plus productives et plus bénéfiques.
L’utilisation de ce système de classes virtuelles non seulement pour les étudiants mais aussi
pour les professeurs s’avère donc être la solution idéale qui permettra d’économiser à la fois
du temps et de l’énergie.
Le partage de fichiers textes interactifs, la vidéo conférence, les chats instantanés le partage de
bureau bref toutes ces fonctionnalités font de notre système de classes virtuelles un moyen
d’apprentissage, pédagogique, collaboratif très utile pour une éducation performante, de
qualité et surtout très propice à nos pays africains, vu le nombre interminable de bacheliers
dans nos universités
Impact des Critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les...mrelmejri
J'ai réalisé ce projet pour obtenir mon diplôme en licence en sciences de gestion, spécialité management, à l'ISCAE Manouba. Au cours de mon stage chez Attijari Bank, j'ai été particulièrement intéressé par l'impact des critères Environnementaux, Sociaux et de Gouvernance (ESG) sur les décisions d'investissement dans le secteur bancaire. Cette étude explore comment ces critères influencent les stratégies et les choix d'investissement des banques.
Formation M2i - Onboarding réussi - les clés pour intégrer efficacement vos n...M2i Formation
Améliorez l'intégration de vos nouveaux collaborateurs grâce à notre formation flash sur l'onboarding. Découvrez des stratégies éprouvées et des outils pratiques pour transformer l'intégration en une expérience fluide et efficace, et faire de chaque nouvelle recrue un atout pour vos équipes.
Les points abordés lors de la formation :
- Les fondamentaux d'un onboarding réussi
- Les outils et stratégies pour un onboarding efficace
- L'engagement et la culture d'entreprise
- L'onboarding continu et l'amélioration continue
Formation offerte animée à distance avec notre expert Eric Collin
Conseils pour Les Jeunes | Conseils de La Vie| Conseil de La JeunesseOscar Smith
Besoin des conseils pour les Jeunes ? Le document suivant est plein des conseils de la Vie ! C’est vraiment un document conseil de la jeunesse que tout jeune devrait consulter.
Voir version video:
➡https://youtu.be/7ED4uTW0x1I
Sur la chaine:👇
👉https://youtube.com/@kbgestiondeprojets
Aimeriez-vous donc…
-réussir quand on est jeune ?
-avoir de meilleurs conseils pour réussir jeune ?
- qu’on vous offre des conseils de la vie ?
Ce document est une ressource qui met en évidence deux obstacles qui empêchent les jeunes de mener une vie épanouie : l'inaction et le pessimisme.
1) Découvrez comment l'inaction, c'est-à-dire le fait de ne pas agir ou d'agir alors qu'on le devrait ou qu'on est censé le faire, est un obstacle à une vie épanouie ;
> Comment l'inaction affecte-t-elle l'avenir du jeune ? Que devraient plutôt faire les jeunes pour se racheter et récupérer ce qui leur appartient ? A découvrir dans le document ;
2) Le pessimisme, c'est douter de tout ! Les jeunes doutent que la génération plus âgée ne soit jamais orientée vers la bonne volonté. Les jeunes se sentent toujours mal à l'aise face à la ruse et la volonté politique de la génération plus âgée ! Cet état de doute extrême empêche les jeunes de découvrir les opportunités offertes par les politiques et les dispositifs en faveur de la jeunesse. Voulez-vous en savoir plus sur ces opportunités que la plupart des jeunes ne découvrent pas à cause de leur pessimisme ? Consultez cette ressource gratuite et profitez-en !
En rapport avec les " conseils pour les jeunes, " cette ressource peut aussi aider les internautes cherchant :
➡les conseils pratiques pour les jeunes
➡conseils pour réussir
➡jeune investisseur conseil
➡comment investir son argent quand on est jeune
➡conseils d'écriture jeunes auteurs
➡conseils pour les jeunes auteurs
➡comment aller vers les jeunes
➡conseil des jeunes citoyens
➡les conseils municipaux des jeunes
➡conseils municipaux des jeunes
➡conseil des jeunes en mairie
➡qui sont les jeunes
➡projet pour les jeunes
➡conseil des jeunes paris
➡infos pour les jeunes
➡conseils pour les jeunes
➡Quels sont les bienfaits de la jeunesse ?
➡Quels sont les 3 qualités de la jeunesse ?
➡Comment gérer les problèmes des adolescents ?
➡les conseils de jeunes
➡guide de conseils de jeunes
Newsletter SPW Agriculture en province du Luxembourg du 12-06-24BenotGeorges3
Les informations et évènements agricoles en province du Luxembourg et en Wallonie susceptibles de vous intéresser et diffusés par le SPW Agriculture, Direction de la Recherche et du Développement, Service extérieur de Libramont.
Le fichier :
Les newsletters : https://agriculture.wallonie.be/home/recherche-developpement/acteurs-du-developpement-et-de-la-vulgarisation/les-services-exterieurs-de-la-direction-de-la-recherche-et-du-developpement/newsletters-des-services-exterieurs-de-la-vulgarisation/newsletters-du-se-de-libramont.html
Bonne lecture et bienvenue aux activités proposées.
#Agriculture #Wallonie #Newsletter #Recherche #Développement #Vulgarisation #Evènement #Information #Formation #Innovation #Législation #PAC #SPW #ServicepublicdeWallonie
Cycle de Formation Théâtrale 2024 / 2025Billy DEYLORD
Pour la Saison 2024 / 2025, l'association « Le Bateau Ivre » propose un Cycle de formation théâtrale pour particuliers amateurs et professionnels des arts de la scène enfants, adolescents et adultes à l'Espace Saint-Jean de Melun (77). 108 heures de formation, d’octobre 2024 à juin 2025, à travers trois cours hebdomadaires (« Pierrot ou la science de la Scène », « Montage de spectacles », « Le Mime et son Répertoire ») et un stage annuel « Tournez dans un film de cinéma muet ».
3. UNIX est une marque d
epos
ee de X/Open.
Linux n'est pas une marque d
epos
ee, et n'a aucun lien avec UNIXTM ou X/Open.
Copyright c 1995 Olaf Kirch
Kattreinstr. 38, 64295 Darmstadt, Germany
okir@monad.swb.de
Adaptation fran
caise Ren
e Cougnenc (rene@renux.frmug.fr.net)
14. TABLE DES FIGURES xv
Table des gures
1.1 L'envoi d'un datagramme entre erdos et quark se fait en trois
etapes. 9
2.1 Subdivision d'un r
eseau de classe B : : : : : : : : : : : : : : : : : : : 24
2.2 Une partie de la topologie du r
eseau
a l'universit
e Groucho Marx. : : 26
2.3 Une partie de l'espace de nommage. : : : : : : : : : : : : : : : : : : : 30
2.4 Un extrait du chier named.hosts pour le D
epartement de Physique. : 35
2.5 Un extrait du chier named.hosts de l'universit
e Groucho Marx. : : : 36
2.6 Un extrait du chier named.rev du sous-r
eseau 12. : : : : : : : : : : : 37
2.7 Un extrait du chier named.rev du r
eseau 149.76. : : : : : : : : : : : 37
3.1 Les relations entre les interfaces, les pilotes et le mat
eriel. : : : : : : : 40
5.1 Les deux sous-r
eseaux des brasseurs et viticulteurs. : : : : : : : : : : 64
6.1 Exemple de chier host.conf. : : : : : : : : : : : : : : : : : : : : : : : 85
6.2 Le chier named.boot de la machine kro. : : : : : : : : : : : : : : : : : 89
6.3 Le chier named.ca. : : : : : : : : : : : : : : : : : : : : : : : : : : : : 96
6.4 Le chier named.hosts. : : : : : : : : : : : : : : : : : : : : : : : : : : 97
6.5 Le chier named.local. : : : : : : : : : : : : : : : : : : : : : : : : : : : 97
6.6 Le chier named.rev. : : : : : : : : : : : : : : : : : : : : : : : : : : : : 98
7.1 Un exemple de script pour le programme dip. : : : : : : : : : : : : : : 106
9.1 Un exemple de chier /etc/inetd.conf. : : : : : : : : : : : : : : : : : : 133
9.2 Exemple de chier /etc/services (extrait). : : : : : : : : : : : : : : : : 136
9.3 Exemple de chier /etc/protocols. : : : : : : : : : : : : : : : : : : : : 137
15. xvi TABLE DES FIGURES
9.4 Un extrait du chier /etc/rpc. : : : : : : : : : : : : : : : : : : : : : : 138
10.1 Exemple de chier nsswitch.conf. : : : : : : : : : : : : : : : : : : : : : 153
12.1 Interaction des chiers de con guration de Taylor UUCP. : : : : : : : 176
15.1 Exemple du chier de con guration gueuze.m4. : : : : : : : : : : : : : 240
15.2 Exemple de chier aliases. : : : : : : : : : : : : : : : : : : : : : : : : : 249
16.1 Circuit des News Usenet
a l'universit
e Groucho Marx. : : : : : : : : : 264
17.1 Flux des News par relaynews. : : : : : : : : : : : : : : : : : : : : : : : 269
16. Pr
eface xvii
Pr
eface
Vous ^
etes sur le point de vous embarquer dans une fantastique aventure: vous allez
entrer dans le monde de Linux. Pour r
esumer, Linux vous rappellera l'esprit qui
r
egnait dans les premiers jours de la micro-informatique, o
u programmeurs g
eniaux
et bidouilleurs passionn
es passaient des nuits blanches avec un oscilloscope et un fer
a souder pour construire leur propre micro-ordinateur. Les temps ont chang
e, les
outils aussi; les d
ebogueurs ont remplac
e la soudure, mais l'
etat d'esprit est toujours
pr
esent. Linux est n
e de cette passion, et gr^
ace
a lui vous disposez d'un syst
eme UNIX
pour votre micro-ordinateur, n'ayant rien
a envier aux autres impl
ementations.
Malgr
e ses origines, Linux a
evolu
e et n'est plus r
eserv
e aux programmeurs aver-
tis. Chaque jour, des milliers de personnes, de toute culture informatique, adoptent
ce syst
eme d'exploitation pour toutes sortes d'applications techniques, scienti ques,
educatives, et... bien s^
ur, pour le plaisir aussi.
Mais comment Linux a-t-il pu devenir aussi perfectionn
e et performant, aussi c
el
ebre
et appr
eci
e, sans ^
etre d
evelopp
e par une
equipe de professionnels surpay
es? Le FBI
devrait-il ouvrir une enqu^
ete sur ce myst
ere? Que se cache-t-il l
a-dessous?
La coop
eration. Tout le secret est l
a. Linux est libre, dans tous les sens du terme.
Cette id
ee de libert
e, partag
ee par tous les programmeurs ayant r^
ev
e de poss
eder un
jour leur propre syst
eme UNIX, a permis de r
ealiser des miracles, chacun apportant sa
pierre
a l'
edi ce. Demandez
a n'importe quel d
eveloppeur pourquoi il passe des nuits
enti
eres
a travailler sur les sources de Linux. Tous auront la m^
eme r
eponse: la passion
de programmer, et d'o rir le meilleur
a la communaut
e, librement, sans contraintes.
Vous ne r
ealisez peut-^
etre pas qu'en utilisant Linux, vous contribuez
a l'essor du
logiciel libre, dans le monde entier. Le libre acc
es aux programmes, avec la possibilit
e
de les modi er et de les distribuer sans restrictions, est consid
er
epar beaucoup comme
un droit fondamental de tout utilisateur d'ordinateur; au m^
eme titre que les droits de
l'homme, la libert
e, la recherche de plus gros disques durs, et le digestif apr
es le caf
e.
Le logiciel d
e nit comment sont utilis
ees les machines, le syst
eme d'exploitation en
etant le tout premier exemple. En choisissant un syst
eme, vous d
eterminez la mani
ere
dont votre ordinateur fonctionnera, depuis l'interface utilisateur jusqu'aux pilotes de
p
eriph
eriques.
17. xviii Pr
eface
Linux a l'
enorme avantage d'^
etre d
evelopp
e par, et pour ses utilisateurs. Le march
e du
logiciel n'a aucune in uence sur ses orientations: ce sont les besoins des utilisateurs
qui les d
e nissent. Cette situation est bien plus saine que de tenter de conqu
erir un
(
( march
e)
), ou de r
ealiser des pro ts. Cela ne convient sans doute pas
a tout le monde,
mais tous ceux qui l'utilisent peuvent avoir une in uence sur son avenir. Pour tout
dire, Linux est votre syst
eme d'exploitation personnel, domestique, bien
a vous. Ce
sera votre compagnon de tous les jours. Que trouver de mieux?
Power to the people. Linux is here.
Matt Welsh, coordinateur du groupe de documentation Linux, 9 novembre 1994.
18. 1
Chapitre 1
Introduction aux r
eseaux
1.1 Historique
La notion de r
eseau est probablement aussi ancienne que le besoin de communiquer
a distance. Transportons-nous
a l'^
age de pierre, et imaginons que les hommes s'en-
voyaient des messages en frappant sur des tambours ou autres instruments
a percus-
sion. Supposons que l'homme des cavernes A veuille inviter son copain B pour jouer
a se lancer des cailloux, mais qu'ils habitent trop loin l'un de l'autre pour pouvoir
entendre leurs signaux sonores respectifs. Quelles sont les solutions possibles? Il pour-
rait 1) rendre visite
a B, 2) prendre un tambour plus gros, ou 3) demander
a C, qui
habite
a mi-chemin, de faire passer le message. Cette derni
ere solution s'appelle un
r
eseau.
Bien s^
ur, nous avons parcouru un long chemin depuis les occupations primaires et les
p
eriph
eriques primitifs de nos lointains anc^
etres. De nos jours, nous poss
edons des
ordinateurs qui peuvent communiquer entre eux par l'interm
ediaire d'une vaste toile
d'araign
ee de c^
ables, bres optiques, micro-ondes ou bien d'autres solutions de haute
technologie, a n de pouvoir prendre rendez-vous pour le match de football de samedi
prochain1. Dans la description qui va suivre, nous verrons les moyens et m
ethodes
mis en uvre, mais nous laisserons de c^
ot
e les c^
ables et la manifestation sportive.
Nous aborderons deux types de r
eseaux dans ce guide: ceux bas
es sur UUCP et
ceux bas
es sur TCP/IP. Ce sont des ensembles de protocoles et de programmes qui
permettent de transf
erer des donn
ees entre deux ordinateurs. Dans ce chapitre, nous
verrons les principes de base de chacun de ces r
eseaux.
Nous d
e nissons un r
eseau comme
etant un ensemble d'h^
otes capables de communi-
quer entre eux, souvent en s'appuyant sur les services d'un certain nombre d'autres
h^
otes sp
ecialis
es qui relayent les donn
ees entre les participants. Ces h^
otes sont tr
es
1: Dont l'esprit original (voir ci-dessus) appara^
t encore de temps en temps en Europe.
19. 2 Chapitre 1. Introduction aux r
eseaux
souvent des ordinateurs, mais ce n'est pas obligatoire; ce peut ^
etre tout aussi bien
des terminaux X ou des imprimantes intelligentes. Les petits ensembles d'h^
otes sont
appel
es sites.
Toute communication est impossible sans le truchement de quelque sorte de langage,
ou de code. Dans le monde des r
eseauxd'ordinateurs,ces codes sont appel
esprotocoles.
Toutefois, n'associez pas cette notion aux divers langages
ecrits, mais plut^
ot aux codes
bien pr
ecis d
e nissant le comportement
a adopter lors de rencontres ocielles entre
chefs d'
Etats, par exemple. Les protocoles utilis
es dans les r
eseaux informatiques ne
sont pas autre chose que des r
egles tr
es strictes lors de l'
echange de messages entre
plusieurs h^
otes.
1.2 R
eseaux UUCP
UUCP est l'abr
eviation de UNIX-to-UNIX Copy. C'
etait
a l'origine un ensemble de
programmes destin
es
a transf
erer des chiers par des lignes de communication s
erie,
plani er ces transferts, et lancer l'ex
ecution de programmes sur les sites distants. Il a
subi de profondes modi cations vers la n des ann
ees 70, mais reste toujours spartiate
quant aux services o erts. Son application principale r
eside encore dans les r
eseaux
a
longue distance b^
atis sur des liaisons t
el
ephoniques.
UUCP fut cr
e
e aux laboratoires Bell en 1977, pour permettre
a leurs di
erents sites de
d
eveloppement UNIX de communiquer. Vers le milieu de l'ann
ee 1978, ce r
eseau reliait
d
ej
a pr
es de 80 sites, autorisant le courrier
electronique et l'impression
a distance, bien
que sa plus grande utilisation f^
ut alors la distribution de nouveaux programmes et de
corrections de bogues. Aujourd'hui, UUCP n'est plus con n
e dans l'environnement
UNIX: il en existe des impl
ementations, libres ou commerciales, pour une grande
vari
et
e de plates-formes, dont AmigaOS, DOS, le TOS Atari, etc.
Le plus gros inconv
enient des r
eseaux UUCP est leur faible bande passante: d'une
part, l'
equipement t
el
ephonique limite la vitesse de la liaison
a des valeurs assez
faibles; et d'autre part, il s'agit rarement de connexions permanentes, chaque h^
ote
appelant ses correspondants
a intervalles r
eguliers. Par cons
equent, chaque fois qu'un
courrier doit traverser un r
eseau UUCP, il reste bloqu
e sur le disque dur de chaque
machine en attendant que la prochaine connexion soit
etablie.
Malgr
e ces limitations, il existe encore de nombreux r
eseaux UUCP en fonctionnement
dans le monde entier, exploit
es principalement par des amateurs, qui permettent
a des
particuliers d'obtenir un service pour un prix raisonnable. La raison principale de la
popularit
e d'UUCP, est son prix d
erisoire en comparaison d'une connexion au (
( gros
c^
able Internet )
) : il sut d'un modem, d'une impl
ementation correcte du protocole,
et d'un autre site UUCP vous fournissant le courrier et les News Usenet pour ne plus
^
etre isol
e du monde.
20. 1.2. R
eseaux UUCP 3
1.2.1 Comment utiliser UUCP
Le principe d'UUCP est tr
es simple: comme son nom l'indique, il copie des chiers
d'une machine vers une autre, mais il permet
egalement d'e ectuer certaines actions
sur le site distant.
Supposons que votre machine poss
ede un acc
es
a un h^
ote hypoth
etique appel
e renux,
et que vous vouliez qu'il ex
ecute la commande d'impression lpr pour vous. Vous pouvez
taper la commande suivante pour imprimer ce livre sur renux2 :
$ uux -r renux!lpr !netguide.dvi
Cela fera que le programme uux, une commande de l'ensemble UUCP, plani era un job
pour le site renux. Ce job consistera
a prendre le chier netguide.dvi et le passer au
programme lpr. L'option -r indique
a uux de ne pas appeler imm
ediatement le syst
eme
distant, mais de stocker cette requ^
ete jusqu'
a ce qu'une connexion soit
etablie. Cela
s'appelle spouler3.
UUCP permet aussi de transmettre commandes et chiers
a travers plusieurs h^
otes,
a condition que ces derniers l'autorisent. Supposons que renux soit en liaison UUCP
avec groucho, qui archive de nombreuses applications UNIX. Pour t
el
echarger le
chier tripwire-1.0.tar.gz vers votre site, vous taperiez la commande:
$ uucp -mr renux!groucho!~/security/tripwire-1.0.tar.gz trip.tgz
Le job cr
e
e ici demandera
a renux de r
ecup
erer le chier sur la machine groucho
et de l'envoyer
a votre site, o
u votre UUCP le recevra sous le nom trip.tgz; puis
vous avertira par courrier de son arriv
ee. Cette op
eration s'e ectuera en trois
etapes.
Tout d'abord, votre site envoie le job
a renux. La prochaine fois que renux
etablira
le contact avec groucho, il t
el
echargera le chier. En n, la derni
ere
etape sera le
transfert entre renux et votre machine.
De nos jours, la principale activit
e des r
eseaux UUCP consiste
a transf
erer le courrier
electronique et les News Usenet.
Le courrier
electronique (E-mail en abr
eg
e) permet d'
echanger des messages entre
utilisateurs de sites distants, sans se pr
eoccuper de savoir comment se connecter sur
ces h^
otes. Le travail de routage entre votre machine et le site distant est enti
erement
r
ealis
e par le syst
eme de courrier
electronique. Dans un environnement UUCP, les
messages sont g
en
eralement transport
es en ex
ecutant la commande rmail sur un h^
ote
voisin, en passant l'adresse du destinataire et le contenu du courrier. Le programme
rmail transmettra
a son tour les donn
ees
a un autre site, et ainsi de suite jusqu'
a
ce qu'il atteigne la machine de destination. Nous reviendrons l
a-dessus plus en d
etail
dans le chapitre 13.
2: Si vous utilisez bash, le GNU Bourne Again Shell, ou tout autre shell moderne, vous devrez
encoder le point d'exclamation par une s
equence d'
echappement car c'est le caract
ere d'historique.
3: Nous sommes d
esol
es, il s'agit bien de l'expression
a utiliser en fran
cais pour le spooling...
21. 4 Chapitre 1. Introduction aux r
eseaux
Les (
( News )
) peuvent ^
etre d
ecrites comme un genre de messageries BBS4 distribu
ees.
Ce terme d
esigne le plus souvent les News Usenet, qui constituent le plus grand r
eseau
d'
echange de messages au monde, avec un nombre de sites connect
es estim
e
a 120000.
Les origines de Usenet remontent
a 1979, o
u apr
es l'introduction d'UUCP avec le
nouvel UNIX V7, trois
etudiants imagin
erent un syst
eme d'
echange d'informations
au sein de la communaut
e UNIX. Ils
ecrivirent quelques scripts, qui form
erent le tout
premier syst
eme de News. En 1980, ce r
eseau
etait form
e de trois sites; duke, unc
et phs, entre deux universit
es de Caroline du Nord. Et Usenet grandit
a partir de l
a.
Bien que con
cu
a l'origine autour de UUCP, de nos jours Usenet n'est plus transport
e
par ce seul type de r
eseau.
L'unit
e d'information est l'article, qui peut ^
etre post
e dans une hi
erarchie de forums,
ou newsgroups, dont le d
ebit peut atteindre,
a l'heure o
u nous
ecrivons ces lignes, plus
de 100 m
egaoctets par jour.
Dans le monde UUCP, les News sont en g
en
eral transf
er
ees par paquets, en rassem-
blant tous les articles des forums demand
es dans un certain nombre de batches. Le
site r
ecepteur passe ces chiers au programme rnews, qui les d
ecompacte et assure le
traitement n
ecessaire.
En n, UUCP est
egalement un protocole de choix pour de nombreux sites d'archivage
qui o rent un acc
es public par ligne t
el
ephonique ordinaire. On peut g
en
eralement
s'y connecter en les appelant par UUCP, sous un nom d'utilisateur invit
e, comme
guest, nuucp ou encore uucp, pour t
el
echarger les chiers publics. Les mots de
passe courants pour ce type d'acc
es sont souvent simplement uucp, nuucp, parfois
m^
eme aucun mot de passe n'est n
ecessaire.
1.3 R
eseaux TCP/IP
Bien qu'UUCP puisse ^
etre un choix raisonnable pour des liaisons t
el
ephoniques
a
faible co^
ut, il est de nombreuses situations o
u sa technique de routage des informations
s'av
ere trop rigide, inadapt
ee; c'est le cas par exemple dans les r
eseaux locaux, ou
LAN5. Ceux-ci sont en g
en
eral constitu
es d'un petit nombre de machines situ
ees dans
le m^
eme b^
atiment, voireau m^
eme
etage,interconnect
eesa n d'o rir un environnement
de travail
etendu, puissant et homog
ene. Des exemples typiques sont le partage de
chiers entre les di
erents h^
otes, ou l'ex
ecution d'applications partag
eessur di
erentes
machines.
Ce type d'utilisation n
ecessite une approche totalement di
erente du fonctionnement
en r
eseau. Au lieu de transf
ererdes chiers entiers associ
es
a la description des t^
aches
a
ex
ecuter, toutes les donn
ees sont tron
conn
ees en petits morceaux (paquets), qui sont
imm
ediatement exp
edi
es
a l'h^
ote destinataire, qui les r
eassemble
a l'arriv
ee. Cette
4: Les BBS, ou Bulletin Board System, appel
es
egalement babillards au Qu
ebec, sont des serveurs
proposant di
erents forums de messageries, ou conf
erences, dans lesquels les utilisateurs d
ebattent
par
ecrit de sujets divers.
5: LAN: Local Area Network.
22. 1.3. R
eseaux TCP/IP 5
m
ethode s'appelle un r
eseau
a commutation de paquets. Entre autres choses, cela
permet d'utiliser des applications interactives
a travers le r
eseau; le prix
a payer est,
bien entendu, une plus grande complexit
e du code mis en uvre.
La solution adopt
ee sur les syst
emes UNIX (et beaucoup d'autres sites non UNIX)
est connue sous le nom de TCP/IP. Nous allons voir de quoi il retourne.
1.3.1 Introduction aux r
eseaux TCP/IP
TCP/IP est n
e d'un projet de recherche au sein du United States Defense Advanced
Research Projects Agency (DARPA), en 1969. Le r
eseau exp
erimental ARPANET
devint op
erationnel en 1975, apr
es avoir prouv
e son succ
es.
En 1983, la nouvelle suite de protocoles TCP/IP fut adopt
ee comme standard, et
tous les h^
otes du r
eseau durent alors l'utiliser. Lorsque ARPANET nit par gran-
dir et se transformer en Internet (ARPANET en lui-m^
eme ayant cess
e d'exister en
1990), l'usage de TCP/IP s'
etait d
ej
a
etendu bien au-del
a de ce seul Internet. Les r
e-
seaux locaux UNIX en sont l'exemple notoire, mais l'av
enement des communications
t
el
ephoniques num
eriques telles qu'ISDN6, lui promet l
a aussi un bel avenir.
Pour prendre un exemple concret tout au long des explications qui vont suivre, nous
imaginerons l'universit
e Groucho Marx (UGM), situ
ee quelque part au pays de Fred-
land. La plupart des laboratoires ont leur propre r
eseau local, d'autres en ont un en
commun et certains en comptent plusieurs. Ils sont tous interconnect
es et reli
es
a
l'Internet par une unique ligne
a haut d
ebit.
Supposons que votre syst
eme Linux s'appelle erdos et soit connect
e au r
eseau local
de machines UNIX du D
epartement de Math
ematiques. Pour acc
eder
a un h^
ote du
D
epartement de Physique, disons quark, vous taperez la commande suivante:
$ rlogin quark.physics
- Universite Groucho Marx -
Bienvenue au departement physique
(ttyq2) login:
A l'invite login, vous entrez alors votre nom d'utilisateur, par exemple dugenou,
puis votre mot de passe. Vous obtenez alors un shell sur la machine quark, exactement
comme si vous
etiez devant la console de cet ordinateur. Votre travail termin
e, en sor-
tant de ce shell vous revenez
a l'invite de votre propre machine. Vous venez d'utiliser
l'une des applications interactives instantan
ees o ertes par TCP/IP: le login distant.
Lors de votre session sur quark, vous pouvez avoir besoin d'utiliser une application
graphique sous X Window, par exemple un pr
evisualiseurPostScript. Vous devez alors
indiquer
a ce programme que ses fen^
etres doivent s'acher sur votre
ecran, et non sur
6: ISDN correspond
a l'
etranger
a ce que nous appelons RNIS en France (r
eseau num
erique
a
int
egration de services), commercialis
e sous le nom de NUM
ERIS.
23. 6 Chapitre 1. Introduction aux r
eseaux
celui de la machine sur laquelle il s'ex
ecute. Cela se fait en positionnant la variable
d'environnement DISPLAY:
$ export DISPLAY=erdos.maths:0.0
Si maintenant vous lancez votre application, elle contactera votre serveur X au lieu de
celui de quark, et tout s'achera sur votre propre
ecran. Bien s^
ur, il va de soi que vous
devez d
ej
a travailler sous X11 sur votre machine erdos. En r
ealit
e, TCP/IP permet
a quark et erdos de s'
echanger les paquets X11 a n de vous donner l'illusion d'^
etre
sur un syst
eme unique. Vous constatez ici que le r
eseau est totalement transparent.
Une autre application tr
es importante rendue possible par TCP/IP s'appelle NFS,
Network File System (syst
eme de chiers par r
eseau). Il s'agit d'une autre mani
ere
de rendre le r
eseau transparent, qui vous permet litt
eralement de monter des hi
erar-
chies de r
epertoires depuis d'autres h^
otes, de telle mani
ere qu'elles vous apparaissent
comme des syst
emes de chiers locaux. Par exemple, tous les r
epertoires personnels
des utilisateurs peuvent ^
etre situ
es sur un serveur central depuis lequel chaque h^
ote
du r
eseau monte cette arborescence. Le r
esultat est que chaque utilisateur peut em-
ployer n'importe quelle machine en se retrouvant, quoi qu'il arrive, dans le m^
eme
r
epertoire. De m^
eme, il est possible de n'installer des applications tr
es gourmandes
en place disque (comme TEX) que sur un seul ordinateur et d'exporter ces r
epertoires
pour que les autres h^
otes puissent s'en servir. Nous reviendrons plus en d
etail sur
NFS dans le chapitre 11.
Bien s^
ur, ce ne sont que quelques exemples simples de ce que vous pouvez r
ealiser
gr^
ace aux r
eseaux TCP/IP; leurs possibilit
es ne sont limit
ees que par l'imagination.
Nous allons maintenant regarder d'un peu plus pr
es le fonctionnement de TCP/IP.
Vous comprendrez ainsi comment et pourquoi con gurer votre machine. Nous com-
mencerons par l'
equipement mat
eriel n
ecessaire, et petit
a petit nous guiderons vos
premiers pas.
1.3.2 Ethernet
L'
equipement mat
eriel le plus utilis
e pour la r
ealisation de r
eseaux locaux est ce que
l'on appelle l'Ethernet. Il consiste en un simple c^
able coaxial, sur lequel est connect
e
chaque h^
ote par l'interm
ediaire de connecteurs, ou de bo^
tiers
electroniques nomm
es
transceivers. Les r
eseaux Ethernet sont extr^
emement peu co^
uteux et simples
a instal-
ler, et leur vitesse de transfert
etant de 10 m
egabits par seconde, ils rencontrent un
succ
es toujours grandissant.
Il existe trois cat
egories d'Ethernet: n, gros, et paire torsad
ee. Les deux premiers
utilisent un c^
able coaxial, qui di
ere dans sa taille et la mani
ere de s'y connecter.
L'Ethernet n utilise des connecteurs (
( BNC )
) en (
( T )
), que vous pouvez ins
erer au
milieu du c^
able r
eseau et brancher sur la prise pr
evue
a cet e et
a l'arri
ere de l'ordi-
nateur. Le gros Ethernet s'utilise en faisant un petit trou dans le c^
able et en connec-
tant un transceiver par l'interm
ediaire d'une (
( pince vampire )
). Ces bo^
tiers peuvent
24. 1.3. R
eseaux TCP/IP 7
supporter un ou plusieurs h^
otes. Ces deux variantes supportent respectivement des
distances d'utilisation de 200 et 500 m
etres, d'o
u leurs d
enominations: 10base-2 et
10base-5. La paire torsad
ee utilise deux ls de cuivre ordinaires et n
ecessite un bo^
tier
additionnel appel
e hub; elle est connue sous le nom de 10base-T.
Bien que rajouter un h^
ote sur un c^
able Ethernet n soit un peu g^
enant, cela n'ar-
r^
ete pas le r
eseau: le service est juste interrompu pendant un moment tr
es court, le
temps de couper le c^
able (en d
ebranchant une prise s'il est bien con
cu) a n d'ins
e-
rer le connecteur n
ecessaire. Cette op
eration ne prend que quelques secondes, au pis
quelques minutes.
La majorit
e des utilisateurs pr
ef
erent l'Ethernet n pour des raisons
economiques;
on trouve des cartes pour PC
a partir de 300 francs et le c^
able ne co^
ute que quelques
dizaines de centimes le m
etre. Toutefois, pour de grosses installations, le gros Ethernet
est beaucoup plus appropri
e; il n'est par exemple pas n
ecessaired'interrompre le tra c
quelques secondes pour connecter une nouvelle machine sur le r
eseau.
La longueur de c^
able maximale est l'un des principaux inconv
enients de la technologie
Ethernet. Toutefois, on peut relier plusieurs segments par l'interm
ediaire de r
ep
eteurs,
ponts ou routeurs. Les r
ep
eteurs copient simplement les signaux entre plusieurs tron-
cons a n qu'ils apparaissent comme un unique c^
able Ethernet. En raison de la vitesse
n
ecessaire, il ne peut pas y avoir plus de quatre r
ep
eteursentre deux h^
otes quelconques
du r
eseau. Les ponts et routeurs sont beaucoup plus sophistiqu
es: ils analysent les
donn
ees re
cues et ne les retransmettent que lorsque la machine destinataire n'est pas
situ
ee sur l'Ethernet local.
L'Ethernet se comporte comme un bus, o
u chaque h^
ote peut envoyer des paquets
(ou trames) pouvant atteindre 1500 octets vers une autre machine du m^
eme r
eseau.
Chaque ordinateur poss
ede une adresse unique au monde form
ee de 6 octets, inscrite
dans la carte Ethernet lors de sa fabrication. Ces adresses sont g
en
eralement ach
ees
comme une s
equence de nombres hexad
ecimaux sur deux digits, s
epar
es par un deux-
points, comme aa:bb:cc:dd:ee: .
Une trame envoy
ee par une station est vue par toutes les autres, mais seule la machine
destinataire l'extrait et l'utilise. Si deux h^
otes tentent d'envoyer un paquet au m^
eme
moment, il se produit une collision, dans ce cas les deux machines abandonnent l'envoi
et recommencent quelques instants plus tard.
1.3.3 Autres types de mat
eriel
Dans les tr
es grosses installations r
eseau, l'Ethernet n'est g
en
eralement pas le seul
support utilis
e.
A l'universit
e Groucho Marx, chaque r
eseau local est reli
e
a la dorsale
du campus (backbone), qui est une bre optique utilisant FDDI (Fiber Distributed
Data Interface). FDDI utilise une approche totalement di
erente pour transmettre les
donn
ees, qui consiste
a di user un certain nombre de jetons, chaque station n'
etant
alors autoris
ee
a
emettre une trame que si elle capture un jeton. Le principal avantage
de FDDI est la vitesse, pouvant atteindre 100 Mbps, ainsi qu'une longueur de c^
able
25. 8 Chapitre 1. Introduction aux r
eseaux
allant jusqu'
a 200 km.
Pour de tr
es longues distances, on utilise fr
equemment un autre type de transport,
bas
e sur un standard appel
e X.25. Beaucoup de r
eseaux utilisent ou o rent ce service;
on peut citer Tymnet aux
Etats-Unis, Datex-P en Allemagne, ou Transpac en France.
X.25 n
ecessite un
equipement sp
ecial appel
e PAD (Assembleur/D
esassembleur de
paquets). X.25 d
e nit un ensemble de protocoles qui lui sont propres, mais qui sont
n
eanmoins utilis
es couramment pour relier des r
eseaux utilisant TCP/IP ou tout
autre protocole. Comme les trames IP ne peuvent pas ^
etre converties de fa
con simple
en paquets X.25, la m
ethode employ
ee est l'encapsulation. Chaque paquet IP est
encapsul
e dans une trame X.25 et envoy
e sur le r
eseau.
Tr
es souvent, les radio-amateurs utilisent leur
equipement pour relier leurs machines
en r
eseau par ondes hertziennes; il s'agit du packet radio (ou ham radio). Le protocole
utilis
e s'appelle AX.25, et est d
eriv
e de X.25.
D'autres techniques mettent en uvre des liaisons s
eries lentes mais tr
es
economiques
pour acc
eder au r
eseau par ligne t
el
ephonique. L
a encore, d'autres protocoles de trans-
mission de paquets sont employ
es, comme SLIP ou PPP, que nous d
ecrirons plus loin.
1.3.4 Le protocole Internet
Bien s^
ur, vous ne voudriez pas d'un r
eseau limit
e
a un simple brin d'Ethernet. L'id
eal
serait que vous puissiez vous connecter partout, quel que soit le mat
eriel utilis
e ou
le nombre de sous-r
eseaux composant l'installation. L'universit
e Groucho Marx par
exemple, poss
ede plusieurs r
eseaux locaux interconnect
es. Le D
epartement de Math
e-
matiques en a deux: le premier reliant les ordinateurs puissants pour les enseignants
et chercheurs, le second, plus lent et moins bien
equip
e, destin
e aux
etudiants. Tous
deux sont reli
es
a la dorsale FDDI du campus.
Cette connexion est g
er
ee par un h^
ote d
edi
e que l'on appelle alors passerelle; son r^
ole
est de copier les paquets entrants et sortants entre les r
eseaux Ethernet et la bre
optique de l'universit
e. Par exemple, si vous ^
etes au D
epartement Math
ematiques et
que vous d
esirez acc
eder
a la machine quark du D
epartement de Physique depuis
votre syst
eme Linux, les programmes r
eseau ne peuvent pas envoyer directement les
paquets
a destination car quark n'est pas sur le m^
eme Ethernet. Les paquets seront
donc envoy
es
a la passerelle qui fera le relais. Celle-ci (appelons-l
a sophus) passera
les trames
a la passerelle du D
epartement de Physique (niels) par l'interm
ediaire de
la dorsale, et niels les d
elivrera
a la machine destinataire. Le parcours des donn
ees
entre erdos et quark est montr
e dans la gure 1.1.
Cette fa
con de diriger les donn
ees vers leur destination s'appelle le routage, et dans
ce contexte, les paquets sont souvent appel
es datagrammes. Pour simpli er les choses,
l'
echange des datagrammes est g
er
e par un unique protocole ind
ependant du mat
eriel
utilis
e: IP, ou Internet Protocol. Nous d
ecrirons plus en d
etail IP et le routage dans
le chapitre 2, page 19.
26. 1.3. R
eseaux TCP/IP 9
quark
niels
2
sophus
erdos
R
eseau Ethernet du
D
epartement de Physique D
epartement Math
ematiques
R
eseau Ethernet du
Dorsale bre optique du campus
1
3
Fig. 1.1 - L'envoi d'un datagramme entre erdos et quark se fait en trois
etapes.
27. 10 Chapitre 1. Introduction aux r
eseaux
Le b
en
e ce apport
e par IP est de faire appara^
tre des r
eseaux physiquement di
erents
en un seul r
eseau homog
ene. Cela se nomme l'interconnexion de r
eseaux, et le (
( m
eta-
r
eseau )
) r
esultant est appel
e un internet. Notez bien la subtilit
e entre un internet et
l' Internet. Ce dernier terme est le nom ociel d'un internet mondial particulier.
Bien s^
ur, IP n
ecessite aussi une m
ethode d'adressage ind
ependante du mat
eriel. Pour
ce faire, on assigne
a chaque h^
ote un nombre unique sur 32 bits, appel
e l'adresse IP.
Une adresse IP est g
en
eralement not
ee sous la forme de quatre nombres d
ecimaux, un
pour chaque portion de 8 bits, s
epar
es par des points. Par exemple, quark pourrait
avoir une adresse IP de 0x954C0C04, qui serait alors
ecrite 149.76.12.4; ce format
est connu sous le nom
evident de notation sur 4 octets, vous verrez aussi tr
es souvent
l'appellation anglaise dotted quad.
Vous noterez que nous avonsmaintenant trois types d'adresses di
erents: tout d'abord
le nom d'h^
ote, comme quark, puis les adresses IP, et en n les adresses mat
erielles, les
6 octets de l'interface Ethernet. Toutes doivent ^
etre li
ees, de sorte que lorsque vous
tapez rlogin quark, la partie logicielle du r
eseau puisse obtenir l'adresse IP de quark;
et quand IP d
elivre des donn
ees
a l'Ethernet du D
epartement de Physique, il puisse
d
eterminer
a quelle adresse mat
erielle correspond cette adresse IP.
Nous verrons comment tout cela est r
ealis
e dans le chapitre 2. Pour l'instant, il vous
sura de savoir que ces
etapes se nomment la r
esolution de noms, pour ce qui est de
faire correspondre les noms d'h^
otes en adresses IP, et r
esolution d'adresses, pour la
correspondance de cette derni
ere en adresse mat
erielle.
1.3.5 IP sur lignes s
erie
Sur des liaisons s
erie, on utilise fr
equemment un standard (
( de fait)
) connu sous le nom
de SLIP, Serial Line IP. CSLIP (Compressed SLIP) en est une am
elioration; il e ectue
une compression des en-t^
etes IP pour tirer un meilleur parti du d
ebit relativement
faible o ert par une ligne s
erie7. PPP, ou Point-to-Point Protocol, est un protocole
di
erent destin
e au m^
eme usage; il est plus
evolu
e que SLIP. Son principal avantage
est de ne pas ^
etre limit
e au transport de datagrammes IP, car il a
et
e con
cu pour
transporter tout type de paquets.
1.3.6 Le protocole TCP
Mais pouvoir envoyer des paquets d'une machine
a l'autre n'est pas tout. Si vous vous
connectez sur quark, vous aurez besoin d'une connexion able entre votre processus
rlogin sur erdos et le shell lanc
e sur quark. Par cons
equent, les informations envoy
ees
et re
cues devront ^
etre tron
conn
ees en paquets par l'
emetteur, et r
eassembl
ees en un
ux de caract
eres par le r
ecepteur. Bien que paraissant tr
es simple, cette op
eration
entra^
ne un certain nombre de t^
aches complexes.
7: SLIP est d
ecrit dans le RFC 1055, et CSLIP dans le RFC 1144.
28. 1.3. R
eseaux TCP/IP 11
Il est tr
es important de savoir que IP, par conception, n'est pas un protocole able.
Supposons que dix personnes, sur votre r
eseau Ethernet, soient en train de t
el
echarger
la derni
ere version de XFree86 depuis le serveur ftp de GMU. Le tra c g
en
er
e peut
alors devenir trop important pour la passerelle, si elle est trop lente ou manque de
m
emoire. Si
a ce moment, vous envoyez un paquet
a destination de quark, sophus
pourrait se trouver
a cours de ressources pendant quelques instants et ne pas pouvoir
traiter vos donn
ees. IP r
esout ce probl
eme d'une fa
con tr
es simple: il
elimine le paquet,
qui est irr
em
ediablementperdu. Par cons
equent, la responsabilit
e de v
eri er l'int
egrit
e
des donn
ees transmises, et de les retransmettre en cas d'erreur est celle des h^
otes en
communication.
Ce r^
ole est assur
e par un autre protocole: TCP, ou Transmission Control Protocol, qui
cr
ee un service able par-dessusIP, en prenant en charge le contr^
ole de la transmission.
La propri
et
e la plus importante de TCP est d'utiliser IP a n de donner l'illusion d'une
simple connexion entre les deux processus distants, de mani
ere
a ce qu'il n'y ait pas
a
se pr
eoccuper du routage des donn
ees. Une connexion TCP fonctionne un peu comme
un tube bidirectionnel dans lequel chaque programme peut lire et
ecrire. Vous pouvez
l'imaginer comme une conversation t
el
ephonique, par exemple.
TCP identi e chaque bout d'une telle connexion par les adresses IP des h^
otes concer-
n
es, et un num
ero de port sur chacun d'eux. Les ports peuvent ^
etre vus comme des
points d'attache pour les connexions r
eseau. En prenant encore une fois le t
el
ephone
comme exemple, on pourrait comparerles adresses IP aux codes r
egionaux(un num
ero
par ville), et les ports aux num
eros individuels (un num
ero par abonn
e)8.
Dans notre exemple de rlogin, l'application cliente (rlogin) ouvre un port sur erdos
et se connecte au port 513 du syst
eme quark, dont le serveur rlogind est
a l'
ecoute.
Il s'
etablit alors une connexion TCP. Par l'interm
ediaire de cette connexion, rlogind
e ectue la proc
edure d'autorisation d'acc
es, puis lance l'ex
ecution du shell. L'entr
ee
et la sortie standard de ce dernier sont redirig
ees vers la connexion TCP de sorte
que tout ce que vous tapez sur votre machine dans rlogin soit envoy
e au ux TCP et
aboutisse
a l'entr
ee standard du shell distant.
1.3.7 Le protocole UDP
Bien s^
ur, TCP n'est pas le seul protocole utilisateur sur un r
eseau TCP/IP. Bien que
parfait pour des utilisations comme rlogin, la surcharge induite le rend peu ecace
pour des applications comme NFS, qui utilise plut^
ot le protocole UDP, ou User Data-
gram Protocol. Tout comme TCP, il permet
a un programme de contacter un service
sur un port donn
e de la machine distante, mais il n'
etablit aucune connexion. UDP
est utilis
e pour envoyer simplement des paquets, d'o
u son nom.
Supposons que vous ayez mont
e le r
epertoire TEX de galois, le serveur NFS central
du d
epartement, et que vous d
esiriez voir un document d
ecrivant le mode d'emploi de
L
aTEX. Vous appelez votre
editeur de texte, qui commence par lire la totalit
e du chier.
8: La num
erotation t
el
ephonique est faite di
eremment en France.
29. 12 Chapitre 1. Introduction aux r
eseaux
Toutefois,
etablir une connexion TCP avec galois, envoyer le chier, puis d
econnecter
prendrait bien trop de temps.
A la place, une requ^
ete est envoy
ee
a galois, qui envoie
alors le chier dans deux ou trois paquets UDP, ce qui est bien plus rapide. Mais UDP
n'est pas con
cu pour g
erer la perte ou la corruption des donn
ees; c'est
a l'application,
NFS dans le cas pr
esent, de prendre en charge ces probl
emes
eventuels.
1.3.8 Les ports
Les ports sont, en quelque sorte, des points d'attache logiciels pour les connexions
r
eseau. Si une application d
esire o rir un certain service, elle s'attache
a un port
et attend les clients (on dit aussi qu'elle
ecoute le port). Un client voulant utiliser
ce service alloue alors un port sur sa machine locale, puis se connecte
a celui de
l'application serveur sur le syst
eme distant.
Une fois qu'une connexion est
etablie entre le client et le serveur, une des caract
e-
ristiques importantes des ports est qu'une autre copie du serveur peut s'y attacher
et continuer ainsi l'
ecoute dans l'attente d'autres clients. Cela permet par exemple,
plusieurs sessions rlogin concurrentes sur la m^
eme machine distante, toutes utilisant le
port 513. TCP est capable de di
erencier les connexions car elles proviennent toutes
de di
erents ports ou h^
otes. Par exemple, si vous avez deux rlogin sur quark depuis
erdos, le premier client utilisera le port local 1023, et le second le 1022. Tous deux
se connecteront n
eanmoins au m^
eme port 513 sur quark.
Cet exemple montre l'utilisation des ports en tant que points de rencontre, o
u les
serveurs donnent rendez-vous aux clients d
esirant un service particulier. A n que
ces clients sachent quel num
ero de port contacter, les administrateurs des di
erents
syst
emes connect
es doivent se mettre d'accord sur leur assignation. En ce qui concerne
les services les plus couramment utilis
es, comme rlogin, ces num
eros doivent ^
etre
administr
es de mani
ere centrale: c'est le r^
ole de l'IETF (Internet Engineering Task
Force), qui publie r
eguli
erement un RFC intitul
e Assigned Numbers. Ce document
d
ecrit, entre autres choses, les num
eros de port assign
es aux services les plus connus
utilis
es mondialement. Linux utilise, comme beaucoup d'autres syst
emes, un chier
nomm
e /etc/services, qui contient la correspondance entre les noms de ces services et
les num
eros de ports qui leur sont associ
es.
Bien que les connexions TCP et UDP se basent sur les ports, il faut noter que ces
num
eros n'entrent pas en con it. Comprenez par l
a que le port TCP 513, par exemple,
est di
erent du port UDP 513: ils correspondent en pratique
a rlogin (TCP) et rwho
(UDP).
1.3.9 Les sockets
Dans les syst
emes d'exploitation UNIX, la partie logicielle responsable des t^
aches et
des protocoles que nous venons de d
ecrire succinctement fait g
en
eralement partie du
noyau; Linux ne fait pas exception
a la r
egle. L'interface de programmation r
eseau
30. 1.4. Le r
eseau sous Linux 13
la plus courante dans le monde UNIX est la biblioth
eque de sockets de Berkeley. Ce
nom, qui dans un contexte technique signi e (
( prise )
), ou (
( connecteur )
) en anglais,
provient de l'analogie courante faite entre les ports et des prises, sur lesquels on vient
se (
( brancher )
) pour r
ealiser la connexion. Cette biblioth
eque o re la fonction bind
pour sp
eci er un h^
ote distant, un protocole de transport, et un service auquel un
programme peut se connecter ou bien
ecouter (gr^
ace aux fonctions connect, listen et
accept). Elle est assez g
en
eraliste, en ce sens qu'elle contient non seulement une classe
de sockets TCP/IP (AF INET), mais
egalement une classe qui permet les connexions
locales
a la machine (les sockets AF UNIX). Quelques impl
ementations comportent
m^
eme d'autres classes, comme le protocole XNS (Xerox Networking System) ou X.25.
Sous Linux, la biblioth
eque de sockets est partie int
egrante de la biblioth
eque C
standard, libc.
A l'heure actuelle, elle ne supporte que AF INET et AF UNIX, mais
d'autres protocoles sont en d
eveloppement et appara^
tront sans doute dans l'avenir.
1.4 Le r
eseau sous Linux
Etant le fruit de d
eveloppeurs du monde entier, Linux n'aurait jamais pu voir le jour
sans le r
eseau mondial. Aussi, il n'est pas surprenant que tout au d
ebut, plusieurs
personnes aient entrepris de lui apporter les possibilit
es r
eseau n
ecessaires. D
es les
toutes premi
eres versions, il
etait d
ej
a possible d'utiliser UUCP, et le travail sur
les couches TCP/IP d
ebuta en automne 1992, lorsque Ross Biro et quelques autres
cr
e
erent ce qui est maintenant connu sous le nom de Net-1.
Ross dut cesser ses activit
es de d
eveloppement pour Linux au mois de mai 1993, et
Fred van Kempen commen
ca
a travailler sur une nouvelle impl
ementation, r
e
ecrivant
de grandes parties du code. Cette
etape prit le nom de Net-2, dont la premi
ere ver-
sion publique, Net-2d, fut di us
ee en
et
e 1993 (dans le noyau 0.99.10), et a depuis
et
e
maintenue et am
elior
ee par plusieurs personnes, en particulier Alan Cox, sous l'ap-
pellation Net-2Debugged. Apr
es de grandes p
eriodes de d
eboguage et de nombreux
perfectionnements, ce nom fut chang
e en Net-3 apr
es la sortie de Linux 1.0. C'est la
version du code r
eseau actuellement incluse dans les versions ocielles du noyau,
a
l'heure o
u nous
ecrivons ces lignes.
Net-3 o re des pilotes pour une large gamme de cartes Ethernet, aussi bien que
SLIP, PPP (pour des connexions r
eseau via une liaison s
erie), et PLIP (pour utiliser
le port imprimante parall
ele dans le m^
eme but). Avec Net-3, Linux est dot
e d'une
impl
ementation de TCP/IP qui se comporte parfaitement bien dans la plupart des
environnements r
eseaux, avec une abilit
e d
epassant certains Unix commerciaux pour
PC. Le d
eveloppement continue, a n d'assurer une stabilit
e encore meilleure en toutes
circonstances sur les h^
otes o rant des services sur l'Internet.
En plus de tout cela, certains projets sont en cours, qui augmenteront encore davan-
tage l'universalit
e de Linux. Un pilote AX.25 pour packet-radio est en Alpha test, et
Alan Cox a
egalement impl
ement
e une partie du protocole IPX de Novell. Mais ce
dernier projet n'avance pas, car Novell n'a pas l'intention de fournir la documentation
31. 14 Chapitre 1. Introduction aux r
eseaux
n
ecessaire
a son aboutissement. Andrew Tridgell a r
ealis
esamba, un serveurNetBIOS9
gratuit pour syst
emes Unix dont les premi
eres versions sont tr
es prometteuses.
1.4.1 Orientations du d
eveloppement
Fred a continu
e parall
element son d
eveloppement pour faire Net-2e, une approche
profond
ement nouvelle des couches r
eseau. Toutefois, on n'a pas entendu parler de ce
travail depuis longtemps.
Il existe une autre impl
ementation de TCP/IP r
ealis
ee par Matthias Urlichs, qui a
ecrit un pilote ISDN pour Linux et FreeBSD, en int
egrant une partie du code r
eseau
de BSD dans le noyau Linux.
Malgr
e tout, Net-3 semble maintenant destin
e
a rester la version ocielle. Les (
( mo-
dules )
), qui permettent d'ajouter des pilotes de p
eriph
eriques au noyau pendant le
fonctionnement du syst
eme, donneront sans nul doute un coup de fouet au d
evelop-
pement et la partie r
eseau s'enrichira sans doute de nombreuses possibilit
es au l du
temps.
Bien que ces di
erentes impl
ementations des couches r
eseau s'e orcent d'o rir le
m^
eme service, elles comportent d'importantes di
erences au niveau noyau et pilotes.
Par cons
equent, vous ne pourrez pas con gurer un syst
eme comportant un noyau avec
Net-2e
a l'aide des utilitaires en provenance de Net-2d ou Net-3, et vice versa. Cela ne
s'applique qu'aux commandes tr
es proches du noyau; les applications et programmes
usuels comme rlogin ou telnet fonctionneront bien s^
ur avec n'importe quelle version.
Quoi qu'il en soit, cette l
eg
ere confusion ne devrait pas vous inqui
eter.
A moins que
vous ne participiez activement au d
eveloppement, vous n'aurez pas
a vous soucier de
ces di
erentes versions de TCP/IP. Les versions ocielles du noyau seront toujours
accompagn
ees des outils r
eseau compatibles avec l'impl
ementation courante.
1.4.2 O
u se procurer le code
Le derni
ere version du code r
eseau de Linux peut ^
etre obtenue par FTP anonyme au-
pr
es de di
erents serveurs. Le site ociel pour Net-3 est sunacm.swan.ac.uk, repris
par sunsite.unc.edu dans le r
epertoire system/Network/sunacm. Les derni
eres ver-
sions connues de Net-2e se trouvent sur ftp.aris.com.Les travauxd
eriv
esde BSD, par
Matthias Urlichs,sont sur ftp.ira.uka.dedans le r
epertoire/pub/system/linux/netbsd.
Le code source des derniers noyaux en date, ainsi que les versions en cours de d
e-
veloppement se trouvent dans le r
epertoire /pub/OS/Linux/PEOPLE/Linus du site
nic.funet. ; qui est repris par de nombreux serveurs10.
9: NetBIOS est le protocole sur lequel sont bas
ees certaines applications comme lanmanager et
Windows for Workgroups.
10: En France, avant d'utiliser de co^
uteuses liaisons internationales, vous devez visiter le site
ftp.ibp.fr. Ce serveur est le site Linux de r
ef
erence pour la France, et tient
a jour un miroir des
principaux sites
etrangers.
32. 1.5. Maintenance du syst
eme 15
1.5 Maintenance du syst
eme
Tout au long de ce livre, nous traiterons principalement de proc
edures d'installation
et de con guration. N
eanmoins, l'administration d'un syst
eme est bien plus que cela:
une fois un service install
e, vous devez le maintenir en parfait
etat de fonctionnement.
Dans la plupart des cas, il sut d'un peu d'attention; mais certains, comme le courrier
et les News, n
ecessitent un entretien de routine. Nous verrons en quoi consistent ces
di
erentes t^
aches d'administration dans les chapitres qui vont suivre.
La maintenance minimale consiste
a regarder r
eguli
erement les chiers de trace du
syst
eme et des di
erentes applications,
a la recherche d'
eventuelles erreurs ou
ev
ene-
ments inhabituels. Le plus simple est d'
ecrire quelques shell-scripts qui seront ex
ecut
es
automatiquement par cron
a certaines heures. Les applications importantes, comme
C News ou smail, sont souvent fournies avec de tels programmes qu'il ne vous reste
plus qu'
a modi er l
eg
erement pour les adapter
a vos besoins particuliers.
La sortie de tous les travaux ex
ecut
es par cron doit faire l'objet d'un courrier envoy
e
dans la bo^
te aux lettres d'un compte administratif. Par d
efaut, beaucoup d'applica-
tions postent leurs erreurs ou statistiques
a l'utilisateur root. Cela n'a d'int
er^
et que
si vous vous connectez souvent sous ce compte, ce qui est d
econseill
e. Une solution
bien meilleure sera de rediriger le courrier de root vers votre compte personnel en
d
eclarant un alias, comme d
ecrit dans le chapitre 14.
Quel que soit le soin apport
e
a la con guration de votre site, les lois de Murphy garan-
tissent que malgr
e tout, certains probl
emes se produiront. Par cons
equent, maintenir
un syst
eme signi e
egalement ^
etre disponible pour r
epondre aux r
eclamations. G
en
e-
ralement, on consid
ere que l'administrateur syst
eme doit au minimum pouvoir ^
etre
joint par courrier
electronique au compte root, mais il existe aussi d'autres adresses
traditionnellement utilis
ees pour des aspects ou services sp
eci ques. Par exemple, tout
ce qui concerne le fonctionnement du courrier
electronique est envoy
e
a postmaster,
alors que pour ce qui est des News Usenet, il s'agira de newsmaster ou usenet.
Un message
a destination de hostmaster devra ^
etre redirig
e vers la personne en
charge de la con guration r
eseau de base, et du serveur de noms si vous fournissez un
DNS.
1.5.1 S
ecurit
e du syst
eme
Prot
eger votre machine et ses utilisateurs des intrus est un aspect tr
es important
de l'administration syst
eme dans un environnement r
eseau. N
egliger ce point peut
o rir de nombreuses cibles aux malfaisants, les attaques pouvant aller de tentatives
de d
ecryptage des mots de passe
a l'analyse de datagrammes, avec des cons
equences
diverses comme courriers falsi
es, destructions de donn
ees ou entrave
a la vie priv
ee
de vos utilisateurs. Nous mentionnerons quelques-uns de ces probl
emes lorsque nous
d
ecrirons le contexte dans lequel chacun peut se produire, et les solutions les plus
courantes employ
ees pour se prot
eger.
33. 16 Chapitre 1. Introduction aux r
eseaux
Il est
evidemment impossible de d
etailler ici tous les ennuis de s
ecurit
e auxquels vous
serez peut-^
etre confront
e. La lecture d'un ouvrage sp
ecialis
eest absolument n
ecessaire,
particuli
erement en environnement r
eseau. Le livre (
( Practical UNIX Security )
), de
Simson Gar nkel (voir [Spaf93]) est hautement recommand
e.
La s
ecurit
e commence par une bonne administration syst
eme. Cela comprend la v
e-
ri cation des propri
etaires et droits d'acc
es des chiers vitaux et des r
epertoires,
l'observation de l'utilisation des comptes privil
egi
es, etc. Le programme COPS, par
exemple, permet de tester le syst
eme de chiers et la con guration courante
a la re-
cherche de permissions dangereuses ou autres anomalies. Il est souvent raisonnable
d'utiliser une gestion des mots de passe les rendant plus diciles
a deviner. L'ensemble
shadow password suite, par exemple, demande entre autres choses qu'ils aient une lon-
gueur minimale de cinq caract
eres et comportent un ensemble de lettres minuscules,
majuscules et chi res.
Lors de la cr
eation d'un service accessible par r
eseau, assurez-vous de ne lui donner
que les privil
eges minimaux, ne lui permettez pas de faire des choses inutiles pour
son fonctionnement normal. Par exemple, vous ne devez faire de programmes setuid
a
root ou tout autre utilisateur privil
egi
e que lorsque c'est vraiment n
ecessaire. Si vous
d
esirez n'utiliser un service que pour une application tr
es limit
ee, n'h
esitez pas
a le
con gurer de mani
ere aussi restrictive que possible. Si par exemple vous comptez au-
toriser des stations diskless
a s'amorcer depuis votre machine, vous devez o rir TFTP
(Trivial File Transfer Protocol) a n qu'elles puissent t
el
echarger leur con guration de
base depuis le r
epertoire /boot. Toutefois, utilis
e sans restrictions, TFTP permet
a
n'importe quel utilisateur du monde de t
el
echarger tout chier de votre machine qui
soit lisible par tous. Si ce n'est pas ce que vous d
esirez, pourquoi ne pas restreindre
le service TFTP au r
epertoire /boot?11.
Dans le m^
eme ordre d'id
ees, vous pouvez restreindre l'acc
es
a certains services
a
des utilisateurs de certains h^
otes, par exemple ceux de votre r
eseau local. Dans le
chapitre 9, nous pr
esenterons tcpd, qui permet cette op
eration pour une grande vari
et
e
d'applications r
eseaux.
Un autre point tr
es important:
eviter les logiciels
a risque. Bien s^
ur, tous les pro-
grammes que vous utilisez peuvent ^
etre dangereux, puisqu'ils peuvent rec
eler des
bogues que des personnes malintentionn
ees pourraient exploiter pour p
en
etrer dans
votre syst
eme. Ce genre de situation arrive, et il n'existe malheureusement pas de
protection
a toute
epreuve. Ces probl
emes a ectent aussi bien les applications du
domaine public que les produits commerciaux12. Toutefois, les programmes n
eces-
sitant des privil
eges particuliers sont fatalement plus dangereux que les autres, car
le moindre trou de s
ecurit
e peut avoir de graves cons
equences13. Si vous installez
11: Nous reviendrons sur ce sujet dans le chapitre 9.
12: Il y a eu des syst
emes UNIX commerciaux (qui co^
utent une petite fortune), fournis avec un
shell script setuid-root, qui permettait
a tous les utilisateurs d'obtenir en une fraction de seconde
tous les privil
eges root par un simple tour d'adresse.
13: En 1988, le ver RTM provoqua l'arr^
et presque complet de la plus grande partie de l'Internet,
en exploitant une grosse br
eche dans quelques versions du programme sendmail. Ce trou de s
ecurit
e
a
et
e corrig
e depuis.
34. 1.5. Maintenance du syst
eme 17
un programme setuid, redoublez de prudence et assurez-vous de ne rien rater de sa
documentation, a n d'
eviter de cr
eer une br
eche de s
ecurit
e par erreur ou omission.
Malgr
e tout le soin que vous pourrez apporter
a la s
ecurit
e, vous ne pourrez jamais
vous consid
erer comme totalement
a l'abri. Par cons
equent, vous devez pouvoir d
e-
tecter les
eventuels intrus le plus t^
ot possible. La lecture des chiers de trace du
syst
eme est un bon point de d
epart, mais les pirates le sachant aussi bien que vous,
ils ne manqueront pas d'e acer tout ce qui pourrait les d
enoncer. Il existe n
eanmoins
des outils comme tripwire14, qui calcule r
eguli
erement di
erents checksums sur ces
chiers, et les stocke dans une base de donn
ees. Lors des acc
es ult
erieurs, ces valeurs
sont recalcul
ees et compar
ees avec celles pr
ec
edemment trouv
ees a n de d
etecter toute
modi cation anormale de ces traces.
14:
Ecrit par Gene Kim et Gene Spa ord.
36. 19
Chapitre 2
Le r
eseau TCP/IP
Nous allons maintenant aborder tous les d
etails que vous devrez conna^
tre lors de la
connexion de votre syst
eme Linux
a un r
eseau TCP/IP, notamment la gestion des
adresses IP, les noms de machines, et le routage. Ce chapitre vous apportera les bases
n
ecessaires pour la compr
ehension de ce que n
ecessite une con guration r
eseau, les
suivants d
ecriront les di
erents outils
a employer.
2.1 Interfaces r
eseau
A n de s'a ranchir des nombreuses di
erences entre les
equipements divers utili-
s
es dans un environnement r
eseau, TCP/IP d
e nit une interface abstraite,
a travers
laquelle on acc
ede
a la partie mat
erielle. Cette interface permet un ensemble d'op
e-
rations, communes
a tout type d'
equipement r
eseau, et g
ere l'envoi et la r
eception de
paquets.
Pour chaque p
eriph
erique
a connecter au r
eseau, il faut une interface correspondante
dans le noyau du syst
eme. Par exemple, les cartes Ethernet sous Linux s'appellent
eth0 et eth1, les interfaces SLIP sont sl0, sl1, etc. Ces noms sont utilis
es lors de
la con guration, pour indiquer au noyau
a quel p
eriph
erique physique vous d
esirez
acc
eder. Ils n'ont pas d'autre signi cation.
A n d'^
etre utilisable sur un r
eseau TCP/IP, une interface doit se voir attribuer une
adresse IP, qui permet de l'identi er lors de communications avec le reste du monde.
Cette adresse est di
erente du nom cit
e ci-dessus; si vous comparez une interface
a
une porte, l'adresse est comme la plaque clou
ee dessus, portant le num
ero.
Bien entendu, d'autres param
etres peuvent ^
etre ajust
es. L'un d'entre eux est la taille
maximale des datagrammesque cette interface particuli
erepeut g
erer,que l'on appelle
Maximum Transfer Unit, ou MTU. Nous en verrons bien d'autres plus tard.
37. 20 Chapitre 2. Le r
eseau TCP/IP
2.2 Adresses IP
Comme nous l'avons vu dans le chapitre pr
ec
edent, les adresses comprises par le
protocole r
eseau IP sont des nombres de 32 bits. Chaque machine se voit assign
e un
nombre unique dans l'environnement: si vous concevez un r
eseau local qui ne partage
pas de tra c TCP/IP avec d'autres r
eseaux, vous pouvez choisir ces nombres selon
vos propres crit
eres. Toutefois, pour les sites connect
es
a l'Internet, ces adresses sont
fournies par une autorit
e centrale, le Network Information Center, ou NIC1.
Pour en faciliter la lecture, les adresses IP sont partag
ees en quatre nombres de 8 bits
appel
es octets2. Par exemple, l'adresse 0x954C0C04, qui est en hexad
ecimal celle
du site quark.physique.groucho.edu, s'
ecrira 149.76.12.4. Ce format est souvent
appel
e notation sur 4 octets ou notation point
ee (dotted quad notation en anglais).
Cette notation est aussi due au fait que les adresses IP sont compos
ees d'une valeur
r
eseau, contenue dans les premiers octets, et une valeur h^
ote, dans ceux qui restent.
Lorsque vous demandez une adresse ocielle au NIC, vous n'obtenez pas de valeurs
individuelles pour chaque machine que vous comptez connecter: le NIC vous accorde
une adresse de r
eseau, et c'est
a vous d'assigner toutes les adresses IP individuelles
valides qu'elle permet, selon vos pr
ef
erences.
En fonction de la taille du r
eseau, la partie h^
ote peut ^
etre plus ou moins grande.
Pour faire face aux di
erents besoins, il existe plusieurs classes de r
eseau, d
e nissant
di
erentes mani
eres de d
ecouper les adresses IP.
Classe A La classe A comprend les r
eseaux 1.0.0.0
a 127.0.0.0. La valeur
r
eseau est contenue dans le premier octet. Cela donne une partie
h^
ote de 24 bits, permettant environ 1,6 million de machines.
Classe B La classe B comprend les r
eseaux 128.0.0.0
a 191.255.0.0; la valeur
r
eseau est contenue dans les deux premiers octets. Elle permet donc
16320 r
eseaux de 65024 h^
otes chacuns.
Classe C La classe C comprend les r
eseaux 192.0.0.0
a 223.255.255.0, la va-
leur r
eseau
etant contenue dans les trois premiers octets. Elle permet
pr
es de 2 millions de r
eseaux de 254 h^
otes.
Classes D, E, et F
Les adresses comprises entre 224.0.0.0 et 254.0.0.0 sont soit exp
e-
rimentales, soit r
eserv
ees pour un usage futur et ne sp
eci ent aucun
r
eseau.
1: Tr
es souvent, les adresses IP vous seront assign
ees par le fournisseur de services aupr
es du-
quel vous achetez votre connectivit
e. Mais vous pouvez
egalement traiter directement aupr
es du
NIC a n d'obtenir une adresse pour votre r
eseau, en envoyant un courrier
electronique
a l'adresse
hostmaster@internic.net.
2: Il faut noter ici que la langue anglaise fait la di
erence entre un nombre quelconque sur 8 bits,
appel
e byte, de son utilisation dans la notation d'adresses IP, o
u il prend l'appellation octet. En
fran
cais, nous ne disposons que du terme octet pour les deux cas.
38. 2.3. R
esolution des adresses 21
Si nous reprenons l'exemple du chapitre pr
ec
edent, nous pouvons maintenant voir
que 149.76.12.4, l'adresse de quark, d
esigne l'h^
ote 12.4 du r
eseau de classe B
149.76.0.0.
Vous aurez peut-^
etre remarqu
e dans la liste ci-dessus que toutes les valeurs possibles
pour la partie h^
ote ne sont pas autoris
ees. En e et, les valeurs 0 et 255 sont r
eserv
ees
a des usages sp
eciaux: une adresse dont tous les bits de la partie h^
ote sont
a z
ero
d
esigne le r
eseau en lui-m^
eme, et si les bits sont tous
a 1 il s'agit alors de l'adresse de
di usion (broadcast). Celle-ci d
esigne simultan
ement toutes les machines connect
ees
au r
eseau en question. Par cons
equent, 149.76.255.255 n'est pas une adresse d'h^
ote
valide, mais r
ef
erence tous ceux du r
eseau 149.76.0.0.
Il y a
egalement deux autres adresses r
eserv
ees, 0.0.0.0 et 127.0.0.0. La premi
ere
s'appelle la route par d
efaut et la seconde, l'adresse loopback. La route par d
efaut est
en rapport avec la fa
con dont sont dirig
es les datagrammes, ce que nous verrons dans
la section suivante.
Le r
eseau 127.0.0.0 est r
eserv
e au tra c IP local
a votre ordinateur. En g
en
eral,
l'adresse 127.0.0.1 sera assign
ee
a une interface sp
eciale de votre syst
eme, appel
ee
interface loopback, qui se comporte comme un circuit ferm
e. Chaque paquet TCP ou
UDP qui lui est transmis, est imm
ediatement retourn
e comme s'il arrivait d'un autre
r
eseau. Ainsi, il est possible de d
evelopper et tester des programmes sans disposer d'un
(
( vrai )
) r
eseau; cette interface trouve toutefois sa principale utilit
e lors de l'emploi
de logiciels utilisant le r
eseau sur la m^
eme machine, ou sur un ordinateur totalement
isol
e. Cette situation n'est pas si rare qu'il y para^
t: par exemple, beaucoup de sites
UUCP ne disposent d'aucune connectivit
e IP, mais ont besoin de faire fonctionner le
serveur de News INN. Celui-ci utilisera alors l'interface loopback.
2.3 R
esolution des adresses
Maintenant que vous savez comment sont constitu
ees les adresses IP, vous devez
sans doute vous demander comment elles sont utilis
ees pour acc
eder aux di
erentes
machines. Apr
es tout, le protocole Ethernet identi e les h^
otes par un nombre de six
octets qui n'a absolument rien en commun avec une adresse IP, n'est-ce pas?
C'est exact. Et c'est pourquoi il faut un m
ecanisme sachant mettre en correspondance
les adresses IP et Ethernet: ce protocole se nomme Address Resolution Protocol, ou
ARP. En fait, ARP n'est pas limit
e
a l'Ethernet, mais est
egalement employ
e sur
d'autres types de r
eseaux, comme par exemple le packet-radio des radio-amateurs.
Pour fonctionner, ARP utilise exactement la m
ethode qu'emploient la plupart des
gens pour trouver M. Marcel Dugenou dans une foule de 150 inconnus: se promener
en criant son nom, en esp
erant qu'il r
epondra s'il est l
a.
Lorsque ARP veut trouver l'adresse Ethernet correspondant
a une adresse IP donn
ee,
il fait appel
a une possibilit
e appel
ee la (
( di usion )
) (broadcasting), qui consiste
a
envoyer un datagramme simultan
ement
a toutes les stations pr
esentessur le r
eseau. Ce
39. 22 Chapitre 2. Le r
eseau TCP/IP
paquet exp
edi
e par ARP contient une requ^
ete pour l'adresse IP en question. Chaque
h^
ote le recevant compare alors cette adresse
a la sienne, et si elles correspondent,
retourne une r
eponse ARP
a la machine appelante. Celle-ci peut alors en extraire
l'adresse Ethernet de l'exp
editeur.
Vous pouvez vous demander comment un h^
ote peut atteindre une adresse Internet
pouvant se trouver sur un r
eseau Ethernet di
erent, quelque part dans le monde,
ou comment, en tout premier lieu, il peut savoir que cette adresse est sur un r
eseau
Ethernet. Toutes ces questions mettent en jeu ce que l'on appelle le routage, qui
consiste
a localiser physiquement un h^
ote dans un r
eseau. Ce sera le sujet de la
section suivante.
Voyons ARP plus en d
etail. Une fois qu'un h^
ote a d
ecouvert une adresse Ethernet, il
la stocke dans son cache ARP a n de ne pas avoir
a la redemander la prochaine fois
qu'il devra envoyer un datagramme
a la machine en question. Toutefois, il ne serait
pas judicieux de conserver cette information ind
e niment; la machine distante peut
changer de con guration (changement de carte Ethernet pour des raisons techniques
par exemple) et l'entr
ee ARP ne serait plus valide. Par cons
equent, les entr
ees conte-
nues dans le cache ARP sont supprim
ees au bout d'un certain temps a n de forcer
une nouvelle requ^
ete.
Il est aussi quelquefois n
ecessaire de trouver l'adresse IP associ
ee
a une adresse Ether-
net donn
ee. Cela se produit lorsqu'une machine diskless veut s'amorcer depuis un
serveur du r
eseau, ce qui est une situation tr
es courante sur les r
eseaux locaux. Ce
type de station ne poss
ede pratiquement aucune information sur elle-m^
eme,
a l'ex-
ception de son adresse Ethernet: par cons
equent, elle di use un message demandant
aux serveurs de lui indiquer son adresse IP. Il existe un autre protocole pour cela,
appel
e Reverse Address Resolution Protocol, ou RARP. Avec le protocole BOOTP, il
permet de d
e nir une proc
edure d'amor
cage de clients diskless via r
eseau.
2.4 Routage IP
Nous allons maintenant voir comment localiser un h^
ote
a qui nous voulons envoyer des
paquets, en fonction de son adresse IP. Les di
erentes parties de l'adresse sont g
er
ees
di
eremment; et c'est
a vous de con gurer correctement les chiers qui indiquent
comment traiter chacune de ces parties.
2.4.1 R
eseaux IP
Lorsque vous
ecrivez une lettre
a quelqu'un, vous indiquez g
en
eralement sur l'enve-
}
loppe une adresse compl
ete sp
eci ant le pays, le d
epartement, le code postal, etc.
Ensuite, vous mettez l'enveloppe dans une bo^
te aux lettres et les services postaux la
d
elivreront au destinataire: elle sera exp
edi
ee dans le pays indiqu
e, o
u d'autres ser-
vices nationaux la dirigeront vers le d
epartement indiqu
e, et ainsi de suite jusqu'au
40. 2.4. Routage IP 23
destinataire. L'avantage de cette m
ethode hi
erarchique est
evident: quelle que soit la
destination, la poste locale saura dans quelle direction diriger la lettre, mais n'aura
pas
a se soucier de savoir comment elle voyagera une fois qu'elle aura atteint le pays
de destination.
Les r
eseaux IP sont structur
es de fa
con similaire. L'Internet consiste en un certain
nombre de r
eseaux particuliers, appel
es syst
emes autonomes. Chaque syst
eme e ectue
tout le routage n
ecessaire entre ses h^
otes internes de telle mani
ere que l'envoi d'un
datagramme se r
eduise
a trouver un chemin vers le r
eseau sur lequel se trouve l'h^
ote
destinataire. Cela signi e qu'aussit^
ot que le paquet est pass
e
a n'importe quel h^
ote
de ce r
eseau particulier, le reste du traitement est exclusivement r
ealis
e par ce r
eseau
lui-m^
eme.
2.4.2 Sous-r
eseaux
Cette structure est re
et
ee par le d
ecoupage des adresses IP en une partie r
eseau
et une partie h^
ote, comme nous l'avons expliqu
e plus haut. Par d
efaut, le r
eseau de
destination est d
eriv
e de la partie r
eseau de l'adresse IP. Par cons
equent, les h^
otes
pour lesquels ce nombre est le m^
eme doivent se trouver sur le m^
eme r
eseau, et r
eci-
proquement3.
Il est alors logique d'o rir un sch
ema similaire
a l'int
erieur du r
eseau, puisqu'il peut
lui-m^
eme consister en un ensemble de centaines de r
eseaux plus petits, la plus petite
unit
e
etant des r
eseaux physiques comme l'Ethernet. Par cons
equent, IP permet de
subdiviser un r
eseau IP en plusieurs sous-r
eseaux.
Un sous-r
eseau prend la responsabilit
e de d
elivrer les datagrammes pour une certaine
plage d'adresses IP appartenant au r
eseau IP dont il fait partie. Tout comme dans les
classes A, B, ou C, il est identi
e par la partie r
eseau des adresses IP. Toutefois, cette
partie r
eseau est alors
etendue en incluant quelques bits de la partie h^
ote. Le nombre
de bits qui seront interpr
et
es en tant que valeur de sous-r
eseau est donn
e par ce que
l'on appelle le masque de sous-r
eseau ou masque r
eseau, en anglais netmask. Il s'agit
aussi d'un nombre sur 32 bits, qui sp
eci e le masque de bits pour la partie r
eseau de
l'adresse IP.
Le r
eseau du campus de l'universit
e Groucho Marx est un exemple d'une telle orga-
nisation. Il poss
ede le r
eseau de classe B 149.76.0.0, et son masque r
eseau est par
cons
equent 255.255.0.0.
A l'int
erieur, il est en fait constitu
e de plusieurs r
eseaux plus petits, comme ceux des
di
erents d
epartements. Aussi, la plage d'adresses IP est divis
ee en 254 sous-r
eseaux,
149.76.1.0
a 149.76.254.0. Par exemple, le D
epartement de Physique Th
eorique
s'est vu assigner 149.76.12.0. La dorsale du campus est aussi un r
eseau, auquel on
a attribu
e l'adresse 149.76.1.0. Ces sous-r
eseaux partagent la m^
eme valeur r
eseau,
bien que le troisi
eme octet soit utilis
e pour les distinguer entre eux. Ils utiliseront un
masque de sous-r
eseau de 255.255.255.0.
3: Les syst
emes autonomes sont plus g
en
eraux et peuvent comporter plus d'un r
eseau IP.
41. 24 Chapitre 2. Le r
eseau TCP/IP
149 76 12 4
149 76 12 4
Partie r
eseau Partie h^
ote
Partie r
eseau Partie h^
ote
Fig. 2.1 - Subdivision d'un r
eseau de classe B
La gure 2.1 montre comment 149.76.12.4, l'adresse de quark, est interpr
et
ee dif-
f
eremment selon qu'elle est consid
er
ee sur un r
eseau de classe B ordinaire, ou comme
sous-r
eseau.
Il faut bien avoir
a l'esprit que la subdivision de r
eseaux n'est qu'une division interne.
Les sous-r
eseauxsont cr
e
es par le propri
etairedu r
eseau (ou les administrateurs). Sou-
vent, ils sont mis en place pour d
elimiter des zones pr
ecises, qu'elles soient physiques
(entre deux Ethernet), administratives (entre deux d
epartements), ou g
eographiques;
et une personne se voit d
el
eguer la responsabilit
e de ces sous-r
eseaux. Mais cette
structure n'a ecte que le comportement interne et est compl
etement invisible pour le
reste du monde.
2.4.3 Passerelles
La subdivision de r
eseaux n'est pas seulement utile pour des raisons administratives,
mais est aussi tr
es souvent la cons
equence naturelle des limitations mat
erielles. Le
point de vue d'un h^
ote connect
e
a un r
eseau physique donn
e (Ethernet par exemple),
est tr
es limit
e: il ne pourra acc
eder directement qu'aux machines situ
ees sur le m^
eme
r
eseau local. Tous les autres h^
otes ne lui sont accessibles qu'
a travers ce que l'on
appelle une passerelle. Une passerelleest un h^
ote qui est connect
ephysiquement
a deux
r
eseaux (ou plus) simultan
ement, et qui est con gur
e sp
ecialement pour permettre
d'
echanger des paquets entre eux.
Pour que IP puisse facilement savoir si un h^
ote est sur un r
eseau local physique, ces
di
erents r
eseaux physiques doivent appartenir
a di
erents r
eseaux IP. Par exemple,
le r
eseau IP 149.76.4.0 est r
eserv
e aux h^
otes du r
eseau local du D
epartement de
Math
ematiques. Lors de l'envoi d'un datagramme vers quark, les logiciels r
eseau de
erdos d
eduisent imm
ediatement de l'adresse IP 149.76.12.4 que l'h^
ote destinataire
est situ
e sur un r
eseau physique di
erent, et par cons
equent ne sera joignable que par
une passerelle (sophus par d
efaut).
42. 2.4. Routage IP 25
Cette machine passerelle, sophus, est connect
ee
a deux sous-r
eseaux distincts: celui
du D
epartement de Math
ematiques et la dorsale du campus. Il acc
ede
a chacun d'eux
par une interface di
erente, qui sont respectivement eth0 et fddi0. Mais alors, quelle
adresse IP devons-nous lui assigner? Faut-il lui en donner une appartenant au sous-
r
eseau 149.76.1.0, ou bien
a 149.76.4.0?
La r
eponse est: les deux, mon g
en
eral. Lors de dialogues avec des h^
otes du D
epar-
tement de Math
ematiques, sophus devra utiliser une adresse IP de 149.76.4.1, et
avec la dorsale, ce sera 149.76.1.4.
Donc, une passerelle se voit assigner une adresse IP par r
eseau auquel elle est connec-
t
ee. Ces adresses (et les masques correspondants) sont li
ees aux interfaces par les-
quelles on acc
ede aux sous-r
eseaux. La correspondance entre les interfaces et adresses
de sophus ressemblera donc
a ceci:
Interface Adresse Masque r
eseau
eth0 149.76.4.1 255.255.255.0
fddi0 149.76.1.4 255.255.255.0
lo 127.0.0.1 255.0.0.0
La derni
ere entr
ee correspond
a l'interface loopback, que nous avons d
ecrit plus haut.
La gure 2.2 montre une partie de la topologie du r
eseau
a l'universit
e Groucho Marx
(GMU). Les machines connect
ees simultan
ement
a deux sous-r
eseaux sont indiqu
ees
avec leurs deux adresses IP.
La plupart du temps, vous pouvez ignorer la di
erence entre l'adresse IP d'un h^
ote
et son interface. Pour ceux qui ne sont que sur un seul r
eseau, comme erdos, vous
pourrez dire que cette machine a telle ou telle adresse IP, bien qu'en r
ealit
e ce soit son
interface Ethernet qui ait cette adresse. Mais la distinction n'est vraiment importante
que pour les passerelles.
2.4.4 La table de routage
Nous allons maintenant concentrer notre attention sur la mani
ere dont IP choisit une
passerelle pour d
elivrer des donn
ees
a un r
eseau distant.
Nous venons de voir que erdos, lorsqu'il a un datagramme pour quark, teste l'adresse
de destination et s'aper
coit qu'elle n'est pas sur le r
eseau local. Par cons
equent, il
envoie le paquet
a la passerelle par d
efaut sophus, qui est alors confront
ee au m^
eme
probl
eme. Sophus voit que quark ne fait partie d'aucun des r
eseaux sur lesquels elle
est directement connect
ee, et qu'il lui faut trouver une autre passerelle
a qui passer le
ambeau. Le bon choix serait niels, celle reliant le D
epartement de Physique: sophus
a donc besoin d'informations lui permettant d'associer un r
eseau destinataire
a une
passerelle ad
equate.
Les informations de routage qu'IP utilise pour cela consistent en une table indiquant
les r
eseaux et les passerelles n
ecessaires pour les atteindre. De plus, une route par
43. 26 Chapitre 2. Le r
eseau TCP/IP
sophus niels
quark
erdos
12.4
4.17
gauss
4.1 12.1
1.4 1.12
4.0 12.0
4.23
gcc1
1.1
2.1
1.0
D
epartement Math
ematiques D
epartement Physique Th
eorique
Dorsale du campus
Centre de calcul de Groucho
Fig. 2.2 - Une partie de la topologie du r
eseau
a l'universit
e Groucho Marx.
44. 2.4. Routage IP 27
d
efaut doit g
en
eralement ^
etre indiqu
ee; il s'agit d'une entr
ee associant une passerelle
au r
eseau 0.0.0.0. Tous les paquets destin
es
a un r
eseau inconnu seront exp
edi
es par
ce chemin. Sur sophus, cette table pourrait ressembler
a celle-ci:
R
eseau Passerelle Interface
149.76.1.0 - fddi0
149.76.2.0 149.76.1.2 fddi0
149.76.3.0 149.76.1.3 fddi0
149.76.4.0 - eth0
149.76.5.0 149.76.1.5 fddi0
: : : : : : : : :
0.0.0.0 149.76.1.2 fddi0
Les routes vers les r
eseaux sur lesquels sophus est directement connect
ee n'ont pas
besoin de passerelle, c'est pourquoi ici la colonne correspondante contient un tiret.
Les tables de routage peuvent ^
etre construites par di
erents moyens. Dans le cas de
petits r
eseaux, la meilleure m
ethode est de le faire manuellement et de les positionner
par la commande route lors de l'amor
cage des syst
emes (voir le chapitre 5). Sur les
grands r
eseaux, elles sont ajust
ees en cours de fonctionnement par des programmes
qui s'
echangent des informations de routage pour d
eterminer les meilleures routes.
En fonction de la taille du r
eseau, di
erents protocoles de routage seront alors utilis
es.
A l'int
erieur de syst
emes autonomes (comme le campus Groucho Marx), les protocoles
de routage interne sont employ
es. Le plus courant, RIP (Routing Information Proto-
col) est impl
ement
e par le d
emon BSD routed. Entre les syst
emes autonomes, il faut
faire appel aux protocoles de routage externe comme EGP (External Gateway Protocol)
ou BGP (Border Gateway Protocol); ceux-ci (aussi bien que RIP) sont impl
ement
es
dans le d
emon gated de l'universit
e de Cornell4.
2.4.5 Valeurs m
etriques
Le routage dynamique bas
e sur RIP choisit le meilleur chemin vers un h^
ote ou un
r
eseau en fonction du nombre de (
( sauts )
) (hops), c'est-
a-dire le nombre de passerelles
travers
ees pour amener un datagramme
a destination. Plus ce chemin est court, mieux
il est not
e par RIP. Lorsqu'il est trop long, 16 sauts ou plus, il est consid
er
e comme
inutilisable et
elimin
e.
Pour utiliser RIP a n de g
ererles informations de routageinternes
a votre r
eseaulocal,
il faut que le programme gated soit en service sur chaque h^
ote. Au d
emarrage, gated
teste toutes les interfaces r
eseau actives. S'il en trouve plus d'une (loopback exclue), il
consid
ere que cette machine sert de passerelle entre di
erents r
eseaux et devient alors
actif,
echangeant et di usant des informations de routage. Sinon, il restera passif,
4: Le programme routed est consid
er
e comme bogu
e par beaucoup d'administrateurs. Puisque
gated supporte
egalement RIP, il est toujours pr
ef
erable d'utiliser ce dernier.
45. 28 Chapitre 2. Le r
eseau TCP/IP
attendant la r
eception de mises
a jour RIP pour modi er la table de routage locale
de mani
ere appropri
ee.
Lors de la di usion des informations sur la table locale, gated d
etermine la longueur
du chemin
a partir de la valeur m
etrique associ
ee avec chaque entr
ee. Cette valeur
est initialis
ee par l'administrateur syst
eme lors de l'
etablissement de la route et doit
re
eter le prix de revient de ce chemin particulier. Par cons
equent, la valeur m
etrique
d'une route vers un sous-r
eseau dont l'h^
ote est directement connect
e doit toujours
valoir z
ero, alors qu'une route passant par deux passerelles aura la valeur deux. Notez
que vous n'avez toutefois pas
a vous soucier de cette valeur m
etrique si vous n'utilisez
jamais le protocole RIP ou le programme gated.
2.5 Le protocole ICMP
IP vient avec un protocole dont nous n'avons pas encore parl
e: le protocole de contr^
ole
de messages, Internet Control Message Protocol. ICMP est utilis
e par les couches
r
eseau du noyau pour communiquer des messages d'erreurs aux autres h^
otes. Par
exemple, supposons que vous ^
etes une nouvelle fois sur erdos et d
esirez lancer un
telnet sur le port 12345 de quark, mais qu'
a l'autre bout il n'y ait aucun processus
a l'
ecoute de ce port. Lorsque le premier paquet TCP arrivera sur quark, la couche
r
eseau se rendra imm
ediatement compte de cet
etat de fait et renverra un message
ICMP
a erdos disant (
( Port Unreachable )
), soit (
( Port inaccessible )
).
ICMP sait traiter un certain nombre de messages, dont beaucoup sont des conditions
d'erreur. Malgr
e tout, l'un d'eux est particuli
erement int
eressant: le message de redi-
rection. Il est g
en
er
e par le module de routage lors qu'il d
etecte qu'un autre h^
ote est
en train d'utiliser la machine comme passerelle, alors qu'il existe une route bien plus
courte. Par exemple, apr
es le d
emarrage de sophus, sa table de routage peut ^
etre
incompl
ete. Elle pourrait contenir des routes vers le D
epartement de Math
ematiques,
la dorsale FDDI, et la route par d
efaut pointerait sur la passerelle du centre de calcul
(gcc1). Par cons
equent, tout paquet
a destination de quark serait envoy
e
a gcc1
plut^
ot qu'
a niels, la passerelle vers le r
eseau du D
epartement de Physique. En rece-
vant un tel datagramme, gcc1 se rendra compte qu'il s'agit d'un tr
es mauvais choix
de routage et le renverra
a niels, tout en retournant un message ICMP de redirection
a sophus, lui indiquant cette route, bien meilleure.
Cela peut sembler une m
ethode tr
es habile pour se contenter de ne positionner ma-
nuellement que le strict minimum de routes, et laisser les syst
emes faire le reste.
N
eanmoins, nous devons vous avertir que compter sur le routage dynamique, que
ce soit par RIP ou les redirections ICMP, n'est pas toujours une bonne id
ee: ces
protocoles ne vous o rent que tr
es peu, voire aucune possibilit
e de v
eri cation de
l'authenticit
e des informations de routage. Des utilisateurs malintentionn
es peuvent
arriver
a rendre votre r
eseau totalement hors service, ou pis encore. Pour cette rai-
son, certaines versions du code r
eseau de Linux traitent les messages de redirection
a ectant des routes r
eseaux comme s'il ne s'agissait que des routes d'h^
otes.