Вы находитесь на странице: 1из 516

Remerciements

` Nous tenons tout particuli` rement a remercier Philippe DAX, Nadine R ICHARD et Ahmed e S ERHROUCHNI pour les pr cieux conseils quils nous ont prodigu s durant la r daction de e e e cet ouvrage ainsi que pour leur patience lors des multiples relectures. e Les noms dutilisateurs ctifs pr sents dans les exemples de ce livre nous ont et gracieue sement pr t s par Luc B EURTON et Stoned E LIPOT, qui nous ont egalement aid s par leurs ee e pertinentes contributions. e Le chapitre sur le travail coop ratif a b n ci de laide de Yan P UJANTE, auteur dun m e e e e moire de recherche sur le sujet. ` Nous tenons egalement a remercier Bruno B EAUGRAND, Rapha l L UTA et Philippe M EU e NIER qui ont eu la gentillesse de nous procurer les documentations techniques dont nous avions besoin. Pierre B EYSSAC et Guillaume U RVOY nous ont egalement apport leur aide et nous les en e remercions. e Les illustrations pr sentant des mat riels C ISCO ont et reproduites avec la gracieuse autorie e 1 sation de la soci t C ISCO . ee Le (( formulaire de demande de cr ation ou de modication de domaine dans la zone fr )) e e a et reproduit avec laimable permission du NIC France 2 , ainsi que la liste des fournisseurs proposant le service de raccordement par ligne sp cialis e. e e Nous remercions enn la soci t I NTUISYS 3 pour ses moyens techniques et la patience de ee ses collaborateurs.
1. http://www.cisco.com/ 2. http://www.nic.fr/ 3. http://www.intuisys.fr/

Pr face e
` LInternet est, de par sa topologie, un m ta-r seau a couverture mondiale constitu dagr e e e e gations de r seaux propri taires quil interconnecte au moyen de lignes de transmission, de e e routeurs et du protocole dinterconnexion IP, lInternet Protocol. ` Lid e de cette interconnexion est d j` ancienne, puisquelle remonte a la naissance de lAre ea panet en 1969, lorsque Vinton Cerf raccorda les quatre premiers sites. Mais depuis, lInternet ` na cess de se d velopper et de samplier a un rythme soutenu, doublant, sans chir, son e e e taux de croissance chaque ann e. e e Si ce d ploiement na et exp rimental quau cours des ann es 70 pour tester la viabilit des e e e e nouveaux protocoles, il est devenu plus concert durant les ann es 80, uniquement r serv e e e e aux secteurs militaires et acad miques ainsi quaux organismes et instituts de recherche et de e ` ` d veloppement o` les raccordements point a point s tablissaient alors dami a ami. Au d but e u e e des ann es 90 la d r glementation quasi g n rale des op rateurs de t l communications allait e ee e e e ee ` ouvrir la voie a de nouvelles structures professionnelles offrant de la connectivit IP et des e ` services r seau a valeur ajout e a quiconque voulait adh rer au r seau. e e ` e e Ces nouvelles structures, appel es ISP (Internet Service Provider) ou prestataire de service e ` Internet, se sont ainsi multipli es pour faire face a la demande exponentielle de nouvelles e populations issues des entreprises, mais aussi, par le biais de la m diatisation en qu te de e e sensationnel, du grand public. Les ISP constituent dor navant une couche incontournable e entre les utilisateurs, toutes origines confondues, et lInternet. La premi` re partie de cet ouvrage, consacr e au routage IP, cest-` -dire au fonctionnement e e a m me de lInternet, sinscrit parfaitement dans cette optique dinterconnexion et de raccore dement avec les prestataires de services. Elle pr sente tous les cas de gure de raccordements e ` connus a ce jour et propose des solutions rationnelles selon les contraintes techniques et eco` e nomiques. Les seconde et troisi` me parties du livre sattachent principalement a d velopper e ` les services majeurs du r seau qui sont actuellement pr sents sur lInternet a savoir le coure e rier electronique email, les forums de discussion news, lin vitable World Wide Web, et aussi e les nouvelles technologies en cours dexp rimentation, telles que les relais, les caches et la e diffusion de groupe par multicast. Lint r t de ces chapitres porte sur linstallation, la mise ee en uvre et la meilleure fa on de rendre ces services. Les aspects de la s curit sont abord s, c e e e

4 comme il se doit, dans la derni` re partie du livre. Ladministrateur syst` me ou le respone e ` sable s curit y trouvera un arsenal doutils dune grande efcacit destin s a prot ger et a e e e e ` e contr ler son site. Une grande majorit des services r seau et des outils de s curit pr sent s o e e e e e e est dailleurs, chose cocasse, apport e par lutilisation de logiciels du domaine public tr` s e e largement r pandus et parfaitement matris s par la communaut des internautes. e e e ` e Ce livre sattache a donner au responsable informatique et r seau de lentreprise tous les el e ` ments techniques pour a la fois comprendre, choisir et apporter des solutions concr` tes et e ` ` ables a tous les probl` mes que peuvent poser un raccordement a lInternet et la mise en e uvre des services. Le lecteur pourra ainsi eviter dune part de longues pertes de temps dans les m andres des documentations, dautre part les ecueils dans lesquels les premiers pratie ciens sont in vitablement tomb s un jour. Cet ouvrage ding nierie sadresse principalement e e e aux administrateurs syst` me et r seau, aux ing nieurs et responsables informatiques et bien e e e entendu aux etudiants qui souhaitent toujours en savoir plus. e Ce travail original consacre le r sultat de la collaboration dun groupe de trois de mes el` ves e de lENST, promotions 1993 et 1994, qui ont chacun l ge de lInternet. Jai personnellement a ` ` eu avec chacun deux de longues discussions passionnantes a travers lesquelles l change a e e toujours prim et a et fructueux pour tous, sorte de mai tique. La rel` ve de la g n ration e e e e e e e e des pionniers par cette nouvelle (( g n ration Internet )) est donc assur e et prometteuse pour ` lavenir a laube de lan 2000. Philippe DAX

Philippe DAX est directeur d tudes et ing nieur syst` me et r seau du d partement informatique de e e e e e lEcole nationale sup rieure des t l communications de Paris (ENST), membre fondateur de lAssociae ee tion fran aise des utilisateurs dUnix (AFUU), membre de lISOC (Internet SOCiety) France, auteur de c nombreux articles a propos dInternet, r dacteur en chef de la revue Tribunix et auteur du best-seller e ` Le langage C traduit en de nombreuses langues (Eyrolles, 1983).

Table des mati` res e


Remerciements Pr face e ` I Raccordement a lInternet
1 Introduction 1.1

1 3 19
21

Historique et architecture de lInternet . . . . . . . . . . . . . . . . . . . . . 21 1.1.1 1.1.2 1.1.3 ` LInternet : des ann es 60 a nos jours . . . . . . . . . . . . . . . . . 21 e Topologie de lInternet . . . . . . . . . . . . . . . . . . . . . . . . . 22 Aspects administratifs . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.2

Les composantes de lInternet . . . . . . . . . . . . . . . . . . . . . . . . . 26 1.2.1 1.2.2 1.2.3 Concepts de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Aper u des services disponibles sur lInternet . . . . . . . . . . . . . 30 c LInternet en chiffres . . . . . . . . . . . . . . . . . . . . . . . . . . 32 33

2 Notions de base des r seaux TCP/IP e 2.1

Les diff rentes classes dadresses . . . . . . . . . . . . . . . . . . . . . . . . 33 e 2.1.1 2.1.2 2.1.3 2.1.4 Les adresses de classe A . . . . . . . . . . . . . . . . . . . . . . . . 34 Les adresses de classe B . . . . . . . . . . . . . . . . . . . . . . . . 35 Les adresses de classe C . . . . . . . . . . . . . . . . . . . . . . . . 35 Les adresses de classe D . . . . . . . . . . . . . . . . . . . . . . . . 36

6 2.1.5 2.2 2.2.1 2.2.2 2.3 2.4

Table des mati` res e


Les adresses de classe E . . . . . . . . . . . . . . . . . . . . . . . . 36 Les masques de r seau . . . . . . . . . . . . . . . . . . . . . . . . . 37 e Les masques de sous-r seaux . . . . . . . . . . . . . . . . . . . . . . 37 e

Les masques de r seau et de sous-r seaux . . . . . . . . . . . . . . . . . . . 37 e e

Lattribution des adresses IP . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Les couches de protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 Le mod` le OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 e TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 La couche physique . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 La couche liaison de donn es . . . . . . . . . . . . . . . . . . . . . 43 e La couche r seau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 e La couche transport . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Les couches sup rieures . . . . . . . . . . . . . . . . . . . . . . . . 46 e Les r p teurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 e e Les ponts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Les routeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Les passerelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 Lalgorithme de routage IP . . . . . . . . . . . . . . . . . . . . . . . 49 ` Le routage interne a un r seau local . . . . . . . . . . . . . . . . . . 50 e ` Le routage interne a un fournisseur Internet . . . . . . . . . . . . . . 52 Le routage entre fournisseurs . . . . . . . . . . . . . . . . . . . . . . 53 Conguration des adresses IP . . . . . . . . . . . . . . . . . . . . . 56 Conguration du routage . . . . . . . . . . . . . . . . . . . . . . . . 61 63

2.5

Lacheminement des donn es . . . . . . . . . . . . . . . . . . . . . . . . . . 47 e 2.5.1 2.5.2 2.5.3 2.5.4

2.6

Les protocoles de routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 2.6.1 2.6.2 2.6.3 2.6.4

2.7

Techniques de conguration . . . . . . . . . . . . . . . . . . . . . . . . . . 55 2.7.1 2.7.2

` 3 Raccordement dun r seau local a lInternet e 3.1 3.1.1 3.1.2

G n ralit s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 e e e Les quatre offres traditionnelles . . . . . . . . . . . . . . . . . . . . 63 Points de Pr sence . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 e

Table des mati` res e


3.1.3 3.1.4 3.1.5 3.2

Equipements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 Types de jonction et mode de transmission . . . . . . . . . . . . . . 66 Protocoles pour le raccordement . . . . . . . . . . . . . . . . . . . . 67

PPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 PPP synchrone et asynchrone . . . . . . . . . . . . . . . . . . . . . 68 Dial-on-Demand . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Redial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Filtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 N gociation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 e

3.3

Routeurs de proximit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 e 3.3.1 3.3.2 3.3.3 3.3.4 Routeurs CISCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Mise en marche dun routeur et conguration minimale . . . . . . . . 73 Diff rents modes dop ration . . . . . . . . . . . . . . . . . . . . . 75 e e Op rations de base . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 e

3.4

R seau t l phonique commut . . . . . . . . . . . . . . . . . . . . . . . . . 80 e ee e 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 Bande passante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 Modems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 UUCP : Unix to Unix Copy . . . . . . . . . . . . . . . . . . . . . . 87 SLIP : Serial Link Internet Protocol . . . . . . . . . . . . . . . . . . 88 PPP : Point to Point Protocol . . . . . . . . . . . . . . . . . . . . . . 88

3.5

` e R seau Num rique a Int gration de Services . . . . . . . . . . . . . . . . . . 100 e e 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.5.6 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Installation dabonn . . . . . . . . . . . . . . . . . . . . . . . . . . 101 e Types de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 Acc` s Internet avec adaptateur de terminal . . . . . . . . . . . . . . 105 e Acc` s Internet RNIS avec routeur sp cialis . . . . . . . . . . . . . . 108 e e e Particularit s de la connexion RNIS . . . . . . . . . . . . . . . . . . 116 e

8 3.5.7 3.6

Table des mati` res e


Quelques routeurs RNIS sp cialis s . . . . . . . . . . . . . . . . . . 117 e e

Liaison sp cialis e num rique . . . . . . . . . . . . . . . . . . . . . . . . . 122 e e e 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 Equipements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Plan dadressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 Mise en place du routage . . . . . . . . . . . . . . . . . . . . . . . . 126 Particularit s du raccordement par ligne sp cialis e . . . . . . . . . . 128 e e e Quelques routeurs de proximit . . . . . . . . . . . . . . . . . . . . 128 e

3.7

X25/Transpac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 3.7.1 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 Acc` s au r seau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 e e Equipements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 Plan dadressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 Mise en place du routage . . . . . . . . . . . . . . . . . . . . . . . . 136 Commutateurs X25 et routeurs . . . . . . . . . . . . . . . . . . . . . 136

II Services de base
4 Le Service de Noms 4.1 4.2

143
145

Historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145 Hi rarchie DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 e 4.2.1 4.2.2 4.2.3 Concepts de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Les TLD : Top Level Domain . . . . . . . . . . . . . . . . . . . . . 147 Le domaine in-addr.arpa . . . . . . . . . . . . . . . . . . . . . 147

4.3 4.4 4.5 4.6

Transferts de zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 Recherche r cursive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150 e Serveurs de type forwarder . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 Conguration des clients DNS . . . . . . . . . . . . . . . . . . . . . . . . . 153 4.6.1 4.6.2 Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 PC - Chameleon . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Table des mati` res e


4.6.3 4.7 4.8

Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154

Zones et domaines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Types denregistrements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156 4.8.1 4.8.2 4.8.3 4.8.4 4.8.5 4.8.6 4.8.7 4.8.8 4.8.9 Enregistrements de type SOA . . . . . . . . . . . . . . . . . . . . . 157 Enregistrement de type A . . . . . . . . . . . . . . . . . . . . . . . . 158 Enregistrement de type PTR . . . . . . . . . . . . . . . . . . . . . . 158 Enregistrement de type CNAME . . . . . . . . . . . . . . . . . . . . 158 Enregistrement de type NS et mise en place dune d l gation . . . . . 159 ee Enregistrement de type MX . . . . . . . . . . . . . . . . . . . . . . 160 Enregistrement de type TXT . . . . . . . . . . . . . . . . . . . . . . 163 Enregistrement de type HINFO . . . . . . . . . . . . . . . . . . . . 164 Enregistrement de type GPOS . . . . . . . . . . . . . . . . . . . . . 164

4.8.10 Enregistrement de type X25 . . . . . . . . . . . . . . . . . . . . . . 164 4.8.11 Enregistrement de type ISDN . . . . . . . . . . . . . . . . . . . . . 164 4.8.12 Autres types denregistrements . . . . . . . . . . . . . . . . . . . . . 165 4.8.13 Nom de r seau, masque de sous-r seaux, adresse r seau, nom dore e e ganisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165 4.9 Le serveur BIND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166 4.9.1 4.9.2 4.9.3 4.9.4 4.9.5 4.9.6 4.9.7 Contenu de la distribution . . . . . . . . . . . . . . . . . . . . . . . 166 Fichiers de conguration de BIND . . . . . . . . . . . . . . . . . . . 168 Fichier de cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168 Conguration dune zone directe . . . . . . . . . . . . . . . . . . . . 170 Conguration dune zone inverse . . . . . . . . . . . . . . . . . . . 170 Zones recommand es . . . . . . . . . . . . . . . . . . . . . . . . . . 170 e Activation du d mon BIND . . . . . . . . . . . . . . . . . . . . . . 174 e

4.10 Le NIC-France . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 4.10.1 Charte dattribution de noms . . . . . . . . . . . . . . . . . . . . . . 175 4.10.2 Service de test des zones . . . . . . . . . . . . . . . . . . . . . . . . 176 4.11 Attribution dun domaine sous com, org, edu et net . . . . . . . . . . . . 179 4.12 Attribution dun domaine sous eu.org . . . . . . . . . . . . . . . . . . . . 179

10

Table des mati` res e


4.13 Les bases Whois . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 4.14 Outils de tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 4.15 Automates danalyse DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 4.15.1 dnswalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 4.15.2 lamers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

5 La messagerie 5.1 5.2

189

La matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190 Les botes aux lettres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 5.2.1 5.2.2 5.2.3 5.2.4 Le spool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 POP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192 IMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 Choisir une m thode . . . . . . . . . . . . . . . . . . . . . . . . . . 194 e

5.3

Les echangeurs de courrier electronique . . . . . . . . . . . . . . . . . . . . 194 5.3.1 Le transit du courrier . . . . . . . . . . . . . . . . . . . . . . . . . . 194

5.4

Conguration de sendmail . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 5.4.1 5.4.2 5.4.3 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197 Principes de conguration de sendmail . . . . . . . . . . . . . . . . 198 Cr ation dun chier de conguration . . . . . . . . . . . . . . . . . 199 e

5.5 5.6

Conguration dun serveur POP . . . . . . . . . . . . . . . . . . . . . . . . 207 Conguration des postes clients . . . . . . . . . . . . . . . . . . . . . . . . 209 5.6.1 5.6.2 Netscape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 ELM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

5.7

Notions de n tiquette . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216 e 5.7.1 5.7.2 Communication priv e . . . . . . . . . . . . . . . . . . . . . . . . . 217 e Communication de groupe . . . . . . . . . . . . . . . . . . . . . . . 217 219

6 Les forums de discussion 6.1

La notion de forum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 6.1.1 6.1.2 ` Labonnement a un groupe . . . . . . . . . . . . . . . . . . . . . . . 219 Poster dans un groupe . . . . . . . . . . . . . . . . . . . . . . . . . 220

Table des mati` res e


6.1.3 6.1.4 6.2 6.3

11

Les groupes mod r s . . . . . . . . . . . . . . . . . . . . . . . . . . 221 ee Liste des groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

Propagation des messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Cycle de vie dun article . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 6.3.1 6.3.2 6.3.3 Propagation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Effacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Expiration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225

6.4 6.5

Conguration dun lecteur de forums . . . . . . . . . . . . . . . . . . . . . . 225 Conguration dun serveur : INN . . . . . . . . . . . . . . . . . . . . . . . . 227 6.5.1 6.5.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 Discussion pr alable . . . . . . . . . . . . . . . . . . . . . . . . . . 235 e Organisation du vote . . . . . . . . . . . . . . . . . . . . . . . . . . 235 Cr ation v ritable du groupe . . . . . . . . . . . . . . . . . . . . . . 235 e e

6.6

Cr er un nouveau groupe francophone . . . . . . . . . . . . . . . . . . . . . 234 e 6.6.1 6.6.2 6.6.3

III Services multim dias e


7 Echange de chiers 7.1 7.1.1 7.1.2 7.1.3 7.2 7.3 7.4 7.5 7.6

237
239

Encodage des chiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239 MIME (Multipurpose Internet Mail Extensions) . . . . . . . . . . . . 240 Echange de chiers cod s avec MIME . . . . . . . . . . . . . . . . . 244 e Codage des messages avant leur envoi . . . . . . . . . . . . . . . . . 245

Codage des accents selon le standard MIME . . . . . . . . . . . . . . . . . . 246 7.2.1 Le format Quoted-Printable . . . . . . . . . . . . . . . . . . . . . . 246 Echange de chiers cod s avec uuencode/uudecode . . . . . . . . . . . . . . 246 e Utilisation du jeu de caract` res ISO-latin-1 . . . . . . . . . . . . . . . . . . . 248 e R cup ration de donn es provenant de syst` mes dont le jeu de caract` res est e e e e e incompatible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248 Conguration des types MIME et des polices de caract` res dans les clients . . 250 e 7.6.1 Conguration des types MIME sous Netscape . . . . . . . . . . . . . 250

12 7.6.2 8 Le web 8.1 8.2

Table des mati` res e


Conguration des polices sous Netscape . . . . . . . . . . . . . . . . 252 255

G n ralit s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 e e e Les URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257 8.2.1 8.2.2 Encodage des URL . . . . . . . . . . . . . . . . . . . . . . . . . . . 258 Les m thodes dacc` s des URL . . . . . . . . . . . . . . . . . . . . 259 e e

8.3

Les clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 8.3.1 8.3.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

8.4

Naviguer sur le Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270 8.4.1 8.4.2 Structure des documents et des sites . . . . . . . . . . . . . . . . . . 271 Rechercher linformation . . . . . . . . . . . . . . . . . . . . . . . . 274 277

9 Les serveurs HTTP 9.1

Le protocole HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 9.1.1 9.1.2 9.1.3 9.1.4 9.1.5 9.1.6 G n ralit s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 e e e En-t tes HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279 e M thodes HTTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281 e Le statut des requ tes . . . . . . . . . . . . . . . . . . . . . . . . . . 281 e Les URL dans le protocole HTTP . . . . . . . . . . . . . . . . . . . 283 Buts et principes de lauthentication . . . . . . . . . . . . . . . . . 284

9.2

Installation et conguration dun serveur HTTP . . . . . . . . . . . . . . . . 287 9.2.1 9.2.2 9.2.3 9.2.4 Les principaux r pertoires, param` tres et chiers . . . . . . . . . . . 288 e e Conguration des types MIME . . . . . . . . . . . . . . . . . . . . . 291 Permissions et droits dacc` s . . . . . . . . . . . . . . . . . . . . . . 292 e Mode de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . 292

9.3

Installation et conguration dApache . . . . . . . . . . . . . . . . . . . . . 296 9.3.1 9.3.2 Utilisation des modules . . . . . . . . . . . . . . . . . . . . . . . . . 303 Notion dadresse virtuelle (virtual host) . . . . . . . . . . . . . . . . 304

9.4

Installation de Netscape Commerce Server . . . . . . . . . . . . . . . . . . . 305

Table des mati` res e


9.4.1 9.5

13

Lancement de linstallation . . . . . . . . . . . . . . . . . . . . . . . 306

Mise en place du contenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316 9.5.1 Check-list de linstallation . . . . . . . . . . . . . . . . . . . . . . . 316 319

10 Le langage HTML et son utilisation

10.1 G n ralit s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320 e e e 10.1.1 Les niveaux du standard . . . . . . . . . . . . . . . . . . . . . . . . 321 10.2 Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 10.2.1 Encodage HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322 10.2.2 Les diff rentes parties dun document . . . . . . . . . . . . . . . . . 322 e 10.2.3 Afchage ou enregistrement des documents source . . . . . . . . . . 325 10.2.4 Les principales instructions (tags) . . . . . . . . . . . . . . . . . . . 325 10.2.5 Liens hypertexte et ancres . . . . . . . . . . . . . . . . . . . . . . . 340 10.2.6 Couleur ou image de fond de page et couleur du texte . . . . . . . . . 345 10.2.7 Exemple de page compl` te . . . . . . . . . . . . . . . . . . . . . . . 346 e 10.2.8 Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346 10.2.9 Formulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349 10.3 Utilisation de programmes avec le Web . . . . . . . . . . . . . . . . . . . . 353 10.3.1 La norme CGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 10.3.2 Application : afchage des variables denvironnement . . . . . . . . 359 10.3.3 Application : cartes cliquables (clickable image maps) . . . . . . . . 360 10.4 Automatiser le formatage du contenu avec Apache . . . . . . . . . . . . . . 368 10.4.1 En-t tes et pieds de page . . . . . . . . . . . . . . . . . . . . . . . . 368 e 10.4.2 Lancement de scripts selon le type des chiers . . . . . . . . . . . . 369 11 Relais et caches 371

11.1 Principes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . 371 11.1.1 Lecture directe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 11.1.2 Passage par un serveur proxy . . . . . . . . . . . . . . . . . . . . . . 372 11.1.3 Mettre des documents dans le cache . . . . . . . . . . . . . . . . . . 372 11.1.4 Hi rarchie de serveurs interm diaires . . . . . . . . . . . . . . . . . 373 e e

14

Table des mati` res e


11.2 Conguration dun serveur proxy-cache . . . . . . . . . . . . . . . . . . . . 374 11.2.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374 11.2.2 Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375 11.2.3 Maintenance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

12 Multicast

379

` 12.1 La communication point a point . . . . . . . . . . . . . . . . . . . . . . . . 379 12.2 Adresses de classe D et notion de groupe . . . . . . . . . . . . . . . . . . . . 380 12.2.1 Routage sur Ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . 381 12.2.2 Routage sur lInternet : les routeurs multicast . . . . . . . . . . . . . 382 12.2.3 Routage sur lInternet : les tunnels . . . . . . . . . . . . . . . . . . . 383 12.2.4 Deux protocoles de routage : DVMRP et MOSPF . . . . . . . . . . . 384 12.2.5 Contr le des paquets : dur e de vie et seuil . . . . . . . . . . . . . . 384 o e 12.3 Connexion au MBone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386 12.3.1 Formalit s administratives . . . . . . . . . . . . . . . . . . . . . . . 386 e 12.3.2 Conguration dun routeur Cisco . . . . . . . . . . . . . . . . . . . 386 12.3.3 Conguration du programme mrouted . . . . . . . . . . . . . . . . . 387 12.4 Les applications multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388 e 12.4.1 R pertoire des ev nements multicast : sdr . . . . . . . . . . . . . . 388 e 12.4.2 Laudio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391 12.4.3 La vid o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393 e

IV S curit e e
13 Le rewall

397
399

13.1 Mod` le du rewall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399 e 13.2 Filtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 13.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401 13.2.2 Filtrage UDP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403 13.2.3 Filtrage TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406 13.2.4 Protection contre lIP-spoong . . . . . . . . . . . . . . . . . . . . . 408

Table des mati` res e

15

13.2.5 Mise en place dun ltre sur un routeur d di . . . . . . . . . . . . . 408 e e 13.3 Choix des adresses du r seau priv . . . . . . . . . . . . . . . . . . . . . . . 412 e e 13.4 Mise en place des services . . . . . . . . . . . . . . . . . . . . . . . . . . . 412 13.4.1 Courrier electronique . . . . . . . . . . . . . . . . . . . . . . . . . . 412 13.4.2 DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 13.4.3 Serveur WWW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 13.4.4 Serveur proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 13.4.5 Forums . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 13.4.6 FTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 13.4.7 Services internes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 13.5 TCP-Wrapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 13.5.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416 13.5.2 Exemple de mise en place . . . . . . . . . . . . . . . . . . . . . . . 416 13.6 Autres outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419 13.7 V rications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420 e 14 Les outils logiciels 427

14.1 Notions de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427 14.1.1 Les malveillances sur un r seau . . . . . . . . . . . . . . . . . . . . 427 e 14.1.2 S curit des donn es dans un syst` me informatique . . . . . . . . . . 428 e e e e 14.1.3 Pourquoi s curiser un site? . . . . . . . . . . . . . . . . . . . . . . . 428 e 14.2 Notions de cryptologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428 14.2.1 Quelques d nitions . . . . . . . . . . . . . . . . . . . . . . . . . . 429 e 14.2.2 Principes de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429 14.2.3 Efcacit dun syst` me cryptographique . . . . . . . . . . . . . . . . 429 e e ` e 14.2.4 Syst` mes a cl priv e . . . . . . . . . . . . . . . . . . . . . . . . . . 430 e e ` e 14.2.5 Syst` mes a cl publique . . . . . . . . . . . . . . . . . . . . . . . . 431 e 14.2.6 Chiffrement et authentication . . . . . . . . . . . . . . . . . . . . . 433 14.3 Techniques de s curisation au niveau applicatif . . . . . . . . . . . . . . . . 434 e 14.3.1 Crack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 14.3.2 PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

16

Table des mati` res e


14.3.3 Principe de fonctionnement . . . . . . . . . . . . . . . . . . . . . . 437 14.3.4 R seau de conance . . . . . . . . . . . . . . . . . . . . . . . . . . 438 e 14.3.5 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438 14.3.6 Conguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439 14.3.7 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 14.4 S curit des connexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 e e 14.4.1 SSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443 14.4.2 SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 14.5 Tripwire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447 14.5.1 Principes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . 447 14.5.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 14.5.3 Conguration et initialisation . . . . . . . . . . . . . . . . . . . . . 450 14.5.4 Utilisation quotidienne . . . . . . . . . . . . . . . . . . . . . . . . . 451 14.6 Etat de la l gislation fran aise . . . . . . . . . . . . . . . . . . . . . . . . . 453 e c 14.6.1 La situation pr c dente . . . . . . . . . . . . . . . . . . . . . . . . . 453 e e 14.6.2 La situation actuelle . . . . . . . . . . . . . . . . . . . . . . . . . . 453

V Annexes
A Fichiers de conguration de routeurs B Le formulaire du NIC-France C Le formulaire de lInterNIC D La facture de lInterNIC E Les fournisseurs Internet F Codes d tat du protocole http e G Compression et archivage

455
457 461 467 479 483 489 491

G.1 G n ralit s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491 e e e

Table des mati` res e

17

G.2 Archivage et compression sous Unix . . . . . . . . . . . . . . . . . . . . . . 492 G.2.1 Tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492 G.2.2 Principales options de GNU tar . . . . . . . . . . . . . . . . . . . . 493 G.2.3 Gzip et compress . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 H Contenu du CD-ROM 497

H.1 Conditions dutilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497 H.2 Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498 H.2.1 Logiciels en version binaire . . . . . . . . . . . . . . . . . . . . . . 498 H.2.2 Logiciels en version source . . . . . . . . . . . . . . . . . . . . . . . 498 H.2.3 Licenses particuli` res . . . . . . . . . . . . . . . . . . . . . . . . . . 499 e H.3 Windows 3.1 et Windows 95 . . . . . . . . . . . . . . . . . . . . . . . . . . 499 H.4 Macintosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 H.5 Netscape Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500 H.6 Eudora Light . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501 Index 502

` PREMIERE PARTIE

Raccordement lInternet

Avant de pouvoir utiliser ou fournir des services sur lInternet, il faut choisir une technique an dy raccorder son r seau dentreprise : acc` s RTC par e e modem, RNIS avec routeur ou adapta` teur de terminal, X25 a travers Transpac ou ligne sp cialis e. e e

1
Introduction
M me si lInternet est sous le feu des projecteurs dans les m dia depuis presque deux ans, e e il existait, sous une forme assez proche de ce quon connat maintenant, d j` au d but des ea e ann es 70. e

1.1 Historique et architecture de lInternet


` 1.1.1 LInternet : des ann es 60 a nos jours e
` ` A la n des ann es 60, diff rents projets de r seaux a commutation de paquets ont vu le jour, e e e dont Arpanet, le r seau de la Darpa (Defense Advanced Research Project Agency). Cest ce e ` dernier qui a donn naissance a lInternet. Pendant les ann es 70, le r seau sest agrandi pour e e e accueillir des centres du d partement de d fense am ricain, le DoD, des sites universitaires e e e et des centres de recherche. Au d but des ann es 80, la famille des protocoles TCP/IP fut e e nalis e et la topologie de lInternet quon connat maintenant, ensemble de nuds reli s par e e des routeurs IP, fut mise en place. En 1985, Arpanet etant devenu compl` tement engorg , la NSF (National Science Foundae e ` tion) d buta la premi` re phase du projet NSFNet. Ce dernier consistait a relier six centres e e ` informatiques majeurs et des r seaux universitaires par des liaisons a 56 Kbits/s. e ` En 1987, IBM, MCI et Merit 1 se virent attribuer pour cinq ans la t che de mise a niveau et a ` de gestion de la dorsale du r seau NSFNet, dorsale compos e de liens a 1,5 Mbits/s faisant le e e tour des Etats-Unis et interconnectant principalement dimportants centres de calculs.
` 1. Merit est une organisation a but non lucratif regroupant onze universit s de l tat du Michigan. e e

22

` Raccordement a lInternet

En 1990, ils se regroup` rent au sein dANS (Advanced Network and Services) pour adminise trer la dorsale du r seau NSFNet et faciliter la commercialisation de son acc` s. Merit fournit e e les moyens pour cr er et administrer la Policy Routing Database, ou PRDB, base de donn es e e regroupant des informations de routage an de congurer les routeurs majeurs du r seau pour e acheminer correctement le trac. ANS augmenta la capacit des liaisons jusqu` 45 Mbits/s. e a Toujours au d but des ann es 1990, Sprint se chargea dinterconnecter la dorsale NSF avec e e de nombreux r seaux en Europe et en Asie. e Ladministration de la dorsale NSF par Merit, etablie en 1987 pour cinq ans et devant donc se terminer en 1992, fut reconduite pour fournir une p riode de transition an de mettre en e place la nouvelle architecture du r seau NSFNet : e ` une dorsale a haut d bit, le vBNS, ou very high speed Backbone Network Service, e r seau de liaisons dune capacit initiale de 155 Mbits/s, destin uniquement au trac e e e entre les centres de recherche et les universit s ; e un ensemble de NAP, ou Network Access Points, situ s en diff rents nuds du vBNS, e e formant un ensemble de points de concentration et d change de trac entre les foure nisseurs Internet commerciaux ; un arbitre de routage, le Routing Arbiter, groupe charg de mettre en place et dadmie nistrer des bases de donn es prenant en compte les politiques de routage des fournise seurs Internet de la plan` te an de congurer convenablement les echanges au niveau e des NAP. D but 1995, la transition du r seau NSFNet vers sa nouvelle architecture fut termin e et son e e e administration par Merit prit n. LInternet venait donc dentrer d nitivement dans l` re e e commerciale.

1.1.2 Topologie de lInternet


Comme on peut le constater sur la gure 1.1 page ci-contre, lInternet est maintenant consti tu dune dorsale vBNS qui fait le tour des Etats-Unis, interconnectant des r seaux r gionaux e e e ` ainsi que dimportants centres de calcul. Elle est reli e en cinq nuds principaux a des points e d change de trac commercial sous forme de NAP ou dautres types dinterconnexion, sie tu s dans les r gions de Chicago, Los Angeles, New York, San Francisco et Washington. e e Les fournisseurs Internet du monde entier viennent se connecter chacun sur plusieurs de ces points. En Europe, on trouve diff rents r seaux f d rateurs comme par exemple une dorsale nomm e e e e e e Ebone, destin e a favoriser les echanges directs entre fournisseurs sans passer par les NAP e ` am ricains, ou le r seau EuropaNET de DANTE (Delivery of Advanced Network Technology e e to Europe). EuropaNET est destin au monde de la recherche tandis quEbone propose aussi e des acc` s aux fournisseurs commerciaux. e Plus de 60 fournisseurs Internet dans 29 pays sont interconnect s a travers Ebone, qui est e `

Chapitre 1 Introduction

23

MAE WEST FIX WEST CIX SMDS San Francisco NAP

Chicago NAP

New York NAP

MAE East FIX East MAE LA Cerfnet

Figure 1.1

Le vBNS et les NAP

` ainsi organis autour de six villes reli es par des liaisons a quelques Mbits/s : Amsterdam, e e Stockholm, Munich, Paris, Vienne et Gen` ve. Stockholm et Paris sont de plus reli es au r e e e ` seau am ricain. Ainsi, les diff rents fournisseurs europ ens peuvent se connecter a un de ces e e e points dentr e dEbone pour acqu rir une connectivit totale avec le reste des fournisseurs e e e Internet du globe. Dautres r seaux europ ens, tels que ceux de Pipex ou dEUnet, sont interconnect s a Ebone. e e e ` Ces r seaux priv s nutilisent pas Ebone pour acc der aux fournisseurs am ricains, ils dise e e e posent de leurs propres lignes transatlantiques, ce qui leur apporte lind pendance et un e meilleur contr le de la qualit et de lengorgement de leurs acc` s. o e e ` LInternet Society (ISOC) met r guli` rement a jour une carte de la connectivit Internet mone e e diale. Elle est pr sent e sur la gure 1.2 page suivante o` on peut constater que la presque e e u ` totalit de la plan` te est joignable a travers lInternet. e e

1.1.3 Aspects administratifs


De nombreux organismes sont charg s dune partie du travail administratif n cessaire au bon e e fonctionnement de lInternet. On peut distinguer trois fonctions administratives de base : la gestion de larbitre de routage ; lattribution des num ros (adresses IP, num ros de ports, etc.) ; e e lattribution des noms de domaines.

` Raccordement a lInternet

INTERNATIONAL CONNECTIVITY
Version 15 - 6/15/96 Internet Bitnet but not Internet EMail Only (UUCP, FidoNet) No Connectivity
This map may be obtained via anonymous ftp from ftp.cs.wisc.edu, connectivity_table directory

Copyright 1996 Larry Landweber and the Internet Society. Unlimited permission to copy or use is hereby granted subject to inclusion of this copyright notice.

24

Figure 1.2

Carte de la connectivit mondiale de lInternet e

Chapitre 1 Introduction
Gestion de larbitre de routage

25

Le projet darbitre de routage, ou Routing Arbiter Project, est pris en charge par Merit et lInformation Sciences Institute (ISI). Les objectifs sont de normaliser un langage formel de description de politique de routage, de cr er et distribuer des outils permettant de facilement evaluer et tester des politiques de e routage, et de congurer les serveurs de routes (Route Servers) pr sents sur chacun des NAP e en fonction des politiques des diff rents fournisseurs Internet. e Pour cela, des registres de routage Internet, ou Internet Routing Registries, sont charg s de e ` collecter les diff rentes informations daccessibilit de r seaux a partir des d clarations faites e e e e par les fournisseurs. Il y a six registres de routage Internet : RIPE (R seaux IP Europ ens) se charge de collecter les informations pour lEurope ; e e MCI collecte les informations de ses clients ; CA*net collecte les informations de ses clients ; ANS collecte les informations de ses clients ; JPRR se charge de collecter les informations pour le Japon ; Merit et ISI collectent, au sein de la RADB (Routing Arbiter DataBase), les informations qui ne rentrent dans le cadre daucun des registres pr c dents. e e

Attribution des num ros e e ee e La gestion de tous les param` tres li s au fonctionnement de lInternet a et d l gu e par e e ` lInternet Society a Iana : lInternet Assigned Numbers Authority. Iana est actuellement pris en charge par lInformation Sciences Institute de lUniversit de Californie du Sud (USC). e Par exemple, les num ros de ports standards et les num ros de protocoles sont d nis par e e e Iana. Lattribution des num ros IP affect s aux machines connect es a lInternet est un probl` me e e e ` e trop complexe pour etre g r par un seul organisme. Iana a donc d l gu a diff rents registres ee ee e` e Internet (Internet Registries) des blocs de lespace dadressage. Ces derniers les ont parfois ` d coup s en sous-blocs an de les d l guer a des organismes r gionaux. e e ee e Parmi les registres Internet majeurs, on peut citer RIPE pour lEurope, APNIC pour la zone Asie-Pacique et lInterNIC notamment pour le continent am ricain. e Bien souvent, par le jeu des d l gations, ce sont les fournisseurs Internet qui se voient d l ee ee ` guer des blocs dadresses et qui les attribuent ainsi directement a leurs clients.

26 Attribution des noms de domaines

` Raccordement a lInternet

Un nom de domaine permet de regrouper des noms de machines ou de services, et se repr e sente par une chane de caract` res telle que fenetre.fr ou fenetre.com. Les noms e e ee e ` de domaines ont et d l gu s par Iana a lInterNIC pour les sous-domaines de .com, .net, .org, .edu, .gov et .mil. Les sous-domaines de .fr sont attribu s par le NIC-France, e dont la gestion rel` ve de lInria. Des r` gles bien pr cises dans lattribution de ces noms sont e e e impos es par les organismes qui g` rent leurs d l gations. Par exemple, la politique dattribue e ee e tion de lInterNIC est (( premier arriv , premier servi )) tandis que la politique dattribution du NIC-France est plus rigoureuse. Elle impose par exemple que les marques soient d l gu es ee e dans le sous-domaine tm.fr.

1.2 Les composantes de lInternet


1.2.1 Concepts de base
Pour comprendre le fonctionnement de lInternet, il faut successivement choisir une solution ` e ` de raccordement, faire des choix pertinents quant a lh bergement ou a la mise en place de services et r soudre les probl` mes de conguration et de r glage de mat riels et logiciels. e e e e Pour cela, il faut matriser les concepts cl s de cette probl matique. Attachons-nous donc e e ` e a d nir les termes r currents dans le monde des r seaux : nud, serveur, client, service, e e adresse IP, DNS, nom de domaine. Nud LInternet est un r seau maill , compos d quipements interconnect s entre eux par diff e e e e e e rents types de liaisons. On trouve principalement deux classes d quipements : des equipee ments terminaux tel quun simple micro-ordinateur de type PC, et des routeurs, destin s a e ` relayer les informations entre les equipements terminaux. Tous ces equipements sont quali s de nuds du r seau. Les equipements terminaux poss` dent une seule carte dinterface e e e r seau, par exemple une carte Ethernet ou une carte modem. Les routeurs ayant pour charge e dinterconnecter plusieurs r seaux, ils poss` dent donc plusieurs cartes dinterface r seau. La e e e ` gure 1.3 repr sente des equipements a diff rents niveaux de la topologie du r seau Internet. e e e Serveur ` Le r seau maill constitu par les routeurs de lInternet permet a chaque nud d changer des e e e e informations avec nimporte quel autre equipement quel que soit son point de rattachement. ` Certaines de ces machines vont h berger des logiciels r pondant a des requ tes en provenance e e e dautres nuds. On qualie ces machines de serveurs, et les logiciels quelles h bergent sont e

Chapitre 1 Introduction
Fournisseur Internet Fournisseur Internet Fournisseur Internet

27

Routeur

Fournisseur Internet

BACKBONE DU FOURNISSEUR

Imprimante

Routeur

Fournisseur Internet

ETHERNET LOCAL

Serveur

Mac

Mac

PC

PC

Site raccord Internet Site raccord Internet

Figure 1.3

Differents niveaux de la topologie r eseau de lInternet

appel s logiciels serveurs. Il est dusage dutiliser le m me terme g n rique serveur pour e e e e qualier autant les logiciels que les machines, le contexte permettant de d terminer le sens. e Un micro-ordinateur de type PC ou Macintosh peut ainsi faire ofce de serveur, mais lorsque la fr quence de requ tes ou la complexit de leur traitement deviennent tr` s importantes, e e e e ` dautres solutions sont mises en uvre, souvent a laide de stations de travail sous le syst` me e dexploitation Unix. Il faut savoir que certaines machines se voient proposer des centaines de requ tes par seconde. e

Client Pour pouvoir interroger un serveur, il faut disposer dune machine connect e au r seau, ainsi e e que dun logiciel adapt , appel logiciel client. Dun c t , il propose une interface hommee e oe ` machine conviviale pour vous aider a formuler une requ te, et, une fois cette derni` re d nie, e e e

28

` Raccordement a lInternet

il se connecte par le r seau au serveur distant pour dialoguer avec lui, an de lui demander e de traiter cette requ te. D` s que le serveur a calcul la r ponse, il la renvoie par le r seau au e e e e e logiciel client, qui la pr sente sous une forme intelligible. e Certains serveurs et clients nont pas dinteraction avec lutilisateur. Il sagit la plupart du temps de communications client/serveur li es a des services de bas niveau, permettant par e ` ` exemple a des machines de se synchroniser, ou de s changer des informations utiles au e bon fonctionnement global du r seau. Notamment, il existe des messages de service de ce e type, indiquant la pr sence dun groupe de nouveaux nuds sur le r seau ; on comprend bien e e que les protocoles en jeu dans ce type de sc nario sont n cessaires au fonctionnement de e e lInternet, mais nont pas de lien direct avec les utilisateurs. Service On d nit des types de services suivant les fonctionnalit s offertes par le logiciel h berg e e e e ` sur un nud. Evidemment, a chacun de ces types est associ un protocole de communication e particulier permettant aux diff rents clients de dialoguer avec les machines qui h bergent e e ` chaque service correspondent donc des logiciels les services auxquels ils veulent acc der. A e de type client, des logiciels de type serveur, et un protocole leur permettant d changer des e informations. e Il faut noter que le d veloppement de lInternet a et bas sur un principe dinterop rabilit . e e e e Cela signie que pour chaque service disponible, le protocole sous-jacent a fait lobjet dune ` ` d nition dans les moindres d tails, an de permettre a tous les clients, existants ou a venir, e e de collaborer avec tous les serveurs d velopp s pour le m me service, ind pendamment des e e e e machines, des syst` mes dexploitation et des logiciels qui les font fonctionner. Ainsi, si on est e equip dun micro-ordinateur de type PC sous Windows 95, rien ne nous emp che de contace e ter un serveur Web dinformations de m t orologie h berg sur une machine disposant dun ee e e tout autre syst` me dexploitation, par exemple un serveur DEC sous OpenVMS reli a lIne e` ternet, du moment que le logiciel client charg sur notre mat riel suit parfaitement la norme e e de communication du service en question. Cest l` une des forces de lInternet, dont lacc` s a e nest d pendant daucun constructeur ni editeur de logiciel particulier, et dont les protocoles e sont d nis au sein de documents appel s RFC (Request for Comments) et disponibles sur le e e r seau lui-m me. Il en existe aujourdhui environ deux mille. e e On trouve maintenant sur la plupart des ordinateurs, quel que soit le processeur dont ils ` disposent, des cartes dinterface permettant de les relier a lInternet, ainsi que des logiciels client et serveur pour lensemble des services en vogue sur le r seau. e

Adresse IP Toute machine sur lInternet poss` de un code didentication unique, appel adresse IP. Par e e exemple, le serveur Web des etudiants de lEcole nationale sup rieure des t l communicae ee

Chapitre 1 Introduction

29

tions de Paris poss` de ladresse IP suivante : 137.194.168.13. Aucune autre machine sur e lInternet ne poss` de cette m me adresse. Mais nous savons quune machine reli e a lInternet e e e ` dispose dune carte dinterface r seau, branch e sur son bus interne, pour la relier par un supe e ` port physique (par exemple un c ble Ethernet) a un routeur, lui-m me connect a lInternet a e e` par linterm diaire dautres equipements, toujours suivant le m me principe. Rien ninterdit e e de mettre plusieurs cartes dinterfaces Ethernet dans une machine : on la transforme ainsi en ` routeur. Cest a chacune de ces interfaces r seau que sera associ e une adresse IP unique. On e e comprend donc ainsi quune seule machine peut poss der plusieurs adresses IP. e

DNS, nom de domaine Les adresses IP sont utilis es par les logiciels clients et serveurs. Quand un utilisateur situ e e ` ` a Tokyo d sire acc der au serveur Web des etudiants de lENST, il doit demander a son e e logiciel client de g n rer des paquets de donn es sur le r seau, qui vont etre achemin s vers e e e e e Paris par un ensemble de routeurs situ s entre les deux villes. An d tre convenablement e e achemin s, ces paquets de donn es doivent tous contenir ladresse de leur destination, ceste e ` a-dire 137.194.168.13. ` Mais lutilisateur japonais qui d sire acc der a ce serveur doit-il connatre cette adresse ? e e Heureusement non, il existe un annuaire distribu sur lInternet, nomm DNS, dont lobjet e e est de fournir des correspondances entre des noms de machines et des adresses IP. Il simplie la vie des utilisateurs : il est plus simple de se souvenir dun nom que dune adresse IP, dautant plus que ladresse dune machine d pend du r seau auquel elle est rattach e, et elle e e e ` vient donc a changer quand la machine est d m nag e. e e e ` ` Ainsi, lutilisateur japonais indique simplement a son logiciel quil d sire acc der a la mae e chine dont le nom est www-stud.enst.fr. Le logiciel en question se contente dinterroger une machine g rant le service DNS, an d tre inform de la correspondance entre e e e ` e www-stud.enst.fr et 137.194.168.13. Ensuite, il est a m me de g n rer les pae e quets de donn es a destination de cet equipement. Evidemment, lop ration inverse est tout e ` e ` aussi possible : on peut fournir a un serveur DNS une adresse IP an den obtenir un nom de machine. La machine www-stud.enst.fr appartient au domaine enst.fr. Ce domaine contient ` des sous-domaines, par exemple res.enst.fr, qui contiennent a leur tour des noms de machines, par exemple pcahmed.res.enst.fr. Dans les RFC, qui sont ecrits en anglais, e on trouve lexpression (( domain name )) pour d signer autant les noms de machines que les noms de domaine. En effet, un (( domain name )) signie tant t un nom de domaine, tant t un o o nom dans le domaine. Nous avons remarqu pr c demment quune machine qui dispose de plusieurs cartes dine e e terface r seau dispose du coup de plusieurs adresses IP. Sachant quun nom de domaine est e associ a chaque adresse IP, on remarquera quune machine peut ainsi poss der plusieurs e ` e noms (autant que dinterfaces r seau), comme le montre la gure 1.4 page suivante. e

30

` Raccordement a lInternet

Ethernet Token-Ring gw-tokenring.domain.com 192.168.11.2 gw-ether1.domain.com 192.168.12.120

gw-ether2.domain.com 192.168.10.5

Ethernet

Figure 1.4

Differents noms de domaines et adresses IP pour un m eme routeur

1.2.2 Aper u des services disponibles sur lInternet c


On classe g n ralement les services disponibles sur lInternet en deux cat gories : les sere e e ` vices de base, quasiment n cessaires a tout organisme connect au r seau, et les services e e e dinformation, souvent apparus relativement tard sur le r seau. e

Les services de base Les services de base comprennent la messagerie, le DNS, les forums et lacc` s distant. e La messagerie (courrier electronique) Elle permet aux utilisateurs d changer entre eux des messages compos s dun texte et evene e tuellement de pi` ces jointes, par exemple un chier etabli avec un tableur ou un traitee ment de texte. Souvent ces messages ne comportent que quelques lignes. Lenvoi dun message de ce type n cessite un logiciel ad quat sur le poste de travail, auquel on doit foure e nir ladresse du destinataire. De m me quune adresse postale, ladresse electronique du e destinataire est unique, et est souvent du type Prenom.Nom@domaine.fr (exemple : ` Luc.Stoned@fenetre.fr). Le transport dun message a travers plusieurs continents entre l metteur et le destinataire prend tout au plus quelques dizaines de secondes, dans la e plupart des cas. Le DNS Nous en avons d j` dit quelques mots auparavant, cest un service r parti dans lequel partiea e

Chapitre 1 Introduction

31

` cipent de nombreuses machines sur lInternet. Il permet dassocier des noms de machines a des adresses IP et r ciproquement. Nous verrons par la suite quil fournit aussi de nombreux e autres services, notamment dans le proc d dacheminement du courrier electronique. e e Les forums Les forums, aussi appel s News, regroupent au sein dun m me service des lieux d change e e e o` les utilisateurs peuvent dialoguer. Ce service nest pas disponible uniquement sur des mau chines connect es a lInternet : on d signe par Usenet le r seau form par toutes les machines e ` e e e qui peuvent recevoir les forums. Le principe est simple : on dispose un serveur News sur le site ; ce dernier est reli a dautres serveurs du m me type, par exemple par linterm diaire e` e e de lacc` s Internet ; les connexions entre serveurs News forment ainsi un maillage sur toute e la plan` te, et chacun communique avec ses quelques voisins. Chaque message envoy sur un e e ` ` quelconque serveur News est ainsi distribu par ce dernier a ses voisins, qui a leur tour le e redistribuent ; il sagit ici de la technique de propagation par inondation. Ainsi, en quelques e heures, tout au plus un ou deux jours, ce message aura et distribu a lensemble des serveurs e` News du r seau. Et bien s r, on peut consulter sur notre serveur lensemble de ces messages, e u au nombre de plus dune centaine de milliers diffus s chaque jour. Ce service sappelle foe rums car les messages y sont class s parmi plus de 8000 th` mes pr cis. e e e Lacc` s distant e Lacc` s a des ordinateurs distants par le service telnet permet de contr ler un mat riel e ` o e eloign comme on le ferait avec un terminal connect sur son port console. e e

Les services dinformation Les services dinformation comprennent le World Wide Web, le transfert de chiers, WAIS, IRC et les services IP multicast. Le World Wide Web le World Wide Web est le service le plus utilis en terme de nombre de paquets qui trane sitent sur le r seau. Cest souvent le premier service auquel sont confront s les utilisateurs e e ` de lInternet. Il permet dacc der a des documents multim dias sur des serveurs WWW. La e e ` caract ristique principale de ce service est quun serveur peut a tout instant rediriger lutie lisateur vers des informations contenues sur un autre serveur WWW. Ainsi, lutilisateur du WWW se balade de serveur en serveur, au l de son utilisation ; lexpression en vogue pour ce type dactivit est Surfer sur le Web. De par le caract` re g n rique de ce service (tout doe e e e cument multim dia peut etre mis en acc` s par un serveur Web : son, image, r alit virtuelle, e e e e e e etc.), de tr` s nombreux services Web ont et d velopp s. On peut par exemple commander e e une pizza par le Web, ou bien observer le contenu dune pi` ce par lil dune cam ra situ e e e e ` a des milliers de kilom` tres de son poste de travail. e Le transfert de chiers Le transfert de chiers, connu sous le nom de FTP, permet de rapatrier des chiers quelconques, par exemple des logiciels, depuis des serveurs darchive. On trouve sur lInternet un

32

` Raccordement a lInternet

` ensemble de sites ouverts a tous et archivant des dizaines de milliers de chiers. Dautres serveurs, appel s (( sites miroirs )) recopient r guli` rement le contenu de ces serveurs darchive. e e e Les utilisateurs se connectent ainsi sur le miroir le plus proche an de r cup rer les chiers e e qui les int ressent. e Les bases de donn es WAIS e Les serveurs WAIS permettent de rechercher des informations sur dimmenses bases de donn es. La biblioth` que de lInria fournit par exemple un acc` s a la base de donn es des oue e e ` e vrages dont elle dispose, sur un serveur WAIS. Le dialogue interactif : IRC ` le service IRC (Internet Relay Chat) permet de dialoguer dans des forums, mais a la diff rence e des News, le dialogue est ici en direct : tout le monde voit imm diatement les textes saisis sur e ` l cran ce que tous les autres utilisateurs la console, et r ciproquement, on voit safcher a e e du service IRC d cident de frapper sur leur clavier. Linteractivit est donc ici totale. e e Les services IP multicast les services IP multicast permettent laudio et la vid o-conf rence, ainsi que de nombreux e e autres services coop ratifs. Lensemble des machines de lInternet qui y ont acc` s sappelle e e le MBone. Par exemple, la Nasa retransmet syst matiquement, en audio et vid o sur le r seau e e e MBone, les phases importantes des missions de la navette spatiale am ricaine. e

1.2.3 LInternet en chiffres


LInternet est le plus grand r seau d centralis dordinateurs au monde. De nombreuses e e e e etudes ont et men es dans le but de faire linventaire des ressources qui le composent. Ainsi, e on dispose de chiffres assez pr cis renseignant sur son nombre de nuds et sur les services e qui y sont offerts. On comptabilise actuellement 9,5 millions de machines connect es a lInternet, dont 2 mile ` lions en Europe et 140 000 en France. Chaque jour, entre 100 000 et 150 000 articles sont post s dans les quelques 8 000 forums ; e ` cela correspond a un volume de plus de 400 Mo, et un d bit de plus de 75 articles par minute. e Le r seau IRC est compos de plus de 130 serveurs, et on y trouve environ 3 500 forums de e e discussion interactive. Il y a souvent plus de 6 000 utilisateurs connect s simultan ment sur e e lensemble de ces forums. On d nombre plus de 300 000 serveurs Web. Le moteur de recherche sur lInternet de DEC, e AltaVista, a recens jusqu` maintenant plus de 30 millions de pages Web. e a Il faut bien noter que ces chiffres sont en constante evolution et quil est toujours difcile destimer une grandeur sur lInternet, quon parle de nombre de machines ou de trac. Une constante se maintient n anmoins : le doublement de ces chiffres chaque ann e. e e

2
Notions de base des rseaux TCP/IP
LInternet est fond sur la famille des protocoles TCP/IP, qui permettent aux machines de e ` communiquer a travers un r seau local (LAN, Local Area Network) ou longue-distance e (WAN, Wide Area Network). Les protocoles TCP/IP peuvent etre utilis s de fa on interne e c ` a une soci t , on parle alors dintranet, ou bien pour se connecter au r seau Internet. ee e

2.1 Les diff rentes classes dadresses e


LInternet est un r seau bas sur un ensemble de protocoles : les protocoles de la famille e e TCP/IP. La version actuelle est nomm e IPv4 (version 4). Une nouvelle version, proposant e de tr` s profondes modications vient d tre adopt e : IPv6 ou IP-NG (IP Next Generation). e e e ` e Nous allons nous attacher a d crire IPv4, IPv6 n tant qu` un stade dexp rimentation, sur e a e lInternet. Pour localiser les machines, on fait usage dadresses. Ces derni` res sont utilis es a de nome e ` breux niveaux dans les paquets qui transitent sur le r seau. Les adresses IP sont de la forme e suivante : x.y.z.t o` x, y, z et t sont des nombres compris entre 0 et 255 (octets). Par u exemple, 137.194.168.13 est ladresse IP dune machine connect e sur lInternet. Il faut e exactement huit chiffres binaires pour coder chacun des quatre octets constituant une adresse IP. On peut par exemple remarquer que 0 se code 00000000, 255 se code 11111111 et 137 se code 10001001. Les adresses IP contenant 4 nombres cod s chacun sur huit chiffres e binaires, on peut les repr senter sur 32 bits. Ces 32 bits sont s par s en deux zones de bits e e e contigu s : une partie d crit le num ro de r seau auquel est rattach l quipement, et une e e e e e e

34

` Raccordement a lInternet

partie informe du num ro de l quipement lui-m me, appel e num ro dh te. Dans cette dere e e e e o ni` re partie, deux num ros sont r serv s : celui o` tous les bits sont nuls (on indique ainsi le e e e e u r seau lui-m me, une adresse de ce type sappelle adresse r seau), et celui o` tous les bits e e e u ` sont a 1 (on indique alors lensemble des machines, une adresse de ce type sappelle adresse de diffusion, ou adresse broadcast). Une adresse est r serv e pour indiquer toutes les mae e chines connect es sur un support physique donn : 255.255.255.255 (certains syst` mes e e e dexploitation utilisent 0.0.0.0 au lieu de 255.255.255.255, mais ils sont de moins en moins r pandus). e Il existe quatre classes dadresses avec la version 4 (version courante) des protocoles TCP/IP, car les parties r seau et h te nont pas toujours la m me taille. D taillons donc lespace e o e e dadressage dIPv4.

2.1.1 Les adresses de classe A


Les adresses de classe A ont une partie r seau sur 8 bits, et une partie h te sur 24 bits. Leur e o bit de poids le plus fort est 0, ce qui permet de les distinguer des autres classes. Leur forme est d crite par la gure 2.1. e

0 127 partie rseau

partie hte

0XXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX


Figure 2.1 Adresses de classe A

Elles commencent en 0.0.0.0 et se terminent en 127.255.255.255. Il y a donc 128 r e 24 ; 2 h tes (ladresse seaux de classe A, chacun pouvant accueillir th oriquement jusqu` 2 e a o r seau et ladresse de diffusion ne d signent pas dh te particulier). Ces 127 adresses sont e e o ` d j` toutes r serv es sur lInternet, un site ne peut donc pas en obtenir, mis a part le r ea e e e ` seau de classe A dadresse 127 qui est un r seau ctif interne a chaque machine : chaque e nud sidentie au h te 1 de ce r seau, dont ladresse IP est 127.0.0.1, et quon appelle o e localhost. Pour comprendre cela, rappelons-nous qu` chaque interface physique dune a machine, une carte Ethernet par exemple, est associ e une adresse IP unique. Souvent, le syse t` me dexploitation cr e une interface virtuelle suppl mentaire, appel e (( pseudo-interface e e e e ` loopback )), et lui attribue ladresse 127.0.0.1. Ainsi, un programme cherchant a sadres` ` ser, a laide des protocoles TCP/IP, a un autre programme situ sur la m me machine na qu` e e a indiquer 127.0.0.1 dans le champ destination des datagrammes IP quil g n` re. Ces dae e tagrammes ne quitteront pas la machine, car le syst` me dexploitation reconnatra alors cette e adresse comme etant celle de son interface loopback.

Chapitre 2 Notions de base des r seaux TCP/IP e

35

2.1.2 Les adresses de classe B


Les adresses de classe B ont une partie r seau sur 16 bits, et une partie h te de m me taille. e o e Leurs deux bits de poids fort sont 10, ce qui permet de les distinguer des autres classes. Leur forme est d crite par la gure 2.2. e

128.0

191.255 partie hte

partie rseau

10XXXXXX XXXXXXXX XXXXXXXX XXXXXXXX


Figure 2.2 Adresses de classe B

Elles commencent en 128.0.0.0 et se terminent en 191.255.255.255. Il y a donc 16 384 r seaux de classe B, chacun pouvant accueillir jusqu` 65 534 h tes. Une grande e a o partie de ces 16 384 classes est d j` r serv e. Pour en obtenir, il faut justier quon sappr te ea e e e ` ` a connecter un r seau de tr` s grande envergure a lInternet. e e

2.1.3 Les adresses de classe C


Les adresses de classe C ont une partie r seau sur 24 bits, et une partie h te sur 8 bits. Leurs e o trois bits de poids fort sont 110, ce qui permet de les distinguer des autres classes. Leur forme est d crite par la gure 2.3. e

192.0.0 223.255.255 partie rseau

partie hte

110XXXXX XXXXXXXX XXXXXXXX XXXXXXXX


Figure 2.3 Adresses de classe C

Elles commencent en 192.0.0.0 et se terminent en 223.255.255.255. Il y a donc 2 097 152 r seaux de classe C, chacun pouvant accueillir jusqu` 254 h tes. Il reste encore e a o sufsamment de classes C pour pouvoir en distribuer encore pendant entre cinq et dix ans, dapr` s de r centes analyses fond es sur le taux de croissance estim de lInternet. e e e e

36

` Raccordement a lInternet

2.1.4 Les adresses de classe D


Leur forme est d crite par la gure 2.4. e

224.0.0.0

239.255.255.255

1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX


Figure 2.4 Adresses de classe D

On les appelle aussi adresses de groupes multicast. Elles commencent en 224.0.0.0 et se terminent en 239.255.255.255. Ce sont des adresses particuli` res o` la notion de e u r seau disparat : elles d signent non pas un h te particulier, mais un groupe dh tes. Tout e e o o ` equipement d sirant faire partie dun groupe peut demander a y adh rer en pr cisant ladresse e e e ` tout moment, tout paquet emis par une machine quelconque sur multicast correspondante. A ` lInternet, et a destination dune adresse multicast particuli` re, est achemin vers tous les e e membres du groupe en question. Certaines adresses de groupe sont d j` attribu es, en voici un echantillon : ea e
Adresse 224.0.0.0 224.0.0.1 224.0.0.2 224.0.0.12 224.0.0.13 Nom associ e BASE-ADDRESS.MCAST.NET ALL-SYSTEMS.MCAST.NET ALL-ROUTERS.MCAST.NET DHCP-AGENTS.MCAST.NET PIM-ROUTERS.MCAST.NET Description d but des adresses multicast e toutes les machines tous les routeurs agents DHCP routeurs multicast supportant PIM

2.1.5 Les adresses de classe E


Les adresses de classe E d butent en 240.0.0.0 et se terminent en 255.255.255.255. e Elles sont r serv es par Iana. Seule 255.255.255.255 est pour linstant attribu e ; elle e e e ` d signe toutes les machines, et est utilis e lorsquon a besoin de sadresser a tous les equipee e ` ments directement connect s a un m me support : un paquet a destination de cette adresse ne e ` e traverse jamais les routeurs. Leur forme est d crite par la gure 2.5. e

240.0.0.0

255.255.255.255

1111XXXX XXXXXXXX XXXXXXXX XXXXXXXX


Figure 2.5 Adresses de classe E

Chapitre 2 Notions de base des r seaux TCP/IP e

37

2.2 Les masques de r seau et de sous-r seaux e e


2.2.1 Les masques de r seau e
` A chaque classe dadresses est associ un masque de r seau, ou netmask, qui est constitu de e e e 32 bits. Le tableau 2.1 fournit les diff rents masques pour les trois classes traditionnelles. e
classe A B C masque 255.0.0.0 255.255.0.0 255.255.255.0

eseau Tableau 2.1 Masques de r

Un et logique appliqu entre le masque de r seau et une adresse IP permet dobtenir ladresse e e du r seau correspondant. e ` Un et logique appliqu entre le compl ment 1 a 1 du masque de r seau et une adresse IP e e e ` permet dobtenir la partie h te correspondante. Ainsi, a laide du masque de r seau, on peut o e d nir, pour toute adresse IP : e ladresse r seau associ e ; e e la partie h te associ e ; o e ladresse de diffusion associ e qui d signe tous les h tes de ce r seau. e e o e Le tableau 2.2 fournit ces informations pour trois adresses IP prises parmi les trois classes fondamentales.
adresse IP classe masque de r seau e adresse r seau e adresse de diffusion 10.25.2.5 A 255.0.0.0 10.0.0.0 10.255.255.255 172.17.5.8 B 255.255.0.0 172.17.0.0 172.17.255.255 192.168.53.24 C 255.255.255.0 192.168.53.0 192.168.53.255

` Tableau 2.2 Donnees associees a une adresse IP

2.2.2 Les masques de sous-r seaux e


Parfois, on est amen a r partir les adresses IP dun m me r seau de classe A, B ou C sur plue` e e e ` e sieurs supports physiques. En effet, si on dispose dune cinquantaine de machines, a r partir
` ` ` 1. Pour compl menter a 1 un nombre, il suft de l crire en binaire et de remplacer ses bits a 1 en bits a 0 et e e r ciproquement. e

38

` Raccordement a lInternet

sur trois r seaux Ethernet par exemple, notre fournisseur Internet ne va pas nous offrir trois e r seaux de classe C : une seule classe C peut d j` accueillir 254 machines. e ea Pour r soudre ce probl` me, il faut introduire un nouveau type de masque : le masque de e e sous-r seaux. e Le principe est simple : le r seau est d coup en sous-r seaux de m me taille. Pour cela, e e e e e la partie h te des adresses est elle-m me d coup e en deux plages de bits : la plage coro e e e respondant aux bits positionn s a 1 dans le masque de sous-r seaux d signe le num ro du e ` e e e sous-r seau, et lautre plage d signe le num ro de machine. e e e Pour trouver le sous-r seau auquel appartient un equipement, il suft donc dappliquer un et e logique entre son adresse IP et le masque de sous-r seaux. e Parmi les num ros de sous-r seaux ainsi cr es, deux sont interdits dutilisation : le souse e e ` r seau 0 et le sous-r seau o` tous les bits sont a 1. On perd donc dentr e de jeu deux adresses e e u e de sous-r seaux. De plus, lensemble des sous-r seaux r partis sur un site doit etre connexe. e e e Cest-` -dire quon ne peut pas, par exemple, attribuer deux sous-r seaux dune m me classe a e e C sur deux c bles Ethernet reli s par un anneau FDDI dune autre classe C. a e

D coupage en sous-r seaux: application pratique e e ` Appliquons ce principe a un exemple simple. Supposons que nous poss dions une classe C e (192.168.22.0) et un r seau local constitu de trois brins Ethernet. Le premier relie deux e e serveurs ainsi quun routeur Internet, le second relie deux Macintosh, et le troisi` me relie e trois PC, comme indiqu sur la gure 2.6 page suivante. Il nous faut donc d couper notre e e classe C au moins en trois sous-r seaux. Sachant que deux sous-r seaux sont r serv s, il en e e e e 2 3 faut donc au moins 5. Pour coder 5 sous-r seaux, il faut trois bits, car 2 e 5 < 2 . Or nous disposons dune classe C dont le masque de r seau s crit ainsi en binaire : e e 11111111.11111111.11111111.00000000. Il nous faut donc r server trois bits dans la partie h te, cest-` -dire dans le dernier octet. Le e o a masque de sous-r seaux correspondant s crit donc comme suit : e e 11111111.11111111.11111111.11100000. En d cimal, cela donne : 255.255.255.224. e Nous avons pris trois bits pour d nir le sous-r seau, il y a donc huit sous-r seaux quon e e e peut r capituler dans le tableau 2.3 page 40. e

2.3 Lattribution des adresses IP


Comme toutes les ressources num riques de lInternet, lespace dadressage IPv4 est g r par e ee Iana. Dans un but de d localisation de la t che dattribution des classes dadresses IP, Iana a e a ` d l gu les plages dadresses a diff rents organismes. Pour obtenir une classe dadresses, il ee e e faut contacter lorganisme qui fait g ographiquement comp tence. Le plan dadressage actuel e e

Chapitre 2 Notions de base des r seaux TCP/IP e

39

Internet

Serveur

Serveur Routeur

192.168.22.35

192.168.22.34 ETHERNET 192.168.22.32

192.168.22.33

192.168.22.36
Routeur Routeur

192.168.22.37

192.168.22.68

192.168.22.99

192.168.22.64 ETHERNET MACINTOSH

192.168.22.96 ETHERNET PC

Mac 192.168.22.65

Mac Mac 192.168.22.66 192.168.22.67

PC 192.168.22.97

PC 192.168.22.98

Figure 2.6

Plan dadressage de sous-r eseaux

40
num ro e 0 1 2 3 4 5 6 7 adresse du sous-r seau e 192.168.22.0 192.168.22.32 192.168.22.64 192.168.22.96 192.168.22.128 192.168.22.160 192.168.22.192 192.168.22.224 masque de sous-r seau e 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 255.255.255.224 adresse de diffusion 192.168.22.31 192.168.22.63 192.168.22.95 192.168.22.127 192.168.22.159 192.168.22.191 192.168.22.223 192.168.22.255

` Raccordement a lInternet
plage 192.168.22.0 ` a 192.168.22.31 192.168.22.32 ` a 192.168.22.63 192.168.22.64 ` a 192.168.22.95 192.168.22.96 ` a 192.168.22.127 192.168.22.128 ` a 192.168.22.159 192.168.22.160 ` a 192.168.22.191 192.168.22.192 ` a 192.168.22.223 192.168.22.224 ` a 192.168.22.255 fonction r serv e e serveurs Macintosh PC inutilis e inutilis e inutilis e r serv e e

eseau Tableau 2.3 Masques de sous-r

est d crit dans le tableau suivant, les blocs dadresses etant not s au format CIDR 2 : e e
Bloc dadresses (format CIDR) 000-063/8 064-095/8 096-126/8 127/8 128-191/8 192-193/8 194-195/8 196-197/8 198-199/8 200-201/8 204-205/8 206/8 207/8 208/8 209/8 210/8 211/8 212-223/8 224-239/8 240-255/8 Registre obtenant la d l gation ee Iana Iana - R serv e e Iana - R serv e e Iana diff rents registres e diff rents registres e RIPE NCC - Europe InterNIC InterNIC - Am rique Centrale e et du Sud APNIC - Pacique InterNIC - Am rique du Nord e InterNIC - Am rique du Nord e InterNIC - Am rique du Nord e InterNIC - Am rique du Nord e InterNIC - Am rique du Nord e APNIC - Pacique APNIC - Pacique Iana - R serv e e Iana - Multicast Iana - R serv e e Date de d l gation ee Septembre 81 Septembre 81 Septembre 81 Septembre 81 Mai 93 Mai 93 Mai 93 Mai 93 Mai 93 Mai 93 Mars 94 Avril 95 Novembre 95 Avril 96 Juin 96 Juin 96 Juin 96 Septembre 81 Septembre 81 Septembre 81

2. Ce format est d crit section 2.6.4 page 53 ; pr cisons ici simplement que, par exemple, 206/8 d signe les e e e adresses comprises entre 206.0.0.0 et 206.255.255.255.

Chapitre 2 Notions de base des r seaux TCP/IP e

41

RIPE (R seaux IP Europ ens) est lorganisme comp tent en Europe. APNIC g` re la zone e e e e Asie-Pacique. LInterNIC g` re de nombreuses zones g ographiques, notamment lAm e e e rique, et il existe plusieurs autres organismes auxquels Iana a d l gu une partie de lespace ee e ` ` dadressage. Ces diff rents registres Internet d l` guent parfois a leur tour a dautres entit s e ee e locales. Par exemple, le NIC-France (g r par lInria) sest occup pendant une p riode datee e e ` tribuer des classes dadresses aux organismes d sireux de se connecter a lInternet depuis la e France.
Attribution dun r seau de classe A, B ou C e En France, ce sont les fournisseurs qui g` rent ce service, chacun disposant dun ensemble e t d l gu es par RIPE, ou par le NIC-France. Ainsi, cest au fourde classes C qui lui ont e e e e e nisseur dattribuer une ou plusieurs classes C. Celui qui d sire une classe B doit sadresser e ` ` directement a RIPE ou a lInterNIC, et fournir un dossier justiant sa demande. Personne ne peut obtenir de classe A, elles ont toutes d j` et d l gu es. ea e ee e Lorsquun client utilisant des adresses attribu es par un fournisseur d cide de r silier son e e e abonnement pour se connecter chez un concurrent, il doit rendre ces adresses et renum roter e son r seau avec de nouvelles adresses fournies par le nouveau fournisseur. Cette op ration e e est parfois complexe et co uteuse mais est impos e pour des raisons techniques, notamment e pour juguler lexplosion des tables de routage des routeurs des fournisseurs du monde entier.

2.4 Les couches de protocoles


2.4.1 Le mod` le OSI e
LISO (International Standard Organisation), organisation de normalisation internationale, a d velopp un mod` le dinterconnexion de syst` mes ouverts (Open Systems Interconnection) e e e e appel mod` le OSI. Dans ce mod` le de r f rence, les protocoles r seau sont organis s en e e e ee e e couches, chacune utilisant les services de celle juste au-dessous, et fournissant des services ` a celle juste au-dessus. LOSI a formalis sept couches, repr sent es sur la gure 2.7 page e e e suivante. La couche physique d nit les fonctions physiques de la liaison, par exemple les caract rise e tiques electriques, m caniques et/ou optiques du support utilis . e e La couche liaison de donn es d nit la mani` re dont les informations sont echang es entre e e e e deux mat riels directement connect s par un m me support physique. Au niveau de cette e e e couche, les donn es sont rassembl es en trames. Des fonctions de contr le derreur et de ux e e o peuvent etre eventuellement apport es a ce niveau, et dans le cas o` le support physique est e ` u partag entre plusieurs machines, un contr le dacc` s au support est pr sent. Cest notamment e o e e ce MAC (Medium Access Control) qui caract rise le r seau local. e e La couche r seau fournit la fonction dadressage et de routage, les paquets quelle traite sont e ` encapsul s dans les trames du niveau 2, et sont achemin s dun bout a lautre du r seau en e e e

42

` Raccordement a lInternet

Application Prsentation Session Transport Rseau Liaison de donnes Physique


Figure 2.7

7 6 5 4 3 2 1

Les sept couches OSI

traversant les routeurs. ` La couche transport effectue des contr les suppl mentaires a la couche r seau, et fournit o e e ainsi plusieurs types de qualit de service distincts, au choix de lutilisateur de ce niveau 4. e La couche session introduit la notion d tablissement de sessions, service destin a structurer e e` et synchroniser les donn es echang es entre les applications. e e ` La couche pr sentation permet linterop rabilit de syst` mes diff rents, dialoguant a travers e e e e e le r seau, en normalisant les types des donn es pouvant etre echang es ainsi que leur codage. e e e La couche application int` gre les logiciels qui utilisent les ressources du r seau. e e

2.4.2 TCP/IP
Les protocoles de la famille TCP/IP, utilis s sur lInternet, correspondent principalement aux e niveaux 3 et 4 du mod` le OSI, et sont constitu es selon le mod` le de la commutation de e e e ` paquets, a opposer au mod` le de la commutation de circuits, utilis par exemple sur le r seau e e e t l phonique commut . Les protocoles TCP/IP commencent au niveau de la couche r seau ; ee e e les couches inf rieures sont capables de transporter diff rentes familles de protocoles, ce qui e e ` permet, sur un m me r seau physique, a des machines de communiquer par TCP/IP, et aussi, e e sur le m me support, par dautres protocoles comme DECnet. e Chaque couche vient ajouter un en-t te aux donn es que lui fournit la couche sup rieure. Les e e e informations rajout es sont caract ristiques des services de la couche correspondante. e e

Chapitre 2 Notions de base des r seaux TCP/IP e

43

Le tableau 2.4 pr sente les quatre couches les plus basses du mod` le. La gure 2.8 page e e suivante montre une capture d cran du logiciel Packetman 3 danalyse de trac, sur laquelle e on peut identier les datagrammes ayant transit sur un r seau local et lencapsulation en e e couche des donn es quils transportent. e
Couches Transport R seau e Liaison de donn es e Physique Protocoles TCP UDP ICMP IP ARP LLC 802.2 FDDI 802.3 802.4 802.5 Ethernet, paire torsad e, etc... e

Tableau 2.4 Encapsulation en couches

2.4.3 La couche physique


` Les couches physiques permettent de sadapter a diff rents supports. Par exemple, un c ble e a coaxial, une bre optique ou une onde radio n cessitent des couches physiques distinctes. e Le c ble coaxial de type Ethernet constitue le support physique le plus utilis sur les r seaux a e e locaux.

2.4.4 La couche liaison de donn es e


La couche liaison de donn es est souvent d coup e en deux sous-couches distinctes : la souse e e couche LLC (Logical Link Control) sup rieure (IEEE 802.2) est commune pour toutes les e sous-couches MAC (Medium Access Control) inf rieures, que sont FDDI (ISO 9314-2), e ` e IEEE 802.3 CSMA/CD tr` s proche de lEthernet (architecture en bus a d tection de collie ` ` sion), IEEE 802.4 (bus a jeton) et IEEE 802.5 (anneau a jeton). Cette couche doit contr ler lacc` s au support, et permettre l change de trames entre les o e e machines directement connect es sur un m me support physique. Pour cela, len-t te des e e e messages emis par la couche liaison de donn es contient les adresses de la machine emettrice e (adresse source), de la machine r ceptrice (adresse destination), et le type de paquet encape sul (IP, ARP, autre). Dans le cas dun r seau local Ethernet, il sagira dadresses Ethernet e e ` a six octets. Ladresse destination Ethernet dune trame d signe une machine directement e ` connect e par le m me support physique, le prochain routeur a qui la trame est destin e, e e e par exemple. Dans la cadre dEthernet, il existe une adresse de diffusion particuli` re qui e ` permet d mettre une trame a destination de toutes les machines connect es sur le support : e e FF:FF:FF:FF:FF:FF.
3. Packetman est un logiciel d velopp par luniversit de Curtin, dont on peut trouver les binaires sur lInternet. e e e

44

` Raccordement a lInternet

Figure 2.8

Le logiciel Packetman

Chapitre 2 Notions de base des r seaux TCP/IP e


adresse ethernet destination adresse ethernet source type de protocole encapsul DONNEES somme de contrle bourrage

45

en-tte

Figure 2.9

Exemple de couche liaison de donn : la trame Ethernet ees

2.4.5 La couche r seau e


La couche r seau est la premi` re couche faisant r ellement partie de la famille des protoe e e coles TCP/IP. On y trouve principalement le protocole IP (Internet Protocol) et, sur certains supports partag s par plusieurs equipements, comme Ethernet, le protocole ARP (Address e Resolution Protocol). Le protocole IP ` Le protocole IP est la brique de base qui permet d mettre des paquets dinformations a e travers le r seau. Les donn es des autres protocoles de lInternet sont encapsul es dans des e e e paquets IP. Les principaux champs de len-t te IP sont : e ladresse IP source ; ladresse IP destination ; le type de paquet encapsul dans la partie donn es. e e

adresse IP source adresse IP destination type de protocole encapsul

DONNEES

en-tte
Figure 2.10 Le datagramme IP

46 Le protocole ARP

` Raccordement a lInternet

Lorsquun equipement A d sire communiquer avec un equipement B qui est connect sur le e e m me support, pour lui fournir un datagramme IP, celui-ci doit etre encapsul dans une trame e e de la couche MAC dont len-t te contient ladresse Ethernet de B. Mais l quipement A ne e e ` connat, a priori, que ladresse IP de B. Il faut donc un protocole qui permette a une machine quelconque dun support partag de connatre les adresses de couche liaison de donn es des e e ` autres equipements a laide de la simple connaissance des adresses de couche r seau. Cest e lobjectif du protocole ARP : la machine A connat ladresse IP de B et veut lui faire parvenir un datagramme IP ; A diffuse donc une trame MAC de diffusion comportant dans la partie donn es ladresse e IP de B ; toutes les machines branch es sur le support d codent cette trame et comparent ladresse e e ` IP contenue a la leur ; ` B reconnat ainsi son adresse IP et renvoie une trame ARP a A pour lui indiquer son adresse MAC. A connat ainsi ladresse Ethernet de B et peut donc construire len-t te dune trame e ` MAC encapsulant le datagramme IP a destination de B.

2.4.6 La couche transport


Les principaux protocoles de la couche transport sont au nombre de trois : TCP (Transmission Control Protocol) fournit un service able d change de ot continu de donn es, appel mode e e e connect , UDP (User Datagram Protocol) fournit un service d change de datagrammes, ape e pel mode non connect , et ICMP (Internet Control Message Protocol) permet de transporter e e des informations de service, comme par exemple la signalisation de linaccessibilit dun e nud du r seau, ou une demande de redirection emise par un routeur vers un h te. e o Plusieurs services sont construits sur les protocoles TCP et UDP, cest pourquoi on trouve ` dans les en-t tes des paquets quils g n` rent un num ro de port qui permet a la machine e e e e r ceptrice de renvoyer ces donn es au processus g rant le service correspondant. e e e Un certain nombre de ports sont normalis s, le tableau 2.5 page suivante dresse la liste des e plus importants.

2.4.7 Les couches sup rieures e


Les couches au-dessus du niveau transport proposent des services de toutes sortes, en utilisant soit TCP, soit UDP. Parmi ces services, on trouve la messagerie (POP pour la consultation, SMTP pour lenvoi), l change de chiers (FTP), les services dinformation (WWW, Gopher, e WAIS), etc.

Chapitre 2 Notions de base des r seaux TCP/IP e

47

port source port destination

DONNEES

en-tte
Figure 2.11 Le paquet TCP nom du service ftp-data ftp telnet smtp domain http pop3 nntp port (protocole) 20 (TCP) 21 (TCP) 23 (TCP) 25 (TCP) 53 (TCP et UDP) 80 (TCP) 110 (TCP) 119 (TCP) fonction echange de chiers (donn es) e echange de chiers (commandes) connexion distante messagerie SMTP (envoi de messages) service DNS service Web messagerie (consultation de messages) forums

Tableau 2.5 Les ports

2.5 Lacheminement des donn es e


Quatre types d quipements distincts permettent dacheminer les donn es : e e les r p teurs, e e les ponts (bridges), les routeurs, les passerelles (gateways).

Chacun agit au niveau dune couche distincte, et poss` de au moins deux interfaces, connece t es a des r seaux physiques distincts. e ` e

2.5.1 Les r p teurs e e


Les r p teurs poss` dent exactement deux interfaces, et agissent au niveau de la couche phye e e sique. Ils amplient le signal capt sur une interface, et le retransmettent sur lautre. Les e interfaces des r p teurs ne poss` dent donc pas dadresse physique, et a fortiori pas dadresse e e e IP. La gure 2.12 page suivante pr sente le principe du r p teur. e e e

48
application donnes couche transport TCP/UDP couche rseau IP TCP/UDP couche MAC Ethernet IP TCP/UDP
somme de contrle

` Raccordement a lInternet
application donnes couche transport TCP/UDP couche rseau IP TCP/UDP couche MAC Rpteur Ethernet IP TCP/UDP
somme de contrle

interface physique

interface physique

rpt n fois si on traverse n appareils de ce type

Figure 2.12 Principe du r eteur ep

2.5.2 Les ponts


Les ponts poss` dent au moins deux interfaces, et agissent au niveau de la couche liaison de e donn es. Leur r le est donc de r cup rer les trames qui arrivent sur une de leurs interfaces, e o e e et de les retransmettre sans modication sur une ou plusieurs de leurs autres interfaces. La gure 2.13 pr sente le principe du pont. e
application donnes couche transport TCP/UDP couche rseau IP TCP/UDP couche MAC Ethernet IP TCP/UDP
somme de contrle

application donnes couche transport TCP/UDP couche rseau IP TCP/UDP couche MAC Ethernet Ethernet couche MAC Ethernet IP TCP/UDP
somme de contrle

interface physique

interface physique

rpt n fois si on traverse n appareils de ce type

Figure 2.13 Principe du pont

Certains ponts savent d terminer, pour chaque nud destinataire, sur quelle interface rene voyer les trames. Cela evite de les renvoyer sur plusieurs interfaces et produit ainsi une economie de bande passante importante. Ceci est permis par lexamen des paquets qui les traversent ou par lutilisation de protocoles de communication entre ponts. Ce type d quipee ment sappelle un pont ltrant.

Chapitre 2 Notions de base des r seaux TCP/IP e

49

2.5.3 Les routeurs


Les routeurs poss` dent au moins deux interfaces, et agissent au niveau de la couche r seau. e e Leur r le est donc de r cup rer les trames qui arrivent sur une de leurs interfaces, den extraire o e e les datagrammes IP, et de les renvoyer sur une autre interface, encapsul s dans de nouvelles e trames MAC. Pour d terminer linterface sur laquelle un paquet doit etre r emis, les routeurs e e consultent leurs tables de routage IP. La gure 2.14 pr sente le principe du routeur. e
application donnes couche transport TCP/UDP couche rseau IP TCP/UDP couche MAC Ethernet IP TCP/UDP
somme de contrle

application donnes couche transport TCP/UDP couche rseau IP couche MAC Ethernet Ethernet IP couche rseau IP TCP/UDP couche MAC Ethernet IP TCP/UDP
somme de contrle

interface physique

interface physique

rpt n fois si on traverse n appareils de ce type

Figure 2.14 Principe du routeur

2.5.4 Les passerelles


Les passerelles agissent au niveau de la couche application. Leur r le est dintercepter les ino formations au plus haut niveau, et de les retransmettre vers une autre machine. La gure 2.15 page suivante pr sente le principe de la passerelle. e

2.6 Les protocoles de routage


2.6.1 Lalgorithme de routage IP
` Le travail dun routeur consiste, pour chaque datagramme IP r cup r sur une interface, a le e ee renvoyer, par une de ses autres interfaces, vers un routeur plus proche de la destination. Deux cas se pr sentent : e ` Si ladresse IP destination contenue dans le datagramme appartient a un m me r seau e e que ladresse dune de ses interfaces, le routeur se contente de d livrer le datagramme e ` sur linterface correspondante, a moins quune route tr` s sp cique, pour cette adresse e e

50
application donnes couche transport TCP/UDP couche rseau IP TCP/UDP couche MAC Ethernet IP TCP/UDP
somme de contrle

` Raccordement a lInternet
application application donnes couche transport TCP/UDP TCP/UDP couche transport TCP/UDP couche rseau IP IP TCP/UDP couche MAC Ethernet Ethernet IP TCP/UDP
somme de contrle

couche rseau IP couche MAC Ethernet

interface physique

interface physique

rpt n fois si on traverse n appareils de ce type

Figure 2.15 Principe de la passerelle

IP, soit pr sente dans sa table de routage. Eventuellement une requ te ARP sera emise e e ` an de connatre ladresse MAC correspondant a ladresse destination en question. ` Si ladresse IP destination contenue dans le datagramme nappartient a aucun r seau e directement connect , le routeur va essayer de d terminer linterface sur laquelle il doit e e emettre le datagramme. Pour cela, il vient confronter ladresse IP destination avec sa table de routage. Celle-ci indique, pour chaque adresse de r seau ou de sous-r seau, e e ladresse IP dun routeur directement connect , permettant de sen rapprocher, et une e route dite (( route par d faut )) qui est utilis e en cas de dernier ressort. Notre routeur e e na donc plus qu` rechercher celle de ses interfaces qui poss` de une adresse r seau a e e ` identique a ladresse r seau du prochain routeur extraite de la table de routage. Il d e e termine ainsi linterface physique connect e au prochain routeur. Il se contente pour e ` nir denvoyer le datagramme a ce dernier dont il connat maintenant sufsamment dinformations pour etre en mesure de le joindre. Il faut noter que notre routeur emet tra eventuellement une requ te ARP, car la table de routage lui fournit ladresse IP du e prochaine routeur, mais pas son adresse MAC. Un cache sur les r sultats des requ tes e e ARP permet den r duire le nombre. e ` R soudre le probl` me du routage consiste a remplir correctement la table de routage. Deux e e niveaux hi rarchiques sont mis en place sur lInternet : un premier niveau de routage est mis e ` en place a lint rieur de chaque fournisseur, et un second niveau est mis en place entre les e diff rents fournisseurs. e

` 2.6.2 Le routage interne a un r seau local e


On peut remplir la table de routage de deux mani` res : par des routes statiques, et par des e routes dynamiques.

Chapitre 2 Notions de base des r seaux TCP/IP e

51

` Le routage statique consiste a recenser manuellement les diff rents r seaux et sous-r seaux e e e ` utilis s sur le r seau local, et a congurer manuellement chaque equipement, en lui indiquant, e e ` pour chaque r seau, le prochain routeur a contacter pour acheminer les datagrammes. e ` Le routage dynamique consiste a utiliser des protocoles sur les diff rents routeurs du r seau e e local, an de leur permettre de se congurer automatiquement. Lorsquon poss` de plus de e trois ou quatre sous-r seaux, ce type de routage est fortement conseill . e e Les protocoles de ce type sont appel s protocoles de routage interne, ou IGP (Internal Gatee ` way Protocols). Il en existe deux grandes classes : les protocoles a vecteur-distance, tels que ` RIP ou IGRP, et les protocoles a etats des liens, tels quOSPF.

` Les protocoles a vecteur-distance ` Un routeur mettant en jeu un protocole a vecteur-distance se contente davertir les autres routeurs directement connect s sur ses interfaces, de la totalit des r seaux quil sait atteindre, e e e ` ainsi que de la distance a laquelle ils se trouvent. Chacun des routeurs qui re oit cette inc formation la stocke dans sa table de routage, et ajoute aux distances fournies celle qui le s pare du routeur qui lui fait lannonce. Ainsi, chaque routeur commence par annoncer les e r seaux qui lui sont directement connect s, et, de proche en proche, chaque route se retrouve e e annonc e sur tous les routeurs. e ` Les trois principaux protocoles a vecteur-distance sont RIP, IGRP et EIGRP. e e RIP a et d velopp par Xerox, et existe sur de tr` s nombreux equipements. La m trique e e e ` utilis e par RIP est le nombre de routeurs a traverser pour atteindre la cible. De plus, an e de ne pas surcharger la m moire du syst` me, RIP ne maintient, pour une destination donn e, e e e que la meilleure route, cest-` -dire celle pour laquelle le nombre de sauts est le plus faible. a RIP impose un certain nombre de limitations : par mesure de stabilit , RIP rend inaccessibles les routes situ es a plus de 15 sauts. e e ` Cela interdit donc son utilisation dans le cadre de r seaux de grande envergure ; e RIP impose que le masque de sous-r seaux soit unique pour un m me r seau ; e e e RIP ne permet pas dutiliser le premier sous-r seau dun r seau donn ; e e e la m trique de RIP est inadapt e a certains types de r seaux, car elle ne prend pas e e ` e en compte toutes les composantes dune liaison : deux liaisons de d bits diff rents e e comptent par exemple toutes les deux pour un saut dans les calculs de plus court chemin, alors quil est souvent plus int ressant demprunter la liaison de plus haut d bit e e ou de faire du partage de charge sur les deux liaisons. IGRP (Interior Gateway Routing Protocol) est un protocole propri taire d velopp par Cisco e e e Systems, plus robuste que RIP et poss dant moins de limitations. EIGRP (Extended Interior e Gateway Routing Protocol) en est une version evolu e. e

52 Voici les principaux avantages dEIGRP :

` Raccordement a lInternet

` il nest pas limit , comme RIP, a 15 sauts maximum ; e e il a et mis en place et fonctionne parfaitement sur des r seaux de grande envergure ; e ` EIGRP est un protocole a vecteur-distance, il utilise donc un ensemble de m triques e pour d terminer les routes les plus courtes. Pour cela, il se base sur les d lais, le d bit, e e e la abilit et la charge du r seau. e e ` Les protocoles a etat des liens ` Les protocoles a etat des liens, comme OSPF (Open Shortest Path First), sont charg s dane ` noncer l tat des liens physiques, ce qui permet a tous les routeurs de connatre la topologie e compl` te du r seau, et donc de calculer le plus court chemin selon des crit` res divers. e e e e e ` OSPF a et d velopp par lIETF (Internet Engineering Task Force) pour succ der a RIP. Il e e divise le r seau en zones, chacune etant constitu e dun ensemble de r seaux de machines e e e connexes. Ces diff rentes zones sont reli es par une epine dorsale (backbone) qui comprend e e le r seau des routeurs interconnectant les diff rentes zones. Cette epine dorsale est charg e e e e de distribuer les informations de routage entre les diff rentes zones. La topologie de chaque e zone est ainsi invisible pour les autres zones.

` 2.6.3 Le routage interne a un fournisseur Internet


Un fournisseur Internet met en place une interconnexion entre les r seaux de ses clients. e Avant de vouloir echanger des datagrammes avec les autres fournisseurs, il faut d j` pouvoir ea echanger des datagrammes entre les clients du m me fournisseur. Il existe pour cela princie palement deux politiques de routage chez les fournisseurs Internet : Les clients choisissent un protocole de passerelle interne pour leur site et mettent en place une route par d faut vers le fournisseur ; ce dernier choisit un protocole de routage e pour son r seau qui interconnecte ses clients, et congure ses routeurs raccordant ses e clients pour quils sannoncent entre eux les routes de ces derniers. Il sagit donc de la mise en place dun protocole de routage interne au fournisseur, qui ninterop` re pas e ` avec ses clients. Quand un equipement dun client emet un datagramme a destination ` dun autre client, ou a destination dun r seau chez un autre fournisseur, cest la route e par d faut qui entre en jeu pour diriger les donn es vers le r seau du fournisseur. La e e e gure 2.16 page ci-contre d crit une telle politique de routage. e Les clients choisissent un protocole de passerelle interne pour leur site ; le fournisseur choisit un protocole de passerelle interne pour son r seau dinterconnexion, et demande e ` a ses clients de congurer leurs routeurs pour interop rer avec les siens. Ainsi, cest le e ` fournisseur qui annonce, a chacun de ses clients, la route par d faut ainsi que la liste e des routes des autres clients. Quand un equipement dun client emet un datagramme

Chapitre 2 Notions de base des r seaux TCP/IP e

53

Autre fournisseur daccs

Autre fournisseur daccs

EIGRP
Routeur 1 Routeur 2

Route par dfaut Route par defaut


Routeur Routeur

Fournisseur daccs

Route par dfaut Route par dfaut


Routeur Routeur

RIP

EIGRP

IGRP

OSPF

Rseau A DEFAUT : routeur 1

Rseau B DEFAUT : routeur 1

Rseau C DEFAUT : routeur 2

Rseau D DEFAUT : routeur 2

Figure 2.16 Premiere politique de routage `

` a destination dun r seau chez un autre fournisseur, cest la route par d faut qui entre e e en jeu pour diriger les donn es vers le r seau du fournisseur ; par contre, lorsque ce e e datagramme a pour destination un r seau dun autre client, la route correspondante e doit etre dans la table de routage du routeur initial. La gure 2.17 page suivante d crit e une telle politique de routage, qui est assez peu utilis e par les fournisseurs Internet, e car elle impose un travail suppl mentaire de conguration chez leurs clients. e

2.6.4 Le routage entre fournisseurs


Les protocoles qui permettent aux fournisseurs d changer les informations daccessibilit e e e des r seaux de leurs clients sappellent des protocoles de passerelle externe. EGP a et le e ` premier protocole de passerelle externe a etre utilis sur lInternet, mais de nos jours, les e fournisseurs utilisent pour la grande majorit le protocole BGP dans sa version 4. e Pour pouvoir mettre en place les protocoles de passerelle externe, il a fallu d nir le concept e de Syst` me Autonome ou AS (Autonomous System). Chaque fournisseur Internet se voit e ` attribuer, par lInterNIC, un num ro unique, appel num ro de syst` me autonome. A chaque e e e e

54

` Raccordement a lInternet

Autre fournisseur daccs

Autre fournisseur daccs

EIGRP
Routeur 1 Routeur 2

EIGRP EIGRP
Routeur Routeur

Fournisseur daccs

EIGRP EIGRP
Routeur Routeur

RIP

EIGRP

IGRP

OSPF

Rseau A B <- routeur 1 C <- routeur 1 D <- routeur 1 ROUTEUR 1 PAR DEFAUT

Rseau B A <- routeur 1 C <- routeur 1 D <- routeur 1 ROUTEUR 1 PAR DEFAUT

Rseau C A <- routeur 2 B <- routeur 2 D <- routeur 2 ROUTEUR 2 PAR DEFAUT

Rseau D A <- routeur 2 B <- routeur 2 C <- routeur 2 ROUTEUR 2 PAR DEFAUT

Figure 2.17 Deuxieme politique de routage `

route qui transite sur un protocole de passerelle externe, on associe le num ro dAS dorigine. e
La notation CIDR Avec BGP-4, il a fallu d nir un autre concept : le routage sans classe (CIDR, Classless Ine terDomain Routing). Nous avons vu jusqu` pr sent qu` chaque r seau, on peut associer un a e a e masque de sous-r seaux an de distinguer des entit s plus petites : les sous-r seaux. CIDR e e e propose linverse, cest-` -dire la possibilit de faire des agr gats de r seaux, en faisant disa e e e paratre du coup la notion de classe. On va ainsi d nir une route CIDR comme un agr gat e e de r seaux, caract ris par une adresse CIDR munie dun masque. Lensemble des r seaux e e e e ` englob s dans ce masque appartiennent ainsi a cet agr gat. De plus, comme un masque de e e ` r seau, ce masque est caract ris uniquement par le nombre de bits a 1 qui le composent. On e e e va donc prendre la convention de d nir ce masque par ce nombre plut t que de l crire en e o e entier. Quelques exemples dagr gats CIDR sont fournis dans le tableau 2.6 page ci-contre. e

Le protocole BGP-4 est d compos en deux protocoles : iBGP (Internal Border Gateway Proe e tocol) et eBGP (External Border Gateway Protocol). Souvent, plusieurs machines dun m me e

Chapitre 2 Notions de base des r seaux TCP/IP e


notation CIDR 10.0.0.0/8 10.0.0.0/7 8.0.0.0/6 172.22.0.0/16 172.22.0.0/15 172.20.0.0/14 192.168.88.0/24 192.168.88.0/23 192.168.88.0/22 192.168.88.0/21 masque correspondant 255.0.0.0 254.0.0.0 252.0.0.0 255.255.0.0 255.254.0.0 255.252.0.0 255.255.255.0 255.255.254.0 255.255.252.0 255.255.248.0 r seau(x) couvert(s) e 10.0.0.0 10.0.0.0, 11.0.0.0 8.0.0.0, 9.0.0.0, 10.0.0.0, 11.0.0.0 172.22.0.0 172.22.0.0, 192.23.0.0 172.20.0.0, 172.21.0.0, 172.22.0.0, 172.23.0.0 192.168.88.0 192.168.88.0, 192.168.89.0 192.168.88.0, 192.168.89.0, 192.168.90.0, 192.168.91.0 192.168.88.0, 192.168.88.89, 192.168.90.0, 192.168.91.0, 192.168.92.0, 192.168.93.0, 192.168.94.0, 192.168.95.0

55

Tableau 2.6 Agregats

fournisseur g` rent BGP. Ainsi, elles ont besoin de synchroniser leurs tables, cest le r le e o diBGP. Les machines qui poss` dent les liaisons avec dautres fournisseurs utilisent iBGP e entre elles et eBGP avec les fournisseurs auxquels elles sont directement connect es. e Le principe de BGP est d tablir une table de routage contenant une liste dagr gats au format e e ` CIDR, et pour chacun deux le chemin dAS a traverser an de latteindre, appel AS-Path. e ` La m trique BGP permettant de d terminer le chemin le plus court entre deux routes a destie e nation dun m me r seau est la longueur de lAS-Path, cest-` -dire le nombre de fournisseurs e e a ` a traverser pour atteindre la destination, et non pas le nombre de passerelles s parant de la e destination, comme cest le cas dans beaucoup de protocoles de passerelle interne.

2.7 Techniques de conguration


Nous allons maintenant mettre en pratique les notions que nous avons etudi es pr c deme e e ment an de congurer les cartes dinterface d quipements divers et de mettre en place un e protocole de routage simple sur un site pris pour exemple. Nous allons pour cela reprendre le plan dadressage du site pr sent sur la gure 2.6 page 39. Rappelons que ce site poss` de e e e un r seau de classe C, 192.168.22.0, d coup en trois sous-r seaux avec un masque de e e e e valeur 255.255.255.224. Le lecteur est pri de se r f rer a la section 2.2.2 page 37 pour e ee ` une description compl` te de ce r seau local. e e

56

` Raccordement a lInternet

2.7.1 Conguration des adresses IP


Le r seau dispose de Macintosh, de PC et de divers routeurs. Nous allons etudier la cone guration de ces diff rents equipements an de leur indiquer une adresse IP, le masque de e sous-r seaux ainsi que leur route par d faut. Il est n cessaire dindiquer une route par d faut e e e e pour les Macintosh et les PC car, le plus souvent, les logiciels r seau qui les equipent sont e incapables dapprendre la route par d faut par linterm diaire dun protocole de routage. e e

Macintosh Sur Macintosh, on trouve diff rents gestionnaires de pile TCP/IP. Le plus courant sappelle e ` MacTCP. Une pile plus r cente, OpenTransport, est disponible a partir du syst` me 7.5.2 ou e e 7.5.3 selon les mod` les de Macintosh, mais MacTCP reste un bon gestionnaire r seau, sufe e samment l ger lorsquon dispose dun Macintosh moyen de gamme. e Pour congurer le Macintosh dadresse 192.168.22.65 de la gure 2.6 page 39, il faut ouvrir le tableau de bord MacTCP et rentrer les diff rentes informations an dobtenir l cran e e repr sent sur la gure 2.18 page ci-contre. e e ` La route par d faut correspond a une des adresses IP du routeur connectant ce brin Ethernet e au reste du r seau. Plus pr cis ment, cest ladresse IP de la carte Ethernet de ce routeur e e e situ e sur ce brin : 192.168.22.68. e

Windows Microsoft ne fournit pas de pile TCP/IP avec Windows 3.1. Par contre, avec Windows 95 et Windows NT, on trouve des piles TCP/IP livr es avec le syst` me. Mais le nombre doutils e e ` fournis avec la pile reste r duit a sa plus simple expression. Cest pourquoi lutilisateur dun e syst` me dexploitation de Microsoft est souvent amen a faire lacquisition dune pile TCP/IP e e` commerciale. Elles sont pour la plupart munies de multiples outils permettant dacc der par e exemple au Web, aux forums ou aux services multicast audio et vid o. e Nous allons etudier la conguration de Chameleon de Netmanage, une pile TCP/IP disponible pour Windows 3.1, Windows 95 et Windows NT, munie de toute une gamme doutils sp cialement con us pour lacc` s aux services disponibles sur lInternet. e c e Congurons donc le PC situ sur le sous-r seau 192.168.22.96. Il faut proc der pour e e e cela en 5 etapes : 1. on commence par cr er une interface Ethernet en chargeant lapplication Custom et en e choisissant le menu [Interface/Add] (gure 2.19 page suivante) ; 2. on entre alors les param` tres mat riels tels que le num ro dinterruption de la carte ou e e e son adresse IO, depuis le menu [Setup/Hardware] (gure 2.20 page 58) ;

Chapitre 2 Notions de base des r seaux TCP/IP e

57

Figure 2.18 Conguration TCP/IP sur Macintosh

Figure 2.19 Creation dune interface Ethernet

3. avec longlet [Setup/Conguration/IP Conguration], on saisit ladresse IP ainsi que le masque de sous-r seaux (gure 2.21 page suivante) ; e 4. longlet [Setup/Conguration/Gateway] permet de positionner la route par d faut (e gure 2.22 page 59) ; 5. on peut maintenant v rier, en revenant au premier ecran de lapplication Custom, que e linterface est correctement congur e (gure 2.23 page 59). e

58

` Raccordement a lInternet

Figure 2.20 Conguration mat erielle dune interface Ethernet

Figure 2.21 Conguration IP dune interface Ethernet

Chapitre 2 Notions de base des r seaux TCP/IP e

59

Figure 2.22 Conguration du routage

Figure 2.23 Application Custom : conguration dune interface

60 Unix

` Raccordement a lInternet

` Attachons-nous maintenant a congurer les serveurs Unix situ s sur le sous-r seau dadresse e e 192.168.22.32. Supposons par exemple quil sagisse dune station de travail Sparc sous Solaris 2.5. Notons que la conguration avec un autre syst` me Unix serait similaire. e Nous allons donc congurer la station de travail dont ladresse IP est 192.168.22.35. Nous allons la nommer maelle et la placer dans le domaine fenetre.fr. Le chier /etc/defaultdomain contient le domaine. Le chier /etc/hostname.fnom de linterface Ethernetg (dans notre cas il sagit du chier /etc/hostname.le0) contient le nom de la machine. la commande ifconfig -a permet de connatre le nom des interfaces disponibles. Nous mettons donc en place ces deux chiers comme suit :
% su Password: # echo fenetre.fr > /etc/defaultdomain # echo maelle > /etc/hostname.le0 # D %

Le chier /etc/hosts doit contenir ladresse IP de linterface le0. Il contient donc :


127.0.0.1 192.168.22.35 localhost maelle maelle.fenetre.fr

Le masque de sous-r seaux est indiqu dans le chier /etc/netmasks qui doit ainsi contee e nir la ligne suivante :
192.168.22.0 255.255.255.224

Il suft maintenant de red marrer la machine et les modications vont etre prises en compte : e
% su Password: # touch /reconfigure # reboot

On peut le constater avec la commande ifconfig :


% ifconfig -a lo0: flags=849<UP,LOOPBACK,RUNNING,MULTICAST> mtu 8232 inet 127.0.0.1 netmask ff000000 le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST> mtu 1500 inet 192.168.22.35 netmask ffffffe0 broadcast 192.168.22.63

On notera quil na pas fallu mettre en place de route par d faut, cest le d mon de routage qui e e

Chapitre 2 Notions de base des r seaux TCP/IP e

61

sen chargera. Si on nutilise pas de d mon de routage, le chier /etc/defaultrouter e ` doit contenir le nom du routeur par d faut (ici le nom de domaine correspondant a ladresse e IP 192.168.22.33) an que la route par d faut soit mise en place au d marrage. e e Routeur Les routeurs comme celui qui raccorde les sous-r seaux dadresses 192.168.22.64 et e 192.168.22.32 sont souvent des machines Unix ou des mat riels d di s. e e e Dans le cadre dune machine Unix, pour congurer les diff rentes interfaces du routeur, e il faut connatre leurs noms (commande ifconfig -a), par exemple le0 et le1, et remplir comme on la fait dans la section pr c dente les chiers /etc/hostname.le0, e e /etc/hostname.le1, /etc/hosts et /etc/netmasks. Il faut enn red marrer la e machine. Dans le cadre dun routeur sp cialis , il faut se r f rer a la documentation du constructeur. e e ee `

2.7.2 Conguration du routage


` ` Nous allons nous attacher a congurer le routage, cest-` -dire a remplir de mani` re automaa e tique la table de routage de chacun de nos equipements, stations de travail et routeurs. Ce nest pas utile pour les PC et Macintosh car on leur a indiqu une route par d faut vers un e e routeur directement connect . e Unix Sur les machines Unix, quelles soient simples serveurs ou quelles fassent aussi ofce de routeurs, il suft dactiver le d mon de routage. Les deux d mons de routage sous Unix sont e e routed et gated. routed, livr avec la plupart des syst` mes Unix, autorise uniquement e e le protocole RIP tandis que gated, rarement fourni avec le syst` me Unix, est compatible e avec la plupart des protocoles de routage internes et externes pour TCP/IP. ` On peut rapatrier gated par FTP a lURL suivant : ftp://ftp.ibp.fr/networking/gated routed est lanc si n cessaire au d marrage, sous Solaris. On peut lui indiquer dans le e e e chier /etc/gateways les diff rents routeurs avec lesquels il doit echanger des informae tions. En labsence de ce chier, routed peut quand m me echanger les informations de e routage avec les routeurs voisins. Il est activ avec le param` tre -q pour capturer les routes e e sans faire dannonce. Sur une machine multi-domicili e faisant ofce de routeur, il est activ e e avec le param` tre -s an non seulement de r cup rer des informations sur laccessibilit des e e e e r seaux, mais aussi dannoncer les r seaux correspondant aux diff rentes interfaces Ethernet e e e de la machine.

62

` Raccordement a lInternet

Pour utiliser gated sur une machine Unix multi-domicili e, on peut lactiver en utilisant un e chier de conguration minimum (/etc/gated.conf), comme suit :
% cat /etc/gated.conf rip yes { interface all ripin ripout ; } ; % su Password: # gated &

Par contre, sur une machine Unix ne faisant pas ofce de routeur, on utiliserait un chier de conguration diff rent, an de ne pas faire dannonce : e
% cat /etc/gated.conf rip yes { interface all ripin noripout ; } ; % su Password: # gated &

Routeur sp cialis e e ` Pour activer le routage RIP avec un routeur sp cialis , il faut se conformer a la documentation e e fournie par le constructeur. Par exemple, en supposant que le routeur qui relie le sous-r seau de serveurs au sous-r seau e e de PC soit un mat riel CISCO, il suft de le congurer comme suit : e
CISCO>enable Password: CISCO#configure terminal Enter configuration commands, one per line. End with CNTL/Z. CISCO(config)#router rip CISCO(config-router)#network 192.168.22.0 CISCO(config-router)#passive-interface serial 0 CISCO(config-router)#Z CISCO#write memory

La ligne passive-interface permet de demander au routeur de ne pas activer RIP sur linterface indiqu e en param` tre. En effet, lors dun raccordement de type intermittent, par e e RNIS ou X25 sur Transpac, il ne faut pas activer le protocole de routage sur les interfaces WAN car les paquets engendr s maintiendraient ainsi la connexion active m me si aucun e e autre trac ny transitait.

3
Raccordement dun rseau local lInternet
` Dans le cadre du raccordement dun r seau local a lInternet, loffre des fournisseurs come porte une ou plusieurs des m thodes que nous allons d crire dans ce chapitre : connexion e e ` par modem sur le r seau t l phonique commut , connexion par RNIS (r seau num rique a e ee e e e int gration de services), location dune ligne sp cialis e, connexion par X25 sur Transpac. e e e

3.1 G n ralit s e e e
3.1.1 Les quatre offres traditionnelles
Pour se connecter au r seau Internet par un fournisseur, il faut choisir un type de ligne de e transmission entre le r seau local et celui du fournisseur. e Les fournisseurs proposent traditionnellement quatre types de raccordements, chacun ayant ses propres caract ristiques. e Connexion par le r seau t l phonique commut (RTC) e ee e Pour ce type de raccordement, il faut acqu rir un modem et le brancher sur un des equipee ments connect s au r seau local. On va le transformer en routeur IP en choisissant un protoe e ` cole r seau pour transporter les paquets IP a travers le modem. Pour cela, il faut installer un e logiciel correspondant au protocole choisi sur l quipement. Ce protocole doit etre le m me e e

64

` Raccordement a lInternet

que celui utilis par le fournisseur. Certains dentre eux proposent des acc` s par le protocole e e ` SLIP (Serial Link Internet Protocol), mais la plupart proposent a leurs clients dutiliser PPP (Point to Point Protocol), qui est bien plus robuste. Connexion par RNIS Pour ce type de raccordement, il faut acqu rir une carte RNIS ou un adaptateur de terminal e ` RNIS quil faudra relier a un equipement d j` connect au r seau local, ou un routeur d ea e e e di . Dans la grande majorit des cas, le fournisseur propose dutiliser le protocole PPP pour e e transporter les paquets IP entre le r seau local du client et le sien. e Connexion par ligne sp cialis e num rique e e e La raccordement par ligne sp cialis e num rique, aussi appel e LS ou ligne lou e, est le e e e e e ` moyen de connexion le plus agr able pour acc der a lInternet. Bien quune carte synchrone e e rajout e a une des machines du r seau local puisse convenir, on fait souvent lacquisition dun e ` e equipement d di pour brancher une ligne sp cialis e. Cette derni` re, tir e par lop rateur e e e e e e e t l com entre le site du client et le fournisseur, fournit un d bit garanti et une connexion ee e permanente de lensemble des machines, de jour comme de nuit. Le protocole utilis sur ce e type de ligne est souvent, l` encore, PPP. a Connexion par X25 sur Transpac ` Le raccordement par X25 sur Transpac permet dutiliser le r seau Transpac pour se relier a e un fournisseur. Diff rentes solutions sont disponibles pour ce type de connexion : equipement e d di ou carte ajout e a un des equipements d j` connect s au r seau local. On utilise le plus e e e ` ea e e ` souvent le protocole dencapsulation IP sur X25. PPP, quant a lui est plus souvent utilis pour e la connexion des particuliers par Transpac, par linterm diaire dun PAD (Packet Assembler e ` la section 3.7.2 page 132. Desassembler), dont le principe est d crit a e

3.1.2 Points de Pr sence e


Les fournisseurs Internet en France poss` dent pour la plupart un centre dop rations teche e niques principal (NOC, Network Operation Center) situ en r gion parisienne. Or, pour la e e plupart des services Internet professionnels, le co t de la ligne de transmission aupr` s de u e lop rateur t l com d pend de la distance qui s pare le fournisseur de son client. Cest noe ee e e tamment le cas pour les communications RTC sur modem, RNIS, et les lignes sp cialis es ; e e ` Transpac propose quant a lui un mode de facturation ind pendant de la distance. Ainsi, pour e ne pas imputer des co ts de communication trop importants aux entreprises qui se connectent u ` a leurs services depuis la province, les fournisseurs choisissent le plus souvent d tendre leur e

` Chapitre 3 Raccordement dun r seau local a lInternet e

65

pr sence sur le territoire par la mise en place de points de pr sence, appel s POP 1 . Chaque e e e fournisseur en poss` de souvent plus dune dizaine, proches des grandes villes de m tropole. e e Les diff rents POP dun m me fournisseur sont reli s en etoile par des lignes sp cialis es au e e e e e centre dop rations principal. Le plus souvent, ces lignes ont un d bit de 64 Kbits/s. Chaque e e POP fournit tout ou partie des services offerts par le centre dop rations principal (except e e e la connexion X25 sur Transpac qui se fait toujours directement avec le centre dop rations e techniques principal) : acc` s par modems, RNIS et lignes sp cialis es. Cela permet de proe e e poser un num ro dacc` s local pour les services intermittents et des LS de courte distance, et e e ` donc a bas prix, pour les acc` s permanents. e Il faut noter quun POP reli par une ligne 64 Kbits/s avec le centre parisien accueille bien e souvent plusieurs clients en LS 64 Kbits/s. Il sagit l` dune technique de surr servation 2 tr` s a e e utilis e par les fournisseurs Internet, car bien souvent on nutilise en moyenne sur lann e e e que quelques Kbits/s sur une LS 64 Kbits/s. La gure 3.1 pr sente un exemple de topologie de fournisseur utilisant des points de pr sence. e e

AUTRE FOURNISSEUR

AUTRE FOURNISSEUR

CENTRE DOPERATIONS TECHNIQUES (PARIS) 64Kbps 64Kbps

POP de Rouen

64Kbps

POP de Marseille 64Kbps

64Kbps

POP de Grenoble

64Kbps

Client RTC 64Kbps Client LS

Client LS

64Kbps

Client LS

Client LS

Client RTC

Client LS

Figure 3.1

Points de presence dun fournisseur

1. POP : Point Of Presence 2. overbooking

66

` Raccordement a lInternet

3.1.3 Equipements
` On classe les equipements n cessaires a la connexion distante avec un fournisseur en deux e cat gories : e lETTD ( quipement terminal de transmission de donn es), ou DTE (data terminal e e equipment), est connect au r seau local et assure un certain nombre de services ; e e lETCD ( quipement terminal de circuit de donn es), ou DCE (data circuit terminating e e ` equipment), est reli a lETTD local par une liaison particuli` re appel e jonction, et a e` e e lETCD distant par la ligne de transmission. Ces deux types d quipements sont pr sents autant chez le fournisseur que chez ses clients, e e la gure 3.2 sch matise leur utilisation. e
Socit connecte Internet Oprateur Tlcom Fournisseur Internet

ETTD

jonction

ETCD

ligne de transmission

ETCD

jonction

ETTD

rseau local

rseau local

Figure 3.2

ETTD et ETCD

Par exemple, dans le cadre dune connexion Internet par le RTC, cest un serveur Unix qui pourra jouer le r le dETTD, et un modem branch sur ce dernier jouera le r le dETCD. o e o

3.1.4 Types de jonction et mode de transmission


Pour pouvoir correctement echanger des bits sur une jonction, le r cepteur doit etre capable e dobtenir un signal dhorloge caract risant le d bit du ux d mission. e e e
Jonctions synchrones et asynchrones Les jonctions de type synchrone sont caract ris es par des echanges au niveau bit, l metteur e e e etant synchronis sur une horloge de fr quence xe. Cette derni` re est soit transport e sur e e e e ` un des c bles electriques constituant la liaison, soit r g n r e par le r cepteur a partir dune a e e e e e boucle verrouill e en phase, acceptant en entr e le ux de donn es de la jonction. e e e ` ` e Les jonctions de type asynchrone permettent, quant a elles, a l metteur, de transmettre ` des signaux a tout moment. Ils sont ainsi group s en caract` res, d limit s par des signaux e e e e particuliers appel s START et STOP. e Les liaisons synchrones sont utilis es pour les moyens et hauts d bits, par exemple dans le e e cadre des lignes sp cialis es. Les liaisons asynchrones le sont pour les bas d bits, par exemple e e e lors dun raccordement par modem.

` Chapitre 3 Raccordement dun r seau local a lInternet e

67

Les interfaces physiques sont d nies par quatre param` tres : les caract ristiques fonctione e e nelles, electriques et m caniques. e Le tableau suivant r capitule cinq des principales interfaces physiques : e
Caract ristiques e fonctionnelles V24 V24 X24 X21 bis Caract ristiques e electriques V28 V35 V11 V28 I431 Caract ristiques e m caniques e DB-9 et DB-25 DB-34 DB-9 et DB-15 DB-25 Utilisation traditionnelle RTC et LS X25 hauts d bits e (Transpac) X25 bas d bits e (Transpac) RNIS

3.1.5 Protocoles pour le raccordement


Les protocoles utilis s sur la ligne de transmission, dans le cadre du raccordement dun r e e ` seau local a lInternet, d pendent du type dacc` s. Le tableau 3.1 pr sente, pour chaque type e e e dacc` s, les protocoles utilis s le plus souvent. e e
Type dacc` s e RTC RNIS LS Transpac Protocoles courants PPP asynchrone SLIP PPP synchrone PPP asynchrone HDLC PPP synchrone IP/X25 PAD X3

es Tableau 3.1 Protocoles couramment utilis dans le cadre dun raccordement Internet

3.2 PPP
3.2.1 Principe
Nous lavons vu pr c demment, PPP est un protocole qui sintercale entre un support de e e ` transmission et les datagrammes de la couche IP. Notons quil est tout a fait possible dencapsuler dautres types de protocoles quIP, par exemple Appletalk, Novell IPX, DECnet Phase IV ou bien m me ISO CLNP. e Cette section d di e a PPP va nous permettre de d couvrir ce protocole quon est souvent e e ` e amen a mettre en place lors dune connexion avec un fournisseur Internet, que ce soit pour e` une liaison intermittente ou permanente.

68 PPP est compos de trois entit s : e e

` Raccordement a lInternet

1. une m thode pour encapsuler des datagrammes sur des liaisons s rie ; e e 2. un protocole de contr le de liaison evolu : LCP, Link Control Protocol ; o e 3. une famille de protocoles permettant d tablir et de congurer des couches au niveau e 3 r seau : ce sont les NCP (Network Control Protocols). e La gure 3.3 d crit le principe de PPP sur un exemple : le transport dinformations entre un e client et un serveur World Wide Web. Les donn es du protocole HTTP (Hyper Text Transe port Protocol : protocole utilis pour le WWW) sont encapsul es sur le r seau local dans des e e e paquets TCP, eux-m mes encapsul s dans des datagrammes IP, ces derniers etant enn ene e capsul s dans des trames Ethernet. Lorsque ces derni` res rencontrent la machine qui dispose e e dune passerelle PPP et qui est reli e au modem, les datagrammes IP en sont extraits et ene capsul s dans des trames PPP. Le processus inverse est utilis de lautre c t de la liaison e e oe PPP : les datagrammes IP sont extraits des trames PPP et sont encapsul s dans des trames e Ethernet du r seau local du fournisseur. e
RESEAU LOCAL WWW TCP IP Ethernet Cble Coaxial ROUTEUR LIGNE DE TRANSMISSION WWW TCP IP PPP Cble Srie ROUTEUR RESEAU LOCAL WWW TCP IP Ethernet Cble Coaxial

Figure 3.3

Principe de PPP

3.2.2 PPP synchrone et asynchrone


PPP peut traverser des jonctions synchrones et asynchrones, cest-` -dire des liaisons s rie au a e niveau bit (liaisons synchrones) et au niveau caract` re (liaisons asynchrones). La couche la e plus basse du protocole PPP est adapt e au type de jonction. Notamment, l chappement des e e caract` res de d but et de n de trame nest pas int gr de la m me mani` re en synchrone et e e e e e e en asynchrone. Les fournisseurs Internet proposent des connexions PPP asynchrones avec leurs services sur ` RTC bien quil soit tout a fait possible dutiliser des jonctions synchrones entre les modems et les ETTD, mais il faut dans ce cas que le fournisseur et son client choisissent tous deux ce mode de connexion synchrone, ce qui est rare. Les connexions PPP sont plut t en mode o synchrone avec RNIS, et syst matiquement en mode synchrone sur les lignes sp cialis es. e e e
3. Niveau 3 du mod` le OSI e

` Chapitre 3 Raccordement dun r seau local a lInternet e

69

La plupart des passerelles PPP nautorisent que les connexions asynchrones. Il faut le v rie er avant de faire lacquisition dun tel logiciel, en fonction du type dacc` s choisi avec le e fournisseur.

3.2.3 Dial-on-Demand
Le Dial-on-Demand na de raison d tre que dans le cadre dune connexion intermittente avec e ` lInternet (RTC, RNIS). Cest la facult dune passerelle PPP a se connecter automatiquement e ` au fournisseur lorsquelle capture sur le r seau local du client des paquets a destination de e lInternet. Certaines passerelles PPP nont pas cette facult , et cest alors une manipulation e dun op rateur qui est n cessaire pour etablir la connexion PPP. e e De m me, la coupure de connexion au bout dun temps dinactivit sur la ligne nest souvent e e disponible quavec les passerelles PPP proposant le Dial-on-Demand. Cette technique est tr` s e ` e utilis e avec les connexions RNIS, car contrairement a l tablissement dune communication e sur RTC pour laquelle il faut parfois plus de 30 secondes, la communication sur RNIS peut etre activ e en moins dune seconde. Cela permet donc de faire des economies de facture e t l phonique en gardant une proc dure dacc` s a lInternet transparente pour lutilisateur. ee e e `

3.2.4 Redial
` Le Redial est la facult dune passerelle PPP a se reconnecter automatiquement lorsque la e ` communication est coup e anormalement ou a la demande de la couche LCP. En effet, une e connexion PPP peut- tre amen e a etre coup e par la couche LCP ; celle-ci proc` de en ene e ` e e voyant des demandes decho r guli` res, et en cas dabsence de r ponse, elle peut d cider e e e e de d connecter la liaison PPP. Il arrive quon r solve certains probl` mes de d connexion e e e e intempestive en d sactivant cette fonctionnalit de la couche LCP. e e

3.2.5 Filtres
` La notion de ltre intervient a deux niveaux dans une passerelle PPP : 1. La conguration dune passerelle PPP doit permettre de s lectionner les datagrammes e IP qui peuvent la traverser et ceux qui sont rejet s. Cest le nombre de ces crit` res e e permettant de congurer la fonction de ltrage, ainsi que leur exibilit , qui va compter e dans le choix dune passerelle PPP. Certaines permettent de ltrer en fonction du type de donn es encapsul es dans les datagrammes IP, en fonction des adresses source ou e e destination pr sentes dans les en-t tes de ces datagrammes, ou en fonction des ports e e source ou destination des paquets TCP et UDP encapsul s dans les datagrammes, ce e qui permet par exemple de choisir de ltrer par nuds du r seau ou par services. On e peut ainsi transformer certaines passerelles PPP en un maillon important dune solution rewall de s curit r seau. e e e

70

` Raccordement a lInternet
2. Une passerelle PPP doit aussi pouvoir utiliser ses ltres conjointement avec la fonction Dial-on-Demand : certains datagrammes IP ne doivent pas syst matiquement initier e la connexion PPP. Par exemple, il arrive souvent quun utilisateur lance lapplication ping en boucle, pour obtenir des informations sur laccessibilit dun nud de lIne ternet. Les paquets g n r s, de type ICMP (Internet Control Message Protocol), ne e ee doivent pas etre une cause dactivation et de maintien de la ligne par la fonction Dial` on-Demand car un utilisateur qui oublierait par exemple de mettre n a une commande ` ping apr` s une journ e de travail, imposerait a la ligne de transmission une activit e e e ` toute une nuit, ce qui peut aboutir a une facture t l phonique importante et inutile. ee

3.2.6 Scripts
Dans le cadre de lutilisation de PPP sur une connexion intermittente en mode asynchrone, ` on d signe par script un chier de conguration permettant a une passerelle PPP dappeler e correctement son homologue chez le fournisseur. En effet, un certain nombre dop rations e ` e est n cessaire a l tablissement dune connexion PPP asynchrone. e La passerelle doit dialoguer sur le port s rie en suivant un certain nombre d tapes : e e 1. dialogue avec lETCD (modem ou adaptateur RNIS, par exemple) an de linitialiser et le congurer ; il sagit souvent denvoi de commandes Hayes de type AT ; 2. envoi dune demande de connexion en pr cisant le num ro de t l phone distant (et e e ee eventuellement une sous-adresse en RNIS) ; il sagit l` aussi souvent de lenvoi dune a commande Hayes ; 3. dialogue avec le serveur distant pour se connecter sur un compte PPP ; 4. phases PPP : authentication (optionnelle) ; n gociation de param` tres (par exemple ladresse IP de l quipement qui tente e e e d tablir la connexion) ; e phase de production : encapsulation des datagrammes IP pour jouer le r le de o routeur. Les trois premi` res phases de la connexion ne font pas intervenir le protocole PPP. Elles sont e n anmoins fondamentales et doivent etre automatiquement accomplies par la passerelle PPP. e ` La troisi` me phase consiste pour la passerelle PPP a dialoguer avec un concentrateur de tere minaux chez le fournisseur, reli aux modems. Si le concentrateur nint` gre pas la fonction e e ` PPP, il faut lui demander de se connecter a un autre equipement : le serveur PPP. Enn, il faut souvent sidentier avec un nom de compte ou nom de login, et un mot de passe associ . e Certains fournisseurs eliminent cette derni` re phase qui est reprise dans la premi` re phase e e PPP qui suit : la proc dure dauthentication. Dautres fournisseurs se passent dauthentie ` cation PPP et ne conservent que lidentication par nom de compte et mot-de-passe a la n du script.

` Chapitre 3 Raccordement dun r seau local a lInternet e

71

` Le script qui permet a la passerelle PPP de dialoguer correctement avec les equipements du fournisseur pour mettre en place la connexion PPP est donc compos dune s rie de paires e e envoi/attente (send/expect), o` envoi d signe une chane de caract` res a emettre u e e ` sur la ligne s rie, et attente d signe une chane de caract` res a scruter en r ception avant e e e ` e ` de passer a la paire suivante. Prenons donc un exemple typique dacc` s PPP compos , chez le fournisseur, de modems e e reli s a un concentrateur de terminaux, ce dernier etant connect par le r seau local Ethernet e ` e e ` a une machine disposant dun serveur PPP. Le client se voit attribuer le compte lucstone et le mot de passe elibeurt sur le serveur PPP. Le concentrateur de terminaux pr sente e une banni` re a laquelle il faut r pondre par la commande connect PPP an dacc der au e ` e e serveur. Ce dernier demande alors le nom de compte et le mot-de-passe, puis commence la session PPP. Avec un terminal de type VT100, la connexion se traduirait par le dialogue suivant :
AT\N3%C3&K3&S&D&W&Y OK ATDT0,0123456789 Connect 14400 Terminal Server WTB1023 This access is restricted : no use allowed without permission. command% connect PPP ************** * PPP Server * ************** Welcome on the PPP Server model 6410. login: lucstone password: XXXXXXXX PPPstarting fno!@#IDFSF

Les caract` res de la derni` re ligne de l change correspondent au d but du protocole PPP. e e e e ` Voici donc la liste des paires envoi/attente a entrer dans un chier de conguration de passerelle PPP pour mettre en place cette connexion :
envoi AT N3%C3&K3&S&D&W&Y \r ATDT0,0123456789 \r connect PPP \r lucstone \r elibeurt \r attente OK command% ogin: word:

Le caract` re (( \r )) indique un retour chariot. Dans la deuxi` me colonne, on pr f` re scruter les e e ee chanes (( ogin: )) et (( word: )) plut t que (( login: )) et (( password: )), car certains fournisseurs o

72

` Raccordement a lInternet

utilisent une majuscule en premi` re lettre, ce qui donne (( Login: )) au lieu de (( login: )), et e ` le script peut ne pas le reconnatre. Avec (( ogin: )) et (( word: )), on sadapte a tous les cas de gure. ` Pour mettre au point un script de connexion PPP, une technique efcace consiste a se connec ter une premi` re fois par un emulateur de terminal, an den d duire, comme nous lavons e e fait avec notre exemple, la liste des paires de conguration, puis de les ins rer dans les ecrans e ou chiers de conguration de la passerelle PPP.

3.2.7 Authentication
Deux syst` mes dauthentication, au choix du fournisseur, sont utilis s au sein de PPP ; il e e sagit de PAP (Password Authentication Protocol) et CHAP (Challenge Handshake Authentication Protocol). Le fournisseur peut aussi choisir de nen utiliser aucun. ` PAP proc` de par une identication a laide dun couple nom/mot de passe. Son principe est e ` donc le m me que lidentication par mot de passe dans le script de connexion, a la diff rence e e pr` s que cette identication se passe ici dans la phase PPP. e ` CHAP d nit quant a lui un secret. Comme le mot de passe, le secret est connu de la passerelle e ` PPP du client et du serveur PPP du fournisseur Internet. Mais a la diff rence dun mot-dee passe, le secret nest pas envoy au distant sur la ligne de transmission, il est utilis par e e ` le fournisseur pour proposer un challenge a la passerelle du client, challenge qui ne peut etre r solu avec succ` s que par la connaissance du secret. Ce challenge est construit pour e e ` loccasion, il change a chaque demande de connexion. CHAP apporte donc un niveau de ` s curit suppl mentaire par rapport a PAP : m me si la ligne de transmission est ecout e par e e e e e une personne mal intentionn e, cette derni` re ne pourra pas, par la suite, en d duire le secret, e e e elle ne pourra donc pas se connecter en tentant de se faire passer pour la passerelle PPP. PAP et CHAP permettent au client de sidentier aupr` s du fournisseur et peuvent aussi e permettre au client didentier le fournisseur. Chaque fournisseur poss` de sa propre politique e dutilisation de PAP, CHAP ou de lauthentication par script. Souvent, ces choix d pendent, e chez un m me fournisseur, du service auquel on sabonne. Il faut noter que la plupart des e passerelles PPP proposent PAP, mais que beaucoup ne disposent pas encore de CHAP. Il faut donc v rier que les possibilit s dauthentication de la passerelle PPP dont on compte faire e e lacquisition sont compatibles avec la solution impos e par le fournisseur. e

3.2.8 N gociation e
Apr` s la phase dauthentication, la passerelle PPP va n gocier un certain nombre de parae e m` tres avec son homologue chez le fournisseur. On notera notamment, parmi les param` tres e e n goci s, les suivants : e e adresse IP de linterface PPP locale ;

` Chapitre 3 Raccordement dun r seau local a lInternet e


adresse IP de linterface PPP du fournisseur ; compression des en-t tes de datagrammes IP par la m thode de Van Jacobson. e e

73

Traditionnellement, quand on congure une passerelle PPP, on peut choisir, pour chacun des param` tres susceptibles d tre n goci s : e e e e de ne pas fournir de valeur et dattendre ce que le distant va proposer ; de fournir une valeur eventuellement modiable si le distant en fournit une distincte ; de fournir une valeur qui ne sera pas modi e m me en cas de demande de la part du e e distant. Il est souvent souhaitable pour le client de laisser le serveur PPP du fournisseur lui imposer les valeurs des param` tres n gociables, la conguration nen est que plus simple. e e

3.3 Routeurs de proximit e


3.3.1 Routeurs CISCO
Dans les sections qui suivent, et plus particuli` rement dans le cadre de la connexion par e RNIS, ligne sp cialis e ou par Transpac, nous allons etudier la conguration d quipements e e e sp cialis s, appel s routeurs de proximit , an de raccorder un r seau local au r seau du e e e e e e fournisseur Internet. Nous choisissons dans cet ouvrage de d crire diff rents mod` les de la e e e gamme CISCO. Cette soci t am ricaine fournit des routeurs souvent utilis s dans le monde ee e e de lInternet et plus particuli` rement en France, autant sur les dorsales des fournisseurs que e chez leurs clients. Dautre part, le syst` me dexploitation temps-r el qui les accompagne, et e e ` qui propose un grand nombre doptions, est r guli` rement remis a jour pour tenir compte des e e derni` res normes tout droit sorties des groupes de travail de lIETF4 . e

3.3.2 Mise en marche dun routeur et conguration minimale


` Avant dexaminer des congurations sp ciques a certains types de raccordements, examie nons les caract ristiques g n rales de ces equipements, en prenant pour exemple un routeur e e e de proximit de la s rie 2500. e e Un routeur CISCO dispose dune m moire RAM non volatile (NVRAM) qui contient la e ` ` conguration charg e au d marrage, a moins que lutilisateur ne demande a la charger depuis e e un serveur TFTP (Trivial File Transfer Protocol). Pour congurer un routeur CISCO pour la premi` re fois, il faut relier un terminal sur son port e console, par exemple un micro-ordinateur PC muni dune interface s rie et dun emulateur de e terminal. Les param` tres par d faut sont : 9 600 bits/s, 8 bits de donn es, pas de parit , 1 bit e e e e
4. Internet Engineering Task Force

74

` Raccordement a lInternet

` de d part, 2 bits darr t. On met le routeur sous tension et le message suivant apparat alors a e e l cran : e
System Bootstrap, Version X.X(XXXX) [XXXXX XX], RELEASE SOFTWARE Copyright (c) 1986-199X by Cisco Systems 2500 processor with 4096 Kbytes of main memory Notice: NVRAM invalid, possibly due to write erase. F3: 5797928+162396+258800 at 0x3000060 Restricted Rights Legend Use, duplication, or disclosure by the Government is subject to restrictions as set forth in subparagraph (c) of the Commercial Computer Software - Restricted Rights clause at FAR sec. 52.227-19 and subparagraph (c) (1) (ii) of the Rights in Technical Data and Computer Software clause at DFARS sec. 252.227-7013. Cisco Systems, Inc. 170 West Tasman Drive San Jose, California 95134-1706 Cisco Internetwork Operating System Software IOS (tm) X000 Software (XXX-X-X), Version XX.X(XXXX) [XXXXX XXX] Copyright (c) 1986-199X by Cisco Systems, Inc. Compiled Fri 20-Oct-9X 16:02 by XXXXX Image text-base: 0x03030FC0, data-base: 0x00001000 Cisco 25XX (68030) processor (revision A) with 4092K/2048K bytes of memory. Processor board ID 00000000 Bridging software. SuperLAT software copyright 1990 by Meridian Technology Corp). X.25 software, Version X.X, NET2, BFE and GOSIP compliant. TN3270 Emulation software (copyright 1994 by TGV Inc). Basic Rate ISDN software, Version X.X. X Ethernet/IEEE 802.3 interface. 2 Serial network interfaces. 1 ISDN Basic Rate interface. 32K bytes of non-volatile configuration memory. 8192K bytes of processor board System flash (Read ONLY) Notice: NVRAM invalid, possibly due to write erase. --- System Configuration Dialog --At any point you may enter a question mark ? for help. Refer to the Getting Started Guide for additional help. Use ctrl-c to abort configuration dialog at any prompt. Default settings are in square brackets []. Would you like to enter the initial configuration dialog? [yes]:

On r pond yes pour entrer en phase de conguration manuelle. e On voit alors apparatre l cran suivant : e
First, would you like to see the current interface summary? [yes]: Any interface listed with OK? value "NO" does not have a valid configuration Interface IP-Address OK? Method Status Protocol Ethernet0 unassigned NO not set up down BRI0 unassigned NO not set up up Serial0 unassigned NO not set down down Serial1 unassigned NO not set down down Configuring global parameters: Enter host name [Router]:

` ` A partir de ce point, le syst` me va cr er une conguration initiale a partir des r ponses aux e e e ` diff rentes questions concernant principalement les adresses IP et les protocoles a mettre en e

` Chapitre 3 Raccordement dun r seau local a lInternet e

75

jeu. Par la suite, nous serons amen s a mettre en place des congurations particuli` res et nous e ` e examinerons les congurations compl` tes a saisir, ce nest donc pas important si certains des e ` param` tres quon entre maintenant sont amen s a changer. e e `

3.3.3 Diff rents modes dop ration e e


Un routeur CISCO se pilote depuis un emulateur de terminal ou depuis un terminal virtuel par un acc` s PAD ou telnet par exemple. e ` On distingue cinq modes dop ration qui peuvent etre rep r s par une invite propre a chacun e ee deux. Cette invite d pend en partie du nom du routeur, nous supposerons que ce nom est e celui propos par d faut lors du premier d marrage du syst` me : Router. e e e e Les cinq modes en question sont les suivants : 1. Mode utilisateur : ladministrateur est plac dans ce mode lorsquil se connecte sur le e routeur, apr` s fourniture dun mot-de-passe. Seulement un sous-ensemble des come mandes y est accessible et son invite se termine par le signe (( > )).
<ls@fenetre> telnet router-cisco.fenetre.fr Trying 192.168.22.33... Connected to 192.168.22.33. Escape character is ]. User Access Verification Password: Router>show version Cisco Internetwork Operating System Software IOS (tm) 1000 Software (CPA1005-XY-M), Version 11.0(4), RELEASE SOFTWARE (fc1) Copyright (c) 1986-1995 by cisco Systems, Inc. Compiled Tue 19-Dec-95 03:01 by alanyu Image text-base: 0x02004000, data-base: 0x02208448 ROM: System Bootstrap, Version 4.14(6)[fc3], SOFTWARE router-cisco uptime is 9 weeks, 5 days, 9 hours, 51 minutes System restarted by reload at 12:42:47 METDST Mon Sep 23 1996 System image file is "c2500-i-l_112-0_25.bin", booted via flash Host configuration file is "router-conf", booted via tftp from 10.0.0.2 Network configuration file is "network-conf", booted via tftp from 10.0.0.2 ...

2. Mode privil gi : ce mode fournit lacc` s a lensemble des commandes de maintee e e ` nance, par exemple pour consulter les etats des diff rentes interfaces ou les tables des e protocoles de routage. Cest aussi un passage oblig pour atteindre le mode de congue ration. Dans ce mode, linvite se termine par le signe (( # )). Pour y entrer, il faut utiliser la commande enable. La commande show interface, accessible depuis le mode privil gi , permet de e e consulter les caract ristiques dune interface quelconque : e

76

` Raccordement a lInternet
Router>enable Password: Router#show interface ethernet 0 Ethernet0 is up, line protocol is up Hardware is QUICC Ethernet, address is 0000.0c33.0251 (bia 0000.0c33.0251) Internet address is 192.168.22.33 255.255.255.224 MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, rely 255/255, load 1/255 Encapsulation ARPA, loopback not set, keepalive set (10 sec) ARP type: ARPA, ARP Timeout 4:00:00 Last input 0:00:09, output 0:00:03, output hang never Last clearing of "show interface" counters never Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 852555 packets input, 58923244 bytes, 0 no buffer Received 67785 broadcasts, 0 runts, 0 giants 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort 0 input packets with dribble condition detected 758908 packets output, 267156071 bytes, 0 underruns 0 output errors, 115 collisions, 0 interface resets, 0 restarts 0 output buffer failures, 0 output buffers swapped out

3. Mode de conguration global : il permet dentrer des commandes qui vont modier la conguration de l quipement. Depuis le mode privil gi , on peut charger une cone e e guration par TFTP avec la commande configure network, mais on pr f` re haee bituellement passer du mode privil gi au mode de conguration depuis le terminal e e branch sur la console et faire les modications manuellement. On utilise pour cela la e commande configure terminal depuis le mode privil gi . Linvite du mode de e e conguration global est du type (( Router(config)# )) o` Router est remplac u e par le nom du routeur. D nissons par exemple ce nom avec la commande de cone guration globale hostname. Nous allons constater que cela va ainsi imm diatement e changer linvite. Pour sortir de ce mode, il faut utiliser la touche Z (Contr le+Z), et on o revient ainsi au mode privil gi : e e
Router#configure terminal Enter configuration commands, one per line. Router(config)#hostname fenetre fenetre(config)#Z fenetre# End with CNTL/Z.

Notons que les modications sont toujours prises en compte imm diatement. e 4. Sous-commandes de conguration : certaines commandes entr es en mode de congue ration global vont mettre le routeur dans un mode de saisie de sous-commandes dans le contexte de la derni` re commande globale. Linvite est alors modi e et re` te laction e e e de la commande globale. Modions par exemple ladresse IP dune interface Ethernet. La commande de conguration globale interface ethernet 0 permet dentrer ` dans un mode de saisie de sous-commandes sappliquant a linterface Ethernet 0 :
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface ethernet 0 Router(config-if)#ip address 192.168.22.33 255.255.255.224 Router(config-if)#Z Router#

` Chapitre 3 Raccordement dun r seau local a lInternet e

77

5. Mode Moniteur ROM : ce mode permet un acc` s de tr` s bas niveau au routeur. Dans e e ce mode, le routeur est inop rant. e
Que faire lorsquon a perdu le mot de passe? ` Cest a partir du mode Moniteur ROM quon peut reprendre la main sur un routeur dont on a oubli le mot de passe. Pour y entrer, il faut red marrer l quipement et enclencher e e e la touche BREAK du terminal branch sur le port console pendant les soixante premi` res e e secondes de la proc dure damor age. e c

3.3.4 Op rations de base e


Examinons les op rations de base quon est amen a effectuer quelle que soit la conguration e e` ` a mettre en place.

Aide contextuelle ` A tout moment, quon soit en mode utilisateur, privil gi ou en phase de conguration, on e e peut obtenir une aide contextuelle en utilisant le caract` re (( ? )). On remarquera que pour une e m me commande, show par exemple, seuls les arguments autoris s dans le mode courant e e seront afch s. En voici un exemple : e
Router>show ? clock Display the system clock history Display the session command history hosts IP domain-name, lookup style, nameservers, and host table sessions Information about Telnet connections terminal Display terminal configuration parameters users Display information about terminal lines version System hardware and software status Router>show Router>enable Password: Router#show ? access-expression List access expression access-lists List access lists accounting Accounting data for active sessions aliases Display alias commands arp ARP table async Information on terminal lines used as router interfaces bridge Bridge Forwarding/Filtering Database [verbose] buffers Buffer pool statistics clock Display the system clock cmns Connection-Mode networking services (CMNS) information compress Show compression statistics. configuration Contents of Non-Volatile memory controllers Interface controller status debugging State of each debugging option ...

Le caract` re (( ? e

) )

en phase de conguration indique le type du prochain argument m me si e

78

` Raccordement a lInternet

` plus dun argument est possible. Regardons par exemple comment remplir tour a tour les diff rents arguments qui compl` tent la commande de conguration ip route permettant de e e d nir des routes statiques : e
Router#configure terminal Enter configuration commands, one per line. Router(config)#ip route ? A.B.C.D Destination Network IP address End with CNTL/Z.

Router(config)#ip route 192.168.22.64 ? A.B.C.D Destination mask or forwarding routers address Ethernet IEEE 802.3 Null Null interface Serial Serial Router(config)#ip route 192.168.22.64 255.255.255.224 ? <1-255> Distance metric for this route A.B.C.D Forwarding routers address Ethernet IEEE 802.3 Null Null interface Serial Serial tag Set tag for this route <cr> Router(config)#ip route 192.168.22.64 255.255.255.224 192.168.22.36 Router(config)#Z Router#

Sauvegarde de la conguration ` Deux congurations sont en m moire a tout instant : e la conguration active ; la conguration pr sente en NVRAM et activ e au moment du d marrage (` moins e e e a que ladministrateur nait choisi un chargement de la conguration par TFTP au d e marrage). Sachant que les commandes de conguration sont prises en compte imm diatement, mais e quelles ne sont pas plac es dans la conguration en NVRAM automatiquement, une erreur e de manipulation a rarement des cons quences graves, car, au pire, le routeur devient inop rant e e et il suft de le red marrer pour recharger la conguration correcte enregistr e en NVRAM. e e Une fois quon a conance dans la conguration active, on peut la recopier en NVRAM par la commande du mode privil gi write memory. e e

Afchage de la conguration Lafchage dune conguration par un routeur CISCO est extr mement agr able : le routeur e e se contente dafcher les commandes qui permettent dobtenir la conguration en question.

` Chapitre 3 Raccordement dun r seau local a lInternet e

79

On remarque donc que chez CISCO, le langage de conguration et le langage de description de conguration sont les m mes, ce qui est tr` s appr ci des administrateurs r seau. e e e e e Pour afcher la conguration enregistr e en NVRAM, on dispose de la commande show e configuration :
Router#show configuration Using 610 out of 7506 bytes ! version 11.0 no service pad service udp-small-servers service tcp-small-servers ! hostname Router ! username routeurFournisseur password leSecret isdn switch-type vn3 ! boot system flash enable password LucStone ! ...

Attention : show configuration afche la conguration en NVRAM, il ne sagit donc pas de la conguration active. Pour afcher cette derni` re, on peut par exemple l crire e e en NVRAM (write memory) puis utiliser show configuration. Mais pour afcher la conguration courante sans modier la conguration en NVRAM, on utilise write terminal :
Router#write terminal Building configuration... Current configuration: ! version 11.0 no service pad service udp-small-servers service tcp-small-servers ! hostname Router ! username routeurFournisseur password leSecret isdn switch-type vn3 ! boot system flash enable password LucStone ! ...

Modication dun param` tre e Lorsquon modie un param` tre de conguration, par exemple ladresse IP dune interface, e on doit supprimer le param` tre erron avant de saisir la nouvelle commande de conguration. e e

80

` Raccordement a lInternet

Pour cela, il suft d crire la ligne erron e en la faisant pr c der du pr xe no. Changeons e e e e e par exemple ladresse IP de linterface Ethernet de notre routeur :
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface ethernet 0 Router(config-if)#no ip address 192.168.22.33 255.255.255.224 Router(config-if)#ip address 192.168.22.34 255.255.255.224 Router(config-if)#Z Router#

Red marrage e Lorsque la conguration semble correcte mais que le routeur ne r agit pas comme on lattend, e il est parfois utile de le red marrer. On utilise pour cela la commande reload. e

3.4 R seau t l phonique commut e ee e


3.4.1 Bande passante
LETCD utilis lors dun raccordement par le RTC est un equipement appel modem, dont e e le r le est de moduler les signaux num riques correspondant aux informations qui transitent o e entre le r seau local du client et celui du fournisseur, en les transformant en signaux analoe giques pour quils puissent transiter sur une ligne t l phonique. ee La d bit maximal quon peut ainsi atteindre d pend de la largeur de bande disponible, ainsi e e que du rapport signal/bruit. Une ligne t l phonique poss` de une bande passante qui comee e ` mence a 300 Hz et se termine vers 3 400 Hz, la largeur de bande est donc de 3 100 Hz. On d nit la rapidit de modulation, qui sexprime en bauds, comme le nombre maximal de e e signaux qui peuvent etre transmis sur un canal, pendant un intervalle de temps donn . Le e th or` me de Shannon indique que la rapidit de modulation R, est au plus egale au double de e e e la largeur de bande B :

R < 2:B
Ainsi, pour une ligne t l phonique, la rapidit de modulation maximale est de 6 200 Bauds. ee e Chaque signal peut d signer plusieurs etats dont le nombre maximal est impos par le rape e port signal/bruit. Shannon a montr que ce nombre maximal n, appel valence du signal, est e e

` Chapitre 3 Raccordement dun r seau local a lInternet e


calculable par la formule suivante :
q

81

n=

1+

Signal Bruit

Le d bit en bits/s d pend evidemment de la rapidit de modulation maximale, et du nombre e e e n d tats associ s a chaque signal. Le d bit D peut ainsi etre calcul par la formule : e e ` e e

D = R: log2 (n)
En reprenant la premi` re in galit sur R, et les deux formules qui suivent, on en d duit la e e e e relation :

D < B: log2 (1 + Signal ) Bruit


En appliquant ce r sultat aux caract ristiques dune ligne t l phonique, cest-` -dire 3 100 e e ee a ` Hz de largeur de bande et un rapport signal/bruit en puissance de 100 a 1 000, on obtient une limite th orique maximale comprise entre 20 000 et 30 000 bits/s. Notons quavec des e techniques de compression de donn es, on peut d passer ces d bits, mais on reste n anmoins e e e e en dessous des d bits obtenus avec une liaison RNIS ou une ligne sp cialis e. Cest pourquoi e e e les liaisons RTC constituent le type dacc` s Internet de plus faible d bit, et de co t le plus e e u economique qui soit.

3.4.2 Modems
Caract ristiques techniques e On caract rise les modems par : e le type de jonction ETTD/ETCD, qui d nit des caract ristiques electriques, m cae e e niques et fonctionnelles, et le protocole d change de donn es num riques de plus bas e e e niveau ( change au niveau bit pour les liaisons synchrones et au niveau caract` re pour e e les liaisons asynchrones) ; le mode de transmission, asynchrone ou synchrone ; le d bit de la jonction ; e

82 le d bit sur la ligne de transmission ; e la technique de modulation ; les techniques de compression de donn es ; e les techniques de correction derreur.

` Raccordement a lInternet

En ce qui concerne les liaisons Internet par modem, la jonction choisie est dans la grande ` majorit des cas de type asynchrone. Elle se conforme a lavis V24 de lITU-T. e LITU-T est un organisme qui emane dune entit de lONU : lUnion internationale de t l e ee communication (International Telecommunication Union). LITU-T etait nomm auparavant e Comit consultatif international pour la t l graphie et la t l phonie (CCITT), et son r le est e ee ee o d tablir des normes internationales dans les domaines des t l communications. e ee Lavis V24 quil a fait paratre d nit la fonction de chaque signal dune jonction particu e ` li` re. Les caract ristiques electriques des signaux sont quant a elles d nies par lavis V28 de e e e ` lITU-T. On en trouve deux types de brochages : le connecteur DB-9 a 9 points et le connec` teur DB-25 a 25 points. Le plus souvent, le connecteur est de type femelle du c t modem et oe m le du c t ETTD. Ce type de jonction est appel RS-232-C. a oe e La gure 3.4 d crit le connecteur de type DB-9, et le tableau suivant indique la fonction des e diff rents signaux : e
Broche 1 2 3 4 5 6 7 8 9 Signal DCD RD TD DTR M DSR RTS CTS XI Fonction d tection de porteuse e r ception de donn es e e transmission de donn es e ETTD pr t e Terre modem pr t e demande pour emettre pr t a emettre e ` indicateur dappel Direction vers lETTD vers lETTD vers le modem vers le modem vers lETTD vers le modem vers lETTD vers lETTD

9
Figure 3.4

6
Connecteur DB-9 dun modem

` Chapitre 3 Raccordement dun r seau local a lInternet e

83

La connexion du modem avec la prise t l phonique se fait souvent avec un connecteur de ee type RJ-11 du c t modem. La gure 3.5 d crit le connecteur de type RJ-11, et le tableau oe e suivant indique la fonction des diff rents signaux : e
Broche 1 2 3 4 Signal T1 L2 L1 T2 Fonction combin point 1 e ligne point 2 ligne point 1 combin point 2 e

1234

Figure 3.5

Connecteur RJ-11 dun modem

Conguration Pour congurer un modem, il faut le brancher sur la prise V24/V28 asynchrone dun ETTD, par exemple un micro-ordinateur ou un terminal de donn es. Un logiciel de type emulateur e de terminal est n cessaire si on utilise un micro-ordinateur. e La conguration de la jonction c t terminal d pend du type dETTD. Par exemple, si un oe e ` emulateur de terminal est utilis , on trouvera a partir des menus une bote de dialogue pere mettant de choisir parmi les diff rentes options. e ` La conguration du c t modem se fait a laide de commandes normalis es HAYES, aussi oe e appel es commandes AT. Elles doivent etre entr es sur le modem par la jonction, depuis le e e terminal. Entre deux modems de marque diff rente, ces commandes peuvent changer. Les e exemples de commandes AT que nous allons fournir par la suite sont compatibles avec les ` modems de la marque OLITEC. Conformez-vous a la documentation fournie avec votre mo dem pour v rier que les commandes sont les m mes, ou pour trouver leur equivalent. e e Le d bit sur la jonction asynchrone doit tout dabord etre congur sur le terminal. Il est e e ` conseill dutiliser un d bit sup rieur a celui sur la ligne de transmission, car souvent un proe e e tocole de compression y est mis en place. On ne pourrait pas, ainsi, en proter si la jonction avait le m me d bit que la ligne de transmission, car il ny a pas de compression sur la jonce e tion. Les d bits de jonction quon retrouve le plus souvent sont : 300 bits/s, 1200 bits/s, 2400 e bits/s, 4800 bits/s, 9600 bits/s, 14400 bits/s, 38400 bits/s, 57600 bits/s et 115200 bits/s. Ce d bit est impos par lETTD, et reconnu automatiquement par le modem lorsque lutilisateur e e

84

` Raccordement a lInternet

envoie la premi` re commande de conguration. La commande la plus simple, AT, permet de e v rier que la jonction est op rationnelle. D` s sa r ception, le modem doit renvoyer le code e e e e de retour OK :
AT OK

` e Si les caract` res saisis napparaissent pas a l cran, on utilise la commande ATE1 pour passer e en mode echo. Le format des donn es, d nissant le nombre de bits dinformation, de bits de d part (bits de e e e START), de bits darr t (bits de STOP) et la parit , doit aussi etre d ni. Avec les protocoles e e e utilis s pour la connexion Internet par modem (SLIP, PPP ou UUCP), on va g n ralement e e e choisir la conguration suivante : 8 bits de donn es, 1 bit de d part, 1 bit darr t, pas de parit . e e e e Cette conguration doit etre mise en place sur le terminal, et est d tect e par le modem lors e e de la premi` re commande AT. e Le d bit et les protocoles de transmissions sur la ligne sont d nis par un certain nombre e e davis de lITU-T. Pour certains de ces avis, plusieurs d bits sont disponibles ; nous fournise sons ici les avis les plus utilis s, et, pour chacun deux, le d bit commun ment adopt , ainsi e e e e que le code AT correspondant :
Avis V21 V22 V22bis V23 V32 V32bis V34 V34bis D bit e 300 bits/s 1 200 bits/s 2 400 bits/s 1 200 bits/s en r ception, e 75 bits/s en emission 9 600 bits/s 14 400 bits/s 28 800 bits/s 33 600 bits/s commande AT B7 B6 B8 B2 B9 B10 B20 consulter la documentation du modem

Ainsi, pour congurer un d bit de ligne de 28 800 bits/s en V34, il suft dentrer la come mande suivante :
ATB20 OK

Il se peut quau cours de la transmission, ou m me au d but de l change, la qualit de la e e e e ligne ou les possibilit s du modem distant ne soient pas sufsantes pour dialoguer au d bit e e d ni par le modem local. Une nouvelle vitesse moins importante peut alors etre utilis e par e e les deux modems : il sagit de lop ration de repliement. Il faut lautoriser dans le modem par e la commande %E, sinon, en cas de d gradation de ligne, il risque de couper la connexion. e

` Chapitre 3 Raccordement dun r seau local a lInternet e

85

Pour eviter le co t dun d lai suppl mentaire, il faut passer le modem dans un mode sans tamu e e pon, par la commande \N1. On ne dispose alors daucune compression, il faut que la jonction ` ait la m me vitesse que la ligne. Plusieurs autres possibilit s soffrent a nous. On peut choisir e e dutiliser le tampon du modem sans compression ni correction (commande \N0), la jonction peut ainsi etre plus rapide que la ligne. On peut aussi choisir dutiliser le tampon et un protocole de correction derreur. Il existe deux protocoles de correction derreur : V42 et MNP4. On peut imposer V42 (commande \N4), MNP4 (commande \N5), ou demander au modem ` ee ` de le n gocier (commande \N3). La correction V42 est a pr f rer a MNP4. On choisit g n e e e ralement de demander au modem de n gocier : e
AT\N3 OK

De m me que pour les protocoles de correction derreur, il existe deux protocoles de come pression de donn es sur la ligne de transmission : MNP5 et V42bis. On a donc le choix de e ne pas en utiliser (commande %C0), dimposer lun ou lautre (commande %C1 pour MNP5, %C2 pour V42bis), ou de demander au modem de n gocier (commande %C3). La comprese ` ee ` sion V42bis est a pr f rer a MNP5. On choisit g n ralement de demander au modem de e e n gocier : e
AT%C3 OK

Il existe deux types de contr les de ux : le contr le mat riel ou hardware ow control (como o e mande &K3) et le contr le logiciel ou software ow control (commande &K4). Le contr le o o de ux doit etre congur sur lETTD, par exemple dans un menu dun emulateur de termie ` nal, et sur lETCD avec une commande AT. Le contr le de ux logiciel consiste a utiliser o ` ` des caract` res particuliers permettant a lETTD et a lETCD de demander un arr t d mise e e sion de donn es, par exemple quand leurs tampons sont pleins. Le caract` re 19 (S ou XON) e e ` correspond a une demande darr t d mission, et le caract` re 17 (Q ou XOFF) correspond e e e ` a une demande de reprise. Cela implique que ces caract` res sont r serv s et ne peuvent pas e e e traverser la ligne de transmission. Cest souvent une cause de probl` mes importants avec les e protocoles utilis s pour la connexion Internet. Il faut donc pr f rer le contr le de ux mae ee o t riel, qui utilise les signaux RTS et CTS de linterface V24/V28. Parfois, les deux types de e contr les de ux sont disponibles mais ce mode de fonctionnement est souvent d conseill . o e e Certains c bles V24/V28 sont livr s sans le c blage des signaux RTS ni CTS. Cest parfois le a e a cas dans le monde Macintosh. Il faut alors utiliser un contr le de ux logiciel, mais certains o programmes ne le supporteront pas, ou bien demanderont une conguration particuli` re (cest e le cas notamment de PPP : on peut lui congurer une asynchronous-map, table indiquant les caract` res a eviter ; il faut alors y inclure S etQ si on utilise un contr le de ux logiciel). e ` o

86

` Raccordement a lInternet
Que faire si la jonction ne transporte pas RTS ni CTS?

Dans le cas de lutilisation dun logiciel incompatible avec le contr le de ux logiciel et dun o c ble de jonction ne rendant pas disponible RTS ni CTS, il faut proc der en quatre etapes : a e 1. supprimer toute forme de contr le de ux (commande &K), puisque le contr le logio o ciel est incompatible avec le programme utilis et que le contr le mat riel nest pas e o e disponible sur le c ble de jonction ; a ` 2. utiliser une vitesse de jonction identique a la vitesse sur la ligne de transmission an que les donn es dans le sens ETTD vers modem ne provoquent pas un engorgement e ` qui am` nerait a des pertes de caract` res emis par lETTD ; e e ` 3. passer en mode avec tampon sans compression, car la vitesse de jonction est egale a celle de la ligne. Une compression de donn es de la part du modem distant pourrait e alors entraner un engorgement dans le sens modem local vers ETTD, et labsence de ` contr le de ux am` nerait ainsi a des pertes de caract` res dans ce sens ; o e e 4. activer un contr le derreur. o

Certains ETTD ont un comportement d pendant de l tat du signal DSR de la jonction, qui est e e normalement activ par le modem uniquement pendant une connexion distante. Par exemple, e lacc` s a la jonction s rie sous Unix est souvent impossible depuis un p riph rique en mode e ` e e e 5 ` e caract` re comme /dev/tty0 lorsque ce signal est a l tat bas. Pour y rem dier, on utilise e e le p riph rique associ /dev/cua0 qui na g n ralement pas cette limitation. e e e e e ` Il est aussi possible de changer ce comportement de /dev/tty0. Pour cela, on se connecte a laide dun emulateur de terminal sur /dev/cua0 et on demande alors au modem de syst mae tiquement activer le signal DSR par la commande &S. ` Le signal DTR est positionn par lETTD. Souvent, lorsquon red marre un ETTD, ou a plus e e forte raison lorsquon le met hors tension, ce signal tombe. Le modem peut etre congur e pour ignorer le signal DTR (commande &D) ou bien pour couper la connexion distante lorsque le signal DTR tombe (commande &D2). On est parfois amen a utiliser cette commande par e` mesure de s curit , pour sassurer que la ligne est bien d connect e lorsque lETTD est arr t , e e e e ee ` par exemple pour eviter une facture t l phonique excessive due a une connexion maintenue ee par erreur. Certains modems, par exemple certains mod` les de la marque USRobotics, ont une congue ration d pendant de commutateurs de type on/off accessibles sur une de leurs faces. Il faut e ` dans ce cas se reporter a la documentation du modem. Une fois la conguration choisie, il faut la mettre en place dans le modem, lenregistrer dans un des bancs de registres en m moire non volatile (commande &W pour le banc 0), et enn e ` ` indiquer au modem le banc de registres contenant la conguration a charger a la mise sous tension (commande &Y pour le banc 0).

5. TTY : Teletype

` Chapitre 3 Raccordement dun r seau local a lInternet e

87

Notons que plut t que de les saisir une par une, on peut regrouper les commandes AT en les o faisant pr c der du pr xe AT suivi de la liste de toutes les commandes choisies. e e e Voici un exemple de conguration adapt e aux protocoles dacc` s Internet sur modem : utie e lisation dun tampon, contr le derreur n goci , compression n goci e, contr le de ux mao e e e e o ` t riel, forcer DSR, ignorer DTR, enregistrement dans le banc 0, rappel de ce banc a la mise e sous tension.
AT OK AT\N3%C3&K3&S&D&W&Y OK

3.4.3 UUCP : Unix to Unix Copy


` UUCP est un protocole dinterconnexion de machines Unix, a lorigine destin aux lignes e s rie asynchrones (on peut maintenant encapsuler UUCP sur TCP/IP mais cest rarement e ` utilis ). Il est donc tout a fait adapt au transport sur RTC par une paire de modems. Il propose e e une fonction de base qui permet de transf rer des chiers entre machines, et dex cuter des e e ` commandes a distance prenant pour param` tres les chiers transf r s. Notons quUUCP ne e ee sappuie g n ralement pas sur IP, il se distingue donc de lInternet. Mais, n anmoins, deux e e e services de cette fonction de base existent aussi sur lInternet : la messagerie ainsi que le transport darticles de News (Forums). ` Certains fournisseurs proposent donc des acc` s uniquement a ces deux services Internet par le e ` protocole UUCP sur RTC, a des co ts souvent inf rieurs aux connexions Internet compl` tes. u e e UUCP est natif sur la plupart des syst` mes Unix. Il en existe de plus une r alisation en e e domaine public appel e Tailor UUCP. Dans le monde PC (DOS, Windows et OS2), le produit e UUPC propose le protocole UUCP. Le principe dUUCP est dappeler r guli` rement un serveur du m me type chez le fournisseur e e e (par exemple de mani` re automatis e, toutes les heures durant les horaires de travail), dene e voyer les messages et les articles de News g n r s sur le r seau local et mis en le dattente e ee e ` depuis le dernier appel, et enn de r cup rer les messages et articles de News a destination e e e du client et qui avaient et mis en le dattente chez le fournisseur depuis le dernier appel. On voit donc quun d lai d pendant de la fr quence de connexion est impos a la r ception e e e e` e ` e comme a l mission de messages. De plus, seule la messagerie et les forums etant accessibles, ` il faut utiliser des passerelles email pour acc der a des serveurs FTP ou WWW, par exemple. e Ce type de passerelle est accessible par courrier electronique : il sagit dune adresse email dont les messages sont consult s par un automate qui y interpr` te des requ tes dacc` s a e e e e ` des documents disponibles par un protocole tel que FTP. Lautomate est mis en place sur ` une machine connect e a lInternet, il peut donc aller chercher le document et le retourner a e ` ` l metteur de la requ te, encod dans un mail. Il faut n anmoins noter quacc der a FTP ou e e e e e WWW par ce type de passerelle nest pas franchement ergonomique.

88

` Raccordement a lInternet

3.4.4 SLIP : Serial Link Internet Protocol


SLIP est un protocole permettant dencapsuler des paquets IP sur une ligne s rie. Il dispose e de tr` s peu doptions, tant en termes de s curit quen termes de contr le de la connexion, et e e e o e sil a et assez utilis il y a quelques ann es, il est maintenant abandonn au prot de PPP, e e e protocole beaucoup plus riche. La totalit des fournisseurs Internet qui proposaient jadis des e connexions SLIP fournissent maintenant des acc` s PPP ; certains fournisseurs proposent les e deux types dacc` s. Il est conseill , lorsque cela est possible, dutiliser PPP en lieu et place e e de SLIP.

3.4.5 PPP : Point to Point Protocol


Les equipements en jeu M me sil est possible dutiliser PPP sur des connexions par modem en mode s rie synchrone, e e les fournisseurs Internet proposent uniquement, dans le cadre des connexions RTC, des acc` s e PPP asynchrones (les trames de plus bas niveau de PPP ne sont pas du m me type si la e jonction est synchrone ou asynchrone, l chappement des caract` res de synchronisation ne e e se faisant notamment pas de la m me mani` re). e e La gure 3.6 page suivante pr sente les diff rents equipements qui entrent en jeu lors dune e e connexion PPP par modem : Chez le client, on trouve un equipement muni dun modem, et branch sur un quele conque brin du r seau local, par une carte Ethernet dans notre exemple. Cet equipee ment fait alors ofce de passerelle PPP. Le modem est reli a une ligne t l phonique e` ee dun op rateur t l com. e ee ` Le fournisseur poss` de quant a lui un autocommutateur ou PABX (Private Automatic e Branch Exchange) num rique raccord a lop rateur t l com. Cet autocommutateur e e ` e ee distribue un num ro t l phonique unique vers un groupement de modems suivant un e ee ` acc` s cyclique, dit rotary. Ainsi, a chaque nouvel appel sur le num ro t l phonique du e e ee groupement, il recherche le modem libre suivant. Les modems sont branch s sur un e concentrateur de terminaux par des jonctions V24/V28 asynchrones. Le concentrateur est reli au r seau local du fournisseur, par exemple par une interface Ethernet. Il joue e e alors le r le de serveur PPP et cest lui qui va identier les clients lors de leurs appels, o n gocier les param` tres de la connexion et permettre le transport des datagrammes IP e e sur la ligne s rie. Cest lui aussi qui va permettre denregistrer les informations de e facturation : temps de connexion, volume de transfert effectu , etc. e Il existe bien s r plusieurs variantes du mod` le quon vient de pr senter. Parfois, un u e e seul equipement joue le r le de lautocommutateur, des modems et du concentrateur de o terminaux, tout en utilisant le protocole PPP. La soci t ASCEND propose notamment ee de tels equipements. Parfois, le concentrateur de terminaux ne dispose pas la fonction PPP, il se contente alors de mettre en relation le ux de caract` res provenant de la e

` Chapitre 3 Raccordement dun r seau local a lInternet e

89

jonction avec un serveur Unix pr sent sur le r seau local du fournisseur et qui poss` de e e e un logiciel serveur PPP.

RTC

Prestataire daccs Client du prestataire


Modem Serveur Serveur Modem Autocommutateur

Modem ETTD

ETHERNET
Routeur Jonctions V24

Modem

ETHERNET

Concentrateur de terminaux

BACKBONE DU FOURNISSEUR
Routeur PC PC

Internet

Figure 3.6

Connexion PPP avec modem : topologie

Plan dadressage ` Il faut maintenant nous int resser a la mise en place des adresses des equipements qui entrent e en jeu dans la connexion PPP. Reprenons pour loccasion lexemple de r seau utilis au e e chapitre 2 pour pr senter les masques de sous-r seaux. e e Rappelons que ce r seau poss` de un masque de sous-r seaux de valeur 255.255.255.224, e e e et trois brins Ethernet r partis sur les trois premiers sous-r seaux utilisables dans le r seau de e e e classe C 192.168.22.0. Le routeur connect a lInternet poss` de une interface Ethernet e` e dadresse 192.168.22.33 sur le r seau local. e Un modem est donc ajout a ce routeur, et un logiciel PPP le transforme en passerelle PPP. Il e` poss` de une interface en plus de son acc` s Ethernet : il sagit de linterface de la jonction qui e e le raccorde au modem.

90 Il existe deux types dinterfaces :

` Raccordement a lInternet

Les interfaces multipoints (IPTMP : Interface Point To Multipoints) : une interface de ` ce type raccorde une machine a un support partag par plusieurs autres equipements. e ` ce type dinIl peut sagir par exemple dun c ble Ethernet ou dun anneau FDDI. A a terface, on associe les param` tres suivants, qui doivent etre congur s manuellement e e ` ou automatiquement, par exemple par le logiciel PPP a la suite dune n gociation avec e son homologue chez le fournisseur : une adresse IP, un masque de sous-r seaux, e une adresse de sous-r seaux, e une adresse de diffusion. Comme nous lavons vu au chapitre 2, ladresse de sous-r seaux et ladresse de diffue sion se d duisent de ladresse IP et du masque de sous-r seaux. e e ` Les interfaces point a point (IPTP : Interface Point To Point) : une interface de ce ` type raccorde une machine a un support partag avec un unique autre equipement, e ` ce type dinterface, on associe les param` tres suivants : par exemple une ligne s rie. A e e une adresse IP locale, ladresse IP de lautre equipement sur le support. Notons quil ny a pas de notion de num ro de sous-r seau, de masque de sous-r seaux, ni e e e dadresse de diffusion avec ce type dinterface : alors quavec une interface multipoint les ` diff rents equipements doivent poss der des adresses appartenant a un m me sous-r seau e e e e dune m me classe, il nen est rien pour les deux equipements connect s par deux interfaces e e ` ` ` point a point. De plus, ladresse IP de linterface point a point peut etre identique a une adresse IP dune autre interface du m me equipement. Cela permet d conomiser des adresses et de e e simplier la conguration ; cest ce qui est utilis dans notre exemple de plan dadressage sur e la gure 3.7 page ci-contre. Le routeur du client poss` de donc deux interfaces qui ont les caract ristiques suivantes : e e
Nom ether0 (Ethernet) Type multipoint Caract ristiques e adresse IP : r seau : e sous-r seau : e diffusion : masque de sous-r seaux : e adresse IP source : adresse IP destination :

ppp0 (PPP)

` point a point

192.168.22.33 192.168.22.0 192.168.22.32 192.168.22.63 255.255.255.224 192.168.22.33 192.168.100.1

Mise en place du routage Le fournisseur se charge dannoncer le r seau de classe C sur lInternet par le protocole e ` BGP-4. Les paquets a destination du client sont ainsi attir s vers le r seau du fournisseur. e e

` Chapitre 3 Raccordement dun r seau local a lInternet e

Figure 3.7
Oprateur Tlcom Fournisseur Internet
192.168.100.1 interface PPP2 interface PPP1 modem modem modem IP PPP jonction V24 jonction V24 jonction V24 groupement sur un mme numro de tlphone jonction V24 modem Autocommutateur Rseau Tlphonique Commut interface PPP3: 192.168.100.1 192.168.22.33 ETTD Concentrateur de terminaux IP PPP

Entreprise connecte lInternet par le RTC

interface PPP: 192.168.22.33

interface ethernet 192.168.22.34

interface ethernet 192.168.22.33

interface ethernet 192.168.100.1

serveur

routeur

IP

IP ethernet

Connexion PPP avec modem : plan dadressage

ethernet

91

92

` Raccordement a lInternet

Il met, de plus, en place un routage interne an que les paquets qui arrivent chez lui soient correctement achemin s vers son client. e ` Le client doit mettre en place un routage permettant aux paquets a destination de lInternet ` de quitter son r seau local a travers linterface PPP et dentrer ainsi chez le fournisseur. e La passerelle PPP doit poss der une route par d faut vers son homologue chez le fournisseur, e e cest-` -dire vers 192.168.100.1. Il existe deux possibilit s pour ajouter cette route : a e Soit le fournisseur utilise un protocole de routage avec ses clients pour leur annoncer les routes de ses autres clients ainsi que la route par d faut. Dans ce cas, il suft de e mettre en place sur la passerelle PPP le protocole de routage utilis par le fournisseur e et la route par d faut apparatra automatiquement. e Soit le fournisseur nutilise pas de protocole de routage avec ses clients. Il faut alors rajouter une route par d faut statique sur la passerelle PPP, cest le cas le plus r pandu. e e Les autres equipements du r seau doivent poss der une route par d faut vers linterface Ethere e e net de la passerelle PPP, cest-` -dire vers 192.168.22.33. Il existe deux possibilit s pour a e ajouter cette route : ` soit le client utilise un protocole de routage interne a son r seau, et alors la route par e d faut est automatiquement annonc e par la passerelle PPP aux autres equipements ; e e soit le client nutilise pas de protocole de routage interne, et il lui faut alors congurer manuellement dans chaque equipement la route par d faut en question. e

Particularit s de la connexion RTC e La connexion RTC est une connexion intermittente. Le client peut ainsi proter pleinement de tous les services Internet, mais il lui est impossible dh berger un quelconque serveur e (serveur WWW, FTP, DNS, etc.). ` En effet, si le client nest pas connect et quun utilisateur de lInternet tente dacc der a un e e serveur install sur son r seau, les paquets vont arriver chez le fournisseur, mais ce dernier e e ne congure jamais son serveur PPP en mode Dial-on-Demand pour rappeler son client, les paquets sont donc perdus dans le r seau du fournisseur. e Dautre part, lorsque le client nest pas connect , le courrier est mis en attente chez le foure nisseur et cest au moment o` le client se connecte que les messages lui sont redistribu s. u e Ainsi, il faut mettre en place une connexion r guli` re automatique, simplement pour recevoir e e les nouveaux messages. M me si on peut consid rer ces particularit s comme des d fauts de ce type de raccordement, e e e e il faut aussi remarquer que cela constitue n anmoins une forme de s curit non n gligeable e e e e par rapport aux connexions permanentes. En effet, la connexion RTC rend impossible un eventuel piratage le week-end ou pendant les cong s, p riodes durant lesquelles les tentatives e e de piratage se produisent.

` Chapitre 3 Raccordement dun r seau local a lInternet e


PPP sur Macintosh

93

Sur Macintosh, on utilise le plus souvent MacPPP. Utilis conjointement avec MacTCP ou e 6 ` OpenTransport , il permet a un Macintosh dutiliser les services de lInternet, mais il ne fait pas ofce de passerelle PPP. Cette solution ne permet donc pas de connecter, par linterm e ` laide de routeurs logiciels, il est toutefois diaire dun Macintosh, tout un r seau local. A e possible de transformer un Macintosh en passerelle PPP, mais cette solution est assez peu utilis e pour le raccordement dun r seau local dans le cadre dune activit professionnelle. e e e On lui pr f` re tr` s souvent un routeur sp cialis , une station de travail sous Unix ou parfois ee e e e un PC sous Unix, Windows 3.11, Windows 95 ou Windows NT.

PPP sous Windows, Windows 95 et Windows NT Comme on la d j` dit, Windows 95 et Windows NT poss` dent une pile TCP/IP. Les verea e sions pr c dentes nen poss daient pas, cest pourquoi de nombreux editeurs de logiciels en e e e e fournissent. Ces derni` res ont maintenant toutes et port es sous Windows 95 et NT. Elles e e comportent souvent beaucoup plus doutils et de fonctionnalit s que la pile native, cest poure quoi il nest pas inutile de sen procurer. Par exemple, les produits Chameleon de Netmanage et OnNet32 de FTP Software poss` dent les fonctionnalit s Dial-on-Demand et sont accome e pagn s dun ensemble de logiciels permettant dacc der par exemple aux forums, ou de g rer e e e la messagerie, en plus de la fonctionnalit PPP. e ` Attachons-nous a examiner la conguration de Chameleon de Netmanage pour transformer Windows en passerelle PPP. Nous allons pour cela nous conformer aux huit etapes suivantes ` de conguration a partir de lapplication Custom : 1. Congurons une interface Ethernet comme nous lavons fait section 2.7.1 page 56. 2. Cr ons maintenant, par le m me proc d , une interface PPP, en plus de linterface e e e e Ethernet. 3. Longlet [Setup/Conguration/Gateway] permet de d nir une route par d faut (e e gure 3.8 page suivante). ` 4. A laide de longlet [Setup/Conguration/Port], on congure le port de communication s rie comme suit (gure 3.9 page suivante) : 57600 bits/s, 8 bits de donn es, 1 bit e e darr t, pas de parit , contr le de ux mat riel. e e o e ` 5. A laide de longlet [Setup/Conguration/Dial], on d nit le num ro dappel ainsi e e que diff rentes options (gure 3.10 page 95) : Dial-on-Demand, d connexion apr` s e e e une temporisation, reconnexion en cas de perte de ligne accidentelle, etc. ` 6. A laide de longlet [Setup/Conguration/Modem], on d nit les caract ristiques du e e modem (gure 3.11 page 95). Chameleon en d duit automatiquement la chane dinie tialisation.
` 6. OpenTransport est disponible a partir du syst` me 7.5.2 ou 7.5.3 selon les mod` les de Macintosh. e e

94

` Raccordement a lInternet

Figure 3.8

Conguration du routage

Figure 3.9

Conguration de linterface s erie

` Chapitre 3 Raccordement dun r seau local a lInternet e

95

Figure 3.10 Conguration du contr de la ligne ole

Figure 3.11 Conguration du modem

96

` Raccordement a lInternet
` 7. A laide de longlet [Setup/Conguration/Login], on d nit le dialogue entre le PC e et le site distant pour passer la phase didentication de type Login/Password (gure 3.12).

Figure 3.12 Dialogue didentication

8. Enn, on v rie que nos deux interfaces sont correctement congur es en revenant e e au premier ecran de lapplication Custom (gure 3.13 page suivante). On remarquera quon na pas eu besoin de congurer ladresse IP de linterface PPP, cest le serveur distant qui lindiquera au moment de la connexion. PPP sous Unix Le monde Unix est particuli` rement bien adapt a r soudre les probl` mes de raccordement e e` e e Internet. Certains syst` mes Unix sont equip s dune passerelle PPP en natif, cest notamment e e le cas de Solaris de Sun Microsystems. Ce dernier fournit le Dial-on-Demand et les m thodes e dauthentication PAP et CHAP. On trouve des passerelles PPP en domaine public, dont les sources sont disponibles. Il y a par e exemple PPP-2.2 7 , ecrit par Paul M ACKERRAS du d partement dinformatique de lAustralian National University, qui fonctionne sous SunOS, Solaris, NetBSD, Ultrix, Linux, OSF/1, AIX et NeXTStep, et qui reconnat PAP et CHAP. Malheureusement, il ne propose pas la
7. ftp://ftp.ibp.fr/pub/networking/ppp/unix

` Chapitre 3 Raccordement dun r seau local a lInternet e

97

Figure 3.13 Application Custom : conguration de deux interfaces

fonction Dial-on-Demand dans la version disponible actuellement. La prochaine version devrait lint grer et on peut utiliser pour linstant lutilitaire diald dont cest la seule fonction. e ` De nombreuses informations sur diald sont disponibles a lURL suivant : http://www.cs.utoronto.ca/ schenk/diald.html On peut aussi citer lexcellent produit commercial MorningStar PPP qui fonctionne notamment sous SunOS (stations Sparc et Sun3), Solaris (PC x86 et stations Sparc), Ultrix (DECstations), NeXTStep (stations NeXT), IRIX (stations SGI), AIX (stations RS/6000), HP-UX (stations HP), SCO Xenix (PC x86), BSDI (PC x86). Il dispose notamment de la fonction Dial-on-Demand, de lauthentication PAP ou CHAP, et de possibilit s de ltrages come pl` tes. e LURL http://www.morningstar.com permet de recueillir des informations com ` merciales sur ce produit. On peut aussi utiliser le courrier electronique a destination de support@morningstar.com. Sur ftp://ftp.morningstar.com, des informations techniques sont disponibles. Etudions donc la conguration de MorningStar PPP. ` e Linstallation du produit consiste a d sarchiver une arborescence de chiers dans le r pertoire e /etc/ppp (/usr/lib/ppp sur SCO). Il faut adapter cinq chiers de conguration avant de pouvoir utiliser PPP : 1. /etc/ppp/Systems - ce chier indique un ensemble dinformations sur le syst` me e distant quon va contacter. Il peut y avoir plusieurs syst` mes distants, et donc plusieurs e lignes dans ce chier comme dans les autres que nous allons examiner par la suite, mais nous nous contenterons de nous placer dans le cadre habituel de lacc` s a un e ` fournisseur Internet unique.

98

` Raccordement a lInternet
Le format des lignes contenues dans ce chier est le suivant :
name when device speed phone-number chat-script

Voici la signication de ces param` tres : e name : le nom du syst` me distant ; e when : une chane indiquant les moments o` lon peut contacter cesyst` me. Any u e ` indique que le syst` me est joignable a tout moment ; e device : le nom du p riph rique contenu dans /dev auquel est reli le modem. e e e Si la valeur de ce param` tre est ACU, les p riph riques indiqu s dans le chier e e e e /etc/ppp/Devices dont le champ speed poss` de la m me valeur que le pae e ram` tre qui suit seront utilis s pour contacter le syst` me distant d crit ici ; e e e e speed : ce champ est utilis conjointement avec le champ pr c dent ; e e e ` phone-number : ce champ indique le num ro de t l phone a composer pour contace ee ter le syst` me distant ; e chat-script : il sagit ici du script de login. Il est ex cut lorsque la connexion est e e physiquement etablie entre les deux modems, et son but est de permettre lidentication de type login/password. Son format est le suivant :
expect send expect send ...

Un retour chariot est implicite apr` s chaque envoi. Les chanes expect peuvent e aussi prendre la forme expect1-send-expect2, et dans ce cas, cela indique que si expect1 nest pas reconnu au terme dun certain d lai, send est renvoy e e et expect2 est attendu en r ponse. Ainsi, in:--in: est utilis pour envoyer e e un retour chariot si on na pas re u login:. c Dans le cas qui nous occupe, nous allons utiliser la conguration suivante :
193.168.100.1 Any ACU 38400 0,0123456789 in:--in: lucstone word: EliBeurt

2. /etc/ppp/Devices - ce chier fournit des informations sur les pilotes de p riph e e rique disponibles. Son format est le suivant :
dialer device speed [optional]

Voici la signication de ces param` tres : e dialer : ce param` tre indique le nom dun dialer. Un dialer est un script d ni e e dans le chier /etc/ppp/Dialers, qui permet au syst` me de congurer le e ` e modem et de lui demander de se connecter a l quipement distant. Une fois ce script ex cut , cest le script de login d ni dans /etc/ppp/Systems qui e e e entre en jeu. Un ensemble de dialers est d j` d ni dans le chier fourni par ea e d faut. e

` Chapitre 3 Raccordement dun r seau local a lInternet e

99

device : ce param` tre prend pour valeur le nom dun pilote de p riph rique pr sent e e e e dans le r pertoire /dev ; e speed : ce param` tre indique, par une chane de caract` res alpha-num riques au e e e choix de lutilisateur, le d bit disponible sur le p riph rique. La valeur de ce e e e champ doit etre la m me que dans le chier /etc/ppp/Systems ; e des param` tres facultatifs peuvent etre fournis. e Dans le cas qui nous occupe, nous allons utiliser la conguration suivante :
USRcng cua 38400 rtscts

3. /etc/ppp/Dialers - ce chier fournit des informations sur les dialers. Son format est le suivant :
dialer chat-script

Parmi les dialers d j` d nis, on trouve par exemple celui correspondant au mod` le ea e e Sportster de la gamme de modems USRobotics :
USR-SPORTSTER ABORT BUSY ABORT ERROR \ ABORT NO\sCARRIER ABORT NO\sDIAL\sTONE ABORT NO\sANSWER \ TIMEOUT 5 "" AT OK-ATQ2V1-OK ATD\T TIMEOUT 60 CONNECT

4. /etc/ppp/Filters - ce chier indique les ltres qui vont etre appliqu s a tous e ` les datagrammes qui vont transiter sur la ligne. A chacune des r` gles de ltrage est e associ e une action. Cela permet de mettre en place une politique de s curit sur le e e e site, mais aussi de contr ler les datagrammes susceptibles dactiver et de maintenir la o ligne. Nous ne modierons pas ce chier dans le cadre de notre exemple, an de garder un comportement ouvert par d faut ; e 5. /etc/ppp/Auth - ce chier contient les informations utilis es pour lauthenticae tion PAP et CHAP. Son format est le suivant :
name secret [address]

Voici la signication de ces param` tres : e name : il sagit de ladresse IP ou du nom du syst` me distant ; e secret : pour lauthentication PAP, il sagit du mot de passe, pour lauthentication CHAP il sagit du secret ; address : ce champ facultatif sp cie les adresses IP qui pourront etre n goci es e e e avec le syst` me distant. e Dans le cas qui nous occupe, nous allons utiliser la conguration suivante, que le fournisseur doit nous avoir indiqu e : e

100
routeurFournisseur leSecret

` Raccordement a lInternet

Maintenant que nous avons convenablement mis au point les chiers de conguration, nous allons modier le script /etc/ppp/Startup. Le r le de ce script est de charger des moo dules noyau n cessaires au fonctionnement de PPP. Nous devons ajouter, en derni` re ligne, e e la commande dactivation du d mon PPP : e
/usr/etc/pppd auto requirechap name fenetre 192.168.22.33:192.168.100.1

Loption auto permet le fonctionnement en mode d mon ; la phase didentication CHAP e est impos e par loption requirechap ; loption name indique que le param` tre qui suit e e est le nom local utilis dans la phase CHAP. e Le param` tre 192.168.22.33:192.168.100.1 indique que linterface PPP locale doit e porter ladresse 192.168.22.33 et que le syst` me distant est celui d crit dans le chier e e /etc/ppp/Systems sur la ligne commen ant par 192.168.100.1. Il sagit du routeur c du fournisseur. Enn, une route par d faut doit etre activ e. La commande Unix suivante permet de la mettre e e en place :
<ls@fenetre> su Password: # route add default 192.168.100.3 1 #

Pour naliser linstallation, il nous suft de modier les chiers de d marrage de la machine e pour ex cuter le script /etc/ppp/Startup et mettre en place la route par d faut. On doit e e alors red marrer la machine. e La commande modstat permet de constater que les modules se sont charg s correctement : e
<ls@fenetre> modstat Id Type Loadaddr 2 User ff08e000 1 Pdrv ff08b000 Size 1000 3000 B-major C-major 59. Sysnum Mod Name pppframe tun

` 3.5 R seau Num rique a Int gration de Services e e e


3.5.1 Principe
` e Le R seau Num rique a Int gration de Services RNIS ou ISDN (Integrated Services Digital e e Network) est laboutissement dun effort de normalisation international des liaisons num e riques entre les abonn s et les op rateurs t l com, dans le but de transporter de la voix, mais e e ee

` Chapitre 3 Raccordement dun r seau local a lInternet e

101

aussi toutes sortes de donn es, graphiques, images, vid o, etc. Le r seau RNIS propos par e e e e France T l com sappelle Num ris. ee e Avec RNIS, les donn es sont transport es sur des canaux B ou D. Les canaux de type B sont e e destin s a transporter les donn es utilisateur au d bit de 64 Kbits/s, tandis que les canaux de e ` e e type D sont destin s aux protocoles de signalisation, en suivant notamment les trois niveaux e les plus bas de la norme OSI, avec un certain nombre dextensions. Le d bit des canaux D e d pend du type dacc` s. e e Les op rateurs fournissent deux types dacc` s a RNIS : lacc` s de base nomm BRI (Basic e e ` e e Rate Interface), et lacc` s primaire nomm PRI (Primary Rate Interface). e e ` Lacc` s BRI correspond a la fourniture de deux canaux B et dun canal D par lop rateur e e t l com. Le canal D op` re a 16 Kbits/s. Lacc` s BRI, en tenant compte des bits de synchroee e ` e ` nisation et autres bits doverhead, correspond ainsi a un d bit total de 192 Kbits/s. e Les caract ristiques de lacc` s PRI d pendent du lieu g ographique : en Am rique du Nord e e e e e ` 64 Kbits/s, ce qui correspond et au Japon, lacc` s PRI comprend 23 canaux B et un canal D a e ` a un d bit total de 1,544 Mbits/s, alors quen Europe et dans le reste du monde, lacc` s PRI e e ` comprend 30 canaux B et un canal D a 64 Kbits/s, pour un d bit total de 2,048 Mbits/s. e

3.5.2 Installation dabonn e


` Deux types dinstallations sont propos s : linstallation a bus passif et linstallation avec r gie e e dabonn . e ` Linstallation a bus passif ne n cessite aucun equipement particulier autre que les terminaux e ` RNIS (par exemple postes t l phoniques RNIS, micro-ordinateurs). Elle correspond a la fouree niture par lop rateur t l com dun acc` s de type BRI. Jusqu` cinq equipements peuvent etre e ee e a plac s sur le bus, ils se partageront le canal-D ; deux terminaux au plus pourront etablir sie multan ment des communications par les canaux B. e Sur un m me bus, les equipements sont accessibles par un m me num ro dappel, et sont e e e diff renci s par leur sous-adresse, qui est un num ro suppl mentaire repr sent traditionnele e e e e e lement apr` s le num ro dappel, s par de celui-ci par un caract` re ast risque (( * )). Les e e e e e e ` avantages par rapport a une ligne traditionnelle r sident dans les services suppl mentaires e e offerts, comme la possibilit de connatre le num ro dappelant lors dun appel entrant ou e e dobtenir des informations sur le co t de la communication en cours. u Linstallation avec r gie dabonn permet doffrir des services encore plus int ressants. La e e e r gie est un autocommutateur qui, du c t de lop rateur t l com, accueille un ou plusieurs e oe e ee acc` s BRI et PRI, et du c t de labonn propose soit un bus unique, soit plusieurs bus en e oe e etoile. Sur chaque bus, deux canaux B et un canal D sont disponibles. Ce type de bus sappelle S0. La r gie permet aux terminaux RNIS dun m me abonn de communiquer entre eux sans e e e

102

` Raccordement a lInternet

passer par lop rateur t l com, cest-` -dire sans co t de communication. De plus, des services e ee a u ` de transfert dappel dun poste a lautre, de mise en attente, et la gestion des appels par un standard sont tr` s souvent propos s. La r gie permet aussi dattribuer des num ros dappel e e e e ` ` distincts a des terminaux connect s sur un m me bus (SDA, s lection directe a larriv e). e e e e La gure 3.14 reprend les diff rents types dinstallations dabonn . e e
Abonn
Tlphone ligne dabonn Tlphone Micro-ordinateur

Oprateur Tlcom

Installation bus passif

Abonn
Tlphone Rgie Tlphone Micro-ordinateur

Oprateur Tlcom

ligne dabonn

Rgie bus unique

Abonn
Tlphone

Oprateur Tlcom

Tlphone

Micro-ordinateur

Rgie

ligne dabonn

Rgie bus en toile

Tlphone

Micro-ordinateur

Figure 3.14 Differents types dinstallations RNIS

On d nit deux types d quipements qui composent la chane entre les terminaux de labonn e e e et le r seau de communication : e ` e ee La Terminaison Num rique de R seau (TNR ou NT1 8 ) appartient a lop rateur t l com e e et adapte la ligne dabonn a la r gie dabonn . Elle fournit notamment des fonctions e` e e de maintenance et dexploitation. Linterface entre la TNR et la ligne dabonn est e appel e interface U, et linterface entre la r gie et la TNR est appel e interface T. e e e 9 La Terminaison Num rique dAbonn (TNA ou NT2 ) constitue une des composantes e e
8. Network Termination type 1 9. Network Termination type 2

` Chapitre 3 Raccordement dun r seau local a lInternet e

103

` de la r gie dabonn . Elle fournit un ou plusieurs bus de type S a partir de son interface e e avec un ou plusieurs Terminaux Num riques de R seau. e e Les terminaux pouvant etre raccord s au r seau RNIS sont class s en deux types : e e e ` Les TE1 constituent les terminaux num riques pouvant etre reli s directement a un e e bus S, tel que des postes t l phoniques RNIS, ou des micro-ordinateurs equip s dune ee e carte dinterface ad quate. e Les TE2 constituent les terminaux traditionnels ; il peut par exemple sagir dun micro ordinateur equip dune interface s rie. On les raccorde au bus S par linterm diaire e e e 10 dun adaptateur de terminal (TA ) qui propose une interface de type R avec le terminal traditionnel et une interface de type S avec le bus. Les cinq types d quipements (TE1, TE2, TA, TNA et TNR) ainsi que les quatre types dine terfaces (R, S, T et U) sont sch matis s sur la gure 3.15. e e
Abonn Oprateur

TE1

S T S TNA TNR U Ligne dabonn

R TE2 TA Rgie dabonn Commutateur

Figure 3.15 Interfaces et equipements RNIS

` En plus des bus de type S0, on trouve des bus S1 et S2 a des d bits plus importants, en e fonction du lieu g ographique : e
Interface S0 S1 S2 Canaux 2B+D (2*64+16) 23B+D (23*64+64) 30B+D (30*64+64) D bit utile e 144 Kb/s 1536 Kb/s 1984 Kb/s D bit total e 144 Kb/s 1536 Kb/s 1984 Kb/s Zone Tous pays Am rique, Japon e reste du monde

` De m me que pour les bus de type S, les interfaces T sont disponibles a diff rents d bits, e e e
10. Terminal Adapter

104 notamment en fonction du lieu g ographique : e


Interface T0 T1 T2 Canaux S0 + 48 Kb/s S1 + 8 Kb/s S2 + 64 Kb/s D bit utile e 144 Kb/s 1536 Kb/s 1984 Kb/s D bit total e 192 Kb/s 1544 Kb/s 2048 Kb/s

` Raccordement a lInternet

Zone Tous pays Am rique, Japon e reste du monde

3.5.3 Types de services


Les op rateurs font souvent des choix particuliers dimpl mentation, et il faut donc indiquer e e aux terminaux RNIS le type de commutateur chez lop rateur. Le tableau suivant r capitule e e les diff rents types dop rateurs. En France, les types utilis s sont vn2, vn3 et vn4. Cette e e e information peut etre demand e dans la phase de conguration du terminal. e
Type vn2 vn3 vn4 basic-1tr6 basic-nwnet3 basic-net3 primary-net5 basic-ts013 basic-nznet3 ntt primary-ntt basic-5ess basic-dms100 basic-ni1 primary-4ess primary-5ess primary-dms100 Op rateur e France

Allemagne Norv` ge e Royaume-Uni et autres Europe et Royaume-Uni (acc` s primaire) e Australie Nouvelle Zelande Japon (acc` s de base) e Japon (acc` s primaire) e Am rique du Nord e

(acc` s primaire) e (acc` s primaire) e (acc` s primaire) e

Num ris offre de nombreux services en mode commutation de paquets sur canal B ou D. De e plus, Num ris offre deux services en mode commutation de circuit sur canal B : e le service Circuit Commut sur canal B Transparent (CCBT), appel service transpae e rent ; le service Circuit Commut sur canal B Non Transparent (CCBNT), appel service e e audio. ` Il est souvent n cessaire dindiquer a la r gie de passer en mode transparent sur une interface e e o` on relie une passerelle Internet par RNIS. Loubli de cette intervention peut etre une cause u de non-fonctionnement de lacc` s Internet. e

` Chapitre 3 Raccordement dun r seau local a lInternet e

105

3.5.4 Acc` s Internet avec adaptateur de terminal e


` Lacc` s a lInternet avec adaptateur de terminal permet de se connecter a laide dun routeur e ` ` RNIS, mais tout simplement dune qui ne dispose pas de fonctionnalit mat rielle adapt e a e e e interface s rie et dune carte dinterface le rattachant au r seau local. On va donc se contenter e e dadjoindre un adaptateur de terminal RNIS au routeur pour le transformer en routeur RNIS. Ladaptateur de terminal est un equipement reli dun c t au bus S et de lautre, par line oe ` terface de type R, a un equipement connect au r seau local. Ladaptateur joue ainsi le r le e e o ` la diff rence dun modem, ladaptateur de ter dETCD, et lautre equipement dETTD. A e minal ne transmet pas les informations par modulation, mais directement en bande de base. Ainsi, toute la chane de communication entre le r seau local du client et celui de son four e nisseur Internet est enti` rement num rique. e e Linterface de type R est une jonction V24/V28, V24/V35, X24/V11 ou analogique. Dans ce dernier cas, on peut relier par exemple un poste t l phonique classique. Dans le cadre de la ee connexion avec un fournisseur Internet, on choisit le plus souvent un adaptateur de terminal muni dune prise V24/V28. ` La jonction qui relie ladaptateur a lETTD peut etre synchrone ou asynchrone. Dans le cas ` dune jonction synchrone, on aura a disposition un d bit de 64 Kbits/s appel (( mode dadape e ` tation transparent )), correspondant a un canal B, et dans le cas dune jonction asynchrone on aura un d bit pouvant atteindre 57 600 bits/s. Un adaptateur de terminal peut fournir des e d bits plus faibles sur sa jonction en mode asynchrone, mais cest toujours un canal B come plet qui est utilis . Lorsque linterface V24/V28 de lETTD nautorise par exemple pas plus e de 19 200 bits/s, on peut d grader le fonctionnement de ladaptateur de terminal pour quil e ` utilise ce d bit, mais cest une solution a eviter car il est dans ce cas plus economique dutie liser un acc` s par modem au m me d bit. De plus, le fournisseur doit lui aussi poss der un e e e e equipement congur a 19 200 bits/s. Tous noffrent pas ce service d grad , qui leur demande e` e e lacquisition dun mat riel d di au service. e e e

Adaptateur de terminal en mode asynchrone ` ` Lutilisation la plus r pandue dun adaptateur de terminal consiste a se connecter a un foure ` nisseur en mode asynchrone a 57 600 bits/s. En effet, cest le plus grand d bit possible en e ` mode asynchrone. Les connexions a des d bits plus importants imposent dutiliser un microe ordinateur ou une station de travail disposant dune interface s rie synchrone, ce qui n cessite e e le plus souvent lachat dune carte dextension s rie synchrone et dune passerelle PPP adape t e en plus de ladaptateur de terminal, le co t de lop ration approchant le prix dun routeur e u e RNIS d di int grant la fonction PPP et ne n cessitant pas lutilisation dun adaptateur de e e e e terminal, comme nous le verrons dans la section 3.5.5 page 108. Un adaptateur de terminal en mode asynchrone permet dadapter un ux de caract` res dune e ` jonction asynchrone a un canal B, canal de transmission num rique au niveau bit. Il utilise e

106

` Raccordement a lInternet

pour cela un protocole particulier, tel que d ni dans les avis V110 et V14 etendu de lITU-T, e an de rep rer les diff rents caract` res dans le ux de bits, et dadapter la vitesse de jonction e e e avec le d bit de 64 Kbits/s du canal B. e Il faut donc congurer ladaptateur de terminal en lui pr cisant le d bit et le protocole utilis . e e e On utilise pour cela des commandes de type AT, suivant le m me principe que la conguration e ` dun modem. Par exemple, ladaptateur TELSAT-3202S de la SAT11 se congure a laide des commandes suivantes :
D bit de jonction e Conguration automatique 600 bits/s 1 200 bits/s 2 400 bits/s 4 800 bits/s 9 600 bits/s 19 200 bits/s 38 400 bits/s 57 600 bits/s 64 000 bits/s Protocole dadaptation V110 V110 V110 V110 V110 V110 V110 V110 V14 etendu mode transparent Commande AT %A0%F0 %A0%F3 %A0%F4 %A0%F5 %A0%F6 %A0%F7 %A0%F8 %A0%F9 %A0%F12 C5

Pour composer un num ro dappel, on utilise, comme pour un modem, la commande D : e ATDn*s o` n repr sente le num ro dappel et s la sous-adresse. Sil ny a pas de sousu e e adresse, on utilise simplement ATDn. Sachant quun adaptateur de terminal peut fournir une synchronisation au niveau carac t` re, tout type de protocole pr vu pour des jonctions asynchrones peut etre utilis pour la e e e connexion RNIS par ce biais. Notamment, on peut utiliser UUCP ou SLIP d crits dans les e sections 3.4.3 page 87 et 3.4.4 page 88. Mais les fournisseurs Internet proposent pour la plupart uniquement des services PPP de ce type, car PPP fournit plus de services quUUCP et permet un meilleur contr le de la ligne que SLIP. o La gure 3.16 page suivante pr sente les diff rents equipements qui entrent en jeu lors dune e e connexion PPP avec un adaptateur de terminal : Chez le client, on trouve un equipement muni de ladaptateur de terminal, et branch e sur un brin quelconque du r seau local, par une carte Ethernet dans notre exemple ; e Ladaptateur de terminal est reli a un autocommutateur qui int` gre la fonction TNA, e` e ` ` il est tout a fait possible de sen passer si on prend une installation a bus passif, comme nous lavons vu pr c demment. e e ` Le fournisseur poss` de quant a lui un autocommutateur reli a une TNR. Cet autocome e` mutateur distribue les appels sur les TA libres. Les TA sont reli s a un concentrateur e ` de terminaux par des jonctions V24/V28 asynchrones. Le concentrateur est reli au e
11. La SAT appartient au groupe SAGEM

` Chapitre 3 Raccordement dun r seau local a lInternet e

107

r seau local du fournisseur, par exemple par une interface Ethernet. Il joue alors le e r le de serveur PPP et cest lui qui va identier les clients lors de leurs appels, n goo e cier les param` tres de la connexion et permettre le transport des datagrammes IP sur e la ligne s rie. Il faut noter que certains fournisseurs s quipent de mat riel qui assure e e e ` tout a la fois la fonction autocommutateur, adaptateurs de terminaux, concentrateur de terminaux et serveur PPP.
TNR TNR

Rseau RNIS

Prestataire daccs Client du prestataire


Autocommutateur

TA Jonction V24
Serveur Autocommutateur Serveur

TA Jonction V24

TA TA

ETTD

ETHERNET
Routeur Concentrateur de terminaux

BACKBONE DU FOURNISSEUR ETHERNET


Routeur

PC

PC

Internet

Figure 3.16 Connexion RNIS avec adaptateur de terminal : topologie

On peut faire un parall` le simple avec la connexion PPP par modem abord e dans la section e e 3.4.5. Au niveau de la d nition du plan dadressage IP, il suft de remarquer quici, ladape tateur de terminal remplace le modem, et que le plan dadressage est ainsi identique car on utilise un m me protocole : PPP. La gure 3.17 page 109 pr sente donc ce plan dadressage e e IP. Comme lors du raccordement avec modem, on utilise ici souvent une interface PPP de ` type point a point. De m me, la mise en place du routage est exactement la m me que lors de e e la connexion avec modem. De plus, le logiciel PPP utilisant simplement une interface s rie e sur le micro-ordinateur ou la station de travail, toutes les passerelles PPP logicielles pour Macintosh, PC ou Unix pr sent es pr c demment dans le cadre dun raccordement par modem e e e e peuvent etre utilis es, et elles apporteront les m mes fonctionnalit s. Le lecteur est donc pri e e e e

108 de sy r f rer pour le d tail de cette mise en place. ee e Adaptateur de terminal en mode synchrone transparent

` Raccordement a lInternet

Comme nous lavons dit pr c demment, ce mode de connexion permet dobtenir un d bit de e e e 64 Kbits/s. Il n cessite lacquisition de trois modules : e un adaptateur de terminal fournissant le mode dadaptation dit (( transparent )) ; une carte s rie synchrone sur un micro-ordinateur ou station de travail ; e une passerelle PPP logicielle permettant dutiliser la carte s rie et disposant du protoe cole PPP sur jonction synchrone. Pour congurer ladaptateur de terminal, il faut le faire passer en mode synchrone, sil ne lest d j` . Pour ce faire, une commande de type AT est fournie. Avec ladaptateur TELSAT-3202S, ea on utilise la commande C5.
Conguration dun TA synchrone : commandes V25 bis Une fois en mode synchrone, on ne peut evidemment plus utiliser un emulateur de termi` nal pour envoyer des commandes AT a ladaptateur : rappelons quen mode synchrone, la notion de caract` re disparat. Il faut donc utiliser le protocole d ni par lavis V25bis de e e lITU-T, qui permet de communiquer des commandes sur une jonction synchrone. On nuti lise donc plus un emulateur de terminal mais directement la passerelle PPP synchrone pour ` envoyer les commandes V25bis sur la jonction. Par exemple, pour demander a ladaptateur TELSAT-3202S de composer un num ro dappel, on utilise la commande V25bis CRNn*s o` e u n repr sente le num ro dappel et s repr sente la sous-adresse. Sil ny a pas de sous-adresse, e e e on utilise simplement la commande CRNn. Certains equipements disposent dune jonction asynchrone en suppl ment de leur jonction e synchrone, pr vue uniquement pour la phase de conguration et de commande ; on parle e alors de conguration hors-bande.

Au niveau plan dadressage et conguration IP, le principe est le m me quavec un adaptateur e de terminal en mode asynchrone. Notons quil est souvent plus simple dacqu rir un routeur RNIS sp cialis , solution abord e e e e e dans la section 3.5.5.

3.5.5 Acc` s Internet RNIS avec routeur sp cialis e e e


Protocoles et d bits e ` ` Lorsquon veut acc der a Internet par RNIS a 64 Kbits/s, on fait souvent lacquisition dun e ` ` routeur sp cialis , ou dune carte RNIS quon rajoute a un PC ou a une station de travail. e e Sur un canal B, en mode transparent, deux principales normes dencapsulation des datagrammes IP sont disponibles : IP sur X25 sur RNIS, et IP sur PPP synchrone sur RNIS. Ces

Entreprise connecte lInternet par le RTC

Oprateur Tlcom

Fournisseur Internet

interface PPP: 192.168.22.33 192.168.100.1 interface PPP2 interface PPP1 TA TA TA TNR IP PPP Ligne de transmission

interface PPP3 192.168.100.1 192.168.22.33

interface ethernet 192.168.22.34 Autocommutateur TNR

interface ethernet 192.168.22.33

interface ethernet 192.168.100.1 jonction V24 jonction V24 jonction V24

groupement sur un mme numro de tlphone Autocommutateur

` Chapitre 3 Raccordement dun r seau local a lInternet e

serveur

ETTD

jonction V24 TA

Concentrateur de terminaux

routeur

IP

IP PPP

IP ethernet

Figure 3.17 Connexion RNIS avec adaptateur de terminal : plan dadressage

ethernet

109

110

` Raccordement a lInternet

deux modes de connexions sont r capitul s avec un exemple dacheminement dinformations e e World Wide Web dune transaction HTTP, sur la gure 3.18 pour la connexion IP sur X25 et sur la gure 3.19 pour la connexion IP sur PPP.
RESEAU LOCAL WWW TCP IP Ethernet Cable Coaxial ROUTEUR TNR TNA LIGNE DE TRANSMISSION WWW TCP IP X25 Canal B TNA TNR ROUTEUR RESEAU LOCAL WWW TCP IP Ethernet Cable Coaxial

Figure 3.18 Connexion IP sur X25 sur RNIS


RESEAU LOCAL WWW TCP IP Ethernet Cable Coaxial ROUTEUR TNR TNA LIGNE DE TRANSMISSION WWW TCP IP PPP Canal B TNA TNR ROUTEUR RESEAU LOCAL WWW TCP IP Ethernet Cable Coaxial

Figure 3.19 Connexion IP sur PPP sur RNIS

Un canal B est utilis avec la connexion IP sur RNIS, qui permet donc un d bit de 64 Kbits/s. e e Certains routeurs RNIS permettent dutiliser deux canaux B en IP sur PPP sur RNIS, et ainsi dobtenir un acc` s a 128 Kbits/s, mais les techniques mises en uvre pour utiliser conjointee ` e ment deux canaux B nont et normalis es compl` tement que r cemment, et cela a emp ch e e e e e ` souvent ce type de routeur dinterop rer avec un equipement dune autre marque a ce d e e bit. Cest pourquoi nombre de fournisseurs proposent un d bit sur RNIS limit a un unique e e` canal B, ou imposent la marque du routeur RNIS que le client doit acqu rir. e e N anmoins, une norme permettant lutilisation de plusieurs canaux de donn es a et propoe e ` s e sous la forme de la publication dun RFC (RFC 1717), an de permettre a deux pase serelles PPP dutiliser un nombre quelconque de lignes de transmission pour echanger des datagrammes. Le d veloppement de cette fonctionnalit , appel e PPP MP (PPP Multilink e e e e Protocol), a et motiv par le besoin dutiliser plusieurs canaux B sur une m me connexion e e RNIS. Actuellement, peu de fournisseurs proposent de tels acc` s, mais de plus en plus de pase serelles PPP disposent de cette fonctionnalit . Notons quil existe un autre type de couplage, e au niveau RNIS cette fois-ci, qui permet de fusionner des canaux B ind pendamment des e protocoles utilis s au-dessus. Cette technique est appel e bonding (Bandwidth on Demand e e Interoperability Group). ` e Nous allons nous attacher maintenant a d crire lacc` s Internet par RNIS le plus courant : e

` Chapitre 3 Raccordement dun r seau local a lInternet e

111

64 Kbits/s sur un canal B, avec IP sur PPP synchrone. Lutilisation avec plusieurs canaux B ` ` consiste a ajouter des commandes a la conguration de l quipement RNIS an de lui fournir e les num ros dappel correspondant aux diff rents canaux, dans le cas o` ces num ros sont e e u e ` distincts. Tout ce qui suit est donc applicable autant a 64 Kbits/s qu` des multiples de ce a d bit. e Equipements La gure 3.20 page suivante pr sente les diff rents equipements qui entrent en jeu lors dune e e connexion RNIS avec un routeur sp cialis : e e Chez le client, on trouve un routeur RNIS connect par une interface Ethernet au r seau e e local, et muni dune interface BRI connect e au bus S0 dun autocommutateur num e e rique. Cet equipement fait ofce de passerelle PPP, et fournit souvent dautres services tels que la journalisation 12 des datagrammes qui le traversent ou le ltrage des donn es e qui le traversent pour s curiser lacc` s au site. e e ` Le fournisseur poss` de quant a lui le plus souvent un routeur directement reli a une e e` TNR, permettant de g rer avec un seul equipement jusqu` 30 canaux B. Ce routeur e a est muni dune interface Ethernet et joue ainsi le r le de serveur PPP. Cest lui qui va o identier les clients lors de leurs appels, par exemple avec PAP ou CHAP, n gocier les e param` tres de la connexion, permettre le transport des datagrammes IP entre la TNR e et le r seau local, et enregistrer les informations de facturation : temps de connexion, e volume de transfert effectu . La base de donn es dinformations sur les utilisateurs, e e contenant les adresses IP des machines distantes, leur mot de passe PAP ou les secrets CHAP, nest pas toujours maintenue sur le routeur RNIS du fournisseur : ce routeur fait ` parfois appel a un serveur Unix connect au r seau local du fournisseur an dobtenir e e ces informations lors des connexions des clients. Il utilise alors un des trois protocoles suivants : RADIUS, TACACS ou TACACS+. Plan dadressage Nous avons vu section 3.4.5 page 89 quil existe deux types dinterfaces, en ce qui concerne le ` plan dadressage : les interfaces multipoints et les interfaces point a point. Jusqu` maintenant, a nous avons etudi le plan dadressage de connexions PPP sur paire de modems, PPP sur e adaptateur de terminal RNIS asynchrone et PPP sur adaptateur de terminal RNIS en mode transparent. Les trois plans dadressage associ s utilisaient tous, autant du c t du client que e oe 13 ` du fournisseur Internet, une interface LAN multipoint et une interface PPP point a point. Un routeur sp cialis poss` de de m me une interface LAN multipoint. Le fournisseur Internet e e e e ` demande souvent a son client de congurer son interface PPP en multipoint, et lui fournit
12. accounting 13. Le plus souvent une interface Ethernet

112

` Raccordement a lInternet

TNR

Rseau RNIS

TNR Accs primaire 30B+D

Client du prestataire
Interface S

Prestataire daccs

Routeur RNIS Serveur Autocommutateur Serveur

BACKBONE DU FOURNISSEUR
Routeur

Routeur RNIS

ETHERNET
Routeur

ETHERNET

PC

PC

Internet

Figure 3.20 Connexion RNIS avec routeur d e : topologie edi

` pour cela un r seau particulier appel r seau dinterconnexion. Notons bien quil est tout a e e e ` fait possible dutiliser une interface PPP point a point avec un routeur sp cialis , mais que e e cest rarement loption choisie. Si le cas se pr sentait, le lecteur serait tout simplement amen e e ` a se r f rer a la description du plan dadressage d crit section 3.4.5 page 89. ee ` e ` Le r seau dinterconnexion attribu par le fournisseur correspond a une classe C enti` re, ou e e e ` parfois a un sous-r seau dune classe C. Ce r seau va accueillir les adresses IP des interfaces e e PPP du fournisseur et de ses clients. Nous verrons dans la section 3.6 page 122 un autre type de r seau dinterconnexion : le sous-r seau dinterconnexion naccueillant que le fournisseur e e et un seul de ses clients. Reprenons lexemple de r seau client utilis au chapitre 2 pour pr senter les masques de e e e sous-r seaux. e Rappelons que ce r seau poss` de un masque de sous-r seaux de valeur 255.255.255.224, e e e et trois brins Ethernet r partis sur les trois premiers sous-r seaux utilisables dans le r seau de e e e classe C 192.168.22.0. Le routeur connect a lInternet poss` de une interface Ethernet e` e dadresse 192.168.22.33 sur le r seau local. e

` Chapitre 3 Raccordement dun r seau local a lInternet e

113

Consid rons aussi que le fournisseur poss` de trois autres clients ayant souscrit au service e e dacc` s RNIS 64 Kbits/s, et quil leur a attribu les classes C suivantes : 192.168.23.0, e e 192.168.24.0 et 192.168.25.0. Le client poss dant le r seau 192.168.22.0 sera e e ` d sign par client A, ces trois autres clients par B, C et D. Le fournisseur poss` de quant a lui e e e un r seau local constitu par la classe C 192.168.100.0. Nous pouvons donc r capituler e e e les r seaux de classe C en jeu dans le tableau suivant : e
Entit e Client A Client B Client C Client D Fournisseur R seau e dinterconnexion Adresse r seau e 192.168.22.0 192.168.23.0 192.168.24.0 192.168.25.0 192.168.100.0 192.168.200.0 masque de sous-r seaux e 255.255.255.224 N.C. N.C. N.C. 255.255.255.0 (sans d coupage en sous-r seaux) e e 255.255.255.0 (sans d coupage en sous-r seaux) e e

Les adresses IP des diff rentes interfaces des equipements en jeu lors des connexions des e clients sont les suivantes :
Entit e Client A Client B Client C Client D Fournisseur Interface Ethernet PPP Ethernet PPP Ethernet PPP Ethernet PPP Ethernet PPP Adresse IP 192.168.22.33 192.168.200.2 192.168.23.50 192.168.200.3 192.168.24.91 192.168.200.4 192.168.25.72 192.168.200.5 192.168.100.1 192.168.200.1 R seau e 192.168.22.0 192.168.200.0 192.168.23.0 192.168.200.0 192.168.24.0 192.168.200.0 192.168.25.0 192.168.200.0 192.168.100.0 192.168.200.0 Masque de sous-r seaux e 255.255.255.224 255.255.255.0 N.C. 255.255.255.0 N.C. 255.255.255.0 N.C. 255.255.255.0 255.255.255.0 255.255.255.0 Adresse de diffusion 192.168.22.63 192.168.200.255 N.C. 192.168.200.255 N.C. 192.168.200.255 N.C. 192.168.200.255 192.168.100.255 192.168.200.255

Notons que, comme on la dit pr c demment, toutes les adresses IP des interfaces PPP des e e clients et du fournisseur se retrouvent dans le m me r seau de classe C, dit r seau dintere e e connexion. De plus, le routeur du fournisseur poss` de une seule interface PPP pour tous les e clients qui peuvent se connecter, alors que dans le cadre des acc` s avec modem ou adaptateur e de terminal, le fournisseur poss` de une interface PPP par client connect a un instant donn . e e` e ` Cest tout a fait compr hensible si on remarque que lors des connexions par modem ou par e adaptateur de terminal, le fournisseur poss` de, sur son routeur, une jonction physique d di e e e par adaptateur ou par modem, alors quici, une seule interface physique est utilis e pour lace c` s au r seau RNIS, en loccurrence une interface de type T2. Cela explique pourquoi on e e choisit, dans le cas dun raccordement par routeur d di , dutiliser des interfaces multipoints e e ` appartenant a un m me r seau dinterconnexion, et pourquoi, dans le cas dun raccordement e e ` par adaptateur de terminal ou par modem, on choisit des interfaces point a point sans r seau e dinterconnexion.

114

` Raccordement a lInternet

La gure 3.21 page ci-contre indique les diff rentes interfaces en jeu dans le cadre du raccore dement du client A, ainsi que leurs adresses IP. Mise en place du routage De m me quavec les autres types de raccordement, le fournisseur se charge dannoncer e ` le r seau de classe B ou C du client, sur lInternet par le protocole BGP-4. Les paquets a e destination de ce r seau sont ainsi attir s vers le r seau du fournisseur. Ce dernier met de e e e plus en place un routage interne an que les paquets qui arrivent chez lui soient correctement achemin s vers son client. e ` ` Le client doit, quant a lui, mettre en place un routage permettant aux paquets a destination de ` lInternet de quitter son r seau local a travers linterface PPP et dentrer ainsi chez le foure nisseur. Pour cela, la passerelle PPP doit poss der une route par d faut vers son homologue e e chez le fournisseur dans le r seau dinterconnexion, cest-` -dire vers 192.168.200.1. Les e a autres equipements du r seau local du client doivent poss der une route par d faut vers line e e terface Ethernet du routeur RNIS, cest-` -dire vers 192.168.22.33 pour le client A. Ces a tre mises en place en installant un protocole de routage interne, ou routes par d faut peuvent e e en imposant des routes statiques dans les congurations des equipements. Un probl` me nouveau peut se poser quand deux clients du service RNIS du m me fournise e seur veulent dialoguer. Plus pr cis ment, si une machine quelconque du client A essaye de e e ` dialoguer avec le routeur RNIS de B, par exemple par loutil telnet qui permet dacc der a e un nud distant, des probl` mes peuvent apparatre. Le client A va pour cela sp cier le nom e e ` du routeur de B a son application telnet. Ce routeur poss` de deux interfaces, donc deux e adresses IP. Il a donc deux noms, par exemple : routeur-ppp.clientB.fr routeur-ether.clientB.fr ` Si le client A sp cie le nom routeur-ppp.clientB.fr qui correspond a ladresse de e linterface PPP du routeur de B, lapplication telnet ne pourra pas communiquer correctement. ` En effet, les paquets IP emis par A a destination de B porteront une adresse IP destination de valeur 192.168.200.3, cest-` -dire ladresse du routeur de B dans le r seau dintercona e nexion. Quand ces paquets vont entrer dans le routeur de A, ce dernier va tenter de d terminer le e prochain equipement auquel il doit les retransmettre. Mais il ne suivra pas la route par d faut e vers le fournisseur car ladresse de 192.168.200.3 est justement dans le m me r seau que e e celui de son interface PPP. Rappelons quune des caract ristiques de lalgorithme de routage e ` ` IP d crit section 2.6.1 page 49 consiste a ne faire appel a la route par d faut que lorsque e e ` ladresse IP destination nappartient pas a un r seau directement connect . e e Pour pallier ce probl` me, si un client A d sire dialoguer avec le routeur dinterconnexion e e

Entreprise connecte lInternet par RNIS

Oprateur Tlcom

Fournisseur Internet

interface PPP 192.168.200.2

Ligne de transmission

interface PPP 192.168.200.1 interface ethernet 192.168.100.1

interface ethernet 192.168.22.34 Autocommutateur TNR

interface ethernet 192.168.22.33

serveur

Routeur Numris Bus S0 (2B + D)

Routeur Numris

routeur

` Chapitre 3 Raccordement dun r seau local a lInternet e

TNR IP PPP RNIS IP PPP RNIS IP ethernet

IP

ethernet

Rseau 192.168.22.32 Masque 255.255.255.224 Adresse de diffusion 192.168.22.63

Rseau Masque Adresse de diffusion

192.168.200.0 255.255.255.0 192.168.200.255

Rseau Masque Adresse de diffusion

192.168.100.0 255.255.255.0 192.168.100.255

Figure 3.21 Connexion RNIS avec routeur d e : plan dadressage edi


Rseau dinterconnexion avec les clients

Sous-rseau du client

Rseau du fournisseur

115

116

` Raccordement a lInternet

` de B, il suft a A dajouter sur son routeur une route particuli` re dite (( route de host )), qui e ` force le routeur a acheminer un datagramme vers linterface PPP du fournisseur, dadresse 192.168.200.1, lorsque ladresse destination de ce datagramme est 192.168.200.3, cest-` -dire ladresse de linterface PPP du routeur de B. Pour les m mes raisons, si A d sire a e e ` ` acc der depuis son propre routeur RNIS a des equipements de B, il doit demander a ce dernier e de rajouter une (( route de host )) du m me type, sinon les datagrammes risquent de bien e parcourir le r seau de A vers B, mais de ne pas revenir. e
Routage sur un r seau dinterconnexion partag entre les clients e e On peut g n raliser cette m thode par la remarque suivante : quand linterface WAN du e e e ` routeur du client appartient a un r seau dinterconnexion partag avec les autres clients, e e ` il faut rajouter sur le routeur local une route a destination du fournisseur, pour ce r seau e dinterconnexion.

Ce probl` me apparat plus souvent quon ne pourrait le croire, car on transforme parfois une e station de travail en routeur RNIS par ladjonction dune carte RNIS sp cialis e, munie dun e e acc` s BRI. On est alors souvent tent de mettre des services sur cette station, par exemple e e un serveur WWW ou FTP, qui sera accessible depuis lext rieur, notamment par les autres e machines du r seau dinterconnexion. e

3.5.6 Particularit s de la connexion RNIS e


Lexploitation de la connexion RNIS poss` de des caract ristiques analogues au raccordement e e intermittent par modem abord section 3.4.5 page 92 : e un client connect par ce biais ne peut pas h berger de serveur ; e e lorsque le client nest pas connect , les articles de News et les mails sont plac s en ate e tente chez le fournisseur ; le client doit donc se connecter r guli` rement pour permettre e e aux serveurs du fournisseur de faire parvenir les articles et le courrier sil y en a en attente. La diff rence notable entre lacc` s RNIS et lacc` s par modem se situe dans le temps de mise e e e ` en place de la connexion : il faut moins dune seconde a un routeur RNIS pour appeler le routeur du fournisseur et etablir les couches de protocoles permettant dinterop rer, alors que e dans le cas dun acc` s modem, il faut parfois plus de 30 secondes. Ainsi, gr ce au Dial-one a Demand, la notion dacc` s intermittent disparat pour lutilisateur. e Notons de plus quune fois congur , un acc` s RNIS par routeur sp cialis reste stable, alors e e e e quun raccordement par modem n cessite parfois des interventions en phase dexploitation. e ` Par exemple, la fonctionnalit dite des (( num ros br l s )), qui interdit a un modem de compoe e ue ser plus dun certain nombre de fois un m me num ro sans succ` s, impose dintervenir sur le e e e modem si les lignes du fournisseur sont toutes occup es pendant plusieurs appels successifs. e Cette m saventure survient avec certains fournisseurs qui poss` dent tr` s peu de modems par e e e rapport au nombre de clients en acc` s intermittent dont ils assurent le raccordement. e

` Chapitre 3 Raccordement dun r seau local a lInternet e

117

3.5.7 Quelques routeurs RNIS sp cialis s e e


Parmi les routeurs RNIS les plus utilis s, notons les routeurs des soci t s CISCO et ASe ee CEND. On peut aussi transformer une station de travail ou un micro-ordinateur en routeur RNIS par ladjonction dune carte RNIS sp cialis e, ainsi quun logiciel ad quat. e e e On peut pour cela par exemple citer le produit SUNLink-ISDN de SUN Microsystems. Il permet de transformer une station de travail Unix Sparc sous le syst` me dexploitation Solaris en e l quipant dune carte munie dune interface S0 et dun passerelle PPP logicielle permettant e notamment le Dial-on-Demand. ` Mais il nest pas rare quune station ainsi equip e atteigne un co t bien sup rieur a celui dun e u e routeur RNIS dentr e de gamme. e Routeurs CISCO 1003 et 1004 Le CISCO 1003 est particuli` rement adapt a la connexion par RNIS : il dispose dune intere e` face Ethernet 10BaseT (RJ-45), dun port console (RJ-45) et dun acc` s BRI (RJ-45) correse ` pondant a une interface S ou T. En Am rique du Nord, la TNR nest pas fournie par lop rateur mais par son client : cest e e donc une interface U qui est n cessaire sur le routeur. On utilise pour cela un CISCO 1004 e qui est ainsi destin aux USA, alors que le CISCO 1003 sera utilis par exemple en France. e e Les gures 3.22 et 3.23 page suivante montrent les faces avant et arri` re du mod` le 1003, e e ainsi que ses diff rents connecteurs. e

Figure 3.22 CISCO 1003 - face avant (publi avec laimable autorisation de CISCO) e

Examinons les particularit s de la conguration dun routeur CISCO disposant dun port BRI. e ` Le lecteur est pri de se reporter section 3.3 page 73 pour une introduction a la conguration e dun routeur CISCO.

118

` Raccordement a lInternet

Figure 3.23 CISCO 1003 - face arri` (publi avec laimable autorisation de CISCO) ere e

Type de r seau e D nissons tout dabord le type de r seau auquel on se raccorde. En France, il peut sagir de e e vn2, vn3 ou vn4. On utilise pour cela la commande isdn switch-type :
Router#configure terminal Enter configuration commands, one per line. Router(config)#isdn switch-type vn3 Router(config)#Z Router# End with CNTL/Z.

Conguration de linterface Ethernet Utilisons les commandes ip address et ip broadcast-address pour congurer les param` tres li s a linterface Ethernet : e e `
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface Ethernet 0 Router(config-if)#description Interface sur le LAN Router(config-if)#ip address 192.168.22.33 255.255.255.224 Router(config-if)#ip broadcast-address 192.168.22.63 Router(config-if)#Z Router#

Conguration de la route par d faut e Pour congurer la route par d faut, on indique un r seau par d faut par la commande ip e e e default-network, et une route statique vers ce r seau par la commande ip route. Le e r seau local du fournisseur est donc choisi comme r seau par d faut. La route statique pointe e e e

` Chapitre 3 Raccordement dun r seau local a lInternet e


vers ladresse IP du routeur du fournisseur dans le r seau dinterconnexion : e
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip default-network 192.168.100.0 Router(config)#ip route 192.168.100.0 255.255.255.0 192.168.200.1 Router(config)#Z Router#

119

` Linterface BRI du routeur appartient a un r seau dinterconnexion dont font partie les ine terfaces BRI des equipements des autres clients. Il faut donc, si on veut pouvoir les joindre, ajouter une route pour le r seau dinterconnexion, passant par le fournisseur. e On proc` de de la fa on suivante : e c
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip route 192.168.200.0 255.255.255.0 192.168.200.1 Router(config)#Z Router#

Conguration des adresses de linterface BRI Congurons les param` tres li s a linterface BRI de la m me fa on quon a congur les e e ` e c e adresses li es a linterface Ethernet : e `
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface BRI 0 Router(config-if)#description Interface vers le fournisseur Router(config-if)#ip address 192.168.200.2 255.255.255.0 Router(config-if)#ip broadcast-address 192.168.200.255 Router(config-if)#Z Router#

Conguration du protocole dencapsulation ` On d nit le type dencapsulation sur linterface BRI a laide de la sous-commande dintere face encapsulation. Pour demander au routeur dutiliser plusieurs canaux B simultan ment en suivant le standard e PPP Multilink Protocol, on utilise la sous-commande dinterface ppp multilink, apr` s e ` avoir pris soin de v rier que le routeur du fournisseur se conforme a cette norme. On doit e ` alors d nir la charge a partir de laquelle un nouveau canal est ouvert. La sous-commande e dinterface dialer load-threshold permet de d nir ce seuil. On lui fournit un nue m ro compris entre 1 et 256 pour d nir la proportion de d bit correspondant au seuil. Par e e e exemple, la valeur 128 indique au routeur douvrir un canal B suppl mentaire quand le pree mier atteint 50 % de charge.

120
Router#configure terminal Enter configuration commands, one per line. Router(config)#interface BRI 0 Router(config-if)#encapsulation ppp Router(config-if)#dialer load-threshold 128 Router(config-if)#ppp multilink Router(config-if)#Z Router#

` Raccordement a lInternet
End with CNTL/Z.

Conguration de lauthentication Supposons que le fournisseur nous demande de congurer l quipement avec une authentie cation de type CHAP. Cest le cas le plus r pandu. Pour mettre en place ce type dauthentie cation, il nous faut un secret commun avec le serveur. Choisissons donc pour cela la chane de caract` res leSecret. Le client et le fournisseur doivent de plus sidentier par un nom e avec CHAP. Cest le nom du routeur qui est utilis pour cela. On va donc utiliser le nom e routeurClient pour notre routeur et routeurFournisseur pour celui du fournis` seur. On congure maintenant les noms et le secret a laide des commandes hostname et username :
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#hostname routeurClient routeurClient(config)#username routeurFournisseur password leSecret routeurClient(config)#Z routeurClient#

` On applique alors le protocole dauthentication a linterface BRI :


routeurClient#configure terminal Enter configuration commands, one per line. End with CNTL/Z. routeurClient(config)#interface BRI 0 routeurClient(config-if)#ppp authentication chap routeurClient(config-if)#Z routeurClient#

Conguration du num ro dappel e On d nit une entr e de la dialer map de linterface BRI pour indiquer lassociation entre le e e num ro dappel RNIS, ladresse IP du routeur du fournisseur dans le r seau dinterconnexion e e et le nom de cet equipement distant pour la phase dauthentication CHAP :
RouterClient#configure terminal Enter configuration commands, one per line. End with CNTL/Z. routeurClient(config)#interface BRI 0 routeurClient(config-if)#dialer map ip 192.168.200.1 name routeurFournisseur 0123456789 routeurClient(config-if)#Z routeurClient#

` Cela permet au routeur de savoir quel num ro composer quand un paquet a destination de e lInternet lui parvient.

` Chapitre 3 Raccordement dun r seau local a lInternet e


Conguration des conditions dappel

121

Souvent, seuls certains paquets sont autoris s a activer une connexion RNIS. Par exemple, e ` on peut souhaiter que seuls les services TCP ou UDP aient la possibilit dactiver la liaison e RNIS, mais pas les paquets ICMP, an d viter par exemple que la connexion reste active e ` plusieurs heures durant a cause dune erreur de conguration ou de manipulation. ` Pour cette raison, il faut syst matiquement associer un num ro de dialer-group a linterface e e BRI, avec la sous-commande dinterface dialer-group. On a alors le choix dassocier ` a ce dialer-group une access-list (commande dialer-list) d crivant les datagrammes e autoris s a activer la connexion, ou dindiquer directement les conditions dactivation. Le e ` e cas ech ant, on saisit laccess-list avec la commande access-list qui est r p t e pour e ee chaque entr e de la liste. e ` Par exemple, pour autoriser tous les paquets IP a activer un canal, on va entrer la conguration suivante :
RouterClient#configure terminal Enter configuration commands, one per line. End with CNTL/Z. routeurClient(config)#interface BRI 0 routeurClient(config-if)#dialer-group 1 routeurClient(config-if)#exit routeurClient(config)#dialer-list 1 protocol ip permit routeurClient(config)#Z routeurClient#

Pour utiliser une access-list, on entre plut t la conguration suivante : o


RouterClient#configure terminal Enter configuration commands, one per line. End with CNTL/Z. routeurClient(config)#interface BRI 0 routeurClient(config-if)#dialer-group 1 routeurClient(config-if)#exit routeurClient(config)#access-list 100 permit tcp any any routeurClient(config)#access-list 100 permit udp any any routeurClient(config)#dialer-list 1 list 100 routeurClient(config)#Z routeurClient#

On a donc d ni une access-list au format etendu (les access-list etendues doivent avoir un e num ro compris entre 100 et 199) qui naccepte que les paquets TCP et UDP. On a appliqu e e ` ` avec dialer-list cette access-list a linterface de dialer-group 1, cest-` -dire a linterface a BRI. Nous verrons au chapitre 14 page 427 le format complet des access-list etendues. D connexion automatique e On va maintenant d nir le temps au bout duquel la liaison est coup e si rien na transit sur e e e ` la ligne, a laide de la sous-commande dinterface dialer idle-timeout, qui prend un nombre de secondes en param` tre : e

122

` Raccordement a lInternet

RouterClient#configure terminal Enter configuration commands, one per line. End with CNTL/Z. routeurClient(config)#interface BRI 0 routeurClient(config-if)#dialer idle-timeout 30 routeurClient(config-if)#Z routeurClient#

Activation du routage Nous activons le routage RIP pour permettre au routeur de joindre les diff rents brins Ethernet e internes. Il ne faut evidemment pas faire dannonce sur linterface RNIS, sous peine de voir un canal B etabli en permanence. On congure donc le routage ainsi :
RouterClient(config)#router rip RouterClient(config-router)#network 192.168.22.0 RouterClient(config-router)#passive-interface BRI 0 RouterClient(config-router)#Z RouterClient#

Conguration compl` te e Lannexe A.1 page 458 pr sente le chier de conguration dun routeur CISCO 1003. e

3.6 Liaison sp cialis e num rique e e e


3.6.1 Principe
Une liaison sp cialis e num rique, aussi appel e ligne lou e (leased line), est une liaison e e e e e num rique permanente entre deux points, appel s extr mit s. Ce service, fourni en France par e e e e France T l com sous le nom de Transx, est souvent d sign par lexpression (( LS Transx )). ee e e Il sagit de la r servation dun circuit de donn es num rique permanent entre deux centraux e e e t l phoniques, ainsi que de la mise en place de deux boucles locales entre ces centraux, les ee raccordant aux extr mit s de la liaison. e e ` Le d bit dune liaison Transx peut aller de quelques dizaines de Kbits/s a plusieurs Mbits/s, e mais les fournisseurs Internet se limitent pour la plupart aux d bits de 64, 128 et 512 Kbits/s. e ` ` Quelques fournisseurs proposent des raccordements a 2 ou 34 Mbits/s. A la diff rence des e ` acc` s a la demande tels que le RTC ou RNIS, la liaison sp cialis e est disponible a tout e ` e e moment, et ne n cessite donc pas d tape d tablissement de la connexion. Ainsi, lop rateur e e e e t l com ne facture pas cette liaison suivant la dur e dutilisation, notion qui na ici plus de ee e sens, mais en fonction de la distance entre les deux extr mit s. Il faut bien comprendre quun e e ` raccordement a plusieurs Mbits/s ne permet pas dobtenir de tels d bits entre le r seau du e e client dun fournisseur europ en et par exemple celui dun serveur situ aux Etats-Unis. e e

` Chapitre 3 Raccordement dun r seau local a lInternet e

123

Les fournisseurs fran ais de qualit offrent aujourdhui entre 6 et 10 Ko/s de d bit utile au c e e ` niveau TCP, a travers leurs lignes transatlantiques. En n de semaine ou en pleine nuit, les d bits offerts peuvent etre beaucoup plus importants mais il ne faut pas en attendre plus en e pleine journ e, hors p riodes estivales. e e ` N anmoins, plusieurs raisons peuvent amener a choisir un d bit important avec le fournisseur, e e par exemple 2 Mbits/s : Le r seau du fournisseur, qui relie lensemble de ses clients entre eux, est dans la grande e majorit des cas un r seau tr` s rapide et peu engorg . Si on choisit un fournisseur e e e e qui poss` de beaucoup de clients, on peut alors proter dexcellents d bits avec eux. e e Cest notamment le cas du r seau de la recherche fran ais, Renater, qui interconnecte e c des plaques r gionales avec un d bit de 34 Mbits/s ; les universit s raccord es a ces e e e e ` ` 2 Mbits/s, voire m me 34 Mbits/s, vont obtenir des d bits plaques r gionales, souvent a e e e impressionnants entre elles. Le fournisseur poss` de parfois, sur des serveurs install s chez lui, des archives des e e ` serveurs de chiers majeurs remises a jour r guli` rement. Cest par exemple le cas e e dOLEANE qui propose, sur ftp.oleane.net, diff rentes archives de logiciels e clients et serveurs fournis en domaine public sur lInternet. Il est alors tr` s utile de pose s der une liaison sp cialis e haut d bit avec le fournisseur, pour proter pleinement de e e e e ces archives locales. Le transfert des articles emis sur les forums depuis le fournisseur vers un serveur NNTP sur le site du client peut n cessiter enorm ment de d bit si ce dernier a demand a e e e e ` recevoir de nombreux groupes. Notons que 100 et 150 Kbits/s sont n cessaires en pere ` manence pour transf rer le ux complet darticles si on sabonne a lensemble des e forums. Le protocole utilis sur la ligne an dencapsuler les datagrammes IP peut etre PPP ou HDLC, e au choix du fournisseur.

3.6.2 Equipements
La gure 3.24 page 125 pr sente les diff rents equipements qui entrent en jeu lors dun e e raccordement par LS Transx : Chez le client, on trouve un routeur de proximit connect par une interface Ethernet e e au r seau local, et muni dune interface s rie synchrone raccord e a un modem bande e e e ` de base pos par lop rateur t l com ; cette interface synchrone est souvent de type e e ee X24/V11 ou V24/V35. Les caract ristiques m caniques de cette derni` re sont de deux e e e types : interface V35 fran ais et interface V35 US. c La jonction s rie synchrone qui relie les deux equipements est ainsi compos e de deux e e c bles, comme le montre la gure 3.25 page 125 : a un c ble que le client doit se procurer aupr` s du distributeur du routeur sp cialis ; a e e e il est connect dun c t au botier du routeur, et propose par exemple de lautre e oe

124

` Raccordement a lInternet
c t une interface de type V35 fran ais m le ; oe c a un c ble fourni par lop rateur t l com, connect dun c t au botier du modem a e ee e oe bande de base et proposant par exemple de lautre c t une interface de type V35 oe fran ais femelle. c Il faut donc imp rativement que le client contacte lop rateur avant de se procurer le e e premier de ces deux c bles, pour sassurer que les interfaces correspondent. En effet, a le co t de cet accessoire constitue souvent une fraction non n gligeable du co t global u e u du routeur de proximit . e

Le fournisseur poss` de le plus souvent un ou plusieurs routeurs disposant chacun de e plusieurs dizaines dinterfaces s rie synchrones ; il y relie alors les modems bande de e base apport s par lop rateur t l com pour chacun de ses clients. e e ee Dautres congurations existent. Par exemple, lorsque le fournisseur poss` de un tr` s e e grand nombre de LS Transx, lop rateur t l com met en place un point dacc` s transe ee e x (PAT Transx), qui poss` de en entr e une ou plusieurs interfaces de type E1, chae e ` cune multiplexant temporellement jusqu` 30 canaux a 64 Kbits/s. Le PAT se charge a ainsi dextraire les diff rents signaux correspondant aux diff rentes LS et les propose e e ` a travers autant dinterfaces synchrones. Le fournisseur se contente de raccorder ces ` interfaces a ses routeurs.

3.6.3 Plan dadressage


Dans le cadre dun raccordement par LS Transx, le fournisseur doit informer son client des adresses IP utilis es pour les interfaces du c t ligne de transmission des deux routeurs e oe ` en jeu. Il r serve pour cela un r seau dinterconnexion. Mais a la diff rence du r seau dine e e e terconnexion que nous avions etudi lors du raccordement par RNIS avec routeur d di en e e e ` section 3.5.5 page 111, ce r seau est propre a chaque client. Remarquons en effet que le e routeur du fournisseur poss` de ici une interface par client, alors que dans la section 3.5.5, e le routeur disposait dune interface pour tous ses clients, ce qui justie ce nouveau type de r seau dinterconnexion. e Pour attribuer des r seaux dinterconnexion avec ses clients, le fournisseur choisit donc un r e e seau de classe C, quil d coupe en sous-r seaux par la m thode expos e section 2.2.2 page 37. e e e e Chacun de ces sous-r seaux fait ofce de sous-r seau dinterconnexion, et comporte donc : e e une adresse IP pour le fournisseur, une adresse IP pour le client, une adresse de r seau, e une adresse de diffusion. Il faut donc quatre adresses IP au moins dans chaque sous-r seau. On r serve donc 2 bits pour e e la partie nuds, et il reste 6 bits pour la partie sous-r seaux dans le dernier octet du masque e de sous-r seaux. Le masque se repr sente donc ainsi en binaire : e e

` Chapitre 3 Raccordement dun r seau local a lInternet e

125

OPERATEUR TELECOM

Modem bande de base

Modem bande de base

Client du prestataire
Routeur de proximit

Prestataire daccs

Routeur Serveur Serveur

BACKBONE DU FOURNISSEUR
Routeur

ETHERNET
Routeur

ETHERNET

PC

PC

Internet

Figure 3.24 Ligne sp ecialisee avec routeur de proximit e

Cable fourni par loprateur Modem bande de base

Cable fourni par le client Routeur de proximit

Raccordement loprateur

Jonction V35 US

Interface Ethernet

Figure 3.25 Le raccordement au modem bande de base

126 11111111.11111111.11111111.11111100. Exprim en d cimal, il s crit 255.255.255.252. e e e

` Raccordement a lInternet

Supposons par exemple quun fournisseur ait choisi le r seau 192.168.205.0. Le tae bleau 3.2 indique quelques r seaux dinterconnexion avec les clients de ce fournisseur. e
Client client A Adresse IP 192.168.205.0/30 192.168.205.4/30 192.168.205.5 192.168.205.6 192.168.205.7 192.168.205.8/30 192.168.205.9 192.168.205.10 192.168.205.11 192.168.205.12/30 192.168.205.13 192.168.205.14 192.168.205.15 192.168.205.16/30 192.168.205.17 192.168.205.18 192.168.205.19 192.168.205.20/30 192.168.205.21 192.168.205.22 192.168.205.23 type r seau r serv e e e r seau dinterconnexion pour A e interface synchrone du routeur du client interface synchrone du routeur du fournisseur adresse de diffusion r seau dinterconnexion pour B e interface synchrone du routeur du client interface synchrone du routeur du fournisseur adresse de diffusion r seau dinterconnexion pour C e interface synchrone du routeur du client interface synchrone du routeur du fournisseur adresse de diffusion r seau dinterconnexion pour D e interface synchrone du routeur du client interface synchrone du routeur du fournisseur adresse de diffusion r seau dinterconnexion pour E e interface synchrone du routeur du client interface synchrone du routeur du fournisseur adresse de diffusion

client B

client C

client D

client E

Tableau 3.2 Reseaux dinterconnexion

La gure 3.26 page suivante pr sente le plan dadressage du raccordement du client E. e

3.6.4 Mise en place du routage


De m me quavec les autres types de raccordement, le fournisseur se charge dannoncer le e r seau de classe B ou C du client sur lInternet par le protocole BGP-4. e ` Mais a la diff rence des autres types de raccordement, il arrive que le fournisseur demande e ` a son client dannoncer lui-m me, par linterm diaire de son routeur de proximit , laccessie e e bilit de ses r seaux par un protocole de routage interne ; il sagit de la deuxi` me politique e e e de routage evoqu e section 2.6.3 page 52. Dans ce dernier cas, le fournisseur annonce aussi e ` a chacun de ses clients lensemble des routes de ses autres clients.

Entreprise connecte lInternet par ligne spcialise

Oprateur tlcom

Fournisseur Internet

interface PPP ou HDLC 192.168.205.21 modem bande de base 192.168.205.18 Routeur de proximite modem bande de base modem bande de base 192.168.205.14 modem bande de base Routeur

interface PPP ou HDLC 192.168.205.22

interface ethernet 192.168.100.1

interface ethernet 192.168.22.34

interface ethernet 192.168.22.33

` Chapitre 3 Raccordement dun r seau local a lInternet e

serveur

routeur

IP IP PPP ou HDLC

IP PPP ou HDLC

IP ethernet

Figure 3.26 Ligne sp ecialisee avec routeur de proximit e


Rseau Masque Adresse de diffusion 192.168.205.20 255.255.255.252 192.168.205.23 Rseau Masque Adresse de diffusion

ethernet

Rseau 192.168.22.32 Masque 255.255.255.224 Adresse de diffusion 192.168.22.63

192.168.100.0 255.255.255.0 192.168.100.255

Sous-rseau du client

Rseau dinterconnexion avec un client

Rseau du fournisseur

127

128

` Raccordement a lInternet

3.6.5 Particularit s du raccordement par ligne sp cialis e e e e


La liaison sp cialis e constitue le seul type de raccordement qui puisse permettre de mettre e e en place efcacement sur un site des services Internet tels quun serveur World Wide Web ou un serveur FTP de transfert de chiers. Certes, il est techniquement possible de mettre en ` e place un serveur Web sur un site raccord par Transpac car le fournisseur est a m me d tablir e e la connexion au moment o` un client Web sur lInternet d sire y acc der, mais le temps de u e e connexion important, d a l tablissement du circuit virtuel X25 qui vient augmenter le temps u` e de travers e du r seau Internet, est incompatible avec une utilisation agr able dans le cadre e e e de services destin s a une large diffusion. e ` Dautre part, lop rateur t l com qui pose la ligne sp cialis e entre la salle machine du foure ee e e nisseur et celle de son client a, pour ces deux extr mit s, un seul interlocuteur principal, en e e loccurrence le client de lop rateur t l com. Ainsi, deux cas se pr sentent : e ee e 1. Le fournisseur est le client de lop rateur. Ce cas est souvent impos par le fournisseur e e Internet. Il en tire diff rents avantages : e cela lui permet d tre le contact privil gi de lop rateur. Ils matrisent tous les e e e e deux la technique, cela est tr` s utile lors de la phase de mise en place et de tests e de la liaison ; en cas de probl` me sur la ligne, lop rateur pr vient directement le fournisseur ; e e e lorsquun client r silie son abonnement, la ligne nest pas ferm e, le fournisseur e e demande aupr` s de lop rateur la migration de la boucle locale c t client vers un e e oe nouveau client, ce qui co te moins cher que de clore une liaison pour en ouvrir u une autre ; le fournisseur est matre des tarifs : il peut d cider dun tarif forfaitaire pour les e clients situ s jusqu` une certaine distance dun de ses points de pr sence. Ainsi, e a e ` il peut a tout moment d placer ce point de pr sence au barycentre de ses clients e e pour minimiser le co t global, sans changer les tarifs daucun client. u 2. Le client du fournisseur est le client de lop rateur. Le fournisseur evite ce type de sie tuation sauf quand la distance entre son point de pr sence et les locaux de son client est e tr` s importante, car alors, la ligne sp cialis e co te beaucoup plus cher que dordinaire. e e e u Lavantage principal pour le client est de diminuer le co t du changement de fournisu seur Internet : en etant client de lop rateur, il lui suft de demander la migration de la e boucle locale chez le fournisseur quil veut quitter vers le point de pr sence du fournise seur quil rejoint, lop ration lui co te ainsi moins cher que la cr ation dune nouvelle e u e ligne sp cialis e. e e

3.6.6 Quelques routeurs de proximit e


De nombreux constructeurs tels que 3COM, CISCO ou Weleet, proposent des routeurs capables de raccorder une ligne sp cialis e a un r seau local. e e ` e

` Chapitre 3 Raccordement dun r seau local a lInternet e


Routeurs CISCO 1005 et 2503

129

CISCO propose des mod` les dentr e de gamme economiques offrant une ou deux interfaces e e s rie synchrones et une interface de r seau local de type Token Ring, Ethernet ou FDDI. Par e e exemple, le CISCO 1005 est un mod` le dentr e de gamme disposant dune interface s rie e e e synchrone capable de fonctionner jusqu` 2 Mbits/s. Le mod` le CISCO 2503 pr sent sur a e e e la gure 3.27 est un routeur evolutif qui dispose dune interface BRI pour un raccordement par RNIS, ainsi que de deux interfaces s rie synchrones pour un raccordement par ligne e ` sp cialis e. Ainsi, avec un routeur CISCO 2503, on peut commencer par sabonner a un e e service dacc` s Internet par RNIS, puis, avec le m me mat riel, faire evoluer son abonnement e e e vers une ligne sp cialis e. e e

Figure 3.27 CISCO 2503 - face arri` (publi avec laimable autorisation de CISCO) ere e

Examinons les particularit s de la conguration dun routeur CISCO disposant dune intere face s rie synchrone. Le lecteur est pri de se reporter section 3.3 page 73 pour une introduce e ` tion a la conguration dun routeur CISCO. Conguration de linterface Ethernet Utilisons les commandes ip address et ip broadcast-address an de congurer les param` tres li s a linterface Ethernet : e e `
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface Ethernet 0 Router(config-if)#description Interface sur le LAN Router(config-if)#ip address 192.168.22.33 255.255.255.224 Router(config-if)#ip broadcast-address 192.168.22.63 Router(config-if)#Z Router#

Conguration de la route par d faut e Pour congurer la route par d faut, on indique un r seau par d faut par la commande ip e e e default-network et une route statique vers ce r seau par la commande ip route. Le e

130

` Raccordement a lInternet

r seau du fournisseur est donc choisi comme r seau par d faut. La route statique pointe vers e e e ladresse IP du routeur du fournisseur dans le r seau dinterconnexion : e
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip default-network 192.168.100.0 Router(config)#ip route 192.168.100.0 255.255.255.0 192.168.205.22 Router(config)#Z Router#

Conguration des adresses de linterface s rie e Congurons les param` tres li s a linterface s rie de la m me fa on quon a congur les e e ` e e c e adresses li es a linterface Ethernet : e `
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface serial 0 Router(config-if)#description Interface sur ligne specialisee Router(config-if)#ip address 192.168.205.21 255.255.255.252 Router(config-if)#ip broadcast-address 192.168.205.23 Router(config-if)#Z Router#

Conguration du protocole dencapsulation et du d bit e Lencapsulation par d faut sur la ligne sp cialis e est de type IP sur HDLC. Pour une encape e e sulation de type PPP, il faut utiliser la sous-commande dinterface encapsulation ppp. Le d bit se d nit avec la sous-commande dinterface bandwidth. Par exemple, pour une e e ligne sp cialis e a 64 Kbits/s, il faut congurer le routeur comme suit : e e `
Router#configure terminal Enter configuration commands, one per line. Router(config)#interface serial 0 Router(config-if)#bandwidth 64 Router(config-if)#Z Router# End with CNTL/Z.

Activation du routage Nous activons le routage RIP pour permettre au routeur de joindre les diff rents brins Ethere net internes :
Router(config)#router rip Router(config-router)#network 192.168.22.0 Router(config-router)#Z Router#

` Chapitre 3 Raccordement dun r seau local a lInternet e


Conguration compl` te e Lannexe A.2 page 459 pr sente le chier de conguration dun routeur CISCO 1005. e

131

3.7 X25/Transpac
3.7.1 Principe
` Le r seau Transpac est un r seau a commutation de paquets. Linterface avec le r seau Transe e e pac se conforme au protocole X25, et permet ainsi l tablissement de circuits virtuels de e donn es, souvent d sign s par le terme CV, entre les diff rents sites abonn s. e e e e e Ces derniers sont d sign s par des adresses de type X.121 qui s crivent sous forme de suites e e e de chiffres d cimaux. Le plan dadressage X.121 d ni par lITU-T d coupe les adresses e e e X.121 en deux champs : le DNIC (Data Network Identication Code) identie lop rateur de mani` re unique. Il e e est form de deux parties : le code du pays, sur trois chiffres, et le num ro dop rateur e e e X25 dans le pays, sur un chiffre ; le NTN (National Terminal Number) identie le client de mani` re unique pour un e op rateur national donn . Ce champ peut contenir jusqu` dix chiffres. e e a Le plan dadressage X.121 est repr sent sur la gure 3.28. e e

DNIC Pays 3 chiffres Oprateur 1 chiffre

NTN Abonn jusqu 10 chiffres

Figure 3.28 Plan dadressage X.121

Sur le circuit virtuel, le fournisseur Internet et ses clients utilisent une encapsulation de type IP sur X25. Le co t dutilisation de ce r seau d pend notamment de la quantit dinformations transf u e e e e r es, et non pas de la distance entre les deux sites communiquant : cest le site qui a demand e e louverture dun circuit qui prend en charge le co t total de la transmission, quel quen soit u le sens. Mais il est possible d mettre une demande d tablissement dun circuit virtuel avec e e ` ` taxation au demand , cest-` -dire dimputer le co t de transmission a lappel , et non a lape a u e ` ` pelant. Cette fonctionnalit permet a un fournisseur de services douvrir un circuit a destie nation dun de ses clients quand un datagramme IP provenant de lInternet transite par son r seau local avec une adresse IP destination chez le client en question. Louverture du circuit e

132

` Raccordement a lInternet

` n tant pas a la charge unique du client, ce dernier peut ainsi mettre en place des serveurs sur e son site : la connexion Transpac qui est intermittente apparat donc ici comme un raccorde ` ment permanent a lInternet.

3.7.2 Acc` s au r seau e e


Plusieurs moyens dacc` s au r seau Transpac existent : e e ` Les acc` s synchrones permettent de se connecter a un fournisseur avec le protocole IP e ` sur X25 pour raccorder un r seau local comme on le ferait avec PPP a travers un modem e ou avec HDLC sur une ligne sp cialis e ; il existe plusieurs types dacc` s synchrones e e e au r seau Transpac : e ` acc` s direct - cest lacc` s privil gi . Il consiste a mettre en place une ligne sp e e e e e cialis e entre le site et le plus proche centre technique Transpac. Cette ligne peut e avoir un d bit allant jusqu` 2 Mbits/s. La jonction est alors de type X21bis/V28 e a au niveau physique, HDLC-LAPB au niveau liaison de donn es, et X25 au niveau e r seau ; e acc` s a travers le RTC et RNIS sur canal D jusqu` 9600 bits/s ou RNIS sur e ` a canal B a 64 Kbits/s, a travers des EBS (Entr e banalis e synchrone) ou ERS e e ` ` (Entr e r serv e synchrone). Notamment, en composant le 3603, avec un modem e e e ` ` V32, on se connecte par le RTC a 9600 bits/s a une EBS, et on atteint par le 0836063232 une EBS multi vitesse. Par RNIS, il faut composer le 0836086464 pour un acc` s EBS-64, cest-` -dire sur canal B. e a ` Les acc` s asynchrones permettent dentrer sur le r seau Transpac a partir de terminaux e e ` bas de gamme qui ne disposent pas du protocole X25. Cela consiste a utiliser un modem ` pour acc der par le RTC a un PAD (Packet Assembler Disassembler) X3 qui assure e la traduction entre le protocole asynchrone au niveau caract` re X28 et le protocole e ` X29 permettant a un PAD de dialoguer sur le r seau X25 avec le site du fournisseur. e Ce proc d permet une connexion en mode caract` res, par exemple pour tranf rer du e e e e courrier electronique par UUCP ou pour permettre un acc` s distant de type emulateur e de terminal VT100. La gure 3.29 indique les diff rents protocoles en jeu dans ce type e de connexion.
Client Fournisseur

Terminal

modem

RTC

modem

PAD X3

Transpac/X25

Equipement X25

Protocole X28

Protocole X29

Figure 3.29 Acces au fournisseur Internet a travers un PAD ` `

` Chapitre 3 Raccordement dun r seau local a lInternet e

133

Par la suite, nous nous contenterons de traiter lacc` s direct synchrone qui est le plus r pandu e e ` dans le cadre de lacc` s des professionnels a lInternet via le r seau Transpac. e e

3.7.3 Equipements
La gure 3.30 pr sente les diff rents equipements qui entrent en jeu lors dune connexion par e e X25 sur Transpac : le client et le fournisseur relient un routeur connect a leur r seau local e` e ` par une jonction synchrone de type X21bis/V28 a lextr mit de la ligne sp cialis e qui les e e e e ` raccorde a un centre dop rations de Transpac. e Evidemment, le fournisseur ne poss` de quun equipement connect sur la ligne sp cialis e e e e e avec Transpac, pour lensemble de ses clients. En effet, sur un seul acc` s, jusqu` 4095 voies e a logiques peuvent etre actives simultan ment. e ` Le client se voit poser une ligne sp cialis e, le lecteur est donc pri de se reporter a la sece e e tion 3.6.2 page 123 pour plus de renseignements sur la jonction et les c bles n cessaires pour a e ce type de raccordement.

Modem bande de base

RESEAU TRANSPAC

LS avec un centre TRANSPAC

LS avec un centre TRANSPAC


Modem bande de base

Client du prestataire
Routeur de proximit

Prestataire daccs

Routeur Serveur Serveur

BACKBONE DU FOURNISSEUR
Routeur

ETHERNET
Routeur

ETHERNET

PC

PC

Internet

Figure 3.30 Acces au fournisseur Internet par Transpac : topologie `

134

` Raccordement a lInternet

3.7.4 Plan dadressage


De m me que lors de lanalyse du plan dadressage dun raccordement par ligne sp cialis e e e e etudi section 3.5.5 page 111, le fournisseur dispose ici dun routeur muni dune unique e interface physique avec le r seau Transpac pour les connexions de lensemble de ses clients, e il doit donc d nir, de m me quen section 3.5.5, un r seau dinterconnexion partag par e e e e lensemble de ses clients. Le fournisseur attribue donc un unique r seau de classe C accueillant les adresses IP des e interfaces IP/X25 des clients et celle de son routeur. Prenons pour exemple le r seau dinterconnexion 192.168.210.0. Ladresse r seau du e e fournisseur est 192.168.100.0 et son adresse X121 est 17511110. Reprenons ainsi lexemple de r seau client utilis au chapitre 2 pour pr senter les masques de e e e sous-r seaux. Ce r seau porte le num ro 192.168.22.0 et le routeur connect a lInternet e e e e` poss` de ladresse IP 192.168.22.33. Nous lappellerons client A et ladresse X121 attrie bu e par Transpac pour ce site est 17511111. Consid rons aussi que le fournisseur poss` de e e e trois autres clients, B, C et D, ayant souscrit au service dacc` s Internet par Transpac. Les e e couples r seau de classe C et adresse X121 qui leur ont et attribu s sont les suivants : e e 192.168.23.0 et 17511112, 192.168.24.0 et 17511113, 192.168.25.0 et 17511114. Le tableau 3.3 r capitule les r seaux de classe C en jeu. e e
Entit e Client A Client B Client C Client D Fournisseur R seau e dinterconnexion Adresse r seau e 192.168.22.0 192.168.23.0 192.168.24.0 192.168.25.0 192.168.100.0 192.168.210.0 masque de sous-r seaux e 255.255.255.224 N.C. N.C. N.C. 255.255.255.0 (sans d coupage en sous-r seaux) e e 255.255.255.0 (sans d coupage en sous-r seaux) e e

Tableau 3.3 Reseaux en jeu lors du raccordement par X25

Les adresses IP des diff rentes interfaces des equipements en jeu lors des connexions des e clients sont d crites par le tableau 3.4 page 136. e La gure 3.31 page suivante indique les diff rentes interfaces en jeu dans le cadre du raccore dement du client A, ainsi que leurs adresses IP.

Entreprise connecte lInternet par Transpac

LS Rseau LS Transpac

Fournisseur Internet

interface ethernet 192.168.22.34

interface ethernet 192.168.22.33

interface IP/X25 192.168.210.2 adresse X121 : 175111111

interface IP/X25 192.168.210.1 adresse X121 : 175111101

interface ethernet 192.168.100.1

` Chapitre 3 Raccordement dun r seau local a lInternet e

serveur

Routeur de proximit

modem bande de base

modem bande de base

Routeur

routeur

IP IP X25 HDLC

IP X25 HDLC

IP ethernet

ethernet

Rseau 192.168.22.32 Masque 255.255.255.224 Adresse de diffusion 192.168.22.63

Rseau Masque Adresse de diffusion

192.168.210.0 255.255.255.0 192.168.210.255

Rseau Masque Adresse de diffusion

192.168.100.0 255.255.255.0 192.168.100.255

Figure 3.31 Acces au fournisseur Internet par Transpac : plan dadressage `


Rseau dinterconnexion avec les clients Rseau du fournisseur

Sous-rseau du client

135

136
Entit e Client A Client B Client C Client D Fournisseur Interface Ethernet IP/X25 Ethernet IP/X25 Ethernet IP/X25 Ethernet IP/X25 Ethernet IP/X25 Adresse IP de sous-r seaux e 192.168.22.33 192.168.200.2 192.168.23.50 192.168.200.3 192.168.24.91 192.168.200.4 192.168.25.72 192.168.200.5 192.168.100.1 192.168.200.1

` Raccordement a lInternet
Adresse X121

175111111 175111121 175111131 175111141 175111101

Tableau 3.4 Adresses IP des equipements

3.7.5 Mise en place du routage


De m me quavec les autres types de raccordements, le fournisseur se charge dannoncer, sur e lInternet, le r seau de classe B ou C du client par le protocole BGP-4. e ` A la diff rence du raccordement par ligne sp cialis e, il ny a pas dannonce de routage entre e e e le client et le fournisseur car cela n cessiterait d tablir un circuit virtuel m me si aucun trac e e e n tait demand , et un co t suppl mentaire et inutile serait ainsi imput au client. e e u e e Un r seau dinterconnexion unique pour tous les clients est utilis dans le cadre du raccordee e ment par Transpac. On retrouve ainsi le probl` me d crit section 3.5.5 page 114 lors de l tude e e e de la mise en uvre du routage pour une connexion RNIS avec routeur sp cialis , le lecteur e e est donc pri de sy r f rer. e ee

3.7.6 Commutateurs X25 et routeurs


` Le raccordement X25 peut sembler plus complexe a mettre en place que les autres types ` de raccordements a lInternet. Ce sont en fait, dans la grande majorit des cas, des soci t s e ee d j` connect es a Transpac pour dautres raisons et pas n cessairement pour le transport de ea e ` e ` datagrammes IP, qui sont amen es a se raccorder a lInternet par ce biais. Cela leur permet, e ` ` ` a moindre co t, d tablir une liaison avec un fournisseur : il ny a pas a souscrire de nouvel u e abonnement aupr` s de Transpac. Par contre, les equipements dont elles disposent, notamment e les commutateurs X25, ne sont pas syst matiquement dot s de la possibilit dencapsuler des e e e paquets IP sur les liaisons de ce type. Motorola, SAT, CISCO et bien dautres constructeurs proposent des equipements qui incluent ` la gestion des protocoles n cessaires a lencapsulation des datagrammes IP sur le r seau e e ` Transpac an de se connecter a un fournisseur Internet. Ces equipements disposent donc, en plus de leur interface X21bis/V28, dune interface de r seau local de type Ethernet ou autre. e

` Chapitre 3 Raccordement dun r seau local a lInternet e


Routeur CISCO 1003

137

Le routeur CISCO 1003 est un routeur dentr e de gamme qui dispose dune interface s rie e e synchrone permettant de connecter la ligne sp cialis e raccordant le site au centre Transpac e e le plus proche. Il sait encapsuler des datagrammes IP sur la couche X25 niveau 3. Nous avons d j` pr sent ea e e ses caract ristiques physiques sur les gures 3.22 page 117 et 3.23 page 118. e Examinons les particularit s de la conguration IP sur X25. Le lecteur est pri de se reporter e e ` section 3.3 page 73 pour une introduction a la conguration dun routeur CISCO. Conguration de linterface Ethernet ` A laide des commandes ip address et ip broadcast-address, congurons les param` tres li s a linterface Ethernet : e e `
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface Ethernet 0 Router(config-if)#description Interface sur le LAN Router(config-if)#ip address 192.168.22.33 255.255.255.224 Router(config-if)#ip broadcast-address 192.168.22.63 Router(config-if)#Z Router#

Conguration de la route par d faut e Pour congurer la route par d faut, on indique un r seau par d faut par la commande ip e e e default-network et une route statique vers ce r seau par la commande ip route. Le e r seau du fournisseur est donc choisi comme r seau par d faut. La route statique pointe vers e e e ladresse IP du routeur du fournisseur dans le r seau dinterconnexion : e
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip default-network 192.168.100.0 Router(config)#ip route 192.168.100.0 255.255.255.0 192.168.210.1 Router(config)#Z Router#

` Linterface X25 du routeur appartient a un r seau dinterconnexion dont font partie les ine terfaces X25 des equipements des autres clients. Il faut donc, si on veut pouvoir les joindre, ajouter une route pour le r seau dinterconnexion, passant par le fournisseur : e
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#ip route 192.168.210.0 255.255.255.0 192.168.210.1 Router(config)#Z Router#

138 Conguration des adresses de linterface s rie e

` Raccordement a lInternet

Congurons les param` tres li s a linterface s rie de la m me fa on quon a congur les e e ` e e c e adresses li es a linterface Ethernet. e ` Notamment, on d nit le d bit de linterface, 64 Kbits/s dans notre exemple : e e
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface serial 0 Router(config-if)#description Interface vers Transpac Router(config-if)#ip address 192.168.210.2 255.255.255.0 Router(config-if)#ip broadcast-address 192.168.210.255 Router(config-if)#bandwidth 64 Router(config-if)#Z Router#

Conguration du protocole dencapsulation Le protocole X25 est utilis sur la ligne s rie. Il va donc falloir lindiquer au routeur, ainsi e e que diff rents param` tres li s aux niveaux 2 (LAP-B) et 3 (X25 niveau r seau) du protocole. e e e e Il est de r` gle de modier le moins possible les param` tres niveau 2 pour en garder les valeurs e e par d faut, mais une modication des param` tres niveau 3 est souvent n cessaire. e e e Le tableau 3.5 regroupe les principaux param` tres X25 niveau 2 et le tableau 3.6 regroupe les e principaux param` tres X25 niveau 3. e
fonction adresse X121 d lai de retransmission e niveau 2 (en millisecondes) commande x25 address lapb T1 exemple dutilisation x25 address 175111111 lapb T1 150

` Tableau 3.5 Parametres X25 niveau 2

fonction taille de fen tre niveau 3 en entr e e e taille de fen tre niveau 3 en sortie e taille maximum dun paquet en entr e e taille maximum dun paquet en sortie

commande x25 win x25 wout x25 ips x25 ops

exemple dutilisation x25 win 7 x25 wout 7 x25 ips 512 x25 ops 512

` Tableau 3.6 Parametres X25 niveau 3

Les param` tres niveau 3, en loccurrence win, wout, ips et ops, doivent etre d nis en e e concordance avec la conguration du commutateur X25 du centre Transpac.

` Chapitre 3 Raccordement dun r seau local a lInternet e

139

De plus, on s lectionne le type dencapsulation sur cette interface avec la sous-commande e dinterface encapsulation :
Router#configure terminal Enter configuration commands, one per line. Router(config)#interface serial 0 Router(config-if)#encapsulation x25 Router(config-if)#x25 address 175111111 Router(config-if)#lapb T1 150 Router(config-if)#x25 win 7 Router(config-if)#x25 wout 7 Router(config-if)#x25 ips 512 Router(config-if)#x25 ops 512 Router(config-if)#Z Router# End with CNTL/Z.

Circuits virtuels Un routeur CISCO permet d tablir simultan ment jusqu` huit circuits virtuels. On d e e a e nit le nombre maximum de circuits ouverts simultan ment vers le fournisseur avec la souse commande dinterface x25 nvc. Par exemple, pour imposer une limite de deux CV simultan s, on congure l quipement comme suit : e e
Router#configure terminal Enter configuration commands, one per line. Router(config)#interface serial 0 Router(config-if)#x25 nvc 2 Router(config-if)#Z Router# End with CNTL/Z.

Les circuits virtuels sont automatiquement ferm s lorsquaucune donn e ne les traverse pene e dant un d lai d ni par la sous-commande x25 idle. Par exemple, pour fermer un circuit e e au terme de cinq minutes dinactivit , il faut congurer l quipement comme suit : e e
Router#configure terminal Enter configuration commands, one per line. Router(config)#interface serial 0 Router(config-if)#x25 idle 5 Router(config-if)#Z Router# End with CNTL/Z.

Sur la jonction avec Transpac, le commutateur de ce dernier joue le r le dETCD et le routeur o joue le r le dETTD. o ` On congure les plages de voies logiques, ou circuits virtuels, a laide dun ensemble de sous commandes de linterface s rie. Jusqu` 4095 voies peuvent etre utilis es simultan ment. En e a e e pratique, on devra nen utiliser quune partie, en fonction de labonnement choisi aupr` s de e Transpac. On distingue quatre plages de voies logiques : les circuits virtuels permanents,

140 les circuits virtuels entrants, etablis par lETCD, les circuits virtuels sortants, etablis par lETTD,

` Raccordement a lInternet

les circuits virtuels bidirectionnels, etablis par lETTD ou lETCD. Conform ment aux indications de Transpac, il faut, au moment de la mise en place du routeur e sur lacc` s X25, congurer les diff rentes plages de circuits virtuels an que notre mat riel e e e puisse les choisir correctement sans entraner de collision. Le tableau suivant indique les diff rentes sous-commandes de conguration disponibles, qui e doivent etre suivies dun num ro de voie logique : e
plage plus haut CV entrant plus bas CV entrant plus haut CV sortant plus bas CV sortant plus haut CV bidirectionnel plus bas CV bidirectionnel commande x25 hic x25 lic x25 hoc x25 loc x25 htc x25 ltc

Conguration du num ro dappel e On congure le num ro dappel avec la sous-commande dinterface x25 map qui permet e ` dassocier ladresse IP du routeur du fournisseur a son adresse X121. Par exemple, congu rons notre equipement pour quil contacte le routeur du fournisseur qui dispose de ladresse IP 192.168.210.1 dans le r seau dinterconnexion, et de ladresse X121 175111101 : e
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#interface serial 0 Router(config-if)#x25 map IP 192.168.210.1 175111101 ACCEPT-REVERSE Router(config-if)#Z Router#

Nous avons ici utilis le param` tre facultatif ACCEPT-REVERSE qui autorise notre routeur e e ` a accepter les appels du fournisseur, qui sont du type (( taxation au demand )). e

Activation du routage Nous activons le routage RIP pour permettre au routeur de joindre les diff rents brins Ethere net internes. Il ne faut evidemment pas faire dannonce sur linterface s rie, sous peine de e voir un circuit virtuel etabli en permanence. On congure donc le routage ainsi :

` Chapitre 3 Raccordement dun r seau local a lInternet e


Router(config)#router rip Router(config-router)#network 192.168.22.0 Router(config-router)#passive-interface serial 0 Router(config-router)#Z Router#

141

Conguration compl` te e Lannexe A.3 page 460 pr sente le chier de conguration dun routeur CISCO 1005 pour e un acc` s X25 sur Transpac. e

` DEUXIEME PARTIE

Services de base

Les services de base offerts par lInternet sont au nombre de trois : 1. le service de noms permet dattribuer des noms aux machines ; 2. la messagerie permet d changer e du courrier aux quatre coins du globe, en quelques secondes ; 3. les forums acheminent plus de cent mille articles chaque jour, parmi pr` s de dix mille groupes e dint r t. ee

4
Le Service de Noms
Avec le nombre croissant de machines sur lInternet, un syst` me dattribution de noms rene e dant les adresses IP transparentes a et mis en place an de simplier la vie des utilisateurs. e e e e Un plan dattribution de noms a et d ni et des protocoles adapt s ont et d velopp s. On e e lappelle DNS.

4.1 Historique
Le service DNS (Domain Name System) consiste en un annuaire gigantesque et distribu e e ` ` sur la plan` te. Il a et mis en place a lorigine pour associer des adresses IP a des noms de e e machine, mais de nombreuses extensions y ont et apport es et il est maintenant capable de e fournir de nombreuses autres informations. e ` De nombreux RFC ont et ecrits a propos du DNS. Ce sont les RFC 1034 et 1035 qui en pr cisent les fondements, autant au niveau des concepts que du protocole. e Le DNS repose sur trois composantes : un plan dattribution de noms, un protocole evolutif (bas sur des echanges UDP et TCP), e des serveurs qui coop` rent sur lInternet pour fournir un service ininterrompu. e ` A lorigine, lassociation entre les noms de machines et les adresses IP etait maintenue par le NIC (Network Information Center) dans le chier NETINFO:HOSTS.TXT de la machine SRI-NIC.ARPA dadresse 10.0.0.51. Il fallait r cup rer r guli` rement par FTP ce e e e e ` chier sur le compte ANONYMOUS et avec le mot de passe GUEST. Les mises a jour et ajouts

146

Services de base

` a ce chier etaient faites par courrier electronique (NIC@SRI-NIC) ou bien par contact t e l phonique ((415) 859-4775). e Evidemment, avec laccroissement du nombre de machines sur lInternet, cette proc dure est e rapidement devenue ing rable. En effet, le d bit consomm lors de la distribution dune noue e e velle version de la base par cette m thode est proportionnel au carr du nombre de machines e e pr sentes sur le r seau. M me une hi rarchisation de la proc dure naurait pu contenir le e e e e e trac ainsi g n r . e ee

4.2 Hi rarchie DNS e


4.2.1 Concepts de base
e e Pour mettre en place le DNS, une hi rarchie de domaines a et erig e. La racine de larbre e sappelle Point et s crit (( . )). Les domaines sous Point sappellent des TLD (Top Level Doe mains). Par exemple, fr est un TLD. Il est destin a un usage fran ais. Le nombre de TLD e` c est xe, tandis que des sous-domaines des TLD sont cr es a la demande par les diff rents ore ` e ganismes qui les g` rent. Par exemple, FeNETre.fr est un sous-domaine de fr. Un nombre e quelconque de niveaux darborescence peut etre cr e. La soci t Fen tre peut d cider de cr er e ee e e e un sous-domaine pour sa liale en Italie, Italy.FeNETre.fr, et un autre pour sa liale Allemande, Germany.FeNETre.fr. Ces domaines accueillent des noms de machines qui forment les nuds terminaux de larbre ainsi constitu . On utilise le terme (( nom de domaine )) autant pour parler dun domaine que e dun nud terminal, le terme anglais correspondant etant (( domain name )) qui peut signier ( nom de domaine ) ou ( nom dans le domaine ) . ( ) ( ) La gure 4.1 page suivante pr sente les domaines et sous-domaines de la soci t Fen tre. On e ee e peut y distinguer la machine GW dans le sous-domaine France du domaine fenetre.fr. Le RFC 952 d nit les r` gles auxquelles les chanes de caract` res utilis es dans cet arbre e e e e doivent se conformer : les caract` res admis sont les lettres de lalphabet (non accentu es), les chiffres et le e e caract` re tiret ((( - ))) ; e chaque nom de nud terminal, domaine ou sous-domaine, doit commencer par une lettre ; il ny a pas de distinction entre les majuscules et les minuscules ; la chane comprend au plus 63 caract` res. e Le RFC 1123 a lib ralis un certain nombre de pratiques hors normes qui etaient autoris es e e e par nombre dimpl mentations du protocole : e la chane peut maintenant commencer par un chiffre ; il est fortement conseill de supporter des noms jusqu` 256 caract` res. e a e

Chapitre 4 Le Service de Noms

147

FR

EDU

NET

fenetre

rideaux

France

Italy

Germany

GW

Figure 4.1

Hierarchie de domaines

Un nom de domaine complet doit se terminer par le signe (( . )) et sappelle alors un FQDN (Fully Qualied Domain Name). Par exemple, il peut sagir de (( www.fenetre.fr. )). Un nom de domaine relatif, par exemple www ou www.fenetre, est un nom de domaine incomplet qui ne doit alors pas se terminer par (( . )). Souvent, on oublie le (( . )) nal des FQDN pour all ger l criture mais il est obligatoire dans les chiers de conguration des serveurs e e DNS.

4.2.2 Les TLD : Top Level Domain


Les principaux TLD sont d crits dans le tableau 4.1 page suivante. Il en existe trois types : e ` ` les TLD a usage ouvert a tous, les TLD r serv s pour les Etats-Unis, e e les TLD repr sentant les pays. e

4.2.3 Le domaine in-addr.arpa


Le principe du DNS est dassocier des donn es a chaque nud de larbre quon vient d tue ` e dier. Par exemple, ladresse 192.168.22.65 va pouvoir etre associ e au routeur d sign e e e par le nud terminal gw du sous-domaine France.fenetre.fr. Mais si on veut pouvoir

148
Utilisateur Pas de restriction TLD COM EDU NET ORG INT GOV MIL FR US ARPA

Services de base
Usage courant Entit s commerciales e Universit s, ecoles diverses e Fournisseurs Internet Organisations quelconques Organisations internationales Agences gouvernementales am ricaines e Arm e am ricaine e e France USA Ce TLD accueille in-addr.arpa, pour la gestion des zones inverses

USA Pays divers R seau ARPA e

Tableau 4.1 Les differents TLD

` ` a linverse associer le nom de machine gw a ladresse IP 192.168.22.65, il faut pouvoir placer cette derni` re dans notre arbre. e e e Pour cela, le domaine in-addr.arpa a et r serv . Les adresses IP sont d coup es en e e e quatre octets et ces derniers sont consid r s comme des noms de domaines. Le principe dun ee e arbre etant de rapprocher de la racine les el ments les plus importants, on place les octets de poids fort en haut de larbre, comme on peut le constater sur la gure 4.2 page suivante. ` A partir de ce principe, les serveurs et protocoles en jeu dans le DNS vont pouvoir traiter les adresses IP de la m me fa on que les noms de domaine. Cest aux administrateurs de v rier e c e que le nom associ a une adresse IP de larbre et que ladresse IP associ e au m me nom e` e e concident.

4.3 Transferts de zones


Une m me machine ne peut h berger quun serveur DNS pour toutes les op rations li es aux e e e e ` protocoles associ s. Ce serveur va interroger ses homologues et r pondre a des requ tes. Pour e e e optimiser lutilisation du d bit disponible et les d lais, les serveurs poss` dent un cache qui e e e m morise les r ponses re ues. e e c Les domaines et sous-domaines sont d coup s en zones. Il en existe deux types : e e les zones directes (direct zones) qui permettent principalement dassocier des num ros e ` IP a des noms de machines ; les zones inverses (reverse zones) qui se situent sous in-addr.arpa et qui per` mettent notamment dassocier des noms de machines a des adresses IP. Les informations caract risant une zone, par exemple les adresses IP des noms des machines e qui en font partie, sont regroup es dans un chier unique appel (( chier de zone )). Diff rents e e e

Chapitre 4 Le Service de Noms

149

FR

EDU

ARPA

fenetre

rideaux

in-addr

France

Italy

Germany

192

GW

167

168

169

22

65

66

67

Figure 4.2

Hierarchie sous in-addr.arpa

` serveurs vont entrer en jeu pour maintenir a jour ce chier et distribuer son contenu, on les appelle des serveurs qui font autorit (authoritative servers) et on dit que les r ponses quils e e ` fournissent a propos de la zone quils maintiennent font autorit (authoritative answers). e Cette redondance de serveurs pour une m me zone est n cessaire car un r seau connect a e e e e` lInternet est virtuellement injoignable si aucun des serveurs DNS g rant les zones auxquelles e ses machines appartiennent nest accessible. Le premier mod` le de gestion dune zone, d ni dans le RFC 1034, repose sur deux types de e e serveurs : ` le serveur primaire de la zone (primary server), sur lequel le chier de zone est mis a jour par ladministrateur de la zone ; le ou les serveurs secondaires de la zone (secondary servers), qui vont r guli` rement e e rapatrier le chier de zone depuis le serveur primaire. Le RFC 1996, addendum au RFC 1034, d nit un mod` le plus complexe, qui permet de e e hi rarchiser la distribution des chiers de zones. On d nit pour cela quatre types de serveurs e e DNS : les serveurs esclaves (slave servers), qui font autorit et qui utilisent des transferts de e zone pour r cup rer le chier correspondant ; e e

150

Services de base

les serveurs matres (master servers), qui font autorit et qui acceptent les requ tes de e e transfert de zone depuis des serveurs esclaves ; le serveur matre primaire (primary master), qui fait evidemment autorit et qui est la e racine du graphe de d pendance de larbre ; e ` les serveurs furtifs (stealth servers), qui sont identiques aux serveurs esclaves mis a part quils ne sont pas r f renc s dans la liste des serveurs maintenant la zone, liste ee e denregistrements de type NS que nous etudierons par la suite. Pour ajouter un niveau dans larbre, il suft de mettre en place un serveur esclave, an quil ` rapatrie le chier de zone, et matre a la fois pour quil puisse fournir ces informations a ` dautres esclaves. Bien s r, il faut eviter les boucles dans le graphe de d pendances. u e Les serveurs esclaves, matres et furtifs sont les secondaires de la zone. Ces r les d pendent dune zone, un m me serveur peut donc avoir diff rents comportements o e e e distincts sil g` re plusieurs zones et etre ainsi secondaire de la zone fenetre.fr et matre e primaire de la zone rideaux.fr, par exemple. La gure 4.3 pr sente un exemple de graphe de d pendances pour une m me zone g r e par e e e ee cinq serveurs : un primaire et quatre secondaires.
Matre primaire (Primary Master)

Esclave (Slave)

Esclave (Slave) Matre (Master)

Esclave (Slave)

Esclave (Slave)

Figure 4.3

Transferts de zones

Notons que les serveurs utilisent g n ralement TCP pour les transferts de zones et UDP pour e e ` les autres op rations, m me si TCP et UDP peuvent etre utilis s indiff remment, a la nuance e e e e pr` s que la taille maximale des paquets UDP emp che le transfert de zones importantes. e e

4.4 Recherche r cursive e


e En plus de ces r les li s aux zones pour r pondre aux requ tes sur les el ments qui y sont o e e e ` contenus, les serveurs DNS savent interroger leurs homologues pour rechercher a travers le labyrinthe des serveurs celui qui contient linformation pertinente.

Chapitre 4 Le Service de Noms

151

Par exemple, lorsquun navigateur World Wide Web d sire afcher le document contenu e ` a lURL http://gw.France.fenetre.fr/index.html, il doit alors se connecter sur la machine gw.France.fenetre.fr qui h berge un serveur WWW. Il doit pour e cela d couvrir son adresse. Il va donc interroger un serveur DNS local sil en existe un, ou e un serveur DNS chez le fournisseur Internet, et charger ce dernier de d couvrir ladresse e IP de gw.France.fenetre.fr. La requ te fournie par le navigateur poss` de le bit de e e r cursivit , bit indiquant au serveur quil doit effectuer une recherche r cursive. e e e ` Le principe de la recherche r cursive est simple : le serveur va tour a tour retransmettre cette e ` requ te aux serveurs g rant les sous-domaines correspondant a gw.France.fenetre.fr, e e sans positionner le bit de r cursivit . Il va pour cela suivre les etapes que voici, et quon peut e e retrouver sur la gure 4.4 page suivante : il interroge son cache pour connatre les adresses IP des serveurs de la racine, cest ` e e a-dire les serveurs g rant (( Point )). Ces serveurs sont indiqu s dans un chier appel e chier de cache, dont le contenu est charg dans le cache au d marrage du serveur ; e e ` il demande ladresse IP de gw.France.fenetre.fr a un serveur de la racine pris au hasard. Ce dernier, qui ne connat que les donn es de la zone racine r pond par les e e adresses IP des serveurs g rant fr ; e il interroge un des serveurs g rant fr. Celui-ci r pond par les adresses IP des serveurs e e g rant la zone fenetre.fr ; e il interroge un des serveurs g rant fenetre.fr. Celui-ci r pond par les adresses IP e e des serveurs g rant la zone France.fenetre.fr ; e il interroge un des serveurs g rant France.fenetre.fr. Celui-ci renvoie ladresse e IP de gw.France.fenetre.fr ; notre serveur renvoie enn au navigateur la valeur correspondante.

4.5 Serveurs de type forwarder


` A un serveur DNS susceptible de recevoir des requ tes r cursives, on peut associer une liste e e de forwarders. Il sagit dun ou plusieurs serveurs auxquels il devra syst matiquement ree transmettre les requ tes, sans lui-m me faire de recherche r cursive. Si les forwarders ne e e e fournissent pas de r ponse satisfaisante, le serveur initial va alors entamer une phase de r e e cursivit , comme on peut le constater sur la gure 4.5 page suivante. e ` Ce type de comportement est parfois utilis lors dun raccordement a faible d bit avec le e e fournisseur Internet. On met alors en place un serveur DNS local. Sil ne poss` de pas de e clause forwarders et si une des machines de ce site d sire interroger le serveur WWW e gw.France.fenetre.fr, quatre requ tes, donc huit paquets UDP, vont traverser la ligne e de transmission bas d bit, souvent accompagn e dune latence importante. Si on positionne e e un forwarder chez le fournisseur, seuls deux paquets vont traverser la ligne de transmission. On divise ainsi par quatre le temps de latence.

152

Services de base

FR

EDU

NET

fenetre

rideaux

in.named

France

Italy

Germany

GW.France.fenetre.fr ?
GW

Figure 4.4

Recherche r ecursive

Recherche rcursive

A in.named

Re ch er ch er c ur siv e

B in.named forwarder: A

En cas dchec : recherche rcursive possible

Figure 4.5

Serveur de type forwarder

On a dit quun serveur DNS muni dune liste de forwarders est susceptible de faire une recherche r cursive en dernier recours. On peut emp cher ce comportement en pla ant le e e c serveur en mode esclave, comme on peut le constater sur la gure 4.6 page suivante. Notons bien que le comportement li aux forwarders et au mode esclave est ind pendant e e des r les eventuellement jou s par le serveur vis-` -vis de zones, tels que les r les de serveur o e a o primaire ou secondaire.

Chapitre 4 Le Service de Noms


Recherche rcursive

153

A in.named

B in.named forwarder: A

Forwarder et mode esclave En cas dchec : pas de recherche rcursive

Figure 4.6

Forwarders et mode esclave

4.6 Conguration des clients DNS


Un client DNS, que ce soit un poste de travail sous Windows ou une machine Unix, a besoin de connatre au moins un serveur DNS local ou chez le fournisseur an de r soudre les noms e de machines en adresses IP et r ciproquement. De plus, lorsque lutilisateur d signe une e e ` machine de son propre domaine, il ne fournit pas a son application un FQDN mais un nom ` relatif a son propre domaine. Par exemple, sur la machine PC1.fenetre.fr, un utilisateur peut vouloir se connecter au serveur WWW de FeNETre et sp cier pour cela www plut t e o ` que www.fenetre.fr. Il faut donc indiquer a chaque poste client le nom de domaine (fenetre.fr dans notre exemple) permettant eventuellement de compl ter les noms de e machines. Examinons comment mettre en place ces deux informations sur diff rents types de syst` mes e e dexploitation.

4.6.1 Macintosh
Sur Macintosh, il faut indiquer ladresse IP dun serveur DNS et le domaine local dans MacTCP, comme on peut le constater sur la gure 2.18 page 57 dans laquelle le nom de domaine est societe.fr et ladresse IP est 192.168.22.35.

4.6.2 PC - Chameleon
Avec Chameleon sur PC, il faut indiquer le nom du poste, le nom de domaine et ladresse dun serveur DNS acceptant les requ tes r cursives avec longlet [Setup/Conguration/IP e e

154 Conguration], comme on peut lobserver sur la gure 4.7.

Services de base

Figure 4.7

Conguration du DNS avec Chameleon

4.6.3 Unix
` Unix utilise d j` un syst` me de transmission dinformations de ce type a travers le r seau ea e e local, il sagit des NIS (Network Information Services). Il faut donc ajouter les informations provenant du DNS dans ce processus de diffusion dinformations locales. Deux chiers de conguration doivent ainsi etre adapt s : e /etc/resolv.conf /etc/nsswitch.conf Le chier /etc/resolv.conf indique le domaine local par une primitive domain et les adresses IP des serveurs de noms par des primitives nameserver :
<ls@gw.France.fenetre.fr> cat /etc/resolv.conf domain France.fenetre.fr nameserver 192.168.22.35 <ls@gw.France.fenetre.fr>

Le chier /etc/nsswitch.conf indique la politique dinterrogation des NIS, du DNS et du chier /etc/hosts. On indique sur la ligne commen ant par hosts: lordre des inc terrogations. Par exemple, pour interroger les NIS, puis le DNS et enn le contenu du chier

Chapitre 4 Le Service de Noms


/etc/hosts, on utilise la ligne de conguration suivante :
hosts: nis [NOTFOUND=continue] dns [NOTFOUND=continue] files

155

On peut aussi demander au serveur NIS dinterroger lui-m me le d mon in.named qui g` re e e e le service DNS. Pour cela, on passe loption -B au d mon NIS rpc.nisd et on se contente e de la ligne de conguration suivante sur les postes client :
hosts: nis [NOTFOUND=continue] files

Cest la biblioth` que libresol.fso,ag, avec laquelle une edition de liens statique ou e dynamique est r alis e avec les logiciels r seau, qui se charge de lire les chiers de congue e e ration /etc/nsswitch.conf et /etc/resolv.conf a chaque interrogation, et def` ` fectuer les requ tes, comme on peut le constater sur la gure 4.8. Il ny a donc aucun d mon a e e ` ` relancer ni a red marrer la machine quand on apporte une modication a lun de ces chiers. e

UNIX PROCESSUS libresolv.so

/etc/nsswitch.conf

N.I.S

/etc/resolv.conf

serveur N.I.S

in.named

Figure 4.8

Flux de donn entre un client et un serveur DNS ees

4.7 Zones et domaines


Distinguons pr cis ment les domaines des zones dont nous avons jusqu` maintenant parl . e e a e

156

Services de base

Un domaine est un nud de larbre dattribution de noms. Une zone est une entit adminise ` trative qui peut englober un ou plusieurs domaines. A chaque zone est associ un chier de e zone, et un certain nombre de serveurs qui coop` rent pour distribuer les informations qui y e sont incluses. Reprenons notre exemple de la soci t fen tre et de ses multiples liales, dont notamment ee e celles etablies en France et en Italie. Les diff rents domaines en jeu sont alors fenetre.fr, France.fenetre.fr ainsi que e Italy.fenetre.fr. On peut les rassembler au sein dune m me zone fenetre.fr ou de trois zones dise tinctes, France.fenetre.fr, Italy.Fenetre.fr et fenetre.fr, comme on peut le constater sur la gure 4.9.

FR

EDU

NET

FR

EDU

NET

fenetre

rideaux

fenetre

rideaux

France

Italy

Germany

France

Italy

Germany

GW

GW

Figure 4.9

Differents decoupages de domaines en zones

On pourrait aussi imaginer cr er une zone fenetre.fr contenant fenetre.fr ainsi que e France.fenetre.fr, et une autre zone contenant uniquement Italy.fenetre.fr.

4.8 Types denregistrements


` On a dit jusquici quon peut associer une adresse IP a un nud de larbre, ou un nom de domaine sil sagit dun nud terminal situ sous in-addr.arpa. e Il existe de nombreux autres enregistrements possibles, quon appelle RR (resource records).

Chapitre 4 Le Service de Noms

157

Une syntaxe particuli` re est associ e a chacun deux, syntaxe qui comprend trois parties : e e ` La partie gauche de lenregistrement indique son possesseur. Il sagit du nud de larbre auquel sapplique cet enregistrement. La partie centrale indique une dur e de vie, la classe et le type denregistrement. La e dur e de vie (TTL, Time To Live) est celle de linformation dans les caches. Elle est e souvent omise car lenregistrement SOA en fournit une valeur par d faut. La classe e identie la famille de protocoles, il sagit de IN pour lInternet, CH pour le r seau e Chaos, etc. Par la suite, on utilisera uniquement la classe IN. La partie droite indique la valeur de lenregistrement. Elle peut comporter plusieurs champs.

4.8.1 Enregistrements de type SOA


Le SOA est lenregistrement le plus important dune zone. Il est unique et comprend de nombreux champs. En voici un exemple :
@ IN SOA ns.fenetre.fr. ls.fenetre.fr. ( 1996120101 ;Serial 28800 ;Refresh (8 heures) 7200 ;Retry (2 heures) 604800 ;Expire (7 jours) 86400 ) ;Minimum (1 jour)

Voici la signication de ses champs (les mesures de temps sont exprim es en secondes) : e le caract` re (( @ )) indique que le possesseur de lenregistrement est la zone elle-m me ; e e le champ IN SOA indique que cet enregistrement est du type SOA dans le domaine Internet ; le champ ns.fenetre.fr est le nom du matre primaire ; le champ ls.fenetre.fr indique que le responsable de la zone poss` de ladresse e electronique ls@fenetre.fr ; le champ Serial indique un num ro de s rie, souvent fabriqu par ladministrateur e e e ` ` syst` me a partir de la date a laquelle il fait les modications. Quand un secondaire e d sire rapatrier un chier de zone, il consulte lenregistrement SOA du primaire, et si e e le champ Serial a et incr ment , il rapatrie la zone par une requ te de type AXFR ; e e e certains serveurs utilisent des requ tes de type IXFR pour effectuer un rapatriement e incr mental de la zone, comme d crit dans le RFC 1996 ; e e ` le champ Refresh indique la fr quence a laquelle un secondaire examine le SOA du e primaire pour savoir si un transfert de zone est n cessaire ; e ` le champ Retry indique la fr quence a laquelle un secondaire interroge un primaire e apr` s un premier echec ; e

158

Services de base

le champ Expire indique le d lai au terme duquel un serveur secondaire d cide dine e valider une zone dont le primaire est inaccessible ; le champ Minimum indique la dur e de vie par d faut associ e aux diff rents enregise e e e trements de la zone. Le tableau suivant indique les valeurs recommand es pour ces param` tres par le RFC 1537 : e e
Type de zone Refresh Retry Expire Minimum TTL TLD 24 heures 2 heures 30 jours 4 jours Domaine quelconque 8 heures 2 heures 7 jours 1 jour

4.8.2 Enregistrement de type A


` Lenregistrement de type A permet dassocier une adresse IP a un nom de machine ou de domaine. Par exemple, si le routeur gw.fenetre.fr poss` de une interface de type Ethernet et e dadresse 192.168.22.35, ainsi quune interface PPP dadresse 192.168.200.2, on lui associe les deux enregistrements A qui suivent, dans la zone fenetre.fr :
gw gw-ppp IN A IN A 192.168.22.35 192.168.200.2

4.8.3 Enregistrement de type PTR


Cet enregistrement se trouve le plus souvent dans les zones inverses et associe alors un nom ` de machine a un num ro IP. Par exemple, la zone inverse 200.168.192.in-addr.arpa e contient :
35 IN PTR gw.fenetre.fr.

4.8.4 Enregistrement de type CNAME


Ce type denregistrement permet de d nir des alias appel s CNAME (Common Name). e e On utilise souvent ce type denregistrement pour cr er le nom dun serveur WWW. Par e exemple, supposons que le serveur WWW de la soci t Fen tre soit h berg sur la maee e e e chine gw.fenetre.fr. Il suft pour d clarer le serveur WWW de cr er dans la zone e e

Chapitre 4 Le Service de Noms


fenetre.fr lenregistrement suivant :
www IN CNAME gw.fenetre.fr.

159

Cest plus souple que de changer le nom gw.fenetre.fr en www.fenetre.fr, notam` ment si on est amen a migrer le serveur WWW a lavenir. e` Une r` gle importante indique que le nom dans la partie droite dun CNAME ne doit pas etre e ` a gauche dun CNAME dans un autre enregistrement. Il faut donc sabstenir de chaner les CNAME.

4.8.5 Enregistrement de type NS et mise en place dune d l gation ee


Ce type denregistrement permet de pr ciser la liste des serveurs DNS. On lutilise pour e donner la liste des serveurs primaire et/ou secondaires de la zone courante, ainsi que pour ` d l guer des sous-domaines a dautres serveurs. ee Par exemple, la zone fenetre.fr, qui poss` de un serveur primaire sur le r seau de la e e soci t fen tre et un serveur secondaire chez le fournisseur Internet, contient les enregistreee e ments suivants :
@ IN NS IN NS ns.fenetre.fr. ns.fournisseur.fr.

On remarque ici que la partie gauche dun enregistrement na pas besoin d tre r p t e. Par e e ee d faut, cest la derni` re partie gauche pr sente qui sapplique. e e e fenetre.fr poss` de un sous-domaine Italy.fenetre.fr qui est g r directement e ee par la liale italienne et par son fournisseur sur les machines ns.Italy.fenetre.fr et ns.fournisseur-italien.it. La zone fenetre.fr contient donc aussi :
Italy IN NS IN NS ns.Italy.fenetre.fr. ns.fournisseur-italien.it.

Ajouter ce type denregistrement sappelle mettre en place une d l gation. Le domaine ee Italy.fenetre.fr est ici d l gu a la liale italienne. ee e` ` Il manque n anmoins une information n cessaire dans la zone fenetre.fr, suite a cette e e d l gation : il sagit de ladresse IP de ns.Italy.fenetre.fr. En effet, lors dune reee cherche r cursive, un serveur DNS qui d sire connatre par exemple ladresse IP de la mae e chine lasagnes.Italy.fenetre.fr va interroger un des serveurs faisant autorit pour e Italy.fenetre.fr : ns.fournisseur.fr ou ns.fenetre.fr. Celui-ci va renvoyer les noms des serveurs qui font autorit pour la zone Italy.fenetre.fr. Le DNS e qui fait cette recherche r cursive va donc alors en choisir un au hasard, an de linterroger ; il e

160

Services de base

pourra donc sagir de ns.Italy.fenetre.fr. Mais avant de pouvoir linterroger, il faut connatre son adresse IP, cest-` -dire faire une recherche r cursive, et on tombe alors dans a e une boucle, car ns.Italy.fenetre.fr est dans le domaine de Italy.fenetre.fr tout comme lasagnes.Italy.fenetre.fr. ` La solution consiste a congurer ns.fenetre.fr convenablement pour quil indique ` ladresse IP du serveur ns.Italy.fenetre.fr lorsquon linterroge a propos de la machine lasagnes.Italy.fenetre.fr. ` On doit donc ajouter a la zone fenetre.fr un enregistrement de type A quon appelle glue :
ns.Italy.fenetre.fr. IN A 192.168.210.15

ATTENTION Une erreur trop souvent commise par les administrateurs de DNS est dajouter des enregistrements de glue dans des cas de gure o` cela nest pas n cessaire. u e Cette redondance dinformations peut cr er de graves probl` mes lors de modications ult e e e rieures des adresses IP correspondantes. Par exemple, il ne faut pas ajouter ladresse IP du serveur du fournisseur italien : ; enregistrement inutile et nuisible : ns.fournisseur-italien.it. IN A 192.168.211.2 En effet, si le fournisseur italien renum rote ses machines, la zone fenetre.fr devient e alors incorrecte.

4.8.6 Enregistrement de type MX


Acheminement du courrier Les enregistrements de type MX permettent dacheminer le courrier en indiquant des echangeurs de mail. Ils fournissent un nom de passerelle SMTP ainsi quun poids qui permet de classer les r e ponses. Par exemple, la soci t Fen tre dispose dun serveur SMTP de nom mail.fenetre.fr. ee e La zone fenetre.fr contient donc lenregistrement suivant :
@ IN MX 10 mail.fenetre.fr.

` Lorsquun courrier destin a un nom de machine ou de domaine particulier est fourni a une e`

Chapitre 4 Le Service de Noms

161

` passerelle SMTP, celle-ci utilise le DNS pour d terminer a quelle autre passerelle le transe mettre. Prenons pour exemple ladresse email suivante : ls@host.fenetre.fr. La passerelle effectue les etapes suivantes dans lordre, jusqu` obtenir une r ponse favorable a e du DNS : recherche denregistrements de type MX pour host.fenetre.fr, recherche denregistrements de type A pour host.fenetre.fr. Sil existe des enregistrements de type MX, elle en choisit un parmi ceux de poids le plus ` faible, et livre le courrier a la machine portant le nom correspondant. ` Sinon, sil existe des enregistrements de type A, elle en choisit un et livre le message a la machine portant ladresse correspondante. ` Si aucun enregistrement nexiste, la passerelle SMTP met le courrier de c t et essaie a nouoe veau par la suite. Au bout dun certain nombre dessais infructueux, elle envoie un message pour avertir son auteur du d lai, et encore un peu plus tard elle efface le courrier en pr venant e e ` a nouveau son auteur.

Traitement particulier des enregistrements de type MX Le DNS poss` de des comportements particuliers quant aux MX. e ` Tout dabord, le DNS associe a un nom poss dant un CNAME les MX de la partie droite du e CNAME. Ainsi, le courrier envoy a destination de XYZ est livr aux echangeurs de mail e` e dUVW si XYZ est un CNAME pour UVW. Dautre part, on peut congurer le DNS avec des enregistrements dun type particulier, ap` pel s wildcard MX records. Un MX de ce type correspond pour la zone fenetre.fr a un e enregistrement de cette forme :
* IN MX 100 mail.fenetre.fr.

` Il permet dindiquer au DNS de g n rer un MX par d faut de poids 100 a destination de e e e e mail.fenetre.fr pour toute interrogation de type MX sur un el ment faisant partie de la zone fenetre.fr et ne comportant aucun autre enregistrement. ` Ainsi, un courrier a destination de user@ca-n-existe-pas.fenetre.fr va etre achemin vers mail.fenetre.fr. e Rappelons-nous maintenant que la zone fenetre.fr contient lenregistrement :
gw IN A 192.168.22.35

162

Services de base

` Un courrier a destination de user@gw.fenetre.fr ne sera donc pas livr au serveur e ` SMTP mail.fenetre.fr mais a gw.fenetre.fr car aucun MX, m me de type wilde card, nest rattach a gw. En effet ce nom poss` de d j` au moins un enregistrement, le MX e` e ea wildcard ne sapplique donc pas.

Mise en place des enregistrements de type MX Deux politiques dacheminement des courriers sont g n ralement utilis es, en fonction du e e e type de raccordement avec le fournisseur : raccordement permanent ou intermittent. ` Dans le cadre dun raccordement permanent a lInternet, on met en place les MX suivants : un MX de poids faible pour le domaine, vers la passerelle SMTP interne, pour achemi` ner les messages a destination dadresses du type user@fenetre.fr ; un MX de poids plus important pour le domaine, vers une passerelle SMTP chez le ` fournisseur pour acheminer correctement les messages a destination dadresses du type user@fenetre.fr, lorsque la passerelle interne est en panne ; un MX wildcard de poids faible pour le domaine, vers la passerelle SMTP interne, pour ` acheminer les messages a destination dadresses du type user@xyz.fenetre.fr o` xyz nexiste pas ; u un MX wildcard de poids important pour le domaine, vers une passerelle SMTP chez ` le fournisseur, pour acheminer correctement les messages a destination dadresses du type user@xyz.fenetre.fr o` xyz nexiste pas, lorsque la passerelle interne est u en panne ; un MX de poids faible, pour chacun des noms contenus dans la zone, vers la passerelle SMTP interne ; un MX de poids plus important, pour chacun des noms contenus dans la zone, vers une passerelle SMTP chez le fournisseur. Ainsi, la zone fenetre.fr contient les MX suivants :
@ * gw IN IN IN IN IN IN MX MX MX MX MX MX 10 100 10 100 10 100 mail.fenetre.fr. mail.fournisseur.fr. mail.fenetre.fr. mail.fournisseur.fr. mail.fenetre.fr. mail.fournisseur.fr.

La gure 4.10 page ci-contre pr sente un exemple dacheminement dun courrier dans le e ` cadre dune connexion permanente a lInternet. Si le r seau local est connect au fournisseur de fa on intermittente, il ne faut pas faire pointer e e c de MX vers la passerelle SMTP locale car elle nest pas connect e en permanence et de e nombreux messages seraient ainsi refus s. e

Chapitre 4 Le Service de Noms

163

ZONE fenetre.fr fenetre.fr.IN MX 100 mail.fournisseur.fr. . IN MX 10 mail.fenetre.fr.

mail.fournisseur.fr Echangeur de mail


S P MT

Echangeur de mail

mail.fenetre.fr Echangeur de mail

SMTP

To: user@fenetre.fr
Figure 4.10 Echangeurs de mail

` On dirige alors les MX uniquement vers le fournisseur, a charge pour ce dernier de mettre en place une proc dure automatique pour envoyer les mails stock s chez lui lorsque le r seau e e e local se retrouve connect . e

Indication Il est fortement conseill de ne pas mettre de champ MX pour des sous-domaines dans le e chier de zone du domaine en question. Cest-` -dire que dans le chier de zone de fenetre.fr, on ne doit pas enregistrer de MX a pour Italy.fenetre.fr. Les MX pour ce dernier domaine doivent etre positionn s dans la zone e ` Italy.fenetre.fr elle-m me. En effet, ladministrateur dun domaine na pas a e ` contr ler lacheminement des messages a destination des sous-domaines dont il a d l gu la o ee e gestion.

4.8.7 Enregistrement de type TXT


` Ce type denregistrement permet dassocier un texte quelconque a son possesseur. Par exemple :
gw IN TXT "Machine appartenant a Luc Stoned"

164

Services de base

4.8.8 Enregistrement de type HINFO


Ce type denregistrement indique la nature de la carte processeur et le syst` me dexploitation e de la machine vis e. e Par exemple :
gw IN HINFO SUN-IPC Solaris-2.5

4.8.9 Enregistrement de type GPOS


Ce type denregistrement exp rimental, d crit dans le RFC 1712, permet de localiser une mae e chine de fa on g ographique. Il en indique les latitude (degr s), longitude (degr s) et altitude c e e e (m` tres). e Par exemple :
gw IN GPOS -32.6882 116.8652 10.0

4.8.10 Enregistrement de type X25


Ce type denregistrement exp rimental, d crit dans le RFC 1183, permet dassocier une e e ` adresse X.121 a une machine. Par exemple :
gw IN X25 311061700956

4.8.11 Enregistrement de type ISDN


Ce type denregistrement exp rimental, d crit au sein du RFC 1183, permet dassocier un nue e ` m ro de t l phone RNIS a une machine. Une sous-adresse peut etre eventuellement fournie. e ee Par exemple, le num ro 150862028003217 et la sous-adresse 004 sont associ s a la machine e e ` gw :
gw IN ISDN 150862028003217 004

Chapitre 4 Le Service de Noms

165

4.8.12 Autres types denregistrements


e e De nombreux autres types denregistrements ont et d nis. Ils sont pour la plupart consid r s ee comme exp rimentaux et sont rarement impl ment s ni utilis s. Il sagit notamment de : e e e e WKS (Well Known Services) : indication des services fournis par une machine ; RP (Responsible Person) : personne responsable de l quipement ou du domaine ; e NULL : enregistrement sans contenu.

4.8.13 Nom de r seau, masque de sous-r seaux, adresse r seau, nom e e e dorganisation
Il est possible dutiliser le DNS pour indiquer des noms de r seaux, des masques de souse r seaux, des adresses de r seaux et associer au nom dune organisation lensemble des r e e e seaux dont elle a obtenu la d l gation. On utilise pour cela les enregistrements de type A et ee PTR de mani` re inhabituelle, comme le d crit le RFC 1101. e e Nom de r seau e ` Pour associer un nom de r seau a une adresse r seau, on utilise un enregistrement de type A. e e Par exemple, pour donner le nom ls-net.fenetre.fr au r seau de classe C dadresse e 192.168.22.0, on ajoute dans la zone 22.168.192.in-addr.arpa lenregistrement suivant :
0.22.168.192.in-addr.arpa. IN PTR ls-net.fenetre.fr.

Masque de sous-r seaux e Ce r seau poss` de un masque de sous-r seaux de valeur 255.255.255.224. On lindique e e e avec un enregistrement de type A, toujours dans la zone inverse :
0.22.168.192.in-addr.arpa. IN A 255.255.255.224

Adresse r seau e ` Pour associer une adresse r seau a un nom de r seau, il faut utiliser un enregistrement de type e e ` PTR dans la zone directe a laquelle appartient le nom de r seau en question. Par exemple, au e nom de r seau ls-net.fenetre.fr correspond le r seau de classe C 192.168.22.0. e e

166 On d nit pour cela lenregistrement suivant : e


ls-net.fenetre.fr. IN PTR 0.22.168.192.in-addr.arpa.

Services de base

Nom dorganisation ` e ee e Pour associer diff rents r seaux au nom de lorganisation a laquelle ils ont et d l gu s, on e e utilise des enregistrements de type PTR dont le possesseur est le nom du domaine de lorganisation. Par exemple, si la soci t Fen tre utilise le r seau de classe C 192.168.22.0 ee e e et le r seau de classe B 172.16.0.0, elle d nit lenregistrement suivant dans la zone e e fenetre.fr :
fenetre.fr. IN PTR IN PTR 0.22.168.192.in-addr.arpa. 0.0.16.172.in-addr.arpa.

4.9 Le serveur BIND


Le serveur BIND (Berkeley Internet Name Domain Server) de luniversit de Berkeley, dont e e une partie importante a et ecrite par Paul V IXIE, constitue la r f rence parmi les serveurs ee DNS.

4.9.1 Contenu de la distribution


La plupart des Unix commerciaux sont fournis avec un serveur DNS. Il sagit tr` s souvent de e ladaptation dune version de BIND. Lutilisateur a le choix dutiliser la version fournie avec ` le syst` me ou de r cup rer la derni` re mise a jour de ce logiciel quon peut utiliser librement. e e e e ` Aujourdhui, on trouve la version stable 4.9.4 par exemple a lURL suivant : ftp://ftp.vix.com/pub/bind/release/4.9.4/bind-4.9.4-REL.tar.gz ` Une pr -version 4.9.5 est aussi disponible a lURL suivant : e ftp://ftp.vix.com/pub/bind/testing/bind-4.9.5-T3B.tar.gz e e BIND consiste en un d mon named 1 et une biblioth` que nomm e resolver. e Le d mon permet de servir les requ tes DNS et la biblioth` que est utilis e pour compiler des e e e e applications qui ont besoin de faire appel aux services DNS en tant que clients. BIND peut etre utilis pour g rer un nombre quelconque de zones en jouant le r le de primaire e e o ou de secondaire. Il peut aussi jouer le r le de forwarder pour retransmettre des requ tes. o e
1. named est aussi parfois nomm in.named e

Chapitre 4 Le Service de Noms

167

Dans tous les cas, il utilise un cache en m moire pour r duire le nombre de requ tes, le d bit e e e e utilis et les temps de latence. Lorsquil ne fait autorit pour aucune zone, on dit alors quil e e est de type (( cache only )). On parle ainsi de (( caching only server )). La distribution de BIND contient diff rents programmes : e on trouve un ensemble de programmes permettant le bon fonctionnement et ladministration du service de noms : named : il sagit du d mon ; e named-xfer : cet utilitaire appel directement par named permet deffectuer e les transferts de zones ; ` named.reload : cette commande permet de forcer named a relire les chiers ` de conguration et a recharger les chiers des zones pour lesquelles il est secondaire, si les serial ont chang . Il utilise pour cela le signal SIGHUP ; e named.restart : cette commande permet de d truire le d mon named par e e l mission dun signal SIGKILL et den red marrer un nouveau ; e e ` ndc : cet utilitaire permet denvoyer des signaux divers a named an de lui faire effectuer diff rentes op rations. Les commandes permises sont les suivantes : e e status : afche l tat du serveur ; e ` dumpdb : force named a ecrire le contenu de sa base de donn es et de son e cache dans /var/tmp/named dump.db ; reload : equivalent de named.reload ; ` status : force named a remplir /var/tmp/named.stats avec des statistiques ; trace : incr mente le niveau de debug dune unit ; les informations de e e debug sont inscrites dans /var/tmp/named.run ; notrace : arr te linscription dinformations de debug ; e ` querylog : force named a indiquer par la fonctionnalit syslog les dife f rentes requ tes quil re oit ; cette option consomme enorm ment de rese e c e sources sur le syst` me de chiers ; e start : active le d mon si ce nest d j` fait ; e ea stop : d truit le d mon sil est actif ; e e restart : equivalent de named.restart ; on trouve aussi un ensemble dutilitaires permettant dinterroger les serveurs DNS en emettant des requ tes de tous types : e nslookup : cet utilitaire permet de g n rer des requ tes DNS an, par exemple, e e e de tester un serveur ; dig : offre sensiblement les m mes fonctionnalit s que nslookup mais sa syne e taxe est plus compacte, tous les param` tres etant pass s sur la ligne de come e mande ; dnsquery : autre utilitaire dinterrogation dun DNS ; ` host : cette commande permet dobtenir la ou les adresses IP correspondant a un nom de machine, en interrogeant un DNS.

168

Services de base

4.9.2 Fichiers de conguration de BIND


Le d mon BIND utilise trois types de chiers de conguration : e un chier d sign par (( chier de d marrage )) et nomm /etc/named.boot. Celuie e e e ci permet de d nir diff rentes options et de localiser le r pertoire o` se trouvent les e e e u autres chiers de conguration ; un ou plusieurs chiers de cache, dont le contenu est charg dans le cache du d mon e e au d marrage ; ce chier est habituellement nomm named.cache ; e e diff rents chiers de zones. e La gure 4.11 pr sente les relations entre les diff rents chiers de conguration de BIND. e e

rpertoire /etc named.boot

rpertoire /usr/lib/BIND named.cache fenetre.fr France.fenetre.fr rev.192.168.22

Figure 4.11 Fichiers de conguration de BIND

Fichier de d marrage e Le chier de d marrage contient un ensemble de directives, une par ligne. e Les diff rentes primitives sont r capitul es dans le tableau 4.2 page ci-contre. e e e Le chier de d marrage de ns.fenetre.fr pr sent sur la gure 4.12 page 170 supe e e pose que ns.fenetre.fr est primaire de la zone fenetre.fr, secondaire de la zone Italy.fenetre.fr et primaire de la zone inverse 22.192.168.in-addr.arpa.

4.9.3 Fichier de cache


Le chier de cache contient g n ralement la liste des adresses IP des serveurs de noms faisant e e autorit pour la racine, cest-` -dire (( Point )). Cette liste est fondamentale pour la premi` re e a e

Chapitre 4 Le Service de Noms


Type directory cache primary

169

secondary

forwarders xfrnets include bogusns

checknames

limit options

Fonction Indication du r pertoire qui contient les autres chiers, par exemple : e directory /usr/lib/BIND Nom dun chier de cache, par exemple : cache . named.cache Etre primaire dune zone directe ou inverse. La syntaxe est la suivante : primary [domaine] [chier de zone] par exemple : primary fenetre.fr fenetre.fr.zone Etre secondaire dune zone directe ou inverse. La syntaxe est la suivante : secondary [domaine] [IP matre(s)] [fichier de backup] o` [IP matre(s)] est une liste dadresses IP de matres, qui souvent se r u e ` duit a ladresse IP du primaire, par exemple : secondary Italy.fenetre.fr 192.168.210.15 Italy.fenetre.fr.zone Adresse des forwarders, par exemple : forwarders 192.168.22.93 192.168.22.94 Limitation des transferts de zones depuis une liste de machines, par exemple : xfernets 192.168.210.15 Inclusion dun chier de conguration annexe, par exemple : include zones.defs ` Liste de serveurs a ne pas contacter, car leurs donn es sont corrompues, par e exemple : bogusns 10.0.0.1 V rier que le jeu de caract` res utilis pour les noms contenus dans les zones e e e sp ci es est correct, et eventuellement refuser de les servir (param` tre fail), e e e activer un warning (param` tre warning) ou ignorer (param` tre ignore); par e e exemple : check-names primary fail check-names secondary warn check-names response ignore D nition de limites diverses, par exemple sur la m moire occup e par le d mon e e e e ou le nombre de transferts de zones simultan s. e Choix doptions diverses, dont voici une liste des plus utiles : no-recursion : seules les requ tes non r cursives sont trait es par BIND. Ne e e e pas utiliser cette option avec un serveur list dans /etc/resolv.conf dun e client. query-log : enregistrement aupr` s du syslog de toutes les requ tes qui pare e ` viennent a BIND. forward-only : passe BIND en mode esclave (utilis par exemple sur le sere veur DNS du r seau priv dans le cadre dune solution rewall). e e Exemple : options forward-only query-log emarrage Tableau 4.2 Primitives du chier de d

170
directory cache primary primary secondary /usr/lib/BIND . fenetre.fr 22.192.168.in-addr.arpa named.cache fenetre.fr.zone 168.192.22.rev

Services de base

Italy.fenetre.fr 192.168.210.15 Italy.fenetre.fr.zone

Figure 4.12 Exemple de chier de d emarrage

phase dune recherche r cursive : BIND doit interroger un serveur de la racine, ce dernier le e redirige alors vers les serveurs faisant autorit sur un TLD. e ` ` On peut r cup rer le chier de cache a jour a lURL suivant : e e ftp://ftp.rs.internic.net/domain/named.root La gure 4.13 page ci-contre pr sente son contenu. e On remarque ainsi quil y a neuf serveurs r partis sur les cinq continents pour g rer la racine. e e Ces neufs serveurs sont les garants du bon fonctionnement du service de noms sur lInternet.

4.9.4 Conguration dune zone directe


Un chier de zone directe contient un SOA et une suite denregistrements de types vari s. e Par exemple, la zone fenetre.fr contient les donn es de la gure 4.14 page 172. e

4.9.5 Conguration dune zone inverse


Un chier de zone inverse contient un SOA et une s rie denregistrements de types vari s. e e La gure 4.15 page 173 pr sente un exemple de zone inverse : e 22.168.192.in-addr.arpa

4.9.6 Zones recommand es e


` Les serveurs DNS sur lInternet sont sujets a pollution. Il suft par exemple quune information incorrecte soit inject e dans un serveur du r seau pour quelle puisse se propager aux e e ` ` autres serveurs. En effet, a chaque r ponse a une requ te, un serveur peut fournir des infore e e mations compl mentaires qui nont pas et demand es mais dont il sait quelles peuvent etre e e utiles. Il peut sagir par exemple de glue dont nous avons d j` vu le r le. Dautre part, il faut ea o eviter les requ tes inutiles, ou au moins ne pas les laisser sortir du r seau local. Les requ tes e e e le plus souvent incorrectes concernent les enregistrements de ladresse IP 0.0.0.0 et de

Chapitre 4 Le Service de Noms


; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache . <file>" ; configuration file of BIND domain name servers). ; This file is made available by InterNIC registration services ; under anonymous FTP as ; file /domain/named.root ; on server FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ; under menu InterNIC Registration Services (NSI) ; submenu InterNIC Registration Archives ; file named.root ; ; last update: Nov 8, 1995 ; related version of root zone: 1995110800 ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; End of File

171

Figure 4.13 Fichier de cache

172
@ IN SOA ns.fenetre.fr. ls.fenetre.fr. ( 1996120101 ;Serial 28800 ;Refresh (8 heures) 7200 ;Retry (2 heures) 604800 ;Expire (7 jours) 86400 ) ;Minimum (1 jour)

Services de base

; Liste des serveurs faisant autorit e IN NS ns.fenetre.fr. IN NS ns.fournisseur.fr. ` ; Dclaration des rseaux appartenant a lorganisme fenetre.fr e e IN PTR 0.22.168.192.in-addr.arpa. IN PTR 0.0.16.172.in-addr.arpa. ; Acheminement du courrier pour les messages du type user@fenetre.fr IN MX 10 mail.fenetre.fr. IN MX 100 mail.fournisseur.fr. ; Acheminement du courrier pour les messages du type user@xyz.fenetre.fr * IN MX 10 mail.fenetre.fr. IN MX 100 mail.fournisseur.fr. ; Dclaration des noms des rseaux ls-net.fenetre.fr et ls-net-2.fenetre.fr e e ls-net IN PTR 0.22.168.192.in-addr.arpa. ls-net-2 IN PTR 0.0.16.172.in-addr.arpa. ; Informations sur la passerelle gw IN A 192.168.22.35 IN TXT "Routeur du site" IN HINFO SUN-IPC Solaris-2.4 gw-ppp IN A 192.168.200.2 IN TXT "Routeur du site" IN HINFO SUN-IPC Solaris-2.4 ; Acheminement du courrier pour les messages du type gw@fenetre.fr gw IN MX 10 mail.fenetre.fr. IN MX 100 mail.fournisseur.fr. ; Acheminement du courrier pour les messages du type gw-ppp@fenetre.fr gw-ppp IN MX 10 mail.fenetre.fr. IN MX 100 mail.fournisseur.fr. ; Adresse de la passerelle SMTP mail IN A 192.168.22.36 IN TXT "Machine appartenant a Stoned" IN HINFO SUN-IPC Solaris-2.5 ; Acheminement du courrier pour les messages du type mail@fenetre.fr IN MX 10 mail.fenetre.fr. IN MX 100 mail.fournisseur.fr. ; Alias pour le serveur WWW sur gw.fenetre.fr www IN CNAME gw.fenetre.fr. ; Dlgation du sous-domaine Italy.fenetre.fr e e Italy IN NS ns.Italy.fenetre.fr. IN NS ns.fournisseur-italien.it. ; Ajout de la glue pour la dlgation dItaly.fenetre.fr e e ns.Italy.fenetre.fr. IN A 192.168.210.15

Figure 4.14 Exemple de zone directe

Chapitre 4 Le Service de Noms


@ IN SOA ns.fenetre.fr. ls.fenetre.fr. ( 1996120201 ;Serial 28800 ;Refresh (8 heures) 7200 ;Retry (2 heures) 604800 ;Expire (7 jours) 86400 ) ;Minimum (1 jour)

173

; Liste des serveurs faisant autorit e IN NS ns.fenetre.fr. IN NS ns.fournisseur.fr. ; nom associ ` 192.168.22.35 e a 35 IN PTR ; nom associ ` 192.168.22.36 e a 36 IN PTR

gw.fenetre.fr.

mail.fenetre.fr.

; nom du rseau 192.168.22.0 et masque de sous-rseaux e e 0 IN PTR ls-net.fenetre.fr. IN A 255.255.255.224

Figure 4.15 Exemple de zone inverse

ladresse de diffusion 255.255.255.255. Pour eviter leur propagation, le RFC 1912 demande aux administrateurs de g rer sur tout serveur de noms les deux zones suivantes : e 0.in-addr.arpa 255.in-addr.arpa De plus, pour eviter de charger le r seau avec les requ tes li es a linterface loopback, ce e e e ` RFC propose aussi que tous les serveurs DNS fassent autorit pour les zones localhost et e 0.0.127.in-addr.arpa. Il faut donc ajouter les donn es suivantes au chier /etc/named.boot : e
primary primary primary primary localhost 0.0.127.in-addr.arpa 255.in-addr.arpa 0.in-addr.arpa localhost 127.0 255 0

Le chier /usr/local/BIND/localhost de ns.fenetre.fr contient donc :


@ IN SOA ns.fenetre.fr. ls.fenetre.fr. ( 1996120201 ;Serial 28800 ;Refresh (8 heures) 7200 ;Retry (2 heures) 604800 ;Expire (7 jours) 86400 ) ;Minimum (1 jour) 127.0.0.1

localhost.

IN A

Le chier /usr/lib/BIND/127.0 contient :

174
@ IN SOA ns.fenetre.fr. ls.fenetre.fr. ( 1996120201 ;Serial 28800 ;Refresh (8 heures) 7200 ;Retry (2 heures) 604800 ;Expire (7 jours) 86400 ) ;Minimum (1 jour) localhost.

Services de base

IN PTR

Le chier /usr/lib/BIND/255 contient :


@ IN SOA ns.fenetre.fr. ls.fenetre.fr. ( 1996120201 ;Serial 28800 ;Refresh (8 heures) 7200 ;Retry (2 heures) 604800 ;Expire (7 jours) 86400 ) ;Minimum (1 jour) ns.fenetre.fr.

IN NS

Le chier /usr/lib/BIND/0 contient :


@ IN SOA ns.fenetre.fr. ls.fenetre.fr. ( 1996120201 ;Serial 28800 ;Refresh (8 heures) 7200 ;Retry (2 heures) 604800 ;Expire (7 jours) 86400 ) ;Minimum (1 jour) ns.fenetre.fr.

IN NS

4.9.7 Activation du d mon BIND e


Pour activer le d mon BIND, il suft dappeler /usr/sbin/in.named depuis un chier e de d marrage de la machine. e Sil est appel sans option, le d mon BIND lit le chier /etc/named.boot et en d duit e e e la localisation des chiers de cache et de zones. On peut changer la localisation du chier de d marrage par d faut et dautres param` tres avec e e e les options de la ligne de commande que voici :

Option -d debuglevel -p port1[/port2]

-b bootfile

Fonction Information de debugging Imposer dautres ports que le port standard ; port1 est utilis pour e contacter dautres serveurs et le port d coute est port2 (option utilie s e en phase de debugging) e Utiliser un autre chier que /etc/named.boot

Chapitre 4 Le Service de Noms

175

4.10 Le NIC-France
Depuis 1987, lINRIA administre le domaine fr. En 1992, le NIC-France (Network Information Center) est cr e pour assurer une triple mission : e mise en place dune charte dattribution de noms ; ` gestion de la zone fr : mise a disposition de serveurs de noms pour cette zone et d l gations de sous-domaines ; ee coordination avec les autres NIC et maintenance des serveurs de noms pour les zones e ee e inverses qui lui ont et d l gu es. Sur le serveur WWW du NIC-France, http://www.nic.fr, on peut trouver de nombreux renseignements sur lInternet, les proc dures et services du NIC-France, des statise tiques diverses, la liste des autres NIC, etc.

4.10.1 Charte dattribution de noms


La charte dattribution de noms d nie par le NIC-France pr cise les r` gles dattribution de e e e sous-domaines de fr. Lorsquune soci t a obtenu un sous-domaine de fr, elle peut y cr er ee e des sous-domaines selon ses propres r` gles, la charte dattribution de noms ne sy appliquant e pas, except pour la r` gle suivante : e e ` Un domaine qui appartient a une entit administrative et juridique ne peut etre utilis par e e une autre entit administrative et juridique (soci t -B.soci t -A.fr est interdit). e ee ee Le nom de domaine demand peut etre le nom de lorganisme ou de la soci t , son sigle ou e ee une marque qui lui appartient.
Documents n cessaires pour lattribution dun domaine sous fr e ` Pour obtenir lattribution dun nom de domaine, il faut faire parvenir a son fournisseur Internet un exemplaire rempli et sign du formulaire de cr ation de domaine disponible e e ` a lURL : ftp://ftp.nic.fr/pub/formulaires/NIC/Formulaire-Domaine-Fr.ps. Le fournisseur se charge alors de contacter le NIC-France pour demander la d l gation du ee domaine qui est alors mis en place sous 48 heures. Sil sagit dun nom de soci t , un extrait du Kbis et le num ro de SIRET est demand . ee e e Sil sagit dune association, une copie de la parution au Journal Ofciel ou le r c piss de e e e ` d claration a la pr fecture est demand . La d l gation est alors mise en place sous le domaine e e e ee asso.fr. ` Sil sagit dune marque, il faut fournir le certicat denregistrement a lINPI ainsi que son num ro. La d l gation est alors mise en place sous le domaine tm.fr (trademark). e ee Sil sagit dune publication, il faut fournir une copie du document emanant de la Biblioth` que Nationale et portant le num ro ISSN. e e

Cest le fournisseur qui fait la demande de d l gation pour son client. Le NIC-France lui ee

176

Services de base

impute alors un co t en fonction de la convention quils ont sign e ensemble. Le fournisseur u e a le choix entre deux options : option 1 : le fournisseur adh` re au service NIC et peut ainsi participer au comit de e e concertation. Il doit pour cela verser 30 kF et toute cr ation de domaine lui est alors e factur e 800 F (co t 1996), montant pond r par un coefcient 0,7, 1 ou 3 en fonction e u ee du support technique fourni par le NIC ; option 2 : le fournisseur nadh` re pas au service NIC ; toute cr ation de domaine lui est e e factur e 2 400 F (co t 1996). e u Le nom de domaine doit poss der au moins trois caract` res, sauf conditions exceptionnelles, e e comme par exemple m6.fr. De plus, il existe un certain nombre de noms r serv s qui ne e e peuvent pas etre attribu s, par exemple atm.fr, ftp.fr, internet.fr, etc. e Le tableau 4.3 page 187 d nit la charte dattribution de noms. e

4.10.2 Service de test des zones


Pour mettre en place une zone, il faut mettre en place au moins deux serveurs pour la g rer e (un primaire et un secondaire), de pr f rence sur des acc` s Internet distincts. Les organismes ee e ` connect s par une liaison permanente se chargent le plus souvent du primaire et laissent a leur e fournisseur le soin de g rer un secondaire. Les organismes connect s de fa on intermittente e e c ne peuvent g rer ni le primaire ni le secondaire, leur fournisseur se charge alors de mettre en e place ces deux serveurs sur son r seau priv . e e Une fois ces serveurs mis en place, le NIC-France modie le contenu de la zone fr an de d l guer le domaine attribu . Pour cela, il ajoute des enregistrements de type NS dans le ee e chier de zone de fr. Le NIC-France impose un certain nombre de conditions techniques avant de mettre en place la d l gation, par exemple sur les param` tres du SOA ou dautres valeurs contenues dans le ee e ` ee chier de la zone a d l guer. ` Ces conditions peuvent etre v ri es rapidement a laide dun automate tr` s pratique, nomm e e e e ZoneCheck et accessible sur le serveur WWW du NIC-France. Cet automate se connecte sur les serveurs de noms de la zone, effectue les v rications et produit un rapport signalant les e eventuels probl` mes d tect s. e e e Pour lutiliser, il suft de se connecter avec un navigateur World Wide Web sur lURL http://www.nic.fr/ZoneCheck/. Apr` s avoir choisi la langue (anglais ou fran ais), e c ` l cran de la gure 4.16 page ci-contre apparat. On saisit le nom de domaine a tester et on e choisit (( Chercher... )). On entre alors, dans le formulaire de la gure 4.17 page 178, les adresses IP des serveurs de noms faisant autorit pour la zone et quon veut tester, et on e choisit (( V rier... )). Lautomate afche enn, en moins de trente secondes, les diff rents e e probl` mes eventuels concernant linstallation de cette zone. e

Chapitre 4 Le Service de Noms

177

On suit les indications pour faire des corrections et on r p` te alors lop ration jusqu` avoir e e e a r solu lensemble des probl` mes. e e

Figure 4.16 Service ZoneCheck

178

Services de base

Figure 4.17 Service ZoneCheck

Chapitre 4 Le Service de Noms

179

4.11 Attribution dun domaine sous com, org, edu et net


` ee Un des nombreux services offerts par lInterNIC consiste a d l guer des sous-domaines des TLD suivants : com, org, edu ou net. Pour obtenir une telle d l gation, il faut tout dabord mettre en place un primaire et un ou ee plusieurs secondaires et r cup rer le formulaire de demande de domaine de lInterNIC par e e ` FTP a lURL suivant :

ftp://ftp.rs.internic.net/templates/domain-template.txt

` Une fois rempli, il faut lenvoyer a hostmaster@internic.net. ` ` ` Une autre m thode consiste a utiliser un navigateur World Wide Web, et a se connecter a e lURL http://rs.internic.net/reg/domain-forms.html qui contient un formulaire HTML pr sentant les m mes champs que le formulaire de demande de domaine, de e e remplir ce formulaire et de le valider. ` Le serveur WWW envoie alors a lutilisateur, par courrier electronique, le formulaire de dee mande de domaine rempli conform ment aux indications qui ont et fournies. Il suft alors e ` de v rier ces informations et de renvoyer ce message a hostmaster@internic.net. e Le co t de lop ration est de 100 $. Il couvre deux ans de d l gation du domaine. Apr` s cette u e ee e p riode, lInterNIC renvoie tous les ans une facture de 50$. e ` Avec un cours du dollar a cinq francs, on constate que trois ans de d l gation sous com ee co tent sensiblement aussi cher quune d l gation d nitive par le NIC-France sous fr u ee e (800 F pour un domaine si le fournisseur adh` re au service NIC). e ` Il est donc souvent plus economique a long terme de demander une d l gation sous fr que ee sous com.

4.12 Attribution dun domaine sous eu.org


Ladministrateur du domaine eu.org, Pierre B EYSSAC, fournit un service gratuit de d l gaee tion sous ce domaine. Il soccupe ainsi des serveurs de noms qui g` rent ce domaine, et prend e en charge les frais de d l gation aupr` s de lInterNIC. ee e La charte denregistrement est disponible sur http://ns.eu.org/fr/policy.html et le formulaire dinscription est accessible sur http://ns.eu.org/fr/form.html. Ce service gratuit sadresse en priorit aux associations et aux particuliers, mais les sites e commerciaux sont aussi accueillis.

180

Services de base

Figure 4.18 Delegation dun domaine aupr` de lInterNIC es

Chapitre 4 Le Service de Noms

181

4.13 Les bases Whois


Des informations administratives diverses sont maintenues sur des bases Whois. On y trouve notamment des informations sur les domaines, adresses de r seaux, annonces de routes, noms e de contacts techniques ou administratifs saisis dans les diff rents formulaires de demande de e d l gation, etc. Cela permet par exemple de v rier que le sous-domaine de com ou fr quon ee e d sire r server est bien libre. e e Pour interroger ces bases, on utilise la commande whois. Voici quelques-uns des types dobjets pr sents dans ces bases : e objet de type domaine (domain) : informations techniques sur un domaine ; objet de type r seau (inetnum) : informations techniques sur la d l gation dune e ee adresse r seau ; e objet de type route (route) : informations sur un ensemble de r seaux annonc s sur e e lInternet au sein dune route de type CIDR par un protocole de passerelle externe ; objet de type personne (person) : informations sur un contact technique ou administratif r f renc dans un autre type dobjet ; ee e objet de type syst` me autonome (aut-num) : informations techniques sur un fournise seur. Les principaux serveurs Whois sont les suivants : whois.internic.net : ce serveur regroupe des objets de nombreux types except e le type route. Il rassemble au sein dun m me serveur les informations contenues dans e dautres serveurs Whois ; whois.ra.net : ce serveur regroupe tous les objets de type route de lInternet. Cest ` a partir de sa base que les tables de routage des NAP sont etablies ; whois.ripe.net : ce serveur regroupe des objets de tous types pour lEurope ; whois.apnic.net : ce serveur regroupe les objets de type r seau pour la zone Asiee Pacique ; whois.nic.fr : ce serveur maintenu par le NIC-France contient des objets concernant la France, notamment des informations sur les sous-domaines de fr. Quand on veut obtenir une information particuli` re, il faut d terminer le type dobjet et la e e zone g ographique associ s, an de savoir quel serveur Whois interroger. e e ` Ce sont les fournisseurs et les NIC qui mettent a jour les informations de ces bases. Effectuons quelques interrogations sur les bases Whois. Pour cela on utilise lutilitaire whois ` disponible pour Unix a lURL suivant :

ftp://ftp.nic.fr/pub/programmes/RIPE/ripe-whois-tools-2.0.tar.gz

182 Notons quil en existe aussi sur PC et Macintosh. Sous Unix, loption -h permet de pr ciser le nom du serveur Whois. e

Services de base

Nous d sirons tout dabord v rier que le domaine fenetre.fr nest pas r serv , an de dee e e e mander son attribution aupr` s du NIC-France : e
<ls@fenetre> whois -h whois.nic.fr fenetre.fr No entries found for the selected source(s). [...]

e e Si le domaine avait et r serv , on aurait eu le type dinformations pr sent sur la gure 4.19. e e e
<ls@fenetre> domain: descr: descr: admin-c: tech-c: tech-c: zone-c: nserver: nserver: nserver: nserver: dom-net: dom-net: mnt-by: changed: source: person: address: address: address: phone: e-mail: changed: source: [...] whois -h whois.nic.fr enst.fr enst.fr Ecole Nationale Superieure des Telecommunications - Telecom/Paris 46, rue Barrault, F-75634 Paris CEDEX 13 Jean-Pierre Bach Philippe Dax Guillaume Gerard AR41 inf.enst.fr tyner.res.enst.fr dameron.res.enst.fr layon.inria.fr 137.194.0.0 192.33.155.0 FR-NIC-MNT Benoit.Grange@inria.fr 950307 RIPE Jean-Pierre Bach Ecole Nationale Superieure Telecommunications Centre de Calcul 46, rue Barrault, F-75634 Paris CEDEX 13, France +33 1 45 81 42 96 bach@enst.enst.fr Annie.Renard@inria.fr 940209 RIPE

Figure 4.19 Exemple dutilisation de whois pour un domaine

On constate que le serveur Whois nous fournit, en plus de lobjet domaine, les objets personne associ s. e Nous pouvons maintenant essayer dobtenir des informations sur le r seau 137.194.0.0. e La gure 4.20 page suivante pr sente le type de r sultat obtenu. e e e En plus des contacts techniques, deux objets ont et retourn s : il sagit de lobjet de type e ` inetnum 137.194.0.0 qui correspond a la d l gation de ce r seau, et de lobjet de type ee e ` ` route 137.194.0.0/16 qui correspond a lannonce de laccessibilit de ce r seau. A cet e e objet est associ lobjet AS1717 de type syst` me autonome (aut-num). Il sagit du foure e ` nisseur Renater qui connecte ce r seau a lInternet. Pour obtenir des informations sur ce e fournisseur portant le num ro de syst` me autonome 1717, il suft dinterroger par exemple e e

Chapitre 4 Le Service de Noms


<ls@fenetre> inetnum: netname: descr: descr: descr: country: admin-c: tech-c: remarks: changed: source: route: descr: descr: descr: descr: origin: mnt-by: changed: source: person: address: address: address: phone: e-mail: changed: source: [...] whois -h whois.nic.fr 137.194.0.0 137.194.0.0 ENST-NET Ecole Nationale Superieure Telecommunications Centre de Calcul 46, rue Barrault, 75634 Paris CEDEX 13, France FR Jean-Pierre Bach Philippe Dax FNET Annie.Renard@inria.fr 940209 RIPE 137.194.0.0/16 RENATER Universite Pierre et Marie Curie 4 place Jussieu 75252 PARIS CEDEX 05 FRANCE AS1717 AS1717-MNT rensvp@renater.fr 951212 RIPE Jean-Pierre Bach Ecole Nationale Superieure Telecommunications Centre de Calcul 46, rue Barrault, F-75634 Paris CEDEX 13, France +33 1 45 81 42 96 bach@enst.enst.fr Annie.Renard@inria.fr 940209 RIPE

183

Figure 4.20 Exemple dutilisation de whois pour un r eseau

whois.ra.net comme indiqu sur la gure 4.21 page suivante. e ` Les champs as-in et as-out indiquent a quels autres fournisseurs Renater annonce ses routes, et de quels autres fournisseurs il prend des annonces. Il sagit donc de la politique de routage de ce fournisseur. Pour connatre les noms de fournisseurs associ s aux num ros de e e syst` mes autonomes indiqu s ici, il suft l` encore dutiliser Whois. e e a Enn, pour connatre des informations sur les TLD, il faut effectuer une interrogation sur lobjet TLD-dom. Par exemple, pour le domaine com, on interroge whois.internic.net comme indiqu sur la gure 4.22 page suivante. e

4.14 Outils de tests


Les deux principaux outils dinterrogation du DNS fournis avec BIND sont nslookup et dig. Ils permettent tous les deux d mettre tous types de requ tes vers un serveur local ou distant, e e cest la syntaxe dutilisation qui les distingue profond ment. Apr` s avoir lanc le programme e e e

184
<ls@fenetre> aut-num: descr: descr: descr: descr: as-in: as-in: as-in: as-in: as-in: as-in: as-in: as-in: as-out: as-out: as-out: as-out: as-out: as-out: as-out: as-out: default: admin-c: tech-c: tech-c: mnt-by: changed: source:

Services de base
whois -h whois.ra.net AS1717 AS1717 RENATER Reseau National de telecommunications pour la Technologie lEnseignement et la Recherche FR from AS1755 100 accept ANY from AS5511 100 accept ANY from AS2470 100 accept AS2470 from AS789 50 accept AS789 from AS786 50 accept AS786 from AS1899 50 accept AS1899 from AS2917 50 accept AS2917 from AS3215 50 accept AS3215 to AS5511 announce AS1717 to AS2470 announce AS1717 to AS1755 announce AS1717 AS2470 to AS786 announce AS1717 to AS789 announce AS1717 to AS1899 announce AS1717 to AS2917 announce AS1717 to AS3215 announce AS1717 AS1755 10 Michel Lartail Isabelle Morel Marie-Helene Guilmin AS1717-MNT rensvp@renater.fr 960423 RIPE

Figure 4.21 Exemple dutilisation de whois pour un syst` eme autonome


<ls@fenetre> whois -h whois.internic.net com-dom Commercial top-level domain (COM-DOM) Network Solutions, Inc. 505 Huntmar park Dr. Herndon, VA 22070 Domain Name: COM Administrative Contact, Technical Contact, Zone Contact: Network Solutions, Inc. (HOSTMASTER) hostmaster@INTERNIC.NET (703) 742-4777 (FAX) (703) 742-4811 Record last updated on 02-Sep-94. Record created on 01-Jan-85. Domain servers in listed order: A.ROOT-SERVERS.NET H.ROOT-SERVERS.NET B.ROOT-SERVERS.NET C.ROOT-SERVERS.NET D.ROOT-SERVERS.NET E.ROOT-SERVERS.NET I.ROOT-SERVERS.NET F.ROOT-SERVERS.NET G.ROOT-SERVERS.NET [...] 198.41.0.4 128.63.2.53 128.9.0.107 192.33.4.12 128.8.10.90 192.203.230.10 192.36.148.17 192.5.5.241 192.112.36.4

Figure 4.22 Exemple dutilisation de whois pour un TLD

Chapitre 4 Le Service de Noms

185

nslookup, on peut entrer successivement diff rentes commandes pour mettre en forme la e ` requ te, s lectionner le serveur cible, d nir un niveau de debug, etc. A linverse, dig prend e e e toutes ces informations en param` tres de la ligne de commande. e Examinons par exemple comment on peut interroger ns.fenetre.fr pour connatre le nom associ a ladresse IP 192.168.22.33. e` Avec dig, il suft dentrer la commande suivante :
<ls@gw> dig @ns.fenetre.fr 33.22.168.192.in-addr.arpa. PTR ; <<>> DiG 2.0 <<>> @inf.enst.fr 33.22.168.192.in-addr.arpa. PTR ;; ->>HEADER<<- opcode: QUERY , status: NOERROR, id: 10 ;; flags: qr rd ra ; Ques: 1, Ans: 2, Auth: 2, Addit: 2 ;; QUESTIONS: ;; 33.22.168.192.in-addr.arpa, type = PTR, class = IN ;; ANSWERS: 33.22.168.192.in-addr.arpa. ;; ;; ;; ;;

136071

PTR

gw.fenetre.fr.

Sent 1 pkts, answer found in time: 6 msec FROM: gw to SERVER: ns.fenetre.fr 192.168.22.34 WHEN: Fri Sep 13 20:55:00 1996 MSG SIZE sent: 44 rcvd: 180

<ls@gw>

Avec nslookup, on proc` de comme ceci : e


<ls@gw> nslookup Default Server: ns2.fenetre.fr Address: 192.168.22.37 > lserver ns.fenetre.fr Default Server: ns.fenetre.fr Address: 192.168.22.34 > set type=PTR > 33.22.168.192.in-addr.arpa. Server: ns.fenetre.fr Address: 192.168.22.34 33.22.168.192.in-addr.arpa > exit <ls@gw> name = gw.fenetre.fr

4.15 Automates danalyse DNS


De tr` s nombreux outils danalyse automatique de la conguration des DNS sont dispoe ` nibles gratuitement sur le r seau. On peut par exemple en trouver un bon nombre a lURL e ftp://ftp.ibp.fr/pub/network/dns/. Citons parmi eux deux des plus utilis s : il sagit de dnswalk et lamers. e

186

Services de base

4.15.1 dnswalk
dnswalk effectue des transferts des zones des domaines sp ci s en argument et proc` de e e e ` a de nombreux tests de coh rence sur leur contenu. Cest donc un outil de v rication des e e ` e zones qui utilise directement le DNS pour aller rechercher linformation a v rier. Il faut installer perl et dig sur la machine o` lon veut lutiliser. Il v rie par exemple que si u e x.fenetre.fr poss` de un enregistrement de type A de valeur 192.168.22.1, il existe e alors aussi un enregistrement de type PTR pour 1.22.168.192.in-addr.arpa de valeur x.fenetre.fr. On peut lui fournir diff rents param` tres sur la ligne de commande, e e ` an par exemple de lui indiquer les diff rents tests a mettre en jeu. e En voici un exemple dutilisation :
<ls@fenetre> ./dnswalk enst.fr. Getting zone transfer of enst.fr. from inf.enst.fr....done. Checking enst.fr. SOA=inf.enst.fr. contact=hostmaster.enst.fr. demo52.enst.fr. A 137.194.6.52: no PTR record res.enst.fr. NS gmuvax2.gmu.edu.: CNAME (to portal.gmu.edu) bretagne.enst.fr. CNAME enst-bretagne.fr.: unknown host broadcast-inf.enst.fr. A 137.194.161.255: no PTR record enst-netmask.enst.fr. A 255.255.254.0: no PTR record www-ima.enst.fr. CNAME mathieu.enst.fr.: CNAME (to ima.enst.fr) gw-x25.enst.fr. A 193.49.49.233: no PTR record maisel2-guyton.enst.fr. A 137.194.8.254: no PTR record khamsin-fddi.enst.fr. A 137.194.202.130: no PTR record

4.15.2 lamers
Lutilitaire lamers analyse les chiers de log produits par BIND pour d tecter des Lame e Delegations. Il sagit de d l gations incorrectes de zones o` des machines se retrouvent lisee u t es en tant que serveurs faisant autorit pour une zone alors quelles ne semblent pas en e e assurer la gestion. Lutilitaire lamers envoie alors un courrier electronique comme suit :
This message was machine generated. It is intended to alert you to a possible problem with one of the nameservers for the domain listed below. If you have any questions about this message, please contact dns-maintenance@umich.edu. The nameserver listed in the subject (and again below) was detected as a "lame delegation" by the UMICH.EDU nameservers. Domain: fenetre.fr Server: 192.168.22.34 The following paragraphs describe what a lame delegation is and suggests some things you might do to eliminate the lame delegation. If you are an experienced hostmaster, you probably do not to read the rest of this message; if you dont know what a lame delegation is, you probably want to keep reading.

Chapitre 4 Le Service de Noms

187

Entit e Acad mies e Ambassades Assistance publique Associations Avocats Ecoles darchitecture et laboratoires Biblioth` ques municipales e Centres hospitaliers universitaires Chambres de Commerce et de lIndustrie Commissaires-priseurs Conseils g n raux e e Districts Gouvernements et minist` res e Instituts universitaires de technologie Instituts Universitaires de Formation des Matres Mairies Marques Technopoles Universit s e

format ac-nom.fr amb-nom.fr ap-nom.fr nom.asso.fr nom.barreau.fr nom.archi.fr bm-ville.fr chu-ville.fr nom.cci.fr nom.encheres.fr cgd partement.fr e district-nom.fr nom.gouv.fr iut-nom.fr nom.iufm.fr mairie-ville.fr nom.tm.fr tech-nom.fr univ-nom.fr u-nom.fr

Exemple ac-lyon.fr amb-wash.fr ap-hop-paris.fr xyz.asso.fr xyz.barreau.fr xyz.archi.fr bm-lyon.fr chu-rouen.fr essonne.cci.fr xyz.encheres.fr cg13.fr (Bouches du Rh nes) o district-parthenay.fr (district de Parthenay) social.gouv.fr (Minist` re du Travail et e des Affaires Sociales) iut-lannion.fr xyz.iufm.fr mairie-metz.fr xyz.tm.fr tech-quimper.fr univ-rennes1.fr (Universit e de Rennes1) u-grenoble3.fr (Universit de Gree noble3)

Tableau 4.3 Charte dattribution de noms

5
La messagerie
L change de courrier electronique entre diff rentes machines est r gi par diff rents RFC e e e e (Request For Comments) dont la liste est donn e dans le tableau 5.1. Un logiciel capable e ` d changer du courrier nest pas oblig de se conformer a toutes ces recommandations, mais e e lorsquil pr tend disposer de certaines caract ristiques, elles doivent suivre les recommandae e tions correspondantes.

RFC 821 822 974 987 1049 1123 1344 1413 1425 1426 1427 1428 1521

Titre SMTP protocol Mail header format MX routing Mapping between RFC822 and X.400 Content-Type header eld (extension du RFC 822) Host requirements (modie les RFC 821, 822 et 974) Implications of MIME for Internet Mail Gateways Identication server SMTP Service Extensions (ESMTP) SMTP Service Extension for 8bit-MIME transport SMTP Service Extension for Message Size Declaration Transition of Internet Mail from Just-Send-8 to 8-bit SMTP/MIME MIME: Multipurpose Internet Mail Extensions echange de messages Tableau 5.1 RFC denissant l

190

Services de base

5.1 La matrice
Tout dabord, corrigeons une id e fausse fr quemment r pandue : le courrier electronique e e e ` e nest pas lapanage du r seau Internet. Les premiers ordinateurs a s changer du courrier ne e ( parlaient ) pas TCP/IP et ne se connectaient les uns aux autres que de fa on intermittente, ( ) c cest-` -dire notamment que lensemble des ordinateurs capables de s changer du courrier a e ` electronique ne formaient jamais (et ne forment toujours pas) un graphe connexe a un instant donn . e On d signe habituellement sous le nom de matrice 1 lensemble des machines capables e d changer du courrier electronique avec les ordinateurs pr sents sur lInternet (et, par exe e tension, avec tous les autres ordinateurs de la matrice). Comme le montre la gure 5.1, cet ensemble comprend tous les ordinateurs connect s a lInternet (` savoir aussi bien lInternet e ` a ` ( contributif ) , qui regroupe les ordinateurs mettant des services a la disposition des autres ( ) que lInternet (( passif )) qui ne fait quutiliser des services existants) ainsi que dautres, qui ne font pas partie de lInternet mais qui sont tout aussi capables denvoyer et de recevoir du courrier electronique.

11111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 1111111111111 0000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 111111111111111111111 000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 00000000000000000000000000000 11111111111111111111111111111 00000000000000000000000000000
Figure 5.1

Internet contributif

Internet

Matrice

LInternet et la matrice

` Les ordinateurs de la matrice qui nappartiennent pas a lInternet comprennent les BBS 2 ainsi ` que les machines appartenant a dautres r seaux comme Fidonet ou Bitnet. Ils echangent du e courrier electronique en utilisant diff rents protocoles tels que SMTP (Simple Mail Transport e Protocol), UUCP (Unix to Unix CoPy), X400 ou encore des passerelles vers des protocoles propri taires. e
e 1. Le terme ( matrice ) semble avoir et invent par William G IBSON dans son ouvrage de science-ction Neu( ) e romancien ecrit en 1984. ` 2. BBS : Bulletin Board Service, ordinateurs g n ralement a acc` s libre sur lesquels on peut se connecter par le e e e biais dun modem et dun ordinateur personnel.

Chapitre 5 La messagerie

191

Pour des raisons de s curit , il arrive que certaines entreprises sins` rent dans la matrice sans e e e ` mettre en place de connexion permanente a lInternet ; en effet, etant donn quun ordinateur e ` non connect a Internet mais appartenant a la matrice n change a priori que des messages e` e textuels, il est difcile dimaginer un acte de piratage envers une telle machine.

5.2 Les botes aux lettres


L change de courrier electronique entre les machines est une chose, l change de messages e e entre un utilisateur et un ordinateur en est une autre. Comme pour le courrier postal, il existe plusieurs mod` les de livraison et de consultation du courrier electronique. e Les trois modes les plus courants sont le spool, la m thode POP et la m thode IMAP, offrant e e chacun ses avantages et ses inconv nients. Bien s r, selon la m thode choisie, lutilisateur e u e devra se procurer un logiciel capable dutiliser cette m thode ; de tels logiciels sont appel s e e ( lecteurs de courrier electronique ) ou MUA (Mail User Agent). ( )

5.2.1 Le spool
Le spool (quelquefois traduit par ((spoule)) en fran ais) est en fait un espace disque, habituelc lement un chier, appel le plus souvent, sur un syst` me Unix, /var/mail/$USER 3, dans e e lequel les nouveaux messages sont d livr s. Lutilisateur peut lire les messages et les effacer ; e e sil souhaite les classer dans des dossiers organis s par exemple par th` me an de pouvoir les e e retrouver rapidement, il devra utiliser son disque local (voir gure 5.2).
Lecture des nouveaux messages et des messages non classs

Utilisateur
Classement des messages Effacement des messages classs Effacement des messages non classs Lecture des messages classs

Spool (messages nouveaux ou non classs)

Espace de travail (messages classs)

Figure 5.2

Stockage et consultation par linterm ediaire dun spool

3. $USER d signe ici le nom de connexion de lutilisateur. e

192

Services de base

Ces dossiers sont conserv s dans lespace de travail privatif de lutilisateur, cest-` -dire que e a sil souhaite les manipuler depuis un autre endroit que son environnement de travail habituel, il lui faudra sy connecter an deffectuer les diff rentes op rations. Par contre, si lutilisateur e e se trouve toujours sur le m me poste de travail (ou un poste de travail partageant le m me e e 4 ` espace de chiers), cette m thode est la plus simple a mettre en uvre . e On peut rapprocher ce mod` le de livraison du courrier du mod` le traditionnel de la messae e gerie postale fran aise : le courrier est d livr dans votre bote aux lettres, vous pouvez ly c e e laisser apr` s lavoir lu (messages non class s), vous pouvez le jeter apr` s lavoir lu (ou m me e e e e ` sans lavoir lu) et vous pouvez le ranger chez vous dans des dossiers pr vus a cet effet. e

5.2.2 POP
La m thode POP (Post Ofce Protocol) se rapproche plus du mod` le de la poste restante ; e e vous pouvez aller chercher vos messages lorsque vous le souhaitez, mais une fois que vous avez retir vos nouveaux messages, vous ne pouvez pas les remettre dans votre bote aux e 5 lettres . ` Lorsque vous vous connectez a un serveur POP, votre ordinateur local rapatrie vos nouveaux messages (voir gure 5.3) et vous pouvez vous d connecter du serveur pour pouvoir les lire e et les manipuler (classement, destruction, etc.) off-line, en economisant notamment des frais eventuels de communication.

Utilisateur
Classement ou effacement des messages Consultation des messages classs et non classs

Serveur POP (nouveaux messages)

Stockage des messages (dclench par lutilisateur)

Espace de travail (messages classs et non classs)


Figure 5.3 Methode POP

` Cette m thode convient parfaitement a des utilisateurs itin rants qui peuvent, en utilisant un e e
4. Cette m thode est celle utilis e par d faut par le programme standard de messagerie electronique, sendmail. e e e 5. En fait, il est possible sur certains serveurs POP de ne pas effacer les messages lus, mais la plupart des clients POP g` rent incorrectement cette fonctionnalit et ne peuvent pas par exemple indiquer si un message est nouveau e e ou ancien mais non class . e

Chapitre 5 La messagerie

193

ordinateur portable et un modem, se connecter sur le site de leur entreprise r guli` rement an e e de rapatrier et envoyer leurs messages. La section 5.5 page 207 explique comment congurer simplement un serveur POP pour une plate-forme Unix.

5.2.3 IMAP
Le mod` le IMAP (Internet Mail Access Protocol) na pas d quivalent imm diat dans le e e e syst` me de courrier postal fran ais ; du point de vue electronique, cest un mod` le hybride e c e entre le spool traditionnel (il faut etre connect pour lire les messages) et le mod` le POP (on e e utilise un protocole et un serveur sp ciques pour y acc der et il est adapt a un certain type e e e` dutilisateurs itin rants). Son utilisation est en train de devenir courante sur lInternet, m me e e sil est pour le moment moins r pandu que POP. e Le sch ma fonctionnel (gure 5.4) est beaucoup plus simple que celui des deux autres m e e thodes et ne n cessite pas la pr sence dun espace de travail x pour lutilisateur. En effet, e e e toutes les manipulations de messages (effacement, classement, etc.) sont effectu es par le e ` serveur IMAP a la demande de lutilisateur.

Utilisateur

Toute opration

Serveur IMAP (tout message)

Figure 5.4

Methode IMAP

Ce mod` le est parfaitement adapt au cas de lutilisateur itin rant qui nutilise pas dordinae e e teur portable mais qui se d place de site en site, ces sites pouvant se connecter de mani` re e e interactive au serveur IMAP. Lutilisateur na besoin davoir avec lui en permanence que le programme client (par exemple sur disquette) lui permettant de manipuler son courrier sur le serveur. ` Le protocole IMAP a de plus dautres avantages sur le protocole POP, a savoir : Un serveur IMAP peut construire une liste des messages et la transmettre au client, alors quun client POP doit r cup rer lensemble des messages an de constituer luie e m me cette liste ; e le protocole MIME (voir page page 240) est compl` tement int gr a IMAP, ce qui e e e ` ` signie quun utilisateur peut, par exemple, demander a ne voir que les petites parties ` de texte dun message sans avoir a en charger la totalit (il en d coule une economie e e ` parfois enorme de bande passante, appr ci e sur une ligne a bas d bit). e e e

194

Services de base

5.2.4 Choisir une m thode e


Comme on vient de le voir, il existe plusieurs m thodes adapt es a plusieurs situations qui e e ` peuvent etre fondamentalement diff rentes. Le tableau 5.2 r capitule les diff rents choix pose e e sibles en fonction des besoins. Bien evidemment, il est possible de congurer simultan ment e plusieurs m thodes, an de pouvoir accueillir un plus grand nombre de clients diff rents. e e
Utilisateur Fixe Itin rant e Itin rant e Poss` de un portable? e Oui Non Suggestion spool POP IMAP Installation tr` s facile e facile moins facile

ethode selon les cas de gure Tableau 5.2 Suggestion de m

5.3 Les echangeurs de courrier electronique


5.3.1 Le transit du courrier
Il existe plusieurs types d changeurs de courrier electronique, aussi appel s MTA (Mail e e Transport Agent), et plusieurs modes d changes. Ceux-ci sont d termin s par les champs e e e MX ou A du DNS (voir chapitre 4 page 145) ainsi que par des tables cod es ((en dur)) dans e les echangeurs autorisant un mod` le statique d change de courrier. e e ` Nous allons voir diff rentes mani` res de router un message a travers la matrice selon les e e congurations. Dans tous les cas, nous consid` rerons que le client, cest-` -dire le logiciel qui e a ` ` envoie le message a la demande de lutilisateur, sadresse a un serveur local qui d livrera le e courrier electronique directement ou indirectement au serveur distant. Dans certains cas, le r le du serveur local est jou par le client lui-m me, notamment dans le cas o` le client utilise o e e u directement le protocole SMTP (cest le cas par exemple dEudora ou de Netscape). Ces exemples ne sont pr sent s que pour illustrer le propos et ne pr tendent en aucun cas e e e constituer une liste exhaustive des possibilit s existantes de routage du courrier electronique. e

Acc` s direct e ` Le mod` le a acc` s direct est le plus simple a comprendre (voir gure 5.5 page suivante). Le e ` e ` serveur local cherche dans ses tables internes sil a le nom du serveur distant correspondant a ladresse de destination indiqu e, sinon, il cherche dans le DNS un enregistrement MX (Mail e ` e eXchanger) pour la machine cible ou, a d faut, un enregistrement A (adresse internet). D` s e lors quil a une adresse o` envoyer le message, il lenvoie (ou le garde pour lenvoyer plus u

Chapitre 5 La messagerie

195

tard si la machine destinataire est indisponible) et, dans le cas contraire, g n` re un message e e derreur indiquant que la machine cible est inconnue.

Expditeur (client) Systme local

Serveur local

DNS (MX ou A) ou table interne

Serveur destinataire

Figure 5.5

` Acces direct

Chemin Le plus souvent, une soci t ne souhaite pas que son serveur de messagerie central soit diee rectement accessible depuis lInternet (voir chapitre 14 page 427). Pour cela, les champs A ` et MX du DNS pointent sur un serveur (ou relais) expos qui peut, quant a lui, directement e acc der au serveur de messagerie destinataire (voir gure 5.6). e

Expditeur (client) Systme local

Serveur local

DNS (MX ou A) ou table interne

Serveur expos
table interne

Serveur destinataire Systme destinataire

Figure 5.6

Chemin obligatoire

La conguration du serveur expos est telle quil naccepte que les courriers venant de lexe ` t rieur et destin s a lint rieur ou vice versa (il ne route pas par exemple les courriers a e e ` e lint rieur de la soci t ). Cette conguration permet, en cas de probl` me de s curit , de coue ee e e e per l mission et la r ception de courrier entre lentreprise et le monde ext rieur tout en ne e e e perturbant pas les courriers internes. Duplication Il nest pas toujours possible datteindre directement (en SMTP) une machine destinataire ou son relais ofciel. Dans lexemple de la gure 5.7 page suivante, le serveur local peut, sil

196

Services de base

choisit de ne pas suivre les champs A du DNS, pr f rer la route SMTP secondaire pour le ee ` destinataire qui est cod e dans ses tables, a savoir la route vers la machine ((relais 2)). e
Systme local Expditeur (client)

Serveur local

SMTP (champ A)

SMTP (table interne)

Relais 1

Relais 2

table interne

table interne

Serveur destinataire

Figure 5.7

Duplication des routes

` Ce relais enverra ensuite le message a la machine destinataire. Si lexp diteur change la cone guration de son serveur local, il est possible que les messages suivants passent par ((relais 1)) au lieu demprunter la route pr c dente. Le m me sc nario peut se produire si lune des e e e e deux machines ((relais 1)) ou ((relais 2)) est inaccessible, ou encore si le serveur local, suivant la classication du message (urgent ou non urgent par exemple) d cide de suivre la route e directe, peut- tre plus co teuse nanci` rement ou la route indirecte qui utilise UUCP, plus e u e economique dans certains cas.

5.4 Conguration dun echangeur de courrier electronique : sendmail


Note pr liminaire e Il est possible de trouver sur lInternet des versions pr compil es de sendmail. Ceci peut etre e e un meilleur choix que de recompiler soi-m me sendmail, notamment sil manque des outils e ` n cessaires a la compilation (comme gcc pour certaines plates-formes). Si vous souhaitez utie ` liser une version pr compil e de sendmail, vous pouvez passer directement a la section 5.4.2 e e page 198 d crivant la conguration de sendmail. e

Dans cette section, nous allons d tailler linstallation et la conguration du programme sende mail pour plate-forme Unix. Cet echangeur de courrier electronique est, de loin, le plus r e pandu actuellement sur lInternet.

Chapitre 5 La messagerie

197

5.4.1 Installation
` Le programme sendmail, ecrit par Eric A LLMAN, est disponible gratuitement a lURL cidessous : ftp://ftp.cs.berkeley.edu/pub/sendmail. Le nom du chier contenant larchive est sendmail.<num ro de version>.tar.gz (par exemple, le nom de e chier sendmail.8.8.3.tar.gz sera utilis pour la version 8.8.3). e Il faut ensuite d compresser et d sarchiver le chier et se rendre dans le sous-r pertoire src e e e de la distribution :
% gunzip -c sendmail.8.8.3.tar.gz | tar xf % cd sendmail-8.8.3/src

e Si sendmail a et adapt a la plate-forme utilis e (ce qui est le cas de la plupart des syse` e t` mes Unix modernes), il suft de taper la commande makesendmail qui se trouve dans e le r pertoire courant. e e e e Ici, les exemples ont et r alis s sur Solaris 2.5.
% ./makesendmail Configuration: os=SunOS, rel=5.5, rbase=5, arch=sun4, sfx= Creating obj.SunOS.5.5.sun4 using Makefile.SunOS.5.5 Making dependencies in obj.SunOS.5.5.sun4 make: Nothing to be done for depend. Making in obj.SunOS.5.5.sun4 gcc -I. -O -I/usr/sww/include -DNDBM -DNIS -DNISPLUS -DSOLARIS=205 -c alias.c -o alias.o [...suite de la compilation...] ld: fatal: library -l44bsd: not found ld: fatal: File processing errors. No output written to sendmail make: *** [sendmail] Error 1

Si la compilation se termine sur une telle erreur, cela signie que la nouvelle librairie BIND nest pas install e sur le syst` me. Le chier Makefiles/Makefile.SunOS.5.5 doit e e e ` donc etre edit an denlever (aux alentours de la ligne 40) la r f rence a la librairie 44bsd ee comme indiqu dans le chier. Il faut ensuite relancer la compilation. e
% ./makesendmail Configuration: os=SunOS, rel=5.5, rbase=5, arch=sun4, sfx= Making in obj.SunOS.5.5.sun4 gcc -o sendmail alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o deliver.o domain.o envelope.o err.o headers.o macro.o main.o map.o mci.o mime.o parseaddr.o queue.o readcf.o recipient.o savemail.o srvrsmtp.o stab.o stats.o sysexits.o trace.o udb.o usersmtp.o util.o version.o -L/usr/sww/lib -lresolv -lsocket -lnsl -lelf groff -Tascii -mandoc aliases.5 > aliases.0 groff -Tascii -mandoc mailq.1 > mailq.0 groff -Tascii -mandoc newaliases.1 > newaliases.0 groff -Tascii -mandoc sendmail.8 > sendmail.0

Si le syst` me navait pas eu le programme groff install , la g n ration des pages de manuel e e e e aurait echou . Dans ce cas, il aurait fallu r editer le chier Makefile.SunOS.5.5 dans e e

198

Services de base

` le sous-r pertoire Makefiles an de demander a make dutiliser nroff -h au lieu de e groff -Tascii (comme indiqu dans le chier lui-m me). e e On peut maintenant installer sendmail, en utilisant toujours le m me script : e
% ./makesendmail install Configuration: os=SunOS, rel=5.5, rbase=5, arch=sun4, sfx= Making in obj.SunOS.5.5.sun4 /usr/ucb/install -o root -g sys -m 6555 sendmail /usr/lib for i in /usr/bin/newaliases /usr/bin/mailq; do \ rm -f $i; ln -s /usr/lib/sendmail $i; done /usr/ucb/install -c -o root -g sys -m 644 /dev/null \ /var/log/sendmail.st /usr/ucb/install -c -o root -g sys -m 444 sendmail.hf /etc/mail

Le nouveau sendmail est install (le plus souvent dans le r pertoire /usr/lib) avec des e e droits Unix corrects, ainsi que les diff rents liens (mailq et newaliases) dans /usr/bin e et le chier daide dans /etc/mail.
Attention Le programme sendmail est install , mais nest pas encore pr t a fonctionner. Il vous faut e e ` maintenant cr er un chier de conguration ; cela fait lobjet des deux sections suivantes. e

5.4.2 Principes de conguration de sendmail


Il y a des rumeurs qui ont la vie dure dans le monde de linformatique, et des petites phrases qui circulent sans cesse depuis de nombreuses ann es. Parmi elles, on trouve : e
( (

Celui qui a congur une fois sendmail connat tout de linformatique. e

) )

Au risque de d cevoir le lecteur, il faut bien dire que ceci na plus rien de vrai. Autant la e cr ation dun chier /etc/sendmail.cf (nom du chier de conguration standard de e sendmail) etait avant une v ritable croisade contre la machine, autant maintenant, gr ce e a au jeu de macro-commandes m4, cest devenu un v ritable jeu denfant. e En fait, la g n ration dun chier de conguration pour sendmail nest ni plus ni moins e e que de la programmation (simpli e a lextr me, avouons-le). En effet, le chier dentr e e ` e e ` (celui que nous avons a construire) peut etre aussi simple que :
OSTYPE(solaris2) FEATURE(nullclient, fenetre.fr)

` Par contre, la sortie du programme m4 ressemble a :


R$* < $* > $* <@> R$* :: $* <@> $: $1 < $2 > $3 $: $1 :: $2 unmark <addr> unmark node::addr

Chapitre 5 La messagerie

199

` Quand on sait que ce sont de tels chiers de conguration quil fallait avant produire a la main, on comprend mieux lhorrible r putation des chiers de conguration de sendmail. e

5.4.3 Cr ation dun chier de conguration e


Attention An de congurer sendmail, il est conseill (voire obligatoire sur certains syst` mes) e e dinstaller GNU m4, qui est une version gratuite de m4, les versions des construc ` teurs etant souvent probl matiques. Cette version est disponible en France a lURL e ftp://ftp.ibp.fr/pub/gnu.

Quelques g n ralit s concernant m4 e e e m4 est un processeur de macro-commandes, cest-` -dire quil consid` re lentr e standard, et a e e r agit selon le sch ma suivant : e e 1. Si le texte en entr e commence par dnl (Delete until next New Line), alors le reste de e la ligne est ignor e. Sinon, m4 passe au point suivant. e ` 2. Si le texte en entr e est a recopier sans modication (sil est entour par un backquote e e et un quote, comme dans ceci), alors il le recopie. Sinon, il passe au point suivant. 3. Si le texte en entr e est une commande connue, alors cette commande est ex cut e e e e (cela peut etre soit une commande utilisateur soit une commande pr d nie de m4) et e e son r sultat r interpr t a partir du point 1, sinon il passe au point suivant. e e ee` 4. Lentr e est recopi e telle quelle. e e Par exemple, le chier test dont le contenu suit :
abc(xxx) define define(abc, le param`tre est $1) e abc(xyz) abc(abc(lll))

` devient, a travers m4 :
% m4 < test abc(xxx) define le param`tre est xyz e le param`tre est le param`tre est lll e e

Comme on peut le remarquer, les chiers dentr e et de sortie pr sentent certaines similitudes, e e mais le chier dentr e a visiblement subi un traitement particulier. Cest justement le r le de e o ` m4 : appliquer certaines transformations a certaines parties dun chier.

200 Quelques explications sont n cessaires: e

Services de base

abc nest pas une commande m4, ni xxx. Ils sont donc recopi s tels quels ; e define est un mot cl m4 mais on la prot g en ecrivant define. Il est donc e e e recopi tel quel ; e la commande define d nit une nouvelle macro-instruction abc qui afchera la e chane le param`tre est $1, et remplacera $1 par largument de la commande, e puis repassera cette chane a travers m4 ; comme la d nition de la commande se ter ` e mine par un saut de ligne, une ligne blanche est afch e (voir ci-dessous pour apprendre e comment enlever cette ligne vide) ; la commande abc(xyz) devient logiquement le param`tre est xyz ; e la commande abc(abc(lll)) est transform e en la chane de caract` res abc(le e e param`tre est lll) qui devient donc, apr` s une nouvelle phase dexpansion, e e le param`tre est le param`tre est lll e e Comme nous lavons vu, la d nition dune commande imprime une ligne vide car il y a un e ` retour chariot a la n de la ligne. Comme indiqu page pr c dente, la pr sence du mot-cl e e e e e dnl permet de ne pas imprimer le reste de la ligne, notamment le retour chariot. ` En ajoutant dans notre chier test le mot-cl dnl a la n de la ligne d nissant la macroe e instruction abc (juste apr` s la parenth` se fermante, pour ne pas imprimer un espace), on e e obtient le r sultat escompt : e e
% m4 < test abc(xxx) define le param`tre est xyz e le param`tre est le param`tre est lll e e

Cr ation du chier de conguration e Les chiers de conguration de sendmail se trouvent dans le r pertoire cf de la distrie ` bution dont la structure est d crite gure 5.8. Ce r pertoire comprend a son tour un certain e e nombre de sous-r pertoires, dont le contenu est d crit dans le tableau 5.3 page suivante. e e

cf

cf

domain feature hack m4 mailer ostype


Figure 5.8

sh siteconfig

Structure du repertoire cf

Nous allons donc placer nos chiers de conguration dans le r pertoire cf/cf. Notre chier e ` aura un sufxe .mc, qui g n` rera, apr` s passage a travers m4, un chier avec comme sufxe e e e

Chapitre 5 La messagerie

201

` .cf. Cest ce chier qui sera ensuite install a lendroit o` sendmail le cherche, a savoir e` u /etc/sendmail.cf.
R pertoire e cf/cf cf/domain cf/feature cf/hack cf/m4 cf/mailer cf/ostype cf/siteconfig Contenu Fichiers de conguration Fichiers regroupant les caract ristiques dun domaine e Possibilit s offertes par sendmail e Possibilit s suppl mentaires e e Fichiers internes (` ne surtout pas modier) a ` D nition des protocoles de transport a utiliser e Caract ristiques des diff rents syst` mes dexploitation e e e Tables internes aux sites (par exemple tables UUCP)

Tableau 5.3 Sous-repertoires de cf

Commandes de base ` La premi` re commande a inclure dans le chier de conguration est celle qui permettra de e charger le chier contenant les d nitions de base de sendmail : e
include(../m4/cf.m4)

e e Toutes les autres commandes que nous allons utiliser maintenant auront et d nies par ce chier. ` Ensuite, il nous faut chercher le chier contenant les d nitions propres a notre syst` me e e dexploitation. Ces chiers se trouvent dans le r pertoire cf/ostype de la distribution de e sendmail et ont une extension .m4.
% ls ../ostype aix3.m4 amdahl-uts.m4 aux.m4 bsd4.3.m4 bsd4.4.m4 bsdi1.0.m4 bsdi2.0.m4 dgux.m4 domainos.m4 dynix3.2.m4 hpux10.m4 hpux9.m4 irix4.m4 irix5.m4 isc4.1.m4 linux.m4 nextstep.m4 osf1.m4 ptx2.m4 riscos4.5.m4 sco3.2.m4 solaris2.m4 sunos3.5.m4 sunos4.1.m4 svr4.m4 ultrix4.m4 unknown.m4

Dans notre cas (Solaris), nous choisissons le chier solaris2.m4. Il nous faut donc utiliser la commande :
OSTYPE(solaris2)

202

Services de base

e e (la commande OSTYPE, comme beaucoup dautres, a et d nie lors de linclusion du chier cf.m4). ` Maintenant, nous allons pouvoir ajouter, une a une, les fonctionnalit s souhait es. La liste e e suivante nest pas exhaustive mais devrait couvrir les besoins courants.

Choix des protocoles d change de messages e Il nous faut maintenant choisir les protocoles qui seront utilis s pour echanger les courriers e electroniques avec les autres machines, ainsi que pour stocker ( ventuellement) les messages e entrants dans les botes aux lettres des utilisateurs. Pour chaque protocole, il faudra ajouter une ligne dans le chier de conguration de la forme MAILER(nom) ou nom d signe le nom du protocole. Par exemple, si nous souhaitons ajoue ter le protocole (( local )), il nous faudra inclure la ligne suivante dans le chier de conguration :
MAILER(local)

(on peut ajouter dnl en n de ligne pour eviter davoir une ligne blanche dans le chier r e sultat). Quelques-uns des protocoles pr sents sont : e local : ce protocole d nit les mailers appel s (( local )) et (( prog )). Ceux-ci sont tout le e e temps n cessaires, sauf dans le cas o` tous les messages sans exception (y compris les e u messages derreur) sont renvoy s vers un autre site. e smtp : ce protocole d nit les mailers appel s (( smtp )), (( esmtp )) (Extended Simple Mail e e Transport Protocol), (( smtp8 )) (extensions 8 bits pour SMTP) et (( relay )). uucp : ce protocole d nit deux mailers, (( uucp-old )) (appel egalement (( uucp ))) et (( uucpe e ` new )) ((( suucp ))). Ils ne sont a inclure que si on souhaite pouvoir echanger du courrier ` a laide du protocole UUCP, ce qui est peu probable actuellement pour une entreprise. usenet : ce protocole est un peu sp cial : lorsquil est utilis , il ajoute un ensemble de r` gles e e e ` dans le chier de conguration de sendmail autorisant lenvoi de messages a ladresse electronique group.usenet@notre.site, sachant que ce courrier sera post aue tomatiquement dans le groupe de discussion (( group )) (voir chapitre 6 page 219 sur les forums de discussion). fax : ce protocole permet, si vous installez le logiciel HylaFax (anciennement FlexFax) de Sam L EFFLER, denvoyer des fax automatiquement lorsque vous envoyez un courrier ` e e electronique a un groupe dadresses donn . Ce protocole a et d velopp a lorigine e e`

Chapitre 5 La messagerie

203

` ` pour pouvoir envoyer a faible co t des fax a lint rieur des USA lorsque les communiu e cations locales sont pay es au forfait. e procmail : ce protocole pr sente une interface avec le programme procmail. Utilis avec e e loption FEATURE(local procmail) (voir ci-dessous), il vous permettra de b n cier dun syst` me de livraison local plus puissant, plus exible et plus s r. e e e u Choix des fonctions de sendmail Les fonctions de sendmail sutilisent sous deux formes diff rentes, avec ou sans deuxi` me e e argument. Par exemple, la fonction use cw file ne prend pas dargument, alors que la fonction mailertable en prend un :
FEATURE(use_cw_file) FEATURE(mailertable, dbm /usr/lib/mailertable)

` Voici les fonctions suivantes susceptibles d tre utiles a notre conguration : e use cw le : r cup` re la liste des machines pour lesquelles sendmail va accepter du coure e rier dans le chier /etc/sendmail.cw. Cela signie que, par d faut, sendmail e nacceptera des messages que pour la machine elle-m me, et pas pour les autres mae chines du domaine. use ct le : r cup` re dans le chier /etc/sendmail.ct la liste des utilisateurs que le e e ` ` programme sendmail doit autoriser a changer de nom (cest-` -dire a envoyer un a message depuis un autre nom sans rajouter de message davertissement). En g n ral, e e ce sont les logiciels de listes de diffusion qui doivent gurer dans cette liste. nouucp : permet de ne rien faire de sp cial avec les adresses UUCP. e mailertable : permet dutiliser la table indiqu e en second argument (sous la forme de la e chane (( dbm /usr/lib/mailertable )) par exemple) comme table statique in ` diquant les protocoles et arguments a utiliser pour un site ou une machine donn e. e domaintable : d nit (en utilisant la m me syntaxe que mailertable) une table de doe e maine, permettant notamment de g rer un changement de nom complet de votre doe maine (en cas de changement de nom de la soci t par exemple) de mani` re transpaee e rente. always add domain : ajoute le nom du domaine dans les messages echang s en interne. e Si cette fonction nest pas activ e, un courrier adress a utilisateur ne sera pas e e` r ecrit en utilisateur@fenetre.fr. e all masquerade : permet, si la macro-instruction MASQUERADE AS est appel e avec un e nom en deuxi` me argument, de changer le nom de la machine interne do` vient le e u ` courrier (ainsi que le nom des autres destinataires appartenant a la soci t ) en un ee autre nom (en g n ral, le nom de domaine de la soci t ). Par exemple, les courriers e e ee envoy s par utilisateur@machine.fenetre.fr apparatront comme venant e

204

Services de base
` de utilisateur@fenetre.fr. Des explications suppl mentaires a ce sujet sont e donn es ci-dessous. e

` nullclient : cette fonction, utilis e seule, suft a renvoyer tous les courriers vers la machine e dont le nom est donn en deuxi` me argument. Elle devra etre utilis e sur tous les postes e e e clients qui ont pour unique r le de renvoyer les messages vers un agent de transport o central. e local procmail : permet dutiliser le programme procmail comme d livreur de courrier ` local. Voir page pr c dente pour plus dinformations a ce sujet. e e bestmx is local : permet de prendre en compte le courrier de toutes les machines dont lenregistrement MX du DNS pointe sur la machine sur laquelle est lanc sendmail (voir e chapitre 4 page 145 pour plus dinformations sur la conguration du DNS). Cela per` e e met notamment de ne pas avoir a g n rer de chier sendmail.cw contentant la liste des machines locales. Prise en charge dun domaine complet Il est courant que, dans un domaine (par exemple fenetre.fr), une seule machine (dans notre cas courrier.fenetre.fr) soit charg e de d livrer les messages aussi bien locae e ` lement que vers lext rieur, toutes les autres machines sadressant a celle-ci. e An de cacher le nom de la machine r elle do` le courrier electronique est parti ainsi que e u le nom des machines que lexp diteur aurait pu inclure par erreur en mettant des personnes e de la soci t en copie, il faut utiliser les fonctions de masquage. Nous avons vu page pr c ee e e e dente comment lutilisation de la fonction all masquerade permettait dobtenir ce r sultat, nous allons d tailler ici un moyen de parachever luvre. e Tout dabord, nous utilisons la fonction all masquerade ainsi que MASQUERADE AS an de cacher le nom de nos machines en fenetre.fr.
FEATURE(allmasquerade) MASQUERADE_AS(fenetre.fr)

Par contre, la pr sence dautres stations Unix peut poser des probl` mes si par exemple les e e comptes admin et daemon envoient r guli` rement des messages g n r s automatiquement : e e e ee il peut etre n cessaire de savoir de quelle machine viennent pr cis ment ces messages. Pour e e e cela, nous devons ajouter ces deux noms dans la liste des utilisateurs dits (( expos s )), ceste ` ` a-dire que la fonction all masquerade ne sappliquera pas a ces adresses (en utilisant la commande EXPOSED USER qui prend comme argument une liste dutilisateurs s par s par e e des espaces) :
EXPOSED_USER(admin daemon)

Chapitre 5 La messagerie

205

De plus, on souhaite que les messages destin s au compte root soit d livr s localement (soit e e e dans la bote aux lettres de root, soit redirig s vers lalias local). On rajoute donc la ligne: e
LOCAL_USER(root)

dans le chier de conguration. Relais ` Certaines variables peuvent etre d nies a laide de la commande define de m4 pour indie ` sendmail les machines a utiliser comme relais. Un relais est un ordinateur auquel ` quer a ` seront envoy s sans traitement tous les messages appartenant a une cat gorie donn e. Ces e e e variables et les types de messages concern s sont r capitul s dans le tableau 5.4. e e e
Variable LOCAL RELAY MAIL HUB SMART HOST G` re les messages avec comme destinataire ... e ... adresse sans nom de machine ... adresse avec le nom de la machine locale ... adresse avec un autre nom de machine

Tableau 5.4 Conguration des relais

Noms dutilisateurs Un probl` me classique qui se pose dans une entreprise est (( Comment faire pour que les e messages semblent venir de ladresse Prenom.Nom@fenetre.fr plut t que de ladresse o utilisateur@fenetre.fr? )). Une des r ponses est lutilisation des bases de donn es e e utilisateur. ` Une base de donn es utilisateur est construite a partir du chier texte /etc/userdb et e g n` re un chier /etc/userdb.db en utilisant la commande makemap fournie avec e e sendmail. La compilation de makemap peut etre probl matique et nest pas aussi facile que celle de e sendmail. ` Dans le cas de Solaris, il est possible de compiler makemap a partir de la s quence suivante : e
% cd makemap % make -f Makefile.dist CC="gcc -DSOLARIS" LIBS="-ldb"

La base de donn es utilisateur (format textuel) doit avoir la forme suivante : e

206
utilisateur:mailname Prenom.Nom:maildrop Prenom.Nom utilisateur

Services de base

en rempla ant Prenom, Nom et utilisateur respectivement par le pr nom, le nom et le c e nom de compte de chaque utilisateur. La base sera construite par la commande :
% makemap btree /etc/userdb.db < /etc/userdb

` Ensuite, il faut indiquer a sendmail quil doit utiliser cette base de donn es. Il faut pour e cela ajouter dans le chier de conguration la ligne :
define(confUSERDB_SPEC, /etc/userdb.db)

Exemple complet de chier pour un serveur Nous allons congurer un serveur pour le domaine fenetre.fr (les messages apparatront depuis ce nom), en acceptant les messages dirig s vers nimporte quelle machine de cette e soci t (en supposant que le chier /etc/sendmail.cw contient la liste des machines de ee la soci t ). De plus, le nom du domaine devra etre ajout a tous les courriers, m me internes. ee e` e Bien entendu, nous souhaitons que les courriers des utilisateurs apparaissent comme venant de Prenom.Nom@fenetre.fr, et nous avons construit les chiers /etc/userdb comme indiqu page pr c dente. e e e ` De plus, nous voulons d livrer les courriers a laide du programme procmail que nous e avons pr c demment install . e e e Le chier de conguration est donc :
OSTYPE(solaris2) MAILER(local) MAILER(procmail) MAILER(smtp) FEATURE(allmasquerade) FEATURE(use_cw_file) FEATURE(always_add_domain) FEATURE(local_procmail) MASQUERADE_AS(fenetre.fr) define(confUSERDB_SPEC, /etc/userdb.db)

Exemple complet de chier pour une station secondaire Un serveur secondaire devra simplement renvoyer tout le courrier au serveur central de messagerie courrier.fenetre.fr.

Chapitre 5 La messagerie
Le chier de conguration est donc simple :
OSTYPE(solaris2) FEATURE(nullclient, courrier.fenetre.fr) MASQUERADE_AS(fenetre.fr)

207

5.5 Conguration dun serveur POP


Il existe trois versions du protocole POP : la premi` re, qui nest plus du tout utilis e, la e e deuxi` me (POP2) que lon trouve encore sur certains syst` mes et la troisi` me (POP3) qui e e e est actuellement la plus r pandue sur lInternet. e Le tableau 5.5 pr sente diff rents serveurs POP3 pr sents sur lInternet. e e e
Plate-forme Machines Unix DEC VAX IBM (mainframe) Windows 3.1 Windows 95 Windows NT Novell Macintosh Serveur POP3 propos e Popper version 2.2 IUPOP3 POPD SLmail16 (commercial) SLmail95 (commercial) SLmailNT (commercial) Mercury Apple Internet Mail Server Disponibilit e ftp://ftp.qualcomm.com/ ftp://ftp.indiana.edu/ ftp://vmd.cso.uiud.edu/ http://www.seattlelab.com/ http://www.seattlelab.com/ http://www.seattlelab.com/ ftp://ftp.qualcomm.com/ http://www.solutions.apple.com/

Tableau 5.5 Differents serveurs POP3

La proc dure dinstallation dun serveur POP3 est tr` s simple. Nous allons la d tailler pour e e e le serveur qpopper sur plate-forme Solaris. Tout dabord, il faut r cup rer le chier contenant qpopper par FTP sur le serveur de Quale e 6 comm , le d compresser et le d sarchiver: e e
% zcat qpop2.2.tar.Z | tar xf % cd qpopper2.2

` Ensuite, il est conseill d diter le chier make correspondant a la plate-forme d sir e (dans e e e e notre cas make.solaris2) ainsi que le chier popper.h an dy ajuster certaines variables si n cessaires ; on peut notamment souhaiter utiliser le compilateur cc de Sun au lieu e de gcc, qui est le compilateur choisi par d faut. e Pour cela, il faut, dans le chier make.solaris2, mettre en commentaire la ligne d nise sant gcc comme compilateur et la remplacer par une ligne d nissant cc : e
6. ftp://ftp.qualcomm.com/quest/unix/servers/popper/qpop2.2.tar.Z

208
#CC = gcc -g -fstrength-reduce -fpcc-struct-return CC = cc

Services de base

Pour construire le serveur, il suft maintenant dappeler make avec comme argument le nom du syst` me : e
% make solaris2 cc -O -DSOLARIS2 -DSYSV -DBIND43 -DHAVE_VSPRINTF -DAUTH -DMAILOCK -DDEBUG -DBINMAIL_IS_SETGID -DCONTENT_LENGTH=1 -DGNU_PASS -DNO_GETLINE -DAPOP=\"/etc/pop.auth\" -DPOPUID=\"pop\" -c flock.c -o flock.o [...] cc flock.o pop_dele.o pop_dropcopy.o pop_get_command.o pop_get_subcommand.o pop_init.o pop_last.o pop_list.o pop_log.o pop_lower.o pop_msg.o pop_parse.o pop_pass.o pop_quit.o pop_rset.o pop_send.o pop_stat.o pop_updt.o pop_user.o pop_xtnd.o pop_xmit.o popper.o pop_bull.o xtnd_xlst.o pop_uidl.o mktemp.o pop_rpop.o pop_apop.o md5.o -o popper.solaris2 -lsocket -lnsl -lresolv -lkrb -lmail

Le serveur est maintenant pr t a etre install . On peut, par exemple, linstaller dans le r pere ` e e toire /usr/local/lib, qui est le plus souvent utilis . e
% /usr/ucb/install -m 755 -o root -g other popper /usr/local/lib

Une fois que cela est fait, la mise en service se fait par lajout dune ligne dans le chier /etc/inet/inetd.conf 7, an dindiquer au syst` me que le serveur doit etre lanc lorse e quune requ te est faite sur le port correspondant : e
pop3 stream tcp nowait root /usr/local/lib/popper popper -s

Si le chier de d nition de services /etc/services ne contient pas le num ro de port e e associ au service POP3, il suft de lajouter : e
pop3 110/tcp # Post office protocol

Il faut maintenant envoyer au programme inet le signal SIGHUP an quil relise son chier de conguration :
% /usr/ucb/ps aux | grep inet | grep -v grep root 124 0.0 3.9 804 276 ? S 00:47 % kill -HUP 124 0:00 /usr/sbin/inetd

Le nouveau serveur est maintenant fonctionnel. D` s maintenant, les utilisateurs peuvent e congurer leurs logiciels lecteurs de courrier electronique pour quils pointent sur ce serveur.
7. /etc/inetd.conf sur certains syst` mes e

Chapitre 5 La messagerie

209

5.6 Conguration des postes clients


5.6.1 Netscape
Lutilisation de Netscape comme lecteur de courrier electronique simplie grandement la ` ` t che de ladministrateur syst` me, qui na a expliquer a ses utilisateurs que la conguration a e ` dun seul produit, puisque Netscape est disponible a la fois sur les machines Unix, les machines Windows (3.1, 95 et NT) et les Macintosh. ` La conguration se fait a travers linterface graphique de Netscape, par le choix (( Mail and e News preferences... )) du menu (( Options )). Il faut proc der en cinq etapes, que nous allons d tailler ci-dessous. e Longlet (( Appearance )) ` Les choix disponibles dans cet onglet sont pr sent s gure 5.9 page suivante. Lutilisateur, a e e partir de ce formulaire, peut congurer les param` tres suivants : e Apparence du message : vous pouvez choisir dafcher le message en police xe (police courier par exemple) ou en police proportionnelle. Le second choix est plus agr able e ` a regarder, mais il risque de casser les alignements volontaires qui auraient pu etre r alis s par lauteur du message. e e Apparence du texte cit : lorsquun auteur de courrier reprend dans son message une pare tie du texte auquel il r pond, Netscape permet de faire apparatre ce texte dune mae ni` re diff rente an de pouvoir facilement le distinguer de la r ponse elle-m me. Par e e e e exemple, sur la gure, on a choisi de mettre le texte en italique. Organisation des fen tres : les diff rentes fen tres de la messagerie de Netscape peuvent e e e etre align es horizontalement, verticalement ou afch es les unes sur les autres. Dans e e lexemple, les fen tres sont toutes align es sur lhorizontale. e e Longlet (( Compose )) Dans cet onglet, lutilisateur peut congurer les param` tres qui seront utilis s lorsquil come e ` posera un nouveau message ou une r ponse a un message existant. La gure 5.10 page suie vante montre une conguration possible de ces param` tres. e Lutilisateur peut donc congurer les param` tres suivants : e Type de message : lorsquun auteur de message souhaite utiliser les caract` res accentu s e e fran ais (ou tout autre caract` re ne faisant pas partie du jeu de caract` res am ricain c e e e ASCII), il se peut que le message ait besoin d tre recod dans un jeu de caract` res e e e moins etendu an d tre s r quaucune passerelle de messagerie neffacera les carace u t` res quelle pourrait juger illicites, cest le r le de loption (( Quoted Printable )). e o

210

Services de base

Figure 5.9

Saisie des param` etres de presentation des messages

Figure 5.10 Saisie des param` etres de composition

Chapitre 5 La messagerie

211

Cependant, aujourdhui tous les nouveaux syst` mes de messagerie install s autorisent e e les jeux de caract` res etendus, cest pourquoi il est conseill de choisir loption (( Allow e e 8 bit )). On peut egalement noter que lutilisation du format MIME dans les groupes de diffusion est en g n ral proscrit. e e Copie des messages : lutilisateur peut, sil le d sire, congurer Netscape pour quil lui ene ` voie une copie de ses propres messages, a des ns darchivage. Il peut m me envoyer e ` syst matiquement une copie a une autre adresse, par exemple le responsable des ree lations publiques de lentreprise qui stocke lensemble des messages envoy s par les e commerciaux. Citation automatique : lorsquun utilisateur a lhabitude de citer une partie du message au quel il r pond, il peut etre pr f rable pour lui de choisir loption de citation automae ee tique ; en effet, dans certains cas, il est plus rapide deffacer une citation quon ne souhaite pas inclure plut t que de cliquer sur loption correspondante dans Netscape o pour inclure explicitement une copie lorsquon en a besoin. Longlet (( Servers )) Cet onglet permet de congurer les adresses des diff rents serveurs utilis s pour lire ou ene e voyer des messages (voir gure 5.11 page suivante). Il est tr` s important de d nir correctee e ment ces param` tres sous peine de ne pas pouvoir lire ou ecrire de messages. e Serveur SMTP : ce champ doit contenir ladresse dun serveur SMTP, par exemple ladresse dune machine sur laquelle tourne le programme sendmail (voir section 5.4 page 196 pour la conguration dun tel serveur). Ce serveur doit etre capable, directement ou indirectement, denvoyer un message vers un utilisateur se trouvant dans la matrice. Serveur POP3 : dans cet exemple, on a choisi dutiliser un serveur POP3 pour lire le cour rier electronique (la section 5.5 page 207 indique comment installer un tel serveur). Il faut indiquer le nom de la machine sur laquelle tourne ce serveur, ainsi que le nom de la bote aux lettres dans laquelle les courriers destin s a lutilisateur sont d livr s. At e ` e e tention : en g n ral, ce nest pas ladresse sous la forme Prnom.Nom de lutilisateur, e e e mais son nom de compte Unix compos en g n ral dau plus huit symboles. e e e Taille maximum des messages : lutilisateur peut souhaiter ne pas recevoir de messages de taille trop importante, notamment sil est connect par modem par le r seau t l phoe e ee nique commut . Dans ce cas, il peut choisir une taille maximum de message accept , e e les messages trop gros etant ignor s. e Nettoyage de la bote aux lettres : il est possible de laisser les messages sur le serveur et de e ne pas les effacer m me une fois quils ont et rapatri en local ; ceci nest pas conseill e e e pour des raisons evidentes dencombrement de bote aux lettres sur le serveur. Pr sence de nouveaux messages : Netscape peut, si lutilisateur le souhaite, v rier toutes e e les n minutes si un nouveau message est arriv dans la bote aux lettres de lutilisateur e et len avertir.

212

Services de base

Figure 5.11 Saisie de la conguration des serveurs

` R pertoire de stockage : ce r pertoire contiendra, a terme, tous les messages que lutilisae e teur aura rapatri s depuis son serveur POP3. e Longlet (( Identity
) )

` Cet onglet afche une fen tre pr sent e gure 5.12 page ci-contre a partir de laquelle lutilisae e e teur peut congurer ses param` tres personnels, permettant aux destinataires de ses messages e ` de lui r pondre ou de savoir a quelle organisation il appartient. e Nom : cest le nom complet de lutilisateur (ici Luc S TONED) tel quil apparatra dans le message. Adresse electronique : cela peut etre nimporte quelle adresse valable pour lexp diteur. Par e exemple, Luc S TONED aurait pu choisir ladresse electronique ls@fenetre.fr (ls etant son nom de compte Unix et le nom de sa bote aux lettres), mais il a pr f r eee ` luc.stoned@fenetre.fr, le trouvant plus explicite et plus facile a retenir pour les destinataires de ses messages. Organisation : cette bote doit contenir le nom de la soci t . Il apparatra dans le champ ee ( Organization ) des courriers envoy s. ( ) e

Chapitre 5 La messagerie

213

Figure 5.12 Saisie des param` etres utilisateur

Fichier de signature : cest un nom de chier qui contient habituellement les coordonn es e professionnelles de lutilisateur, quelquefois associ es a une petite phrase philosoe ` ` phique ou humoristique. Attention toutefois a ne pas mettre un texte trop long sous ` peine de se le voir reprocher (voir section 5.7 a ce sujet).

Longlet (( Organization )) ` Contrairement a ce que le nom pourrait laisser croire, la fen tre afch e lorsque lon s lece e e ` tionne cet onglet na rien a voir avec lentreprise dans laquelle lutilisateur se trouve ; elle concerne lorganisation et la pr sentation des messages de lutilisateur. Un exemple de cone guration est pr sent gure 5.13 page suivante. e e Retenir le mot de passe : lorsque cette option est activ e, Netscape enregistre le mot de e passe de lutilisateur pour ne pas le lui redemander lors des connexions futures. Il faut savoir que cette option est fort pratique lorsque lutilisateur est la seule personne ` a utiliser la machine sur laquelle Netscape fonctionne, mais egalement tr` s dangereuse e ` car un utilisateur malicieux naura aucune difcult a aller lire ce mot de passe et a e` ` lutiliser plus tard a des ns plus ou moins avouables. Pr sentation sous forme darbre : cette option permet de pr senter les courriers successifs e e sous une forme hi rarchis e plut t qu` la suite les uns des autres. Cela permet, lorse e o a quon est abonn a des listes de diffusion, de suivre plus facilement le cours dune e ` ` discussion a laquelle participent de nombreux protagonistes. Tri des messages : les messages peuvent etre tri s selon diff rents crit` res qui permettent e e e par exemple de retrouver rapidement tous les messages venant dune personne donn e. e Le choix par d faut, qui est le tri par date darriv e, est le plus intuitif, et permet de e e suivre rapidement l volution dune discussion ou de reconstruire lhistorique dune e situation.

214

Services de base

Figure 5.13 Saisie des param` etres dorganisation

5.6.2 ELM
Le programme ELM est un client permettant de lire et denvoyer des messages en mode ter minal plein ecran, cest-` -dire quil est utilisable aussi bien dans une fen tre X-Window qu` a e a distance par modem. Ceci en fait le client favori des utilisateurs dUnix.

Installation ` ELM est disponible a lURL ftp://ftp.ibp.fr/pub/unix/mail/elm/. Linstallation se fait en suivant la proc dure suivante : e
% % % % mkdir elm cd elm gunzip -c ../elm2.4.tar.gz | tar xpBf ./Configure

Beginning of configuration questions for elm2 kit. First lets make sure your kit is complete. Looks good... Making bin directory Checking...

Checking your sh to see if it knows about # comments... Your sh handles # comments correctly. [...]

` Le programme dinstallation dELM demande ensuite a ladministrateur dindiquer ses choix, ` a travers une s rie de questions. Le tableau 5.6 page ci-contre d crit les principales parties e e congurables du syst` me. e

Chapitre 5 La messagerie
Option Utilisation du calendrier

215
Valeur conseill e e ` Lactivation de cette option permet a ELM de guetter dans les messages re us d ventuelles c e ` lagenda electronique commandes destin es a e du destinataire. Il est conseill de r pondre par lafrmative si e e lon ne sait pas, et de recongurer ensuite ELM si certains caract` res sont mal afch s. e e Normalement, le pr nom et le nom de lutilisae teur se trouvent dans le champ GCOS du chier /etc/passwd. Il est conseill dutiliser groff si celui-ci est e disponible, troff sinon. R pondre none est conseill . e e gcc sil est disponible, cc sinon. Laisser les valeurs propos es par le programme e de conguration. /usr/lib/sendmail. Il est conseill , sil est pr vu que des utilisateurs e e inexp riment s utilisent ELM, de ne pas autorie e ser cette option qui peut endommager la bote aux lettres. Lautoriser uniquement si le programme e metamail a et install . e /usr/local/bin est traditionnellement choisi.

isprint() fonctionne pour des caract` res 8 e bits Nom complet de lutilisateur

Programme de mise en page pour la documentation Mod` les de m moire e e Compilateur C Biblioth` ques additionnelles e Chemin du programme d livrant le courrier e Fonction d dition de bote aux lettres e

Support MIME Endroit o` placer les ex cutables u e

Tableau 5.6 Options de conguration dELM

Utilisation ELM se lance par la commande elm, avec, eventuellement, un nom de chier contenant une bote aux lettres pr c d de -f. Apr` s avoir propos de cr er un r pertoire dans lespace e e e e e e e privatif de lutilisateur destin a accueillir les dossiers contenant les messages class s, ELM e` e ouvre une fen tre en mode plein ecran telle que celle pr sent e gure 5.14 page suivante. e e e La lecture et le d lement dun message se font simplement en appuyant sur la barre despace. e Le fait dappuyer deux fois sur la touche (( ? )) permet dobtenir de laide sur les touches utilisables depuis ELM. Lenvoi de message se fait en appuyant sur la touche (( m )) et en suivant les instructions afch es. Lutilisation dELM est en fait sufsamment simple pour ne pas etre d taill e ici. e e e ` Notons simplement quen appuyant sur la touche (( o )) a partir du menu principal, on peut congurer un certain nombre doptions dELM (voir gure 5.15 page suivante).

216

Services de base

Figure 5.14 Fenetre daccueil dELM

Figure 5.15 Options dELM

5.7 Notions de n tiquette e


` A ses d buts, lInternet etait un lieu de rencontre privil gi de chercheurs, duniversitaires et e e e d tudiants qui etaient anim s par le m me d sir de d couverte. De plus en plus, la population e e e e e ` ` de lInternet tend a repr senter la population du monde r el, permettant ainsi a un grand e e nombre de personnes dutiliser les nouvelles technologies. Autant les premiers utilisateurs etaient empreints dune culture qui se transmettait facilement ` ` de bouche a oreille (il faudrait ecrire (( de clavier a ecran ))), autant larriv e massive de noue veaux individus n cessite une education cons quente an de rappeler les us et coutumes qui e e ont fait de lInternet un r seau convivial et utile. Il existe un RFC (le 1855) intitul (( Netie e ` quette Guidelines )). On d signe en effet par (( n tiquette )) l tiquette a respecter sur lInternet. e e e

Chapitre 5 La messagerie

217

Nous en rappelons ici les principes g n raux, dont tous les nouveaux utilisateurs devraient e e prendre connaissance.

5.7.1 Communication priv e e


` Les principes g n raux a suivre pour la communication priv e (cest-` -dire notamment le e e e a courrier electronique) sont les suivants : Le courrier sur lInternet nest absolument pas s curis ; d` s lors quun message peut e e e sortir de votre r seau, il est dangereux dy ecrire des choses que vous ne mettriez pas e sur une carte postale sans enveloppe. Il ne faut jamais r pondre aux (( lettres en chane )) qui polluent lInternet. Si vous ree ` cevez une telle lettre et que lon vous demande de la renvoyer a 5 autres personnes, ne le faites pas et pr venez votre administrateur syst` me, qui prendra les mesures n cese e e saires. La culture et les murs du destinataire de votre message vous sont peut- tre inconnus ; e ne prenez pas de risque en envoyant un message dont lhumour ou la l g` ret sont e e e susceptibles de choquer celui qui le re oit. c Inversement, acceptez le fait que dautres aient un humour diff rent du v tre, et ne vous e o offusquez pas trop facilement. Le mieux est dattendre le lendemain avant de r pondre e ` a un courrier de mani` re trop emotionnelle. e Gardez une trace des courriers que vous envoyez. Si un courrier de 500 lignes qui vous ` ` a pris la nuit a saisir est perdu a cause dune erreur dans ladresse du destinataire 8 , m me votre administrateur syst` me ny pourra rien. e e Il ne faut pas abuser des (( smileys 9 )), symboles permettant de rendre les messages plus e expressifs (visage souriant, visage pleurant, ...). Les caract` res (( :-) )) repr sentent e par exemple, si vous tournez le livre dun quart de tour sur la droite, une gure en train ` de sourire. La pr sence de ce symbole ne vous autorise pas a dire nimporte quoi. e Evitez les lignes de plus de 72 caract` res qui ne seront probablement pas pr sent es e e e ` correctement lorsque quelquun r pond a lun de vos messages. e Gardez votre signature relativement courte. Il est couramment admis quune signature de 4 lignes est un maximum.

5.7.2 Communication de groupe


` Toutes les r` gles de la communication personnelle sappliquent egalement a la communicae tion de groupe, que ce soit dans les listes de diffusion ou les forums. On peut y adjoindre les
8. Habituellement, le programme qui envoie les messages vous renvoie les courriers electroniques avec une adresse de destination invalide, mais ce nest pas une r` gle absolue. e 9. Appel s aussi ( sourillards ) ou ( emoticons ) par nos amis Qu b cois. e ( ) ( ) e e

218 suivantes :

Services de base

Suivez les discussions sur les groupes que vous venez de rejoindre pendant un minimum de temps an de savoir quels us et coutumes les r gissent. e M ez-vous de ce que vous ecrivez, encore plus que pour les messages personnels. e Vous risquez de choquer un plus grand nombre de personnes. Votre patron, pr sent ou futur, peut tr` s bien lire ou r cup rer les archives des groupes e e e e ` auxquels vous participez, donc faites attention a ce que vous postez. ` Ne r pondez a tout le groupe que lorsque votre contribution peut apporter quelque e chose ; nenvoyez pas non plus de messages disant seulement (( Moi aussi )). Lorsque vous nappliquez pas la r` gle pr c dente par erreur, envoyez imm diatement e e e e un message dexcuse au groupe. Pour les listes de diffusion, gardez une trace du message daccueil indiquant comment vous d sabonner. e

6
Les forums de discussion
Les s ances de travail collectif sur lInternet peuvent se d rouler de plusieurs fa ons ; parmi e e c elles, on trouve les listes de diffusion, les conf rences en temps r el (voir le chapitre sur e e le multicast page 379) ou les forums. Ces derniers font lobjet du pr sent chapitre ; ils sont e largement utilis s sur lInternet, car, contrairement aux listes de diffusion, ils ne n cessitent e e pas de proc dure complexe dabonnement ou de d sabonnement et ne risquent pas de saturer e e une bote aux lettres pendant les cong s de lutilisateur. e

6.1 La notion de forum


Les forums de discussion, aussi appel s (( Usenet news )), traitent de sujets aussi divers que e ` le langage de programmation Ada ou la cuisine a lancienne, en passant par la litt rature e ` fran aise ou le droit a la vie priv e dans les pays nordiques. c e Il existe plusieurs dizaines de milliers de groupes et il est parfois difcile de ne pas se noyer dans l norme liste que cela implique. e

` 6.1.1 Labonnement a un groupe


` Contrairement aux listes de diffusion, il ny a pas besoin de sabonner r ellement a un groupe e an de pouvoir le lire ou y ecrire. Le sch ma de la gure 6.1 page suivante d crit la diff e e e rence entre les deux syst` mes : alors que la personne abonn e a une liste de diffusion re oit e e ` c par courrier electronique tous les messages envoy s a cette liste, le lecteur dun groupe doit e ` ` effectuer la d marche consistant a aller lire les messages arriv s depuis la derni` re fois quil e e e a consult ce groupe. e

220

Services de base

Liste de diffusion

Expditeur Message Gestionnaire de liste Copie Destinataire Copie Destinataire Copie Destinataire

Expditeur

Forums

Message Serveur Usenet Lecture Lecteur Lecture Lecteur Lecture Lecteur

Figure 6.1

Listes de diffusion et forums

Chacun des deux syst` mes poss` de ses avantages propres : e e les listes de diffusion permettent une meilleure r activit au sens o` les abonn s sont e e u e ` pr venus a chaque fois quun participant poste un message ; e les forums de discussion permettent de ne participer au d bat que lorsquon le souhaite e et ne surchargent pas les botes aux lettres lorsquon nest pas joignable pendant un temps relativement long. Le logiciel permettant de lire les forums garde habituellement une liste des messages que lutilisateur a d j` lus dans le chier newsrc@.newsrc, ce qui lui permet, lorsque lutiliea ` sateur se connecte a nouveau au serveur, de ne lui pr senter que les messages arriv s depuis e e sa derni` re visite. e

6.1.2 Poster dans un groupe


` ` Lorsque lon souhaite participer a une discussion, il suft de poster un message a destination ` du groupe. Ce message pourra, a son tour, etre lu par toutes les personnes souhaitant consulter ` le groupe a partir de ce moment-l` . a

Chapitre 6 Les forums de discussion

221

Puisquil ny a pas de liste de personnes abonn es a un groupe, nimporte qui peut, a priori, e ` poster dans nimporte quel groupe. Ceci explique pourquoi on trouve actuellement tant de messages publicitaires envoy s plusieurs fois dans tous les groupes existants sans consid rae e tion aucune pour les destinataires : ces messages sont destin s a avoir la plus grande audience e ` possible, et les emetteurs ne se soucient gu` re de g ner les autres. De m me, on trouve soue e e ` vent des messages qui nont rien a faire dans un groupe donn , a cause de la m connaissance e ` e des contenus des groupes de la part dutilisateurs souvent d butants. Pour ces deux raisons, e ee e on peut appr cier lexistence de groupes dits (( mod r s )), qui permettent d liminer en partie e ces probl` mes. e

6.1.3 Les groupes mod r s e e


Certains groupes nacceptent pas les articles en provenance de personnes non identi es : e lorsque quelquun souhaite poster une contribution, il envoie un courrier electronique au mo d rateur qui, lui, est autoris a renvoyer larticle dans le forum. En fait, le courrier electroe e` nique est envoy automatiquement d` s lors quune personne non habilit e a poster dans le e e e ` groupe essaye de le faire sans passer par le mod rateur, comme indiqu sur la gure 6.2. e e
Expditeur Serveur (groupe non-modr)

Expditeur

Serveur (groupe modr)

Modrateur

Figure 6.2

Groupes mod es et non mod es er er

La mod ration pr sente evidemment des avantages et des inconv nients : e e e de par l limination des messages inopportuns, la mod ration augmente grandement le e e rapport signal sur bruit du groupe de discussion, le rendant en g n ral plus int ressant, e e e notamment lorsquil sagit dun groupe technique ; lorsque le mod rateur sabsente pour plusieurs jours, le groupe est bloqu et les ree e qu tes urgentes devront attendre son retour. Il y a egalement le risque de se brouiller e avec le mod rateur qui, pour des raisons personnelles, pourra abusivement refuser de e poster les nouveaux messages.

222

Services de base

6.1.4 Liste des groupes


Comme indiqu page 219, la liste des groupes est bien trop longue pour pouvoir etre reprise e dans sa totalit . Cependant lattribution de noms aux groupes respecte certaines conventions e ` permettant de cibler plus pr cis ment la recherche lorsquon veut acc der a un groupe traitant e e e dun sujet particulier. ` Le nom dun groupe est construit a partir dune structure hi rarchique coh rente ; par exemple, e e le groupe fr.comp.os.unix est un groupe francophone qui a comme sujet linformatique et plus pr cis ment les syst` mes dexploitation de type Unix. Le nom se d compose ainsi : e e e e fr : d signe un groupe francophone ; e comp : abr viation du mot anglais (( computing )), approximativement (( informatique )) ; e os : acronyme signiant (( operating systems )) cest-` -dire (( syst` mes dexploitation )) ; a e unix : Unix. Le tableau 6.1 donne la signication de quelques-uns des symboles que lon trouve dans la partie gauche dun nom de groupe.
Symbole alt comp de fr gnu it news sci soc uk Signication groupes alternatifs, traitant de tout groupes traitant de sujet informatiques groupes germanophones groupes francophones logiciels sous licence GNU groupes de langue italienne groupes traitant du syst` me de forum lui-m me e e groupes scientiques groupes traitant de sujets de soci t ee groupes anglophones egories Tableau 6.1 Groupes par cat

` ` Il est possible toutefois de trouver une liste des groupes r guli` rement remise a jour a lURL e e ftp://garbo.uwasa.fi:/pc/doc-net/newsgrps.zip. Cette liste ne contient cependant pas tous les groupes, notamment les hi rarchies nationales, comme les groupes dont e le nom commence par fr.

6.2 Propagation des messages


Les listes de distribution reposent sur un mod` le centralis : le message est envoy au serveur e e e ` qui g` re la liste, et le serveur le renvoie a tous les abonn s. Si le serveur est hors service, cela e e signie quaucun des lecteurs de la liste ne pourra recevoir de nouveau message.

Chapitre 6 Les forums de discussion

223

Les forums sont bas s sur un syst` me totalement diff rent ; lensemble des serveurs Usenet e e e forme un arbre orient comportant des redondances (voir gure 6.3). e Lorsquun utilisateur souhaite poster un message, il le fait aupr` s de son serveur Usenet le e ` plus proche ; son serveur le propage ensuite a dautres serveurs, qui eux-m mes le propagent e ` a dautres, etc.

Serveur Client Serveur Serveur Serveur

Client

Consultation en mode client/serveur Propagation de message

Figure 6.3

Graphe des serveurs Usenet

Chaque message poss` de un identicateur unique, le Message-Id. Lorsquun serveur A e ` propose a un serveur B un article qui poss` de un identicateur donn , le serveur B v rie tout e e e dabord dans son chier dhistorique quon ne lui a jamais pr sent ce message auparavant. e e Si ce message est nouveau, alors le serveur B choisit, en fonction de sa conguration, sil souhaite accepter ou non le message ; il le marque egalement comme etant connu dans son chier dhistorique. Cest ainsi que le r seau Usenet autorise les redondances sans faire de transferts de messages e inutiles ; un message peut potentiellement suivre plusieurs chemins, ce qui permet de r sister e aux mises hors service de certains nuds du r seau. e La gure 6.4 page suivante montre comment un message est propag en plusieurs etapes. Le e client envoie le message au serveur le plus proche (en g n ral un serveur local), qui le renvoie e e ` ` a dautres serveurs, qui le renvoient encore a dautres serveurs (selon la chronologie indiqu e e par des num ros). Comme on pouvait sy attendre, les etapes 4 et 4 echouent car les serveurs e ` a qui on propose le message en ont d j` connaissance auparavant. ea

224
2 1 Serveur Client 2 4 Serveur 4 Serveur Serveur 3

Services de base

Client Consultation en mode client/serveur Propagation de message

Figure 6.4

Propagation dun message

6.3 Cycle de vie dun article


Un article post dans un forum nest pas disponible ad vitam aeternam. Il suit un cycle de vie e qui est d termin par de nombreux param` tres. e e e

6.3.1 Propagation
Tout dabord, larticle doit etre propag entre les diff rents serveurs Usenet. Certains serveurs e e nacceptent que certains groupes, par exemple les groupes francophones (commen ant par c fr). Si lon souhaite garder la coh rence de chaque groupe (cest-` -dire que tous les serveurs e a transportant un groupe y voient les m mes articles) il faut sassurer que le graphe orient e e constitu des serveurs transportant ce groupe est connexe. e ` Toutefois lorsquun message est post en une fois a destination de plusieurs groupes diff e e rents, il suft quun serveur transporte un seul de ces groupes pour quil accepte le message ` et le repropage. Cest pourquoi un message post dans un groupe local a une institution sera e quand m me propag a lext rieur sil est post en m me temps dans un groupe national par e e` e e e exemple. Les m canismes de propagation entre les diff rents serveurs ne sont pas identiques ; certains e e serveurs s changent des messages en permanence en gardant etablie une connexion TCP e tandis que dautres les echangent par paquets en utilisant par exemple UUCP sur une ligne t l phonique. Cest ainsi que certains messages peuvent mettre plusieurs jours pour parvenir ee

Chapitre 6 Les forums de discussion

225

` sur tous les sites potentiellement int ress s, et que la r ponse a une question peut elle aussi e e e ` mettre enorm ment de temps, ce qui nuit parfois a linteractivit des discussions. e e

6.3.2 Effacement
Lorsque son auteur le souhaite, un article peut etre effac , notamment lorsque le r dacteur e e saper oit quil a post des informations erron es ; etant donn la structure r partie des serc e e e e ` veurs Usenet, il est impossible deffacer effectivement cet article de tous les serveurs a la fois. Cest pourquoi on propage un (( message de contr le )), qui est copi de serveur en serveur de o e la m me mani` re quun article. Lorsque le message de contr le arrive sur un site sur lequel se e e o trouve larticle quil doit effacer, il le supprime et larticle devient donc indisponible depuis ce serveur. Comme indiqu page ci-contre, les temps de propagation sur le r seau Usenet ne sont pas unie e formes et les liaisons les plus lentes (connexions par modem) sont g n ralement des feuilles e e de larbre ; cest pourquoi, en pratique, un message deffacement post peu apr` s le message e e dorigine a de bonnes chances darr ter en cours de route la propagation du message concern e e et donc d conomiser de la bande passante au lieu den consommer. e

6.3.3 Expiration
Le nombre de messages echang s chaque jour est consid rable ; il est bien entendu impossible e e ` de les conserver tous sans arriver a saturation, quelle que soit la capacit des supports de e stockage. Pour cette raison, Usenet utilise lexpiration des messages : chaque message sera, apr` s un e ` temps donn x par exemple a deux semaines, effac de la machine locale. e e e Cette fa on de proc der est avantageuse dans le sens o` la place est r serv e pour les mesc e u e e sages les plus r cents ; elle est par contre p nalisante pour lutilisateur lorsque celui-ci sabe e ` sente pendant un temps sup rieur a la p riode dexpiration, ce qui fait qu` son retour certains e e a messages ne lui seront jamais pr sent s. e e

6.4 Conguration dun lecteur de forums


Il existe de nombreux programmes permettant de lire et ecrire dans les forums de discussion. ` Toutefois, le programme le plus simple a utiliser est assur ment Netscape, qui permet e ` davoir un aper u rapide de la discussion en cours et de s lectionner a la souris les articles c e quon souhaite lire. La gure 6.5 page suivante montre un exemple de lecture de forums en utilisant Netscape.

226

Services de base

Figure 6.5

Lecture de forums avec Netscape

MIME ou 8 bits? ` Il est de tr` s mauvais go de poster un article a la norme MIME 7 bits dans les forums ; e ut ` lexp diteur un grand nombre de messages en retour dutilisateurs cela vaut en g n ral a e e e insatisfaits davoir lu dans leur groupe favori un message cryptique. Pour cela, il faut choisir, dans les pr f rences de Netscape, de poster en 8 bits an d viter les griefs des autres usagers ee e du r seau. e

` An dacc der au syst` me de forums, il faut indiquer a Netscape ladresse du serveur ; dans e e

Chapitre 6 Les forums de discussion

227

` notre cas, Luc S TONED a demand a acc der a lURL news://news.fenetre.fr/ qui e` e ` est ladresse du serveur de notre entreprise. A partir de ce moment l` , Luc S TONED peut a sabonner ou se d sabonner de certains groupes en utilisant les menus de Netscape. e ` Comme indiqu page 220, Netscape maintient a jour un chier appel .newsrc dans le e e r pertoire de lutilisateur. Un extrait de ce chier est pr sent ci-dessous : e e e
fr.education.medias: 1-12 comp.lang.ada: 1-41423 comp.lang.python: 1-12561 gnu.announce: 1-560 comp.emulators.announce: 1-122 fr.announce.divers: 1-2578 fr.announce.important: 1-15 fr.announce.newgroups: 1-450 fr.comp.infosystemes: 1-6043

Le premier champ de chaque ligne indique le nom du groupe, tandis que les nombres se r f` rent aux articles qui ont d j` et lus. Comme on peut le remarquer, ce ne sont pas les ee ea e Message-Id des articles qui sont enregistr s, mais des nombres qui ne sont en fait quune e num rotation propre au serveur de forums concern . Cela signie que lorsquon d sire chane e e ger de serveur de forums, il faut r initialiser cette liste au risque de relire une nouvelle fois e des articles d j` rencontr s. ea e

6.5 Conguration dun serveur : INN


e Le programme INN (InterNet News) a et ecrit par Rich S ALZ et est maintenu par lISC ` (Internet Software Consortium). La derni` re version est la 1.4sec, qui ajoute a la version e 1.4 des programmes plus s curis s. Il est capable d changer des messages en utilisant le e e e protocole NNTP et g` re egalement lexpiration des messages et la gestion des messages de e contr le. Il peut egalement archiver les messages de certains groupes ou avertir ladministrao teur de la pr sence de certains messages de contr le sp ciques. e o e
Note importante De m me que pour ( surfer ) sur le WWW il ny a aucun besoin dinstaller un serveur e ( ) WWW, il nest pas n cessaire dinstaller un serveur de forums pour lire les articles. Cette e partie nest int ressante que pour les sites qui souhaitent disposer eux-m mes de leur propre e e syst` me de forum. e

6.5.1 Installation
La compilation dINN nest absolument pas conviviale ; la conguration nest pas bas e sur e ` autoconf a la diff rence de la plupart des programmes destin s a etre install s sur une e e ` e grande vari t de plates-formes. Cest pourquoi il est grandement conseill de lire les FAQ ee e

228

Services de base

(Frequently Asked Questions) dINN an de ne pas perdre de temps durant la phase de conguration. ` Le programme INN peut etre r cup r , ainsi que des utilitaires relatifs a la propagation des foe ee ` rums de discussion, a lURL ftp://ftp.uu.net/networking/news/nntp/inn/. Linstallation d bute ainsi : e
% mkdir inn % cd inn % zcat ../inn1.4sec.tar.Z | tar xpBf % make Install.ms cat Install.ms.1 Install.ms.2 >Install.ms chmod 444 Install.ms

` Ceci construit la documentation relative a linstallation dINN. Elle est visualisable en mode texte avec la commande :
% nroff -ms Install.ms | more

ou, imprimable, lorsque le syst` me dispose de groff par la commande : e


% groff -ms Install.ms | lpr

La conguration se fait en modiant le chier config/config.data, qui doit etre copi e ` a partir du chier config/config.dist et en construisant le programme subst :
% cd config % cp config.dist config.data % chmod u+w config.data % make c CC=gcc gcc -o subst subst.c % vi config.data

` La premi` re chose a modier est la section correspondant au compilateur. Lorsque le syst` me e e dispose de gcc, il est conseill de lutiliser. e
## C compiler #### =()<CC CC @<CC>@>()= gcc

Toute la partie de la conguration concernant lemplacement des chiers, les propri taires et e ` les permissions ont des valeurs par d faut coh rentes. La seule op ration a effectuer concere e e nant cette partie est la cr ation dun compte news ainsi que dun groupe du m me nom ; e e cest sous cette identit que tourneront la plupart des programmes qui font partie dINN. Les e r pertoires utilis s par INN sont d crits dans le tableau 6.2 page ci-contre. e e e ` En ce qui concerne la partie de la conguration sp cique a la machine, il est conseill de e e sinspirer de la documentation fournie avec INN.

Chapitre 6 Les forums de discussion


R pertoire e /usr/local/etc /usr/local/news /var/log/news /var/spool/news Utilisation Programmes tournant en t che de fond a Fichiers administratifs de contr le dINN o Fichiers journaux R pertoire contenant les articles eux-m mes e e

229

es Tableau 6.2 Repertoires utilis par INN

Certains param` tres permettent de modier le comportement dINN et des programmes ase soci s ; ils sont d crits dans le tableau 6.3. e e
Variable CHECK INCLUDED TEXT MAX ART SIZE INND NICE KIDS Signication V rie que les articles contiennent au moins autant de texte orie ginal que de texte recopi . e Taille maximum en octets dun article. Il faut d nir cette variable si on souhaite que les processus e lanc s par INN ne prennent pas toute la puissance de la machine e (cas typique dune machine non d di e a Usenet). e e ` ` Charge a partir de laquelle INN refusera des nouveaux clients (-1 d sactive cette possibilit ). e e Nombre de connexions NNTP maximum. Unit s de disque qui doivent rester libres dans e /usr/spool/news. Unit s de disque qui doivent rester libres dans e /usr/local/news.

NNRP LOADLIMIT DEFAULT CONNECTIONS INNWATCH SPOOLSPACE INNWATCH LIBSPACE

Tableau 6.3 Modication du comportement dINN

Il faut ensuite modier le chemin de certains utilitaires, dont la position d pend de la cone guration du site. On peut maintenant compiler INN :
% make all [...] % make install /bin/sh ./makedirs.sh + [ ! -d /usr/local/man/man1 ] + [ ! -d /usr/local/man/man3 ] + [ ! -d /usr/local/man/man5 ] + [ ! -d /usr/local/man/man8 ] + [ ! -d /var/spool/news ] + [ ! -d /var/spool/news/news.archive ] + mkdir /var/spool/news/news.archive [...] % cd site % make install

230

Services de base

6.5.2 Conguration
Attention Les chiers de conguration dINN ne doivent pas etre modi s directement dans le r pere e toire dans lequel ils sont install s. La modication doit se faire dans le sous-r pertoire site e e de la distribution ; les chiers modi s seront install s avec la commande make update. e e

` INN se congure a laide de plusieurs chiers de conguration. Le plus compliqu a g rer e` e est probablement le chier neewsfeeds. Les lignes vides dans les chiers de conguration sont ignor es et celles commen ant par le caract` re (( # )) sont des commentaires. e c e Le chier expire.ctl Le chier expire.ctl contr le lexpiration des articles an de lib rer de la place disque. o e Il contient des enregistrements de deux formats diff rents : e Temps de m morisation dun article : comme indiqu page 223, un article reste dans lhise e torique dun serveur un certain temps, m me apr` s son expiration. Ceci est indiqu de la e e e mani` re suivante dans le chier de conguration : e
/remember/:days

o` days contient un nombre de jours (14 signiera que les Message-Id doivent etre m u e moris s pendant 2 semaines). e D lai dexpiration : des lignes compos es de 5 champs au format suivant g` rent lexpirae e e tion :
pattern:modflag:keep:default:purge

Ici, pattern d signe des noms de groupes s par s par des virgules et peut contenir des e e e noms g n riques (par exemple (( sci.*,fr.soc.* ))), tandis que modflag prend une e e des valeurs indiqu es dans le tableau 6.4. e
Symbole M U A Signication Groupes mod r s ee Groupes non mod r s ee Tous les groupes

Tableau 6.4 Valeurs du champ modflag

Les trois champs suivants, respectivement keep, default et purge, d terminent le d lai e e

Chapitre 6 Les forums de discussion

231

dexpiration et le respect ou non de len-t te eventuelle du message donnant une date dexpie ration : sil ny a pas de telle en-t te, alors le message expirera au bout de default jours, e sinon, il expirera au plus t t au bout de keep jours et au plus tard au bout de purge jours, o en essayant de satisfaire la valeur indiqu e dans len-t te. e e Un exemple de chier expire.ctl suit :
## Garder lhistorique pendant 5 jours /remember/:5 ## Respecter au maximum les en-ttes des groupes modrs e e e *:M:1:30:90 ## Les groupes non modrs expirent tous au bout de 3 jours e e *:U:3:3:3

Le chier hosts.nntp ` Ce chier contient la liste des machines autoris es a envoyer des articles a notre serveur. e ` Chaque ligne de ce chier contient deux ou trois champs : 1. le nom de la machine distante : ce doit etre un nom valide (r f renc dans le DNS), par ee e exemple news2.fenetre.fr ; ` 2. le mot de passe a utiliser pour la connexion, qui peut etre vide ; 3. la liste des groupes dans lesquels la machine distante peut envoyer des articles (ce champ est facultatif). Si on re oit les articles de notre fournisseur news.fournisseur.fr et quon ne souhaite c ` rapatrier que les groupes de la hi rarchie fr, le chier ressemblera a : e
## Accepter les groupes fr.* de notre fournisseur ## (sans mot de passe) news.fournisseur.fr::fr.*

Le chier inn.conf Ce chier contient les variables de conguration g n rales de notre syst` me de forums. Tous e e e les champs ont une syntaxe de la forme :
nom : valeur

o` nom est choisi dans le tableau 6.5 page suivante. u Exemple de chier de conguration :
## Configuration fromhost: moderatormailer: organization: server: domain: pour les machines *.fenetre.fr fenetre.fr %s@uunet.uu.net FeNETre Service Express news.fenetre.fr fenetre.fr

232
Attribut fromhost moderatormailer organization pathhost server domain mime-version mime-contenttype mime-encoding

Services de base
Signication Nom de la machine locale ` Machine a utiliser pour atteindre les mod rateurs e Nom de la soci t ee Nom de la machine apparaissant dans len-t te Path e ` Serveur NNTP a utiliser pour poster un article Nom de domaine ` Version du protocole MIME a annoncer ` Type de contenu MIME a annoncer ` Codage MIME a annoncer

Tableau 6.5 Attributs de inn.conf

Le chier moderators ` Ce chier contient la liste des mod rateurs associ s a chaque groupe. Il faut le demander a e e ` son fournisseur dacc` s. e Le chier newsfeeds La g n ration de ce chier constitue la partie la plus d licate de la conguration dINN. Etant e e e donn la longueur potentielle des entr es, toute ligne se terminant par le caract` re (( \ )) se e e e continue sur la ligne suivante, apr` s avoir enlev les espaces en t te de la ligne de continuae e e tion. ` Les entr es de ce chier d signent les machines a qui notre programme va renvoyer les are e ticles, en vue de leur propagation ; chaque entr e est constitu e de quatre champs : e e 1. ce champ contient le nom du site, et, eventuellement, plusieurs motifs s par s par des e e virgules apr` s une barre oblique ((( / ))). Si le chemin par lequel est pass le message e e contient d j` un de ces noms, le message ne sera pas propag . Lentr e ME a une siea e e gnication particuli` re : elle doit etre unique et plac e en t te du chier, et permet de e e e surcharger certaines valeurs de param` tres ; e 2. ce champ contient la liste des groupes valides pour lesquels on propage les messages ; sil est vide, cela signie tous les groupes. On peut exclure certains groupes en les ` pr xant par le caract` re (( ! )). Les groupes francophones a lexception des groupes e e informatiques seront par exemple d sign s par le motif (( fr.*,!fr.comp.* )) ; e e 3. ce champ contient des informations diverses, dont certaines reprises dans le tableau 6.6 page ci-contre. Il est indispensable de consulter la documentation de newsfeeds (on peut utiliser la commande (( man newsfeeds ))) pour avoir la liste exhaustive de ces param` tres ; e 4. ce champ (appel par la suite le champ (( param ))) contient des param` tres suppl e e e mentaires d pendant du type de canal utilis . e e

Chapitre 6 Les forums de discussion


Symbole <taille Ad Ap Gnombre Hnombre Nm Nu Tlettre Signication Taille maximum des articles N cessite une en-t te Distribution e e Pas de v rication de len-t te Path e e Nombre maximum de groupes pour cet article Nombre maximum de relais pour cet article Nenvoie que les articles dans les groupes mod r s ee Nenvoie que les articles dans les groupes non mod r s ee ` Type de canal a utiliser Tableau 6.6 Informations de propagation

233

Les diff rents types de canaux sont les suivants : e Le type vide (log feed). Ce type de canal ne fait rien dautre que d crire une ligne dans le e chier journal. Le type chier (le feed). Ce type de canal fait que INN se contente d crire dans un e ` chier dont le nom est donn en param` tre dans le champ param une ligne par article a e e ` poster a lext rieur. Si aucun nom de chier nest donn , alors le nom choisi est par d faut e e e /usr/spool/news/out.going/nom du site. ` Le type programme (program feed). A chaque fois quun article est disponible, le programme dont le nom est indiqu dans le champ param est lanc ; la succession de symboles e e ` ` ( %s ) sera remplac e par le chemin menant a larticle relativement a /usr/spool/news. ( ) e Le type canal (channel feed). Le champ param d signe ici un programme qui sera lanc e e ` une fois pour toutes et auquel on enverra sur lentr e standard une ligne a chaque fois quun e nouvel article sera disponible. Si le programme se termine, il sera relanc automatiquement. e Un exemple de chier newsfeeds est pr sent ci-dessous : e e
## Ne jamais renvoyer ce quil y a dans les groupes locaux ME:*,!fenetre.*\ :: ## ## Envoyer tous les articles ` notre fournisseur dacc`s a e news.fournisseur.fr/fournisseur\ :*\ :Tf,Wnm: ## ## Archiver tout ce qui passe dans fr.soc.divers en utilisant ## le programme /usr/bin/meta-archive archive\ :!*,fr.soc.divers\ :Tp,Nm:/usr/bin/meta-archive %s ## ## Archiver tout ce qui passe dans soc.culture.french en utilisant ## le programme /usr/bin/archive-and-forward archive\ :!*,soc.culture.french\ :Tp,Nm:/usr/bin/archive-and-forward %s

234 Le chier nnrp.access

Services de base

Ce chier contr le les acc` s en mode lecture au serveur de forums. Les lignes sont compos es o e e de cinq champs : 1. nom de la machine distante ; ce champ peut contenir des caract` res g n riques, comme e e e ( *.fenetre.fr ) ; ( ) 2. permissions ; R signie que le client peut lire les articles, P quil peut en envoyer. La ` pr sence des deux lettres indique que le client peut a la fois lire et envoyer des articles e ` a travers ce serveur ; 3. nom de lutilisateur lorsque lauthentication est utilis e ; e 4. mot de passe de lutilisateur lorsque lauthentication est utilis e ; e 5. liste des groupes auxquels lutilisateur peut acc der. e Si on souhaite par exemple que nos coll` gues de la soci t (( Toiture 2000 )) (domaine e ee toiture.fr) puissent lire les forums depuis notre serveur, il sufra dutiliser ce qui suit comme nnrp.access :
## Acc`s total depuis notre site e *.fenetre.fr:RP:::* ## Acc`s total depuis notre filiale italienne e *.fenetre.it:RP:::* ## Lecture uniquement pour nos voisins, sauf ## pour nos groupes locaux dont lacc`s est e ## interdit *.toiture.fr:R:::*,!fenetre.*

Le chier passwd.nntp ` Ce chier contient des lignes de quatre champs contenant les noms et mots de passe a utiliser lorsque notre serveur est contact par un client : e 1. 2. 3. 4. nom du client ; ` nom a utiliser lorsquon se pr sente ; e ` mot de passe a utiliser ; type dauthentication (optionnel).

6.6 Cr er un nouveau groupe francophone e


La proc dure de cr ation dun groupe varie selon les hi rarchies. Nous allons d tailler ici e e e e ` les etapes a suivre pour cr er un groupe francophone dans la hi rarchie fr. La proc dure e e e de cr ation est post e mensuellement dans le groupe fr.usenet.groups par Christophe e e W OLFHUGEL.

Chapitre 6 Les forums de discussion

235

6.6.1 Discussion pr alable e


` Avant toute chose, un appel a discussion 1 doit etre post dans le groupe de discussion nomm e e fr.announce.newgroups ainsi que dans tous les groupes dont le sujet est proche de celui du groupe quon souhaite cr er. Il est bien entendu possible de rendre larticle plus largee ment accessible, en le pla ant par exemple sur une page WWW ou en lenvoyant sur une liste c de diffusion traitant dun sujet connexe. Il faut egalement d nir len-t te Followup de telle e e mani` re que la discussion qui sen suivra se d roule dans le forum fr.usenet.groups. e e Larticle dorigine doit contenir la description d taill e du groupe ainsi que son type (mod r e e ee ou non mod r ) ; sil est mod r , le nom du mod rateur devra egalement etre pr cis . Il est ee ee e e e conseill de choisir un nom de groupe sint grant dans la hi rarchie existante an de garder e e e une structure de noms coh rente. e Si un consensus en faveur de la cr ation de ce groupe se d gage apr` s un d lai dau plus 30 e e e e ` jours, alors la personne proposant la cr ation du groupe doit poster un appel a voter 2 dans les e ` m mes groupes que lappel a discussion. e

6.6.2 Organisation du vote


` ` Cet appel a voter doit contenir de mani` re claire les instructions a suivre pour voter en faveur e ou contre la cr ation du groupe. La p riode de vote doit durer entre 21 et 31 jours inclus, e e m me si les r sultats interm diaires laissent deviner quil ny aura pas de surprise quant au e e e r sultat nal. e Durant la p riode de vote, il est possible de poster un r capitulatif des votes re us mais sans e e c en donner le contenu, cest-` -dire que le nom des personnes ayant vot peut etre publi (cela a e e e permet aux diff rents participants de v rier que leur vote a bien et pris en compte) mais e e que les choix individuels ou le score en faveur ou contre la cr ation du groupe ne doit pas e etre divulgu . e

6.6.3 Cr ation v ritable du groupe e e


` Si, a lissue de la p riode de vote, il y a au moins deux tiers des votes en faveur de la cr ation e e du groupe et au moins 30 votes de plus en faveur de la cr ation que contre, alors la cr ation e e du groupe est consid r e comme acquise. Le nom de tous les votants ainsi que leur vote doit ee etre post dans la liste de groupes utilis e ci-avant, an que chacun puisse v rier que son e e e e vote a bien et pris en compte correctement. Apr` s un d lai dune semaine, sil ny a pas dobjection susceptible dinvalider le vote, le moe e d rateur de la hi rarchie fr envoie un message de cr ation de groupe ; d` s que les diff rents e e e e e
1. En anglais, Request For Discussion ou RFD 2. En anglais, Call For Vote ou CFV

236

Services de base

serveurs de forums ont pris ce message en compte, le groupe peut etre utilis et sera propag e e normalement. Si le groupe doit etre mod r , le mod rateur doit envoyer ses coordonn es ee e e ` electroniques a ladresse fr-announce-newgroups@grasp.insa-lyon.fr an de congurer correctement les param` tres du groupe. e e Lorsque la cr ation dun groupe a et rejet e par le biais dun vote, aucune tentative de cr ae e e tion de ce groupe ne peut avoir lieu avant un d lai de 6 mois suivant la cl ture du vote. e o

` TROISIEME PARTIE

Services multimdias

Le World Wide Web et les services ` multicast mettent le multim dia a la e port e des Internautes : balade sur e ` les serveurs Web, participation a des vid o-conf rences et travail coop ratif e e e sont maintenant des activit s courantes e sur lInternet.

7
change de chiers
La plupart des services multim dias de lInternet sont fond s sur des formats d change bien e e e d nis, dont la vocation est, soit de permettre la transmission de donn es binaires sur des e e vecteurs de communication qui ne sont pas con us pour cet usage, soit dencapsuler les inc ` formations a transmettre dans des messages qui recensent leur type et leur provenance. Diff rentes techniques de codage sont utilis es, selon quil sagisse de transf rer des chiers e e e par email, par le news ou encore par le Web. De plus, il est souvent pr f rable darchiver, puis ee de compresser, des chiers ou des groupes de chiers de taille cons quente. e Ce chapitre pr sente les proc d s les plus communs utilis s sous Unix. Il d taille egalement e e e e e le standard MIME, dont limportance est certaine, puisquil sous-tend lensemble des communications du protocole HTTP utilis sur le Web. e

7.1 Encodage des chiers


Une partie des outils de communication traditionnels de lInternet est fond e sur la transmise ` sion ou la r ception dinformations purement textuelles, a partir du jeu de caract` res ASCII e e le plus simple : lettres (sans accents), chiffres et signes de ponctuation ou s parateurs. Ces cae ract` res sont cod s sur 7 bits, ils repr sentent la partie basse du jeu de caract` re ASCII etendu e e e e aujourdhui utilis sur les ordinateurs personnels. Les caract` res qui pr c dent lespace ainsi e e e e que certains s parateurs sont consid r s comme des codes de contr le ou des commandes et e ee o rev tent g n ralement une signication particuli` re. e e e e Pour transmettre des chiers quelconques (images, bases de donn es...) il est bien s r indise u pensable de se lib rer de cette contrainte du mode texte. Dans le cas de protocoles de transfert e

240

Services multim dias e

adapt s, tel FTP, la communication peut s tablir en mode binaire, permettant ainsi le passage e e ` de tous les codes possibles sur 8 bits. En revanche, dautres protocoles pr vus a lorigine pour e ne transf rer que des messages en clair ne peuvent reproduire directement ces codes sans rise quer de d former le contenu du message, voire lusage qui en est fait par les outils charg s de e e les traiter (ou de les afcher). Cest le cas des protocoles SMTP pour le courrier electronique et NNTP pour les news. Pour faire transiter un chier texte etendu ou un chier binaire par linterm diaire de ces proe ` tocoles, on fait appel a une m thode dencodage qui ram` ne tous les codes dans un intervalle e e ` ` ` autoris (par exemple le jeu de caract` res standard de A a Z, de a a z et de 0 a 9). Apr` s e e e transformation, le chier obtenu est de taille plus importante, puisquun caract` re illgal en e e mode texte doit etre par exemple cod sur deux caract` res lgaux successifs. e e e M me dans le cas dun chier texte, un tel codage peut sav rer n cessaire, an de permettre e e e une interpr tation correcte des caract` res accentu s. Le standard MIME, tout comme le stane e e dard HTML (le codage utilis pour le Web), d nissent des s quences de caract` res sp ciaux, e e e e e dites s quences d chappement, pour repr senter les accents sous forme dune s rie de cae e e e ract` res habituels. e

7.1.1 MIME (Multipurpose Internet Mail Extensions)


Le standard MIME d nit un ensemble de r` gles pour la mise en forme, la transmission, et e e lanalyse de messages pouvant contenir nimporte quel types de donn es. e En particulier, il offre la possibilit dint grer plusieurs documents dans un m me message, e e e ` de transmettre du son, des images, de la vid o, en evitant les pertes de donn es dues a la e e transmission de caract` res ill gaux, et il d nit une syntaxe pour repr senter un texte r dig e e e e e e dans plusieurs polices de caract` res diff rentes en conservant les polices en question. e e ` e Pour ce faire, un message MIME encapsule les documents a transmettre dans des el ments (entities) compos s chacun dun en-t te (header) et du document (body) concern . Len-t te e e e e ` d nit le type de m dia du message, et toute autre information servant a extraire le document e e ` et a linterpr ter correctement. Cette encapsulation est r cursive, cest-` -dire quil est possible e e a dencapsuler un message MIME dans un autre message MIME, sans limite th orique sur le e nombre de niveaux dencapsulation. ` Il sagit dun standard totalement ouvert, librement extensible : il est tout a fait possible dy ajouter un nouveau type de document m me si un tel type ne peut etre ofciellement ree connu comme appartenant au standard quapr` s laccord de Iana. e

Champ Content-type Le type dun document est d nit par le champ Content-type de len-t te qui laccome e pagne. Il est obligatoirement compos de deux parties, respectivement le type principal et le e

Chapitre 7 Echange de chiers

241

sous-type, et peut etre suivi de param` tres facultatifs qui pr cisent tel ou tel aspect du type en e e question : Content-type: image/gif ` Le type repr sente en quelque sorte la famille a laquelle appartient le document. Il peut sagir e dune image (image), dun texte (text), dun son (audio), etc. Le sous-type indique le format du document. Il permet ainsi de distinguer les diff rents fore mats de chiers images ou vid o, de la m me mani` re que par lextension du nom de chier. e e e Lensemble type/sous-type permet de savoir quelle utilisation doit etre r serv e au document. e e Ainsi, un message contenant du texte et une image pourra etre afch sous forme dune e page unique si loutil de visualisation le permet. On comprend que le protocole HTTP utilis e sur le Web se fonde sur le standard MIME, puisquune des caract ristiques principales des e navigateurs HTML est de pouvoir afcher simultan ment du texte, des images, voire des e animations ou des s quences vid os. e e La section 7.6.1 page 250 d crit la conguration des types MIME dans Netscape Mail. e Sept types principaux sont d nis dans le RFC 1341, document de r f rence concernant le e ee ` standard MIME. La liste ci-dessous ne cite que quelques sous-types a titre dexemple, en particulier les sous-types fondamentaux d nis dans le RFC en question. e multipart Un document composite incluant plusieurs parties de formats diff rents. Cest le type e ` g n ralement utilis pour attacher un chier a un email (par exemple, joindre une e e e ` feuille de calcul a un message texte : dans ce cas, le message multipart inclura un texte de type text/plain et un document Excel dont le type pourrait etre application/excel). mixed ` Un document contenant plusieurs parties de type diff rent, a afcher de mani` re s e e e quentielle. alternative Un document contenant plusieurs versions des m mes donn es (par exemple, une e e version Mac, une version PC...). parallel Un document composite dont les parties devraient etre afch es simultan ment. e e digest Un document contenant plusieurs parties de type message. La diff rence entre un e message multipart/mixed et un message multipart/digest est parfois assez subtile puisque les diff rentes parties dun message multipart/mixed sont e

242

Services multim dias e


g n ralement dot es dun champ Content-type. Essentiellement, elle r side dans e e e e le fait quun message au sens de lInternet ne peut pas toujours se concevoir comme un document d ni et localis (un chier). Par ailleurs, un message ne contient pas e e ` n cessairement des donn es, mais peut plut t etre une r f rence a un emplacement o` e e o ee u trouver ces donn es. La notion de message (au sens ARPA) est d nie dans le RFC e e 822.

message Un message encapsul dans le message courant. Comme nous lavons d j` dit, la e ea notion dencapsulation est r cursive. e partial e e Ce sous-type est destin aux messages qui ont et d coup s en plusieurs parties, an e e par exemple de faciliter lenvoi par email dun message trop long pour passer en une seule fois. external-body ` Ce type de message d signe une r f rence a un document situ quelque part sur lIne ee e ternet. Il permet en particulier d viter de transf rer un gros volume de donn es par e e e email alors quil serait pr f rable de les r cup rer par FTP, tout en pr cisant quand ee e e e m me dans un courrier electronique o` se trouvent ces donn es. e u e text Un document texte, de nimporte quel format. Il peut sagir dun simple texte ASCII, dun document rtf, dun document WinWord, etc. plain ` Un document texte lisible tel quel, sans quil soit n cessaire de faire appel a une e application sp cique, traitement de texte ou autre. Seul le jeu de caract` res peut e e ` varier dun document a lautre, il est indiqu en param` tre. e e Exemple : Content-type: text/plain; charset=iso-8859-1 Le document contient du texte pur, et le jeu de caract` res utilis est lISO latin-1 ou e e ISO 8859-1, le plus commun sur lInternet. html Un document destin au Web (le format HTML est d crit en d tail au chapitre 10 e e e page 319).

Chapitre 7 Echange de chiers


image

243

Un chier image, cest-` -dire tout document dont lafchage ou limpression n cesa e site un p riph rique graphique. e e gif, jpeg, tiff... Des chiers images dans lun de ces formats. audio Tout document (sonore) qui n cessite un p riph rique audio et un organe de restitution e e e (haut-parleur, ecouteurs, t l phone...). ee basic Les sons echantillonn s tels quels ou les chiers Unix (.au, .snd...) e video Toute image anim e eventuellement sonoris e. Ce type ninclut cependant pas les e e animations r alis es par programme (avec Java ou Shockwave) qui poss` dent alors le e e e type application, ni le GIF anim qui rentre dans la cat gorie image. e e mpeg Les chiers au format MPEG, sorte de jpeg anim . e application Nimporte quel type de donn es qui ne rentre pas dans les types pr c dents. Dune e e e mani` re g n rale, il ne devrait pas etre n cessaire de cr er un nouveau type, puisque le e e e e e type application peut recevoir tous les sous-types sp ciques. Dans la pratique, il est e cependant permis de cr er un nouveau type : par exemple, on a d ni x-world pour e e la cat gorie des chiers d crivant un environnement de r alit virtuelle (x-vrml en e e e e est un sous-type). octet-stream Ce sous-type particulier d signe un chier binaire pour lequel aucun traitement partie culier nest souhait . Le comportement par d faut est alors denregistrer le chier sur e e ` disque, eventuellement en demandant un nom de chier a lutilisateur. postscript Pour visualiser un chier PostScript, il faudra g n ralement une application ext e e e rieure, par exemple ghostscript.

244

Services multim dias e


` On pourra egalement ltrer le document a travers Acrobat Distiller qui produira un chier PDF (` consulter avec Acrobat Reader). Cependant la plupart du temps ce type a ` de chier sert a limpression ; selon le fonctionnement de loutil de mise en page il ` pourra etre n cessaire d crire le chier sur disque avant de lenvoyer a limprimante. e e

Pour cr er son propre type, il est recommand de d nir un nouveau sous-type dun des 7 e e e types principaux. Le nom de ce sous-type doit etre pr c d du signe x- qui indique que le e e e e type nest pas ofciel, cest-` -dire quil na pas et reconnu par IANA comme faisant partie a du standard. Netscape a par exemple d ni le type multipart/x-mixed-replace pour certaines e applications du Web. Ce type indique que le message contient plusieurs parties qui doivent ` etre afch es au fur et a mesure de leur r ception, chacune devant remplacer la pr c dente. e e e e La technique dite server-push, qui permet dins rer tr` s simplement des images anim es au e e e sein dune page Web, utilise ce type de message.

7.1.2 Echange de chiers cod s avec MIME e


Champ Content-Transfer-Encoding Ce champ MIME peut etre utilis dans les en-t tes de messages an dindiquer quel proc d e e e e e dencodage a et appliqu aux donn es contenues dans le document. Le standard MIME e e nimpose pas de proc d particulier, mais tente de limiter le nombre de proc d s et propose e e e e en particulier quelques solutions qui sont maintenant dusage courant. 7bit, 8bit et binary d signent des documents non encod s, ils servent en tant que simple e e ` indication des codes quon peut sattendre a trouver dans la suite du message. Un document 7bit ne contiendra que du texte US-ASCII (sans accents!), cest-` -dire le jeu a de caract` res standard des terminaux alphanum riques, et que la longueur des lignes de texte e e est limit e (ce qui peut etre important si les applications charg es dacheminer le message e e supposent une telle limitation : cest le cas pour les transferts en SMTP). ` Un document 8bit pourra contenir des caract` res dont le code est sup rieur a 127, mais la e e longueur des lignes sera toujours limit e, tandis quun document binary risque de contenir e des lignes trop longues pour certaines applications charg es de transf rer le message. Ces e e valeurs ne devraient actuellement pas etre utilis es avec les email ou les news puisque il nest e pas pr vu que les messages echang s par ces voies puissent contenir des donn es sur huit bits. e e e ` e Les clients tels que Netscape Mail proposent une option a d nir pour autoriser ou interdire lutilisation du format 8bit. ` Lencodage base64 fournit un r sultat comparable a celui obtenu avec uuencode (voir e la section 7.3 page 246). Les caract` res sont cod s pour etre ramen s dans la plage des cae e e ract` res ASCII afchables, et les lignes de texte obtenues sont limit es a 60 caract` res. Pour e e ` e 3 bits en entr e, on obtient 4 bits en sortie. Ce qui, si on ajoute linformation de contr le et les e o

Chapitre 7 Echange de chiers

245

sauts de ligne, repr sente environ 35% dination en taille. Tous les caract` res sont encod s e e e syst matiquement, y compris le texte pur. e Exemple de chier compress avec gzip, puis cod en base64 par Netscape Mail e e
Content-Type: application/x-gzip Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="fichier.gz" H4sICJvZdDEAAzA1YXByMTk5NgDs/WuP5MiRJox+L+D9D4MX6P6izEjSeW+goaNZqbU7uzuj o9HszuDFQYIZwcxkVUQwmmRkVunD/vbjTkZkRrqZu5u5M0o6ODOj7rp0lT30m7m5XR7bfuv2 sYhWm7FfPfb/cCv///+JsrvfHfq7uKryn6Jo+p/4h99EcRT9f/7h//7jH/7yD3cP9dOxGcfm bt3tdt3+rt2Pd9t2GFdP7eM//Ne//OVPd/Eq+r//QUTRP4gkij4dDofbqrwVcbnaN8d2u/22 Wm+PD7fy7zX9vhlt0LkOvd809fH8Y4VAxqKKyzfMJOVjFh8xd23f3B266W9ieGmVhgwxTj7C PXb79djKae2b9XPTy39Wz+Nuq6GmUSpCBhln1olN0YmV//ep6+W3rV67frtRCPIfKsTwbaw3 7f7u0K6Hu0PdtwMGEuUiPg8sFtnSAxMIZpGX1adxKG4PiTwKbb09Hlbta/3NhpJbxvbU7Ju+ 3mKjS5KyDNoslWGzyL92/9xsD+jw4uRtRquEjSmij5hgJ2bZJxFlqzjPV3EiViJJjKLij6IO [...]

Figure 7.1

Exemple de chier compress avec gzip puis cod en base64 e e

Le champ Content-type pr cise que le chier doit etre envoy a la commande gzip (` e e` a e condition que lapplication qui doit lire ce message ait et correctement congur e dans les e associations extensions de chiers vers types MIME). ` Le champ Content-transfer-encoding indique quant a lui quil faut d coder le mese sage base64 avant toute utilisation. e Le champ Content-disposition a et ajout par Netscape Mail, il indique en particue e ee lier que le contenu du chier attach au message a et ins r directement dans lemail (par e ` ` opposition a un lien ou a un message encapsul ) et que son nom initial etait fichier.gz. e Il est possible de d nir de nouveaux proc d s dencodage et de les pr ciser dans le champ e e e e ` Content-Transfer-Encoding, a condition de les faire pr c der du signe x-. Tous les e e autres noms sont r serv s par IANA et sont donc interdits. e e

7.1.3 Codage des messages avant leur envoi


Le protocole SMTP ne pr voit pas que des messages email contiennent autre chose que des e ` caract` res ASCII. D` s quon souhaite transmettre a travers le r seau un document contenant, e e e soit des accents, soit des donn es binaires, et si lon nest pas s r que les diff rents noeuds e u e travers s par le message ne risquent pas de d former le message en clair, il faut passer par un e e syst` me dencodage. e Les clients r cents, tels Netscape Mail et Eudora Pro, encodent automatiquement les docue ments avant de les envoyer. Il nest donc plus n cessaire de se pr occuper de ces probl` mes, e e e sauf pour sassurer que le destinataire du message sera en mesure de le d coder. e

246

Services multim dias e

7.2 Codage des accents selon le standard MIME


7.2.1 Le format Quoted-Printable
Dans le standard MIME, le champ Content-Transfer-Encoding peut prendre une valeur particuli` re destin e aux documents compos s pour une majeure partie de texte normal, e e e enrichi de quelques caract` res sp ciaux ou accentu s. e e e Cest cet encodage particulier, Quoted-Printable, qui sera utilis pour transmettre un e texte. Il permet d viter lutilisation pour un document texte de lencodage base64, qui e augmente singuli` rement la taille du document, quel que soit son type. En revanche, sil peut e egalement etre appliqu a des documents binaires, on lui pr f rera dans ce cas le format e ` ee base64. Avec cette technique, les caract` res sp ciaux sont remplac s par la s quence d chappement e e e e e =nn o` nn est le code du caract` re en notation hexad cimale. De plus, la longueur maximale u e e dune ligne est de 76 caract` res : si une ligne sav` re etre plus longue, elle doit etre coup e en e e e plusieurs lignes se terminant par le signe =. Les sauts de ligne sont repr sent s par la s quence e e e CR+LF (retour chariot + saut de ligne), standard sous DOS/Windows mais qui apparat sous Unix comme un double saut de ligne. Ainsi le texte suivant : Plus loin dans la vall e se trouve une cahute. Pas de vitres aux fen tres, pas de serrure e e aux portes, chacun peut y entrer, sy plaire, et y dormir. sera transform en : e Plus loin dans la vall=E9e se trouve une cahute. Pas de vitres aux = fen=EAtres, pas de serrure aux portes, chacun peut y entrer, sy plaire, = et y dormir. Notons que bien evidemment le signe = doit lui-m me etre encod (en =3D). e e

7.3 Echange de chiers cod s avec uuencode/uudecode e


La commande uuencode disponible sous Unix permet dencoder un chier selon des r` gles e apparent es a celles utilis es en codage base64. Tous les caract` res du chier r sultant sont e ` e e e afchables sur un terminal classique, et les lignes ne d passent pas 60 caract` res (61 avec le e e premier caract` re de contr le). e o

Chapitre 7 Echange de chiers


begin 644 websites M2F%V82F(%9234P*"D-U<G)E;G0@5E)-3"R+C@05!)"G)E86QI=DN<V=I M+F-O;2]E;7!L;WEE97,O9V%V:6XO=G)M;"]!<&DN:1M;I#=7)R96YT(%92 M34P@,BXP(!R;W!O<V%L"G)E86QI=DN<V=I+F-O;2]E;7!L;WEE97,O9V%V M:6XO=G)M;"]"96AA=FEO<G,N:1M;I!8W1I=F564DU,("A-:6-R;W-O9G0I M(!R;W!O<V%L"G=W=RYM:6-R;W-O9G0N8V]M+VEN=&1E=B]T96-H+FAT;0I3 M1TD@<F5S<&]N<V4@=&\@06-T:79E5E)-3IR96%L:71Y+G-G:2YC;VTO96UP K;&]Y965S+V=A=FEN+W9R;6PO06-T:79E5E)-3%)E<W!O;G-E+FAT;6P*"FUP end

247

Figure 7.2

Exemple de chier cod avec uuencode e

Comme on peut le voir sur lexemple 7.2, un chier cod avec uuencode commence par e un en-t te de la forme begin nnn nom.de.fichier et se termine par une ligne end. e Le nombre nnn est exprim en octal : il sagit tout simplement des permissions associ es au e e chier encod . e ` La commande prend un ou deux param` tres, respectivement le chier a encoder et le nom de e ` ` chier a inscrire dans len-t te. Le nom du chier a encoder est facultatif, sil nest pas pr cis e e e ` cest lentr e standard qui sera utilis e. Quant au nom de chier, sa fonction est dindiquer a e e la commande uudecode, linverse de uuencode, sous quel nom le chier doit etre extrait. La commande uudecode lit le chier dont le nom est pass en param` tre et extrait les e e informations d cod es dans le chier dont le nom est pr cis dans len-t te. e e e e e

gide: /encode$ cat texte Plus loin dans la valle se trouve une cahute. Pas de vitres aux fentres, pas de e e serrure aux portes, chacun peut y entrer, sy plaire, et y dormir. gide: /encode$ uuencode texte vallee.txt > vallee.uu gide: /encode$ cat vallee.uu begin 644 vallee.txt M4&QU<R!L;VEN(&1A;G,@;&$@=F%L;.EE(-E(1R;W5V92!U;F4@8V%H=71E M+B!087,@9&4@=FET<F5S(&%U>"!F96[J=)E<RP@<&%S(&1E(-E<G)U<F4@ M875X(!O<G1E<RP@8VAA8W5N(!E=70@>2!E;G1R97(L(,G>2!P;&%I<F4L .(&5T(D@9&]R;6ER+@IA end gide: /encode$ uudecode vallee.uu gide: /encode$ cat vallee.txt Plus loin dans la valle se trouve une cahute. Pas de vitres aux fentres, pas de e e serrure aux portes, chacun peut y entrer, sy plaire, et y dormir. gide: /encode$ tar cf - projet web | gzip -9 | uuencode projet web.tar.gz | mail rousseau@fenetre.fr

Figure 7.3

Utilisation des commandes uuencode et uudecode

248

Services multim dias e

7.4 Utilisation du jeu de caract` res ISO-latin-1 e


Avec la g n ralisation des caract` res accentu s, une norme ISO sest impos e : le jeu de e e e e e caract` res iso-latin-1 (ou iso-8859-1 ou ANSI). Cest ce jeu qui est aujourdhui e largement exploit dans les emails et sur le Web, sans quil soit n cessaire dutiliser un encoe e dage sp cial. e Il est support sur les syst` mes de type Unix gr ce a de nombreux outils permettant dadapter e e a ` les diff rentes applications dafchage, et cest le jeu de caract` res standard sous Windows e e (ceux de MS-DOS, OS/2 et MacOS sont en revanche sensiblement diff rents). e

7.5 R cup ration de donn es provenant de syst` mes dont le e e e e jeu de caract` res est incompatible e
Il est courant de rencontrer quelques probl` mes de lisibilit lors de la r ception dun message e e e ` provenant dune machine tournant sous un syst` me diff rent : cest le cas sous Windows a la e e lecture dun email ecrit sur Macintosh ou OS/2. e Sur la gure 7.4, les caract` res anormaux ont et remplac s par des traits de soulignement. e e
Version cod e MIME sous OS/2 e Je vous confirme lenregistrement de votre = soci=82t=82 =85 notre s=82minaire = technique=20 du 15 juillet.

Afchage sous Windows Je vous confirme lenregistrement de votre soci_t_ _ notre s_minaire technique du 15 juillet.

Figure 7.4

Incompatibilit entre les jeux de caract` es eres

` ` La solution a ce type de probl` me est soit de demander a lexp diteur dutiliser le jeu de cae e ract` res iso-latin-1, g n ralement disponible dans la conguration des outils d dition e e e e demails, soit de mettre en place un utilitaire de traduction. Certaines applications permettent de lire des chiers texte provenant dautres syst` mes en e convertissant les caract` res accentu s correctement, mais ce type de manipulation peut sav e e e e e e rer fastidieux. Dans tous les cas, il reste indispensable de savoir sous quel syst` me a et r dig e le document... La liste des principaux jeux de caract` res quon peut etre amen a rencontrer se trouve dans e e` le RFC 1345.

Chapitre 7 Echange de chiers

249

,62ODWLQ 0DFLQWRVK

,62ODWLQ 0DFLQWRVK

,62ODWLQ 0DFLQWRVK

,62ODWLQ 0DFLQWRVK

                               

 k b m e j | l h f

                               

                               

d c i }

                               

b c d e f g h

                               

o n

p q t r s u x v w  { z y ~

                               

j i k m l n o q p r s u t v w x z y { } |  ~

                               

                               

eres iso-latin-1 et mac Tableau 7.1 Correspondance entre les jeux de caract`

250

Services multim dias e

` Il existe un utilitaire GNU pour transformer des chiers en passant dun jeu a lautre. Son nom est recode (il est accessible par FTP sur les archives GNU ou les sites miroirs, par exemple ftp.ibp.fr/gnu/). Il reconnat la plupart des jeux de caract` res d crits dans le e e ` RFC 1345, soit pr` s de 150 jeux diff rents, et doit donc pouvoir r pondre a la quasi totalit e e e e des besoins en la mati` re. Il tourne sous Unix, mais des versions DOS et OS/2 sont egalement e disponibles.
gide: /encode$ cat frompc.txt Je vous confirme lenregistrement de votre socit notre sminaire technique du 15 juillet. Merci et bientt. gide: /encode$ recode mac:latin1 frompc.txt gide: /encode$ cat frompc.txt Je vous confirme lenregistrement de votre socit ` notre sminaire technique du 15 e e a e juillet. Merci et ` bientt. a o

Figure 7.5

Utilisation de la commande recode pour changer de jeu de caract` ere

7.6 Conguration des types MIME et des polices de caract` res dans les clients (email ou web) e
` On laura compris, un type MIME correspond a peu de choses pr` s a lextension dun nom e ` de chier. Dans la pratique, cest par cette m me correspondance que les applications d tere e minent sous quel type MIME pr senter tel chier. e Cette section d crit la conguration de Netscape Mail pour ce qui concerne les types MIME, e quil sagisse denvoyer ou de recevoir un document. La conguration dEudora Pro est tout ` a fait similaire. Lorsquon souhaite envoyer un document (par exemple une image, un chier GIF, disons maison.gif) par email, le programme charg de lencapsulation va lire le chier, evene tuellement lencoder (par exemple en base64), et lenvoyer apr` s avoir choisi le type MIME e ad quat dapr` s lextension. e e ` ` A linverse, a la r ception, le client va d terminer quel usage r server au chier selon le e e e type MIME. Les tables qui associent les extensions de chiers aux types MIME, et les types ` MIME aux actions a mener, sont contenues dans des chiers de conguration.

7.6.1 Conguration des types MIME sous Netscape


Sous Netscape 2.x (version anglaise), les types sont congurables directement par linterm e diaire du menu Options/Preferences, dans longlet Helpers.

Chapitre 7 Echange de chiers

251

Figure 7.6

Conguration des types MIME sous Netscape Navigator

` e On y retrouve les types/sous-types, les actions a d clencher pour chacun de ces types, et les extensions des chiers. Quatre actions sont possibles : View in Browser, qui nest disponible que pour les types r ellement afchables e dans la fen tre du navigateur, cest-` -dire le texte, les documents HTML, et certains e a formats dimages. Save to Disk, qui doit etre choisie lorsquon souhaite conserver le chier ou lors` quil nest pas possible de lenvoyer directement a une application : par exemple un chier compress avec gzip devra etre d compress en ligne de commande. e e e Unknown: Prompt User, le choix par d faut, qui d clenche lafchage dune e e ` bote de dialogue pour demander a lutilisateur ce quil souhaite faire du chier (len ` voyer a une application, lenregistrer sur disque...). ` Launch the Application, qui indique le programme a lancer pour traiter ou af` cher le document. Par exemple, Netscape associe par d faut le type audio/* a lape plication naplayer qui nest autre quun utilitaire destin a faire entendre le contenu e` dun chier son.

252

Services multim dias e

Figure 7.7

Bote de dialogue Netscape (type de chier inconnu)

Pour ajouter un nouveau type MIME, il suft de cliquer sur le bouton Create New Type. Une fen tre permet de saisir le type et le sous-type. e

Figure 7.8

Ajout dun nouveau type MIME sous Netscape Navigator

7.6.2 Conguration des polices sous Netscape


Longlet Fonts du menu Options/Preferences de Netscape permet de sp cier les jeux de e ` caract` res a utiliser a lafchage, tant pour les messages (email, news) que pour le Web. Il est e ` utilis conjointement avec les entr es du menu Options/Document Encoding qui permettent e e de changer de jeu de caract` res. e Ainsi, pour visualiser un document r dig dans un jeu de caract` res Cor en il faudra s lece e e e e tionner ce jeu de caract` res (Options/Document Encoding/Korean) puis sp cier une police e e de caract` res appropri e dans le menu Fonts. Deux formats de polices peuvent etre d nis : e e e ` ` les caract` res a espacement proportionnel (le texte courant) et les caract` res a espacement e e xe (utilis s pour les champs dans les formulaires, ou au sein des pages HTML pour mettre e en evidence certains paragraphes particuliers, par exemple des extraits de code informatique). Bien entendu, il est indispensable de se procurer des polices Cor ennes ! e Plus simplement, la gure 7.11 page 254 montre un exemple de page afch e avec un jeu e de caract` res Grec. Lencodage Greek n tant pas d ni dans le menu Fonts, nous utilisons e e e le type User Define pour y associer la police ad quate (en loccurrence ici une police e Symbol), puis nous s lectionnons ce type pour lafchage. e

Chapitre 7 Echange de chiers

253

Figure 7.9

Onglet de conguration des polices de caract` eres sous Netscape Navigator

Figure 7.10 Conguration du type dencodage sous Netscape Navigator

254

Services multim dias e

Figure 7.11 Exemple de page afch dans un jeu de caract` ee eres special

8
Le web
Parmi les syst` mes dinformation les plus r pandus sur lInternet, le Web se place d sormais e e e ` largement en t te. Gr ce a son interface plus agr able et plus simple a utiliser que la majorit e a ` e e des autres outils r seau, il sest hiss au rang de standard de la (( communication multim dia e e e online )). Pour une entreprise qui souhaite utiliser lInternet comme vecteur de communication, le ser veur Web est une etape presque incontournable. Non quil soit indispensable pour v hiculer e ` linformation propre a lentreprise, quelle soit commerciale, institutionnelle ou technique, ` mais simplement parce que de plus en plus dutilisateurs sattendent tout naturellement a pouvoir consulter cette information par ce biais. M me en France, o` lInternet na pas pris son essor aussi rapidement que dans dautres pays, e u ` le Web est devenu un m dia a part enti` re avec lequel il faut compter... et sur lequel on peut e e compter dans les ann es a venir. Durant le premier semestre 1996, le nombre de serveurs e ` Web en France a doubl . Les premi` res applications de commerce electronique se sont mises e e en place. Selon les experts, 1997 sera une ann e charni` re durant laquelle la communication e e multim dia sur lInternet atteindra sa maturit et constituera une opportunit commerciale et e e e professionnelle r elle. e

8.1 G n ralit s e e e
Le Web est un syst` me dinformation multim dia fond sur un protocole de niveau applie e e catif (HTTP, HyperText Transfer Protocol) et un standard de formatage (HTML, HyperText

256 Markup Language). Ses principales caract ristiques sont les suivantes. e

Services multim dias e

Une d localisation totale du contenu, puisque les documents sont accessibles indiff e e remment depuis nimporte quel nud du r seau. e ` La possibilit de faire r f rence a nimporte quel objet ou document au sein dun autre e ee document (cest la notion de lien hypertexte ou hyperm dia). e La capacit a acheminer linformation vers des applications externes, ce qui en fait un e` outil compl` tement extensible. e ` On peut comparer lensemble du Web a une gigantesque base de donn es internationale, e distribu e sur plus de 300 000 machines, dans laquelle il serait possible de mettre tous les e documents en relation les uns avec les autres.
Serveur Base de donnes

Site Internet Serveur Site Internet

Base de donnes

Infrasructure Internet
Base de donnes Base de donnes

Poste client Poste client

Figure 8.1

Illustration de la structure distribu du Web ee

Cette notion dhyperm dia sappuie sur un concept tr` s simple permettant de localiser au e e sein de la base un document, ou plus g n ralement un objet informatique une ressource e e ` de mani` re non equivoque. On utilise pour cela la structure de lInternet qui impose a e chaque machine de disposer dune adresse et eventuellement dun nom univoque. La notion ` famili` re de r pertoire peut ainsi etre etendue a lensemble du r seau. Chaque ressource e e e dispose donc dun (( chemin dacc` s )) unique : on parle dURL (Uniform ou Universal e Resource Locator).

Chapitre 8 Le web

257

Muni de cette possibilit de rep rer nimporte quel document accessible sur le Web (voire e e sur nimporte quel autre service dinformation ou de transfert de chiers de lInternet), on ` peut fa onner des documents complexes, comprenant un grand nombre de pages, a partir c de plusieurs documents physiquement situ s sur des machines s par es par des milliers de e e e kilom` tres. Cest cette g n ralisation du lien hypertexte qui a fait la force du Web, qui est e e e devenu par essence un lieu de coop ration et d change. e e

Figure 8.2

` Liens hypertexte a partir dune page Web

8.2 Les URL


` La notion dURL fait r f rence a une s quence de caract` res permettant de retrouver nimee e e porte quel type de ressource (chier, document, message...) sur lInternet. La syntaxe g n rale e e de cette s quence est de la forme : e methode://utilisateur:mot de passe@adresse:port/chemin ` methode indique le moyen dacc der a la ressource (le protocole utilis ) ; e e

258

Services multim dias e

utilisateur est le code dacc` s utilis pour se connecter au service d sign par le e e e e protocole ; ` adresse ladresse IP ou le nom de machine (host) a interroger ; port le num ro de port UDP ou TCP ; e chemin le nom complet du document, r pertoire inclus. Lutilisateur et le mot de e ` passe sont facultatifs, ils sont surtout utiles pour lacc` s a des serveurs FTP ou a des e ` serveurs Web s curis s. e e Exemples : ftp://ftp.ibp.fr/pub/gnu/recode-3.4.tar.gz http://www.eunet.fr/index.html ftp://rousseau:rikiki03@opaque.fenetre.fr/Mail/ ` Cette derni` re forme donne acc` s par FTP a la liste des chiers du r pertoire Mail/ du e e e compte de lutilisateur rousseau sur la machine opaque. Pour le protocole FTP, si aucun code dacc` s nest pr cis , la connexion se fait en FTP anonyme. Le client envoie alors un e e e mot de passe quelconque, soit le nom de lutilisateur, soit un nom choisi par les concepteurs du programme. Par exemple, Netscape Navigator envoie le mot de passe mozilla@. Certains sites ltrent lacc` s en FTP anonyme pour interdire les demandes formul es avec e e le mot de passe envoy par Netscape Navigator ou dautres applications comparables. On e ` peut alors penser a un probl` me technique ; il nen est rien, puisquil suft de contourner le e probl` me en indiquant un mot de passe valable. On pourrait imaginer par exemple : e ftp://anonymous:rousseau@fenetre.fr@ftp.ibp.fr/README Manifestement, cet URL pose un probl` me, puisquil contient deux fois le caract` re @ : une e e premi` re fois dans ladresse email rousseau@fenetre.fr, une seconde fois pour indie quer le nom du serveur. Il est vraisemblable que le client enverra sa requ te a la machine e ` fenetre.fr@ftp.ibp.fr, qui bien entendu nexiste pas. Cette remarque nous am` ne a pr senter encore un proc d dencodage, cette fois-ci propre e ` e e e aux URL.

8.2.1 Encodage des URL


Les caract` res illgaux au sein dun URL sont les suivants. e e Les caract` res non afchables sur un terminal standard : e ` les codes de contr le (code ASCII de 00 a 31 ou 0x1F) ; o ` les caract` res propres au jeu ASCII etendu (code ASCII sup rieur a 128 ou 0x80). e e

Chapitre 8 Le web

259

Les caract` res qui risqueraient dinduire une confusion dans le format, soit parce quils e servent de d limiteurs, soit parce que certaines applications les interpr` tent dune mae e ni` re sp ciale. e e Le caract` re % a un statut particulier, puisqu` linstar du signe = dans le standard e a ` MIME, il sert a indiquer un caract` re encod sous forme hexad cimale. e e e e e En r sum , les seuls caract` res qui peuvent passer (( en clair )) sont les caract` res alphanum e e e ` ` riques (a a z, A a Z et les chiffres), plus les signes suivants : $ . + ! * ( ) ,

Bien entendu, il nest pas interdit dencoder tout de m me ces caract` res, au d triment de la e e e lisibilit et de la concision de lURL. e Le standard MIME repr sente les caract` res encod s par le signe = suivi de leur code hexae e e d cimal. Pour les URL, cest le symbole % qui est utilis . Ainsi, le signe @ qui nous g nait e e e dans lexemple cit plus haut peut s crire %40. Le symbole % lui-m me sera repr sent par e e e e e %25. Notre URL devient : ftp://anonymous:rousseau%40fenetre.fr@ftp.ibp.fr/README

8.2.2 Les m thodes dacc` s des URL e e


Les protocoles les plus couramment rencontr s dans les URL sont les protocoles de transfert e ou de consultation : HTTP, gopher, FTP. ` Il faut ajouter a cette liste certaines m thodes particuli` res. e e file donne acc` s a un chier situ sur un disque de la machine de lutilisateur. Cette e ` e m thode nest pas suivie dun nom de machine, mais uniquement du nom de chier. e Sous DOS/Windows, la lettre de lecteur est suivie du caract` re | qui remplace le tradie tionnel signe :. Par exemple : file:///C|/usr/net/gagnez un tshirt.htm La troisi` me barre oblique (/) indiqu e ici peut surprendre ; il faut en fait la consid rer e e e ind pendamment des deux autres qui la pr c` dent puisque, comme sous Unix, elle fait e e e ` r f rence a la racine du syst` me de chiers. Notons que les s parateurs de chemin sont ee e e repr sent s selon la syntaxe Unix, et non par lhabituel barre oblique inverse (\) de e e DOS ou Windows. mailto est suivi dune adresse de courrier electronique. Ici aussi le format du reste de lURL est particulier, puisque seuls le nom de lutilisateur et le nom de domaine sont conserv s. e Par exemple : mailto://luc@fenetre.fr

260

Services multim dias e

` telnet est suivi uniquement du nom de la machine a contacter (et eventuellement dun num ro de port). e ` Certains navigateurs Web ajoutent a cette liste la m thode viewsource qui permet e de consulter le source HTML ou plein texte dun document sans aucune mise en page.

8.3 Les clients


8.3.1 Installation
Tous les exemples de ce chapitre exploitant les possibilit s de Netscape Navigator dans sa e version 3.0 Gold, cest cette version que nous nous proposons dinstaller. Linstallation des ` autres mod` les de navigateurs Web est cependant tout a fait comparable. Notez que Microsoft e Explorer 3.0 pour Windows 95 ou Windows NT pr sente la particularit de sint grer totalee e e ment au syst` me puisquil dote lexplorateur (loutil permettant dafcher lensemble des e ressources de la machine et dexplorer les r pertoires des disques) de la capacit dafcher e e des documents HTML.

Installation de Netscape sous Windows ou Macintosh Larchive r cup r e est dite auto-extractible, cest-` -dire quil sagit dun ex cutable capable e ee a e ` de g rer enti` rement linstallation. Il nest pas n cessaire de recourir a un quelconque utilie e e taire compl mentaire. Toute linstallation est pilot e tr` s simplement par des menus lorsquon e e e lex cute. e

Figure 8.3

Bote de dialogue de lutilitaire dinstallation de Netscape Navigator

` Comme a laccoutum e, il faut s lectionner un r pertoire dinstallation. Ici, il sagit de la e e e version de Netscape Gold pour Windows 95 ; le r pertoire par d faut est : e e \Program Files\Nav_Gold

Chapitre 8 Le web

261

Figure 8.4

Message de lutilitaire dinstallation de Netscape Navigator

Figure 8.5

Choix dun r epertoire dinstallation pour Netscape Navigator

On notera quil est possible dinstaller sans difcult une nouvelle version de Netscape Nae vigator par-dessus une ancienne. Les informations de conguration seront conserv es, ainsi e que les dossiers r serv s au courrier electronique, aux signets (bookmarks), etc. e e

8.3.2 Conguration
Pr sentation g n rale de lapplication Netscape Navigator e e e La fen tre principale du navigateur (browser) comporte par d faut une barre de menus et une e e barre de navigation en haut (gure 8.6 page suivante), et une barre doutils en bas. Lespace du

262

Services multim dias e

milieu est r serv a lafchage des documents HTML ou texte. Par d faut apr` s linstallation, e e` e e le premier document afch est la page daccueil du site Web de Netscape. e

Figure 8.6

Barres de menu et de navigation de Netscape Navigator

La barre de navigation permet de se d placer sur le Web, de charger les images dun docue ment, dimprimer, etc. Un champ (Location:) est r serv pour entrer lURL quon soue e haite visiter. Une rang e de boutons donne acc` s a quelques ressources utiles sur le site Web de Netscape e e ` Corp. : les nouveaut s et les produits de Netscape, un annuaire de recherche (NetSearch)... e Le menu File pr sente toutes les options n cessaires pour ouvrir un URL ou un chier local e e (comme nous lavons d j` mentionn , ce type de chier peut etre repr sent par un URL ea e e e dont la m thode dacc` s serait file), pour enregistrer sur disque une page HTML afch e a e e e ` l cran. Dans la version Gold de Netscape Navigator, qui int` gre un editeur HTML, ce menu e e offre egalement la possibilit d diter lURL en cours ou de cr er une nouvelle page. e e e

Figure 8.7

Ouverture dun URL ou dun chier dans Netscape Navigator

Le menu Go joue le m me r le que la barre de navigation, puisque outre les options Back et e o

Chapitre 8 Le web
Next, il rappelle lhistorique des URL visit s. e

263

Figure 8.8

Historique des URL sous Netscape Navigator

Le menu Bookmarks donne acc` s, comme son nom lindique, aux signets. Le principe de e cette liste dURL est simple, puisquil sagit dune sorte de biblioth` que de r f rences quon e ee ` ` peut enrichir a loisir. Loption Add Bookmark ajoute a la liste la r f rence de lURL en ee cours, tandis que loption Go to Bookmarks afche une fen tre qui permet de mieux ore ganiser ses liens, comme sous un gestionnaire de chiers (la notion de dossier y est dailleurs pr sente). e Sous ces options, la liste des URL disponibles nous permet dun simple clic de la souris de retrouver un site qui nous aurait sembl int ressant et que nous aurions ajout a notre liste. e e e`

Figure 8.9

Les signets (Bookmarks)

Maintenant que laspect g n ral de lapplication nous est un peu plus familier, nous allons e e etudier les options de conguration avant d voquer la navigation proprement dite. La cr ae e tion de pages HTML ne rel` ve pas de cette partie ; elle sera vue au chapitre 10 page 319. e Congurer Netscape pour les diff rentes m thodes dacc` s URL e e e La fen tre de conguration des applications, accessible par le menu Options/General Prefee rences dans longlet Apps, permet dindiquer quelles applications doivent etre lanc es lorse quun URL concerne le protocole telnet. La ligne fait r f rence aux connexions telnet ee vers des mainframes IBM. Il est egalement possible dindiquer quelle application utiliser pour

264

Services multim dias e

Figure 8.10 Conguration des m ethodes dacc` aux URL sous Netscape Navigator es

afcher (ou editer) le source des documents HTML. Par d faut cest lutilitaire int gr dans e e e Netscape qui sen charge, mais il ne permet pas d diter ni de sauvegarder les documents : il e peut donc etre utile de le remplacer par un editeur HTML ou un editeur de texte. La bote de dialogue General Preferences ` Nous avons d j` d crit a la section 7.1.1 page 240 les onglets Fonts et Helpers de la bote ea e de dialogue Options/General Preferences, et longlet Apps au paragraphe pr c dent. e e Voyons dans lordre les onglets restants. Longlet Appearance permet de d nir le comportement et la pr sentation de lapplication e e elle-m me. On peut ainsi choisir dafcher la barre de menus avec ou sans les icones ou le e texte. En indiquant quelles applications lancer au d marrage, on peut en outre automatiser e lafchage du courrier electronique ou des forums lors de lutilisation du navigateur. Au lancement de Netscape Navigator, lapplication va par d faut charger lURL du site Netse ` cape. Pour changer ce comportement, on peut demander a ce quaucun URL ne soit charg e (Start With Blank Page) ou bien indiquer un autre site. Ici, cest la page daccueil du serveur de la soci t FeNETre qui est s lectionn e ; elle apparatra donc automatiquement ee e e

Chapitre 8 Le web

265

Figure 8.11 Conguration de la fen etre de Netscape Navigator

(` condition que le serveur soit accessible, bien entendu). a Longlet Colors offre la possibilit de changer les couleurs par d faut utilis es dans les e e e documents afch s. Nous reviendrons sur la notion de lien hypertexte, retenons simplement e que cest dans cette bote de dialogue quon peut choisir la couleur du texte, la couleur ou le motif de fond, et la couleur des liens, d j` visit s (Followed Links) ou non. ea e Pour ce qui concerne le fond du document, on peut indiquer une couleur (pour Netscape sous Windows, la couleur par d faut est le blanc ; dautres navigateurs, surtout les moins e r cents, utilisent le gris clair) ou une image. Lorsquils doivent afcher une image en fond, e les navigateurs lutilisent comme un motif de remplissage : cest-` -dire que partant du coin a haut gauche, ils r p` tent cette image vers la droite et vers le bas autant de fois quil est e e n cessaire pour remplir tout lespace dafchage. e On remarquera loption Always Use My Colors. Elle permet dimposer que les cou leurs choisies soient utilis es partout. Nous verrons lorsque nous evoquerons la cr ation de e e pages HTML quil est possible de d nir ces m mes couleurs pour chaque document. Cest e e ainsi que certains sites apparaissent avec un fond bleu, dautres avec un motif jaune. Si, pour des raisons de lisibilit , on pr f` re d nir ses propres couleurs, il sufra de cocher cette case. e ee e

266

Services multim dias e

Figure 8.12 Choix des couleurs dafchage sous Netscape Navigator

Figure 8.13 Utilisation dune image comme motif de fond de page dun navigateur

Chapitre 8 Le web
Cependant, certains sites perdront de leur richesse et risqueront de paratre ternes.

267

` Longlet Image se rapporte egalement a lafchage des couleurs (Choosing Colors). On peut en outre d cider de nafcher les images (Display Images) que lorsquelles ont e e ` et enti` rement charg es, ou bien de les afcher au fur et a mesure. e e

Figure 8.14 Methodes de r eduction des couleurs

On retiendra que selon les sites visit s (et en particulier selon les outils utilis s par les concepe e teurs de ces sites pour fabriquer les images) les gammes de couleurs (on parle de palettes) peuvent varier. Puisque Netscape les afche avec un jeu de couleurs limit sur la plupart des e syst` mes (en mode 256 couleurs sous Windows, il est en fait g ), il peut etre n cessaire de e e e choisir quel type dapproximation appliquer. La technique dite du dithering diffuse les couleurs les unes dans les autres, en utilisant des trames de pixels r partis de mani` re al atoire. e e e Elle permet dobtenir un rendu plus r aliste, mais avec des contours parfois plus ous. e Le dernier onglet, Language, concerne les langues accept es lors dune consultation. Son e utilit est toute relative, car leur conguration se fonde sur une information particuli` re contee e nue dans len-t te des messages HTTP, or cette information nest que tr` s rarement prise en e e compte par les serveurs. En th orie, elle permet au serveur de nous envoyer une version dun e ` document dans une langue que nous pouvons lire. Les ` ches permettent dajouter a la liste e

268 des langues accept es celles que comprend lutilisateur. e

Services multim dias e

Figure 8.15 Choix des langues accept par lutilisateur ees

La bote de dialogue Network Preferences Elle se compose de trois onglets. Le dernier concerne les serveurs proxy qui sont pr sent s e e au chapitre 11 page 371. ` Lorsquon navigue sur le Web, il est fr quent de revenir r guli` rement a certaines pages d j` e e e ea charg es : par exemple, la page daccueil du site auquel on sint resse risque fort d tre un e e e point de passage oblig pour acc der aux diff rents menus. e e e An de limiter les d lais li s au t l chargement des donn es, les navigateurs utilisent un e e ee e cache pour conserver pendant un certain temps les informations qui reviennent le plus souvent. Bien s r, lorsquil sagit de pages HTML ou de documents texte, les temps de chargeu ment sont sufsamment faibles pour quon puisse se dispenser de ce type de solution ; cepen` dant le Web est un m dia a vocation universelle, et les images ou les vid os qui y circulent e e repr sentent parfois de grands volumes de donn es. e e Longlet Cache des pr f rences de Netscape permet dindiquer une taille maximale pour les ee deux niveaux de cache, m moire et disque. Les informations sont dabord conserv es en m e e e moire, puis, lorsquil faut lib rer de la place pour des informations plus r centes, transf r es e e ee

Chapitre 8 Le web

269

sur disque o` elles resteront jusqu` ce quelles soient trop anciennes pour etre conserv es. u a e

Figure 8.16 Conguration du cache sous Netscape Navigator

Les valeurs propos es par d faut sont convenables. On peut r duire la taille du cache m e e e e moire sur une machine qui dispose de peu de m moire vive. Cependant, si on supprime e compl` tement les caches, certains effets particuliers, comme par exemple les animations GIF e en boucle, ne se produiront plus. Il nest g n ralement pas souhaitable de supprimer tout lese e ` pace cache, sauf pour economiser a tout prix la m moire et le disque sur une machine peu e performante reli e a un proxy-cache qui jouera de toute fa on ce r le. e ` c o ` e Comme nous le verrons, une page HTML, au sens de ce qui safche a l cran lorsquon demande le chargement dun URL, est en fait compos e de plusieurs documents/chiers : le e code HTML lui-m me, plus les images et eventuellement les sons, vid os, etc. e e ` Pour acc l rer lapparition des donn es, il est possible de demander a Netscape de t l charger ee e ee ` plusieurs chiers a la fois (en r alit , il devra tout dabord charger le code HTML, puisque e e ` cest dans ce code que se trouvent les noms des chiers images par exemple a charger). Longlet Connections permet de pr ciser le nombre maximal de documents charg s e e simultan ment. e ` Il est inutile dindiquer un nombre trop grand, surtout si le d bit de la connexion a lInternet e

270

Services multim dias e

Figure 8.17 Choix du nombre de connexions simultan ees

est faible : cela ne ferait quencombrer inutilement le r seau en g n rant des collisions qui e e e dune mani` re g n rale ralentiraient le chargement des pages. e e e Par ailleurs, il est rare quune page contienne plus de quatre ou cinq images. La valeur par d faut (4) devrait etre conserv e. e e On peut egalement indiquer la taille des blocs de donn es a lire sur le r seau. Pour une e ` e machine peu puissante, il vaut mieux limiter cette valeur.

8.4 Naviguer sur le Web


Si on utilise souvent une terminologie emprunt e au nautisme pour d signer le fait daller e e chercher de linformation sur le Web, cest que de fait, trouver cette information rel` ve parfois e

Chapitre 8 Le web

271

dun v ritable casse-t te et n cessite de faire preuve de patience et dun excellent sens de e e e lorientation, qualit s pr cieuses chez un navigateur chevronn . e e e ` De par sa capacit a faire r f rence, au sein dun m me document, a plusieurs sources dine` ee e formation provenant dendroits physiquement et administrativement tr` s eloign s, le Web e e ` ressemble a la toile daraign e do` il tire son nom. e u Linformation y est rarement s quentielle, parfois totalement distribu e, le plus souvent are e borescente.

8.4.1 Structure des documents et des sites


Comme nous le verrons dans la section qui lui est consacr e, le langage HTML utilis sur le e e Web pour formater les documents ecrits repose sur quelques principes simples. La g n ricit , puisquun m me document doit fournir la m me information quel que e e e e e soit lendroit et le logiciel utilis s pour le consulter (cette r` gle est malheureusement e e de moins en moins respect e, les imp ratifs economiques poussant chaque editeur de e e ` logiciel a nen faire qu` sa t te pour offrir plus de possibilit s que ses concurrents). a e e La lisibilit , cest-` -dire quun document HTML doit etre lisible par lhomme sans e a ` moyens autres quun quelconque editeur de texte, et a ce titre ne peut contenir de caract` res sp ciaux (le jeu de caract` res iso-latin1 est cependant accept dans les nouvelles e e e e versions des navigateurs). ` Luniversalit , ce qui signie quun document peut faire r f rence a nimporte quel e ee type dinformation ext rieure, et ce de nimporte quel endroit (ce qui est possible sur e lInternet, gr ce aux URL). a Dans cette optique, un document consultable sur le Web est donc constitu dun ou plusieurs e chiers r dig s en HTML (portant g n ralement lextension .html sous Unix et .htm sous e e e e DOS ou Windows), et des chiers qui laccompagnent : images, graphiques, sons, etc. On parlera souvent de document pour d signer l quivalent dun document ecrit : ce peut etre e e un simple chier HTML, mais aussi bien une s rie de plusieurs chiers li s entre eux, avec e e e les el ments graphiques qui les accompagnent. On parlera de page HTML pour d signer indiff remment un chier HTML ou lensemble e e e constitu par un chier HTML et les el ments graphiques associ s. La distinction entre les e e ` pages dun document ecrit et les pages dun document HTML est difcile a etablir, car si la structure du document papier est n cessairement lin aire, celle du document HTML ne e e ` lest pas forc ment. De plus a lafchage, une page HTML peut repr senter plusieurs ecrans, e e cest-` -dire quil peut etre n cessaire dutiliser lascenseur de la fen tre du navigateur pour a e e d rouler le texte. e Un navigateur doit tout dabord se procurer le source de la page HTML avant de d terminer e ` quels chiers suppl mentaires il doit t l charger. Quant a lutilisateur, il na g n ralement e ee e e

272

Services multim dias e

` pas a demander le chargement dune image ou dun son, mais simplement de la page HTML qui y fait r f rence. Le format dune requ te son URL sera donc par exemple : ee e http://www.fenetre.fr/nouveautes/septembre/velux.html Organisation des sites ` Les sites Web sont le plus souvent arborescents. A partir dune page daccueil (home page), des liens permettent dexplorer telle ou telle branche du site. Ainsi le site Web de la so ci t FeNETre sarticule-t-il autour dune page daccueil qui joue egalement le r le de somee o maire g n ral, de six sommaires de rubriques, et pour chaque rubrique de quelques pages de e e contenu. Pour des raisons de commodit , les concepteurs de sites Web calquent fr quemment larboe e rescence physique des r pertoires dans lesquels se trouvent les chiers html sur larborese cence logique du site. e Le Web a et con u a lorigine pour permettre l change de documents, en supposant lexisc ` e tence de chiers et de r pertoires. M me si la structure logique de linformation a de plus en e e ` masquer lorganisation r elle des chiers sur les disques, les serveurs http plus tendance a e ` sont capables de r pondre a des requ tes portant sur des r pertoires au lieu de porter sur des e e e chiers html. Le plus souvent, ils le font en exp diant un chier au statut particulier, dit e chier dindex, et tr` s souvent nomm index.html. Lorsque ce chier (ou tout autre chier e e e auquel on aurait donn le statut de chier dindex) nexiste pas, et si lop ration na pas et e e explicitement interdite lors de la conguration du serveur, cest la liste des chiers du r pere toire qui est transmise. Le navigateur se comporte alors comme un gestionnaire de chiers distants. ` Pour acc der a la page daccueil du site www.fenetre.fr, il sufra dappeler lURL suie vant : http://www.fenetre.fr/ en omettant de pr ciser le nom du chier index.html, puisque le serveur ira automatie quement chercher ce chier. Dailleurs, sous Netscape, il nest pas non plus indispensable ` dindiquer la m thode dacc` s : il sagit par d faut du protocole http. LURL a entrer dans le e e e champ Open Location sera donc simplement www.fenetre.fr. Comme on peut le voir, certains mots du texte de cette page apparaissent en caract` res soue lign s. Ce sont les liens hypertexte : cliquer dessus permet dacc der aux pages quils d sie e e ` gnent. La barre de menus en bas de la fen tre est egalement sensible a la souris : on peut e ` etablir des liens hypertexte a partir dimages aussi bien que de mots. ` Notons que contrairement a certaines id es re ues, le nom dun serveur Web ne commence e c pas n cessairement par www ; cette convention dusage nexiste que dans un souci de discrie

Chapitre 8 Le web

273

Figure 8.18 Lindex dun site est en fait sa page daccueil

274

Services multim dias e

mination des machines h bergeant tel ou tel service particulier (ainsi ns pour les serveurs de e noms). Le paragraphe suivant va nous donner loccasion dexp rimenter ces notions de navigation e hyperm dia. e

8.4.2 Rechercher linformation


Etant donn e l tendue du Web, qui repr sente aujourdhui plus de 50 millions de pages e e e HTML r parties sur plus de 300 000 serveurs, il est virtuellement impossible de retrouver e instantan ment une information particuli` re, a moins de savoir tr` s pr cis ment o` elle se e e ` e e e u trouve. De nombreux annuaires et services de recherche sont disponibles pour tenter de localiser les ` documents. Ils permettent de chercher les sites dentreprises a contacter, dobtenir la liste des serveurs o` lon vend tel ou tel produit, de demander ladresse dun site annon ant les u c derniers r sultats de la coupe du Monde de football, ou de tracer son chemin dans les archives e des plus grands mus es et biblioth` ques. e e On distingue principalement deux types de services : les annuaires, qui sont de simples collections de noms de sites et de soci t s, comparables aux pages jaunes de lannuaire du t ee e ` jour par les organismes qui administrent l phone, et qui sont le plus souvent maintenus a e lInternet, et les moteurs de recherche, sortes de bases de donn es g antes qui explorent quoe e ` tidiennement le Web et archivent tout ce quils y trouvent pour ensuite le restituer a partir dune liste de mots cl s ou en recherchant un mot, une phrase quon leur soumet. e Les applications et lutilit des uns et des autres sont diff rentes. Autant les moteurs de ree e cherche sont indispensables pour retrouver une information quelconque parmi les milliards de lignes de texte que repr sente le Web, autant les annuaires constituent le moyen le plus e simple de retrouver une entreprise et son serveur Web si elle en dispose sans devoir passer en revue des centaines, voire des milliers de pages. Les annuaires Les annuaires recensent les adresses des sites, en fonction du nom des soci t s qui les proee posent, des mots cl s quils contiennent, parfois des sujets auxquels ils se rapportent. Yahoo, e que nous avons class dans les moteurs de recherche, fait egalement ofce dannuaire, au e m me titre que dautres serveurs plus r cents. e e Lindex complet des sites fran ais se trouve sur lannuaire de lUnit REseaux du Cnrs : c e ` lUREC (http://www.urec.fr). Il permet de retrouver les sites a partir dun classement alphab tique, th matique ou g ographique. e e e Plusieurs autres sites fran ais proposent des index comparables. Citons en particulier Lokace c (http://www.iplus.fr/lokace), Nomade (http://www.nomade.fr).

Chapitre 8 Le web

275

Figure 8.19 Index de lUnit Reseaux du CNRS e

Les moteurs de recherche Il existe deux grands types de moteurs de recherche. Les premiers archivent automatiquement les pages html (ou plus souvent les premi` res lignes e ` de ces pages) quils vont r cup rer sur le Web. On retrouve alors linformation a partir dune e e chane de caract` res a rechercher dans lensemble de ces pages. e ` Le r sultat est souvent indigeste puisque selon lusage, la fr quence des mots, ces outils e e peuvent fournir des listes de r f rences impressionnantes, jusqu` plusieurs centaines de milee a liers dentr es. En revanche, lorsquon souhaite obtenir un resultat exhaustif, ils sont indise pensables.

276 Altavista

Services multim dias e

Altavista (altavista.digital.com) est un service de Digital Equipment Corporation qui r f rence environ 30 millions de pages trouv es sur plus de 275 000 serveurs. Une de ee e ` ses particularit s, en dehors de lextraordinaire puissance de calcul mise a sa disposition qui e lui conf` re une rapidit impressionnante, est darchiver egalement plus de quatre millions e e darticles provenant de 14 000 forums. On peut consid rer que les informations fournies par e ` Altavista sont a jour en permanence (au plus quelques jours de d calage). Bien entendu, e lacc` s a ce serveur est enti` rement gratuit, comme sur la quasi totalit des sites Web de e ` e e lInternet. Cr e en f vrier 96, Altavista est aujourdhui le moteur de recherche le plus visit . Les r sultats e e e e quil fournit sont souvent trop volumineux pour etre directement exploitables, mais il offre la possibilit dafner une recherche en ajoutant des crit` res compl mentaires. Le paragraphe e e e suivant montre un exemple dutilisation dAltavista. Les seconds utilisent les services dune equipe de documentalistes qui consultent les pages r cup r es par le moteur dexploration, avant de les classer par th` me. Ce classement prend e ee e evidemment du temps, ce qui fait que ces serveurs proposent une information un peu moins frache que les autres moteurs de recherche : il faut compter environ un mois avant quun nouveau site soit r f renc sur Yahoo. ee e Yahoo Cr e en 95, Yahoo est lautre r f rence en mati` re de moteurs de recherche. Il utilise maintee ee e nant la technique d velopp e par Digital pour indexer les documents, et lorsquune informae e tion ne gure pas dans ses propres bases, il propose les r sultats fournis par Altavista. e Son classement th matique le diff rencie radicalement du serveur de Digital. L` o` Altavista e e a u fournit une liste de 300 000 r f rences, Yahoo nen donnera souvent que quelques centaines ee (certes encore beaucoup trop pour etre r ellement exploitables...). De plus, il est possible de e rechercher un document, non pas par mot cl , mais en descendant dans larborescence des e ` cat gories, a la mani` re dune encyclop die th matique. e e e e Un moteur de recherche fran ais c La soci t Ecila (http://www.ecila.com) propose un moteur de recherche francoee phone, qui nindexe que le contenu des sites Fran ais (http://france.ecila.com). c

9
Les serveurs HTTP
Tout comme avec FTP, les communications sur le Web sont r gies par un protocole, nomm e e ` HTTP (Hypertext Transfer Protocol), et font appel a une architecture client-serveur fond e e sur un syst` me de requ tes et de r ponses. e e e ` e Fondamentalement, un serveur HTTP nest rien dautre quun serveur de chiers a l coute sur un port TCP (g n ralement le port syst` me 80, r serv au protocole HTTP), et qui, lorse e e e e quil re oit une demande de connexion suivie dune requ te de la forme : c e GET /chemin/d/acces/nom.de.fichier r pond en exp diant le chier demand . A la diff rence dune connexion FTP, qui s tae e e ` e e blit sur deux ports diff rents respectivement pour le contr le et les donn es, la connexion e o e HTTP est unique on pourrait dire (( semi duplex )). Bien entendu, cette description est tr` s e sch matique et le protocole HTTP d nit de nombreux param` tres et options pour toutes les e e e communications entre le navigateur et le serveur. Nous n tudierons quune partie de ces sp cications, plus pr cis ment le format g n ral e e e e e e des messages, les valeurs d tat (status report), les principales m thodes et les techniques e e dauthentication. Nous compl terons cette description par celle de la norme CGI qui permet dinterfacer un e ` serveur HTTP avec des programmes destin s par exemple a consulter des bases de donn es e e ` ` ou plus g n ralement a fabriquer des pages HTML a la vol e. e e e Les mod` les de serveurs choisis pour illustrer cette section sont Netscape Commerce Server e et Apache, tous deux sous Unix. Linstallation de Netscape sous Windows NT ne pose pas plus de probl` mes, il est donc inutile de la d tailler. e e

278

Services multim dias e

Apache est un serveur du domaine public, particuli` rement performant et aux fonctions tr` s e e riches. Au moment o` nous r digeons ces pages, la version NT nest pas encore disponible, u e mais elle devrait l tre dici la n 96. e On pourra retenir le serveur Netscape, dont les options par d faut sont g n ralement convee e e nables, pour eviter de rentrer dans les d tails techniques dune installation. Les paragraphes e ` relatifs a la conguration dun serveur Apache pr sentent cependant un grand nombre de e notions fondamentales communes aux deux serveurs.

9.1 Le protocole HTTP


Les echanges selon le protocole HTTP sont fond s sur des messages compos s dun en-t te e e e et dun corps, dans un sens comme dans lautre de la communication (ce qui signie en particulier quun client peut envoyer un document au serveur aussi bien que le recevoir). Le protocole complet est d ni pour ses versions 1.0 et 1.1 dans les drafts de lIETF correspone dants.

9.1.1 G n ralit s e e e
Une communication HTTP type entre un client et un serveur se d roule comme suit. e Les deux exemples se rapportent respectivement aux versions 0.9 et 1.0 du protocole ; la ` diff rence majeure entre elles est lutilisation a partir de la norme 1.0 de r` gles proches de e e celles du standard MIME pour la forme des messages : on y retrouve les champs Contenttype, Content-length, etc. On notera cependant que les normes 1.0 et 1.1 du protocole ne respectent pas enti` rement le e standard MIME (en particulier, il ny est pas question de ). Comme nous pouvons le constater, la diff rence essentielle entre les deux types d changes e e r side dans la pr sence dun en-t te (a) en HTTP/1.0. Cet en-t te est s par du corps du e e e e e e message par un saut de ligne (b, d). La requ te porte ici sur la page daccueil du site, plus e exactement sur le r pertoire racine, donc sur lindex de ce r pertoire, qui peut etre une page e e fabriqu e par le serveur et indiquant la liste des chiers, ou un sommaire pour le site (home e page). Une requ te HTTP 0.9 ne pr cise pas la version du protocole. Par ailleurs, il est impossible e e dy adjoindre aucun champ doption, puisquil ny aurait pas moyen de s parer un quelconque e en-t te du document lui-m me. La version 0.9 du protocole HTTP nest pratiquement plus e e utilis e, sauf par quelques mod` les de navigateurs en mode texte. Nous nous y attarderons e e ` dautant moins quil y a peu a en dire de plus que ce que montre lexemple pr c dent. e e Dans la version 1.0, comme dans la future version 1.1, l change est param tr par des e e e champs de format analogue aux champs dun en-t te MIME. Dans lexemple ci-dessus, on e

Chapitre 9 Les serveurs HTTP


Version 0.9 Client Serveur

279

(1) (2)

GET / <html> Ceci est une page HTML </html> (n de communication)

Version 1.0 Client

(a)

Serveur

(b) (c)

GET / HTTP/1.0 Accept:image/gif, image/x-xbitmap, image/jpeg, */* User-Agent:Mozilla/2.01Gold (Win95; I)

(d)

HTTP/1.0 200 OK Date: Thu, 29 Aug 1996 20:12:25 GMT Server: Apache/1.1.1 Content-type: text/html

<html> Ceci est une page HTML </html> (n de communication) Figure 9.1 Forme g erale dun echange HTTP en

retrouve le Content-type d j` d crit, avec le type propre au pages du Web : text/html. ea e

9.1.2 En-t tes HTTP e


Le seul champ v ritablement indispensable dans un en-t te est le Content-type. En th oe e e ` e rie, il pourrait m me ne pas apparatre, mais on con oit que les clients aient du mal a d e c terminer le type dun chier dapr` s son contenu : si certains navigateurs sont capables de e distinguer un chier texte dun chier html en tentant de d tecter les fameuses instructions e de mise en page, lop ration devient plus d licate lorsquil sagit de faire la diff rence entre e e e un source PostScript et un chier texte ou un graphique HPGL. La plupart du temps, ce champ est ins r dans len-t te par le serveur lui-m me (nous verrons ee e e lors de linstallation comment pr ciser au serveur les relations entre extensions de chiers et e types MIME). Cependant, nous verrons aussi que dans le cas de pages HTML fabriqu es a e ` la demande par des programmes externes, on peut souhaiter remplir soi-m me ce champ. Il e faut alors bien s r respecter la syntaxe des types et sassurer de ne pas envoyer au client un u document quil ne pourra pas comprendre. Cest pour cette raison que les navigateurs envoient au serveur le champ Accept. Sous sa forme la plus simple il se pr sente comme une s rie de types MIME s par s par des virgules. e e e e

280 Ce champ peut s tendre sur plusieurs lignes. e Dans lexemple 9.1 page pr c dente, Netscape envoyait la s rie : e e e

Services multim dias e

Accept:image/gif, image/x-xbitmap, image/jpeg, */* Ce qui signie : (( jaccepte nimporte quel type de document, avec une pr f rence pour les ee images de type gif, xbitmap et jpeg )). Si le serveur dispose de deux versions des images quon lui demande, par exemple gif et tiff, il peut alors choisir denvoyer le gif an ` de r pondre au mieux a la demande du navigateur. Notons cependant que peu de serveurs e prennent en compte ce champ qui est plut t destin aux programmes qui fabriquent des doo e ` cuments a la vol e. Ainsi un programme reli au Web et capable de g n rer a la vol e un plan e e e e ` e ` de la circulation a Paris au moment de la requ te peut choisir de fabriquer un chier gif e plut t quun chier tiff, sil tient compte de la valeur du champ Accept. Nous verrons o lorsque nous evoquerons la norme CGI comment r cup rer cette valeur au sein dun script e e Perl ou dun programme en C. Signalons quil existe une forme plus complexe du champ Accept, qui permet de d nir e des priorit s et des tailles limites. Nous nous contenterons de donner lexemple suivant, on e pourra se reporter aux drafts d j` cit s pour plus dinformations. ea e Accept: text/plain; q=0.5, text/html, text/x-dvi; q=0.8; mxb=100000, text/x-c Le signe ; s pare un type MIME dun param` tre qui lui est applicable. Le param` tre q permet e e e de d nir un facteur de qualit , et mxb indique une taille limite. Le champ ci-dessus se lit : e e Je pr f` re les documents de type text/html et text/x-c (ce sont ceux dont le facteur ee de qualit est le plus elev : par d faut, q=1). Si ces formats nexistent pas, jaccepte de e e e ` recevoir une version dvi (DeVice Independent) du document a condition quelle ne d passe e pas 100 Ko. Au pire, menvoyer une version en texte seul. ))
( (

Les autres champs quon rencontre fr quemment sont : e Content-length, suivi de la taille du document en octets (il sagit bien entendu de la taille du corps du message, pas de la somme en-t te+document), envoy g n ralement par le e e e e serveur ; Referer qui emane du client et qui indique un URL : lorsquon demande un document en cliquant sur un lien hypertexte, cest lURL de la page qui contenait ce lien qui est envoy ; e User-agent qui emane egalement du client et qui indique son mod` le (ainsi pour Netscape e Gold sous Windows 95 : User-Agent:Mozilla/2.01Gold (Win95; I)) ; ` Host qui est echang par le client et le serveur, et qui sert a indiquer le v ritable nom du e e serveur dans le cas dun nom virtuel (Virtual Host).

Chapitre 9 Les serveurs HTTP

281

` Les serveurs proxy utilisent de nombreux champs pour echanger des dates de mise a jour, des dur es de validit , etc. (voir la liste pr cis e dans le draft HTTP/1.1) e e e e

9.1.3 M thodes HTTP e


` A chaque requ te emanant du client correspond une action particuli` re : il peut sagir de e e ` r pondre a une demande de chier (GET), de recevoir un chier emis par le client (PUT), ou e ` encore dassocier un bloc dinformation a une ressource (m thode POST). e ` La m thode GET indique au serveur quil doit renvoyer linformation relative a, ou produite e par lURL indiqu . Si lURL pointe vers un chier, cest le contenu du chier qui est transe mis. Sil pointe vers un programme destin a fabriquer de linformation, cest bien entendu e` linformation produite qui est transmise, non le code source (ou le chier binaire) du programme. ` Ainsi, on peut utiliser la m thode GET pour demander de linformation a un programme e ` charg de la fabriquer a la vol e. Nous reparlerons de cette possibilit lorsque nous etudierons e e e les scripts CGI et le passage darguments. ` La m thode POST est quant a elle utilis e par les clients pour envoyer de linformation. e e Dans ce cas, le message sera constitu de len-t te habituel, plus dun corps contenant linfore e mation proprement dite. Le serveur doit utiliser le corps du message pour, soit le transmettre ` a un programme, soit eventuellement le conserver dans un chier. Dans l tat actuel des choses, cette m thode est g n ralement utilis e en remplacement de la e e e e e ` m thode GET pour transmettre le contenu des champs dun formulaire a un script CGI. e On rencontre en outre deux autres m thodes, respectivement PUT et HEAD. e La premi` re est utilis e par certains navigateurs pour envoyer un chier au serveur an quil e e l crive sur disque : l diteur HTML de Netscape Gold dispose dune option Publish qui e e ` utilise cette m thode pour mettre a jour un document sur un serveur distant (en r alit , l die e e e teur laisse le choix entre les protocoles FTP et HTTP). Elle nest en revanche pas disponible sur de nombreux serveurs. La seconde est utilis e pour ne demander que len-t te dun message : ainsi, il est possible e e dobtenir des informations sur un document sans le t l charger. Les moteurs de recherche et ee e les serveurs proxy exploitent cette possibilit pour d tecter si un document a et modi . e e e

9.1.4 Le statut des requ tes e


` Comme dans toute communication, une erreur peut parfaitement se produire. A cet effet, et tout comme FTP, le protocole HTTP d nit une liste de codes derreur renvoy s par le serveur e e pour indiquer le r sultat de la requ te. Le serveur y ajoute souvent quelques lignes de code e e HTML qui sont destin es a lutilisateur et qui expliquent en clair quelle erreur sest produite. e `

282

Services multim dias e

gide: $ telnet www.fenetre.fr 80 Trying 10.0.0.1... Connected to www.fenetre.fr. Escape character is ]. GET /n existe pas.html HTTP/1.0

HTTP/1.0 Not found Date: Thu, 29 Aug 1996 22:03:49 GMT Server: Apache/1.1.1 Content-type: text/html

<HEAD><TITLE>File Not found</TITLE></HEAD> <BODY><H1>File Not found</H1> The requested URL /n existe pas.html was not found on this server.<P> </BODY> Connection closed by foreign host. gide: $

Figure 9.2

Erreur HTTP 404

Figure 9.3

Message derreur envoy par un serveur HTTP (document non trouv e e)

Chapitre 9 Les serveurs HTTP

283

Ces codes suivent la mention HTTP/1.x dans len-t te de la r ponse du serveur, comme le e e ` montre lexemple pr c dent. Ils sont r partis dans cinq cat gories, de 1xx a 5xx. e e e e ` Les codes de 100 a 199 d signent de simples messages dinformation, par exemple lorse quun changement de protocole doit intervenir. On ne les rencontre que tr` s rarement. e ` e c Les codes de 200 a 299 indiquent que la requ te a et re ue, comprise et accept e. Le e e message doit donc contenir la r ponse. e
GET / HTTP/1.0

HTTP/1.0 302 Found Date: Thu, 29 Aug 1996 22:16:28 GMT Server: Apache/1.1.1 Location: fr/index.htm Content-type: text/html <HEAD><TITLE>Document moved</TITLE></HEAD> <BODY><H1>Document moved</H1> The document has moved <A HREF="fr/index.htm">here</A>.<P> </BODY>

Figure 9.4

Redirection en HTTP (status 302)

` Les codes de 300 a 399 marquent une redirection, cest-` -dire que lURL demand na pas a e e ` et trouv mais que le serveur sait a qui il faut sadresser pour lobtenir, ou encore que le e document na pas chang , donc quil nest pas utile de le r cup rer de nouveau. On rencontre e e e e parfois le code 302, qui indique quun document a et momentan ment d plac . On lutilise e e e pour renvoyer la demande vers un autre document, voire un autre serveur, en indiquant le nouvel URL dans le champ Location. Sous Netscape, la page HTML envoy e par le serveur pour signaler lerreur napparatra pas, e car le navigateur ira de lui-m me chercher le nouveau document. e ` Les codes de 400 a 499 indiquent une erreur au niveau du client. Il peut sagir dune requ te e mal formul e, par exemple un URL dont la syntaxe nest pas correcte ou qui pointe vers e un chier qui nexiste pas, mais egalement dun probl` me dauthentication ou encore dun e probl` me r seau ayant entran une attente trop longue. e e e ` ` ` Les codes de 500 a 599 se rapportent quant a eux a une erreur au niveau du serveur et signient g n ralement un probl` me dinstallation, de conguration ou de stabilit . Il peut e e e e ` cependant sagir simplement dune requ te dont la syntaxe est l gale mais qui fait r f rence a e e ee une m thode que le serveur ne sait pas mettre en uvre : ainsi le serveur Apache 1.1 refusera e la m thode PUT et renverra un code derreur 501 (Not Implemented). e

9.1.5 Les URL dans le protocole HTTP


La notion dURL est tr` s g n rale, et chaque protocole d nit un champ dapplication pour e e e e ` le format d crit a la section 8.2 page 257. e

284 Pour le protocole HTTP, les URL prennent un des aspects suivants : http://machine/ http://machine:port/ http://machine/chemin http://machine:port/chemin

Services multim dias e

machine d signe un nom de machine ou une adresse IP valide ; e port d signe un num ro de port TCP, le port par d faut etant 80 ; e e e chemin d signe le chemin dacc` s a une ressource (r pertoire, chier, programme...) e e ` e situ e sur le serveur. e URL absolus et relatifs Les diff rentes r f rences utilis es au sein dun document HTML d signent g n ralement e ee e e e e des chiers situ s sur le m me serveur et dans la m me arborescence que la page elle-m me. e e e e Ainsi les images sont parfois plac es dans le m me r pertoire que les pages, ou dans un e e e sous-r pertoire direct. Il nest alors pas n cessaire de pr ciser lURL complet de ces chiers, e e e e e ee puisque la partie commune est d j` d termin e par lendroit o` la page a et r cup r e. On ea e e u parle alors de r f rence relative, et on ne pr cise que la portion de lURL qui diff` re de celui ee e e de la page. Ainsi on pourra faire appel au sein dune page dont lURL est : http://www.fenetre.fr/pages/page 1.html ` a limage nouveau.gif situ e dans le sous-r pertoire im/ du r pertoire pages sur le e e e serveur Web de la soci t FeNETre en indiquant simplement le param` tre HTML convenable, ee e HREF="im/nouveau.gif".

9.1.6 Buts et principes de lauthentication


Lauthentication est une technique utilis e pour restreindre lacc` s a certaines ressources e e ` ou documents gr ce a des codes dacc` s et des mots de passe. Le protocole HTTP d nit a ` e e ` des champs sp ciques pour les en-t tes de message an d changer linformation relative a e e e lauthentication de lutilisateur. Concr` tement, tout se passe comme si on devait entrer son code dacc` s (ou login) et son mot e e ` de passe pour se connecter a un syst` me Unix. e Si le couple code dacc` s + mot de passe nest pas correct, on na tout simplement pas ace c` s a lURL concern (notons que g n ralement, on prot` ge des r pertoires complets). Le e ` e e e e e

Chapitre 9 Les serveurs HTTP

285

Figure 9.5

Authentication par code dacc` et mot de passe es

serveur renvoie alors un code (401 : Unauthorized) et un message derreur. Le naviga` ` teur peut proposer a lutilisateur de sidentier a nouveau (gure 9.6) ou afcher le message (gure 9.7).

Figure 9.6

Echec de lauthentication HTTP

Figure 9.7

Message didentication incorrecte g ere par un serveur HTTP en

286

Services multim dias e

Voil` pour ce qui concerne la partie apparente. Cependant au niveau de l change dinformaa e tions entre le navigateur et le serveur, les choses sont un peu plus complexes : il est parfois d licat de faire transiter le mot de passe en clair sur le r seau il serait bien trop simple e e de lintercepter pour quelquun ayant acc` s au syst` me : par exemple en installant un (( faux e e proxy )), ou encore en surveillant les paquets TCP, ou par un nombre incalculable dautres techniques. Plusieurs m thodes sont alors disponibles, depuis le simple cryptage de la phase e dauthentication jusquau cryptage complet de la communication par un syst` me de cl s e e e publiques et priv es. Nous ne verrons que le syst` me le plus el mentaire, sans cryptage, supe e port par presque tous les serveurs. e

Basic authentication ` e La technique dauthentication la plus simple pour le protocole HTTP consiste a n changer que des mots de passe en clair, encod s an de garantir leur int grit avec un proc d sie e e e e milaire au codage Base64. Bien entendu, elle noffre quun niveau de s curit tr` s relatif. e e e En effet, rien nemp che un utilisateur malveillant de surveiller les communications pour r e e tant simple et bien connue. Son principal cup rer le mot de passe, la m thode de d codage e e e e ` e avantage est sa simplicit demploi au niveau du serveur, puisquil suft a r ception du mot de e passe de v rier la validit de ce dernier dans une base de donn es qui se r sume le plus soue e e e ` vent a un simple chier texte semblable au chier /etc/passwd dUnix. Cette technique est g n ralement nomm e Basic authentication. Dans Apache, elle correspond au module e e e mod auth, qui sauf mention contraire est compil avec le reste du serveur. La gure 9.8 e montre un exemple de phase dauthentication en HTTP.
gide: $ telnet www.fenetre.fr 80 Trying 10.0.0.1... Connected to www.fenetre.fr. Escape character is ]. GET /personnel/index.html HTTP/1.0 Authorization:Basic d3d3OmhhcnJhcHM=

HTTP/1.0 200 OK Date: Thu, 29 Aug 1996 23:39:44 GMT Server: Apache/1.1.1 Content-type: text/html Content-length: 1035 Last-modified: Thu, 29 Aug 1996 22:45:45 GMT

<html> <head> <title>FeNETre - Bienvenue</title> </head> [...]

Figure 9.8

Echange HTTP avec authentication

Ce sont les champs WWW-Authenticate et Authorization qui permettent la ngociae tion du droit dacc` s. La premi` re connexion au serveur est une requ te simple. Le serveur e e e

Chapitre 9 Les serveurs HTTP

287

r pond par une erreur 401 (Unauthorized) pour signier que lacc` s est r serv , en e e e e ` ajoutant la mention WWW-Authenticate a len-t te du message an de pr ciser quil faut e e ` proc der a lauthentication de lutilisateur, et surtout an de fournir le label (realm) auquel e se rapporte cette authentication. Le navigateur afche alors la bote de dialogue code dacc` s e ` + mot de passe an de demander ces informations a lutilisateur, puis il formule de nouveau sa requ te en indiquant le mot de passe encod dans le champ Authorization. Le proe e cessus se r p` te tant que le mot de passe nest pas correct et que lutilisateur redemande le e e document.
Authentication incorrecte GET /personnel/index.html HTTP/1.0

HTTP/1.0 401 Unauthorized WWW-Authenticate: Basic realm="serveur interne de la socit FeNETre" e e

Authentication correcte GET /personnel/index.html HTTP/1.0 Authorization:Basic d3d3OmhhcnJhcHM=

HTTP/1.0 200 OK

Figure 9.9

Sequences dauthentication HTTP

Notons que le champ WWW-Authenticate pr cise deux choses : tout dabord la m thode e e utilis e (ici Basic), ensuite le label (serveur interne de la soci t FeNETre). Le label indique e ee ` a quelle partie prot g e du serveur on souhaite acc der. Il permet de d couper lensemble des e e e e ` documents dont lacc` s est restreint en sous ensembles, accessibles a des cat gories dutilisae e teurs diff rentes, avec des codes dacc` s et des mots de passe diff rents, voire des m thodes e e e e dauthentication diff rentes. Selon la m thode sp ci e, le navigateur devra d cider dene e e e e ` voyer le mot de passe encod , ou bien de proc der a une authentication par cl publique, e e e cryptage MD5, RSA, etc.

9.2 Installation et conguration dun serveur HTTP


Les paragraphes suivants passent en revue les diff rentes options de conguration et dinse tallation de deux serveurs, respectivement Netscape Commerce Server et Apache 1.1 (sous Unix). Le serveur Netscape pr sente une installation simple et conviviale pilot e par linterm diaire e e e dun navigateur Web. Sa mise en uvre ne devrait poser aucun probl` me particulier, quil e sagisse dun syst` me Unix ou de Windows NT. e ` Le serveur Apache n cessite quant a lui plus de pr cautions. En revanche, il est totalement e e gratuit, et b n cie dune richesse doptions impressionnante et en constante evolution. Cest e e ` ` de surcrot lun des serveurs les plus performants disponibles a lheure actuelle. A linstar de lAPI de Netscape, qui permet dajouter au serveur des modules externes, le serveur Apache

288

Services multim dias e

peut etre compl t par des modules int gr s au chier ex cutable, ou charg s dynamiquement ee e e e e lors de lutilisation. ` Un autre serveur particuli` rement connu est le serveur NCSA. Cest de lui qu mane a lorie e gine le serveur Apache, et les deux sont rest s assez proches quant au format de leurs chiers e de conguration. Son installation ne devrait donc pas poser plus de probl` mes. e

9.2.1 Les principaux r pertoires, param` tres et chiers e e


Tous les serveurs HTTP ont en commun un certain nombre de directives, qui peuvent porter des noms l g` rement diff rents dans les chiers de conguration. Il sagit principalement des e e e r pertoires dans lesquels sont conserv s les chiers de conguration, les relev s de connexion e e e et les pages du serveur, ainsi que quelques options relatives au protocole lui-m me. e Server Root Ce r pertoire indique le chemin dacc` s complet o` se trouvent g n ralement lex cutable, e e u e e e les chiers de conguration, et les relev s de connexion (chiers de log) du serveur. Par e d faut, les serveurs du CERN, NCSA et Apache font r f rence au r pertoire : e ee e /usr/local/etc/httpd dont les sous-r pertoires conf ou config contiennent respectivement les chiers de cone guration et les scripts. Document Root Ce r pertoire est celui sous lequel sont conserv s les documents du serveur : pages HTML, e e images, vid os... Comme nous le verrons, sa valeur est disponible dans une variable denvie ronnement lors de lappel dun programme externe. ` Cest a ce r pertoire que se r f` re ce dont nous d signerons par lexpression e ee e serveur )), cest-` -dire le chemin dacc` s pr cis au sein des URL. a e e e
( (

racine du

Ainsi, http://www.fenetre.fr/ repr sente le r pertoire /usr/local/www docs/ e e du serveur de la soci t FeNETre, et : ee http://www.fenetre.fr/personnel/salaires/grille.html indique le chier : /usr/local/www docs/personnel/salaires/grilles.html

Chapitre 9 Les serveurs HTTP


Par d faut, les serveurs du CERN, NCSA et Apache font r f rence au r pertoire : e ee e /usr/local/etc/httpd/htdocs

289

Script Alias ` Cette option d nit une correspondance entre un r pertoire particulier relatif a la racine du e e serveur et g n ralement appel cgi-bin, et un r pertoire sur le disque de la machine. Ce e e e e r pertoire a un statut sp cial, puisquil est destin a h berger des programmes ou scripts CGI e e e` e ` utilis s par exemple pour traiter des formulaires, acc der a des bases de donn es... e e e Sa raison d tre est simple : il sagit de s parer les documents des programmes, pour des e e raisons classiques de s curit et de droits dacc` s. Puisque certains programmes CGI peuvent e e e pr senter des d faillances au niveau de la s curit , il peut etre n cessaire de leur conf rer des e e e e e e ` permissions sp ciales, ou de les attribuer a un utilisateur et un groupe inoffensif. e De plus, il peut sav rer pr f rable de distinguer les concepteurs du site Web autoris s a e ee e ` mettre en place des scripts de ceux qui ne doivent pas pouvoir le faire (pour des raisons de comp tence ou de fonction). e Tous les chiers gurant dans ce r pertoire sont consid r s comme des programmes ce qui e ee ne dispense pas, bien s r, de leur affecter les droits en ex cution appropri s, que ce soit sous u e e Unix ou sous Windows NT. Ils peuvent porter nimporte quelle extension (y compris html, bien que cela soit fortement d conseill ...). e e La quasi totalit des serveurs autorise maintenant lutilisation de scripts ou programmes CGI e ` en dehors des r pertoires d di s a cet usage. Cest a ladministrateur du site de d cider si e e e ` e cette option ne pr sente pas de risque. e Notons que dans le cas de scripts CGI plac s dans les m mes r pertoires que les pages, il e e e est n cessaire de d nir des extensions particuli` res sans lesquelles lex cutable ne sera pas e e e e lanc . Cela an d viter que de simples pages HTML auxquelles on aurait par erreur donn e e e les droits en ex cution ne soient appel es comme des programmes. e e Lextension la plus couramment choisie est .cgi.

Server Name ` ` Il est fr quent dattribuer a une m me machine a la fois le r le de serveur pour le Web, de e e o passerelle email, voire de serveur de chiers, etc. Dans un tel cas, la machine en question portera vraisemblablement plusieurs noms. Ainsi, chez FeNETre, la machine sundi.fenetre.fr sert de serveurs Web et FTP, de DNS et de MX pour la zone fenetre.fr.

290 Elle porte donc egalement les noms CNAME suivants : www.fenetre.fr ftp.fenetre.fr ns.fenetre.fr relay1.fenetre.fr

Services multim dias e

` Lorsquau d marrage le serveur HTTP cherche a connatre le nom de la machine sur laquelle e il se trouve, il interroge le syst` me qui lui renvoie sundi.fenetre.fr. e La directive ServerName permet dimposer le nom du serveur, elle sert en particulier pour mettre en place plusieurs sites sur un m me serveur avec des noms de domaines diff rents e e (notion de Virtual Host). Notez cependant que le nom choisi doit imp rativement correse ` pondre a une entr e valide dans le DNS. Noubliez donc pas dajouter un CNAME de ce nom e vers le nom de la machine.

Les chiers de log ` A linstar des t l copieurs ou des standards t l phoniques, les serveurs HTTP maintiennent ee ee des registres dactivit et des relev s de connexions qui recensent toutes les requ tes re ues e e e c e par le syst` me, quelles aient et servies ou pas. e Ces chiers, appel s logs du serveur, recensent diff rents types dinformations, les principales e e etant les connexions servies et les erreurs de fonctionnement. Access Log e c e e e Le chier access log contient la liste des requ tes re ues. Il se pr sente g n ralement sous un de ces trois formats, respectivement h rit s des serveurs NCSA et des serveurs proxy e e Harvest : Common Log Format ou CLF, Extended Common Log Format et format Harvest (du nom dun serveur proxy-cache assez r pandu). e Error Log Ce chier contient la liste des erreurs de fonctionnement d cel es par le serveur. Il peut sagir e e derreurs normales ou anodines, telle une requ te concernant un document qui nexiste pas e ou dont les droits dacc` s sont incorrects, ou plus grave, lorsquun script fonctionne mal e ou m me lorsque le serveur lui-m me contient un d faut qui g n` re une anomalie syst` me e e e e e e pouvant aller jusqu` linterruption du processus. a Le chier error log (gure 9.11 page ci-contre) est un outil indispensable en cas de fonctionnement anormal du serveur. Dans certains cas, il pourra m me recevoir des informations e de d bogage. e

Chapitre 9 Les serveurs HTTP


Common Log Format youpi.hopla.fr - - [06/Oct/1995:13:51:23 -0500] "GET /vitrage\ s.html" 200 3296 Common Log Format (Extended) youpi.hopla.fr - - [19/Sep/1995:15:19:07 -0500] "GET /vitrage\ s.html HTTP/1.0" 200 1752 "" "NCSA\_Mosaic/2.7b1 (X11;IRIX 5.\ 3 IP22) libwww/2.12 modified" Harvest host:youpi.hopla.fr;user:-;time:[19/Sep/1995:15:19:07 -0500];\ request:GET /vitrages.html HTTP/1.0;agent: NCSA\_Mosaic/2.7b1\ (X11;IRIX 5.3 IP22) libwww/2.12 modified;referer:http://wor\ ldwide.windows.net/everything/France/list.html;status:200;byt\ es:1752

291

Figure 9.10 Les differents formats de relev de connexions es


[Fri Aug 30 13:46:16 1996] access to /usr/local/www\_docs/men\ uiserie.html failed for youpi.hopla.fr, reason: File does not\ exist [Fri Aug 30 15:25:08 1996] request lost connection to client \ youpi.hopla.fr [Fri Aug 30 15:28:23 1996] access to /usr/local/www\_docs/for\ um/reponse.cgi failed for youpi.hopla.fr, reason: file permis\ sions deny server access

Figure 9.11 Extrait de releve derreurs dApache (error log)

Chaque chier enregistre une entr e par ligne, accompagn e de la date et lheure courante. e e Dans le chier access log, date et heure sont au (( format Internet )), cest-` -dire : a [jj/MM/aaaa:hh:mm:ss +/-tttt] ` o` tttt repr sente la valeur absolue du d calage horaire par rapport a lheure universelle u e e (les deux premiers chiffres indiquent le nombre dheures).

9.2.2 Conguration des types MIME


Tout comme pour les clients, il faut pr ciser au serveur comment retrouver le type MIME e ` dun document a partir de son extension. Cest le r le dun chier g n ralement nomm o e e e mime.types et situ dans le r pertoire de conguration du serveur. Il ne contient pas de e e notion daction, mais simplement la correspondance type MIME / extension(s). Le chier fourni par d faut avec le serveur devrait sufre pour la grande majorit de vos e e besoins. Si toutefois il etait n cessaire dins rer un format particulier dans la liste, il sufrait e e d diter le chier et dajouter la ligne correspondante, sous la forme : e type mime/sous type mime ext1 [ext2 ext3 ...]

292
application/postscript application/rtf multipart/mixed text/html [...] ai eps ps rtf html htm

Services multim dias e

Figure 9.12 Extrait du chier mime.types

en s parant les entr es par un ou plusieurs espaces ou tabulations. e e

9.2.3 Permissions et droits dacc` s e


La plupart du temps, le serveur HTTP est lanc en tant quutilisateur root. Les serveurs tels e quApache laissent la possibilit dindiquer sous quels identicateurs dutilisateur (userid) et e de groupe (groupid) ils doivent fonctionner apr` s le lancement. e On consid` re quil est particuli` rement dangereux de laisser un serveur fonctionner en tant e e quutilisateur root. Les programmes CGI externes sex cutent en effet avec le m me userid e e que le serveur, ce qui constitue une faille importante dans la s curit g n rale du syst` me, e e e e e ` dautant que la norme CGI nest pas sans pr senter quelques d fauts a ce sujet. e e ` La meilleure approche consiste a demander au serveur de se rabattre apr` s lancement sur les e identicateurs nobody et nogroup, qui d signent g n ralement un utilisateur dont les pose e e sibilit s dacc` s sont minimales. Bien entendu, il peut y avoir des exceptions, par exemple e e ` lorsquun programme CGI doit consulter et mettre a jour une base de donn es appartenant e ` a un autre utilisateur et quil nest pas question de laisser en acc` s libre. Dans ce cas, on e pourra donner les droits particuliers du possesseur de la base, non pas au serveur, mais au programme lui-m me (en utilisant par exemple le sticky-bit sil sagit dun syst` me Unix), e e ou encore choisir de faire tourner le serveur au sein dun groupe cr e pour loccasion et dont e lacc` s se limite aux chiers indispensables. e

9.2.4 Mode de fonctionnement


` A chaque requ te correspond un processus serveur ( ventuellement un thread si larchitecture e e supporte ce type de processus allg ). Bien quil soit techniquement possible de construire un e e ` serveur capable de r pondre a toutes les requ tes a partir dun seul processus, cette solution e e ` est rarement retenue pour de nombreuses raisons : tout dabord, les requ tes seraient servies e lune apr` s lautre, ce qui g n rerait parfois des temps dattente insupportables pour les utie e e lisateurs, ensuite le serveur serait tr` s sensible aux anomalies de fonctionnement puisquune e ` ` interruption due a une des connexions se r percuterait in vitablement a toutes les autres, et e e enn le poids du processus par rapport aux autres d mons ou programmes tournant sur la e machine serait faible, ce qui limiterait les performances g n rales du serveur. e e

Chapitre 9 Les serveurs HTTP

293

Un serveur HTTP peut fonctionner avec inetd, ou en mode standalone. La diff rence se e situe principalement dans le fait quen mode inetd, un nouveau serveur sera lanc a chaque e` requ te. Ce mode est acceptable si le site est de taille raisonnable avec une fr quentation e e moyenne, mais il peut repr senter une charge machine trop importante d` s lors que le nombre e e de connexions augmente. En mode standalone, la plupart des serveurs g` rent au mieux e le nombre de processus quils lancent ; ainsi Apache d marre dembl e un nombre minimal e e ` de processus an de pouvoir r pondre a quelques requ tes sans devoir d marrer un nouveau e e e ` serveur a chaque fois, puis augmente ce nombre lorsque tous les serveurs sont occup s. An e de ne pas trop occuper la m moire avec des processus inactifs en dehors des heures de grande e fr quentation, il en supprime automatiquement une partie. e

Mode inetd Le serveur est lanc par le d mon inetd d` s quune connexion arrive sur le port concern . e e e e Le serveur communique alors avec lext rieur par linterm diaire de lentr e et de la sortie e e e standard. Les premiers serveurs fonctionnaient de cette mani` re, car elle dispense de doter e le programme de linterface charg e de g rer la partie r ellement serveur, cest-` -dire de e e e a linterface avec le r seau. e e Nous pouvons tr` s simplement fabriquer un serveur HTTP el mentaire gr ce a inetd. Il e a ` suft de r diger un petit programme ou script qui lit lentr e standard, recherche la requ te e e e GET et envoie le document demand . Voici un exemple de script shell qui joue ce r le, en e o transformant les requ tes sur des r pertoires en requ tes sur le chier index.html. On e e e notera quil nest pas question de Content-type dans la r ponse, en fait il ny a m me e e pas d change den-t te. Cest la version 0.9 du protocole HTTP qui est utilis e ici, pour des e e e raisons de simplicit . e
luc: $ cat serveur.sh \#!/bin/sh cd /usr/local/www\_docs file=gawk /GET/ \{split(\$0,a," |/|\\r"); print a[3]; exit; if (test X\$file = X) then file="index.html" fi if !(/bin/cat echo \$file 2\>\&1) then echo Fichier introuvable fi

Figure 9.13 Mini-serveur HTTP en script shell

On pourra installer ce programme en editant le chier de conguration du d mon inetd et e en y ajoutant une ligne pour le port 80 (service www), puis en demandant au d mon de mettre e ` ` ses tables a jour en lui envoyant un signal SIGHUP. Sous Linux, cela donne a peu de choses pr` s le contenu de la gure 9.14 page suivante. e

294
luc: $ su Password: ******** luc: # vi /etc/inetd.conf [...] www [...] luc: # ps x|grep inetd 40 ? S 0:06 /usr/sbin/inetd stream tcp nowait root /home/luc/serveur.sh

Services multim dias e

httpd

luc: # kill -HUP 40

Figure 9.14 Installation du mini-serveur HTTP

Le serveur devrait maintenant fonctionner ; il est possible de le v rier avec un telnet sur e le port 80, ou directement en se connectant avec un navigateur tel que Netscape. La plupart des navigateurs m me les plus r cents sont capables de communiquer avec la version 0.9 du e e protocole.

Figure 9.15 Connexion au serveur de test : aucun chier HTML na ete mis en place

Comme le montre la gure 9.15, nous navons pas mis de chier dans le r pertoire du site ! e Nous allons donc ajouter un document tr` s simple sous le nom index.html dans le r pere e toire choisi en tant que Document Root (ici /usr/local/www docs). Nous verrons plus loin dans ce chapitre comment r diger des pages HTML, en attendant nous utiliserons e le mod` le de la gure 9.16 page suivante. e Une fois cette page ajout e, notre mini-serveur fonctionne correctement, comme le montre la e gure 9.17 page ci-contre.

Chapitre 9 Les serveurs HTTP


luc: $ cat /usr/local/www docs/index.html <HTML> <HEAD> <TITLE>Page daccueil</TITLE> </HEAD> <BODY> <H1> Bienvenue ` la socit fentre! a e e e </H1> Bientt ici mme toutes les informations sur notre socit o e e e </BODY> </HTML>

295

Figure 9.16 Prototype de page HTML

Figure 9.17 Document envoy par le mini-serveur de test e

Mode standalone Dans ce mode le serveur est lanc une fois pour toutes (par exemple au d marrage de la e e machine, par linterm diaire des chiers de conguration du syst` me). e e ` e Il reste a l coute des requ tes qui pourraient arriver sur le port 80 (ou tout autre port congur e e sp cialement) et, lorsquil en re oit une, se duplique en lan ant un second processus (fork) e c c an dy r pondre. e Nous lavons d j` mentionn : les serveurs r cents utilisent une technique dite de pre-forking ea e e qui permet de ne pas dupliquer le processus au moment o` la requ te arrive. La r ponse est u e e ainsi envoy e plus rapidement, et le syst` me est moins sollicit . e e e

296

Services multim dias e

9.3 Installation et conguration dApache


Il faut dabord t l charger le serveur Apache version 1.1.1 en FTP anonyme depuis, par ee exemple : ftp://ftp.ibp.fr/pub/www/apache/dist/apache 1.1.1.tar.gz Une distribution binaire est disponible pour de nombreux syst` mes ; cependant, les parae graphes suivants montrent une installation compl` te a partir des sources, indispensables pour e ` e int grer au serveur et d boguer le cas ech ant des modules compl mentaires. Pour compie e e ler et installer le serveur, il faudra bien entendu un compilateur C, par exemple gcc de GNU. Il est pr f rable dutiliser un compilateur r ellement compatible avec le standard ANSI. ee e Dans un premier temps, le serveur est d compress et d sarchiv dans un r pertoire persone e e e e nel.
luc: $ gzip -dc apache 1.1.1.tar.gz | tar xvf apache 1.1.1/ apache 1.1.1/cgi-bin/ apache 1.1.1/cgi-bin/printenv apache 1.1.1/cgi-bin/test-cgi apache 1.1.1/conf/ apache 1.1.1/conf/access.conf-dist apache 1.1.1/conf/httpd.conf-dist apache 1.1.1/conf/mime.types luc: $ cd apache 1.1.1/src luc: /apache 1.1.1/src$

Figure 9.18 Installation des sources dApache

Compilation et test La gure 9.18 montre le d sarchivage des sources de lapplication. Apr` s cette etape, il faut e e editer le chier Configuration en suivant les commentaires. Si on nutilise pas le compilateur de GNU, il faudra pr ciser le nom de commande du come pilateur retenu. On noubliera pas dindiquer pour quelle plate-forme le programme doit etre compil , en retirant les # devant les options appropri es. Ainsi avec gcc pour Linux le e e chier prend laspect de la gure 9.19 page ci-contre (nous avons nous-m mes ajout loption e e -m486 an doptimiser le code pour les processeurs 486 ou Pentium). La n du chier permet dindiquer quels modules ajouter au serveur. Ces modules font partie ` int grante du serveur Apache apr` s compilation. Cette notion correspond simplement a des e e chiers C relativement ind pendants du reste du serveur, et qui utilisent des fonctions dont les e prototypes sont standardis s. Elle permet dajouter des fonctionnalit s au serveur sans devoir e e toucher au noyau du code.

Chapitre 9 Les serveurs HTTP

297

Nous conserverons la liste des modules telle quelle pour le moment, et nous verrons par la suite comment g rer lajout dun nouveau module ou le remplacement dun module existant. e Il faut maintenant lancer la commande Configure (gure 9.20, qui va utiliser le chier Configuration pour fabriquer le chier Makefile. Le serveur peut alors etre compil e avec make. Une fois lex cutable g n r , il faut compl ter les chiers de conguration. e e ee e
[...] # For Sequent #AUX_CFLAGS= -DSEQUENT # For Linux -m486 ONLY IF YOU HAVE 486 BINARY SUPPORT IN KERNEL AUX_CFLAGS= -DLINUX -m486 # For A/UX #AUX_CFLAGS= -DAUX -D_POSIX_SOURCE #AUX_LIBS= -lposix -lbsd -s # For SCO ODT 3 [...]

Figure 9.19 Extrait du chier Conguration (serveur Apache)


luc: /apache 1.1.1/src$ Configure Using Configuration as config file luc: /apache 1.1.1/src$ make

Figure 9.20 Compilation du serveur Apache

Conguration Les chiers de conguration se trouvent dans le r pertoire conf de la distribution. Ils sont e au nombre de trois, plus le chier mime.types que nous navons pas besoin de modier. ` ` Une premi` re etape consiste a copier les chiers par d faut a leur emplacement nal. Chacun e e deux porte une extension -dist, il sagit simplement de les copier sous le m me nom mais e sans cette extension :
luc: /apache 1.1.1/conf$ cp httpd.conf-dist httpd.conf luc: /apache 1.1.1/conf$ cp srm.conf-dist srm.conf luc: /apache 1.1.1/conf$ cp access.conf-dist access.conf

Figure 9.21 Mise en place des chiers de conguration

Nous commencerons par le chier httpd.conf. Il sagit du chier de conguration principal. Cest lui qui contient les directives concernant la localisation physique du serveur, le num ro de port, etc. Le chier fourni avec la distribution indique une liste de valeurs par e d faut et est assez bien comment . e e

298 Le chier httpd.conf

Services multim dias e

Toutes les congurations propos es par la suite supposent que le serveur tourne en mode e StandAlone et sur le port 80. Certaines directives ont d j` et pr sent es, la liste ci-dessous ea e e e ne fait que fournir quelques indications compl mentaires sur les options possibles. e HostnameLookups ` Si sa valeur est on, cette option indique a Apache quil doit rechercher les noms des machines qui lui soumettent des requ tes. Par d faut, le serveur ne dispose pas de ces e e noms mais uniquement des adresses IP. Il peut etre utile de les obtenir, par exemple pour connatre les domaines depuis lesquels on vient voir votre serveur, mais si la ` connexion a lInternet est d j` charg e, il est pr f rable de rendre cette fonction inop ea e ee e rante, car elle est parfois gourmande en ressources (voir le chapitre 4 page 145 sur le DNS). User/Group Ce sont les directives evoqu es au paragraphe 9.2.3 page 292. On peut pr ciser pour e e chacune un nom dutilisateur ou de groupe, ou directement le num ro (uid/gid) pr c d e e e e par le signe #. ServerRoot e On indique ici le r pertoire dans lequel a et install e la distribution dApache. Il doit e e sagir dun chemin complet, sans abr viation du genre user. e PidFile ` An de r pondre efcacement a plusieurs requ tes simultan es, la plupart des serveurs e e e HTTP lancent automatiquement plusieurs processus. Au d marrage, Apache ira ecrire e dans ce chier le num ro du processus principal. Pour interrompre le serveur, il suft e dinterrompre ce processus, tous les autres suivront. ServerName On noubliera pas dindiquer le nom ofciel du serveur sil est diff rent du nom de la e machine qui lh berge. e Les diff rents timeouts et nombres min/max de serveurs peuvent conserver leurs valeurs par e d faut. Si le site connat un franc succ` s, il faudra augmenter les maxima. e e Le chier srm.conf ` Cest dans ce chier que sont pr cis es les options de conguration relatives a lorganisation e e du site, quil sagisse du ou des r pertoires contenant les documents, ou des types de chiers e ` quils repr sentent. La liste des options quil est indispensable de mettre a jour est assez e courte, puisque la plupart des valeurs par d faut sont celles adopt es par le plus grand nombre e e de sites. Il faut cependant d nir les directives suivantes : e DocumentRoot Le r pertoire dans lequel seront plac s les documents du serveur. La valeur par d faut est e e e ` assez r pandue mais peu commode a cause de sa longueur. On pourra lui pr f rer un chemin e ee

Chapitre 9 Les serveurs HTTP

299

dacc` s plus court tel que /home/www, /usr/local/www, /usr/local/htdocs, e /usr/local/www docs, etc. On pourra aussi etablir un lien symbolique de ces chemins vers le r pertoire par d faut /usr/local/etc/httpd/htdocs. e e UserDir Il nest pas n cessaire de changer la valeur de cette option, on retiendra quelle repr sente e e le r pertoire sous lequel les utilisateurs du syst` me peuvent placer leurs documents (dans e e le chemin dacc` s de leur compte personnel) pour quils soient accessibles sur le Web. La e e valeur par d faut, public html, est presque universelle. On acc` de aux chiers dun utilie sateur en indiquant son identicateur (login) pr c d du signe , tout comme en shell Unix e e e (` la diff rence pr` s quil est impossible de descendre du r pertoire public html vers a e e e la racine du compte de lutilisateur). Ainsi lutilisateur rousseau pourra placer un chier e e qui suis je.html dans son r pertoire /home/rousseau/public html et y acc der par lURL http://www.fenetre.fr/ rousseau. ScriptAlias Il peut etre pr f rable de centraliser les scripts dans un r pertoire sp cial plut t que de peree e e o ` mettre aux concepteurs du site de les m langer a leurs pages. On indiquera par cette directive e ` le nom symbolique sous lequel on fera r f rence a ce r pertoire au sein des pages, et le cheee e min dacc` s complet. La valeur par d faut pour lalias, /cgi-bin, est assez r pandue. La e e e directive suivante : ScriptAlias /scripts/ /usr/local/web/programmes/ ` signie que lorsquune requ te fait r f rence a lURL : e ee http://www.fenetre.fr/cgi-bin/execute.sh il sagit en fait du script execute.sh qui se trouve dans le r pertoire : e /usr/local/web/programmes/execute.sh Attention : il est evidemment possible de faire pointer le r pertoire alias pour les scripts vers e un r pertoire qui ne se trouve pas dans larborescence du site. Cela ne signie pas pour autant e que sil se trouve tout de m me dans larborescence, il ne soit pas utile de lindiquer. En effet, e la directive ScriptAlias a pour double objectif de d clarer lalias, et de pr ciser que le e e r pertoire en question contient des scripts ou programmes (et pas autre chose). e Si en revanche on souhaite quil soit possible dint grer des scripts aux r pertoires contenant e e ` les pages, il faut d nir la ou les extensions a donner aux chiers pour quils soient consid r s e ee comme des programmes par le serveur. On retirera pour cela le # qui met en commentaire la ligne suivante : AddHandler cgi-script .cgi

300

Services multim dias e

` Notons quil est tout a fait possible de donner une autre extension. On pourrait par exemple ` indiquer a la suite : AddHandler cgi-script .pl AddHandler cgi-script .sh pour sassurer que les scripts r dig s respectivement en Perl et en shell puissent etre ajout s e e e au serveur tout en conservant leur extension (( naturelle )). On retiendra cependant quil est pr f rable de limiter le nombre des extensions de programmes. Si changer lextension usuelle ee dun programme Perl ou dun script shell en .cgi peut paratre r barbatif, il sagit pourtant e dun moyen efcace de limiter les erreurs et les probl` mes de s curit li s a des programmes e e e e ` qui se trouvent au mauvais endroit. ` La notion de Handler que nous venons d voquer implicitement est propre a Apache. Le e ` concept en est simple, puisquil sagit dassocier une action sp cique a un type de chier e particulier. Ainsi dans le cas des scripts CGI, les chiers qui portent lextension ad quate sont e ` transmis a un gestionnaire (handler) qui se charge de les ex cuter. e Un autre gestionnaire fort utile permet de g rer tr` s simplement les cartes cliquables ou Image e e Maps. Le format et la fabrication de ces cartes sera d crit plus loin, mais signalons d` s a pr e e ` e sent quelles sont contenues dans des chiers qui doivent habituellement etre interpr t s par ee un programme externe. Les serveurs r cents (depuis la version 1.5 du NCSA) int` grent ce proe e gramme. Le gestionnaire imap-file dApache agit sur les chiers qui d crivent les cartes e et qui portent g n ralement lextension .map. Nous utiliserons cette fonctionnalit dans un e e e exemple, nous pouvons donc supprimer le # qui met en commentaire la ligne suivante : AddHandler imap-file map Le chier access.conf Ce chier r` gle les questions de s curit dacc` s. Il permet dindiquer quels r pertoires sont e e e e e ` accessibles a tous les utilisateurs, de d nir des restrictions pour dautres r pertoires plus e e sensibles, voire den interdire compl` tement lacc` s a toutes les machines qui ne feraient pas e e ` partie du domaine (au sens Internet) de la soci t (fonction qui se rapproche dune utilisation ee en intranet). Les directives de ce chier sarticulent au sein de blocs qui pr cisent leur port e. Ainsi, toutes e e les directives incluses dans le bloc : <Directory /usr/local/www_docs/personnel> [...] </Directory>

Chapitre 9 Les serveurs HTTP

301

(o` la notation </Directory> emprunt e au langage HTML peut se prononcer (( n du u e bloc Directory ))) concernent le r pertoire /usr/local/www docs/personnel et tous e ses sous r pertoires (sauf si un autre bloc modie ces directives pour un de ces sous r e e pertoires). La directive <Location [...]> joue un r le similaire, mais elle fait r f o ee ` ` ` rence a un chemin dacc` s relatif a la racine du serveur et peut sappliquer a un chier au e ` lieu dun r pertoire. <Location /personnel/> serait donc equivalent a la directive e <Directory> mentionn e plus haut. e Pour d nir les acc` s a lensemble du site, on indiquera le r pertoire choisi pour recevoir les e e ` e pages du site (DocumentRoot). Les directives propos es dans le chier original sont : e Options Parmi les options valides pour Apache citons : Indexes, qui pr cise que pour les requ tes dont lURL concerne un r pertoire au e e e lieu dun chier, il faut envoyer la liste des chiers du r pertoire. En r` gle g n rale, on e e e e valide cette option pour les r pertoires qui contiennent des documents techniques ou e ` ee des programmes a t l charger an de permettre aux utilisateurs dutiliser le site comme sil sagissait dun serveur FTP, mais on la retire d` s que les pages du r pertoire sont e e v ritablement organis es et ordonn es. e e e FollowSymLinks, selon laquelle il est permis de descendre dans une arborescence m me sil sagit dun lien symbolique (attention, un lien symbolique qui pointerait vers e un r pertoire syst` me auquels les visiteurs du site ne doivent pas avoir acc` s constituee e e rait une faille de s curit agrante). e e ExecCGI, qui indique que les programmes et scripts CGI contenus dans les m mes e r pertoires que les pages peuvent etre ex cut s. On noubliera pas de valider cette e e e option si on souhaite utiliser le handler cgi-script. ` ` Includes, qui permet que des pages fassent r f rence a des documents externes a inee clure au moment du t l chargement. Tout comme les liens symboliques, cette possibiee lit peut pr senter un certain danger si les documents ins r s dans les pages contiennent e e ee des informations sur le syst` me. e AllowOverride ` Cette directive prend une des valeurs suivantes (on pourra se reporter a la documentation dApache pour plus de pr cisions). e None All AuthConfig FileInfo Indexes Limit Options

302

Services multim dias e

Elle indique quelles options peuvent etre substitu es par de nouvelles valeurs contenues dans e les chiers .htaccess. Ces chiers sont en quelque sorte des access.conf locaux ` quon place au sein m me des r pertoires an d viter de recongurer le serveur lui-m me a e e e e chaque ajout dans larborescence. order, allow, deny Ces directives pilotent le contr le dacc` s proprement dit au niveau Internet. Elles fonco e tionnent sur le m me principe que les ltres disponibles dans les routeurs. e Order prend la valeur deny,allow (attention, elle doit etre ecrite en un seul mot : sous la forme deny, allow elle serait refus e) ou allow,deny, respectivement e pour indiquer que tout est interdit par d faut sauf ce qui est explicitement autoris , ou e e linverse. ` ` deny from et allow from pr cisent quant a eux lorigine des connexions a refuser e ` ou a autoriser. Il peut sagir dun ou plusieurs noms de machines ou de domaines, ou encore none ou all. Premier d marrage e Nous allons avant tout lib rer le port 80 pour le serveur, en retirant la r f rence au petit script e ee d crit plus haut dans le chier inetd.conf. Pour cela, il suft simplement de mettre en e commentaire ou deffacer la ligne concern e et denvoyer de nouveau le signal SIGHUP au e d mon inetd. e Si nous tentons de lancer le serveur depuis un compte utilisateur, nous obtenons ce type de message :
luc: /apache 1.1.1$ httpd -X -d . bind: Permission denied httpd: could not bind to port 80 luc: /apache 1.1.1$

Seul root a le droit de lancer des programmes qui (( sinstallent )) sur un port dont le num ro e ` est inf rieur a 1024 (on parle de port syst` me). Pour d marrer le serveur en tant quutilisae e e teur autre que root, il faudra changer le num ro de port dans le chier httpd.conf : par e exemple, 8080 est souvent utilis pour les serveurs qui tournent sous le nom dun utilisateur e quelconque. On notera (gure 9.22) loption -X qui permet de lancer Apache en mode d bogage. Un seul e e processus est lanc , et il reste attach au terminal depuis lequel il a et appel : on peut donc e e e linterrompre tr` s simplement. Les erreurs sont afch es a la console au lieu d tre ecrites e e ` e dans le chier de log.
luc: /apache 1.1.1$ su Password: ****** luc:/home/flg/apache 1.1.1$ httpd -X -d .

Figure 9.22 Lancement du serveur Apache en tant que root

Chapitre 9 Les serveurs HTTP


En cas de probl` me de conguration e

303

Si le maniement des chiers de conguration sav` re probl matique, on pourra essayer la e e conguration minimale propos e par d faut avant de lafner progressivement en y ajoutant e e dautres options. Mise en place permanente ` La mise en place d nitive impose de sassurer que le serveur sera lanc automatiquement a e e chaque d marrage du syst` me. Il est par ailleurs recommand de mettre en place une crontab e e e dont le r le sera de surveiller le fonctionnement du serveur, en v riant que le processus est o e toujours actif, ou mieux, en demandant r guli` rement une page HTML. e e Bien entendu, le serveur doit etre lanc sans loption -X, puisquil ne doit etre rattach a e e ` aucun terminal. La surveillance des erreurs se fera par linterm diaire du chier error log. e Sous Linux, on pourra suivre la d marche suivante : e Ajout de la commande d marrant le serveur dans les chiers dinitialisation du syse t` me, par exemple dans le chier /etc/rc.d/rc.local. e
luc: $ su Password: ******** luc: # vi /etc/rc.d/rc.local [...] /usr/local/httpd/httpd -d /usr/local/httpd/httpd

Cr ation du script de surveillance, ici /etc/watch httpd. On utilise le contenu du e chier httpd.pid du r pertoire /usr/local/httpd/logs/ pour connatre le e num ro de processus du serveur. e
luc: # cat /etc/watch httpd #!/bin/sh PIDFILE=/usr/local/httpd/logs/httpd.pid if ! ps -p cat $PIDFILE then /usr/local/httpd/httpd -d /usr/local/httpd/httpd fi

Enregistrement du script dans la crontab de lutilisateur root an quil soit lanc a e ` intervalles r guliers (ici toutes les 30 minutes, ce qui est sans doute insufsant). e
luc: # crontab -e [...] 0,30 * * * * /etc/watch_httpd >/dev/null 2>&1 [...]

9.3.1 Utilisation des modules


Certaines fonctions disponibles avec Apache ne sont pas directement int gr es au serveur, e e ` mais propos es sous forme de modules a rattacher lors de la compilation (sur certains syse t` mes, les derni` res versions dApache permettent egalement dutiliser des modules dynae e miques, cest-` -dire compil s ind pendamment et charg s au besoin lors de lex cution). a e e e e

304

Services multim dias e

Nous verrons section 10.3.3 page 366 comment acc der aux fonctions compl mentaires du e e ` serveur Apache, en loccurence a travers lutilisation du module imap. Lajout dun module se fait au moment de la compilation du serveur. Le module doit tout ` dabord etre indiqu dans le chier de conguration, sous une forme analogue a : e Module imap_module mod_imap.o ` Cette ligne pr cise le nom du module, suivi du nom du chier objet a inclure lors de l dition e e des liens. Ici, il sagit du module imap, qui g` re les cartes cliquables au niveau du serveur e (voir la section 10.3.3 page 360). Pour ajouter le module imap, il suft donc dins rer cette ligne dans le chier de parae m` tres Configuration (elle y gure dailleurs par d faut), puis de relancer la commande e e Configure et de recompiler le serveur avec make. La plupart des modules recherchent des param` tres de fonctionnement sp ciques dans les e e chiers de conguration du serveur (httpd.conf...) ; par exemple, pour utiliser le module imap, il faudra associer le module aux chiers portant lextension .map en ins rant dans le e chier srm.conf la ligne : AddHandler imap-file map

9.3.2 Notion dadresse virtuelle (virtual host)


Il est parfois n cessaire de mettre en place plusieurs sites Web sur la m me machine. Si e e cette derni` re nest pas particuli` rement gon e, il peut etre pr f rable de nutiliser quun e e e ee seul et m me serveur pour tous ces sites. Il faut alors disposer de plusieurs adresses IP, donc e plusieurs interfaces, et indiquer au serveur quil doit surveiller le port 80 (ou un autre) sur chacune de ces interfaces. ` La cr ation dune interface virtuelle, qui consiste a affecter une adresse IP suppl mentaire e e ` a une interface physique existante (par exemple une carte ethernet), nest pas encore possible sur tous les syst` mes. Sous Solaris ou Linux, elle seffectue gr ce a la commande e a ` ifconfig, en utilisant successivement ladresse de linterface suivie des labels :0, :1, etc. (gure 9.23 page 306). Bien s r, ladresse doit etre rout e. u e Une fois linterface cr ee, il faut pr ciser au serveur sur quelles adresses les requ tes doivent e e e parvenir. ` Loption BindAdress du chier de conguration httpd.conf permet de pr ciser a quelle e adresse le serveur se trouve, lorsquil ny en a quun. Un ast risque demande au serveur e d couter sur toutes les interfaces. Ici, ce nest evidemment pas souhaitable. Il faudra donc e ` pr ciser ladresse de linterface par d faut ; cest a elle que sappliqueront les options coue e rantes.

Chapitre 9 Les serveurs HTTP

305

Pour param trer les interfaces suppl mentaires, on utilisera la directive <VirtualHost>, e e avec la syntaxe suivante. Ici ladresse IP correspondant au nom www2.fenetre.fr est 192.168.22.35, et lene tr e correspondante a et ajout e au DNS. e e
<VirtualHost home.fenetre.fr> ServerAdmin webmaster@home.fenetre.fr DocumentRoot /www/docs/home ServerName home.fenetre.fr ErrorLog logs/home.error_log TransferLog logs/home.access_log </VirtualHost>

La plupart des options de conguration peuvent etre dupliqu es au sein dun bloc de ce e ` type, a lexception bien entendu des options relatives au fonctionnement g n ral du serveur e e (ServerRoot, MaxSpareServers, etc...). Ici nous avons congur un second site. Nous disposons donc maintenant de deux serveurs e Web, dont les URL sont respectivement : http://www.fenetre.fr http://home.fenetr.fr Note : le serveur Apache permet egalement de congurer plusieurs serveurs sans faire appel ` a des interfaces virtuelles, en utilisant un champ particulier des en-t tes HTTP : le champ e ` Host. On peut ainsi cr er plusieurs sites a partir du m me serveur et sur la m me adresse IP, e e e apr` s avoir ajout les entr es CNAME correspondantes dans le DNS. e e e Cette technique, dite des Non-IP Virtual Hosts, nest pas recommand e, car seuls les nae vigateurs tr` s r cents renseignent le champ Host. Tous les autres navigateurs renverront e e automatiquement vers le site par d faut. e

9.4 Installation de Netscape Commerce Server


Linstallation du serveur de Netscape est nettement plus simple que celle dApache. Toutes les op rations sont pilot es par linterm diaire dun navigateur, qui fournit une interface somme e e e toute comparable aux fen tres et botes de dialogue dun logiciel classique sous Windows e ou MacOS. Tout comme pour le serveur Apache, nous ne verrons que la version Unix du logiciel, mais Netscape fonctionne egalement sous Windows NT. ` Les fonctionnalit s offertes par le serveur commercial de Netscape sont comparables a celles e dApache. Tout comme ce dernier, il peut en outre etre enrichi par des modules (ou plug-ins) externes, en particulier gr ce a une interface standardis e (NS-API). Netscape propose un kit a ` e de d veloppement pour exploiter son API. e

306
luc:# ifconfig eth0:0 192.168.22.35 luc:# ifconfig -a eth0

Services multim dias e

Link encap:10Mbps Ethernet HWaddr 00:A0:24:B3:07:02 inet addr:192.168.22.34 Bcast:192.168.22.31 Mask:255.255.255.224 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:596219 errors:0 dropped:0 overruns:0 TX packets:246764 errors:0 dropped:0 overruns:0 Interrupt:10 Base address:0x300 Link encap:10Mbps Ethernet HWaddr 00:A0:24:B3:07:02 inet addr:192.168.22.35 Bcast:192.168.22.31 Mask:255.255.255.224 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 TX packets:0 errors:0 dropped:0 overruns:0

eth0:0

luc:# route add -host 192.168.22.35 eth0:1

Figure 9.23 Conguration dune interface virtuelle

9.4.1 Lancement de linstallation


Avant tout, larchive doit etre r cup r e depuis le site Web de Netscape (version de d e ee e monstration) ou sur le CD-Rom du produit. La version de d monstration se pr sente sous e e claterons dans un r pertoire temporaire, la forme dun chier archive compress que nous e e e ici /home/ns-install. ` Linstallation proprement dite se lance a laide de la commande ns-setup, qui se trouve dans le sous-r pertoire de larchive. e /home/ns-install/export/https/install/ns-setup La gure 9.24 montre le d marrage de linstallation. e
# ./ns-setup Netscape Communications Corporation Netscape Commerce Server QuickStart installation. [...] Full name [gide.fenetre.fr]: gide.fenetre.fr Using hostname gide.fenetre.fr, port 14087. [...] If you want or need to use a PC, Macintosh, or other remote system, enter NONE here, and open the URL http://gide.fenetre.fr:14087/ with your forms-capable PC or Macintosh network navigator. Network navigator [netscape]: Attempting to run: netscape http://gide.fenetre.fr:14087/ \&

Figure 9.24 Lancement de linstallation de Netscape Commerce Server

Chapitre 9 Les serveurs HTTP

307

Le nom de machine demand lors de linstallation est celui du serveur. Ainsi que nous lavons e vu dans les paragraphes pr c dents, il ne sagit pas n cessairement de celui de la machine, e e e mais souvent dun equivalent au sens DNS CNAME. Linstallation pr sent e ici concerne le e e serveur interne de la soci t FeNETre, qui se trouve sur gide. Le nom demand par Netscape ee e repr sente le ServerName evoqu pour Apache : il serait donc important, dans le cas dun e e serveur public, dindiquer son nom ofciel (par exemple www.fenetre.fr) au lieu de son nom au sein du r seau local. Dans tous les cas, le premier ecran de conguration permet de e modier le nom indiqu , on peut donc se contenter de valider le nom propos par d faut sil e e e ` correspond a un des noms de la machine. Le programme dinstallation d marre un serveur HTTP sur un port libre choisi au hasard et e dont le num ro exact est pr cis par le programme dinstallation. Toute la suite de la cone e e guration se d roule donc par linterm diaire dune interface HTML. Si on dispose dun client e e HTML sur la machine elle-m me (ainsi que dun environnement graphique tel X Window e ou OpenWin), on peut continuer linstallation depuis cette derni` re ; dans le cas contraire il e faut se connecter sur le port indiqu a laide dun navigateur depuis une autre machine, par e` exemple un poste sous Windows ou MacOS. Le programme dinstallation attend un nom de ` e commande a ex cuter pour lancer le navigateur sur le serveur. Par d faut il sagit du client e de Netscape, mais on peut bien s r utiliser Mosaic ou tout autre navigateur capable dafu cher des formulaires (ce qui est le cas de tous les navigateurs r cents). En mode texte, un e client sp cial tel que lynx peut faire laffaire, mais la saisie des informations risque d tre e e laborieuse. Les diff rents ecrans de la phase de conguration sont largement comment s, nous allons e e passer les principaux en revue en insistant sur les param` tres fondamentaux. Une fois le e navigateur lanc , il suft de cliquer sur le bouton "Start the installation" pour e ` passer au menu g n ral du programme de conguration. Il est egalement possible de mettre a e e jour une version d j` install e : dans ce cas, on pourra conserver les param` tres de lancienne ea e e conguration. La conguration se fait en trois ecrans, quon pourrait comparer aux trois chiers de conguration du serveur Apache. L cran de conguration du serveur lui-m me (gure 9.28 page 311) permet de d nir : e e e le nom du serveur (au sens DNS : cest le ServerName dApache) ; son adresse IP (BindAddress) ; le port sur lequel il doit sinstaller ; le r pertoire dans lequel il doit placer ses chiers (le r pertoire ServerRoot), par e e d faut /usr/ns-home ; e lidenticateur sous lequel il doit fonctionner : la plupart du temps, il sagira de lutilisateur nobody, mais on peut pr f rer cr er un utilisateur factice particulier (voir la ee e section 9.2.3 page 292) ; le nombre de processus lanc s au d marrage. e e

308

Services multim dias e

Figure 9.25 Ecran daccueil de linstallation du serveur Netscape

Chapitre 9 Les serveurs HTTP

309

Figure 9.26 Demarrage de linstallation ou de la mise a jour `

310

Services multim dias e

Figure 9.27 Menu principal de linstallation

Chapitre 9 Les serveurs HTTP

311

Figure 9.28 Conguration des options propres au serveur

L cran de conguration du site (gure 9.29 page suivante) se rapporte aux options de mise e en place des documents : le r pertoire du site, analogue au DocumentRoot dApache ; e le nom des chiers dindex (voir DirectoryIndex), cest-` -dire les pages HTML a qui doivent etre envoy es en r ponse aux requ tes portant sur un r pertoire et non sur e e e e un chier : la plupart du temps, il sagit bien s r de index.html, mais on peut en u indiquer plusieurs en les s parant par des virgules ; e le type de page fabriqu e par le navigateur lorsquil ny a pas de chier dindex (voir e FancyIndexing) : il sagit dans tous les cas de la liste des chiers du r pertoire, elle e peut etre d cor e par des icones ou se pr senter comme une liste simple ; e e e la r f rence de la page daccueil, qui peut se trouver ailleurs qu` la racine du r pertoire ee a e du site. Une particularit du serveur de Netscape est que son administration seffectue par linterm e e diaire dun navigateur Web, tout comme son installation. Le troisi` me ecran de conguration e

312

Services multim dias e

Figure 9.29 Conguration des options du site Web

(gure 9.30 page ci-contre) concerne pr cis ment le serveur dadministration. On y pr cie e e sera : le nom et le mot de passe de ladministrateur ; la liste des machines qui peuvent acc der au serveur dadministration ; e le port sur lequel il doit se mettre en veille (on pourra par exemple choisir le port syst` me 81) ; e lidenticateur sous lequel il doit fonctionner en ce qui concerne le serveur dadministration, il nest g n ralement pas dangereux de le laisser fonctionner sous lidentie e cateur root, puisque son acc` s est restreint. e Une fois la conguration termin e, un ecran interm diaire r sume les options choisies (e e e gure 9.31 page 314). Si elles sont convenables, linstallation peut continuer. Le serveur dadministration (gure 9.32 page 315) comporte une liste tr` s compl` te de parae e

Chapitre 9 Les serveurs HTTP

313

Figure 9.30 Conguration du serveur dadministration

m` tres, qui d nissent le comportement du serveur au niveau des documents, mais aussi de e e la s curit , de lauthentication, voire du cryptage pour les transactions commerciales. On e e sy connecte par linterm diaire du port d ni plus haut, puis en entrant le nom et le mot de e e passe de ladministrateur. Le d tail des options dadministration du serveur Netscape d passe e e ` le cadre de cet ouvrage ; on se rapportera a la documentation papier. Note : tout comme Apache, Netscape sait g rer plusieurs serveurs sur la m me machine (vire e tual hosts). Il est donc possible de congurer le serveur pour ecouter sur plusieurs adresses diff rentes, si le syst` me le permet. e e

314

Services multim dias e

Figure 9.31 Resume des options de conguration

Chapitre 9 Les serveurs HTTP

315

Figure 9.32 Menu g eral du serveur dadministration en

316

Services multim dias e

9.5 Mise en place du contenu


Une fois le serveur correctement install , il sagit de mettre en place les documents. Le chae e pitre suivant pr sente les divers el ments utilis s lors de la fabrication des pages : le langage e e HTML dune part, mais aussi les diff rents programmes et scripts permettant de traiter des e formulaires, de personnaliser les pages, dautomatiser certaines fonctions, ou m me dacc e e ` der a des bases de donn es. e ` Dune mani` re formelle, la mise en place du contenu consiste essentiellement a copier les e ` diff rents chiers (pages, images, scripts, voire sons ou vid os) a leurs places respectives : e e le r pertoire des documents (DocumentRoot) pour les pages et chiers de donn es, le e e ` r pertoire des scripts (ScriptAlias) pour les programmes, a moins quils ne soient plac s e e aux m mes endroits que les documents eux-m mes. e e ` ` Il est cependant indispensable de penser a effectuer certains contr les visant a renforcer la o stabilit et la s curit du serveur : droits dacc` s, liens symboliques, droits en ex cution et e e e e e ` propri taires des programmes... Nous allons etablir une rapide liste des etapes techniques a e ` e suivre et des points a v rier avant douvrir le serveur au public.

9.5.1 Check-list de linstallation


` V rier que le nom du serveur correspond bien a une entr e valable dans le DNS, quil e e sagisse dun champ dadresse (A) ou dun alias (CNAME).
Direct (named.hosts) gide IN A www IN CNAME Reverse (named.rev) 34 IN PTR 192.168.22.34 gide gide.fenetre.fr

V rier que le nom indiqu dans la conguration du serveur (ServerName) est bien e e le nom ofciel sil est diff rent du nom de la machine. e
Conguration Apache (httpd.conf) ServerName www.fenetre.fr

e e V rier que les chemins dacc` s sont corrects et que le r pertoire des scripts a et d e e e e ni le cas ech ant.
Conguration Apache (httpd.conf) ServerRoot /usr/local/httpd DocumentRoot /usr/local/www_docs Conguration Apache (httpd.conf) ScriptAlias /cgi-bin/ /usr/local/httpd/cgi-bin/

Chapitre 9 Les serveurs HTTP

317

Ajouter les commandes n cessaires au lancement automatique du serveur au d marrage e e de la machine. En mode inetd, ins rer une entr e dans le chier /etc/inetd.conf. Par exemple : e e
www stream tcp nowait root /usr/local/httpd/httpd httpd

En mode standalone, ajouter la commande de d marrage du serveur aux chiers e dinitialisation (rc.*). Sous Linux (/etc/rc.d/rc.inet2 ou rc.local) :
/usr/local/httpd/httpd -d /usr/local/httpd/httpd

` Mettre en place les documents, en veillant a respecter les noms de chiers. Attention aux minuscules/majuscules ! V rier le fonctionnement du serveur et des scripts. e ` V rier que les scripts ne font pas appel a des commandes du syst` me dont les parae e m` tres seraient pass s par formulaire : il sagirait dune faille agrante dans la s curit e e e e du syst` me. e Rep rer les liens symboliques et sassurer quils ne permettent pas de remonter ind e u ment dans larborescence du disque. ` Ne laisser aucun chier appartenant a des utilisateurs ou groupes ayant des droits particuliers sur la machine (root, bin...). Si possible, cr er par exemple un utilisateur www et un groupe wwwadm pour e tous les documents du site. Plusieurs personnes diff rentes pourront ainsi acc e e der aux documents, eventuellement avec des droits diff rents pour le groupe. e V rier que le serveur fonctionne bien avec le minimum de droits. e ` Sauf si les scripts et programmes doivent acc der a des informations ou des e criture, le serveur devrait fonctionner sous nobody/nogroup (g ressources en e e n ralement -1/-1). Sinon, utiliser le compte www (voir plus haut) ou un autre e compte ad hoc.

10
Le langage HTML et son utilisation
Les pages consult es sur le Web sont r dig es dans un langage de description mis au point e e e au CERN et dont les objectifs originaux etaient dune part dhomog n iser la pr sentation e e e des documents mis en ligne, dautre part de permettre la cr ation de documents distribu s e e sur plusieurs serveurs distincts, gr ce a la notion de lien hypertexte. Les niveaux 2 et 3 du a ` standard HTML (Hypertext Markup Language) y ajoutent des notions de formatage evolu e dont lutilisation s loigne parfois sensiblement de la vocation premi` re du langage lui-m me, e e e ` mais qui permettent dobtenir des effets de pr sentation de plus en plus comparables a ceux e permis par les traitements de texte evolu s. e De nombreux ajouts sont r guli` rement propos s par les soci t s les plus actives dans la mise e e e ee ` au point des navigateurs, en loccurrence Netscape et Microsoft. Certains correspondent a de v ritables besoins, dautres ne sont que des gadgets marketing ; dans tous les cas, cest e le Web Consortium, un organisme paritaire qui se r unit r guli` rement, qui statue sur les e e e e el ments qui seront int gr s au standard. Apr` s une p riode assez confuse durant laquelle e e e e les diff rentes versions des navigateurs du march ont propos des fonctions de plus en plus e e e ` ` h t roclites, la tendance actuelle est a la simplication et a luniformisation, an de redonner ee au HTML son v ritable de r le de standard de diffusion documentaire. e o Le but de ce chapitre nest pas de faire une pr sentation d taill e du langage et de son utilie e e e ` e sation, mais uniquement de pr senter les el ments indispensables pour commencer a r diger e quelques documents, et de d crire les diff rents proc d s utilis s dans le traitement des fore e e e e ` mulaires et la mise en place de programmes destin s a g n rer des pages a la vol e. Les e ` e e e paragraphes sont illustr s par une s rie dexemples qui correspondent aux diff rentes etapes e e e de la conception dun premier site.

320

Services multim dias e

10.1 G n ralit s e e e
Le langage HTML sappuie sur des instructions de formatage plac es au sein du texte pour e afcher un document en interpr tant ces instructions (ou tags) selon, dune part, ce que le e navigateur est capable de faire, dautre part la mani` re dont il est congur . Il est int ressant e e e de constater quon ne peut jamais pr sumer de laspect exact quun navigateur Web donnera e ` ` a un document. En effet, il est g n ralement permis a lutilisateur de choisir la forme et la e e taille de la police par d faut, de supprimer les images, dimposer des couleurs pour le fond et e le texte, etc. ` Parmi les autres facteurs qui inuencent laspect du document a lafchage, citons la r solue ` tion de l cran, la taille de la fen tre du navigateur (le texte sadapte g n ralement a la largeur e e e e e de la fen tre, sauf sil a et volontairement d limit par un tableau), le nombre et la palette e e e des couleurs afchables. Un des principes fondamentaux du langage est que tout document doit pouvoir transiter sur nimporte quel r seau m me si les caract` res sont encod s sur 7 bits. Cela signie que les cae e e e ract` res de contr le ainsi que tous les caract` res accentu s et sp ciaux doivent etre proscrits. e o e e e Dans la pratique, le jeu de caract` res iso-latin1 est d sormais reconnu, ce qui permet e e d viter lencodage des caract` res accentu s. En revanche, une autre cons quence majeure e e e e ` de cette restriction se rapporte a la mise en page du code HTML lui-m me. Ainsi que nous e lavons vu lorsque nous evoquions les transferts de chiers par email, les sauts de lignes doivent etre encod s au m me titre que les autres caract` res de contr le. De fait, en HTML, e e e o ` les sauts de ligne repr sent s dans le code ne correspondent pas a des sauts de ligne dans la e e mise en page : ils sont tout simplement ignor s et remplac s par un espace, tout comme les e e espaces multiples. Ainsi le texte :
Plus loin dans la valle se e trouve une cahute. Pas de vitres aux fentres, pas e de serrure aux portes, chacun peut y entrer, sy plaire, et

y dormir.

ou encore :
Plus loin dans la valle se trouve une cahute. e Pas de vitres aux fentres, pas de serrure aux portes, e chacun peut y entrer, sy plaire, et y dormir.

donnera de toute fa on a lafchage : c ` On peut en particulier utiliser cette particularit du standard pour formater les sources des doe cuments HTML dune mani` re plus lisible, en ajoutant des retraits marquant la hi rarchie des e e

Chapitre 10 Le langage HTML et son utilisation

321

Figure 10.1 Les navigateurs ignorent les espaces multiples et les sauts de lignes

instructions imbriqu es, tout comme dans un programme informatique classique. On notera e dailleurs quil nest pas indispensable de faire tenir les instructions HTML sur une ligne. Il est permis de couper les instructions nimporte o` entre les param` tres : u e
<BODY BGCOLOR=red >

Les instructions HTML (tags HTML) se notent sous la forme <INSTRUCTION> et se ferment e le cas ech ant par la notation n gative </INSTRUCTION>. Les instructions de mise en forme e du texte qui encadrent g n ralement un groupe de mots ou un paragraphe doivent etre fere e e m es, tandis que certaines autres destin es a ins rer un el ment (une image, par exemple) e e ` e comportent une seule instruction. Certaines fonctions acceptent un ou plusieurs param` tres, qui se placent au sein m me de e e linstruction. Ainsi <IMG SRC="nouveau.gif" WIDTH=100 HEIGHT=200> signie (( ins e rer limage dont lURL relatif est nouveau.gif en lui donnant les dimensions 100x200 )). Les instructions peuvent etre r dig es indiff remment en minuscules ou en majuscules. En e e e revanche, les noms de chiers ou les URL auquels elles font parfois r f rence doivent etre ee trait s comme des noms de chiers ou URL normaux, cest-` -dire que si le serveur fonctionne e a sous un syst` me de type Unix, la forme exacte du chemin dacc` s et du nom de chier doit e e etre respect e. e Les navigateurs r cents g` rent assez correctement les instructions de formatage imbriqu es. e e e Cependant, une bonne partie de ceux encore en fonction ne le font pas, par cons quent il vaut e mieux sassurer que dans les deux cas, le r sultat sera lisible. e

10.1.1 Les niveaux du standard


On distingue pour linstant trois versions majeures du langage. La premi` re permet de pr e e senter un document de mani` re structur e gr ce a six niveaux de titres, des instructions d e e a ` e nissant le style des caract` res, la possibilit dins rer des listes et celle de mettre en place e e e des champs de saisie dans des formulaires. La seconde y ajoute principalement la capacit e

322

Services multim dias e

de formater des tableaux, et la troisi` me celle de disposer le texte autour des images. Ces e versions sont totalement compatibles, puisque les navigateurs se contentent dignorer purement et simplement les instructions quils ne connaissent pas. En revanche, des diff rences e sensibles au niveau de la mise en page peuvent apparatre. Cest pour cette raison quil est parfois pr f rable de mettre au point deux jeux de pages utilisant respectivement les instrucee tions standards et des instructions avanc es. e Les versions des navigateurs utilis s en France sont souvent disparates, et il est parfois indise pensable de simplier un site si on ne souhaite pas en g rer deux versions diff rentes. e e

10.2 Syntaxe
10.2.1 Encodage HTML
Le premier niveau du standard HTML d nit une s rie de codes sp ciaux ou entit s (entie e e e ties) destin s a repr senter par une s rie de caract` res du jeu ASCII standard les principaux e ` e e e caract` res accentu s et sp ciaux des langues occidentales (il sagit en fait de la partie sup e e e e rieure du jeu iso-latin1). Chaque code est pr c d du signe & et suivi du signe ; ce qui e e e impose bien entendu de repr senter le signe & lui-m me par un code particulier. Les signes e e inf rieur < et sup rieur > et les guillemets " sont egalement encod s, car ils servent au sein e e e des instructions. On remarque que chaque entit (tableau 10.1 page suivante) peut etre repr sent e indiff e e e e remment par son nom ou par son code num rique pr c d du signe #. Ainsi &eacute; et e e e e &#233; repr sentent le caract` re . e e e Cependant cette possibilit ne devrait pas etre utilis e, car elle ote toute g n ricit au syst` me e e e e e e ` dencodage. Il est possible de repr senter lentit &eacute; a partir de nimporte quel jeu e e ` ` de caract` res occidental, quitte a afcher un simple e a la place, et ce sans n cessairement e e connatre la structure du jeu iso-latin1 ; en revanche, afcher la m me entit a partir de e e` son code num rique n cessite de disposer dune table de conversion du jeu iso-latin1 e e vers le jeu de caract` res du syst` me. e e On notera limportance de la distinction majuscules/minuscules dans les entit s, tout comme e dans les noms de chiers, puisquil est possible daccentuer des voyelles majuscules.

10.2.2 Les diff rentes parties dun document e


En r` gle g n rale, un document HTML se compose dun en-t te (HEAD), qui nest pas afe e e e ` ` e ch mais sert a fournir des informations compl mentaires au navigateur ou a d ventuels e e ` moteurs de recherche, et dun corps (BODY), qui contient le texte a mettre en page. Les informations quon retrouve le plus souvent dans len-t te sont le titre du document, e

Chapitre 10 Le langage HTML et son utilisation

323

Tableau 10.1 Entites HTML

d limit par linstruction <TITLE> et son inverse </TITLE>, lURL original du document, e e ` et des renseignements divers a lusage des moteurs de recherche ou du navigateur d limit s e e par linstruction <META>. Linstruction BASE permet de pr ciser lURL o` lon peut trouver le document. Elle est utile e u ` lorsque les instructions utilis es par la suite dans la page font r f rence a des URL relatifs. e ee Lorsquon enregistre le code source dune page r cup r e sur le Net, on ne peut g n ralement e ee e e pas retrouver les images par la suite, sauf en les r cup rant une par une. Si lURL de base e e e e e du document a et pr cis dans la page, le navigateur pourra t l charger les images depuis le ee

324

Services multim dias e

site dorigine. Linconv nient de cette pratique, si elle nest pas automatis e par programme, e e est quelle complique les d placements de chiers au sein de larborescence du serveur. e En d pit de son nom, le titre du document nest pas afch avec le document lui-m me. Il est e e e en g n ral pr cis dans la barre sup rieure de la fen tre du navigateur. e e e e e e
<HTML> <HEAD> <TITLE> TITRE DU DOCUMENT </TITLE> <BASE HREF="http://www.fenetre.fr/html/tutorial/head.html"> </HEAD> <BODY> Le titre apparat en haut de la fentre e </BODY> </HTML>

Figure 10.2 Utilisation de linstruction <TITLE>

Figure 10.3 Utilisation de linstruction <TITLE>

Les champs META sont principalement utilis s pour indiquer une liste de mots cl s auxquels e e la page fait r f rence, ou encore un r sum du contenu de cette derni` re. Cette information ee e e e est r cup r e par certains moteurs de recherche qui sen servent pour indexer les documents e ee dans leurs listes th matiques. e Linstruction <BODY> indique le d but du corps du document. Aucune des instructions e <HTML>, <HEAD> ou <BODY> nest r ellement obligatoire pour les navigateurs. Cepene dant, leur pr sence syst matique permet au besoin dautomatiser de nombreuses manipulae e ` tions a laide de programmes tr` s simples : elle est donc souhaitable. La plupart des editeurs e ` HTML disponibles sur le march veillent deux-m mes a ce que ces instructions soient pr e e e sentes (ils ajoutent dailleurs tr` s souvent un champ META nomm GENERATOR dans lene e ` t te du document, an de pr ciser le nom et la version du produit ayant servi a composer les e e pages ; par exemple <META NAME="GENERATOR" CONTENT="Internet Assistant for Microsoft Word 2.0z">)

Chapitre 10 Le langage HTML et son utilisation

325

10.2.3 Afchage ou enregistrement des documents source


` La m thode la plus efcace pour apprendre a formater des pages HTML consiste sans aucun e ` ` doute a explorer les documents existants et a consulter leur code source. Ce dernier est n e cessairement disponible, puisque le navigateur sen sert pour afcher la page. Dune certaine ` mani` re, on pourrait dire que sur le Web, le travail de chacun est accessible a tous, dautant e que les navigateurs offrent maintenant la possibilit denregistrer egalement les images. e Bien entendu, tout ce qui circule sur le Net est soumis aux m mes lois sur les droits de dife fusion et de copie que nimporte quel autre document ou cr ation. Cependant, si le plagiat e pur et simple est l galement discutable, moralement douteux et pratiquement mal accept e e par la communaut des utilisateurs de lInternet, lusage veut quon puisse librement sinse pirer de ce qui existe pour d velopper son propre serveur. La politesse exige de demander e e lautorisation de lauteur par email avant de copier un el ment graphique ou un programme. Tous les navigateurs disposent dune fonction qui permet de consulter le document source dune page HTML. Certains permettent m me quon choisisse une application particuli` re e e pour la consultation. Ainsi sous Netscape Navigator on utilisera loption Document Source du menu View. On pourra en outre choisir dutiliser un quelconque editeur de texte plut t que lutilitaire o de consultation int gr au navigateur qui ne permet ni denregistrer sur disque ni d diter le e e e document charg . e

10.2.4 Les principales instructions (tags)


Sauts de ligne et de paragraphe, alignement, centrage Ainsi que nous lavons dit, les sauts de ligne ne sont pas pris en compte par les navigateurs. ` An de restituer un saut de ligne au sein dune mise page HTML, il faut donc faire appel a une instruction particuli` re. Les instructions <BR> et <P> permettent respectivement dindiquer e un saut de ligne et un saut de paragraphe. Elles se distinguent par la valeur de lespace laiss e entre deux lignes de texte. En outre, la plupart des navigateurs ignorent les sauts de paragraphe cons cutifs et ne tiennent e ` lorigine, c tait egalement le cas pour les sauts de ligne. Les compte que du premier. A e ` navigateurs Mosaic et Netscape ont un comportement diff rent a ce sujet, puisque Netscape e Navigator tient compte des sauts de ligne multiples. On notera que les instructions de saut ne sont pas suivies de leur inverse. Le saut de paragraphe est n anmoins assez souvent assimil a une marque de paragraphe ; le texte correspone e` dant est alors encadr par les instructions <P> et </P>. On utilise notamment cette possibilit e e ` pour changer lalignement du bloc, en ajoutant a linstruction le param` tre ALIGN qui prend e pour valeur LEFT ou RIGHT.

326

Services multim dias e

Figure 10.4 Afchage du code source dune page HTML

Chapitre 10 Le langage HTML et son utilisation


FeNETre s.a. <BR> 12, avenue du Port de Commerce <BR> 92400 ASNIERES SUR SEINE <BR> Tl. (1) 45 25 55 55 e <P> <P> <P> <P> Bienvenue sur notre serveur

327

Figure 10.5 Format des sauts de ligne et de paragraphe en HTML

Figure 10.6 Sauts de ligne et de paragraphe en HTML

FeNETre s.a. <P ALIGN=right> 12, avenue du Port de Commerce <BR> 92400 ASNIERES SUR SEINE <P> Tl. (1) 45 25 55 55 e

Figure 10.7 Saut de paragraphe et alignement a droite `

Figure 10.8 Paragraphes align a droite en HTML es `

328
Style Gras Italique Soulign e Instruction <B>...</B> <I>...</I> <U>...</U> Param` tres e

Services multim dias e


Norme

HTML 1. Attention, de nombreux navigateurs r e servent le soulignement aux liens hypertexte et remplacent le style soulign par du gras ou des e italiques ou nen tiennent simplement pas compte.

` Police a espacement xe (t l type) ee Augmenter/diminuer la taille des caract` res e Taille des caract` res e Couleur

<TT>...</TT> <FONT SIZE=+/-n>...</FONT> n=1... ; la taille par d faut e est 3 et peut etre chang e e par linstruction <FONT SIZE=n> ci-dessous n=1..7 c=#RRVVBB ou nom de couleur HTML 2

<FONT SIZE=n>...</FONT> <FONT COLOR=c>

HTML 2 HTML 3

Figure 10.9 Synoptique des styles de caract` eres HTML

e En revanche, on nutilise pas linstruction de paragraphe pour centrer un el ment dans la page, mais plut t linstruction sp ciale <CENTER> et son inverse. Elle permet de centrer o e nimporte quel objet : texte ou image, mais aussi les tableaux. Styles de caract` res e ` Les styles se rapportent a la forme ou la couleur des caract` res. La graisse et les italiques font e partie du premier niveau du standard. En revanche, les instructions utilis es pour changer la e ` taille et la couleur des caract` res rel` vent respectivement des versions 2.0 et 3.0. A ce titre, e e elles ne sont pas reconnues par tous les navigateurs. De plus, tout comme lensemble des instructions HTML, elles ne sont donn es qu` titre indicatif : ce qui signie quil nest pas e a possible de pr juger de laspect nal de la page dans toutes les conditions. En particulier, e ` les couleurs ne seront pas identiques dun type de machine a un autre (selon la gestion de la palette des couleurs mise en uvre par le navigateur), non plus que les tailles des polices (qui sont li es a la d nition de l cran et qui peuvent de toute fa on etre modi es par lutilisateur e ` e e c e sur la plupart des navigateurs). On utilise donc les changements de taille de police pour mettre en evidence une hi rarchie dans le document (voir les niveaux de titre) ou pour signaler un e point important, mais de pr f rence pas pour obtenir des effets pr cis de mise en page. ee e La gure 10.11 page 330 donne un exemple dafchage sous Netscape 2.0. Unit s logiques e ` Les unit s logiques ont un effet visuel similaire a ceux obtenus avec certains styles de carace t` res, mais elles d nissent clairement la fonction logique du bloc encadr entre les instruce e e

Chapitre 10 Le langage HTML et son utilisation


` tions de d but et de n dunit . Le r sultat a lafchage d pend du navigateur. e e e e
Mise en valeur Source dun programme ou dun document HTML Citation <STRONG>...</STRONG> <CODE>...</CODE> <CITE>...</CITE>

329

Normal <br> <B>&lt;B&gt;Gras&lt;/B&gt;</B> <br> <I>&lt;I&gt;Italique&lt;/B&gt;</I> <br> <U>&lt;U&gt;Soulign&lt;/B&gt;</U> e <br> <TT>&lt;TT&gt;Tltype&lt;/B&gt;</TT> e e <p> <FONT SIZE=-2>&lt;FONT SIZE=-2&gt; (ou SIZE=1) &lt;/FONT&gt;</FONT> <br> <FONT SIZE=-1>&lt;FONT SIZE=-1&gt; (ou SIZE=2) &lt;/FONT&gt;</FONT> <br> <FONT SIZE=+1>&lt;FONT SIZE=+1&gt;</FONT> <br> <FONT SIZE=+2>&lt;FONT SIZE=+2&gt;</FONT> <br> <FONT SIZE=+3>&lt;FONT SIZE=+3&gt;</FONT> <br> <FONT SIZE=+4>&lt;FONT SIZE=+4&gt;</FONT> <br> <FONT COLOR="gray">&lt;FONT COLOR="gray"&gt;Texte en gris&lt;/FONT&gt;</FONT> <p> <STRONG>&lt;STRONG&gt;Mise en valeur&lt;/STRONG&gt;</STRONG> <br> <CODE>&lt;CODE&gt;Source dun programme (HTML, C...)&lt;/CODE&gt;</CODE> <br> <CITE>&lt;CITE&gt;Citation&lt;/CITE&gt;</CITE>

Figure 10.10 Instructions de formatage (styles) en HTML

Niveaux de titres Les niveaux de titres sont equivalents aux diff rents styles de titres appliqu s dans les traie e tements de texte. Cependant la police ici ne change pas, seule sa taille et eventuellement sa graisse varient. Il y a six niveaux de titres, la taille des titres de niveau 4 est celle du texte normal. Notons quil ne sagit pas uniquement dun changement de taille et de graisse, puisque les instructions de titrage g n` rent automatiquement un saut de paragraphe avant et apr` s e e e le titre. Pour changer de taille de police au sein dun paragraphe, on utilise plut t <FONT o SIZE=???>.

330

Services multim dias e

Figure 10.11 Utilisation des styles de caract` eres HTML

Listes ` Les trois types de listes disponibles sont les listes simples, les listes a points (ou puces) et les ` listes num rot es. Les listes peuvent etre imbriqu es, dans ce cas la marge a gauche du texte e e e e est dautant plus importante que le niveau dimbrication est elev . Certains navigateurs permettent de d nir la forme des puces. e La liste simple se d clare avec linstruction <DL>. Les instructions <DT> et <DD> servent e ` respectivement a marquer une entr e dans la liste et la d nition de cette entr e. Les d nie e e e ` tions sont mises en retrait par rapport a lensemble du texte. On peut aussi utiliser ce type de
Texte normal <H6>Titre 6</H6> <H5>Titre 5</H5> <H4>Titre 4</H4> <H3>Titre 3</H3> <H2>Titre 2</H2> <H1>Titre 1</H1>

Figure 10.12 Creation de titres en HTML

Chapitre 10 Le langage HTML et son utilisation

331

Figure 10.13 Niveaux de titres HTML

` liste pour obtenir des effets de retrait a gauche sur des paragraphes (cest dailleurs le seul moyen de le faire sans utiliser de tableaux).
<H2>Liste simple (deux niveaux)</H2> <DL> <DT><B>nickname</B> (1) <I>n.</I> <DD>Surnom, sobriquet, diminutif <DT><B>nickname</B> (2) <I>v.tr.</I> <DD> <DL> <DT>1. <DD>Surnommer (qqun) <DT>2. <DD><I>(a)</I> Donner un sobriquet ` qqun; a <DD><I>(b)</I> appeler qqun par, de, son diminutif </DL> </DL>

Figure 10.14 Mise en place de listes simples en HTML

` Les listes a puces et num rot es se d clarent respectivement avec <UL> (pour Unordered e e e List) et <OL> (pour Ordered List), et chaque entr e de la liste doit etre pr c d e de <LI>. Le e e e e param` tre TYPE qui se place au sein des instructions UL ou LI (TYPE=disc, TYPE=circle, e ou TYPE=square) permet de changer la forme des puces, respectivement pour toute la liste e ou pour juste un des el ments. On notera que des sauts de ligne et de paragraphe sont ins r s automatiquement, respectiveee ment entre les entr es de listes et apr` s les listes elles-m mes. e e e

332

Services multim dias e

Figure 10.15 Liste HTML simple

<H2>Listes ` puces et numrotes</H2> a e e <UL TYPE=square> <LI>Premier <LI>Second <LI TYPE=circle>Troisi`me e </UL> <OL> <LI>Premier <LI>Second <LI>Troisi`me e </OL>

Figure 10.16 Listes a puces ou num ees en HTML ` erot

Figure 10.17 Listes HTML

Chapitre 10 Le langage HTML et son utilisation


<H2>Listes imbriques</H2> e <UL> <LI><B>nickname</B> (1) <I>n.</I> <DL> <DD>Surnom, sobriquet, diminutif </DL> <LI><B>nickname</B> (2) <I>v.tr.</I> <OL> <LI>Surnommer (qqun) <LI> <DL> ` <DD><I>(a)</I> Donner un sobriquet a qqun; <DD><I>(b)</I> appeler qqun par, de, son diminutif </DL> </OL> </UL>

333

Figure 10.18 Imbrication de listes HTML

Figure 10.19 Listes imbriqu ees

Tableaux Lusage des tableaux peut se r v ler assez compliqu , surtout lorsquils sont utilis s pour e e e e forcer une mise en page plus stricte quavec les instructions HTML habituelles. Cependant, lorsquon ny fait appel que pour formater des donn es, leur maniement reste abordable. Male heureusement, il existe encore peu d diteurs de pages HTML qui permettent de concevoir e ` des tableaux complexes de mani` re interactive et enti` rement a la souris. e e La structure g n rale dun tableau HTML (<TABLE>), disponible dans les versions 2.0 et e e suivantes, sarticule autour dune division en lignes (<TR> pour table row), elles-m mes e divis es en cellules (<TD> pour table data), comme le montre la gure 10.20 page suivante. e Cependant, cette structure relativement classique pr sente certaines particularit s par rapport e e ` a celle des tableaux propos s par les logiciels de traitement de texte habituels. e

334
<TABLE BORDER=1> <TR><TD>Cellule 1</TD><TD>Cellule 2</TD></TR> <TR><TD>Cellule 3</TD><TD>Cellule 4</TD></TR> <TR><TD>Cellule 5</TD><TD>Cellule 6</TD></TR> </TABLE>

Services multim dias e

Figure 10.20 Instructions generiques des tableaux HTML

Figure 10.21 Aspect general dun tableau HTML

Le param` tre BORDER permet de sp cier l paisseur en pixels du cadre qui entoure chacune e e e des cellules. Certains navigateurs afchent ce cadre avec un effet de relief. Sa couleur est d nie par la couleur du texte et celle du fond, dune mani` re qui d pend du syst` me. e e e e Au sein dun tableau, la largeur des cellules dune m me colonne est n cessairement constante. e e Il est cependant possible de fusionner plusieurs cellules, que ce soit en hauteur ou en lar geur, gr ce aux param` tres ROWSPAN (litt ralement (( etendre sur (plusieurs) lignes ))) et a e e COLSPAN.
<TABLE BORDER=1> <TR><TD>Cellule 1</TD><TD>Cellule 2</TD></TR> <TR><TD ROWSPAN=2>Cellule 3+5</TD><TD>Cellule 4</TD></TR> <TR><TD>Cellule 6</TD></TR> <TR><TD COLSPAN=2>Cellules 7+8</TD></TR> </TABLE>

Figure 10.22 Cellules etendues dans un tableau HTML

Figure 10.23 Cellules de plusieurs lignes et/ou plusieurs colonnes

Il est possible de d nir les dimensions du tableau, soit en pixels soit en pourcentage des e

Chapitre 10 Le langage HTML et son utilisation

335

dimensions de la fen tre dafchage. Les dimensions des cellules elles-m mes peuvent etre e e x es, mais ces dimensions ne sont pas toujours respect es par les navigateurs. De plus, si e e ` la largeur du contenu dune cellule est sup rieure a celle de la cellule, le texte ou les images e risquent de d border. e
<TABLE BORDER=1> <TD WIDTH=30> ANTICONSTITUTIONNELLEMENT </TD> </TABLE>

Figure 10.24 Debordement du texte dans une cellule en HTML

Figure 10.25 Debordement du contenu dune cellule dans un tableau HTML

Pour etre raisonnablement s r que les dimensions demand es seront utilis es, il est pr f rable u e e ee ` de contraindre lensemble du tableau, cest-` -dire de pr ciser a la fois les dimensions des a e cellules et celles du tableau lui-m me (en sassurant que ces informations soient coh rentes). e e On utilise de plus en plus souvent les tableaux pour contraindre laspect dun document, en e particulier lorsquon souhaite articuler entre eux les divers el ments graphiques dune page. Il sagit l` dune tentative (malheureusement souvent maladroite) de retrouver sur le Web a les fonctions offertes par les logiciels de PAO. Signalons que, m me fortement contrainte, la e structure de la page reste intimement li e a ce que tel ou tel navigateur est capable dafcher. e ` Ce genre de proc d doit donc etre utilis avec prudence, apr` s s tre assur que le r sultat e e e e e e e restera lisible m me si le navigateur ne formate pas correctement le document. e e Lalignement des el ments au sein des cellules dun tableau peut se faire gr ce aux insa tructions habituelles, mais on pourra leur pr f rer les param` tres ALIGN (LEFT, CENTER, ee e ` RIGHT) et VALIGN (TOP, CENTER, BOTTOM) qui sappliquent a lensemble de la cellule. ` Lalignement par d faut est a gauche et centr en hauteur : e e

ALIGN=LEFT VALIGN=CENTER

Enn, deux autres param` tres du tableau permettent de d nir lespace entre les cellules e e (CELLSPACING) et les marges am nag es autour du contenu des cellules (CELLSPACING). e e Comme toutes les autres dimensions, ces param` tres sont indiqu s en pixels ou en pourcene e tages (de la dimension du tableau).

336

Services multim dias e

<TABLE WIDTH=450 HEIGHT=210 BORDER=1 CELLPADDING=0 CELLSPACING=0> <TR> <TD WIDTH=150 HEIGHT=70 VALIGN=TOP> <FONT SIZE=1>ALIGN=LEFT (dfaut)<BR>VALIGN=TOP</FONT> e </TD> <TD WIDTH=150 HEIGHT=70 ALIGN=CENTER VALIGN=TOP> <FONT SIZE=1>ALIGN=CENTER<BR>VALIGN=TOP</FONT> </TD> <TD WIDTH=150 HEIGHT=70 ALIGN=RIGHT VALIGN=TOP> <FONT SIZE=1>ALIGN=RIGHT<BR>VALIGN=TOP</FONT> </TD> </TR> <TR> <TD WIDTH=150 HEIGHT=70> <FONT SIZE=1>ALIGN=LEFT (dfaut)<BR>VALIGN=CENTER (dfaut)</FONT> e e </TD> <TD WIDTH=150 HEIGHT=70 ALIGN=CENTER> <FONT SIZE=1>ALIGN=CENTER<BR>VALIGN=CENTER (dfaut)</FONT> e </TD> <TD WIDTH=150 HEIGHT=70 ALIGN=RIGHT> <FONT SIZE=1>ALIGN=RIGHT<BR>VALIGN=CENTER (dfaut)</FONT> e </TD> </TR> <TR> <TD WIDTH=150 HEIGHT=70 VALIGN=BOTTOM> <FONT SIZE=1>ALIGN=LEFT (dfaut)<BR>VALIGN=BOTTOM</FONT> e </TD> <TD WIDTH=150 HEIGHT=70 ALIGN=CENTER VALIGN=BOTTOM> <FONT SIZE=1>ALIGN=CENTER<BR>VALIGN=BOTTOM</FONT> </TD> <TD WIDTH=150 HEIGHT=70 ALIGN=RIGHT VALIGN=BOTTOM> <FONT SIZE=1>ALIGN=RIGHT<BR>VALIGN=BOTTOM</FONT> </TD> </TR> </TABLE>

Figure 10.26 Utilisation de dimensions num eriques dans un tableau HTML

Figure 10.27 Contraintes dalignement, despacement et de dimensions dans un tableau HTML

Chapitre 10 Le langage HTML et son utilisation


Images

337

` Linsertion dimages au sein dune page HTML seffectue egalement a laide dune instruction particuli` re. Bien entendu, le document source ne contient pas les donn es de limage e e ` mais uniquement une r f rence a son URL. Cest le r le du navigateur de t l charger limage ee o ee ` lorsquil rencontre linstruction correspondante, et a condition que lutilisateur nait pas demand a consulter uniquement le texte. e` ` Linstruction <IMG> permet de sp cier lURL dune image a ins rer dans le document. e e Elle accepte un certain nombre de param` tres, dont un au moins est obligatoire puisquil e sagit de lURL lui-m me, indiqu sous la forme SRC="URL". Une des grandes force du e e Web provient de cette capacit a m ler au sein dune m me page des images pouvant provenir e` e e de nimporte quel serveur dans le monde.
<IMG SRC="logo.gif"> <P> <CENTER> <IMG SRC="http://www.intuisys.fr/fr/im/intuisys.gif"> </CENTER>

Figure 10.28 Mise en place dune image a partir de son URL `

Figure 10.29 Insertion dune image distante au sein dune page HTML

Pour formater le document avant de lafcher, les navigateurs ont besoin de connatre les dimensions des images (les derni` res versions de Netscape Navigator et Microsoft Explorer e afchent le texte une premi` re fois en laissant un espace de taille xe pour les images, puis e afchent la version d nitive lorsque la taille des images est connue). Par cons quent, si cette e e derni` re nest pas indiqu e en param` tre (WIDTH, HEIGHT en pixels ou pourcentage des die e e mensions de la fen tre dafchage) dans linstruction <IMG>, le formatage ne sera possible e e que lorsque les images auront et charg es, ce qui retarde g n ralement le moment ou le navie e e gateur afche le texte. Il est donc pr f rable de pr ciser syst matiquement les dimensions des ee e e images : le texte apparat alors en premier, la lecture des pages est facilit e. Les param` tres e e de dimension dimage sont reconnus par la plupart des navigateurs au standard HTML 2.0. On remarquera quil est possible de sp cier une largeur et une hauteur diff rentes de celles e e de limage originale. Dans ce cas, limage sera redimensionn e avant d tre afch e. Il est e e e

338

Services multim dias e

ainsi possible de jouer sur la taille apparente des images sans toutefois que le navigateur t l charge plusieurs fois le chier. Cependant, en raison des traitements appliqu s pour r ee e e duire le nombre de couleurs utilis es, les images au format GIF supportent parfois mal le e redimensionnement et laissent apparatre des ph nom` nes de tramage (gure 10.30). e e

Figure 10.30 Apparition dune trame dans une image basse d enition redimensionn ee

Lorsquun lien hypertexte est associ a une image, limage apparat encadr e dun let de e` e couleur (qui remplace en quelque sorte le soulignement appliqu au texte). Il est parfois e ` souhaitable de supprimer ce let, ou a linverse daugmenter son epaisseur. La plupart des navigateurs reconnaissent le param` tre BORDER qui pr cise l paisseur du let en pixels. e e e Enn Netscape a d ni le param` tre ALIGN qui permet entre autres de sp cier la position e e e verticale de limage par rapport au texte.
<IMG SRC=image.gif> Normal (le bas de limage est pos sur la ligne de base) e <P> <IMG ALIGN=CENTER SRC=image.gif> "Centr" (le centre de limage est align sur e e la ligne de base) <P> <IMG ALIGN=TOP SRC=image.gif> Haut (le haut de limage est align e avec le haut du texte)

Figure 10.31 Ajustement dune image par rapport a la ligne de base du texte HTML `

Word Flow Certains navigateurs sont capables de formater le texte autour des images, tout comme le ferait un logiciel de PAO. Cest une autre utilisation du param` tre ALIGN de linstruction e <IMG>. ALIGN=LEFT indique que limage doit etre plac e a gauche du texte, tandis que e ` ` ` ALIGN=RIGHT la renvoie a droite. Si plusieurs images sont mises a droite, la premi` re a e ` ` etre d clar e sera a lextr mit . e e e e

Chapitre 10 Le langage HTML et son utilisation

339

Figure 10.32 Position des images par rapport au texte HTML

` Les param` tres HSPACE et VSPACE d terminent la taille des marges a laisser entre limage e e et le texte, respectivement horizontalement et verticalement.
<IMG ALIGN=RIGHT SRC=logo.gif> <IMG ALIGN=LEFT HSPACE=6 VSPACE=4 SRC=papillon.gif> <H2> Le texte pouse la forme des images places ` droite et ` gauche jusqu` ce quil e e a a a en atteigne le bas; il occupe alors de nouveau toute la ligne. </H2>

Figure 10.33 Ajustement du texte HTML autour dune image (wordow)

Figure 10.34 Texte HTML entourant une image

e Linstruction <BR> a et munie dun param` tre compl mentaire an quil soit possible de e e laisser autant despace que n cessaire pour d passer le bas de limage. Ainsi : e e <BR CLEAR=LEFT> ` positionnera le texte a suivre sous limage situ e a gauche (voir lexemple nal). e ` <BR CLEAR=ALL> garantit que la largeur est libre de toute image.

340 Traits de s paration e

Services multim dias e

Linstruction <HR> permet de faire apparatre un trait centr , en g n ral avec un effet de e e e relief et occupant toute la largeur de la page (ou de la cellule du tableau). Le param` tre SIZE e permet de changer son epaisseur qui est par d faut de deux pixels. Le param` tre WIDTH e e indique la largeur du trait, en pixels ou en pourcentage de la largeur de l cran. Enn le e param` tre NOSHADE supprime leffet de relief. La couleur du trait est la m me que celle des e e cadres pour les tableaux.
<HR> <HR NOSHADE WIDTH=40%> <HR SIZE=4 WIDTH=20%> <HR NOSHADE SIZE=4>

Figure 10.35 Insertion de traits horizontaux

Figure 10.36 Traits de separation en HTML

10.2.5 Liens hypertexte et ancres


La richesse des documents consultables sur le Web r side bien evidemment dans la possibilit e e de les enrichir de r f rences crois es sous forme de liens hypertexte. Ces liens peuvent se ee e placer sur des images ou sur des fragments de texte, gr ce a une instruction HTML. a ` ` On distingue les liens permettant de sauter dun document a un autre des liens d signant des e ` cet effet, le langage HTML enrichit la notation parties sp ciques dun m me document. A e e des URL d nie par le protocole http en y ajoutant la notion dancre (anchor). Ces ancres sont e ` simplement des noms quon associe a un point particulier du document gr ce a linstruction a ` <A NAME="nom de lancre">. Elles sont mentionn es au sein des URL en faisant suivre le e nom du document du signe # et du nom de lancre. ` On associe par ailleurs une destination a un lien sur du texte ou une image gr ce a linstruca ` tion <A HREF="URL">. Si lURL en question est une ancre au sein du m me document, e le nom du document peut etre omis. Ainsi dans la pr sentation g n rale des services de la e e e soci t FeNETre, on trouve trois parties principales : pose, service apr` s-vente et conseil. Les ee e concepteurs du site ont choisi de conserver ces trois parties sur une m me page an d viter la e e prolif ration des pages presque vides. Cependant, ils ont souhait que chacune de ces parties e e

Chapitre 10 Le langage HTML et son utilisation

341

soit accessible directement depuis un menu situ en haut de page, an que lutilisateur nait e ` pas a utiliser lascenseur de la fen tre pour rechercher linformation qui lint resse. e e e Chaque partie a et munie dune ancre, respectivement pose, sav et conseil. Un menu com` pos de trois liens hypertexte en haut de page permet de descendre directement a la partie e souhait e. Techniquement, il nest pas n cessaire de fermer linstruction <A NAME=???>, e e puisquelle marque un point pr cis du document et nentrane aucun effet visuel. Cependant, e pour conserver la coh rence du document et simplier la t che d ventuels programmes de e a e ` mise a jour automatique, il est souhaitable de ne pas omettre linstruction </A>, imm diatee ment apr` s la d claration de lancre, ou plus loin dans le texte (par exemple apr` s le titre du e e e paragraphe). e En cliquant sur un des el ments du menu, on positionne automatiquement le texte souhait e ` descendre a laide du clavier ou de la souris, comme le ` dans la fen tre active, sans avoir a e montrent les gures 10.38 page suivante et 10.39 page 343. La page contient egalement un lien hypertexte vers une autre page du serveur. LURL indiqu e dans le source HTML est relatif au serveur et au chemin dacc` s courant : cest le navigateur e qui le compl tera an de fabriquer une requ te coh rente. e e e Ici, lURL de la page courante est : http://www.fenetre.fr/presente/services.html LURL de la page livraison sera donc : http://www.fenetre.fr/presente/livraison.html Elle apparat dans la barre d tat de la fen tre du navigateur lorsquon place la souris au e e dessus du lien. Bien entendu, on peut utiliser la notation ../ pour remonter dun niveau dans larborescence ; cependant, il ne sera pas possible de remonter plus haut sur le disque que jusquau r pertoire DocumentRoot lui-m me. e e Enn pour indiquer un lien vers un autre serveur, il est n cessaire de sp cier un URL abe e ` solu. Lerreur la plus courante consiste a omettre le protocole (gures 10.41 page 343 et 10.42 page 343). Dans ce cas, le navigateur consid rera comme premi` re partie du chemin dacc` s e e e ce qui est en fait le nom de la machine. Ici les liens encadrent des images ; la syntaxe est exactement la m me que pour du texte. On peut egalement m langer les deux. Pour supprie e mer lencadrement autour dune image ou au contraire augmenter sa taille, il faut utiliser le param` tre BORDER de linstruction <IMG>. e ` On veillera a ne pas commettre derreur de mise en page : si linstruction qui ferme le lien (</A>) est s par e du texte ou de limage par un espace (ou un saut de ligne qui sera traduit e e ` par un espace a lafchage), certains navigateurs souligneront cet espace ce qui ne manquera ` pas de nuire a lesth tique de la page. e

342

Services multim dias e

<H1>FeNETre S.A.</H1> <H2>Nos services</H2> <UL> <LI>\<A HREF=#pose>La <A HREF=livraison.html>livraison</A> et la pose sous 48H</A> <LI><A HREF=#sav>Nos garanties de service apr`s-vente</A> e <LI><A HREF=#conseil>Notre quipe de conseillers ` votre disposition</A> e a </UL> Chez FeNETre, le service nest pas un vain mot. <P>

Depuis plus de 10 ans [...]

<P> <A NAME=pose></A> <H3>La livraison et la pose en moins de 48H, montre en main!</H3> Si vous avez dcid [...] e e

<A NAME=sav> <H3>Lapr`s-vente sans soucis</H3> e </A>

Toutes nos fentres [...] e

<A NAME=conseil> <H3>Une question, un probl`me dlicat ? Demandez-nous conseil !</H3> e e </A> Nos collaborateurs [...]

Figure 10.37 Insertion dancres et de liens HTML

Figure 10.38 Ancres dans une page HTML

Chapitre 10 Le langage HTML et son utilisation

343

Figure 10.39 Positionnement au sein dune page HTML

Figure 10.40 Lien hypertexte dans une page HTML

Essayez de cliquer <A HREF="www.fenetre.fr/presente/livraison.html"> ici</A> pour aller ` la page des livraisons. a <P> <A HREF="http://www.fenetre.fr/presente/livraison.html"> <IMG SRC="main.gif"> Ce lien</A> fonctionnera sans doute mieux.

Figure 10.41 Erreur de m ethode dacc` sur un lien hypertexte es

Figure 10.42 Cadre par d efaut autour dune image utilis comme hyperlien ee

344

Services multim dias e

Essayez de cliquer <A HREF="file:///C|/web/html/serveur/www.fenetre.fr/presente/livraison.html"> ici</A> pour aller ` la page des livraisons. a <P> <A HREF="http://www.fenetre.fr/presente/livraison.html"> <IMG BORDER=0 SRC="main.gif"> Ce lien</A> fonctionnera sans doute mieux.

Figure 10.43 Utilisation de BORDER pour supprimer le cadre autour dune image

Figure 10.44 Suppression du cadre autour dune image utilis comme hyperlien ee

Attention ` ne pas laisser despace a ou de saut de ligne entre le <A HREF="">texte des liens </A> et \&lt;/A\&gt; <BR> Cest dautant plus important pour les <A HREF=""> <IMG BORDER=3 SRC="image.gif"> </A> car le soulignement indsirable e est particuli`rement visible. e

Figure 10.45 Mauvaise mise en place des liens ou ancres

Figure 10.46 Debordement du trait de soulignement des liens hypertexte

Chapitre 10 Le langage HTML et son utilisation


TEXT LINK VLINK ALINK BGCOLOR

345

BACKGROUND

La couleur du texte, sous la forme #RRVVBB (rouge-vert-bleu en hexad cimal) e ou en pr cisant un nom de couleur. e La couleur des liens qui pointent vers un document quon na pas encore vu. La couleur des liens qui pointent vers un document quon a d j` vu. ea La couleur des liens pendant quon clique dessus (avant de rel cher le bouton a de la souris). ` e La couleur du fond. Elle sert parfois (d cors 3D sous Netscape) a d terminer la e couleur des encadrements de tableaux ainsi que les traits horizontaux (<HR>). Il est donc pr f rable den tenir compte m me si on utilise une image de fond. ee e e LURL dune image de fond. Le cas ech ant, limage sera r p t e horizontalee ee ment et verticalement pour couvrir toute la surface de la fen tre dafchage. e Figure 10.47 Parametres de couleur pour les pages HTML `

Liens vers des adresses email ou ftp ` ` ` Les liens mis en place font r f rence a un URL : a ce titre, il est tout a fait possible dindiquer ee une autre m thode (un autre protocole) que http://. En particulier, on utilise souvent les e liens hypertexte pour indiquer un lien vers une adresse email ou un site FTP. Si le navigateur comprend ces protocoles, il agira en cons quence, en lan ant une interface de courrier elece c tronique ou en t l chargeant le chier. Dans ses versions 2.0 et suivantes, Netscape Navigaee tor int` gre une application permettant de lire et denvoyer des courriers electroniques. Ainsi, e lorsque lutilisateur s lectionne un lien de la forme <A HREF=mailto:contact@fenetre.fr>, e ` le navigateur lance automatiquement loutil correspondant en lui transmettant ladresse a laquelle envoyer un message.

10.2.6 Couleur ou image de fond de page et couleur du texte


` Linstruction <BODY> qui sert a indiquer le d but du corps du document accepte un certain e nombre de param` tres qui permettent de xer la couleur par d faut du texte et des liens e e hypertexte, ainsi que la couleur du fond et eventuellement limage de fond. Ces indications ne seront peut- tre pas respect es, notamment si lutilisateur a congur son navigateur en e e e lui imposant les couleurs de son choix. Les couleurs sont indiqu es soit par leur nom (red, green...), soit par leur dosage en rouge, e vert et bleu. Il ny a pas de standard pour la couleur de fond par d faut. Certains navigateurs sen tiennent e encore au gris souris utilis par les premi` res versions de Mosac, dautres tel Netscape ont e e adopt le blanc. Pour etre raisonnablement s r que la couleur de fond sera bien le blanc sur la e u majorit des ecrans (sauf choix contraire de lutilisateur ou mod` le de navigateur ne recone e naissant pas le param` tre BGCOLOR) il est indispensable de la pr ciser syst matiquement. e e e

346

Services multim dias e

<BODY BGCOLOR=\#FFFFFF TEXT=\#666666 LINK=\#CCCCCC VLINK=black ALINK=red> <B> <FONT SIZE=+2> Texte en gris moyen (\#666666) <P> <A HREF="">Lien en gris clair (\#CCCCCC)</A> <P> <A HREF="colors.html">Lien dj` visit en noir (black)</A> e a e <P> <A HREF="colors.html">Lien slectionn en rouge (red)</A> e e </FONT> </B>

Figure 10.48 Choix dun jeu de couleurs pour le texte et les hyperliens

Figure 10.49 Couleurs du texte et des diff erents types de liens

10.2.7 Exemple de page compl` te e


La gure 10.51 page 348 pr sente un exemple de page HTML compl` te, int grant une image e e e de fond et des menus.

10.2.8 Frames
Les frames, apparues r cemment, permettent de d couper la fen tre dafchage du navigateur e e e en plusieurs fen tres adjacentes, dans lesquelles on peut afcher autant de pages diff rentes. e e ` e Leur utilisation principale est double : conserver en permanence a l cran un menu permettant ` de naviguer dans le site, et dispenser des informations compl mentaires a celles d j` pr sentes e ea e sur la page principale. Elles sont egalement particuli` rement utiles pour la mise en place de e ` ` formulaires complexes a plusieurs niveaux et quon doit pouvoir modier a tout instant. Les frames sont avec les tableaux lautre moyen de contraindre les dimensions des diff rentes e parties dune mise en page HTML. Cependant, et contrairement aux tableaux, il sagit v rie ` tablement de fen tres au sens de linterface graphique : a ce titre, elles sont affubl es des e e

Chapitre 10 Le langage HTML et son utilisation


<HTML> <HEAD> <TITLE>FeNETre - Bienvenue</TITLE> </HEAD> <BODY BGCOLOR=WHITE BACKGROUND="fond.gif"> <CENTER> <IMG SRC=fenetre.gif> </CENTER> <P ALIGN=right> <FONT SIZE=2> FeNETre s.a.<BR> 12, avenue du Port de Commerce<BR> 92400 ASNIERES SUR SEINE<BR> Tl. (1) 45 25 55 55<BR> e email: <A HREF=mailto:info@fenetre.fr>info@fenetre.fr</A> </FONT> <P> <H1>Bienvenue sur notre serveur !</H1> <IMG ALIGN=LEFT SRC="exclusif.gif"> <B> Nous mettons aussi des fentres dans notre serveur!!! Munissez-vous dun e navigateur capable dafficher des <I>frames</I> (Navigator 2.x ou Explorer 3.x) et visitez la <A HREF=frames.html>version vranda</A> de nos pages! e </B> <BR CLEAR=ALL> <BR> Ces pages vont vous permettre de vous informer sur les <A HREF=pose.html>techniques de pose de fentres</A> les plus volues, de e e e mieux connatre nos <A HREF=produits.html>produits</A> et nos <A HREF=services.html>services</A>, et de <A HREF=contact.html>nous faire part de vos impressions et de vos questions</A>. <P> Noubliez pas que nous sommes toujours ` votre coute. Dici quelques semaines, a e vous trouverez ici-mme <B>un espace forum interactif</B> qui vous permettra e dvoquer vos probl`mes dinstallation, dchanger vos trucs et astuces et, e e e pourquoi pas, de voter en direct ` notre concours de la plus belle fentre! a e <P> <CENTER> <A TARGET=page HREF=menu.map> <IMG BORDER=0 ISMAP USEMAP=\#menu SRC=menubar.gif WIDTH=562 HEIGHT=20></A> </CENTER> <MAP NAME=menu> <AREA COORDS=0,0,60,20 HREF=societe.html> <AREA COORDS=90,0,160,20 HREF=produits.html> <AREA COORDS=190,0,245,20 HREF=services.html> <AREA COORDS=280,0,345,20 HREF=contacts.html> <AREA COORDS=385,0,430,20 HREF=forum.html> <AREA COORDS=470,0,562,20 HREF=partenaires.html> </MAP> </BODY> </HTML>

347

Figure 10.50 Source dune page HTML compl` ete

348

Services multim dias e

Figure 10.51 Exemple de page daccueil compl` ete

Chapitre 10 Le langage HTML et son utilisation

349

m mes cadres et d cors 2D ou 3D que les autres fen tres (` lexception des barres de titre, e e e a doutils et d tat bien entendu). e ` Cela signie que, dune part, leur apparence pourra varier dun syst` me a lautre, dautre e part que les dimensions exactes de chacune des fen tres ne sont pas connues dans la mesure e o` les cadres empi` tent sur lespace dafchage. On sinterdira de pr f rence de les utiliser u e ee ` pour g n rer des effets de pr sentation, les r servant a des situations o` leur emploi se justie e e e e u v ritablement. e La mise au point de pages evolu es comportant un syst` me de frames li es entre elles par des e e e r f rences crois es nest pas du ressort de cet ouvrage ; nous nous contenterons de montrer ee e un exemple tr` s simple dune page surmont e dun menu xe. e e On notera lutilisation des cartes cliquables ou Image Map (d crites en 10.3.3 page 360). e
frames.html <TITLE>FeNETre</TITLE> <FRAMESET ROWS=40,*> <FRAME NAME=menu SRC=menu.html MARGINHEIGHT=4 MARGINWIDTH=1 SCROLLING=no NORESIZE> <FRAME NAME=page SRC=index.html MARGINHEIGHT=7 MARGINWIDTH=7 SCROLLING=auto NORESIZE> </FRAMESET>

menu.html <HTML> <BODY BGCOLOR=white> <CENTER> <A TARGET=page HREF=menu.map> <IMG BORDER=0 ISMAP USEMAP=\#menu SRC=menubar.gif WIDTH=562 HEIGHT=20></A> </CENTER> <MAP NAME=menu> <AREA COORDS=0,0,60,20 HREF=societe.html> <AREA COORDS=90,0,160,20 HREF=produits.html> <AREA COORDS=190,0,245,20 HREF=services.html> <AREA COORDS=280,0,345,20 HREF=contacts.html> <AREA COORDS=385,0,430,20 HREF=forum.html> <AREA COORDS=470,0,562,20 HREF=partenaires.html> </MAP> </BODY> </HTML>

Figure 10.52 Ajout de frames a une page HTML `

10.2.9 Formulaires
` Le principe des formulaires HTML consiste a proposer au sein dune page un ensemble de ` zones de saisie, et a exp dier le r sultat vers un programme capable de traiter les donn es e e e ainsi entr es par lutilisateur. e

350

Services multim dias e

Figure 10.53 Page daccueil en version frames

Nous verrons que les valeurs des champs peuvent etre pass es au programme en param` tres, e e par linterm diaire de variables denvironnement, ou encore par lentr e standard. e e Le format des echanges, et en particulier lencodage auquel sont soumises les donn es, est e formalis par la norme CGI (Common Gateway Interface) qui est utilis e pour interfacer des e e scripts et applications divers avec les serveurs HTTP. Nous allons pour le moment ins rer quelques champs de saisie au sein dun formulaire ; e linterface CGI et son utilisation seront etudi es section 10.3.1 page 354. e La structure dun formulaire est assez constante, puisquil se compose n cessairement dun e ` ou plusieurs champs de texte, boutons ou cases a cocher, et invariablement dun bouton de validation destin a lancer le transfert des donn es et leur prise en compte par le programme e` e de gestion situ sur le serveur. e Pour placer un formulaire au sein dune page, il convient de le d limiter par linstruction e <FORM> et son inverse </FORM>. Ces instructions peuvent etre plac es a nimporte quel endroit de la page, du moment quelles e ` encadrent lensemble des instructions du formulaire lui-m me, cest-` -dire celles qui d tere a e ` minent lafchage des champs de texte, des boutons ou des cases a cocher. Par ailleurs, il est possible de placer plusieurs formulaires au sein dune m me page, chacun poss dant son e e propre bouton de validation. Le param` tre ACTION indique au navigateur quel URL indiquer dans la requ te quil devra e e formuler au serveur lorsque lutilisateur validera le formulaire. Il sagit bien s r dun prou gramme, qui devra r cup rer linformation envoy e par le navigateur et lutiliser (voir 10.3 e e e page 353).

Chapitre 10 Le langage HTML et son utilisation

351

<FORM ACTION="doc.cgi"> Indiquez la rfrence de la fentre qui vous intresse e e e e <BR> <INPUT TYPE="text" NAME="remarque" SIZE=30> <P> Cocher cette case <INPUT TYPE="checkbox" NAME="doc"> pour recevoir une documentation <P> <INPUT TYPE="submit" VALUE="cliquez ici pour valider le formulaire"> </FORM>

Figure 10.54 Mise en place dun formulaire HTML

Figure 10.55 Exemple de formulaire

Lutilisateur remplit les champs du formulaire

Le serveur envoie le contenu des champs au programme CGI, en paramtres et dans des variables denvironnement (mthode GET) ou sur lentre standard (mthode POST) Le programme peut alors traiter la rponse au formulaire, par exemple en linsrant dans une base de donnes, et renvoyer une page HTML quil fabrique au vol.

Le navigateur les encode si cest ncessaire...

...et les transmet au serveur dans lURL de la requte (mthode GET) ou dans le corps du message (mthode POST)

( )

Figure 10.56 Chane de validation dun formulaire

352 Liste des types de champs

Services multim dias e

Nous r sumons ici quelques instructions utilis es pour cr er des champs au sein dun fore e e mulaire. Chacune accepte le param` tre NAME : cest lui qui d termine le champ dans le e e r sultat du formulaire. Les contenus des champs seront transmis au serveur sous la forme e nom=valeur. Champ de texte Utilisation : <INPUT TYPE="text" NAME="nom du champ" VALUE="valeur par dfaut"> e Cette instruction fait apparatre une case dans laquelle lutilisateur peut saisir une ligne de texte. Pour faire apparatre une case permettant de saisir plusieurs lignes, il faudra utiliser linstruction <TEXTAREA> ci-dessous. Zone de texte Utilisation : <TEXTAREA NAME="nom du champ"> Texte par dfaut e (ventuellement sur e plusieurs lignes) </TEXTAREA> La zone de texte fonctionne comme le champ de texte, mais permet de saisir plusieurs lignes. Les sauts de ligne seront encod s par le navigateur, ils ne posent donc pas de e probl` me particulier. e Attention cependant : selon les syst` mes et les navigateurs, les sauts de ligne peuvent e se pr senter sous la forme retour chariot + saut de ligne. Le programme CGI devra e tenir compte de cette sp cicit , et supprimer au besoin les caract` res superus. e e e Case a cocher ` Utilisation : <INPUT TYPE="checkbox" NAME="nom du champ" VALUE="valeur renvoye" CHECKED> e

Chapitre 10 Le langage HTML et son utilisation

353

` e La case a cocher renvoie la valeur indiqu e si elle a et coch e par lutilisateur. Dans e e le cas contraire, elle napparatra pas dans les informations re ues par le serveur. Le c param` tre CHECKED permet dindiquer que la case doit etre coch e par d faut. e e e ` Plusieurs cases a cocher peuvent porter le m me nom ; toutes les valeurs correspone ` dantes seront indiqu es dans le r sultat. On peut ainsi fabriquer des formulaires a e e choix multiple pour un m me crit` re. e e Bouton radio Utilisation : <INPUT TYPE="radio" NAME="nom du champ" VALUE="valeur renvoye" CHECKED> e ` Le bouton radio fonctionne exactement comme la case a cocher. Sa seule particularit e est que si plusieurs boutons radio portent le m me nom, seul un pourra etre coch , e e tout comme avec le s lecteur de stations dun autoradio. e Bouton de remise a z ro ` e Utilisation : <INPUT TYPE="reset" NAME="nom du bouton" VALUE="label du bouton"> ` Ce bouton permet de redonner a tous les champs leur valeur par d faut. e Bouton de validation Utilisation : <INPUT TYPE="submit" NAME="nom du bouton" VALUE="label du bouton"> Ce bouton permet de valider le formulaire. Les donn es seront envoy es au serveur e e e qui les transmettra le cas ech ant au programme CGI sp ci dans le param` tre e e e ACTION de linstruction <FORM>.

10.3 Utilisation de programmes avec le Web


On pourrait qualier le standard HTML de purement documentaire : il d nit des r` gles pour e e la diffusion de documents et leur mise en page en fonction de leur structure, mais elle ne permet pas linterativit quon peut obtenir avec les programmes informatiques habituels. e

354

Services multim dias e

Cependant, il est possible dinterfacer les pages dun serveur avec des programmes ou des applications charg es par exemple de conserver dans des bases de donn es les informations e e saisies par les utilisateurs sur des formulaires, ou encore de personaliser le contenu du serveur en fonction des go ts de ceux qui le consultent. On utilise pour cela la norme CGI u (Common Gateway Interface), qui d nit le format des echanges entre le serveur HTTP et e les programmes externes auxquels il fait appel. Par abus de langage, on d signe souvent ces e derniers par lexpression (( scripts (ou programmes) CGI )). Les sp cications compl` tes de la norme CGI ainsi que la r daction de programmes permete e e ` ` tant de lier un serveur a des bases de donn es ou a dautres applications d passent le cadre e e de cet ouvrage. Nous allons cependant en pr senter les principaux concepts et evoquer les e techniques utilis es par les serveur HTTP pour communiquer avec les programmes CGI. e

10.3.1 La norme CGI


La technique utilis e pour permettre au serveur HTTP d changer des informations avec un e e e programme externe a et formalis e a travers la norme CGI (Common Gateway Interface). e ` Elle sp cie la nomenclature des param` tres echang s et leur codage. Son avantage principal e e e est quelle est assez stricte et particuli` rement r pandue, ce qui permet aux concepteurs de e e sites Web de changer de logiciel serveur sans adapter leurs programmes. Ses d fauts les e plus evidents r sident dans ses performances m diocres, principalement li es au fait que les e e e programmes sont lanc s a chaque requ te, ce qui g n` re une charge machine importante et e ` e e e ` rend difcile le suivi dune session utilisateur. Elle tend aujourdhui a evoluer vers un second niveau, d nomm Fast-CGI, tout aussi portable mais plus efcace et mieux adapt au mode e e e transactionnel, puisque les programmes CGI fonctionnent en permanence et sont sollicit s par e le serveur HTTP par linterm diaire de messages syst` me ou TCP/IP. On trouve egalement e e sur le march des outils int gr s, g n ralement construits autour dun L4G et dun SGBD, e e e e e qui dispensent le concepteur dutiliser des programmes externes, le code des applications etant plac directement au sein des pages. Bien entendu, ces outils sont le plus souvent tr` s e e sp ciques. e Selon la norme CGI, le serveur HTTP communique avec les programmes quil lance par linterm diaire : e de variables denvironnement ; de lentr e standard ; e des arguments de ligne de commande. Ces informations sont par ailleurs transmises au serveur par le navigateur, au moyen : de lURL ; des champs contenus dans len-t te des requ tes ; e e des corps de messages POST.

Chapitre 10 Le langage HTML et son utilisation

355

Quant au programme, tout ce quil imprime sur la sortie standard est redirig vers le client, e g n ralement par linterm diaire du serveur qui se charge de compl ter len-t te. Le proe e e e e gramme CGI doit donc en particulier pr ciser, au moyen du champ Content-type, le e type des informations quil renvoie. Pour cette raison, les premi` res lignes imprim es par un e e script CGI sont g n ralement les suivantes (le signe { indique un saut de ligne). e e

Content-type: text/html{

Param` tres de lURL e La forme globale dun URL HTTP tel quinterpr t selon la norme CGI prend, en d taillant ee e e les diff rents el ments, la forme suivante. e http://machine/chemin/fichier/path_info?query_string path info ne fait pas partie du chemin dacc` s au chier ou au script CGI, mais e repr sente une information compl mentaire qui sera transmise au programme CGI par e e linterm diaire de la variable denvironnement PATH INFO. En recevant cet URL, le e ` e serveur va chercher le programme a ex cuter en descendant dans les r pertoires (` partir e a du r pertoire Document Root, bien entendu). Lorsquil laura trouv , il consid rera que e e e la n du chemin dacc` s est en r alit le path info. e e e query string est une s rie darguments ou de couples argument=valeur s pae e r s par le signe &, qui seront pass s au programme CGI, comme arguments en ligne de e e commande pour les premiers, et comme variables denvironnement pour les seconds. Ainsi, lURL : http://www.fenetre.fr/catalogue/liste.cgi/catalogue/lis te.html?bdd\_1\&trier=oui\&chercher=Fen%EAtres+%E0+peti ts+carreaux peut se d composer de la mani` re suivante. e e Nom de machine Chemin dacc` s e Programme CGI PATH INFO QUERY STRING www.fenetre.fr /catalogue/ liste.cgi /catalogue/liste.html bdd 1&trier=oui&chercher=Fen%EAtres+%E0+ petits+carreaux

` On note que, conform ment a la syntaxe g n rale des URL, la variable denvironnement e e e e ` e QUERY STRING a et encod e. Le signe & sert a d limiter les diff rents param` tres. Le e e e

356

Services multim dias e

` signe = sert a marquer un couple (param` tre, valeur). Le signe + indique un espace. La vae riable doit donc etre interpr t e comme suit : ee bdd 1 trier=oui chercher=Fentres ` petits carreaux e a La valeur simple bdd 1 sera pass e en argument. Les autres param` tres devront etre r cue e e p r s par le programme CGI en d codant la variable denvironnement QUERY STRING. La ee e gure 10.57 page suivante montre un exemple de fonction Perl qui r alise ce travail et place e les arguments dans le tableau @params et les autres param` tres dans le tableau associatif e %params. Elle attend en entr e la valeur de la variable denvironnement QUERY STRING. e On observe quil est possible dobtenir plusieurs valeurs pour un m me nom de param` tre. En e e effet, les champs du type checkbox peuvent etre multiples, de m me que les valeurs renvoy es e e par un champ du type multiple select. La fonction request decode chane ces valeurs dans la m me variable, en les s parant par des virgules. e e Ce choix est bien s r arbitraire, au besoin (si les valeurs elles-m mes peuvent contenir des u e virgules) on pourra utiliser des caract` res nuls (code ASCII 0), des retours chariot (code e ASCII 13), etc. Dans cet exemple, lutilisation de la virgule nous permet de mieux visualiser les param` tres. e On pourra tester ce programme en le pla ant dans un des r pertoires de larborescence du c e serveur, par exemple tests/decode.cgi. Sur le serveur, nous pouvons demander URL de la forme suivante et observer le r sultat (gure 10.58 page 358). e http://www.fenetre.fr/tests/bdd 1&trier=oui&trier=croiss ant&chercher=Fen%EAtres+%E0+petits+carreaux

Champs de len-t te HTTP e Le serveur d nit une s rie de variables denvironnement qui re` tent certains champs de e e e len-t te de la requ te formul e par le client. Bien entendu, la pr sence ou le contenu de ces e e e e variables d pend de la forme de la requ te. Dans la pratique, il d pend aussi des fonctionnae e e lit s du client et du serveur. e Parmi les plus courantes, citons : AUTH TYPE Le type dauthentication effectu e par le client. Nous avons vu le type Basic sece tion 9.1.6 page 286.

Chapitre 10 Le langage HTML et son utilisation

357

sub decode { local ($string) = @_; # Les + sont en fait des espaces $string = tr/+/ /; # Dcodage des groupes %xx o` xx est le code ASCII du caract`re e u e $string = s/%([A-F0-9][A-F0-9])/pack("C", hex($1))/gie; $string; } sub request_decode { local ($incoming)=@_; local (@pairs,$name,$value); # Initialisation des tableaux (variables globales) undef(@params),undef(%params); # La chane de param`tres doit tre dcoupe au niveau des signes & e e e e @pairs = split(/&/, $incoming); # On examine chaque param`tre. Les arguments sont placs e e # dans le tableau @params. Les autres param`tres sont placs e e # dans le tableau associatif %params. foreach (@pairs) { # Sil ny a pas de signe = cest un argument if (!/=/) { push(@params, &decode($_)); # Sinon, il sagit dun couple nom=valeur } else { ($name, $value) = split(/=/, $_); $name=&decode($name); $value=&decode($value); # Une particularit : un param`tre peut avoir plusieurs valeurs. e e # Dans ce cas, elles seront spares par des virgules. e e if ($params{$name}) { $params{$name}.=",".$value; } else { $params{$name}=$value; } } } } # Exemple dutilisation $query=$ENV{"QUERY_STRING"}; &request_decode($query); # Affichage du contenu des variables. # On envoie dabord un Content-type dans len-tte du message. e print "Content-type: text/html\n\n"; print "<B>Arguments :</B><BR>"; print join("<BR>",@params); # Les couples (nom,valeur) sont affichs dans un tableau : e # les noms dans la premi`re colonne, les valeurs dans la seconde. e print print print print print print "<P><B>Autres param`tres :</B><BR>"; e "<TABLE><TD>"; join("<BR>",keys %params); "</TD><TD>"; join("<BR>",values %params); "</TD></TABLE>";

Figure 10.57 Programme Perl pour d ecoder les URL HTTP

358

Services multim dias e

Figure 10.58 Exemple dutilisation du script de d ecodage dun URL

REMOTE USER Lidenticateur de lutilisateur, tel que fourni lors de lauthentication (le nom de login, en quelque sorte). REQUEST METHOD La m thode utilis e pour la requ te (le plus souvent GET ou POST). e e e Utilisation de la m thode POST e La variable denvironnement QUERY STRING est principalement utilis e avec la m thode e e GET, puisque cette m thode pr cise que les diff rentes informations permettant de r pondre e e e e ` ` a la requ te doivent etre transmises dans lURL. Cette m thode est simple et facile a tester, e e ` puisquon peut fabriquer lURL sans faire appel a un navigateur et une page HTML contenant un formulaire. En revanche, lorsquil est n cessaire de tranf rer des donn es d passant un certain volume e e e e (quelques dizaines doctets), il devient peu commode dutiliser lURL. La m thode POST e ` r pond a cette pr occupation, puisquelle permet de transf rer les informations auparavant e e e contenues dans la variable QUERY STRING au sein du corps du message HTTP, et non plus dans len-t te. On peut ainsi exp dier dimportants volumes de donn es (sans n cese e e e sairement les encoder puisquil suft que le client indique le type du chier dans le champ Content-type). Dans la pratique, la m thode POST sera utilis e exactement comme la m thode GET, pour e e e ` r cup rer une r ponse a un formulaire. Les informations seront simplement lues depuis lene e e

Chapitre 10 Le langage HTML et son utilisation


tr e standard, comme le montre ce petit script shell, post.cgi : e
#!/bin/sh echo Content-type: text/plain echo cat -

359

` On pourra le tester en lappelant a partir de la page HTML suivante.


<FORM ACTION="post.cgi" METHOD=POST> <INPUT TYPE="text" NAME="ligne de texte" size=40> <P> <TEXTAREA NAME="zone de texte" ROWS=6 COLS=40> Texte par dfaut e (sur plusieurs lignes) </TEXTAREA> <P> <INPUT TYPE="submit" NAME="submit" VALUE="Envoyer le formulaire"> </FORM>

Les champs du formulaire parviennent au programme CGI sous la m me forme encod e e e quau sein des URL. Il est donc n cessaire dutiliser la fonction request decode pour e d composer les informations re ues sur lentr e standard. En Perl, cela donnerait : e c e
#!/usr/local/bin/perl require "request_decode.pl"; $query=<>; &request_decode($query); [...]

` Note : Il est tout a fait possible dutiliser la m thode POST tout en ins rant une information e e sp cique dans lURL (par exemple au sein dune instruction <A HREF=...>). Lentr e e e standard contiendra alors le corps du message transmis par le client, et la variable denvironnement QUERY STRING jouera son r le habituel, comme avec la m thode GET. o e

10.3.2 Application : afchage des variables denvironnement


` Le serveur HTTP met a la disposition des programmes CGI quil lance un certain nombre de variables denvironnement. Ces variables contiennent, outre les diff rents param` tres que e e nous avons d j` evoqu s, des informations plus sp ciques concernant, par exemple, le moea e e d` le et la version du serveur ou du client, le nom du script appel , la valeur des chemins e e dacc` s du serveur, et notamment le Document Root... e

360

Services multim dias e

Pour afcher simplement ces informations, il suft de r diger puis dex cuter le petit script e e shell suivant. Il se contente dex cuter la commande set pour afcher l tat des variables denvironnee e ment. Avant tout, il indique bien s r le type de donn es, ici du texte pur : text/plain. u e
#!/bin/sh echo Content-type: text/plain echo set

Ce programme, que nous nommerons environnement, peut etre plac dans le r pertoire e e des scripts du serveur, par exemple : /usr/local/httpd/cgi-bin ` Il est appel en demandant, par linterm diaire du navigateur ou a laide de la commande e e ` telnet a destination du port du serveur un URL de la forme : http://www.fenetre.fr/cgi-bin/environnement

10.3.3 Application : cartes cliquables (clickable image maps)


` La faiblesse principale des liens hypertexte lorsquon les applique a des images est que la forme de limage elle-m me est n cessairement rectangulaire. Il nest donc a priori pas pose e e sible de concevoir des menus dont les el ments seraient de formes diverses, ou encore des plans ou cartes qui enverraient le lecteur vers des URL diff rents en fonction de lendroit o` e u il aurait cliqu . e ` An de r pondre a ce type de besoin, le langage HTML d nit la notion de carte cliquable e e (clickable map). Le principe en est simple, puisque lorsquil rencontre une image de ce type (signal e par le param` tre ISMAP dans linstruction <IMG>) le navigateur rep` re les coore e e donn es de la souris par rapport au coin haut gauche de limage lorsque lutilisateur clique e sur limage en question. Ces coordonn es X,Y sont ajout es en param` tre a la requ te sous e e e ` e la forme d crite pour les appels CGI. e Le lien doit donc a priori pointer vers un script CGI capable dinterpr ter les coordonn es en e e fonction de limage, et de r pondre par exemple par une redirection (champ Location dans e len-t te HTTP) vers lURL qui convient. Dans lexemple ci-dessous, limage est divis e en e e trois parties : le cercle et le rectangle pointent chacun vers un URL particulier, et le reste de limage ne pointe vers rien (ou plus exactement, il pointe vers la page contenant limage, an que le navigateur nafche pas une erreur si on clique sur cette partie). Le programme

Chapitre 10 Le langage HTML et son utilisation

361

pr sent gure 10.59 page suivante est r dig en C, sa compr hension ne devrait poser aue e e e e cun probl` me. La redirection est obtenue en fournissant simplement le champ Location: e [URL ` charger] ; le reste de len-t te devrait etre mis en forme par le serveur HTTP a e qui y ajoutera le statut appropri (code 302 : Moved Temporarily). e Pour tester ce programme, il suft de remplacer les URL indiqu s au d but du source par des e e URL valides et de compiler lensemble avec, par exemple :

gcc -o simplemap.cgi simplemap.c

Le programme doit etre plac dans le r pertoire r serv aux scripts (par exemple le r pertoire e e e e e ` correspondant a /cgi-bin/), ou porter lextension .cgi et etre install dans le r pertoire e e courant (ne pas oublier de congurer le serveur pour quil accepte dex cuter les programmes e plac s dans les r pertoires des documents). e e ` La page HTML est tr` s simple, puisquelle se r sume a : e e

<A HREF=simplemap.cgi> <IMG ISMAP SRC=rondrect.gif BORDER=0></A>

Bien entendu, il faut cr er un chier image nomm rondrect.gif et le placer dans e e le m me r pertoire que la page et le programme CGI. Lorsquon positionne la souris sur e e limage, Netscape Navigator afche dans la barre d tat de la fen tre la position qui sera e e envoy e en param` tre au programme. Pour visualiser la transaction entre le navigateur et le e e serveur, on peut demander directement la page en se connectant par telnet sur le port du serveur. ` Si le serveur nest pas capable de d tecter la redirection a partir du simple champ Location e (ce qui est assez rare) cela signie sans doute quil envoie la r ponse du programme CGI telle e quelle, sans analyser len-t te. Il faut alors envoyer le code 301 ou 302 soi-m me. e e Plut t que dindiquer une redirection pour la page elle-m me (zone situ e en dehors du o e e rond et du rectangle), on peut alors r pondre par le code d tat (status code) 204 (No e e Content) qui indique que le document est vide, et ainsi economiser un nouveau chargement de la page : la plupart des navigateurs ne feront rien, la page initiale restera afch e, e ce qui est somme toute le comportement souhait . e Pour simuler ce comportement avec un serveur type NCSA ou Apache, on peut donner au programme CGI un nom commen ant par nph- (pour non parsed header). Le serveur se c contentera alors de transmettre la r ponse sans y toucher. Le programme devient alors celui e de la gure 10.62 page 364. La r f rence hypertexte se transforme bien s r en <A HREF=nph-map.cgi>. ee u

362

Services multim dias e

simplemap.c #define URLDefaut "http://www.fenetre.fr/tests/testmap.html" #define URLRond "http://www.fenetre.fr/tests/rond.html" #define URLRect "http://www.fenetre.fr/tests/rectangle.html" void defaut() { printf("Location: %s\r\n\r\n", URLDefaut); exit(0); } void URL1() { printf("Location: %s\r\n\r\n", URLRond); exit(0); } void URL2() { printf("Location: %s\r\n\r\n", URLRect); exit(0); } main(int ac, char **av) { int x, y, n; /* On vrifie que les param`tres sont bien l`. e e a * Les coordonnes sont passes sous la forme x,y et devraient e e * se trouver dans le premier argument pass au programme. e * En cas derreur, on renvoie lURL de la page courante. */ if (ac<2) defaut(); /* On tente dextraire X et Y */ n = sscanf(av[1], "%d,%d", &x, &y); if (n<2) defaut(); /* Le premier lien se trouve sur le cercle de centre (100,100) * et de rayon 20... */ if ((x-100)*(x-100) + (y-100)*(y-100) <= 20*20) URL1(); /* Le second lien se trouve sur le rectangle * de coordonnes (200,10) (230,60) e */ if (x>=200 && x<=230 && y>=10 && y<=60) URL2(); /* Le reste de limage renvoie lURL par dfaut */ e defaut(); }

Figure 10.59 Exemple de programme C g erant une carte cliquable

Chapitre 10 Le langage HTML et son utilisation


telnet www.fenetre.fr 80 Trying 192.168.22.34... Connected to www.fenetre.fr. Escape character is ]. GET /tests/simplemap.cgi?220,55 HTTP/1.0 HTTP/1.0 302 Found Date: Fri, 13 Sep 1996 22:03:10 GMT Server: Apache/1.1.1 Location: http://www.fenetre.fr/tests/rectangle.html Content-type: text/html <HEAD><TITLE>Document moved</TITLE></HEAD> <BODY><H1>Document moved</H1> The document has moved <A HREF="http://www.fenetre.fr/tests/rectangle.html">here </A>.<P> </BODY>

363

Figure 10.60 Transaction HTTP dans le cas dune carte cliquable

Figure 10.61 Carte cliquable

Utilisation de chiers de param` tres e Le programme simpli que nous avons vu au paragraphe pr c dent nest pas dun emploi e e e particuli` rement souple. On trouve sur le Net un programme en C beaucoup plus g n rique. e e e ` Cest ce programme, imagemap.c, ecrit par Rob McCool, qui est dailleurs a lorigine des fonctions de gestion des cartes cliquables int gr es aux serveurs r cents : avec le serveur e e e NCSA version 1.5 et suivantes, Apache, bien s r, et la plupart des serveurs commerciaux u ` tels ceux de Netscape et Microsoft il nest plus n cessaire de faire appel a des programmes e externes.

364

Services multim dias e

ls: $ cat nph-map.c #define URLRond "http://www.fenetre.fr/tests/rond.html" #define URLRect "http://www.fenetre.fr/tests/rectangle.html" void defaut() { printf("HTTP/1.0 204\r\n\r\n"); exit(0); } void URL1() { printf("HTTP/1.0 302\r\nLocation: %s\r\n\r\n", URLRond); exit(0); } void URL2() { printf("HTTP/1.0 302\r\nLocation: %s\r\n\r\n", URLRect); exit(0); } main(int ac, char **av) { int x, y, n; /* On vrifie que les param`tres sont bien l`. e e a * Les coordonnes sont passes sous la forme x,y et devraient e e * se trouver dans le premier argument pass au programme. e * En cas derreur, on renvoie lURL de la page courante. */ if (ac<2) defaut(); /* On tente dextraire X et Y */ n = sscanf(av[1], "%d,%d", &x, &y); if (n<2) defaut(); /* Le premier lien se trouve sur le cercle de centre (100,100) * et de rayon 20... */ if ((x-100)*(x-100) + (y-100)*(y-100) <= 20*20) URL1(); /* Le second lien se trouve sur le rectangle * de coordonnes (200,10) (230,60) e */ if (x>=200 && x<=230 && y>=10 && y<=60) URL2(); /* Le reste de limage revoie lURL par dfaut */ e defaut(); } ls: $ gcc -o nph-map.cgi nph-map.c

Figure 10.62 Version avec en-t HTTP du programme simplemap.c ete

Chapitre 10 Le langage HTML et son utilisation

365

Pour faciliter la mise en place des cartes cliquables, on enregistre les informations permettant de reconstituer les diff rentes zones de limage dans un chier de param` tres qui indique la e e forme et les coordonn es de chaque zone, et lURL vers lequel elle renvoie. e Comme cela arrive souvent, les formats des chiers de param` tres utilis s par les diff rents e e e serveurs du march se sont multipli s. Le plus courant est tout de m me celui utilis par e e e e le serveur NCSA. Il permet de d nir des zones de forme rectangulaire, ronde ou polygoe ` nale, ainsi que des points de proximit . Chaque zone correspond a une ligne du chier, qui e pr cise dans lordre et s par s par des espaces : la forme, lURL et les coordonn es (coins e e e e haut-gauche et bas-droite pour les rectangles, centre et un point de la circonf rence pour les e cercles, liste des sommets pour les polygones, ou encore coordonn es dun point de proxie mit ). On peut egalement indiquer un URL par d faut au cas o` lutilisateur cliquerait sur un e e u ` point qui nappartiendrait a aucune zone (ce qui est impossible si la forme point est utilis e, e e ` puisquil existera toujours un point le plus proche). Les el ments suivants correspondent a ceux illustr s gure 10.63. e
rect http://www.fenetre.fr/solution1.html 10,10,40,40 circle http://www.fenetre.fr/solution2.html 100,30,120,30 poly http://www.fenetre.fr/solution3.html 50,50,34,86,61,79,109,90 default http://www.fenetre.fr/solutions.html

Figure 10.63 Zones d enies par les elements dune carte cliquable

On utilisera par exemple les points de proximit pour des cartes g ographiques. Ainsi pour e e la carte des villes de France, lURL retenu sera celui du point le plus proche de lendroit o` u lutilisateur a cliqu . e
point http://www.fenetre.fr/agences/paris.html 100,100 point http://www.fenetre.fr/agences/lyon.html 140,220

Ces chiers de param` tres portent g n ralement lextension .map. e e e ` Ils sont lus et interpr t s par le serveur qui proc` de lui-m me a une redirection pour indiquer ee e e au navigateur quelle page t l charger. ee

366 Conguration dApache

Services multim dias e

Pour quApache prenne en compte les chiers de param` tres des cartes cliquables, il faut e indiquer dans la conguration que les chiers portant par exemple lextension .map doivent etre trait s par le module mod imap (dont le r le est pr cis ment de lire le chier de parae o e e m` tres et dinterpr ter la position envoy e par le navigateur en fonction des zones qui y sont e e e d crites). Pour cela, on utilise linstruction AddHandler en lui pr cisant en param` tre lace e e tion imap-file correspondant au module interne de gestion des cartes cliquables, ainsi que lextension des chiers concern s (bien entendu, on pourrait choisir autre chose que map) : e AddHandler imap-file map Le module imap dApache g` re les chiers au format NCSA d crit plus haut, avec une limite e e de 100 sommets par polygone et une souplesse suppl mentaire puisquil sait traiter les URL e relatifs. On peut donc lui fournir la ligne suivante : point agences/paris.html 100,100 Il ajoutera au nom de la page la base de lURL du chier de param` tre. Si ce dernier se e trouve en http://www.fenetre.fr/villes.map, le serveur renverra donc le champ Location: http://www.fenetre.fr/agences/paris.html.

Gestion c t client (client-side maps) oe Les cartes cliquables ont un d faut majeur : il est parfois difcile pour lutilisateur d tre e e s r de lURL demand , puisque ce nest pas cet URL qui safche dans la barre d tat du u e e navigateur, comme ce serait le cas avec un lien hypertexte classique, mais lURL du chier de param` tres ou eventuellement du programme CGI. e ` An de rem dier a cette faiblesse, Netscape a introduit la notion de carte cliquable g r e par le e ee navigateur lui-m me, quon pourrait qualier de carte-client (client-side map). Le fonctione ` nement est similaire a celui obtenu avec les cartes cliquables habituelles, mais le navigateur peut afcher le v ritable URL de destination en fonction de la position de la souris. e Les param` tres de la carte doivent etre traduits en HTML, gr ce a une s rie de nouvelles inse a ` e ` tructions. <MAP> d clare la carte en pr cisant son nom, a la mani` re dune ancre. <AREA> e e e d nit une zone, comme le font les lignes des chiers de param` tres c t serveur. Un pae e oe ram` tre suppl mentaire, USEMAP, permet dindiquer dans linstruction <IMG> quil existe e e une carte-client et de pr ciser lendroit o` elle se trouve. On notera que, sil est possible dine u s rer la carte dans la page qui contient limage, ce nest pas indispensable. Les cartes sont e d sign es comme les ancres, sous la forme URL#NOM. Il est ainsi possible de toutes les ree e

Chapitre 10 Le langage HTML et son utilisation

367

grouper dans un r pertoire particulier de larborescence, voire m me dans un seul chier, ce e e qui peut faciliter leur gestion : <IMG SRC="villes.gif" USEMAP="/cartes/client.html#rondrect"> La traduction dun chier de param` tres en carte-client est assez simple, il suft de changer e la r partition des champs et dins rer les instructions HTML. Cependant, toutes les formes e e ` titre indicatif, les versions 2.x de Netscape Navigator ne ne sont pas encore disponibles. A reconnaissent que la forme rectangle, il est donc conseill de repr senter les autres zones par e e un rectangle qui les contienne.
Version NCSA circle http://www.fenetre.fr/tests/rond.html 100,100,120,100 rect http://www.fenetre.fr/tests/rectangle.html 200,10,230,60 default http://www.fenetre.fr/tests/testmap.html version HTML <MAP NAME=rondrect> <AREA SHAPE="RECT" COORDS="80,80,120,120" HREF="http://www.fenetre.fr/tests/rond.html"> <AREA SHAPE="RECT" COORDS="200,10,230,60" HREF="http://www.fenetre.fr/tests/rectangle.html"> <AREA SHAPE="RECT" COORDS="0,0,249,139" HREF="http://www.fenetre.fr/tests/testmap.html"> </MAP>

Figure 10.64 Traduction dune carte NCSA en carte HTML

Dans lexemple pr sent sur la gure 10.64, on a traduit la destination par d faut par une zone e e e couvrant toute limage. Les zones etant evalu es dans lordre dans lequel elles sont pr cis es, e e e les deux premi` res zones seront tout de m me prises en compte. Cependant, la destination e e par d faut est en fait la page elle-m me : autant eviter de la recharger. Pour cela, il suft e e de remplacer la destination (HREF="...") par le param` tre NOHREF qui indique quaucune e action ne doit etre effectu e : e <AREA SHAPE="RECT" COORDS="0,0,249,139" NOHREF> En fait, Netscape d nit laction par d faut comme de ne rien faire. On peut donc tout sime e plement supprimer cette ligne. ` Attention : une erreur commune consiste a remplacer purement et simplement la carte cliquable par une carte-client. Il ne faut pourtant pas oublier que de nombreux utilisateurs ne disposent pas dun navigateur dernier cri. Comme toutes les autres instructions HTML, les instructions qui d nissent la carte client sont ignor es par le navigateur sil ne les comprend e e pas ; mais lutilisateur risque de ne plus pouvoir acc der aux pages auxquelles elles faisaient e r f rence. Il faut donc conserver les deux m canismes, comme le montre la gure 10.65 page ee e suivante.

368
<A HREF=simplemap.cgi> <IMG ISMAP USEMAP=\#rondrect SRC=rondrect.gif BORDER=0></A> <MAP NAME="rondrect"> <AREA SHAPE="RECT" COORDS="80,80,120,120" HREF="http://www.fenetre.fr/tests/rond.html"> <AREA SHAPE="RECT" COORDS="200,10,230,60" HREF="http://www.fenetre.fr/tests/rectangle.html"> </MAP>

Services multim dias e

Figure 10.65 Syntaxe des cartes client

Figure 10.66 Utilisation dune carte cliquable

10.4 Automatiser le formatage du contenu avec Apache


Le serveur Apache permet dautomatiser de mani` re int ressante une partie des t ches aff e e a e ` rentes a la mise en place et la maintenance dun serveur. On pourra ainsi ins rer dans toutes e les pages des en-t tes et pieds de page ou des menus contenus dans des documents HTML e s par s, ou encore nimporte quelle autre information fournie par un programme CGI. e e On pourra egalement appliquer un ltre aux documents dun certain type en ajoutant un gestionnaire (handler) pour lextension de ces documents, voire ajouter des modules directement int gr s au serveur. La plupart de ces op rations d passent le cadre de cet ouvrage, mais nous e e e e allons tout de m me evoquer quelques applications utiles des possibilit s du serveur. e e

10.4.1 En-t tes et pieds de page e


Tr` s souvent, les en-t tes et pieds de page des documents du serveur varient peu dune page e e ` a lautre. On pourra en r aliser deux ou trois versions pour diff rentes parties du site, quon e e

Chapitre 10 Le langage HTML et son utilisation

369

placera dans des chiers HTML s par s, sans toutefois y ajouter les instructions de d e e e but/n de document (<HTML>, <HEAD> ou <BODY>). Un choix judicieux serait de les regrouper dans un r pertoire d di , par exemple includes/ sous le r pertoire racine du e e e e site (le DocumentRoot).

10.4.2 Lancement de scripts selon le type des chiers


Lutilisation des chiers inclus simplie la t che de maintenance, dans la mesure o` il nest a u e plus n cessaire de syst matiquement recopier le code HTML correspondant aux el ments e e xes des pages. Cependant, elle ne dispense pas de mentionner linstruction qui indique au ` serveur le chier a inclure. e Une solution plus el gante serait dinclure syst matiquement des lignes de code dans toutes e les pages. Ou mieux encore, dinclure certaines lignes de code dans certains documents en fonction de leur extension de chier. Pour cela, on peut d nir des gestionnaires particuliers pour les extensions choisies. Par e exemple, nous retiendrons lextension .mhtml pour rep rer les documents auxquels on doit e ajouter un menu en bas de page. Pour que les chiers portant cette extension soient correctement trait s, il faut y associer une action : e AddHandler ajouter menu .mhtml Il faut egalement d nir laction ajouter menu an que le serveur sache quelles mesures e prendre lorsquon lui demande un chier portant lextension .mhtml. Ici en loccurrence il sagira dex cuter un petit script shell charg de compl ter la page en lui adjoignant les e e e quelques lignes correspondant au menu. Action ajouter menu /cgi-bin/menu.sh Il est important de comprendre ce que fera le serveur lorsquon lui demandera un document portant lextension .mhtml. Tr` s simplement, il transformera cette requ te en une autre e e requ te portant sur le script pr c demment d ni, en y ajoutant le nom du document demand , e e e e e et cest cette autre requ te quil servira. Ainsi : e GET /tests/page.mhtml deviendra GET /cgi-bin/menu.sh/tests/page.mhtml

370

Services multim dias e

On reconnat la forme dURL sp ciale d j` evoqu e, fond e sur un faux chemin dacc` s. e ea e e e Lorsquil evaluera lURL, le serveur trouvera un ex cutable /cgi-bin/menu.sh mais e ` bien entendu pas de r pertoire du m me nom. Il arr tera donc sa recherche a ce niveau, et le e e e reste du chemin (ici /tests/page.mhtml) sera conserv dans la variable denvironnee e e ment PATH INFO, que le script pourra utiliser, en noubliant pas de faire pr c der sa valeur de celle de la variable DOCUMENT ROOT, puisque PATH INFO pointera vers un chemin ` dacc` s relatif a la racine du serveur (et non du disque). e An de simplier la t che du script en question, on supposera que les instructions </BODY> a et </HTML> ne gurent pas dans les pages et quelles sont automatiquement ajout es. e
menu.sh \#!/bin/sh echo Content-type: text/html echo cat $DOCUMENT\_ROOT/$PATH_INFO cat <<FIN <P> <CENTER> <A TARGET=page HREF=http://www.fenetre.fr/cartes/menu.map> <IMG BORDER=0 ISMAP USEMAP=http://www.fenetre.fr/cartes/client.html\#menu SRC=menubar.gif WIDTH=562 HEIGHT=20></A> </CENTER> </BODY> </HTML> FIN

Figure 10.67 Ajout automatique dun pied de page

` Pour appliquer le ltre a toutes les pages HTML, on utilisera le type MIME text/html. Dans ce cas il nest plus n cessaire de d nir un gestionnaire avec AddHandler, on peut e e directement associer laction au type MIME : Action text/html /cgi-bin/menu.sh

11
Relais et caches
` Au fur et a mesure que lInternet se d veloppe, les voies de communications deviennent de e plus en plus rapides mais le nombre dutilisateurs augmente dune mani` re telle que le moe ` d` le traditionnel de client-serveur ne suft plus a assurer un temps de r ponse acceptable dans e e bien des cas. Des analyses de trac montrent que, dans de nombreux cas, les m mes docue ` ments circulent de nombreuses fois et contribuent a la saturation des lignes. Cest pourquoi la communaut Internet est en train de mettre en uvre de nouvelles techniques bas es sur la e e r plication de linformation. e

11.1 Principes de fonctionnement


11.1.1 Lecture directe
` Lorsquun utilisateur de lInternet veut acc der a une information dont il sait o` elle se trouve, e u ` il utilise en g n ral un programme appel (( client )) qui se connecte a un autre programme e e e appel (( serveur )). Le client fait sa demande au serveur, qui lui renvoie linformation voulue. e ` La gure 11.1 montre comment un utilisateur acc` de a la page WWW se trouvant a lURL e ` http://www.fenetre.fr/.
http://www.fenetre.fr/

Client WWW
rponse (page HTML)

Serveur WWW

Figure 11.1 Acces direct a une page WWW ` `

372

Services multim dias e

` Or certaines machines nont pas, pour des raisons de s curit , un acc` s direct a lInternet ; e e e la plupart des entreprises disposant de donn es sensibles sur leur r seau informatique pr e e e f` rent nexposer quun nombre limit de machines, tout en installant un service de relais pour e e ` acc der a linformation. e

11.1.2 Passage par un serveur proxy


Un serveur proxy (ou relais) est un serveur qui, comme indiqu sur la gure 11.2, relaye les e demandes faites par certains clients vers certains serveurs. Ici, la machine cliente, nomm e e ` client.societe.fr na pas dacc` s direct a lInternet ; cest pourquoi elle utilise la e ` machine relais proxy.societe.fr qui va faire a sa place la demande vers le serveur distant www.fenetre.fr et lui renvoyer la r ponse. e

client.societe.fr
http://www.fenetre.fr/

www.fenetre.fr

rponse (page HTML)

proxy.societe.fr Intranet Internet

Figure 11.2 Utilisation dun relais

Cette m thode r soud les probl` mes dacc` s a un serveur auquel on nacc` derait pas en temps e e e e ` e normal, mais nam liore en aucun cas les temps de transfert lorsque les liaisons entre le e domaine societe.fr et le domaine fenetre.fr sont engorg s. Cest ici quintervient e la notion de cache.

11.1.3 Mettre des documents dans le cache


Certaines donn es accessibles sur lInternet pr sentent un caract` re relativement statique ; les e e e archives vieilles dun an dune liste de diffusion par exemple ne changeront a priori jamais, la liste des produits propos s par une soci t ne changera probablement pas tous les jours. Or, e ee ` ` lorsque deux utilisateurs se trouvant dans le domaine fenetre.fr demandent a acc der a la e m me page (la page (( Net Search )) de Netscape par exemple) et recoivent par cons quent e e la m me information, la page en question transite deux fois sur le r seau. e e La gure 11.3 page suivante explique comment un serveur capable de conserver linformation ` dans un cache ((( cache )) est a comprendre ici comme (( cache m moire ))) permet de r duire e e les temps de transfert d` s le deuxi` me acc` s a la m me page : e e e ` e

Chapitre 11 Relais et caches

373

client1.fenetre.fr

client2.fenetre.fr www.netscape.com 1 4 5 7 2 3

cache.fenetre.fr

Espace de stockage

Figure 11.3 Sauvegarde de linformation

` ` 1. client1.fenetre.fr demande a acc der a la page principale de Netscape, e cest-` -dire http://www.netscape.com/. Sa requ te est envoy directement au a e e serveur proxy-cache cache.fenetre.fr ; 2. le serveur envoie la requ te a www.netscape.com ; e ` 3. www.netscape.com renvoie la page demand e a cache.fenetre.fr ; e ` 4. cache.fenetre.fr renvoie la page au demandeur (client1.fenetre.fr) et, ` en m me temps, la sauve localement an de pouvoir lutiliser a nouveau en cas de e nouvelle demande ; ` 5. client2.fenetre.fr souhaite egalement acc der a cette URL et envoie donc la e ` demande a cache.fenetre.fr ; 6. le serveur proxy-cache saper oit quil a d j` la page en local, et donc la recharge c ea depuis son espace de sauvegarde ; 7. la page pr c demment sauv e est renvoy e a client2.fenetre.fr, sans avoir e e e e ` transit sur le lien transatlantique. e Comme on le voit imm diatement, un serveur cache est obligatoirement un serveur proxy ; e pour quil puisse d tecter le fait que les m mes pages sont demand es plusieurs fois, il faut e e e quil ait connaissance de ces demandes. De plus, ce mod` le ne sapplique pas quau WWW e mais egalement aux autres protocoles bas s sur le m canisme de question/r ponse tels que e e e FTP ou Gopher.

11.1.4 Hi rarchie de serveurs interm diaires e e


Cette technique de caches permet de r duire sensiblement le temps dacc` s aux donn es dise e e tantes, mais elle peut encore etre perfectionn e. Prenons le cas o` le domaine fenetre.fr e u est en fait compos de deux sous-domaines dont les noms sont ventes.fenetre.fr et e materiel.fenetre.fr, correspondant respectivement aux services (( Ventes )) et (( Gestion du mat riel )) de la m me entreprise, situ s dans deux villes diff rentes et reli s par e e e e e

374

Services multim dias e

une liaison RNIS. Il est avantageux pour chaque d partement davoir un serveur proxy-cache e install localement, an de b n cier des meilleurs temps dacc` s possibles. e e e e Toutefois, les temps dacc` s entre les deux services sont relativement corrects, et il est donc e dommage davoir deux syst` mes compl` tement s par s, au risque de voir toute linformation e e e e transiter en double (une fois pour chaque sous-domaine). Cest pourquoi les caches des deux d partements peuvent etre congur s (voir gure 11.4) pour sinterroger lun lautre. On dit e e ` alors quils sont voisins. De plus, ils sadressent tous les deux a un serveur proxy-cache global pour lensemble de la soci t , qui devient donc leur parent. ee

Service <<ventes>>
client1.ventes.fenetre.fr Requte cache.ventes.fenetre.fr client2.ventes.fenetre.fr Requte Requte

change client1.materiel.fenetre.fr Requte cache.materiel.fenetre.fr client2.materiel.fenetre.fr Requte

cache.fenetre.fr

Requte

Service <<matriel>>
Figure 11.4 Famille de caches

Intranet

11.2 Conguration dun serveur proxy-cache


` Le logiciel proxy-cache le plus avanc a lheure actuelle sappelle squid. Il est a la fois e` gratuit et performant, permet de relayer plusieurs protocoles et est pr vu pour sins rer dans e e une hi rarchie de caches. e

11.2.1 Installation
` Le programme squid peut etre t l charg sur plusieurs sites fran ais, par exemple a lURL ee e c ftp://ftp.oleane.net/pub/mirrors/www/Squid/. Etant donn quil se cone ` gure a laide dautoconf, sa mise en place est un jeu denfant :

Internet

Chapitre 11 Relais et caches


% gunzip -c squid-1.1-src.tar.gz | tar xpBf % cd squid-1.1 % ./configure [...] % make [...] % make install

375

11.2.2 Conguration
` Le chier de conguration de squid se trouve par d faut a lendroit suivant (si aucune e e option contraire na et donn e a configure) : /usr/local/etc/squid.conf. e ` ` Il comporte de nombreux param` tres quil va falloir modier pour les adapter a nos bee soins. Dans le cas pr sent, nous allons congurer squid comme proxy-cache autonome, e an dam liorer les performances dacc` s depuis notre domaine societe.fr. e e Directives globales Les directives inuant sur la conguration globale de squid sont pr sent es dans le tae e bleau 11.1. Il est conseill de conserver les valeurs par d faut, surtout lorsquon pr voit de e e e sins rer par la suite dans une hi rarchie de caches : il est toujours plus facile pour les voisins e e dutiliser partout les m mes param` tres que de les adapter pour chaque site. e e
Directive http port tcp incoming address local domain local ip Valeur conseill e e 3128 0.0.0.0 fenetre.fr Explication. Port sur lequel se connecteront les clients. Adresse dinterface sur laquelle ecouter les requ tes. e Domaine pour lesquels on nutilise jamais de voisin. Idem.

Tableau 11.1 Directives globales de conguration

Gestion des ressources Etant donn quil sauvegarde certaines donn es localement, squid est un gros consommae e teur de ressources syst` me, notamment en termes de m moire et de place disque. e e Pour cela, il est possible de congurer de mani` re ne (voir tableau 11.2 page suivante) les e ressources que squid est autoris a utiliser. e`

376
Directive cache mem cache swap cache swap high Valeur conseill e e 16 100 90

Services multim dias e


Explication. Taille maximum de m moire occup e e e ` par squid a un moment donn . e Idem, mais pour le disque. Cette valeur correspond au pourcentage ` ` par rapport a cache swap a partir du` e quel squid commencera a lib rer de la place disque. ` Pourcentage a partir duquel lalgorithme de nettoyage cit ci-dessus sare r te. e Comme cache swap high, mais pour la m moire. e Comme cache swap low, mais pour la m moire. e R pertoire dans lequel seront sauv s les e e chiers (cette directive peut etre pr e sente plusieurs fois).

cache swap low

75

cache mem high cache mem low cache dir

90 75

Tableau 11.2 Gestion des ressources

Droits dacc` s e Les droits dacc` s sont g r s dans squid par le principe des ACL (Access Control List), pere ee mettant de d crire de mani` re pr cise les droits individuels. Chaque ACL permet de d crire e e e e une particularit de lURL demand e, du client, du serveur, etc., et les ACL peuvent ensuite e e etre combin es de mani` re logique an de former des listes de droits dacc` s et dinterdice e e tions. Ces combinaisons seront utilis es dans des structures comme : e
http_access allow combinaison1 http_access deny combinaison2 http_access allow all

Dans cet exemple, ce qui v rie combinaison1 est autoris , ce qui v rie combinaison2 e e e mais pas combinaison1 est interdit, et tout le reste est autoris . e Par exemple, si on combine une ACL autorisant lacc` s a un serveur donn , lACL autorisant e ` e ` les ordinateurs des commerciaux a utiliser le proxy-cache et une ACL autorisant lacc` s en e dehors des heures de bureau, alors lacc` s a ce serveur ne sera autoris pour les commerciaux e ` e ` quen dehors des heures de bureau, a lexclusion de qui que ce soit dautre, de quelquautre serveur que ce soit et des heures de travail. La syntaxe g n rale dune ACL est : e e
acl nom type param1 ...

Chapitre 11 Relais et caches

377

o` nom est un nom attribu a cette ACL, type un type dACL et param1 et la suite les u e` param` tres suppl mentaires. Ces param` tres d pendent du type choisi comme indiqu dans e e e e e le tableau 11.3.
Type src Param` tres e addresse/masque Signication Adresse source (on peut egalement indiquer un intervalle en s parant deux e motifs par un tiret). Adresse de destination. Adresse source bas e sur le nom du doe maine. Adresse de destination bas e sur le nom e du domaine. Heures dacc` s. e Expression r guli` re d crivant lURL e e e (voir les exemples fournis avec squid). Idem, mais sans le type de protocole. Num ro de port. e Nom de protocole (comme HTTP). Nom de m thode (comme POST). e

dst srcdomain dstdomain time url regex

addresse/masque nom de domaine nom de domaine format date expression

urlpath regex port proto method

expression port protocole mthode e

Tableau 11.3 Types dACL

Le format de date utilis comme param` tre de lACL de type time est une lettre facultative e e d signant le jour de la semaine (voir tableau 11.4) suivie de deux heures s par es par des e e e tirets. Par exemple, la chane (( MTWHF 9:00-17:00 )) peut repr senter les heures de travail e de la semaine.
Symbole M T W H F A S Jour Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche

Tableau 11.4 Jours de la semaine

` Voil` par exemple a quoi ressemble la partie a cache.fenetre.fr :

( (

autorisation

) )

du chier de conguration de

378

Services multim dias e

# Ces sites ne sont pas utiles au travail (ACL "detente") acl detente url_regex http://www.detente.fr/ http://www.fun.edu/ # De mani`re gnrale, on nautorise le proxy-cache que e e e # pour les machines de chez nous (ACL "nous") acl nous srcdomain fenetre.fr # Les heures de travail sappellent "travail" acl travail MTWHF 9:00-17:00 # Interdiction de tous les clients extrieurs e http_access deny !nous # Autorisation de tous les sites (sauf ceux de detente) en permanence http_access allow !detente # Autorisation des sites de detente hors des heures de travail http_access detente !travail # Interdiction du reste http_access deny all

11.2.3 Maintenance
` La seule chose a faire apr` s linstallation est la conguration du syst` me pour que squid e e ` ces ns, il existe le pro` soit lanc automatiquement a chaque red marrage de la machine. A e e gramme RunCache, livr avec squid, qui sassurera, sil est appel au d marrage, quil y e e e a toujours un processus squid pr t a r pondre aux requ tes. e ` e e

12
Multicast : le travail coopratif sur lInternet
Depuis plusieurs ann es d j` , les utilisateurs de lInternet tentent de travailler dans un envie ea ronnement de plus en plus coop ratif et ouvert. LIETF (Internet Engineering Tasking Force) e ` a, a lorigine, conduit deux exp riences appel es (( audiocast )) dans lesquelles les chercheurs e e ont fait passer pour la premi` re fois des donn es audio et vid o en direct sur lInternet. Dee e e ` puis, la recherche dans ce domaine a enorm ment progress , et a abouti a ce quon connat e e maintenant sous le nom de (( multicast )).

` 12.1 La communication point a point


LInternet est un r seau bas sur lutilisation de redondances au niveau du routage ; cela a e e e ` et voulu par ses concepteurs pour pouvoir r sister a la rupture de certaines de ses liaisons. e ` Cependant, ces redondances navaient a lorigine quun seul r le : celui de relier de mani` re o e able deux machines devant echanger des informations. ` La gure 12.1 page suivante donne un exemple de communication point a point : un utilisateur dot dun client WWW souhaite consulter le serveur de la soci t FeNETre Service Express e ee ` an de connatre les services quelle propose. Pour cela, il demande a son client WWW de ` se connecter sur la machine qui permet de consulter ces pages, a savoir www.fenetre.fr. ` Une connexion virtuelle, point a point, est etablie entre ces deux ordinateurs, qui peuvent alors s changer linformation voulue. e De m me, lorsque lutilisateur enverra un message electronique au commercial de cette soe ci t an de lui demander une livraison de mat riel, les gestionnaires de courrier electronique ee e

380
http://www.fenetre.fr/

Services multim dias e

Client WWW
rponse (page HTML)

Serveur WWW

Figure 12.1 Communication point a point `

` etabliront entre eux une liaison point a point an de s changer, en utilisant par exemple le e ` protocole SMTP, les informations n cessaires a la bonne transmission du message. e Cependant, ce mode de communication permet difcilement de simuler une salle de r union e dans laquelle travaillent plusieurs personnes ; m me si les forums (voir le chapitre 6 page 219 e ` ` a ce sujet) et les listes de diffusion permettent de sadresser simultan ment a un ensemble de e personnes, on napproche pas les conditions r elles des s ances de brainstorming. Une possie e bilit de mise en place de cette notion de groupe interactif est pr sent e sur la gure 12.2 : un e e e paquet, partant dune machine (en noir), est diffus vers plusieurs destinataires (repr sent s e e e par des ronds gris s sur le sch ma, les routeurs interm diaires etant repr sent s par des ronds e e e e e blancs).
R2

R1

R3

Figure 12.2 Destinataires multiples

` Le principe est simple : chaque paquet IP est envoy une fois a tous les destinataires. Malheue reusement, il est totalement inefcace en termes de d bit utilis et de charge de travail pour e e les routeurs ; bien que les deux machines de droite se trouvent sur le m me sous-r seau, les e e deux paquets qui leur parviennent suivent pratiquement le m me chemin, ce qui signie que e linformation circule en double pratiquement de bout en bout. Il a donc fallu introduire pour lInternet la notion de groupe.

12.2 Adresses de classe D et notion de groupe


Les machines connect es a lInternet sont d sign es par une adresse IP (ceci est expliqu e ` e e e ` page 33), qui appartient a lune des trois classes dadressage A, B ou C. An de pouvoir d e nir des groupes, on a donc introduit une nouvelle classe dadresses, la classe D ou adresses

Chapitre 12 Multicast
multicast.

381

Comme indiqu sur le sch ma 2.4 page 36, une adresse de classe D commence toujours par la e e s quence de bits 1110. Cela signie que les adresses IP commen ant par un nombre compris e c entre 224 et 239 (inclus) d signent des adresses de groupes. e Si toutes les machines souhaitant dialoguer ensemble sinscrivent dans un m me groupe, le e sch ma de la gure 12.2 page ci-contre est remplac par celui d crit gure 12.3. On voit e e e e ais ment que toute la redondance existant pr c demment a et supprim e ; linformation ne e e e e circule plus jamais en double, et nutilise pas plus de bande passante que n cessaire. De plus, e le routeur R4, qui na aucun besoin de recevoir linformation puisquaucune des machines de son r seau ne sest abonn e au groupe, na rien re u. e e c
R2

R1

R4

R3

Figure 12.3 Destinataires multiples appartenant a un m ` eme groupe

` Voici donc le fondement de lIP multicast : une machine peut sabonner a un ou plusieurs ` groupes multicast, et, a partir de cet instant, recevoir les paquets destin s a ce groupe. Noe ` ` tons de plus quil nest pas n cessaire dappartenir a un groupe pour pouvoir y envoyer des e paquets.

12.2.1 Routage sur Ethernet


Ladressage de groupe existe sur Ethernet depuis sa cr ation. Le principe est simple : comme e ` expliqu sur la gure 12.4 page suivante, une adresse Ethernet sp ciale, a savoir ladresse e e repr sent e par 01-00-5E-00-00-00, est combin e avec ladresse de groupe multicast e e e (25 bits de la premi` re et 23 bits de la seconde) de mani` re a former une adresse de groupe e e ` Ethernet. ` ` Lorsquune machine du r seau local demande a sabonner a un groupe multicast, le noyau e ` demande a ses cartes Ethernet de consid rer les paquets contenant une telle adresse de dese tination comme (( int ressants )), et de les passer au noyau qui les exploitera. On peut noter e que la totalit de ladresse multicast napparat pas dans ladresse de groupe Ethernet, ce e qui ajoute parfois certains d chets parmi les paquets re us, d chets qui doivent ensuite etre e c e supprim s par le noyau. e

382

Services multim dias e

Adresse de groupe multicast


32 bits

23 bits

Adresse de groupe multicast sur Ethernet


25 bits

48 bits

Adresse Ethernet 01-00-5E-00-00-00


Figure 12.4 Construction dune adresse multicast sur Ethernet

Le fait quEthernet autorise ladressage de groupe permet aux entreprises qui souhaitent utili` ser le multicast pour le travail coop ratif en interne de ne pas avoir a changer leur infrastruce ture ; au pire, il leur faudra obtenir de leurs fournisseurs une version r cente des diff rents e e syst` mes dexploitation quils utilisent, an d tre s rs que ceux-ci permettent dutiliser IP e e u multicast. Un noyau SunOS par exemple n cessite un certain nombre de modications pour e pouvoir utiliser le multicast, alors quun noyau Solaris ou Linux dispose des fonctions ad e quates en standard.

12.2.2 Routage sur lInternet : les routeurs multicast


Comme on la vu page pr c dente, un r seau local comme Ethernet permet ladressage de e e e groupe, r solvant ainsi le probl` me de la transmission des paquets multicast sur un brin du e e r seau. La transmission de tels paquets entre diff rents r seaux pose un probl` me plus come e e e plexe et n cessite des op rations de routage. e e ` Il existe a ces ns plusieurs protocoles, que lon peut classer en deux cat gories : e ` 1. Les protocoles a mode dense : ces protocoles supposent que la plupart des interfaces r seaux quils g` rent voudront recevoir les paquets multicast. Les interfaces ne voue e ` lant pas en recevoir doivent (id alement) constituer lexception a la r` gle. Parmi ces e e protocoles, on peut citer DVMRP, MOSPF et PIM-DM. ` 2. Les protocoles a mode dispers : ces protocoles, inversement aux pr c dents, consie e e ` d` rent que seules quelques interfaces (voire aucune) voudront, a un moment donn , e e recevoir les paquets multicast. Ce sont par exemple CBT ou PIM-SM. Le choix du protocole d pend donc de lutilisation typique du routeur ; si cest un routeur e dentreprise, qui est donc en g n ral connect a un certain nombre de brins qui nutiliseront e e e`

Chapitre 12 Multicast

383

` ` pas lIP multicast, alors un protocole a mode dispers sera le plus ad quat. A loppos , un e e e routeur important reliant plusieurs fournisseurs dacc` s a lInternet aura int r t, traditionnele ` ee ` ` lement, a adopter un protocole a mode dense.

12.2.3 Routage sur lInternet : les tunnels


Malheureusement, les routeurs pr sents sur lInternet ne poss` dent pas tous la possibilit de e e e router des paquets IP multicast. Pour pallier ce manque et eviter que des zones s par es par e e un tel routeur ne puissent echanger de paquets multicast, on a adopt la notion de tunnel qui e relie ces zones autonomes. ` Un tunnel permet de transporter certains types de paquets a lint rieur dautres types de pae quets. Dans le cas pr sent, pour compenser le fait que certains routeurs sont incapables de e router des paquets multicast entre deux r seaux, on choisit une machine sur chacun deux e pour lui coner le r le de routeur multicast. o

X2

Y2

Y4

Rseau Y Rseau X

X1

X3

Y1

Y3

Tunnel multicast

Figure 12.5 Routage multicast utilisant un tunnel

La gure 12.5 propose lexemple de deux r seaux, appel s X et Y, sur lesquels circulent e e des paquets multicast. An de pouvoir faire transiter ces paquets entre les deux r seaux, on e ` congure un tunnel entre les machines X3 et Y1 ; a chaque fois quun paquet multicast pour un groupe donn arrive sur le r seau X et quau moins une machine de Y est abonn e a e e e ` ` ce groupe, la machine X3 envoie ce paquet a travers le tunnel apr` s lavoir encapsul dans e e 1 oe e un paquet IP traditionnel (ce paquet utilise donc le routage IP habituel) . De son c t , d` s r ception du paquet IP en provenance du tunnel, la machine Y1 le d sencapsule et le r injecte e e e sur son r seau local Y. Ainsi, un paquet multicast emis par la machine X1 transitera par le e ` r seau local X, la machine X3, le tunnel, la machine Y1, le r seau local Y et parviendra a la e e machine Y2 abonn e au groupe en question. e
` 1. Dans les versions de multicast ant rieures a mars 1993, on utilisait une autre possibilit offerte par IP, qui e e ` ` consistait a demander a ce que les paquets soient achemin s par un routage en mode ( l che ) (loose routing). Ce e ( a ) protocole est encore en vigueur actuellement pour raison de compatibilit avec les anciens syst` mes qui pourraient e e ` etre encore en service, mais est vou a disparatre a terme a cause de ses pi` tres performances. e` ` e

384

Services multim dias e

` Gr ce aux routeurs comprenant le protocole IP multicast et aux tunnels, on arrive a former sur a lInternet une structure multicast connexe et coh rente appel e le MBone (Multicast Backe e bone).

12.2.4 Deux protocoles de routage : DVMRP et MOSPF


` Ces deux protocoles permettent de router des paquets multicast a travers le MBone, mais proc` dent de deux mani` res diff rentes que nous allons examiner. e e e

DVMRP DVMRP, qui signie Distance Vector Multicast Routing Protocol, est le protocole utilis par e le programme mrouted (voir page 387), bien que cette version apporte plusieurs am liorae tions notables par rapport au RFC 1075 qui le d nit. Il utilise, comme le protocole RIP (voir e page 51) la notion de vecteur de distance pour repr senter sa connaissance du r seau MBone. e e ` Malheureusement, comme RIP, il ne sadapte pas facilement aux r seaux a grande echelle car e la repr sentation par vecteurs de distance sav` re insufsante pour repr senter la topologie de e e e mani` re pr cise et ad quate dans tous les cas de gure. Au-dessus de cette notion de vecteur e e e de distance, DVMRP utilise un algorithme appel Truncated Reverse Path Broadcasting qui e lui permet de d terminer rapidement vers quelles interfaces (physiques ou virtuelles, comme e les tunnels) il doit rediriger un paquet multicast entrant.

MOSPF MOSPF est une extension multicast du protocole OSPF (voir page 52). Une version de ` e e e MOSPF pour routeurs Proteon a et r alis e par John M OY, permettant a un ensemble de ces routeurs de s changer directement des paquets multicast sans passer par des tunnels, en e economisant donc le co t de lencapsulation et sans faire de copies de paquets inutiles. u Dans un futur proche, DVMRP sera int gr dans cette version de MOSPF, an de permettre e e une collaboration compl` te entre ces deux formes de topologie et de r duire le trac des e e ` messages multicast a lint rieur dun domaine. e

12.2.5 Contr le des paquets : dur e de vie et seuil o e


Un probl` me essentiel se pose dans la d nition du r seau MBone : comment eviter les e e e boucles qui se traduiraient rapidement par une saturation des liaisons ? En fait, un mod` le e ` e analogue a celui utilis pour les paquets IP traditionnels a et adopt , la dur e de vie ou TTL e e e (Time To Live), auquel on a ajout la notion de seuil (ou (( threshold )) en anglais). e

Chapitre 12 Multicast
Le TTL

385

Chaque paquet envoy en multicast ou en IP traditionnel porte en lui une valeur num rique e e appel e TTL. Cette valeur repr sente pour un paquet, en nombre de (( sauts )) de routeur, le e e ` temps qui lui reste a vivre. Ce nombre est d cr ment a chaque passage par un routeur ou tunnel. Lorsque la dur e de e e e` e ` vie arrive a 0, le paquet est supprim car on consid` re quil est perdu. e e Cela permet d viter quun paquet e saturant les liaisons.
( (

immortel

) )

ne circule ind niment sur le r seau en e e

Le seuil Le seuil est un nombre caract ristique pour un tunnel ou une interface r seau ; il repr sente e e e la valeur minimum du TTL quun paquet doit avoir an de pouvoir passer sur cette branche. La gure 12.6 repr sente les diff rentes valeurs de seuil et leurs correspondances physiques. e e
TTL Couleur 0 1 16 32 48 64 128 Porte metteur Rseau local Site Rgion Pays Continent Monde

Figure 12.6 Relation entre le TTL et la port des paquets ee

Comme indiqu sur cette gure, si, au moment darriver au routeur de notre entreprise, la e valeur du TTL dun paquet nest pas dau moins 16, alors le paquet ne sera pas envoy a e ` notre partenaire situ a lautre bout du tunnel. e` Cela signie que si on congure les outils multicast pour quils travaillent uniquement avec un TTL de 16, aucun paquet multicast ne sortira du site.

386

Services multim dias e

12.3 Connexion au MBone


12.3.1 Formalit s administratives e
Note importante ` La premi` re chose a faire si vous souhaitez connecter votre domaine au r seau MBone est e e de contacter votre fournisseur dacc` s a lInternet. En effet, sil est lui-m me connect au e ` e e ` MBone, cest probablement a travers sa connexion que vous pourrez acc der au r seau mule e ticast.

La partie fran aise du r seau MBone est g r e depuis 1993 par Christian D ONOT, qui en c e ee ` est le coordinateur. Pour demander a etre int gr a la branche fran aise du MBone, il sufe e` c ` t denvoyer un courrier electronique a la liste de diffusion appropri e, dont ladresse est e e e mbone-fr@inria.fr 2. Une r ponse suivra, demandant des renseignements compl mentaires sur la conguration de lentreprise et donnant le nom et ladresse IP dune machine sur laquelle il sera possible de connecter un tunnel multicast. ` Il est primordial darriver a un consensus en ce qui concerne la localisation dun tunnel avant de le mettre en place ; en effet, le multicast evitant au maximum la propagation de paquets redondants, larchitecture du MBone doit suivre autant que faire se peut larchitecture physique du r seau. e

12.3.2 Conguration dun routeur Cisco


Les versions r centes des logiciels pour routeurs de marque Cisco permettent de faire du roue tage de paquets multicast, sous forme de tunnels (en effet, tant que lensemble des routeurs de lInternet ne sont pas capables de router les paquets multicast, les tunnels restent indispensables pour maintenir la connexit du r seau MBone). e e
! ! Activation du routage des paquets multicast ! ip multicast-routing ! ! Tunnel avec la machine fmroute1-1.exp.edf.fr ! (192.70.92.133) ! interface Tunnel0 ! Les paquets avec un TTL de moins de 16 restent en interne ip multicast ttl-threshold 16 ! Source: notre interface FAI, Destination: EDF tunnel source 192.67.45.23 tunnel destination 192.70.92.133 ! Le tunnel fonctionne en DVMRP tunnel mode dvmrp

` 2. On peut sinscrire sur cette liste en envoyant dans le corps du message la commande subscribe a ladresse mbone-fr-request@inria.fr.

Chapitre 12 Multicast

387

Les lignes ci-dessus pr sentent un exemple de tunnel congur entre le routeur dune ene e e treprise et lordinateur qui lui a et indiqu par les responsables du r seau MBone frane e ` cais (ici la machine dont le nom complet est fmroute1-1.exp.edf.fr, a ladresse 192.70.92.133). Dans cet exemple, 192.67.45.23 repr sente ladresse de linterface de notre routeur e connect e a notre fournisseur dacc` s internet. e ` e Maintenant que notre routeur re oit les paquets multicast, il faut etablir un tunnel entre son c interface interne (197.12.53.4) et une machine de notre r seau (197.12.53.18) qui recevra et e ` retransmettra, a laide du programme mrouted (voir ci-dessous) les paquets multicast sur notre r seau local : e
! ! Tunnel avec notre machine utilisant mrouted ! (197.12.53.18) ! ! Source: notre interface interne, Destination: notre machine tunnel source 197.12.53.4 tunnel destination 197.12.53.18 ! Le tunnel fonctionne en DVMRP tunnel mode dvmrp

12.3.3 Conguration du programme mrouted


Le logiciel mrouted est disponible gratuitement 3 (binaires et sources). La distribution comprend plusieurs programmes : map-mbone : permet dafcher larbre des routeurs multicast accessibles depuis lendroit courant ou depuis un endroit arbitraire ; mrinfo : permet danalyser la connectivit , et est tr` s utile pour v rier que les param` tres e e e e de routage multicast sont congur s correctement ; e mrouted : cest le routeur, qui fera transiter les paquets du tunnel vers le r seau local et vice e versa, ou vers un autre tunnel ; mtrace : permet de faire l quivalent du programme traceroute, mais sur un chemin e multicast. Ces programmes doivent etre install s a la main, ainsi que leurs pages de manuel. Par exemple, e ` sur Solaris, on peut faire :
% /usr/ucb/install -m 755 -o root -g other map-mbone mrinfo mrouted mtrace /usr/local/bin/ % /usr/ucb/install -m 644 -o root -g other map-mbone.8 mrinfo.8 mrouted.8 mtrace.8 /usr/local/man/man8/

3. Voir lURL ftp://parcftp.xerox.com/pub/net-research/ipmulti/.

388

Services multim dias e

` Il reste a ecrire le chier de conguration de mrouted. Par d faut, mrouted cherchera ce e chier sous le nom /etc/mrouted.conf. La conguration est assez proche de celle dun tunnel pour un routeur. La contrepartie de lexemple pr sent page pr c dente est d crit ci-dessous : e e e e e
# # Nous souhaitons "arroser" notre rseau local sur e # linterface physique le0. # phyint le0 # # Tunnel vers notre routeur avec un seuil de 8 # (ladresse interne du routeur est 197.12.53.4 # et celle de cette machine 197.12.53.18). # tunnel 197.12.53.18 197.12.53.4 metric 1 threshold 8

12.4 Les applications multicast


Un grand nombre dapplications multicast sont disponibles gratuitement sur lInternet. Nous allons en d tailler quelques-unes. e
Note Toutes les applications que nous d crivons ici (ainsi que beaucoup dautres e ` tout aussi utiles) sont disponibles librement sur lInternet, a lURL suivante : http://www.merit.edu/net-research/mbone/.archive.html.

e 12.4.1 R pertoire des ev nements multicast : sdr e


Une fois quon est connect au r seau MBone, on peut souhaiter se tenir au courant des e e e ev nements propos s par les organismes ext rieurs. De m me, on peut souhaiter annoncer e e e les informations quon veut rendre disponible. Cest le r le de sdr. o sdr se pr sente sous la forme dune liste telle que celle pr sent e gure 12.7 page suivante. e e e Cette liste contient le nom des sessions consultables, avec une note suppl mentaire pour indie quer que cette session est priv e (cest notamment le cas de certaines sessions organis es par e e Cisco qui utilise le MBone pour faire communiquer ses d veloppeurs, mais qui ne souhaite e ` pas que des personnes etrang` res a la soci t participent a la conversation). Lorsquon choie ` ee sit une session, sdr lance les programmes ad quats permettant de participer aux diff rents e e e ev nements. Le fait de choisir par exemple la session intitul e (( FreeBSD Lounge )) ouvre une fen tre e e (montr e gure 12.8 page ci-contre) pr sentant une description de la session et les diff rents e e e moyens de transmission propos s sur ce th` me. e e

Chapitre 12 Multicast

389

Figure 12.7 Exemple de session sdr

Figure 12.8 Details dune session sdr

Dans cet exemple, il apparat que cette session est pr vue pour discuter du syst` me dexploi e e tation (( FreeBSD )) et une note prie les participants de ne pas transmettre de vid o a plus de e ` 64 kilobits par seconde. On voit egalement que trois m dia sont pr sent s, a savoir de laudio, e e e ` ` de la vid o et un tableau blanc. Il est possible, a partir de cette fen tre, de s lectionner outil e e e ` par outil ce que lon veut recevoir, ou de demander a lancer lensemble des outils possibles pour cette session. ` La gure 12.9 page suivante montre la fen tre quon obtient lorsquon choisit, a laide du e ` bouton (( New )), de cr er une nouvelle session a laquelle pourront sabonner dautres pere ` e sonnes. Les param` tres a d nir sont : e Nom de la session : cest le nom court qui apparatra dans la liste des sessions disponibles. Il doit etre sufsament signicatif pour ne pas induire en erreur les autres utilisateurs.

390 Il est conseill de mettre le mot (( test e etre s rieuse et maintenue. e


) )

Services multim dias e


dans le nom si la session nest pas destin e a e `

Description : ce champ doit contenir, sur une ou plusieurs lignes, un descriptif de la session concern e. Si cette session est destin e a etre diffus e en dehors du pays, cette e e ` e description doit etre id alement en anglais. e URI : on peut mettre ici, mais cela na rien dobligatoire, une adresse WWW d crivant la e session ou lorganisme qui la initi e. Le bouton (( Test URI )) qui laccompagne permet e dutiliser le client WWW int gr dans sdr an de v rier la disponibilit de la page. e e e e ` Port e : ici, on a choisi de limiter la session au site. Il est possible de la limiter a la r gion e e ou au monde. Media : une liste des m dias que lon souhaite utiliser est disponible. Dans cet exemple, e seule la vid o nous int resse. Le format choisi est H.261, mais on aurait pu en choisir e e un autre tel que nv ou JPEG. ` Calendrier pr visionnel : la session est annonc e ici a partir du dimanche 18 ao t a 15 e e u ` heures 30 pour une dur e de deux heures. On peut choisir dannoncer une session e r guli` re en utilisant le champ permettant dindiquer la r p tition. e e e e Point de contact : ces champs doivent contenir les points de contacts (adresse electronique et num ro de t l phone). Ils seront utilis s pour contacter le cr ateur de la session en e ee e e cas de probl` me de transmission ou de saturation de bande passante par exemple. e

Figure 12.9 Creation dune nouvelle session

Chapitre 12 Multicast

391

12.4.2 Laudio
La transmission du son a constitu la premi` re phase du r seau MBone tel que nous le e e e connaissons actuellement. Il existe actuellement deux outils largement r pandus, VAT et e RAT, class s par ordre dant riorit . e e e VAT e ` e VAT a et le premier outil de diffusion audio sur multicast a avoir et utilis a grande echelle e` sur lInternet. Dans une fen tre VAT traditionnelle (telle que celle pr sent e gure 12.10), on e e e ` peut lire la liste des participants a la session audio. Lorsquun des participants prend la parole, la case se trouvant devant son nom se noircit alors quon lentend parler.

Figure 12.10 Exemple de session vat

Les noms qui apparaissent en gris sont ceux des personnes qui sont actuellement inacese sibles : le programme VAT envoie r guli` rement en multicast un signal indiquant que la e e personne annonc e est toujours l` ; au bout de lexpiration dun certain d lai, une personne e a e n tant pas annonc e est consid r e comme un ((mort-vivant)) : elle semble ne plus etre l` e e ee a mais on ne la pas vue partir. En cliquant sur le bouton (( Menu )), on acc` de a un panneau de conguration pr sent e ` e e gure 12.11 page suivante qui permet notamment de congurer les param` tres personnels (nom e de lutilisateur par exemple). Dici on peut aussi choisir eventuellement une cl de session, e ` utile lorsquon souhaite crypter les paquets an de rendre la session priv e et inaccessible a e ceux qui ne disposent pas de ce mot de passe.

392

Services multim dias e

Figure 12.11 Panneau de conguration

RAT ` Lutilisation de RAT (pr sent e gure 12.12 page ci-contre) est tr` s semblable a celle de e e e e VAT. RAT a et ecrit au d partement informatique du fameux University College de Londres. e Il utilise une technique bas e sur la redondance de linformation pour reconstruire les paquets e perdus, ce qui le rend plus able en environnement perturb . Il comporte en outre certaines e ` options suppl mentaires par rapport a VAT, mais est pour linstant moins r pandu sur lIntere e net.

Chapitre 12 Multicast

393

Figure 12.12 Exemple de session rat

12.4.3 La vid o e
VIC ` VIC est certainement loutil vid o le plus pr sent a lheure actuelle sur lInternet. Un exemple e e de session VIC est pr sent gure 12.13. On peut y voir une image r duite de la session en e e e cours (il peut y avoir plusieurs images sil y a plusieurs emetteurs), ainsi que des boutons permettant de choisir si on souhaite recevoir les images en couleur ou en noir et blanc, ou si on souhaite ne pas d coder les emissions vid o de la session en cours (cest notamment le e e cas lorsque lon est le seul emetteur et que lon ne souhaite pas avoir de (( miroir )) de notre propre emission).

Figure 12.13 Exemple de session vic (sommaire)

En cliquant sur cette image, on ouvre une nouvelle fen tre (gure 12.14 page suivante) de e

394

Services multim dias e

taille plus confortable. On peut apercevoir sur cette copie d cran la vid o en temps r el dun e e e parking am ricain sur lequel est braqu une cam ra, d` s lors que les participants de la session e e e e ( FreeBSD Lounge ) ne sont pas actifs. Quelques boutons, dans le bas de limage, permettent ( ) de choisir la taille de limage ainsi que le mode de d codage du signal vid o. On peut, bien e e evidemment, fermer cette fen tre a laide du bouton (( Dismiss )). e `

Figure 12.14 Exemple de session VIC (image)

Si le message (( Waiting for video... )) apparat dans une fen tre dans laquelle on attendait e une image, cela signie que personne ne transmet actuellement dimage dans le cadre de la session concern e. Dans ce cas, il nous faut soit attendre une transmission vid o soit en lancer e e une nous-m me. e Pour transmettre une image vid o, telle que celle pr sent e sur la gure 12.15 page suivante, e e e il faut disposer dune cam ra branch e sur une station de travail munie dune carte dacquie e sition, SunVideo par exemple. Limage, etant disponible en local, est habituellement dune grande qualit . e Le contr le des param` tres de transmission est pr sent gure 12.16 page ci-contre. Certains o e e e de ces param` tres doivent etre v ri s avec soin, car ils peuvent affecter la bande passante du e e e MBone tout entier : ` Transmission : les deux boutons en haut a gauche permettent dactiver ou de d sactiver la e transmission, ainsi que de lib rer le p riph rique dacquisition an de le rendre dispoe e e nible pour une autre application. Contr le du d bit : les deux curseurs permettent de contr ler la bande passante utilis e en o e o e xant un d bit maximum qui sera employ pour la transmission de limage ainsi que e e le nombre maximum dimages par seconde qui seront transmises. Lorsquon emet en dehors de lentreprise (dans le pays par exemple), on doit v rier que ces param` tres e e sont compatibles avec les autres emissions en cours, pour eviter dengorger les liaisons. P riph rique : un ou plusieurs p riph riques sont s lectionnables, par exemple la carte Pae e e e e

Chapitre 12 Multicast

395

Figure 12.15 Exemple de session VIC (image locale)

rallax ou la carte SunVideo, ainsi quun ou plusieurs ports. Format et qualit : on peut choisir le format dans lequel on souhaite r aliser les emissions e e tant la meilleure et 1 la plus m diocre). vid o, ainsi que la qualit de limage (30 e e e e

Figure 12.16 Controle dune session VIC

` QUATRIEME PARTIE

Scurit

Se raccorder en toute s curit a lIntere e` net demande un minimum de pr caue tions : la mise en place dun Firewall prot` ge efcacement contre d vene e tuelles tentatives daggression.

13
Le rewall
` ` Lorsquun professionnel se raccorde a lInternet, il ouvre son r seau local a un r seau mone e dial. M me sil se contente dutiliser lInternet pour ses services, il faut quil ait pleinement e conscience que la porte ouverte qui lui permet dacc der aux fabuleuses richesses du r seau e e permet aussi aux machines connect es sur lInternet de rentrer chez lui. Pour se pr munir e e de ce type de m saventure, la s curit doit syst matiquement faire partie int grante de la e e e e e probl matique dun raccordement au r seau. e e

13.1 Mod` le du rewall e


Un r seau connect a lInternet contient diff rents types de machines : e e` e les postes clients : ce sont les postes des utilisateurs ; les serveurs internes : ils sont destin s a fournir des services aux postes clients. Par e ` exemple, un serveur FTP de transfert de chiers entre les postes internes constitue un serveur interne ; ` les serveurs externes : ils sont destin s a fournir des services a lInternet, cela englobe e ` par exemple les serveurs WWW ou les serveurs DNS. Les machines de notre r seau peuvent donc etre class es en machines expos es et machines e e e priv es. En se basant sur cette remarque, on d nit la topologie de notre r seau s curis , qui e e e e e comprend deux sous-r seaux : e Le r seau priv : il accueille les machines internes. Une s rie de ltres sur les diff rents e e e e routeurs interdit les connexions directes entre lInternet et les machines de ce r seau. e

400

S curit e e

Le r seau bastion : il accueille les machines expos es, et joue le r le de zone de d mare e o e cation. Les serveurs de ce r seau peuvent communiquer avec les machines du r seau e e priv et avec les machines de lInternet. e La gure 13.1 pr sente le principe de ce type de topologie. e
Fournisseur

Routeur Externe RESEAU BASTION Routeur Interne RESEAU PRIVE


Figure 13.1 Premier mod` rewall ele

On peut constater sur cette gure que deux routeurs sont n cessaires. Cela augmente le e nombre de ltres et leur complexit . De plus, pour passer du r seau priv a lInternet, il e e e ` faut syst matiquement traverser le r seau bastion, qui, dans ce mod` le, est le maillon faible e e e car plus ouvert. Un autre mod` le a laide dun routeur muni de trois interfaces est parfois propos , comme e ` e on peut lobserver sur la gure 13.2. On constatera dans ce deuxi` me mod` le quun seul roue e teur est n cessaire et quon nest pas syst matiquement oblig de traverser le r seau bastion e e e e lorsquon veut tranf rer des informations entre le r seau priv et lInternet. e e e

Fournisseur

Firewall RESEAU PRIVE RESEAU BASTION

Figure 13.2 Deuxieme mod` rewall ` ele

Chapitre 13 Le rewall

401

13.2 Filtrage
` LInternet est fond sur les protocoles TCP/IP. Cest donc un r seau a commutation de pae e quets. Pour mettre en place des ltres pour se prot ger des connexions ind sirables, on doit e e donc congurer les routeurs pour quils analysent les informations contenues dans chaque datagramme IP.

13.2.1 Principe
Un datagramme IP contient un en-t te qui fournit trois informations fondamentales pour un e routeur ltrant : une adresse IP source : cest ladresse IP du nud qui a emis ce datagramme ; ` une adresse IP destination : cest ladresse IP du nud a qui ce datagramme est destin ; e le type de protocole encapsul : ce param` tre indique le format des donn es encapsue e e l es dans le datagramme. Il peut sagir par exemple de TCP, UDP, ICMP ou IP. Les e paquets TCP sont utilis s dans le cadre des services en mode connect , les paquets e e UDP dans le cadre des services en mode non connect . Les paquets ICMP permettent e les op rations de gestion et de contr le du r seau. Lorsquun datagramme IP encapsule e o e le protocole IP, on parle alors de tunnel IP sur IP. Lorsque le datagramme IP encapsule un paquet TCP ou UDP, le routeur ltrant sait analyser le d but des donn es pour en extraire dautres informations : il sagit de len-t te du paquet. e e e Elle contient deux param` tres fondamentaux : e le num ro de port source : il sagit dun num ro choisi par l metteur du paquet, unique e e e pour la session en question ; ` le num ro de port destination : cest un num ro qui permet a la machine destinataire de e e ` d terminer a quel processus les donn es du paquet sont destin es. e e e Lattribution de ces num ros de port est du ressort du client et du serveur. Sur un serveur e ` Internet, les diff rents services, comme WWW, FTP ou DNS, correspondent a des ports stane dard. Les serveurs WWW, FTP ou DNS, par exemple, sont des processus qui vont ecouter sur le port local correspondant au service quils g` rent. Les clients vont donc emettre des paquets e ` TCP ou UDP a destination de ces ports connus de tous. Par exemple, le service WWW est localis sur le port 80, le service DNS sur le port 23. Pour permettre aux serveurs de r pondre e e aux requ tes des clients, ces derniers choisissent un port local, le plus souvent dynamiquee ment au moment du lancement de lapplication. ` Ainsi, chaque paquet emis par un client a destination dun serveur poss` de comme port source e celui choisi par le client et comme port destination celui d ni par le protocole utilis . R e e e ` ciproquement, chaque paquet emis par un serveur a destination dun client poss` de comme e port source celui d ni par le protocole et comme port destination celui choisi par le client. e

402

S curit e e

Certains services n cessitent plusieurs connexions simultan es, cest notamment le cas de e e FTP pour lequel les donn es transitent sur une liaison TCP distincte de celle d di e aux e e e commandes. Il y a donc plusieurs ports en jeu pour le m me service. Le lecteur est pri de se e e ` reporter a la section 2.4.6 page 46 pour une liste plus compl` te des num ros de port standard. e e ` On d nit donc une r` gle de ltrage a partir de cinq informations : e e 1. adresse IP source, 2. adresse IP destination, 3. type de protocole encapsul (TCP, UDP, ICMP, IP), e 4. port source (au cas o` le protocole est TCP ou UDP), u 5. port destination (au cas o` le protocole est TCP ou UDP). u Ces informations sont diss min es au sein des diff rentes en-t tes des paquets qui traversent e e e e le r seau, encapsul s les uns dans les autres. e e Un ltre comprend un groupe de r` gles de ltrage appliqu es a une interface. D nir une e e ` e ` e r` gle de ltrage consiste a d nir une classe de datagrammes en indiquant les valeurs des cinq e ` param` tres distingu s pr c demment qui font entrer le datagramme dans la classe. A chaque e e e e r` gle de ltrage, on va associer une action : par exemple laisser passer le datagramme, ou le e d truire, ou encore le d truire en activant une proc dure dexception. e e e ` Le principe du routeur ltrant est le suivant : a chacune de ses interfaces est appliqu un e ltre en entr e et en sortie. Ainsi, un datagramme qui traverse le routeur ltrant va passer e ` successivement a travers deux ltres : 1. le ltre appliqu en entr e de linterface sur laquelle il est arriv ; e e e 2. le ltre appliqu en sortie de linterface sur laquelle il est r emis. e e Pour r duire le nombre de ltres, on peut nappliquer un ltre quaux sorties des diff rentes e e interfaces. Ainsi, les datagrammes ne sont ltr s quune fois : sur linterface par laquelle ils e quittent le routeur. ` Notons bien que dans le cadre dun quelconque service Internet, le dialogue est a double sens : les datagrammes vont donc traverser le routeur ltrant dans les deux sens, et pour chaque sens cest le ltre de sortie dune interface distincte qui rentrera en jeu. Mettre en place le ltrage ` dun service consiste ainsi a mettre en place deux ltres sur chaque routeur. Dans notre topologie, il y a deux routeurs. Il faut donc, pour chaque service, d nir le ou les e routeurs qui peuvent etre travers s par les datagrammes du service an de d nir les diff rents e e e ` ltres a mettre en place. Par d faut, le ltre ne laisse rien passer. Si on a oubli de mettre en place la r` gle de ltrage e e e dun service donn , ce service est simplement indisponible, mais aucun probl` me de s curit e e e e ne peut en r sulter. e

Chapitre 13 Le rewall

403

13.2.2 Filtrage UDP


Principe Etudions maintenant le ltrage dun service UDP. Nous voulons laisser passer un service ` UDP a travers un de nos deux routeurs ltrants. Il faut tout dabord se renseigner sur le port ` du service en question. D signons par A une machine d sireuse dacc der a ce service et e e e par B la machine qui h berge le serveur. D signons par Pb le num ro de port du service e e e en question. Ce num ro est impos par le protocole du service correspondant. La machine e e cliente A choisit un port source Pa. Les deux types de paquets susceptibles de traverser notre routeur sont indiqu s sur la gure 13.3 : e paquets UDP de A vers B dont le port source est Pa et le port destination est Pb. Ces paquets vont etre ltr s sur linterface du c t B, cest-` -dire sur linterface Ethernet 0 e oe a de notre exemple ; paquets UDP de B vers A dont le port source est Pb et le port destination est Pa. Ces paquets vont etre ltr s sur linterface du c t A, cest-` -dire sur linterface Ethernet 1 e oe a de notre exemple.
Routeur filtrant

(A, Pa) vers (B, Pb)

(A, Pa) vers (B, Pb)

Interface Ethernet 1

Interface Ethernet 0

A: Client UDP

B: Serveur UDP

(B, Pb) vers (A, Pa)

(B, Pb) vers (A, Pa)

Lgende :

(A, Pa) vers (B, Pb)

Paquet UDP de A (port Pa) vers B (port Pb)

Figure 13.3 Filtrage dun service UDP

On va donc d nir les plages dadresses IP de A et B, et les plages de ports Pa et Pb. e On congure alors les ltres des interfaces Ethernet de notre routeur ltrant. On peut indiquer les adresses IP de A et B en fournissant des num ros particuliers, ou des r seaux de classe A, e e ` B ou C, an de nautoriser que certaines machines a dialoguer par UDP avec le protocole en question.

404

S curit e e

Pb est une valeur connue. Souvent, Pa est choisi au hasard. Cest par exemple le cas des acc` s e ` au DNS par lutilitaire dig. Ce nest par contre pas le cas lorsquun DNS r pond a un autre e DNS. On voit ainsi que, pour chaque service, par deux r` gles particuli` res de ltrage, on autorise e e ` les paquets a traverser un routeur dans un sens bien d ni : les r` gles concernant les adresses e e source et destination, ainsi que les ports sont diff rentes quon veuille autoriser les machines e ` ` de notre r seau bastion a acc der a des serveurs sur lInternet, ou quon veuille autoriser e e ` ` lInternet a acc der a des serveurs sur notre r seau bastion. Ainsi, pour chaque service, il faut e e ` mettre en place des r` gles pour autoriser nos logiciels clients a y acc der sur lInternet, et des e e ` ` r` gles pour autoriser des applications clientes sur lInternet a acc der a des serveurs sur notre e e r seau local. e ` ` Autoriser lext rieur a acc der a un service sur le r seau bastion e e e Prenons un exemple particulier : le ltrage du service DNS. Sur notre r seau bastion, nous disposons dun serveur DNS primaire dune zone particuli` re. e e Son adresse IP est 192.168.22.35. Nous d sirons que ce serveur puisse recevoir des ree qu tes depuis dautres serveurs DNS sur lInternet, et m me depuis des clients du service e e DNS, toujours sur lInternet. Nous savons que le serveur ecoute sur le port UDP 53. Les clients sur lInternet vont choisir un port source quelconque. Les ltres correspondants, appliqu s en sortie des interfaces de r seau local et distant sur le routeur raccordant le r seau e e e local au fournisseur, sont donc :

R` gle e WAN-1 WAN-2 LAN-1 LAN-2

IP source 192.168.22.35 quelconque quelconque quelconque

IP destination quelconque quelconque 192.168.22.35 quelconque

Port source UDP/53 quelconque quelconque quelconque

Port destination quelconque quelconque UDP/53 quelconque

Action laisser sortir d truire e laisser sortir d truire e

Les r` gles WAN-1 et WAN-2 sont les deux r` gles appliqu es en sortie sur linterface vers e e e le fournisseur. Les r` gles LAN-1 et LAN-2 sont les deux r` gles appliqu es en sortie vers le e e e r seau local sur linterface Ethernet. Sur une m me interface, les r` gles sont evalu es dans e e e e lordre, et d` s quune dentre elles correspond au paquet en cours de traitement, laction e correspondante est entreprise et les r` gles qui suivent sont ignor es. Ainsi, les r` gles WAN-2 e e e ` et LAN-2 permettent de refuser les paquets qui ne correspondent a aucune des autres r` gles. e ` ` Autoriser le r seau bastion a acc der a un service ext rieur e e e Reprenons notre exemple : le ltrage du service DNS.

Chapitre 13 Le rewall

405

Nous d sirons que les machines du r seau bastion puissent faire des requ tes DNS sur lIne e e ternet. Lapplication cliente est interne, et choisit un port source quelconque. Lapplication distante sur lInternet est un serveur DNS : le num ro de port est 53. e Les ltres sont donc les suivants :
R` gle e WAN-1 WAN-2 LAN-1 LAN-2 IP source 192.168.22/24 quelconque quelconque quelconque IP destination quelconque quelconque 192.168.22/24 quelconque Port source quelconque quelconque UDP/53 quelconque Port destination UDP/53 quelconque quelconque quelconque Action laisser sortir d truire e laisser sortir d truire e

La r` gle LAN-1 pose un probl` me important et g n ral dans le cadre de lacc` s a un service e e e e e ` ` UDP ext rieur : elle permet a nimporte qui sur lInternet d mettre sur notre r seau local des e e e paquets UDP vers un port quelconque, donc vers un service quelconque. Deux solutions peuvent etre apport es a ce probl` me : e ` e Si le service UDP auquel on veut acc der est disponible sur une machine particuli` re e e dont on connat ladresse IP, on peut pr ciser les r` gles de ltrage avec cette adresse. e e Par exemple, il peut sagir dune machine sur laquelle on veut monter par NFS un syst` me de chiers particulier. e Ainsi, seule la machine en question, dans laquelle il faut avoir conance, ne peut emettre des paquets ind sirables sur notre r seau. e e ` Lautre solution consiste a examiner plus pr cis ment le cas particulier du protocole e e qui nous int resse ici : le DNS. Cette solution par cas particulier nest pas toujours e envisageable avec nimporte quel protocole. Dans le cadre du DNS, on peut mettre en place un serveur DNS sur le site plut t que o dutiliser celui du fournisseur pour r soudre les requ tes. On congure nos clients DNS e e pour attaquer ce serveur et non directement lInternet. Le serveur va retransmettre les ` requ tes DNS en choisissant, quant a lui, un port source connu, le port 53. e Examinons les r` gles de ltrage dans le cadre de la pr sence dun serveur DNS : e e

R` gle e WAN-1 WAN-2 LAN-1 LAN-2

IP source 192.168.22.35 quelconque quelconque quelconque

IP destination quelconque quelconque 192.168.22.35 quelconque

Port source UDP/53 quelconque UDP/53 quelconque

Port destination UDP/53 quelconque UDP/53 quelconque

Action laisser sortir d truire e laisser sortir d truire e

La r` gle qui nous posait probl` me a donc disparu. e e

406

S curit e e

13.2.3 Filtrage TCP


Principe Etudions maintenant le ltrage dun service TCP. Nous voulons laisser passer un service ` TCP a travers un de nos deux routeurs ltrants. Il faut tout dabord se renseigner sur le port du service en question. De m me que lors de l tude du ltrage UDP, d signons par e e e ` A une machine d sireuse dacc der a ce service et par B la machine qui h berge le serveur. e e e D signons par Pb le port du service en question. Ce nombre est impos par le protocole du e e service correspondant. La machine cliente A choisit un port source Pa. Les trois types de paquets susceptibles de traverser notre routeur sont indiqu s sur la gure 13.4 : e premier paquet TCP de la connexion : il part de A pour aller vers B, il est ltr sur e linterface du c t B, cest-` -dire sur linterface Ethernet 0 de notre exemple ; oe a paquets TCP de A vers B dont le port source est Pa et le port destination est Pb, et distincts du premier de la connexion. Ces paquets vont etre ltr s sur linterface du e c t B ; oe paquets TCP de B vers A dont le port source est Pb et le port destination est Pa. Ces paquets vont etre ltr s sur linterface du c t A, cest-` -dire sur linterface Ethernet 1 e oe a de notre exemple.
Routeur filtrant Le premier paquet est particulier

(A, Pa) vers (B, Pb)

(A, Pa) vers (B, Pb)

Interface Ethernet 1

Interface Ethernet 0

A: Client TCP

B: Serveur TCP

(B, Pb) vers (A, Pa)

(B, Pb) vers (A, Pa)

Lgende :

(A, Pa) vers (B, Pb)

Paquet TCP de A (port Pa) vers B (port Pb)

Figure 13.4 Filtrage dun service TCP

On remarque quavec TCP, le premier paquet de la connexion est particulier. Plus pr cis e e ment, les deux premiers paquets peuvent etre distingu s mais la connaissance du premier e suft pour les ltres. Cette information suppl mentaire que nous navons pas dans le cadre e des echanges UDP va nous permettre de r soudre le probl` me de lacc` s a un service externe e e e `

Chapitre 13 Le rewall

407

de mani` re g n rale. Rappelons que nous lavions trait pr c demment au cas par cas pour e e e e e e UDP. ` ` Autoriser lext rieur a acc der a un service sur le r seau bastion e e e Prenons un exemple particulier : nous voulons proposer un service WWW h berg sur notre e e serveur dadresse IP 192.168.22.35. Tout lInternet doit donc pouvoir y acc der. Notre e serveur WWW ecoute sur le port du protocole HTTP qui porte le num ro 80. Les clients e de notre serveur, par exemple des navigateurs de type Netscape ou Internet Explorer, vont ainsi initier des connexions TCP depuis un port quelconque vers le port 80 de la machine qui h berge notre serveur. On ajoute une colonne pour d crire les ltres TCP : elle indique e e un drapeau qui peut etre ou ne pas etre pr sent sur la r` gle en question : il sagit du drae e peau established qui indique que la r` gle ne sapplique pas au premier paquet dune e connexion TCP. Les ltres correspondants, appliqu s en sortie des interfaces de r seau local e e et distant sur le routeur raccordant le r seau local au fournisseur, sont donc : e
R` gle e WAN-1 WAN-2 LAN-1 LAN-2 IP source 192.168.22.35 quelconque quelconque quelconque IP destination quelconque quelconque 192.168.22.35 quelconque Port source TCP/80 quelconque quelconque quelconque Port destination quelconque quelconque TCP/80 quelconque drapeau establ. / / / Action laisser sortir d truire e laisser sortir d truire e

` ` Autoriser le r seau bastion a acc der a un service ext rieur e e e Reprenons notre exemple : le ltrage du protocole HTTP. Nous d sirons que les machines e ` du r seau bastion puissent faire des requ tes HTTP pour acc der a des serveurs WWW sur e e e lInternet. Lapplication cliente choisit un port source quelconque. Lapplication distante sur lInternet est un serveur HTTP : le num ro de port destination est donc 80. Construisons donc e les ltres correspondant :
R` gle e WAN-1 WAN-2 LAN-1 LAN-2 IP source 192.168.22.0/24 quelconque quelconque quelconque IP destination quelconque quelconque 192.168.22.0/24 quelconque Port source quelconque quelconque TCP/80 quelconque Port destination TCP/80 quelconque quelconque quelconque drapeau / / establ. / Action laisser sortir d truire e laisser sortir d truire e

La r` gle LAN-1 qui posait probl` me lors de ce type dacc` s avec le protocole UDP ne pose e e e ` pas de probl` me ici avec TCP : en effet, elle ne permet pas a nimporte qui sur lInternet e d mettre des paquets sur notre r seau vers un port quelconque, donc sur nimporte quel e e service local, car le premier paquet dune connexion TCP nest pas autoris par cette r` gle. e e Ainsi, le probl` me etudi avec UDP dans le cadre de lacc` s a des services distants disparait e e e ` avec TCP.

408

S curit e e

13.2.4 Protection contre lIP-spoong


` La technique dIP-spoong est un type dattaque bien connu sur lInternet. Elle consiste a ` tromper les v rications de certains logiciels en emettant des datagrammes a destination dun e e r seau cible dont les adresses IP source ont et falsi es et choisies dans les plages dadresses e e attribu es au r seau cible lui-m me. e e e Certains logiciels, comme les TCP-Wrappers que nous etudierons section 13.5 page 416, permettent de bloquer les acc` s provenant de lext rieur du r seau. On peut ainsi, par exemple, e e e ltrer les connexions telnet sur une machine Unix en mettant en place un TCP-Wrapper qui va limiter les acc` s en examinant les adresses sources des connexions qui sont etablies e avec lui. Il d cide alors dactiver le d mon in.telnetd ou non en fonction de ces adresses. e e Il sagit ici dun Wrapper et non dun ltre : on substitue au d mon telnet un autre proe gramme, plut t que de mettre en place des ltres sur un routeur. Ces deux techniques sont o compl mentaires et souvent utilis es de pair. e e LIP-spoong est ainsi particuli` rement adapt pour tromper par exemple un TCP-Wrapper. e e On prend donc syst matiquement la pr caution de mettre en place un ltre particulier destin e e e ` ` a se prot ger contre ce type dattaque. Ce ltre va d truire les datagrammes a destination du e e r seau local dont les adresses source font aussi partie : e
R` gle e LAN-1 IP source 192.168.22.0/24 IP destination quelconque Port source quelconque Port destination quelconque Action d truire e

13.2.5 Mise en place dun ltre sur un routeur d di e e


Une fois la politique de ltrage d nie et les r` gles de ltrage ecrites, il faut les transcrire dans e e le langage propre au routeur ltrant quon utilise. Ces langages d pendent du constructeur du e routeur. Si on utilise une machine Unix equip e du logiciel MorningStar PPP, la syntaxe sera e diff rente de celle utilis e avec un routeur CISCO. e e Etudions maintenant la syntaxe en vigueur avec les routeurs CISCO, qui sont tr` s utilis s en e e tant que routeurs ltrants, munis de deux cartes Ethernet et plac s entre le r seau bastion et e e le r seau priv , et en tant que routeurs de proximit entre le r seau bastion et le r seau du e e e e e ` fournisseur, comme on a pu le constater lors de l tude de la connexion du r seau local a e e lInternet. ` A chaque ltre, ou access-list, est associ un num ro. Si ce num ro est compris entre 100 et e e e 199, le ltre est de type extended access-list, ou liste dacc` s etendue. La syntaxe des listes e dacc` s etendues va nous permettre de d nir simplement les adresses IP et num ros de port e e e du ltre quon veut mettre en place. Depuis la version 11.0 du syst` me dexploitation IOS des mat riels CISCO, la commande e e access-list propose de nombreux param` tres : e

Chapitre 13 Le rewall

409

` la commande se conforme a la syntaxe g n rale que voici : e e


access-list access-list-number {deny | permit} protocol \ source source-wildcard \ destination destination-wildcard \ [precedence precedence] [tos tos] [log]

pour les paquets ICMP, on peut aussi utiliser la syntaxe plus compl` te suivante : e
access-list access-list-number {deny | permit} icmp source source-wildcard destination destination-wildcard [icmp-type [icmp-code] | icmp-message] [precedence precedence] [tos tos] [log] \ \ \ \

pour les paquets IGMP, on peut aussi utiliser la syntaxe plus compl` te suivante : e
access-list access-list-number {deny | permit} igmp source source-wildcard destination destination-wildcard [igmp-type] [precedence precedence] [tos tos] [log] \ \ \ \

pour les paquets TCP, on peut aussi utiliser la syntaxe plus compl` te suivante : e
access-list access-list-number {deny | permit} tcp source source-wildcard [operator port [port]] destination destination-wildcard [operator port [port]] [established] [precedence precedence] [tos tos] [log] \ \ \ \

pour les paquets UDP, on peut aussi utiliser la syntaxe plus compl` te suivante : e
access-list access-list-number {deny | permit} udp \ source source-wildcard [operator port [port]] \ destination destination-wildcard [operator port [port]] \ [precedence precedence] [tos tos] [log]

Examinons les diff rents param` tres : e e access-list-number : le num ro du ltre. Il doit etre le m me pour toutes les e e e r` gles du m me ltre. Ces derni` res seront parcourues dans lordre o` elles auront et e e e u saisies ; deny : interdire lacc` s si les conditions sont r unies ; e e permit : autoriser lacc` s si les conditions sont r unies ; e e protocol : il sagit du protocole encapsul dans le datagramme IP. Les valeurs autoe ris es sont : eigrp, icmp, igmp, igrp, gre, ip, ipinip, nos, ospf, tcp, udp e ou un num ro de protocole entre 0 et 255 ; e source : adresse source ; ` ` source-wildcard : masque a appliquer a source ; destination : adresse destination ; ` ` destination-wildcard : masque a appliquer a destination ;

410

S curit e e

precedence : les datagrammes peuvent etre ltr s par importance en indiquant un e niveau dimportance contenu dans leur en-t te. Il peut sagir de critical, flash, e flash-override, immediate, internet, network, priority, routine ; tos (Type of Service) : les datagrammes peuvent etre ltr s par type de sere vice. Il peut sagir de max-reliability, max-throughput, min-delay, min-monetary-cost, normal ; icmp-type : type de message ICMP lorsquon ltre un paquet ICMP. Il sagit dun nombre compris entre 0 et 255 ; icmp-code : les paquets ICMP ltr s par type de message peuvent l tre aussi par le e e code ICMP optionnel compris entre 0 et 255 ; icmp-message : une chane de caract` res peut etre fournie pour pr ciser le type et e e eventuellement le code dun message ICMP particulier ; igmp-type : type de paquet IGMP ; operator : an de ltrer par num ro ou plage de ports source et destination, on utilise e operator suivi dun ou deux param` tres pour d signer le ou les ports concern s : e e e ` lt : le num ro du port destination du paquet doit etre inf rieur a celui fourni en e e param` tre ; e ` gt : le num ro du port destination du paquet doit etre sup rieur a celui fourni en e e param` tre ; e eq : le num ro du port destination du paquet doit etre le m me que celui fourni e e en param` tre ; e neq : le num ro du port destination du paquet doit etre diff rent de celui fourni e e en param` tre ; e range : les deux param` tres qui suivent d nissent une plage de ports. e e established : ce param` tre facultatif, lorsquil est pr sent, indique que cette entr e e e e ne sapplique pas au premier paquet dune connexion TCP. Sa signication est la m me e que celle du drapeau established quon a utilis lors de la section sur la mise en e place dun ltre TCP ; ` log : permet de signaler le passage dun message qui correspond a cette r` gle de le trage. Notons que certains de ces param` tres ne sont pas disponibles dans les versions ant rieures e e ` a la version 11.0 dIOS, notamment en ce qui concerne le ltrage par le port source des paquets TCP ou UDP. Il est donc extr mement conseill de disposer dune version r cente de e e e ce syst` me dexploitation lorsquon veut mettre en place des ltres sur un routeur CISCO. e ` Apr` s avoir mis en place un ltre, il faut lappliquer a une interface, en entr e ou en sortie. e e Pour cela, on utilise la sous-commande dinterface ip access-group dont la syntaxe est la suivante :
ip access-group access-list-number [in | out]

Chapitre 13 Le rewall

411

Le param` tre access-list-number d signe le num ro de la liste dacc` s etendue d nie e e e e e pr c demment, et les param` tres in et out indiquent si ce ltre sapplique en entr e ou en e e e e sortie. Prenons pour exemple le ltrage de lacc` s au service WWW sur le routeur qui s pare le e e r seau bastion du r seau du fournisseur. Nous d sirons ainsi que le serveur dadresse IP e e e 192.168.22.35 qui dispose dun serveur proxy-cache WWW puisse etablir des connexions HTTP vers lInternet. Linterface c t r seau local sappelle Ethernet 0 et linterface c t r oe e oe e seau etendu sappelle BRI 0 (acc` s Internet par RNIS). La conguration du routeur CISCO e est donc la suivante :
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#access-list 100 permit tcp 192.168.22.35 0.0.0.0 0.0.0.0 255.255.255.255 \ eq 80 Router(config)#access-list 100 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 Router(config)#access-list 101 permit tcp 0.0.0.0 255.255.255.255 192.168.22.35 0.0.0.0 \ established Router(config)#access-list 101 deny ip 0.0.0.0 255.255.255.255 0.0.0.0 255.255.255.255 Router(config)#interface BRI 0 Router(config-if)#ip access-group 100 out Router(config-if)#exit Router(config)#interface ethernet 0 Router(config-if)#ip access-group 101 out Router(config-if)#Z Router#

` Il est possible de simplier l criture a laide des raccourcis suivants : e la plupart des ports des services standard peuvent etre d sign s directement par le nom e e du service plut t que par le num ro du port. Ainsi, 80 sera remplac par www ; o e e les param` tres dadresse et de masque d signant nimporte quelle machine (( 0.0.0.0 e e 255.255.255.255 )) peuvent etre remplac s par any ; e les param` tres dadresse et de masque d signant une machine particuli` re, par exemple e e e ( 192.168.22.35 0.0.0.0 ) , peuvent etre remplac s par l criture suivante : ( ) e e host 192.168.22.35. On obtient ainsi la conguration suivante :
Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#access-list 100 permit tcp host 192.168.22.35 any eq www Router(config)#access-list 100 deny ip any any Router(config)#access-list 101 permit tcp any host 192.168.22.35 established Router(config)#access-list 101 deny ip any any Router(config)#interface BRI 0 Router(config-if)#ip access-group 100 out Router(config-if)#exit Router(config)#interface ethernet 0 Router(config-if)#ip access-group 101 out Router(config-if)#Z Router#

412

S curit e e

13.3 Choix des adresses du r seau priv e e


Les adresses IP du r seau bastion doivent etre rout es sur lInternet. Il faut donc attribuer aux e e machines de ce r seau les adresses indiqu es par le fournisseur. Par contre, les adresses du e e r seau priv nont aucune raison d tre rout es sur lInternet car, justement, la politique de e e e e ` ltrage sur les deux routeurs du mod` le rewall consiste a interdire les connexions directes e entre lInternet et le r seau priv , an dimposer lutilisation de serveurs proxy dispos s sur e e e le r seau bastion. Ainsi, pour une s curit maximale, on peut choisir des adresses IP sur le e e e r seau bastion qui ne sont pas rout es sur lInternet. M me une erreur dans les ltres ne e e e ` permettrait pas, ainsi, a un eventuel attaquant datteindre le r seau priv depuis lInternet. e e e e ` Des plages dadresses particuli` res ont et pr vues a cet effet, dans le RFC 1918. Il sagit des e r seaux suivants : e le r seau de classe A 10.0.0.0 ; e les 16 r seaux de classe B compris entre 172.16.0.0 et 172.31.0.0 ; e les 256 r seaux de classe C compris entre 192.168.0.0 et 192.168.255.0. e

13.4 Mise en place des services


Pour compl ter notre etude du mod` le rewall, il nous faut maintenant disposer les services e e sur le r seau bastion et le r seau priv , comme indiqu sur la gure 13.5 page suivante. Exae e e e minons donc en d tail les diff rents services correspondants, leur disposition sur le r seau, e e e ainsi que les connexions TCP et UDP quils mettent en jeu. Le lecteur d sireux de congurer e un routeur ltrant en d duira les r` gles de ltrage TCP et UDP correspondantes en sinspirant e e des diff rents exemples quon a donn s pr c demment. e e e e

13.4.1 Courrier electronique


Le protocole utilis pour le transport du courrier electronique sappelle SMTP. Il correspond e ` a des connexions TCP vers le port 25, sur lequel le serveur SMTP est en attente. Pour ce service, deux passerelles SMTP sont n cessaires : e La passerelle du r seau priv : elle traite les courriers internes, et lorsquun message est e e destin a lInternet, elle le redirige vers la passerelle du r seau bastion. Elle accepte de e` e plus les connexions SMTP provenant de la passerelle du r seau bastion : il sagit des e messages entrants. La passerelle du r seau bastion : elle fait ofce de relais entre les serveurs SMTP de e ` lInternet et le serveur du r seau priv . Pour cela, on doit lautoriser a recevoir des e e

Chapitre 13 Le rewall
Fournisseur

413

Serveur NNTP

DNS Primaire

Routeur A

Passerelle SMTP

Proxy WWW

RESEAU BASTION

Serveur FTP

DNS Secondaire Routeur B Passerelle SMTP interne

Serveur WWW

RESEAU PRIVE Serveur WWW interne DNS Interne Poste Client

Figure 13.5 Modele rewall `

` e connexions sur le port 25 depuis lInternet et depuis le serveur SMTP priv , et a cr er e des connexions vers le port 25 du serveur du r seau priv et vers lInternet. e e

13.4.2 DNS
` Le service DNS correspond a deux types d changes : e des echanges UDP entre serveurs DNS dont les ports source et destination ont pour valeur 53 ; des connexions TCP de port destination 53, etablies par les secondaires vers les primaires pour rapatrier les zones. On dispose ainsi les serveurs primaire et secondaire sur le r seau bastion. e Sur le primaire, on propose le moins dinformations possible. On ne met par exemple pas dinformations sur les machines du r seau priv . e e Sur le r seau priv , on dispose un serveur qui joue aussi le r le de primaire, et qui contient e e o lensemble des informations DNS du site. Il poss` de une clause forwarder vers les serveurs e du r seau bastion an de rediriger les requ tes non r solues en local vers lInternet, et une e e e clause slave pour imposer lutilisation exclusive et syst matique du forwarder. e

13.4.3 Serveur WWW


Le serveur WWW destin aux connexions depuis lInternet est plac sur le r seau bastion. Le e e e ` protocole HTTP utilis ici correspond a des connexions TCP vers le port 80. e

414

S curit e e

13.4.4 Serveur proxy


` Le serveur proxy effectue des connexions TCP a destination de lInternet vers des ports correspondant aux services dont il assure le relais (WWW, gopher, etc.). Sachant quil existe de nombreux serveurs sur lInternet dont le port nest pas standard, il ` faut autoriser la machine proxy du r seau bastion a se connecter par TCP sur lInternet vers e nimporte quel num ro de port. Par exemple, on trouve beaucoup de serveurs WWW sur le e port 8080 au lieu du port 80. Pour lacc` s au proxy, il faut autoriser les connexions depuis le r seau priv vers le port du e e e proxy sur la machine qui lh berge. Il sagit habituellement du port 3128. e

13.4.5 Forums
Le protocole de transport des forums sappelle NNTP et son port porte traditionnellement le num ro 119. e Pour la consultation, il faut ainsi autoriser le serveur NNTP du fournisseur ainsi que les machines du r seau priv a se connecter sur le port 119 du serveur NNTP dispos sur le e e ` e r seau bastion. e ` ` Pour l mission, il faut de plus autoriser le serveur NNTP du r seau bastion a se connecter a e e celui du fournisseur. Parfois, on conseille de disposer le serveur NNTP directement sur le r seau priv . Ce nest e e e n anmoins pas possible lorsque les adresses IP de ce r seau ont et choisies conform ment e e e au RFC 1918. Dautres mod` les proposent de chaner deux serveurs NNTP : lun sur le r seau bastion, e e lautre sur le r seau priv . Celui du r seau bastion est un simple relais, celui du r seau priv e e e e e permet la consultation. Lid e sous-jacente est de ne pas faire transiter les donn es li es a la consultation sur le e e e ` r seau bastion, ce qui est une r` gle g n rale dans le mod` le du rewall, quel que soit le e e e e e service. Mais il faut noter que ladministration de deux serveurs NNTP sur un m me site est e un travail important.

13.4.6 FTP
` Le service FTP d change de chiers est complexe a ltrer. Supposons que la machine A e d sire acc der au serveur FTP h berg sur la machine B, deux connexions TCP sont alors e e e e mises en jeu : une connexion TCP de A vers B, vers le port destination ftp de num ro 21 et de port e source quelconque ;

Chapitre 13 Le rewall

415

une connexion TCP de B vers A, depuis le port source ftp-data de num ro 20 et de e ` port destination quelconque, sup rieur a 1024, attribu par le client, cest-` -dire A. e e a

Acc` s a des serveurs FTP sur lInternet e ` Le premier probl` me qui se pose est d tablir les ltres pour lacc` s a des serveurs FTP sur e e e ` lInternet. Pour cela, on dispose un proxy FTP sur le r seau bastion. On autorise donc sur e le routeur B les connexions TCP vers le port proxy de num ro 3128 depuis les machines du e r seau priv (la connexion proxy pour FTP est classique et ne pr sente aucune difcult a e e e e` ltrer). ` Il faut maintenant autoriser le proxy a se connecter par FTP sur des serveurs distants. On autorise donc, sur le routeur A, les connexions sortantes vers un port 21. On doit de plus ` autoriser les connexions entrantes vers la machine proxy, a destination de nimporte quel port ` sup rieur a 1024, et de num ro de port source egal a 20. e e ` Cest cette deuxi` me r` gle de ltrage qui est dangereuse : il ne faut pas mettre de service e e ` TCP sur un port sup rieur a 1024 sur la machine proxy, sous peine quil soit accessible par e ` un eventuel pirate sur lInternet. Or, il se trouve quil y a forc ment un port sup rieur a 1024 e e ouvert sur cette machine : il sagit du port 3128 du proxy. Il faut donc congurer le logiciel proxy pour refuser les connexions autres que celles provenant du r seau priv , sur le port e e 3128, car les r` gles de ltrage des routeurs ne peuvent pas sen charger sous peine de rendre e le service FTP inaccessible, comme on vient de le constater.

H bergement dun serveur FTP e Pour h berger un serveur FTP, il faut le disposer sur le r seau bastion, et autoriser dune part e e les connexions TCP depuis lInternet vers le port 21 du serveur, et dautre part les connexions TCP sortantes depuis le port 20 du serveur, vers un port quelconque dune machine externe. Les connexions vers un port inconnu, probl` me inh rent au protocole FTP, ne sont donc ici e e pas un probl` me puisquelles sortent du r seau local. e e Notons quil existe une fonctionnalit propos e sur certains serveurs, appel e mode passive, e e e qui permet au client et non pas au serveur dinitier la connexion de transport des donn es. e Si le client et le serveur FTP disposent tous les deux de cette possibilit , les probl` mes de e e ltrage du service disparaissent. Mais de nombreux serveurs FTP sur lInternet ne proposent toujours pas cette possibilit . e ` Une autre solution a ce probl` me est apport e par certains clients qui vont choisir le port de la e e deuxi` me connexion qui entre en jeu dans le transfert dans une plage bien d termin e, et plus e e e r duite que la plage 1024-65535 en vigueur chez de nombreux clients, ou la plage 1024-4999 e de certains autres clients du monde Unix. Habituellement, cest la plage 40000-44999 qui est choisie, et il est alors facile de sassurer quaucun service TCP n coute sur ces ports. e

416

S curit e e

13.4.7 Services internes


Les services internes, par exemple un serveur WWW, sont dispos s sur le r seau priv et ne e e e n cessitent donc pas la mise en place de r` gle particuli` re. e e e

13.5 TCP-Wrapper
13.5.1 Principe
Nous venons de d crire les moyens de ltrer les diff rents services non pas sur les machines e e ` qui les h bergent mais a travers les routeurs du r seau. Il arrive quon ne dispose pas de la e e possibilit de ltrage sur les routeurs du r seau, ou bien quon nait pas acc` s a la cone e e ` guration de certains dentre eux. Cest notamment le cas dans le cadre de lacc` s par ligne e ` sp cialis e avec location du routeur et maintenance a distance par le fournisseur. En effet, e e ` lorsque le fournisseur loue le routeur de proximit et sengage a maintenir lacc` s a distance, e e ` ` il ne laisse habituellement pas lacc` s de l quipement a son client, an d viter les fausses e e e manipulations. Dans ces diff rents cas de gure, lorsquon utilise Unix sur les serveurs du site, la solution du e ` TCP-Wrapper est souvent tr` s efcace. Cela consiste a ltrer les services TCP directement e sur les machines qui les h bergent. e Pour cela, le service quon veut ltrer doit etre activ par le d mon inetd. Normalement, e e linetd ecoute sur les ports des services standard qui lui sont indiqu s par les chiers e de conguration /etc/inetd.conf et /etc/services. Lorsquune connexion intervient, linetd active le processus d mon correspondant, par exemple in.telnetd dans e le cadre dune connexion de type telnet. On va donc intercaler un TCP-Wrapper entre les deux d mons cit s pr c demment. Ce nouveau processus va consulter les chiers de cone e e e guration /etc/hosts.allow et /etc/hosts.deny pour prendre la d cision dactiver e ou non le d mon du service demand . La gure 13.6 page ci-contre pr sente un exemple de e e e connexion telnet avec un TCP-Wrapper.

13.5.2 Exemple de mise en place


Nous allons mettre en place un TCP-Wrapper pour interdire les acc` s telnet autres que e ceux provenant de notre r seau local, sur notre serveur Unix. e On commence par rapatrier par FTP le logiciel TCP-Wrapper de Wietze V ENEMA : il est ` disponible a lURL :

ftp://ftp.ibp.fr/pub/unix/security/tcp_wrappers_7.2.tar.gz

Chapitre 13 Le rewall

417

connexion TCP

port 23

/etc/services INETD /etc/inetd.conf

/etc/hosts.allow TCP-Wrapper /etc/hosts.deny

in.telnetd

Lgende :

fichier de configuration processus Unix

Figure 13.6 TCP-Wrapper : exemple du service telnet

<ls@fenetre> ftp ftp.ibp.fr Connected to pascal.ibp.fr. 220 pascal FTP server (Version wu-2.4(4) Mon Feb 5 18:18:12 MET 1996) ready. Name (ftp.ibp.fr:ls): ftp 331 Guest login ok, send your complete e-mail address as password. Password: 230... 230 Guest login ok, access restrictions apply. ftp> bin 200 Type set to I. ftp> hash Hash mark printing on (8192 bytes/hash mark). ftp> cd /pub/unix/security 250 CWD command successful. ftp> get tcp_wrappers_7.2.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for tcp_wrappers_7.2.tar.gz (94652 bytes). ############ 226 Transfer complete. local: tcp_wrappers_7.2.tar.gz remote: tcp_wrappers_7.2.tar.gz 94652 bytes received in 0.7 seconds (1.3e+02 Kbytes/s) ftp> quit 221 Goodbye. <ls@fenetre>

` Avant de passer a la phase de compilation, il faut choisir le r pertoire o` le TCP-Wrapper va e u aller chercher les d mons tel que in.telnetd pour telnet, ou httpd pour un serveur e WWW. Choisissons par exemple le r pertoire /usr/local/etc. e ` Passons donc a la phase de compilation : il faut utiliser make avec pour premier param` tre e

418

S curit e e

REAL DAEMON DIR=/usr/local/etc. Le deuxi` me param` tre est le type du syst` me e e e sur lequel on va installer le TCP-Wrapper. Il peut sagir de : 386bsd, aix, alpha, apollo, convex-ultranet, dell-gcc, dgux, dgux543, dynix, epix, esix, freebsd, hpux, irix4, irix5, isc, linux, mips, ncrsvr4, netbsd, next, osf, ptx-2.x, ptx-generic, pyramid, sco, sco-nis, sco-od2, sunos4, sunos40, sunos5, sysv4, ultrix, unicos, unixware ou uxp. Compilons donc sous Solaris :
<ls@fenetre> gzip -dc tcp_wrappers_7.2.tar.gz | tar xf <ls@fenetre> cd tcp_wrappers_7.2 <ls@fenetre> make REAL_DAEMON_DIR=/usr/local/etc sunos5 cc -O -DFACILITY=LOG_MAIL -DHOSTS_ACCESS -DPARANOID -DNETGROUP -DGETPEERNAME_BUG \ -DBROKEN_FGETS -DSOLARIS_24_GETHOSTBYNAME_BUG -DDAEMON_UMASK=022 \ -DREAL_DAEMON_DIR=\"/usr/local/etc\" -DSEVERITY=LOG_INFO -DRFC931_TIMEOUT=10 \ -DHOSTS_DENY=\"/etc/hosts.deny\" -DHOSTS_ALLOW=\"/etc/hosts.allow\" -DTLI \ -DALWAYS_HOSTNAME -c tcpd.c cc -O -DFACILITY=LOG_MAIL -DHOSTS_ACCESS -DPARANOID -DNETGROUP -DGETPEERNAME_BUG \ -DBROKEN_FGETS -DSOLARIS_24_GETHOSTBYNAME_BUG -DDAEMON_UMASK=022 \ -DREAL_DAEMON_DIR=\"/usr/local/etc\" -DSEVERITY=LOG_INFO -DRFC931_TIMEOUT=10\ -DHOSTS_DENY=\"/etc/hosts.deny\" -DHOSTS_ALLOW=\"/etc/hosts.allow\" -DTLI \ -DALWAYS_HOSTNAME -c hosts_access.c ...

Installons maintenant, dans /usr/local/etc, lex cutable cr e : tcpd. e e


<ls@fenetre> su Password: # mv tcpd /usr/local/etc/in.tcpd # chmod 711 /usr/local/etc/in.tcpd # chown root.daemon /usr/local/etc/in.tcpd

Il faut alors rechercher la ligne de conguration du service telnet dans le chier de conguration /etc/inetd.conf. Il contient :
telnet stream tcp nowait root /usr/sbin/in.telnetd in.telnetd

On la remplace alors par :


telnet stream tcp nowait root /usr/local/etc/in.tcpd in.telnetd

Nous savons que in.tcpd va chercher les d mons dans /usr/local/etc. Il faut donc e quon recopie le d mon in.telnetd dans ce r pertoire : e e
# cp /usr/sbin/in.telnetd /usr/local/etc

Maintenant, il faut indiquer au d mon inetd de relire le chier de conguration quon vient e de modier. Il suft pour cela de lui faire parvenir le signal SIGHUP :

Chapitre 13 Le rewall

419

# kill -HUP /usr/bin/ps -ef | grep /usr/sbin/inetd | grep -v grep | awk {print $2}

` On doit, pour nir, cr er les chiers de conguration du TCP-Wrapper. Ces chiers sont lus a e chaque connexion. Ils sont destin s a d crire les ltres dacc` s pour lensemble des services e ` e e plac s sous contr le. e o Nous voulons par exemple autoriser lacc` s a telnet uniquement pour les machines dont e ` ladresse IP appartient au r seau de classe C 192.168.22.0 ou dont le nom appartient au e domaine fenetre.fr. Nous allons donc cr er le chier /etc/hosts.allow comme suit : e
in.telnetd: ALL@.fenetre.fr ALL@192.168.22.

Pour indiquer quaucune autre machine na le droit de se connecter sur ce service, on construit le chier /etc/hosts.deny comme suit :
in.telnetd: ALL@ALL

13.6 Autres outils


De nombreux autres outils pour la s curit sont disponibles sur lInternet. Certains sont foure e nis gratuitement avec leurs sources, quil suft donc de recompiler sur ses machines, dautres sont commercialis s. e On peut par exemple citer le logiciel IPFW permettant de transformer une machine BSD (FreeBSD, NetBSD, BSDi) en un puissant routeur ltrant, le logiciel xinetd1 qui regroupe les fonctionnalit s de linetd et dun TCP-Wrapper et les nombreux outils TIS 2 (Trusted e Information Systems). Parmi les outils professionnels, on se doit de citer le produit Firewall-1 de CheckPoint Software Technologies 3 , qui permet notamment de transformer une station Unix (SunOS, Solaris ` ou HP-UX) en routeur ltrant, et propose a lutilisateur une interface conviviale pour d nir e la politique de ltrage le plus simplement possible. Des fonctions de cryptographie sont egalement incluses dans ce produit, pour r unir en un e r seau priv s curis des r seaux locaux interconnect s par lInternet. e e e e e e
1. ftp://ftp.ibp.fr/pub/unix/security 2. ftp://ftp.tis.com/pub/firewalls 3. http://www.checkpoint.com

420

S curit e e

13.7 V rications e
Il existe des outils qui permettent de simuler des tentatives de piratage provenant de lInternet, an de tester les ltres mis en place et le niveau de s curit des serveurs pr sents sur le r seau. e e e e 4 5 Les plus utilis s sont ISS (Internet Security Scanner) et SATAN . ISS est maintenant un e produit commercial dont une version de d monstration est disponible sur lInternet. SATAN e est libre dutilisation. Ces outils poss` dent un ensemble dheuristiques pour tester les diff rents probl` mes de s cue e e e rit bien connus dans le monde des r seaux TCP/IP. e e ` Proc dons a linstallation de SATAN. Notez que pour utiliser cet outil, il faut disposer dune e machine Unix, du langage Perl5 6 et dun navigateur World Wide Web tel que Netscape Navigator. On commence par rapatrier SATAN depuis ftp.ibp.fr :
<ls@fenetre> ftp ftp.ibp.fr Connected to pascal.ibp.fr. 220220-- Bienvenue sur le serveur ftp de lIBP et du CCR Jussieu -220-Utilisez le compte anonymous avec votre adresse e-mail comme mot de passe 220Merci de signaler les problemes eventuels a ftpmaint@ibp.fr. 220220-- Welcome on the IBP and CCR Jussieu ftp server -220Please login as anonymous with your e-mail address as password 220Please report problems to ftpmaint@ibp.fr. 220220220 pascal FTP server (Version wu-2.4(4) Mon Feb 5 18:18:12 MET 1996) ready. Name (ftp.ibp.fr:ls): ftp 331 Guest login ok, send your complete e-mail address as password. Password: 230... 230 Guest login ok, access restrictions apply. ftp> bin 200 Type set to I. ftp> hash Hash mark printing on (8192 bytes/hash mark). ftp> cd /pub/unix/security 250 CWD command successful. ftp> get satan-1.1.1.tar.gz 200 PORT command successful. 150 Opening BINARY mode data connection for satan-1.1.1.tar.gz (234999 bytes). ############################# 226 Transfer complete. local: satan-1.1.1.tar.gz remote: satan-1.1.1.tar.gz 234999 bytes received in 1.6 seconds (1.4e+02 Kbytes/s) ftp> quit 221 Goodbye.

` Passons donc a la phase de compilation. Il faut commencer par lancer le script reconfig. Il
4. ftp://ftp.ibp.fr/pub/cert/tools/iss 5. ftp://ftp.ibp.fr/pub/unix/security 6. ftp://ftp.ibp.fr/pub/perl/CPAN/src/5.0

Chapitre 13 Le rewall

421

va se charger de d tecter diff rents utilitaires sur le syst` me et modier les chemins dacc` s e e e e correspondants dans les sources de la distribution :
<ls@fenetre> gzip -dc satan-1.1.1.tar.gz | tar xf <ls@fenetre> cd satan-1.1.1 <ls@fenetre> ./reconfig checking to make sure all the target(s) are here... Ok, trying to find perl5 now... hang on a bit... Perl5 is in /usr/local/bin/perl5.001 changing the source in: bin/get_targets bin/faux_fping satan bin/boot.satan bin/dns.satan bin/finger.satan bin/ftp.satan bin/nfs-chk.satan bin/rex.satan bin/rpc.satan bin/rsh.satan bin/rusers.satan bin/showmount.satan bin/tcpscan.satan bin/tftp.satan bin/udpscan.satan bin/xhost.satan bin/yp-chk.satan bin/ypbind.satan perl/html.pl HTML/WWW Browser is /usr/local/bin/netscape So far so good... Looking for all the commands now... Ok, now doing substitutions on the shell scripts... Changing paths in config/paths.pl... Changing paths in config/paths.sh... <ls@fenetre> \ \ \ \ \

` A laide de la commande make suivie du nom du syst` me dexploitation sur lequel on va e utiliser le logiciel, on va compiler la distribution. Les valeurs admises sont : aix, osf, bsd, bsdi, dgux, irix4, irix5, freebsd, hpux9, linux, sunos4, sunos5 et sysv4.
<ls@fenetre> make sunos5 cd src/misc; make "LIBS=-lsocket -lnsl" "XFLAGS=-DAUTH_GID_T=gid_t -DTIRPC" \ "RPCGEN=rpcgen" cc -O -I. -DAUTH_GID_T=gid_t -DTIRPC -c md5.c cc -O -I. -DAUTH_GID_T=gid_t -DTIRPC -c md5c.c cc -O -I. -DAUTH_GID_T=gid_t -DTIRPC -o ../../bin/md5 md5.o md5c.o cc -O -I. -DAUTH_GID_T=gid_t -DTIRPC -o ../../bin/sys_socket sys_socket.c cc -O -I. -DAUTH_GID_T=gid_t -DTIRPC -o ../../bin/timeout timeout.c cc -O -I. -DAUTH_GID_T=gid_t -DTIRPC -o ../../bin/rcmd rcmd.c -lsocket -lnsl ...

Linstallation est termin e. On d marre donc SATAN, sous le compte root, par la commande e e suivante :
<ls@fenetre> su Password: # setenv DISPLAY :0 # ./satan SATAN is starting up....

SATAN lance alors Netscape Navigator et on voit safcher l cran repr sent sur la e e e gure 13.7 page 423. Lorsquon veut tester les ltres, il faut lancer SATAN depuis un r seau e en amont du rewall. Ce nest pas utile lorsquon veut simplement tester la s curit des d e e e mons pr sents sur les machines du r seau local. Pour notre exemple, nous allons supposer e e

422

S curit e e

que nous lan ons SATAN sur la machine fenetre.fenetre.fr an de tester le niveau c de s curit de la machine cible.fenetre.fr et les ltres des routeurs qui s parent ces e e e deux equipements. Nous devons proc der pour cela aux etapes successives suivantes : e On commence par s lectionner une base de donn es qui enregistrera les statistiques e e r colt es, comme pr sent sur la gure 13.8 page 424. Cette base pourra etre recharg e e e e e e ` a un autre moment, an d tre enrichie. e On choisit alors une cible. Cela peut etre un r seau entier ou une seule machine, comme e lindique la gure 13.9 page 425. On choisit, de plus, parmi trois niveaux dintensit e dans les tests. La gure 13.10 page 426 montre un exemple de rapport fourni par SATAN. Dans cet exemple, on constate que SATAN a d couvert un ensemble de propri t s de la cible, e ee ainsi que des probl` mes de s curit NFS. En cliquant sur les probl` mes mentionn s, e e e e e un ecran dexplication ainsi que le moyen de les corriger apparat. Un des points forts de SATAN r side en la possibilit de rep rer les relations de conance e e e ` entre les machines, pour pouvoir d terminer des chemins ouverts a travers le r seau, qui e e ` permettraient a un pirate de rentrer dans le r seau priv par bonds successifs. e e

Chapitre 13 Le rewall

423

Figure 13.7 SATAN : menu g eral en

424

S curit e e

Figure 13.8 SATAN : selection dune base de donn ee

Chapitre 13 Le rewall

425

Figure 13.9 SATAN : selection dune cible

426

S curit e e

Figure 13.10 SATAN : rapport du niveau de s ecurite

14
Les outils logiciels
L mergence du commerce electronique n cessite des garanties de s curit des donn es bien e e e e e ` ` sup rieures a ce que peut apporter lInternet actuellement : il faut mettre les entreprises a e labri de lespionnage industriel ou des d tournements de fonds, et prot ger les clients d vene e e ` tuels vols et tromperies qui pourraient survenir a travers le r seau. e

14.1 Notions de base


La s curit sur lInternet nest pas un probl` me r cent : comme le racontait d j` Cliff S TOLL e e e e ea en 1987 dans The Cuckoos Egg, les pirates sont apparus pratiquement d` s les babultiements e du r seau. La diversication de la population pr sente sur lInternet et larriv e de services e e e bancaires et commerciaux na pas augment le nombre dactes de piratage sur lInternet, mais e leur teneur ; si les pirates agissaient auparavant par jeu, ils travaillent actuellement de plus en plus pour leur propre prot ou celui de tiers. Comme tout syst` me dinformation, lInternet permet malheureusement lespionnage, la d se e information, le sabotage, le vol, limposture, etc. Les malveillances peuvent prendre des ` formes tr` s vari es, et les pirates informatiques ont toujours une longueur davance face a e e ` e ` ceux qui cherchent a s curiser leurs syst` mes ou leurs r seaux, a moins que ces derniers ne e e ` se tiennent r guli` rement a jour. e e

14.1.1 Les malveillances sur un r seau e


Les attaques passives sont celles qui concernent la capture dinformations destin es a des e ` tiers ( coute du r seau et acc` s a des donn es condentielles) ainsi que lanalyse du trac. e e e ` e

428

S curit e e

Les attaques actives sont les injections de fausses informations, la r p tition de messages e e ` d j` envoy s, la modication de donn es destin es a dautres et lacc` s a un service, a une ea e e e ` e ` ` machine ou a une information sans autorisation. Enn, il y a d ni de service lorsquune attaque rend impossible lacc` s a une application. e e ` Pour cela, on peut saturer le r seau avec du trac parasite, surcharger un serveur avec des e ` e e requ tes a r p tition ou encore d truire les tables de routage qui permettent aux paquets e e datteindre leur destination.

14.1.2 S curit des donn es dans un syst` me informatique e e e e


Un syst` me, connect a un r seau ou non, doit pouvoir assurer une s curit maximale des e e` e e e donn es, cest-` -dire garantir : e a leur condentialit : seules les personnes autoris es auront acc` s a linformation ; e e e ` e leur int grit : les donn es nauront pas et modi es par une personne malveillante e e e e ou par accident. Dans un syst` me connect a un r seau comme lInternet, il faut de plus pouvoir authentier e e` e les interlocuteurs, donc faire de lauthentication an : de contr ler efcacement les acc` s au syst` me (et donc limiter les risques de piratage) ; o e e dauthentier formellement lauteur dun message ou la provenance dun chier.

14.1.3 Pourquoi s curiser un site? e


LInternet est un r seau ouvert et relativement anarchique, dans lequel il faut se prot ger par e e ` soi-m me des intrus malveillants, a la diff rence de r seaux propri taires comme Transpac e e e e ou les r seaux bancaires priv s pour lesquels le fournisseur de service se doit dassurer la e e s curit des donn es. e e e La structure m me de lInternet, qui pr voit quun paquet peut emprunter nimporte quel chee e ` min pour parvenir a sa destination, implique que nimporte quel nud est un danger potentiel pour la condentialit et lint grit dudit paquet. Un pirate, un espion ou une agence gouvere e e ` nementale peuvent tr` s bien intercepter les paquets qui transitent par leur site et les utiliser a e mauvais escient.

14.2 Notions de cryptologie


Les techniques de cryptologie sont abord es a diverses reprises dans ce chapitre. Il est donc e ` n cessaire den d nir auparavant le vocabulaire et les bases techniques. e e

Chapitre 14 Les outils logiciels

429

14.2.1 Quelques d nitions e


Le cryptage (ou chiffrement) est la proc dure permettant de rendre inintelligible un message e qui est alors quali de crypt . Le d cryptage est lop ration inverse. e e e e ` La cryptographie est lart de transformer, a laide dune convention tenue secr` te, un mese sage en clair en un message qui ne pourra etre compris que par ceux qui connaissent la m thode permettant deffectuer lop ration inverse. e e La cryptanalyse est la recherche des diff rentes m thodes de d codage dun syst` me de e e e e chiffrement (et en particulier de ses faiblesses). La cryptologie d signe la science qui regroupe l tude de la cryptographie et la cryptanalyse. e e

14.2.2 Principes de base


Un syst` me cryptographique peut se r sumer par la formule suivante: e e

D (C (m)) = m
m etant le message en clair, C la fonction de cryptage et D la fonction de d cryptage. e

(14.1)

Une fonction de cryptage ou de d cryptage est lassociation dun algorithme et dune cl . e e Lalgorithme est g n ralement rendu public an d tre ouvert aux nombreuses analyses et e e e critiques qui permettront de d couvrir d ventuelles failles tandis que la cl d pend de lutilie e e e sateur de lalgorithme. La conservation du secret de la cl d termine la conservation du secret e e du message.

14.2.3 Efcacit dun syst` me cryptographique e e


De nombreux syst` mes de cryptographie existent et sont disponibles librement. Certains sont e e bas s sur une base scientique s rieuse tandis que dautres nont et test s que par un petit e e e groupe et risquent d tre (( cass s )) relativement facilement par une ou plusieurs personnes e e sufsamment motiv es. Il sagit donc, avant dutiliser le moindre syst` me de cryptage, de e e sassurer aupr` s de professionnels de ses fondements math matiques. e e Math matiques et programmation e En premier lieu, lalgorithme math matique doit etre complexe, quelle que soit la m thode e e choisie (substitutions, transpositions, additions et multiplications avec modulos, transforma tions lin aires, permutations, etc.), le plus efcace etant de m langer les diff rentes m thodes. e e e e Comme la plupart des syst` mes reposent sur des nombres choisis de fa on al atoire, il faut e c e aussi pouvoir mettre en uvre un g n rateur de nombres fortement al atoires et non plus e e e

430

S curit e e

de simples g n rateurs pseudo-al atoires pour lesquels il devient facile de d terminer les e e e e nombres qui seront prochainement choisis. Les g n rateurs les plus efcaces se basent sur e e e des ph nom` nes physiques (mesure du temps entre deux ev nements ind pendants, comme e e e la frappe de deux touches successives sur un clavier par exemple) et non plus de simples programmes.

R sistance aux attaques e Un syst` me cryptographique est efcace sil r siste entre autres aux tentatives de (( craquage e e 1 a e e par la force )), cest-` -dire aux m thodes de recherche syst matique de toutes les combinaisons possibles dans lespoir de tomber sur la bonne cl : il faut que le nombre dessais soit e prohibitif, du moins face aux moyens actuels (microprocesseurs rapides mis en parall` le), e ` donc que les math maticiens aient pu prouver que (( lalgorithme est au moins equivalent a e ` e un probl` me dont on pense quil est difcile a r soudre )) (au sens math matique du terme). e e ` Un tel syst` me sera dautant plus able quil saura faire face a ce type dattaques m me si un e e ou plusieurs messages crypt s et leurs contreparties en clair sont connus. e Enn, un syst` me devient tr` s able si, en plus de tout cela, il r siste aux attaques diff rene e e e tielles, bas es sur des statistiques effectu es sur des parties de messages crypt s. e e e

` e 14.2.4 Syst` mes a cl priv e e e


` e Principe des syst` mes a cl priv e e e ` e Un syst` me a cl priv e est un syst` me totalement sym trique dans lequel la cl secr` te sert e e e e e e au cryptage comme au d cryptage : e

Dk (Ck (m)) = m

(14.2)

m etant toujours le message en clair, Ck la fonction de cryptage, Dk la fonction de d cryptage e et k la cl priv e. e e Ce syst` me implique que toutes les personnes susceptibles de recevoir ou d mettre un mese e sage crypt doivent poss der la m me cl priv e. Cest la cryptographie dite traditionnelle. e e e e e ` e Actuellement, les syst` mes cryptographiques a cl priv e sont les plus efcaces, les plus e e ` r aliser, dun point de vue mat riel comme dun point de vue rapides et les plus facile a e e logiciel. Malheureusement, ils comportent deux inconv nients majeurs : e ` la cl doit a tout prix rester secr` te : il faut pouvoir la transmettre sur un canal s r, ce e e u ` e qui est tout de m me paradoxal et souvent difcile a r aliser ; e
1. En anglais, brute force attack.

Chapitre 14 Les outils logiciels

431

lauthentication est tr` s difcile d` s que plus de deux personnes poss` dent la cl prie e e e v e : on peut prouver quon sait d chiffrer un message crypt et quon poss` de donc la e e e e cl , mais on ne peut pas sidentier formellement. e ` e Pour toutes ces raisons, les syst` mes a cl priv e sont tr` s bien adapt s au cryptage interne ou e e e e ` personnel des chiers (stockage sur un disque priv ), mais pas a la transmission de messages e condentiels sur un r seau non s curis ni a lauthentication des correspondants. e e e ` ` e Exemples dalgorithmes a cl priv e e DES ` Lalgorithme DES (Data Encryption Standard), d velopp par IBM au d but des ann es 70 a e e e e la demande du gouvernement am ricain, est une norme ofcielle depuis 1977. e Il op` re sur des blocs de 64 bits avec des cl s de 56 bits de long seulement, ce qui fait dire de e e ` lui quil nest plus viable a lheure actuelle en consid ration des puissances de calcul atteinte e par les ordinateurs. De plus, le bruit court depuis d j` une quinzaine dann es que la NSA (National Security ea e Agency), agence am ricaine assurant la s curit du pays) saurait (( craquer )) DES, ce qui a e e e ` o pouss des gens comme Philipp Z IMMERMANN a choisir IDEA plut t que DES pour PGP e (voir section 14.3.2 page 437). Dautre part, DES nest pratiquement jamais autoris a lexportation, alors que le gouvere ` nement am ricain ne lutilise m me pas pour le cryptage dinformations de haut niveau de e e condentialit . e IDEA Lalgorithme IDEA (International Data Encryption Algorithm) travaille aussi sur des blocs ` de 64 bits, mais avec une cl priv e de 128 bits, ce qui garantit une meilleure r sistance a e e e la cryptanalyse. Il est bas sur le concept math matique du m lange de diff rents groupes e e e e alg briques. e RC2 et RC4 Les deux algorithmes RC2 et RC4, d velopp s par Ronald R IVEST, sont la propri t de la e e ee ` e soci t am ricaine RSA Data Security Inc. Ce sont des fonctions a cl de taille variable, qui ee e sont au moins aussi rapides que DES. Alors que RC2 fait du cryptage par blocs, RC4 travaille ` sur des ux de donn es. Un logiciel utilisant ces deux fonctions est exportable, a condition e que la taille des cl s soit limit e a 40 bits. e e `

` e 14.2.5 Syst` mes a cl publique e


En 1976, Whiteld D IFFIE et Martin H ELLMAN annoncent quils ont d couvert une teche ` e nique de cryptographie r volutionnaire, a cl publique, permettant d changer des messages e e ` crypt s sans avoir a rechercher un canal s r pour transmettre une unique cl secr` te. e u e e

432 ` e Principe des syst` mes a cl publique e

S curit e e

Dans ce syst` me, chacun poss` de une paire de cl s, et non plus une seule cl a partager : e e e e ` la cl priv e devra rester strictement secr` te alors que la cl publique pourra etre librement e e e e distribu e. e ` Cest un syst` me asym trique dans lequel le cryptage se fait a laide de la cl publique du e e e destinataire, qui pourra seul le d crypter avec sa cl priv e : e e e o` m est le message en clair, CK la fonction de cryptage, DK la fonction de d cryptage et u e Kp et Ks respectivement les cl s publique et secr` te du destinataire. e e Signature electronique ` e Ce syst` me offre un avantage important sur les syst` mes a cl priv e : lauthentication dee e e vient tr` s facile. Cest le principe des signatures electroniques 2 , rendu possible par le fait que e les deux cl s, priv e et publique, sont totalement sym triques et interchangeables : lexp die e e e teur crypte un message avec sa cl priv e et le destinataire pourra v rier avec la cl publique e e e e correspondante que lexp diteur est bien celui quil pr tend etre en d cryptant le message. e e e ` On aura donc une inversion de Kp et Ks par rapport a la formule 14.3 : o` , cette fois, Kp et Ks d signent respectivement la cl publique et la cl secr` te de lexp u e e e e e diteur. ` Cependant, a chaque signature, on risque de d couvrir un peu plus la composition de la cl e e priv e de lauteur du message, au risque de compromettre la s curit des transactions futures ; e e e ` e il faut donc que le syst` me soit si possible a apport de connaissance nulle 3 : m me si on e poss` de un grand nombre de messages sign s dun m me exp diteur, il est pratiquement e e e e impossible de reconstituer sa cl priv e a partir de fragments r cup r s dans sa signature. e e ` e ee Un syst` me a cl publique r sout donc les probl` mes pos s par un syst` me traditionnel, mais e ` e e e e e les syst` mes asym triques actuels sont beaucoup plus lents et sont inutiles dans le cas du e e cryptage de chiers qui ne sont pas destin s a etre transmis sur un canal non s r. e ` u ` e Exemples dalgorithmes a cl publique ` RSA Lalgorithme RSA doit son nom a ses trois cr ateurs (Ronald R IVEST, Adi S HAMIR e et Leonard A DLEMAN) qui ont depuis constitu ensemble la soci t RSA Data Security Inc. e ee qui continue de d velopper de nouveaux algorithmes de cryptage. e
2. En anglais, digital signature. 3. En anglais, zero-knowledge system

DKs CKp (m)

=m

(14.3)

DKp (CKs (m)) = m

(14.4)

Chapitre 14 Les outils logiciels

433

Dapr` s ses trois auteurs, RSA est un algorithme equivalent au probl` me de la factorisation e e des grands nombres, r put difcile. Il utilise lexponentiation de grands nombres premiers e e pour obtenir une paire de cl s able. Bien s r, RSA nest pas l galement exportable hors des e u e Etats-Unis pour des cl s de plus de 40 bits. e
RSA et math matiques e La fonction math matique utilis e par RSA est relativement simple ; en reprenant les notations e e utilis es tout au long de ce chapitre et en ayant choisi un triplet (Kp Ks N ) correspondant rese ` pectivement a la cl publique, la cl secr` te et un nombre N connu des deux parties, on peut ecrire e e e que la fonction de cryptage CKp N est :

C
et la fonction de d cryptage DKs e

(m) =

mod N

(14.5)

est :
s
N

(m) =

mod N

(14.6)

e Hors, il se trouve que Kp , Ks et N ont et choisis tels que Kp et Ks soient inversibles vis-` -vis a ` de lexponentiation a la puissance N , cest-` -dire : a

8x
On a donc :

mod N

mod N

=x

(14.7)

mod N

mod N

= mKp Ks mod N = m

(14.8)

` ` e ce qui correspond a (14.3) qui d nit un syst` me de cryptographie a cl publique. e e

` El Gamal Lalgorithme El Gamal, du nom de son inventeur, est quant a lui cens etre equie valent au probl` me des logarithmes discrets, lui aussi consid r comme difcile. e ee

` 14.2.6 Utilisation de syst` mes de chiffrement a des ns e dauthentication


Il est possible dutiliser un syst` me de chiffrement an de v rier lidentit dun utilisateur e e e qui se connecte sur un syst` me. Cest notamment le cas des syst` mes Unix. e e Les syst` mes Unix traditionnels enregistrent une version crypt e des mots de passe des utie e lisateurs dans un chier appel /etc/passwd. Ce chier etant g n ralement lisible par e e e nimporte quel utilisateur, il ne faut pas que ces informations chiffr es puissent etre d cod es e e e par un utilisateur mal intentionn , et il faut que le syst` me puisse les utiliser pour v rier la e e e validit dun mot de passe entr au clavier. e e Pour cela, au moment o` lutilisateur change son mot de passe, le syst` me choisit deux symu e

434

S curit e e

boles au hasard, et utilise le mot de passe comme cl de cryptage pour chiffrer ces deux e symboles. Le r sultat est un mot chiffr de 13 caract` res, dont les deux premiers sont les e e e symboles tir s au hasard. e ` Voil` par exemple ce qui se passe lorsque lutilisateur Luc S TONED demande a changer son a mot de passe : 1. lordinateur demande lancien mot de passe de Luc S TONED et v rie sa validit en e e utilisant la technique de v rication de mot de passe d crite plus bas ; e e u 2. Luc S TONED doit taper deux fois son nouveau mot de passe, pour etre s r quil ne commet pas derreur de frappe, ce qui lemp cherait de se reconnecter. Dans notre e exemple, lutilisateur choisit le mot (( denots )) ; 3. lordinateur tire deux symboles au hasard : (( ST )) ; 4. il utilise la fonction crypt de la biblioth` que C du syst` me pour chiffrer la chane e e ( ST ) avec, comme cl de chiffrement, ( denots ) ; ( ) e ( ) ee ` e 5. le r sultat est (( STcqxL1J8S2WQ )). Cette chane est ins r e a lint rieur du chier e ` /etc/passwd dans la ligne correspondant a lutilisateur Luc S TONED. ` Maintenant, lorsque Luc S TONED se connecte a nouveau sur cet ordinateur, voici ce qui se passe : 1. il tape son mot de passe (( denots )) au clavier ; 2. lordinateur extrait les deux premiers caract` res de la chane (( STcqxL1J8S2WQ e venant du chier /etc/passwd : ce sont les deux symboles (( ST )) ; 3. il chiffre cette chane (( ST )) en utilisant le mot de passe cela lui donne (( STcqxL1J8S2WQ )) ;
( ( ) )

denots

) )

tap au clavier : e

` 4. cette chane etant identique a celle pr sente dans le chier /etc/passwd, lordina e teur consid` re que Luc S TONED a tap le bon mot de passe et le laisse se connecter. e e Ce syst` me permet dont didentier formellement lutilisateur qui se connecte sans d coder e e le mot de passe crypt . e

14.3 Techniques de s curisation au niveau applicatif e


14.3.1 Crack
Le programme Crack ecrit par Alec M UFFETT a pour objectif de trouver le mot de passe Unix dun utilisateur (voir page page pr c dente), en utilisant une m thode bas e sur une ree e e e ` ` cherche dans un dictionnaire. Ce programme est disponible gratuitement a lUREC, a lURL http://www.urec.fr/Ftp/securite/Unix/Logiciels/ et son usage est tr` s e r pandu parmi les pirates ; il faut donc quil soit r guli` rement utilis par les responsables e e e e informatiques qui souhaitent le rendre inefcace.

Chapitre 14 Les outils logiciels


Principes de fonctionnement

435

Crack utilise pour ses recherches de mot de passe un ou plusieurs dictionnaires (au format ( un mot par ligne ) ) contenant des mots susceptibles d tre utilis s par les utilisateurs du ( ) e e syst` me. e ` Il tente ensuite, en utilisant une technique similaire a celle d crite page 433, de trouver le mot e de passe en essayant successivement tous les mots du dictionnaire. Puis il essaye dy rajouter des variations, comme de passer une lettre en majuscules 4 ou de retourner le mot. Lorsquil essaye de trouver le mot de passe dun utilisateur particulier, il ajoute temporairement dans son dictionnaire les informations quil peut trouver sur cet utilisateur, comme son nom et son pr nom. e Crack dispose en standard dun dictionnaire contenant les mots les plus couramment utilis s e comme mot de passe, ainsi quun jeu de r` gles permettant de combiner ces mots au cours des e diff rentes passes du programme ; dans ces r` gles, on trouve notamment le renversement dun e e mot ou la concat nation de deux termes, ou encore le remplacement de la lettre (( O )) par un e z ro. e

Installation Pour installer Crack, il faut tout dabord d compresser et d sarchiver le chier r cup r , e e e ee puis se rendre dans le r pertoire nouvellement cr e : e e
% zcat crack-4.1.tar.Z | tar xpBvf x Crack-4.1, 0 bytes, 0 tape blocks x Crack-4.1/BUGS, 1112 bytes, 3 tape blocks x Crack-4.1/DictSrc, 0 bytes, 0 tape blocks x Crack-4.1/DictSrc/jargon, 3677 bytes, 8 tape blocks [...] x Crack-4.1/Crack, 6738 bytes, 14 tape blocks x Crack-4.1/LICENCE, 4775 bytes, 10 tape blocks % cd Crack-4.1

Ensuite, il faut copier le chier de mot de passe qui nous int resse, par exemple, sur un syse t` me traditionnel, /etc/passwd (ou seulement une partie de ce chier), dans un chier e local, par exemple monpass :
% grep "Luc Stoned" /etc/passwd > monpass % cat monpass ls:STcqxL1J8S2WQ:512:1003:Luc Stoned:/u/ls:/usr/local/bin/zsh

e Le script Crack doit etre edit an de d nir la valeur de la variable CRACK HOME qui doit e pointer sur le r pertoire courant. e
` 4. Rappelons au passage que les mots de passe Unix sont sensibles a la diff rence entre les majuscules et les e minuscules.

436 Utilisation Le lancement en premier plan se fait avec loption -f de Crack.

S curit e e

Le mieux est quand m me de lire la documentation fournie avec Crack pour connatre toutes e les options disponibles.
% ./Crack -f monpass Invoked as: ./Crack -f monpass Making dictionary Dicts/bigdict - This may take some time... touch Dicts/.lockfile Binary directory: /u/ls/Crack-4.1/generic ( cd ../Sources ; make clean ) make[1]: Entering directory /u/ls/Crack-4.1/Sources [...compilation...] Sorting data for Crack. Flags: -f -i /tmp/pw.8133 Dicts/bigdict Running program in foreground pwc: Aug 27 15:32:04 Crack v4.1f: The Password Cracker, (c) Alec D.E. Muffett, 1992 pwc: Aug 27 15:32:04 Loading Data, host=serveur.fenetre.fr pid=8193 pwc: Aug 27 15:32:04 Loaded 1 password entries with 1 different salts: 100% pwc: Aug 27 15:32:04 Loaded 240 rules from Scripts/dicts.rules. pwc: Aug 27 15:32:05 Loaded 74 rules from Scripts/gecos.rules. pwc: Aug 27 15:32:05 Starting pass 1 - password information pwc: Aug 27 15:32:05 Guessed ls (/usr/local/bin/zsh in monpass) [denots] STcqxL1J8S2WQ pwc: Aug 27 15:32:05 Closing feedback file. pwc: Aug 27 15:32:05 FeedBack: 1 users done, 0 users left to crack. pwc: Aug 27 15:32:05 FeedBack: information: all users are cracked after gecos pass pwc: Aug 27 15:32:05 Done.

Comme on peut le voir, Crack a trouv imm diatement le mot de passe de lutilisateur Luc e e S TONED. La ligne :
pwc: Aug 27 15:32:05 Guessed ls (/usr/local/bin/zsh in monpass) [denots] STcqxL1J8S2WQ

indique que le mot de passe est (( denots )). Crack la trouv car ce mot de passe est en fait e ` ` le nom de lutilisateur ((( stoned ))) a lenvers, ce qui correspond a une r` gle particuli` re se e e trouvant dans le chier de r` gles livr avec le programme. e e ` Crack dispose de plus dune option -m permettant denvoyer un courrier electronique a tous e les utilisateurs dont le mot de passe a et trouv . Cela permet de lancer Crack r guli` ree e e ment (par une (( crontab )) par exemple) et davertir les utilisateurs automatiquement sans manipulation particuli` re. e
Acc l rer Crack ee Il est possible dinstaller, dans le r pertoire de Crack, une biblioth` que disponible gratuitee e ment appel e ufc-crypt, qui, sur certaines plates-formes, permet deffectuer la recherche e de mots de passe jusqu` 30 fois plus rapidement quavec la fonction crypt du syst` me. a e Sur certaines plates-formes (notamment Linux), la commande crypt disponible par d faut e est d j` la plus rapide existante, donc lutilisation dune telle biblioth` que napporte rien de ea e plus.

Chapitre 14 Les outils logiciels

437

14.3.2 PGP
PGP (Pretty Good Privacy) est actuellement le programme de cryptage le plus r pandu sur e e c lInternet. Il a et ecrit en 1991 par Philipp Z IMMERMANN lorsque celui-ci sest aper u que ` la NSA cherchait a limiter lusage des produits cryptographiques.

14.3.3 Principe de fonctionnement


` PGP est un syst` me de cryptographie hybride, en ce sens quil utilise a la fois les techniques e ` e ` e de cryptographie a cl publique et a cl priv e (voir page 430) an de combiner la s ret des e u e premiers avec la rapidit des seconds. Quoi quil en soit, il apparat a lutilisateur comme e ` ` e etant uniquement un syst` me de cryptographie a cl publique. e ` e PGP est bas sur les deux algorithmes RSA (algorithme a cl publique, d crit page 432) et e e ` e IDEA (algorithme a cl priv e, cit page 431). La gure 14.1 sch matise le processus utilis : e e e e e e e une cl IDEA I est tir e au hasard. Cette cl sera utilis e pour crypter le texte en clair en e ` IDEA, et elle sera a son tour crypt e en RSA en utilisant la cl publique du destinataire et e e ajout e au message chiffr . e e
Texte en clair Cryptage IDEA (cl I) Texte crypt en IDEA avec la cl I Cl I Cryptage RSA (cl Kp) Cl I crypte en RSA avec Kp

Message

Passage sur Internet

Message Dcryptage RSA (cl Ks) Cl I

Dcryptage IDEA (cl I)

Texte crypt en IDEA avec la cl I

Figure 14.1 Fonctionnement de PGP

438

S curit e e

` ` A la r ception, le destinataire utilise sa cl priv e pour d coder la cl I qui a servi a crypter e e e e e le message, et d chiffre ce dernier avec la cl IDEA retrouv e. e e e

14.3.4 R seau de conance e


PGP fonctionne sur la notion de r seau de conance 5 : cela signie quun utilisateur A peut, e sil est s r que la cl quil a sous les yeux est bien celle de lutilisateur B, apposer sa signature u e sur la cl publique de B. Donc si Luc S TONED connat de mani` re s re la cl publique de e e u e A et quil a conance en lui, il acceptera la cl pr sent e comme etant celle de B, puisque e e e sign e par A. e De m me, si Luc S TONED signe la cl de A, A peut distribuer sa cl sur un canal non s r : e e e u ` toute personne faisant conance a Luc S TONED et connaissant sa signature acceptera la cl e de A comme etant authentique.
Signer sa propre cl e ` Il est possible, lorsque lon utilise PGP, dassocier a la m me cl plusieurs identit s. Par e e e ` exemple, si Luc S TONED dispose dune adresse electronique a son travail et une adresse electronique chez lui, il peut y associer la m me cl PGP. e e La cl publique etant, par d nition, disponible publiquement, nimporte qui peut ajouter e e des identit s a une cl existante et la redistribuer avec cette fausse identit . Pour cette raison, e ` e e lorsque Luc S TONED ajoute une nouvelle identit ou adresse electronique sur sa cl publique, e e ` ` il doit signer cette identit avec sa cl priv e (il est le seul a pouvoir le faire puisque le seul a e e e poss der cette cl priv e). e e e Les derni` res versions de PGP offrent la possibilit de signer automatiquement toute nouvelle e e ` identit g n r e lorsque lutilisateur poss` de la cl priv e correspondant a la cl publique e e e e e e e e concern e (option AutoSign du chier de conguration de PGP). e

14.3.5 Installation
` PGP peut etre obtenu, lorsque lon se trouve hors des Etats-Unis et du Canada, a lURL http://www.ifi.uio.no/staalesc/PGP/. On y trouve les sources de PGP ainsi que des binaires pour de nombreuses architectures. Nous nallons pas d tailler ici linstallation de PGP, car ce programme est tellement r pandu e e ` e quil est peu probable davoir a le compiler pour une plate-forme pour laquelle il na pas et test . Lex cutable doit etre copi dans un r pertoire se trouvant dans le PATH des utilisateurs, e e e e et que chaque utilisateur d sirant utiliser PGP devra cr er chez lui un r pertoire (par exemple e e e /.pgp) sur lequel pointera la variable denvironnement PGPPATH.
5. En anglais, web of trust

Chapitre 14 Les outils logiciels

439

14.3.6 Conguration
La premi` re etape pour utiliser PGP consiste en la cr ation dun chier de conguration, ape e pel config.txt, qui doit se trouver dans le r pertoire d sign par la variable denvironnee e e e ment PGPPATH. Un exemple de ce chier se trouve en g n ral avec toutes les distributions, e e et il est conseill de partir de cet exemple an davoir les commentaires appropri s. Il faut e e egalement copier les deux volumes du guide utilisateur de PGP dans ce r pertoire. e Le tableau 14.1 r sume les diff rentes options modiables et leur signication. La plupart e e des valeurs par d faut sont acceptables et peuvent ne pas etre modi es. e e
Option MyName Language CharSet TMP Pager Armor ArmorLines TextMode ClearSig KeepBinary Verbose Compress ShowPass Interactive EncryptToSelf AutoSign Legal Kludge BakRing Completes Needed Marginals Needed Cert Depth TZFix Comment PubRing SecRing RandSeed Signication Nom par d faut de lutilisateur e Langue utilis e par PGP e Jeu de caract` res e R pertoire temporaire e Utilitaire de visualisation Utilisation dun codage ASCII Nombre maximum de lignes en ASCII Utilise le mode texte au besoin G n` re des signatures ASCII e e Conserve le chier interm diaire e Niveau de trace Compression Afchage des mots de passe Mode interactif Crypter les messages pour le propri taire e Signer les nouvelles identit s e Rester compatible Nom de lanneau de secours Nombre de cl s s res n cessaires pour une noue u e velle certication Nombre de cl s moyennement s res pour une e u nouvelle certication Niveau de r cursion de conance e Zone horaire ` Commentaire a ajouter dans les textes crypt s e et/ou sign s e Nom du chier de cl s publiques e Nom du chier de cl s priv es e e Nom du chier contenant la souche du g n rae e teur al atoire e Valeur conseill e e fr (fran ais) c latin1 less (si disponible) off 0 on off off 2 on off on on on off 1 2 4

Tableau 14.1 Options de conguration de PGP

440

S curit e e

L tape suivante consiste en la g n ration dune paire de cl s. Cela se fait en utilisant loption e e e e -kg de PGP et en se laissant guider par les instructions (en fran ais lorsquon a choisi cette c langue dans le chier de conguration). ` PGP demande a lutilisateur dentrer successivement : 1. un niveau de s curit , en nombre de bits ; il est conseill de choisir plus de 512 bits, e e e 1024 etant la solution la plus lente mais la plus s re ; u 2. un nom dutilisateur ; ` 3. un mot de passe, qui servira a prot ger la cl secr` te an quun individu ayant acc` s au e e e e disque local ne puisse sen emparer ; ` 4. un certain nombre de touches : les intervalles de temps les s parant serviront a construire e la souche du g n rateur de nombres al atoires. e e e
marvin% pgp -kg Pretty Good Privacy(tm) 2.6.3ia - Cryptographie ` cl publique pour tous. a e ( c ) 1990-96 Philip Zimmermann, Phils Pretty Good Software. 1996-03-04 Version internationale - ne pas utiliser aux Etats-Unis. Nutilise pas le RSAREF. Heure actuelle: 1996/11/30 13:33 GMT Choisissez la taille de votre clef RSA: 1) 512 bits- Niveau de base, rapide mais moins securitaire 2) 768 bits- Niveau de securit eleve - vitesse moyenne e 3) 1024 bits- Pour les militaires, les diplomates... les paranoiaques Choisissez 1, 2, ou 3, ou entrez le nombre de bits desires (Max 2048 bits): 3 Generation dune cl RSA avec un module de 1024 bits. e Il vous faut un nom dutilisateur pour votre cl publique. La forme e dsire pour ce nom dutilisateur est votre nom, suivi de votre addresse e e de courrier lectronique entre <crochets>, si vous en avez une. e Par exemple: Jean Dupont <dupont@toto.fr> Entrez un nom dutilisateur pour votre cl publique e (votre nom): Luc Stoned <luc.stoned@fenetre.fr> Vous devez avoir un mot de passe pour protger votre cl RSA e e secr`te. Votre mot de passe peut tre nimporte quelle phrase ou portion e e de phrase et peut avoir plusieurs mots, espaces, caract`res de ponctuation e ou tout autre caract`re imprimable. e Entrez votre mot de passe: Entrez le mme mot de passe de nouveau: e Notez que la gnration de cl est une procdure lente. e e e e Nous devons gnrer 939 bits alatoires. Ceci est fait en mesurant e e e lintervalle de temps entre les frappes de touches. Veuillez tapper du texte alatoire sur votre clavier jusqu` ce que vous entendiez le e a signal sonore: 0 * -Assez, merci. Le mot de passe est correct. Un moment.... Certificat de signature de cl ajout. e e Gnration de cl termine. e e e e

Apr` s cela, PGP a g n r deux nouveaux chiers dans le r pertoire d sign par la variable e e ee e e e denvironnement PGPPATH : pubring.pgp et secring.pgp. Il sagit du chier de cl s e publiques et du chier de cl s priv es de lutilisateur Luc S TONED. e e

Chapitre 14 Les outils logiciels

441

Il est ensuite possible de v rier le contenu du chier de cl s publiques avec loption -kvv e e de PGP :
% pgp -kvv Pretty Good Privacy(tm) 2.6.3ia - Cryptographie ` cl publique pour tous. a e ( c ) 1990-96 Philip Zimmermann, Phils Pretty Good Software. 1996-03-04 Version internationale - ne pas utiliser aux Etats-Unis. Nutilise pas le RSAREF. Heure actuelle: 1996/08/30 13:42 GMT Fichier de cl: /u/ls/.pgp/pubring.pgp e Type Bits/Clef Date ID utilisateur pub 1024/71BA5CD9 1996/08/30 Luc Stoned <luc.stoned@fenetre.fr> sig 71BA5CD9 Luc Stoned <luc.stoned@fenetre.fr> 1 clef trouve. e

14.3.7 Utilisation
Les commandes de PGP sont d crites dans le tableau 14.2. e
Commande -kg -ka -kx -kv -kvc -kc -kr -ke -ks -krs -kd -e -s -se -sb -c -d Signication G n ration dune nouvelle cl e e e Ajout dune cl ext rieure e e Extraction dune cl e Visualisation dune cl e Visualisation de l( empreinte digitale ) ( ) V rication en d tail e e Suppression dune cl e Edition des param` tres de conance dune cl e e Signature dune cl e Suppression de la signature dune cl e R vocation dune cl e e Cryptage dun message Signature dun message Cryptage