Jennifer Rexford Princeton University MW 11:00am-12:20pm Programmable Data Planes COS 597E: Software Defined Networking.

Slides:



Advertisements
Similar presentations
A Search Memory Substrate for High Throughput and Low Power Packet Processing Sangyeun Cho, Michel Hanna and Rami Melhem Dept. of Computer Science University.
Advertisements

Forwarding Metamorphosis: Fast Programmable Match-Action Processing in Hardware for SDN Pat Bosshart, Glen Gibb, Hun-Seok Kim, George Varghese, Nick.
A Scalable and Reconfigurable Search Memory Substrate for High Throughput Packet Processing Sangyeun Cho and Rami Melhem Dept. of Computer Science University.
IS333, Ch. 26: TCP Victor Norman Calvin College 1.
An Overview of Software-Defined Network Presenter: Xitao Wen.
BZUPAGES.COM 1 User Datagram Protocol - UDP RFC 768, Protocol 17 Provides unreliable, connectionless on top of IP Minimal overhead, high performance –No.
Chapter 8 Hardware Conventional Computer Hardware Architecture.
Router Architecture : Building high-performance routers Ian Pratt
1 In VINI Veritas: Realistic and Controlled Network Experimentation Jennifer Rexford with Andy Bavier, Nick Feamster, Mark Huang, and Larry Peterson
Efficient IP-Address Lookup with a Shared Forwarding Table for Multiple Virtual Routers Author: Jing Fu, Jennifer Rexford Publisher: ACM CoNEXT 2008 Presenter:
A Comparative Study of Extensible Routers Yitzchak Gottlieb.
Internet In A Slice Andy Bavier CS461 Lecture.
Routers Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
An Overview of Software-Defined Network
Chapter 9 Classification And Forwarding. Outline.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Center Traffic Management COS 597E: Software Defined Networking.
IP-UDP-RTP Computer Networking (In Chap 3, 4, 7) 건국대학교 인터넷미디어공학부 임 창 훈.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Software Stack COS 597E: Software Defined Networking.
Gursharan Singh Tatla Transport Layer 16-May
Hash, Don’t Cache: Fast Packet Forwarding for Enterprise Edge Routers Minlan Yu Princeton University Joint work with Jennifer.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Chapter 4 Queuing, Datagrams, and Addressing
Networking Components Christopher Biles LTEC Assignment 3.
Networking Virtualization Using FPGAs Russell Tessier, Deepak Unnikrishnan, Dong Yin, and Lixin Gao Reconfigurable Computing Group Department of Electrical.
Paper Review Building a Robust Software-based Router Using Network Processors.
ECE 526 – Network Processing Systems Design Network Processor Architecture and Scalability Chapter 13,14: D. E. Comer.
Software-Defined Networks Jennifer Rexford Princeton University.
LWIP TCP/IP Stack 김백규.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
MIDeA :A Multi-Parallel Instrusion Detection Architecture Author: Giorgos Vasiliadis, Michalis Polychronakis,Sotiris Ioannidis Publisher: CCS’11, October.
Click Router: Hands on Arvind Venkatesan Shivkumar Kalyanaraman.
Sujayyendhiren RS, Kaiqi Xiong and Minseok Kwon Rochester Institute of Technology Motivation Experimental Setup in ProtoGENI Conclusions and Future Work.
Vladimír Smotlacha CESNET Full Packet Monitoring Sensors: Hardware and Software Challenges.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Parallel Programming on the SGI Origin2000 With thanks to Igor Zacharov / Benoit Marchand, SGI Taub Computer Center Technion Moshe Goldberg,
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks Data.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #14 Shivkumar Kalyanaraman: GOOGLE: “Shiv RPI”
Jennifer Rexford Princeton University MW 11:00am-12:20pm Measurement COS 597E: Software Defined Networking.
Network Technologies Definitions –Network: physical connection that allows two computers to communicate –Packet: a unit of transfer »A sequence of bits.
Efficient Cache Structures of IP Routers to Provide Policy-Based Services Graduate School of Engineering Osaka City University
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
P4 Amore! ( Or, How I Learned to Stop Worrying and Love P4) Jennifer Rexford Princeton University.
Interconnect Networks Basics. Generic parallel/distributed system architecture On-chip interconnects (manycore processor) Off-chip interconnects (clusters.
Click Router: Hands on Alex Newman Arvind Venkatesan Shivkumar Kalyanaraman.
Jennifer Rexford Princeton University MW 11:00am-12:20pm SDN Programming Languages COS 597E: Software Defined Networking.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Plane Verification COS 597E: Software Defined Networking.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
Data Communications and Networks Chapter 6 – IP, UDP and TCP ICT-BVF8.1- Data Communications and Network Trainer: Dr. Abbes Sebihi.
N ETWORKED & D ISTRIBUTED COMPUTING S YSTEMS L AB Software Packet Processing - The Click modular router - netmap: A novel framework for fast packet I/O.
VIRTUAL NETWORK PIPELINE PROCESSOR Design and Implementation Department of Communication System Engineering Presented by: Mark Yufit Rami Siadous.
P4: Programming Protocol-Independent Packet Processors
SDN challenges Deployment challenges
Jennifer Rexford Princeton University
LWIP TCP/IP Stack 김백규.
COS 561: Advanced Computer Networks
Chapter 6: Network Layer
Transport Layer Unit 5.
Software Routers: RouteBricks
The Stanford Clean Slate Program
Software Routers: Click
Network Core and QoS.
COS 561: Advanced Computer Networks
Router Construction Outline Switched Fabrics IP Routers
Programmable Networks
Data Plane Jennifer Rexford Fall 2018 (TTh 1:30-2:50 in Friend 006)
Programmable Software Switches
Toward Self-Driving Networks
Toward Self-Driving Networks
Network Core and QoS.
Chapter 4: outline 4.1 Overview of Network layer data plane
Presentation transcript:

Jennifer Rexford Princeton University MW 11:00am-12:20pm Programmable Data Planes COS 597E: Software Defined Networking

Data Plane Streaming algorithms that act on packets –Matching on some bits, taking a simple action –… at behest of control and management plane Wide range of functionality –Forwarding and access control –Buffering, marking, shaping, and scheduling –Rewriting header fields (e.g., NAT) –Traffic monitoring and deep packet inspection –Encryption, compression, and transcoding 2

A Need for Speed High link speed –10 Gbps, 40 Gbps, 100 Gbps Small packets –40-byte TCP ACK packets Small time per packet –40 Gbps =124 Mpps with 320-bit packets –8 ns to process a packet Routers need low latency –Relatively limited opportunity to batch or pipeline 3

A Range of Technologies ASIC (App-Specific Integrated Circuit) –Fast, dense chip, but expensive to change FPGAs and network processors –Fast, reconfigurable, hard to program Graphics Processing Units –Massive parallel computation on small cores Software on commodity computer –Easy to program, but I/O bandwidth, memory copying, and interrupt overheads 4

Click Modular Router 5

Click Motivation Flexibility –Add new features and enable experimentation Openness –Allow users/researchers to build and extend –(In contrast to most commercial routers) Modularity –Simplify the composition of existing features –Simplify the addition of new features Speed/efficiency –Operation (optionally) in the operating system –Without user needing to grapple with OS internals 6

Router as a Graph of Elements Large number of small elements –Each performing a simple packet function –E.g., IP look-up, TTL decrement, buffering Connected together in a graph –Elements inputs/outputs snapped together –Beyond elements in series to a graph –E.g., packet duplication or classification Packet flow as main organizational primitive –Consistent with data-plane operations on a router –(Larger elements needed for, say, control planes) 7

Push vs. Pull Packet hand-off between elements –Directly inspired by properties of routers –Annotations on packets to carry temporary state Push processing –Initiated by the source end –E.g., when an unsolicited packet arrives (e.g., from a device) Pull processing –Initiated by the destination end –E.g., to control timing of packet processing (e.g., based on a timer or packet scheduler) 8

Click Language Declarations –Create elements Connections –Connect elements Compound elements –Combine multiple smaller elements, and treat as single, new element to use as a primitive class Language extensions through element classes –Configuration strings for individual elements –Rather than syntactic extensions to the language 9 src :: FromDevice(eth0); ctr :: Counter; sink :: Discard; src -> ctr; ctr -> sink;

Handlers and Control Socket Access points for user interaction –Appear like files in a file system –Can have both read and write handlers Examples –Installing/removing forwarding-table entries –Reporting measurement statistics –Changing a maximum queue length Control socket –Allows other programs to call read/write handlers –Command sent as single line of text to the server 10

An Observation… Click is widely used –And the paper on Click is widely cited Click elements are created by others –Enabling an ecosystem of innovation Take-away lesson –Creating useful systems that others can use and extend has big impact in the research community –And brings tremendous professional value –Compensating amply for the time and energy 11