a (3)

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

Transcript of a (3)

Cours dintroduction ` a TCP/IPFran cois Laissus Version du 25 f evrier 2009

ii Copyright c 1999 - 2009 $Rev: 131 $ Fran cois Laissus

Avant proposLes sources de ce document sont d evelopp ees, g er ees et conserv ees gr ace aux services de FreeBSD1 , remarquable syst` eme dexploitation OpenSource ! Les divers chiers qui composent le source sont edit es ` a laide de l editeur de texte vi ; lhistorique des modications est con e aux bons soins de loutil subversion (gestionnaire de versions). Lensemble du processus de fabrication est pilot e par une poign ee de chiers Makefile (commande make).A La mise en forme seectue gr ace au logiciel L TEX. Les gures sont dessin ees sous X Window Systems (X11) ` a laide du logiciel xfig et int egr ees directement dans le document nal sous forme de PostScript encapsul e. Les listings des exemples de code C ont et e fabriqu es ` a laide du logiciel a2ps et inclus dans le document nal egalement en PostScript encapsul e.

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

Ou ` a t el echarger au format PDF : 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 r epertoire : 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 $ Fran cois Laissus

Historique des principaux changements` ce jour(25/02/2009), ce document existe et est accessible sur lInternet A depuis le milieu des ann ees 90. De tr` es nombreux internautes lont t el echarg e et mont renvoy e leurs commentaires. Il etait donc plus que temps de garder une trace des principales modications et restructurations an que ces lecteurs d` eles puissent suivre les modications et, peut etre, t el echarger une nouvelle version en connaissance de cause !

Version du 25 F evrier 2009 Restructuration de lensemble en quatre parties principales (A,B,C, D) et un index g en eral. Ajout dune partie R eseaux IP avanc es . Ajout dun chapitre sur SNMP et dun chapitre sur le routage dynamique. Ajout dun changelog, cette page. . . Le .pdf est maintenant r eactif, les urls, les renvois de pages, le sommaire, les listes de tableaux et gures. Nombreuses corrections et mises ` a jour de tous les chapitres depuis la version du 14 octobre 2007.

iv

Table des mati` eresPr eface xxi

AI 1 2

Introduction ` a la pile ARPAR eseaux locaux Pr eambule . . . . . . . . . . . . . . . . . . . . . . G en eralit es - LANs . . . . . . . . . . . . . . . . . 2.1 G en eralit es . . . . . . . . . . . . . . . . . 2.2 Mod` ele de communication OSI . . . . . . R eseaux locaux . . . . . . . . . . . . . . . . . . . 3.1 Quest-ce quun LAN ? . . . . . . . . . . . 3.2 WAN - MAN . . . . . . . . . . . . . . . . 3.3 Communications inter-r eseaux . . . . . . . Couche 2 - Liaison (Data Link) . . . . . . . . . . 4.1 Caract eristiques dEthernet . . . . . . . . 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 Di erences Ethernet - 802.2/802.3 . . . . . Interconnexion - Technologie el ementaire . . . . . 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 R ep eteur . . . . . . . . . . . . . . . . . . . 5.3 Concentrateur . . . . . . . . . . . . . . . . 5.4 Ponts . . . . . . . . . . . . . . . . . . . . 5.5 Commutateurs . . . . . . . . . . . . . . . 5.6 Passerelles Routeurs . . . . . . . . . . . Bibliographie . . . . . . . . . . . . . . . . . . . . Introduction ` a IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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 Caract eristiques de TCP/IP . . . . . . . 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 e de ladresse . . . . . . . . . 1.2 D elivrance des adresses IPv4 . . . . 2 Anatomie dune adresse IP . . . . . . . . . 2.1 D ecomposition en classes . . . . . . 2.2 Adresses particuli` eres . . . . . . . . 2.3 Sous-r eseaux . . . . . . . . . . . . . 2.4 CIDR . . . . . . . . . . . . . . . . 2.5 Pr ecisions sur le broadcast . . . . . 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-t ete . . . . . . . 1.2 Network Byte Order . . . . . . . 1.3 Description de len-t ete . . . . . . 1.4 Fragmentation IP - MTU . . . . 1.4.1 Fragmentation . . . . . 1.4.2 R eassemblage . . . . . . Protocole ARP . . . . . . . . . . . . . . 2.1 Fonctionnement . . . . . . . . . . 2.2 Format du datagramme . . . . . 2.3 Proxy ARP . . . . . . . . . . . . Protocole RARP . . . . . . . . . . . . . Protocole ICMP . . . . . . . . . . . . . . 4.1 Le syst` eme de messages derreur . 4.2 Format des messages ICMP . . . 4.3 Quelques types de messages ICMP Protocole IGMP . . . . . . . . . . . . . . 5.1 Description de len-t ete . . . . . . 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 D ecouverte de routeur et propagation de routes . . 6.5 Message ICMP redirect . . . . . . . . . . . . . 6.6 Interface de loopback . . . . . . . . . . . . . . Finalement, comment ca marche ? . . . . . . . . . . . . . . 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-t ete . . . . . . . . . . . . . . . . 1.3 Ports r eserv es ports disponibles . . . . . . . . . 1.3.1 Attribution des ports ancienne m ethode 1.3.2 Attribution des ports nouvelle m ethode 2 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . Protocole TCP TCP Transmission Control Protocol . . . 1.1 Caract eristiques de TCP . . . . . . 1.2 Description de len-t ete . . . . . . . D ebut et cl oture dune connexion . . . . . 2.1 Etablissement dune connexion . . 2.2 Cl oture dune connexion . . . . . . 2.2.1 Cl oture canonique . . . . 2.2.2 Cl oture abrupte . . . . . . Contr ole du transport . . . . . . . . . . . 3.1 M ecanisme de lacquittement . . . 3.2 Fen etres glissantes . . . . . . . . . Compl ements sur le fonctionnement de TCP 4.1 Algorithme de Nagle . . . . . . . . 4.2 D epart lent . . . . . . . . . . . . . 4.3 Evitement de congestion . . . . . . Paquets captur es, comment es . . . . . . . Conclusion sur TCP . . . . . . . . . . . . Bibliographie . . . . . . . . . . . . . . . .

. . . . . . .

. . . . . . .

VI 1

2

3

4

5 6 7

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

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

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

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

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

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

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

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

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

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

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

viii

` TABLE DES MATIERES

B

R eseaux IP avanc es

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` eme autonome . . . . . . . . . 1.2 Vecteur de distances vs Etat de liens . . . . . 2 Routage avec RIP . . . . . . . . . . . . . . . . . . . . 2.1 En fonctionnement . . . . . . . . . . . . . . . 2.1.1 Horizon partag e ou Split horizon . . 2.1.2 Mises ` a jour d eclench ees ou Triggered 2.2 Le protocole RIPv1 vs RIPv2 . . . . . . . . . 2.3 Algorithme Bellman-Ford . . . . . . . . . . . 2.3.1 M etrique . . . . . . . . . . . . . . . 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 etats . . . . . . . 3.3.1 Valeur des etats de liens . . . . . . . 3.4 Calcul du plus court chemin . . . . . . . . . . 3.5 Hi erarchie de routeurs . . . . . . . . . . . . . 3.6 Fonctionnement ` a lint erieur dune zone . . . . 3.6.1 Voisinage et adjacence . . . . . . . . 3.7 Protocole HELLO . . . . . . . . . . . . . . . . 3.7.1 Cinq types de paquets . . . . . . . . 3.7.2 En-t ete standard des paquets OSPF 3.7.3 En-t ete des paquets HELLO . . . . . 4 Bibliographie . . . . . . . . . . . . . . . . . . . . . . ements de r VIII El eseaux 1 H otes ou services virtuels . . . . . . . . . . . . . . . 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 r esum e . . . . . . . . . . 2.2.3 Comment utiliser IPsec ? . . . . . . 2.2.4 Impl ementation dIPsec . . . . . . 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 r eseau priv 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 G en eralit es sur le serveur de noms . . . . . . . . . 1.1 Bref historique . . . . . . . . . . . . . . . 1.2 Syst` eme hi erarchis e de nommage . . . . . 1.2.1 Domaine & zone . . . . . . . . . 1.2.2 Hi erarchie des domaines . . . . . Fonctionnement du DNS . . . . . . . . . . . . . . 2.1 Convention de nommage . . . . . . . . . . 2.1.1 Completion . . . . . . . . . . 2.2 Le Resolver . . . . . . . . . . . . . . . 2.3 Strat egie de fonctionnement . . . . . . . . 2.3.1 Interrogation locale . . . . . . . . 2.3.2 Interrogation distante . . . . . . 2.3.3 Interrogation par procuration 2.4 Hi erarchie de serveurs . . . . . . . . . . . 2.5 Conversion dadresses IP en noms . . . . . 2.6 Conclusion . . . . . . . . . . . . . . . . . . Mise ` a jour dynamique . . . . . . . . . . . . . . . S ecurisation des echanges . . . . . . . . . . . . . . 4.1 TSIG/TKEY pour s ecuriser les transferts . 4.1.1 TSIG . . . . . . . . . . . . . . . 4.1.2 TKEY . . . . . . . . . . . . . . . 4.2 DNSSEC pour s ecuriser les interrogations 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 electronique G en eralit es sur le courrier electronique . . . . . . . . . . 1.1 M etaphore du courrier postal - Lenveloppe . . . 1.2 Adresse electronique . . . . . . . . . . . . . . . . Format dun E-mail - RFC 822 . . . . . . . . . . . . 2.1 Quelques champs couramment rencontr es dans les t etes . . . . . . . . . . . . . . . . . . . . . . . . . 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 electronique . . . . . . . 3.4 Courriers ind esirables - Le spam . . . . . . . . . . 3.4.1 Caract eriser le spam . . . . . . . . . . . 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` eme dexploitation . . . . . 4.3 Le cas de POP . . . . . . . . . . . . . . . . . . . 4.4 Le cas de IMAP . . . . . . . . . . . . . . . . . . . Conguration du Sendmail . . . . . . . . . . . . . . . . . 5.1 Conguration ` a laide de M4 . . . . . . . . . . . . 5.2 Conguration manuelle . . . . . . . . . . . . . . . 5.2.1 R` egles de r e ecriture . . . . . . . . . . . 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 r eseaux avec SNMP 1 N ecessit e dun outil . . . . . . . . . . . . . . . . . . . . . 1.1 Probl ematique de lISO . . . . . . . . . . . . . . . 1.2 Syst` eme de gestion de r eseau . . . . . . . . . . . 1.3 SNMP Simple Network Management Protocol 1.4 Historique du protocole SNMP . . . . . . . . . . 1.5 Vocabulaire et architecture . . . . . . . . . . . . . 1.6 Di erentes versions . . . . . . . . . . . . . . . . . 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 donn ees el ementaires . . . . . . . . . . .

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 G en eralit es sur les sockets de Berkeley 1 G en eralit es . . . . . . . . . . . . . . . . . . . . . . 2 Pr esentation des sockets . . . . . . . . . . . . . . . 3 Etude des primitives . . . . . . . . . . . . . . . . . 3.1 Cr eation dune socket . . . . . . . . . . . . . 3.1.1 Valeur retourn ee par socket . . . . 3.2 Sp ecication dune adresse . . . . . . . . . . 3.2.1 Sp ecication dun num ero de port . 3.2.2 Sp ecication dune adresse IP . . . 3.2.3 La primitive bind . . . . . . . . . 3.2.4 Les structures dadresses . . . . . . 3.2.5 Valeur retourn ee par bind . . . . . 3.3 Connexion ` a une adresse distante . . . . . . 3.3.1 Mode connect e . . . . . . . . . . . 3.3.2 Mode datagramme . . . . . . . . . 3.3.3 Valeur retourn ee par connect : . . 3.4 Envoyer des donn ees . . . . . . . . . . . . . 3.4.1 Envoi en mode connect e . . . . . . 3.4.2 Envoi en mode datagramme . . . . 3.5 Recevoir des donn ees . . . . . . . . . . . . . 3.5.1 Reception en mode connect e. . . . 3.5.2 Recevoir en mode datagramme . . 3.6 Sp ecier une le dattente . . . . . . . . . . 3.7 Accepter une connexion . . . . . . . . . . . 3.8 Terminer une connexion . . . . . . . . . . . 4 Sch ema g en eral dune session clientserveur . . . .

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 Compl ements sur les sockets Berkeley 275 1 R eservation des ports . . . . . . . . . . . . . . . . . . . . . . . 275 1.1 R eservation de port Ancienne m ethode . . . . . . . 276 1.2 R eservation de port Nouvelle m ethode . . . . . . . . 276 2 Ordre des octets sur le r eseau . . . . . . . . . . . . . . . . . . 277 3 Op erations sur les octets . . . . . . . . . . . . . . . . . . . . . 278 4 Conversion dadresses . . . . . . . . . . . . . . . . . . . . . . . 279 4.1 Conversion dadresse - IPv4 seul . . . . . . . . . . . . . 279 4.2 Conversion dadresse - Compatible IPv4 et IPv6 . . . . 279 5 Conversion h ote adresse IPv4 . . . . . . . . . . . . . . . . . 280 5.1 Une adresse IP ` a partir dun nom dh ote . . . . . . . . 280 5.2 Un nom dh ote ` a partir dune adresse IP . . . . . . . . 282 6 Conversion N de port service . . . . . . . . . . . . . . . . . 282 6.1 Le num ero ` a partir du nom . . . . . . . . . . . . . . . 282 6.2 Le nom ` a partir du num ero . . . . . . . . . . . . . . . 284 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 r esum e . . . . . . . . . . . . . . . . . . . . 287 7.1.5 Exemple dusage ` a la place de gethostbyname 288 7.1.6 Exemple dusage ` a la place de getservbyname 290 7.1.7 En r esum e . . . . . . . . . . . . . . . . . . . . 290 8 Conversion nom de protocole N de protocole . . . . . . . . 291 9 Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292 10 Exemples de mise en application . . . . . . . . . . . . . . . . . 293 10.1 Ancienne m ethode (usage de gethostbyname) . . . . . 293 10.2 Nouvelle m ethode (usage de getaddrinfo) . . . . . . . 298 11 Conclusion et bibliographie . . . . . . . . . . . . . . . . . . . . 300 XIV 1 ements de serveurs El Type de serveurs . . . . . . . . . . . . 1.1 Serveurs it eratif et concourant . 1.2 Le choix dun protocole . . . . . 1.2.1 Mode connect e . . . . 1.2.2 Mode datagramme . . 1.3 Quatre mod` eles de serveurs . . Technologie el ementaire . . . . . . . . 2.1 Gestion des t aches esclaves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 301 301 302 302 303 303 307 307

2

` TABLE DES MATIERES 2.2 fork, vfork et rfork . . . . . . . . . . . . 2.3 Processus l egers, les threads . . . . . 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 Pr esentation de inetd . . . . . . . . . . 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 d echange avec http . . . . . 1.2 Structure dun echange . . . . . . . . . 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 requ etes . . 3.2.3 Deux types de CGIs . . . . . 4 Principe de fonctionnement des CGIs . . . . . 4.1 CGI M ethode GET, sans argument 4.2 CGI M ethode GET, avec arguments 4.3 CGI M ethode POST . . . . . . . . 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 g en eral & Annexes

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` ele en 7 couches de lOSI . . . . . . . . . Exemple de LANs . . . . . . . . . . . . . . . . trame Ethernet . . . . . . . . . . . . . . . . . Di erences Ethernet 802.2/802.3 . . . . . . . . Interconnexion - Technologie el ementaire . . . Prise vampire . . . . . . . . . . . . . . . . . . Technologie de liaison . . . . . . . . . . . . . . Plusieurs r ep eteurs mais toujours le m eme lan 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 D ecomposition en classes . . . . . Sous-r eseaux . . . . . . . . . . . . Puissances de 2 . . . . . . . . . . . Adresses de multicast . . . . . . . Adresse physique de multicast . . . Usage combin e des adresses logique Structure du datagramme IP . . . Big endian vs Little endian Fragmentation IP . . . . . . . . . . Fragment ` a transmettre . . . . . . R esum e de la fragmentation . . . . Question ARP . . . . . . . . . . . R eponse ARP . . . . . . . . . . . . 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-t ete IGMP . . . . . . . . . . . . . . Fonctionnement IGMP . . . . . . . . . . Table de routage . . . . . . . . . . . . . Situation r eseau lors du netstat . . . . 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 Num ero de port comme num ero UDP encapsul e dans IP . . . . Structure de len-t ete UDP . . Cas du checksum non nul . . . TCP encapsul e dans IP . . . . Structure de len-t ete TCP . . Etablissement dune connexion Cl oture dune connexion . . . . Emission dun rst . . . . . . . . M ecanisme de lacquittement . Principe de la fen etre glissante D etail de la fen etre glissante . . Exemple de fen etre glissante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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 ext erieur, le monde int erieur ! . . . . . . . 111 La route vers H depuis R a une m etrique de 2 et passe par R1113 Fonctionnement el ementaire . . . . . . . . . . . . . . . . . . 115 L horizon partag e ne r esout pas tout ! . . . . . . . . . . 116 RIP est transport e par UDP/IP . . . . . . . . . . . . . . . . 118 Format dun message RIPv2 . . . . . . . . . . . . . . . . . . 118 Relation dordre entre deux LSP . . . . . . . . . . . . . . . 125 Propagation des LSP par inondation ou ooding . . . . 126 Organisation en zones Hi erarchie de routeurs . . . . . . . 128 Propagation dun LSP, sans et avec un DR . . . . . . . . . . 129 Organisation globale de len-t ete du protocole OSPF . . . . 132 En-t ete standard de 24 octets . . . . . . . . . . . . . . . . . 133 En-t ete du paquet HELLO . . . . . . . . . . . . . . . . . . 134 Serveur HTTP virtuel Tunnel IP - Principe . Tunnel IP - cas concr et En-t etes dIPsec . . . . 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 num ero de port) . . . . . . . . . . . . . . . . . . . . . . . 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 hi erarchique des domaines Le resolver dans son environnement Subdivision hi erarchique des domaines . Interrogation locale . . . . . . . . . . . . Interrogation distante . . . . . . . . . . R eponse ` a une requ ete non formul ee . . 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` eme dexploitation Le cas de POP . . . . . . . . . . . . . . . . . . . . . Concentration du mail sur un mailhub . . . . . . R` egles de r e ecriture . . . . . . . . . . . . . . . . . .

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` ese graphique des compteurs ifInOctets et ifOutOctets sur 24h . . . . . . . . . . . . . . . . . . . . . . XI.07 Exemple d ecran de surveillance avec tkined . . . . . . . XII.01 XII.02 XII.03 XII.04 XII.05 Les sockets, une famille de primitives . . . . . Relation pile IP, num ero de port et process ID 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 r eseau . . . . . . . . . . . . . . . . . 277

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

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

Structure dun message HTTP . . . Environnement syst` eme . . . . . . . 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-t ete IP . . . . . . . . 11 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 r eseaux priv es . . . . . . . . Adresses IP avec une signication particuli` ere Partitionnement dune classe C en quatre sous D etail des quatre sous r eseaux dun /26 . . . Adresses IP priv ees, notation du CIDR . . . . Agr egations r egionales des blocs IP . . . . . . Quelques adresses multicasts du LAN . . . . . . . . . . . . . . r eseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 37 38 39 40 41 42

IV.01 Bits du champ TOS . . . . . . . . . . . . . . . . . . . . . . 49 IV.02 En-t ete des fragments IP vs en-t ete datagramme original . . 54 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-t ete TCP) . . . . . . . . . . 92 VII.01 Quelques valeurs d etats de liens pour OSPF . . . . . . . . . 127 X.01 Quelques champs couramment rencontr es dans un t ete de mail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193

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

xx

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

Pr efaceAttention ! Ce document nest quun support de cours, cest ` a dire quil ne remplace pas les documents cit es dans la bibliographie qui termine chacun des chapitres qui le composent. Evidement imparfaites, pleines derreurs involontaires, et surtout incompl` etes, ces pages r eclament avant tout votre indulgence de lecteur bienveillant : Rien nest constant, tout change comme le disait d ej` a Lao Tseu, 400 ans avant JC. Que dirait-il alors aujourdhui, concernant les r eseaux ! ! Ces cours saccompagnent de travaux pratiques dont le texte ne gure pas ici, ils sont initialement con cus pour les etudiants du Mast` ere de Syst` emes 2 dInformations Ouverts (SIO) de lEcole Centrale Paris, an de les aider ` a la compr ehension th eorique et pratique des r eseaux TCP/IP.

Ce support est en acc` es libre, cest ` a dire mis ` a la disposition de tous pour un usage personnel ou collectif, sans but lucratif. Sa revente, sil y a lieu, ne peut etre envisag ee que pour couvrir les frais induits par sa reproduction. Enn, sa redistribution sous quelque forme que ce soit, ne peut se concevoir sans cette pr eface.Ne pas h esiter ` a me contacter en cas de doute sur lusage : Fran cois Laissus En aucun cas lauteur ne pourra etre tenu responsable des cons equences de lusage de ce document, qui est fourni tel quel et sans garantie daucune sorte. Lusage des informations contenues est donc plac e sous la responsabilit e pleine et enti` ere du lecteur. Enn, si vous pensez que la lecture de ce support vous a apport e quelque chose, que vous avez une remarque ` a me faire, ou tout simplement me complimenter ( ca fait toujours plaisir quoi que lon puisse en dire ! :) sentez-vous libres de menvoyer un courrier electronique, je suis toujours ravi dapprendre que ce travail a pu servir ! Enn merci de votre int er et pour ce document, jesp` ere que vous y trouverez ce que vous cherchez !2

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

xxii

Pr eface

Premi` ere partie Introduction ` a la pile ARPA

Chapitre I R eseaux locaux1 Pr eambule

Ce cours nest pas un cours g en eral sur les r eseaux mais une pr esentation minimale de cette technologie pour pouvoir aborder le cours de concepts et programmation TCP/IP sous UNIX. TCP/IP est le protocole le plus r epandu dans le monde gr ace ` a lInternet. En 1980 il ne comptait que quelques dizaines dh otes, en juin 1996 ce nombre etait de 12 millions de machines, r eparties en pr` es de 500 000 r eseaux (Par comparaison, en f evrier 1995, les m emes chires etaient 4 850 000 machines pour plus de 71 000 r eseaux locaux). En janvier 2003, le nombre de machines1 directement accessibles sur le r eseau etait de 180 000 000 selon lISC2 . Depuis on ne compte plus tant la croissance est importante. . .Pour la france lAFNIC propose egalement 3 quelques statisques . . .Il nexiste pas de botin g en eral du r eseau, par contre Bill Cheswick des Bell labs la cartographi e, et le r esultat est fascinant :http://www.cheswick.com/ches/map/gallery/index.html

22.1

G en eralit es - LANsG en eralit es

Un r eseau informatique met en relation des ordinateurs, comme un r eseau t el ephonique met en relation des personnes. Des ordinateurs sont dits en r eseaux d` es lors quils partagent une technologie qui leur permet de communiquer ensemble. Le plus souvent cette technologie se mat erialise physiquement par une liaison avec un c able conducteur. Sur ce type de support, un signal electrique1 2

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

4

R eseaux locaux v ehicule les messages informatiques. Il existe dautres types de supports en pleine expansion comme les liaisons par ondes hertziennes, rayon laser, infrarouge. . . Sans connaissance pr ealable concernant les r eseaux informatiques on peut imaginer quantit e dinterrogations ` a partir de cette hypoth` ese de raccordement : Comment reconnaitre un correspondant ? Comment dialoguer avec ? Comment diuser linformation ` a plusieurs correspondants ? Comment eviter la cacophonie ? Il y a til une hi erarchie des machines ? Il y a til un chef dorchestre ? ... Toutes ces questions (et bien dautres) trouveront une r eponse dans ce cycle de cours. Ces r eponses sont g en eralement formul ees dans un protocole , une sorte de mode demploi des r eseaux. Il y a des centaines de protocoles di erents sur lInternet, certains sont tr` es populaires, dautres absolument pas.

2.2

Mod` ele de communication OSI

Le concept de base de tout ce cours est celui de la commutation de a lapproche par paquets , une vieille id ee de linformatique4 contrairement ` circuits virtuels plus utilis ee en t el ephonie. Les donn ees ` a transmettre dune machine ` a une autre sont fragment ees ` a l emission en petit blocs de quelques centaines doctets munis de ladresse du destinataire, envoy ees sur le r eseau et r e-assembl ees ` a la r eception pour reproduire les donn ees dorigine. Ce concept facilite le partage des possibilit es physiques du r eseaux (bande passante) et est parfaitement adapt e pour une impl ementation sur machines s equentielles travaillant en temps partag e (plusieurs communications peuvent alors avoir lieu simultan ement et sur une m eme machine). Partant de ce concept, un mod` ele darchitecture pour les protocoles de communication a et e d evelopp e par lISO (International Standards Organisation) entre 1977 et 1984. Ce mod` ele sert souvent de r ef erence pour d ecrire la structure et le fonctionnement des protocoles de communication, mais nest pas une contrainte de sp ecication. Ce mod` ele se nomme OSI comme Open Systems Interconnection Reference Model . Les constituants de ce mod` ele sont si largement employ es quil est dicile de parler de r eseaux sans y faire r ef erence. ` chaque couche est asLe mod` ele OSI est constitu e de sept couches. A soci ee une fonction bien pr ecise, linformation traverse ces couches, chacune y apporte sa particularit e. Cette forme dorganisation nest pas d ue au hasard, cest celle sur la4

Con cu par lAm ericain Paul Baran et publi e en 1964

G en eralit es - LANs quelle les informaticiens ont beaucoup travaill e dans les ann ees soixantes pour d enir les caract eristiques des syst` emes dexploitation. Une couche ne d enit pas un protocole, elle d elimite un service qui peut etre r ealis e par plusieurs protocoles de di erentes origines. Ainsi chaque couche peut contenir tous les protocoles que lon veut, pourvu que ceux-ci fournissent le service demand e` a ce niveau du mod` ele. Un des int er ets majeurs du mod` ele en couches est de s eparer la notion de communication, des probl` emes li es ` a la technologie employ ee pour v ehiculer les donn ees. Pour m emoire (gure I.01) : 7 La couche application (Application layer) est constitu ee des programmes dapplication ou services, qui se servent du r eseau. Ils ne sont pas forc ement accessibles ` a lutilisateur car ils peuvent etre r eserv es ` a un usage dadministration. 6 La couche de pr esentation (Pr esentation layer) met en forme les donn ees suivant les standards locaux ou particuliers ` a lapplication. Comme, par exemple passer dune repr esentation big endian ou ` a une repr esentation little endian ou encore plus complexe comme celle d ecrite pas les XdR (eXternal Data Representation) et qui autorise la transmission de types abstraits de donn ees (structures complexes, arbres, listes chain ees, la liste nest pas limitative. . .). 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 simultan ement ` a travers le m eme ordinateur connect e et le m eme r eseau. Deux utilisateurs dune m eme machine peuvent utiliser la m eme application sans risque dinter-actions parasites. 4 La couche de transport (Transport layer) garantie que le destinataire obtient exactement linformation qui lui a et e envoy ee. Cette couche met par exemple en uvre des r` egles de renvoi de linformation en cas derreur de r eception. 3 La couche r eseau (Network layer) isole les couches hautes du mod` ele qui ne soccupent que de lutilisation du r eseau, des couches basses qui ne soccupent que de la transmission de linformation. 2 La couche de donn ee (Data link layer) eectue le travail de transmission des donn ees dune machine ` a une autre. 1 La couche Physique (Physical layer) d enit les caract eristiques du mat eriel n ecessaire pour mettre en euvre le signal de transmission, comme des tensions, des fr equences, la description dune prise. . .5

5

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

6 Mod` ele en 7 couches de lOSI

R eseaux locaux

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` ele en 7 couches de lOSI

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 pr ec` ede et celle qui la suit, avec le cas particulier des couches 1 et 7. Lint er et de travailler en couches est que lorsque les modalit es d echanges entre chacune dentres elles sont pr ecis ement d ecrites, on peut changer limpl ementation et les sp ecicit es de la couche elle-m eme sans que cela aecte le reste de l edice. Cest sur ce principe quest b atie la suite de protocoles d esign ee par TCP/IP Quand deux applications A et B discutent entre-elles via le r eseau, les informations circulent de la couche 7 vers la couche 2 quand lapplication A envoie de linformation sur le r eseau, et de la couche 2 vers la couche 7 pour que lapplication B re coive linformation de A. Le principe de base de cette discussion repose sur le fait que chaque couche du mod` ele de la machine A est en relation uniquement avec son homologue du m eme niveau de la machine B. Quand linformation descend de la couche 7 vers la couche 1, chaque couche en-capsule les donn ees re cues avant de les transmettre. Ainsi le volume dinformations sest accr u de quelques centaines doctets arriv e` a la couche 1. De mani` ere sym etrique, quand linformation remonte de la couche physique vers la couche Application, chaque couche pr el` eve les octets qui lui sont propres, ainsi lapplication B ne voit-elle que les octets envoy es par lapplication A, sans le d etail de lacheminement.

3 R eseaux locaux

7

3

R eseaux locaux

Le probl` eme intuitif et pratique qui se pose est de relier entre elles par un c able toutes les machines qui veulent communiquer : cest impossible dabord pour des raisons techniques, le monde est vaste, puis de politique demploi des ressources du r eseau, tel r eseau qui sert ` a lenseignement ne doit pas pas perturber le fonctionnement de tel processus industriel. La cons equence est que les r eseaux se d eveloppent dabord en local, autour dun centre dint er et commun, avant de se tourner (parfois) vers lext erieur.

3.1

Quest-ce quun LAN ?

Le terme r eseau local nest pas clairement d eni, cependant tout le monde saccorde ` a baptiser de la sorte un r eseau, d` es lors quon lui reconnait les caract eristiques suivantes : Cohabitation de plusieurs protocoles, Un m eme m edia (m eme c able par exemple) qui raccorde de multiples machines, peut etre de caract eristiques di erentes, Une bande passante elev ee, partag ee par tous les h otes La capacit e de faire du broadcasting et du multicasting , Une extension g eographique de moins en moins limit ee, Un nombre de machines raccord ees limit e, Des relations entre les machines plac ees sur un mode d egalit e, (et non par exemple sur un mode Ma tre/Esclave comme dans un r eseau dont la topologie serait en etoile), Une mise en uvre qui reste du domaine priv e, cest ` a dire qui ne d epend pas dun op erateur ociel de t el ecommunications. Notez que les notions de bande passante et nombre limit e (etc. . .) sont volontairement qualitatives. Elles evoluent rapidement avec le temps.

Machine sur le LAN

gure I.02 Exemple de LANs Exemple de types de technologies utilis ees dans les LANs : Token ring

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

R eseaux locaux

3.2

WAN - MAN

Un WAN (Wide Area Network) d esigne des ordinateurs connect es entre di erentes villes (Metropolitan Area Network) ou pays. La technologie utilis ee est traditionnellement moins performante que celle dun LAN, cest par exemple une ligne t el ephonique lou ee fonctionnant ` a 64 kbps, une liaison RNIS, ou encore une liaison transatlantique ` a 1Mbits/secondes. Les am eliorations technologiques apport ees aux LANs permettent de les etendre de plus en plus g eographiquement, celles apport ees aux WAN augmentent consid erablement les bandes passantes, ces deux tendances font que la distinction entre ces deux types de r eseaux est de moins en moins claire.

3.3

Communications inter-r eseaux

Les r eseaux sont appel es ` a communiquer entres eux et quand cela se produit on parle de communications inter-r eseaux ( internetworking ). Le r ole dune communication inter-r eseaux est de gommer les eventuelles di erences de technologie d echange pour permettre ` a deux r eseaux, ou plus, le partage de ressources communes, l echange dinformations. Un moyen de faire communiquer deux r eseaux distincts passe par lutilisation de gateway ou passerelle. Un tel dispositif est parfois appel e routeur (router), mais cest un abus de langage. Les hommes se connectent sur les ordinateurs Les ordinateurs se connectent sur un r eseau Les r eseaux sinter-connectent dans un internet

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 e en 1982 par DEC, Intel Corp. et Xerox. Cette technique repose sur une m ethode dacc` es et de contr ole dite CSMA/CD ( Carrier Sense, Multiple Access with Collision Detection ). Elle est devenue tellement populaire quon parle dun c able Ethernet, dune adresse Ethernet, dune liaison Ethernet. . . Plus tard lIEEE ( Institute of Electrical and Electronics Engineers ) 6 sous linstance de son commit e 802, publia un ensemble de standards l eg` erement di erents, les plus connus concernant la couche 2 sont 802.2 (Contr ole logique de la liaison LLC7 ) et 802.3 (CSMA/CD) Dans le monde TCP/IP, lencapsulation des datagrammes IP est d ecrite dans la RFC 894 [Hornig 1984] pour les r eseaux Ethernet et dans la RFC 1042 [Postel et Reynolds 1988] pour les r eseaux 802. En r` egle g en erale, toute machine utilisant TCP/IP sur ce type de r eseaux doit : 1. etre capable denvoyer et de recevoir un paquet conforme ` a la RFC 894, 2. etre capable de recevoir des paquets conformes aux deux standards, 3. Par contre il est seulement souhaitable que cette machine soit capable denvoyer des paquets conformes ` a la RFC 1042. Par d efaut le standard est donc celui de la RFC 894, si une machine peut faire les deux, cela doit etre congurable. De nos jours la couche 802.11 (r eseau sans l - wi) voit sa popularit e cro tre tr` es vite. Elle est bas ee sur une m ethode dacc` es assez proche, le CSMA/CA ( Carrier Sense, Multiple Access with Collision Avoidance ). En eet les collisions ne peuvent pas toujours etre d etect ees car les h otes ne sont pas n ecessairement ` a port ee radio directe. Les echanges, quand ils ne sont pas de type point ` a point , passent par un interm ediaire nomm e en g en eral point dacc` es ce qui complique le protocole, et donc la trame, par rapport au CSMA/CD.

4.14.1.1

Caract eristiques dEthernetQuelques principes fondamentaux

1. Le support de transmission est un Segment = bus = c able coaxial. Il ny a pas de topologie particuli` ere (boucle, etoile, etc. . .). 2. Un equipement est raccord e sur un c able par un transceiver : 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

R eseaux locaux 3. Sur le cable circulent des trames, autant de paquets de bits. Il ny a pas de multiplexage en fr equence, pas de full duplex 8 . Une trame emise par une station est re cue par tous les coupleurs du r eseau Ethernet, elle contient ladresse de l emetteur et celle du destinataire. 4. Un coupleur doit etre ` a l ecoute des trames qui circulent sur le c able. Un coupleur connait sa propre adresse, ainsi si une trame lui est destin ee il la prend, sinon il nen fait rien. 5. Une station qui veut emettre attend que toutes les autres stations se taisent. Autrement dit, si le c able est libre elle envoie sa trame, sinon elle attend. Si deux stations emettent en m eme temps il y a collision. Les deux trames sont alors inexploitables, les deux (ou plus) stations d etectent ce fait et re emettent ult erieurement leur paquet en attente. 6. Un r eseau Ethernet est donc un r eseau ` a caract` ere probabiliste car il ny a pas de chef dorchestre pour synchroniser les emissions. Cette absence conduit ` a dire que cest un r eseau egalitaire, une sorte de r eunion sans animateur entre personnes polies En conclusion, la technologie Ethernet est simple, sa mise en uvre se fait ` a faible co ut. Points ` a retenir : Simplicit e et faible co ut Peu de fonctions optionnelles Pas de priorit e Pas de contr ole sur lattitude des voisins D ebit dau moins 10Mb/s (jusqu` a 1000Mb/s th eorique). Performances peu d ependantes de la charge, sauf en cas de collisions 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 possibilit es de full duplex que navaient pas leurs anc etres des ann ees 808

Couche 2 - Liaison (Data Link) Quelques consid erations en vrac : D u au d ebit global de 10Mbits/seconde, le d ebit est de 10 bits par micro-seconde (en gros un facteur 1000 avec un cpu). Une trame a une longueur minimale (72) et une longueur maximale (1526). Si les donn ees ne sont pas assez longues (46 octets) des caract` eres de remplissage sont ajout es ( padding ). Les octets circulent du premier octet du pr eambule au dernier octet du CRC. A lint erieur de chaque octet le premier bit envoy e est celui de poids faible, etc.. Le pr eambule et le SFD ( Start Frame Delimiter ) servent ` a la synchronisation. Adresses dorigine et de destination sont celles respectivement de la machine emettrice et de la machine destinatrice. Remarque importante : il faut conna tre ladresse de son correspondant ` ce stade de lexpos pour pouvoir lui envoyer un paquet ! A e on ne sait pas encore comment faire quand on ignore cette information. Le champ type est deux octets qui d esignent le type des donn ees encapsul ees : Type Donn ees 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 cod ee sur 6 octets soit 48 bits. Pour un h ote sur un r eseau, cette adresse est ce que lon appelle son adresse physique ( hardware addresse ) par opposition ` a son adresse logique qui interviendra lors de lexamen de la couche 3. En fait cette adresse est divis ee en deux parties egales, les trois premiers octets d esignent le constructeur, cest le OUI ( Organizationally Unique Identier ) distribu e par lIEEE 9 les trois derniers d esignent le num ero de carte, dont la valeur est laiss ee ` a linitiative du constructeur qui poss` ede le pr exe. LIEEE assure ainsi lunicit e de lattribution des num eros de construc10 24 teurs, par tranches de 2 cartes Chaque constructeur assure lunicit e du num ero de chaque carte fahttp://standards.ieee.org/regauth/oui/index.shtml La liste ` a jour est accessible ` a cette url http://standards.ieee.org/regauth/oui/ a la n de la RFC 1700 (page 172) Ethernet vendors address components oui.txt ou `10 9

12

R eseaux locaux briqu ee. Il y a au maximum 224 cartes par classe dadresses. Cette unicit e est primordiale car le bon fonctionnement dun LAN requiert que toutes les stations aient une adresse physique di erente. Dans le cas contraire le r eseau et les applications qui lutilisent auront un comportement impr evisible le rendant impraticable. Nous aurons loccasion de rencontrer ` a nouveau ce soucis dunicit e de 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 h otes virtuels, page 137. Exemple dadresse physique en repr esentation hexad ecimale : 08:00:09:35:d5:0b 08:00:09 est attribu e` a la rme Hewlett-Packard 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, captur es au hasard des r eseaux : 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 ecouter toutes les trames qui leur parviennent. Beaucoup dentres elles ne leur sont pas destin ees, et sil fallait que le syst` eme dexploitation qui g` ere linterface r eseau sinterrompt ` a chaque fois pour les examiner, il ne serait pas tr` es utilisable pour les applications de lutilisateur, parceque tout le temps interrompu par ces ev enements r eseau. Pour eviter cette situation, le logiciel embarqu e dans linterface r eseau est param etr e (par le syst` eme dexploitation) pour ltrer les paquets non voulus car non n ecessaires au bon fonctionnement en r eseau. Ce param` etrage peut changer dune station ` a une autre. Il est egalement possible de ne pas ltrer, cest une propri et e utilis ee 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 constitu ee de la combinaison de 48 bits qui la rend unique. Ce mode dadressage est typique d echanges entre deux 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 ecarter les autres trames de type unicast.

Couche 2 - Liaison (Data Link) broadcast Tous les bits de ladresse MAC sont ` a 1. Toutes les stations dun r eseau sont destinatrices de tels paquets, que leur ltrage doit laisser passer, avec les inconvients cit es pr ec edemment. Ce mode dadressage ne devrait etre utilis e par les protocoles quuniquement quand il nest pas possible de faire autrement. Par exemple pour obtenir une information que seule une station inconnue sur le LAN poss` ede. Cest le cas des protocoles ARP et RARP (cf cours ARP/RARP pages 55 et 58) Utilis e abusivement, le broadcast est une g ene. multicast Il existe un pr exe particulier 01:00:5E, non d edi ee ` a un constructeur car dit de multicast , que nous examinerons dans le cas dIP page 42. Ce mode de dadressage est r eserv e le plus g en eralement ` a la d ecouverte passive (par l ecoute de messages davertissement) ou ` a la recherche (par l emission de messages de sollicitation) de voisins de LAN ayant des propri et es particuli` eres. Le ltrage des sollicitations et leurs r eponses peut etre congur e` a la carte sur chaque station, en fonction des imp eratifs et besoins de fonctionnement. Ce mode de fonctionnement est assez econome des ressources du r eseau, puisquune seule station emet une information qui est trait ee par toutes celles qui sont int eress ees, et elles seules. Toutes les adresses qui ne sont ni du type broadcast ni du type multicast sont du type unicast.

13

4.2

Di erences Ethernet - 802.2/802.3MAC dest. source LLC 1 1 1 SNAP 3 2 Donnes 38 1492

6dest.

6source

2

4

RFC 894

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

14

R eseaux locaux Tous les num eros de protocole sont sup erieurs ` a 150011 qui est la longueur maximale des donn ees encapsul ees. Donc une valeur inf erieure ou egale ` a ce seuil indique une trame 802.3. MAC = Medium Access Control Cette couche est concern ee par la gestion de ladresse physique de la technologie de LAN employ ee (comme token-ring par exemple) LLC = Logical Link Control D enit ce qui est n ecessaire aux multiples couches sup erieures possibles pour utiliser et partager les ressources du lan en m eme temps. Le commit e 802.2 a egalement pr evu plusieurs options, dont deux principalement utilis ees : LLC type 1 Les trames sont d elivr ees en mode datagramme cest ` a dire selon le principe du best eort (on fait au mieux sans garantie de r esultat). LLC type 2 Les trames sont d elivr ees avec une garantie de bon acheminement. Lusage du LLC de type 2 entra ne lajout de champs dans lent ete pour num eroter les paquets, ajouter des acquittements, des synchronisations, etc. . .Cest le protocole HDLC comme Highlevel Data Link Control . Un travail qui est normalement d evolu ` a la couche de transport et qui donc parasite beaucoup la lisibilit e de lensemble.

5

Interconnexion - Technologie el ementaireLLC MAC Cable transceiver Carte coupleur Ethernet Cable coaxial

Bus de station

Couche rseau

Couche liaison

Couche physique

gure I.05 Interconnexion - Technologie el ementaireLe plus petit num ero de protocole est celui dIP : 0800 hexad ecimal. Ce qui fait en d ecimal : 8 162 + 0 161 + 0 160 = 204811

Interconnexion - Technologie el ementaire Linterconnexion ne se limite pas au niveau Ethernet. Quelques notions de technologie de base et donc tr` es succintes sont n ecessaires pour bien comprendre la suite de ce cours.

15

5.1

RaccordementRseau local Prise "vampire" Transceiver

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

Carte rseau

Bus informatique

gure I.06 Prise vampire 5.1.1 10Base5

Quelques particularit es du 10Base5 : Longueur maxi est 500 m` etres, pour un maximum de 100 stations. Cest une vieille technologie tr` es bien normalis ee mais d epass ee. Pas de perturbation quand on ajoute une station : la pose dune nouvelle prise ninterrompt pas la continuit e du r eseau. Co ut non n egligeable. D eplacement dune station non ais e, en plus on perd la prise vampire, elle reste sur le c able. Pour les c ablages rapides on pr ef` ere le 10Base2 ou Thin Ethernet ou encore Ethernet n (2 comme 200 m` etres). 5.1.2 10Base2

Quelques particularit es du 10Base2 : Longueur maxi de 185 m` etres avec un maximum de 30 stations. La topologie impose de mettre les stations en s erie avec un minimum de 0.5 m` etre entre chaque. Le raccord se fait avec un transceiver en T (BNC bien connu des electroniciens). Il faut un bouchon de 50 ohms ` a chaque extr emit e du r eseau (2). Technique tr` es bon march e, souple, les cartes int` egrent le transducteur. Il faut rompre la continuit e du r eseau pour ajouter une nouvelle station, ce qui lemp eche de fonctionner durant lop eration. Cest un in-

16

R eseaux locaux conv enient de taille sur un r eseau tr` es utilis e. Cette technique est en outre assez sensible aux perturbations electromagn etiques. Les d esavantages du 10Base2 imposent g en eralement lusage du 10BaseT dans toute structure d epassant quelques machines (5 ` a 10). Le 10BaseT r` egle d enitivement le probl` eme de lajout ou du retrait dune machine sur le LAN (T comme Twisted Pair ou paires torsad ees). Cette technique impose lusage dune boite noire r eseau nomm ee HUB 12 ou moyeu. Celle-ci simule la continuit e dans le cas du retrait dune station. 5.1.3 10BaseT

Quelques particularit es du 10BaseT : Une double paire torsad ee de c able sut. La longueur maximale entre le moyeu et la station est de 100 m` etres. Le moyeu impose une architecture en etoile. Le raccordement au transducteur se fait ` a laide dune prise du type RJ45, tr` es fragile (ne pas marcher dessus ! :). Le raccordement du HUB eseau se fait par 10Base2, en bre optique, ou (page 18) au reste du r tout simplement par cha nage avec un autre HUB ( Daisy chain ). Cette technique est dune tr` es grande souplesse dutilisation elle impose n eanmoins lacquisiton de HUB, tr` es peu on ereux de nos jours. Cette technique des paires torsad ees est tr` es sensible aux perturbations electromagn etiques. electromagn etiques. Aujourdhui le 100BaseT equipe la majeur partie des equipements professionnels, 100 comme 100 Mbits/s. Enn la bre optique est utilis ee de plus en plus souvent pour eectuer les liaisons point ` a point. 5.1.4 Fibre optique

Quelques particularit es de la bre optique : La plus utilis ee est la bre multimode 62.5/125.0 m Usage dun transducteur optique pour assurer la transformation entre le signal lumineux (un laser) et le signal electrique. La distance maximale entre deux points est 1,5 km. La bre est insensible aux perturbations electromagn etiques, elle permet en outre le c ablage de site important (plusieurs km2 ). La bre permet datteindre des vitesses de transmission sup erieures aux 10Mbits/100Mbits/1000Mbits maintenant courants sur des paires de ls en cuivre. Les nouvelles technologies issues des recherches les plus r ecentes promettent des bres multifr equences (1024 canaux par bre) avec pour12

Voir au paragraphe 5.3 page 18

Interconnexion - Technologie el ementaire chaque canal une bande passante de plusieurs giga-octets. Ces nouveaux m edias auront une bande passante de plusieurs t era-octets par secondes. . . Son principal d esavantage est un co ut elev e au m` etre (de lordre dune dizaine d pour un c able dun m` etre cinquante) et la n ecessit e davoir des transducteurs au raccordement de tous les appareils contenant de l electronique (serveur, switch, routeur). Un tel module peut co uter de lordre de 500 ` a 1000 . . . 5.1.5 Conclusion

17

Construire un r eseau local consiste ` a juxtaposer des composants de base tr` es bien maitris e, une sorte de m ecano car tous les supports sont mixables. Ne plus installer les technologies les plus anciennes 10Base5, 10Base2 ou m eme 10BaseT, pr ef erer lusage du 100BaseT ou du 1000BaseT qui sont devenus un standard courant du pr ecablage. En eet le c ablage constitue les fondations dun r eseau, le faire proprement dembl e evite une source continuelle dennuis pas la suite ! Les besoins en bande passante daujourdhui ne pr egurent sans doute pas encore les besoins de demain (vid eo haute d enition sur tous les postes. . .), il faut donc pr evoir tr` es large d` es la conception initiale.

Machine A

Machine B

Rseau physique

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

gure I.07 Technologie de liaison

5.2

R ep eteur

` une technologie particuli` A ere correspond forc ement des limitations dues aux lois de la physique. Par exemple en technologie Ethernet la longueur maximale dun brin ne peut pas exc eder 180 m` etres. Pour pallier ` a cette d ecience on utilise des r ep eteurs ( repeaters ).

18 R ep eteurs :Rpteur R

R eseaux locaux

Brins physiques R diffrents mais meme LAN

R

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

5.3

Concentrateurgure I.09 Concentateur" Backbone "

Un concentrateur (ou HUB , moyeu) : Est aussi nomm e etoile ou multir ep eteur. Les HUB nont pas dadresse Ethernet, sauf certains mod` eles evolu es, g erables ` a distance (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 el ementaire Un hub assure la continuit e du r eseau sur chacune de ses prises, que lon y branche ou pas un h ote. En cela il agit uniquement au niveau de la couche 1 ISO. Il ne limite pas le nombre de collisions et nam eliore pas lusage de la bande passante. Son seul int er et est de donc permettre le branchement ou le d ebranchement des stations sans perturber le fonctionnement global du r eseau. Les hubs peuvent etre cha n es entres-eux ; souvent ils sont reli es au backbone local par une autre technologie que la paire torsad ee (bre optique. . .). Dans le cas de hubs intelligents les ports sont associ es les uns aux autres par groupes de fonctionnement.

19

5.4

Ponts

La technologie CSMA/CD atteint vite ses limites quand le r eseau est encombr e. Une am elioration possible quand on ne peut pas changer de technologie (augmentation du d ebit) est dutiliser un ou plusieurs ponts ( bridges ) pour regrouper des machines qui ont entre-elles un dialogue privil egi 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 e par contre le principe de son fonctionnement se retrouve, entres autres, dans les commutateurs (paragraphe suivant) et dans les points dacc` es sans l ( 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 echanges locaux ` a chaque branche du pont seectuent au mieux des possibilit e de la bande passante, le pont a donc

20

R eseaux locaux multipli e par deux la capacit e globale du trac r eseau vis ` a vis de certains echanges. 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 interpr etation des octets v ehicul es. Le r esultat de ce travail logique (apprentissage) consiste ` a isoler le trac sur certains tron cons ` dun LAN. A cause de ce travail on parle g en eralement de ponts intelligents ou de ponts transparents car la phase dapprentissage est automatique ! R eduit le taux de collisions en r eduisant le trac inutile, donc am eliore 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 ` a rien. 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 ` a lidentique. Un pont contient un cpu, il est en g en eral administrable ` a distance car 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 r eseaux aient des boucles, un protocole nomm e STP ( Spanning Tree Protocol ) d esactive automatiquement 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 ` a translations . 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 e et de lautre du pont, alors la bande passante globale du LAN est multipli ee par deux. Bien s ur cette remarque nest plus valable d` es lors quune trame franchit le pont.

5.5

Commutateurs

Aligner des stations sur un m eme r eseau local constitue une premi` ere etape simple et de faible co ut pour un r eseau local dentreprise. Le revers dune telle architecture est que le nombre de collisions cro t tr` es vite avec le trac, do` u une baisse tr` es sensible de la rapidit e des echanges d ue ` a ce gaspillage de la bande passante. Lusage de ponts peut constituer une premi` ere solution mais elle nest pas totalement satisfaisante dans tous les cas de gure, comme nous avons pu le remarquer au paragraphe pr ec edent. Depuis plus dune dizaine dann ees est apparue une technologie nomm ee Intelligent Switching Hub (ISH) commutateur intelligent qui utilise

Interconnexion - Technologie el ementaire le concept de commutation parall` ele et qui a r evolutionn e lorganisation des r eseaux locaux. Daspect ext erieur ces equipements se pr esentent comme un hub mais ont en interne un cpu susamment puissant et un bus interne de donn ees susamment rapide pour mettre en uvre une logique de commutation ran ee. Lorsquune trame se pr esente sur lun des ports du commutateur elle est (ou nest pas) re-rout ee vers un autre port en fonction de ladresse physique du destinataire. Il existe plusieurs di erences entre un pont et un commutateur : Un commutateur peut mettre simultan ement plusieurs ports en relation, sans que le d ebit de chacun en soure. Par exemple un commutateur de 8 ports en 100BaseT peut supporter quatre connexions port source/port destination simultan ees ` a 100 Mbit/s chacune, ce qui donne un d ebit global de 400 Mbit/s qui doit pouvoir etre support e par le bus interne ou fond de panier . Dun point de vue plus th eorique, un commutateur ` a N ports ` a 100 Mbit/s chacun a un d ebit maximum de N 100/2 = 50 N M bit/s. Si une trame est ` a destination dun port d ej` a occup e, le commutateur la m emorise pour la d elivrer sit ot le port disponible. Un commutateur fonctionne comme un pont pour etablir sa carte des adresses mais il peut aussi travailler ` a partir dune table pr econgur ee. 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 e dorganiser un r eseau en fonction de la port ee des serveurs des postes clients associ es. La gure I.12 illustre ce principe :S1 S2 Serveurs gnraux

21

Commutateur intelligent

Hub

Client 1

Serveur local

Client 2

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

22

R eseaux locaux le trac entre le client 2 et le serveur S1 . De m eme le trac entre le client 1 et le serveur local nest pas vu du client 2 . Les commutateurs etiquettent les trames avec un identicateur du VLAN auquel elles appartiennent. Cette etiquette se r esume par deux octets ajout es dans la trame, selon les recommandations du comit e 802 (norme 802.1Q).

5.6

Passerelles Routeurs

Pour raccorder deux LANs non forc ement contigus il faut faire appel ` a ce que lon d esigne une passerelle ( gateway ). Son r ole est de prendre une d ecision sur la route ` a suivre et de convertir le format des donn ees pour etre compatible avec le r eseau ` a atteindre (en fonction de la route). Souvent, et cest le cas avec TCP/IP, la fonction de conversion nest pas utilis ee, la fonction de routage donne alors son nom ` a lappareil en question ( eponyme), qui devient un routeur ( router ). Le probl` eme du routage entre A et B :

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 d ecisions de destination.

6 Bibliographie Poss` ede au moins deux interfaces r eseau (pas forc ement identiques). Contient un cpu et un programme tr` es evolu e, il est administrable ` a distance. Remplit egalement les fonctions dun pont (B-routeur) mais les brins ainsi reli es ne forment en g en eral plus un LAN car les adresses physiques contenues dans les trames ne servent plus ` a identier le destinataire. Il faut une autre adresse qui d epend de la pile au-dessus (exemple adresse IP). Il existe cependant des possibilit es de simuler un m eme LAN bien 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

R eseaux locaux

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

En 1969 aux Etats Unis, lagence gouvernementale DARPA lance un projet de r eseau exp erimental, bas e sur la commutation de paquets. Ce r eseau, nomm e ARPANET, fut construit dans le but d etudier les technologies de communications, ind ependamment de toute contrainte commerciale1 Un grand nombre de techniques de communication par modems datent de cette epoque. Lexp erience dARPANET est alors si concluante que toutes les organisations qui lui sont rattach ees lutilisent quotidiennement pour pour leurs messages de service. En 1975, le r eseau passe ociellement du stade exp erimental au stade op erationnel. Le d eveloppement dARPANET ne sarr ete pas pour autant, les bases des protocoles TCP/IP sont d evelopp es ` a ce moment, donc apr` es que ARPANET soit op erationnel. En Juin 1978 Jon Postel2 d enit IPv4 et en 1981 IP est standardis e dans la RFC 791 [J. Postel 1981]. En 1983 les protocoles TCP/IP sont adopt es comme un standard militaire et toutes les machines sur le r eseau commencent ` a lutiliser. Pour faciliter cette reconversion, la DARPA demande ` a luniversit e de Berkeley dimpl ementer ces protocoles dans leur version (BSD) dunix. Ainsi commence le mariage entre ce syst` eme dexploitation et les protocoles TCP/IP. Lapport de lUniversit e de Berkeley est majeur, tant au niveau th eorique (concept des sockets) quau niveau de lutilisateur, avec des utilitaires tr` es homog` enes qui sint` egrent parfaitement au paradigme dusage existant (rcp,Lanc e en France en 1972, le projet Cyclades , sous la responsabilit e de Louis Pouzin, etait egalement bas e sur la commutation de paquets et lusage de datagrammes. Il reliait quelques grands centres universitaires en France (Lille, Paris, Grenoble,. . .) et en Europe. Il est rest e op erationnel jusquen 1978, date ` a laquelle faute de cr edit il a et e abandonn e au prot de X25, pr ef er e par les op erateurs de t el ecoms nationaux. 2 Jon Postel est d ec ed e le 16 Octobre 1998 ` a l age de 55 ans, cest le premier pionner de lInternet d ec ed e, on peut consulter par exemple : http://www.isi.edu/postel.html1

26

Introduction ` a IP rsh, rlogin. . .). Depuis cette epoque, un nouveau terme est apparu pour d esigner cette interconnexion de r eseaux, lInternet, avec un i majuscule. Le succ` es de cette technologie est alors tr` es important et suscite un int er et croissant de la part dacteurs tr` es divers, et en particulier La National Science Foundation qui y voit un int er et majeur pour la recherche 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 d esigne maintenant un espace de communication qui englobe la plan` ete tout enti` ere. Des millions de sites partout sur la surface du globe y sont connect es. 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 ` a sa popularit e fortement croissante et aux demandes de transactions s ecuris ees, le protocole evolue et une nouvelle version, la version 6 (IPng puis tout simplement IPv6), est d enie et en cours de d eploiement exp erimental. Les protocoles d esign es par TCP/IP ont egalement envahi les r eseaux locaux eux-m emes, car il est plus facile dutiliser les m emes protocoles en interne et en externe. Pour les utilisateurs, lacc` es ` a lInternet est possible ` a laide dune collection de programmes sp ecialis es si faciles ` a utiliser que lon peut ignorer tout (ou presque) de leur fonctionnement interne. Seul les programmeurs dapplications r eseaux et les administrateurs de syst` emes ont besoin den conna tre les arcanes. Les services r eseaux les plus populaires sont principalement : Le courrier electronique qui permet l echange de messages entres usagers. Les innombrables forums de discussion ( news ). Le transfert de chiers entre machines ( ftp et ses d eriv es comme fetch , wget , curl . . .). Le remote login , ou ses equivalents crypt es ( ssh , qui permet ` a un utilisateur de se connecter sur un site distant, depuis son poste local. Les serveurs inter-actifs. Les anciens se nommaient archie, gopher, veronica, wais... D esormais ils sont rendus obsol` etes par le web (protocole http). Puis maintenant la radio, la vid eoconf erence, la r ealit e virtuelle avec le VRML, le chat , les bourses d echanges point ` a point, les blogs forme evolu ee des pages personnelles, etc . . . ... En conclusion de ce paragraphe sur lhistorique on peut dire que lInternet est une collection apparemment anarchique (il ny a pas de structure hi e3

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

2 Caract eristiques de TCP/IP rarchique et centralis ee) de r eseaux inter-connect es et appartenant ` a divers propri etaires. On distingue trois niveaux : les r eseaux au sein des organisations (lans), les r eseaux r egionaux et les r eseaux de transit. Le site de lAssociation Fnet indique quelques pointeurs int eressants sur 4 lhistorique de lInternet (en anglais).

27

2

Caract eristiques de TCP/IP

Le succ` es de TCP/IP, sil vient dabord dun choix du gouvernement am ericain, sappuit ensuite sur des caract eristiques int eressantes : 1. Cest un protocole ouvert, les sources (C) en sont disponibles gratuitement et ont et e d evelopp es ind ependamment dune architecture particuli` ere, dun syst` eme dexploitation particulier, dune structure commerciale propri etaire. Ils sont donc th eoriquement transportables sur nimporte quel type de plate-forme, ce qui est prouv e de nos jours. 2. Ce protocole est ind ependant du support physique du r eseau. Cela permet ` a TCP/IP d etre v ehicul e par des supports et des technologies aussi di erents quune ligne s erie, un c able coaxial Ethernet, une liaison lou ee, un r eseau token-ring, une liaison radio (satellites, wireless 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 ` a tous les utilisateurs de TCP/IP quelle que soit la plate-forme qui lutilise. Si lunicit e de ladresse est respect ee, les communications aboutissent m eme si les h otes sont aux antipodes. 4. Les protocoles de hauts niveaux sont standardis es ce qui permet des d eveloppements largement r epandus et inter-op erables sur tous types de machines. La majeurs partie des informations relatives ` a ces protocoles sont publi ees dans les RFCs (Requests For Comments). Les RFCs contiennent les derni` eres versions des sp ecications de tous les protocoles TCP/IP, ainsi que bien dautres informations comme des propositions dam eliorations des outils actuels, la description de nouveaux protocoles, des commentaires sur la gestion des r eseaux, la liste nest pas exhaustive.

4

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

28

Introduction ` a IP

3

Comparaison TCP/IP ISO

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

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 fonctionnalit es des couches du mod` ele OSI et celles des protocoles TCP/IP. La gure II.02 elle, donne une vue densemble de larchitecture logicielle avec quelques protocoles dapplications de la famille IP. Ils sont tr` es nombreux, non repr esent es tous ici, et il sen faut de beaucoup car il en existe des centaines. La lecture du chier /etc/services, pr esent sur toute machine de la famille des Unix, donne un aper cu des principaux services enregistr es aupr` es de lIANA. Quand nous aurons expliqi e la notion port (cf page 81) cette lecture sera plus facile. . .Donc patience ! IP Internet Protocol SCTP Stream Control Transmission Protocol TCP Transmission Control Protocol UDP User Data