Upload
duongthuan
View
229
Download
0
Embed Size (px)
Citation preview
CDS270: Optimization, Game and Layering in Communication Networks
Lectures 6-7: Network Routing and Path Algebra
Lijun Chen
11/15,17/2006
Agenda
2
Lecture 6: review on network routingInternetworkingIntradomain routingInterdomain routing
Lecture 7: an algebraic framework of network routing
Agenda
3
Lecture 6: review on network routingInternetworkingIntradomain routingInterdomain routing
Lecture 7: an algebraic framework of network routing
Acknowledgement
4
Thanks to Prof. Jennifer Rexford at Princeton for letting me use and modify her lecture slides on routing.
Simple Network: Nodes and a Link
5
Node Link NodeNode: computer
End host: general-purpose computer, cell phone, PDANetwork node: switch or router
Link: physical medium connecting nodesTwisted pair: the wire that connects to telephonesCoaxial cable: the wire that connects to TV setsOptical fiber: high-bandwidth long-distance linksSpace: propagation of radio waves, microwaves, …
Network Components
6
Fibers
Coaxial Cable
Links Interfaces Switches/routers
Ethernet card Large router
Wireless card
Telephoneswitch
Connecting More Than Two Hosts
7
Multi-access link: Ethernet, wirelessSingle physical link, shared by multiple nodesLimitations on distance and number of nodes
Point-to-point links: fiber-optic cableOnly two nodes (separate link per pair of nodes)Limitations on the number of adapters per node
multi-access linkpoint-to-point links
Beyond Directly-Connected Networks
8
Switched networkEnd hosts at the edgeNetwork nodes that switch trafficLinks between the nodes
MultiplexingMany end hosts communicate over the networkTraffic shares access to the same links
Circuit Switching (e.g., Phone Network)
9
Source establishes connection to destinationNodes along the path store connection infoNodes may reserve resources for the connection
Source sends data over the connectionNo destination address, since nodes know path
Source tears down connection when done
10
Circuit Switching With Human Operator
Circuit Switching: Multiplexing a Link
11
Time-divisionEach circuit allocated certain time slots
Frequency-divisionEach circuit allocated certain frequencies
frequency
timetime
Advantages of Circuit Switching
12
Guaranteed bandwidth Predictable communication performanceNot “best-effort” delivery with no real guarantees
Simple abstractionReliable communication channel between hostsNo worries about lost or out-of-order packets
Simple forwarding Forwarding based on time slot or frequencyNo need to inspect a packet header
Low per-packet overheadForwarding based on time slot or frequencyNo IP (and TCP/UDP) header on each packet
Disadvantages of Circuit Switching
13
Wasted bandwidthBursty traffic leads to idle connection during silent periodUnable to achieve gains from statistical multiplexing
Blocked connectionsConnection refused when resources are not sufficientUnable to offer “okay” service to everybody
Connection set-up delayNo communication until the connection is set upUnable to avoid extra latency for small data transfers
Network stateNetwork nodes must store per-connection informationUnable to avoid per-connection storage and state
Packet Switching (e.g., Internet)
14
Data traffic divided into packetsEach packet contains a header (with address of the source and destination)
Packets travel separately through networkPacket forwarding based on the headerNetwork nodes may store packets temporarily
Destination reconstructs the message
Packet Switching: Statistical Multiplexing
15
Packets
16
IP Service: Best-Effort Packet Delivery
Packet switchingDivide messages into a sequence of packetsHeaders with source and destination address
Best-effort deliveryPackets may be lostPackets may be corruptedPackets may be delivered out of order
source destination
IP network
IP Service Model: Why Packets?
17
Data traffic is burstyLogging in to remote machinesExchanging e-mail messages
Don’t want to waste reserved bandwidthNo traffic exchanged during idle periods
Better to allow multiplexingDifferent transfers share access to same links
Packets can be delivered by almost anythingRFC 2549: IP over Avian Carriers (aka birds)
… still, packet switching can be inefficientExtra header bits on every packet
IP Service Model: Why Best-Effort?
18
IP means never having to say you’re sorry…Don’t need to reserve bandwidth and memoryDon’t need to do error detection & correctionDon’t need to remember from one packet to next
Easier to survive failuresTransient disruptions are okay during failover
… but, applications do want efficient, accurate transfer of data in order, in a timely fashion
IP Service: Best-Effort is Enough
19
No error detection or correctionHigher-level protocol can provide error checking
Successive packets may not follow the same pathNot a problem as long as packets reach the destination
Packets can be delivered out-of-orderReceiver can put packets back in order (if necessary)
Packets may be lost or arbitrarily delayedSender can send the packets again (if desired)
No network congestion control (beyond “drop”)Sender can slow down in response to loss or delay
Layering in the IP Protocols
20
Internet Protocol
Transmission ControlProtocol (TCP)
User Datagram Protocol (UDP)
TelnetHTTP
SONET ATMEthernet
RTPDNSFTP
21
How to get to a destination: hop-by-hop Packet Forwarding
Each router has a forwarding tableMaps destination addresses…… to outgoing interfaces
Upon receiving a packetInspect the destination IP address in the headerIndex into the tableDetermine the outgoing interfaceForward the packet out that interface
Then, the next router in the path repeatsAnd the packet travels along the path to the destination
Where do Forwarding Tables Come From?
22
Routers have forwarding tablesMap address (prefix) to outgoing link(s)
Entries can be statically configuredE.g., “map 12.34.158.0/24 to Serial0/0.1”
But, this doesn’t adapt To failuresTo new equipmentTo the need to balance load…
That is where routing protocols come in…
What’s routing?
23
A famous quotation from RFC 791“A name indicates what we seek.An address indicates where it is.A route indicates how we get there.”
-- Jon Postel
Routing vs. Forwarding
24
Routing: control planeComputing the paths the packets will followRouters talking amongst themselvesIndividual router creating a forwarding table
Forwarding: data planeDirecting a data packet to an outgoing linkIndividual router using a forwarding table
Internet Structure
25
Federated network of Autonomous SystemsRouters and links controlled by a single entityRouting between ASes, and within an AS
1
2
34
5
67
Web client Web server
Two-Tiered Internet Routing System
26
Interdomain routing: between ASesRouting policies based on business relationshipsNo common metrics, and limited cooperationBGP: policy-based, path-vector routing protocol
Intradomain routing: within an ASShortest-path routing based on link metricsRouters all managed by a single institutionOSPF and IS-IS: link-state routing protocolRIP and EIGRP: distance-vector routing protocol
Intradomain routing
27
Path-selection modelDestination-basedLoad-insensitive (e.g., static link weights)Shortest path: minimum hop count or sum of link weights
3
2
1
14
1
4
5
3
2
Shortest-Path Problem
28
Given: network topology with link costsc(x,y): link cost from node x to node yInfinity if x and y are not direct neighbors
Compute: least-cost paths to all nodesFrom a given source u to all other nodesp(v): predecessor node along path from source to v
32
2
1
14
1
4
5
3
u
v
p(v)
Ways to Compute Shortest Paths
29
Link-stateEvery node collects complete information about network topology and link costsEach computes shortest paths from itEach generates own routing table
Distance-vectorNo one has copy of graphNodes construct their own tables iterativelyEach sends information about its table to neighbors
Dijkstra’s Shortest-Path Algorithm
30
Iterative algorithmAfter k iterations, know least-cost path to k nodes
S: nodes whose least-cost path definitively known
Initially, S = {u} where u is the source nodeAdd one node to S in each iteration
D(v): current cost of path from source to node v
Initially, D(v) = c(u,v) for all nodes v adjacent to u… and D(v) = ∞ for all other nodes vContinually update D(v) as shorter paths are learned
Dijsktra’s Algorithm
31
1 Initialization:2 S = {u} 3 for all nodes v 4 if v adjacent to u {5 D(v) = c(u,v) 6 else D(v) = ∞7 8 Loop9 find w not in S with the smallest D(w)10 add w to S 11 update D(v) for all v adjacent to w and not in S: 12 D(v) = min{D(v), D(w) + c(w,v)} 13 until all nodes in S
Dijkstra’s Algorithm Example
32
32
2
1
14
1
4
5
3
32
2
1
14
1
4
5
3
32
2
1
14
1
4
5
3
32
2
1
14
1
4
5
3
Dijkstra’s Algorithm Example
33
32
2
1
14
1
4
5
3
32
2
1
14
1
4
5
3
32
2
1
14
1
4
5
3
32
2
1
14
1
4
5
3
Shortest-Path Tree
34
Shortest-path tree from u
Forwarding table at u
32
2
1
14
1
4
5
3
u
v
w
x
y
z
s
t
v (u,v)w (u,w)x (u,w)y (u,v)z (u,v)
link
s (u,w)t (u,w)
Link-State Routing
35
Each router keeps track of its incident linksWhether the link is up or downThe cost on the link
Each router broadcasts the link stateTo give every router a complete view of the graph
Each router runs Dijkstra’s algorithmTo compute the shortest paths… and construct the forwarding table
Example protocolsOpen Shortest Path First (OSPF)Intermediate System – Intermediate System (IS-IS)
Bellman-Ford Algorithm
36
Define distances at each node xdx(y) = cost of least-cost path from x to y
Update distances based on neighborsdx(y) = min {c(x,v) + dv(y)} over all neighbors
v3
2
2
1
14
1
4
5
3
u
v
w
x
y
z
s
t du(z) = min{c(u,v) + dv(z), c(u,w) + dw(z)}
Distance Vector Algorithm
37
c(x,v) = cost for direct link from x to vNode x maintains costs of direct links c(x,v)
Dx(y) = estimate of least cost from x to yNode x maintains distance vector Dx = [Dx(y): y є N ]
Node x maintains its neighbors’ distance vectors
For each neighbor v, x maintains Dv = [Dv(y): y є N ]Each node v periodically sends Dv to its neighbors
And neighbors update their own distance vectorsDx(y) ← minv{c(x,v) + Dv(y)} for each node y ∊ N
Over time, the distance vector Dx converges
Distance Vector Algorithm
38
wait for (change in local link cost or message from neighbor)
recompute estimates
if DV to any destination has changed, notify neighbors
Each node:Iterative, asynchronous:
each local iteration caused by: Local link cost change Distance vector update message from neighbor
Distributed:Each node notifies neighbors only when its DV changesNeighbors then notify their neighbors if necessary
Distance Vector Example: Step 0
39
A
E
F
C
D
B
2
3
6
4
1
1
1
3
Table for A
Dst Cst Hop
A 0 A
B 4 B
C ∞ –
D ∞ –
E 2 E
F 6 F
Table for B
A4A
B0B
–∞C
D3D
–∞E
F1F
HopCstDst
Optimum 1-hop paths
Table for C
–∞A
–∞B
C0C
D1D
–∞E
F1F
HopCstDst
Table for D
–∞A
B3B
C1C
D0D
–∞E
–∞F
HopCstDst
Table for E
A2A
–∞B
–∞C
–∞D
E0E
F3F
HopCstDst
Table for F
A6A
B1B
C1C
–∞D
E3E
F0F
HopCstDst
Distance Vector Example: Step 2
40
Table for A
Dst Cst Hop
A 0 A
B 4 B
C 7 F
D 7 B
E 2 E
F 5 E
Table for B
A4A
B0B
F2C
D3D
F4E
F1F
HopCstDst
Optimum 2-hop paths
Table for C
F7A
F2B
C0C
D1D
F4E
F1F
HopCstDst
Table for D
B7A
B3B
C1C
D0D
–∞E
C2F
HopCstDst
Table for E
A2A
F4B
F4C
–∞D
E0E
F3F
HopCstDst
Table for F
B5A
B1B
C1C
C2D
E3E
F0F
HopCstDst
A
E
F
C
D
B
2
3
6
4
1
1
1
3
Distance Vector Example: Step 3
41
Optimum 3-hop paths
Table for A
Dst Cst Hop
A 0 A
B 4 B
C 6 E
D 7 B
E 2 E
F 5 E
Table for B
A4A
B0B
F2C
D3D
F4E
F1F
HopCstDst
Table for C
F6A
F2B
C0C
D1D
F4E
F1F
HopCstDst
Table for D
B7A
B3B
C1C
D0D
C5E
C2F
HopCstDst
Table for E
A2A
F4B
F4C
F5D
E0E
F3F
HopCstDst
Table for F
B5A
B1B
C1C
C2D
E3E
F0F
HopCstDst
A
E
F
C
D
B
2
3
6
4
1
1
1
3
Interdomain Routing
42
AS-level topologyNodes are Autonomous Systems (ASes)Links are connections & business relationships
1
2
34
5
67
Web client Web server
Shortest-Path Routing is Restrictive
43
All traffic must travel on shortest pathsAll nodes need common notion of link costsIncompatible with commercial relationships
RegionalISP1
RegionalISP2
Regional ISP3
Cust1Cust3 Cust2
NationalISP1
NationalISP2
YES
NO
Link-State Routing is Problematic
44
Topology information is floodedHigh bandwidth and storage overheadForces nodes to divulge sensitive information
Entire path computed locally per nodeHigh processing overhead in a large network
Minimizes some notion of total distanceWorks only if policy is shared and uniform
Typically used only inside an ASE.g., OSPF
Distance Vector is on the Right Track
45
AdvantagesHides details of the network topologyNodes determine only “next hop” toward the dest
DisadvantagesMinimizes some notion of total distance, which is difficult in an interdomain setting
Idea: extend the notion of a distance vector
Path-Vector Routing
46
Extension of distance-vector routingSupport flexible routing policies
Key idea: advertise the entire pathDistance vector: send distance metric per dest dPath vector: send the entire path for each dest d
3 2 1
d
“d: path (2,1)” “d: path (1)”
data traffic data traffic
Flexible Policies
47
Each node can apply local policiesPath selection: Which path to use?Path export: Which paths to advertise?
ExamplesNode 2 may prefer the path “2, 3, 1” over “2, 1”Node 1 may not let node 3 hear the path “1, 2”
2 3
1
Border Gateway Protocol
48
Interdomain routing protocol for the InternetPath-vector protocolPolicy-based routing based on AS PathsEvolved during the past 15 years
• 1989 : BGP-1 [RFC 1105]– Replacement for EGP (1984, RFC 904)
• 1990 : BGP-2 [RFC 1163]• 1991 : BGP-3 [RFC 1267]• 1995 : BGP-4 [RFC 1771]
– Support for Classless Interdomain Routing (CIDR)
BGP Operations
49
Establish session onTCP port 179
Exchange allactive routes
Exchange incrementalupdates
AS1
AS2
While connection is ALIVE exchangeroute UPDATE messages
BGP session
Incremental Protocol
50
A node learns multiple paths to destinationStores all of the routes in a routing tableApplies policy to select a single active route… and may advertise the route to its neighbors
Incremental updatesAnnouncement • Upon selecting a new active route, add node id to path• … and (optionally) advertise to each neighbor
Withdrawal• If the active route is no longer available• … send a withdrawal message to the neighbors
BGP Path Selection
51
Simplest caseShortest AS pathArbitrary tie break
ExampleFour-hop AS path preferred over a three-hop AS pathAS 12654 prefers path through Global Crossing
But, BGP is not limited to shortest-path routing
Policy-based routing
AS 3549Global Crossing
128.112.0.0/16AS Path = 3549 7018 88
AS 12654RIPE NCCRIS project
AS 1129Global Access
128.112.0.0/16AS Path = 1129 1755 1239 7018 88
BGP Policy: Applying Policy to Routes
52
Import policyFilter unwanted routes from neighbor• E.g. prefix that your customer doesn’t own
Manipulate attributes to influence path selection• E.g., assign local preference to favored routes
Export policyFilter routes you don’t want to tell your neighbor• E.g., don’t tell a peer a route learned from other peer
Manipulate attributes to control what they see• E.g., make a path look artificially longer than it is
BGP Policy: Influencing Decisions
53
ReceiveBGPUpdates
BestRoutes
TransmitBGP Updates
Apply Policy =filter routes & tweak attributes
Based onAttributeValues
Apply Policy =filter routes & tweak attributes
Open ended programming.Constrained only by vendor configuration language
Best RouteSelection
Apply ImportPolicies
Best Route Table
Apply ExportPolicies
Install forwardingEntries for bestRoutes.
IP Forwarding Table
Import Policy: Local Preference
54
Favor one path over anotherOverride the influence of AS path lengthApply local policies to prefer a path
Example: prefer customer over peer
AT&T Sprint
Yale
Tier-2
Tier-3
Local-pref = 100
Local-pref = 90
Import Policy: Filtering
55
Discard some route announcementsDetect configuration mistakes and attacks
Examples on session to a customerDiscard route if prefix not owned by the customerDiscard route that contains other large ISP in AS path
AT&T
Princeton
USLEC
128.112.0.0/16
Export Policy: Filtering
56
Discard some route announcementsLimit propagation of routing information
ExamplesDon’t announce routes from one peer to anotherDon’t announce routes for network-management hosts
AT&T
Princeton
SprintUUNET
network operator
128.112.0.0/16
Export Policy: Attribute Manipulation
57
Modify attributes of the active routeTo influence the way other ASes behave
Example: AS prependingArtificially inflate the AS path length seen by othersTo convince some ASes to send traffic another way
AT&T
Princeton
USLECSprint
88 88 88
128.112.0.0/16
BGP Policies in Practice (Gao-Rexford model)
58
Mainly business relationshipsCustomer-providerPeer-peer……
Implementing in BGPImport policy
• Ranking customer routes over peer routesExport policy
• Export only customer routes to peers and providers
Customer-Provider Relationship
59
Customer pays provider for access to InternetProvider exports customer’s routes to everybodyCustomer exports provider’s routes to customers
Traffic to the customer Traffic from the customer
d
d
AT&T
Princeton
Princeton
AT&T
advertisements
traffic
Peer-Peer Relationship
60
Peers exchange traffic between customers AS exports only customer routes to a peerAS exports a peer’s routes only to its customers
Traffic to/from the peer and its customers
SprintAT&T
advertisements
traffic
dPrinceton UBC
How Peering Decisions are Made?
61
Peer Don’t Peer
Reduces upstream transit costsCan increase end-to-end performanceMay be the only way to connect your customers to some part of the Internet (“Tier 1”)
You would rather have customersPeers are usually your competitionPeering relationships may require periodic renegotiation
Valid and invalid paths
62
AS relationships limit the kinds of valid pathsUphill portion: customer-provider relationshipsPlateau: zero or one peer-peer edgeDownhill portion: provider-customer relationships
Valid Invalid
Invalid
Internet Structure
63
Federated network of Autonomous Systems (AS)Routers and links controlled by a single entityRouting between ASes, and within an AS
1
2
34
5
67
Web client Web server
Two-Tiered Internet Routing System
64
Intradomain routing: within an ASShortest-path routing based on link metricsRouters all managed by a single institutionOSPF and IS-IS: link-state routing protocolRIP and EIGRP: distance-vector routing protocol
Interdomain routing: between ASesRouting policies based on business relationshipsNo common metrics, and limited cooperationBGP: policy-based, path-vector routing protocol
65
BGP Modeling: What Problem Does BGP Solve?
Intradomain routings do shortest-path routingShortest path as sum of link weights
• Link-state routing (e.g., OSPF and IS-IS)• Distance vector routing (e.g., RIP)
Policy makes BGP more complicatedAn AS might not tell a neighbor about a path
• E.g., Sprint can’t reach UUNET through AT&TAn AS might prefer one path over a shorter one
• E.g., ISP prefers to send traffic through a customer
What is a good model for BGP?
Stable Paths Problem (SPP)
66
1
NodeBGP-speaking routerNode 0 is destination
EdgeBGP adjacency
Permitted pathsSet of routes to 0 at each node Ranking of the paths
2 5 5 2 1 0
0
2 1 02 0
1 3 01 0
3 0
4 2 04 3 0
3
42
1
most preferred…least preferred
67
5 5 2 1 0
1
A Solution to a Stable Paths Problem
SolutionPath assignment per nodeCan be the “null” path
If node u has path uwP{u,w} is an edge in the graphNode w is assigned path wP
Each node is assigned The highest ranked path consistent with the assignment of its neighbors
A solution is an in-tree rooted at the destination
2
0
2 1 02 0
1 3 01 0
3 0
4 2 04 3 0
3
42
1
A solution need not represent a shortest path tree, or a spanning tree.
A SPP May Have Multiple Solutions
68
First solution
1
0
2
1 2 01 0
2 1 02 0
1
0
2
1 2 01 0
2 1 02 0
Second solution
1 2 01 0
1
0
2
2 1 02 0
A SPP May Have No Solution
69
2
0
1
2 1 02 0
1 3 01 0
4
33
3 2 03 0
Ensuring Convergence is Difficult
70
Create a global Internet routing registryDifficult to keep up to date
Require each AS to publish its routing policiesDifficult to get them to participate
Check for conflicting policies, and resolve conflicts
Checking is NP-completeRe-checking for each failure scenario
71
Sufficient conditions for global convergenceRestrictions on the topology and routing policies that can be checked or ensured locallyE.g., based on common types of biz relationships
Game theoretic point of viewStable paths are a dominant strategy equilibriumBGP is a distributed algorithm (iterated elimination of dominated strategies) to seek dominant strategy equilibriumFind sufficient condition for the existence and convergence of dominant strategy equilibrium
Agenda
72
Lecture 6: review on network routingInternetworkingIntradomain routingInterdomain routing
Lecture 7: an algebraic framework of network routing
Algebra framework for network routing
73
GoalConvergence properties of dynamic routing protocolsCharacteristics of the paths the protocol converges to
ApproachFormulation in an algebraic frameworkDifferent protocols can be seen as different instantiations of this algebra
Shortest path routing as a path vector protocol
74
Given a weighted graph G=(V,E,w), find the shortest paths to a destination.
3
2
1
14
1
4
5
3
2
d
Shortest path routing as a path vector protocol
75
AbstractionsEach link is assigned a weight (label)
Each path has an aggregate weight (signature)
Path extension: path weight is the summation of weights of all its links (composition operation)
Preference/selection rule: choose the minimum weight path (ordering/preference)
3
2
1
14
1
4
5
3
2
d
Shortest path algebra
76
Set of labels: L +R
Set of signatures: Σ { }∞+∪+R
∞+Special signature: φ
),( pWTotally ordered set of weights: { } ),( ≤∞+∪+R
+Composition: Σ→Σ×⊕ L:
Weighing function: IdentityWf →Σ:
Path vector algebra
77
Defined as a seven-tupleLabels model link data-structure, amounts to applying edge policy to the path data-structure when the path is extended Signatures model the path data-structure, contain enough information to determine a path’s weight usingWeight ordering defines preference relation, heavier paths are less preferred
( )fLw ,,,,,, ⊕Σ φp
⊕
f
Path Vector protocol
78
Instantiating an algebra produces a protocolA node knows a path to when having a signature for (either for trivial path, or for a path extending a neighbor’s path)The best path to is a path with lowest weightTo advertise a path to node , is sent along signaling edge with some associated label , and is the signature of the imported, extended path at
)()( PsluPs ⊕=
v P dP )(ds )(Ps
P u )(Ps
),( uv
lu
d
What we care
79
Convergence is the most important goalCharacteristics of the paths the protocol converges to (optimal? In what sense?)SP routing converges and is optimal. Let’s first check what properties SP algebra has, and then abstract them to general algebra and see whether they are necessary and/or sufficient for the convergence and optimality.
Maximality and Absorption
80
Usable path has finite weight- Maximality
Cannot extend an un-usable path to a usable one- Absorption
{ } )()( φαφα ff p−Σ∈∀
φφ =⊕∀ ∈ lLl
Monotonicity
81
)α()α(α signature and labelevery For -
⊕lffl
p
1 2 0
than lessnot weigh does 21 PPo
P, s(P)=α
The path weight is non-decreasing along the path
l
Isotonicity
82
Path ordering is kept when extended onto common link
)β(α)()β()α(β and α signatures and labelevery For -
⊕⊕⇒ lflfffl
pp
1 2 0
P, s(P)=α
Q, s(Q)=β
l
QPQPoo 21 morenot weigh does 21
then , than morenot weigh doesIf
Some Definitions
83
An optimal path from to is a usable path with minimum weight among all usable paths from to An optimal path in-tree rooted at node is an in-tree routed at satisfying, for every node that belongs to the in-tree, the only path in the in-tree is an optimal path
dudu
dd u
32
2
1
14
1
4
5
3
d
u
84
2 3
0
5 6
4
1
The local-optimal path from to exists only with respect to a set of paths, which are advertised to u by its neighbors.Given in-tree rooted at , define as the set ofin-tree paths which has an out-neighbor of for originIn-tree is local-optimal-paths in-tree satisfying, for each of its node , the only path in the in-tree is a local-optimal path with respect to
du
dT d)( du TV
u
dTu
)( du TV
Freeness
85
( ){ }( ) ( ) wuulfwf
nifWwuuu
ii
ncycle
≠⊕⇒=Σ∈∀≤<∃−∈∀∀
− αααφ
)( 0
1
01L
given a cycle and a set of paths with origins at the nodes of the cycle, all with the same weight, at least one of these paths will see its weight change as it extends into the cycle.
for example, in shortest-path routing, the network is free, since the algebra is strictly monotone
Convergence
86
Convergence to local-optimal in-treeNetwork is free
If the algebra is monotone, then the path vector protocol can be made to converge to local-optimal in-tree.
Failure of monotonicity
87
0
l
)α()α( ⊕lff flP
s(P)=α
1 2
Qs(Q)=α
Isotonicity and optimality
88
If the signature/weight depends on some global property of the path, we may say something about it by this theorem. For example, SP routing is optimal.
Local-optimal in-trees
Optimal in-treesAlgebra is isotone =
Failure of isotonicity
89
)β(α)(but )β()α( ⊕⊕ lflfff fp
P, s(P)=α
0l
1 2
Q, s(Q)=β
A local-optimal-path in-tree that is not optimal
Gao-Rexford: import/export rules
90
Provider
Peer
Customer
X
Customerroutes
Peerroutes
Providerroutes
Prefer customer routes to peer routes, and thento provider routes Export only customer routes to peers/providers,and export all kinds of routes to customers
Algebra: labels
91
c
c cc
c
p
ppp
pp
r
r
r
rr
r
r
Each link carries a labelCustomer link, cProvider link, pPeer link, r
c
r
2 3
0
5 6
4
1
3 is a provider of 0; 0 is a customer of 3
3 and 4 are peers
Algebra: signatures
92
Each path has a signatureTrivial path, εUnusable path, φCustomer path, cProvider path, pPeer path, r
93
Algebra: composition
A node exports to its peers routes learned from its customers
A node does not export to a provider a route learned from another provider
Signature
ε c r p φ
c c c φ φ φ
r r r φ φ φ
p p p p p φ
Labe
l
⊕
c
c
r5 6
4
1
2 3
0
pc
Algebra: weights
94
0 1 2 3
ε c r p φ
c c c φ φ φ
r r r φ φ φ
p p p p p φ
⊕
∞+ weights
f
Prefer customer routes to peer routes and then to provider routes
Algebra: properties
95
0 1 2 3
ε c r p φ
c c c φ φ φ
r r r φ φ φ
p p p p p φ
∞+f
⊕
The algebra isMonotoneIsotone
Network: freeness
96
L0 is empty, sinceL1={c}, sinceL2 is empty, sinceL3={p}, since
)()(0 εε ⊕= lff p
)()(1 ccfcf ⊕==
)()(2 rlfrf ⊕≠=
)()(3 ppfpf ⊕==
Non-free cycles:Only customer linksOnly provider links
Gao-Rexford: convergence
97
The protocol converges, independent of whatever preference given to the paths with the same weight, if the network is free.Means that the ordering within one class (customer, provider) is not important for convergence. Any preference given to them will result in convergenceSince the algebra is also isotone, the path is optimal. But this says nothing about global property of the path, since the weight is only decided by the first link of the paths.
References
98
“Stable Internet routing without global coordination,” L. Gao, J. Rexford, ToN 2001“The stable paths problem and interdomain routing,” T. Griffin, F. Shepherd, G. Wilfong, ToN 2002“Algebra and algorithms for QoS path computation and hop-by-hop routing in the Internet,” J. Sobrinho ToN 2002“An algebraic theory of dynamic network routing,” J. Sobrinho, ToN 2005.