IP: Addresses and Forwarding
Download
Report
Transcript IP: Addresses and Forwarding
BANANAS: An Evolutionary Framework for
Explicit and Multipath Routing in the Internet
5
B
C
3
5
2
A
2
1
2
D
1
F
1
3
E
2
Hema T. Kaur, S. Kalyanaraman, A. Weiss, S. Kanwar, A. Gandhi
Rensselaer Polytechnic Institute
[email protected], [email protected]
http://www.ecse.rpi.edu/Homepages/shivkuma
Sponsors: DARPA-NMS, NSF, Intel, AT&T
Rensselaer Polytechnic Institute
1
Shivkumar Kalyanaraman
In case you were wondering…
BANANAS is not an acronym
Just something to remember
this by…
Rensselaer Polytechnic Institute
2
Shivkumar Kalyanaraman
Outline
Motivation: Best-effort path multiplicity
BANANAS: Data-plane
BANANAS: Control-plane
BANANAS: Mapping to BGP
Performance Results
Rensselaer Polytechnic Institute
3
Shivkumar Kalyanaraman
Motivation: Best-Effort Path Multiplicity
Phone modem
USB/802.11a/b
802.11a
WiFi (802.11b)
Ethernet
Firewire/802.11a/b
ISP-1
AS1
Internet
.
.
.
ISP-n
Rensselaer Polytechnic Institute
4
Shivkumar Kalyanaraman
Multiplicity: Flows, Paths, Exits/Interfaces
Multiple E2E Flows
Multi-homed interfaces & ISP/AS peers
Multi-paths within
a routing domain
Multi-AS-paths across domains
W/o specifying intra-domain paths
Multiple exits from an AS
w/oTo
specifying
paths
BANANAS: A Single Abstract Framework
Exploit intra-domain
These
Forms of Multiplicity In the Internet and Future Networks
Rensselaer Polytechnic Institute
5
Shivkumar Kalyanaraman
Isn’t multi-path routing an old subject?
Lots of old work:
Multi-path algorithms/protocols [5, 6, 7, 8],
Internet signaling architectures [9, 10, 11, 12, 13]
Novel overlay routing methods [14, 15]
Transport-level approaches for multi-homed hosts [16, 17]
But newer goals:
Traffic engineering (reliability, availability, survivability, re-route):
Separation of traffic trunking from route selection
Packet level or aggregate (micro-flow or macro-flow level)
Security
Best-effort e2e service composition…
Why hasn’t it happened after 2 decades of
work?
Rensselaer Polytechnic Institute
6
Shivkumar Kalyanaraman
Missing Architectural Concepts
An evolutionary partial deployment strategy
Abstract enough to be applicable to other scenarios:
Allows partial deployment, incremental upgrades
Incentives: increasing value with increasing deployment
Fits the connectionless nature of dominant routing protocols,
Must not require signaling (unlike ATM, MPLS etc)
Overlay networks, last-mile multi-hop (mesh or community)
wireless networks, ad-hoc/sensor networks…
Flexible enough to have other realizations/semantics:
Different placement of functions (edge vs core)
Tunneling/Label Stacking
Geographic/Trajectory routing
Rensselaer Polytechnic Institute
7
Shivkumar Kalyanaraman
Limits of Connectionless Traffic Engg (OSPF/BGP)
State-of-the-art: parameter tweaking
OSPF, IS-IS: Link weight tweaking or
BGP-4 parameter (LOCAL_PREF, MED) tweaking
Performance ultimately limited by the single path
1
B
B
1
2
1
A
A
1
2
C
D
1
4
A
E
B
1
2
D
E
2
D
E
1
2
1
2
Links AB and
overloaded
C BD are
Links
AC Cand CD
Can
arenot
overloaded
do this with SP routing!
Rensselaer Polytechnic Institute
8
Shivkumar Kalyanaraman
The Questions
Can we do multi-path & explicit routing ?
without signaling (I.e. in a connectionless context)
without variable (and large) per-packet overhead
being backward compatible with OSPF & BGP
allowing incremental network upgrades
Non-Goals: Monitoring, Traffic trunking/mapping
Traffic Engineering (TE) Spectrum
Shortest Path
…
MPLS
BANANAS-TE
Signaled TE
Rensselaer Polytechnic Institute
9
Shivkumar Kalyanaraman
Outline
Motivation: Best-effort path multiplicity
BANANAS: Data-plane
BANANAS: Control-plane
BANANAS: Mapping to BGP
Performance Results
Rensselaer Polytechnic Institute
10
Shivkumar Kalyanaraman
Big Picture: How does it fit?
Multi-paths within
a routing domain
Rensselaer Polytechnic Institute
11
Shivkumar Kalyanaraman
Detour: What can we learn from ATM and MPLS ?
MPLS label = Path identifier at each hop
Labels is a local identifier…
Signaling maps global identifiers (addresses, path
specifications) to local identifiers
Seattle
New York
(Egress)
San
Francisco
(Ingress)
IP 0
IP 1321
IP 120
1321
120
5
Miami
IP Label
Rensselaer Polytechnic Institute
12
Shivkumar Kalyanaraman
Global Path Identifiers?
Instead of using local path identifiers (labels in MPLS),
consider the use of “global” path identifiers
Constructed out of global variables a node already knows!
Eg: Link/Router IP addrs, Link weights, ASNs, Area Ids, GPS location
Avoid the need for signaling to establish a mapping!
Seattle
New York
(Egress)
IP
San
Francisco
(Ingress)
IP 36
IP 0
IP 27
Miami
IP
Rensselaer Polytechnic Institute
13
PathId
Shivkumar Kalyanaraman
Global Path Identifier: Key Ideas
IP
i
2
w2
w1
PathId(1,j)
k
1
IP
wm
j
m-1
PathId(i,j)
Key ideas (take-home!):
1. Global pathids (computed from global variables) instead of local labels!
2. Avoid inefficient path encoding (IP) AND
3. Avoid signaling (MPLS)
4. Incrementally deployable: w/ control-plane modifications
Rensselaer Polytechnic Institute
14
Shivkumar Kalyanaraman
Global Path Identifier (continued)
i
w2
w1
2
wm
j
m-1
1
k
Path = {i, w1, 1, w2, 2, …, wk, k, wk+1, … , wm, j}
Sequence of globally known node IDs & Link weights
Global PathID: hash of this sequence: computable w/o signaling!
Canonical method: MD5 hashing of the subsequence of nodeIDs followed
by a CRC-32 to get a 32-bit hash value (MD5+CRC)
Low collision (i.e. non-uniqueness) probability
Note: Different PathID encodings have different architectural implications
Rensselaer Polytechnic Institute
15
Shivkumar Kalyanaraman
Abstract Forwarding Paradigm
Forwarding table (Eg; at Node k):
[Destination Prefix, PathID ] [Next-Hop, SuffixPathID ]
[j, H{k, k+1, … , m-1}
] [k+1, H{k+1, … , m-1}
]
Packet Header:
[j, H{k, k+1, … , m-1} ] [j, H{k+1, … , m-1} ]
i
w2
w1
wm
2
j
m-1
1
k
Rensselaer Polytechnic Institute
16
Shivkumar Kalyanaraman
BANANAS TE: Partial Deployment
Only red nodes are upgraded
“Virtual hop” between upgraded nodes
Black nodes compute single-shortest-path
Seattle
New York
(Egress)
IP
San
Francisco
(Ingress)
27
IP 27
IP
0
X
Miami
IP
IP 27
Rensselaer Polytechnic Institute
17
27
Shivkumar Kalyanaraman
Outline
Motivation: Best-effort path multiplicity
BANANAS: Data-plane
BANANAS: Control-plane
BANANAS: Mapping to BGP
Performance Results
Rensselaer Polytechnic Institute
18
Shivkumar Kalyanaraman
Baseline: Route Computation Strategy
1-bit in LSA: node is “multi-path capable” (MPC)
Two phase algorithm: (m upgraded nodes)
1. (N-m) Dijkstra’s for non-upgraded nodes
2. DFS to discover valid paths to destinations.
Computes all valid paths partial-upgrade (PU) constraints
Problem: inflexible and complex!
Rensselaer Polytechnic Institute
19
Shivkumar Kalyanaraman
Route Computation: Flexibility
5
A
2
1
B
2
D
3
C
5
1
3
2
1
E
F
2
Eg: k shortest-paths instead of DFS
Issue: Forwarding for k-shortest paths may not exist
Need to validate the forwarding availability for paths!
Idea: A path is valid only if its path suffixes are valid.
2-phase validation algorithm provided in BANANAS
Rensselaer Polytechnic Institute
20
( complexity)
Shivkumar Kalyanaraman
Implementation: OSPF LSA Extensions
Rensselaer Polytechnic Institute
21
Shivkumar Kalyanaraman
Architectural Flexibility: Placement of Functions
Architecture = placement of functions
BANANAS functions:
Data-plane = hash processing
Control-plane = route computation
Goal: Move functions from the core to the edges
Recall: Different PathID encodings have different architectural implications
Link Indices
Rensselaer Polytechnic Institute
PathID = concatenation
of link indexes
22
PathID processing:
bit shifting!
Shivkumar Kalyanaraman
Outline
Motivation: Best-effort path multiplicity
BANANAS: Data-plane
BANANAS: Control-plane
BANANAS: Mapping to BGP
Performance Results
Rensselaer Polytechnic Institute
23
Shivkumar Kalyanaraman
Big Picture: How does it Fit
Multi-AS-paths across domains
W/o specifying intra-domain paths
Rensselaer Polytechnic Institute
Multiple exits from an AS
w/o specifying intra-domain paths
24
Shivkumar Kalyanaraman
Explicit-Exit Routing: Concept
AS2
ASBR1
ASBR4
AS4
ABR2
ASBR2
ABR1
Dest. d
AS3
ASBR3
AS1
Upgraded IBGP & EBGP nodes synchronize on a set of exits for prefixes
IBGP locally installs explicit exit(s) for chosen prefix
Packet tunneled to explicitly chosen exit (like MPLS stacking)
Rensselaer Polytechnic Institute
25
Shivkumar Kalyanaraman
BGP Explicit-Exit Routing: Details
IBGP Table:
Dest-Prefix Exit-ASBR Next-Hop
Dest-Prefix
Default-Next-Hop
When a packet matches the explicit route (policy definable):
Push destination address
Replace with Exit-ASBR address.
Exit-ASBR pops destination address
1-level label-stacking (a.k.a connectionless tunneling)
Note: address stacking/tunneling is a different realization of the
BANANAS hashing concept
Rensselaer Polytechnic Institute
26
Shivkumar Kalyanaraman
Inter-AS Explicit AS-Path Choice
AS0
AS2
ASBR1
ASBR2
AS1
AS4
Dest. d
AS3
ASBR3
Caveat: this requires more coordination across ISPs
and control traffic (control-plane penalty)!
Rensselaer Polytechnic Institute
27
Shivkumar Kalyanaraman
Outline
Motivation: Best-effort path multiplicity
BANANAS: Data-plane
BANANAS: Control-plane
BANANAS: Mapping to BGP
Performance Results
Rensselaer Polytechnic Institute
28
Shivkumar Kalyanaraman
Simulation/Implementation/Testing Platforms
MIT’s Click Modular Router
On Linux:
Forwarding Plane
Modular
Utah’s Emulab Testbed:
Experiments with
Linux/Zebra/Click
implementation
Rensselaer Polytechnic Institute
Router
SSFnet Simulation for
OSPF/BGP Dynamics
29
Shivkumar Kalyanaraman
Putting It Together: Integrated OSPF/BGP Simulation
Rensselaer Polytechnic Institute
30
Shivkumar Kalyanaraman
Blow-up of AS2’s Internal Topology
Rensselaer Polytechnic Institute
31
Shivkumar Kalyanaraman
E-PathID Processing
Rensselaer Polytechnic Institute
32
Shivkumar Kalyanaraman
FORWARDING Table in
AS2 (node#5)
Corresponding
Changes in
Packet
Headers
Rensselaer Polytechnic Institute
33
Shivkumar Kalyanaraman
Summary
Goals:
Best-effort path multiplicity:
MPLS-like features in OSPF, IS-IS and BGP
Overlay routing (Planetlab deployment)
Non-Goals: Performance monitoring, traffic trunking & mapping to paths
BANANAS Framework:
Data-Plane: Hash = Global PathID => NO SIGNALING
Control-plane: route computation algos (partial upgrade constraints)
Architectural Flexibility, incrementally deployable
Traffic Engineering
Shortest Path
…
MPLS
BANANAS-TE
Signaled TE
Rensselaer Polytechnic Institute
34
Shivkumar Kalyanaraman
Multiplicity: Take-Home Message…
Multiple E2E Flows
Multi-homed interfaces & ISP/AS peers
Multi-paths within
a routing domain
Multi-AS-paths across domains
W/o specifying intra-domain paths
Rensselaer Polytechnic Institute
Multiple exits from an AS
w/o specifying intra-domain paths
35
Shivkumar Kalyanaraman
EXTRA SLIDES
Rensselaer Polytechnic Institute
36
Shivkumar Kalyanaraman
Acknowledgements
Biplab Sikdar (faculty colleague)
Mehul Doshi (MS)
Niharika Mateti (MS)
Also thanks to:
Satish Raghunath (PhD)
Jayasri Akella (PhD)
Hemang Nagar (MS)
Work funded in part by DARPA-ITO, NMS
Program. Contract number: F30602-00-2-0537,
Intel, AT&T
Rensselaer Polytechnic Institute
37
Shivkumar Kalyanaraman
Multiple Areas
Area 1
Area 2
5
B
1
C
2
1
7
2
D
1
ABR1
4
3
ABR4
1
2
A
Red nodes: upgraded
Green nodes: regular
Area 0
1
2
ABR2 4
G
5
1
2
3
4
7
1
H
2
4
2 ABR3
5
2
J
I
1
ABR5
PathID re-initialized after crossing area boundaries
Source-routing notion similar to, but weaker than PNNI
Rensselaer Polytechnic Institute
38
Shivkumar Kalyanaraman
Why is the Index-based Encoding Interesting?
Ans: Architectural flexibility
Core (interior) nodes:
Forwarding function simplified
Minimal state (only the index table)
No control-plane computation
complexity at interior nodes
Edge nodes:
Path validation simplified
Edge-nodes can store an arbitrary
subset of validated paths
Heterogeneous route computation
algorithms can be used
Rensselaer Polytechnic Institute
39
Shivkumar Kalyanaraman
Path Multiplicity
Internet routing protocols designed for “best-effort”
reachability, has implicitly meant “single end-to-end path”
Internet topology (level of hosts, routers, AS’es) is not a tree:
multi-homing and multi-path availability
Path multiplicity available in several contexts:
Why cannot the concept of “best-effort” allow path-multiplicity ?
layer 3 (eg: OSPF, BGP, ad-hoc network routing), or
layer 4-7 (eg: overlay networks, peer-to-peer networks)
Path multiplicity offers the potential for spatio-temporal
statistical multiplexing gains
Packet switching offered temporal stat-muxing gains over ckt switching
Gains may vary in different contexts (eg: ad-hoc networks where
capacity is shared network wide)
Rensselaer Polytechnic Institute
40
Shivkumar Kalyanaraman
Zebra/Click Implementation on Linux
(Tested on Utah Emulab)
75
13
3
9
53
6
21
45
51
4
83
3
1
2
38
5
5
7
93
67
4
51
67
1
0
8
Part of table at node1: (PathID= Link Weights, for simplicity)
Destination
PathID
NextHop
SuffixPathID
4
260
2
177 (=260 – 83)
4
98
3
0 (= 98 – 98)
4
51
4
0 (= 51 – 51)
4
160
5
0 (=160 – 160)
Rensselaer Polytechnic Institute
41
Shivkumar Kalyanaraman
Linux/Zebra/Emulab Results
Active
Avg. # of Paths to
Nodes
each Dest
B(k=3) 2.94
D(k=3) 2.94
C(k=3) 2.79
Avg. # of Paths/k *100
B
D
C
98%
98%
93%
D
Active
Avg. # of Paths to
Nodes
each Dest
B(k=5)
4.83
D(k=5)
4.78
C(k=5)
4.44
Avg. # of Paths/k *100
B
D
C
B
97%
96%
89%
Active
Avg. # of Paths to
Nodes
each Dest
B(k=7)
6.5
D(k=5)
4.78
C(k=5)
4.44
Avg. # of Paths/k *100
C
B
D
C
93%
96%
89%
Flat OSPF Area, 3 Active-MPC nodes; Upto k-shortest, validated paths
Rensselaer Polytechnic Institute
42
Shivkumar Kalyanaraman
Path Validation Algorithm
Concept: A path is VALID only if its path suffixes are valid.
Phase 1 (cont’d):
compute {k-shortest} paths for all other upgraded nodes,
and 1-shortest paths for non-upgraded nodes.
Sort computed paths by hopcount
Phase 2: Validate paths starting from hopcount = 1.
All 1-hop paths valid.
p-hop paths valid if the (p-1)-hop path suffix is valid
Throw out invalid paths as they are found
Polynomial complexity to discover valid paths
Proof by mathematical induction
Rensselaer Polytechnic Institute
43
Shivkumar Kalyanaraman
BANANAS TE: Explicit, Multi-Path Forwarding
Explicit source-directed routing: Not limited by the shortest
path nature of IGP
Different PathIds => different next-hops (multi-paths)
No signaling required to set-up the paths
Traffic mapping is decoupled from route discovery
IP 0
Seattle
IP
San
Francisco
(Ingress)
New York
(Egress)
IP 5
IP 36
IP 0
IP 27
Miami
IP
Rensselaer Polytechnic Institute
44
PathId
Shivkumar Kalyanaraman