DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning - - PowerPoint PPT Presentation

deepmpls fast analysis of mpls configurations using deep
SMART_READER_LITE
LIVE PREVIEW

DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning - - PowerPoint PPT Presentation

DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer 1,2 and Stefan Schmid 3 IFIP Networking 2019 Tuesday 21 st May, 2019 3 Faculty of Computer Science, 1 Chair of Network Architectures and Services 2 Airbus Central


slide-1
SLIDE 1

DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking 2019

Tuesday 21st May, 2019

1Chair of Network Architectures and Services

Technical University of Munich (TUM)

2Airbus Central R&T

Munich

3Faculty of Computer Science,

University of Vienna, Austria

slide-2
SLIDE 2

Motivation

Network failures can have a large impact

  • Github: We discovered a misconfiguration on this pair of switches that caused what’s called a "bridge loop" in the

network

  • Amazon: A network change was [...] executed incorrectly [...] more "stuck" volumes and added more requests to the

re-mirroring storm

  • GoDaddy: Service outage was due to a series of internal network events that corrupted router data tables.
  • United Airlines: Experienced a network connectivity issue [...] interrupted the airline’s flight departures, airport

processing and reservations systems

Managing network is hard

  • Mostly done by human with limited automation
  • Can we provide better tools and methods for assisting sysadmins?
  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

2

slide-3
SLIDE 3

Motivation

Network automation and verification

Challenges in routing

  • Reachability: Can traffic from ingress port A reach egress port B?
  • Loop-freedom: Are the routes implied by the forwarding rules loop-free?
  • Policy: Is it ensured that traffic from A to B never goes via C?
  • Waypoint enforcement: Is it ensured that traffic from A to B is always routed via a node C (e.g., intrusion detection

system or a firewall)?

Automation and formal verification

  • Some routing properties can be formally verified . . .
  • . . . but it comes at a computational cost and leaves routing configuration to sysadmin
  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

3

slide-4
SLIDE 4

Motivation

Analysis of MPLS networks – Example network

v1 v2 v3 v4 v5 v6 v7 v8 MPLS Configuration PUSH SWAP SWAP POP POP 10 20 11 21 12 22

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

4

slide-5
SLIDE 5

Motivation

Analysis of MPLS networks – Example network

v1 v2 v3 v4 v5 v6 v7 v8 10 20 11 21 12 22 Fast Reroute Around 1 Failure 30|11 30|21 31|11 31|21 11 21

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

4

slide-6
SLIDE 6

Motivation

Analysis of MPLS networks – Example network

v1 v2 v3 v4 v5 v6 v7 v8 10 20 11 21 12 22 30|11 30|21 31|11 31|21 11 21 40|30|11 40|30|21 30|11 30|21 Fast Rerouting may lead to inefficient paths

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

4

slide-7
SLIDE 7

Motivation

Automated analysis of MPLS configuration

Formal verification

  • Related work: NetKAT [Anderson et al., 2014], HSA [Kazemian et al., 2012], VeriFlow [Khurshid et al., 2013],

Anteater [Mai et al., 2011]

  • Difficult problem: some existing tools have a super-polynomial runtime, some verification are even undecidable

Polynomial-time solution

  • Proposal using Push-Down Automata to verify MPLS networks [Schmid and Srba, 2018]
  • P-Rex tool available [Jensen et al., 2018]
  • Validation of MPLS queries using regular expressions in the form of: < a > b < c > k
  • Only allows to detect but not fix configurations
  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

5

slide-8
SLIDE 8

Motivation

Deep Learning

Challenges

  • Can we speed-up the network verification?
  • What about fixing and optimizing network configurations?

General idea

  • Build a framework for combining analysis of MPLS networks and deep learning
  • Model problem as graph and process the graph using neural networks
  • Predictions of the neural network can be used to statistically infer properties of the network
  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

6

slide-9
SLIDE 9

Outline

Graph Neural Network Numerical evaluation Conclusion

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

7

slide-10
SLIDE 10

Graph Neural Network

Graph encoding - Network and MPLS configuration

v1 v2 v3 v4 61|51 51 52 50 51 60|51

Nodes

  • Physical network: routers and interfaces
  • MPLS elements: Rules, labels, actions
  • Query and elements of regex

Edges

  • Relationship between nodes
  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

8

slide-11
SLIDE 11

Graph Neural Network

Graph encoding - Network and MPLS configuration

v1 v2 v3 v4 61|51 51 52 50 51 60|51 v1 v2 v3 v4

Router Interface

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

8

slide-12
SLIDE 12

Graph Neural Network

Graph encoding - Network and MPLS configuration

v1 v2 v3 v4 61|51 51 52 v1 50 51 60|51 v1 v2 v3 v4

Rule Swap

50 51

Input label Label for Swap Action Input interface Output interface

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

8

slide-13
SLIDE 13

Graph Neural Network

Graph encoding - Network and MPLS configuration

v1 v2 v3 v4 61|51 51 52 v1 50 51 60|51

v1 v2

Rule Swap Push

50 51 60

Input label Label for Swap Label for Push

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

8

slide-14
SLIDE 14

Graph Neural Network

Graph encoding - Query

v1 v2 v3 v4 61|51 51 52 50 51 60|51

<50> v1 .* <52>

v1 v2 50 52

Query

.*

Initial label Final label

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

9

slide-15
SLIDE 15

Graph Neural Network

Graph encoding - Query

v1 v2 v3 v4 61|51 51 52 50 51 60|51

<50+51> v1 . v2 <.>

Query

50 51 v1 . v2 .

Initial labels Final label

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

9

slide-16
SLIDE 16

Graph Neural Network

Graph encoding - Node features

Input features

  • Node type encoded as categorical feature
  • Edges have no input feature

Output features

  • Binary classification problem for some nodes

Predictions

  • Satisfiability Heuristic for verifying if a query is satisfiable
  • Routing trace Heuristic for generating a trace of routers which

match a satisfiable query

  • Partial synthesis Synthesis of an MPLS configuration in order

to satisfy a query

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

10

slide-17
SLIDE 17

Graph Neural Network

Graph Neural Networks – Introduction Graph Neural Networks [Scarselli et al., 2009] and related architectures are able to process general graphs and predict feature of nodes ov

Principle

  • Each node has a hidden vector hv ∈ Rk
  • . . . computed according to the vector of its neighbors
  • . . . and are propagated through the graph

Algorithm

  • Initialize h(0)

v

according to features of nodes

  • for t = 1, ... , T do
  • a(t)

v = AGGREGATE !)

h(t−1)

u

| u ∈ Nbr(v)*"

  • h(t)

v = COMBINE !

h(t−1)

v

, a(t)

v

"

  • return READOUT !

h(T)

v

"

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

11

slide-18
SLIDE 18

Graph Neural Network

Graph Neural Networks – Implementation

Implementation (simplified)

  • Initialize h(0)

v

according to features of nodes

  • for t = 1, ... , T do
  • AGGREGATE → a(t)

v = P u∈Nbr(v) h(t−1) u

  • COMBINE → h(t)

v = Neural Network !

h(t−1)

v

, a(t)

v

"

  • READOUT → return Neural Network !

h(T)

v

"

Training

  • Using standard gradient descent techniques

Different approaches

  • Gated-Graph Neural Network
  • Graph Convolution Network
  • Graph Attention Networks
  • Graph Spatial-Temporal Networks
  • . . .

→ Hot area of research in the ML community

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

12

slide-19
SLIDE 19

Numerical evaluation

Dataset generation

  • Generation of more than 90.000 topologies based on the Network Zoo [Knight et al., 2011]
  • Generation of MPLS rules and queries based on random generator
  • Validation of the MPLS configurations using P-Rex [Jensen et al., 2018]
  • Dataset available online: https://github.com/fabgeyer/dataset-networking2019

Parameter Min Max Mean Median # of routers 3 30 10.6 10 # MPLS labels 8 689 225.3 174 # MPLS rules 8 795 319.5 248 Size of push-down automaton 17 37006 5441.2 2692 # of nodes in analyzed graph 36 2333 914.4 713 # of edges in analyzed graph 48 4000 1615.4 1261

Table 1: Statistics about the generated dataset.

Types of queries:

  • < li > ri < lo > k
  • < li > ri .∗ ro < lo > k
  • < li > . .∗ ro < lo > k
  • < .∗ > ri .∗ ro < lo > k
  • < li > ri .∗ ro < .∗ > k
  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

13

slide-20
SLIDE 20

Numerical evaluation

Baselines Reminder on tasks Satisfiability Heuristic for verifying if a query is satisfiable Routing trace Heuristic for generating a trace of routers which match a satisfiable query Partial synthesis Synthesis of an MPLS configuration in order to satisfy a query Comparison between machine learning results with a random-based baseline

  • For the Satisfiability and Routing trace tasks: random walk in the MPLS network
  • For the Partial synthesis task: random choice
  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

14

slide-21
SLIDE 21

Numerical evaluation

Query satisfiability - Neural Network Training

5 10 15 20 25 30 35 0.4 0.6 0.8 1

Baseline (mean)

Training iterations (×103) Accuracy Train Test

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

15

slide-22
SLIDE 22

Numerical evaluation

Routing trace - Neural Network Training

0.5 1 1.5 2 2.5 3 0.4 0.6 0.8

Baseline (mean)

Training iterations (×103) Accuracy Train Test

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

16

slide-23
SLIDE 23

Numerical evaluation

Runtime

5 10 15 20 25 30 101 102 103

DeepMPLS (CPU) DeepMPLS (GPU) P-Rex (CPU)

Size of push-down automaton (×103) Execution time per query (ms)

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

17

slide-24
SLIDE 24

Conclusion

Contributions

  • Framework combining MPLS analysis and graph-based deep learning
  • Fast heuristic for verifying MPLS configurations
  • Prediction of actions to take to fix MPLS configurations
  • First steps towards more complicated tasks and networks
  • Dataset: https://github.com/fabgeyer/dataset-networking2019

Future work

  • Synthesis of full MPLS configurations based on reinforcement learning
  • Test and generalize our approach for other configurations, e.g., based on Segment Routing
  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

19

slide-25
SLIDE 25

[Anderson et al., 2014] Anderson, C. J., Foster, N., Guha, A., Jeannin, J.-B., Kozen, D., Schlesinger, C., and Walker, D. (2014). Netkat: Semantic foundations for networks. SIGPLAN Not., 49(1). [Jensen et al., 2018] Jensen, J. S., Krogh, T. B., Madsen, J. S., Schmid, S., Srba, J., and Thorgersen, M. T. (2018). P-Rex: Fast Verification of MPLS Networks with Multiple Link Failures. In Proc. 14th International Conference on emerging Networking EXperiments and Technologies (CoNEXT). [Kazemian et al., 2012] Kazemian, P ., Varghese, G., and McKeown, N. (2012). Header space analysis: Static checking for networks. In Proc. of USENIX NSDI. [Khurshid et al., 2013] Khurshid, A., Zou, X., Zhou, W., Caesar, M., and Godfrey, P . B. (2013). Veriflow: verifying network-wide invariants in real time. In Proc. of USENIX NSDI, pages 15–27. [Knight et al., 2011] Knight, S., Nguyen, H. X., Falkner, N., Bowden, R., and Roughan, M. (2011). The Internet Topology Zoo. IEEE Journal on Selected Areas in Communications, 29(9):1765–1775. [Mai et al., 2011] Mai, H., Khurshid, A., Agarwal, R., Caesar, M., Godfrey, P ., and King, S. T. (2011). Debugging the data plane with anteater. In ACM SIGCOMM Computer Communication Review, volume 41 (4), pages 290–301. [Scarselli et al., 2009] Scarselli, F., Gori, M., Tsoi, A. C., Hagenbuchner, M., and Monfardini, G. (2009). The Graph Neural Network Model. IEEE Transactions on Neural Networks, 20(1):61–80. [Schmid and Srba, 2018] Schmid, S. and Srba, J. (2018). Polynomial-Time What-If Analysis for Prefix-Manipulating MPLS Networks. In Proc. of IEEE INFOCOM.

  • F. Geyer and S. Schmid — DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning

20