Lossless Migrations of Link-State IGPs Laurent Vanbever, Student - - PowerPoint PPT Presentation

lossless migrations of link state igps
SMART_READER_LITE
LIVE PREVIEW

Lossless Migrations of Link-State IGPs Laurent Vanbever, Student - - PowerPoint PPT Presentation

Lossless Migrations of Link-State IGPs Laurent Vanbever, Student Member, IEEE, Stefano Vissicchio, Cristel Pelsser, Pierre Francois, Member, IEEE, and Olivier Bonaventure, Member, IEEE Seminar in Distributed Computing Jochen Zehnder Table of


slide-1
SLIDE 1

Lossless Migrations of Link-State IGPs

Laurent Vanbever, Student Member, IEEE, Stefano Vissicchio, Cristel Pelsser, Pierre Francois, Member, IEEE, and Olivier Bonaventure, Member, IEEE

Seminar in Distributed Computing Jochen Zehnder

slide-2
SLIDE 2

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Table of Contents

  • 1. Topology of the Internet
  • 2. Migration Problem
  • 3. Evaluation
  • 4. Summary
  • 5. Q&A

2

slide-3
SLIDE 3

/ 32

Topology of the Internet

3

slide-4
SLIDE 4

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Topology of the Internet

4 http://www.cisco.com/c/en/us/td/docs/ios/12_2sr/12_2srb/feature/guide/tbgp_c/brbclns.html

slide-5
SLIDE 5

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Autonomous System (AS)

“An AS is a connected group of one or more IP prefixes run by one or more network operators which has a SINGLE and CLEARLY DEFINED routing policy.” (RFC 1930)

5

slide-6
SLIDE 6

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Autonomous System (AS)

  • groups of IP prefixes
  • e.g. AS559 (ETH-NET)
  • 129.132.0.0/16

6

slide-7
SLIDE 7

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Autonomous System (AS)

  • groups of IP prefixes
  • e.g. AS559 (ETH-NET)
  • 129.132.0.0/16
  • two types of protocols
  • Border Gateway Protocol (BGP)
  • Interior Gateway Protocol (IGP)

6

slide-8
SLIDE 8

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Interior Gateway Protocol

  • flat vs. hierarchical
  • flat: forward packets along the shortest path
  • hierarchical: divided into zones

7

slide-9
SLIDE 9

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Interior Gateway Protocol

  • flat vs. hierarchical
  • flat: forward packets along the shortest path
  • hierarchical: divided into zones
  • route summarization
  • for hierarchical IGP
  • zone announces available prefixes and
  • length of the path

7

slide-10
SLIDE 10

/ 32

Migration Problem

8

slide-11
SLIDE 11

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

next-hop function

  • next-hop function
  • : router
  • : destination

9

slide-12
SLIDE 12

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

next-hop function

  • next-hop function
  • : router
  • : destination
  • next router towards d

9

slide-13
SLIDE 13

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

next-hop function

  • next-hop function
  • : router
  • : destination
  • next router towards d
  • does not have to be 1

9

slide-14
SLIDE 14

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Loop

10

slide-15
SLIDE 15

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Loop

10

slide-16
SLIDE 16

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Loop

10

slide-17
SLIDE 17

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Loop

10

slide-18
SLIDE 18

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Loop

10

slide-19
SLIDE 19

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Loop

10

slide-20
SLIDE 20

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Problem

  • given unicast IP network

11

slide-21
SLIDE 21

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Problem

  • given unicast IP network
  • replace IGP configuration
  • from to

11

slide-22
SLIDE 22

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Problem

  • given unicast IP network
  • replace IGP configuration
  • from to
  • minimal configuration changes

11

slide-23
SLIDE 23

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Problem

  • given unicast IP network
  • replace IGP configuration
  • from to
  • minimal configuration changes
  • no migration loops

11

slide-24
SLIDE 24

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Migration Scenarios

12

scenario IGP configuration changes protocol protocol replacement flat2hier zone introduction hier2flat zone removal hier2hier zone reshaping summarization summarization introduction/removal

slide-25
SLIDE 25

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

ships-in-the-night

  • run separate routing protocols on one router

13

slide-26
SLIDE 26

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

ships-in-the-night

  • run separate routing protocols on one router
  • share hardware and software resources

13

slide-27
SLIDE 27

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

ships-in-the-night

  • run separate routing protocols on one router
  • share hardware and software resources
  • but do not interact on a protocol level

13

slide-28
SLIDE 28

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Proposed methodology

  • Seamless IGP Migration Methodology

14

slide-29
SLIDE 29

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Proposed methodology

  • Seamless IGP Migration Methodology
  • 1. Compute a lossless router migration order

14

slide-30
SLIDE 30

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Proposed methodology

  • Seamless IGP Migration Methodology
  • 1. Compute a lossless router migration order
  • 2. Introduce the final IGP configuration

14

slide-31
SLIDE 31

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Proposed methodology

  • Seamless IGP Migration Methodology
  • 1. Compute a lossless router migration order
  • 2. Introduce the final IGP configuration
  • 3. Monitor the final IGP status

14

slide-32
SLIDE 32

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Proposed methodology

  • Seamless IGP Migration Methodology
  • 1. Compute a lossless router migration order
  • 2. Introduce the final IGP configuration
  • 3. Monitor the final IGP status
  • 4. Progressively migrate routers

14

slide-33
SLIDE 33

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Proposed methodology

  • Seamless IGP Migration Methodology
  • 1. Compute a lossless router migration order
  • 2. Introduce the final IGP configuration
  • 3. Monitor the final IGP status
  • 4. Progressively migrate routers
  • 5. Remove initial IGP configuration

14

slide-34
SLIDE 34

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • Given
  • initial and final next-hop functions
  • logical graph G
  • set of destinations D

15

slide-35
SLIDE 35

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • Given
  • initial and final next-hop functions
  • logical graph G
  • set of destinations D
  • Compute router migration
  • no forwarding loops in G for d ∈ D

15

slide-36
SLIDE 36

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • Router Migration Ordering Problem is NP-complete

16

slide-37
SLIDE 37

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • Router Migration Ordering Problem is NP-complete
  • is in NP

16

slide-38
SLIDE 38

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • Router Migration Ordering Problem is NP-complete
  • is in NP
  • Reduction from 3-SAT

16

slide-39
SLIDE 39

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • Router Migration Ordering Problem is NP-complete
  • is in NP
  • Reduction from 3-SAT
  • e.g.

16

slide-40
SLIDE 40

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • Router Migration Ordering Problem is NP-complete
  • is in NP
  • Reduction from 3-SAT
  • e.g.
  • is F satisfiable?

16

slide-41
SLIDE 41

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • given formula F

17

slide-42
SLIDE 42

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • given formula F
  • transform into migration ordering instance

17

slide-43
SLIDE 43

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • given formula F
  • transform into migration ordering instance
  • show that

17

slide-44
SLIDE 44

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • given formula F
  • transform into migration ordering instance
  • show that
  • F satisfiable ⇒ loop free migration ordering

17

slide-45
SLIDE 45

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • given formula F
  • transform into migration ordering instance
  • show that
  • F satisfiable ⇒ loop free migration ordering
  • F not satisfiable ⇒ no loop free migration ordering

17

slide-46
SLIDE 46

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • central vertex P

18

slide-47
SLIDE 47

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • central vertex P
  • true: migrated before P

18

slide-48
SLIDE 48

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

  • central vertex P
  • true: migrated before P
  • false: migrated after P

18

slide-49
SLIDE 49

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

18

slide-50
SLIDE 50

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Router migration ordering

18

slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54
slide-55
SLIDE 55

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Loop enumeration Algorithm

20

slide-56
SLIDE 56

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Loop enumeration Algorithm

  • inefficient algorithm

20

slide-57
SLIDE 57

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Loop enumeration Algorithm

  • inefficient algorithm
  • requires exponential time
  • cycles can be exponential in the number of

nodes

20

slide-58
SLIDE 58

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Loop enumeration Algorithm

  • 1. for each destination d

21

slide-59
SLIDE 59

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Loop enumeration Algorithm

  • 1. for each destination d
  • 1. Build graph

21

slide-60
SLIDE 60

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Loop enumeration Algorithm

  • 1. for each destination d
  • 1. Build graph
  • initial and final next hops for destination d

21

slide-61
SLIDE 61

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Loop enumeration Algorithm

  • 1. for each destination d
  • 1. Build graph
  • initial and final next hops for destination d
  • 2. for each loop in create ordering constraint

21

slide-62
SLIDE 62

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Loop enumeration Algorithm

  • 1. for each destination d
  • 1. Build graph
  • initial and final next hops for destination d
  • 2. for each loop in create ordering constraint
  • 2. solve the problem using a Linear Programm

21

slide-63
SLIDE 63

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

22

slide-64
SLIDE 64

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • computes constraints for each destination
  • migrate next-hop changing routers after
  • forwarding path is established

22

slide-65
SLIDE 65

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • computes constraints for each destination
  • migrate next-hop changing routers after
  • forwarding path is established
  • polynomial respect to input size

22

slide-66
SLIDE 66

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • computes constraints for each destination
  • migrate next-hop changing routers after
  • forwarding path is established
  • polynomial respect to input size
  • not guaranteed to find a solution
  • rare in carefully designed networks

22

slide-67
SLIDE 67

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • 1. for each destination d

23

slide-68
SLIDE 68

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • 1. for each destination d
  • 1. greedy run to generate set

23

slide-69
SLIDE 69

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • 1. for each destination d
  • 1. greedy run to generate set
  • 2. generate set

23

slide-70
SLIDE 70

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • 1. for each destination d
  • 1. greedy run to generate set
  • 2. generate set
  • 3. build graph

23

slide-71
SLIDE 71

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • 1. for each destination d
  • 1. greedy run to generate set
  • 2. generate set
  • 3. build graph
  • 4. constraints: migrate router after all its successors

23

slide-72
SLIDE 72

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Routing Tree Heuristic

  • 1. for each destination d
  • 1. greedy run to generate set
  • 2. generate set
  • 3. build graph
  • 4. constraints: migrate router after all its successors
  • 2. topological sort of the final graph

23

slide-73
SLIDE 73

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Per-Destination Ordering

  • per-router ordering does not exist or

24

slide-74
SLIDE 74

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Per-Destination Ordering

  • per-router ordering does not exist or
  • Routing Tree Heuristic does not find a solution

24

slide-75
SLIDE 75

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Per-Destination Ordering

  • per-router ordering does not exist or
  • Routing Tree Heuristic does not find a solution
  • applied to problematic destinations only

24

slide-76
SLIDE 76

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Per-Destination Ordering

  • per-router ordering does not exist or
  • Routing Tree Heuristic does not find a solution
  • applied to problematic destinations only
  • use constraints generated in Routing Tree Heuristic

24

slide-77
SLIDE 77

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Method discussion

  • always migrate one router after the other
  • why not migrate a subset of routers?
  • why not migrate only part of the routers?

25

slide-78
SLIDE 78

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Method discussion

  • always migrate one router after the other
  • why not migrate a subset of routers?
  • why not migrate only part of the routers?
  • other approach introducing version numbers
  • packets need to be adapted
  • when can I delete old configurations?

25

slide-79
SLIDE 79

/ 32

Evaluation

26

slide-80
SLIDE 80

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Dataset

  • Rocketfuel project

27

slide-81
SLIDE 81

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Dataset

  • Rocketfuel project
  • AS of different sizes

27

slide-82
SLIDE 82

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Dataset

  • Rocketfuel project
  • AS of different sizes
  • smallest: 79 nodes and 294 edges

27

slide-83
SLIDE 83

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Dataset

  • Rocketfuel project
  • AS of different sizes
  • smallest: 79 nodes and 294 edges
  • biggest: 315 nodes and 1944 edges

27

slide-84
SLIDE 84

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Dataset

  • Rocketfuel project
  • AS of different sizes
  • smallest: 79 nodes and 294 edges
  • biggest: 315 nodes and 1944 edges
  • pan-European research network (Geant)

27

slide-85
SLIDE 85

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Dataset

  • Rocketfuel project
  • AS of different sizes
  • smallest: 79 nodes and 294 edges
  • biggest: 315 nodes and 1944 edges
  • pan-European research network (Geant)
  • 36 routers and 53 links

27

slide-86
SLIDE 86

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Dataset

  • Rocketfuel project
  • AS of different sizes
  • smallest: 79 nodes and 294 edges
  • biggest: 315 nodes and 1944 edges
  • pan-European research network (Geant)
  • 36 routers and 53 links
  • emulation

27

slide-87
SLIDE 87

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Algorithms compared

28 Time taken to compute an ordering in flat2hier (Rocketfuel topologie)

slide-88
SLIDE 88

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Packet loss

29 Packet loss during flat2hier migration (Geant topology)

slide-89
SLIDE 89

/ 32

Summary

30

slide-90
SLIDE 90

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Summary

  • changing IGP configurations can lead to loops

31

slide-91
SLIDE 91

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Summary

  • changing IGP configurations can lead to loops
  • proposed a methodology
  • router migration ordering

31

slide-92
SLIDE 92

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Summary

  • changing IGP configurations can lead to loops
  • proposed a methodology
  • router migration ordering
  • finding loop free migration ordering is NP-complete

31

slide-93
SLIDE 93

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Summary

  • changing IGP configurations can lead to loops
  • proposed a methodology
  • router migration ordering
  • finding loop free migration ordering is NP-complete
  • loop enumeration algorithm

31

slide-94
SLIDE 94

/ 32 Seminar in Distributed Computing - Jochen Zehnder 05.03.2014

Summary

  • changing IGP configurations can lead to loops
  • proposed a methodology
  • router migration ordering
  • finding loop free migration ordering is NP-complete
  • loop enumeration algorithm
  • routing tree heuristic

31

slide-95
SLIDE 95

/ 32

Q&A

32