Sie sind auf Seite 1von 62

Universit Libre de Bruxelles - Facult des Sciences - Dpartement dinformatique INFO-F-303 : Rseaux

Rseaux Rsum personnel

Christophe DUMEUNIER

Chapitre 1

Les rseaux dordinateurs et lInternet


1.1 Quest-ce que lInternet ?

LInternet doit son existence et son bon fonctionnement aux normes internet dnies par lIETF (Internet Engineering Task Force). Elles se prsentent sous forme de documents RFC (Request for Comments) qui sont pris comme base pour tout dveloppement dune application utilisant Internet comme moyen de communication. LInternet est une infrastructure de communication, un rseau dordinateurs lchelle plantaire, il relie ainsi des millions dappareils informatiques (ordinateurs de bureau, serveurs, ordinateurs portables, PDA, tlviseurs, voitures, grille-pains) appels htes ou terminaux. Ces terminaux sont relis les uns aux autres au moyen de liaisons de communication (dont il existe une grande varit : bres optiques, cbles coaxiaux, ondes radiolectriques,. . .). Les terminaux ne sont gnralement connects au rseau que par le biais dune seule liaison. En revanche ils sont indirectement relis les uns aux autres au moyen de routeurs. Ceux-ci prennent en charge des paquets dinformations sur les liaisons entrantes et les redirigent sur les liaisons sortantes. Le chemin emprunt par un paquet entre lexpditeur et le destinataire est appel route ou voie dacheminement. Les terminaux accdent lInternet grce des fournisseurs daccs lInternet (FAI ou ISP (Internet Service Provider )). Linfrastructure dun ISP nest rien dautre quun rseau de routeurs et de liaisons, et les ISP tant eux-mmes relis entre eux selon une structure de rseau. Internet est un rseau de rseaux !

INFO-F-303

Rseaux

LInternet permet aux terminaux daccder des applications distribues en vue dchanger des donnes. Pour cela lInternet procure deux types de services ses applications : un service able orient connexion (donnes transmises par ordre chronologique et dans leur intgralit) et un service non able sans connexion (aucune garantie sur la bonne transmission, mais plus rapide). Les terminaux, routeurs et autres rouages de lInternet utilisent des protocoles qui contrlent lenvoi et la rception dinformations au sein du rseau. Le fonctionnement dun protocole peut se comparer aux conventions sociales, par exemple demander lheure. La premire phase serait dentamer la conversation par un bonjour ou autre formule de politesse, laquelle la personne rpondra favorablement ou vous enverra balader. Sen suit la relle question Auriez-vous lheure svp ? suivie de la rponse Il est 14h30. Enn la communication se clture par un second change de politesse tel que Merci suivi dune rponse A votre service. Il sagit l dun protocole humain pour demander lheure un inconnu. Le processus est similaire au sein dun rseau et toute communication requiert un minimum de deux entits utilisant le mme protocole. De manire plus formelle : Un protocole dnit le format et lordre des messages changs entre deux entits interlocutrices ou plus, ainsi que les actions gnres au moment de la transmission ou rception dun message ou de tout autre vnement.

1.2

Rseaux daccs

Le rseau de lInternet est constitu de routeurs interconnects, de rseaux interconnects, dhtes et dapplications. Les htes (ou systmes terminaux ) sont les ordinateurs connects lInternet. On les appelle ainsi car ils sont en priphrie du rseau. Ils peuvent tre de natures trs diverses, avec ou sans interface pour lutilisateur. Les serveurs sont des terminaux chargs dhberger des logiciels dapplication et des 3

INFO-F-303

Rseaux

donnes. Contrairement aux autres terminaux, ils ne permettent pas un contact direct avec lutilisateur. De faon gnrale, les htes sont classs en clients et serveurs ; en particulier, une paire dhtes en communication est presque toujours une paire (client,serveur ), un hte pouvant prendre tantt le rle de client et tantt le rle de serveur selon les besoins. Les rseaux TCP/IP, en particulier lInternet, proposent deux types de services de bout-en-bout : un service sans connexion et un service orient connexion. Lorsquune application a recours au service orient connexion, le logiciel client et le logiciel serveur senvoient mutuellement des paquets de contrle avant de procder lenvoi de paquets contenant des donnes utiles. Une connexion est alors tablie. Ce service est systmatiquement accompagn du transfert de donnes able (donnes transmises dans le bon ordre et sans erreur), du contrle de ux (surveiller quaucun noeud de la connexion ne sature lautre par un trop grand nombre de paquets une trop grande vitesse) et du contrle de congestion (empche le rseau darriver saturation). Le service orient connexion de lInternet sappelle TCP (Transmission Control Protocol). En revanche, le service sans connexion nutilise pas la procdure de mise en prsence : lorsque lun des cts dune application souhaite envoyer des paquets, le programme les envoie tout simplement. De plus ce service nest associ aucun contrle de ux ou de congestion. Ce service sappelle UDP (User Datagram Protocol).

1.3

Coeur du rseau

Larchitecture du coeur dun rseau peut suivre deux approches direntes : la commutation de circuits ou la commutation par paquets. Au sein de la commutation de circuits, les ressources requises le long dun chemin sont rserves pour toute la dure de la session (par exemple, les rseaux tlphoniques). Avant que la source ne puisse transmettre, elle doit se mettre en relation avec le destinataire, et tablir une connexion (appele circuit) pour laquelle les commutateurs situs sur le chemin maintiennent la communication. Le dbit est alors constant et garanti. Dans le cas de la commutation par paquets, ces ressources ne sont pas rserves et les messages envoys doivent utiliser les ressources la demande, devant parfois attendre leur tour. Des paquets sont ainsi transmis sur le rseau, mais sans aucune rservation de dbit. Lors d une liaison, un circuit peut tre mis en oeuvre au moyen de multiplexage frquentiel (FDM) ou dun multiplexage temporel (TDM). En FDM, la plage de frquence est partage entre les direntes connexions. TDM (qui tend se substituer au FDM) utilise une rpartition dans le temps grce des trames dune dure prcise, chaque trame tant divise en un nombre dintervalles bien dni. (Dans le cadre de la commutation par paquets, on parlera de multiplexage statistique.) Parmi ces deux moyens denvoyer des donnes, la commutation par paquets est la plus ecace. Voici un petit exemple pour sen persuader. Supposons que dirents 4

INFO-F-303

Rseaux

utilisateurs doivent se partager une liaison 1M bit/s. Supposons galement que chacun de ces utilisateurs alterne entre des priodes dactivit (o il gnre des donnes un taux constant de 100kbit/s) et des priodes dinactivit. Supposons enn quun utilisateur nest en moyenne actif que 10% du temps. En commutation de circuits, 100kbit/s doivent tre en permanence rservs pour chaque utilisateur, la ligne ne peut donc supporter plus de 10 utilisateurs. En commutation par paquets, la probabilit quun utilisateur choisi soit actif un instant donn est 1/10. Sil y a n utilisateurs sur la ligne (n 10), la probabilit que plus de 10 utilisateurs soient actifs en mme temps n! 9nk est Pn = 1 10n 10 (nk)!k! . A titre indicatif, P15 = 0.0000000093, P25 = 0.0000117, k=0 P40 = 0.0014697, P70 = 0.0872691. On voit que jusqu plus ou moins 40 utilisateurs, la probabilit de ne pas dpasser la capacit du lien est proche de 99,9%, les paquets traversent le lien presque sans dlai. La commutation par paquets ore presque toujours la mme performance de dlai que la commutation de circuits, mais en autorisant un nombre dutilisateurs beaucoup plus lev. Lutilisation de la commutation par paquets implique une segmentation ne des messages envoyer travers le rseau, les messages ainsi scinds devront tre assembls par le destinataire pour reconstruire le message. Cette procdure un petit peu fastidieuse se justie largement. Imaginons quun gros paquet (par exemple 10000000bits) doive traverser un rseau entre deux htes A et B relis par deux commutateurs et trois liaisons, chacune dun dbit de 2M bit/s. Si le message nest pas scind, il faut exactement 5 secondes A pour envoyer le paquet au premier commutateur. Le mode de transmission des commutateurs tant store and forward, le premier commutateur ne peut commencer transmettre quaprs rception complte du message. Aprs 5 secondes il peut commencer retransmettre le message au second commutateur. Nous obtenons un total de 15 secondes pour transmettre le message de A vers B. Supposons maintenant que le paquet soit dcoup en 5000 paquets de 2000bit chacun. Il faut exactement une milliseconde pour transmettre le premier paquet au premier commutateur, qui peut alors commencer le transmettre au second commutateur pendant que A transmet le second paquet. A aura ainsi ni de transmettre le premier paquet aprs 5 secondes, et il restera au dernier paquet deux segments parcourir, ce qui fait un total de 5, 002 secondes pour transmettre la totalit du message. Nous voyons quune transmission en parallle (pipe-line) est beaucoup plus ecace. Un deuxime avantage non ngligeable de la scission des messages est la dtection derreur et retransmission ou omission des donnes errones. Non seulement, la probabilit quune erreur survienne dans un paquet est dautant plus petite que le paquet est lger, et de plus, le temps de retransmission ou la perte de donnes occasionns par ce paquet erron naura que peu dimpact. Cependant, les paquets ne peuvent ecacement tre scinds que dans certaines limites. En eet, tout paquet transmis sur le rseau possde une entte de taille xe. Trop dcouper les paquets reviendrait transporter plus den-ttes que de contenu rel. Un compromis doit donc tre trouv.

INFO-F-303

Rseaux

Il existe deux grandes catgories de rseaux commutation par paquets : les rseaux datagramme (rseaux transportant des paquets selon des adresses de destination) et les rseaux circuits virtuels (rseaux transmettant les paquets en fonction de numros de circuits virtuels). Un circuit virtuel consiste en un chemin tabli entre lexpditeur et le destinataire, des numros de circuits virtuels (un numro pour chaque liaison le long du chemin) et des entres dans des tables de conversion des commutateurs. (Ce rsum ne stendra pas plus sur les circuits virtuels, plus de dtails dans [1] 35-37) Les rseaux datagrammes sont similaires aux services postaux. Un message envoy est emball sous enveloppe sur laquelle est appose une adresse respectant une hirarchie prcise. Dans un rseau datagrammes, len-tte de chaque paquet contient ladresse du destinataire. Lorsquune adresse arrive un commutateur, celui-ci observe une portion de celle-ci lui permettant de dduire le prochain commutateur (une table de conversion est prvue cet eet dans chaque commutateur an de dduire le port de sortie appropri). Notons que lors du passage dune adresse, un commutateur ne garde aucune trace du passage du message (contrairement aux rseaux circuits virtuels).

1.4

Rseaux daccs et supports physiques

Rseaux daccs
Il existe trois grands modles daccs au rseau : laccs rsidentiel (qui assure la connexion des particuliers), laccs dentreprise (qui assure la connexion des terminaux au sein dune institution) et laccs mobile (qui assure la connexion des terminaux mobiles). Le mode daccs rsidentiel consiste connecter un terminal un routeur priphrique. Le plus souvent on a recours lutilisation dun modem numrotation automatique et dune ligne tlphonique. Pour transmettre les donnes par la ligne tlphonique, le modem doit convertir les messages du format numrique au format analogique. Cette ligne analogique est constitue dune paire de ls de cuivre torsade. A lautre extrmit de la ligne, le modem du fournisseur daccs rtablit le signal au format numrique pour le transmettre un routeur. Le dbit autoris par les modems permet de se connecter au maximum 56kbit/s. Ce procd est trs lent, de plus, le modem monopolise la ligne tlphonique pendant le temps de la connexion. Pour remdier cela, il existe deux grands modes daccs rsidentiels large bande : la ligne dabonn numrise (DSL, Digital Subscriber Line) et la liaison hybride bre et coaxial (HFC, Hybrid Fiber Coaxial Cable) appele aussi cble. La technologie DSL, qui utilise les lignes tlphoniques dj en place, repose sur le multiplexage frquentiel. La liaison de communication est divise en trois bandes de frquences indpendantes : un canal haut dbit vers laval dans la bande [50kHz, 1M Hz], un canal dbit intermdiaire vers lamont dans la bande [4kHz, 50kHz] et un canal tlphonique dans la bande [0Hz, 4kHz]. DSL a t spcialement conu pour des courtes portes, condition

INFO-F-303

Rseaux

indispensable pour augmenter la capacit de dbit des lignes. Tout comme pour le DSL, la technologie du cble a recours des modems particuliers appels modems cble qui divisent la connexion en deux canaux (vers lamont et vers laval). Il sagit dun support de diusion partag : chaque paquet envoy par la tte de rseau est transport en aval le long de chaque liaison. Les entreprises ont gnralement recours un rseau local (LAN, Local Area Network) pour connecter leurs terminaux un routeur priphrique. La technologie Ethernet est la plus frquemment employe, elle propose un dbit de 10M bit/s ou 100M bit/s (ou mme plus). Les connexions se font laide de lignes en cuivre paire torsade ou de cbles coaxiaux qui relient les utilisateurs entre eux et au routeur. Ethernet a recours un support partag, ce qui signie que les utilisateurs se partagent un dbit global. Il existe deux principaux modes daccs sans l lInternet. Au sein dun rseau LAN sans l (WLAN) reposant sur la technologie Wi-Fi, les utilisateurs itinrants peuvent transmettre et recevoir des paquets avec un point daccs sans l (Hotspot) dans un rayon de quelques dizaines de mtres. Dans les rseaux daccs tendus sans l, la station radio dessert les usagers dans un rayon de plusieurs kilomtres. Le WAP (Wireless Access Protocol) et le i-mode sont deux technologies utilisant le mode daccs mobile lInternet.

Supports physiques
Il existe deux catgories de supports physiques : les supports guids (tels que ls de cuivre paire torsade, cbles coaxiaux,...) et les supports non-guids (tels que Wi-Fi, programmes par satellite,...). Le support physique de transmission le moins cher et le plus rpandu est la ligne tlphonique en cuivre paire torsade. Les paires torsades sont constitues de deux ls en cuivre isols, dun diamtre dun millimtre, enrouls lun sur lautre en une spirale rgulire rduisant linterfrence lectrique avec les lignes voisines. La paire torsade non blinde (UTP, Unshielded Twisted Pair) est gnralement utilise lintrieur dun btiment. Le dbit disponible varie de 10M bit/s 1Gbit/s selon le diamtre du l de cuivre et de la distance. Le cble coaxial est constitu de deux conducteurs en cuivre structure concentrique muni dun bon isolant et dune gaine protectrice adapte pour permettre des dbits trs levs. Il existe deux types de cbles coaxiaux : le cble coaxial en bande de base et le cble coaxial large bande. Le premier a un diamtre denviron un centimtre, il est habituellement utilis sans les rseaux locaux. Le terme bande de base signie que les ux de bits sont directement transmis sur le cble, sans action de modulation du signal. Le cble coaxial large bande est plus pais. Ce type de cble est habituellement utilis dans les systmes de tlvision par cble. Une bre optique est un mdium conducteur de lumire n et exible, qui permet la propagation sous forme dimpulsions lumineuses reprsentant chacune un bit dinformation. Une simple bre optique peut prendre en charge des dbits de lordre de plusieurs 7

INFO-F-303

Rseaux

centaines de Gbit/s. Les bres optiques ne sont pas sujettes au phnomne dinterfrence lectromagntique, ne crent quune trs faible attnuation du signal sur des tronons allant jusqu une centaine de kilomtres et sont trs diciles mettre sur coute. Cela en fait un support de prdilection pour les transmissions longue distance. Nanmoins il sagit dune technologie trs chre. Les canaux radio envoient des signaux dans le spectre radio-lectromagntique et permettent ainsi dviter toute connexion physique. Les conditions de propagation dterminent laaiblissement de trajet et laaiblissement par diraction, laaiblissement par trajets multiples et le phnomne dinterfrences. Les canaux radio terrestres oprent au niveau du globe terrestre, en voisinage (quelques dizaines de mtres) ou sur grandes distances (plusieurs dizaines de kilomtres). Les canaux radio satellites assurent les liaisons entre dirents metteurs ou rcepteurs haute frquence en dirents points du globe et des satellites gostationnaires ou en orbite basse. Le dbit de ces satellites est de lordre du Gbit/s. La distance importante entre les satellites gostationnaires et le globe (36000 kilomtres) impose au signal un dlai de propagation de 250 millisecondes.

1.5

Les ISP et les rseaux fdrateurs de lInternet

Les rseaux daccs situs en priphrie de lInternet sont connects aux autres lments de cette entit gigantesque par une hirarchie nivele constitue de dirents types de fournisseurs daccs lInternet. Les fournisseurs daccs sont placs la base de cette hirarchie, le sommet est form dun petit noyau dISP, dits de niveau 1. Tous les ISP de niveau 1 sont connects entre eux deux deux et sont connects un grand nombre dISP de niveau 2, formant une couverture internationale. Les ISP de niveau 1 sont galement appels rseaux fdrateurs de lInternet. Un ISP de niveau 2 se caractrise gnralement par une couverture rgionale ou nationale, et il nassure une connexion qu un nombre limit dISP de niveau 1. Dans un rseau dISP, les noeuds par lesquels un ISP se connecte dautres ISP sont appels points de prsence (POP ).

1.6

Retards et pertes au sein des rseaux

Au l de son transport travers les dirents noeuds de son trajet, la transmission dun paquet est aecte par plusieurs types de retards. Les plus importants sont le temps de traitement chaque noeud, le temps dattente, le temps de transmission et le temps de propagation. La somme de ces types de retards constitue le temps total de transmission. Le temps dexamen de len-tte dun paquet et la dtermination de la liaison de sortie constitue le temps de traitement. Dans la le dattente du routeur, le paquet attend son tour, cela constitue le temps dattente. Si L est la longueur du paquet et R le dbit de la liaison entre A et B, le temps de transmission est gal L/R. Le temps ncessaire au trajet entre lorigine et la destination est le temps de propagation. On dnira gnralement les variables dtotal = dtrait + datt + dtrans + dprop . Regardons plus attentivement le temps dattente, qui est particulier. Soit a le taux moyen darrive 8

INFO-F-303

Rseaux

des paquets dans la le dattente (en paquets/seconde), et par souci de simplicit, soit L la taille de tous les paquets. Le quotient La/R est lintensit du trac. Si La/R > 1, alors la vitesse darrive moyenne des paquets est suprieure au rythme auquel ceux-ci quittent la le dattente, ce qui aura pour consquence de faire augmenter sans cesse la le dattente. Si La/R = 1, alors la nature du trac entrant aecte le temps dattente. Enn, si La/R est beaucoup plus petit que 1 les temps dattentes seront souvent trs faibles voire inexistants. En ralit, les les dattente des routeurs sont nies, ce qui signie que lorsquun paquet arrive dans une le dattente qui est dj pleine le routeur labandonne et le paquet est perdu.

1.7

Les couches de protocoles

An de rduire la complexit de la conception dun rseau, les architectes de rseau ont choisi dorganiser les protocoles, ainsi que les matriels et logiciels qui en dpendent, en direntes couches, chaque protocole tant associ une couche particulire. Au sein dun rseau, chaque couche est susceptible dassurer une ou plusieurs des fonctions suivantes : la dtection derreurs, le contrle de ux, la segmentation puis le rassemblage, le multiplexage, ltablissement de connexion. La pile de protocoles Internet est constitue de cinq couches successives : La couche application est responsable de lexcution des direntes applications rseau. La couche transport assure le transport des messages de la couche application entre les terminaux client et serveur ; elle a recours deux protocoles de transport : TCP (orient connexion) et UDP (service minimum). La couche rseau est responsable de lacheminement des datagrammes entre les serveurs ; elle est constitue principalement dun protocole qui dnit les champs du datagramme (protocole IP). La couche liaison assure le transfert des paquets de donnes entre les noeuds du rseau. Enn la couche physique se charge de transmettre les bits dinformation dun noeud un autre.

Chapitre 2

La couche application
2.1 Principes des protocoles de la couche Application

Le logiciel dune application se rpartit sur plusieurs systmes (lapplication Web par exemple est le fruit de deux logiciels communicant lun avec lautre : le navigateur de lutilisateur et le programme correspondant sur le serveur. On parlera donc plus de processus que programme pour dsigner les entits interlocutrices. Des processus ne cohabitant pas dans la mme machine communiquent par lenvoi et la rception de messages travers le rseau. Les applications rseau disposent de protocoles dnissant le format et lordre des messages changs. Attention faire la distinction entre application rseau et protocole de la couche application ; par exemple, le Web est une application de rseau qui permet aux utilisateurs dobtenir des documents hbergs par des serveurs Web, et HTTP serait son protocole principal. Une application rseau comprend gnralement deux ples : un ple client et un ple serveur. De faon gnrale les communications stablissent entre le ple client dun terminal et le ple serveur dun autre terminal distant sur le rseau. De nombreuses applications utiliseront aussi bien le ple client ou le ple serveur, selon le terminal qui a ouvert la connexion. Deux processus interagissant font passer les messages quils senvoient au travers de leurs interfaces de connexion (ou sockets, ou interface API ). Une interface de connexion agit comme une porte. De lautre ct de linterface se trouve la couche transport, cette interface sert de liaison entre la couche application et la couche transport. Cependant ce sera au dveloppeur de choisir parmi les protocoles de transport disponibles. Dans les applications internet, le serveur de destination est identi au moyen de son adresse IP unique. Lapplication expditrice doit aussi savoir quelle application elle sadresse chez le destinataire, cette information est un numro daccs (numro de port). Certaines applications (telles que messagerie lectronique, transfert de chiers, applications nancires,. . .) exigent une abilit de transfert maximale, sans aucune perte de donnes. Par contre, dautres applications (dites tolrance derreurs) (transfert audio ou vido,. . .) ne se soucient pas dune quantit raisonnable de pertes de donnes qui ne se traduisent que par des petites perturbations locales. Dautres applications auront 10

INFO-F-303

Rseaux

besoin dun dbit minimal disponible en permanence (tlphonie, vidoconfrence,. . .) et doivent tre en mesure denvoyer des donnes et de sassurer de leur arrive ce mme dbit, codant au besoin un rythme dirent si le dbit venait manquer ; on parle alors dapplications sensibles au dbit. Enn, certaines applications ont des contraintes de temps (jeux en rseaux, ou toute forme dinteractivit). Le modle de services TCP comprend un service orient connexion et un service de transfert de donnes able (lun ne va pas sans lautre, ce ne sont pas des options). Le service orient connexion signie quil y a change dinformations de contrle de la couche transport entre le client et le serveur avant lchange des messages venant de la couche application. On dit alors quune connexion TCP a t tablie entre les interfaces. La connexion est dite duplex : les deux processus peuvent senvoyer et recevoir des messages simultanment. Le service de transport able ore la possibilit au processus de compter sur TCP pour assurer le transfert de leurs donnes sans erreur et dans lordre. TCP comprend galement un mcanisme de contrle de congestion, qui tend brider les processus dexpdition lorsque le chemin entre la source et le destinataire semble satur. En contre partie, TCP napporte aucune garantie de dbit minimum ni temps minimum de transfert (le donnes arriveront, mais personne ne sait en combien de temps). UDP quant lui est un processus de transport extrmement simple et lger, dot dun modle de service minimum. Il ne ncessite aucun change pralable entre deux processus, de plus les changes de donnes sont non-ables, ce qui signie que lorsquun processus expdie un message, il ne se soucie pas de son arrive.

2.2

Le Web et HTTP

Le protocole HTTP (HyperText Transfert Protocol ) est le protocole de la couche application utilis par le Web. Il est mis en oeuvre par linteraction de deux logiciels : un logiciel client et un logiciel serveur, par le biais du protocole TCP de la couche transport. Un petit peu de vocabulaire : Une page Web est constitue de dirents chiers accessibles au moyen dadresses propres (URL, Uniform Resource Location). La plupart des pages Web sont formes dun chier HTML de base et dun certain nombre de chiers rfrencs. Chaque URL comprend deux parties : le nom du serveur hbergeant lobjet et le chemin daccs. Par exemple : www.nomduserveur.com/chemin01/chemin02/fichier.xml. Un navigateur est un agent utilisateur pour le Web, il permet dacher les pages Web sollicites et propose de nombreuses fonctions. Le navigateur est galement charg de mettre en oeuvre le ple client de HTTP. Un serveur Web hberge des objets Web, tous accessibles au moyen dun URL, il est charg de mettre en oeuvre le ple serveur de HTTP.

11

INFO-F-303

Rseaux

HTTP dnit les modalits des requtes et de transfert de pages Web entre un client et un serveur. Lorsque lutilisateur sollicite une page Web, le navigateur envoie au serveur des messages de demande HTTP concernant les objets contenus dans cette page. Celui-ci rpond au moyen de messages HTTP contentant les dits objets. Avec HTTP, le serveur ne stock pas dinformations dtat relatives au client, ce qui signie que si un client sollicite deux fois de suite le mme objet dans un court dlai, lobjet sera renvoy une seconde fois. On parle de protocole sans mmoire. HTTP peut mettre en oeuvre deux types de connexions : des connexions persistantes et des connexions non-persistantes. En prsence de connexions non-persistantes un seul objet Web peut tre transfr la fois sur une connexion TCP. Dans le cas de connexions persistantes il nest pas ncessaire dtablir une nouvelle connexion pour le transfert de chaque nouvel objet. Lors du transfert dune page Web (par exemple un chier HTML et dix images jpg) entre un serveur et un client dans les cas de connexions non-persistantes : Le client HTTP tablit une connexion TCP avec le serveur sur laccs 80. Le client HTTP envoie un message de demande HTTP au serveur via linterface de connexion associe la connexion TCP tablie. Ce message contient le chemin daccs de la page sollicite. Le serveur HTTP reoit le message de demande via linterface de connexion, rcupre lobjet son adresse de stockage, lintgre dans un message de rponse et envoie le tout au client via linterface de connexion. Le serveur HTTP ordonne TCP dinterrompre la connexion. Le client HTTP reoit le message de rponse via son interface, la connexion TCP est interrompue. Le message indique que le chier quil transporte est de type HTML, avec dix rfrences vers les dix images. Les quatre premires tapes sont alors rptes pour chacun des objets rfrencs. Il aura ainsi fallu 11 connexions TCP distinctes pour transfrer la page Web dans son intgralit. Notons tout de mme que les navigateurs permettent de solliciter les dix images via des connexions TCP parallles ou successives. Avec des connexions persistantes, la connexion TCP est maintenue par le serveur aprs lenvoi de la rponse. Le serveur HTTP interrompra la connexion TCP aprs un temps dinactivit dtermin par ladministrateur du serveur.

12

INFO-F-303

Rseaux

Il existe deux types de connexions persistantes : avec ou sans pipelinage. En labsence de pipelinage, le client met une nouvelle requte uniquement aprs rception de la rponse sa requte prcdente. Il subit donc un RTT pour la requte et la rception de chaque objet contenu dans la page, et de plus, cela laisse la connexion TCP inactive plus de la moiti du temps. Avec pipelinage, le client HTTP met une requte ds quil rencontre une rfrence un objet, cest--dire quil peut mettre une nouvelle requte avant mme davoir reu la rponse de la prcdente. Cela rduit le temps total un seul RTT (pour des petits objets). Il existe deux types de messages HTTP : les demandes et les rponses. Ces messages sont rdigs au format ASCII. La premire ligne est la ligne de demande compose de trois champs (mthode, adresse URL et la version du protocole utilis). Le champ relatif la mthode peut prendre direntes valeurs : GET (sollicite un objet), POST (donnes relatives un formulaire), HEAD (sollicite un objet, mais sans le recevoir (dbug)), PUT (chargement dun objet) et DELETE (suppression dun objet), PUT et DELETE ntant disponible que pour HTTP/1.1. Elle est suivie des lignes den-tte.

Schma gnral dun message de demande HTTP. Exemple den-tte : GET /somedir/page.html HTTP/1.1 Host: www.someschool.edu Connection: close User-Agent: Mozilla/4.0 Accept-language:fr Un message de rponse est constitu de trois sections : une ligne dtat, plusieurs lignes den-tte et le squelette. Ce dernier contient la partie la plus importante, savoir lobjet sollicit. La ligne dtat contient entre autres un code dtat qui rend compte des rsultats de la requte ; quelques exemples : 200 OK la requte est russie et linformation est contenue dans la rponse, 301 Moved Permanentely lobjet sollicit a t dnitivement dplac et une nouvelle URL est spcie, 400 Bad Request la demande na pas t comprise par le serveur, 404 NotFound le document est introuvable sur le serveur. 13

INFO-F-303

Rseaux

Schma gnral dun message de rponse HTTP. Exemple den-tte : HTTP/1.1 200 OK Connection: close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.2.0 (Unix) Last-Modified: Mon, 22 Jun 1998 09:23:24 GMT Content-Length: 6821 Content-Type: text/html Nous avions spci quun serveur HTTP est sans mmoire et quil ne conserve pas dinformations dtat. Cependant, il est souvent utile de pouvoir identier ses visiteurs (accs rduits, privilges, panier personnel,. . .). HTTP procure deux mcanismes didentication : la procdure dautorisation et les cookies. Une procdure dautorisation repose sur lutilisation des en-ttes HTTP et de codes dtats particuliers. Un client enverra tout dabord un message de demande ordinaire, auquel le serveur rpond par un code dtat 401 Authorization Required et spcie les dtails de la procdure dauthentication (en gnral, une demande de login et de mot de passe). La demande est alors rexpdie avec un en-tte contenant le login et le mot de passe. Les cookies constituent un autre systme permettant aux sites Web de rassembler des donnes sur leurs visiteurs. Le droulement se fait en quatre tapes : Linsertion dune ligne den-tte particulire dans le message de rponse HTTP ; La ritration de la demande avec la ligne den-tte correspondante ; Lenvoi dun chier tmoin qui est conserv par le navigateur dans le post de lutilisateur ; lintgration des informations dans une base de donnes sur le serveur Web. En enregistrant les objets dj demands, la mise en mmoire cache sur le Web tend rduire les temps de rponse et diminuer le trac encombrant lInternet. Les caches Web peuvent se trouver chez le client ou au sein dun serveur intermdiaire sur le rseau. Ce procd pose cependant un problme : la version dun objet rsidant dans la mmoire cache dun serveur peut tre prime. Heureusement, HTTP est dot dun mcanisme sassurant de lactualit des objets, connu sous le nom de GET conditionnel.

14

INFO-F-303

Rseaux

2.3

DNS, le service dannuaire de lInternet

Les serveurs de lInternet peuvent tre identis de nombreuses manires, lapproche la plus frquente tant le nom de serveur (tels que www.yahoo.com ou www.tf1.fr) pour des raisons videntes de mmorisation. Un nom de serveur ne fournit pourtant aucune information quant sa localisation sur le rseau, lide est donc dattribuer chaque serveur un identiant structure hirarchique xe, dune longueur de 4 octets , appele adresse IP, entre 0.0.0.0 et 255.255.255.255. On parle de structure hirarchique car sa lecture de gauche droite rvle progressivement davantage dinformations sur lemplacement du serveur sur lInternet. Pour assurer la correspondance entre les noms de domaines et les adresses IP, il faut un service dannuaire permettant de traduire les noms de serveur en adresse IP. Cest ce pour quoi est fait le DNS (Domain Name System). Il sagit la fois dune base de donnes distribue mise en oeuvre au sein dune hirarchie de serveurs de nom et un protocole de la couche application qui permet aux serveurs ordinaires et aux serveurs de nom de communiquer les uns avec les autres pour assurer le service de conversion. Le protocole DNS est un protocole qui utilise UDP sur laccs 53 sur des machines Unix souvent quipes du logiciel BIND (Berkeley Internet Name Domain). Le DNS est frquemment utilis par dautres protocoles (tels que HTTP, SMTP, FTP) pour dlivrer les adresses IP correspondant aux noms de serveurs demands par les utilisateurs. Par exemple, pour quun utilisateur puisse envoyer un message au serveur www.candiulb.be/forum/index.php, il doit dabord connatre son adresse IP, qui sobtient de la manire suivante : le navigateur extrait le nom du serveur (www.candiulb.be) de lURL et le remet au ple client de DNS, celui-ci formule une requte auprs dun serveur de nom, laquelle il reoit une rponse concernant ladresse IP correspondante ; puis le navigateur tablit une connexion TCP avec le processus serveur rpondant cette adresse. En plus de ses fonctions de traduction, DNS propose plusieurs autres services importants tels que la gestion dalias pour les serveurs (un serveur peut donc avoir plusieurs noms), lattribution dalias pour les serveurs de messagerie, ou une rpartition de charge pour les serveurs extrmement sollicits et qui seront rpliqus pour diminuer le taux dauence. Lorsquune application exploite sur le poste dun utilisateur a besoin de convertir un nom en adresse IP, elle sollicite tout dabord le ple client du DNS qui prend le relais et lance une recherche travers le rseau ; aprs un certain temps, celui-ci reoit une rponse contenant ladresse IP correspondant sa demande. Ainsi au point de vue de lapplication, le DNS fonctionne comme une bote noire. Une version simplie du DNS consisterait en un serveur de noms unique contenant toutes les correspondances existantes. Ce systme a lair simple, mais impossible mettre en oeuvre, pour causes : fragilit dun site central unique, volume de trac trop important, base de donnes centralise trop loigne de certains utilisateurs, problmes de maintenance dus au volume norme des donnes stocker. DNS se doit donc dtre

15

INFO-F-303

Rseaux

un systme distribu. DNS utilise un grand nombre de serveurs de noms, organis de manire hirarchique et distribu dans le monde entier. Il existe trois types de serveurs de noms : les serveurs de noms locaux, les serveurs de nom racine et les serveurs de nom de source autorise. Chaque fournisseur daccs possde un serveur de noms local, vers lequel vont toutes les recherches DNS formules au sein de ce rseau local. Un serveur de noms local est forcment proche du client. LInternet compte environ une douzaine1 de serveurs de noms racine, la plupart tant situs aux Etats-Unis. Lorsquun serveur local de noms nest pas en mesure de rpondre une demande il se transforme en client DNS et interroge un serveur de nom racine, si celui-ci a une rponse il lenvoie au serveur de noms DNS, qui la transmet alors lauteur de la demande ; si le serveur de nom racine ne peut lui non plus satisfaire la demande directement, il rpond en donnant ladresse IP dun serveur de nom de source autorise qui connatra certainement la correspondance recherche. Tout serveur est enregistr auprs dau moins deux serveurs de noms de source autorise, en gnral il sagit tout simplement du fournisseur daccs. Un serveur de nom est quali de source autorise pour un serveur donn, sil dispose en permanence darchives DNS permettant dtablir la conversion pour ce serveur.

Recherches successives pour lobtention de ladresse IP du serveur cibl par le serveur demandeur.

chire datant de 2003 dans [1]

16

INFO-F-303

Rseaux

Nous avons considr un principe un peu trop simplicateur, en eet, pour un serveur donn, le serveur de nom racine ne connat parfois que ladresse IP dun serveur intermdiaire de noms qui lui sera en mesure de conduire au serveur appropri, ou mme parfois de plusieurs serveurs de noms intermdiaires.

Recherches successives comprenant la participation dun serveur de noms intermdiaire.

Toutes ces recherches que nous venons de voir taient du type rcursives, mais DNS autorise galement des recherches itratives nimporte quel moment du processus de recherche : si un serveur nest pas en mesure de rpondre favorablement la demande, il renvoie directement ladresse IP du prochain serveur de nom de la chane. En gnral, toutes les demandes dune mme recherche DNS sont rcursives, mis part celle manant du serveur local de nom adresse au serveur racine qui est de nature itrative. Cette dmarche est prfrable, les serveurs racines traitant gnralement de grands volumes de demandes.

17

INFO-F-303

Rseaux

Recherches successives comprenant une recherche itrative.

Une dernire proprit importante de DNS est la mise en mmoire cache, qui permet de minimiser le temps de rponse des recherches. Lorsquun serveur de nom reoit ladresse IP correspondant un nom de serveur, il la place dans sa mmoire cache en mme temps quil transmet linformation. Toute demande concernant le mme nom de serveur pourra ainsi tre satisfaite immdiatement. Cependant, comme ces associations sont susceptibles de changer souvent, la mmoire cache doit tre frquemment ractualise.

2.4

Distribution de contenu

La notion de distribution de contenu fait rfrence aux mcanismes permettant de dupliquer du contenu sur dirents serveurs au sein de lInternet et de fournir aux utilisateurs les moyens de dterminer les serveurs les plus aptes leur fournir les objets sollicits. Un cache Web (ou serveur Proxy) est une entit rseau qui excute les requtes HTTP pour le compte dun serveur dorigine ; il dispose de sa propre capacit de stockage, au 18

INFO-F-303

Rseaux

sein de laquelle il conserve une copie dobjets rcemment sollicits. La procdure entre un navigateur et un proxy associ serait la suivante : Le navigateur tablit une connexion TCP avec le cache Web, et lui envoie une requte HTTP concernant lobjet dsir. Le cache Web vrie sil dispose de cet objet en local ; si cest le cas il transmet directement lobjet au navigateur client au sein dun message de rponse HTTP. Si le cache Web ne dispose pas de lobjet, il se connecte au serveur dorigine auquel il envoie une requte HTTP concernant lobjet ; et reoit ainsi lobjet du serveur dorigine. Le cache Web fait une copie locale de lobjet reu puis lenvoie par message de rponse HTTP au navigateur client. Cette mthode rduit sensiblement le temps de rponse des requtes HTTP ; de plus cela limite le trac sur lInternet pour rester en local, ce qui se traduit aussi en conomie de dbit vers lextrieur. An daugmenter leur ecacit, il est possible de faire cooprer plusieurs caches Web, mme sil sagit de postes loigns gographiquement. Un serveur cache peut par exemple tre congur de manire envoyer ses requtes HTTP un cache plac au sein dun ISP. De cette manire si le premier ne dispose pas de lobjet sollicit dans sa mmoire locale, il transmet au suivant. Le fait de faire ensuite appel un cache Web plus tendu, permet daugmenter le taux de russite de la requte, et est par consquent trs ecace. Un autre mode de mise en mmoire cache cooprative est un regroupement en grappe, souvent au sein dun mme rseau local. Laccs au bon serveur se fait alors par un hachage prdni.

19

Chapitre 3

La couche transport
3.1 Les services de la couche transport

Un protocole de la couche transport fournit une communication de type logique entre des processus dapplication exploits sur les dirents serveurs : du point de vue des applications, les serveurs sont en communication directe et changent des messages sans se soucier des caractristiques de linfrastructure physique utilise pour les vhiculer. Les protocoles de transport sont mis en oeuvre au niveau des terminaux, les routeurs du rseau nont aucun lien avec la couche transport (nous verrons quils se limitent aux couches rseau, liaison et physique). Pour le transport des messages venant de la couche application, ceux-ci doivent tre fragments en morceaux de taille plus rduite, prcds chacun dun en-tte de couche transport. Ces fragments sont alors envoys, via la couche rseau, au terminal lautre extrmit de la liaison qui se chargera de reconstituer le message sous sa forme originale pour le remettre de son ct la couche application. Ces fragments de messages changs au sein de la couche transport sont appels segments. LInternet propose deux protocoles de transports : UDP (User Datagram Protocol ) qui procure un service non able et sans connexion, et TCP (Transmission Control Protocol ) qui procure un service able orient connexion. A ce stade, il est ncessaire de prciser que la couche rseau (la couche infrieure, utilise par la couche transport pour faire parvenir ses segments) ore un service dit au mieux possible, cest--dire faisant au mieux pour faire parvenir les segments dun serveur lautre, mais sans orir aucune garantie. Cest donc la couche transport dlaborer une mthode permettant une parfaite abilit si elle le souhaite (pour TCP en particulier, mais aussi pour la dtection derreur dans les messages pour UDP).

3.2

Multiplexage et dmultiplexage

Il sagit des phases qui permettent de transformer le service dexpdition de serveur serveur procur par la couche rseau en un service dexpdition de processus processus de la couche application. Sur le serveur de destination, la couche transport reoit 20

INFO-F-303

Rseaux

les segments en provenance de la couche rseau, elle est alors charge de transmettre les messages reconstitus partir des segments au processus dapplication appropri. Un processus, en tant qulment dapplication, dispose dune interface de connexion (socket), ainsi la couche transport au sein du serveur destinataire nenvoie pas les donnes directement un processus mais une interface de connexion, chacune delles possdant un identiant unique. Laction didentier linterface dun segment remis la couche transport est appel dmultiplexage ; laction inverse qui consiste combiner les dirents segments sappelle multiplexage. Un segment de la couche transport est dot de certains champs prvus pour le multiplexage et le dmultiplexage. Tout numro daccs est un nombre compris entre 0 et 65535. Multiplexage et dmultiplexage sans connexion : Un programme exploit sur un serveur A quelconque gnre une interface de connexion UDP. La couche transport aecte automatiquement un numro daccs (qui nest pas utilis, ou spci) linterface de connexion UDP cre. Imaginons quun processus de A avec linterface de connexion UDP de numro a souhaite envoyer des donnes un serveur B sur linterface de connexion UDP b. La couche transport du serveur A gnre un segment incluant ses propres donnes et les donnes daccs sur B, elle le remet ensuite la couche rseau qui lexpdie (en faisant au mieux ) au serveur B. Une fois arriv, len-tte du segment est consulte pour identier le numro daccs b et le segment est remis linterface de connexion correspondante. Remarquons quune interface est univoquement dtermine par son adresse IP et son numro de port. Pour ce segment, le numro daccs dorigine a et ladresse IP de A joue le rle dadresse de retour. Multiplexage et dmultiplexage orients connexion : Nous venons de voir quune interface UDP est identiable avec 2 champs : son adresse IP et son numro de port. Une interface TCP ncessitera 4 champs : adresse IP et numro de port des deux processus communiquant. Len-tte dun segment voyageant par TCP vers une interface doit donc galement contenir ces 4 champs pour tre redirig lors du dmultiplexage. Le fonctionnement gnral reste nanmoins le mme.

3.3

Transport sans connexion : UDP

UDP ralise le strict minimum de ce qui peut tre exig dun protocole de transport. Mis part le service de multiplexage/dmultiplexage et une lgre dtection derreur, il ne fait que lier la couche application la couche rseau. Cette absence de complexit fait nanmoins gagner beaucoup de temps aux applications qui nont pas de temps perdre et naccordent que peu dimportance aux erreurs de transmission. Le faible volume des en-ttes qui en rsulte fait galement gagner du temps et rduit la quantit de donnes circulant sur le rseau.

21

INFO-F-303

Rseaux

Un segment UDP contient quatre champs den-tte : les numros daccs dorigine et de destination, la taille des donnes fournies dans le segment et une somme de contrle qui permettra une dtection derreur ventuelle.

Structure dun segment UDP. La somme de contrle UDP permet de dtecter laltration de certains bits du segment UDP depuis sa cration. Au niveau du ple expditeur, UDP fait le complment 1 de la somme de tous les mots de 16 bits du segment en liminant tout dpassement de capacit et reporte le rsultat dans le champ de la somme de contrle. Au niveau du ple destinataire, tous les mots de 16 bits sont comptabiliss, y compris la somme de contrle. Si aucune erreur ne sest introduite dans le paquet, alors la somme larrive sera forcment 1111111111111111. Si lun des bits prend la valeur 0, le protocole sait quune erreur sest glisse ; UDP nentreprend en aucun cas la correction de cette erreur, certains systmes se dbarrassent tout simplement du segment, dautres le remettent lapplication avec un avertissement.

3.4

Le transfert de donnes able

Un transport de donnes able consiste transfrer des donnes sans corruption ou perte de donnes, de plus, les donnes sont fournies au destinataire dans lordre o elles ont t envoyes. Le problme est complexe par le fait que la couche rseau nest pas able. Cette section prsente un dveloppement progressif dun protocole de transfert de donnes ables vu dun ple expditeur vers un ple destinataire. (Note : nous parlerons ici de paquets plutt que de segments.)

3.4.1

Transfert de donnes able sur canal able : rdt1.0

Le cas de gure le plus simple considre un canal totalement able. Le protocole rdt1.0 est extrmement simple. Le ple expditeur attend de recevoir des donnes de la couche suprieure, lorsquil reoit des donnes, il les envoie au niveau infrieur et se remet en attente de donnes. Le ple destinataire attend de recevoir un paquet du niveau infrieur, lorsquil en reoit un, il le transmet au niveau suprieur.

22

INFO-F-303

Rseaux

Ple expditeur de rdt1.0

Ple destinataire de rdt1.0

3.4.2

Transfert de donnes able sur canal avec erreurs : rdt2.0

Pour ce second protocole, nous supposons toujours que les paquets arrivent dans le bon ordre, mais ils peuvent contenir des erreurs, cest--dire des bits du message qui sont passs de 0 1 ou inversement. Un tel protocole a recours des accuss de rception positifs et ngatifs (protocole ARQ (Automatic Repeat reQuest)). Pour cela, il faut tout dabord un mcanisme de dtection derreurs au ple destinataire. Il faut galement une raction du destinataire, car lui seul est en mesure de dcider si le paquet est arriv avec ou sans erreur, ce qui se fait via des accuss de rception ACK (ok reu) et NAK (paquet corrompu). Enn, le ple expditeur doit tre mme de renvoyer un paquet qui a t corrompu. Le protocole rdt2.0 va donc voir apparatre des tats supplmentaires. Le ple expditeur doit toujours attendre les paquets du niveau suprieur, mais aprs un envoi, il doit se mettre en attente dun accus positif pour reprendre son attente dun nouveau paquet. Tant quil reoit des accuss ngatifs, il devra rexpdier le mme paquet. Le ple destinataire quant lui na pas beaucoup chang depuis la version 1.0, il se contente denvoyer un ACK ou un NAK selon le rsultat du test de validit du paquet.

Ple expditeur de rdt2.0

Ple destinataire de rdt2.0 23

INFO-F-303

Rseaux

Ce protocole parait parfaitement utilisable, cependant il nest pas du tout applicable, car il ne prend pas en compte le fait que les paquets contenant les accuss peuvent eux aussi tre errons, ce qui nest pas identiable par lexpditeur qui na plus aucun moyen de savoir si le paquet quil avait envoy son destinataire est arriv corrompu ou non. La solution ce problme est dutiliser dune part un accus avec un nombre susant de bits pour pouvoir dceler une erreur (un seul bit ne sut pas), et dautre part de faire rexpdier le paquet par lexpditeur lorsquil reoit un accus corrompu. Cependant, cela pose encore un problme si laccus corrompu tait un ACK, car le paquet renvoy sera considr comme le suivant par le destinataire et donc dupliqu. La parade est dajouter un numro de squence aux paquets, attribus par lexpditeur ; le destinataire na alors plus qu vrier ce numro de squence pour dterminer sil a dj reu ce paquet ou non. Notons que dans ce cas, un numro de squence dun seul bit sut. Cela forme un protocole rdt2.1, version amliore du protocole rdt2.0.

Ple expditeur de rdt2.1

Ple destinataire de rdt2.1

24

INFO-F-303

Rseaux

3.4.3

Transfert de donnes able sur canal avec pertes/erreurs : rdt3.0

Nous supposons dans ce nouveau modle que certains paquets peuvent ne jamais arriver destination. De nouveaux problmes sont alors rgler : quelles mesures prendre lorsquun paquet narrive pas (pas de ACK ou NAK gnr), ou lorsquun accus mis narrive pas. Une mthode parfaitement valable pour remdier cela est de rexpdier le paquet si on na pas de nouvelles du destinataire aprs un temps dtermin. Mais combien de temps attendre ? Au moins aussi longtemps que le temps dun aller retour, auquel sajoute les temps de traitements en dirents points du rseau et chez le destinataire, ce qui nest absolument pas xe. Pour ne pas attendre trop de temps non plus, il faudra choisir un temps bas sur une bonne estimation du temps de rponse du destinataire. Il faut nanmoins remarquer que cela implique dventuels paquets dupliqus sur le rseau, qui ne seront pas pour autant corrompus et pour lesquels les accuss arriveront noncorrompus galement. Du point de vue de lexpditeur cest une mthode ecace : il ne doit pas se soucier de savoir si cest le paquet qui a t perdu ou laccus, ou simplement un retard de lun des deux. Si le dlai dattente est dpass, il renvoie le paquet tout simplement. Pour grer ces changes dans le temps, il sut de mettre en place un systme de compte rebours qui interrompt les envois de donnes aprs lcoulement dun certain temps. De plus, les accuss NAK ne sont plus ncessaires, si un paquet reu par le destinataire est corrompu, il le jette tout simplement, sans envoyer daccus de rception. Lexistence de paquets dupliqus ou perdu provoquent quelques complications. Lorsque lexpditeur reoit un accus de rception, il nest pas en mesure de dterminer sil sagit dune rponse au dernier paquet de donnes quil a transmis ou dune rponse tardive un paquet plus ancien. Il faut donc doter laccus dun signe qui le distingue des autres, par exemple le numro de squence du paquet concern.

Ple expditeur de rdt3.0 25

INFO-F-303

Rseaux

Ple destinataire de rdt3.0

3.4.4

Transfert de donnes able avec pipelinage

Le protocole rdt3.0 est un protocole tout fait correct et exploitable, cependant il est tout sauf performant ! Et ce cause de son caractre stop-and-wait. Pour illustrer cela, prenons lexemple de deux terminaux situs aux extrmits Est ou Ouest des Etats-Unis. Le temps de propagation aller-retour entre ces deux serveurs (un RTT) la vitesse de la lumire (ce qui est une supposition un petit peu trop optimiste) est de lordre de 30 ms. Supposons quils soient relis par un canal dun dbit R de 1 Gbit/s, et xons la taille des paquets (en-tte comprise) 1000 octets. Nous obtenons ttrans = L 8000 bits = 9 = 8 s R 10 bits/sec

Il faut donc 15.008 ms pour que le paquet atteigne le destinataire qui peut alors mettre un ACK (que lon supposera de taille ngligeable) arrivant 15 ms plus tard, soit au temps t = 30.008 ms. Cest seulement ce moment quun second paquet peut tre envoy. On voit que le taux dutilisation de la connexion est donn par U=
L R

RT T +

L R

0.008 = 0.00027 = 0.027% 30.008

Ce qui correspond un taux de transfert eectif de 267 kbit/s sur une ligne proposant 1 Gbit/s ! Il existe une solution ce problme : lexpditeur peut envoyer plusieurs paquets avant de se mettre en attente. Cette approche est connue sous le nom de pipelinage. Cela implique divers changements dans les protocoles. Premirement, la gamme des numros de squence doit tre augmente pour pouvoir identier les paquets malgr que certains (ou mme beaucoup) se soient perdus ou arrivent dans un ordre arbitraire. Secondement, il se peut que les ples expditeurs et destinataires des protocoles aient placer plusieurs paquets la fois dans leur mmoire tampon (lexpditeur doit le faire au moins avec les paquets qui nont pas encore reu daccus). Il existe pour cela plusieurs mthodes.

26

INFO-F-303

Rseaux

Go-Back-N Dans ce protocole, lexpditeur est autoris transmettre plusieurs paquets la suite ds leur disponibilit, sans attendre daccus de rception, mais tout en respectant un nombre limit N de paquets non conrms dans le canal. On peut reprsenter ce fonctionnement par une fentre de taille xe N applique la gamme des numros de squence. Lors de lexcution du protocole, cette fentre se dplace vers lavant, cest pourquoi on parle de protocole fentre glissante. Un expditeur Go-Back-N (GBN) doit pouvoir ragir trois types dvnements : invocation de la couche suprieure (vrication si la fentre est pleine, gnration et envoi de paquet), rception dun ACK (accuss de rception cumulatifs : si un accus n arrive, cela signie que n1, n2, . . . sont arrivs galement, mme si les accuss ne sont pas parvenus lexpditeur), expiration du dlai imparti (aprs dpassement du temps imparti, tous les paquets non conrms font lobjet dune retransmission, le compte rebours tant bas sur lenvoi du plus ancien paquet non conrm). Du point de vue du destinataire, cest trs simple : il ne garde que le paquet quil attend et gnre un ACK du dernier paquet correctement reu chaque rception. Rptition slective GBN soure malgr ses amliorations dencore quelques problmes de performances. En eet, la moindre erreur dans un paquet peut entraner la retransmission superue dune grande quantit de paquets pourtant arrivs intgres. Les protocoles de rptition slective vitent les retransmissions inutiles et demandent lexpditeur de ne retransmettre que les paquets susceptibles davoir t perdus ou corrompus. Cela implique que le destinataire envoie un ACK pour chaque paquet correctement reu. Comme dans GBN, une fentre permet de limiter le nombre de paquets en attente de conrmation. En revanche certains paquets de cette fentre auront dj fait lobjet dun accus de rception. Le destinataire renvoie un accus pour chaque paquet valide quil reoit, quil soit dans lordre ou non, et stocke dans un tampon ceux qui sont encore temporairement hors squence (notons que ce tampon ne dpassera jamais la taille de la fentre denvoi de lexpditeur). An dviter les problmes de confusions avec les numros de squence, la quantit de numros disponible doit tre au moins deux fois plus grande que la taille de la fentre.

3.5

Transport orient connexion : TCP

La premire tape est dorganiser un change de prsentations. Les processus senvoient donc des segments prliminaires qui dnissent les paramtres du transfert. Le processus initiant la connexion est le processus client et lautre le processus serveur. Le processus dapplication client informe dabord la couche transport du client quil souhaite tablir une connexion avec un processus situ sur un autre serveur. La couche transport du client procde alors ltablissement de la connexion TCP avec le protocole TCP du serveur. Le client envoie tout dabord un segment TCP spcial 27

INFO-F-303

Rseaux

auquel le serveur rpond par lenvoi dun autre segment spcial, entranant lenvoi dun troisime par le client. Les deux premiers ne vhiculent aucune donne de la couche application, mais le troisime peut en contenir. La connexion TCP tant tablie, les processus TCP peuvent senvoyer des donnes. Le premier envoie un ux de donnes au travers de linterface de connexion, puis les donnes sont prises en charge par le TCP du serveur client, ce dernier les dirige vers la mmoire tampon denvoi de la connexion. De temps autre, TCP sempare de groupes de donnes contenues dans ce tampon pour en former un segment TCP, constitu dun en-tte et des donnes, qui est remis la couche rseau. A lautre ple de TCP, ces donnes sont places dans un tampon de rception de la connexion TCP. Lapplication retire ainsi le ux de donnes qui lui sont destines. TCP, tout comme rdt3.0, a recours un systme de compte rebours et de retransmission, mais des dtails sy ajoutent. Il faut en particulier dcider dune bonne estimation du RTT pour lappliquer concrtement. TCP value le RTT dun segment (variable SampleRTT) comme le temps coul entre lenvoi du segment et le retour de laccus. Plutt que de le calculer pour chaque segment, TCP nen mesure quun la fois, ce qui le conduit une nouvelle valeur peu prs chaque fois que scoule un laps de temps correspondant au RTT. Les valeurs de SampleRTT varient de segment en segment, il est donc dicile den faire une bonne estimation ; par contre sa moyenne EstimatedRTT est aisment calculable selon lide suivante : A larrive dun nouveau SampleRTT, TCP rvalue EstimatedRTT : EstimatedRTT = (1 ) EstimatedRTT + SampleRTT Cette formulation accorde plus de poids aux lments rcents quaux plus anciens, on parle de moyenne pondre exponentielle ottante. Il est galement utile de disposer dune mesure du coecient de variation du RTT que lon appelle DevRTT : DevRTT = (1 ) DevRTT + |SampleRTT EstimatedRTT| Une fois que lon connat ces deux valeurs, une valeur judicieuse pour le compte rebours est donne par : TimeoutInterval = EstimatedRTT + 4 DevRTT Du point de vue du transfert de donnes able, TCP fonctionne peu prs comme Go-Back-N. La temporisation ne va pas se faire seulement avec les estimateurs comme suggr ci-dessus. Une premire variante consiste doubler le temps de lintervalle chaque retransmission plutt que de le rednir sur base des variables SampleRTT et EstimatedRTT. Cette variante se traduit par un dbut de contrle de congestion (qui sera vu en dtail plus loin). Une seconde variante propose une solution au problme de temps souvent trop long des dlais imposs, en eet, TCP est capable de dceler un 28

INFO-F-303

Rseaux

paquet perdu lorsquil reoit des accuss dupliqus (ce qui signie quun paquet n + i (i > 0) a abouti alors que le paquet n tait attendu). Dans la mesure ou lexpditeur met un grand nombre de paquets, trois accuss dupliqus successifs conforteront la thse que le paquet en attente de conrmation sest probablement perdu. TCP procde alors une retransmission rapide. TCP procure un service de contrle de ux, cest--dire sassurer que lexpditeur nenvoie pas ses messages trop rapidement pour le destinataire ( ne pas confondre avec le contrle de congestion qui lui est li lencombrement du rseau entre les deux terminaux). Le principe est simple, pour ne pas que lexpditeur sature le tampon de rception du destinataire, celui-ci linforme de lespace disponible dans son tampon en insrant cette variable dans la fentre de rception de tous les segments quil lui envoie. Lorsque le tampon de rception est satur, lexpditeur se contente alors denvoyer des ping laide de segment contenant un seul octet qui na pas dimportance, dans le seul but de recevoir une rponse avec les nouvelles informations sur ltat du tampon.

3.6
3.6.1

Contrle de congestion
Les causes et eets du phnomne de congestion

Considrons direntes situations, de complexit croissante. Le cas le plus simple concerne deux htes A et B connects au moyen dune liaison en un simple bond entre la source et le destinataire. On suppose que A et B mettent tous les deux au mme dbit in octet/s. Nous supposons galement que les paquets en provenance de A et B traversent un routeur et une liaison de sortie partage de capacit R. Dans ce premier cas nous supposons que la quantit de tampons dont dispose le routeur est illimite. Pour un dbit dmission entre 0 et R/2, le dbit au niveau des destinataires est gal au dbit dmission ; en revanche, pour un dbit denvoi suprieur R/2, le dbit au niveau du destinataire ne dpassera pas R/2. un dbit dmission lev est une bonne chose pour lutilisation de tout le potentiel de la bande passante, cependant a savre tre trs mauvais pour le temps de rponse, qui tend vers linni lorsque le dbit tend infrieurement vers R/2, par le fait quune le dattente de plus en plus grande se prsente lentre du routeur.

Dans un second cas, nous supposons que les routeurs ne disposent que dun tampon limit, ce qui est le cas en ralit. Une consquence est la perte des paquets arrivant 29

INFO-F-303

Rseaux

lorsque le tampon est plein. Il y a cette fois des prcisions apporter la notion de taux denvoi. Puisque certains paquets, narrivent plus, certains seront renvoys par la couche transport, ce qui fait donc une dirence entre le taux denvoi in de la couche application et le taux denvoi in de la couche transport, que lon nomme charge oerte au rseau. Si A avait le pouvoir magique de savoir quand le tampon du routeur est satur, il ny aurait aucune perte, avec pour consquence in = in , avec un taux denvoi maximum de R/2. Si lexpditeur ne renvoie un paquet que sil est sr quil sest perdu, nous pouvons observer que out tend vers R/3 lorsque in tend vers R/2. Un troisime cas de gure met en prsence dirents routeurs et direntes connexions qui se partagent les routeurs. Tant que les dbits dmission restent faibles, il y a vraiment peu de chance quun routeur perde un paquet, mais si les dbits dmission deviennent levs on assiste un phnomne particulier et destructeur pour lecacit du rseau : plusieurs types de trac peuvent entrer en comptition pour lespace tampon dun mme routeur, et apparat un travail superu eectu par le rseau. En eet,en cas dun grand volume de trac, les routeurs du rseau de lamont transmettent des paquets qui risquent dtre perdus par un de leurs homologues en aval, et ils travaillent donc pour rien, saturant leur tampon et empchant des paquets pour lesquels la suite du rseau est dgage de passer. Le rseau aurait t mieux gr si le premier routeur avait tout de suite rejet le paquet et tait rest passif ! Cest donc l une des grandes causes de congestion dun rseau : lorsquun paquet est perdu sur son parcours, la capacit de transmission dpense par chacun des routeurs en amont pour le faire progresser sen trouve perdue.

3.6.2

Contrle de congestion de TCP

Lapproche de TCP consiste faire en sorte que chaque expditeur rgule sa vitesse denvoi en fonction du niveau de congestion peru au sein du rseau. Le phnomne de perte (qui est la principale consquence dune congestion sur le rseau) est identi soit par lexpiration du temps imparti, soit par la rception de trois accuss de rception identiques de la part du destinataire. Lalgorithme de contrle de congestion de TCP prsente trois composantes principales : Un accroissement additif et une dcroissance multiplicative, un dpart lent et une raction au phnomne dexpiration du temps imparti. Avec le contrle de congestion de TCP, chaque ple maintient une variable dite fentre de congestion appele CongWin, qui impose une limite au rythme auquel lexpditeur est autoris charger des donnes sur le rseau. TCP a recours une approche dcroissante multiplicative, cest--dire que la valeur CongWin est diminue de moiti aprs chaque phnomne de perte, avec une limite en la valeur de 1 MSS. Une fois le phnomne de congestion rsorb, TCP doit pouvoir agir pour augmenter le taux denvoi. TCP procde donc un agrandissement progressif linaire de sa fentre de congestion. Cet algorithme est appel algorithme AIMD (Additive Increase, Multiplicative Decrease).

30

INFO-F-303

Rseaux

Au dbut dune connexion, la variable CongWin a une valeur de un MSS, ce qui fait un taux denvoi de MSS/RTT. Mais le rseau dispose peut-tre dun dbit bien plus important, et il serait idiot de faire une progression linaire jusqu cette valeur (ce qui peut prendre beaucoup de temps sur une connexion disposant dun trs bon dbit). Lexpditeur aura donc recours une acclration exponentielle en doublant la valeur de CongWin chaque RTT, et ce jusquaux premiers phnomnes de perte, moment auquel il divise brusquement CongWin par deux et passe au mode de progression linaire dcrit ci-dessus. Cette phase initiale est appele dpart lent. Il reste un point important dtailler : TCP fait une distinction entre un phnomne de perte signal par trois accuss identiques (ce qui indique une perte de seulement quelques paquets sur le rseau) et un phnomne de perte dcel par expiration du temps imparti (qui laisse plus croire une grosse congestion du rseau qui aurait perdu tout ce qui a t envoy). Dans le premier cas, il se contente de diviser la fentre de congestion par deux, et de continuer une progression linaire, comme nous lavons dj prcis (on parle de rcupration rapide). Dans le second cas, lexpditeur revient au dpart lent, ramenant la taille de la fentre de congestion un seul MSS. De plus TCP garde le contrle sur les processus au moyen dune variable Seuil, qui dtermine la taille que doit atteindre la fentre avant que ne cesse la phase de dpart lent et ne commence la phase dvitement de congestion. Cette variable prend initialement une valeur leve (65 Ko en pratique), et se trouve divise par deux lors des phnomnes de perte. Lalgorithme de contrle de congestion de TCP opre donc de la faon suivante : Tant que la taille de la fentre de congestion est infrieure la valeur du seuil, lexpditeur est en phase de dpart lent et la fentre connat une croissance exponentielle. Une fois la valeur du seuil dpasse, lexpditeur entre dans la phase dvitement de congestion durant laquelle la fentre saccrot de manire linaire. Lorsquil y a trois accuss de rception identiques, la valeur du seuil est rgle la moiti de la taille de la fentre de congestion en cours et cette dernire est porte la valeur du seuil. Lors de lexpiration du temps imparti, la valeur du seuil est rgle la moiti de la fentre de congestion en cours et cette dernire est porte 1 MSS. Le dbit un instant donn sera CongWin/RTT, mais il est continuellement en dents de scie, il est donc naturel de se demander quel est le dbit moyen dune connexion TCP sur une dure plus longue. Notons w la taille de la fentre de congestion (en octets) et un temps aller-retour de RTT secondes. Le dbit est approximativement w/RT T . Appelons W la valeur atteinte par w lorsquun phnomne de perte se prsente. En partant du principe que RTT et W sont relativement constants dans le temps, le dbit varie entre 1 3 2 W/RTT et W/RTT. Le dbit moyen sur la connexion sera donc peu prs 4 W/RTT.

31

INFO-F-303

Rseaux

1 La quantit de donnes est donc de 3 W 2 W = 3 W 2 = 1/p o p est le taux moyen 4 8

de perte de paquets. Ainsi, nous pouvons crire W = moyen en bytes par seconde comme B = 3 W/RTT = 4

8 3p .

Nous pouvons crire le dbit

3 MSS 2p RTT

32

Chapitre 4

La couche rseau
4.1 Modles de services

A la dirence de la couche transport, on trouve un lment de la couche rseau au sein de chaque serveur et de chaque routeur du rseau, cest une couche qui stend donc tout le rseau. Tout comme nous parlions de messages pour la couche application ou de segments pour la couche transport, la couche rseau vhicule des datagrammes de routeur en routeur. La principale fonction des routeurs est dassurer le routage des datagrammes entre leurs liaisons dentre et de sortie. Le rle principal de la couche rseau est donc extrmement simple : il consiste dplacer des paquets dun serveur expditeur un serveur destinataire, et ce en trois tapes : Choix de litinraire emprunter (algorithmes de routage) ; Rexpdition (lorsquun routeur reoit un paquet il doit le faire suivre jusqu la liaison de sortie approprie) ; Etablissement de lappel (tout comme TCP tablit une connexion avant le transfert des informations, certaines architectures de la couche rseau imposent aux routeurs de schanger des informations dtat avant le transfert des donnes proprement dites ; on parle dtablissement dappel ). Lune des premires questions se poser est datagrammes ou circuits virtuels ?. Un rseau commutation par paquet circuits virtuels se compose de faon trs semblable un rseau tlphonique, qui est lui dot de circuits rels. Lutilisation dun circuit virtuel se droule en trois grandes tapes : Etablissement du circuit virtuel. Durant cette phase, lexpditeur contacte la couche rseau et lui fournit ladresse du destinataire. La couche rseau dtermine le parcours prendre (ce qui implique une mise jour des tables de routage de chacun des commutateurs sur le parcours, et une ventuelle rservation des ressources). Transfert de donnes. Fermeture du circuit virtuel. Le circuit est libr lorsque lun des deux systmes le 33

INFO-F-303

Rseaux

demande. Elle informe alors lautre systme et procde lactualisation des tables de routage. On parle aussi de service rseau orient connexion. En prsence dune couche rseau datagrammes, un systme transmettant des donnes doit prciser ladresse du destinataire lintrieur de chaque datagramme car les commutateurs dun rseau datagrammes ne conserveront aucune information. La redirection des datagrammes se fait via leur table de routage. On parle de service rseau sans connexion.

4.2

Les principes du routage

Pour transfrer des paquets de la couche transport dun serveur lautre, la couche rseau doit tout dabord dterminer le parcours emprunter. Un serveur est gnralement directement connect un routeur spcique (routeur de premier bond), de mme pour le destinataire. Le problme revient donc acheminer un paquet entre ces deux routeurs. Un algorithme de routage global serait capable de dterminer le parcours le moins onreux entre la source et la destination au moyen dune connaissance globale du rseau, cest--dire de connaissances compltes du rseau et des cots associs aux liaisons. Ce nest videmment pas imaginable de faon rellement globale au sein de rseaux trop grands. Dans la mesure o les algorithmes doivent tre informs de la valeur de chaque liaison du rseau, on parle dalgorithme dtat de lien. Avec un algorithme de routage dcentralis, le calcul du parcours le moins cher se fait de manire itrative et distribue. Aucun noeud ne connaissant le cot de toutes les liaisons, le calcul se fait au niveau de chaque noeud en partant de leurs connaissances locales, puis au moyen dun calcul par itration. Grce un change dinformations avec les voisins, chacun parvient valuer progressivement le parcours le moins onreux vers une destination ou un groupe donn de destinations. Aucun noeud nest en mesure de connatre lensemble du parcours, par contre il est mme de dterminer quel voisin envoyer le datagramme pour minimiser le cot gnral.

Algorithme de routage par tat de lien


Un algorithme par tat de lien utilise la connaissance de la topologie du rseau et du cot des direntes liaisons pour ses calculs. Par ce protocole, chaque noeud du rseau diuse lensemble de ses homologues lidentit et la valeur des liaisons auxquelles il est rattach. Cette diusion dtat de lien peut seectuer sans que les dirents liens aient initialement connaissance de lexistence de tous les noeuds du rseau, un noeud donn doit simplement connatre lidentit de ses voisins directs ainsi que la valeur de la liaison y conduisant ; les autres informations lui seront transmises en retour. Ainsi, tous les noeuds disposent des mmes informations sur le rseau, chacun pouvant appliquer lalgorithme individuellement.

34

INFO-F-303

Rseaux

Lalgorithme utilis est lalgorithme de Dijkstra, qui dtermine le parcours le moins onreux entre un noeud et tous les autres noeuds du rseau (voir documentation plus prcise pour les dtails de lalgorithme, page 323 dans [1]). Une fois lalgorithme eectu, le prdcesseur de chaque noeud sur le parcours le moins onreux partant du noeud dorigine est identi. Connaissant galement les prdcesseurs des prdcesseurs, il est possible de baliser progressivement le parcours dans son intgralit. Il sagit dun algorithme de routage en O(n2 )

Algorithme de routage vecteur de distance


Lalgorithme vecteur de distance est de nature itrative, asynchrone et distribue : les calculs se font au niveau de chaque noeud individuel, partir des informations fournies par les noeuds voisins directs, et les rsultats sont partags de la mme manire, de plus il nimpose pas du tout que les noeuds travaillent ensemble. La principale structure de donnes utilise par cet algorithme est constitue dune table des distances tenue jour au niveau de chaque noeud. Cette table contient une ligne pour chaque destination possible au sein du rseau et une colonne pour chacun des voisins directs. Imaginons un noeud X souhaitant acheminer un paquet vers une destination Y via son voisin direct Z. Lentre de la table des distances du noeud X associe est DX (Y, Z) (atteindre Y par Z depuis X), elle correspond la somme du cot c(X, Z) de la liaison directe entre X et Z et le cot DX (Y, Z) de la meilleure liaison entre Z et Y ; ce qui conduit lexpression DX (Y, Z) = c(X, Z) + min{DZ (Y, W )}
W

dans laquelle le terme W est choisi parmi tous les voisins directs de Z (y compris X). Chaque noeud doit ainsi connatre la valeur du parcours le moins onreux de tous ses voisins pour toutes les destinations possibles. Ds quun noeud trouve un nouveau parcours moins onreux vers une destination donne, il est charg den informer tous ses voisins. Lorsquun noeud dtecte un changement dans la valeur de lune de ses liaisons, il actualise sa table des distances et il en informe ses voisins si ncessaire. Dans le cas dune bonne nouvelle, elle se transmet trs rapidement : la nouvelle valeur restreignant le cot de parcours sinstalle directement dans les routeurs avoisinant. Mais sil sagit dune mauvaise nouvelle, le processus dinformation est trs mauvais et trs lent : le nouveau chemin plus coteux ne sinstallera quitration aprs itration, ce qui peut prendre un temps trs long si la nouvelle valeur est grande et que le nouveau vrai chemin le moins coteux est galement trs coteux. Ce phnomne porte le nom de problme de la valeur innie. Il peut tre vit en ayant recours une technique connue sous le nom de retour pollu. Lide est la suivante : Si un routeur Z passe par Y pour atteindre X, Z peut faire croire Y quil se trouve une distance innie de X. Y tant alors persuad que Z ne peut atteindre X, il opte pour une autre route. Cependant cette ruse ne rsout pas 35

INFO-F-303

Rseaux

le problme pour les boucles de plus de trois routeurs voisins, et ne met pas le rseau labri des boucles de routage.

4.3

Routage hirarchique

Jusqu prsent nous avons mis tous les routeurs sur un mme pied dgalit, ce qui est un peu rducteur pour des raisons videntes de dimensions (stockage dinformation pour plusieurs centaines de millions de routeurs) et dadministration (chacun gre son routeur comme il lentend). Les routeurs vont donc sorganiser en rgions ou systmes autonomes (AS, Autonomous Systems), les dirents routeurs dun mme systme utilisant le mme algorithme et disposant de certaines informations lun sur lautre. On parle alors de protocole de routage interne. Certains routeurs doivent alors servir dinterface avec le reste du rseau (routeurs frontaliers) o un protocole de routage externe est mis en oeuvre. Ceci rsout dj fortement le problme de dimension qui tait prsent dans le modle prcdent. Considrons par exemple trois systmes autonomes A, B, C, munis chacun de plusieurs routeurs, mis en prsence.

Dun point de vue externe, le rseau se rsume un rseau constitu de cinq routeurs :

36

INFO-F-303

Rseaux

4.4
4.4.1

Protocole Internet (IP)


Adressage

Un hte nest gnralement connect au rseau que par lintermdiaire dune simple liaison qui reprsente la seule voie daccs : un hte et sa liaison concident au niveau de leur interface rseau. Un routeur possde ainsi autant dinterfaces que de liaisons, une adresse IP unique sera attribue chacune de ces interfaces. Une adresse IP a une taille xe de 32 bits, ce qui permet 232 adresses direntes. On lexprime gnralement sous une forme 123.456.789.12. Ces adresses ne peuvent pas tre distribues au hasard. En eet, une portion de ladresse sera dtermine par le sous-rseau auquel elle est physiquement relie. La gure suivante en donne un exemple : un routeur dot de trois interfaces sert linterconnexion de sept htes. Les trois htes se situant sur linterface gauche partagent tous des adresses IP dont les 24 premiers bits sont identiques. Les interfaces de ces trois htes forment donc un rseau IP.

Les 24 premiers bits de ces adresses IP constituent la partie rseau de leur adresse, les 8 bits restants forment partie interface. Un rseau possde lui aussi son adresse IP, bien quil regroupe plusieurs adresses. On a pour cela recours un masque de sous-rseau. Par exemple, le rseau de gauche sera identi par ladresse 223.1.1.0/24 o "/24" est le masque de sous-rseau qui indique que les 24 premiers bits de ladresse dnissent ladresse du rseau (on parle aussi de prxe rseau). Toute entit venant se raccorder au rseau 223.1.1.0/24 est tenue davoir une adresse IP du type 223.1.1.xxx.

37

INFO-F-303

Rseaux

Lidentication des dirents rseaux au sens de lIP dans un ensemble de routeurs et dhtes interconnects seectue selon la rgle suivante : dissocier dans un premier temps chaque interface du routeur ou hte auquel elle appartient. Ceci engendre des lots de rseaux isols limits par des interfaces. On appelle ensuite rseau IP chacun de ces rseaux isols. La normalisation du CIDR (Classless InterDomain Routing) permet de diviser ladresse en une composante rseau et une composante hte de taille quelconque (plutt que la limite standard de 8,16 ou 24 bits). Une adresse rseau CIDR se prsente sous la forme a.b.c.d/x dans laquelle x indique le nombre de bits constituant la composante rseau. Par exemple, a.b.c.d/21 identiera un rseau pouvant contenir jusqu 2048 interfaces. Dans la pratique, un tel rseau peut encore tre subdivis en sous-rseaux internes. Pour pouvoir tablir un nouveau parc dordinateurs, il faut tout dabord obtenir de son fournisseur daccs un contingent dadresses ; par exemple 200.23.16.0/20. Lorsquune institution a reu son contingent dadresses, elle peut assigner des adresses IP individuelles aux direntes interfaces routeur et hte constituant son rseau local. Ce procd peut se faire manuellement par ladministrateur, mais il existe le protocole DHCP (Dynamic Host Conguration Protocol ) permettant un hte dobtenir une adresse IP de manire automatique, ainsi que certaines informations utiles comme lIP du routeur de premier bond et celle de son serveur DNS (ce protocole sera vu en dtail un peu plus loin).

4.4.2

Transport dun datagramme

Sommairement, un datagramme est constitu de champs divers, suivis par ladresse IP de la source et ladresse IP de destination, et enn les donnes qui sont gnralement un segment TCP ou UDP. Aprs cration du datagramme, la couche rseau doit assurer son transfert jusqu lhte destinataire. Le mode opratoire de transfert est dirent selon que les deux htes concerns sont sur le mme rseau ou non.

38

INFO-F-303

Rseaux

Si, pour reprendre notre exemple, lhte dont linterface est 223.1.1.1 (appelons-le A) souhaite envoyer un datagramme lhte B dont linterface est 223.1.1.3 (donc sur le mme rseau 223.1.1.0/24), le processus est le suivant : LIP de A consulte tout dabord sa table de routage interne et y dcle une entre 223.1.1.0/24 dont ladresse rseau correspond aux 24 premiers bits du son destinataire B. La table de routage indique que le nombre de bonds en direction du rseau 223.1.1.0 est 1, ce qui signie que B est sur le mme rseau que A, ce dernier est donc directement accessible par son interface de sortie, sans avoir passer par un routeur intermdiaire. Il remet alors le datagramme au protocole de couche liaison de linterface qui sera responsable du transfert jusqu B. Cette fois A souhaite envoyer un datagramme lhte C dinterface 223.1.2.2 situ sur le rseau 223.1.2.0/24. A consulte sa table de routage IP et y trouve une entre dont ladresse rseau correspond aux premiers bits dadresse de C. Il sagit dun chemin 2 bonds, A sait que son datagramme est destin un rseau dirent du sien et quil doit passer par un routeur intermdiaire. La table de routage linforme galement que pour atteindre son destinataire il doit tout dabord envoyer le datagramme ladresse IP 223.1.1.4, ce qui est eectu par la couche liaison. Le datagramme se trouve ensuite au niveau du routeur qui est charg de le rediriger vers sa destination nale. Celui-ci assure cette fonction en consultant sa table dacheminement et en y reprant lentre 223.1.2.0/24 indiquant que le datagramme doit tre transmis linterface de routeur 223.1.2.9. Puisquil ny a plus quun seul bond jusqu la destination, le routeur sait que C se trouve sur le mme rseau que cette interface. Il remet donc le datagramme cette interface qui le transmet sa destination nale grce la couche liaison. Dans notre exemple, la table dacheminement se prsente comme Destination 223.1.1.0/24 223.1.2.0/24 223.1.3.0/24 Routeur suivant Nbr de bonds 1 1 1 Interface 223.1.1.4 223.1.2.9 223.1.3.27

4.4.3

Structure dun datagramme

Un datagramme IPv4 est constitu de nombreux champs : Version. Quatre bits pour spcier la version du protocole IP. Taille de len-tte. Quatre bits pour spcier la taille de len-tte, qui est gnralement de 20 octets. Type de service. Huit bits pour direncier les types de datagrammes. Taille du datagramme. Seize bits pour spcier la taille totale du datagramme IP (en-tte comprise) exprime en octets. La taille maximale dun datagramme est donc de 65535 octets, mais dpasse rarement 1500 octets, et est souvent limite 576 octets. Identiant,fanions,dplacement. Trois champs lis au phnomne de fragmentation.

39

INFO-F-303

Rseaux

Dure de vie. Le champ TTL (Time To Live) de huit bits permet dviter que des datagrammes ne circulent de faon ininterrompue lintrieur dun rseau o ils se seraient perdus (par exemple dans une boucle de routage). Cette valeur est dcrmente chaque fois que le datagramme est pris en charge par un routeur ; arriv 0 le datagramme est supprim. Protocole de couche suprieure. Champ de huit bits utilis uniquement lorsquil arrive destination pour indiquer quel protocole de la couche transport il doit tre con. Somme de contrle de len-tte. Champ de deux octets, somme de contrle des autres mots de 2 octets de len-tte. Tout datagramme possdant une erreur est gnralement supprim par le routeur qui la dtecte. Adresse IP source. Trente-deux bits. Adresse IP destinataire. Trente-deux bits. Options. Ce champ permet dtendre len-tte dun datagramme si besoin est. Donnes.

4.4.4

Fragmentation

Le volume de donnes maximal qui peut tre port par un paquet de la couche liaison est appel MTU (Maximum Transfert Unit). Les datagrammes se voient naturellement soumis aux mmes contraintes de taille. Cela ne prsente pas de problme, sauf lorsque les protocoles utiliss pas les liaisons composant le trajet de bout-en-bout prsentent des MTU dirents. Lorsquun datagramme possde une dimension plus grande que le MTU de la liaison sur laquelle il doit tre envoy, il est fragment en datagrammes plus petits, et les fragments sont expdis les uns aprs les autres. Avant dtre transmis la couche transport du destinataire, les fragments doivent tre rassembls, car TCP et UDP nadmettent que des segments entiers. Un rassemblage et une nouvelle fragmentation chaque routeur entranerait des complications, cest pourquoi IPv4 cone ce travail au terminal qui recevra les fragments. Lorsquun routeur doit fragmenter un datagramme, il remplit les champs didentication, de fanion et de dplacement, ce qui permettra didentier les dirents fragments. Il est possible que des fragments se perdent en route, dans ce cas tout le fragment original est supprim par le terminal.

4.4.5

Protocole ICMP

Le protocole ICMP (Internet Control Message Protocol ) est utilis par les serveurs, routeurs et passerelles pour changer des informations de couche rseau, principalement des rapports derreurs. Bien que les messages soient vhiculs par des paquets IP, IMCP est souvent considr comme partie intgrante de la couche IP, bien quil appartienne architecturalement une couche suprieure. Lorsquun serveur reoit un paquet IP annonant ICMP (champ Type de service), il procde au dmultiplexage en direction dICMP, de la mme manire quen direction de TCP ou UDP.

40

INFO-F-303

Rseaux

4.4.6

Protocole DHCP

Nous savons dj que le protocole DHCP (Dynamic Host Conguration Protocol ) est souvent utilis pour lattribution dynamique dadresses IP. Il sagit dun protocole client-serveur. Normalement chaque rseau est dot dun serveur DHCP. Ce protocole propose un processus en quatre tapes aux htes cherchant se connecter un rseau : Dtection dun serveur DHCP : Un nouvel arrivant envoie un message de dtection de DHCP, via UDP, avec le numro daccs 67. Le nouvel arrivant ne connaissant aucune adresse IP du rseau, il lenvoie sur ladresse de diusion 255.255.255.255 avec pour adresse dorigine 0.0.0.0. Ce message sera reu par toutes les interfaces du rseau, y compris celle(s) du/des serveur(s) DHCP. Proposition(s) du serveur DHCP : Le serveur DHCP rpond dun message de proposition DHCP, contenant une adresse IP, le masque de sous-rseau et une indication sur la dure de validit de ladresse fournie. Requte DHCP : Le nouvel arrivant fait son choix parmi les propositions et y rpond par une requte DHCP. Acquittement DHCP. Le serveur rpond cette requte au moyen dun acquittement (ACK) qui conrme les paramtres sollicits. Le client peut alors commencer utiliser son adresse IP pendant la dure impartie.

4.4.7

Traducteur dadresses NAT

Ds que lon souhaite mettre en place un rseau local reliant dirents ordinateurs dun mme espace de travail, il faut obtenir autant dadresses IP auprs de son fournisseur daccs. Mais que se passe-t-il sil a dj allou les adresses contigus celles du rseau en extension un autre client ? Cest pour rgler ce genre de problme quexiste la traduction dadresse rseau (NAT, network Address Traslation). La gure ci-dessous reprsente le fonctionnement dun routeur NAT. Ce routeur est dot dune interface appartenant au rseau domestique et une interface oriente vers lInternet. Le type dadressage seectuant au sein du mini-rseau est exactement le mme que celui que nous avons dj dcrit : les quatre interfaces se partagent le rseau 10.0.0.0/24. Le routeur dot dune fonction NAT se comporte vis--vis du monde extrieur comme un quipement isol muni dune seule adresse IP 138.76.29.7 et tout trac entrant doit tre dot de cette adresse de destination. Le routeur NAT obtient son adresse auprs de son FAI via DHCP et il a recours un DHCP local pour lattribution des adresses IP du mini-rseau.

41

INFO-F-303

Rseaux

Lorsquun datagramme arrive de lextrieur, le routeur a besoin dune table de traduction dadresses pour savoir quel hte du mini-rseau le remettre. Il utilisera pour a une astuce avec les numros de port. Prenons lexemple de lhte dinterface 10.0.0.1 qui sollicite une page Web (accs 80) sur linterface 128.119.40.186. Le terminal 10.0.0.1 assigne son datagramme le numro daccs dorigine (arbitraire) 3345 et lenvoie au travers du rseau local. Sur rception de ce datagramme, le routeur NAT remplace ladresse IP de lexpditeur (10.0.0.1) par son adresse oriente vers lInternet (138.76.29.7), choisit un port arbitraire (5001 par exemple) nouvellement cr, retient ces correspondances et envoie le nouveau datagramme sur lInternet. Le serveur Web renverra naturellement les donnes de la requte sur linterface 138.76.29.7 et laccs 5001, qui seront converties en 10.0.0.1 et 3345 par le serveur NAT et renvoyes sur le rseau local.

4.5

Routage au sein de lInternet

On appelle systme autonome tout groupe de routeurs placs sous le contrle dune mme autorit administrative et technique et qui a recours au mme protocole de routage. Les protocoles de routage internet se distinguent essentiellement par leur caractre interne ou externe. Un protocole de routage interne sert dterminer le mode de routage assur au sein dun systme autonome. Les deux plus anciens protocoles sont RIP (Routing Information Protocol ) et OSPF (Open Shortest Path First).

4.5.1

Le protocole RIP : informations de routage

RIP est un protocole vecteur de distance trs similaire celui vu prcdemment. Sa version originale a recours au nombre de bonds comme mesure du cot dun chemin donn, attribuant chaque liaison la mme valeur unitaire, avec un cot par chemin ne pouvant dpasser 15 (ce qui limite RIP des systmes dune porte infrieure 15 bonds). Les informations changes entre routeurs voisins ont lieu peu prs toutes les 30 secondes grce au message de rponse RIP, contenant une liste pouvant aller jusqu 25 rseaux de destination au sein du systme autonome.

42

INFO-F-303

Rseaux

Les tables de routage au sein des routeurs sont constitues de trois colonnes : le rseau de destination, lidentit du prochain routeur pour cette destination, et enn le nombre de bonds jalonnant le chemin. Les routeurs schangent des annonces environ toutes les 30 secondes. Si un routeur ne reoit pas de nouvelles de la part dun voisin au moins une fois toutes les 180 secondes, celui-ci est considr comme hors de porte, la table est alors modie et les voisins informs des modications. Sil le souhaite un routeur peut interroger directement ses voisins au sujet du cot de ses chemins vers une destination donne.

4.5.2

Le protocole OSPF : priorit au plus court chemin

Tout comme RIP, OSPF (conu pour succder RIP) sert au routage interne, et possde certaines proprits avances. A la base il sagit dun protocole tat de lien ayant recours la technique dinondations dinformations et lalgorithme de Dijkstra. Les routeurs laborent une carte topologique complte du systme autonome puis dterminent un arbre de plus court chemin vers tous les rseaux du systme, se considrant comme noeud racine. Cest partir de cet arbre que peuvent tre formes les tables de routage. Les valeurs de liaisons individuelles sont laisses ladministrateur. Les routeurs communiquent leurs informations de routage tous les routeurs de leur systme autonome. Ces informations sont diuses chaque changement dtat dune liaison et de manire priodique. OSPF apporte les innovations suivantes : Scurit : Tous les changes entre routeurs OSPF font lobjet dune authentication, ce qui signie que seuls les routeurs dignes de conance peuvent participer au protocole. Chemins de cot gal : OSPF ne soppose pas ce que dirents chemins de mme cot soient emprunts pour rejoindre une mme destination. Multidiusion. Support dune hirarchie : Capacit de ce protocole structurer un systme autonome de manire hirarchique (voir ci-dessous). Un systme autonome OSPF peut tre divis en dirents domaines, utilisant chacun son propre algorithme de routage dinformation dtat de lien et communiquant ses informations tous les routeurs du mme domaine. Les dtails internes un domaine spcique restent ainsi invisibles aux autres routeurs. Au sein de chaque domaine OSPF, un ou plusieurs routeurs frontaliers sont responsables de lacheminement des paquets vers lextrieur. Par ailleurs, chaque systme autonome dispose dun domaine fdrateur ayant pour fonction lacheminement du trac dun domaine un autre et rassemblant donc tous les routeurs frontaliers, ainsi quventuellement dautres routeurs. Le dessin ci-dessous illustre parfaitement cette situation.

43

INFO-F-303

Rseaux

4.5.3

Protocole BGP : routage inter-systmes

BGP se dnit comme un protocole vecteur de chemin. Les routeurs BGP voisins, connus sous le nom de partenaires BGP, schangent des informations dtailles sur les chemins emprunter (plutt que des indications sur la distance comme dans les protocoles vecteur de distance). BGP est un protocole distribu, dans le sens o les routeurs BGP ne communiquent quavec leurs voisins directs. Le routage BGP se fait en direction de rseaux de destination plutt quen direction de routeurs ou de serveurs ; une fois quun datagramme a atteint son rseau de destination, il est pris en charge par le routage interne de celui-ci jusqu son destinataire nal. Dans le cadre de BGP, les systmes autonomes sidentient laide dun numro de systme autonome unique (ASN, Autonomous System Number ). BGP assure trois grandes fonctions : Rception et ltrage dannonces de parcours en provenance de routeurs voisins. Les annonces de parcours sont des promesses que tout paquet reu sera transmis au prochain routeur plac sur le chemin vers la destination. Il en prote pour supprimer les chemins le faisant passer par lui-mme (ce qui provoquerait des boucles de routage). Slection de chemin. Un routeur BGP peut recevoir plusieurs annonces de parcours direntes pour un mme systme autonome, parmi lesquelles il doit faire un choix. Envoi dannonces de parcours aux routeurs voisins.

44

INFO-F-303

Rseaux

4.6

Au coeur dun routeur

Quatre lments principaux peuvent tre identis dans larchitecture dun routeur : Port dentre. Prend en charge les fonctionnalits de la couche physique et de la couche liaison. Il assure une fonction de consultation et dacheminement des paquets entrant dans la matrice de commutation vers le port de sortie appropri. Matrice de commutation. Relie les ports dentre et les ports de sortie. Port de sortie. Emmagasine les paquets quil reoit de la part de la matrice de commutation. Assure les fonctionnalits inverses de la couche liaison et de la couche physique. Processeur de routage. Charg de lexcution des protocoles de routage, de la mise jour des informations et des tables.

4.6.1

Les ports dentre

Les fonctions de terminaison de ligne et de traitement de liaison de donnes quil doit assurer mettent en oeuvre les couches physiques. Les oprations de consultation et de r-acheminement eectues par le port dentre larrive des paquets jouent un rle essentiel dans ses fonctions de commutation. Souvent cest durant cette tape que le routeur dtermine les ports de sortie vers lesquels rediriger les paquets arrivant. Les ports dentre gardent une copie de la table de r-acheminement, quil actualise rgulirement. Cela permet de prendre des dcisions directement au niveau des ports, sans solliciter le processeur de routage central (ce qui pourrait provoquer des phnomnes de goulet dtranglement). La consultation dune table de r-acheminement est simple conceptuellement : il sut dy chercher lentre de destination la plus apparente ladresse. Dans la pratique ce nest nanmoins pas si simple. Le point le plus problmatique est le fait que les routeurs fdrateurs doivent oprer des vitesses leves, impliquant des millions de consultations par seconde ; on souhaite en eet que lopration de consultation soit plus rapide que le temps quil faut au routeur pour recevoir un nouveau paquet. Dans de telles conditions, il est vident quun simple balayage linaire du contenu de la table de racheminement est parfaitement impossible. Une structure darbre serait dj plus approprie. Mais cela nest pas encore susant. Une solution rside dans des mmoires contenu adressable (temps de recherche constant). Ds que le port de sortie a t identi, le paquet peut entrer dans la matrice de commutation. Cependant un paquet peut se voir refuser temporairement laccs si elle est occupe traiter des paquets qui ont t reus sur dautres liaisons dentre. Il est alors plac en le dattente sur son port.

45

INFO-F-303

Rseaux

4.6.2

La matrice de commutation

La matrice de commutation forme le coeur du routeur, elle assure le transfert des paquets entre le port dentre et le port de sortie appropri. La commutation peut se faire de plusieurs manires : Commutation par action sur les mmoires A lorigine, les deux types de ports fonctionnaient comme des entres/sorties dun systme dexploitation conventionnel. Dans cette conguration, le port dentre signalait larrive des paquets au processeur de routage par un signal dinterruption. Puis une copie du paquet tait place dans la mmoire du processeur qui eectuait les actions de routage pour connatre le port de sortie, puis transmettait une copie au port de sortie. La plupart des routeurs actuels continuent davoir recours une commutation par action sur les mmoires, mais la grande dirence par rapport aux prdcesseurs porte sur le fait que la consultation de ladresse de destination et la commutation du paquet sont sous contrle de processeurs placs dans les cartes de communication dentre.

Commutation par action sur les mmoires. Commutation par bus Avec cette mthode, le port dentre transfert les paquets directement au port de sortie grce un bus partag, sans passer par le processeur de routage. Linconvnient est quun seul paquet peut tre transfr la fois. Il y aura donc aussi un phnomne de le dattente. Cest le dbit de ce bus qui dtermine la vitesse de commutation du routeur. Etant donn quon trouve des bus plusieurs Gbit/s, cette mthode de commutation sadapte la plupart des rseaux daccs et aux rseaux locaux dentreprise.

Commutation par bus.

46

INFO-F-303

Rseaux

Commutation par rseau dinterconnexions Pour rduire les limitations de dbits associes au partage dun bus commun, on peut utiliser un rseau dinterconnexions de 2n bus reliant n ports dentre n ports de sortie. Un paquet qui arrive sur le port dentre du routeur est achemin sur le bus horizontal jusqu linterconnexion avec le bus vertical correspondant au port de sortie. Si ce bus vertical est libre, le paquet est transfr jusquau port de sortie, sinon il retourne au port dentre et est mis en attente.

Commutation par rseau dinterconnexions.

4.6.3

Les ports de sortie

Le port de sortie prend les datagrammes stocks dans sa mmoire et les transmet la liaison de sortie. Il fait alors appel la couche liaison et la couche physique.

4.6.4

Mise en attente

On peut constater que des les peuvent se former aux ports dentre et de sortie (matrice de commutation trop et/ou pas assez rapide selon les ports). A mesure de laugmentation de ces les, le risque de perte de paquets augmente. Ce phnomne de perte se situe exactement au niveau des les dattente, mais lendroit exact dpend de la densit du trac, de la vitesse de la matrice de commutation et du dbit de la liaison. Supposons que les liaisons dentre et de sortie disposent dun dbit identique, et que le routeur compte n ports dentre, et n ports de sortie. Si la vitesse de la matrice de commutation est au moins n fois suprieure la vitesse de la liaison, aucun phnomne de mise en attente ne se produit lentre, mais si tous les paquets venaient tre dirigs vers le mme port de sortie il serait trs rapidement satur. Un gestionnaire de paquets doit dterminer quel paquet de la le doit tre transmis. Cette rgle est gnralement la rgle FIFO (First In First Out). Si la matrice de commutation nest pas assez rapide par rapport aux dbits des liaisons dentre, le phnomne de mise en attente se produit alors au niveau des ports dentre.

47

INFO-F-303

Rseaux

4.7

IPv6

Au dbut des annes 1990, lpuisement progressif des adresses IPv4 32 bits menace. Une nouvelle version (IPv6) remdie ce problme, et propose galement de nombreuses innovations. Avec IPv6, la taille des adresses passe de 32 bits 128 bits, ce qui loigne presque dnitivement la menace de leur puisement. Len-tte dun datagramme IPv6 devient xe 40 octets, ce qui facilite son traitement. La possibilit de fragmenter un datagamme disparat, cette option devient du ressort de lexpditeur et du destinataire exclusivement. Si un routeur reoit un datagramme IPv6 trop volumineux il le supprime tout simplement et renvoie une erreur ICMP. La somme de contrle disparait galement, la couche transport et la couche liaison assurent dj ce genre de service qui devient redondant. Il est vident que tous les routeurs ne peuvent pas tous se dconnecter simultanment pour supgrader. Il faut donc une mthode transitionnelle pour passer de IPv4 IPv6, capable de faire passer des datagrammes IPv6 sur des routeurs ne supportant pas encore ce format. La solution est une mise en tunnel : si deux noeuds IPv6 spars par des routeurs IPv4 souhaitent schanger des datagrammes IPv6, ils considreront la suite de routeurs IPv4 comme un tunnel. Le noeud IPv6 du ct du ple expditeur se munit du datagramme IPv6 tout entier et linsre dans le champ de donnes dun datagramme IPv4, et ce dernier est envoy aux routeurs IPv4. Lorsque le datagramme parvient au routeur IPv6, il extrait les donnes pour rcuprer un datagramme IPv6, comme illustr ci-dessous.

Cohabitation IPv4 et IPv6 grce aux tunnels.

48

Chapitre 5

La couche Liaison et les rseaux locaux


5.1 Services de la couche liaison

Un protocole de la couche liaison est charg du transfert des datagrammes de noeud en noeud, cest--dire sur des liaisons individuelles dont lensemble constitue la voie de communication. Dans ce chapitre, nous appellerons noeuds aussi bien les htes que les routeurs, sans se proccuper de savoir de quel type de noeud il sagit. On appelle liaison les canaux de communication reliant deux noeuds adjacents du parcours. Les services qui peuvent tre fournis par un protocole de couche liaison sont les suivants : Tramage. Avant la transmission, le protocole procde une encapsulation des datagrammes lintrieur dune trame, qui comporte par ailleurs un certain nombre de champs den-ttes (tels que ladresse physique par exemple). Accs la liaison. Un protocole de contrle daccs au mdium dcrit les rgles selon lesquelles la trame doit tre transmise sur la liaison. Transfert able. Un protocole de la couche liaison proposant un transfert able garantit la bonne livraison sans erreur de tous les datagrammes qui lui sont soumis. Contrle de ux. Les noeuds disposent gnralement dune mmoire tampon limite pour mmoriser temporairement les trames quils reoivent. Ceci peut poser des problmes lorsque les trames arrivent un dbit suprieur celui quils sont en mesure dabsorber. Dtection derreurs. Des erreurs binaires peuvent se produire, la plupart des protocoles de couche liaison sont en mesure de les dtecter. Correction derreurs. Procdure similaire, la dirence quelle peut dterminer lemplacement prcis de lerreur et la corriger.

49

INFO-F-303

Rseaux

5.2

Techniques de dtection et correction derreurs

La mthode de dtection derreur la plus simple est celle qui repose sur lemploi dun bit de parit. Soit D des informations transmettre de d bits. Lexpditeur ajoute aux donnes un unique bit tel que la somme des d + 1 bits soit paire (ou impaire selon ce qui est convenu par le modle). Cette mthode est un peu faible, car si un nombre pair derreurs sest gliss dans les donnes, elles ne seront pas dtectes ; elle ne peut donc tre applique que sur des systmes pour lesquels les erreurs narrivent pas en rafale et dont la probabilit est extrmement faible. On peut gnraliser cette mthode en rpartissant les d bits sur une matrice, et en calculant un bit de parit pour chaque ligne et chaque colonne. Cela permet dune part de dterminer quil y a plusieurs erreurs, mais aussi de les localiser (dans une certaine mesure). Avec les techniques de somme de contrle, les d bits sont regroups en octets. Chaque octet est considr comme un nombre de 16 bits et tous les octets sont additionns, puis le complment 1 de cette somme est pris comme somme de contrle. La somme des octets de la trame doit donc avoir tous ses bits 1. Une technique de dtection derreur trs frquente repose sur les codes de redondance cyclique (CRC). Les codes CRC oprent de la manire suivante : Soit un groupe de donnes de d bits quun noeud souhaite envoyer un autre, lexpditeur et le destinataire devant dabord saccorder sur une conguration binaire de r + 1 bit, le polynme gnrateur G. Le bit le plus signicatif ( gauche) de G doit tre rgl 1. Pour un groupe de donnes D, lexpditeur choisit r bits additionnels, R, et les ajoute D de sorte que la conguration binaire de r + 1 bits rsultante soit exactement divisible par G en utilisant larithmtique modulo-2. La procdure de dtection derreur est alors trs simple : le destinataire divise les d + r bits reus par G, si le reste nest pas nul il sait quune erreur sest produite. Le calcul de R eectu par lexpditeur se fait de faon ce que D 2r R = nG (rappel : = XOR), cest--dire calculer R = reste D 2r G

Cette technique est en mesure de dtecter les erreurs en rafales infrieures r + 1 bits. De plus, une rafale derreurs aectant plus de r + 1 bits sera dtecte avec une probabilit 1 21r .

5.3

Protocoles daccs multiple

Il existe deux catgories de liaisons de donnes : les liaisons point--point (changes entre un seul expditeur et un seul destinataire) et les liaisons diusion (changes entre plusieurs expditeurs et/ou plusieurs destinataires). Le terme diusion fait rfrence au fait que les trames transmises par un expditeur sont diuses sur un mme canal partag entre plusieurs destinataires.

50

INFO-F-303

Rseaux

Cble partag (par exemple Ethernet).

Satellite.

Espace radiolectrique partag (par exemple Wi-Fi). Les rseaux dordinateurs ont recours des protocoles daccs multiple pour grer les transmissions des noeuds relis au canal de diusion partag. On en distingue trois types : les protocoles partage de canal, les protocoles daccs alatoire et les protocoles partage de ressources. Un protocole daccs multiple oprant sur un canal diusion dun dbit R doit prsenter les proprits suivantes : 51

INFO-F-303

Rseaux

Lorsquun seul noeud a des donnes envoyer, il dispose dun taux denvoi de R bit/s. Si M noeuds ont des donnes envoyer, chacun dentre eux doit disposer dun taux denvoi instantan de R/M bit/s. Le protocole doit disposer dune structure dcentralise, sans station matresse susceptible de bloquer tout le systme en cas de panne. Le protocole doit tre simple, de sorte que sa mise en place ne soit pas coteuse. Protocoles de partage de canal Le multiplexage par rpartition dans le temps (TDM) et en frquence (FDM) sont deux techniques permettant de partager la bande passante dun canal de diusion entre toutes les stations qui y sont relies. En TDM, chaque intervalle de temps est assign lune des stations. Lorsque lune dentre elles doit envoyer un paquet, elle procde cet envoi durant lintervalle de temps qui lui est allou (en gnral ce temps est susant pour transmettre un paquet entier). FDM procde un partitionnement de la bande des frquences, et alloue une partie du canal chaque station. FDM et TDM prsentent les mmes avantages et inconvnients : ils vitent les collisions et assurent une rpartition quitable de la bande passante, mais limitent fortement le dbit maximal des stations les plus actives. Le protocole daccs multiple par rpartition de code (CDMA, Code Division Multiple Access) alloue aux direntes stations un code particulier leur permettant de coder les bits dinformation quils envoient. Le CDMA permet alors des paquets envoys simultanment dtre compris par les dirents destinataires, en dpit des interfrences (permet galement un anti-brouillage). Protocoles daccs alatoire Avec ce type de protocoles daccs multiple, les stations disposent en permanence du dbit intgral du canal. Lors dune collision entre deux trames, chaque station implique procde la retransmission de sa trame, jusqu ce que celle-ci parvienne son destinataire sans aucune collision. Pour viter une nouvelle collision immdiate, le protocole laisse scouler un laps de temps alatoire avant de procder la retransmission. Le protocole ALOHA allocation temporelle en fait partie. Pour des raisons de simplicit, nous supposons que toutes les trames ont une taille de L bits, que le temps est divis en intervalles de L/R secondes, que les expditeurs commencent transmettre leur trame au dbut dun intervalle de temps, quils fonctionnent de faon synchrone et que tout expditeur est inform dune collision avant la n de lintervalle de temps au cours duquel elle se produit. Lorsquun expditeur a une nouvelle trame envoyer, il attend le dbut dun nouvel intervalle de temps. Dans le cas dune collision, lexpditeur retransmet sa trame au cours de lintervalle suivant avec une probabilit p convenue, et ce jusqu ce quelle nisse par passer sans collision. On peut constater que les seuls intervalles de 52

INFO-F-303

Rseaux

temps qui ne sont pas gchs sont ceux au cours desquels une seule station est active. Lecacit dpend donc de la proportion dintervalles russis dans le cas o un grand nombre de stations sont actives en mme temps. Pour simplier le calcul, supposons que, pour tout intervalle, chaque station tente dmettre une trame avec une probabilit p. Dans un environnement avec N stations, la probabilit quune station quelconque russisse sa transmission est de N p(1p)N 1 . Des paramtres adquats (p = 1/N et N ) amnent une ecacit maximale de 1/e = 0.37, soit une ecacit maximale de 37%. ALOHA ore un dbit maximal une station seule transmettre. Etant donn que les stations sont mme de dtecter une collision, le procd est fortement dcentralis ; il requiert cependant une synchronisation (ce qui nest pas le cas pour ALOHA pur qui est totalement dcentralis). Protocole daccs multiples avec dtection de porteuse Dans le monde des rseaux, couter avant de prendre la parole est ce quon appelle procder une dtection de porteuse. Cela impose une station de consulter lactivit en cours sur le canal avant dengager la transmission. Si une autre station est occupe, elle patiente un temps alatoire avant de reconsulter le canal. Si deux stations commencent mettre en mme temps, elles interrompent leur transmission et se remettent en attente ; cela nest possible que si une station reste lcoute du canal pendant sa transmission. Ces deux rgles sont mises en application dans le protocole CSMA et CSMA/CD (CSMA avec dtection de collisions). Protocoles partage de ressource Le protocole de sondage implique la dsignation dune station matresse qui invite transmettre toutes les stations de faon cyclique. Elle procde en informant la premire station sur la liste du nombre maximal de trames quelle peut transmettre, puis se tourne vers la deuxime, et ainsi de suite. Cette procdure se rpte jusqu ce que toute les stations aient t contactes. Cependant ce processus implique un temps dinvitation transmettre, et, plus grave, si la station matresse est dfaillante, tout le rseau est par terre. Le protocole de passage de jeton na pas le problme de dsignation dune station matresse, il utilise une trame particulire, appele jeton, qui circule dune station lautre selon un ordre dni. La station qui possde le jeton a le droit denvoyer des trames, et elle ne garde le jeton que si elle en a envoyer. Puis le jeton passe la station voisine. La panne de la machine ayant le jeton est encore un problme.

5.4

Adresses LAN et ARP

Un rseau LAN (Local Area Network ) est un rseau dordinateurs concentr dans un espace priv. Au sein de ce type de rseau, les stations schangent des trames sur le canal de diusion, ce qui signie que lorsquune station transmet une trame, toutes les autres la 53

INFO-F-303

Rseaux

reoivent. Cela nest gnralement pas ncessaire, il serait prfrable que les direntes stations du rseau puissent sadresser les unes aux autres au moment denvoyer leurs trames. Une station qui recevra une trame qui nest pas attribue son adresse LAN la rejettera tout simplement. Il peut nanmoins arriver quun expditeur souhaite envoyer une trame toutes les stations du rseau. Il aura alors recours une adresse de diusion LAN (qui nest autre que FF-FF-FF-FF-FF-FF). Chaque station est donc munie dun adaptateur possdant une adresse LAN (on parle aussi dadresse physique, dadresse Ethernet ou encore dadresse MAC ). Il sagit gnralement dune adresse de 6 octets, prsents sous forme hexadcimale. Lorsque ladaptateur est ralis, cette adresse est grave dans une mmoire ROM et reste immuable. Ces adresses sont parfaitement uniques. Lutilisation de deux systmes didentication dune station (IP et LAN) implique un systme de conversion : le protocole de rsolution dadresses ARP (Address Resolution Protocol ). Chaque hte internet et chaque routeur dun rseau local dispose dun module ARP.

Dans lexemple ci-dessus, chaque station dispose dune adresse IP et dune adresse LAN. Si la station 222.222.222.220 cherche envoyer un datagramme IP la station 222.222.222.222, elle doit fournir son adaptateur le datagramme muni de ladresse LAN du destinataire. Une fois ces deux informations obtenues, ladaptateur cre une trame de la couche liaison libelle cette adresse et lenvoie travers le rseau. Pour connatre ladresse LAN du destinataire, elle doit soumettre ladresse IP son module ARP qui en assure la conversion et lui envoie ladresse LAN 49-BD-D2-C7-56-2A. Le module ARP de chaque station contient dans sa mmoire RAM une table appele table ARP, qui contient les correspondances entre adresses IP et adresses LAN des direntes stations du rseau. Pour chaque entre, la table contient galement un temps dexpiration. Il faut noter que la table ne contient pas ncessairement ladresse de toutes les stations du LAN. Dans le cas o la station expditrice ne possde pas la conversion, 54

INFO-F-303

Rseaux

elle labore un paquet ARP, contenant entre autres des champs dadresses LAN et IP, quelle envoie sur le rseau sur ladresse de diusion ; sa fonction est dinterroger toutes les stations du rseau pour connatre ladresse LAN correspondant ladresse IP en cours de conversion. La station concerne rpond avec un message du mme format lexpditeur, qui peut alors mettre sa table jour.

5.5

Ethernet

Ethernet reprend plusieurs systmes. Llment unicateur de ces divers systmes est la structure des trames, qui reste la mme dans tous les systmes Ethernet. Ces trames possdent six champs : Champ de donnes. 46 1500 octets. Cest l que vient se loger le datagramme IP. Adresse de destination. 6 octets. Ce champ contient ladresse LAN de ladaptateur du destinataire. Adresse dorigine. 6 octets. Champ de type. 2 octets. Ce champ permet Ethernet de multiplexer les protocoles de la couche rseau, an que le datagramme soit remis au bon protocole de la couche rseau. Cyclic Redundancy Check (CRC). Ce champ permet de dtecter les erreurs qui se sont glisses dans le datagramme. Prambule. 8 octets. Toute trame Ethernet commence par un prambule dont les sept premiers octets ont une valeur 10101010 et le dernier une valeur 10101011, qui servent rveiller ladaptateur du destinataire et synchroniser son horloge. Le service rseau procur par les direntes versions dEthernet est un service sans connexion et non able. En eet, aucune vrication nest eectue, et bien que les liaisons soient parfois fortement isoles, elles ne sont jamais labri dune erreur binaire due un champ magntique ou des interfrences par exemple. Une trame errone sera malgr cela remise la couche rseau qui la rejettera. Ethernet repose sur une transmission en bande de base, dans laquelle les adaptateurs envoient des signaux numriques directement sur le canal de diusion. La carte dinterface ne transpose pas le signal sur une autre bande de frquences, comme cest le cas en ADSL ou avec les systmes modems cble. Ethernet utilise un codage Manchester. Dans ce codage, chaque bit contient une transition : vers le bas pour 1 et vers le haut pour 0. Lutilisation de ce codage sexplique par le fait que les horloges de lexpditeur et du destinataire ne sont par parfaitement en phase.

55

INFO-F-303

Rseaux

Ethernet repose sur un algorithme daccs multiple CSMA/CD : Les noeuds peuvent commencer transmettre nimporte quand. Les adaptateurs ne transmettent jamais lorsquils dtectent une activit sur le canal (proprits de dtection de porteuse). Les adaptateurs interrompent leur transmission ds quils dtectent de lactivit dun autre adaptateur au sein du canal (proprit de dtection des collisions). Avant de procder la retransmission dune trame, les adaptateurs patientent pendant une dure alatoire (relativement courte par rapport la dure de transmission dune trame).

5.6

Hubs, ponts et commutateurs

La faon la plus simple dinterconnecter des rseaux LAN est lutilisation dun hub. Un bit rejoignant linterface dun hub est automatiquement dius sur toutes les interfaces du hub. Ce nest rien dautre quun rpteur de signal. Il est possible de concevoir des systmes avec plusieurs niveaux de hubs. Ceux qui ne sont pas directement relis des stations sont appels hubs fdrateurs. Lutilisation abondante de hubs pose nanmoins des problmes : Les dirents domaines de collision sont regroups en un seul mme domaine. Les direntes technologies Ethernet ne seront pas toujours compatibles. A la dirence des hubs qui sont des quipements de la couche physique, les ponts sont des lments de la couche liaison. En eet, les ponts sont des sortes de commutateurs de paquets, capables de transmettre et ltrer les trames au moyen de leur adresse de destination. Lorsquun pont reoit une trame sur son interface dentre, il examine son adresse de destination de couche 2 et tente de la transmettre linterface approprie ; si cette interface est celle do vient la trame, elle est tout simplement absorbe. Ces fonctions sont assures via lutilisation dune table contenant des informations sur certaines stations du rseau. De plus, les ponts mettent CSMA/CD en oeuvre pour limiter les collisions sur le LAN. Lun des grands problmes lis une interconnexion purement hirarchique des diffrents segments de LAN a trait la abilit de lensemble. Si lun des hubs tombe en panne, cest toute une partie du rseau qui perd sa connexion. Il est donc souhaitable de mettre en place plusieurs chemins entre les dirents segments dun LAN. Cependant, en labsence de contrle, les trames peuvent former des boucles et se multiplier au sein du rseau. Pour viter ce problme, il faut avoir recours au protocole darbre recouvrant. Grce ce protocole, les ponts des dirents segments LAN schangent des informations sur les dirents arbres de recouvrement du rseau, cest--dire des sous-ensembles du rseau initial comprenant tous les ponts, mais ne prsentant pas de boucle. Si un moment donn, lune des liaisons de larbre venait tre coupe, les ponts peuvent automatiquement reconnecter les interfaces et rappliquer lalgorithme.

56

INFO-F-303

Rseaux

5.7

Protocole PPP (point--point)

PPP (Point-to-Point Protocol ) est le protocole le plus utilis pour les liaisons point-point, autrement dit les liaisons directes entre deux stations. Quelques conditions lui sont imposes : Mise en trame du paquet.Le ple expditeur doit tre en mesure de prendre en compte un paquet de la couche rseau et de lencapsuler lintrieur dune trame de couche liaison PPP, de telle sorte que le destinataire puisse identier le dbut et la n, aussi bien de la trame que du paquet de donnes associ. Transparence. PPP ne doit imposer aucune contrainte aux donnes globales associes au paquet rseau (il na par exemple pas le droit dinterdire certaines congurations binaires dans le paquet. Compatibilit. PPP doit tre compatible avec dirents protocoles de couche rseau. Il doit galement tre en mesure dtre exploit sur dirents types de liaisons. Dtection derreur. Un destinataire PPP doit tre en mesure de dtecter des erreurs binaires dans la trame reue. Simplicit. PPP doit tre de moindre cot pour des raisons videntes. Une trame PPP est constitue de : Fanion. Toutes les trames PPP dbutent et se terminent par un fanion de 1 octet qui prend pour valeur 01111110. Champ dadresse. Lunique valeur que peut prendre ce champ est 11111111. Champ de contrle. Lunique valeur que peut prendre ce champ est 00000011. Protocole. Ce champ indique au destinataire PPP le protocole de couche suprieure auquel les donnes encapsules doivent tre transmises. Informations. Ce champ contient le paquet venant de la couche rseau. Somme de contrle. Ce champ sert la dtection derreur au sein des trames PPP. Un problme persiste. Que se passe-t-il si un octet de fanion 01111110 apparat en plein milieu dune trame ? La solution consiste avoir recours des octets de bourrage. PPP dnit un octet de bourrage de valeur 01111101, quil insre devant tout fanion 01111110 qui se trouve en dehors du champ prvu cet eet. De la mme manire, si cette conguration de cet octet apparat au sein de la trame, celui-ci devra galement tre prcd dun octet de bourrage, et ainsi de suite tant que ncessaire.

57

Chapitre 6

Liste des abrviations


AIMD : Additive Increase, Multiplicative Decrease. Algorithme de contrle de congestion de TCP. API : Application Programmers Interface. Interface entre lapplication et le rseau. ARP : Address Resolution Protocol. Protocole permettant la conversion des adresses LAN et IP. AS : Autonomous Systems. Rgions de routeurs sautogrant. ASN : Autonomous System Number. Numro didentication unique des systmes autonomes BGP. BIND : Berkeley Internet Name Domain. Logiciel standard pour les serveurs de nom Unix. CARP : Cache Array Routing Protocol. CDMA : Code Division Multiple Access. Protocole daccs multiple par rpartition de code. CDN : Content Distribution Networks. Rseaux de distribution de contenu. CIDR : Classless InterDomain Routing. DHCP : Dynamic Host Conguration Protocol. Protocole dobtention dIP automatique. DNS : Domain Name System. Annuaire de correspondance entre les noms de domaines et les adresses IP. CRC : Cyclic Redundancy Check. Champ de dtection des erreurs au sein dune trame Ethernet. DSL : Digital Subscriber Line. Ligne dabonn numrise. FTP : File Transfert Protocol. Protocole de transfert de chiers. GBN : Go-Back-N. Protocole de transport fentre glissante. GPRS : General Packet Radio Service. Technologie daccs mobile par paquets. HFC : Hybrid Fiber Coaxial Cable. Liaison hybride bre et coaxial (cble). HTTP : Hypertext Transfert Protocol. ICMP : Internet Control Message Protocol. Protocole de rapport derreur de couche rseau. IP : Internet Protocol. IETF : Internet Engineering Task Force. Groupe dtude de lingnierie de lInternet.

58

INFO-F-303

Rseaux

ISP : Internet Service Provider. Fournisseur daccs lInternet. FDM : Frequency Division Multiplexing. Multiplexage frquentiel. LAN : Local Area Network. Rseau local grande vitesse. MTU : Maximum Transfert Unit. Volume maximum de donnes qui peut tre port par un paquet de la couche liaison. NAP : Network Access Points. Points daccs au rseau. NAT : Network Address Traslation. Traduction dadresses rseau. OSPF : Open Shortest Path First. Protocole de routage avec priorit au plus court chemin. POP : Point Of Presence. Point de prsence dun ISP. PPP : Point-to-Point Protocol. Protocole de la couche liaison pour les liaisons point point. P2P : Peer-to-Peer. PDA : Personal Digital Assistant. RFC : Request for Comments. Format de documents contenant les normes IETF. RIP : Routing Information Protocol. Protocole dinformation de routage. RTT : Round-trip Time. Temps ncessaire un petit paquet pour faire un aller-retour entre un client et un serveur. SMTP : Simple Mail Transfert Protocol. Protocole de gestion des systmes de messageries lectroniques. TCP : Transmission Control Protocol. Protocole de transfert de donnes able orient connexion. TDM : Time Division Multiplexing. Multiplexage temporel. TTL : Time To Live. Dure de vie dun datagramme. UDP : User Datagram Protocol. Protocole de transfert de donnes non able sans connexion. URL : Uniform Resource Location. Adresse propre dun chier sur le Web. UTP : Unshielded Twisted Pair. Paire torsade non blinde. WAP : Wireless Access Protocol. Protocole daccs sans l. WLAN : Rseau LAN sans l. WML : WAP Markup Language. Equivalent dHTML pour le WAP.

59

Bibliographie
[1] James Kurose & Keith Ross. Analyse structure des rseaux. Des applications de linternet aux infrastructures de tlcommunication. Pearson Education France 2003. [2] Guy Leduc. Rseaux, INFO-F-303. Slides de cours. Universit Libre de Bruxelles 2008.

60

Table des matires


1 Les 1.1 1.2 1.3 1.4 1.5 1.6 1.7 rseaux dordinateurs et lInternet Quest-ce que lInternet ? . . . . . . . . . . . . . Rseaux daccs . . . . . . . . . . . . . . . . . . Coeur du rseau . . . . . . . . . . . . . . . . . Rseaux daccs et supports physiques . . . . . Les ISP et les rseaux fdrateurs de lInternet Retards et pertes au sein des rseaux . . . . . . Les couches de protocoles . . . . . . . . . . . . 2 2 3 4 6 8 8 9 10 10 11 15 18 20 20 20 21 22 22 23 25 26 27 29 29 30

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

2 La couche application 2.1 Principes des protocoles de la couche Application 2.2 Le Web et HTTP . . . . . . . . . . . . . . . . . . 2.3 DNS, le service dannuaire de lInternet . . . . . 2.4 Distribution de contenu . . . . . . . . . . . . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3 La couche transport 3.1 Les services de la couche transport . . . . . . . . . . . . . . . . . . . . . 3.2 Multiplexage et dmultiplexage . . . . . . . . . . . . . . . . . . . . . . . 3.3 Transport sans connexion : UDP . . . . . . . . . . . . . . . . . . . . . . 3.4 Le transfert de donnes able . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Transfert de donnes able sur canal able : rdt1.0 . . . . . . . . 3.4.2 Transfert de donnes able sur canal avec erreurs : rdt2.0 . . . . 3.4.3 Transfert de donnes able sur canal avec pertes/erreurs : rdt3.0 3.4.4 Transfert de donnes able avec pipelinage . . . . . . . . . . . . . 3.5 Transport orient connexion : TCP . . . . . . . . . . . . . . . . . . . . . 3.6 Contrle de congestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6.1 Les causes et eets du phnomne de congestion . . . . . . . . . 3.6.2 Contrle de congestion de TCP . . . . . . . . . . . . . . . . . . .

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

4 La couche rseau 33 4.1 Modles de services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 4.2 Les principes du routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 4.3 Routage hirarchique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

61

INFO-F-303

Rseaux

4.4

4.5

4.6

4.7

Protocole Internet (IP) . . . . . . . . . . . . . . . . . . . . 4.4.1 Adressage . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Transport dun datagramme . . . . . . . . . . . . . 4.4.3 Structure dun datagramme . . . . . . . . . . . . . 4.4.4 Fragmentation . . . . . . . . . . . . . . . . . . . . 4.4.5 Protocole ICMP . . . . . . . . . . . . . . . . . . . 4.4.6 Protocole DHCP . . . . . . . . . . . . . . . . . . . 4.4.7 Traducteur dadresses NAT . . . . . . . . . . . . . Routage au sein de lInternet . . . . . . . . . . . . . . . . 4.5.1 Le protocole RIP : informations de routage . . . . 4.5.2 Le protocole OSPF : priorit au plus court chemin 4.5.3 Protocole BGP : routage inter-systmes . . . . . . Au coeur dun routeur . . . . . . . . . . . . . . . . . . . . 4.6.1 Les ports dentre . . . . . . . . . . . . . . . . . . 4.6.2 La matrice de commutation . . . . . . . . . . . . . 4.6.3 Les ports de sortie . . . . . . . . . . . . . . . . . . 4.6.4 Mise en attente . . . . . . . . . . . . . . . . . . . . IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

37 37 38 39 40 40 41 41 42 42 43 44 45 45 46 47 47 48 49 49 50 50 53 55 56 57 58 60 61

5 La couche Liaison et les rseaux locaux 5.1 Services de la couche liaison . . . . . . . . . . . 5.2 Techniques de dtection et correction derreurs 5.3 Protocoles daccs multiple . . . . . . . . . . . 5.4 Adresses LAN et ARP . . . . . . . . . . . . . . 5.5 Ethernet . . . . . . . . . . . . . . . . . . . . . . 5.6 Hubs, ponts et commutateurs . . . . . . . . . . 5.7 Protocole PPP (point--point) . . . . . . . . . . 6 Liste des abrviations Bibliographie Table des matires

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

. . . . . . .

62

Das könnte Ihnen auch gefallen