Active Networks Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.

Slides:



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

Supercharging PlanetLab : a high performance, Multi-Application, Overlay Network Platform Written by Jon Turner and 11 fellows. Presented by Benjamin Chervet.
Spring 2000CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics.
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Extensibility, Safety and Performance in the SPIN Operating System Presented by Allen Kerr.
Lecture 6 Overlay Networks CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
1 Frameworks. 2 Framework Set of cooperating classes/interfaces –Structure essential mechanisms of a problem domain –Programmer can extend framework classes,
1 In VINI Veritas: Realistic and Controlled Network Experimentation Jennifer Rexford with Andy Bavier, Nick Feamster, Mark Huang, and Larry Peterson
Resource Management – a Solution for Providing QoS over IP Tudor Dumitraş, Frances Jen-Fung Ning and Humayun Latif.
CS 268: Active Networks Ion Stoica May 6, 2002 (* Based on David Wheterall presentation from SOSP ’99)
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
Department of Computer Science, Purdue University Active Networks: Applications, Security, Safety and Architectures Author: Konstantinos Psounis Stanford.
Chapter 4 Network Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 14.
1 GENI: Global Environment for Network Innovations Jennifer Rexford Princeton University
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
1 GENI: Global Environment for Network Innovations Jennifer Rexford On behalf of Allison Mankin (NSF)
OCT1 Principles From Chapter One of “Distributed Systems Concepts and Design”
Future Research Directions Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
1 Network Management Active Networks. 2 Network Management.
.NET Mobile Application Development Introduction to Mobile and Distributed Applications.
The Future of the Internet Jennifer Rexford ’91 Computer Science Department Princeton University
Jennifer Rexford Princeton University MW 11:00am-12:20pm Data-Center Traffic Management COS 597E: Software Defined Networking.
Bandwidth DoS Attacks and Defenses Robert Morris Frans Kaashoek, Hari Balakrishnan, Students MIT LCS.
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
Active Network Applications Tom Anderson University of Washington.
CECS 5460 – Assignment 3 Stacey VanderHeiden Güney.
Enabling Innovation Inside the Network Jennifer Rexford Princeton University
Network Architecture and Protocol Concepts. Network Architectures (1) The network provides one or more communication services to applications –A service.
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Jennifer Rexford Fall 2010 (TTh 1:30-2:50 in COS 302) COS 561: Advanced Computer Networks Programmable.
Software-Defined Networks Jennifer Rexford Princeton University.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 18 Omar Meqdadi Department of Computer Science and Software Engineering University.
1 Liquid Software Larry Peterson Princeton University John Hartman University of Arizona
Introduction 1-1 EKT355/4 ADVANCED COMPUTER NETWORK MISS HASNAH AHMAD School of Computer & Communication Engineering.
Putting Intelligence in Internetworking: an Architecture of Two Level Overlay EE228 Project Anshi Liang Ye Zhou.
Data and Computer Communications Circuit Switching and Packet Switching.
Management for IP-based Applications Mike Fisher BTexaCT Research
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
4: Network Layer4-1 Schedule Today: r Finish Ch3 r Collect 1 st Project r See projects run r Start Ch4 Soon: r HW5 due Monday r Last chance for Qs r First.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
1 Mobile Networks logica Contents Confidential & Proprietary to Logica © 2001 Application-Level Active Networks Presented at Dublin Breakfast Briefing,
SDX: A Software-Defined Internet eXchange Jennifer Rexford Princeton University
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
A Survey of Active Network Research By:Tennehouse,Smith,Sincoskie,Wettherall,Minden Presented By:Prashant, Ravikiran, Ashutosh.
1 Pre-Introduction What is computer network?. 2 Pre-Introduction Suppose you want to build a computer network The question is: –What available technologies.
Introduction to Active Network Technology Bernhard Plattner Computer Engineering and Networks Laboratory ETH Zurich, Switzerland.
Introduction to Grids By: Fetahi Z. Wuhib [CSD2004-Team19]
Forwarding.
July 12th 1999Kits Workshop 1 Active Networking at Washington University Dan Decasper.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
CellSDN: Software-Defined Cellular Core networks Xin Jin Princeton University Joint work with Li Erran Li, Laurent Vanbever, and Jennifer Rexford.
1 Firewalls - Introduction l What is a firewall? –Firewalls are frequently thought of as a very complex system that is some sort of magical, mystical..
Zurich Research Laboratory IBM Zurich Research Laboratory Adaptive End-to-End QoS Guarantees in IP Networks using an Active Network Approach Roman Pletka.
Network Layer4-1 Chapter 4 Network Layer All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Computer Networking: A Top Down.
Copyright 2002 Stephen F. Bush1 Three Points to Remember Active Networks Are Cool Active Networks Are Cool Active Networks Can Be At Least As Secure As.
Danilo Florissi, Yechiam Yemini (YY), Sushil da Silva, Hao Huang Columbia University, New York, NY 10027
Active Networks Jennifer Rexford. Nice Quotation from the Tennenhouse Paper There is presently a disconnect between what users consider to be “inside”
Network Processing Systems Design
Road to SDN Review the main features of SDN
University of Maryland College Park
ANTS Goals Today’s networks lack flexibility …
Software Defined Networking (SDN)
Extending MPLS/BGP VPNs to End-Systems
Chapter 11. Frame Relay Background Frame Relay Protocol Architecture
Software interoperability in the NGN Service layer
Virtual Memory: Working Sets
EE 122: Lecture 22 (Overlay Networks)
Presentation transcript:

Active Networks Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm

Syncing Up on the Class My apologies for missing last week –Stuck in Thailand due to airport closures –Thinking of becoming a coup chaser Making up the missed content –Combined two classes into one (for Thursday) Readings: three short 4-6 page position papers –Make-up lecture during exam period So, two classes during exam period –One to present course projects –One as a final wrap-up class for the semester Are folks free Thursday December 18? Or mid-to-late afternoon Wednesday December 17?

Nice Quotation from the Tennenhouse Paper There is presently a disconnect between what users consider to be “inside” the network and the practitioner’s perspective, which is somewhat restricted. For example, web browsers allow users to interact with what they perceive to be “the network” without distinguishing among the many routers, domain name servers, and web servers that conspire to provide the service. It may be time for practitioners to reevaluate their abstractions and start thinking about the network at a higher level.

Passive Networks Dumb store-and-forward network –Smart end hosts implement key functions –Simple routers store and forward packets –Limited network processing (e.g., routing, forwarding, buffering, and packet scheduling) Packet header used in a simple way –Common, standardized format –Causes one of a small set of operations to occur –Packet forwarded or dropped based on those rules –Network (largely) ignores higher-layer headers

Active Networks Packet == data + code –Smart hosts, as before –Active nodes that can execute code on the data –Active packets that carry code to active nodes Postscript analogy –Contains both your data, and the program the printer runs to print your data Definition: Active networks allow an individual user, or groups of users, to inject customized programs into the nodes of the network.

Motivation for Active Networks High-level goal –Leverage computation in the network User pull –Automatically adaptive streaming –Data aggregation to reduce data volumes –Computation closer to users to reduce latency Industry push –Ad-hoc collection of middleboxes emerging –Replace with generic, multi-purpose active nodes –Otherwise, proliferation of active components will happen anyway, without any common framework

Motivation for Active Networks (Continued) Big mismatch in rates of innovation –Applications change quickly (e.g., Web, P2P, IM) –The network changes slowly Deploying new network technology is hard –Delay for standardization (at the IETF) –Additional delays for vendors to implement and service providers to deploy the new technology Better to decouple services from hardware –Minimize the amount of global agreement –Load new services on demand

Motivating Examples Customized packet-drop policy –User watching video stream (MPEG) –Congestion leads to bandwidth limits –Drop selectively the B frames –Requires application-specific intelligence Other examples –Forward error correction: adapt to loss rate. –TCP-SYN filtering –Web caching –Reliable multicast (or any multicast) –Support for mobility

Enabling Technologies for Active Networks Component-based software engineering –Building blocks for composing software Code mobility (e.g,. Java) –Though previously between end hosts, not network nodes –Innovation in safe and efficient code mobility Field-programmable gate arrays (FPGAs) –Enabling higher speed of packet processing Research in programming languages –And PL folks’ interest in networking

Two Models of Active Networks (ANs) Active networks are active in two ways –Switches run code on data flowing through them –Individuals can inject programs into the network Programmable switches: discrete ANs –Separation of program loading and execution –E.g. program loading only by network operator –Packet is demultiplexed to the right program Capsules: integrated ANs –Every packet is a program, and carries its code –Perhaps in a restricted programming language

Three Parts to an Active Network Execution environment –Virtual machine with access to node resources –General, Turing-complete vs. restricted models Active applications –Provide an end-to-end, customized service –Load code on to the routers to program the VM Node operating system –Support multiple execution environments at once –Provide safety between execution environments

Example: Capsules Capsule = code + data –Extension of IP packet format Type that identifies the code that should handle the capsule –E.g., may indicate a Java class Code runs in transient execution environment –Destroyed when the capsule evaluation ends Active storage –Capsules can leave information behind in a node’s non-transient storage for subsequent capsules External methods cached on the node

Concerns: Security, Safety, and Performance Protection –Can my service damage yours? –Need to run code in a sandbox Resource management –Can my service consume arbitrary resources? –Need careful control over resource allocation Performance –Can my program complete quickly enough to avoid introducing excessive latency? –Need to limit the complexity of the programs –… or run them only on lower-speed links

Safety and Security Programs ensured to terminate Limited amount of resources consumed Type-checked programs Basic error handling No interference due to concurrent execution

Efficiency and Performance Running programs on packets –Questionable on higher-speed links –E.g., where you have just a few nsec per packet Feasible at the edge (e.g., 100 Mbps, 1 Gbps) –Firewall, NAT, shaper, proxy, intrusion detection Feasible for control plane in the core –Running routing protocols Computer architecture advances help –Faster conventional processors –Network processors and FPGAs –Multi-processor cores

Stepping Back Was active networks a success or failure? –General idea of computation and services inside the network? –Need for a principled approach to middleboxes, and a blurring of router vs. general network node? –Specific mechanism of packets carrying code? Devil in the details –What granularity: packets vs. flows –When is code loaded: on demand vs. in advance –Who programs: user vs. network operator

What’s the Difference Between Active Nets and… Middleboxes? –Firewall, NAT, proxy, gateway, shaper, transcoder Overlay networks? –PlanetLab, RON, Akamai, etc. Programmable, virtualized infrastructures? –PlanetLab, VINI, and GENI

Discussion Who should write the programs that run on the active switches? –End users? –Folks offering services? –Network providers? What programming environment? –Specialized secure, safe, and application-specific languages and operating systems? –Conventional platforms (e.g., Linux as in PlanetLab)?