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

Tcp ip

Embed Size (px)

DESCRIPTION

tcpip

Citation preview

  • 1. Cours dintroduction ` TCP/IP a Franois Laissus c Version du 25 fvrier 2009e

2. iiCopyright c 1999 - 2009 $Rev: 131 $ Franois Laissusc Avant proposLes sources de ce document sont dveloppes, gres et conserves grcee eee 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 ae de texte vi ; lhistorique des modications est con aux bons soins de loutil e subversion (gestionnaire de versions). Lensemble du processus de fabrica- tion est pilot par une poigne de chiers Makefile (commande make). eeLa mise en forme seectue grce au logiciel L TEX. Les gures sont des- a A sines sous X Window Systems (X11) ` laide du logiciel xfig et intgres eae 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 eee a inclus dans le document nal galement en PostScript encapsul. ee La sortie papier a t imprime en PostScript sur une imprimante de typeee 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 en HTML ` partir du format L TEX ` laide du logiciel latex2html. a Aa Tous les outils ou formats utiliss sont en acc`s ou usage libre, cest ` diree ea 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 innombrablesee 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 eeHTTPhttp://www.laissus.fr/cours/cours.pdf FTPftp://ftp.laissus.fr/pub/cours/cours.pdf Dautres formats (.ps,.dvi,. . .) sont accessibles dans ce rpertoire : eHTTPhttp://www.laissus.fr/pub/cours/ FTPftp://ftp.laissus.fr/pub/cours/ 1 http://www.freebsd.org/ 3. iii Copyright c 1999 - 2009 $Rev: 131 $ Franois Laissus cHistorique des principaux changements` A ce jour(25/02/2009), ce document existe et est accessible sur lInternetdepuis le milieu des annes 90. De tr`s nombreux internautes lont tlchargeeeeeet mont renvoy leurs commentaires. Il tait donc plus que temps de gardereeune trace des principales modications et restructurations an que ces lec-teurs d`les puissent suivre les modications et, peut tre, tlcharger une e eeenouvelle version en connaissance de cause !Version du 25 Fvrier 2009 Restructuration de lensemble en quatre parties princi-epales (A,B,C, D) et un index gnral. Ajout dune partie Rseaux IP avancs .e ee eAjout 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 listesede tableaux et gures.Nombreuses corrections et mises ` jour de tous les chapitres depuis la version du a14 octobre 2007. 4. iv 5. Table des mati`resePrfaceexxiAIntroduction ` la pile ARPAa 1IRseaux locauxe3 1 Prambule . . . . . . . . . . . . . . . . . . . . . .e. . . . . . . 3 2 Gnralits - LANs . . . . . . . . . . . . . . . . . e ee. . . . . . . 3 2.1Gnralits . . . . . . . . . . . . . . . . .e e e. . . . . . . 3 2.2Mod`le de communication OSI . . . . . . e . . . . . . . 4 3 Rseaux locaux . . . . . . . . . . . . . . . . . . . e . . . . . . . 7 3.1Quest-ce quun LAN ? . . . . . . . . . . .. . . . . . . 7 3.2WAN - MAN . . . . . . . . . . . . . . . .. . . . . . . 8 3.3Communications inter-rseaux . . . . . . . e . . . . . . . 8 4 Couche 2 - Liaison (Data Link) . . . . . . . . . .. . . . . . . 9 4.1Caractristiques dEthernet . . . . . . . . e . . . . . . . 94.1.1 Quelques principes fondamentaux. . . . . . . 94.1.2 Format dune Frame Ethernet . . . . . . .104.1.3 Adresses IEEE 802.3 ou Ethernet. . . . . . .114.1.4 Unicast, multicast et broadcast .. . . . . . .12 4.2Dirences Ethernet - 802.2/802.3 . . . . .e. . . . . . .13 5 Interconnexion - Technologie lmentaire . . . . . ee. . . . . . .14 5.1Raccordement . . . . . . . . . . . . . . . . . . . . . . .155.1.1 10Base5 . . . . . . . . . . . . . .. . . . . . .155.1.2 10Base2 . . . . . . . . . . . . . .. . . . . . .155.1.3 10BaseT . . . . . . . . . . . . . .. . . . . . .165.1.4 Fibre optique . . . . . . . . . . .. . . . . . .165.1.5 Conclusion . . . . . . . . . . . . . . . . . . .17 5.2Rpteur . . . . . . . . . . . . . . . . . . .e e. . . . . . .17 5.3Concentrateur . . . . . . . . . . . . . . . .. . . . . . .18 5.4Ponts . . . . . . . . . . . . . . . . . . . .. . . . . . .19 5.5Commutateurs . . . . . . . . . . . . . . . . . . . . . .20 5.6Passerelles Routeurs . . . . . . . . . . . . . . . . . .22 6 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . .23II Introduction ` IPa25 6. vi ` TABLE DES MATIERES1 TCP/IP et lInternet - Un peu dhistoire. . . . . . . . . . . . 252 Caractristiques de TCP/IP . . . . . . . e. . . . . . . . . . . . 273 Comparaison TCP/IP ISO . . . . . .. . . . . . . . . . . . 283.1 Couche Application Layer . .. . . . . . . . . . . . 293.2 Couche Transport Layer . . .. . . . . . . . . . . . 293.3 Couche Internet Layer . . . . . . . . . . . . . . . . 303.4 Couche Network Access . . . . . . . . . . . . . . . 304 Encapsulation dIP . . . . . . . . . . . .. . . . . . . . . . . . 305 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 III Anatomie dune adresse IP33 1 Adressage IP . . . . . . . . . . . . . . . . . . . . . . . . . . 33 1.1Unicit de ladresse . . . . . . . . .e . . . . . . . . . . . 33 1.2Dlivrance des adresses IPv4 . . . . e. . . . . . . . . . . 34 2 Anatomie dune adresse IP . . . . . . . . .. . . . . . . . . . . 35 2.1Dcomposition en classes . . . . . . e. . . . . . . . . . . 35 2.2Adresses particuli`res . . . . . . . . e. . . . . . . . . . . 37 2.3Sous-rseaux . . . . . . . . . . . . .e . . . . . . . . . . . 38 2.4CIDR . . . . . . . . . . . . . . . .. . . . . . . . . . . 40 2.5Prcisions sur le broadcast . . . . .e . . . . . . . . . . . 41 3 Adressage multicast . . . . . . . . . . . . .. . . . . . . . . . . 42 3.1Adresse de groupe multicast . . . . . . . . . . . . . . . 42 3.2Adresse multicast et adresse MAC .. . . . . . . . . . . 43 4 Conclusion et bibliographie . . . . . . . . .. . . . . . . . . . . 44 IV Protocole IP471 Datagramme IP . . . . . . . . . . . . . . . . . . . . . . . . . . 471.1Structure de len-tte . . . . . . .e . . . . . . . . . . . . 471.2Network Byte Order . . . . . . . . . . . . . . . . . . . 481.3Description de len-tte . . . . . .e . . . . . . . . . . . . 491.4Fragmentation IP - MTU . . . . . . . . . . . . . . . . 52 1.4.1Fragmentation . . . . . . . . . . . . . . . . . 52 1.4.2Rassemblage . . . . . .e . . . . . . . . . . . . 532 Protocole ARP . . . . . . . . . . . . . . . . . . . . . . . . . . 552.1Fonctionnement . . . . . . . . . . . . . . . . . . . . . . 552.2Format du datagramme . . . . . . . . . . . . . . . . . 572.3Proxy ARP . . . . . . . . . . . .. . . . . . . . . . . . 583 Protocole RARP . . . . . . . . . . . . .. . . . . . . . . . . . 584 Protocole ICMP . . . . . . . . . . . . . .. . . . . . . . . . . . 594.1Le syst`me de messages derreur .e . . . . . . . . . . . . 594.2Format des messages ICMP . . . . . . . . . . . . . . . 604.3Quelques types de messages ICMP. . . . . . . . . . . . 615 Protocole IGMP . . . . . . . . . . . . . .. . . . . . . . . . . . 635.1Description de len-tte . . . . . .e . . . . . . . . . . . . 635.2Fonctionnement du protocole . .. . . . . . . . . . . . 64 7. `TABLE DES MATIERESvii 5.3Fonctionnement du Mbone . . . . . . . . . . . . . . . . 65 6 Routage IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 6.1Table de routage . . . . . . . . . . . . . . . . . . .. . 67 6.2Routage statique . . . . . . . . . . . . . . . . . . .. . 696.2.1 Algorithme de routage . . . . . . . . . . . . . 70 6.3Routage dynamique . . . . . . . . . . . . . . . . . . . . 716.3.1 RIP Routing Information Protocol . . 726.3.2 OSPF Open Shortest Path First . . . . 73 6.4Dcouverte de routeur et propagation de routes . .e . . 73 6.5Message ICMP redirect . . . . . . . . . . . . . . . 74 6.6Interface de loopback . . . . . . . . . . . . . . . . 75 7 Finalement, comment a marche ? . . . . . . . . . . . . . .c . . 76 8 Conclusion sur IP . . . . . . . . . . . . . . . . . . . . . . .. . 78 9 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . .. . 79VProtocole UDP81 1 UDP User Datagram Protocol . . . . . . . . . . . . . . . . . 81 1.1Identication de la destination . . . . . . . . . . . . . . 81 1.2Description de len-tte . . . . . . . . . . . . . . . . e. . 83 1.3Ports rservs ports disponibles . . . . . . . . . ee . . 851.3.1Attribution des ports ancienne mthode e. . 861.3.2Attribution des ports nouvelle mthodee . . 86 2 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . .. . 87VI Protocole TCP 89 1 TCP Transmission Control Protocol . . .. . . . . . . . . . .89 1.1 Caractristiques de TCP . . . . . .e . . . . . . . . . . .89 1.2 Description de len-tte . . . . . . . e. . . . . . . . . . .91 2 Dbut et clture dune connexion . . . . . eo . . . . . . . . . . .94 2.1 Etablissement dune connexion . .. . . . . . . . . . .94 2.2 Clture dune connexion . . . . . .o . . . . . . . . . . .95 2.2.1Clture canonique . . . .o . . . . . . . . . . .95 2.2.2Clture abrupte . . . . . .o . . . . . . . . . . .96 3 Contrle du transport . . . . . . . . . . . o. . . . . . . . . . .97 3.1 Mcanisme de lacquittement . . . e. . . . . . . . . . .97 3.2 Fentres glissantes . . . . . . . . .e . . . . . . . . . . .98 4 Complments sur le fonctionnement de TCPe . . . . . . . . . . . 100 4.1 Algorithme de Nagle . . . . . . . .. . . . . . . . . . . 100 4.2 Dpart lent . . . . . . . . . . . . . e. . . . . . . . . . . 101 4.3 Evitement de congestion . . . . . .. . . . . . . . . . . 101 5 Paquets capturs, comments . . . . . . .e e . . . . . . . . . . . 102 6 Conclusion sur TCP . . . . . . . . . . . . . . . . . . . . . . . 105 7 Bibliographie . . . . . . . . . . . . . . . .. . . . . . . . . . . 105 8. viii`TABLE DES MATIERES BRseaux IP avancs ee 107 VII Routage dynamique dIP109 1 Introduction & rappels . . . . . . . . . . . . . . . . . . . . . .109 1.1IGP, EGP, Syst`me autonome . . . . . . . . .e . . . . .110 1.2 Vecteur de distances vs Etat de liens . . . . . . . . . .111 2 Routage avec RIP . . . . . . . . . . . . . . . . . . . . . . . . .113 2.1En fonctionnement . . . . . . . . . . . . . . . . . . . .1142.1.1Horizon partag ou Split horizon . . e. . . . .1162.1.2Mises ` jour dclenches ou Triggereda e e updates117 2.2Le protocole RIPv1 vs RIPv2 . . . . . . . . . . . . . .118 2.3Algorithme Bellman-Ford . . . . . . . . . . . . . . . .1202.3.1Mtrique . . . . . . . . . . . . . . . e. . . . .120 2.4Conclusion . . . . . . . . . . . . . . . . . . . .. . . . .1202.4.1Points forts . . . . . . . . . . . . . . . . . . .1202.4.2Points faibles . . . . . . . . . . . . . . . . . .120 3 Routage avec OSPF . . . . . . . . . . . . . . . . . .. . . . .121 3.1Grandes lignes de fonctionnement . . . . . . .. . . . .121 3.2RIP vs OSPF . . . . . . . . . . . . . . . . . . . . . . .122 3.3Principe de propagation des tats . . . . . . .e . . . . .1243.3.1Valeur des tats de liens . . . . . . . e. . . . .127 3.4Calcul du plus court chemin . . . . . . . . . . . . . . .127 3.5Hirarchie de routeurs . . . . . . . . . . . . .e . . . . .127 3.6Fonctionnement ` lintrieur dune zone . . . . a e. . . . .1293.6.1Voisinage et adjacence . . . . . . . . . . . . .130 3.7Protocole HELLO . . . . . . . . . . . . . . . . . . . . .1313.7.1Cinq types de paquets . . . . . . . .. . . . .1313.7.2En-tte standard des paquets OSPFe . . . . .1333.7.3En-tte des paquets HELLO . . . . .e . . . . .133 4 Bibliographie . . . . . . . . . . . . . . . . . . . . . .. . . . .135 e VIII Elments de rseauxe137 1 Htes ou services virtuels . . . . . . . . . . . . . . . o. . . . . . 137 2 Tunnel IP . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 139 2.1Tunnel IP avec linterface gif . . . . . . . .. . . . . . 140 2.2IPsec et VPN . . . . . . . . . . . . . . . . .. . . . . . 1432.2.1 IPsec dans quel but ? . . . . . . . . . . . . . . 1432.2.2 IPsec en rsum . . . . . . . . . . ee . . . . . . 1442.2.3 Comment utiliser IPsec ? . . . . . .. . . . . . 1452.2.4 Implmentation dIPsec . . . . . . e. . . . . . 147 3 Proxy . . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . 148 4 Translation dadresses . . . . . . . . . . . . . . . . . . . . . . 148 4.1NAPT sur un routeur de type PC avec natd. . . . . . 1504.1.1 Interactions entre natd et le noyau . . . . . . 151 4.2Translation dadresses vers le rseau priv .ee. . . . . . 152 9. `TABLE DES MATIERES ix 4.3NAPT sur un routeur CISCO . .. . . . . . . . . . . . 153 5 Filtrage IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154 5.1Filtrage IP sur un routeur CISCO . . . . . . . . . . . . 154 5.2Le cas dipfw de FreeBSD . . . . . . . . . . . . . . . . 154 6 Exemple complet . . . . . . . . . . . . . . . . . . . . . . . . . 157 7 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . 160CProtocoles applicatifs163IX Serveur de noms - DNS165 1 Gnralits sur le serveur de noms . . . . . . . . . e e e . . . . . . . 165 1.1 Bref historique . . . . . . . . . . . . . . . . . . . . . . 165 1.2 Syst`me hirarchis de nommage . . . . .eee. . . . . . . 166 1.2.1 Domaine & zone . . . . . . . . .. . . . . . . 167 1.2.2 Hirarchie des domaines . . . . .e. . . . . . . 168 2 Fonctionnement du DNS . . . . . . . . . . . . . . . . . . . . . 169 2.1 Convention de nommage . . . . . . . . . . . . . . . . . 169 2.1.1 Completion . . . . . . . . . .. . . . . . . 170 2.2 Le Resolver . . . . . . . . . . . . . . . . . . . . . . 170 2.3 Stratgie de fonctionnement . . . . . . . . e . . . . . . . 172 2.3.1 Interrogation locale . . . . . . . .. . . . . . . 172 2.3.2 Interrogation distante . . . . . .. . . . . . . 173 2.3.3 Interrogation par procuration . . . . . . . 174 2.4 Hirarchie de serveurs . . . . . . . . . . . e . . . . . . . 175 2.5 Conversion dadresses IP en noms . . . . .. . . . . . . 175 2.6 Conclusion . . . . . . . . . . . . . . . . . .. . . . . . . 177 3 Mise ` jour dynamique . . . . . . . . . . . . . . . a . . . . . . . 177 4 Scurisation des changes . . . . . . . . . . . . . .ee . . . . . . . 178 4.1 TSIG/TKEY pour scuriser les transferts .e. . . . . . . 178 4.1.1 TSIG . . . . . . . . . . . . . . .. . . . . . . 179 4.1.2 TKEY . . . . . . . . . . . . . . .. . . . . . . 179 4.2 DNSSEC pour scuriser les interrogationse. . . . . . . 179 5 Attaque DNS par amplication . . . . . . . . . .. . . . . . . 180 6 Format des Resource Record . . . . . . . . . .. . . . . . . 182 6.1 RR de type SOA . . . . . . . . . . . . . . .. . . . . . . 183 6.2 RR de type NS . . . . . . . . . . . . . . . . . . . . . . 183 6.3 RR de type A . . . . . . . . . . . . . . . .. . . . . . . 184 6.4 RR de type PTR . . . . . . . . . . . . . . .. . . . . . . 184 6.5 RR de type MX . . . . . . . . . . . . . . . . . . . . . . 184 6.6 RR de type CNAME . . . . . . . . . . . . .. . . . . . . 185 6.7 Autres RR. . . . . . . . . . . . . . . . . . .. . . . . . . 185 7 BIND de lISC . . . . . . . . . . . . . . . . . . . . . . . . . . . 186 7.1 Architecture du daemon named . . . .. . . . . . . 186 8 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 10. x` TABLE DES MATIERESXCourrier lectronique e 189 1 Gnralits sur le courrier lectronique . . . . . . . . . . e e e e. . . 189 1.1Mtaphore du courrier postal - Lenveloppe . . . e. . . 190 1.2Adresse lectronique . . . . . . . . . . . . . . . . e. . . 190 2 Format dun E-mail - RFC 822 . . . . . . . . . . . . . . . 191 2.1Quelques champs couramment rencontrs dans les een-ttes . . . . . . . . . . . . . . . . . . . . . . . . . e. . . 192 3 Protocole SMTP - RFC 821 . . . . . . . . . . . . . . . . . . . 195 3.1Protocole SMTP . . . . . . . . . . . . . . . . . . .. . . 195 3.2Principales commandes de SMTP . . . . . . . . . . . . 1973.2.1 Commande HELO . . . . . . . . . . . . . . . 1973.2.2 Commande MAIL . . . . . . . . . . . . . . . 1983.2.3 Commande RCPT . . . . . . . . . . . . . . . 1983.2.4 Commande DATA . . . . . . . . . . . . . . . 1983.2.5 Commande QUIT . . . . . . . . . . . . . . . 198 3.3Propagation du courrier lectronique . . . . . . . e. . . 199 3.4Courriers indsirables - Le spam . . . . . . . . . . e. . . 2013.4.1 Caractriser le spam . . . . . . . . . . . e. . . 2013.4.2Eviter le spam . . . . . . . . . . . . . .. . . 202 4 Exemple de MTA - Sendmail et son environnement . . . . 205 4.1Relations avec le DNS . . . . . . . . . . . . . . . . . . 205 4.2Relations avec le syst`me dexploitation . . . . .e . . . 206 4.3Le cas de POP . . . . . . . . . . . . . . . . . . . . . . 210 4.4Le cas de IMAP . . . . . . . . . . . . . . . . . . .. . . 211 5 Conguration du Sendmail . . . . . . . . . . . . . . . . . . . . 212 5.1Conguration ` laide de M4 . . . . . . . . . . . . a. . . 212 5.2Conguration manuelle . . . . . . . . . . . . . . . . . . 2145.2.1 R`gles de rcriture . . . . . . . . . . . e ee . . . 2145.2.2 Exemple de sortie de debug . . . . . . .. . . 217 6 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . .. . . 218XI Instrumentalisation de rseaux avec SNMP e 221 1 Ncessit dun outil . . . . . . . . . . . . . . . . . . . . . e e. . . 221 1.1Problmatique de lISO . . . . . . . . . . . . . . . e. . . 221 1.2Syst`me de gestion de rseau . . . . . . . . . . . ee . . . 222 1.3SNMP Simple Network Management Protocol . . . 223 1.4Historique du protocole SNMP . . . . . . . . . .. . . 224 1.5Vocabulaire et architecture . . . . . . . . . . . . . . . . 224 1.6Direntes versions . . . . . . . . . . . . . . . . .e . . . 2261.6.1Trois composantes pour SNMP . . . . .. . . 2261.6.2Conclusion . . . . . . . . . . . . . . . . . . . 227 2 SMI Structure of Management Information . . . . . .. . . 228 3 MIB Management Information Base . . . . . . . . . .. . . 228 3.1OID Objet Identier . . . . . . . . . . . . . . . . . 230 3.2Types de donnes lmentaires . . . . . . . . . . .e ee. . . 231 11. `TABLE DES MATIERESxi4 La MIB-2 . . . . . . . . . . . .. . . . . . . . . . . . . . . . . 2325 Protocole SNMP . . . . . . . .. . . . . . . . . . . . . . . . . 2345.1 Communaut . . . . . . e. . . . . . . . . . . . . . . . . 2355.2 PDUs . . . . . . . . . .. . . . . . . . . . . . . . . . . 2355.3 SNMPv3 . . . . . . . . .. . . . . . . . . . . . . . . . . 2376 Loutil NET-SNMP . . . . . . .. . . . . . . . . . . . . . . . . 2386.1 snmptranslate . . . . . . . . . . . . . . . . . . . . . . 2386.2 snmpget . . . . . . . . . . . . . . . . . . . . . . . . . 2426.3 snmpgetnext . . . . . . . . . . . . . . . . . . . . . . 2426.4 snmpwalk . . . . . . .. . . . . . . . . . . . . . . . . 2426.5 snmptable . . . . . . . . . . . . . . . . . . . . . . . . 2436.6 snmpset . . . . . . . . . . . . . . . . . . . . . . . . . 2436.7 Approche graphique . .. . . . . . . . . . . . . . . . . 2447 Glossaire des acronymes SNMP. . . . . . . . . . . . . . . . . 2478 Liens & Bibliographie . . . . . . . . . . . . . . . . . . . . . . . 248D Sockets BSD et architecture de serveurs 249XII Gnralits sur les sockets de Berkeley e ee2511Gnralits . . . . . . . . . . . . . . . . . . . . . .e ee. . . . . . 2512Prsentation des sockets . . . . . . . . . . . . . . . e. . . . . . 2523 Etude des primitives . . . . . . . . . . . . . . . . . . . . . . . 253 3.1 Cration dune socket . . . . . . . . . . . . .e . . . . . . 253 3.1.1Valeur retourne par socket . . . . e. . . . . . 255 3.2 Spcication dune adresse . . . . . . . . . .e . . . . . . 256 3.2.1Spcication dun numro de port .e e . . . . . . 256 3.2.2Spcication dune adresse IP . . .e . . . . . . 256 3.2.3La primitive bind . . . . . . . . . . . . . . . 256 3.2.4Les structures dadresses . . . . . . . . . . . . 257 3.2.5Valeur retourne par bind . . . . . e. . . . . . 258 3.3 Connexion ` une adresse distante . . . . . .a . . . . . . 259 3.3.1Mode connect . . . . . . . . . . .e . . . . . . 259 3.3.2Mode datagramme . . . . . . . . . . . . . . . 259 3.3.3Valeur retourne par connect : . . e. . . . . . 260 3.4 Envoyer des donnes . . . . . . . . . . . . .e . . . . . . 260 3.4.1Envoi en mode connect . . . . . .e . . . . . . 260 3.4.2Envoi en mode datagramme . . . .. . . . . . 261 3.5 Recevoir des donnes . . . . . . . . . . . . . e. . . . . . 262 3.5.1Reception en mode connect . . . . e. . . . . . 262 3.5.2Recevoir en mode datagramme . . . . . . . . 262 3.6 Spcier une le dattente . . . . . . . . . .e . . . . . . 263 3.7 Accepter une connexion . . . . . . . . . . . . . . . . . 263 3.8 Terminer une connexion . . . . . . . . . . . . . . . . . 2644Schma gnral dune session clientserveur . . . . ee e . . . . . . 265 12. xii` TABLE DES MATIERES 5 Exemples de code client . . . . . . . . . . . . . . . . . . . 267 5.1 Client TCP DTCPcli .. . . . . . . . . . . . . . . . 267 5.2 Client UDP DUDPcli .. . . . . . . . . . . . . . . . 271 6 Conclusion et Bibliographie . . . . . . . . . . . . . . . . . . . 273XIII Complments sur les sockets Berkeley e 2751Rservation des ports . . . . . . . . . . . . . . . . . . . . . . . 275 e 1.1 Rservation de port Ancienne mthode . . . . . . . 276 e e 1.2 Rservation de port Nouvelle mthode . . . . . . . . 276 ee2Ordre des octets sur le rseau . . . . . . . . . . . . . . . . . . 277 e3Oprations sur les octets . . . . . . . . . . . . . . . . . . . . . 278 e4Conversion dadresses . . . . . . . . . . . . . . . . . . . . . . . 279 4.1 Conversion dadresse - IPv4 seul . . . . . . . . . . . . . 279 4.2 Conversion dadresse - Compatible IPv4 et IPv6 . . . . 2795Conversion 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 a6Conversion N de port service . . . . . . . . . . . . . . . . . 282 6.1 Le numro ` partir du nom . . . . . . . . . . . . . . . 282 e a 6.2 Le nom ` partir du numro . . . . . . . . . . . . . . . 284a e7Getaddrinfo, 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 e8Conversion nom de protocole N de protocole . . . . . . . . 2919Diagnostic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29210 Exemples de mise en application . . . . . . . . . . . . . . . . . 293 10.1 Ancienne mthode (usage de gethostbyname) . . . . . 293 e 10.2 Nouvelle mthode (usage de getaddrinfo) . . . . . . . 298e11 Conclusion et bibliographie . . . . . . . . . . . . . . . . . . . . 300XIV e Elments de serveurs3011 Type de serveurs . . . . . . . . . . . . . . . . . . . . . . . . . 3011.1 Serveurs itratif et concourant . e . . . . . . . . . . . . . 3011.2 Le choix dun protocole . . . . .. . . . . . . . . . . . . 3021.2.1 Mode connect . . . . e . . . . . . . . . . . . . 3021.2.2 Mode datagramme . .. . . . . . . . . . . . . 3031.3 Quatre mod`les de serveurs . . e . . . . . . . . . . . . . 303 2Technologie lmentaire . . . . . . . .ee . . . . . . . . . . . . . 3072.1 Gestion des tches esclaves .a. . . . . . . . . . . . . 307 13. `TABLE DES MATIERESxiii2.2fork, vfork et rfork . . . . . . . . . . . . . . . . . . . . 3082.3Processus lgers, les threads . . . . . e. . . . . . . . 3092.4Programmation asynchrone . . . . . . . . . . . . . . . 3112.5La primitive select . . . . . . . . . . .. . . . . . . . 3122.6La primitive poll . . . . . . . . . . . . .. . . . . . . . 3143 Fonctionnement des daemons . . . . . . . . . .. . . . . . . . 3153.1Programmation dun daemon . . . . . .. . . . . . . . 3153.2Daemon syslogd . . . . . . . . . . . . . . . . . . . . . 3163.3Fichier syslog.conf . . . . . . . . . . .. . . . . . . . 3183.4Fonctions syslog . . . . . . . . . . . . . . . . . . . . . 3184 Exemple de daemon inetd . . . . . . . . . . . . . . . . . . 3204.1Prsentation de inetd . . . . . . . . . .e . . . . . . . . 3205 Exemple de code serveur . . . . . . . . . . . . . . . . . . . . . 3225.1Guide de lecture du source serv2prot.c . . . . . . . . 3226 Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . 325XV Anatomie dun serveur Web 3271 Le protocole HTTP . . . . . . . . . . . . . . . . . . . . . . . . 3271.1Exemple dchange avec http . . . . .e . . . . . . . . . 3281.2Structure dun change . . . . . . . . . e. . . . . . . . . 3282 URIs et URLs . . . . . . . . . . . . . . . . . .. . . . . . . . . 3322.1Scheme http . . . . . . . . . . . . . . .. . . . . . . . . 3323 Architecture interne du serveur Apache . . . .. . . . . . . . . 3343.1Environnement dutilisation . . . . . .. . . . . . . . . 3343.2Architecture interne . . . . . . . . . . . . . . . . . . . 336 3.2.1 Gestion des processus . . . .. . . . . . . . . 337 3.2.2 Prise en main des requtes . .e . . . . . . . . . 342 3.2.3 Deux types de CGIs . . . . . . . . . . . . . . 3434 Principe de fonctionnement des CGIs . . . . . . . . . . . . . . 3474.1CGI Mthode GET, sans argumente . . . . . . . . . 3474.2CGI Mthode GET, avec argumentse . . . . . . . . . 3484.3CGI Mthode POST . . . . . . . .e . . . . . . . . . 3494.4Ecriture dune CGI en Perl . . . . . . . . . . . . . . . 3505 Conclusion Bibliographie . . . . . . . . . . .. . . . . . . . . 351E Index gnral & Annexes e e353A Programme serv2prot.c 367 14. xiv `TABLE DES MATIERES 15. Table des gures I.01Mod`le en 7 couches de lOSI . . . . . . . . .e. . . . . . . . .6 I.02Exemple de LANs . . . . . . . . . . . . . . . . . . . . . . . . .7 I.03trame Ethernet . . . . . . . . . . . . . . . . .. . . . . . . . . 10 I.04Dirences Ethernet 802.2/802.3 . . . . . . . . e . . . . . . . . . 13 I.05Interconnexion - Technologie lmentaire . . .ee . . . . . . . . . 14 I.06Prise vampire . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 I.07Technologie de liaison . . . . . . . . . . . . . .. . . . . . . . . 17 I.08Plusieurs rpteurs mais toujours le mme lane e e. . . . . . . . . 18 I.09Concentrateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 I.10Dialogue sans pont . . . . . . . . . . . . . . .. . . . . . . . . 19 I.11Dialogue avec pont . . . . . . . . . . . . . . .. . . . . . . . . 19 I.12Commutateur . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 I.13Fonction routage . . . . . . . . . . . . . . . .. . . . . . . . . 22 I.14Traduction de protocoles . . . . . . . . . . . .. . . . . . . . . 22 II.01 Comparaison ISO-ARPA . . . . . . . . . . . . . . . . . . . . 28 II.02 Architecture logicielle . . . . . . . . . . . . . . . . . . . . . 29 II.03 Encapsulation dIP . . . . . . . . . . . . . . . . . . . . . . . 31 III.01Dcomposition en classes . . . . .e. . . . . . . . . . . . . . 35 III.02Sous-rseaux . . . . . . . . . . . . e . . . . . . . . . . . . . . 38 III.03Puissances de 2 . . . . . . . . . . . . . . . . . . . . . . . . . 38 III.04Adresses de multicast . . . . . . . . . . . . . . . . . . . . . 42 III.05Adresse physique de multicast . . . . . . . . . . . . . . . . . 43 III.06Usage combin des adresses logiqueeet physique . . . . . . . 44 IV.01 Structure du datagramme IP . . .. . . . . . . . . . . . . . 47 IV.02 Big endian vs Little endian . . . . . . . . . . . . . . 48 IV.03 Fragmentation IP . . . . . . . . . .. . . . . . . . . . . . . . 52 IV.04 Fragment ` transmettre . . . . . . a . . . . . . . . . . . . . . 53 IV.05 Rsum de la fragmentation . . . . ee. . . . . . . . . . . . . . 54 IV.06 Question ARP . . . . . . . . . . .. . . . . . . . . . . . . . 55 IV.07 Rponse ARP . . . . . . . . . . . . e . . . . . . . . . . . . . . 56 IV.08 Datagramme ARP . . . . . . . . .. . . . . . . . . . . . . . 57 IV.09 Message ICMP . . . . . . . . . . .. . . . . . . . . . . . . . 60 IV.10 Format dun message ICMP . . . .. . . . . . . . . . . . . . 60 IV.11 Echo request vs Echo reply . . . . . . . . . . . . . . 61 16. xvi TABLE DES FIGURESIV.12 En-tte IGMP . . . . . . . . . . . . . . e. . . . . . . . . . . 63IV.13 Fonctionnement IGMP . . . . . . . . . . . . . . . . . . . . . 64IV.14 Table de routage . . . . . . . . . . . . .. . . . . . . . . . . 67IV.15 Situation rseau lors du netstat . . . .e . . . . . . . . . . . 69IV.16 Exemple de nuage avec routage statique. . . . . . . . . . . 70IV.17 Exemple pour routage dynamique . . . .. . . . . . . . . . . 71IV.18 Topologie pour routage dynamique . . .. . . . . . . . . . . 72IV.21 ICMP redirect . . . . . . . . . . . . . . . . . . . . . . . 74IV.22 Interface de loopback . . . . . . . . . . . . . . . . . . . 75IV.23 Illustration du routage direct et indirect. . . . . . . . . . . 76V.01Numro de port comme numro e ede service. . . . . . . . . . 82V.02UDP encapsul dans IP . . . . e. . . . . . . . . . . . . . . . 83V.03Structure de len-tte UDP . . e. . . . . . . . . . . . . . . . 84V.04Cas du checksum non nul . . . . . . . . . . . . . . . . . . . 84VI.01 TCP encapsul dans IP . . . . e. . . . . . . . . . . . . . . .89VI.02 Structure de len-tte TCP . .e . . . . . . . . . . . . . . . .91VI.03 Etablissement dune connexion . . . . . . . . . . . . . . . .94VI.04 Clture dune connexion . . . . o. . . . . . . . . . . . . . . .95VI.05 Emission dun rst . . . . . . . . . . . . . . . . . . . . . . . .96VI.06 Mcanisme de lacquittement .e . . . . . . . . . . . . . . . .97VI.07 Principe de la fentre glissante e. . . . . . . . . . . . . . . .98VI.08 Dtail de la fentre glissante . .ee. . . . . . . . . . . . . . . .99VI.09 Exemple de fentre glissante . . e. . . . . . . . . . . . . . . . 104VII.01Un AS, le monde extrieur, le monde intrieur ! . . . . . . . 111 e eVII.02La route vers H depuis R a une mtrique de 2 et passe par R1113eVII.03Fonctionnement lmentaire . . . . . . . . . . . . . . . . . . 115 eeVII.04L horizon partag ne rsout pas tout ! . . . . . . . . . . 116 e eVII.05RIP est transport par UDP/IP . . . . . . . . . . . . . . . . 118eVII.06Format dun message RIPv2 . . . . . . . . . . . . . . . . . . 118VII.07Relation dordre entre deux LSP . . . . . . . . . . . . . . . 125VII.08Propagation des LSP par inondation ou ooding . . . . 126VII.09Organisation en zones Hirarchie de routeurs . . . . . . . 128eVII.10Propagation dun LSP, sans et avec un DR . . . . . . . . . . 129VII.11Organisation globale de len-tte du protocole OSPF . . . . 132eVII.12En-tte standard de 24 octets . . . . . . . . . . . . . . . . . 133eVII.13En-tte du paquet HELLO . . . . . . . . . . . . . . . . . . 134eVIII.01Serveur HTTP virtuel . . . . . . . . . . . . . . . . . . . . 137VIII.02Tunnel IP - Principe . . . . . . . . . . . . . . . . . . . . . 139VIII.03Tunnel IP - cas concrt e. . . . . . . . . . . . . . . . . . . . 141VIII.04En-ttes dIPsec . . . . e. . . . . . . . . . . . . . . . . . . . 145VIII.05Association 1 . . . . .. . . . . . . . . . . . . . . . . . . . 145VIII.06Association 2 . . . . .. . . . . . . . . . . . . . . . . . . . 146 17. TABLE DES FIGURES xviiVIII.07 Association 3 . . . . . . . . . . . . . . . . . . . . . . . . . 146VIII.08 Association 4 . . . . . . . . . . . . . . . . . . . . . . . . . 146VIII.04 Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148VIII.10 R translate dynamiquement des couples (adresseIP, numro de port) . . . . . . . . . . . . . . . . . . . . . . . e. . . 148VIII.11 Machine NAPT en routeur . . . . . . . . . . . . . . . . . . 150VIII.12 Interactions entre natd et le noyau de FreeBSD . . .. . . 151VIII.13 Static Nat . . . . . . . . . . . . . . . . . . . . . . . .. . . 152VIII.14 Conguration multiservices . . . . . . . . . . . . . . .. . . 153VIII.15 Conguration simple de ltrage . . . . . . . . . . . .. . . 155VIII.16 Translation dadresse et ltrage IP . . . . . . . . . . . . . . 157IX.01Organisation hirarchique des domainese . . . . . . . . . . . 169IX.02Le resolver dans son environnement . . . . . . . . . . . 171IX.03Subdivision hirarchique des domaines .e . . . . . . . . . . . 172IX.03Interrogation locale . . . . . . . . . . . . . . . . . . . . . . . 172IX.05Interrogation distante . . . . . . . . . . . . . . . . . . . . . 174IX.06Rponse ` une requte non formule . . eaee . . . . . . . . . . . 180IX.07Attaque DNS par amplication . . . . . . . . . . . . . . . . 181IX.08BIND de lISC . . . . . . . . . . . . . .. . . . . . . . . . . 186X.01 Format dun e-mail . . . . . . . . . . . . . . . . . . . . . . . 192X.02 MUA - MSA - MTA - LDA - OS . . . . . . . . . . . . . . . 199X.03 Trajet dun mail . . . . . . . . . . . . . . . . . . . . . . . . 200X.04 MX primaire et secondaires . . . . . . . . . . . . . . . . . . 205X.05 Relation entre Sendmail et le syst`me dexploitation e. . . . 206X.06 Le cas de POP . . . . . . . . . . . . . . . . . . . . .. . . . 210X.07 Concentration du mail sur un mailhub . . . . . . . . . . 213X.08 R`gles de rcriture . . . . . . . . . . . . . . . . . .e ee. . . . 215XI.01 Agent et Manager dans une relation de type client-serveur . 224XI.02 La racine de larbre des OIDs . . . . . . . . . . . . . . . . . 230XI.03 Des agents et un Manager . . . . . . . . . . . . . . . . . .. 234XI.04 Format des messages SNMP . . . . . . . . . . . . . . . . .. 235XI.05 Exemple dinterrogation dun agent avec loutil mbrowse . . 244XI.06 Synth`se graphique des compteurs ifInOctets ete ifOutOctets sur 24h . . . . . . . . . . . . . . . . . . . . . .. 245XI.07 Exemple dcran de surveillance avec tkined . . . . . . . e. 247XII.01 Les sockets, une famille de primitives . . . . . . . . . . . . . 251XII.02 Relation pile IP, numro de port et process ID e. . . . . . . . 252XII.03 Structures dadresses . . . . . . . . . . . . . .. . . . . . . . 258XII.04 Relation clientserveur en mode connect . .e . . . . . . . . 265XII.05 Relation clientserveur en mode non connect e . . . . . . . . 266XIII.01 Ordre des octets sur le rseau . . . . . . . . . . . . . . . . . 277 e 18. xviii TABLE DES FIGURESXIV.01Quatre types de serveurs . . .. . . . . . . . . . . . . . . . 303XIV.02Excution avec et sans threads e. . . . . . . . . . . . . . . . 309XIV.03Syslogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317XIV.04Inetd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321XV.01Structure dun message HTTP . . .. . . . . . . . . . . . . 329XV.02Environnement syst`me . . . . . . . e. . . . . . . . . . . . . 334XV.03Algorithme de gestion des processus. . . . . . . . . . . . . 340XV.04Usage de la score board . . . . . .. . . . . . . . . . . . . 342XV.05Deux type de CGIs . . . . . . . . . .. . . . . . . . . . . . . 343 19. Liste des tableaux I.01 Quelques valeurs du champs type de len-tte IP . . . . . . . . 11 e I.02 Exemples de Organizationally Unique Identier (OUI) . . 12 III.01 Adresses IP des rseaux privs . . . . . . . . e e . . . . . . . . 34 III.02 Adresses IP avec une signication particuli`re e . . . . . . . . 37 III.03 Partitionnement dune classe C en quatre sousrseauxe. . . 38 III.04 Dtail des quatre sous rseaux dun /26 . . . ee. . . . . . . . 39 III.05 Adresses IP prives, notation du CIDR . . . .e. . . . . . . . 40 III.06 Agrgations rgionales des blocs IP . . . . . . e e . . . . . . . . 41 III.07 Quelques adresses multicasts du LAN . . . .. . . . . . . . 42 IV.01 Bits du champ TOS . . . . . . . . . . . . . . . . . . . . . . 49 IV.02 En-tte des fragments IP vs en-tte datagramme original . . 54ee 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.01Quelques champs couramment rencontrs dans un tte de e email . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193 XI.01 Extrait de la MIB II concernant lOID tcpConnTable . . . . 229 XI.02 Extrait du dbut de la MIB-2 . . . . . . . . . . . . . . . . . 233e XI.03 Extrait de la MIB-2 concernant le dbut du goupe system 241e 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 pourele rseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292e XIV.01 Typologie des applicatifs qui utilisent syslog . . . . . . . . 319 XIV.02 Criticit des messages de log . . . . . . . . . . . . . . . . . 319e XV.01 Codes de retour du protocole HTTP . . . . . . . . . . . . . 330 20. xx LISTE DES TABLEAUX XV.02 Conguration du mod`le pre-forked dApache . . . . . . 335e 21. Prfacee Attention ! Ce document nest quun support decours, cest ` dire quil ne remplace pas les documents acits dans la bibliographie qui termine chacun des cha- epitres qui le composent.Evidement imparfaites, pleines derreurs involontaires, et surtout in-compl`tes, ces pages rclament avant tout votre indulgence de lecteur bien- e eveillant : Rien nest constant, tout change comme le disait dj` Lao Tseu, ea400 ans avant JC. Que dirait-il alors aujourdhui, concernant les rseaux ! ! e Ces cours saccompagnent de travaux pratiques dont le texte ne gure pasici, ils sont initialement conus pour les tudiants du Mast`re de Syst`mesce ee 2 dInformations Ouverts (SIO) de lEcole Centrale Paris, an de les aider `ala comprhension thorique et pratique des rseaux TCP/IP. e eeCe support est en acc`s libre, cest ` dire mis ` la dis- e a aposition de tous pour un usage personnel ou collectif,sans but lucratif. Sa revente, sil y a lieu, ne peut treeenvisage que pour couvrir les frais induits par sa re- eproduction. Enn, sa redistribution sous quelque formeque ce soit, ne peut se concevoir sans cette prface. eNe pas hsiter ` me contacter en cas de doute sur lusage :ea Franois Laissus cEn aucun cas lauteur ne pourra tre tenu responsable des consquencese ede lusage de ce document, qui est fourni tel quel et sans garantie daucunesorte. Lusage des informations contenues est donc plac sous la responsabilit eepleine et enti`re du lecteur.eEnn, si vous pensez que la lecture de ce support vous a apport quelqueechose, que vous avez une remarque ` me faire, ou tout simplement me com-aplimenter (a fait toujours plaisir quoi que lon puisse en dire ! :) sentez-vousclibres de menvoyer un courrier lectronique, je suis toujours ravi dapprendreeque ce travail a pu servir ! Enn merci de votre intrt pour ce document, jesp`re que vous y trou-eeeverez ce que vous cherchez !2http://www.mastere-sio.ecp.fr/ 22. xxii Prface e 23. Premi`re partie eIntroduction ` la pile ARPA a 24. Chapitre IRseaux locaux e1 PrambuleeCe cours nest pas un cours gnral sur les rseaux mais une prsentation e e eeminimale de cette technologie pour pouvoir aborder le cours de concepts etprogrammation TCP/IP sous UNIX.TCP/IP est le protocole le plus rpandu dans le monde grce ` lInternet. e a aEn 1980 il ne comptait que quelques dizaines dhtes, en juin 1996 ce onombre tait de 12 millions de machines, rparties en pr`s de 500 000 rseaux e ee e(Par comparaison, en fvrier 1995, les mmes chires taient 4 850 000 ma- eeechines pour plus de 71 000 rseaux locaux). eEn janvier 2003, le nombre de machines1 directement accessibles sur lerseau tait de 180 000 000 selon lISC2 . Depuis on ne compte plus tant eela croissance est importante. . .Pour la france lAFNIC propose galemente3quelques statisques . . .Il nexiste pas de botin gnral du rseau, pare eecontre Bill Cheswick des Bell labs la cartographi, et le rsultat est fascinant :ee http://www.cheswick.com/ches/map/gallery/index.html2 Gnralits - LANs e e e2.1 Gnralits e e eUn rseau informatique met en relation des ordinateurs, comme un rseau e etlphonique met en relation des personnes. eeDes ordinateurs sont dits en rseaux d`s lors quils partagent une e etechnologie qui leur permet de communiquer ensemble.Le plus souvent cette technologie se matrialise physiquement par uneeliaison avec un cble conducteur. Sur ce type de support, un signal lectrique ae1Source http://www.isc.org/ds/2 Internet Software consortium3 http://www.nic.fr/statistiques/ 25. 4Rseaux locauxevhicule les messages informatiques. Il existe dautres types de supports en epleine expansion comme les liaisons par ondes hertziennes, rayon laser, infra-rouge. . .Sans connaissance pralable concernant les rseaux informatiques on peute eimaginer quantit dinterrogations ` partir de cette hypoth`se de raccorde- eaement : 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 ceecycle de cours. Ces rponses sont gnralement formules dans un pro-e e eetocole , une sorte de mode demploi des rseaux. Il y a des centaines de eprotocoles dirents sur lInternet, certains sont tr`s populaires, dautres ab- e esolument pas.2.2 Mod`le de communication OSI eLe concept de base de tout ce cours est celui de la commutation depaquets , une vieille ide de linformatique4 contrairement ` lapproche pareacircuits virtuels plus utilise en tlphonie. e eeLes donnes ` transmettre dune machine ` une autre sont fragmentes e a ae` lmission en petit blocs de quelques centaines doctets munis de ladressea edu destinataire, envoyes sur le rseau et r-assembles ` la rception poure ee e aereproduire les donnes dorigine. eCe concept facilite le partage des possibilits physiques du rseaux (bande eepassante) et est parfaitement adapt pour une implmentation sur machineseesquentielles travaillant en temps partag (plusieurs communications peuvent eealors avoir lieu simultanment et sur une mme machine).eePartant de ce concept, un mod`le darchitecture pour les protocoles deecommunication a t dvelopp par lISO (International Standards Organisa- ee eetion) entre 1977 et 1984. Ce mod`le sert souvent de rfrence pour dcrire la e ee estructure et le fonctionnement des protocoles de communication, mais nestpas une contrainte de spcication. eCe mod`le se nomme OSI comme Open Systems Interconnection Re- eference Model . Les constituants de ce mod`le sont si largement employs e equil est dicile de parler de rseaux sans y faire rfrence. eee e e `Le mod`le OSI est constitu de sept couches. A chaque couche est as-socie une fonction bien prcise, linformation traverse ces couches, chacune eey apporte sa particularit.eCette forme dorganisation nest pas de au hasard, cest celle sur la- u4Conu par lAmricain Paul Baran et publi en 1964 cee 26. Gnralits - LANs e e e5quelle les informaticiens ont beaucoup travaill dans les annes soixanteseepour dnir les caractristiques des syst`mes dexploitation. e e eUne couche ne dnit pas un protocole, elle dlimite un service qui peut eetre ralis par plusieurs protocoles de direntes origines. Ainsi chaquee e eecouche peut contenir tous les protocoles que lon veut, pourvu que ceux-cifournissent le service demand ` ce niveau du mod`le.eaeUn des intrts majeurs du mod`le en couches est de sparer la notion de ee e ecommunication, des probl`mes lis ` la technologie employe pour vhiculeree aeeles donnes. ePour mmoire (gure I.01) :e7 La couche application (Application layer) est constitue des programmese dapplication ou services, qui se servent du rseau. Ils ne sont pase forcment accessibles ` lutilisateur car ils peuvent tre rservs ` un e aeee a usage dadministration.6 La couche de prsentation (Prsentation layer) met en forme les donnese 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 na- lement assez peu norm.e5 La couche de session (Session layer) eectue laiguillage entre les divers services (7) qui communiquent simultanment ` travers le mme ordi-e a e nateur connect et le mme rseau. Deux utilisateurs dune mme ma-eeee chine peuvent utiliser la mme application sans risque dinter-actionse parasites.4 La couche de transport (Transport layer) garantie que le destinataire ob- tient exactement linformation qui lui a t envoye. Cette couche metee e par exemple en uvre des r`gles de renvoi de linformation en cas der-e reur de rception.e3 La couche rseau (Network layer) isole les couches hautes du mod`le quiee ne soccupent que de lutilisation du rseau, des couches basses qui nee soccupent que de la transmission de linformation.2 La couche de donne (Data link layer) eectue le travail de transmissione des donnes dune machine ` une autre. e a1 La couche Physique (Physical layer) dnit les caractristiques du matriel ee e ncessaire pour mettre en euvre le signal de transmission, comme dese tensions, des frquences, la description dune prise. . . e5http://www.w3.org/XML/ 27. 6Rseaux locauxe Mod`le en 7 couches de lOSIeProtocole ApplicationApplication Prsentation Protocole Prsentation SessionProtocole Session SSTransport ProtocoleTransport T SS TProtocole Rseau Rseau R T SS T R LiaisonProtocole Liaison L R T SS T R LProtocolePhysique Physique L R T SS T R L gure I.01 Mod`le en 7 couches de lOSI eDu niveau 7 de lapplication, au niveau 4 du transport, linformationcircule 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 laprc`de et celle qui la suit, avec le cas particulier des couches 1 et 7. e eLintrt de travailler en couches est que lorsque les modalits dchanges ee e eentre chacune dentres elles sont prcisment dcrites, on peut changer lim- e eeplmentation et les spcicits de la couche elle-mme sans que cela aecteeeeele reste de ldice.eCest sur ce principe quest btie la suite de protocoles dsigne par a eeTCP/IPQuand deux applications A et B discutent entre-elles via le rseau, les einformations circulent de la couche 7 vers la couche 2 quand lapplication Aenvoie de linformation sur le rseau, et de la couche 2 vers la couche 7 poureque lapplication B reoive linformation de A.cLe principe de base de cette discussion repose sur le fait que chaque couchedu mod`le de la machine A est en relation uniquement avec son homologue edu mme niveau de la machine B. eQuand linformation descend de la couche 7 vers la couche 1, chaquecouche en-capsule les donnes reues avant de les transmettre. Ainsi le e cvolume dinformations sest accr de quelques centaines doctets arriv ` la u eacouche 1.De mani`re symtrique, quand linformation remonte de la couche phy-e esique vers la couche Application, chaque couche prl`ve les octets qui lui sonteepropres, ainsi lapplication B ne voit-elle que les octets envoys par lappli- ecation A, sans le dtail de lacheminement.e 28. 3 Rseaux locaux e 73 Rseaux locaux e Le probl`me intuitif et pratique qui se pose est de relier entre elles par unecble toutes les machines qui veulent communiquer : cest impossible dabord apour des raisons techniques, le monde est vaste, puis de politique demploides ressources du rseau, tel rseau qui sert ` lenseignement ne doit pas pas e eaperturber le fonctionnement de tel processus industriel. La consquence est que les rseaux se dveloppent dabord en local, autour eeedun centre dintrt commun, avant de se tourner (parfois) vers lextrieur.eee3.1Quest-ce quun LAN ?Le terme rseau local nest pas clairement dni, cependant tout lee emonde saccorde ` baptiser de la sorte un rseau, d`s lors quon lui reconnait ae eles caractristiques suivantes :e Cohabitation de plusieurs protocoles, Un mme mdia (mme cble par exemple) qui raccorde de multiplesee eamachines, peut tre de caractristiques direntes, ee e Une bande passante leve, partage par tous les htes e ee o La capacit de faire du broadcasting et du multicasting , e Une extension gographique de moins en moins limite, ee Un nombre de machines raccordes limit, e e Des relations entre les machines places sur un mode dgalit, (et none e epar exemple sur un mode Ma tre/Esclave comme dans un rseau dontela topologie serait en toile),e Une mise en uvre qui reste du domaine priv, cest ` dire qui nee adpend pas dun oprateur ociel de tlcommunications.eeeeNotez que les notions de bande passante et nombre limit (etc. . .)esont volontairement qualitatives. Elles voluent rapidement avec le temps.e Machine sur le LANgure I.02 Exemple de LANsExemple de types de technologies utilises dans les LANs : e Token ring 29. 8Rseaux locauxe IEEE 802 LANs Ethernet et Fast-Ethernet FDDI (anneau en bre optique) ATM 802.11(a,b,g,. . .) ...3.2 WAN - MAN Un WAN (Wide Area Network) dsigne des ordinateurs connects entre eedirentes villes (Metropolitan Area Network) ou pays. La technologie uti- elise est traditionnellement moins performante que celle dun LAN, cest par eexemple une ligne tlphonique loue fonctionnant ` 64 kbps, une liaisonee eaRNIS, ou encore une liaison transatlantique ` 1Mbits/secondes.a Les amliorations technologiques apportes aux LANs permettent de leseetendre de plus en plus gographiquement, celles apportes aux WAN aug-eeementent considrablement les bandes passantes, ces deux tendances font que ela distinction entre ces deux types de rseaux est de moins en moins claire. e3.3 Communications inter-rseauxeLes rseaux sont appels ` communiquer entres eux et quand cela see e aproduit on parle de communications inter-rseaux ( internetworking ). eLe rle dune communication inter-rseaux est de gommer les ventuellesoe edirences de technologie dchange pour permettre ` deux rseaux, ou plus,ee a ele partage de ressources communes, lchange dinformations. eUn moyen de faire communiquer deux rseaux distincts passe par lutili- esation de gateway ou passerelle.Un tel dispositif est parfois appel routeur (router), mais cest un abus ede langage. Les hommes se connectent sur les ordinateurs Les ordinateurs se connectent sur un rseau e Les rseaux sinter-connectent dans un internet e 30. 4 Couche 2 - Liaison (Data Link) 94 Couche 2 - Liaison (Data Link)La couche 2 la plus populaire est surement celle que lon nomme abusive-ment Ethernet , du nom du standard publi en 1982 par DEC, Intel Corp. eet Xerox. Cette technique repose sur une mthode dacc`s et de contrle diteee oCSMA/CD ( Carrier Sense, Multiple Access with Collision Detection ).Elle est devenue tellement populaire quon parle dun cble Ethernet, adune adresse Ethernet, dune liaison Ethernet. . .Plus tard lIEEE ( Institute of Electrical and Electronics Engineers )6sous linstance de son commit 802, publia un ensemble de standards elg`rement dirents, les plus connus concernant la couche 2 sont 802.2 e ee(Contrle logique de la liaison LLC7 ) et 802.3 (CSMA/CD) oDans le monde TCP/IP, lencapsulation des datagrammes IP est dcriteedans la RFC 894 [Hornig 1984] pour les rseaux Ethernet et dans la RFC 1042 e[Postel et Reynolds 1988] pour les rseaux 802. eEn r`gle gnrale, toute machine utilisant TCP/IP sur ce type de rseauxe e e edoit :1. tre capable denvoyer et de recevoir un paquet conforme ` la RFC 894, ea2. tre capable de recevoir des paquets conformes aux deux standards, e3. Par contre il est seulement souhaitable que cette machine soit capable denvoyer des paquets conformes ` la RFC 1042.aPar dfaut le standard est donc celui de la RFC 894, si une machine peutefaire les deux, cela doit tre congurable.eDe nos jours la couche 802.11 (rseau sans l - wi) voit sa popularit e ecro tre tr`s vite. Elle est base sur une mthode dacc`s assez proche, leee e eCSMA/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 osont pas ncessairement ` porte radio directe. Les changes, quand ils nee ae esont pas de type point ` point , passent par un intermdiaire nomm en a eegnral point dacc`s ce qui complique le protocole, et donc la trame, par e eerapport au CSMA/CD.4.1 Caractristiques dEthernete4.1.1Quelques principes fondamentaux1. Le support de transmission est un Segment = bus = cble coaxial. Il a ny a pas de topologie particuli`re (boucle, toile, etc. . .). ee2. Un quipement est raccord sur un cble par un transceiver : e ea Transmitter + receiver = transceiver (coupleur ou transducteur). On parle alors dune station Ethernet, celle-ci a une adresse unique.6http://www.ieee.org/7 Logical Link Control 31. 10 Rseaux locauxe3. 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, ellec e contient ladresse de lmetteur et celle du destinataire.e4. 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 destinee il la prend, sinon il nen fait rien.5. Une station qui veut mettre attend que toutes les autres stations see taisent. Autrement dit, si le cble est libre elle envoie sa trame, sinona 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 dtectente ce fait et remettent ultrieurement leur paquet en attente.e e6. Un rseau Ethernet est donc un rseau ` caract`re probabiliste car il ny ee ae a pas de chef dorchestre pour synchroniser les missions. Cette absence e conduit ` dire que cest un rseau galitaire, une sorte de runion sans ae e e animateur entre personnes polies En conclusion, la technologie Ethernet est simple, sa mise en uvre se fait ` faible cot. Points ` retenir :aua 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).eae Performances peu dpendantes de la charge, sauf en cas de collisions etrop importantes. 4.1.2Format dune Frame Ethernet Encapsulation Ethernet (RFC 894) Donnes encapsules8 66 2 46 15004Type des donnes ChecksumAdresse de la sourceAdresse de la destinationPrambule de synchronisationgure I.03 trame Ethernet8 les cartes Ethernet modernes utilisent 4 ls au lieu de deux et orent ansi des possi- bilits de full duplex que navaient pas leurs anctres des annes 80eee 32. Couche 2 - Liaison (Data Link) 11 Quelques considrations en vrac :e D au dbit global de 10Mbits/seconde, le dbit est de 10 bits par u ee 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 carac- e 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 ee faible, etc.. Le prambule et le SFD ( Start Frame Delimiter ) servent ` la syn- e 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 correspondanttre` pour pouvoir lui envoyer un paquet ! A ce stade de lexpos on ne saite pas encore comment faire quand on ignore cette information. Le champ type est deux octets qui dsignent le type des donnesee encapsules : eType Donnese0800 IP0806 ARP0835 RARP6000 DEC6009 DEC8019 DOMAIN ... ...4.1.3Adresses IEEE 802.3 ou EthernetPour ces deux standards, ladresse est code sur 6 octets soit 48 bits. ePour un hte sur un rseau, cette adresse est ce que lon appelle son adresse o ephysique ( hardware addresse ) par opposition ` son adresse logique quiainterviendra lors de lexamen de la couche 3.En fait cette adresse est divise en deux parties gales, les trois premierse eoctets dsignent le constructeur, cest le OUI ( Organizationally Unique eIdentier ) distribu par lIEEE 9 les trois derniers dsignent le numro de ee ecarte, dont la valeur est laisse ` linitiative du constructeur qui poss`de le e a eprxe.eLIEEE assure ainsi lunicit de lattribution des numros de construc-e e 24 10teurs, par tranches de 2 cartesChaque constructeur assure lunicit du numro de chaque carte fa-e e 9 http://standards.ieee.org/regauth/oui/index.shtml10 La liste ` jour est accessible ` cette url http://standards.ieee.org/regauth/oui/a aoui.txt ou ` la n de la RFC 1700 (page 172) Ethernet vendors address components a 33. 12 Rseaux locauxe 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 case 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. oExemple dadresse physique en reprsentation hexadcimale :e e 08:00:09:35:d5:0b 08:00:09 est attribu ` la rme Hewlett-Packardea 35:d5:0b est ladresse de la carteDautres constructeurs, capturs au hasard des rseaux :e e00:11:24 Apple Computer00:00:0C Cisco Systems, Inc.00:06:5B Dell Computer Corp.08:00:20 Sun MicrosystemsAA:00:04 Digital Equipment Corporation00:10:5A 3Com Corporation...... 4.1.4 Unicast, multicast et broadcastDans 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 ee e linterface rseau sinterrompt ` chaque fois pour les examiner, il ne serait pase a tr`s utilisable pour les applications de lutilisateur, parceque tout le tempse interrompu par ces vnements rseau. e eePour viter cette situation, le logiciel embarqu dans linterface rseau esteee paramtr (par le syst`me dexploitation) pour ltrer les paquets non voulus e ee car non ncessaires au bon fonctionnement en rseau. Ce param`trage peut e e e changer dune station ` une autre.aIl est galement possible de ne pas ltrer, cest une proprit utiliseeeee 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 erend unique. Ce mode dadressage est typique dchanges entre deuxestations uniquement. Cest lessentiel du trac sur un LAN. Le ltragepeut seectuer en ne retenant que les trames qui ont ladresse MACde la station locale et donc carter les autres trames de type unicast. e 34. Couche 2 - Liaison (Data Link) 13broadcast Tous les bits de ladresse MAC sont ` 1.aToutes les stations dun rseau sont destinatrices de tels paquets, queeleur ltrage doit laisser passer, avec les inconvients cits prcdemment.ee eCe mode dadressage ne devrait tre utilis par les protocoles quunique- e ement quand il nest pas possible de faire autrement. Par exemple pourobtenir une information que seule une station inconnue sur le LANposs`de. Cest le cas des protocoles ARP et RARP (cf cours ARP/- eRARP pages 55 et 58)Utilis abusivement, le broadcast est une gne. e emulticast 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 dcouvertee ee eae passive (par lcoute de messages davertissement) ou ` la recherche ea (par lmission de messages de sollicitation) de voisins de LAN ayante des proprits particuli`res.eee Le ltrage des sollicitations et leurs rponses peut tre congur ` lae eea carte sur chaque station, en fonction des impratifs et besoins de fonc- e tionnement. Ce mode de fonctionnement est assez conome des ressources du rseau,ee puisquune seule station met une information qui est traite par toutese e celles qui sont intresses, et elles seules.ee Toutes les adresses qui ne sont ni du type broadcast ni du type multicastsont du type unicast.4.2Dirences Ethernet - 802.2/802.3e MAC LLC SNAPDonnes dest. source1 11 3 238 1492662 4 dest.sourceRFC 894 gure I.04 Dirences Ethernet 802.2/802.3 e On remarque que le champ taille de la trame 802.3 est ` la placea 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. 35. 14Rseaux locaux e Tous les numros de protocole sont suprieurs ` 150011 qui est la lon-eeagueur maximale des donnes encapsules. Donc une valeur infrieure e e eou 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 lae 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 prin-eee cipalement utilises : e LLC type 1Les trames sont dlivres en mode datagramme cest ` dire selon e eale principe du best eort (on fait au mieux sans garantie dersultat). e LLC type 2Les trames sont dlivres avec une garantie de bon acheminement.e eLusage du LLC de type 2 entra lajout de champs dans len- nette pour numroter les paquets, ajouter des acquittements, des e esynchronisations, etc. . .Cest le protocole HDLC comme High-level Data Link Control .Un travail qui est normalement dvolu ` la couche de transport ete aqui donc parasite beaucoup la lisibilit de lensemble.e 5Interconnexion - Technologie lmentaire eeLLC MACCable transceiverBusCartede coupleur EthernetstationCable coaxial Couche rseau Couche liaisonCouche physiquegure I.05 Interconnexion - Technologie lmentaireee 11Le plus petit numro de protocole est celui dIP : 0800 hexadcimal. Ce qui fait enee dcimal : 8 162 + 0 161 + 0 160 = 2048e 36. Interconnexion - Technologie lmentaire ee15 Linterconnexion ne se limite pas au niveau Ethernet. Quelques notions de technologie de base et donc tr`s succintes sont encessaires pour bien comprendre la suite de ce cours. e5.1 Raccordement Figure I.06 lhte est raccord `oe aRseau locallaide dune prise de type vampire Prise "vampire"et dun transceiver . Transceiver Dans cette technologie de rac-cordement, le support est un groscble jaune, dit encore Thick Ether-anet ou Ethernet standard, ou encoreCarte rseau10Base5 (10 comme 10Mbits/s, Basecomme Baseband , 5 comme 500Bus informatiquem`tres). egure I.06 Prise vampire5.1.1 10Base5Quelques 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 eee Pas de perturbation quand on ajoute une station : la pose dune nou- velle prise ninterrompt pas la continuit du rseau. ee Cot non ngligeable. ue Dplacement dune station non ais, en plus on perd la prise vampire, ee elle reste sur le cble. a Pour les cblages rapides on prf`re le 10Base2 ou Thin Ethernet ouaeeencore Ethernet n (2 comme 200 m`tres). e5.1.2 10Base2Quelques 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). ae ee Technique tr`s bon march, souple, les cartes int`grent le transducteur.ee e Il faut rompre la continuit du rseau pour ajouter une nouvelle sta- e e tion, ce qui lempche de fonctionner durant lopration. Cest un in-ee 37. 16 Rseaux locauxe convnient de taille sur un rseau tr`s utilis.e e ee Cette technique est en outre assez sensible aux perturbations lectro-e magntiques. eLes dsavantages du 10Base2 imposent gnralement lusage du 10BaseTe e e dans toute structure dpassant quelques machines (5 ` 10). Le 10BaseT r`gle ea e dnitivement le probl`me de lajout ou du retrait dune machine sur le LANee (T comme Twisted Pair ou paires torsades). eCette technique impose lusage dune boite noire rseau nomme ee HUB 12 ou moyeu. Celle-ci simule la continuit dans le cas du retraite dune station. 5.1.310BaseT 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 typeaRJ45, tr`s fragile (ne pas marcher dessus ! :). Le raccordement du HUBe(page 18) au reste du rseau se fait par 10Base2, en bre optique, ou etout simplement par cha nage avec un autre HUB ( Daisy chain ). Cette technique est dune tr`s grande souplesse dutilisation elle imposeenanmoins lacquisiton de HUB, tr`s peu onreux de nos jours.e ee Cette technique des paires torsades est tr`s sensible aux perturbationseelectromagntiques. lectromagntiques.eee e Aujourdhui le 100BaseT quipe la majeur partie des quipements pro- ee fessionnels, 100 comme 100 Mbits/s. Enn la bre optique est utilise de plus en plus souvent pour eectuere les liaisons point ` point.a 5.1.4Fibre optique Quelques particularits de la bre optique :e La plus utilise est la bre multimode 62.5/125.0 me Usage dun transducteur optique pour assurer la transformation entrele 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 per-eemet en outre le cblage de site important (plusieurs km2 ).a La bre permet datteindre des vitesses de transmission suprieureseaux 10Mbits/100Mbits/1000Mbits maintenant courants sur des pairesde ls en cuivre. Les nouvelles technologies issues des recherches les plus rcentes pro- emettent des bres multifrquences (1024 canaux par bre) avec pour e12 Voir au paragraphe 5.3 page 18 38. Interconnexion - Technologie lmentaire ee 17 chaque canal une bande passante de plusieurs giga-octets. Ces nou- veaux mdias auront une bande passante de plusieurs tra-octets par ee secondes. . . Son principal dsavantage est un cot lev au m`tre (de lordre dunee u e e e dizaine d pour un cble dun m`tre cinquante) et la ncessit davoir aeee des transducteurs au raccordement de tous les appareils contenant de llectronique (serveur, switch, routeur). Un tel module peut coter de eu lordre de 500 ` 1000 . . . a5.1.5 ConclusionConstruire un rseau local consiste ` juxtaposer des composants de baseeatr`s bien maitris, une sorte de mcano car tous les supports sont mixables.eeeNe plus installer les technologies les plus anciennes 10Base5, 10Base2 oumme 10BaseT, prfrer lusage du 100BaseT ou du 1000BaseT qui sonteeedevenus un standard courant du prcablage.eEn eet le cblage constitue les fondations dun rseau, le faire propre- a ement dembl vite une source continuelle dennuis pas la suite ! Les besoins eeen bande passante daujourdhui ne prgurent sans doute pas encore les be- esoins de demain (vido haute dnition sur tous les postes. . .), il faut donc eeprvoir tr`s large d`s la conception initiale.e e e Machine AMachine B Rseau physique Ethernet vs 802.2/802.3 Raccordement ==> drivation du rseau gure I.07 Technologie de liaison5.2 Rpteur e e ` A une technologie particuli`re correspond forcment des limitations dues e eaux lois de la physique. Par exemple en technologie Ethernet la longueurmaximale dun brin ne peut pas excder 180 m`tres. Pour pallier ` cette e eadcience on utilise des rpteurs ( repeaters ). ee e 39. 18Rseaux locaux e Rpteurs :e e Rpteur RBrins physiques Rdiffrents maismeme LAN R gure I.08 Plusieurs rpteurs mais toujours le mme lan e ee Agit uniquement au niveau de la couche 1 ISO, cest un amplicateurde ligne avec ses avantages et aussi linconvnient de transmettre le ebruit sans discernement : il ny a aucun ltrage sur le contenu. Relie deux brins dune mme technologie en un seul LAN car les trames esont reproduites ` lidentique. a En 10Base5, lusage dun rpteur fait passer la limite des 500 m`trese e e` 1000 m`tres...a e Il ny a aucune administration particuli`re, sinon de brancher la boite enoire ` un emplacement jug pertinent.ae Cest un lment bon march .eee 5.3 Concentrateur Un concentrateur (ou HUB ,gure I.09 Concentateur moyeu) :" Backbone " Est aussi nomm toile ou mul- ee tirpteur.e e Les HUB nont pas dadresse Ethernet, sauf certains mod`lese HUB volus, grables ` distance e e ea (TELNET,SNMP,. . .).On parle alors de hubs intelli- gents parcequils permettent dassocier des ports entres-eux. Prises RJ45 Stations raccorder au rseau local 40. Interconnexion - Technologie lmentaire ee 19Un hub assure la continuit du rseau sur chacune de ses prises, que lon e ey branche ou pas un hte. En cela il agit uniquement au niveau de la coucheo1 ISO. Il ne limite pas le nombre de collisions et namliore pas lusage de ela bande passante. Son seul intrt est de donc permettre le branchement oueele dbranchement des stations sans perturber le fonctionnement global duerseau. eLes hubs peuvent tre cha es entres-eux ; souvent ils sont relis au back- en ebone local par une autre technologie que la paire torsade (bre optique. . .). eDans le cas de hubs intelligents les ports sont associs les uns auxeautres par groupes de fonctionnement.5.4PontsLa technologie CSMA/CD atteint vite ses limites quand le rseau est en- ecombr. Une amlioration possible quand on ne peut pas changer de technolo- eegie (augmentation du dbit) est dutiliser un ou plusieurs ponts ( bridges ) epour regrouper des machines qui ont entre-elles un dialogue privilgi.e eDialogue entre deux stations, sans pont :AB CD ELe dialogue entre A et B perturbe lventuel dialogue entre D et E. gure I.10 Dialogue sans pontDe nos jours le pont en tant que tel est de moins en moins utilis par econtre le principe de son fonctionnement se retrouve, entres autres, dansles commutateurs (paragraphe suivant) et dans les points dacc`s sans l e( wireless ).Dialogue entre deux stations, avec pont :ABPont intelligent CD E P Meme rseau local gure I.11 Dialogue avec pontOn peut remarquer que les changes locaux ` chaque branche du ponteaseectuent au mieux des possibilit de la bande passante, le pont a donc e 41. 20Rseaux locaux e multipli par deux la capacit globale du trac rseau vis ` vis de certains e e ea 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 alecture et interprtation des octets vhiculs. Le rsultat de ce travail eee elogique (apprentissage) consiste ` isoler le trac sur certains tronons a cdun LAN. A ` cause de ce travail on parle gnralement de ponts e eintelligents ou de ponts transparents car la phase dapprentissageest automatique ! Rduit le taux de collisions en rduisant le trac inutile, donc amlioreeeelusage de la bande passante. Sur la gure I.11 les machines A et Bpeuvent 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 com-plets). Relie deux segments (ou plus) en un seul LAN, les trames transmisessont reproduites ` lidentique.a Un pont contient un cpu, il est en gnral administrable ` distance car e eaon 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 enomm STP ( Spanning Tree Protocol ) dsactive automatiquementeele 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 neltre pas les types broadcast et multicast. On peut remarquer que dans le cas de gure ou le trac est strictementcontenu dun cot et de lautre du pont, alors la bande passante globaleedu LAN est multiplie par deux. Bien sr cette remarque nest plus e uvalable d`s lors quune trame franchit le pont. e 5.5Commutateurs Aligner des stations sur un mme rseau local constitue une premi`ree e e tape simple et de faible cot pour un rseau local dentreprise. Le revers eu e dune telle architecture est que le nombre de collisions cro tr`s vite avect e le trac, do` une baisse tr`s sensible de la rapidit des changes de ` ceuee eu a gaspillage de la bande passante. Lusage de ponts peut constituer une premi`re solution mais elle nest pase 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 42. Interconnexion - Technologie lmentaire ee21le concept de commutation parall`le et qui a rvolutionn lorganisation desee erseaux locaux. eDaspect extrieur ces quipements se prsentent comme un hub mais onte e een interne un cpu susamment puissant et un bus interne de donnes su- esamment rapide pour mettre en uvre une logique de commutation rane. eLorsquune 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 physiqueedu destinataire. Il existe plusieurs dirences entre un pont et un commuta- eteur : Un commutateur peut mettre simultanment plusieurs ports en rela-e tion, sans que le dbit de chacun en soure. Par exemple un commu-e 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 busee e interne ou fond de panier . Dun point de vue plus thorique, un commutateur ` N ports ` 100 e aa 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 commutateura 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.ae 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 ela porte des serveurs des postes clients associs. La gure I.12 illustre ce e eprincipe :ServeursS1S2gnrauxCommutateur intelligent Hub Client 1Serveur Client 2localgure I.12 Commutateur Le trac rseau entre le client 1 et le serveur S2 ne perturbe pas e 43. 22Rseaux locaux e le trac entre le client 2 et le serveur S1 . De mme le trac entre lee 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 eee 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 prendreeo une dcision sur la route ` suivre et de convertir le format des donnes pourea e tre compatible avec le rseau ` atteindre (en fonction de la route). ee 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 ea (ponyme), qui devient un routeur ( router ).e Le probl`me du routage entre A et B : e B GG G APlusieurs chemins sont possibles pour aller de A B, do la ncessit dune stratgie. gure I.13 Fonction routageLa fonction passerelle consiste aussi en traduction de protocoles : ABGG GX25 EthernetModemToken ringLiaison rtcgure I.14 Traduction de protocolesUn routeur : Agit au niveau de la couche 3. Il prend des dcisions de destination. e 44. 6 Bibliographie 23 Poss`de au moins deux interfaces rseau (pas forcment identiques). ee e Contient un cpu et un programme tr`s volu, il est administrable ` e ee adistance. Remplit galement les fonctions dun pont (B-routeur) mais les brins eainsi relis ne forment en gnral plus un LAN car les adresses physiquese e econtenues dans les trames ne servent plus ` identier le destinataire. Il afaut une autre adresse qui dpend de la pile au-dessus (exemple adresse eIP). Il existe cependant des possibilits de simuler un mme LAN biene eque les trame traversent un routeur (cf cours ARP (page 55)).6 BibliographiePour 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, Rou-teurs, Switches, and Internetworking Protocoles AddisonWesley 45. 24 Rseaux locauxe 46. Chapitre IIIntroduction ` IP a1 TCP/IP et lInternet - Un peu dhistoireEn 1969 aux Etats Unis, lagence gouvernementale DARPA lance un pro-jet de rseau exprimental, bas sur la commutation de paquets. Ce rseau,eee enomm ARPANET, fut construit dans le but dtudier les technologies dee ecommunications, indpendamment de toute contrainte commerciale1eUn grand nombre de techniques de communication par modems datentde cette poque.eLexprience dARPANET est alors si concluante que toutes les organi-esations qui lui sont rattaches lutilisent quotidiennement pour pour leursemessages de service.En 1975, le rseau passe ociellement du stade exprimental au stade eeoprationnel. eLe dveloppement dARPANET ne sarrte pas pour autant, les bases deseeprotocoles TCP/IP sont dvelopps ` ce moment, donc apr`s que ARPANET ee aesoit oprationnel. eEn Juin 1978 Jon Postel2 dnit IPv4 et en 1981 IP est standardis dans e ela RFC 791 [J. Postel 1981].En 1983 les protocoles TCP/IP sont adopts comme un standard mi-elitaire et toutes les machines sur le rseau commencent ` lutiliser. Pour e afaciliter cette reconversion, la DARPA demande ` luniversit de Berkeley aedimplmenter ces protocoles dans leur version (BSD) dunix. Ainsi com-emence le mariage entre ce syst`me dexploitation et les protocoles TCP/IP.eLapport de lUniversit de Berkeley est majeur, tant au niveau thoriquee e(concept des sockets) quau niveau de lutilisateur, avec des utilitaires tr`sehomog`nes qui sint`grent parfaitement au paradigme dusage existant (rcp,ee1Lanc en France en 1972, le projet Cyclades , sous la responsabilit de Louis Pouzin,e etait galement bas sur la commutation de paquets et lusage de datagrammes. Il reliaitee equelques 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 aeeeeau prot de X25, prfr par les oprateurs de tlcoms nationaux.eeeeee2Jon Postel est dcd le 16 Octobre 1998 ` lge de 55 ans, cest le premier pionner e e e a ade lInternet dcd, on peut consulter par exemple : http://www.isi.edu/postel.htmle e e 47. 26 Introduction ` IPa 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 unee intrt croissant de la part dacteurs tr`s divers, et en particulier La Na- eee 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.ee Depuis 1994, lInternet sest ouvert au commerce, surtout avec lap- parition 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 auxae demandes de transactions scurises, le protocole volue et une nouvelle ver-ee e sion, la version 6 (IPng puis tout simplement IPv6), est dnie et en course de dploiement exprimental. ee Les protocoles dsigns par TCP/IP ont galement envahi les rseaux eee e locaux eux-mmes, car il est plus facile dutiliser les mmes protocoles en ee interne et en externe. Pour les utilisateurs, lacc`s ` lInternet est possible ` laide dune collec-e a a tion de programmes spcialiss si faciles ` utiliser que lon peut ignorer tout eea (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 usa-ee gers. Les innombrables forums de discussion ( news ). Le transfert de chiers entre machines ( ftp et ses drivs commee e fetch , wget , curl . . .). Le remote login , ou ses quivalents crypts ( ssh , qui permet ` un eea 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 ee (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 ea forme volue des pages personnelles, etc . . . ee ... En conclusion de ce paragraphe sur lhistorique on peut dire que lInternet est une collection apparemment anarchique (il ny a pas de structure hi-e 3 http://archive.ncsa.uiuc.edu/SDG/Software/Mosaic/NCSAMosaicHome.html 48. 2 Caractristiques de TCP/IPe 27rarchique et centralise) de rseaux inter-connects et appartenant ` divers eee apropritaires. eOn distingue trois niveaux : les rseaux au sein des organisations (lans),eles rseaux rgionaux et les rseaux de transit. e eeLe site de lAssociation Fnet indique quelques pointeurs intressants sure4lhistorique de lInternet (en anglais).2 Caractristiques de TCP/IPeLe succ`s de TCP/IP, sil vient dabord dun choix du gouvernement eamricain, sappuit ensuite sur des caractristiques intressantes :e e e1. Cest un protocole ouvert, les sources (C) en sont disponibles gratui- tement et ont t dvelopps indpendamment dune architecture par- ee ee e ticuli`re, dun syst`me dexploitation particulier, dune structure com- e e merciale propritaire. Ils sont donc thoriquement transportables suree nimporte quel type de plate-forme, ce qui est prouv de nos jours.e2. Ce protocole est indpendant du support physique du rseau. Cela per-ee met ` TCP/IP dtre vhicul par des supports et des technologiesa e ee aussi dirents quune ligne srie, un cble coaxial Ethernet, une liai-e 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 tech- nologies nest pas exhaustive. . .3. Le mode dadressage est commun ` tous les utilisateurs de TCP/IPa quelle que soit la plate-forme qui lutilise. Si lunicit de ladresse este respecte, les communications aboutissent mme si les htes sont auxeeo antipodes.4. Les protocoles de hauts niveaux sont standardiss ce qui permet des e dveloppements largement rpandus et inter-oprables sur tous typese ee de machines. La majeurs partie des informations relatives ` ces protocoles sont publiesaedans les RFCs (Requests For Comments). Les RFCs contiennent les derni`res eversions des spcications de tous les protocoles TCP/IP, ainsi que bien edautres informations comme des propositions damliorations des outils ac- etuels, la description de nouveaux protocoles, des commentaires sur la gestiondes rseaux, la liste nest pas exhaustive. e4http://www.fnet.fr/history/ 49. 28 Introduction ` IPa 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 propositione 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 ApplicationPrsentation 4 ApplicationSession3TransportPile Transport 2Arpa Internet 1 Rseau Interface Liaison 0MatrielPhysiquegure II.01 Comparaison ISO-ARPA La gure II.01 met en comparaison les fonctionnalits des couches due mod`le OSI et celles des protocoles TCP/IP.eLa gure II.02 elle, donne une vue densemble de larchitecture logicielle avec quelques protocoles dapplications de la famille IP. Ils sont tr`s nom- e breux, non reprsents tous ici, et il sen faut de beaucoup car il en existe des ee centaines. La lecture du chier /etc/services, prsent sur toute machinee de la famille des Unix, donne un aperu des principaux services enregistrs ce aupr`s de lIANA. Quand nous aurons expliqi la notion port (cf pagee 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 50. Comparaison TCP/IP ISO 29 nfs Application xdrhttp smtp dns snmp rpcSCTP TCP UDP Transport arp Internet IP igmpicmp rarp+ Interface fibreInfraCouche matrielle Ethernet ATM Wifi ...optique rougenon comprise dans Arpa gure II.02 Architecture logicielleLes chapitres qui suivent donnent loccasion dexaminer SMTP, DNS,SNMP, SCTP, TCP, UDP, ARP, RARP, IP, IGMP et ICMP !3.1Couche Application Layer Au plus haut niveau les utilisateurs invoquent les programmes qui per-mettent lacc`s au rseau.e eChaque programme dapplication interagit avec la couche de transportpour envoyer ou recevoir des donnes. En fonction des caractristiques dee elchange le programme a choisi un mode de transmission ` la couche dee atransport.La plus grande proportion des applications laissent ` la couche de trans-aport le soin deectuer le travail de Session , nanmoins il est possible epour certaines applications de court-circuiter cette fonctionnalit pour agiredirectement au niveau Rseau , comme on peut lobserver sur la gureeII.02 ` droite.a3.2Couche Transport Layer La principale tche de la couche de transport est de fournir la communi-acation dun programme dapplication ` un autre. Une telle communicationaest souvent qualie de point ` point .eaCette couche peut avoir ` rguler le ot de donnes et ` assurer la abilita e eaedu transfert : les octets reus doivent tre identiques aux octets envoys. Cestc e epourquoi cette couche doit grer des checksums et savoir re-mettre deseepaquets mal arrivs.eCette couche divise le ux de donnes en paquets (terminologie de lISO)eet passe chacun avec une adresse de destination au niveau infrieur.eDe plus, et cest surtout valable pour les syst`mes dexploitation multi-etches multi-utilisateurs (Unix,. . .), de multiples processus appartenant ` aades utilisateurs dirents et pour des programmes dapplications dirents,e eacc`dent au rseau au mme moment, ce qui implique la capacit de multi- e ee eplexer et de dmultiplexer les donnes, suivant quelles vont vers le rseauxeee 51. 30 Introduction ` IPa ou vers les applications ( Session ). 3.3Couche Internet Layer Cette couche reoit des data-grammes en provenance de la couche rseau,c e quelle doit analyser pour dterminer sils lui sont adresss ou pas. Danse e le premier cas elle doit dcapsuler son en-tte du data-gramme pour ee transmettre les donnes ` la couche de transport et au bon protocole dee a cette couche (TCP, UDP...), dans le deuxi`me cas elle les ignore.e Cette couche prend aussi en charge la communication de machine ` ma- a chine. Elle accepte des requtes venant de la couche de transport avec une e identication de la machine vers laquelle le paquet doit tre envoy. e e Elle utilise alors lalgorithme de routage (page 70) pour dcider si le pa-e quet doit tre envoy vers une passerelle ou vers une machine directement ee accessible. Enn cette couche g`re les datagrammes des protocoles ICMP et IGMP.e 3.4Couche Network Access Le protocole dans cette couche dnit le moyen pour un syst`me de ee dlivrer linformation ` un autre syst`me physiquement reli. Il dnit com- eae ee ment les data-grammes IP sont transmis. La dnition de ceux-ci restee indpendante de la couche rseau, ce qui leur permet de sadapter ` chaque e ea nouvelle technologie au fur et ` mesure de leur apparition. a Avant de sintresser au dtail des data-grammes IP, nous allons examiner e e le probl`me de ladressage IP, dans le chapitre suivant. e 4 Encapsulation dIPAB ApplicationApplication MessageTransportTransportPaquet Internet Internet DatagrammeNetworkNetworkTrameRseau physique 52. 5 Bibliographie 31 gure II.