395
Cours d’introduction ` a TCP/IP Fran¸coisLaissus Version du 25 f´ evrier 2009

cours

Embed Size (px)

Citation preview

Cours dintroduction ` TCP/IP aFranois Laissus c Version du 25 fvrier 2009 e

ii Copyright c 1999 - 2009 $Rev: 131 $ Franois Laissus c

Avant proposLes sources de ce document sont dveloppes, gres et conserves grce e e ee e a aux services de FreeBSD1 , remarquable syst`me dexploitation OpenSource ! e Les divers chiers qui composent le source sont dits ` laide de lditeur e e a e de texte vi ; lhistorique des modications est con aux bons soins de loutil e subversion (gestionnaire de versions). Lensemble du processus de fabrication est pilot par une poigne de chiers Makefile (commande make). e eA La mise en forme seectue grce au logiciel L TEX. Les gures sont desa sines sous X Window Systems (X11) ` laide du logiciel xfig et intgres e a e e directement dans le document nal sous forme de PostScript encapsul. Les e listings des exemples de code C ont t fabriqus ` laide du logiciel a2ps et ee e a inclus dans le document nal galement en PostScript encapsul. e e

La sortie papier a t imprime en PostScript sur une imprimante de type ee e laser, avec dvips. La version pdf est une transformation du format PostScript ` laide du logiciel dvipdfm, enn la version HTML est traduite directement a A en HTML ` partir du format L TEX ` laide du logiciel latex2html. a a Tous les outils ou formats utiliss sont en acc`s ou usage libre, cest ` dire e e a sans versement de droit ` leurs auteurs respectifs. Quils en soient remercis a e pour leurs contributions inestimables au monde informatique libre et ouvert ! Je remercie galement Jean-Jacques Dhnin et les nombreux lecteurs e e que je ne connais quau travers de leur e-mails, davoir bien voulu prendre le temps de relire lintgralit de ce cours et de me faire part des innombrables e e erreurs et coquilles typographiques quil comporte, merci encore ! Ce support de cours est en consultation libre ` cette url : a HTML http://www.laissus.fr/cours/cours.html

Ou ` tlcharger au format PDF : a ee HTTP FTP http://www.laissus.fr/cours/cours.pdf ftp://ftp.laissus.fr/pub/cours/cours.pdf

Dautres formats (.ps,.dvi,. . .) sont accessibles dans ce rpertoire : e HTTP FTP http://www.laissus.fr/pub/cours/ ftp://ftp.laissus.fr/pub/cours/

1

http://www.freebsd.org/

iii Copyright c 1999 - 2009 $Rev: 131 $ Franois Laissus c

Historique des principaux changements` A ce jour(25/02/2009), ce document existe et est accessible sur lInternet depuis le milieu des annes 90. De tr`s nombreux internautes lont tlcharg e e ee e et mont renvoy leurs commentaires. Il tait donc plus que temps de garder e e une trace des principales modications et restructurations an que ces lecteurs d`les puissent suivre les modications et, peut tre, tlcharger une e e ee nouvelle version en connaissance de cause !

Version du 25 Fvrier 2009 Restructuration de lensemble en quatre parties princie pales (A,B,C, D) et un index gnral. Ajout dune partie Rseaux IP avancs . e e e e Ajout dun chapitre sur SNMP et dun chapitre sur le routage dynamique. Ajout dun changelog, cette page. . . Le .pdf est maintenant ractif, les urls, les renvois de pages, le sommaire, les listes e de tableaux et gures. Nombreuses corrections et mises ` jour de tous les chapitres depuis la version du a 14 octobre 2007.

iv

Table des mati`res ePrface e xxi

AI 1 2

Introduction ` la pile ARPA aRseaux locaux e Prambule . . . . . . . . . . . . . . . . . . . . . . e Gnralits - LANs . . . . . . . . . . . . . . . . . e e e 2.1 Gnralits . . . . . . . . . . . . . . . . . e e e 2.2 Mod`le de communication OSI . . . . . . e Rseaux locaux . . . . . . . . . . . . . . . . . . . e 3.1 Quest-ce quun LAN ? . . . . . . . . . . . 3.2 WAN - MAN . . . . . . . . . . . . . . . . 3.3 Communications inter-rseaux . . . . . . . e Couche 2 - Liaison (Data Link) . . . . . . . . . . 4.1 Caractristiques dEthernet . . . . . . . . e 4.1.1 Quelques principes fondamentaux 4.1.2 Format dune Frame Ethernet 4.1.3 Adresses IEEE 802.3 ou Ethernet 4.1.4 Unicast, multicast et broadcast . 4.2 Dirences Ethernet - 802.2/802.3 . . . . . e Interconnexion - Technologie lmentaire . . . . . ee 5.1 Raccordement . . . . . . . . . . . . . . . . 5.1.1 10Base5 . . . . . . . . . . . . . . 5.1.2 10Base2 . . . . . . . . . . . . . . 5.1.3 10BaseT . . . . . . . . . . . . . . 5.1.4 Fibre optique . . . . . . . . . . . 5.1.5 Conclusion . . . . . . . . . . . . 5.2 Rpteur . . . . . . . . . . . . . . . . . . . e e 5.3 Concentrateur . . . . . . . . . . . . . . . . 5.4 Ponts . . . . . . . . . . . . . . . . . . . . 5.5 Commutateurs . . . . . . . . . . . . . . . 5.6 Passerelles Routeurs . . . . . . . . . . . Bibliographie . . . . . . . . . . . . . . . . . . . . Introduction ` IP a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 3 3 3 4 7 7 8 8 9 9 9 10 11 12 13 14 15 15 15 16 16 17 17 18 19 20 22 23 25

3

4

5

6 II

vi 1 2 3

` TABLE DES MATIERES TCP/IP et lInternet - Un peu dhistoire Caractristiques de TCP/IP . . . . . . . e Comparaison TCP/IP ISO . . . . . . 3.1 Couche Application Layer . . 3.2 Couche Transport Layer . . . 3.3 Couche Internet Layer . . . . 3.4 Couche Network Access . . . Encapsulation dIP . . . . . . . . . . . . Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 27 28 29 29 30 30 30 31 33 33 33 34 35 35 37 38 40 41 42 42 43 44 47 47 47 48 49 52 52 53 55 55 57 58 58 59 59 60 61 63 63 64

4 5

III Anatomie dune adresse IP 1 Adressage IP . . . . . . . . . . . . . . . 1.1 Unicit de ladresse . . . . . . . . . e 1.2 Dlivrance des adresses IPv4 . . . . e 2 Anatomie dune adresse IP . . . . . . . . . 2.1 Dcomposition en classes . . . . . . e 2.2 Adresses particuli`res . . . . . . . . e 2.3 Sous-rseaux . . . . . . . . . . . . . e 2.4 CIDR . . . . . . . . . . . . . . . . 2.5 Prcisions sur le broadcast . . . . . e 3 Adressage multicast . . . . . . . . . . . . . 3.1 Adresse de groupe multicast . . . . 3.2 Adresse multicast et adresse MAC . 4 Conclusion et bibliographie . . . . . . . . . IV 1 Protocole IP Datagramme IP . . . . . . . . . . . . . . 1.1 Structure de len-tte . . . . . . . e 1.2 Network Byte Order . . . . . . . 1.3 Description de len-tte . . . . . . e 1.4 Fragmentation IP - MTU . . . . 1.4.1 Fragmentation . . . . . 1.4.2 Rassemblage . . . . . . e Protocole ARP . . . . . . . . . . . . . . 2.1 Fonctionnement . . . . . . . . . . 2.2 Format du datagramme . . . . . 2.3 Proxy ARP . . . . . . . . . . . . Protocole RARP . . . . . . . . . . . . . Protocole ICMP . . . . . . . . . . . . . . 4.1 Le syst`me de messages derreur . e 4.2 Format des messages ICMP . . . 4.3 Quelques types de messages ICMP Protocole IGMP . . . . . . . . . . . . . . 5.1 Description de len-tte . . . . . . e 5.2 Fonctionnement du protocole . . . . . . . . . . . . . . . . . . . . .

2

3 4

5

` TABLE DES MATIERES 5.3 Fonctionnement du Mbone . . . . . . . . . . . . . . Routage IP . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Table de routage . . . . . . . . . . . . . . . . . . . 6.2 Routage statique . . . . . . . . . . . . . . . . . . . 6.2.1 Algorithme de routage . . . . . . . . . . . 6.3 Routage dynamique . . . . . . . . . . . . . . . . . . 6.3.1 RIP Routing Information Protocol 6.3.2 OSPF Open Shortest Path First . . 6.4 Dcouverte de routeur et propagation de routes . . e 6.5 Message ICMP redirect . . . . . . . . . . . . . 6.6 Interface de loopback . . . . . . . . . . . . . . Finalement, comment a marche ? . . . . . . . . . . . . . . c Conclusion sur IP . . . . . . . . . . . . . . . . . . . . . . . Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 66 67 69 70 71 72 73 73 74 75 76 78 79 81 81 81 83 85 86 86 87 89 89 89 91 94 94 95 95 96 97 97 98 100 100 101 101 102 105 105

vii

6

7 8 9 V

Protocole UDP 1 UDP User Datagram Protocol . . . . . . . . . . . . . . . 1.1 Identication de la destination . . . . . . . . . . . . 1.2 Description de len-tte . . . . . . . . . . . . . . . . e 1.3 Ports rservs ports disponibles . . . . . . . . . e e 1.3.1 Attribution des ports ancienne mthode e 1.3.2 Attribution des ports nouvelle mthode e 2 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . Protocole TCP TCP Transmission Control Protocol . . . 1.1 Caractristiques de TCP . . . . . . e 1.2 Description de len-tte . . . . . . . e Dbut et clture dune connexion . . . . . e o 2.1 Etablissement dune connexion . . 2.2 Clture dune connexion . . . . . . o 2.2.1 Clture canonique . . . . o 2.2.2 Clture abrupte . . . . . . o Contrle du transport . . . . . . . . . . . o 3.1 Mcanisme de lacquittement . . . e 3.2 Fentres glissantes . . . . . . . . . e Complments sur le fonctionnement de TCP e 4.1 Algorithme de Nagle . . . . . . . . 4.2 Dpart lent . . . . . . . . . . . . . e 4.3 Evitement de congestion . . . . . . Paquets capturs, comments . . . . . . . e e Conclusion sur TCP . . . . . . . . . . . . Bibliographie . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

VI 1

2

3

4

5 6 7

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

viii

` TABLE DES MATIERES

B

Rseaux IP avancs e e

107. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 109 110 111 113 114 116 117 118 120 120 120 120 120 121 121 122 124 127 127 127 129 130 131 131 133 133 135

VII Routage dynamique dIP 1 Introduction & rappels . . . . . . . . . . . . . . . . . 1.1 IGP, EGP, Syst`me autonome . . . . . . . . . e 1.2 Vecteur de distances vs Etat de liens . . . . . 2 Routage avec RIP . . . . . . . . . . . . . . . . . . . . 2.1 En fonctionnement . . . . . . . . . . . . . . . 2.1.1 Horizon partag ou Split horizon . . e 2.1.2 Mises ` jour dclenches ou Triggered a e e 2.2 Le protocole RIPv1 vs RIPv2 . . . . . . . . . 2.3 Algorithme Bellman-Ford . . . . . . . . . . . 2.3.1 Mtrique . . . . . . . . . . . . . . . e 2.4 Conclusion . . . . . . . . . . . . . . . . . . . . 2.4.1 Points forts . . . . . . . . . . . . . . 2.4.2 Points faibles . . . . . . . . . . . . . 3 Routage avec OSPF . . . . . . . . . . . . . . . . . . 3.1 Grandes lignes de fonctionnement . . . . . . . 3.2 RIP vs OSPF . . . . . . . . . . . . . . . . . . 3.3 Principe de propagation des tats . . . . . . . e 3.3.1 Valeur des tats de liens . . . . . . . e 3.4 Calcul du plus court chemin . . . . . . . . . . 3.5 Hirarchie de routeurs . . . . . . . . . . . . . e 3.6 Fonctionnement ` lintrieur dune zone . . . . a e 3.6.1 Voisinage et adjacence . . . . . . . . 3.7 Protocole HELLO . . . . . . . . . . . . . . . . 3.7.1 Cinq types de paquets . . . . . . . . 3.7.2 En-tte standard des paquets OSPF e 3.7.3 En-tte des paquets HELLO . . . . . e 4 Bibliographie . . . . . . . . . . . . . . . . . . . . . . e VIII Elments de rseaux e 1 Htes ou services virtuels . . . . . . . . . . . . . . . o 2 Tunnel IP . . . . . . . . . . . . . . . . . . . . . . . 2.1 Tunnel IP avec linterface gif . . . . . . . . 2.2 IPsec et VPN . . . . . . . . . . . . . . . . . 2.2.1 IPsec dans quel but ? . . . . . . . . 2.2.2 IPsec en rsum . . . . . . . . . . e e 2.2.3 Comment utiliser IPsec ? . . . . . . 2.2.4 Implmentation dIPsec . . . . . . e 3 Proxy . . . . . . . . . . . . . . . . . . . . . . . . . 4 Translation dadresses . . . . . . . . . . . . . . . . 4.1 NAPT sur un routeur de type PC avec natd 4.1.1 Interactions entre natd et le noyau 4.2 Translation dadresses vers le rseau priv . e e . . . . . . . . . . . . .

137 . 137 . 139 . 140 . 143 . 143 . 144 . 145 . 147 . 148 . 148 . 150 . 151 . 152

` TABLE DES MATIERES 4.3 NAPT sur un routeur CISCO . . Filtrage IP . . . . . . . . . . . . . . . . . 5.1 Filtrage IP sur un routeur CISCO 5.2 Le cas dipfw de FreeBSD . . . . Exemple complet . . . . . . . . . . . . . Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153 154 154 154 157 160

ix

5

6 7

CIX 1

Protocoles applicatifsServeur de noms - DNS Gnralits sur le serveur de noms . . . . . . . . . e e e 1.1 Bref historique . . . . . . . . . . . . . . . 1.2 Syst`me hirarchis de nommage . . . . . e e e 1.2.1 Domaine & zone . . . . . . . . . 1.2.2 Hirarchie des domaines . . . . . e Fonctionnement du DNS . . . . . . . . . . . . . . 2.1 Convention de nommage . . . . . . . . . . 2.1.1 Completion . . . . . . . . . . 2.2 Le Resolver . . . . . . . . . . . . . . . 2.3 Stratgie de fonctionnement . . . . . . . . e 2.3.1 Interrogation locale . . . . . . . . 2.3.2 Interrogation distante . . . . . . 2.3.3 Interrogation par procuration 2.4 Hirarchie de serveurs . . . . . . . . . . . e 2.5 Conversion dadresses IP en noms . . . . . 2.6 Conclusion . . . . . . . . . . . . . . . . . . Mise ` jour dynamique . . . . . . . . . . . . . . . a Scurisation des changes . . . . . . . . . . . . . . e e 4.1 TSIG/TKEY pour scuriser les transferts . e 4.1.1 TSIG . . . . . . . . . . . . . . . 4.1.2 TKEY . . . . . . . . . . . . . . . 4.2 DNSSEC pour scuriser les interrogations e Attaque DNS par amplication . . . . . . . . . . Format des Resource Record . . . . . . . . . . 6.1 RR de type SOA . . . . . . . . . . . . . . . 6.2 RR de type NS . . . . . . . . . . . . . . . 6.3 RR de type A . . . . . . . . . . . . . . . . 6.4 RR de type PTR . . . . . . . . . . . . . . . 6.5 RR de type MX . . . . . . . . . . . . . . . 6.6 RR de type CNAME . . . . . . . . . . . . . 6.7 Autres RR. . . . . . . . . . . . . . . . . . . BIND de lISC . . . . . . . . . . . . . . . . . . . . 7.1 Architecture du daemon named . . . . Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

163165 . 165 . 165 . 166 . 167 . 168 . 169 . 169 . 170 . 170 . 172 . 172 . 173 . 174 . 175 . 175 . 177 . 177 . 178 . 178 . 179 . 179 . 179 . 180 . 182 . 183 . 183 . 184 . 184 . 184 . 185 . 185 . 186 . 186 . 187

2

3 4

5 6

7 8

x X 1

` TABLE DES MATIERES Courrier lectronique e Gnralits sur le courrier lectronique . . . . . . . . . . e e e e 1.1 Mtaphore du courrier postal - Lenveloppe . . . e 1.2 Adresse lectronique . . . . . . . . . . . . . . . . e Format dun E-mail - RFC 822 . . . . . . . . . . . . 2.1 Quelques champs couramment rencontrs dans les e ttes . . . . . . . . . . . . . . . . . . . . . . . . . e Protocole SMTP - RFC 821 . . . . . . . . . . . . . . . . 3.1 Protocole SMTP . . . . . . . . . . . . . . . . . . . 3.2 Principales commandes de SMTP . . . . . . . . . 3.2.1 Commande HELO . . . . . . . . . . . . 3.2.2 Commande MAIL . . . . . . . . . . . . 3.2.3 Commande RCPT . . . . . . . . . . . . 3.2.4 Commande DATA . . . . . . . . . . . . 3.2.5 Commande QUIT . . . . . . . . . . . . 3.3 Propagation du courrier lectronique . . . . . . . e 3.4 Courriers indsirables - Le spam . . . . . . . . . . e 3.4.1 Caractriser le spam . . . . . . . . . . . e 3.4.2 Eviter le spam . . . . . . . . . . . . . . Exemple de MTA - Sendmail et son environnement . 4.1 Relations avec le DNS . . . . . . . . . . . . . . . 4.2 Relations avec le syst`me dexploitation . . . . . e 4.3 Le cas de POP . . . . . . . . . . . . . . . . . . . 4.4 Le cas de IMAP . . . . . . . . . . . . . . . . . . . Conguration du Sendmail . . . . . . . . . . . . . . . . . 5.1 Conguration ` laide de M4 . . . . . . . . . . . . a 5.2 Conguration manuelle . . . . . . . . . . . . . . . 5.2.1 R`gles de rcriture . . . . . . . . . . . e ee 5.2.2 Exemple de sortie de debug . . . . . . . Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . 189 . 189 . 190 . 190 . 191 . . . . . . . . . . . . . . . . . . . . . . . . 192 195 195 197 197 198 198 198 198 199 201 201 202 205 205 206 210 211 212 212 214 214 217 218

2

3

4

5

6 XI

. . . . . . . . en. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Instrumentalisation de rseaux avec SNMP e 1 Ncessit dun outil . . . . . . . . . . . . . . . . . . . . . e e 1.1 Problmatique de lISO . . . . . . . . . . . . . . . e 1.2 Syst`me de gestion de rseau . . . . . . . . . . . e e 1.3 SNMP Simple Network Management Protocol 1.4 Historique du protocole SNMP . . . . . . . . . . 1.5 Vocabulaire et architecture . . . . . . . . . . . . . 1.6 Direntes versions . . . . . . . . . . . . . . . . . e 1.6.1 Trois composantes pour SNMP . . . . . 1.6.2 Conclusion . . . . . . . . . . . . . . . . 2 SMI Structure of Management Information . . . . . . 3 MIB Management Information Base . . . . . . . . . . 3.1 OID Objet Identier . . . . . . . . . . . . . . 3.2 Types de donnes lmentaires . . . . . . . . . . . e ee

221 . 221 . 221 . 222 . 223 . 224 . 224 . 226 . 226 . 227 . 228 . 228 . 230 . 231

` TABLE DES MATIERES 4 5 La MIB-2 . . . . . . . . . . . . Protocole SNMP . . . . . . . . 5.1 Communaut . . . . . . e 5.2 PDUs . . . . . . . . . . 5.3 SNMPv3 . . . . . . . . . Loutil NET-SNMP . . . . . . . 6.1 snmptranslate . . . . . 6.2 snmpget . . . . . . . . 6.3 snmpgetnext . . . . . 6.4 snmpwalk . . . . . . . 6.5 snmptable . . . . . . . 6.6 snmpset . . . . . . . . 6.7 Approche graphique . . Glossaire des acronymes SNMP Liens & Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 234 235 235 237 238 238 242 242 242 243 243 244 247 248

xi

6

7 8

D

Sockets BSD et architecture de serveurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

249251 . 251 . 252 . 253 . 253 . 255 . 256 . 256 . 256 . 256 . 257 . 258 . 259 . 259 . 259 . 260 . 260 . 260 . 261 . 262 . 262 . 262 . 263 . 263 . 264 . 265

XII Gnralits sur les sockets de Berkeley e e e 1 Gnralits . . . . . . . . . . . . . . . . . . . . . . e e e 2 Prsentation des sockets . . . . . . . . . . . . . . . e 3 Etude des primitives . . . . . . . . . . . . . . . . . 3.1 Cration dune socket . . . . . . . . . . . . . e 3.1.1 Valeur retourne par socket . . . . e 3.2 Spcication dune adresse . . . . . . . . . . e 3.2.1 Spcication dun numro de port . e e 3.2.2 Spcication dune adresse IP . . . e 3.2.3 La primitive bind . . . . . . . . . 3.2.4 Les structures dadresses . . . . . . 3.2.5 Valeur retourne par bind . . . . . e 3.3 Connexion ` une adresse distante . . . . . . a 3.3.1 Mode connect . . . . . . . . . . . e 3.3.2 Mode datagramme . . . . . . . . . 3.3.3 Valeur retourne par connect : . . e 3.4 Envoyer des donnes . . . . . . . . . . . . . e 3.4.1 Envoi en mode connect . . . . . . e 3.4.2 Envoi en mode datagramme . . . . 3.5 Recevoir des donnes . . . . . . . . . . . . . e 3.5.1 Reception en mode connect . . . . e 3.5.2 Recevoir en mode datagramme . . 3.6 Spcier une le dattente . . . . . . . . . . e 3.7 Accepter une connexion . . . . . . . . . . . 3.8 Terminer une connexion . . . . . . . . . . . 4 Schma gnral dune session clientserveur . . . . e e e

xii 5 Exemples de code client . . . 5.1 Client TCP DTCPcli . 5.2 Client UDP DUDPcli . Conclusion et Bibliographie . . . . . . .

` TABLE DES MATIERES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 267 271 273

6

XIII Complments sur les sockets Berkeley e 275 1 Rservation des ports . . . . . . . . . . . . . . . . . . . . . . . 275 e 1.1 Rservation de port Ancienne mthode . . . . . . . 276 e e 1.2 Rservation de port Nouvelle mthode . . . . . . . . 276 e e 2 Ordre des octets sur le rseau . . . . . . . . . . . . . . . . . . 277 e 3 Oprations sur les octets . . . . . . . . . . . . . . . . . . . . . 278 e 4 Conversion dadresses . . . . . . . . . . . . . . . . . . . . . . . 279 4.1 Conversion dadresse - IPv4 seul . . . . . . . . . . . . . 279 4.2 Conversion dadresse - Compatible IPv4 et IPv6 . . . . 279 5 Conversion hte adresse IPv4 . . . . . . . . . . . . . . . . . 280 o 5.1 Une adresse IP ` partir dun nom dhte . . . . . . . . 280 a o 5.2 Un nom dhte ` partir dune adresse IP . . . . . . . . 282 o a 6 Conversion N de port service . . . . . . . . . . . . . . . . . 282 6.1 Le numro ` partir du nom . . . . . . . . . . . . . . . 282 e a 6.2 Le nom ` partir du numro . . . . . . . . . . . . . . . 284 a e 7 Getaddrinfo, pour IPv4 et IPv6 . . . . . . . . . . . . . . . . 285 7.1 La fonction getaddrinfo . . . . . . . . . . . . . . . . . 285 7.1.1 Prototype de getaddrinfo . . . . . . . . . . 285 7.1.2 Description des arguments . . . . . . . . . . . 286 7.1.3 La structure addrinfo . . . . . . . . . . . . . 286 7.1.4 En rsum . . . . . . . . . . . . . . . . . . . . 287 e e 7.1.5 Exemple dusage ` la place de gethostbyname 288 a 7.1.6 Exemple dusage ` la place de getservbyname 290 a 7.1.7 En rsum . . . . . . . . . . . . . . . . . . . . 290 e e 8 Conversion nom de protocole N de protocole . . . . . . . . 291 9 Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 10 Exemples de mise en application . . . . . . . . . . . . . . . . . 293 10.1 Ancienne mthode (usage de gethostbyname) . . . . . 293 e 10.2 Nouvelle mthode (usage de getaddrinfo) . . . . . . . 298 e 11 Conclusion et bibliographie . . . . . . . . . . . . . . . . . . . . 300 XIV 1 e Elments de serveurs Type de serveurs . . . . . . . . . . . . 1.1 Serveurs itratif et concourant . e 1.2 Le choix dun protocole . . . . . 1.2.1 Mode connect . . . . e 1.2.2 Mode datagramme . . 1.3 Quatre mod`les de serveurs . . e Technologie lmentaire . . . . . . . . ee 2.1 Gestion des tches esclaves . a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 301 301 302 302 303 303 307 307

2

` TABLE DES MATIERES 2.2 fork, vfork et rfork . . . . . . . . . . . . 2.3 Processus lgers, les threads . . . . . e 2.4 Programmation asynchrone . . . . . . . 2.5 La primitive select . . . . . . . . . . . 2.6 La primitive poll . . . . . . . . . . . . . Fonctionnement des daemons . . . . . . . . . . 3.1 Programmation dun daemon . . . . . . 3.2 Daemon syslogd . . . . . . . . . . . . . 3.3 Fichier syslog.conf . . . . . . . . . . . 3.4 Fonctions syslog . . . . . . . . . . . . . Exemple de daemon inetd . . . . . . . . . . 4.1 Prsentation de inetd . . . . . . . . . . e Exemple de code serveur . . . . . . . . . . . . . 5.1 Guide de lecture du source serv2prot.c Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 309 311 312 314 315 315 316 318 318 320 320 322 322 325

xiii

3

4 5 6

XV Anatomie dun serveur Web 1 Le protocole HTTP . . . . . . . . . . . . . . . 1.1 Exemple dchange avec http . . . . . e 1.2 Structure dun change . . . . . . . . . e 2 URIs et URLs . . . . . . . . . . . . . . . . . . 2.1 Scheme http . . . . . . . . . . . . . . . 3 Architecture interne du serveur Apache . . . . 3.1 Environnement dutilisation . . . . . . 3.2 Architecture interne . . . . . . . . . . 3.2.1 Gestion des processus . . . . 3.2.2 Prise en main des requtes . . e 3.2.3 Deux types de CGIs . . . . . 4 Principe de fonctionnement des CGIs . . . . . 4.1 CGI Mthode GET, sans argument e 4.2 CGI Mthode GET, avec arguments e 4.3 CGI Mthode POST . . . . . . . . e 4.4 Ecriture dune CGI en Perl . . . . . . 5 Conclusion Bibliographie . . . . . . . . . . .

327 . 327 . 328 . 328 . 332 . 332 . 334 . 334 . 336 . 337 . 342 . 343 . 347 . 347 . 348 . 349 . 350 . 351

E

Index gnral & Annexes e e

353367

A Programme serv2prot.c

xiv

` TABLE DES MATIERES

Table des guresI.01 I.02 I.03 I.04 I.05 I.06 I.07 I.08 I.09 I.10 I.11 I.12 I.13 I.14 II.01 II.02 II.03 III.01 III.02 III.03 III.04 III.05 III.06 IV.01 IV.02 IV.03 IV.04 IV.05 IV.06 IV.07 IV.08 IV.09 IV.10 IV.11 Mod`le en 7 couches de lOSI . . . . . . . . . e Exemple de LANs . . . . . . . . . . . . . . . . trame Ethernet . . . . . . . . . . . . . . . . . Dirences Ethernet 802.2/802.3 . . . . . . . . e Interconnexion - Technologie lmentaire . . . ee Prise vampire . . . . . . . . . . . . . . . . . . Technologie de liaison . . . . . . . . . . . . . . Plusieurs rpteurs mais toujours le mme lan e e e Concentrateur . . . . . . . . . . . . . . . . . . Dialogue sans pont . . . . . . . . . . . . . . . Dialogue avec pont . . . . . . . . . . . . . . . Commutateur . . . . . . . . . . . . . . . . . . Fonction routage . . . . . . . . . . . . . . . . Traduction de protocoles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 7 10 13 14 15 17 18 18 19 19 21 22 22

Comparaison ISO-ARPA . . . . . . . . . . . . . . . . . . . . 28 Architecture logicielle . . . . . . . . . . . . . . . . . . . . . 29 Encapsulation dIP . . . . . . . . . . . . . . . . . . . . . . . 31 Dcomposition en classes . . . . . e Sous-rseaux . . . . . . . . . . . . e Puissances de 2 . . . . . . . . . . . Adresses de multicast . . . . . . . Adresse physique de multicast . . . Usage combin des adresses logique e Structure du datagramme IP . . . Big endian vs Little endian Fragmentation IP . . . . . . . . . . Fragment ` transmettre . . . . . . a Rsum de la fragmentation . . . . e e Question ARP . . . . . . . . . . . Rponse ARP . . . . . . . . . . . . e Datagramme ARP . . . . . . . . . Message ICMP . . . . . . . . . . . Format dun message ICMP . . . . Echo request vs Echo reply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . et physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 38 38 42 43 44 47 48 52 53 54 55 56 57 60 60 61

xvi IV.12 IV.13 IV.14 IV.15 IV.16 IV.17 IV.18 IV.21 IV.22 IV.23 V.01 V.02 V.03 V.04 VI.01 VI.02 VI.03 VI.04 VI.05 VI.06 VI.07 VI.08 VI.09 VII.01 VII.02 VII.03 VII.04 VII.05 VII.06 VII.07 VII.08 VII.09 VII.10 VII.11 VII.12 VII.13 VIII.01 VIII.02 VIII.03 VIII.04 VIII.05 VIII.06

TABLE DES FIGURES En-tte IGMP . . . . . . . . . . . . . . e Fonctionnement IGMP . . . . . . . . . . Table de routage . . . . . . . . . . . . . Situation rseau lors du netstat . . . . e Exemple de nuage avec routage statique Exemple pour routage dynamique . . . . Topologie pour routage dynamique . . . ICMP redirect . . . . . . . . . . . . Interface de loopback . . . . . . . . Illustration du routage direct et indirect Numro de port comme numro e e UDP encapsul dans IP . . . . e Structure de len-tte UDP . . e Cas du checksum non nul . . . TCP encapsul dans IP . . . . e Structure de len-tte TCP . . e Etablissement dune connexion Clture dune connexion . . . . o Emission dun rst . . . . . . . . Mcanisme de lacquittement . e Principe de la fentre glissante e Dtail de la fentre glissante . . e e Exemple de fentre glissante . . e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 64 67 69 70 71 72 74 75 76 82 83 84 84 89 91 94 95 96 97 98 99 104

de service . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Un AS, le monde extrieur, le monde intrieur ! . . . . . . . 111 e e La route vers H depuis R a une mtrique de 2 et passe par R1113 e Fonctionnement lmentaire . . . . . . . . . . . . . . . . . . 115 ee L horizon partag ne rsout pas tout ! . . . . . . . . . . 116 e e RIP est transport par UDP/IP . . . . . . . . . . . . . . . . 118 e Format dun message RIPv2 . . . . . . . . . . . . . . . . . . 118 Relation dordre entre deux LSP . . . . . . . . . . . . . . . 125 Propagation des LSP par inondation ou ooding . . . . 126 Organisation en zones Hirarchie de routeurs . . . . . . . 128 e Propagation dun LSP, sans et avec un DR . . . . . . . . . . 129 Organisation globale de len-tte du protocole OSPF . . . . 132 e En-tte standard de 24 octets . . . . . . . . . . . . . . . . . 133 e En-tte du paquet HELLO . . . . . . . . . . . . . . . . . . 134 e Serveur HTTP virtuel Tunnel IP - Principe . Tunnel IP - cas concrt e En-ttes dIPsec . . . . e Association 1 . . . . . Association 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 139 141 145 145 146

TABLE DES FIGURES VIII.07 Association 3 . . . . . . . . . . . . . . . . . . . . . . VIII.08 Association 4 . . . . . . . . . . . . . . . . . . . . . . VIII.04 Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . VIII.10 R translate dynamiquement des couples (adresse numro de port) . . . . . . . . . . . . . . . . . . . . . . . e VIII.11 Machine NAPT en routeur . . . . . . . . . . . . . . . VIII.12 Interactions entre natd et le noyau de FreeBSD . . . VIII.13 Static Nat . . . . . . . . . . . . . . . . . . . . . . . . VIII.14 Conguration multiservices . . . . . . . . . . . . . . . VIII.15 Conguration simple de ltrage . . . . . . . . . . . . VIII.16 Translation dadresse et ltrage IP . . . . . . . . . . . IX.01 IX.02 IX.03 IX.03 IX.05 IX.06 IX.07 IX.08 X.01 X.02 X.03 X.04 X.05 X.06 X.07 X.08 Organisation hirarchique des domaines e Le resolver dans son environnement Subdivision hirarchique des domaines . e Interrogation locale . . . . . . . . . . . . Interrogation distante . . . . . . . . . . Rponse ` une requte non formule . . e a e e Attaque DNS par amplication . . . . . BIND de lISC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IP, . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 . 146 . 148 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 150 151 152 153 155 157 169 171 172 172 174 180 181 186 192 199 200 205 206 210 213 215 224 230 234 235 244

xvii

Format dun e-mail . . . . . . . . . . . . . . . . . . . MUA - MSA - MTA - LDA - OS . . . . . . . . . . . Trajet dun mail . . . . . . . . . . . . . . . . . . . . MX primaire et secondaires . . . . . . . . . . . . . . Relation entre Sendmail et le syst`me dexploitation e Le cas de POP . . . . . . . . . . . . . . . . . . . . . Concentration du mail sur un mailhub . . . . . . R`gles de rcriture . . . . . . . . . . . . . . . . . . e ee

XI.01 Agent et Manager dans une relation de type client-serveur XI.02 La racine de larbre des OIDs . . . . . . . . . . . . . . . . XI.03 Des agents et un Manager . . . . . . . . . . . . . . . . . . XI.04 Format des messages SNMP . . . . . . . . . . . . . . . . . XI.05 Exemple dinterrogation dun agent avec loutil mbrowse . XI.06 Synth`se graphique des compteurs ifInOctets et e ifOutOctets sur 24h . . . . . . . . . . . . . . . . . . . . . . XI.07 Exemple dcran de surveillance avec tkined . . . . . . . e XII.01 XII.02 XII.03 XII.04 XII.05 Les sockets, une famille de primitives . . . . . Relation pile IP, numro de port et process ID e Structures dadresses . . . . . . . . . . . . . . Relation clientserveur en mode connect . . e Relation clientserveur en mode non connect e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. 245 . 247 . . . . . 251 252 258 265 266

XIII.01 Ordre des octets sur le rseau . . . . . . . . . . . . . . . . . 277 e

xviii XIV.01 XIV.02 XIV.03 XIV.04 XV.01 XV.02 XV.03 XV.04 XV.05 Quatre types de serveurs . . . Excution avec et sans threads e Syslogd . . . . . . . . . . . . . Inetd . . . . . . . . . . . . . . . . . . . . . . . . . .

TABLE DES FIGURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303 309 317 321 329 334 340 342 343

Structure dun message HTTP . . . Environnement syst`me . . . . . . . e Algorithme de gestion des processus Usage de la score board . . . . . . Deux type de CGIs . . . . . . . . . .

Liste des tableauxI.01 Quelques valeurs du champs type de len-tte IP . . . . . . . . 11 e I.02 Exemples de Organizationally Unique Identier (OUI) . . 12 III.01 III.02 III.03 III.04 III.05 III.06 III.07 Adresses IP des rseaux privs . . . . . . . . e e Adresses IP avec une signication particuli`re e Partitionnement dune classe C en quatre sous Dtail des quatre sous rseaux dun /26 . . . e e Adresses IP prives, notation du CIDR . . . . e Agrgations rgionales des blocs IP . . . . . . e e Quelques adresses multicasts du LAN . . . . . . . . . . . . . . rseaux e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 37 38 39 40 41 42

IV.01 Bits du champ TOS . . . . . . . . . . . . . . . . . . . . . . 49 IV.02 En-tte des fragments IP vs en-tte datagramme original . . 54 e e IV.03 Quelques drapeaux de routage de la commande netstat -r 69 V.01 Extrait succinct du chier /etc/services . . . . . . . . . . 85

VI.01 Drapeaux du champ CODE (en-tte TCP) . . . . . . . . . . 92 e VII.01 Quelques valeurs dtats de liens pour OSPF . . . . . . . . . 127 e X.01 Quelques champs couramment rencontrs dans un tte de e e mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

XI.01 Extrait de la MIB II concernant lOID tcpConnTable . . . . 229 XI.02 Extrait du dbut de la MIB-2 . . . . . . . . . . . . . . . . . 233 e XI.03 Extrait de la MIB-2 concernant le dbut du goupe system 241 e XII.01 Exemples de familles de protocoles pour une socket . . . . . 254 XII.02 Exemples de type de sockets . . . . . . . . . . . . . . . . . . 254 XII.03 Exemples de protocoles associs ` une socket . . . . . . . . 255 e a XIII.01 Exemples de codes de retours des primitives syst`mes pour e le rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 e XIV.01 Typologie des applicatifs qui utilisent syslog . . . . . . . . 319 XIV.02 Criticit des messages de log . . . . . . . . . . . . . . . . . 319 e XV.01 Codes de retour du protocole HTTP . . . . . . . . . . . . . 330

xx

LISTE DES TABLEAUX XV.02 Conguration du mod`le pre-forked dApache . . . . . . 335 e

Prface eAttention ! Ce document nest quun support de cours, cest ` dire quil ne remplace pas les documents a cits dans la bibliographie qui termine chacun des chae pitres qui le composent. Evidement imparfaites, pleines derreurs involontaires, et surtout incompl`tes, ces pages rclament avant tout votre indulgence de lecteur biene e veillant : Rien nest constant, tout change comme le disait dj` Lao Tseu, ea 400 ans avant JC. Que dirait-il alors aujourdhui, concernant les rseaux ! ! e Ces cours saccompagnent de travaux pratiques dont le texte ne gure pas ici, ils sont initialement conus pour les tudiants du Mast`re de Syst`mes c e e e 2 dInformations Ouverts (SIO) de lEcole Centrale Paris, an de les aider ` a la comprhension thorique et pratique des rseaux TCP/IP. e e e

Ce support est en acc`s libre, cest ` dire mis ` la dise a a position de tous pour un usage personnel ou collectif, sans but lucratif. Sa revente, sil y a lieu, ne peut tre e envisage que pour couvrir les frais induits par sa ree production. Enn, sa redistribution sous quelque forme que ce soit, ne peut se concevoir sans cette prface. eNe pas hsiter ` me contacter en cas de doute sur lusage : e a Franois Laissus c En aucun cas lauteur ne pourra tre tenu responsable des consquences e e de lusage de ce document, qui est fourni tel quel et sans garantie daucune sorte. Lusage des informations contenues est donc plac sous la responsabilit e e pleine et enti`re du lecteur. e Enn, si vous pensez que la lecture de ce support vous a apport quelque e chose, que vous avez une remarque ` me faire, ou tout simplement me coma plimenter (a fait toujours plaisir quoi que lon puisse en dire ! :) sentez-vous c libres de menvoyer un courrier lectronique, je suis toujours ravi dapprendre e que ce travail a pu servir ! Enn merci de votre intrt pour ce document, jesp`re que vous y trouee e verez ce que vous cherchez !2

http://www.mastere-sio.ecp.fr/

xxii

Prface e

Premi`re partie e Introduction ` la pile ARPA a

Chapitre I Rseaux locaux e1 Prambule e

Ce cours nest pas un cours gnral sur les rseaux mais une prsentation e e e e minimale de cette technologie pour pouvoir aborder le cours de concepts et programmation TCP/IP sous UNIX. TCP/IP est le protocole le plus rpandu dans le monde grce ` lInternet. e a a En 1980 il ne comptait que quelques dizaines dhtes, en juin 1996 ce o nombre tait de 12 millions de machines, rparties en pr`s de 500 000 rseaux e e e e (Par comparaison, en fvrier 1995, les mmes chires taient 4 850 000 mae e e chines pour plus de 71 000 rseaux locaux). e En janvier 2003, le nombre de machines1 directement accessibles sur le rseau tait de 180 000 000 selon lISC2 . Depuis on ne compte plus tant e e la croissance est importante. . .Pour la france lAFNIC propose galement e 3 quelques statisques . . .Il nexiste pas de botin gnral du rseau, par e e e contre Bill Cheswick des Bell labs la cartographi, et le rsultat est fascinant : e ehttp://www.cheswick.com/ches/map/gallery/index.html

22.1

Gnralits - LANs e e eGnralits e e e

Un rseau informatique met en relation des ordinateurs, comme un rseau e e tlphonique met en relation des personnes. ee Des ordinateurs sont dits en rseaux d`s lors quils partagent une e e technologie qui leur permet de communiquer ensemble. Le plus souvent cette technologie se matrialise physiquement par une e liaison avec un cble conducteur. Sur ce type de support, un signal lectrique a e1 2

Source http://www.isc.org/ds/ Internet Software consortium 3 http://www.nic.fr/statistiques/

4

Rseaux locaux e vhicule les messages informatiques. Il existe dautres types de supports en e pleine expansion comme les liaisons par ondes hertziennes, rayon laser, infrarouge. . . Sans connaissance pralable concernant les rseaux informatiques on peut e e imaginer quantit dinterrogations ` partir de cette hypoth`se de raccordee a e ment : Comment reconnaitre un correspondant ? Comment dialoguer avec ? Comment diuser linformation ` plusieurs correspondants ? a Comment viter la cacophonie ? e Il y a til une hirarchie des machines ? e Il y a til un chef dorchestre ? ... Toutes ces questions (et bien dautres) trouveront une rponse dans ce e cycle de cours. Ces rponses sont gnralement formules dans un proe e e e tocole , une sorte de mode demploi des rseaux. Il y a des centaines de e protocoles dirents sur lInternet, certains sont tr`s populaires, dautres abe e solument pas.

2.2

Mod`le de communication OSI e

Le concept de base de tout ce cours est celui de la commutation de a paquets , une vieille ide de linformatique4 contrairement ` lapproche par e circuits virtuels plus utilise en tlphonie. e ee Les donnes ` transmettre dune machine ` une autre sont fragmentes e a a e ` lmission en petit blocs de quelques centaines doctets munis de ladresse a e du destinataire, envoyes sur le rseau et r-assembles ` la rception pour e e e e a e reproduire les donnes dorigine. e Ce concept facilite le partage des possibilits physiques du rseaux (bande e e passante) et est parfaitement adapt pour une implmentation sur machines e e squentielles travaillant en temps partag (plusieurs communications peuvent e e alors avoir lieu simultanment et sur une mme machine). e e Partant de ce concept, un mod`le darchitecture pour les protocoles de e communication a t dvelopp par lISO (International Standards Organisaee e e tion) entre 1977 et 1984. Ce mod`le sert souvent de rfrence pour dcrire la e ee e structure et le fonctionnement des protocoles de communication, mais nest pas une contrainte de spcication. e Ce mod`le se nomme OSI comme Open Systems Interconnection Ree ference Model . Les constituants de ce mod`le sont si largement employs e e quil est dicile de parler de rseaux sans y faire rfrence. e ee ` Le mod`le OSI est constitu de sept couches. A chaque couche est ase e socie une fonction bien prcise, linformation traverse ces couches, chacune e e y apporte sa particularit. e Cette forme dorganisation nest pas de au hasard, cest celle sur lau4

Conu par lAmricain Paul Baran et publi en 1964 c e e

Gnralits - LANs e e e quelle les informaticiens ont beaucoup travaill dans les annes soixantes e e pour dnir les caractristiques des syst`mes dexploitation. e e e Une couche ne dnit pas un protocole, elle dlimite un service qui peut e e tre ralis par plusieurs protocoles de direntes origines. Ainsi chaque e e e e couche peut contenir tous les protocoles que lon veut, pourvu que ceux-ci fournissent le service demand ` ce niveau du mod`le. ea e Un des intrts majeurs du mod`le en couches est de sparer la notion de ee e e communication, des probl`mes lis ` la technologie employe pour vhiculer e e a e e les donnes. e Pour mmoire (gure I.01) : e 7 La couche application (Application layer) est constitue des programmes e dapplication ou services, qui se servent du rseau. Ils ne sont pas e forcment accessibles ` lutilisateur car ils peuvent tre rservs ` un e a e e e a usage dadministration. 6 La couche de prsentation (Prsentation layer) met en forme les donnes e e e suivant les standards locaux ou particuliers ` lapplication. Comme, a par exemple passer dune reprsentation big endian ou ` une e a reprsentation little endian ou encore plus complexe comme celle e dcrite pas les XdR (eXternal Data Representation) et qui autorise e la transmission de types abstraits de donnes (structures complexes, e arbres, listes chaines, la liste nest pas limitative. . .). e De nos jour cest de plus en plus le XML5 qui occupe cet espace nalement assez peu norm. e 5 La couche de session (Session layer) eectue laiguillage entre les divers services (7) qui communiquent simultanment ` travers le mme ordie a e nateur connect et le mme rseau. Deux utilisateurs dune mme mae e e e chine peuvent utiliser la mme application sans risque dinter-actions e parasites. 4 La couche de transport (Transport layer) garantie que le destinataire obtient exactement linformation qui lui a t envoye. Cette couche met ee e par exemple en uvre des r`gles de renvoi de linformation en cas dere reur de rception. e 3 La couche rseau (Network layer) isole les couches hautes du mod`le qui e e ne soccupent que de lutilisation du rseau, des couches basses qui ne e soccupent que de la transmission de linformation. 2 La couche de donne (Data link layer) eectue le travail de transmission e des donnes dune machine ` une autre. e a 1 La couche Physique (Physical layer) dnit les caractristiques du matriel e e e ncessaire pour mettre en euvre le signal de transmission, comme des e tensions, des frquences, la description dune prise. . . e5

5

http://www.w3.org/XML/

6 Mod`le en 7 couches de lOSI e

Rseaux locaux e

Protocole

Application Prsentation SessionS Protocole

Application Prsentation SessionS

Protocole

TransportT S

Protocole

TransportS T

RseauR T S

Protocole

RseauS T R

LiaisonL R T S

Protocole

LiaisonS T R L

PhysiqueL R T S

Protocole

PhysiqueS T R L

gure I.01 Mod`le en 7 couches de lOSI e

Du niveau 7 de lapplication, au niveau 4 du transport, linformation circule dans ce que lon appelle un message , au niveau 3 elle se nomme packet , puis frame au niveau 2 et signal au niveau 1. Chaque couche ne voit et ne sait communiquer quavec la couche qui la prc`de et celle qui la suit, avec le cas particulier des couches 1 et 7. e e Lintrt de travailler en couches est que lorsque les modalits dchanges ee e e entre chacune dentres elles sont prcisment dcrites, on peut changer lime e e plmentation et les spcicits de la couche elle-mme sans que cela aecte e e e e le reste de ldice. e Cest sur ce principe quest btie la suite de protocoles dsigne par a e e TCP/IP Quand deux applications A et B discutent entre-elles via le rseau, les e informations circulent de la couche 7 vers la couche 2 quand lapplication A envoie de linformation sur le rseau, et de la couche 2 vers la couche 7 pour e que lapplication B reoive linformation de A. c Le principe de base de cette discussion repose sur le fait que chaque couche du mod`le de la machine A est en relation uniquement avec son homologue e du mme niveau de la machine B. e Quand linformation descend de la couche 7 vers la couche 1, chaque couche en-capsule les donnes reues avant de les transmettre. Ainsi le e c volume dinformations sest accr de quelques centaines doctets arriv ` la u ea couche 1. De mani`re symtrique, quand linformation remonte de la couche phye e sique vers la couche Application, chaque couche prl`ve les octets qui lui sont ee propres, ainsi lapplication B ne voit-elle que les octets envoys par lapplie cation A, sans le dtail de lacheminement. e

3 Rseaux locaux e

7

3

Rseaux locaux e

Le probl`me intuitif et pratique qui se pose est de relier entre elles par un e cble toutes les machines qui veulent communiquer : cest impossible dabord a pour des raisons techniques, le monde est vaste, puis de politique demploi des ressources du rseau, tel rseau qui sert ` lenseignement ne doit pas pas e e a perturber le fonctionnement de tel processus industriel. La consquence est que les rseaux se dveloppent dabord en local, autour e e e dun centre dintrt commun, avant de se tourner (parfois) vers lextrieur. ee e

3.1

Quest-ce quun LAN ?

Le terme rseau local nest pas clairement dni, cependant tout le e e monde saccorde ` baptiser de la sorte un rseau, d`s lors quon lui reconnait a e e les caractristiques suivantes : e Cohabitation de plusieurs protocoles, Un mme mdia (mme cble par exemple) qui raccorde de multiples e e e a machines, peut tre de caractristiques direntes, e e e Une bande passante leve, partage par tous les htes e e e o La capacit de faire du broadcasting et du multicasting , e Une extension gographique de moins en moins limite, e e Un nombre de machines raccordes limit, e e Des relations entre les machines places sur un mode dgalit, (et non e e e par exemple sur un mode Ma tre/Esclave comme dans un rseau dont e la topologie serait en toile), e Une mise en uvre qui reste du domaine priv, cest ` dire qui ne e a dpend pas dun oprateur ociel de tlcommunications. e e ee Notez que les notions de bande passante et nombre limit (etc. . .) e sont volontairement qualitatives. Elles voluent rapidement avec le temps. e

Machine sur le LAN

gure I.02 Exemple de LANs Exemple de types de technologies utilises dans les LANs : e Token ring

8 IEEE 802 LANs Ethernet et Fast-Ethernet FDDI (anneau en bre optique) ATM 802.11(a,b,g,. . .) ...

Rseaux locaux e

3.2

WAN - MAN

Un WAN (Wide Area Network) dsigne des ordinateurs connects entre e e direntes villes (Metropolitan Area Network) ou pays. La technologie utie lise est traditionnellement moins performante que celle dun LAN, cest par e exemple une ligne tlphonique loue fonctionnant ` 64 kbps, une liaison ee e a RNIS, ou encore une liaison transatlantique ` 1Mbits/secondes. a Les amliorations technologiques apportes aux LANs permettent de les e e tendre de plus en plus gographiquement, celles apportes aux WAN auge e e mentent considrablement les bandes passantes, ces deux tendances font que e la distinction entre ces deux types de rseaux est de moins en moins claire. e

3.3

Communications inter-rseaux e

Les rseaux sont appels ` communiquer entres eux et quand cela se e e a produit on parle de communications inter-rseaux ( internetworking ). e Le rle dune communication inter-rseaux est de gommer les ventuelles o e e dirences de technologie dchange pour permettre ` deux rseaux, ou plus, e e a e le partage de ressources communes, lchange dinformations. e Un moyen de faire communiquer deux rseaux distincts passe par lutilie sation de gateway ou passerelle. Un tel dispositif est parfois appel routeur (router), mais cest un abus e de langage. Les hommes se connectent sur les ordinateurs Les ordinateurs se connectent sur un rseau e Les rseaux sinter-connectent dans un internet e

4 Couche 2 - Liaison (Data Link)

9

4

Couche 2 - Liaison (Data Link)

La couche 2 la plus populaire est surement celle que lon nomme abusivement Ethernet , du nom du standard publi en 1982 par DEC, Intel Corp. e et Xerox. Cette technique repose sur une mthode dacc`s et de contrle dite e e o CSMA/CD ( Carrier Sense, Multiple Access with Collision Detection ). Elle est devenue tellement populaire quon parle dun cble Ethernet, a dune adresse Ethernet, dune liaison Ethernet. . . Plus tard lIEEE ( Institute of Electrical and Electronics Engineers ) 6 sous linstance de son commit 802, publia un ensemble de standards e lg`rement dirents, les plus connus concernant la couche 2 sont 802.2 e e e (Contrle logique de la liaison LLC7 ) et 802.3 (CSMA/CD) o Dans le monde TCP/IP, lencapsulation des datagrammes IP est dcrite e dans la RFC 894 [Hornig 1984] pour les rseaux Ethernet et dans la RFC 1042 e [Postel et Reynolds 1988] pour les rseaux 802. e En r`gle gnrale, toute machine utilisant TCP/IP sur ce type de rseaux e e e e doit : 1. tre capable denvoyer et de recevoir un paquet conforme ` la RFC 894, e a 2. tre capable de recevoir des paquets conformes aux deux standards, e 3. Par contre il est seulement souhaitable que cette machine soit capable denvoyer des paquets conformes ` la RFC 1042. a Par dfaut le standard est donc celui de la RFC 894, si une machine peut e faire les deux, cela doit tre congurable. e De nos jours la couche 802.11 (rseau sans l - wi) voit sa popularit e e cro tre tr`s vite. Elle est base sur une mthode dacc`s assez proche, le e e e e CSMA/CA ( Carrier Sense, Multiple Access with Collision Avoidance ). En eet les collisions ne peuvent pas toujours tre dtectes car les htes ne e e e o sont pas ncessairement ` porte radio directe. Les changes, quand ils ne e a e e sont pas de type point ` point , passent par un intermdiaire nomm en a e e gnral point dacc`s ce qui complique le protocole, et donc la trame, par e e e rapport au CSMA/CD.

4.14.1.1

Caractristiques dEthernet eQuelques principes fondamentaux

1. Le support de transmission est un Segment = bus = cble coaxial. Il a ny a pas de topologie particuli`re (boucle, toile, etc. . .). e e 2. Un quipement est raccord sur un cble par un transceiver : e e a Transmitter + receiver = transceiver (coupleur ou transducteur). On parle alors dune station Ethernet, celle-ci a une adresse unique.6 7

http://www.ieee.org/ Logical Link Control

10

Rseaux locaux e 3. Sur le cable circulent des trames, autant de paquets de bits. Il ny a pas de multiplexage en frquence, pas de full duplex 8 . Une trame mise e e par une station est reue par tous les coupleurs du rseau Ethernet, elle c e contient ladresse de lmetteur et celle du destinataire. e 4. Un coupleur doit tre ` lcoute des trames qui circulent sur le cble. Un e a e a coupleur connait sa propre adresse, ainsi si une trame lui est destine e il la prend, sinon il nen fait rien. 5. Une station qui veut mettre attend que toutes les autres stations se e taisent. Autrement dit, si le cble est libre elle envoie sa trame, sinon a elle attend. Si deux stations mettent en mme temps il y a collision. Les deux e e trames sont alors inexploitables, les deux (ou plus) stations dtectent e ce fait et remettent ultrieurement leur paquet en attente. e e 6. Un rseau Ethernet est donc un rseau ` caract`re probabiliste car il ny e e a e a pas de chef dorchestre pour synchroniser les missions. Cette absence e conduit ` dire que cest un rseau galitaire, une sorte de runion sans a e e e animateur entre personnes polies En conclusion, la technologie Ethernet est simple, sa mise en uvre se fait ` faible cot. Points ` retenir : a u a Simplicit et faible cot e u Peu de fonctions optionnelles Pas de priorit e Pas de contrle sur lattitude des voisins o Dbit dau moins 10Mb/s (jusqu` 1000Mb/s thorique). e a e Performances peu dpendantes de la charge, sauf en cas de collisions e trop importantes. 4.1.2 Format dune Frame Ethernet Encapsulation Ethernet (RFC 894) Donnes encapsules

8

6

6

2

46 1500

4

Type des donnes Adresse de la source Adresse de la destination Prambule de synchronisation

Checksum

gure I.03 trame Ethernetles cartes Ethernet modernes utilisent 4 ls au lieu de deux et orent ansi des possibilits de full duplex que navaient pas leurs anctres des annes 80 e e e8

Couche 2 - Liaison (Data Link) Quelques considrations en vrac : e D au dbit global de 10Mbits/seconde, le dbit est de 10 bits par u e e micro-seconde (en gros un facteur 1000 avec un cpu). Une trame a une longueur minimale (72) et une longueur maximale (1526). Si les donnes ne sont pas assez longues (46 octets) des carace t`res de remplissage sont ajouts ( padding ). e e Les octets circulent du premier octet du prambule au dernier octet du e CRC. A lintrieur de chaque octet le premier bit envoy est celui de poids e e faible, etc.. Le prambule et le SFD ( Start Frame Delimiter ) servent ` la syne a chronisation. Adresses dorigine et de destination sont celles respectivement de la machine mettrice et de la machine destinatrice. e Remarque importante : il faut conna ladresse de son correspondant tre ` pour pouvoir lui envoyer un paquet ! A ce stade de lexpos on ne sait e pas encore comment faire quand on ignore cette information. Le champ type est deux octets qui dsignent le type des donnes e e encapsules : e Type Donnes e 0800 IP 0806 ARP 0835 RARP 6000 DEC 6009 DEC 8019 DOMAIN ... ... 4.1.3 Adresses IEEE 802.3 ou Ethernet

11

Pour ces deux standards, ladresse est code sur 6 octets soit 48 bits. e Pour un hte sur un rseau, cette adresse est ce que lon appelle son adresse o e physique ( hardware addresse ) par opposition ` son adresse logique qui a interviendra lors de lexamen de la couche 3. En fait cette adresse est divise en deux parties gales, les trois premiers e e octets dsignent le constructeur, cest le OUI ( Organizationally Unique e Identier ) distribu par lIEEE 9 les trois derniers dsignent le numro de e e e carte, dont la valeur est laisse ` linitiative du constructeur qui poss`de le e a e prxe. e LIEEE assure ainsi lunicit de lattribution des numros de construce e 10 24 teurs, par tranches de 2 cartes Chaque constructeur assure lunicit du numro de chaque carte fae ehttp://standards.ieee.org/regauth/oui/index.shtml La liste ` jour est accessible ` cette url http://standards.ieee.org/regauth/oui/ a a a oui.txt ou ` la n de la RFC 1700 (page 172) Ethernet vendors address components 10 9

12

Rseaux locaux e brique. Il y a au maximum 224 cartes par classe dadresses. e Cette unicit est primordiale car le bon fonctionnement dun LAN requiert e que toutes les stations aient une adresse physique dirente. Dans le cas e contraire le rseau et les applications qui lutilisent auront un comportement e imprvisible le rendant impraticable. e Nous aurons loccasion de rencontrer ` nouveau ce soucis dunicit de a e ladresse physique lorsque nous examinerons les protocoles ARP et RARP (cf cours ARP/RARP pages 55 et 58) et avec CARP ( Common Address Redundancy Protocol ) lorsque nous parlerons des htes virtuels, page 137. o Exemple dadresse physique en reprsentation hexadcimale : e e 08:00:09:35:d5:0b 08:00:09 est attribu ` la rme Hewlett-Packard ea 35:d5:0b est ladresse de la carte Apple Computer Cisco Systems, Inc. Dell Computer Corp. Sun Microsystems Digital Equipment Corporation 3Com Corporation ...

Dautres constructeurs, capturs au hasard des rseaux : e e 00:11:24 00:00:0C 00:06:5B 08:00:20 AA:00:04 00:10:5A ... 4.1.4

Unicast, multicast et broadcast

Dans la pluspart des technologies de LAN, toutes les stations peuvent couter toutes les trames qui leur parviennent. Beaucoup dentres elles ne e leur sont pas destines, et sil fallait que le syst`me dexploitation qui g`re e e e linterface rseau sinterrompt ` chaque fois pour les examiner, il ne serait pas e a tr`s utilisable pour les applications de lutilisateur, parceque tout le temps e interrompu par ces vnements rseau. e e e Pour viter cette situation, le logiciel embarqu dans linterface rseau est e e e paramtr (par le syst`me dexploitation) pour ltrer les paquets non voulus e e e car non ncessaires au bon fonctionnement en rseau. Ce param`trage peut e e e changer dune station ` une autre. a Il est galement possible de ne pas ltrer, cest une proprit utilise e ee e par les analyseurs de trames, comme par exemple loutil tcpdump. La carte fonctionne alors en mode dit promiscuous , qui nest donc pas son mode de fonctionnement standard. Le ltrage sappuie sur trois types dadressages : unicast Ladresse MAC est constitue de la combinaison de 48 bits qui la e rend unique. Ce mode dadressage est typique dchanges entre deux e stations uniquement. Cest lessentiel du trac sur un LAN. Le ltrage peut seectuer en ne retenant que les trames qui ont ladresse MAC de la station locale et donc carter les autres trames de type unicast. e

Couche 2 - Liaison (Data Link) broadcast Tous les bits de ladresse MAC sont ` 1. a Toutes les stations dun rseau sont destinatrices de tels paquets, que e leur ltrage doit laisser passer, avec les inconvients cits prcdemment. e e e Ce mode dadressage ne devrait tre utilis par les protocoles quuniquee e ment quand il nest pas possible de faire autrement. Par exemple pour obtenir une information que seule une station inconnue sur le LAN poss`de. Cest le cas des protocoles ARP et RARP (cf cours ARP/e RARP pages 55 et 58) Utilis abusivement, le broadcast est une gne. e e multicast Il existe un prxe particulier 01:00:5E, non ddie ` un e e e a constructeur car dit de multicast , que nous examinerons dans le cas dIP page 42. Ce mode de dadressage est rserv le plus gnralement ` la dcouverte e e e e a e passive (par lcoute de messages davertissement) ou ` la recherche e a (par lmission de messages de sollicitation) de voisins de LAN ayant e des proprits particuli`res. ee e Le ltrage des sollicitations et leurs rponses peut tre congur ` la e e ea carte sur chaque station, en fonction des impratifs et besoins de fonce tionnement. Ce mode de fonctionnement est assez conome des ressources du rseau, e e puisquune seule station met une information qui est traite par toutes e e celles qui sont intresses, et elles seules. e e Toutes les adresses qui ne sont ni du type broadcast ni du type multicast sont du type unicast.

13

4.2

Dirences Ethernet - 802.2/802.3 eMAC dest. source LLC 1 1 1 SNAP 3 2 Donnes 38 1492

6dest.

6source

2

4

RFC 894

gure I.04 Dirences Ethernet 802.2/802.3 e On remarque que le champ taille de la trame 802.3 est ` la place a du champ type de la trame Ethernet. La direnciation seectue e ` partir de la valeur de ces deux octets. On remarque galement que a e le commit 802 a choisi de subdiviser la couche 2 ISO en deux sous e couches : MAC et LLC.

14

Rseaux locaux e Tous les numros de protocole sont suprieurs ` 150011 qui est la lone e a gueur maximale des donnes encapsules. Donc une valeur infrieure e e e ou gale ` ce seuil indique une trame 802.3. e a MAC = Medium Access Control Cette couche est concerne par la gestion de ladresse physique de la e technologie de LAN employe (comme token-ring par exemple) e LLC = Logical Link Control Dnit ce qui est ncessaire aux multiples couches suprieures possibles e e e pour utiliser et partager les ressources du lan en mme temps. e Le commit 802.2 a galement prvu plusieurs options, dont deux prine e e cipalement utilises : e LLC type 1 Les trames sont dlivres en mode datagramme cest ` dire selon e e a le principe du best eort (on fait au mieux sans garantie de rsultat). e LLC type 2 Les trames sont dlivres avec une garantie de bon acheminement. e e Lusage du LLC de type 2 entra lajout de champs dans lenne tte pour numroter les paquets, ajouter des acquittements, des e e synchronisations, etc. . .Cest le protocole HDLC comme Highlevel Data Link Control . Un travail qui est normalement dvolu ` la couche de transport et e a qui donc parasite beaucoup la lisibilit de lensemble. e

5

Interconnexion - Technologie lmentaire eeLLC MAC Cable transceiver Carte coupleur Ethernet Cable coaxial

Bus de station

Couche rseau

Couche liaison

Couche physique

gure I.05 Interconnexion - Technologie lmentaire eeLe plus petit numro de protocole est celui dIP : 0800 hexadcimal. Ce qui fait en e e dcimal : 8 162 + 0 161 + 0 160 = 2048 e11

Interconnexion - Technologie lmentaire ee Linterconnexion ne se limite pas au niveau Ethernet. Quelques notions de technologie de base et donc tr`s succintes sont e ncessaires pour bien comprendre la suite de ce cours. e

15

5.1

RaccordementRseau local Prise "vampire" Transceiver

Figure I.06 lhte est raccord ` o e a laide dune prise de type vampire et dun transceiver . Dans cette technologie de raccordement, le support est un gros cble jaune, dit encore Thick Ethera net ou Ethernet standard, ou encore 10Base5 (10 comme 10Mbits/s, Base comme Baseband , 5 comme 500 m`tres). e

Carte rseau

Bus informatique

gure I.06 Prise vampire 5.1.1 10Base5

Quelques particularits du 10Base5 : e Longueur maxi est 500 m`tres, pour un maximum de 100 stations. e Cest une vieille technologie tr`s bien normalise mais dpasse. e e e e Pas de perturbation quand on ajoute une station : la pose dune nouvelle prise ninterrompt pas la continuit du rseau. e e Cot non ngligeable. u e Dplacement dune station non ais, en plus on perd la prise vampire, e e elle reste sur le cble. a Pour les cblages rapides on prf`re le 10Base2 ou Thin Ethernet ou a ee encore Ethernet n (2 comme 200 m`tres). e 5.1.2 10Base2

Quelques particularits du 10Base2 : e Longueur maxi de 185 m`tres avec un maximum de 30 stations. e La topologie impose de mettre les stations en srie avec un minimum e de 0.5 m`tre entre chaque. e Le raccord se fait avec un transceiver en T (BNC bien connu des lectroniciens). e Il faut un bouchon de 50 ohms ` chaque extrmit du rseau (2). a e e e Technique tr`s bon march, souple, les cartes int`grent le transducteur. e e e Il faut rompre la continuit du rseau pour ajouter une nouvelle stae e tion, ce qui lempche de fonctionner durant lopration. Cest un ine e

16

Rseaux locaux e convnient de taille sur un rseau tr`s utilis. e e e e Cette technique est en outre assez sensible aux perturbations lectroe magntiques. e Les dsavantages du 10Base2 imposent gnralement lusage du 10BaseT e e e dans toute structure dpassant quelques machines (5 ` 10). Le 10BaseT r`gle e a e dnitivement le probl`me de lajout ou du retrait dune machine sur le LAN e e (T comme Twisted Pair ou paires torsades). e Cette technique impose lusage dune boite noire rseau nomme e e HUB 12 ou moyeu. Celle-ci simule la continuit dans le cas du retrait e dune station. 5.1.3 10BaseT

Quelques particularits du 10BaseT : e Une double paire torsade de cble sut. e a La longueur maximale entre le moyeu et la station est de 100 m`tres. e Le moyeu impose une architecture en toile. e Le raccordement au transducteur se fait ` laide dune prise du type a RJ45, tr`s fragile (ne pas marcher dessus ! :). Le raccordement du HUB e e (page 18) au reste du rseau se fait par 10Base2, en bre optique, ou tout simplement par cha nage avec un autre HUB ( Daisy chain ). Cette technique est dune tr`s grande souplesse dutilisation elle impose e nanmoins lacquisiton de HUB, tr`s peu onreux de nos jours. e e e Cette technique des paires torsades est tr`s sensible aux perturbations e e lectromagntiques. lectromagntiques. e e e e Aujourdhui le 100BaseT quipe la majeur partie des quipements proe e fessionnels, 100 comme 100 Mbits/s. Enn la bre optique est utilise de plus en plus souvent pour eectuer e les liaisons point ` point. a 5.1.4 Fibre optique

Quelques particularits de la bre optique : e La plus utilise est la bre multimode 62.5/125.0 m e Usage dun transducteur optique pour assurer la transformation entre le signal lumineux (un laser) et le signal lectrique. e La distance maximale entre deux points est 1,5 km. La bre est insensible aux perturbations lectromagntiques, elle pere e met en outre le cblage de site important (plusieurs km2 ). a La bre permet datteindre des vitesses de transmission suprieures e aux 10Mbits/100Mbits/1000Mbits maintenant courants sur des paires de ls en cuivre. Les nouvelles technologies issues des recherches les plus rcentes proe mettent des bres multifrquences (1024 canaux par bre) avec pour e12

Voir au paragraphe 5.3 page 18

Interconnexion - Technologie lmentaire ee chaque canal une bande passante de plusieurs giga-octets. Ces nouveaux mdias auront une bande passante de plusieurs tra-octets par e e secondes. . . Son principal dsavantage est un cot lev au m`tre (de lordre dune e u e e e dizaine d pour un cble dun m`tre cinquante) et la ncessit davoir a e e e des transducteurs au raccordement de tous les appareils contenant de llectronique (serveur, switch, routeur). Un tel module peut coter de e u lordre de 500 ` 1000 . . . a 5.1.5 Conclusion

17

Construire un rseau local consiste ` juxtaposer des composants de base e a tr`s bien maitris, une sorte de mcano car tous les supports sont mixables. e e e Ne plus installer les technologies les plus anciennes 10Base5, 10Base2 ou mme 10BaseT, prfrer lusage du 100BaseT ou du 1000BaseT qui sont e ee devenus un standard courant du prcablage. e En eet le cblage constitue les fondations dun rseau, le faire proprea e ment dembl vite une source continuelle dennuis pas la suite ! Les besoins ee en bande passante daujourdhui ne prgurent sans doute pas encore les bee soins de demain (vido haute dnition sur tous les postes. . .), il faut donc e e prvoir tr`s large d`s la conception initiale. e e e

Machine A

Machine B

Rseau physique

Ethernet vs 802.2/802.3 Raccordement ==> drivation du rseau

gure I.07 Technologie de liaison

5.2

Rpteur e e

` A une technologie particuli`re correspond forcment des limitations dues e e aux lois de la physique. Par exemple en technologie Ethernet la longueur maximale dun brin ne peut pas excder 180 m`tres. Pour pallier ` cette e e a dcience on utilise des rpteurs ( repeaters ). e e e

18 Rpteurs : e eRpteur R

Rseaux locaux e

Brins physiques R diffrents mais meme LAN

R

gure I.08 Plusieurs rpteurs mais toujours le mme lan e e e Agit uniquement au niveau de la couche 1 ISO, cest un amplicateur de ligne avec ses avantages et aussi linconvnient de transmettre le e bruit sans discernement : il ny a aucun ltrage sur le contenu. Relie deux brins dune mme technologie en un seul LAN car les trames e sont reproduites ` lidentique. a En 10Base5, lusage dun rpteur fait passer la limite des 500 m`tres e e e ` 1000 m`tres... a e Il ny a aucune administration particuli`re, sinon de brancher la boite e noire ` un emplacement jug pertinent. a e Cest un lment bon march . ee e

5.3

Concentrateurgure I.09 Concentateur" Backbone "

Un concentrateur (ou HUB , moyeu) : Est aussi nomm toile ou mulee tirpteur. e e Les HUB nont pas dadresse Ethernet, sauf certains mod`les e volus, grables ` distance e e e a (TELNET,SNMP,. . .). On parle alors de hubs intelligents parcequils permettent dassocier des ports entres-eux.

HUB

Prises RJ45 Stations raccorder au rseau local

Interconnexion - Technologie lmentaire ee Un hub assure la continuit du rseau sur chacune de ses prises, que lon e e y branche ou pas un hte. En cela il agit uniquement au niveau de la couche o 1 ISO. Il ne limite pas le nombre de collisions et namliore pas lusage de e la bande passante. Son seul intrt est de donc permettre le branchement ou ee le dbranchement des stations sans perturber le fonctionnement global du e rseau. e Les hubs peuvent tre cha es entres-eux ; souvent ils sont relis au backe n e bone local par une autre technologie que la paire torsade (bre optique. . .). e Dans le cas de hubs intelligents les ports sont associs les uns aux e autres par groupes de fonctionnement.

19

5.4

Ponts

La technologie CSMA/CD atteint vite ses limites quand le rseau est ene combr. Une amlioration possible quand on ne peut pas changer de technoloe e gie (augmentation du dbit) est dutiliser un ou plusieurs ponts ( bridges ) e pour regrouper des machines qui ont entre-elles un dialogue privilgi. e e Dialogue entre deux stations, sans pont :

A

B

C

D

E

Le dialogue entre A et B perturbe lventuel dialogue entre D et E.

gure I.10 Dialogue sans pont De nos jours le pont en tant que tel est de moins en moins utilis par e contre le principe de son fonctionnement se retrouve, entres autres, dans les commutateurs (paragraphe suivant) et dans les points dacc`s sans l e ( wireless ). Dialogue entre deux stations, avec pont :

A

B

Pont intelligent

C

D

E

P Meme rseau local

gure I.11 Dialogue avec pont On peut remarquer que les changes locaux ` chaque branche du pont e a seectuent au mieux des possibilit de la bande passante, le pont a donc e

20

Rseaux locaux e multipli par deux la capacit globale du trac rseau vis ` vis de certains e e e a changes. e Un pont : Agit au niveau de la couche 2 ISO, donc au niveau de la trame physique. Son action est plus que physique elle est aussi logique puisquil y a lecture et interprtation des octets vhiculs. Le rsultat de ce travail e e e e logique (apprentissage) consiste ` isoler le trac sur certains tronons a c ` cause de ce travail on parle gnralement de ponts dun LAN. A e e intelligents ou de ponts transparents car la phase dapprentissage est automatique ! Rduit le taux de collisions en rduisant le trac inutile, donc amliore e e e lusage de la bande passante. Sur la gure I.11 les machines A et B peuvent dialoguer sans pertuber le dialogue entre les machines D et E. Par contre dans le cas dun dialogue entre A et E le pont ne sert ` rien. a Moins cher quun routeur et plus rapide (services rendus moins complets). Relie deux segments (ou plus) en un seul LAN, les trames transmises sont reproduites ` lidentique. a Un pont contient un cpu, il est en gnral administrable ` distance car e e a on peut agir sur la table de ltrages (ajout, contraintes de ltrages, etc...). Dans ce cas un pont a une adresse Ethernet. Les ponts interdisent que les rseaux aient des boucles, un protocole e nomm STP ( Spanning Tree Protocol ) dsactive automatiquement e e le ou les ponts qui occasionne(nt) un bouclage des trames. Il existe des ponts entre Ethernet et Token-ring, on parle alors de ponts ` translations . a Attention, un pont ne soccupe que des adresses de type unicast, il ne ltre pas les types broadcast et multicast. On peut remarquer que dans le cas de gure ou le trac est strictement contenu dun cot et de lautre du pont, alors la bande passante globale e du LAN est multiplie par deux. Bien sr cette remarque nest plus e u valable d`s lors quune trame franchit le pont. e

5.5

Commutateurs

Aligner des stations sur un mme rseau local constitue une premi`re e e e tape simple et de faible cot pour un rseau local dentreprise. Le revers e u e dune telle architecture est que le nombre de collisions cro tr`s vite avec t e le trac, do` une baisse tr`s sensible de la rapidit des changes de ` ce u e e e u a gaspillage de la bande passante. Lusage de ponts peut constituer une premi`re solution mais elle nest pas e totalement satisfaisante dans tous les cas de gure, comme nous avons pu le remarquer au paragraphe prcdent. e e Depuis plus dune dizaine dannes est apparue une technologie nomme e e Intelligent Switching Hub (ISH) commutateur intelligent qui utilise

Interconnexion - Technologie lmentaire ee le concept de commutation parall`le et qui a rvolutionn lorganisation des e e e rseaux locaux. e Daspect extrieur ces quipements se prsentent comme un hub mais ont e e e en interne un cpu susamment puissant et un bus interne de donnes sue samment rapide pour mettre en uvre une logique de commutation rane. e Lorsquune trame se prsente sur lun des ports du commutateur elle est e (ou nest pas) re-route vers un autre port en fonction de ladresse physique e du destinataire. Il existe plusieurs dirences entre un pont et un commutae teur : Un commutateur peut mettre simultanment plusieurs ports en relae tion, sans que le dbit de chacun en soure. Par exemple un commue tateur de 8 ports en 100BaseT peut supporter quatre connexions port source/port destination simultanes ` 100 Mbit/s chacune, ce qui donne e a un dbit global de 400 Mbit/s qui doit pouvoir tre support par le bus e e e interne ou fond de panier . Dun point de vue plus thorique, un commutateur ` N ports ` 100 e a a Mbit/s chacun a un dbit maximum de N 100/2 = 50 N M bit/s. e Si une trame est ` destination dun port dj` occup, le commutateur a ea e la mmorise pour la dlivrer sitt le port disponible. e e o Un commutateur fonctionne comme un pont pour tablir sa carte des e adresses mais il peut aussi travailler ` partir dune table prcongure. a e e Un commutateur peut fonctionner par port (une seule station Ethernet par port) ou par segment (plusieurs stations Ethernet par port). Avec un commutateur, il est ais dorganiser un rseau en fonction de e e la porte des serveurs des postes clients associs. La gure I.12 illustre ce e e principe :S1 S2 Serveurs gnraux

21

Commutateur intelligent

Hub

Client 1

Serveur local

Client 2

gure I.12 Commutateur Le trac rseau entre le client 1 et le serveur S2 ne perturbe pas e

22

Rseaux locaux e le trac entre le client 2 et le serveur S1 . De mme le trac entre le e client 1 et le serveur local nest pas vu du client 2 . Les commutateurs tiquettent les trames avec un identicateur du VLAN e auquel elles appartiennent. Cette tiquette se rsume par deux octets ajouts e e e dans la trame, selon les recommandations du comit 802 (norme 802.1Q). e

5.6

Passerelles Routeurs

Pour raccorder deux LANs non forcment contigus il faut faire appel ` e a ce que lon dsigne une passerelle ( gateway ). Son rle est de prendre e o une dcision sur la route ` suivre et de convertir le format des donnes pour e a e tre compatible avec le rseau ` atteindre (en fonction de la route). e e a Souvent, et cest le cas avec TCP/IP, la fonction de conversion nest pas utilise, la fonction de routage donne alors son nom ` lappareil en question e a (ponyme), qui devient un routeur ( router ). e Le probl`me du routage entre A et B : e

B

G

A

G

G

Plusieurs chemins sont possibles pour aller de A B, do la ncessit dune stratgie.

gure I.13 Fonction routage La fonction passerelle consiste aussi en traduction de protocoles :A G G G X25 Ethernet B

Token ring

Modem Liaison rtc

gure I.14 Traduction de protocoles Un routeur : Agit au niveau de la couche 3. Il prend des dcisions de destination. e

6 Bibliographie Poss`de au moins deux interfaces rseau (pas forcment identiques). e e e Contient un cpu et un programme tr`s volu, il est administrable ` e e e a distance. Remplit galement les fonctions dun pont (B-routeur) mais les brins e ainsi relis ne forment en gnral plus un LAN car les adresses physiques e e e contenues dans les trames ne servent plus ` identier le destinataire. Il a faut une autre adresse qui dpend de la pile au-dessus (exemple adresse e IP). Il existe cependant des possibilits de simuler un mme LAN bien e e que les trame traversent un routeur (cf cours ARP (page 55)).

23

6

Bibliographie

Pour en savoir plus : RFC 0894 S C. Hornig, Standard for the transmission of IP datagrams over Ethernet networks , 04/01/1984. (Pages=3) (Format=.txt) RFC 1042 S J. Postel, J. Reynolds, Standard for the transmission of IP datagrams over IEEE 802 networks , 02/01/1988. (Pages=15) (Format=.txt) (Obsoletes RFC0948) Radia Perlman Interconnections Briges and Routeurs AddisonWesley Radia Perlman Interconnections Second Edition Briges, Routeurs, Switches, and Internetworking Protocoles AddisonWesley

24

Rseaux locaux e

Chapitre II Introduction ` IP a1 TCP/IP et lInternet - Un peu dhistoire

En 1969 aux Etats Unis, lagence gouvernementale DARPA lance un projet de rseau exprimental, bas sur la commutation de paquets. Ce rseau, e e e e nomm ARPANET, fut construit dans le but dtudier les technologies de e e communications, indpendamment de toute contrainte commerciale1 e Un grand nombre de techniques de communication par modems datent de cette poque. e Lexprience dARPANET est alors si concluante que toutes les organie sations qui lui sont rattaches lutilisent quotidiennement pour pour leurs e messages de service. En 1975, le rseau passe ociellement du stade exprimental au stade e e oprationnel. e Le dveloppement dARPANET ne sarrte pas pour autant, les bases des e e protocoles TCP/IP sont dvelopps ` ce moment, donc apr`s que ARPANET e e a e soit oprationnel. e En Juin 1978 Jon Postel2 dnit IPv4 et en 1981 IP est standardis dans e e la RFC 791 [J. Postel 1981]. En 1983 les protocoles TCP/IP sont adopts comme un standard mie litaire et toutes les machines sur le rseau commencent ` lutiliser. Pour e a faciliter cette reconversion, la DARPA demande ` luniversit de Berkeley a e dimplmenter ces protocoles dans leur version (BSD) dunix. Ainsi come mence le mariage entre ce syst`me dexploitation et les protocoles TCP/IP. e Lapport de lUniversit de Berkeley est majeur, tant au niveau thorique e e (concept des sockets) quau niveau de lutilisateur, avec des utilitaires tr`s e homog`nes qui sint`grent parfaitement au paradigme dusage existant (rcp, e eLanc en France en 1972, le projet Cyclades , sous la responsabilit de Louis Pouzin, e e tait galement bas sur la commutation de paquets et lusage de datagrammes. Il reliait e e e quelques grands centres universitaires en France (Lille, Paris, Grenoble,. . .) et en Europe. Il est rest oprationnel jusquen 1978, date ` laquelle faute de crdit il a t abandonn e e a e ee e au prot de X25, prfr par les oprateurs de tlcoms nationaux. eee e ee 2 Jon Postel est dcd le 16 Octobre 1998 ` lge de 55 ans, cest le premier pionner e e e a a de lInternet dcd, on peut consulter par exemple : http://www.isi.edu/postel.html e e e1

26

Introduction ` IP a rsh, rlogin. . .). Depuis cette poque, un nouveau terme est apparu pour dsigner cette e e interconnexion de rseaux, lInternet, avec un i majuscule. e Le succ`s de cette technologie est alors tr`s important et suscite un e e intrt croissant de la part dacteurs tr`s divers, et en particulier La Naee e tional Science Foundation qui y voit un intrt majeur pour la recherche ee scientique et soutient donc ce nouveau moyen de mettre en communication tous les chercheurs. Depuis 1990, ARPANET nest plus, pourtant le terme Internet demeure il dsigne maintenant un espace de communication qui englobe la plan`te tout e e enti`re. Des millions de sites partout sur la surface du globe y sont connects. e e Depuis 1994, lInternet sest ouvert au commerce, surtout avec lapparition en 1991 dun nouvel outil de consultation, le World Wide Web ou Web et ses interfaces populaires : Mosaic3 , Netscape, Mozilla, Firefox, Konqueror. . . La liste nest pas exhaustive ! Depuis 1995, pour faire face ` sa popularit fortement croissante et aux a e demandes de transactions scurises, le protocole volue et une nouvelle vere e e sion, la version 6 (IPng puis tout simplement IPv6), est dnie et en cours e de dploiement exprimental. e e Les protocoles dsigns par TCP/IP ont galement envahi les rseaux e e e e locaux eux-mmes, car il est plus facile dutiliser les mmes protocoles en e e interne et en externe. Pour les utilisateurs, lacc`s ` lInternet est possible ` laide dune collece a a tion de programmes spcialiss si faciles ` utiliser que lon peut ignorer tout e e a (ou presque) de leur fonctionnement interne. Seul les programmeurs dapplications rseaux et les administrateurs de e syst`mes ont besoin den conna les arcanes. e tre Les services rseaux les plus populaires sont principalement : e Le courrier lectronique qui permet lchange de messages entres usae e gers. Les innombrables forums de discussion ( news ). Le transfert de chiers entre machines ( ftp et ses drivs comme e e fetch , wget , curl . . .). Le remote login , ou ses quivalents crypts ( ssh , qui permet ` un e e a utilisateur de se connecter sur un site distant, depuis son poste local. Les serveurs inter-actifs. Les anciens se nommaient archie, gopher, veronica, wais... Dsormais ils sont rendus obsol`tes par le web e e (protocole http). Puis maintenant la radio, la vidoconfrence, la ralit virtuelle avec le e e e e VRML, le chat , les bourses dchanges point ` point, les blogs e a forme volue des pages personnelles, etc . . . e e ... En conclusion de ce paragraphe sur lhistorique on peut dire que lInternet est une collection apparemment anarchique (il ny a pas de structure hie3

http://archive.ncsa.uiuc.edu/SDG/Software/Mosaic/NCSAMosaicHome.html

2 Caractristiques de TCP/IP e rarchique et centralise) de rseaux inter-connects et appartenant ` divers e e e a propritaires. e On distingue trois niveaux : les rseaux au sein des organisations (lans), e les rseaux rgionaux et les rseaux de transit. e e e Le site de lAssociation Fnet indique quelques pointeurs intressants sur e 4 lhistorique de lInternet (en anglais).

27

2

Caractristiques de TCP/IP e

Le succ`s de TCP/IP, sil vient dabord dun choix du gouvernement e amricain, sappuit ensuite sur des caractristiques intressantes : e e e 1. Cest un protocole ouvert, les sources (C) en sont disponibles gratuitement et ont t dvelopps indpendamment dune architecture paree e e e ticuli`re, dun syst`me dexploitation particulier, dune structure come e merciale propritaire. Ils sont donc thoriquement transportables sur e e nimporte quel type de plate-forme, ce qui est prouv de nos jours. e 2. Ce protocole est indpendant du support physique du rseau. Cela pere e met ` TCP/IP dtre vhicul par des supports et des technologies a e e e aussi dirents quune ligne srie, un cble coaxial Ethernet, une liaie e a son loue, un rseau token-ring, une liaison radio (satellites, wireless e e 802.11a/b/g), une liaison FDDI 600Mbits, une liaison par rayon laser, infrarouge, xDSL, ATM, bre optique, la liste des supports et des technologies nest pas exhaustive. . . 3. Le mode dadressage est commun ` tous les utilisateurs de TCP/IP a quelle que soit la plate-forme qui lutilise. Si lunicit de ladresse est e respecte, les communications aboutissent mme si les htes sont aux e e o antipodes. 4. Les protocoles de hauts niveaux sont standardiss ce qui permet des e dveloppements largement rpandus et inter-oprables sur tous types e e e de machines. La majeurs partie des informations relatives ` ces protocoles sont publies a e dans les RFCs (Requests For Comments). Les RFCs contiennent les derni`res e versions des spcications de tous les protocoles TCP/IP, ainsi que bien e dautres informations comme des propositions damliorations des outils ace tuels, la description de nouveaux protocoles, des commentaires sur la gestion des rseaux, la liste nest pas exhaustive. e

4

http://www.fnet.fr/history/

28

Introduction ` IP a

3

Comparaison TCP/IP ISO

La suite de protocoles dsigne par TCP/IP, ou encore pile ARPA , e e est construite sur un mod`le en couches moins complet que la proposition e de lISO. Quatre couches sont susantes pour dnir larchitecture de ce e protocole. 4 Couche Application (Application layer). 3 Couche Transport (Transport layer). 2 Couche Internet (Internet layer). 1 Couche interface rseau (Network access layer). e 0 Matriel (nest pas une couche comprise dans le protocole). e

Application Prsentation Session Transport Rseau Liaison Physique 4 3 2 1 0 Application Transport Internet Interface Matriel

Pile Arpa

gure II.01 Comparaison ISO-ARPA La gure II.01 met en comparaison les fonctionnalits des couches du e mod`le OSI et celles des protocoles TCP/IP. e La gure II.02 elle, donne une vue densemble de larchitecture logicielle avec quelques protocoles dapplications de la famille IP. Ils sont tr`s nome breux, non reprsents tous ici, et il sen faut de beaucoup car il en existe des e e centaines. La lecture du chier /etc/services, prsent sur toute machine e de la famille des Unix, donne un aperu des principaux services enregistrs c e aupr`s de lIANA. Quand nous aurons expliqi la notion port (cf page e e 81) cette lecture sera plus facile. . .Donc patience ! IP Internet Protocol SCTP Stream Control Transmission Protocol TCP Transmission Control Protocol UDP User Datagram Protocol

Comparaison TCP/IP ISO