The next generation internet provides resilient wide area networking. Resilience is the ability to resist outer influences such as link failures. During routing protocols reorganize the communication paths after a topology change, data loss can occur. Using multiple paths, network operation can continue after failure detection.
This work examines Multi-Path Hop-by-Hop routing where any single link failure can be locally recovered. We produce acyclic routing graphs for destination-based routing. Our approach results in two edge sets: active and reserve links. Active edges provide an acyclic graph embedding a spanning tree. Any failure that is not covered by redundant active edges is recovered by inserting a reserve edge. We guarantee recovery of the first link failure event and then seamlessly restore a HammockSet for the new topology.
Two similar approaches have been published. The O2-algorithm derived out of the project ”Key Components for the Mobile Internet of Next Generation” [Sch01] and constructs thin Hammock-Sets but is restricted to certain topologies. The MPA-algorithm [Nar00] succeeds on any topology, yet it cannot provide redundancy to all nodes. We specify topologies that allow stand-by recovery to all nodes and destinations, while we construct edge-maximized HammockSets.
For evaluation we introduce link significance, a measure for the forwarding function of inner HammockSet nodes. A heuristic algorithm optimizes the HammockSet layout for traffic distribution. It restricts the number of HammockSets on one network edge, increasing the bandwidth fraction available to the participating HammockSets.
A prototype implementation has been part of this work. It constructs HammockSets for any
destination node of a topology. The final chapter discusses the feasibility of implementing our approach in real-world systems. Further, we point out possibilities for future work.
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Algorithm for Multi-Path Hop-By-Hop Routing
1. Routing in the Next Generation Internet
Algorithmus for
Multi-Path Hop-By-Hop Routing
Diplomand: Jens Oberender
Betreuer: Claus Gruber/LKN.TUM
Erst-Gutachter: Prof. Brandenburg/TI.Uni Passau
Zweit-Gutachter: Prof. Eberspächer/LKN.TUM
2. HammockSet Representation
• Undirected Graph – equal to any destination
• Node Sequence – implies edge direction
• Implementation
– Graph: nodes store connected edges
• Array[NodeID->SortedHeap[NodeID]]
– HammockSet: supports sequence requests with hash table
• Array[Pos->NodeID]
• HashMap[NodeID->Pos]
• Operations
– Test if (x,y) is covered by sequence O(1)
– Reverse Convex Hull (x) O(n) 2
3. Construction Overview
• Create node sequences for each destination
– Phase 1: Based on Bandwidth Ratings
– Phase 2: Based on Estimated Traffic
• Choose Shared-Reserve-Link
• Set Edge Direction i n o
j k
• Generate HammockSets e
c
a
p
g l
h m
f b d
[ i=j g f ] [ h c b a d n l k o p m ]
• Phase 3: search&re-route high load links
• Phase 4: traffic planning 3
4. Avoid HammockSet Symmetry
• Set edge direction is based on
– Link Capacity
measures available bandwidth for all HammockSets together
start with (2*C/n) assuming both directions are used
– Diversity of Link Capacity
failure on 1:1 bandwidth: 200% traffic
failure on 1:10 bandwidth: 1100% traffic
– Number of Links
three and more links can handle failures better –
preferred position: in middle of sequence and near to neighbor nodes
– Traffic Demands
only available for direct traffic, transferring demands depend on succeeding nodes
• Bad routing effects, if HammockSets have high symmetry
failure reaction is similar for all HammockSets –
extensive increasing load on backup links
⇒ Algorithm decisions should be 4
relatively independent to constant characteristics
5. Generate Sequence Order
• Algorithm: choose one out of the “border” nodes
• HammockSets that
provide good bandwith after maximum failure
also perform well in normal mode
⇒ Selection criteria: bandwidth after failure
Find Maximum node by first argument, if equal by second.
func rating (Node k, Neighbors N, Sequence S)
E := edges from candidate to N cup S
if (count(E) < 2) break;
// Capacity after maximum failure
D := ( C(Ef) | C(f)=max C(e) )
return { D, C(E) } 5
endfunc
6. i
Provide second outlink to neighbors
j
0
Scenario: 1 00
e g
• HammockSet but neighbors created
ToDo’s:
1000
10
0
• construct S-R-Link
0
– Which neighbor component should get a SRL? f 1000
– Capacity remains unused during normal Operation
– Direct two links should provide medium to high capacity,
since they carry all load
– Choose nodes with fewest incoming links
• direct remaining edges
– From several options, choose least crowded one 6
– Avoid long chains that increase packet running time
7. Criteria for SRL selection
• (Estimated) Traffic distribution available
always significantly differs from acceptable distribution
• Sum up all traffic demands on convex hull
is independent of distribution
shows traffic likely proportional to #incoming edges
func maxinData (node k)
H := convex hull (k) over reverse edges
return (sum M[H,t]) / C(k,t)
endfunc
7
8. Neighbor Nodes Convex Hulls n
n
i
i e
e j o
j o
a f
a f
g
g b k
b k
c
c
d p
d p
h l
h l
m
m
n n
i i
e e
j o j o
a f a f
g g
b k b k
c c
d p d p
h l h l
8
m m
9. How to optimize HammockSets
• Objective: provide a set of HammockSets,
that can handle given traffic demands
• Use traffic estimation information
with bandwidth-balanced quotes
• Each link has two directions,
optimal: both occur even often for destinations
• What could change the actual load on a link?
Depends on the role in this HammockSet
– Fixed as a Neighbor
– Node sequence may be rearranged
9
10. Bottleneck Detection
• If bottlenecks are obvious,
list all HammockSet-Sequences
that include this edge
• Examine whether few changed sequence
could resolve bottleneck
whithout generating new ones
10
11. High load on directed edge (x→y)
• Pick destination HammockSets
with sequences that include the (x→y) edge
→
• Edge-Characteristics
– TrafficMatrix (x->>t), (y->>t)
– Current traffic on (x->y)
– Remaining traffic (x->>t x->y)
y y
x x
11
[ A y B x C ] [ A B x y C ]
12. Change Sequence Order
• Alter one HammockSet
having low (traffic(x,y)-traffic(y,x))
• Sequence change should not
heavily influence other edges
(already processed ones)
12
13. Change the point-of-view
• HammockSet-centered optimization
HammockSets – What happens in case of link failure? (impl)
– Calculate Normal and Backup Capacity
edges (impl)
– Can the network flow be distributed
evenly?
HammockSets • Edge-centered optimization
– What edges carry heavy load?
edges – Is the HammockSet generation
independent enough of the network
structure?
– Generate Scenarios and sample data
13
14. Objective Implementation
• Is there any need to restructure
heuristic-generated HammockSets?
Find a network type where heuristic fails
• What capacity must be reserved
for failure occurrence?
• Flow Benchmarking
14