Jennifer Rexford Fall 2010 (TTh 1:30-2:50 in COS 302) COS 561: Advanced Computer Networks Programmable.

Slides:



Advertisements
Similar presentations
Network Virtualization Nick Feamster, Georgia Tech Lixin Gao, UMass Amherst Jennifer Rexford, Princeton NSF NeTS-FIND PI Meeting.
Advertisements

Network Support for Sharing. 2 CABO: Concurrent Architectures are Better than One No single set of protocols or functions –Different applications with.
Theory Lunch. 2 Problem Areas Network Virtualization for Experimentation and Architecture –Embedding problems –Economics problems (markets, etc.) Network.
Supercharging PlanetLab : a high performance, Multi-Application, Overlay Network Platform Written by Jon Turner and 11 fellows. Presented by Benjamin Chervet.
4/27/2015Slide 1 Rethinking the design of the Internet: The end to end arguments vs. the brave new world Marjory S. Blumenthal Computer Science and Telecomms.
Lecture 6 Overlay Networks CPE 401/601 Computer Network Systems slides are modified from Jennifer Rexford.
Chapter 8 Hardware Conventional Computer Hardware Architecture.
1 Improving the Performance of Distributed Applications Using Active Networks Mohamed M. Hefeeda 4/28/1999.
1 In VINI Veritas: Realistic and Controlled Network Experimentation Jennifer Rexford with Andy Bavier, Nick Feamster, Mark Huang, and Larry Peterson
1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University
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.
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.
1 GENI: Global Environment for Network Innovations Jennifer Rexford On behalf of Allison Mankin (NSF)
1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University
IPv6 and Overlays EE122 Introduction to Communication Networks Discussion Section.
1 Future Internet Architectures: Toward an Architecture-Agnostic Architecture Jennifer Rexford Princeton University
1 VINI: Virtual Network Infrastructure Jennifer Rexford Princeton University
In-Band Flow Establishment for End-to-End QoS in RDRN Saravanan Radhakrishnan.
1 Network Management Active Networks. 2 Network Management.
1 Different Strokes for Different Folks (Or, How I Learned to Stop Worrying and Love Virtualization) Jennifer Rexford, Princeton University Joint work.
Internet Routing (COS 598A) Today: Telling Routers What to Do Jennifer Rexford Tuesdays/Thursdays.
Tesseract A 4D Network Control Plane
Network Virtualization Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
1© Copyright 2015 EMC Corporation. All rights reserved. SDN INTELLIGENT NETWORKING IMPLICATIONS FOR END-TO-END INTERNETWORKING Simone Mangiante Senior.
The Future of the Internet Jennifer Rexford ’91 Computer Science Department Princeton University
Active Networks Jennifer Rexford Advanced Computer Networks Tuesdays/Thursdays 1:30pm-2:50pm.
Building a Strong Foundation for a Future Internet Jennifer Rexford ’91 Computer Science Department (and Electrical Engineering and the Center for IT Policy)
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.
Communications Recap Duncan Smeed. Introduction 1-2 Chapter 1: Introduction Our goal: get “feel” and terminology more depth, detail later in course.
Hosting Virtual Networks on Commodity Hardware VINI Summer Camp.
Software-Defined Networks Jennifer Rexford Princeton University.
Data Communications and Computer Networks Chapter 4 CS 3830 Lecture 18 Omar Meqdadi Department of Computer Science and Software Engineering University.
Network Layer4-1 Chapter 4: Network Layer Chapter goals: r understand principles behind network layer services: m network layer service models m forwarding.
1 Cabo: Concurrent Architectures are Better than One Jennifer Rexford Princeton University Joint work with Nick Feamster.
1 Liquid Software Larry Peterson Princeton University John Hartman University of Arizona
Programmable Networks: Active Networks + SDN. How to Introduce new services Overlays: user can introduce what-ever – Ignores physical network  perf overhead.
Introduction 1-1 EKT355/4 ADVANCED COMPUTER NETWORK MISS HASNAH AHMAD School of Computer & Communication Engineering.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 Network Layer introduction.
Putting Intelligence in Internetworking: an Architecture of Two Level Overlay EE228 Project Anshi Liang Ye Zhou.
Jennifer Rexford Fall 2014 (TTh 3:00-4:20 in CS 105) COS 561: Advanced Computer Networks BGP.
Management for IP-based Applications Mike Fisher BTexaCT Research
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.
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.
SDN Management Layer DESIGN REQUIREMENTS AND FUTURE DIRECTION NO OF SLIDES : 26 1.
Forwarding.
High-Speed Policy-Based Packet Forwarding Using Efficient Multi-dimensional Range Matching Lakshman and Stiliadis ACM SIGCOMM 98.
Evolving Toward a Self-Managing Network Jennifer Rexford Princeton University
Introducing a New Concept in Networking Fluid Networking S. Wood Nov Copyright 2006 Modern Systems Research.
End-to-End Principle Brad Karp UCL Computer Science CS 6007/GC15/GA07 25 th February, 2009.
Zurich Research Laboratory IBM Zurich Research Laboratory Adaptive End-to-End QoS Guarantees in IP Networks using an Active Network Approach Roman Pletka.
Axis AI Solves Challenges of Complex Data Extraction and Document Classification through Advanced Natural Language Processing and Machine Learning MICROSOFT.
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.
Addressing Data Compatibility on Programmable Network Platforms Ada Gavrilovska, Karsten Schwan College of Computing Georgia Tech.
K. Salah1 Security Protocols in the Internet IPSec.
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
Md Baitul Al Sadi, Isaac J. Cushman, Lei Chen, Rami J. Haddad
Road to SDN Review the main features of SDN
University of Maryland College Park
Software Defined Networking (SDN)
Software Defined Networking (SDN)
COS 561: Advanced Computer Networks
Network Layer I have learned from life no matter how far you go
EE 122: Lecture 22 (Overlay Networks)
Presentation transcript:

Jennifer Rexford Fall 2010 (TTh 1:30-2:50 in COS 302) COS 561: Advanced Computer Networks Programmable Networks

Today’s 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 Enable experimentation and innovation inside the networks?

Active Networks 3

Proposed 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 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 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) –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 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 identifies which code handles 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

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

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/services in 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 programming environment: specialized secure languages/OSes vs. commodity Linux platforms

Network Virtualization 15

Rethinking the Network Architecture The Internet is showing signs of age –Security, mobility, availability, manageability, … Challenges rooted in early design decisions –Weak notion of identity, tying address & location –Not just a matter of redesigning a single protocol Revisit definition and placement of function –What are the types of nodes in the system? –What are their powers and limitations? –What information do they exchange?

Hurdle #1: Deployment Dilemma An unfortunate catch-22 –Must deploy an idea to demonstrate feasibility –Can’t get an undemonstrated idea deployed A corollary: the testbed dilemma –Production network: real users, but can’t change –Research testbed: easy changes, but no users Bad for the research community –Good ideas sit on the shelf –Promising ideas do not grow up into good ones

Hurdle #2: Too Many Design Goals Many different system-engineering goals –Scalability, reliability, security, privacy, robustness, performance guarantees, … –Perhaps we cannot satisfy all of them at once Applications have different priorities –Online banking: security –Web surfing: privacy, high throughput –Voice and gaming: low delay and loss Compromise solution isn’t good for anyone

Hurdle #3: Coordination Constraint Difficult to deploy end-to-end services –Benefits only when most networks deploy –No single network wants to deploy first Many deployment failures –QoS, IP multicast, secure routing, IPv6,… –Despite solving real, pressing problems Increasing commoditization of ISPs senderreceiver 123

Virtualization to the Rescue Multiple customized architectures in parallel –Multiple logical routers on a single platform –Isolation of resources, like CPU and bandwidth –Programmability for customizing each “slice”

Overcoming the Hurdles Deployment Dilemma –Run multiple experimental networks in parallel –Some are mature, offering services to users –Isolated from others that are works in progress Too Many Design Goals –Run multiple operational networks in parallel –Customized to certain applications and users Coordination Constraint –Run multiple end-to-end services in parallel –Over equipment owned by different parties

Economic Refactoring Infrastructure providers: Maintain routers, links, data centers, and other physical infrastructure Service providers: Offer end-to-end services (e.g., layer 3 VPNs, SLAs, etc.) to users Infrastructure ProvidersService Providers Today: ISPs try to play both roles, and cannot offer end-to-end services

Enabling End-to-End Services Secure routing protocols Multi-provider Virtual Private Networks Paths with end-to-end performance guarantees Today Virtualized Network Competing ISPs with different goals must coordinate Single service provider controls end-to-end path

Discussion: Internet vs. Pluralism Internet architecture –End-to-end argument –Best-effort packet-delivery service –Narrow waist of IP –Separation of intradomain from interdomain Virtualized programmable networks –Complete control within a virtual network –Programmable functionality inside the network –Different (virtual) networks for different services –No “interdomain,” except for instantiating topologies