Algorithme distribu´
e de routage compact en
temps optimal
Cyril Gavoille1, Christian Glacet2, Nicolas Hanusse3et David Ilcinkas3
1LaBRI - Universit´
e de Bordeaux ; 2LaBRI & INRIA Bordeaux Sud-Ouest ; 3LaBRI - CNRS
Nous pr´
esentons un algorithme distribu´
e construisant des tables de routage de taille sous-lin´
eaire en n, le nombre de
nœuds du r´
eseau. Le temps de convergence est proportionnel au diam`
etre, ce qui est optimal. Par rapport `
a BGP, la
complexit´
e du nombre de messages ´
echang´
es est am´
elior´
ee jusqu’`
a un facteur n, alors que la longueur des routes
induites par les tables est allong´
ee d’un facteur garanti constant. Notre algorithme est conc¸u pour un environnement
statique synchrone ou asynchrone et produit un sch´
ema name-independent.
Keywords: Routage compact, algorithme distribu´
e asynchrone
1 Contexte et motivations
Bon nombre de protocoles de routage sont bas´
es sur le calcul distribu´
e de plus courts chemins. Par
exemple, le protocole BGP, charg´
e de v´
ehiculer des messages entre les syst`
emes autonomes d’Internet (AS)
consiste en une impl´
ementation distribu´
ee de l’algorithme de Bellman-Ford. Une impl´
ementation distribu´
ee
possible calcule pour tout sommet source, le prochain voisin `
a atteindre (next-hop) et sa distance `
a sa des-
tination (protocole de type distance-vector). Le protocole BGP quant `
a lui, construit des tables de routage
contenant, pour chaque destination, un plus court chemin vers le sommet destination (protocole de type
path-vector). Encoder un chemin dans les tables induit des entr´
ees de plus grande taille mais permet d’assu-
rer une meilleure stabilit´
e (d´
etection locale de boucles) et convergence (probl`
eme du count-to-infinity) si le
r´
eseau est dynamique. Une des caract´
eristiques importante de BGP est que le routage `
a proprement dit se fait
en fonction du nom original de la destination (on parle alors de sch´
ema ou de routage name-independent).
Aussi il converge en temps optimal O(D)o`
uDest le diam`
etre (nombre de hops)dur
´
eseau. Ce point est
crucial pour la qualit´
e de service car les p´
eriodes d’instabilit´
es entrainent de nombreux ´
echecs de routage, il
est imp´
eratif de r´
eduire autant que possible la dur´
ee de celles-ci.
Viser des plus courts chemins est cependant coˆ
uteux `
a plusieurs ´
egards. Gavoille et P´
erenn`
es [GP96] ont
montr´
e que cela n´
ecessite un espace m´
emoire d’au moins (n)bits simultan´
ement pour (n)nœuds du
r´
eseau. Le nombre de messages ´
echang´
es pour la construction et la maintenance des tables est n´
ecessairement
important dans le pire des cas ((n2)). On peut prouver que la complexit´
e en nombre de messages de BGP
est Θ(mn2)o`
umest le nombre de liens. Notons toutefois que BGP se r´
ev`
ele plus ´
econome lors d’un scenario
synchrone, puisque seulement Θ(mn)messages sont alors n´
ecessaires (voir la table 1). Proposer des solu-
tions qui se r´
ev`
elent ´
economiques aussi bien dans les sc´
enarios synchrones qu’asynchrones est un enjeux
important puisque dans un r´
eseau r´
eel, on peut facilement alterner entre p´
eriodes faiblement et fortement
asynchrones.
Support´
e par le projet europ´
een EULER – STREP 7 et le projet ANR DISPLEXITY.
‡. Et ce, mˆ
eme pour un r´
eseau de degr´
e born´
e et de diam`
etre O(logn),m
ˆ
eme si le sch´
ema n’est pas name-independent.
-p. 117-
117
Cyril Gavoille, Christian Glacet, Nicolas Hanusse et David Ilcinkas
Une premi`
ere piste en direction de l’´
economie est celle du routage compact o`
u l’objectif est de r´
eduire
l’information n´
ecessaire au routage (i.e., la taille des tables de routage), et de r´
eduire d’autant le nombre
de messages n´
ecessaire `
a son calcul. Dans [AGM+08], les auteurs montrent qu’il est possible de concevoir
des tables de routage name-independent de taille §navec un ´
etirement garanti 3 pour tout graphe.
Autoriser des d´
etours maˆ
ıtris´
es permet donc de r´
eduire la taille des tables de routage. D’autres algorithmes
de routage compact name-independent tels que [TZLL12], d´
edi´
es aux graphes de type power-law (le graphe
des AS a cette propri´
et´
e), permettent d’obtenir de meilleurs ´
etirements en pratique. Cependant, les solutions
de [AGM+08] et [TZLL12] ne proposent pas de m´
ecanisme de construction distribu´
ee des tables de routage.
Dans [SGF+10], il est pr´
esent´
e un algorithme distribu´
e permettant aussi de calculer des tables de taille
sous-lin´
eaire. L´
etirement est 7, mais l’algorithme propos´
e n’est pas silencieux (des messages continuent
de circuler apr`
es qu’il ait converg´
e). De plus, contrairement au notre, il ne garantit pas qu’`
a tout moment
de la construction la m´
emoire n´
ecessaire au calcul des tables reste sous-lin´
eaire. Enfin, la pr´
esentation non
d´
etaill´
ee de cet algorithme ne permet pas d’analyser les complexit´
es en nombre de messages et temps de
convergence.
Notre contribution. Nous proposons ici un algorithme distribu´
ee asynchrone de construction de tables de
routage compact. L´
etirement est 7 et la taille des tables g´
en´
er´
ees ainsi que l’espace m´
emoire des nœuds
tout au long de l’algorithme est en O(n). L’algorithme est silencieux et termine en temps optimal O(D).
Le sch´
ema de routage est name-independent. Les complexit´
es en nombre de messages sont d´
etaill´
ees dans
la table 1. Le d´
etail des complexit´
es pour le nombre d’entr´
ees ´
echang´
ees en synchrone (Ms) et en asyn-
chrone (Ma) se trouvent dans chacune des sous-sections de la section 3. On remarquera que ces complexit´
es
am´
eliorent celles de BGP asymptotiquement d’un facteur ndans les graphes petit monde, que cela soit dans
le cas synchrone ou asynchrone. Elles am´
eliorent ´
egalement celles de l’algorithme pr´
esent´
e dans [GL12]
(bien que pr´
esent´
e synchrone et de complexit´
eO(mn), cet algorithme peut ˆ
etre α-synchronis´
e [Pel87] en
gardant une complexit´
e de O(mn)messages). Il est important de noter que notre algorithme fonctionne dans
un graphe valu´
e, mais les analyses de complexit´
es sont propos´
ees pour des graphes non valu´
es.
Algorithme M´
emoire Nombre d’entr´
ees ´
echang´
ees Taille des entr´
ees (bits) Etirement
(!entr´
ees) Synchrone Async. Synchrone Async.
Path-vector Θ(n)Θ(mn)Θ(mn2)O(Dlog n)O(nlogn)1
ce papier O(nlogn)O(mn+n3/2min{D,nlogn})O(mn3/2)O(Dlog n)#7
TABLE 1: Comparaison de BGP et de notre algorithme distribu´
e avec k=n.
2 Description de l’algorithme de routage
Notations. Tout sommet ua une couleur c(u)[1,k]choisie de mani`
ere al´
eatoire uniforme. Tout sommet de
couleur 1 est appel´
eun landmark. L’ensemble des landmarks est not´
eL. De plus tout sommet poss`
ede une
fonction de hachage ´
equilibr´
ee hassociant `
a tout sommet uune couleur h(u)[1,k]. Pour chaque sommet
u, on note Buun ensemble de nœuds proches de utel que Buest compl`
ete (contenant un sommet de chaque
couleur) et lule plus proche landmark de u.
Routage et tables de routage. Pour une requˆ
ete de routage de uvers v, plusieurs cas sont possibles :
vBuustocke dans sa table Bula distance et le next-hop w vers v. Le sommet uroute vers w.
vLustocke dans sa table Lu, pour tout landmark l, son p`
ere pereu[l]dans un arbre de plus court
chemin enracin´
e en l. Le sommet uroute vers pereu[l].
§. `
Aunfacteurpolylogarithmiquepr
`
es.
¶. Ratio entre la longueur de la route utilis´
ee et la distance.
#. En modifiant l´
eg`
erement l’algorithme pr´
esent´
e en sous-section 3.2, il est possible de r´
eduire la taille des messages ´
echang´
es
(r´
eduire la taille des entr´
ees). L’algorithme serait une version distribu´
ee de [FG01], les entr´
ees auraient une taille de O(log2n).
-p. 118-
118
Algorithme distribu´
e de routage compact en temps optimal
v/BuLet vest tel que h(v)=c(u)ustocke dans sa table couleur Cuun chemin allant de lv`
av.
Pour router vers v, le sommet uenverra ce chemin `
alvqui l’utilisera pour router vers v.
Pour router vers un autre sommet v, le sommet uenvoie la requˆ
ete `
awButel que c(w)=h(v)(voir figure
1(a)). Pour le routage vers les nœuds de Buil est n´
ecessaire que la boule Busoit monotone : si uconnait le
next-hop w pour une destination vBu, alors vdoit ˆ
etre dans Bw.
3R
´
esum´
e de l’algorithme distribu
´
e
L’objectif de cet algorithme est de construire uVles tables Bu,Luet Cun´
ecessaires au routage. Il se
d´
ecoupe en cinq parties : (1) Construction de la boule de voisinage Bu. (2) Construction lLde l’arbre
de landmark Tlet ´
election d’un landmark lmin L. (3) D´
etection de la terminaison des arbres de landmark
en utilisant Tlmin. (4) Construction pour toute couleur c[1,k]d’un arbre logique
!
Tcentre les nœuds de
couleur c. (5) Diffusion d’informations de routage dans
!
Tc. Les algorithmes (2),(3),(4) et (5) sont effectu´
ees
en s´
erie, l’algorithme (1) tourne en parall`
ele. D`
es que ces cinq algorithmes ont converg´
e, les tables de routage
calcul´
ees garantissent un ´
etirement d’au plus 7 avec une m´
emoire O(nlogn)pour k=n[GL12].
w
u
lv
v
Bu
Bv
(a) Routage de u`
avvia wtel que c(w)=h(v)
a
c
b
l
trouver les ant´
ec´
edents choix des arcs arbre logique
!
T
lmin
(b) Construction de
!
T(avec la=lmin et lb=lc=l)
FIGURE 1:
3.1 Cr´
eation des boules de voisinage. L’algorithme utilis´
e est une adaptation du protocole distance-vector
`
a la diff´
erence qu’un sommet une garde en m´
emoire sa distance `
avque s’il ne peut pas enlever vde sa
boule Busans alt´
erer les propri´
et´
es n´
ecessaires au routage (la boule doit rester monotone et compl`
ete). Les
sommets sont supprim´
es par ordre inverse d’ajouts en cas d’´
egalit´
es.
Complexit´
es. En synchrone, tout sommet uchange au pire |Bu|fois d’´
etat.Un sommet est ajout´
ed
´
efinitivement
`
aBu(la premi`
ere distance apprise est la distance dans G). En asynchrone, uconnait `
a tout instant |Bu|nœuds.
D`
es que uchange d’´
etat il r´
eduit sa distance `
a un sommet de Bu. Le sommet uchangera O(|Bu|2)fois d’´
etat,
entrainant degre(u)envois de messages. La taille d’une boule de voisinage est, avec grande probabilit´
e
O(klogk). Donc Ms(BOULES)=O(mk log k)et Ma(BOULES)=O(m(klogk)2).
3.2 Construction des arbres de landmark et ´
election de lmin.Tout landmark linitie la construction d’un
arbre de plus court chemin (BFS distribu´
e), tout sommet stockera son p`
ere dans Tlainsi que sa distance ac-
tuelle `
al. On ajoute `
acetalgorithmeuned
´
etection de terminaison utilisant un m´
ecanisme de synchronisation
locale (avec ses voisins) qui ne g´
en`
ere aucun surcout significatif. De cette fac¸on lorsque lest synchronis´
e
avec tous ses voisins il est sˆ
ur que l’arbre Tlest un arbre de plus court chemin couvrant G.
En ajoutant aux messages de synchronisation l’identifiant du plus petit landmark du sous-arbre courant,
tous les landmark une fois leurs arbres termin´
es connaitrons le landmark d’identifiant minimum lmin.D
`
es
que lmin apprend qu’il est le plus petit landmark il diffuse son identifiant dans G.
Complexit´
es. La complexit´
e est celle de n/kBFS soit Ms(LMIN)=O(mn/k)et Ma(LMIN)=O(mn2/k)
3.3 D´
etection de la terminaison de tous les arbres de landmark par lmin.`
A la mani`
ere de l’´
etape
pr´
ec´
edente, on va utiliser la diffusion de terminaison (diffusion de lmin dans Tlmin) combin´
ee avec des
-p. 119-
119
Cyril Gavoille, Christian Glacet, Nicolas Hanusse et David Ilcinkas
synchronisations pour que lmin apprenne la liste de tous les landmarks L. Lorsqu’un sommet se synchronise
avec un voisin il lui envoie la liste des landmarks pr´
esents dans son sous-arbre. Quand lmin s’est synchronis´
e
avec ses voisins pour la terminaison de l’arbre Tlmin il connait la liste Lde tous les landmarks. Parall`
element,
d`
es qu’un landmark apprend la terminaison de son arbre (sous-section 3.2), il pr´
evient lmin. Ainsi lmin est
capable de d´
etecter la terminaison de tous les arbres de landmarks et diffuser cette information.
Complexit´
es. Le sommet lmin diffuse son identifiant dans Tlmin et chaque landmark fait remonter son iden-
tifiant dans Tlmin on a donc Ms(TERMINAISON)=Ma(TERMINAISON)=O(m+n2/k)
3.4 Construction des arbres logiques. Pour toute couleur c[1,k]on construit un arbre logique
!
Tcdont
les arˆ
etes sont bi-dirig´
ees (voir figure 1(b)). Un arc (u,v)dans
!
Tcest un chemin de routage vers vvia le
landmark lv. Pour permettre la construction de
!
Tc, le sommet lmin doit stocker l’identifiant d’un sommet
racinecainsi que l’arc (lmin,racinec). Cette construction est initi´
ee par tout sommet utel que c(u)=cd`
es
qu’il apprend la terminaison de construction des arbres de landmark. Le sommet uenvoie `
a son p`
ere dans
Tlmin un message mu=(arc(lu,u)). Pour tout message mu=(arc(lu,u)) rec¸u par un nœud v:
(1) si v=lmin si racinec=/
0, alors racinec=uet arcc=arc(lu,u)
sinon lmin envoie les message mracinec`
aupar arc(lu,u)et mu`
aracinecpar arcc.
(2) sinon si c(v)(=c(u)le nœud venvoie mu`
a son p`
ere dans Tlmin.
si c(v)=c(u)le nœud vajoute l’arc (v,u).
Complexit´
es. Avec grande probabilit´
e un nœud uest `
a distance klogkde lmin ou de son premier ant´
ec´
edent
de couleur c(u)dant Tlmin. De plus, tous les arbres sont des arbres de plus court chemin dont le diam`
etre est
2D. La longueur maximale d’un arc (u,v)est au plus 7 fois la distance entre uet vdans Tlmin. La longueur
maximale d’un arc (u,v)est alors, avec grande probabilit´
e, O(min(2D,klogk)). Pour tout arc (u,v)ajout´
e`
a
un arbre logique
!
Tc(u), les nœuds uet vs’´
echangent un message via celui-ci. Le nombre total d’arcs cr´
ees est
de n. On a donc Ms(GRAPHELOGIQUE)=Ma(GRAPHELOGIQUE)=O(nmin(D,klogk)).
3.5 Diffusion des informations de routage via Landmark. Tout nœud vdoit diffuser son landmark lvainsi
que le chemin de lvvers v`
a tous les nœuds {uV|c(u)=h(v)}.D
`
es que vapprend la terminaison des arbres
de landmarks il envoie (lv,arc(lv,v)) au plus proche nœud utel que c(u)=h(v). Le nœud use chargera de
diffuser cette information de routage dans
!
Tc(u). Enfin, lorsqu’un nœud uajoute un arc (u,w)dans
!
Tc(u)il
envoie sa table Cu`
awpar l’arc (u,w).
Complexit´
es. Chacun des graphes logiques contient O(n/k)arcs de longueur min(2D,klog k). Une entr´
ee de
routage pour un nœud vpeut ˆ
etre propag´
ee au plus une fois sur chaque arc de
!
Th(v). On a donc Ms(DIFFUSIONS)=
Ma(DIFFUSIONS)=O(n2/kmin(D,klogk)).
R´
EF ´
ERENCES
[AGM+08] I. Abraham, C. Gavoille, D. Malkhi, N. Nisan, and M. Thorup. Compact name-independent routing with minimum stretch.
ACM Transactions on Algorithms (TALG), 4(3) :37, 2008.
[FG01] P. Fraigniaud and C. Gavoille. Routing in trees. Automata, Languages and Programming, pages 757–772, 2001.
[GL12] C. Glacet and V. Lucas. Vers un routage compact distribu´
e. Algotel, 2012.
[GP96] C. Gavoille and S. P´
erenn`
es. Memory requirement for routing in distributed networks. In Proceedings of the fifteenth
annual ACM symposium on Principles of distributed computing, pages 125–133. ACM, 1996.
[Pel87] D. Peleg. Distributed computing : a locality-sensitive approach, volume 5. Society for Industrial Mathematics, 1987.
[SGF+10] A. Singla, P. Godfrey, K. Fall, G. Iannaccone, and S. Ratnasamy. Scalable routing on flat names. In Proceedings of the
6th International Conference, page 20. ACM, 2010.
[TZLL12] M. Tang, G. Zhang, T. Lin, and J. Liu. Hdlbr : a name-independent compact routing scheme for power-law networks.
Computer Communications, 2012.
-p. 120-
120
1 / 4 100%