Compiling Path Queries in Software-Defined Networks Srinivas Narayana Jennifer Rexford and David Walker Princeton University.

Slides:



Advertisements
Similar presentations
You have been given a mission and a code. Use the code to complete the mission and you will save the world from obliteration…
Advertisements

Advanced Piloting Cruise Plot.
Kapitel S3 Astronomie Autor: Bennett et al. Raumzeit und Gravitation Kapitel S3 Raumzeit und Gravitation © Pearson Studium 2010 Folie: 1.
Chapter 1 The Study of Body Function Image PowerPoint
1 Copyright © 2010, Elsevier Inc. All rights Reserved Fig 2.1 Chapter 2.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
UNITED NATIONS Shipment Details Report – January 2006.
Document #07-12G 1 RXQ Customer Enrollment Using a Registration Agent Process Flow Diagram (Switch) Customer Supplier Customer authorizes Enrollment.
Document #07-12G 1 RXQ Customer Enrollment Using a Registration Agent Process Flow Diagram (Switch) Customer Supplier Customer authorizes Enrollment.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Title Subtitle.
Determine Eligibility Chapter 4. Determine Eligibility 4-2 Objectives Search for Customer on database Enter application signed date and eligibility determination.
My Alphabet Book abcdefghijklm nopqrstuvwxyz.
Multiplying binomials You will have 20 seconds to answer each of the following multiplication problems. If you get hung up, go to the next problem when.
0 - 0.
ALGEBRAIC EXPRESSIONS
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Addition Facts
Year 6 mental test 10 second questions
Around the World AdditionSubtraction MultiplicationDivision AdditionSubtraction MultiplicationDivision.
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
ABC Technology Project
3 Logic The Study of What’s True or False or Somewhere in Between.
1 Undirected Breadth First Search F A BCG DE H 2 F A BCG DE H Queue: A get Undiscovered Fringe Finished Active 0 distance from A visit(A)
VOORBLAD.
1 Breadth First Search s s Undiscovered Discovered Finished Queue: s Top of queue 2 1 Shortest path from s.
“Start-to-End” Simulations Imaging of Single Molecules at the European XFEL Igor Zagorodnov S2E Meeting DESY 10. February 2014.
1 4 Square Questions B A D C Look carefully to the diagram Now I will ask you 4 questions about this square. Are you ready?
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Squares and Square Root WALK. Solve each problem REVIEW:
Do you have the Maths Factor?. Maths Can you beat this term’s Maths Challenge?
© 2012 National Heart Foundation of Australia. Slide 2.
Lets play bingo!!. Calculate: MEAN Calculate: MEDIAN
Understanding Generalist Practice, 5e, Kirst-Ashman/Hull
Chapter 5 Test Review Sections 5-1 through 5-4.
GG Consulting, LLC I-SUITE. Source: TEA SHARS Frequently asked questions 2.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 VLANs LAN Switching and Wireless – Chapter 3.
Addition 1’s to 20.
25 seconds left…...
Slippery Slope
Januar MDMDFSSMDMDFSSS
Week 1.
1 Let’s Recapitulate. 2 Regular Languages DFAs NFAs Regular Expressions Regular Grammars.
We will resume in: 25 Minutes.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Connecting LANs, Backbone Networks, and Virtual LANs
A SMALL TRUTH TO MAKE LIFE 100%
PSSA Preparation.
Incremental Update for a Compositional SDN Hypervisor Xin Jin Jennifer Rexford, David Walker.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2001 Chapter 16 Integrated Services Digital Network (ISDN)
CpSc 3220 Designing a Database
Traktor- og motorlære Kapitel 1 1 Kopiering forbudt.
Scalable Rule Management for Data Centers Masoud Moshref, Minlan Yu, Abhishek Sharma, Ramesh Govindan 4/3/2013.
SDN Applications Jennifer Rexford Princeton University.
Composing Software Defined Networks
Composing Software-Defined Networks Princeton*Cornell^ Chris Monsanto*, Joshua Reich* Nate Foster^, Jen Rexford*, David Walker*
Composing Software Defined Networks Jennifer Rexford Princeton University With Joshua Reich, Chris Monsanto, Nate Foster, and.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Programming Languages COS 597E: Software Defined Networking.
Measurement Query Languages for Software-Defined Networks Jennifer Rexford Princeton University Joint work with Srinivas.
Compiling Network Path Queries Srinivas Narayana Princeton University.
Compiling Path Queries
Jennifer Rexford Princeton University
Presentation transcript:

Compiling Path Queries in Software-Defined Networks Srinivas Narayana Jennifer Rexford and David Walker Princeton University

Where’s the packet loss? AB Faulty network device(s) along the way. But where? pkts 25 pkts 

AB Solution idea: Check how far packets get from A to B before being dropped somewhere. Where’s the packet loss? Fine-grained packet counters + Forwarding Complex policies pkts 25 pkts 

AB Instead: nice to get A  B packet counts each step along paths where A  B traffic flows Where’s the packet loss? pkts 25 pkts 

Wouldn’t it be nice to ask questions about packet paths in a network? Problem: we only observe a given packet independently at different switches. 5

We’ve designed a path query system that analyzes packet paths directly in the data plane. 6

Problem statement 7 1. Operator/application specifies network path queries 2. Translate into efficient and direct switch measurements (i.e., data plane rules)

Problem statement 8 Independent specifications Compiled into data plane rules Query Forwarding

Solution architecture 9 1. Path query language Query expressions Statistics 2. Query compiler and runtime SDN controller Regular expressions of packet location & headers Payloads Statistics

Path Query Language 10

Count packets reaching switch S1, then S2 with an internal source IP address (10.0/16) switch=S1 ^ switch=S2, srcip=10.0/16 A hop on the wire 11 Let’s write some queries! (1/3)

12 Let’s write some queries! (2/3) 0 or more repetitions Capture packets evading a firewall in the network ingress() ^ (switch != FW)* ^ egress() ingress egress ingress egress

Let’s write some queries! (3/3) Switch-level traffic matrix: 13 E1 E2... I I

Let’s write some queries! (3/3) Switch-level traffic matrix: ingress() ^ (true)* ^ egress() 14 Count all packets, going from any ingress to any egress. Flow#pkts *1000

Let’s write some queries! (3/3) Switch-level traffic matrix: groupby(ingress(), [switch]) ^ (true)* ^ groupby(egress(), [switch]) 15 Group counts by packet’s ingress and egress switch!  Traffic matrix! Flow#pkts sw=I1, sw=E1250 sw=I1, sw=E

Let’s write some queries! More example queries in the paper 16

The Runtime System 17

How to analyze packet paths in the data plane? 18

Packet paths on data plane Main idea: Record path information in packets As such, too much state! 19 [{sw: S1 port: 1 srcmac:... srcip:......}] [{sw: S1,...}, {sw: S2 port: 3 srcmac:......}] [{sw: S1,...}, {sw: S2,...}, {sw: S3 port: 2...}]

Reducing path state on packets Observation 1: Queries already tell us what’s needed! Only record path state needed by queries Observation 2: Queries are regular expressions Regular expressions  Finite automaton (DFA) Distinguish only paths corresponding to DFA states 20

Reducing path state on packets Observation 1: Queries already tell us what’s needed! Only record path state needed by queries Observation 2: Queries are regular expressions Regular expressions  Finite automaton (DFA) Distinguish only paths corresponding to DFA states 21 Record only DFA state on packets (1-2 bytes) Use existing “tag” fields (e.g., VLAN)

Example: Query Compilation (1/3) Query: (switch=S1, srcip= ) ^ (switch=S2, dstip= ) 22 Q0Q0 Q1Q1 Q2Q2 switch=S1, srcip= switch=S2, dstip= S1S2

Example: Query Compilation (2/3) 23 Q0Q0 Q1Q1 Q2Q2 switch=S1, srcip= switch=S2, dstip= SwitchMatchAction S1state=Q0, srcip= state=Q1 S2state=Q1, dstip= state=Q2 S2state=Q1, dstip= count DFA transition DFA accept

Example: Query Compilation (3/3) 24 All acting on the same data plane packets! Frenetic composition operators (details in paper) DFA- Transitioning ForwardingDFA- Accepting

Implementation Prototype on the Pyretic (NSDI’13) SDN controller Implementation publicly available online Evaluation: Payload collection bandwidth Rule space See paper. 25

Summary DFA state can be used to track packet paths directly on the data plane. Measurement and forwarding can be specified independently. 26

Happy to answer queries ;) 27

28