Content uploaded by Issam Tahiri
Author content
All content in this area was uploaded by Issam Tahiri on Mar 20, 2018
Content may be subject to copyright.
HAL Id: hal-00817923
https://hal.archives-ouvertes.fr/hal-00817923
Submitted on 25 Apr 2013
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entic research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diusion de documents
scientiques de niveau recherche, publiés ou non,
émanant des établissements d’enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
Sur la complexité du routage OSPF
Frédéric Giroire, Stéphane Pérennes, Issam Tahiri
To cite this version:
Frédéric Giroire, Stéphane Pérennes, Issam Tahiri. Sur la complexité du routage OSPF. Nisse, Nicolas
and Rousseau, Franck and Busnel, Yann. 15èmes Rencontres Francophones sur les Aspects Algorith-
miques des Télécommunications (AlgoTel), May 2013, Pornic, France. pp.1-4, 2013. <hal-00817923>
Sur la complexit´
e du routage OSPF †
Fr´
ed´
eric Giroire and St´
ephane P´
erennes and Issam Tahiri
COATI, joint team INRIA, I3S (CNRS/University of Nice-Sophia Antipolis), Sophia Antipolis, France
Emails: firstname.lastname@inria.fr
Ce travail montre que dans un r´
eseau (g´
en´
eral) o`
u le protocole de routage est OS PF avec la strat´
egie d’´
equilibrage de charge EC MP, le
probl`
eme qui consiste `
a maximiser un flot simple d’une source vers un puits ne peut ˆ
etre approch´
e`
a une constante pr`
es.
Keywords: routage, OSP F,EC MP, max flot, complexit´
e.
1 Introduction & Etat de l’art
Le but d’un protocole de routage est de rendre chaque routeur capable de d´
ecider, quand un paquet est rec¸u, le routeur
qui correspond au prochain saut. La d´
ecision doit ˆ
etre prise localement et rapidement, en permettant une utilisation efficace
des ressources r´
eseau. Quand le protocole “Open Shortest Path First” (OSPF)[osp98] est le protocole de routage utilis´
e
dans le r´
eseau, tous les paquets suivent des plus courts chemins, en prenant en compte les longueurs des liens fix´
ees par
l’administrateur r´
eseau.
S’il y a plusieurs plus courts chemins entre deux noeuds uet v, le routage d´
epend de la r`
egle qui est utilis´
ee pour ´
equilibrer
le trafic entre les diff´
erents plus courts chemins. Il y a plusieurs r`
egles et l’une des plus utilis´
ees est EC MP (“Equal Cost
Multiple Path”). Selon cette r`
egle un routeur qui a plusieurs liens sortant sur des plus courts chemins vers une destination v
repartit de fac¸on uniforme le trafic qui lui arrive sur ces liens.
Pour mieux comprendre la difficult´
e algorithmique du routage OSPF , nous nous sommes concentr´
e sur un probl`
eme essentiel
qui a comme but la maximisation du d´
ebit quand il n’y a qu’une seule paire de noeuds communiquant sur le r´
eseau. Nous
appelons ce probl`
eme Max-Ospf-Flow et nous en donnons un exemple dans la figure 1 :
– IN STAN CE : un graphe orient ´
e valu´
eD= (V,A,c), o`
uVest l’ensemble des noeuds, Aest l’ensemble des arcs, et cest la
fonction capacit´
e qui associe `
a chaque arc (u,v)la capacit´
ec(u,v); et deux noeuds du graphe s,t∈Vqui repr´
esentent
respectivement la source et le puits du flot.
– QUESTION : trouver le flot maximum allant de s`
atavec l’affectation correspondante des longueurs pour les arcs de A, de
sorte que le protocole “Open Shortest Path First” utilisant la strat´
egie ”Equal Cost Multiple Path” atteigne ce flot max.
Des travaux pr´
ec´
edents [FT04, ISI01, Ble05b] ont montr´
e que trouver un routage OS PF qui optimise certains crit`
eres
(charge, capacit´
e, . . .) de la performance du r´
eseau est une tˆ
ache difficile ; et ceci est vrai en cas de mono-routage ou de
multi-routage (avec la r`
egle ECMP). En mono-routage, les longueurs doivent ˆ
etre choisies de mani`
ere `
a ce que, pour chaque
paire de sommets, il y ait un unique plus court chemin. Dans [FT04], les auteurs ont ´
etudi´
e le probl`
eme d’optimisation des
longueurs OS PF -EC MP afin de minimiser le co ˆ
ut total du r´
eseau quand la fonction coˆ
ut sur les arcs est convexe et croissante
avec la congestion. Ils ont montr´
e que ce probl`
eme est NP-Difficile. En particulier, ils d´
efinissent l’utilisation maximum du
r´
eseau comme maxa∈Al(a)
c(a)o`
ul(a)est la charge de l’arc a, et ils prouvent que la minimisation de l’utilisation maximum est
NP-Difficile. Ils fournissent aussi des r´
esultats sur le plus grand ´
ecart entre la performance du routage OS PF -EC MP et celle
d’un routage optimal d’un flot `
a plusieurs commodit´
es (des paires sources - puits) en terme de congestion. Dans [Ble05b],
les auteurs ont ´
etudi´
e le multi-routage OS PF qui minimise l’utilisation maximum du r ´
eseau. Ils montrent que ce probl`
eme est
difficile `
a approcher `
a un facteur O(|V|1−ε).
Comme ces probl`
emes sont difficiles, pour les r´
esoudre en pratique, on utilise souvent une approche `
a deux phases [BK02,
HC04, DP+07]. Dans la premi`
ere phase, nous trouvons un routage dont les chemins ne sont pas n´
ecessairement r´
ealisables
avec le protocole OSPF. Dans la seconde phase, sont calcul ´
ees, quand cela est possible, des longueurs qui r´
ealisent ce routage
en suivant le protocole OSPF. Cette seconde phase tente de r´
esoudre ce que l’on appelle le probl`
eme inverse du plus court
†A long version of this paper can be found in [GPT13]
Fr´
ed´
eric Giroire and St ´
ephane P´
erennes and Issam Tahiri
s
9
t
10
7
10
2
(a) capaciti´
es
s
7
t
7
7
0
0
(b) Max-Ospf-Flow
s
1
t
1
2
100
100
(c) longueurs correspondantes
FIGURE 1: Exemple d’un flot-ospf maximum de valeur 14.
chemin (ISP). Ce probl`
eme peut ˆ
etre formul´
e comme un programme lin´
eaire et donc peut ˆ
etre r´
esolu en temps polynomial.
Mˆ
eme si les longueurs sont contraintes `
a prendre des valeurs enti`
eres, ISP garde une complexit´
e polynomiale grˆ
ace au sch´
ema
d’arrondi pr´
esent´
e dans [BAG04]. Cependant, trouver une solution `
a ISP qui minimise la longueur maximum sur tous les arcs
est NP-Difficile [Ble05a].
Nous consid´
erons le probl`
eme d’approximation du flot-ospf maximum d’un r´
eseau avec une commodit´
e unique. Ce probl`
eme
a´
et´
e prouv´
eNP-Difficile dans [PSH+02], et aucune approximation, avec garantie non triviale, n’a ´
et´
e propos´
ee jusqu’`
a
pr´
esent. Dans cet article, nous montrons que Max-Ospf-Flow ne peut pas ˆ
etre approch´
e`
a un facteur constant pr`
es quand les
capacit´
es du graphe ne sont pas born´
ees. Nous avons aussi ´
etabli des r´
esultats positifs (voir [GPT12]) que nous ne citons pas
dans cet article.
2 D´
efinition et simplification du probl`
eme
Dans cette section, nous montrons que, quand il y a une unique commodit´
e, le probl`
eme inverse du plus court chemin est
garanti d’avoir une solution, d`
es que le routage v´
erifie quelques conditions, et que cette solution peut ˆ
etre facilement trouv´
ee.
Ainsi, mˆ
eme si Max-Ospf-Flow reste difficile, nous pouvons nous concentrer sur la recherche d’une fonction de routage
ad´
equate en oubliant l’affectation des longueurs aux arcs.
Dans le cas d’une simple commodit´
e, r´
esoudre le probl`
eme inverse du plus court chemin est trivial pour n’importe quel flot f
allant de s`
at. Pour cela nous d´
efinissons A0={a∈A|f(a)>0}, et nous posons ∀a∈A0,l(a) = 0 et ∀a6∈ A0,l(a) = 1. De cette
fac¸on, tous les chemins de la source au puits utilisant uniquement des arcs de A0sont des plus courts chemins. Il est pr´
ef´
erable
parfois d’avoir une meilleure fonction longueur, telle que ∀a∈A,l(a)>0, mais celle-ci n’existe que si A0est acyclique.
Premi`
erement, si A0contient un cycle alors l(a)doit forc´
ement ˆ
etre nulle sur tous les arcs du cycle. Deuxi`
emement, si A0
est acyclique, alors nous pouvons trouver une fonction longueur en utilisant l’existence d’une fonction potentielle p:V→R
telle que p(u)<p(v)s’il y a un chemin allant de uvers v(cette fonction potentielle est donn´
ee par le probl`
eme dual,
voir [CCPS98]). Ensuite, nous posons ∀a= (u,v)∈A,l(u,v) = p(v)−p(u). Remarquez que tous les chemins allant de s`
a
tont une longueur p(t)-p(s). En combinant ces deux faits, nous pouvons alors toujours d´
efinir des longueurs telles que,
∀(u,v)∈V2, tous les chemins allant de u`
avavec des arˆ
etes dans A0aient la mˆ
eme longueur, et avec l(a)>0 sur tous les arcs
aqui ne sont pas contenus dans un cycle. Notez que, mˆ
eme si cela peut paraˆ
ıtre ´
etrange, il existe des graphes orient´
es pour
lesquels toute solution optimale de Max-Ospf-Flow contient un cycle.
Donc pour toute fonction de flot, il existe toujours des longueurs pour lesquelles tout les chemins utilis´
es par le flot sont
des plus courts chemins, et ces longueurs sont toutes strictement positives si le flot est acyclique. Cependant, cela ne veut pas
dire que chaque fonction de flot peut ˆ
etre r´
ealis´
ee sous OS PF -EC MP . En effet fdoit remplir la “condition d’´
equilibrage ´
egal”.
Cela veut dire que nous devons avoir : pour chaque noeud a∈Vet ∀(u,v)∈A, soit f(u,v) = 0 ou bien f(u,v) = out(u)o`
u
out(u)d´
epend uniquement de u. Ceci nous permettra de reformuler Max-Ospf-Flow d’une mani`
ere plus simple, sans utiliser
explicitement la fonction longueur. Mais nous devons tout d’abord introduire quelques d´
efinitions.
D´
efinition 1 (graphe de flot) Etant donn´
es un graphe orient´
e avec capacit´
es D = (V,A,c)et deux noeuds particuliers s et t
(la source et le puits), le graphe de flot correspondant est d´
efini par le 5-uplet D= (V,A,c,s,t).
D´
efinition 2 (fonction/valeur de flot) Etant donn´
e un graphe de flot D= (V,A,c,s,t), une fonction f :A→R+est une
fonction de flot si ∀a∈A,f(a)≤c(a)et ∀v∈V\ {s,t},∑(u,v)∈Af(u,v) = ∑(v,u)∈Af(v,u). La valeur du flot est val(f) =
∑(s,v)∈Af(s,v)−∑(v,s)∈Af(v,s).
D´
efinition 3 (fonction r´
eguli`
ere - ´
equilibr´
ee) Une fonction sur un ensemble S est dite r´
eguli`
ere si elle prend uniquement
deux valeurs dont 0. Etant donn´
e un graphe G = (V,A), une fonction f est dite ´
equilibr´
ee sur V ssi, pour chaque u ∈V la
Sur la complexit´
e du routage OSPF
fonction fu, d´
efinie par ∀(u,v)∈A,fu(v) = f(u,v), est r´
eguli`
ere.
D´
efinition 4 (fonction de flot-ospf) Pour un graphe de flot D= (V,A,c,s,t), une fonction f :A→R+est un flot-ospf si elle
est une fonction de flot et si elle est ´
equilibr´
ee sur V.
Maintenant, nous sommes prˆ
ets pour donner une formulation ´
equivalente du probl`
eme Max-Ospf-Flow :
–Instance : un graphe de flot D= (V,A,c,s,t).
–Question : trouver la valeur de flot maximum que peut avoir une fonction de flot-ospf dans A.
Le probl`
eme de trouver la bonne fonction longueur a donc disparu de notre d´
efinition, puisque le fait de choisir les arcs
qui auront un flot nul permet de d´
eterminer la fonction longueur cach´
ee. Nous notons dans le reste de l’article l’ensemble des
entiers {1,...,N}par [N].
3 R´
esultats d’inapproximabilit´
e
Nous utilisons une r´
eduction au probl`
eme MAX-3-SAT (qui ne peut pas ˆ
etre approch´
e`
a un facteur pr`
es de 7
8+εpour tout
ε>0) pour prouver d’abord que le probl`
eme Max-Ospf-Flow est difficile `
a approcher, en temps polynomial, avec un facteur
d’approximation de 31
32 . Ensuite, nous utilisons une m´
ethode auto-amplifiante pour prouver que ce probl`
eme n’est pas dans
APX. Ce rapport de recherche [GPT12] contient les preuves d´
etaill´
ees des r´
esultats suivants.
Proposition 1 Pour un entier l >3, il est NP-Difficile d’approcher Max-Ospf-Flow avec un facteur 1−l−3
8l+ε,∀ε>0,
mˆ
eme si ∀a∈A,c(a)∈ {1,l}. Par example, il est NP-Difficile d’approcher Max-Ospf-Flow avec un facteur 31
32 +ε,∀ε>0,
mˆ
eme si ∀a∈A,c(a)∈ {1,4}.
Esquisse de preuve Par souci de simplicit´
e, notre r´
eduction utilise un multi-graphe. Pour avoir un graphe `
a partir de ce
dernier, il est possible d’ins´
erer simplement un noeud subdivisant chaque arc en deux. Ceci permet d’avoir un graphe simple
qui double seulement la taille du multi-graphe.
Etant donn´
ee maintenant une instance Ide MAX-3-SAT, d´
efinie par un ensemble de variables {xi}i∈[n]et un ensemble de
clauses {Bj}j∈[m], nous construisons le graphe de flot suivant DI= (V,A,c,s,t): Pour chaque i∈[n], nous cr´
eons un sommet
airepr´
esentant la variable xi; pour chaque j∈[m], nous cr´
eons un sommet bjrepr´
esentant la clause Bj; et pour chaque i∈[n],
nous ajoutons kiarcs parall`
eles avec capacit´
e 1 allant de s`
aai, o`
ukiest le nombre de fois o`
u une variable xiapparait dans les
clauses. Nous ajoutons alors un arc avec capacit´
e 1 depuis chaque bjvers t, avec j∈[m]. En plus de ces arcs, nous ajoutons
des arcs qui d´
ependent de la structure des clauses : ∀(i,j)∈[n]×[m], si Bjcontient le litt´
eral positif xinous ajoutons un arc
avec capacit´
e 1 de aivers bj; et ∀(i,j)∈[n]×[m], si Bjcontient le litt´
eral n´
egatif ¯xinous ajoutons larcs (l>3) parall`
eles
avec capacit´
e1
lde aivers bj. Un exemple de cette construction est donn´
e en figure 2. Notez que la taille de DIest lin´
eaire en
le nombre de clauses.
FIGURE 2: Le graph de flot DIconstruit `
a patir d’un ensemble Fcontenant les clauses B1= (x1∨¯x2∨x4),B2= (x2∨¯x3∨x4)et B3=
(x2∨x3∨¯x4). [L’exemple suppose que l=4. Les arcs en pointill´
e ont une capacit´
e1
4. Les autres ont une capacit´
e de 1].
L’id´
ee de la r´
eduction est d’´
emuler les variables binaires comme suit : pour (i,j)∈[n]×[m], nous d´
efinissons un lien virtuel
vl(ai,bj)comme l’ensemble des arcs connectant ai`
abj, et nous disons que vl(ai,bj)est un lien virtuel positif (resp. n´
egatif)
Fr´
ed´
eric Giroire and St ´
ephane P´
erennes and Issam Tahiri
si xi(resp. xi) est un litt´
eral de Bj. Ensuite, il faut choisir au niveau de aid’envoyer le flot soit sur les liens virtuels positifs,
soit sur ceux qui sont n´
egatifs, le choix ´
etant exclusif. 2
Theor`
eme 1 Il est NP-Difficile d’approcher Max-Ospf-Flow `
a n’importe quel facteur constant pr`
es.
Esquisse de preuve Pour prouver le r´
esultat, nous utilisons une technique d’auto-amplification de l’erreur. En effet, le
graphe de flot DI, associ´
e`
a l’instance Ide 3-SAT, et qui connecte s`
atest semblable `
a un arc virtuel (s,t)avec une capacit´
e
m, mais pour lequel il est NP-Difficile d’utiliser une capacit´
e plus grande que 31m
32 . Consid´
erons un graphe de flot D, nous
allons remplacer chacun de ces arcs par une copie du graphe DI. Deux facteurs d’erreurs sont alors multipli´
es : un est dˆ
u au
fait qu’il n’existe pas d’algorithme polynomial qui peut utiliser pleinement les capacit´
es de ces arcs virtuels, et l’autre est dˆ
u
`
a l’erreur sur le graphe original lui-mˆ
eme (que nous avons montr´
e dans la proposition 1). 2
R´
ef´
erences
[BAG04] Walid Ben-Ameur and Eric Gourdin. Internet routing and related topology issues. SIAM J. Discret. Math.,
17(1) :18–49, January 2004.
[BK02] Andreas Bley and Thorsten Koch. Integer programming approaches to access and backbone IP-network planning.
Technical Report ZR 02-41, Zuse Institute Berlin, 2002.
[Ble05a] Andreas Bley. Inapproximability results for the inverse shortest paths problem with integer lengths and unique
shortest paths. In Proceedings of the Second International Network Optimization Conference, 2005.
[Ble05b] Andreas Bley. On the approximability of the minimum congestion unsplittable shortest path routing problem.
In Proceedings of the 11th international conference on Integer Programming and Combinatorial Optimization,
pages 97–110, Berlin, Heidelberg, 2005. Springer-Verlag.
[CCPS98] William J. Cook, William H. Cunningham, William R. Pulleyblank, and Alexander Schrijver. Combinatorial
optimization. Wiley, 1998.
[DP+07] Mariusz Dzida, Mateusz Mycek, , Michał Pi´
oro, Artur Tomaszewski, and Michał Zagozdzon. Valid inequalities
for a shortest-path routing optimization problem. In International Network Optimization Conference, 2007.
[FT04] Bernard Fortz and Mikkel Thorup. Increasing internet capacity using local search. Computational Optimization
and Applications, 29 :13–48, 2004.
[GPT12] Fr´
ed´
eric Giroire, St´
ephane P´
erennes, and Issam Tahiri. On the Hardness of Equal Shortest Path Routing. Rapport
de recherche RR-8175, INRIA, December 2012.
[GPT13] Fr´
ed´
eric Giroire, St´
ephane P´
erennes, and Issam Tahiri. On the Hardness of Equal Shortest Path Routing. In
Proceedings of the International Network Optimization Conference (INOC’13), May 2013.
[HC04] Kaj Holmberg and Yves Carbonneaux. Optimization of internet protocol network design and routing. Networks,
43(1) :39–53, January 2004.
[ISI01] Rauf Izmailov, Bhaskar Sengupta, and Atsushi Iwata. Administrative weight allocation for pnni routing algo-
rithms. In IEEE Workshop on High Performance Switching and Routing, pages 347–352, 2001.
[osp98] Ospf version 2, rfc2328. http://www.ietf.org/rfc/rfc2328.txt, 1998.
[PSH+02] Michał Pi´
oro, ´
Aron Szentesi, J´
anos Harmatos, Alp´
ar J¨
uttner, Piotr Gajowniczek, and Stanislaw Kozdorowski. On
open shortest path first related network optimisation problems. Journal of Performance Evaluation, 48(1-4) :201–
223, May 2002.