A Programming Model and VM Architecture for Next-Generation Programmable Routers Mel Tsai

Slides:



Advertisements
Similar presentations
Fall VoN 2000 SIP Servers SIP Servers: A Buyers Guide Jonathan Rosenberg Chief Scientist.
Advertisements

NetServ Dynamic in-network service deployment Henning Schulzrinne (Columbia University) Srinivasan Seetharaman (Georgia Tech) Volker Hilt (Bell Labs)
Middleware and Management Support for Programmable QoS-Network Architectures Miguel Rio (joint work with Hermann De Meer, Wolfgang Emmerich, Cecilia Mascolo,
IP Router Architectures. Outline Basic IP Router Functionalities IP Router Architectures.
Logically Centralized Control Class 2. Types of Networks ISP Networks – Entity only owns the switches – Throughput: 100GB-10TB – Heterogeneous devices:
ENGINEERING WORKSHOP Compute Engineering Workshop P4: specifying data planes Mihai Budiu San Jose, March 11, 2015.
Contents Shortcomings of QoS in the Current Internet About OpenFlow
OpenFlow overview Joint Techs Baton Rouge. Classic Ethernet Originally a true broadcast medium Each end-system network interface card (NIC) received every.
An Overview of Software-Defined Network Presenter: Xitao Wen.
Building Your Own Firewall Chapter 10. Learning Objectives List and define the two categories of firewalls Explain why desktop firewalls are used Explain.
The RouterVM Architecture: Motivation and Principles Mel Tsai
CCU EE&CTR1 Software Architecture Overview Nick Wang & Ting-Chao Hou National Chung Cheng University Control Plane-Platform Development Kit.
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) SriramGopinath( )
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
Keith Wiles DPACC vNF Overview and Proposed methods Keith Wiles – v0.5.
Resource Management – a Solution for Providing QoS over IP Tudor Dumitraş, Frances Jen-Fung Ning and Humayun Latif.
1 OASIS: Enabling Services with Programmable Networks George Porter Mel Tsai Li Yin Randy Katz.
The RouterVM Architecture: Motivation and Principles Mel Tsai
An Active Networking Testbed for Storage Presenter Mel Tsai People Mel Tsai Anshi Liang Paul Huang Perry Dong and Tal Lavian.
1 A High-Level Framework for Network Application Design Mel Tsai 12/5/2002 EE249 Final Project Presentation.
RouterVM A High-Level Programming Model and Virtual Machine Architecture for Next-Generation Programmable Routers Mel Tsai
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 Towards a Framework for Network Control Composition T. S. Eugene Ng Rice University Hong Yan Carnegie.
The RouterVM Architecture: Motivation and Principles Mel Tsai
Peter A. Steenkiste, CMCL, CMU 1 The Darwin Router Control Interface Peter Steenkiste, Jun Gao, Prashant Chandra, Eduardo Takahashi Computer Science Department.
An Overview of Software-Defined Network
Performance and Power Efficient On-Chip Communication Using Adaptive Virtual Point-to-Point Connections M. Modarressi, H. Sarbazi-Azad, and A. Tavakkol.
An Overview of Software-Defined Network Presenter: Xitao Wen.
© 2012 Cisco and/or its affiliates. All rights reserved. 1 CCNA Security 1.1 Instructional Resource Chapter 10 – Implementing the Cisco Adaptive Security.
Composing Software Defined Networks Jennifer Rexford Princeton University With Joshua Reich, Chris Monsanto, Nate Foster, and.
Virtual LAN Design Switches also have enabled the creation of Virtual LANs (VLANs). VLANs provide greater opportunities to manage the flow of traffic on.
OpenFlow: Enabling Technology Transfer to Networking Industry Nikhil Handigol Nikhil Handigol Cisco Nerd.
Promile A Management Architecture for Programmable Modular Routers Miguel Rio (joint work with Nicola Pezzi, Luca Zanolin, Hermann De Meer, Wolfgang Emmerich.
Software-Defined Networks Jennifer Rexford Princeton University.
Internet Traffic Management. Basic Concept of Traffic Need of Traffic Management Measuring Traffic Traffic Control and Management Quality and Pricing.
LiNK: An Operating System Architecture for Network Processors Steve Muir, Jonathan Smith Princeton University, University of Pennsylvania
Traffic Management - OpenFlow Switch on the NetFPGA platform Chun-Jen Chung( ) Sriram Gopinath( )
To be smart or not to be? Siva Subramanian Polaris R&D Lab, RTP Tal Lavian OPENET Lab, Santa Clara.
NETWORKING COMPONENTS AN OVERVIEW OF COMMONLY USED HARDWARE Christopher Johnson LTEC 4550.
Putting Intelligence in Internetworking: an Architecture of Two Level Overlay EE228 Project Anshi Liang Ye Zhou.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Salim Hariri HPDC Laboratory Enhanced General Switch Management Protocol Salim Hariri Department of Electrical and Computer.
Web Cache Redirection using a Layer-4 switch: Architecture, issues, tradeoffs, and trends Shirish Sathaye Vice-President of Engineering.
Networking Components Daniel Rosser LTEC Network Hub It is very difficult to find Hubs anymore Hubs sends data from one computer to all other computers.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco PublicITE I Chapter 6 1 Filtering Traffic Using Access Control Lists Introducing Routing and Switching.
VIRTUAL SWITCH/ROUTER BENCHMARKING Muhammad Durrani Ramki Krishnan Brocade Communications Sarah Banks Akamai 1 © 2013 Brocade Communications Systems, Inc.
Chapter 3 - VLANs. VLANs Logical grouping of devices or users Configuration done at switch via software Not standardized – proprietary software from vendor.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
1 | © 2015 Infinera Open SDN in Metro P-OTS Networks Sten Nordell CTO Metro Business Group
SOFTWARE DEFINED NETWORKING/OPENFLOW: A PATH TO PROGRAMMABLE NETWORKS April 23, 2012 © Brocade Communications Systems, Inc.
1 Java-enable Network Devices Programmable Network Node: Applications 1 Technology Center, Enterprise Solutions, Nortel Networks 2 Department of Computer.
Network Virtualization Sandip Chakraborty. In routing table we keep both the next hop IP (gateway) as well as the default interface. Why do we require.
1 Revision to DOE proposal Resource Optimization in Hybrid Core Networks with 100G Links Original submission: April 30, 2009 Date: May 4, 2009 PI: Malathi.
Addressing Data Compatibility on Programmable Network Platforms Ada Gavrilovska, Karsten Schwan College of Computing Georgia Tech.
4/27/2000 A Framework for Evaluating Programming Models for Embedded CMP Systems Niraj Shah Mel Tsai CS252 Final Project.
Introduction to Avaya’s SDN Architecture February 2015.
PART1: NETWORK COMPONENTS AND TRANSMISSION MEDIUM Wired and Wireless network management 1.
SDN and Beyond Ghufran Baig Mubashir Adnan Qureshi.
Active Networks Jennifer Rexford. Nice Quotation from the Tennenhouse Paper There is presently a disconnect between what users consider to be “inside”
Yotam Harchol The Hebrew University of Jerusalem
Tapping Into The Unutilized Router Processing Power
OASIS Deployment: VideoCollective
The Stanford Clean Slate Program
Software Defined Networking (SDN)
IS4680 Security Auditing for Compliance
Extending MPLS/BGP VPNs to End-Systems
Virtual LAN VLAN Trunking Protocol and Inter-VLAN Routing
Scrumium NetBrain Thursday, May 09, 2019.
Host and Small Network Relaying Howard C. Berkowitz
In Today’s Class.. General Kernel Responsibilities Kernel Organization
Packet Switch Architectures
Presentation transcript:

A Programming Model and VM Architecture for Next-Generation Programmable Routers Mel Tsai

2 Outline The Problem Project Goals VM Architecture Description Generalized Packet Filters Programming and Mapping the VM A Linux Implementation Summary

3 The Problem Application-level processing being pushed into programmable routers and appliances Hardware supports wire-speed packet classification, computation, and state management on thousands/millions of flows Vendors use a wide range of hardware architectures to implement their products  No high-level framework for developing network applications for programmable routers  Developed applications are highly architecture-dependent

4 Project Goals A flexible, high-level environment for implementing and testing network applications Approach does not ignore baseline router functionality! (L2-L4 routing/filtering, VLANs, control-plane protocols, etc.) Virtualized architecture: Applications can be easily simulated before deployment Applications are portable across different architectures, from PCs to multi-gigabit programmable routers Applications and standard routing functions are managed through a CLI The network admin should not have to modify code!

5 A Virtual Machine Architecture

6 Generalized Packet Filters GPFs are the key to flexibility in this approach Extends concept of “filters” normally found on routers A relatively small number of GPFs can be used as building blocks for a large number of apps Ideally, the database of GPFs precludes the writing of new code! Supports flexible classification, computation, and actions GPFs are executed in numeric order L2 Switching Engine w/ARP L2 Switching Engine w/ARP Packet filter 1 Packet filter 2 Packet filter n Default filter Filter 2: name: Std Filter Example mac_s49-3E-2F-33-4A mac_d49-3E-AA-BB-CC srcIP10.x.x.x dstIP128.x.x.x tcp_s tcp_d actiondrop

7 GPF Example Simple Traffic Shaper Filter 5: type:generic_counter name: Packet Monitor A srcIP10.x.x.x dstIP128.x.x.x statemodel:private threshold:1000 action1:tag:count = count action2:if threshold, signal CPU1 count action3:if threshold, count = 0 L2 Switching Engine w/ARP L2 Switching Engine Packet Monitor A Default filter Rate Monitor Filter 7: type:rate_monitor name: Rate Monitor srcIPx.x.x.x dstIPx.x.x.x statemodel:private action1:after 0.01 seconds if tag:count > oldcount then signal CPU2 “Rate Monitor” action2:after 0.01 seconds oldcount = tag:count Backplane CPU1 CPU2 L2 Switching Engine w/ARP L2 Switching Engine Packet Monitor B Default filter Rate Monitor

8 Computation with GPFs Cannot put high-latency, complex computation in the fast path Needs to be decoupled to prevent head-of-line blocking How to implement? Simplest way is to include a filter that redirects to a computation engine Similar to Alteon-iSD operation VM model includes the notion of shared and private compute engines L2 Switching Engine w/ARP L2 Switching Engine w/ARP Packet filter 1 Packet filter 2 Packet filter n Default filter Compute Engine

9 Some proposed types of GPFs NAT/basic firewall Traffic shaping and monitoring QoS and packet schedulers Router/server health monitoring Load balancers Encryption/compression engines Content caches Overlay support, DHTs, application-level multicast Storage/iSCSI PNE inter-communication Intrusion detection

10 Programming the VM Start the CLI Define VM parameters # of ports, compute resource characteristics, etc. Configure standard routing functions (MAC/IP tables, OSPF, VLAN port membership, etc.) Instantiate and configure GPFs “Apply” GPFs to desired ports Simulate and test design! Router:/config/vlan/4/ip/create /24 Router:/config/vlan/4/ports/add 0-15 Router:/config/vlan/5/ip/create /24 Router:/config/vlan/5/ports/add Router:/config/gpfs/1/type standard Router:/config/gpfs/1/destination /32 Router:/config/gpfs/1/action drop Router:/config/gpfs/1/apply 2,3,6,16-31

11 Mapping the VM to Hardware Mapping is simplified because the VM architecture “looks” like a real router GPFs and other VM components are inherently parallel; serial implementations in C++/Java/Click/etc. require significant effort to parallelize and map to hardware Programmer can direct the mapping process by annotating VM components with their real-world hardware counterparts “Mapping” is basically the process of implementing and exporting all VM components on the target hardware

12 A Linux Implementation A proof-of-concept multithreaded linux implementation of the VM architecture Written in C++ Uses libpcap to tie VM ports to physical ethernet ports on linux machine (Routing performance is not a primary goal) Supports dynamic reassignment of GPFs to threads when router is reconfigured through the CLI Can be used in places where MIT’s Click is currently suitable New GPFs are easily written in C++ for custom use

13 Summary A high-level abstracted way to write network applications for programmable router architectures Applications are constructed by configuring and using GPFs as building blocks A relatively small number of GPFs can implement a large number of interesting applications General computation is supported by the concept of compute engines By design, VM architecture is portable to most hardware