Jennifer Rexford Princeton University

Slides:



Advertisements
Similar presentations
Jennifer Rexford Princeton University MW 11:00am-12:20pm Logically-Centralized Control COS 597E: Software Defined Networking.
Advertisements

Compiling Path Queries in Software-Defined Networks Srinivas Narayana Jennifer Rexford and David Walker Princeton University.
SDN Applications Jennifer Rexford Princeton University.
Programming Protocol-Independent Packet Processors
Frenetic: A High-Level Language for OpenFlow Networks Nate Foster, Rob Harrison, Matthew L. Meola, Michael J. Freedman, Jennifer Rexford, David Walker.
Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick.
Composing Software Defined Networks
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
SDX: A Software-Defined Internet Exchange
Nanxi Kang Princeton University
Jennifer Rexford Princeton University
OpenSketch Slides courtesy of Minlan Yu 1. Management = Measurement + Control Traffic engineering – Identify large traffic aggregates, traffic changes.
Incremental Consistent Updates Naga Praveen Katta Jennifer Rexford, David Walker Princeton University.
Reverse Hashing for High-speed Network Monitoring: Algorithms, Evaluation, and Applications Robert Schweller 1, Zhichun Li 1, Yan Chen 1, Yan Gao 1, Ashish.
CS335 Networking & Network Administration Tuesday, April 20, 2010.
Languages for Software-Defined Networks Nate Foster, Arjun Guha, Mark Reitblatt, and Alec Story, Cornell University Michael J. Freedman, Naga Praveen Katta,
Interior Gateway Routing Protocol (IGRP) is a distance vector interior routing protocol (IGP) invented by Cisco. It is used by routers to exchange routing.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Programmable Data Planes COS 597E: Software Defined Networking.
Composing Software Defined Networks Jennifer Rexford Princeton University With Joshua Reich, Chris Monsanto, Nate Foster, and.
Chapter 4: Managing LAN Traffic
G64INC Introduction to Network Communications Ho Sooi Hock Internet Protocol.
Presentation on Osi & TCP/IP MODEL
Software-Defined Networks Jennifer Rexford Princeton University.
SIGCOMM 2002 New Directions in Traffic Measurement and Accounting Focusing on the Elephants, Ignoring the Mice Cristian Estan and George Varghese University.
Higher-Level Abstractions for Software-Defined Networks Jennifer Rexford Princeton University.
Languages for Software-Defined Networks Nate Foster, Michael J. Freedman, Arjun Guha, Rob Harrison, Naga Praveen Katta, Christopher Monsanto, Joshua Reich,
Sharing the Network It slices, it dices, it sequences ….. All of this and error checking too!
SDX: A Software-Defined Internet eXchange Jennifer Rexford Princeton University
Resource/Accuracy Tradeoffs in Software-Defined Measurement Masoud Moshref, Minlan Yu, Ramesh Govindan HotSDN’13.
EECB 473 DATA NETWORK ARCHITECTURE AND ELECTRONICS PREPARED BY JEHANA ERMY JAMALUDDIN Basic Packet Processing: Algorithms and Data Structures.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Measurement COS 597E: Software Defined Networking.
Programming Languages for Software Defined Networks Jennifer Rexford and David Walker Princeton University Joint work with the.
Workpackage 3 New security algorithm design ICS-FORTH Ipswich 19 th December 2007.
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
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.
Page 12/9/2016 Chapter 10 Intermediate TCP : TCP and UDP segments, Transport Layer Ports CCNA2 Chapter 10.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
SketchVisor: Robust Network Measurement for Software Packet Processing
COS 561: Advanced Computer Networks
Chapter 7: Transport Layer
SDN challenges Deployment challenges
HULA: Scalable Load Balancing Using Programmable Data Planes
Compiling Path Queries
FlowRadar: A Better NetFlow For Data Centers
SONATA: Scalable Streaming Analytics for Network Monitoring
Process-to-Process Delivery, TCP and UDP protocols
3 | Analyzing Server, Network, and Client Health
Srinivas Narayana MIT CSAIL October 7, 2016
SONATA: Query-Driven Network Telemetry
Flexible and Scalable Systems for Network Management
Programmable Networks
Sonata Query-driven Streaming Network Telemetry
Enabling Innovation Inside the Network
Process-to-Process Delivery:
SCREAM: Sketch Resource Allocation for Software-defined Measurement
COS 561: Advanced Computer Networks
COS 561: Advanced Computer Networks
Lecture 2: Overview of TCP/IP protocol
Sonata: Query-Driven Streaming Network Telemetry
Lecture 3: Secure Network Architecture
Programmable Networks
Memento: Making Sliding Windows Efficient for Heavy Hitters
BGP Interactions Jennifer Rexford
Computer Networks Protocols
Lu Tang , Qun Huang, Patrick P. C. Lee
Toward Self-Driving Networks
Toward Self-Driving Networks
Elmo Muhammad Shahbaz Lalith Suresh, Jennifer Rexford, Nick Feamster,
Control-Data Plane Separation
Presentation transcript:

Jennifer Rexford Princeton University

Measurement is Here to Stay Traffic engineering Traffic matrix Available bandwidth on each path Distribution of queue lengths Service-level agreements At most 0.5% lost or out-of-order packets Jitter below 10 msec for 99.5% of packets Skype mean opinion score of 4.0+

Measurement is Here to Stay Troubleshooting TCP bottleneck at sender, network, or receiver Flows sharing the queue with a poor performer Identifying the bottleneck link(s) for a flow Security Receiver of unsolicited DNS responses Heavy-hitter traffic flows Super-spreader host contacting many destinations SYN floods (incomplete TCP handshakes) Traffic circumventing a firewall

The State of the Art (Still) Stinks Traffic (Netflow/sFlow) Coarse-grained (heavy sampling) Inflexible (limited configurability) Reachability/reliability (ping, traceroute) Extra overhead from active probing Reactive, after the problem has happened Hard to collect performance data, or any other fine-grained information

Programmable Data Planes to the Rescue Registers Registers Packet parser metadata Match Action m1 a1 Match Action m1 a1 . . . Match-action tables Match-action tables Customize data collection to the query … but, with limited memory and computation

Looking for a Few Good Abstractions Expressive Support a wide range of measurement tasks Hardware-efficient Amenable to line-rate processing in switches Software stack Programming languages Compilers and run-time systems Switch-level data structures

Extensible Streams of Packet Tuples What (header fields, packet size) Flexible parsing Switch metadata Switch metadata Where (switch, port, queue, switch statistics) When (time) [Frenetic; Sonata; Marple; …]

Boolean Predicates Predicates over tuple values Converted to prioritized list of rules (dstip=1.2.3.4 && dstport=80) || srcip=5.6.7.8 dstip dstport srcip action 1.2.3.4 80 * -- 5.6.7.8 dstip action 1.2.3.4 -- * !(dstip=1.2.3.4) [Frenetic]

Data Reduction Traffic “buckets” Aggregation Reporting outliers Counters in rule tables Traffic “buckets” Individual packets Traffic counts (bytes, packets, tuples) Count distinct (number of unique items) Aggregation GroupBy header fields (e.g., by srcip) Periodic or sliding time windows (e.g., 60 seconds) SplitWhen some condition applies Reporting outliers Counts above a threshold T Top k counts Two stages of tables; sketches Iteratively adding new rules Add bubbles for switch mechanisms… Comparison operations, sketches [Frenetic; Path Queries; Sonata; NetQRE; OpenSketch]

Combining results across locations One Big Switch Network-wide traffic analysis As if the network were one switch Traffic matrix, heavy hitters, DoS, etc. Combining results across locations

Regular Expressions Over Paths Predicates over hops in a path Separated by “^” Web responses with switch S1 followed by switch S2 (switch=S1 && srcport=80) ^ switch=S2 S1 S2 [Path Queries, NSDI’14]

Regular Expressions Over Paths Predicates over hops in a path Separated by “^” Traffic evading the firewall (! (switch=FW))* FW

Regular Expressions Over Paths Regular expressions as DFAs DFA in the data plane State: packet metadata Transition: match-action Query: (switch=S1 && srcport=80) ^ switch=S2 Q0 Q1 Q2 switch=S1 && srcport=80 switch=S2 DFA: Match Action state=Q0, srcport=80 state=Q1 At switch S1:

Reduce Over Paths Reduce across hops in the path Collect statistics at each hop Accumulate across hops in the path Minimum available bandwidth Total queueing delay [Minions, SIGCOMM’14; INT]

Regular Expressions Over Packets Regular expression over stream of packets TCP connection SYN followed by 0 or more non-SYN SYN flood attack Incomplete handshake (SYN, SYN-ACK, but no ACK) Sum the number of incomplete handshakes Also, split and iterate on streams… [NetQRE, SIGCOMM’17]

Application Sessions Higher-level names Application identification DNS, known IP addresses Higher-level names Domain names (www.netflix.com) Customers (Pepsi) Application identification Specific applications (Skype) Application types (video) Grouping related flows Multiple TCP connections in a Web download DNS, packet size/timing IP address pairs, timing

Building Blocks: Data Reduction Data-reduction techniques Filtering (e.g., only DNS responses) Aggregation (e.g., by srcip prefix) Sampling (e.g., by hash on header fields) Sketching (e.g., count-min or count-distinct) Iterative refinement (e.g., drill down over time) Customized to the specific query … balancing overhead and accuracy

Many Challenges: Better Compilation Data reduction Picking the best data-reduction techniques Dividing resources across multiple queries Optimizing across overlapping queries Distributed execution Spreading queries across multiple switches Tolerating error Formalizing overhead vs. accuracy trade-offs Compiling to heterogeneous targets

Many Challenges: Better Abstractions Accuracy tolerance Statistical service-level agreements Bidirectional traffic Higher-level names/applications Integrated measurement and control

Conclusions Here to stay Let’s get them to work together Programmable forwarding planes Measurement Let’s get them to work together Expressive abstractions Smart compilers and run-time systems Efficient data structures in the data plane Then, integrate measurement with control And future networks can manage themselves!