Home

Les protocoles réseaux de bavardage

image

Contents

1. Les protocoles r seaux de bavardage St phane Bortzmeyer lt stephane blog bortzmeyer org gt Premi re r daction de cet article le 7 juin 2009 http www bortzmeyer org gossip protocol html Il existe une classe de protocoles r seaux nomm s protocoles de bavardage gossip protocol qui r soud legamment un probl me classique dans les r seaux informer tout le monde sans utiliser de mass media centralis Ils utilisent pour cela un principe simple tout pair du r seau transmet l infor mation aux pairs qu il connait un sous ensemble du total et ceux ci leur tour transmettent aux pairs qu ils connaissent et ainsi de suite on appelle parfois cette proc dure l indondation flooding Au bout d un moment la totalit du r seau est au courant sans qu on aie eu besoin d un syst me centralis L Internet utilise un certain nombre de protocoles de bavardage C est ainsi que le routage global avec le protocole BGP RFC 4271 d pend d un protocole de bavardage Aucun routeur BGP ne connait tous les autres routeurs BGP de la DFZ l Internet n a pas de centre pas de cha ne de t l vision unique qui informerait tous les routeurs de l arriv e d un nouveau r seau Pourtant de fil en aiguille l infor mation sur un nouveau pr fixe d adresses IP touche tout l Internet en quelques minutes Avant BGP les protocoles de bavardage ont t surtout popularis s par les News RFC 5537 e
2. ceived from peer 0 Jean a de longues moustach 2009 06 05 17 30 29 0 bytes Sender task Thread 1 received Jean a de longues moustaches from 0 connectin Et ici le 2 2009 06 05 17 31 30 ffff 192 134 4 69 30 bytes NEW message received from peer 5 Jean a de longues moust 2009 06 05 17 32 01 0 bytes Sender task Thread 3 received Jean a de longues moustaches from 5 connectin Et ici un pair le 3 re oit un message deux fois de 6 puis de 2 il ignore le second Cette pr caution est ce qui permet aux protocoles de bavardage de ne pas boucler ternellement 2009 06 06 22 56 35 2a01 e35 8bd9 8bb0 21c 23ff fe00 6b7f 30 bytes NEW message received from peer 6 Jean a 2009 06 06 22 56 49 2a01 e35 8bd9 8bb0 21c 23ff fe00 6b7f 30 bytes Ignoring known message from peer 2 Jean 2009 06 06 22 58 08 2a01 e35 8bd9 8bb0 21c 23ff fe00 6b7f 35 bytes NEW message received from peer 6 Les la 2009 06 06 22 58 28 2a01 e35 8bd9 8bb0 21c 23ff fe00 6b7f 35 bytes Ignoring known message from peer 2 Les Pour approfondir le concept on peut lire le bon article du Wikip dia anglophone http www bortzmeyer org gossip protocol html
3. e que l en semble des pairs soit connect sinon certains messages n arriveront pas partout Les pairs se souviennent des messagers qu ils ont vu dans l historique global et de ceux qu ils ont envoy s chaque pair dans un historique sp cifique au pair Le mode d emploi est simple Supposons qu on veuille lancer le pair d ID 42 coutant sur le port 22000 et pouvant parler aux pairs d ID 261 2001 DB8 1 bad dcaf port par d faut et d ID 4231 2001 DB8 2 dead beef port 443 on tapera o python gossiper py i 42 p 22000 261 2001 DB8 1 bad dcaf 4231 2001 DB8 2 dead beef 443 http www bortzmeyer org gossip protocol html La syntaxe adresse IP port utilis e est celle du RFC 3986 section 3 2 2 Les barres obliques inverses devant les crochets sont impos s par certains shells Unix Le programme affichera alors les communications avec ses pairs Pour amorcer la pompe et injecter des messages facilement lt http www bortzmeyer org commande rappelable pour tests html gt on peut utiliser netcat ici l injecteur original a indiqu un ID de 0 o echo 0 Les sanglots longs des violons de l automne nc 127 0 0 1 22000 Avec des messages inspir s de Radio Londres on obtiendra des dialogues comme suit un d lai artificiel a t ajout pour mieux simuler la dur e de propagation dans un r seau Ici le pair d ID 5 2009 06 05 17 30 13 ffff 127 0 0 1 30 bytes NEW message re
4. ontrairement aux News Chaque pair a un num ro unique l ID fix la main au d marrage si on n a pas de serveur central pour attribuer des num ros uniques le mieux est de tirer ces ID au hasard dans un espace tr s grand limitant ainsi les risques de collision ou bien de prendre le r sum cryptographique d une phrase unique pour chaque pair Le lt serveur gt le pair qui r pond aux demandes de connexion envoie son ID suivi d une virgule Le lt client gt le pair qui lance la connexion envoie son ID suivi d une virgule et suivi du message sur une seule ligne Si l ID est l identificateur du pair pour s y connecter effectivement sur l Internet il faut un localisateur un tuple adresse IP port Dans cette simple impl mentation il n y a qu un de ces tuples par pair ma s ce n est pas impos par le protocole de toute fa on les pairs sont identifi s par leur ID pas par leur adresse IP donc une connexion du pair N peut venir d une autre adresse IP que celle connue pour N si la machine cliente a plusieurs adresses Au d marrage on indique donc au programme en ligne sur http www bortzmeyer org files gossiper py le port sur lequel il doit couter 30480 par d faut et les identificateurs et loca lisateurs de ses pairs noter que la relation entre pair n est pas sym trique 1 peut savoir comment joindre 2 sans que le contraire soit vrai Le nombre de pairs est quelconque mais il faut just
5. r Message ID et lt oubli s gt au bout d une dur e r glable pour viter de remplir le disque dur BGP a en outre d autres mesures pour limiter l inondation comme le fait de ne transmettre comme toutes que celles qu il utilise lui m me liminant ainsi d une propagation ult rieure les mauvaises gt routes Une propri t int ressante des architectures fond es sur le bavardage est qu il n est pas n cessaire que la transmission des messages entre les pairs utilise toujours le m me protocole Par exemple dans les News le protocole NNTP RFC 3977 est le plus courant mais pas le seul pendant longtemps UUCP tait plus utilis Pour illustrer le fonctionnement d un protocole de bavardage voici une petite impl mentation en Py thon avec la biblioth que standard socket lt http docs python org library socket html gt enligne surhttp www bortzmeyer org files gossiper py Les fils sont utilis s pour viter d tre bloqu chaque pair pouvant videmment tre en panne injoignable etc Dans l impl mentation actuelle on r essaie un nombre limit de fois si un pair n est pas joignable Il ne faut videmment pas comparer cette petite impl mentation aux vraies qui tournent sur le vrai Internet notamment parce qu elle manque s rieusement de robustesse par exemple lors de la lecture des messages des autres pairs Dans cet exemple simple le protocole entre deux pairs est fix comme avec BGP mais c
6. t RFC 3977 o un article tait diffus chaque pair par opposition au Web qui est d avantage centralis si le serveur de www playboy fr tombe en panne ou bien est victime d une attaque l information sur le site n est plus accessible du tout Au contraire avec BGP ou les News il faut d truire beaucoup de machines pour r ellement supprimer certaines informations Avec les protocoles de bavardage l infor mation cesse d tre accessible tous d s que le r seau cesse d tre connect lorsqu il est partitionn en deux ou plus morceaux Donc les principales forces des protocoles de bavardage sont la r sistance aux pannes et le fait qu au cun n ud ne joue de r le essentiel y compris pour l injection initiale alors que le terme d lt inonda tion gt n implique pas d galit l inondation peut aussi servir lorsqu un des n uds est le seul pouvoir initier une information 1 Pour voir le RFC de num ro NNN http www ietf org rfc rfeNNN txt par exemple http www ietf org r c rfc4271 txt 1 Pour fonctionner correctement les protocoles de bavardage ont besoin que chaque pair maintienne un historique quels messages a t il re us a qui les a t il envoy s etc Autrement on perdrait du temps et des ressources retransmettre un message d j connu et on risquerait m me de faire des boucles sans fin Dans les News chaque serveur retient les messages re us identifi s par leu

Download Pdf Manuals

image

Related Search

Related Contents

取扱説明書はこちら(PDF)  Analog Detectors and Bases  EX291CQSG_NA  Samsung AVPWC020B10 User Manual  Mode d`emploi www.juwel-aquarium.com    Kenwood B64-2562-00/00 Stereo Amplifier User Manual  Alcatel OneTouch 2000 Owner's Manual  user`s manual  EL G 60 R120 B100 Standalone - EV  

Copyright © All rights reserved.
Failed to retrieve file