I NSTITUT DE LA
F RANCOPHONIE POUR
U NIVERSIT E´ C LAUDE
L’I NFORMATIQUE ,
B ERNARD DE LYON I,
F RANCE
V IETNAM
INRIA
S OPHIA A NTIPOLIS
M E´ DITERRAN E´ E ,
F RANCE
M E´ MOIRE DE FIN D ’ E´ TUDES
I NTERNET M ONITORING VIA ACTIVE PROBES ON
P LANETLAB
R´ealis´e par: Ngo Cao Cuong
Superviseurs:
Dr. Chadi B ARAKAT
M. Mohamad J ABER
l’´equipe Plan`ete
INRIA Sophia Antipolis M´editerran´ee
France
P R E´ SENT E´ POUR OBTENIR LE GRADE DE
M ASTER I NFORMATIQUE
S P E´ CIALIT E´ S YST E` MES ET R E´ SEAUX
Hanoi
Septembre, 2009
Remerciements
Je voudrais particuli`erement remercier Dr. Chadi BARAKAT, mon responsable de stage,
pour l’encadrement, l’aide, les id´ees qu’il m’a donn´e pendant toute la dur´ee du stage.
Je tiens e´ galement a` remercier Mohamad JABER pour ses aides, ses commentaires et ses
discussions qui ont fait progresser mon travail.
Je voudrais remercier tous les membres de l’´equipe Plan`ete a` l’INRIA Sophia Antipolis
pour leur accueil chaleureux.
J’adresse mes sinc`eres remerciements a` tous les professeurs de l’IFI pour m’avoir enseign´e et m’inspirer pendant mes e´ tudes au master.
I
R´esum´e
Les syst`emes Internet a` base de coordonn´ees permettent un positionnement pratique des
nœuds dans le r´eseau. Dans ce type de syst`emes, l’id´ee principale est que si les distances
r´eseau entre diff´erents nœuds Internet peuvent eˆ tre plong´ees dans un espace appropri´e,
alors les distances non mesur´ees peuvent eˆ tre estim´ees en utilisant une simple op´eration
de calcul de distance g´eom´etrique dans cet espace. R´ecemment, on a pu prouver que ces
syst`emes a` base de coordonn´ees e´ taient pr´ecis, avec une faible erreur de pr´ediction. Cependant, des travaux ont prouv´e que ces coordonn´ees d´erivent et ne sont pas stables. Dans ce
travail, nous avons identifi´e cette oscillation et essay´e de caract´eriser des coordonn´ees par
Vivaldi, un syst`eme de positionnement d´ecentralis´e. Nous avons montr´e en premier lieu
que la dynamique d’un nœud, dans un syst`eme de coordonn´ees, peut eˆ tre mod´elis´ee par
un mod`ele de regroupement. Nous essayons des algorithmes de regroupement pour caract´eriser les nœuds par leur changement de distance. Par des exp´eriences sur Planetlab, un
r´eseau d’ordinateurs utilis´e pour la recherche orient´ee r´eseaux, cette m´ethode nous permet
d’observer quels nœuds qui se d´eplacent ensemble. Puis, nous utilisons ce mod`ele pour traquer les probl`emes sur le r´eseau. Par des simulations avec la topologie extraite du projet
Iplane, nous avons exp´eriment´e plusieurs sc´enarios des anomalies, qui sont d´efinies comme
des augmentations inattendues de d´elais. La contribution majeure est donc un mod`ele de
regroupement pour la d´etection des anomalies sur le r´eseau a` base des coordonn´ees.
II
Abstract
Internet coordinate-based systems allow easy network positioning. In such systems, the
basic idea is that if network distances between Internet nodes can be embedded in an appropriate space, unmeasured distances can be estimated using a simple distance computation
in that space. Recently, these coordinates-based systems have been shown to be accurate,
with low distance prediction error. However, recent works proved that these coordinates
and its centroid drift away from their origin as long as the system runs. In this work, we
first identify such drift and then we try to characterize them on the recently proposed distributed positioning systems, namely Vivaldi. We first show that the dynamic of a node, in
a coordinate system, can be modeled by a method of hierarchical clustering. We try several
different algorithms of clustering to characterize nodes by their drift. Through experiments
conducted over PlanetLab, a network for distributed system research, this model allow us
to observe clusters of nodes who move together. Then we show, that the obtained model
can be used to track problems on the large network. Through simulations with real network topologies driven from the Iplane project, we experimented with different scenarios
of anomalies, carried out by anomalous nodes that provide biased coordinates information
and delay measurement probes. The major contribution is therefore a model for network
problem detection during coordinates embedding.
III
Table de mati`eres
Remerciements
I
R´esum´e
II
Abstract
III
Liste de figures
1
2
Introduction
1
1.1
Motivations, probl´ematiques et contributions . . . . . . . . . . . . . . . . . . .
1
1.2
La structure du m´emoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3
Le contexte du stage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
Une vue d’ensemble des syst`emes de positionnement Internet
4
2.1
Services d’estimation de proximit´e par mesures directes . . . . . . . . . . . . .
4
2.1.1
Les approches g´eographiques . . . . . . . . . . . . . . . . . . . . . . . .
4
2.1.2
IDMaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.3
Les approches bas´ees sur Traceroute . . . . . . . . . . . . . . . . . . . .
5
2.1.4
L’approche M´eridien . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
2.1.5
Des d´esavantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Syst`emes de coordonn´ees a` base de Balises Fixes . . . . . . . . . . . . . . . . .
8
2.2.1
GNP: R´eseau de positionnement global . . . . . . . . . . . . . . . . . .
8
2.2.2
Lighthouse
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
2.2.3
Le syst`eme NPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
Les syst`emes de coordonn´ees d´ecentralis´es . . . . . . . . . . . . . . . . . . . .
10
2.3.1
PIC Practical Internet Coordinate . . . . . . . . . . . . . . . . . . . . . .
11
2.3.2
Vivaldi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
2.2
2.3
2.4
3
VII
Vue sur les coordonn´ees par l’exp´erimentation
13
3.1
Introduction de Planetlab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.2
Pyxida, une impl´ementation de Vivaldi . . . . . . . . . . . . . . . . . . . . . .
13
3.3
R´esultats des coordonn´ees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
IV
3.4
4
Temps de convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.3.2
L’erreur relative . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.3.3
L’oscillation des coordonn´ees . . . . . . . . . . . . . . . . . . . . . . . .
15
3.3.4
Centre des nœuds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
Mod´elisation des coordonn´ees par le regroupement
18
4.1
DBSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18
4.1.1
Analyse de DBSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.1.2
M´etrique de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4.1.3
Discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
Regroupement hi´erarchique . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
4.2.1
D´efinitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.2.2
L’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
4.2.3
Complexit´e de l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . .
24
4.2.4
Discussion sur les param`etres . . . . . . . . . . . . . . . . . . . . . . . .
24
4.2.5
R´esultats et analyses . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
Conclusion de regroupement . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
4.2
4.3
5
3.3.1
D´etection des anomalies par des coordonn´ees
30
5.1
G´en´eration des anomalies par la simulation . . . . . . . . . . . . . . . . . . . .
30
5.1.1
La topologie de la simulation . . . . . . . . . . . . . . . . . . . . . . . .
30
5.1.2
G´en´eration des anomalies . . . . . . . . . . . . . . . . . . . . . . . . . .
31
5.1.3
Description de la simulation utilis´ee . . . . . . . . . . . . . . . . . . . .
32
5.2
Proc´edures de la d´etection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
5.3
Des sc´enarios des anomalies . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
5.3.1
Le cas normal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
5.3.2
Anomalie sur un seul nœud . . . . . . . . . . . . . . . . . . . . . . . . .
34
5.3.3
Deux anomalies sur deux nœuds . . . . . . . . . . . . . . . . . . . . . .
34
5.3.4
Anomalies sur deux nœuds qui ont le mˆeme pr´efixe d’IP . . . . . . . .
35
5.3.5
Vue g´en´erale sur plusieurs anomalies . . . . . . . . . . . . . . . . . . .
36
Conclusion sur la d´etection des anomalies . . . . . . . . . . . . . . . . . . . . .
37
5.4
V
6
Conclusions et Perspectives
38
Annexes
39
R´ef´erences
40
VI
Liste de figures
1
Un mod`ele d’espace g´eom´etrique de l’Internet (source [12]) . . . . . . . . . . .
7
2
Positionnement via l’espace Euclidien 2-D (source [12]) . . . . . . . . . . . . .
9
3
Architecture de positionnement hi´erachique de NPS
. . . . . . . . . . . . . .
10
4
Les coordsonn´ees sont converg´ees apr`es 2500 secondes . . . . . . . . . . . . .
15
5
L’erreur relative du syst`eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
6
Les coordsonn´ees des nœuds apr`es 850000 secondes de l’exp´erimentation . .
16
7
Les coordonn´ees du centre de tous les nœuds . . . . . . . . . . . . . . . . . . .
17
8
Distance du nœud ent1.cs.nccu.edu.tw vers le centre . . . . . . . . . . . . . . .
17
9
Distance du nœud lsirextpc01.epfl.ch vers le centre avec une grande variation
18
10
Nombre de groupes avec la m´etrique g´eographique . . . . . . . . . . . . . . .
21
11
Nombre de groupes avec la m´etrique de changement sur Planetlab . . . . . .
22
12
Nombre de groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
13
Distance euclidienne aux quatre groupes les plus grands . . . . . . . . . . . .
26
14
Distribution des nœuds dans les groupes les plus grands . . . . . . . . . . . .
27
15
Nombre des noueds dans le plus grand groupe . . . . . . . . . . . . . . . . . .
28
16
Mouvements des nœuds, les nombres sur la ligne rouge signifient le niveau
de confiance C du syst`eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
17
Le cas normal, les nœuds restent dans le noyau (ID 0) . . . . . . . . . . . . . .
33
18
Cas normal, la distance vers le plus grand groupe reste stable . . . . . . . . .
34
19
Le changement de groupe dans le cas d’anomalie . . . . . . . . . . . . . . . .
35
20
Le changement de la distance vers le plus grand groupe en cas d’anomalie . .
35
21
Le changement de groupes de deux anomalies . . . . . . . . . . . . . . . . . .
35
22
La distance au plus grand groupe de deux anomalies . . . . . . . . . . . . . .
36
23
Deux anomalies dans la mˆeme zone g´eographique sont dans la mˆeme groupe
36
24
Relation entre la dur´ee d’anomalie et le nombre d’anomalies trouv´e . . . . . .
37
25
Les informations d´etaill´ees sont affich´ees sur chaque nœud
. . . . . . . . . .
39
26
Le serveur de stockage contient des coordonn´ees des nœuds sur Planetlab . .
39
VII
1
Introduction
Ces derni`eres ann´ees ont vu la croissance rapide d’applications Internet bas´ees et b´en´eficiant
des r´eseaux de recouverement (overlay) tenant compte de la topologie Internet. En particulier, la plupart des ces applications et leur r´eseaux de recouvrement, se basent sur la notion
de proximit´e r´eseau, d´efinie en termes de d´elais Aller-retour (RTT), pour l’optimisation de la
s´election des voisins. Cependant, les mesures de proximit´e, peuvent s’av´erer extrˆemement
ˆ
couteuses
en termes de consommation en bande passante. En effet, l’existence de plusieurs
ˆ de communications e´ lev´e, duˆ aux mesures de
r´eseaux de couvertures, peut cr´eer un surcout
proximit´e individuelles men´ees par chaque nœud du r´eseau de couverture. De plus, traquer
la proximit´e au sein d’un groupe dynamique, n´ecessite une fr´equence de mesure tr`es grande.
ˆ de mesures.
Cela induit encore plus de surcouts
Afin de pallier ce probl`eme, les syst`emes de positionnement Internet, comme [4] [5] [6]
[7] [8] [9], ont e´ t´e introduits. Dans ces syst`emes, l’id´ee principale, est que si chaque nœud
peut eˆ tre associ´e a` une coordonn´ee virtuelle dans un espace appropri´e, la distance entre les
nœuds est trivialement calcul´ee sans pour autant avoir recours aux mesures directes. En
d’autres termes, ces syst`emes plongent les mesures des temps de latences entre une population de nœuds dans un espace g´eom´etrique et associent un vecteur de coordonn´ees dans cet
espace a` chaque nœud, dans le but de permettre des pr´edictions de distance pr´ecise et peu
on´ereuses parmi n’importe quelle paire de nœud dans le r´eseau. L’avantage premier de ces
syst`emes, est que si les distances r´eseaux sont plong´ees dans un espace de coordonn´ees, ou`
ˆ de mesures
une position raisonnablement pr´ecise pour chaque nœud est e´ tablie, le surcout
produit par le positionnement, est ainsi amorti sur plusieurs pr´edictions de distance. Ceci
ˆ en termes de mesures de distances du syst`eme entier.
r´eduit e´ norm´ement le cout
1.1
Motivations, probl´ematiques et contributions
Du fait de l’utilisation de plus en plus r´epandue des r´eseaux se basant sur les syst`emes a`
base de coordonn´ees, on peut ais´ement imaginer une surveillance des r´eseaux dont le but
est de trouver rapidement les anomalies dans ces syst`emes. En particulier, il est int´eressant
de noter qu’un syst`eme fournissant un service a` large e´ chelle, serait aussi une avantage pour
l’impl´ementation des proc´edures de d´etection et r´esolution des anomalies.
Dans les syst`emes a` base de coordonn´ees, le fait que les coordonn´ees oscillent a e´ t´e in-
1
troduit dans [20][21]. D`es qu’il y a une dur´ee assez long d’exp´erimentation, les coordonn´ees
changent, causent des difficult´es pour capturer des anomalies. Dans le travail de Wang[21],
l’auteur a pr´esent´e un algorithme qui permet d’´eliminer cette oscillation. Il utilise une
m´ethode pour d´etecter le moment de stabilisation du syst`eme et arrˆeter des mises a` jour
de coordonn´ees a` partir de ce moment. Par contre, si le syst`eme s’arrˆete de mettre a` jour,
nous ne pouvons plus d´etecter des changements anormaux grˆace aux coordonn´ees. Cette
m´ethode est donc irr´ealisable dans un syst`eme qui permet de la d´etection des anomalies.
Ma premi`ere contribution a e´ t´e donc d’´etudier cette oscillion dans les syst`emes a` base de
coordonn´ees sur le r´eseau de Planetlab et sur la simulation. La simulation est e´ tablie sur une
topologie r´eelle qui est extraite a` partir des donn´ees du projet Iplane [14].
Le travail de Kaafar [12] a introduit une m´ethode de d´etection des nœuds malicieux
dans le syst`eme a` base de coordonn´ees. Il applique le filtre de Kalman [22] sur l’erreur
relative des coordonn´ees pour trouver des anomalies. Par contre, cette m´ethode, qui permet d’une d´etection sur chaque nœud, ne peut pas donnner une caract´erisation globale du
syst`eme. Dans le but de donner une vue rapide sur les anomalies, nous proposons un mod`ele
de regroupement des nœuds se basant sur leur changements des coordonn´ees. Nous essayons quelques algorithmes de regroupement comme DBSCAN [17] ou le regroupement
hi´erarchique [19] qui nous permettent d’observer les nœuds comme des groupes qui se
d´eplacent aux plusieurs directions. Les m´etriques du mod`ele, comme le noyau du syst`eme,
la distance vers le centre de noyau ou les petits groupes, sont utilis´ees pour d´etecter des
anomalies. Ma contribution majeure a e´ t´e donc de proposer une m´ethode de caract´eriser des
coordonn´ees et un protocole de d´etection des anomalies se basant sur cette m´ethode.
1.2
La structure du m´emoire
Nous commenc¸ons ce m´emoire en faisant, dans la section 2, un tour des syst`emes de positionnement de l’Internet existants. Dans cette partie, nous pr´esentons des services d’estimation
de proximit´e par mesures directes comme l’approche g´eographique, les m´ethodes IDMaps,
Traceroute, M´eridien. Nous nous concentrons par la suite sur les syst`emes a` base de coordonn´ees, que nous classifions en deux classes principales: Les syst`emes bas´es sur les balises
comme GNP, NPS, et les syst`emes distribu´es tels que PIC, Vivaldi.
Dans la section 3, nous pr´esentons une vue g´en´erale sur les coordonn´ees. Tout d’abord,
nous pr´esentons Planetlab, un r´eseau d’ordinateurs utilis´e pour la recherche orient´ee r´eseaux
2
et Pyxida, une impl´ementation d’un syst`eme a` base de coordonn´ees distribu´e. En utilisant Pyxida, nous montrons l’oscillation des coordonn´ees par des exp´eriences sur Planetlab.
Nous d´ecouvrons e´ galement des m´etriques primaires de syst`emes de coordonn´ees incluant:
l’erreur relative, le temps de convergence ainsi que le centre du syst`eme.
Dans la section 4, nous pr´esentons une mod´elisation de syst`eme a` base de coordonn´ees
par le regroupement. Le premier algorithme utilis´e est DBSCAN avec ses avantages et
d´esavantages trouv´es. Nous nous concentrons par la suite sur l’algorithme de regroupement hi´erarchique qui sera utilis´e pour caract´eriser le syst`eme. Nous discutons le choix de
param`etres, un probl`eme pour toutes les m´ethodes de regroupements. Les m´etriques du
mod`ele sont pr´esent´ees tel que les distributions de groupes, les distances vers les groupes, le
plus grand groupe,...
La section 5 est r´eserv´ee a` pr´esenter les sc´enarios de anomalies ainsi que les proc´edures
pour les d´etecter. La construction de simulation pour cr´eer des anomalies est pr´esent´ee
e´ galement dans cette partie.
Dans la partie conclusions et perspectives, nous r´esumons les r´esultats obtenus et les
directions a` e´ tendre le travail dans ce m´emoire.
Enfin, nous pr´esentons en annexe le site web de surveiller de coordonn´ees sur Planetlab.
1.3
Le contexte du stage
Ce m´emoire de fin d’´etudes a e´ t´e r´ealis´e au sein de l’´equipe de r´eseau Plan`ete a` l’INRIA
ˆ 2009. Le travail au
Sophia Antipolis M´editerran´ee, Valbonne, France de Mars en Aout,
cours de ce stage s’inscrit dans le projet ANR CMON, avec les participants Plan`ete INRIA, Grenouille, Thomson, LIP6 et ENS ( />CMON).
3
2
Une vue d’ensemble des syst`emes de positionnement Internet
Dans cette partie, nous pr´esentons une vue d’ensemble des diff´erentes propositions dans le
domaine des syst`emes de positionnement Internet. Nous commenc¸ons par d´ecrire quelques
travaux destin´es a` fournir une estimation de la localisation et de la proximit´e dans le r´eseau.
Ces syst`emes ne reposent pas cependant sur les coordonn´ees virtuelles. Nous les appellerons
”Services d’estimation de proximit´e par mesures directes”. Nous nous concentrons par la
suite sur les syst`emes a` base de coordonn´ees, que nous classifions en deux classes principales: Les syst`emes bas´es sur les balises (landmakrs), et les syst`emes distribu´es.
2.1
Services d’estimation de proximit´e par mesures directes
Plusieurs approches dans la litt´erature fournissent des estimations de distances ou de proximit´e r´eseau en utilisant des mesures directes entre les paires de nœuds. Dans cette section, nous pr´esentons quelques uns de ces syst`emes les plus connus. Nous nous int´eressons
en premier lieu aux approches de g´eolocalisation, qui s’inscrivent dans une tentative de
ˆ que leurs positions Infournir la localisation g´eographique des nœuds du r´eseau, plutot
ternet. Nous d´ecrivons en outre l’approche ”Constraint-Based Geolocation” et le syst`eme
IP2Geo. Puis, nous exposons les approches a` base de ”traceroute” et l’approche M´eridien, et
nous pr´esentons sur les d´esavantages de ces approches directes.
2.1.1
Les approches g´eographiques
Plusieurs approches sont propos´ees pour fournir la localisation g´eographique des nœuds. Il
y a deux approches principales:
• Constraint-Based Geolocation (CBG), l’approche estime la position g´eographique d’un
nœud en utilisant la distance g´eographique aux plusieurs Balises (landmarks). Avec la
supposition que l’information travers le cˆable optique par la vitesse de 2/3 la vitesse
de la lumi`ere, la distance g´eographique est calcul´ee a` partir du d´elai correspondant.
• IP2Geo, le syst`eme estime la location physique du serveur lointain en utilisant l’information
dans le service DNS Names, les requˆetes whois, pings a` partir des locations fixes, et
l’information de BGP.
4
2.1.2
IDMaps
IDMaps est un syst`eme complet qui est pour but de pr´evoir la distance Internet. Il est un
service avec une infrastructure se compose des serveurs sp´eciaux HOPS qui maintient la
ˆ
topologie virtuelle d’Internet. Cette topologie consiste des terminaux et des hotes
sp´eciaux
ˆ
qui s’appellent Tracers. Ces hotes
sont utilis´es pour pr´evoir la distance Internet. Par exemple,
ˆ
la distance entre deux hotes
x et y est estim´ee comme la distance entre x et son Tracer le plus
proche T 1, plus la distance entre y et son Tracer le plus proche T 2, plus le chemin le plus
court entre T 1 et T 2 sur la topologie virtuelle. D`es que le nombre de Tracers augmente, la
pr´ecision de la pr´ediction s’est am´elior´ee.
2.1.3
Les approches bas´ees sur Traceroute
Plusieurs approches sont conc¸ues et impl´ement´ees pour construire la topologie du r´eseau en
utilisant l’id´ee basique de l’outil traceroute. Nous exposons Rocketfuel, une des approches
populaires se basant sur traceroute.
Rocketfuel
Rocketfuel construit la topologie en utilisant des sondes de Traceroute, la table de routage
BGP, et les informations de DNS. Il essaye de trouver des pr´efixes utiles pour d´ecouvrir la
topologie ISP, et puis collecter des aliases du mˆeme routeur, en utilisant le moins possible de
nombres de mesures . Une table de BGP connecte une adresse pr´efixe d’IP a` un ensemble
des ASes qui traversent a` la destination. L’utilisation de la table de BGP permet de choisir
des pr´efixes dont Traceroute transf`ere l’ISP . Se basant sur la table de BGP, Rocketfuel d´efinie
trois classes de traceroutes qui transf`erent le r´eseau ISP, et pui, il filtre des pr´efixes qui ne
suivent pas des routes par le r´eseau ISP. Il a besoin l’information de DNS pour v´erifier si
l’adresse obtenue est l’ISP. Cette information est tr`es importante pour identifier les routeurs
ˆ
et les locations, mais peut eˆ tre couteux.
2.1.4
L’approche M´eridien
ˆ
Dans [1], l’auteur a propos´e un cadre, qui s’appelle Meridian, pour les hotes
a` chercher leurs
paires les plus proches dans le r´eseau de recouvrement (overlay). Chaque nœud m´eridien
ˆ
garde un petit nombre fix´e des autres hotes
qui sont organis´es et maintenus comme un anneau structur´e. Une requˆete d’un nœud vers son voisin le plus proche peut eˆ tre transf´er´e
5
dans l’anneau, r´eduire la distance a` la destination sur chaque saut.
2.1.5
Des d´esavantages
Plusieurs approches qu’on a pr´esent´e au-dessus essayent de pr´evoir la distance ou la topologie de routage avec les mesures directes. L’approche M´eridien, par exemple, cherche le nœud
de recouvrement le plus proche a` un nœud arbitraire sur l’Internet par un grand ensemble de pings pour la r´eponse directe d’une requˆete du niveau d’application. Cette classe
de m´ethode peut r´esoudre la tˆache de la s´election des voisins et le probl`eme de routage
overlay. Malgr´e que les caract´eristiques de la performance du r´eseau dynamique comme la
bande passante disponible et la latence sont essentielles pour les applications et peuvent eˆ tre
mesur´ees pr´ecis´ement a` la demande, un grand nombre des chemins bout-`a-bout n´ecessaires
dans un tel syst`eme distribu´e cause la mesure du r´eseau a` -la-demande irr´ealisable parce que
ˆ
elle est trop couteuse
et tr`es lente.
Si les r´eseaux du recouvrement sont occup´es avec des mesures de leur-mˆeme, l’impl´ementation qui collecte toutes les latences des paires est r´ealisable seulement dans une petite
e´ chelle. Par exemple, le service de ping tous-paires Stribling [2] est cess´e l’op´eration car il
devient irr´ealisable pour mettre a` jour des mesures de 500 nœuds sur Planetlab.
Un autre d´esavantage est que la mesure de proximit´e peut eˆ tre tr`es lourde. En r´ealit´e,
l’existence de plusieurs r´eseaux de recouvrement simultan´ement peut augmenter significativement la consommation de la bande passante pour les mesures. De plus, des mesures de
proximit´e avec un changement rapide des groupes demande une haute fr´equence.
En g´en´eral, la plupart des syst`emes qu’on a pr´esent´e au-dessus sont d´evou´es pour la
ˆ que la pr´ediction de distance
construction et la recherche du r´eseau de recouvrement, plutot
au niveau d’Internet. Pour pr´evoir la distance entre deux nœuds sur l’Internet, ces syst`emes
ˆ
ont besoin encore des mesures couteuses.
Discussion
Pour optimiser la performance de mesures dans une grande e´ chelle, plusieurs approches
de syst`emes a` base de coordonn´ees sont propos´ees. Comme la figure 1, l’id´ee principale de
tel syst`eme est pour mod´eliser l’Internet comme un espace g´eom´etrique (comme un espace
euclidien) et caract´eriser la position des nœuds par la position dans cet espace. La distance
entre deux nœuds est pr´evue comme la distance g´eom´etrique entre leur coordonn´ees sans
la mesure explicite. D’autres termes, si un nœud x apprend les coordonn´ees d’un nœud y,
6
ˆ utiliser
x ne doit pas r´ealiser une mesure explicite pour d´eterminer le RTT a` y mais plutot
la distance g´eom´etrique entre eux. C’est-`a-dire, tant que la position pr´ecise d’un nœud peut
eˆ tre obtenue facilement, les mesures directes peuvent eˆ tre e´ limin´ees.
Figure 1: Un mod`ele d’espace g´eom´etrique de l’Internet (source [12])
Le but ultime des syst`emes de coordonn´ees est de fournir un r´eseau de positionnement
ˆ
qui peut r´epondre rapidement a` tous les hotes
sur l’Internet.
Les propri´et´es de tel syst`eme sont:
• Architecture pair-`a-pair: Un syst`eme a` base de coordonn´ees peut eˆ tre utilis´e dans
les applications pair-`a-pair d`es que les nœuds peuvent maintenir facilement les coordonn´ees g´eom´etriques qui caract´erisent leur locations sur l’Internet.
ˆ
• Rapide: D`es qu’un nœud d´ecouvre les identit´es des autres hotes
dans une application pair-`a-pair, leur coordonn´ees sont utilis´ees pour calculer des distances entre eux
instantan´ement. Il n’y a aucun d´elai. Les coordonn´ees peuvent eˆ tre calcul´ees vite,
simplement, et en mode non-connect´e.
• Grande e´ chelle: Un autre avantage de syst`eme de coordonn´ees est que les coordonn´ees
sont tr`es efficace de r´esumer un grand nombre des informations de distance. Par exemple, les distances de tous les chemins de K nœuds sont stock´es par K coordonn´ees de D
dimensions (O(KD) de donn´ees) par rapport a` K(K-1)/2 distances dans le cas normal.
7
• Repr´esentation structur´ee : Les coordonn´ees g´eom´etrique des nœuds d´ecrient une
repr´esentation simple et structur´ee de la topologie complexe de l’Internet. Plusieurs
algorithmes peuvent profiter l’avantage de cette structure pour r´ealiser des op´erations
topologiques de l’Internet dans une grande e´ chelle.
2.2
Syst`emes de coordonn´ees a` base de Balises Fixes
Ces syst`emes incorporent une composante centrale (un ensemble d’entit´es balises), dont les
nœuds se servent pour calculer leurs coordonn´ees en fonction de mesures vers ces entit´es
balises. Le concept de positionnement par rapport a` des entit´es balises a e´ t´e introduit dans
GNP (Global Network Positioning).
2.2.1
GNP: R´eseau de positionnement global
Dans ce genre de syst`eme, les coordonn´ees des balises sont en premier lieu calcul´ees en
minimisant l’erreur entre les distances mesur´ees et les distances estim´ees entre les nœuds
balises. De la mˆeme mani`ere, un nœud ordinaire d´erive ses coordonn´ees en minimisant
l’erreur entre les distances mesur´ees et les distances estim´ees vers les nœuds balises. La
m´ethode marche comme suivant. N nœuds sp´eciaux ou Balises, s’appellent LM1 , ...LMN
sont d´eploy´es sur l’Internet et les distances inter-Balises sont mesur´ees. Les distances interBalises sont transf´er´ees au nœud central. Le nœud central ensuite calcule l’ensemble des coordonn´ees des Balises et retourne des coordonn´ees aux Balises. Les coordonn´ees de Balises,
cL1 , ...cLN , sont les r´esultats qui minimisent la fonction suivant :
fobj1 (cLM 1 , ...cLMN ) =
(dLMi LMj , dLMi LMj )
i,j∈1,...N |i>j
ou` dLMi LMj est la distance mesur´ee entre LMi et LMj , d LMi LMj est la distance g´eom´etrique
entre cLMi et cLMj , qui s’appelle la distance virtuelle, et (.) est la fonction de l’erreur de
mesures :
(dH1H2 , dH1H2 ) = (
dH1H2 −dH1H2 2
)
dH1H2
GNP utilise l’algorithme Simplex Downhill[3] pour optimiser. Les coordinates des Balises
d´efient les bases pour l’espace g´eom´etrique. Pour mettre a` jour un nœud H, H utilise des
Balises comme des points de r´ef´erences et sonde tous les Balises pour obtenir des coordonn´ees des Balises et les distances aux Balises (figure 2). Et puis il calcule ses coordonn´ees,
8
cH , qui minimisent l’´equation suivante:
(dHLMi , dDLMi )
fobj2 (cH ) =
i∈1,...,N
En utilisant cette m´ethode avec les mesures d’Internet, les distances Internet sont pr´ecis´ement
mises a` jour dans un espace Euclidien peu dimensions.
Figure 2: Positionnement via l’espace Euclidien 2-D (source [12])
2.2.2
Lighthouse
Lighthouse est une extension de GNP qui a une e´ chelle plus grande. Il a un ensemble des
Balises comme GNP, mais un nouveau nœud ne doit pas requˆeter tous les Balises. Le nouveau nœud peut requˆeter un petit ensemble des nœuds pour trouver ses coordonn´ees et
apr`es se transf´erer ces coordonn´ees pour qu’ils soitent relatives a` tous les balises globaux.
2.2.3
Le syst`eme NPS
Ce syst`eme e´ tend le syst`eme GNP a` un syst`eme de coordonn´ees hi´erarchique, ou` les nœuds
peuvent servir comme balises (appel´es points r´ef´erence) pour d’autres nœuds. Le but principal est de pallier les probl`emes de failles des balises centralis´ees et fixes, notamment lorsque
ces entit´es deviennent des goulots d’´etranglement dans le r´eseau. La diff´erence majeure par
rapport a` GNP est que n’importe quel nœud qui s’est bien positionn´e dans le r´eseau peut
9
eˆ tre choisi comme un point r´ef´erence par un serveur pour d’autres nœuds. Cependant, pour
assurer une coh´erence dans le syst`eme, NPS impose un positionnement hi´erarchique entre
les nœuds.
Figure 3: Architecture de positionnement hi´erachique de NPS
Etant donn´e un ensemble de nœuds, NPS les partitionne dans diff´erents niveaux. Un
ensemble de 20 balises fixes sont plac´ees dans le niveau 0, la couche sup´erieure du syst`eme,
et qui d´efinit la base de l’espace g´eom´etrique choisi. Chaque nœud dans un niveau Li , choisit
au hasard quelques nœuds dans le niveau Li−1 comme ses points r´ef´erence. L’erreur relative
de la pr´ediction de distance entre une paire de nœuds est d´efinie comme:
Erreur relative =
2.3
reel−virtuel
min(reel,virtuel)
Les syst`emes de coordonn´ees d´ecentralis´es
Cette classe de syst`emes e´ tend le concept de positionnement par coordonn´ees, en g´en´eralisant
ˆ des balises a` tous les nœuds du syst`eme, ou en e´ liminant l’infrastructure des balises.
le role
Ces syst`emes peuvent eˆ tre alors perc¸us comme des syst`emes de positionnement pair-`a-pair.
10
2.3.1
PIC Practical Internet Coordinate
PIC est un des syst`emes distribu´es des coordonn´ees qui utilise Simplex Downhill [3] pour
minimiser la fonction d’erreur de la distance. Il n’a pas besoin des Balises. Dans PIC, les
nouveaux nœuds qui veulent joindre vont choisir des nœuds dont coordonn´ees sont calcul´ees, comme les Balises. Il utilise un protocole actif pour trouver un ensemble des voisins
pour utiliser a` calculer des coordonn´ees. Des strat´egies diff´erentes sont propos´ees comme
les nœuds par hasard, les nœuds les plus proches, ou une hybride de ces deux.
PIC utilise des tests des in´egalit´es triangulaires pour contrer des participants malicieux.
En g´en´eral, le test observe la plupart des triples de nœuds sur Internet. Avec trois nœuds a,b,
et c on a d(a, b) + d(b, c) >= d(a, c), avec d(i, j) c’est la distance mesur´ee entre deux nœuds i
et j.
Si le nœud n joint PIC, le syst`eme utilise deux Balises i et j pour calculer ses coordonn´ees.
Si d(n, i) est la distance mesur´ee entre n et i et d (i, j) est la distance pr´evue se basant sur les
coordonn´ees entre i et j, toutes les in´equations suivant doivent eˆ tre satisfait :
d(n, i) <= d(n, j) + d (i, j)
d(n, i) >= d(n, j) − d (i, j)
d(n, i) >= d(i, j) − d (n, j)
La premi`ere signifie la borne sup´erieure de la distance mesur´ee a` i et les deux suivantes
signifient la borne inf´erieure de |d(n, j) − d (i, j)| Pour chaque Balise utilis´e pour la computation des coordonn´ees, le test v´erifie si la borne sup´erieure et les bornes inf´erieures sont
satisfaites par i.
2.3.2
Vivaldi
Vivaldi [8] est un syst`eme de coordonn´ees compl`etement d´ecentralis´e. Il est bas´e sur une
simulation de ressorts, ou` la position du nœud correspond a` celle de l’extr´emit´e d’un ressort
qui minimiserait l’´energie potentielle des ressorts, et donc minimiserait l’erreur de positionnement. Un nœud se joignant au syst`eme, calcule ses coordonn´ees en collectant des informations de positions et de mesures de d´elai a` partir de quelques autres nœuds. Sp´ecifiquement,
Vivaldi place un ressort entre chaque paire de nœuds dans (i, j) dans le syst`eme, avec une
longueur ”de repos” correspondant a` la mesure RTT entre ces deux nœuds. La longueur
r´eelle du ressort est consid´er´ee comme e´ tant l’estimation de distance entre les deux positions
11
des nœuds. L’´energie potentielle d’un tel ressort est proportionnelle au carr´e de d´eplacement
par rapport a` sa longueur ”de repos”. La somme de ces erreurs a` travers tous les ressorts est
la fonction d’erreur que Vivaldi tente de minimiser. Une proc´edure identique tourne sur
tous les nœuds Vivaldi. Celle-l`a est bas´ee sur des e´ chantillons r´ecolt´es par les nœuds qui
fournissent les informations pour leur positionnement. Un e´ chantillon, utilis´e par un nœud
i est ainsi constitu´e de la mesure vers un nœud j, de la coordonn´ee du mˆeme nœud j, ainsi
que de l’erreur locale report´ee par j. L’algorithme traite les nœuds a` haute erreur, en assignant des poids a` chaque e´ chantillon collect´e. L’erreur relative de cet e´ chantillon, es est alors
calcul´ee comme suit:
es = |||xj − xi || − RT Tmesure |/RT Tmesure
Le nœud calcule alors le poids de cet e´ chantillon comme e´ tant w = ei /(ei + ej ), ou` ei est
l’erreur actuelle (locale) du nœud i. Ce poids est utilis´e en fait pour calculer un d´eplacement
adaptatif, δ d´efinissant la fraction de mouvement que le nœud est autoris´e a` faire en direction
du nœud auquel il se mesure : δ = Cc x w ou` Cc est une constante < 1. Le nœud met alors a`
jour sa coordonn´ee locale comme suit:
xi = xi + δ.(RT Tmesure − ||xi − xj ||).u(xi − xj )
ou` u(xi − xj ) est un vecteur unitaire donnant la direction de d´eplacement de i. Enfin, le
nœud met a` jour son erreur locale comme e´ tant ei = es x w + ei x (1 − w).
2.4
Discussion
Qu’ils soient bas´es sur des balises fixes, ou qu’ils soient d´ecentralis´es, la plupart des syst`emes
de positionnement actuels r´ealisent de bonne performances en termes de pr´ecision de positionnement, de stabilit´e et de passage a` l’´echelle. Cependant, il faut aussi noter que cela est
permis aux d´epends de temps de convergence longs, allant a` plusieurs minutes [8]. Cela
est tr`es loin des performances en termes de rapidit´e de traitement des syst`eme de mesures
directes entre des paires de nœuds, et ceci est de surcroˆıt non acceptable pour les applications tenant compte de la topologie et qui visent a` d´eterminer les ”meilleurs nœuds”, le plus
rapidement possible.
Les syst`emes de positionnement a` base de coordonn´ees sont une proposition attractive
s’ils sont d´eploy´es comme un service : chaque nœud pourra alors faire tourner un syst`eme
de coordonn´ees au d´emarrage du syst`eme d’exploitation. Cela pourra ainsi permettre au
nœud de fournir des services de d´etection automatiquement des anomalies sur les r´eseaux.
12
3
Vue sur les coordonn´ees par l’exp´erimentation
Pour avoir une vue g´en´erale des coordonn´ees des nœuds, nous construisons des exp´erimentations d’un syst`eme a` base de coordonn´ees sur Planetlab. Parmi les syst`emes a` base de
coordonn´ees, les syst`emes a` base de balises fixes sont irr´ealisable car ils ont besoin d’une inˆ des Balises. Un syst`eme d´ecentralis´e, Vivaldi, est choisi pour
frastructure pour jouer le role
d´eployer car il est totalement distribu´e et l´eger. Nous d´eployons Pyxida, une impl´ementation
de Vivaldi, comme un service sur chaque ordinateur de Planetlab. Les nœuds se communiquent par un port fourni par Pyxida.
3.1
Introduction de Planetlab
PlanetLab est un r´eseau d’ordinateurs utilis´e en tant que plateforme d’essais pour la recherche
orient´ee r´eseaux et syst`emes distribu´es [15]. Il a e´ t´e cr´ee´ en 2002, et comportait plus de 1000
nœuds en 2009, r´epartis a` travers le monde entier sur environ de 500 sites. Chaque projet de
recherche se voit attribu´e une ”slice” (tranche), c’est a` dire un acc`es virtuel a` une partie des
nœuds du r´eseau.
L’acc`es au r´eseau est restreint aux personnes affili´ees aux entreprises ou e´ tablissements
accueillant des nœuds. N´eanmoins quelques services gratuits et publics ont e´ t´e d´eploy´es sur
PlanetLab, entre autres Codeen, le r´eseau de distribution Coral, et OpenDHT.
3.2
Pyxida, une impl´ementation de Vivaldi
Pyxida [16] est un logiciel libre qui permet de calculer les coordonn´ees des nœuds d’une
mani`ere distribu´ee par l’algorithme Vivaldi. Chaque nœud de Pyxida a 32 voisins au maximum, en utilisant 4 dimensions de coordonn´ees. Chaque 10 secondes les nœuds choisissent
un de leur voisins pour pinger et mettre a` jour les coordonn´ees. Il y a deux types de ping
dans Pyxida, le ping applicatif et le ping d’ICMP. Le ping ICMP est plus pr´ecis mais demande
le droit de root des machines. D’apr`es les exp´eriences il y a des nœuds qui quittent dans le
cas des pings d’ICMP a` cause de Jpcap utilis´e pour capturer les pings. On utilise alors les
pings applicatifs au lieu d’ICMP, c’est-`a-dire les pings sont mesur´es par le RTT du syst`eme.
Pyxida utilise l’algorithme Vivaldi comme nous avons pr´esent´e dans la section 2.3.2
// le RTT au nœud j a e´t´e mesur´e rtt (ms),
//a coordonn´ees xj , et une erreur estim´e ej
13
// notre coordonn´ees sont xj et l’erreur ei
//les constantes ce et cc sont des param`etres adapt´es
vivaldi(rtt, xj , ej )
// calculer le poids de balace a` partir des erreurs
w = ei /(ei + ej )
//calculer l’erreur relative de ce sp´ecimen
es = |||xi − xj || − rtt|/rtt
//Mettre a` jour l’erreur moyenne de local
ei = es ∗ ce ∗ w ∗ (1 − ce ∗ w)
//Mettre a` jour les coordonn´ees locales
δ = cc ∗ w
xi = xi + δ ∗ (rtt − ||xi − xj ||) ∗ u(xi − xj )
l’algorithme Vivaldi avec le pas adapt´e de temps dans Pyxida
3.3
3.3.1
R´esultats des coordonn´ees
Temps de convergence
Dans tous les syst`emes a` base de coordonn´ees, les nœuds commencent avec les coordonn´ees
mise a` zero. Chaque intervalle de temps (10 secondes dans Pyxida), ils communiquent avec
un de leur voisins et r´ealiser la mise a` jour de leur coordonn´ees. Apr`es une dur´ee de temps,
tous les nœuds trouvent leur bonne position dans l’espace et restent stables. On appelle cette
dur´ee le temps de convergence. Dans le travail de Ledlie[20], l’auteur a calcul´e que le temps
de convergence est environ 250 pas de la mise a` jour. L’exp´erimentation r´ev`ele aussi que les
coordonn´ees convergent apr`es environs 2500 secondes, c’est-`a-dire 250 pas de la mise a` jour
dans le cas de Pyxida. Apr`es 2500 secondes, les coordonn´ees sont stables (figure 4).
3.3.2
L’erreur relative
L’erreur relative indique la pr´ecision du syst`eme, c’est-`a-dire la diff´erence entre le d´elai r´eel
et le d´elai estim´e par les coordonn´ees virtuelles. Apr`es le temps de convergence, cette erreur
reste stable. Selon l’auteur de Vivaldi [8], et les exp´eriences (figure 5), l’erreur moyenne de
syst`eme est d’environ 0.2.
14
planetlab01.cnds.unibe.ch 15 hours
300
200
Coordinates
100
0
-100
-200
-300
0
1000
2000
3000
4000
5000
6000
Time (ms)
Figure 4: Les coordsonn´ees sont converg´ees apr`es 2500 secondes
kupl2.ittc.ku.edu 50 hours
1
0.8
0.8
Local Error
Local Error
kupl1.ittc.ku.edu 50 hours
1
0.6
0.4
0.2
0.6
0.4
0.2
0
0
0
20000
40000
60000
80000
100000
120000
0
Time (s)
10000 20000 30000 40000 50000 60000 70000 80000 90000 100000
Time (s)
Figure 5: L’erreur relative du syst`eme
3.3.3
L’oscillation des coordonn´ees
Comme nous avons discut´e au-dessus, le syst`eme converge apr`es 2500 secondes. Par contre, des surveillances avec une dur´ee longe sur Planetlab r´ev`elent que les coordonn´ees se
d´eplacent. Le d´eplacement est particuli`erement significatif quand le temps d’exp´erimentation
est grand (figure 6). Dans les syst`emes a` balises fixes, ce ph´enom`ene n’existe pas car il y a des
points de r´ef´erences fixes. Dans le syst`eme Vivaldi, toutes les coordonn´ees sont des informations relatives, d`es qu’il y des in´egalit´es triangulaires ou des variations de d´elais, les nœuds
rencontrent des difficult´es pour trouver ses coordonn´ees et ils oscillent. Ceci cause des diffi15
cult´es dans la d´etection des anomalies car on n’a pas de point de r´ef´erence pour savoir s’il y
a des d´elais inattendus.
eclat.inria.fr
300
200
200
100
100
Coordinates
Coordinates
emoi.inria.fr
300
0
-100
-200
-100
-200
-300
-300
0
100000 200000 300000 400000 500000 600000 700000 800000
0
100000 200000 300000 400000 500000 600000 700000 800000
Time (s)
Time (s)
righthand.eecs.harvard.edu
xjtu1.6planetlab.edu.cn
300
300
200
200
100
100
Coordinates
Coordinates
0
0
-100
-200
0
-100
-200
-300
-300
0
100000 200000 300000 400000 500000 600000 700000 800000
0
Time (s)
100000 200000 300000 400000 500000 600000 700000 800000
Time (s)
Figure 6: Les coordsonn´ees des nœuds apr`es 850000 secondes de l’exp´erimentation
3.3.4
Centre des nœuds
Parce que les coordonn´ees oscillent comme nous avons montr´e, on essaye de trouver une
m´etrique pour avoir une vue globale de syst`eme des coordonn´ees. Car les coordonn´ees sont
des informations relatives, le centre des nœuds est une bonne m´etrique dans ce cas. D`es que
les coordonn´ees d´erivent, le centre de tous les nœuds d´erivent aussi (figure 7).
3.4
Discussion
Dans les exp´eriences sur Planetlab, les coordonn´ees d´erivent, oscillent ainsi que leur centre.
Pour obtenir une vue ”relative” du syst`eme on peut utiliser la distance entre des nœuds et le
centre des coordonn´ees. Cette distance peut donner une id´ee de la relation d’un nœud avec
les autres, comme dans la figure 8, les coordonn´ees oscillent e´ norm´ement mais cette distance
reste assez stable. Par contre, elle est encore loin d’une m´etrique solide pour caract´eriser des
changements des nœuds. D`es qu’il y a des nœuds beaucoup instables (figure 9), ils vont
16
Figure 7: Les coordonn´ees du centre de tous les nœuds
ent1.cs.nccu.edu.tw
Distance to centre all
600
500
400
300
200
100
0
0
100000 200000 300000 400000 500000 600000 700000 800000
Time (s)
Figure 8: Distance du nœud ent1.cs.nccu.edu.tw vers le centre
influencer les autres nœuds ainsi que les coordonn´ees du centre et la distance entre eux.
Dans le contexte des coordonn´ees d’Internet ou de Planetlab, ces nœuds sont populaires car
il y a des in´egalit´es triangulaires. Notre int´erˆet est de classer les nœuds dans les groupes
diff´erents. Les nœuds qui ont beaucoup d’in´egalit´es triangulaires sont dans les diff´erents
groupes que les nœuds stable pour ne les influencer pas. Dans la section suivante, nous
proposons des algorithmes de regroupement pour r´esoudre ce probl`eme.
17