Table Of ContentUnderstanding Route Redistribution
Franck Le Geoffrey G. Xie Hui Zhang
Carnegie Mellon University Naval Postgraduate School Carnegie Mellon University
[email protected] [email protected] [email protected]
Abstract(cid:151)Route redistribution (RR) has become an integral option local to a router. It designates the dissemination of
part of IP network design as the result of a growing need routing information from one protocol process to another
for disseminating certain routes across routing protocol bound-
withinthesamerouter.ForroutersintheRIPinstancetolearn
aries. While RR is widely used and resembles BGP in several
thepre(cid:2)xesintheOSPFinstance,arouter(e.g.,DorE)needs
nontrivial aspects, surprisingly, the safety of RR has not been
systematicallystudiedbythenetworkingcommunity.Thispaper torunbothaprocessofRIPandaprocessofOSPFandinject
presents the (cid:2)rst analytical model for understanding the effect the OSPF routes into the RIP instance.
of RR on network wide routing dynamics and evaluating the As such, router vendors introduced RR to address a need
safety of a speci(cid:2)c RR con(cid:2)guration. We (cid:2)rst illustrate how
fromnetworkoperations.Werecentlylookedatthecon(cid:2)gura-
easily inaccurate con(cid:2)gurationsof RR may cause severe routing
tionsofsomelargeuniversitycampusnetworksandfoundthat
instabilities, including route oscillations and persistent routing
loops.Atthesame time, general observations regardingtheroot RR is indeed widely used. However, contrary to traditional
causes of these instabilities are provided. We then introduce a routing protocols, there is no standard or RFC formally
formal model based on the general observations to represent de(cid:2)ningthefunctionalityofRR.Signi(cid:2)canteffortsareusually
andstudythesafetyofrouteredistribution.Usingthemodel,we
associatedwiththedesignandanalysisofaroutingprotocolto
prove that given a RR con(cid:2)guration, determining whether the
ensureits correctnessandstabilitybutthespeci(cid:2)cationofRR
redistributionsresultinacycleisNP-hard.Giventhiscomplexity,
we present a suf(cid:2)cient condition, which can be checked in did not receive as much attention. Consequently, RR is often
polynomialtimewiththeproposedanalyticalmodel,forensuring miscon(cid:2)guredleadingto sub-optimalroutingand evensevere
the safety of a RR con(cid:2)guration. Finally, the paper proposes instabilities such as route oscillations and persistent routing
potentialchangestothecurrentRRprotocoltoguaranteesafety.
loops.
The risks of route redistribution have been acknowledged
I. INTRODUCTION byroutervendorsandnetworkoperators,butthereiscurrently
Recent studies show that some enterprise networks rival no general guideline to con(cid:2)gure RR correctly. Solutions are
carrier networks in terms of scale and complexity of routing developed on an ad-hoc basis for speci(cid:2)c situations [3] but
design [1]. One may even argue that because of a more most existing solutions do not satisfy network design goals.
dynamic business environment fueled by acquisitions and RR has two main objectives. The (cid:2)rst one is to propagate
mergers, large enterprise networks may be more dif(cid:2)cult to routing information between different routing instances for
control and manage than carrier networks. One source of this connectivity purposes as described earlier. The second objec-
dif(cid:2)culty stems from the fact that the routing structure of a tive is route back up: in the event of a network failure (e.g.,
largeenterprisenetworktypicallyconsistsofmultipledomains link B-C of Figure 1 being down), routing instances should
or routing instances [1]. Routing instances form for many provide alternate forwarding paths to each other (e.g., router
reasons. Company acquisitions, departments administered by C should still be able to reach router A through the C-E-F-
different teams, and multi-vendor equipments may lead to D-A path.) However, to avoid route oscillations and routing
such situations [2]. Alternatively,network administrators may loops, according to current vendor recommendation [2], a
intentionally create separate routing instances to (cid:2)lter routes, routereceivedfroma routinginstancemust notbere-injected
limit reachability and enforce policies [3]. back into that same instance. Such a strong restriction pre-
Routers within one routing instance typically run the same vents domain back-up.In addition, most of existing solutions
routing protocol to fully share reachability information and apply to scenarios with only two routing instances, but large
they by default do not exchange routing information with operational networks often include more than two routing
routers in other routing instances. Consider the network de- instances [1].
pictedinFigure1.Itconsistsoftworoutinginstances.Routers In short, RR has become an integral part of IP network
intheRIPinstancedonothavevisibilityoftheaddressesand designbutits stability seems sensitivetonetworkfailuresand
subnetpre(cid:2)xesintheOSPF instanceandviceversa.Toallow con(cid:2)gurationerrors.Tothebestoftheauthors’knowledgethis
theexchangeofroutinginformationbetweendifferentrouting paperisthe(cid:2)rst toanalyzerouteredistributionandattemptto
instances,routervendorshaveintroducedafeaturecalledroute identify the origins of the observed instabilities. Our work is
redistribution. Route redistribution (RR) is a con(cid:2)guration based on two key insights. First, we observe that the way
RR effects the (cid:3)ow of routes is very similar to that of a
1Minorrevisions,February9,2008. distance vector routing protocol, albeit with a larger scope
InProceedingsofICNP’07,Beijing,China.
Report Documentation Page Form Approved
OMB No. 0704-0188
Public reporting burden for the collection of information is estimated to average 1 hour per response, including the time for reviewing instructions, searching existing data sources, gathering and
maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information,
including suggestions for reducing this burden, to Washington Headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington
VA 22202-4302. Respondents should be aware that notwithstanding any other provision of law, no person shall be subject to a penalty for failing to comply with a collection of information if it
does not display a currently valid OMB control number.
1. REPORT DATE 2. REPORT TYPE 3. DATES COVERED
2007 N/A -
4. TITLE AND SUBTITLE 5a. CONTRACT NUMBER
Understanding Route Redistribution
5b. GRANT NUMBER
5c. PROGRAM ELEMENT NUMBER
6. AUTHOR(S) 5d. PROJECT NUMBER
5e. TASK NUMBER
5f. WORK UNIT NUMBER
7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) 8. PERFORMING ORGANIZATION
Naval Postgraduate School Computer Science Department Monterey, CA REPORT NUMBER
93943
9. SPONSORING/MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSOR/MONITOR’S ACRONYM(S)
11. SPONSOR/MONITOR’S REPORT
NUMBER(S)
12. DISTRIBUTION/AVAILABILITY STATEMENT
Approved for public release, distribution unlimited
13. SUPPLEMENTARY NOTES
Porc. IEEE ICNP 2007 Conference, Beijing, China, October 2007. Also as Technical Report
CMU-CS-07-122, April 2007
14. ABSTRACT
Route redistribution (RR) has become an integral part of IP network design as the result of a growing need
for disseminating certain routes across routing protocol boundaries. While RR is widely used and
resembles BGP in several nontrivial aspects, surprisingly, the safety of RR has not been systematically
studied by the networking community. This paper presents the first analytical model for understanding the
effect of RR on network wide routing dynamics and evaluating the safety of a specific RR configuration.
We first illustrate how easily inaccurate configurations of RR may cause severe routing instabilities,
including route oscillations and persistent routing loops. At the same time, general observations regarding
the root causes of these instabilities are provided. We then introduce a formal model based on the general
observations to represent and study the safety of route redistribution. Using the model, we prove that given
a RR configuration, determining whether the redistributions result in a cycle is NP-hard. Given this
complexity, we present a sufficient condition, which can be checked in polynomial time with the proposed
analytical model, for ensuring the safety of a RR configuration. Finally, the paper proposes potential
changes to the current RR protocol to guarantee safety.
15. SUBJECT TERMS
16. SECURITY CLASSIFICATION OF: 17. LIMITATION OF 18. NUMBER 19a. NAME OF
ABSTRACT OF PAGES RESPONSIBLE PERSON
a. REPORT b. ABSTRACT c. THIS PAGE SAR 12
unclassified unclassified unclassified
RIP OSPF
Routing Instance 1 Routing Instance 2
RIP OSPF 27
Router A
Router D Router G
Local Routing Routing Routing Local
RIB Process Process Process RIB
(e.g., RIB RIB RIB (e.g.,
Router B Router F Static) (RIP) (OSPF 27) (OSPF 27) Connec
-ted)
Router E Router H Router’s FIB Router’s FIB
Router C
Router D Router G
Fig.1. Anexampleenterprisenetworkthatconsistsoftworoutinginstances. Fig.2. Router’s routeselection procedure. Router D mayneedtoperform
Without route redistribution, the routers in the RIP instance do not have route selection among three routing processes while G may need to select
knowledge ofthedestinations intheOSPFinstance,andvice-versa. betweentwo.DandGbelong tothesameOSPFroutinginstance.
sincetheroutesarepassedbetweenroutinginstances.Second, routestoasamedestinationpre(cid:2)x.Uponcreation,eachrouting
the policy-based functionality of RR makes it resemble BGP process is assigned a protocol-speci(cid:2)c default administrative
in several nontrivial ways. distance.Forexample,thedefaultadministrativedistance(AD)
The rest of the paper is organized as follows. Section II is 110 for OSPF and 120 for RIP. The administrator may
providesatutorialoftheconceptsrelatedtotheRRprocedure. overridethedefaultADofaprotocol,accordingtolocalpolicy
Section III illustrates some of the instabilities that route and on a per-router per-pre(cid:2)x basis, as part of the protocol
redistribution can cause. Section IV introduces a model to con(cid:2)guration. The administrative distance values are local to
abstract the dynamics of the RR procedure. The model helps a router and are not propagatedin any signaling message.
to identify the formation of route oscillations and persistent Among the routing processes announcinga route to P, the
routingloopsaswillbedemonstratedinSectionV.InSection one with the lowest administrative distance will be selected.
VI, we show that determining whether a con(cid:2)guration of WewillrefertoitastheselectedroutingprocessforP andthe
route redistributioncan convergeto a state containinga cycle routesubsequentlyinstalledinthe FIB theactiverouteforP.
is NP-hard. This complexity has motivated us to develop a If multiple processes present the same lowest administrative
suf(cid:2)cient condition for RR safety. The result is presented in distance,therouterpicksoneofthemusinganondeterministic
SectionVI.FinallyinSectionVII,weproposeasetofchanges and vendor-speci(cid:2)c algorithm. Fig. 2 illustrates the adminis-
to the RR procedureitself aimed at creating a protocolthat is trativedistancebasedrouteselectionprocedureontworouters
inherentlysafe,i.e., freeofinstabilitiesevenifmiscon(cid:2)gured. (D and G in the enterprise network shown in Fig. 1). Router
D has three concurrent routing processes: OSPF, RIP, and
II. BACKGROUND
the built-in process for handling local static routes or direct
Althougharoutermayrunmultipleroutingprotocolsatthe connectedsubnets.WhentheOSPFandRIPprocessespresent
same time, it forwards packets according to routes stored in independentroutestoP atthesametime,therouterwillselect
a protocol-agnostic table called Forwarding InformationBase the route from the OSPF processs because of its lower AD
(FIB). Routing instabilities such as oscillations and loops are value (110 vs. 120).
alwaystheconsequenceofsomeroutersinstallingsomewrong
B. Route Redistribution
routesintheirFIBs.Asbackgroundinformationfortherestof
the paper,this section brie(cid:3)y explains how a router populates A router running multiple routing processes does not by
its FIB and describes the role of route redistribution in that defaultredistributeroutesamongtheseprocesses.Routeredis-
procedure.Withoutloss of generality,all discussions are with tribution(RR)mustbeexplicitlycon(cid:2)gured.TheRRcon(cid:2)gu-
respect to a single destination pre(cid:2)x, denoted by P, unless rationandoperationcanbecomplex.Contrarytomostrouting
noted otherwise. protocols which optimize a metric, RR is driven by policies,
making it very similar to BGP. As in BGP, access control
A. Route Selection
lists can be applied and tags can be assigned to the different
A router that runs multiple routing protocols actually in- pre(cid:2)xes. In Cisco, route-map allows network administrators
stantiates a separate routing process for each protocol. Each to (cid:2)lter the routes, prioritize the received announcements
instantiated routing process has its own Routing Information (by assigning different AD values) and modify the attributes
Base (RIB) to store protocol-speci(cid:2)c routing information. of the redistributed routes. Figure 3(a) provides an example
These processes may offer routes to P at the same time and of a Cisco con(cid:2)guration redistributing routes from a RIP
the router then must select one of the routes to include in processintoanOSPFone.Theroute-mapstatements(cid:2)lterthe
the FIB. To add (cid:3)exibility to the selection procedure, router route and modify the attributes of the redistributed routes. In
vendorshaveintroducedacon(cid:2)gurableintegerparameterper- Juniper routers, RR is speci(cid:2)ed through routing policies (i.e.,
routingprocess,calledadministrativedistance[4],tofacilitate importandexportstatements).Figure3(b),extractedfrom[5],
a logic for ranking a set of routing processes that supply providesan example of a JUNOS con(cid:2)gurationredistributing
2
router ospf 27 policy-statement rip-2-ospf {
redistribute rip metric 200 subnets from protocol rip; Routing Routing
route-map rip-2-ospf then { Instance 1 Instance 2
distance ospf external 200 metric 5; RIP (120) Router C OSPF (110)
!route-map rip-2-ospf permit 10 } accept; CiscoSystems WCaotraklgyrsotup Switch
match ip address 100 }
set metric-type type-1 }
set tag 22 Router B Router E
o s p f e x{port rip-2-ospf; CiscoSystems WCaotraklgyrsotup Switch CiscoSystems WCaotraklgyrsotup Switch
}
(a) (b)
Router A Router D Routing
CiscoSystems WCaotraklgyrsotup Switch CiscoSystems WCaotraklgyrsotup Switch Instance 3
Fig.3. (a)ExcerptofaCiscoRRcon(cid:2)gurationforrouterDoftheexample IGRP (100)
enterprise network. The (cid:147)redistribute(cid:148) command enables RR from the RIP
process into the OSPF process. A route-map is applied to enforce policies.
(b)ExcerptofaJuniperRRcon(cid:2)guration forrouterEofthesamenetwork.
Fig. 4. Scenario 1. The network consists of three routing instances and
routers C,E and D are performing mutual route redistribution. The values
the routes from a RIP process into an OSPF one.
inbrackets representtheADoftheroutinginstances.
When con(cid:2)guring a route redistribution, a number of per-
route parameters are involved. A metric value is assigned have a profound impact on how the network as a whole
to each new route in the target routing process (i.e., the populates the FIBs.
process that receives the route). The metric can be manually
III. ILLUSTRATIONOFROUTINGINSTABILITIES
con(cid:2)gured. If not speci(cid:2)ed, a default value is assigned to the
InaccurateRRcon(cid:2)gurationscancausesub-optimalrouting,
redistributedroute. The value of the metric is importantsince
routeoscillationsandroutingloops.Thissectionillustratesthe
thetargetroutingprocessmaydisseminatearedistributedroute
twolatter issues. Fortheotherinstabilities, pleasesee [2]and
to other routers within the same routing instance and when
[3]. We have validated all the described scenarios (including
that happens the value of the metric may in(cid:3)uence the router
the permanent oscillations in section V) (cid:150) with the exception
selectionoutcomesattheserouters.Additionalrouteattributes
of scenario 2 (section III-B). It was dif(cid:2)cult to create the
canbespeci(cid:2)eddependingonthetargetroutingprocess.Asan
requiredraceconditions.Thevalidationenvironmentconsisted
example,inOSPF,aroutecanbeinjectedeitherasaType1or
of 5 routers (Cisco 2600, IOS Version 12.2).
Type 2 route. Each route type presents its own properties [6].
All these attributes affectthe routeselection (withina routing A. Scenario 1: Persistent Routing Loop
instance) and when miscon(cid:2)gured can cause instabilities as
The (cid:2)rst scenario is a network composed of three routing
illustrated in the subsequent sections.
processes(seeFigure4).Theexperimentrevealedapersistent
While RR is a complex, policy-driven vector protocol like
routing loop because of route redistribution.
BGP, there is no RFC or other form of standards about it.
The example network can be that of a company with three
Vendor Web sites or manuals usually only provide guidelines
of(cid:2)ce branches, each running their own routing instance.
and sample con(cid:2)guration (cid:2)les. It took us many hours of
A separate group may administer each site. RR is enabled
reading and experimentation to identify the following two
between every two routing instances to allow connectivity
very basic operational characteristics of RR. First, a route is
between the sites, and every redistributing router performs
redistributedonlyifitisactive,i.e.,presentintherouter’sFIB.
mutualRRsothattheroutinginstancescanbackupeachother
Consequently, RR is not a transitive operation. For example,
in the event of network failure.
let’s consider a router running three routing processes X, Y
We consider a pre(cid:2)x P connected to router A and redis-
and Z. Suppose that redistributions from X to Y and from
tributed into the RIP instance. Alternatively, P can be origi-
Y to Z are con(cid:2)gured. If initially no route to P exists in the
nated from another RIP router or injected into RIP through
FIB and the router learns a route to P through X, the route
other means including BGP. The following describes the
is redistributedinto Y. However,the route will not be further
sequence of observed events that caused a persistent routing
redistributed into Z from Y because Y is not the selected
loop for packets sent to destinations in P.
process for P. Second, a router seems able to differentiate
Weusethefollowingnotationthroughoutthepaper:routing
locally redistributed routes from routes that routing processes
instances are numbered (1, 2, ...), routers are labeled (A, B,
learnfromtheirprotocoloperations.Routesredistributedfrom
...),androutingprocessesaredenotedby<router>.<routing-
the local FIB apparently will not be considered by the route
instance>, e.g., D:1 designates the RIP process in router D.
selection procedure. Continuing from the previous example,
supposeY hasalowerADthanX.Therouterwillnotswitch t1 Initially, only A’s FIB has an entry to P. After
starting the RIP process on A, the connected route
to designate Y as the selected process for P after the route
is redistributed into RIP (i.e., A.1).
redistribution from X to Y. In other words, RR does not
impactlocalrouteselection.However,sinceitispossible(and t2 D’s FIB includes an entry to P. The route is learnt
from RIP and points to B.
quite often) that a routing process disseminates redistributed
routes to other routers in the same routing instance, RR does t3 E’s FIB contains a route to P with D as the next-
hop: This is because D redistributes the route from
3
its FIB, preferring the route from 2. Consequently,
Routing Routing D (respectively, C) stops announcing the route into
Instance 1 Router C Instance 2 2 but redistributes the route from 2 to 1.
RIP (120) CiscoSystemsWCaotraklgyrsotup Switch OSPF (110) t3 Becausebothroutersceasetoadvertisetherouteinto
2, this routing instance no longer has a route to the
Router B Router E
CiscoSystemsWCaotraklgyrsotup Switch CiscoSystemsWCaotraklgyrsotup Switch destination.
t4 C andD onlyhaveonewaytoreachthedestination
Router A Router D (i.e., through C:1 and D:1). Therefore, they each
CiscoSystemsWCaotraklgyrsotup Switch CiscoSystemsWCaotraklgyrsotup Switch update their FIB and redistribute the route from 1
into 2.
Notingthatthestates at(t1)and(t4)areidentical,theroute
Fig. 5. Routers C and D are performing mutual route redistribution. The oscillates between the two routing instances.
redistributioncanresultinpersistentroutingloops(C-B-D-E-C)forpre(cid:2)xes Onemayarguethatsuchoscillations,eventhoughpossible,
originatedfromtheRIPdomainorinjectedintotheRIPdomain(e.g.,through are not likely to occur in practice. For these oscillations to
routerA)
happen,thesignalingmessagesfromtheredistributingrouters
RIP into IGRP (i.e., D.1 into D.3). mustbeprocessedinaspeci(cid:2)csequenceorder.Routers’load,
t4 C’s FIB presents a route to P. The installed route link delay and other factors will most probably disrupt this
is from OSPF (i.e., C.2) and E is the next-hop: C synchronization putting an end to the oscillation. We later
receives two routes from RIP (from B) and OSPF showthatRR canactuallycausepermanentrouteoscillations,
(fromE).SinceOSPFpresentsalowerAD(110vs. independent of any race conditions.
120), the latter route is selected.
t5 AsB receivestheroutefromAandtheredistributed IV. AMODELFORROUTEREDISTRIBUTION
one from C, we observe 2 cases.
To analyze RR, we introduce a model consisting of three
(cid:15) If the route from C presents a lower metric, C distinct components (cid:150) 1) Per-Router Route Selection and RR
becomes the next-hop, causing a routing loop Logics,2)RoutePropagationGraph,and3)Network-wideRR
(B-C-E-D-B). Logic. The (cid:2)rst component abstracts the router behavior. We
(cid:15) If the route from A presents a lower metric, A introducetwologicscorrespondingtothelocalrouteselection
remains the next-hop resulting in a sub-optimal and RR procedures. These logics enable the derivation of the
path (D, E, C, B, A) from D to A. actual active routes and of the routes that are redistributed at
Whenrepeatingtheexperiment,theloopsometimesformed each redistributing router. While these logics provide a local
intheoppositedirection(B-D-E-C-B)becauseofadifferent view of the operations at each router, we also need a global
order of routing message arrivals. view of the interactions between the redistributing routers in
This con(cid:2)guration consisted of three routing instances. order to determine the paths taken by the data traf(cid:2)c from
However, networks with only two routing instances can be each routing instance. To analyze the exchange of routing
vulnerable as well. The con(cid:2)guration in Figure 5 shows an information between the redistributing routers, we propose a
example. The network may be migrating from RIP to OSPF. secondcomponentofthemodel(cid:150)theroutepropagationgraph.
Mutualredistributionisperformedattworedistributingrouters This graph provides a global view of the routing instances
toexchangeroutinginformationandtoallowdomainbackup. present in a network and their RR con(cid:2)guration. Finally, an
When C (cid:2)rst redistributed the route from C:1 into C:2, D integrationofthetwopreviouscomponentsproducesthethird
received two choices and preferred D:2 because of the lower component (cid:150) a network-wide RR logic. This last component
AD. Then, D redistributed D:2 into D:1 and B switched to modelsthedynamicexchangeofroutinginformationbetween
useDasitsnext-hopwhentheredistributedroutehadalower the routers and consequently allow us to predict the paths
metric value, resulting in a routing loop C-B-D-E-C. takenbythedatapackets.Understandingthesedata(cid:3)ows can
reveal the formation of oscillations, routing loops and other
B. Scenario 2: Route Oscillation
instabilities.
The con(cid:2)guration in Figure 5 can also experience severe The model applies to existing routing protocols with the
routeoscillations.[3]describesasimilarscenarioandexplains exception of BGP because both the route selection and route
that the following hypothetical sequence of events can cause redistributionlogicsofthisprotocoldifferfromthoseofother
route (cid:3)apping.If C and D simultaneouslyredistribute P into routing protocols. In terms of route selection logic, BGP
routing process 2 and then update their FIB at the (cid:147)same(cid:148) processes(cid:2)rstlookattheBGP AS PATH parametertodecide
time, the route (cid:3)aps between the 2 routing instances: whether to consider a route whereas other routing protocols
t1 C (respectively,D) learns a routefromC:1 (respec- considerall incoming routes. BGP’s route redistributionlogic
tively,D:1).C (respectively,D)redistributesP from also differs from that of other routing protocols: each vendor
C:1 into C:2 (respectively, from D:1 into D:2.) hasde(cid:2)neditsownsetofproprietaryoptionsforredistributing
t2 D(respectively,C)receivestworoutesfrom1and2. BGP from and into existing IGPs [7], [8], [9].
AstheADof2islower,D(respectively,C)updates TheproposedmodelcouldbeextendedtoincludeBGP,but
4
ROUTE SELECTION LOGIC RR LOGIC 6: selected-process(P) x
PRrooucteinssg Filters RPrRoouIcBteinssg Filters PRrooucteinssg 78:: sSeelleeccttebde-pstrorcoeustse(fPr)o.mads elecxte.add-process(P)(according
to metric) and install it in FIB
RProoucteinssg Filters PRrRoouIcBteinssg AD R Filters PRrooucteinssg 9: active-route(P) selected best route
PRrooucteinssg Filters RPrRoouIcBteinssg based Selection FIB edistribution Filters PRrooucteinssg t11h01e::TRheenRnde,nloftdohgreiicf.router redistributes the active route according to
(eLR.goo.cu, atselt atic) Filters RPrRoouIcBteinssg Procedure RR at router r
1: for allroutingprocessy2RP suchthatredistributionof
Fig. 6. Per-router route selection and route redistribution logics. A router
(cid:2)rst selects the preferred routing process based on the AD values. Then, it P from selected-process(P) to y is enabled do
installsthebestrouteintheFIB,andredistributes theactiverouteaccording 2: if permitted by RR (cid:2)lter between the two processes
tothecon(cid:2)gured policies.
then
we decidetoset asidethis protocoltokeep themodelsimple. 3: redistribute active(P) into y, and
4: set route attributes according to the RR (cid:2)lter
A. The Per-Router Route Selection and RR Logics
5: end if
Arouter’soperationsrelatedtoRRcanbedecomposedinto 6: end for
twomainsteps (seeFigure6).First,therouterselectsthebest It is important to note that a redistributed route is marked
route accordingto the route selection logic1, and installs it in withthe localFIB as thesourceoftherouteorstoredoutside
the FIB. A routing process possesses a route to P in its RIB the target process’s regular RIB, and as such it will not
either because it has originated the pre(cid:2)x or because it has be offered back to the same FIB. For the same reason, a
receiveda routeadvertisementfromaneighborrouterandthe redistributedroutewill beremovedifthe originalactiveroute
routehaspassedtheimport(cid:2)lter(s)con(cid:2)guredforthisrouting is no longer present in the FIB.
process. Among the routing processes offering a route to P,
the router chooses the one with the lowest AD. And, within B. The Route Propagation Graph
this selected routing process, the router picks the best route. To analyze RR, we extend the routing instance graph,
The installed route is also called the active route. Then, the introduced in [1] to represent the network-wide static RR
routerredistributestheactiverouteaccordingtotheRR logic. con(cid:2)guration among routing instances.
Thefollowingrouteselectionlogicis triggeredeitherwhen We de(cid:2)ne a weighted directed graph G = <V, R, O, E,
a new route to P is installed in the RIB of one of the routing D>called theroutepropagationgraphto modelthe complete
processesorwhenthepreviouslyactiverouteintheFIB isno route redistribution con(cid:2)guration with respect to a pre(cid:2)x P.
longer available (e.g., the router announcing the initial route Each routing instance is represented by a vertex u 2 V, and
may have withdrawn it after a network failure). associated with its default AD (see Figure 7). Static routes
Considering a router r, let RP be the set of routing and directly connected subnets are often redistributed into
processes running on r. Each routing process x 2 RP has routing protocols. We use two special vertices to represent
a RIB, x.RIB, and an AD x.ad. For a destination P, let the origins of these two types of routes. The set O (cid:18) V is
selected-process(P) be the selected routing process for P the set of routing instances that originate the pre(cid:2)x P. Each
and active-route(P) the installed route used for forwarding vertex o2O is represented as a striped vertex. A destination
purposes at r. Initially, we set selected-process(P) = NULL may be originated by several routing instances. The set R
and active-route(P) = NULL. designatesthe routersthatperformrouteredistributionamong
routing instances of V. For each route redistribution from
ProcedureRouteselectionatrouterr routing instance u to routing instance y performed by r 2R,
1: for all routingprocessx2RP that receivesa routetoP we represent such redistribution by a dashed edge from u
do to v. The edge is marked with r to indicate the router that
2: Apply local (cid:2)lters to the route is redistributing the route between the two routing instances.
3: end for We note such edge <u, v, r>. As described in section II,
4: forallroutingprocessx2RP suchthatP 2x:RIB do the default AD of a routing process can be overridden by
5: if (selected-process(P) = NULL) OR (x.ad < selected- a customized value at each router. In such case, we add
process(P).ad) OR (x.ad == selected-process(P).ad the customized AD of the routing process(es) at router r
AND rand(0, 1) == 1) then to the edge. A redistribution from u to v by router r, with
customizedADvaluesforbothprocessesr:u(d1)andr:v(d2),
1The route selection procedure may be vendor speci(cid:2)c. Some implemen- isrepresentedbyanedgefromutov labeled(cid:147)d1, r, d2(cid:148)(see
tations may maintain the existing selected routing process when the AD of
Figure 9). For RR using the default AD values, the d values
the routing process advertising thenew route isnotstrictly smaller than the
currently selected one. are omitted from the edge.
5
(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:3)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:4)(cid:1)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:3)(cid:4)(cid:4)(cid:4)(cid:4)(cid:4)(cid:4)(cid:4) oprriogciensasting routing ninetwthoerkR-wRidegrRapRhlofogricaussepsecai(cid:2)vcariaacbtlievactaiollnedsecqanudenidcaet.e-Tlihste,
Instance 2
C OSPF CL, for storing the list of all routers from R to be activated,
(110)
and another variable S for tracking the subset of routers
(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)In(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)s((cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)tR1a(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)2InP0c(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1))e(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1) 1(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:0)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:2)(cid:1)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:0)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2)(cid:2) CD E E rcaehcdtaiinvsgatrteiebsduftrioaomtn deeaavcsehhnetdstitmboyesoslsoitdlei,dpi..ee.dW,giesesa.cretAipvraertseeeddni,stitfria(bc1ut)utitaohlnerreooduugtteee
Instance 3 to be redistributed is active and (2) the policy con(cid:2)gured
D IGRP
for that edge permits this route to be redistributed. Also,
(100)
we represent the data paths by thick solid arrows. Finally, a
Fig.7. Illustrationoftheroutepropagationgraphofthenetworkinscenario routing instance colored in white indicates that it does not
1.Thevaluesinbrackets indicate thedefault ADoftheroutinginstances. have a route to P, whereas a routinginstance coloredin dark
In addition, for every router r 2 R, we need to represent means that the routing instance does.
all theroutingprocessesrunningonr, includingtheonesthat
are not part of the RR con(cid:2)guration. The reason is that these Procedure Network-wide RR
routingprocessesaffecttherouteselectionandRRlogics.For Initialization
example, consider a router r running three routing processes 1: t=0
x, y, and z. Even though the redistribution from x into y is 2: Insert the redistributing routers that have an edge either
enabled,xmaynotredistributeanyrouteintoy whenz is the from or to an originating vertex into CL.
selected routing process at r. A routing process of r which Main loop
participates in routing instance w but is not part of the RR 1: while CL 6= EMPTY SET do
con(cid:2)guration is represented by an edge from w to w marked 2: t++
by r (Figure 10). 3: Remove a subset S of routers from CL
Itisimportanttonotethateachvertexisaroutinginstance, 4: for all router r 2S concurrently do
but a router deals with routing processes, each of which is a 5: Execute route-selection logic at r
member of a routing instance. When a route is redistributed 6: if r’s selected routing process has changed then
into a routing instance, every routing process of that instance 7: //let r.u denotes the new selected routing process
should eventually receive an advertisement of that route. 8: De-activate all edges labeled r
The RR graph of the network in Figure 4 is illustrated in 9: if thereis nocon(cid:2)guredredistributionfromnorto
Figure 7. The dashed edge from RIP to OSPF, labeled C, r.u then
indicates that router C is con(cid:2)gured to redistribute P from 10: Activate edge <u,u,r> //to mark the selected
the RIP process into the OSPF process. routing process at r
11: else
C. The Network-wide RR Logic
12: Execute route-redistribution logic at r
Thetwopreviouscomponentsofthemodelarenotsuf(cid:2)cient 13: for all routing processes r:v running on r do
to derivethe data paths. The (cid:2)rst component,per-routerroute 14: if r is redistributing a route to P from r.u
selection and RR logics, focuses only on a single router. into r.v then
However,thereceivedroutingmessagesateachrouterdepend 15: Activate edge <u,v,r>
on that router’s interaction with other routers. Looking at a 16: end if
single router at a time does not allow us to derive the actual 17: end for
inputs and outputs of the router. The second component, the 18: for all vertex v to which <u,v,r> is activated
route propagation graph, only represents the topology and do
the con(cid:2)guration of the network. In both components, the 19: insert routers that have an edge from or to v
network-wide dynamics are missing. To model this crucial into CL (if not already present)
information, we introduce a third component, the Network- 20: end for
wide RR Logic. 21: end if
To analyze the exchange of routing information among 22: end if
the routing instances and derive the active routes, we adopt 23: end for
the activation sequence concept suggested in [10]. At each 24: for all vertice u2V nO do
time step, a set of redistributing routers in R are activated. 25: ifthereisnoactiveedgefromaroutinginstanceother
When activated, a node performs the route selection and RR than u pointing into u then
procedures. Because the set of routers that are activated at 26: Color u in white
eachtimestepisarbitrary,wemayobtainadifferentoutcome 27: Insert routersthat have anactiveedgefromu into
for each run. CL (if not already present)
The following describes a logic to derive the propagation 28: elseifthereisanactiveedgefromaroutinginstance
of signaling messages and identify the actual redistributions
6
other than u pointing into u then
t=0
29: Color u in dark LEGEND Instance 2
333012:::Weenderenfwdeenhrfdioltreoifthe sequence of RR graphs in an activation (cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:8)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:9)(cid:6)(cid:8)(cid:8)(cid:8)(cid:8)(cid:8)(cid:8)(cid:8)(cid:8)(cid:9)(cid:9)(cid:9)(cid:9)(cid:9)(cid:9)(cid:9)(cid:9) pocrareeocrrddoitngiiicfvssiienettgsrr auiisrtbboriuuenudttgtiie oorrnnoouutteing (cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)In(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)s((cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)1tRa2(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)In0Pc(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6))e(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6) 1(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:7)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:6)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:5)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)(cid:7)C CD EO(S11P0F)E
sequenceasroutingstates.Wesaythataroutingstateisstable D Instance 3
data path IGRP
when all the redistributing routers have selected their best CL = {C, D} (100)
option among the available choices and there is no signaling
message in transit in the network (i.e., CL and S are empty). S = {C, D}
V. DISCLOSURE OFINSTABILITIESUSINGRR MODEL
t=2 Instance 2 t=1 Instance 2
This section and the next one (section VI) present two OSPF OSPF
C C
(110) (110)
applications of the RR model. This section studies the net-
wrdoeouvrtekilnogwpeiiddnefRorrRomuamtitnioogdnedlayannldlaomtwoiscsdu:estseetcocttaipononatleyVnz-teAiatlheeixnpspltraaoibnpisaligthiaeotsiwoinnthoaef (cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)In(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)s(R(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)t1aI(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)2nP0c(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6))e(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6) 1(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:12)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:13)(cid:6)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:12)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13)(cid:13) DC E E S = {E} (cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)In(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)s(R(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)1ta2I(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)nP0c(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6))e(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6) 1(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:14)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:15)(cid:6)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:14)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15)(cid:15) CD E E
Instance 3 Instance 3
network. Based on the derived insight, section V-B reveals D IGRP D IGRP
new instabilities that RR can cause. New CL = {C} (100) New CL = {E} (100)
A. Detection of Instabilities S = {C}
The routing states can expose instabilities that can re-
sult from RR. Considering a routing state, we de(cid:2)ne a t=3 Instance 2 t=4 Instance 2
cycle as a set of k distinct routers r1;r2;:::;rk 2 R such C O(S11P0F) C O(1S1P0F)
t<tthiimmauAtee1;<ttup,ce2u,ar;n1smr;ud1uac>unh2e;1,tnrh<=1ta>utcu2,yfk;oc+u<rle13au.;l2rilAn;2tu>c>a3y,;c.rRtl.2c.e,R>,i<ts,hguep.rk.ea.c;r,pymuhc<kal+eund1eoki;sne;rtsupkikr>fn+eost1heat;enrreritkmei>anpecxltGyii2vs.ettshEaaet, (cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)In(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)sR((cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)t1aI(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)2nP0c(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6))e(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6) 1(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:11)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)(cid:10)(cid:6)D(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:10)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11)(cid:11) DC EInsIGtaRncPe E3 S = {D} (cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)In(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)s(R(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)1ta2I(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)nP0c(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6))e(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6) 1(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:16)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:17)(cid:6)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:16)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)(cid:17)D CD IEnsItGanRcPe E3
existence of a persistent routingloop.As describedin section New CL = {D} (100) New CL = { } (100)
III, depending on the internal metrics within the routing
Fig.8. Illustration ofanactivation sequence andthecorresponding routing
instances, either a persistent routing loop may form, or a statesforthenetworkinscenario1.
sub-optimal routing path may arise. Both consequences are
selected routing process and redistributes the route
unwantedandconsequently,permanentcyclesareundesirable.
from E:3 into E:2. The edge from E:3 to E:2
The RR model allows us to analyze the propagation of
becomes solid to indicate that the corresponding
routing information for different activation sequences and
redistribution is active. Since C is connected to 2,
consequently,detectthepotentialformationofcycle.Figure8
C is added to CL(t=2). CL(t=2) = fCg.
illustratesanactivationsequencewhichconvergestoaperma-
t=3 WeassumeS(t=3)=fCg.RouterC hastwochoices
nent cycle in the network of Figure 4.
to reach P (through C:1 and C:2). Because C:2’s
t=0 A route P is originated by the RIP routing instance AD is lower than the one from C:1, C:2 becomes
(1). Routers C and D are connected to 1. Conse- theselectedroutingprocessatC andC redistributes
quently, CL(t=0) = fC, Dg. from C:2 into C:1. The edge from C:1 to C:2 is
t=1 We assume S(t=1) = fC, Dg (cid:18) CL(t=0). We de-activated and instead the one from C:2 to C:1 is
run the route selection and RR logics at routers C active. We have CL(t=3) = fDg.
and D. C learns a route to P through C:1 and t=4 WeassumeS(t=4)=fDg.D hasonlyonechoiceto
redistributesitfromC:1intoC:2.Thecorresponding the destination (i.e., through D:1). No other router
edge (from C:1 to C:2) becomes solid to indicate than D announces a route to P into 3. Therefore,
that the redistribution is active. Router E which is D maintains its selected routing process (D:1), and
connected to 2 is inserted into CL. Similarly, D CL(t=4) = EMPTY SET.
learns a route to P and redistributes it from D:1 to
D:3.TheedgefromD:1toD:3alsobecomessolid. Thepaths (thickarrows)taken by the datapackets to reach
We have CL(t=1) = fEg. P are represented in the (cid:2)nal graph. They form a cycle that
t=2 WeassumeS(t=2)=fEg.Weruntherouteselection reveals the potential formation of a routing loop.
and RR logics at router E. Router E is receiving Some con(cid:2)gurations of RR always converge to a state
a route to P through E:2 and E:3. Because E:3 containing a cycle (independentlyof the activation sequence)
presents a lower AD (100), E selects E:3 as its (e.g., Figure 4). Other con(cid:2)gurations always converge to a
7
#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)(#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)910#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)#(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19)$(cid:19))########$$$$$$$$ AAD (1020)C, 105BB (930) t=0 0&0&0&0&0&0&0&0&1&1&1&1&1&1&1&1&0&0&0&0&0&0&0&0&1&1&1&1&1&1&1&1&(0&0&0&0&0&0&0&0&1&1&1&1&1&1&1&1&8100&0&0&0&0&0&0&0&1&1&1&1&1&1&1&1&)0000000011111111 C (1120) A (930) B (840) A
Sequence 1 D 105, C Sequence 2
4 A
(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)((cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)910(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:21)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19)(cid:22)(cid:19))(cid:21)(cid:21)(cid:21)(cid:21)(cid:21)(cid:21)(cid:21)(cid:21)(cid:22)(cid:22)(cid:22)(cid:22)(cid:22)(cid:22)(cid:22)(cid:22) A (1020) (930) (80) (cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)((cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)910(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:18)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19)(cid:20)(cid:19))(cid:18)(cid:18)(cid:18)(cid:18)(cid:18)(cid:18)(cid:18)(cid:18)(cid:20)(cid:20)(cid:20)(cid:20)(cid:20)(cid:20)(cid:20)(cid:20) A (1020) (930) t=1 .&.&.&.&.&.&.&.&/&/&/&/&/&/&/&/&.&.&.&.&.&.&.&.&/&/&/&/&/&/&/&/&(.&.&.&.&.&.&.&.&/&/&/&/&/&/&/&/&810.&.&.&.&.&.&.&.&/&/&/&/&/&/&/&/&)........//////// C (1120) A (930) B (840)
A
(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)((cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)910(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:23)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19)(cid:24)(cid:19))(cid:23)(cid:23)(cid:23)(cid:23)(cid:23)(cid:23)(cid:23)(cid:23)(cid:24)(cid:24)(cid:24)(cid:24)(cid:24)(cid:24)(cid:24)(cid:24) AD (((1880244000))) (930) (cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)((cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)910(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:25)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19)(cid:26)(cid:19))(cid:25)(cid:25)(cid:25)(cid:25)(cid:25)(cid:25)(cid:25)(cid:25)(cid:26)(cid:26)(cid:26)(cid:26)(cid:26)(cid:26)(cid:26)(cid:26) A ((18044200)) B (930) tt==23 %&%&%&%&%&%&%&%&’&’&’&’&’&’&’&’&(&(&(&(&(&(&(&(&)&)&)&)&)&)&)&)&%&%&%&%&%&%&%&%&’&’&’&’&’&’&’&’&(&(&(&(&(&(&(&(&)&)&)&)&)&)&)&)&((%&%&%&%&%&%&%&%&’&’&’&’&’&’&’&’&(&(&(&(&(&(&(&(&)&)&)&)&)&)&)&)&881100%&%&%&%&%&%&%&%&’&’&’&’&’&’&’&’&(&(&(&(&(&(&(&(&)&)&)&)&)&)&)&)&))%%%%%%%%’’’’’’’’(((((((()))))))) CC ((11112200)) AA ((993300)) BB ((884400)) A
(80)
(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)((cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)910(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:27)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19)(cid:28)(cid:19))(cid:27)(cid:27)(cid:27)(cid:27)(cid:27)(cid:27)(cid:27)(cid:27)(cid:27)(cid:28)(cid:28)(cid:28)(cid:28)(cid:28)(cid:28)(cid:28)(cid:28)(cid:28) AD (1020) (930) (cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19)((cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19)910(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19)(cid:31)(cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19) (cid:19))(cid:31)(cid:31)(cid:31)(cid:31)(cid:31)(cid:31)(cid:31)(cid:31) A (1020)C, 10B5 (930) t=4 *&*&*&*&*&*&*&*&+&+&+&+&+&+&+&+&*&*&*&*&*&*&*&*&+&+&+&+&+&+&+&+&(*&*&*&*&*&*&*&*&+&+&+&+&+&+&+&+&810*&*&*&*&*&*&*&*&+&+&+&+&+&+&+&+&)********++++++++ C (1120) A (930) B (840) A
105, C
(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)((cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)910(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:29)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19)(cid:30)(cid:19))(cid:29)(cid:29)(cid:29)(cid:29)(cid:29)(cid:29)(cid:29)(cid:29)(cid:30)(cid:30)(cid:30)(cid:30)(cid:30)(cid:30)(cid:30)(cid:30) AD ((1804200)) B (930) !(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)(!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)910!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)!(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19)"(cid:19))!!!!!!!!"""""""" A ((1804200))C, 10B5 (930) t=5 ,&,&,&,&,&,&,&,&-&-&-&-&-&-&-&-&,&,&,&,&,&,&,&,&-&-&-&-&-&-&-&-&(,&,&,&,&,&,&,&,&-&-&-&-&-&-&-&-&810,&,&,&,&,&,&,&,&-&-&-&-&-&-&-&-&),,,,,,,,-------- C (1120) A (930) B (840) AA
(840) 105, C D (840) t=6 2&2&2&2&2&2&2&2&3&3&3&3&3&3&3&3&2&2&2&2&2&2&2&2&3&3&3&3&3&3&3&3&(2&2&2&2&2&2&2&2&3&3&3&3&3&3&3&3&8102&2&2&2&2&2&2&2&3&3&3&3&3&3&3&3&)2222222233333333 C (1120) A (930) B (840)
Fig. 10. Scenario 4. Illustration of permanent route (cid:3)ap. Router A runs 3
routing processes but no redistribution is enabled neither from nor to A:4.
Configured Route Active Route
Redistribution Redistribution Data Path Theroutingstateshighlighttheformationofpermanentoscillationssincethe
statesatt=2andt=6areidentical.
Fig.9. Scenario 3.Detection of persistent routing loops. Sequence 1does
not result in any routing loop but sequence 2 discloses a potential routing and from A:4. Because A:4 has a lower AD, A:4
loop.Thevalues ontheedges represent the customized AD:router C hasa becomesthe selected routingprocess. Consequently,
customizedAD(105)valueforroutingprocess4,overridingthedefaultvalue
A stops redistributing from A:2 into A:3.
(80).
t=5 BecauseAstoppedredistributingfromA:2intoA:3,
cycle-free state. Some con(cid:2)gurations can converge to a state B nolongerreceivesanyannouncement.B removes
which includes a cycle depending on the activation sequence the route and stops announcingit into B:4.
(for example, scenario 3 of Figure 9). Finally, some con(cid:2)gu- t=6 Consequently, A:4 no longer receives a route to the
rations may convergeafter some arbitrarytime (sectionIII-B, destination either. Instead, A learns the route from
Figure 5) and others may always diverge (section V-B). A:2 and redistributes it into A:3. We note that this
We say that a RR con(cid:2)guration is safe if for all activa- state is identical to the one at t=2. A permanent
tion sequences, the execution of the network-wide RR logic routeoscillationhasformed.Thisinstabilityhasbeen
converges to a cycle free state. observed in the conducted experiments.
These permanent oscillations come from the fact that the
B. Disclosure of New Instabilities
redistributionof the routesinto the routingprocesses depends
Vendor documentation[2], [3] mentionedthe potential for- on the routes present in the FIB, which in turn dependon the
mationofroutingloop,sub-optimalroutingandroute(cid:3)apping routes present in the routing processes. Section II explained
in certain race conditions as illustrated in section III. Our thatroutesredistributedfromarouterdoesnotdirectlyimpact
modelshowsnewinstabilitiesthatcanresultfromRR.Perma- the local route selection. However, since the redistributed
nent route oscillations,independentfrom anyrace conditions, routes may get further redistributed, those routes can come
can indeed appear due to improper RR con(cid:2)guration. back and ultimately affect the route selection outcomes.
To demonstrate the formation of permanent route oscilla-
tions,weconsiderthetopologyinscenario4(Figure10).The VI. TOWARDSINSTABILITY-FREERR CONFIGURATION
corresponding RR graph is depicted at the top of the (cid:2)gure
(t=0). A pre(cid:2)x is originated by routing instance 1.
In this section, we investigate how to determine if a given
t=1 C learns a route to the pre(cid:2)x through C:1 and RR con(cid:2)guration can result in instabilities. First, we demon-
redistributes the route from C:1 into C:2. strate that determining whether a con(cid:2)guration can converge
t=2 A learns a route through A:2 and redistributes the to a state containing a cycle is a NP-hard problem. The
route from A:2 into A:3. complexity of the task motivates the search for suf(cid:2)cient
t=3 B receives the route through B:3, installs it in its conditions.InsectionVI-B,weintroduceasuf(cid:2)cientcondition
FIB and redistributes the route from B:3 into B:4. guaranteeing that a RR con(cid:2)guration does not result in any
t=4 A receives two routes to the destination: from A:2 persistent routing loop or oscillations.
8
Such graph can be computed from B in polynomial times.
X X
(80j) a j b j (80j) Figure13providesanillustrationofthegraphforB =(X1_
Y X2_X3)^(X1_X2_X3)^(X1_X2_X3). We nowshow
j
(80) that the transformation of B into G is a reduction
a j b j ) We show that if B has a satisfying assignment, there
45454545454545456565656565656565(45454545454545456565656565656565(9oa045454545454545456565656565656565))4444444466666666 isstaateniancctlivuadteisonasceyqculeenocfeascutcivhethraetdiGstrcibountvioenrgse<saUn1d;Uth2e;e(cid:2)1n>al,
Xj Xj Xj Xj <U2;U3;e2>, ..., <Um;U1;em>. B having a satisfying as-
(80) a b (80) (80) a b (80)
j j j j signment implies that each clause C contains at least one
k
(Y80j) (Y80j) literallik (1(cid:20)i(cid:20)3)withaTRUE value.Byde(cid:2)nitionofthe
variable assignment (Figures 11b, 11c) and by construction
a b a b
j j j j
of G, the router g (1 (cid:20) j (cid:20) n) or g redistributes a route
(b) X75757575757575758585858585858585 (75757575757575758585858585858585j 9=o075757575757575758585858585858585 )T7777777788888888RUE (c) X9595959595959595:5:5:5:5:5:5:5:5 (9595959595959595:5:5:5:5:5:5:5:5 j9=o09595959595959595:5:5:5:5:5:5:5:5 )F99999999::::::::ALSE rforoumtinXgjinostranXcje CinkjtohtahsearorouutitnegtoinPsta.nTjcheeCn,k8.kA2s s[1u;cmh,],eathche
router f redistributes the route from C into U .
k k k
Fig. 11. Conversion of variable into subgraph. Each variable Xj is repre- Every router ek is running four processes (Uk, Uk+1, Wk
sented by the topology in (cid:2)gure (a). Depending on the activation sequence,
andZ ).WeshowthatU istheselectedroutingprocessate :
wecanobtain twodifferent stable routing states depicted by(cid:2)gures(b)and k k k
(c).Weassociatetheredistributionoutcomeof(cid:2)gure(b)withTRUEassigned OnlyprocessesUk andUk+1 havearoute.Zk doesnothavea
toXj andthatof(cid:2)gure(c)with FALSEassigned toXj. routesince routerdk picks Ck as its selected routingprocess.
Consequently,no router announcesa route to Z , and neither
A. Complexity of Route Redistribution Analysis k
Zk nor Wk have a route to P. Between Uk and Uk+1, Uk
presentsa loweradministrativedistance at e andis therefore
We show that given a RR con(cid:2)guration, determining k
preferred.As such 8k 2[1;m],the routere learns a routeto
whether the redistributions converge to a state containing a k
cycle is NP-hard. P from Uk and redistributes it into Uk+1.
Problem: considering a route propagation graph <V, R, O, The redistributions converge, and <U1;U2;e1>,
E, D>, we ask whether there exists an activation sequence <U2;U3;e2>, ..., <Um;U1;em> form a cycle (Figure 13).
( For the other direction, we want to show that if G has
suchthattheredistributionsconvergetoastatewhichincludes
converged to a stable state containing a permanent cycle of
acycleofactiveredistributions.Wewillcallthisproblem,the
activeredistributions,thenthereexistsanassignmentsuchthat
Route Redistribution Con(cid:2)guration - Cycle Detection (RRC-
the Boolean expression B is true.
CD) problem.
Suppose that G has converged and contains a cycle. The
Theorem 6.1: the RRC-CD problem is NP-hard.
Proof: The proof is inspired from [11]. only possible cycle is composed of the edges <U1;U2;e1>,
To show that RRC-CD is NP-hard,we rely on the fact that <U2;U3;e2>, ..., <Um;U1;em>.
the 3-CNF SAT problem is a NP-complete problem [12]. We We show that routing instances C1;C2;:::;Cm all have a
stable route to P. We prove it by contradiction: we assume
more speci(cid:2)cally prove that RRC-CD (cid:21) 3-CNF SAT. We
p
that there exists a routing instance C (1 (cid:20) i (cid:20) m), with
consideraninstanceof3-CNFSAT,i.e., a set ofmclauses of k
no stable route to P. This imples that none of the g nor g
lengthatmost3overnBooleanvariables:B =C1^C2^:::^ j j
(1(cid:20)j (cid:20)n) redistributes a stable route into C .
C with each clause C ;(1(cid:20)k (cid:20)m), composed of at most k
m k
Considering router d , it runs 4 routing processes (C , o,
threedistinctliterals:C =lk_lk_lk.Eachlk(1(cid:20)i(cid:20)3)isof k k
k 1 2 3 i V and Z ). Because only o has a stable route to P, d
simple form of a single variable: X or X (1(cid:20)j (cid:20)n). We k k k
j j
redistributesfromo into Z . (C does not havea stable route
constructaroutepropagationgraphGsuchthatBissatis(cid:2)able k k
to P by assumption. Consequently, because of the topology
if and only if there exists an activation sequence such that G
of G, V does not either). Then, routere learns a route to P
convergestoastateincludingacycleofactiveredistributions. k k
fromZ andredistributes it into W . Independentof whether
We construct G as follows: k k
1) O contains an originating vertex o. Uk has a route to P or not (e.g., from Uk(cid:0)1), ek picks Zk
as its selected routingprocess since Z is the routingprocess
2) For each clause C , insert new node labeled C into V k
k k
For each literal lk (1(cid:20)i(cid:20)3) of the form X or X with the lowest AD at ek. The edge <Uk,Uk+1,ek> is not
i j j active.
(1(cid:20)j (cid:20)n).
This contradicts with the initial assumption that
If X 2= V, add the subgraph Figure 11a into G,
j
If lk ==X , insert edge from X to C labeled g <U1;U2;e1>, <U2;U3;e2>, ..., <Um;U1;em> form a
i j j k j cycle of active redistributions.
Iflk ==X ,insertedgefromX toC labelledg
i j j k j To summarize, we have proven that 8k 2[1;m], C has a
3)ForeachC (1(cid:20)k (cid:20)m),addthenodesU ;V ;Z ;W k
k k k k k
stableroutetoP.Inotherwords,8k 2[1;m],oneoftheg (or
and the associated edges as illustrated in Figure 12. j
g )announcesastablefromX (orX )intoC .Byassigning
4) For each Ck(1(cid:20)k (cid:20)m), add edge from Uk to Uk+1 j j j k
the corresponding X (or X ) the value true, we obtain an
(Um+1=U1) with label (cid:147)dk;ek(cid:148) where the customized AD j j
assignmentthatsatis(cid:2)esB sinceeveryclauseincludesaliteral
of dk(= 90) forces ek to prefer Zk over Uk over Uk+1.
9