390 likes | 549 Views
Réseaux : algorithmique et combinatoire. Daniel Krob (LIX) http://www.liafa.jussieu.fr/~dk/ Laurent Viennot (INRIA) http://gyroweb.inria.fr/~viennot/. Présentation du cours. Approche de l’algorithmique et de la combinatoire par des problèmes appliqués autour des réseaux :
E N D
Réseaux : algorithmique et combinatoire Daniel Krob (LIX) http://www.liafa.jussieu.fr/~dk/ Laurent Viennot (INRIA) http://gyroweb.inria.fr/~viennot/
Présentation du cours • Approche de l’algorithmique et de la combinatoire par des problèmes appliqués autour des réseaux : • réseaux cellulaires (GSM) • réseaux ad hoc (Wifi) • graphe du web (liens hypertexte) • réseaux pair-à-pair (P2P)
Plan du cours • 3 séances DK (3 dernières) : • Réseaux cellulaires : • Survol (GSM, GPRS, UMTS) • Problème de la démodulation : approche classique et combinatoire • Formule de Barret • Bijection de Knuth (tableaux d ’Young) • Fonctions symmétriques
7 séances LV (7 premières) : • Graphe du web : • Mesure du web • PageRank et Perron - Froebenius • Méthode HITS et généralisation • Modèles probabilistes et loi de Pareto • Réseaux ad hoc • Routage dans Internet et en ad hoc • Algorithmes d’optimisation de la diffusion
Protocoles pair-à-pair de partage de fichiers (peer-to-peer) • Historique et survol des protocoles existants • Insertion dans le réseau • Tables de hachage distribuées
Partage de fichier Internet A
Index central : Napster A? A IP A
A? A? A? A? A? IP A? A? Chacun indexe ses fichiers : Gnutella (v0.4) A
A? A? A? A? A? IP A? A IP A? A? Solution hybride : Kazaa(Ultrapeers / Supernodes) A
Téléchargement multiple : eDonkey A1 A2 A3
Anonymat total : Freenet • Tout est crypté. • Les fichiers sont cachés. • On ne sait pas ce qu’on aide à chercher, ou même ce que l’on cache.
Insertion d’un nouveau nœud • Règle générale : • il existe un mécanisme pour demander à un pair l’adresse d’autre pairs, • trouver un nœud du réseau, • contacter de proche en proche d’autres nœuds jusqu’à en trouver acceptant une nouvelle connexion.
Insertion dans Gnutella • Trouver un point d’entrée dans un Gwebcache • Soit un nœud accepte la connexion, soit il donne une liste d’adresses de pairs (contacts récents ou voisins) • Modèle de construction du réseau par des marches aléatoires à partir d’un sous-ensemble des nœuds...
Un vieux problème • Indexe centralisé : Google, Teoma, … • Qui a la page web contenant : dea, algorithmique ? • Indexe hiérarchique : DNS • Quelle est l’adresse de www.lix.polytechnique.fr ?
Tables de hachage distribuées • Trouver le nœud possédant un fichier connaissant le nom exact du fichier (idem DNS). • Construire un index distribué. • Éviter les inondations. • Solution à base de routage. • Chaque nœud a une adresse logique ID. • Fonction de hachage f : nom ---> ID.
ID Log n voisins A (A, IP) A Routage en O(log n) Chord (Stoica et al., 2001) 0 A f(A)
ID Log n voisins ID + 2k ? (A, IP) Routage en O(log n) Chord (Stoica et al., 2001) 0 A f(A)
Chord : Hypercube • Contraintes fortes sur le choix des voisins. • Requêtes exactes. • Autres solutions : • CAN (Ratnasamy et al., 2001) : tore • Tapestry(Zhao et al., 2001) : hypercube • Viceroy (Malkhi et al., 2002) : papillon • D2B (Fraigniaud et Gauron, 2003) : de Bruijn • Kademlia (Maymounkov et Mazières, 2003) : hypercube
Optimiser la diffusion • Autorise les requêtes partielles. • Similaire au réseaux ad hoc : • forte dynamicité • connaît ses voisins • on peut facilement connaître les voisins de ses voisins (Hellos) • Contrainte : optimiser la diffusion, chaque nœud ne connaissant que ses voisins et les voisins de ses voisins.
Multipoints relais (ad hoc) Sélectionner un minimum de relais pour atteindre tout le monde à deux sauts. 1 2
d Règle de retransmission (ad hoc) Si on n’a pas déjà reçu et on reçoit d’un MPR alors on retransmet. 2 1 a b c f
Multipoints relais (réseau logique ou filaire) Chaque multipoint relais m de x retransmet à son secteur S(x,m). 2 1 On retransmet au secteur plus ses MPRs.
Règle de retransmission (filaire) • On retransmet si : • pas déjà reçu • reçu avec nb sauts supérieur • reçu avec même nb sauts mais d ’un nœud plus grand
Preuve d’exhaustivité • Tout sommet à distance d de la source est atteint en d sauts.
Approche par spanner • Construire un sous-graphe connexe avec peu d’arêtes. • Ne retransmettre que sur les arêtes de ce sous-graphe.
Heuristique distribuée 9 4 7 8 2 6 5 3 10 1
Heuristique distribuée 9 4 7 8 2 6 5 3 10 1
Heuristique distribuée 9 4 7 8 2 6 5 3 10 1
Heuristique distribuée 9 4 7 8 2 6 5 3 10 1
Heuristique distribuée 9 4 7 8 2 6 5 3 10 1
Preuve • Arêtes enlevées par une de leur extrémité : e1 < … < ek. • Le graphe privé de {e1, … , ek} reste connexe. • Quand x décide d’enlever ei, il reste un cycle dans son graphe à deux sauts qui ne contient que des arêtes >= ei.
Gain ? • Crawls plus complets. • Modèles de réseaux pair-à-pair.
Éthique • Empêcher le partage de fichiers interdits. • Empêcher certaines requêtes.