deepmpls: fast analysis of mpls configurations using deep ... · deepmpls: fast analysis of mpls...

25
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 1 Chair of Network Architectures and Services Technical University of Munich (TUM) 2 Airbus Central R&T Munich 3 Faculty of Computer Science, University of Vienna, Austria

Upload: others

Post on 15-Oct-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

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 ServicesTechnical University of Munich (TUM)

2Airbus Central R&TMunich

3Faculty of Computer Science,University of Vienna, Austria

Page 2: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

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

Page 3: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

MotivationNetwork 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

Page 4: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

MotivationAnalysis of MPLS networks – Example network

v1 v2 v3 v4

v5 v6 v7 v8

Src 1 Dst 1

Src 2

Dst 2Simple use-case

Flow 1

Flow 2

Routing using shortest path

MPLS Configuration

PUSH SWAP SWAP POP

POP

1020

1121

12

22

What happens in case of link failure?

PUSH

SWAP POPFast Reroute Around 1 Failure

30|1130|21

31|1131|21

1121

What happens in case of multiple failures?

40|30|1140|30|21

30|1130|21

Fast Reroute Around 2 FailuresSWAP

Fast Rerouting may lead to inefficient paths

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

Page 5: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

MotivationAnalysis of MPLS networks – Example network

v1 v2 v3 v4

v5 v6 v7 v8

Src 1 Dst 1

Src 2

Dst 2Simple use-case

Flow 1

Flow 2

Routing using shortest pathMPLS Configuration

PUSH SWAP SWAP POP

POP

1020

1121

12

22

What happens in case of link failure?

PUSH

SWAP POP

Fast Reroute Around 1 Failure

30|1130|21

31|1131|21

1121

What happens in case of multiple failures?

40|30|1140|30|21

30|1130|21

Fast Reroute Around 2 FailuresSWAP

Fast Rerouting may lead to inefficient paths

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

Page 6: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

MotivationAnalysis of MPLS networks – Example network

v1 v2 v3 v4

v5 v6 v7 v8

Src 1 Dst 1

Src 2

Dst 2Simple use-case

Flow 1

Flow 2

Routing using shortest pathMPLS Configuration

PUSH SWAP SWAP POP

POP

1020

1121

12

22

What happens in case of link failure?

PUSH

SWAP POPFast Reroute Around 1 Failure

30|1130|21

31|1131|21

1121

What happens in case of multiple failures?

40|30|1140|30|21

30|1130|21

Fast Reroute Around 2 FailuresSWAP

Fast Rerouting may lead to inefficient paths

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

Page 7: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

MotivationAutomated 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

Page 8: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

MotivationDeep 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

Page 9: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Outline

Graph Neural Network

Numerical evaluation

Conclusion

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

Page 10: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph encoding - Network and MPLS configuration

v1 v2

v3 v461|51

51

5250 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

Page 11: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph encoding - Network and MPLS configuration

v1 v2

v3 v461|51

51

5250 51

60|51

v1 v2

v3 v4

Router

Interface

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

Page 12: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph encoding - Network and MPLS configuration

v1 v2

v3 v461|51

51

52v150 51

60|51v1 v2

v3 v4

Rule Swap50 51Input label Label for SwapAction

Input

interface

Output

interface

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

Page 13: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph encoding - Network and MPLS configuration

v1 v2

v3 v461|51

51

52v150 51

60|51v1 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

Page 14: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph encoding - Query

v1 v2

v3 v461|51

51

5250 51

60|51

<50> v1 .* <52>

v1 v2

50 52Query .*Initial label Final label

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

Page 15: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph encoding - Query

v1 v2

v3 v461|51

51

5250 51

60|51

<50+51> v1 . v2 <.>

Query

50

51

v1 . v2 .Initial labelsFinal label

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

Page 16: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph 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

Page 17: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph Neural Networks – Introduction

Graph Neural Networks [Scarselli et al., 2009] and related architectures are able to process general graphs and predictfeature 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

Page 18: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Graph Neural NetworkGraph 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

Page 19: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Numerical evaluationDataset 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 248Size 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

Page 20: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Numerical evaluationBaselines

Reminder on tasks

Satisfiability Heuristic for verifying if a query is satisfiableRouting 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

Page 21: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Numerical evaluationQuery satisfiability - Neural Network Training

0 5 10 15 20 25 30 35

0.4

0.6

0.8

1

Baseline (mean)

Training iterations (⇥103)

Accu

racy

TrainTest

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

Page 22: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Numerical evaluationRouting trace - Neural Network Training

0 0.5 1 1.5 2 2.5 30.4

0.6

0.8Baseline (mean)

Training iterations (⇥103)

Accu

racy

TrainTest

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

Page 23: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

Numerical evaluationRuntime

0 5 10 15 20 25 30101

102

103

DeepMPLS (CPU)

DeepMPLS (GPU)

P-Rex (CPU)

Size of push-down automaton (⇥103)

Exec

utio

ntim

eper

quer

y(m

s)

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

Page 24: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

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

Page 25: DeepMPLS: Fast Analysis of MPLS Configurations Using Deep ... · DeepMPLS: Fast Analysis of MPLS Configurations Using Deep Learning Fabien Geyer1,2 and Stefan Schmid3 IFIP Networking

[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