Polynomial-Time What-If Analysis for Prefix-Manipulating MPLS Networks

Size: px
Start display at page:

Download "Polynomial-Time What-If Analysis for Prefix-Manipulating MPLS Networks"

Transcription

1 Polynomial-Time What-If Analysis for Prefix-Manipulating MPLS Networks Stefan Schmid University of Vienna, Austria and Segment Routing!... Jiri Srba Aalborg University, Denmark

2 Polynomial-Time What-If Analysis for Prefix-Manipulating MPLS Networks Stefan Schmid University of Vienna, Austria Jiri Srba Aalborg University, Denmark Teaser: Can we verify reachability under k failures without trying exponentially many options? Yes. MUCH FASTER!

3 Polynomial-Time What-If Analysis for Prefix-Manipulating MPLS Networks Stefan Schmid University of Vienna, Austria Jiri Srba Aalborg University, Denmark Teaser: Can we verify reachability under k failures without trying exponentially many options? Yes. MUCH FASTER! An Automata-Theoretic Approach

4 Polynomial-Time What-If Analysis for Prefix-Manipulating MPLS Networks Stefan Schmid University of Vienna, Austria Jiri Srba Aalborg University, Denmark Kudos to collaborators: Jesper Stenbjerg Jensen, Jonas Sand Madsen, Troels Beck Krøgh at Aalborg University, Denmark

5 Configuring Networks is Hard Datacenter, enterprise, carrier networks: mission-critical infrastructures. But even techsavvy companies struggle to provide reliable operations. We discovered a misconfiguration on this pair of switches that caused what's called a bridge loop in the network. A network change was [ ] executed incorrectly [ ] more stuck volumes and added more requests to the re-mirroring storm Service outage was due to a series of internal network events that corrupted router data tables Experienced a network connectivity issue [ ] interrupted the airline's flight departures, airport processing and reservations systems Credits: Nate Foster 1

6 Datacenter Especially Under Failures Example: BGP in Datacenter Internet X Y C D G H A B E F G1 G2 P1 P2 Credits: Beckett et al. (SIGCOMM 2016): Bridging Networkwide Objectives and Device-level Configurations. 2

7 Datacenter Especially Under Failures Example: Cluster BGP with in Datacenter services that should be globally reachable. X Internet Y Cluster with services that should be accessible only internally. C D G H A B E F G1 G2 P1 P2 Credits: Beckett et al. (SIGCOMM 2016): Bridging Networkwide Objectives and Device-level Configurations. 2

8 Datacenter Especially Under Failures X and Y announce to Internet what is from G* (prefix). Example: BGP in Datacenter Internet X and Y block what is from P*. X Y C D G H A B E F G1 G2 P1 P2 Credits: Beckett et al. (SIGCOMM 2016): Bridging Networkwide Objectives and Device-level Configurations. 2

9 Datacenter Especially Under Failures X and Y announce to Internet what is from G* (prefix). Example: BGP in Datacenter Internet X and Y block what is from P*. X Y C D G What can go wrong? H A B E F G1 G2 P1 P2 Credits: Beckett et al. (SIGCOMM 2016): Bridging Networkwide Objectives and Device-level Configurations. 2

10 Datacenter Especially Under Failures X and Y announce to Internet what is from G* (prefix). Example: BGP in Datacenter Internet X and Y block what is from P*. X Y C D G H If link (G,X) fails and traffic from G is rerouted via A Y and BC to X: X announces E (does F not block) G and H as it comes from C. (Note: BGP.) G1 G2 P1 P2 Credits: Beckett et al. (SIGCOMM 2016): Bridging Networkwide Objectives and Device-level Configurations. 2

11 Network Administration Today Policy ok? A B C Many forwarding tables with many rules, distributed across network Sysadmin responsible for: Reachability: Can traffic from ingress port A reach egress port B? Loop-freedom: Are the routes implied by the forwarding rules loop-free? Non-reachability: Is it ensured that traffic originating from A never reaches B? Waypoint ensurance: Is it ensured that traffic from A to B is always routed via a node C (e.g., a firewall)? 3

12 Network Administration Today Policy ok? A B C Many forwarding tables with many rules, distributed across network Sysadmin responsible for: Reachability: Can traffic from ingress port A reach egress port B? Loop-freedom: Are the routes implied by the forwarding rules loop-free? Non-reachability: Is it ensured that traffic originating from A never reaches B? Waypoint ensurance: Is it ensured that traffic from A to B is always routed via a node C (e.g., a firewall)? 3

13 Network Administration Today What if...?! A B C Many forwarding tables with many rules, distributed across network Sysadmin responsible for: Reachability: Can traffic from ingress port A reach egress port B? Loop-freedom: Are the routes implied by the forwarding rules loop-free? Non-reachability: Is it ensured that traffic originating from A never reaches B? Waypoint ensurance: Is it ensured that traffic from A to B is always routed via a node C (e.g., a firewall)? even under (multiple) failures! 3

14 Network Administration Today k failures = ( n k ) possibilities A B C Many forwarding tables with many rules, distributed across network Sysadmin responsible for: Reachability: Can traffic from ingress port A reach egress port B? Loop-freedom: Are the routes implied by the forwarding rules loop-free? Non-reachability: Is it ensured that traffic originating from A never reaches B? Waypoint ensurance: Is it ensured that traffic from A to B is always routed via a node C (e.g., a firewall)? even under (multiple) failures! 3

15 The Good News Networks are becoming more programmable and logically centralized, have open interfaces, are based on formal foundations researchers develop high-level specification languages such as NetKAT. Enables a more automated network operation and verification! 4

16 The Bad News For many traditional networks (still predominant!), such benefits are not available yet Many existing tools cannot deal with failures Super-polynomial runtime, verification PSPACE-hard Other limitations: e.g., fixed header size 4

17 Tractability of Verification Reachability is undecidable in SDN: Can emulate a Turing machine. Self-loop: could be replaced by dummy switch. in out in out 5

18 Tractability of Verification Reachability is undecidable in SDN: Idea: packet header stores Can emulate a Turing machine. Turing machine configuration (tape, head, state). in out in out 5

19 Tractability of Verification Reachability is undecidable in SDN: Can emulate a Turing machine. in out in out Switch action: each time packet arrives, performs one Turing machine step and updates header. 5

20 Tractability of Verification Reachability is undecidable in SDN: Can emulate a Turing machine. in Only if accept or reject, forwarded to out. Is it ever reached? Undecidable! out in out 5

21 Our Contribution Polynomial-Time What-if Analysis for Prefix Rewriting Networks 6

22 Our Contribution Independently of the number of failures! No need to try combinations. Reachability, loopfreedom, waypointing, etc.! Polynomial-Time What-if Analysis for Prefix Rewriting Networks e.g., MPLS networks or Segment Routing networks Support arbitrary header sizes! 6

23 MPLS Networks MPLS: forwarding based on top label of label stack in v 1 v 2 v 3 v 4 out 1 in 2 22 v 5 v 6 v 7 v 8 out 2 Default routing of two flows 7

24 MPLS Networks MPLS: forwarding based on top label of label stack push swap swap pop in v 1 v 2 v 3 v 4 out 1 in 2 22 v 5 v 6 v 7 v 8 out 2 Default routing of two flows pop 7

25 MPLS Networks MPLS: forwarding based on top label of label stack in v 1 v 2 v 3 v 4 out 1 in 2 22 v 5 v 6 v 7 v 8 out 2 Default routing of two flows 7

26 MPLS Networks: 1 Failure MPLS: forwarding based on top label of label stack in v 1 v 2 v 3 v 4 out 1 in 2 22 Default routing of two flows v 5 v 6 v 7 v 8 out 2 For failover: push and pop label in 1 12 v 1 v 2 v 3 v 4 out 1 in v 5 v 6 v 7 v 8 21 out 2 One failure: push 30: route around (v 2,v 3 ) 8

27 MPLS Networks: 1 Failure MPLS: forwarding based on top label of label stack in v 1 v 2 v 3 v 4 out 1 in 2 22 Default routing of two flows If (v 2,v 3 ) vfailed, 5 v 6 v 7 v 8 out 2 push 30 and forward to v 6. For failover: push and pop label in 1 12 v 1 v 2 v 3 v 4 out 1 in 2 Normal swap v 5 v 6 v 7 v 8 21 Pop out 2 One failure: push 30: route around (v 2,v 3 ) 8

28 MPLS Networks: 1 Failure MPLS: forwarding based on top label of label stack in v 1 v 2 v 3 v 4 out 1 in 2 22 Default routing of two flows If (v 2,v 3 ) vfailed, 5 v 6 v 7 v 8 out 2 push 30 and forward to v 6. What about multiple link failures? For failover: push and pop label in 1 12 v 1 v 2 v 3 v 4 out 1 in 2 Normal swap v 5 v 6 v 7 v 8 21 Pop out 2 One failure: push 30: route around (v 2,v 3 ) 8

29 MPLS Networks: 2 Failures in v 1 v 2 v 3 v 4 out 1 in 2 22 Original Routing v 5 v 6 v 7 v 8 out 2 in v 1 v 2 v 3 v 4 out 1 in v 5 v 6 v 7 v out 2 in Push v40 1 v 2 v 3 v 4 out 1 in v 5 v 6 v 7 v Push 30 out 2 One failure: push 30: route around (v 2,v 3 ) Two failures: first push 30: route around (v 2,v 3 ) Push recursively 40: route around (v 2,v 6 )

30 MPLS Networks: 2 Failures in v 1 v 2 v 3 v 4 out 1 in 2 22 Original Routing v 5 v 6 v 7 v 8 out 2 in v 1 v 2 v 3 v 4 out 1 in v 5 v 6 v 7 v in Push v40 1 v 2 v 3 v 4 out 1 in v 5 v 6 v 7 v Push 30 out 2 One failure: push 30: route around (v 2,v 3 ) out But masking links one-byone can be inefficient: 2 (v 7,v 3,v 8 ) could be shortcut to (v 7,v 8 ). Two failures: first push 30: route around (v 2,v 3 ) Push recursively 40: route around (v 2,v 6 )

31 MPLS Networks: 2 Failures in v 1 v 2 v 3 v 4 out 1 in 2 22 v 5 v 6 v 7 v 8 out 2 in v 1 v 2 v 3 v 4 out 1 in v 5 v 6 v 7 v in Push v40 1 v 2 v 3 v 4 out 1 in v 5 v 6 v 7 v Push 30 out 2 Original Routing More efficient but also more complex! How complex? One failure: push 30: route around (v 2,v 3 ) out But masking links one-byone can be inefficient: 2 (v 7,v 3,v 8 ) could be shortcut to (v 7,v 8 ). Two failures: first push 30: route around (v 2,v 3 ) Push recursively 40: route around (v 2,v 6 )

32 Forwarding Tables for Our Example Protected link Alternative link Label Failover Tables Flow Table 10

33 Polynomial-Time Verification: An Automata-Theoretic Approach What if...?! Compilation Interpretation px qxx px qyx qy ryy ry r rx px MPLS configurations, Segment Routing etc. Pushdown Automaton and Prefix Rewriting Systems Theory 11

34 Polynomial-Time Verification: Use cases: Sysadmin issues queries An Automata-Theoretic test certain properties, Approach or do it on a regular basis automatically! What if...?! Compilation Interpretation px qxx px qyx qy ryy ry r rx px MPLS configurations, Segment Routing etc. Pushdown Automaton and Prefix Rewriting Systems Theory 11

35 Questions with Answers in Polynomial Time Interface Connectivity Problem Can a packet arriving at interface A with label-stack header h reach an interface B, assuming that at most k links fail at the same time? Does the route avoid a given set of nodes? Push/pop/ swap Blacklisted: avoid D B Will the packet always traverse a given waypoint? A What subset of headers guarantees that a given interface is not reachable under at most k link failures? And everything for up to k failures! Label stack: C: with firewall Waypoint: use! 12

36 Questions with Answers in Polynomial Time Transparency MPLS: transit networks! B Label stack: empty? Will a packet with empty labelstack arriving at ingress interface A always leave at egress interface B also with the empty label-stack? Label stack: empty A Also under k failures? Cyclic and repeated routing Will some server receive a given packet more than r-times during the routing? What is the max stack size during the routing? Under failures as well A B Label stack: size? 13

37 Our Approach The clue: exploit the specific structure of MPLS rules OpenFlow rules: arbitrary rewriting in x L* out x L* vs Header size not fixed! (Simplified) MPLS rules: prefix rewriting FT: in x L out x OP, where OP = {swap,push,pop} FFT: out x L out x OP, where OP = {swap,push,pop} 14

38 A Network Model A general network Links Outgoing interfaces Nodes Incoming interfaces Set of labels in packet header 15

39 A general network A Network Model Interface function Interface function: maps outgoing interface to next hop node and incoming interface to previous hop node That is: and 16

40 A general network A Network Model Routing function Routing function: for each set of failed links routing function, the defines, for all incoming interfaces and packet headers, outgoing interfaces together with modified headers. 17

41 Routing in Network Packet routing sequence can be represented using tuples: on interface forwards it to live next hop given that these links are down. Node receives packet with header with new header.. Packet routing is then (in)finite sequence of tuples 18

42 MPLS Network Model MPLS supports following operations on header sequences: The local routing table can then be defined as Interface + label Maps to next hop and operation Local link protection function suggests backup interface protected backup typically: push 19

43 MPLS Pushdown Prefix Rewriting System Prefix rewriting system is set of rewriting rules We write for generates a transition system such that iff Replace prefix Prefix rewriting system is called pushdown system if and for all Second symbol of v: top of stack label. First symbol of v and w: control state of pushdown system. pop swap push 20

44 MPLS Pushdown Prefix Rewriting System Control states: and Labels: stack symbols and at bottom How many times have we tried to reroute at this node already? Packet with header arriving at interface in at represented as pushdown configuration: Packet to be forwarded at node represented by configuration: to outgoing interface 21

45 Example Rules: Regular Forwarding on Top-Most Label Push: Push label on stack Swap: Swap top of stack Pop: Pop top of stack 22

46 Example Failover Rules Failover-Push: Emumerate all rerouting options Failover-Swap: Failover-Pop: Example rewriting sequence: Try default Try first backup Try second backup 23

47 Why Polynomial Time?! k failures = ( n k ) possibilities Arbitrary number k of failures: How can I avoid checking all 2 k options?! Even if we reduce to push-down automaton: simple operations such as emptiness testing or intersection on push-down automata is computationally nontrivial and sometimes even undecidable! 24

48 Why Polynomial Time?! k failures = ( n k ) possibilities The Clue: this is not how we will use the PDA! Arbitrary number k of failures: How can I avoid checking all 2 k options?! Even if we reduce to push-down automaton: simple operations such as emptiness testing or intersection on push-down automata is computationally nontrivial and sometimes even undecidable! 24

49 Why Polynomial Time?! k failures = ( n k ) possibilities The Clue: this is not how we will use the PDA! Arbitrary number k of failures: How can I avoid checking all 2 k options?! Even if we reduce to push-down automaton: simple operations such as emptiness testing or intersection on push-down automata is computationally nontrivial and sometimes even undecidable! The words in our language are sequences of pushdown stack symbols, not the labels of transitions. 24

50 Time for Automata Theory! Classic result by Büchi 1964: the set of all reachable configurations of a pushdown automaton a is regular set Hence, we can operate only on NFAs when reasoning about the pushdown automata The resulting regular operations are all polynomial time Julius Richard Büchi Swiss logician Important result of model checking 25

51 Preliminary Query Language: Example Question: Beginning with an empty header [], can we get from s1 to s7 in any number of steps, and end with an empty header []? Output: Yes and witness trace (excerpt)! Query: []s1 >> s7[] Take multiple steps Empty header! 26

52 Example 2: Traversal Testing Traversal test: Can traffic starting with [] go through s3, under up to k=1 failures? 1 failure Query: k=1 [] s1 >> s3 >> s7 [] push pop YES! Down! swap swap swap 27

53 Example 3: Traversal with 2 Failures Traversal test with k=2: Can traffic go through s5, under up to k=2 failures? stack size! pop 2 failures Query: k=2 [] s1 >> s5 >> s7 [] push pop YES! push 28

54 Example 4: Transparency Violation Transparency with k=3: Can transparency be violated under up to k=3 failures? 3 failures Query: k=3 [] s1 >> s7 [+] empty non-empty YES! Root cause is a misconfiguration in s5, causing it to swap to 11 instead of popping when doing the failover on s5-s4. 29

55 Preliminary Tool Part 1: Parses query and constructs Push- Down System (PDS) In Python 3 Part 2: Reachability analysis of constructed PDS Using Moped tool query processing flow 30

56 Preliminary Evaluation For small queries fast: 1000s of links, within seconds 100,000s 1000s secs The bottleneck currently are large queries 31

57 Summary Polynomial-time verification of MPLS reachability and policyrelated properties like waypointing For arbitrary number of failures (up to linear in n)! Supports arbitrary header sizes ( infinite ) Also allows to compute headers which do (not) fulfill a property Allows to support a constant number of stateful nodes as well Extends to Segment Routing networks based on MPLS (SR-MPLS) Leveraging theory from Prefix Rewriting Systems and Büchi s classic result 32

58 Future Work Other networks and properties which can be verified in polynomial time? Good tradeoff expressiveness vs polynomial-time verifiability? We re looking for industrial case studies and collaborations Thank you! Questions? 33

Automating Communication Networks

Automating Communication Networks Case Study: Fast What-If Analysis Tool of MPLS and SR Networks! Automating Communication Networks Stefan Schmid (Uni Vienna) Communication networks: Critical infrastructure: stringent dependability requirements

More information

Polynomial-time what-if analysis for communication networks: An automata-theoretic approach

Polynomial-time what-if analysis for communication networks: An automata-theoretic approach Polynomial-time what-if analysis for communication networks: An automata-theoretic approach Stefan Schmid et al.* * most importantly: Jiri Srba (Aalborg University) and Chen Avin (Ben Gurion University)

More information

Predictable Data Communications with (Self-)Adjusting Networks. Stefan Schmid (University of Vienna, Austria)

Predictable Data Communications with (Self-)Adjusting Networks. Stefan Schmid (University of Vienna, Austria) Predictable Data Communications with (Self-)Adjusting Networks Stefan Schmid (University of Vienna, Austria) Predictable Data Communications with (Self-)Adjusting Networks Stefan Schmid et al., ideas from,

More information

Introduction to Computers & Programming

Introduction to Computers & Programming 16.070 Introduction to Computers & Programming Theory of computation 5: Reducibility, Turing machines Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT States and transition function State control A finite

More information

Final Course Review. Reading: Chapters 1-9

Final Course Review. Reading: Chapters 1-9 Final Course Review Reading: Chapters 1-9 1 Objectives Introduce concepts in automata theory and theory of computation Identify different formal language classes and their relationships Design grammars

More information

MIT Specifying Languages with Regular Expressions and Context-Free Grammars. Martin Rinard Massachusetts Institute of Technology

MIT Specifying Languages with Regular Expressions and Context-Free Grammars. Martin Rinard Massachusetts Institute of Technology MIT 6.035 Specifying Languages with Regular essions and Context-Free Grammars Martin Rinard Massachusetts Institute of Technology Language Definition Problem How to precisely define language Layered structure

More information

MIT Specifying Languages with Regular Expressions and Context-Free Grammars

MIT Specifying Languages with Regular Expressions and Context-Free Grammars MIT 6.035 Specifying Languages with Regular essions and Context-Free Grammars Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology Language Definition Problem How to precisely

More information

The Big Picture. Chapter 3

The Big Picture. Chapter 3 The Big Picture Chapter 3 Examining Computational Problems We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear different We want

More information

CSE 105 THEORY OF COMPUTATION

CSE 105 THEORY OF COMPUTATION CSE 105 THEORY OF COMPUTATION Spring 2018 http://cseweb.ucsd.edu/classes/sp18/cse105-ab/ Today's learning goals Sipser Section 2.2 Define push-down automata informally and formally Trace the computation

More information

Bit Index Explicit Replication (BIER) Multicasting in Transport Networks

Bit Index Explicit Replication (BIER) Multicasting in Transport Networks Bit Index Explicit Replication (BIER) Multicasting in Transport Networks A. Giorgetti(1), A. Sgambelluri(1), F. Paolucci(1), N. Sambo(1), P. Castoldi(1), F. Cugini(2) (1) Scuola Superiore Sant Anna, Pisa,

More information

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2016 Lecture 15 Ana Bove May 23rd 2016 More on Turing machines; Summary of the course. Overview of today s lecture: Recap: PDA, TM Push-down

More information

A Characterization of the Chomsky Hierarchy by String Turing Machines

A Characterization of the Chomsky Hierarchy by String Turing Machines A Characterization of the Chomsky Hierarchy by String Turing Machines Hans W. Lang University of Applied Sciences, Flensburg, Germany Abstract A string Turing machine is a variant of a Turing machine designed

More information

Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and

Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and Computer Language Theory Chapter 4: Decidability 1 Limitations of Algorithmic Solvability In this Chapter we investigate the power of algorithms to solve problems Some can be solved algorithmically and

More information

On the Complexity of Verifying Stateful Networks. A. Panda S. Shenker Y. Velner K. Alpernas A. Rabinovich M. Sagiv

On the Complexity of Verifying Stateful Networks. A. Panda S. Shenker Y. Velner K. Alpernas A. Rabinovich M. Sagiv On the Complexity of Verifying Stateful Networks A. Panda S. Shenker Y. Velner K. Alpernas A. Rabinovich M. Sagiv Alice Classical Networking Ted Stevens was right Bob Mallory Trent Networks provide end-to-end

More information

CS5371 Theory of Computation. Lecture 8: Automata Theory VI (PDA, PDA = CFG)

CS5371 Theory of Computation. Lecture 8: Automata Theory VI (PDA, PDA = CFG) CS5371 Theory of Computation Lecture 8: Automata Theory VI (PDA, PDA = CFG) Objectives Introduce Pushdown Automaton (PDA) Show that PDA = CFG In terms of descriptive power Pushdown Automaton (PDA) Roughly

More information

Introduction to Segment Routing

Introduction to Segment Routing Segment Routing (SR) is a flexible, scalable way of doing source routing. Overview of Segment Routing, page 1 How Segment Routing Works, page 2 Examples for Segment Routing, page 3 Benefits of Segment

More information

Pathlet Routing. P. Brighten Godfrey, Igor Ganichev, Scott Shenker, and Ion Stoica SIGCOMM (maurizio patrignani)

Pathlet Routing. P. Brighten Godfrey, Igor Ganichev, Scott Shenker, and Ion Stoica SIGCOMM (maurizio patrignani) Pathlet Routing P. Brighten Godfrey, Igor Ganichev, Scott Shenker, and Ion Stoica SIGCOMM 2009 (maurizio patrignani) Reti di Calcolatori di Nuova Generazione http://www.dia.uniroma3.it/~rimondin/courses/rcng1011/

More information

MPLS Egress Protection Framework draft-shen-mpls-egress-protectionframework-02

MPLS Egress Protection Framework draft-shen-mpls-egress-protectionframework-02 MPLS Egress Protection Framework draft-shen-mpls-egress-protectionframework-02 Yimin Shen (yshen@juniper.net) Minto Jeyananth (minto@juniper.net) Bruno Decraene (bruno.decraene@orange.com) Updates New

More information

Enforcing Customizable Consistency Properties in Software-Defined Networks. Wenxuan Zhou, Dong Jin, Jason Croft, Matthew Caesar, Brighten Godfrey

Enforcing Customizable Consistency Properties in Software-Defined Networks. Wenxuan Zhou, Dong Jin, Jason Croft, Matthew Caesar, Brighten Godfrey Enforcing Customizable Consistency Properties in Software-Defined Networks Wenxuan Zhou, Dong Jin, Jason Croft, Matthew Caesar, Brighten Godfrey 1 Network changes control applications, changes in traffic

More information

Model checking pushdown systems

Model checking pushdown systems Model checking pushdown systems R. Ramanujam Institute of Mathematical Sciences, Chennai jam@imsc.res.in Update Meeting, IIT-Guwahati, 4 July 2006 p. 1 Sources of unboundedness Data manipulation: integers,

More information

Shim6: Network Operator Concerns. Jason Schiller Senior Internet Network Engineer IP Core Infrastructure Engineering UUNET / MCI

Shim6: Network Operator Concerns. Jason Schiller Senior Internet Network Engineer IP Core Infrastructure Engineering UUNET / MCI Shim6: Network Operator Concerns Jason Schiller Senior Internet Network Engineer IP Core Infrastructure Engineering UUNET / MCI Not Currently Supporting IPv6? Many parties are going forward with IPv6 Japan

More information

Software Defined Networking

Software Defined Networking Software Defined Networking Daniel Zappala CS 460 Computer Networking Brigham Young University Proliferation of Middleboxes 2/16 a router that manipulatees traffic rather than just forwarding it NAT rewrite

More information

UMass Amherst Cornell Princeton

UMass Amherst Cornell Princeton The Frenetic Network Controller Arjun Guha, Nate Foster, Mark Reitblatt, Cole Schlesinger, and others: www.github.com/frenetic- lang/frenetic/contributors UMass Amherst Cornell Princeton 1 networks today

More information

FOUNDATIONS OF INTENT- BASED NETWORKING

FOUNDATIONS OF INTENT- BASED NETWORKING FOUNDATIONS OF INTENT- BASED NETWORKING Loris D Antoni Aditya Akella Aaron Gember Jacobson Network Policies Enterprise Network Cloud Network Enterprise Network 2 3 Tenant Network Policies Enterprise Network

More information

1 Parsing (25 pts, 5 each)

1 Parsing (25 pts, 5 each) CSC173 FLAT 2014 ANSWERS AND FFQ 30 September 2014 Please write your name on the bluebook. You may use two sides of handwritten notes. Perfect score is 75 points out of 85 possible. Stay cool and please

More information

CSE 123: Computer Networks

CSE 123: Computer Networks CSE 123: Computer Networks Homework 2 Out: 10/18, Due: 10/25 Total points - 50 Question 1 Consider the network shown below, wherein horizontal lines represent transit providers and numbered vertical lines

More information

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF

LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF LARGE SCALE IP ROUTING LECTURE BY SEBASTIAN GRAF MODULE 05 MULTIPROTOCOL LABEL SWITCHING (MPLS) AND LABEL DISTRIBUTION PROTOCOL (LDP) 1 by Xantaro IP Routing In IP networks, each router makes an independent

More information

MPLS MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE

MPLS MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE MPLS Multiprotocol MPLS Label Switching MULTI PROTOCOL LABEL SWITCHING OVERVIEW OF MPLS, A TECHNOLOGY THAT COMBINES LAYER 3 ROUTING WITH LAYER 2 SWITCHING FOR OPTIMIZED NETWORK USAGE Peter R. Egli 1/21

More information

Implementing Cisco IP Routing

Implementing Cisco IP Routing ROUTE Implementing Cisco IP Routing Volume 3 Version 1.0 Student Guide Text Part Number: 97-2816-02 DISCLAIMER WARRANTY: THIS CONTENT IS BEING PROVIDED AS IS. CISCO MAKES AND YOU RECEIVE NO WARRANTIES

More information

ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES *

ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * ONE-STACK AUTOMATA AS ACCEPTORS OF CONTEXT-FREE LANGUAGES * Pradip Peter Dey, Mohammad Amin, Bhaskar Raj Sinha and Alireza Farahani National University 3678 Aero Court San Diego, CA 92123 {pdey, mamin,

More information

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013 CS 5 Network Programming Languages Control Plane http://www.flickr.com/photos/rofi/0979/ Nate Foster Cornell University Spring 0 Based on lecture notes by Jennifer Rexford and Michael Freedman Announcements

More information

A Segment Routing (SR) Tutorial. R. Bonica NANOG70 June 6, 2017

A Segment Routing (SR) Tutorial. R. Bonica NANOG70 June 6, 2017 A Segment Routing (SR) Tutorial R. Bonica NANOG70 June 6, 2017 AKA: SPRING IETF Standardization Source Packet Routing In Networking (SPRING) WG ISIS, OSPF, IDR and MPLS WGs What is SR? A tunneling technology

More information

ENTERPRISE MPLS. Kireeti Kompella

ENTERPRISE MPLS. Kireeti Kompella ENTERPRISE MPLS Kireeti Kompella AGENDA The New VLAN Protocol Suite Signaling Labels Hierarchy Signaling Advanced Topics Layer 2 or Layer 3? Resilience and End-to-end Service Restoration Multicast ECMP

More information

Routing Basics ISP/IXP Workshops

Routing Basics ISP/IXP Workshops Routing Basics ISP/IXP Workshops 1 Routing Concepts IPv4 Routing Forwarding Some definitions Policy options Routing Protocols 2 IPv4 Internet uses IPv4 addresses are 32 bits long range from 1.0.0.0 to

More information

Theory of Programming Languages COMP360

Theory of Programming Languages COMP360 Theory of Programming Languages COMP360 Sometimes it is the people no one imagines anything of, who do the things that no one can imagine Alan Turing What can be computed? Before people even built computers,

More information

lecture 18: network virtualization platform (NVP) 5590: software defined networking anduo wang, Temple University TTLMAN 401B, R 17:30-20:00

lecture 18: network virtualization platform (NVP) 5590: software defined networking anduo wang, Temple University TTLMAN 401B, R 17:30-20:00 lecture 18: network virtualization platform (NVP) 5590: software defined networking anduo wang, Temple University TTLMAN 401B, R 17:30-20:00 Network Virtualization in multi-tenant Datacenters Teemu Koponen.,

More information

Configuring Static MPLS

Configuring Static MPLS This chapter contains information on how to configure static multiprotocol label switching (MPLS). About Static MPLS, page 1 Licensing Requirements for Static MPLS, page 4 Prerequisites for Static MPLS,

More information

Software-Defined Networking (SDN) Overview

Software-Defined Networking (SDN) Overview Reti di Telecomunicazione a.y. 2015-2016 Software-Defined Networking (SDN) Overview Ing. Luca Davoli Ph.D. Student Network Security (NetSec) Laboratory davoli@ce.unipr.it Luca Davoli davoli@ce.unipr.it

More information

Design and development of the reactive BGP peering in softwaredefined routing exchanges

Design and development of the reactive BGP peering in softwaredefined routing exchanges Design and development of the reactive BGP peering in softwaredefined routing exchanges LECTURER: HAO-PING LIU ADVISOR: CHU-SING YANG (Email: alen6516@gmail.com) 1 Introduction Traditional network devices

More information

CSC 4900 Computer Networks: Network Layer

CSC 4900 Computer Networks: Network Layer CSC 4900 Computer Networks: Network Layer Professor Henry Carter Fall 2017 Chapter 4: Network Layer 4. 1 Introduction 4.2 What s inside a router 4.3 IP: Internet Protocol Datagram format 4.4 Generalized

More information

Course Project 2 Regular Expressions

Course Project 2 Regular Expressions Course Project 2 Regular Expressions CSE 30151 Spring 2017 Version of February 16, 2017 In this project, you ll write a regular expression matcher similar to grep, called mere (for match and echo using

More information

Da t e: August 2 0 th a t 9: :00 SOLUTIONS

Da t e: August 2 0 th a t 9: :00 SOLUTIONS Interne t working, Examina tion 2G1 3 0 5 Da t e: August 2 0 th 2 0 0 3 a t 9: 0 0 1 3:00 SOLUTIONS 1. General (5p) a) Place each of the following protocols in the correct TCP/IP layer (Application, Transport,

More information

Production OpenFlow Switches Now Available -Building CORD Using OpenFlow Switches CORD Build

Production OpenFlow Switches Now Available -Building CORD Using OpenFlow Switches CORD Build Production OpenFlow Switches Now Available -Building CORD Using OpenFlow Switches CORD Build November, 2017 1 Nothing That Lasts Is Built In A Day One doesn t know everything in the beginning Takes time

More information

MPLS/RSVP/BGP lab KTH CSC. Juniper version. Group Nr. Name1. Name2. Name3. Name4. Name5. Grade. Instructor s Signature

MPLS/RSVP/BGP lab KTH CSC. Juniper version. Group Nr. Name1. Name2. Name3. Name4. Name5. Grade. Instructor s Signature KTH CSC MPLS/RSVP/BGP lab Juniper version Group Nr Name1 Name2 Name3 Name4 Name5 Grade Instructor s Signature Table of Contents 1Goals...3 2 Preparations...3 3 Initial configuration...5 4 RSVP-signalled

More information

Programme Outcome COURSE OUTCOMES MCA

Programme Outcome COURSE OUTCOMES MCA Programme Outcome PO1: To provide trained human resource for the IT industry. COURSE OUTCOMES MCA MCA 101 : Object Oriented Programming CO1 The students develops a sound approach to problem solving using

More information

Tag Switching. Background. Tag-Switching Architecture. Forwarding Component CHAPTER

Tag Switching. Background. Tag-Switching Architecture. Forwarding Component CHAPTER CHAPTER 23 Tag Switching Background Rapid changes in the type (and quantity) of traffic handled by the Internet and the explosion in the number of Internet users is putting an unprecedented strain on the

More information

Putting it all together

Putting it all together Putting it all together What happens when a user shows up to a new network and wants to access a web site? (These are new slides. Please stop and ask questions if anything is unclear!) Scenario Scenario

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 3 Data Structures Graphs Traversals Strongly connected components Sofya Raskhodnikova L3.1 Measuring Running Time Focus on scalability: parameterize the running time

More information

Forwarding Architecture

Forwarding Architecture Forwarding Architecture Brighten Godfrey CS 538 February 14 2018 slides 2010-2018 by Brighten Godfrey unless otherwise noted Building a fast router Partridge: 50 Gb/sec router A fast IP router well, fast

More information

Computer Sciences Department

Computer Sciences Department 1 Reference Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER 3 D E C I D A B I L I T Y 4 Objectives 5 Objectives investigate the power of algorithms to solve problems.

More information

Multi-Protocol Label Switching

Multi-Protocol Label Switching Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Informatik IV Prof. Dr. rer. nat. Otto Spaniol Multi-Protocol Label Switching Seminar: Datenkommunikation und Verteilte Systeme SS 2003

More information

Languages and Automata

Languages and Automata Languages and Automata What are the Big Ideas? Tuesday, August 30, 2011 Reading: Sipser 0.1 CS235 Languages and Automata Department of Computer Science Wellesley College Why Take CS235? 1. It s required

More information

CSE450. Translation of Programming Languages. Lecture 20: Automata and Regular Expressions

CSE450. Translation of Programming Languages. Lecture 20: Automata and Regular Expressions CSE45 Translation of Programming Languages Lecture 2: Automata and Regular Expressions Finite Automata Regular Expression = Specification Finite Automata = Implementation A finite automaton consists of:

More information

Theory of Computations Spring 2016 Practice Final Exam Solutions

Theory of Computations Spring 2016 Practice Final Exam Solutions 1 of 8 Theory of Computations Spring 2016 Practice Final Exam Solutions Name: Directions: Answer the questions as well as you can. Partial credit will be given, so show your work where appropriate. Try

More information

Automata-Theoretic LTL Model Checking. Emptiness of Büchi Automata

Automata-Theoretic LTL Model Checking. Emptiness of Büchi Automata Automata-Theoretic LTL Model Checking Graph Algorithms for Software Model Checking (based on Arie Gurfinkel s csc2108 project) Automata-Theoretic LTL Model Checking p.1 Emptiness of Büchi Automata An automation

More information

Configuring Basic MPLS Using OSPF

Configuring Basic MPLS Using OSPF Configuring Basic MPLS Using OSPF Document ID: 13736 Contents Introduction Prerequisites Requirements Components Used Conventions Mechanism Configure Network Diagram Quick Configuration Guide Configurations

More information

Configuring MPLS, MPLS VPN, MPLS OAM, and EoMPLS

Configuring MPLS, MPLS VPN, MPLS OAM, and EoMPLS CHAPTER 43 Configuring MPLS, MPLS VPN, MPLS OAM, and EoMPLS This chapter describes how to configure multiprotocol label switching (MPLS) and Ethernet over MPLS (EoMPLS) on the Cisco ME 3800X and ME 3600X

More information

Theory of Computation

Theory of Computation Theory of Computation For Computer Science & Information Technology By www.thegateacademy.com Syllabus Syllabus for Theory of Computation Regular Expressions and Finite Automata, Context-Free Grammar s

More information

Multihoming with BGP and NAT

Multihoming with BGP and NAT Eliminating ISP as a single point of failure www.noction.com Table of Contents Introduction 1. R-NAT Configuration 1.1 NAT Configuration 5. ISPs Routers Configuration 3 15 7 7 5.1 ISP-A Configuration 5.2

More information

Scalable Multipath Routing (towards)

Scalable Multipath Routing (towards) Scalable Multipath Routing (towards) 71st Meeting of the IFIP WG 10.4 Working Group on Dependability and Security Ian Welch, School of Engineering and Computer Science; Victoria University of Wellington

More information

Trident. Toward a Unified SDN Programming Framework with Automatic Updates. Kai Gao 1 Taishi Nojima 2 Y. Richard Yang 2, 3 August 23, 2018

Trident. Toward a Unified SDN Programming Framework with Automatic Updates. Kai Gao 1 Taishi Nojima 2 Y. Richard Yang 2, 3 August 23, 2018 Trident Toward a Unified SDN Programming Framework with Automatic Updates Kai Gao 1 Taishi Nojima 2 Y. Richard Yang 2, 3 August 23, 2018 1 Tsinghua University 2 Yale University 3 Tongji University Software-Defined

More information

OpenADN: A Case for Open Application Delivery Networking

OpenADN: A Case for Open Application Delivery Networking OpenADN: A Case for Open Application Delivery Networking Subharthi Paul, Raj Jain, Jianli Pan Washington University in Saint Louis {Pauls, jain, jp10}@cse.wustl.edu International Conference on Computer

More information

Implementing MPLS Forwarding

Implementing MPLS Forwarding All Multiprotocol Label Switching (MPLS) features require a core set of MPLS label management and forwarding services; the MPLS Forwarding Infrastructure (MFI) supplies these services. Feature History

More information

Languages for SDN (Frenetic)

Languages for SDN (Frenetic) Languages for SDN (Frenetic) Software Defined Networking: The Data Centre Perspective Seminar Informatikdienste A. Pantelopoulos 20.05.2016 1 SDN is useful Direct network control. Enables new applications,

More information

MPLS EM MPLS LSP Multipath Tree Trace

MPLS EM MPLS LSP Multipath Tree Trace MPS EM MPS SP Multipath Tree Trace ast Updated: December 12, 2011 The MPS EM--MPS SP Multipath Tree Trace feature provides the means to discover all possible equal-cost multipath (ECMP) routing paths of

More information

OpenNWA: A Nested-Word-Automaton Library

OpenNWA: A Nested-Word-Automaton Library OpenNWA: A Nested-Word-Automaton Library Evan Driscoll 1, Aditya Thakur 1, and Thomas Reps 1,2 1 Computer Sciences Department, University of Wisconsin Madison {driscoll,adi,reps}@wisc.edu 2 GrammaTech,

More information

TAFL 1 (ECS-403) Unit- V. 5.1 Turing Machine. 5.2 TM as computer of Integer Function

TAFL 1 (ECS-403) Unit- V. 5.1 Turing Machine. 5.2 TM as computer of Integer Function TAFL 1 (ECS-403) Unit- V 5.1 Turing Machine 5.2 TM as computer of Integer Function 5.2.1 Simulating Turing Machine by Computer 5.2.2 Simulating Computer by Turing Machine 5.3 Universal Turing Machine 5.4

More information

Verifying Liveness Properties of ML Programs

Verifying Liveness Properties of ML Programs Verifying Liveness Properties of ML Programs M M Lester R P Neatherway C-H L Ong S J Ramsay Department of Computer Science, University of Oxford ACM SIGPLAN Workshop on ML, 2011 09 18 Gokigeny all! Motivation

More information

100 GBE AND BEYOND. Diagram courtesy of the CFP MSA Brocade Communications Systems, Inc. v /11/21

100 GBE AND BEYOND. Diagram courtesy of the CFP MSA Brocade Communications Systems, Inc. v /11/21 100 GBE AND BEYOND 2011 Brocade Communications Systems, Inc. Diagram courtesy of the CFP MSA. v1.4 2011/11/21 Current State of the Industry 10 Electrical Fundamental 1 st generation technology constraints

More information

CT32 COMPUTER NETWORKS DEC 2015

CT32 COMPUTER NETWORKS DEC 2015 Q.2 a. Using the principle of mathematical induction, prove that (10 (2n-1) +1) is divisible by 11 for all n N (8) Let P(n): (10 (2n-1) +1) is divisible by 11 For n = 1, the given expression becomes (10

More information

Implementation of Lexical Analysis

Implementation of Lexical Analysis Implementation of Lexical Analysis Outline Specifying lexical structure using regular expressions Finite automata Deterministic Finite Automata (DFAs) Non-deterministic Finite Automata (NFAs) Implementation

More information

FatTire: Declarative Fault Tolerance for SDN

FatTire: Declarative Fault Tolerance for SDN FatTire: Declarative Fault Tolerance for SDN Mark Reitblatt Marco Canini Arjun Guha Nate Foster (Cornell) (TU Berlin UC Louvain) (Cornell UMass Amherst) (Cornell) 1 In a Perfect World... 2 But in Reality...

More information

Can t Touch This: Consistent Network Updates for Multiple Policies

Can t Touch This: Consistent Network Updates for Multiple Policies Can t Touch This: Consistent Network Updates for Multiple Policies Szymon Dudycz Arne Ludwig Stefan Schmid,3 University of Wroclaw, Poland Technical University Berlin, Germany 3 Aalborg University, Denmark

More information

Pushdown Automata. A PDA is an FA together with a stack.

Pushdown Automata. A PDA is an FA together with a stack. Pushdown Automata A PDA is an FA together with a stack. Stacks A stack stores information on the last-in firstout principle. Items are added on top by pushing; items are removed from the top by popping.

More information

Professor Yashar Ganjali Department of Computer Science University of Toronto.

Professor Yashar Ganjali Department of Computer Science University of Toronto. Professor Yashar Ganjali Department of Computer Science University of Toronto yganjali@cs.toronto.edu http://www.cs.toronto.edu/~yganjali Today Outline What this course is about Logistics Course structure,

More information

Segment Routing MPLS data plane. Clarence Filsfils Kris Michielsen

Segment Routing MPLS data plane. Clarence Filsfils Kris Michielsen Segment Routing MPLS data plane Clarence Filsfils Kris Michielsen Segment Routing MPLS data plane Segment Routing leverages existing MPLS data plane How to verify Segment Routing MPLS forwarding 2 Segment

More information

Routing Basics ISP/IXP Workshops

Routing Basics ISP/IXP Workshops Routing Basics ISP/IXP Workshops 1 Routing Concepts IPv4 Routing Forwarding Some definitions Policy options Routing Protocols 2 IPv4 Internet uses IPv4 addresses are 32 bits long range from 1.0.0.0 to

More information

Introduction to the Active Everywhere Database

Introduction to the Active Everywhere Database Introduction to the Active Everywhere Database INTRODUCTION For almost half a century, the relational database management system (RDBMS) has been the dominant model for database management. This more than

More information

Formal Languages and Automata Theory, SS Project (due Week 14)

Formal Languages and Automata Theory, SS Project (due Week 14) Formal Languages and Automata Theory, SS 2018. Project (due Week 14) 1 Preliminaries The objective is to implement an algorithm for the evaluation of an arithmetic expression. As input, we have a string

More information

ENDEAVOUR: Towards a flexible software-defined network ecosystem

ENDEAVOUR: Towards a flexible software-defined network ecosystem ENDEAVOUR: Towards a flexible software-defined network ecosystem Project name ENDEAVOUR Project ID H2020-ICT-2014-1 Project No. 644960 Working Package Number 2 Deliverable Number 2.2 Document title Design

More information

Multi Protocol Label Switching

Multi Protocol Label Switching MPLS Multi-Protocol Label Switching Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ Network Management and QoS Provisioning - 1 MPLS: introduction

More information

Computer Science 461 Final Exam May 22, :30-3:30pm

Computer Science 461 Final Exam May 22, :30-3:30pm NAME: Login name: Computer Science 461 Final Exam May 22, 2012 1:30-3:30pm This test has seven (7) questions, each worth ten points. Put your name on every page, and write out and sign the Honor Code pledge

More information

MPLS Multi-Protocol Label Switching

MPLS Multi-Protocol Label Switching MPLS Multi-Protocol Label Switching Andrea Bianco Telecommunication Network Group firstname.lastname@polito.it http://www.telematica.polito.it/ Computer Networks Design and Management - 1 MPLS: introduction

More information

Top-Down Network Design

Top-Down Network Design Top-Down Network Design Chapter Seven Selecting Switching and Routing Protocols Original slides by Cisco Press & Priscilla Oppenheimer Selection Criteria for Switching and Routing Protocols Network traffic

More information

ProPed. Tool for Symbolic Verification of Probablistic Recursive Programs. University of Missouri Columbia, Missouri, USA

ProPed. Tool for Symbolic Verification of Probablistic Recursive Programs. University of Missouri Columbia, Missouri, USA ProPed Tool for Symbolic Verification of Probablistic Recursive Programs Rohit Chadha 1 Umang Mathur 2 Stefan Schwoon 3 1 Computer Science Department University of Missouri Columbia, Missouri, USA 2 Department

More information

MPLS Ping and Traceroute for BGP and IGP Prefix-SID

MPLS Ping and Traceroute for BGP and IGP Prefix-SID MPLS Ping and Traceroute for BGP and IGP Prefix-SID MPLS Ping and Traceroute operations for Prefix SID are supported for various BGP and IGP scenarios, for example: Within an IS-IS level or OSPF area Across

More information

Segment Routing MPLS OAM Support

Segment Routing MPLS OAM Support Segment Routing Operations, Administration, and Maintenance (OAM) helps service providers to monitor label-switched paths (LSPs) and quickly isolate forwarding problems to assist with fault detection and

More information

Turing Machines. A transducer is a finite state machine (FST) whose output is a string and not just accept or reject.

Turing Machines. A transducer is a finite state machine (FST) whose output is a string and not just accept or reject. Turing Machines Transducers: A transducer is a finite state machine (FST) whose output is a string and not just accept or reject. Each transition of an FST is labeled with two symbols, one designating

More information

Lexical Analysis. Chapter 2

Lexical Analysis. Chapter 2 Lexical Analysis Chapter 2 1 Outline Informal sketch of lexical analysis Identifies tokens in input string Issues in lexical analysis Lookahead Ambiguities Specifying lexers Regular expressions Examples

More information

Routing Concepts. IPv4 Routing Forwarding Some definitions Policy options Routing Protocols

Routing Concepts. IPv4 Routing Forwarding Some definitions Policy options Routing Protocols Routing Basics 1 Routing Concepts IPv4 Routing Forwarding Some definitions Policy options Routing Protocols 2 IPv4 Internet uses IPv4 Addresses are 32 bits long Range from 1.0.0.0 to 223.255.255.255 0.0.0.0

More information

Migration Strategies for IP Service Growth: Cell-switched MPLS or IP-routed MPLS

Migration Strategies for IP Service Growth: Cell-switched MPLS or IP-routed MPLS White Paper Migration Strategies for IP Service Growth: Cell-switched MPLS or IP-routed MPLS Chuck Semeria Marketing Engineer Juniper Networks, Inc. 1194 North Mathilda Avenue Sunnyvale, CA 94089 USA 408

More information

Rewriting Models of Boolean Programs

Rewriting Models of Boolean Programs Rewriting Models of Boolean Programs Javier Esparza University of Stuttgart Joint work with Ahmed Bouajjani Automatic verification using model-checking Initiated in the early 80s in USA and France. 25

More information

Equivalence of NTMs and TMs

Equivalence of NTMs and TMs Equivalence of NTMs and TMs What is a Turing Machine? Similar to a finite automaton, but with unlimited and unrestricted memory. It uses an infinitely long tape as its memory which can be read from and

More information

Specifying Syntax COMP360

Specifying Syntax COMP360 Specifying Syntax COMP360 The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking

More information

Routing Basics. Routing Concepts. IPv4. IPv4 address format. A day in a life of a router. What does a router do? IPv4 Routing

Routing Basics. Routing Concepts. IPv4. IPv4 address format. A day in a life of a router. What does a router do? IPv4 Routing Routing Concepts IPv4 Routing Routing Basics ISP/IXP Workshops Forwarding Some definitions Policy options Routing Protocols 1 2 IPv4 IPv4 address format Internet uses IPv4 addresses are 32 bits long range

More information

Some Complexity Results for Stateful Network Verification

Some Complexity Results for Stateful Network Verification Some Complexity Results for Stateful Network Verification Yaron Velner 1, Kalev Alpernas 1, Aurojit Panda 2, Alexander Rabinovich 1, Mooly Sagiv 1, Scott Shenker 2, and Sharon Shoham 3 1 Tel Aviv University,

More information

Introduction to Lexing and Parsing

Introduction to Lexing and Parsing Introduction to Lexing and Parsing ECE 351: Compilers Jon Eyolfson University of Waterloo June 18, 2012 1 Riddle Me This, Riddle Me That What is a compiler? 1 Riddle Me This, Riddle Me That What is a compiler?

More information

Logic Model Checking

Logic Model Checking Logic Model Checking Lecture Notes 17:18 Caltech 101b.2 January-March 2005 Course Text: The Spin Model Checker: Primer and Reference Manual Addison-Wesley 2003, ISBN 0-321-22862-6, 608 pgs. checking omega

More information

Regular Languages (14 points) Solution: Problem 1 (6 points) Minimize the following automaton M. Show that the resulting DFA is minimal.

Regular Languages (14 points) Solution: Problem 1 (6 points) Minimize the following automaton M. Show that the resulting DFA is minimal. Regular Languages (14 points) Problem 1 (6 points) inimize the following automaton Show that the resulting DFA is minimal. Solution: We apply the State Reduction by Set Partitioning algorithm (särskiljandealgoritmen)

More information

Towards a Logic for Wide-Area Internet Routing

Towards a Logic for Wide-Area Internet Routing Towards a Logic for Wide-Area Internet Routing Nick Feamster and Hari Balakrishnan M.I.T. Computer Science and Artificial Intelligence Laboratory {feamster,hari}@lcs.mit.edu ; #, $. ', - -, * - ' * 4 *

More information