Network Programmability for Developers: Why It's Time to Care
Programmability: Network Virtualization
-
Upload
cameroon45 -
Category
Technology
-
view
281 -
download
0
Transcript of Programmability: Network Virtualization
Network Virtualization
Jennifer RexfordJennifer Rexford
Advanced Computer NetworksAdvanced Computer Networkshttp://www.cs.princeton.edu/courses/archive/fall08/http://www.cs.princeton.edu/courses/archive/fall08/
cos561/cos561/Tuesdays/Thursdays 1:30pm-2:50pmTuesdays/Thursdays 1:30pm-2:50pm
Introduction
• Motivation for network virtualization– Deployment dilemma, too many design
goals, and coordination constraint
• Pluralist networks– Economic refactoring– Infrastructure and service providers
• Research challenges– Systems challenges – Resource allocation
The Internet: A Remarkable Story
• Tremendous success– From research experiment to global
communications infrastructure• The brilliance of under-specifying
– Best-effort packet delivery service– Key functionality at programmable end
hosts• Enabled massive growth and innovation
– Ease of adding hosts and link technologies– Ease of adding services (Web, P2P, VoIP, …)
• But, change is easy only at the edge…
Rethinking the Network Architecture
• But, 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
sender receiver
1 2 3
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
Pluralist Future
The Case for Pluralism
• Suppose we can break down the barriers…– Enable realistic evaluation of new ideas– Overcome the coordination constraint
• Maybe there isn’t just one right answer– Maybe the problem is over-constrained– Too many goals, some of them conflicting
• Maybe the goals change over time– And we’ll always be reinventing ourselves– The only constant is change
• So, perhaps we should design for change
Different Services, Different Goals
• Performance– Low delay/jitter: VoIP and online gaming– High throughput: bulk file transfer
• Security/privacy– High security: online banking and e-
commerce– High privacy: Web surfing
• Scalability– Very scalable: global Internet reachability– Not so scalable: communication in small
groups
Applications Within an Single ISP
• Customized virtual networks– Security for online banking– Fast-convergence for VoIP and gaming– Specialized handling of suspicious traffic
• Testing and deploying new protocols– Evaluate on a separate virtual network– Rather than in a dedicated test lab– Large scale and early-adopter traffic
• Leasing virtual components to others– ISPs have unused node and link capacity– Can allow others to construct services on
top
Economic Refactoring in CABO
• 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 Providers Service Providers
Today: ISPs try to play both roles, and cannot offer end-to-end services
Similar Trends in Other Industries
• Commercial aviation– Infrastructure providers: Airports– Infrastructure: Gates, “hands and eyes”
support– Service providers: Airlines
E.g.: airplanes, auto industry, and commercial real estate
PEKATL
JFK
SFO
Communications Networks, Too!
• Two commercial examples in IP networks– Packet Fabric: share routers at exchange
points– FON: resells users’ wireless Internet
connectivity
• FON economic refactoring– Infrastructure providers: Buy upstream connectivity
– Service provider: FON as the broker (www.fon.com)
Broker
Enabling End-to-End Services
• Secure routing protocols• Multi-provider Virtual Private Networks• Paths with end-to-end performance
guarantees
Today Cabo
Competing ISPs with different goals must coordinate
Single service provider controls end-to-end path
Research Challenges
Virtualized and Programmable Routers
• Multiple routers on a single substrate– Multiple control planes– Multiple data planes
• Design trade-offs– Speed: aggregate forwarding performance
• Getting close to raw forwarding speed
– Isolation: avoiding interference• Avoiding jitter and resource contention
– Customization: programmability of the data plane• Moving beyond IPv4 packets and Ethernet frames• Software (e.g., Click) vs. hardware (e.g., NetFPGA)?
Control Frameworks
• Embedding virtual topology in physical one– Finding suitable physical nodes and physical
links– With enough CPU, bandwidth, and memory – … and satisfying geographic and delay
constraints
• Instantiating the virtual network– Creating each virtual node and virtual link– Reserving the necessary resources
• Monitoring the running system– Detecting and diagnosing problems– Providing measurement data to virtual network
Ways to Exploit Router Virtualization
• Exploiting the new capabilities in routers– Separation of the physical from the logical– Ability to run multiple routers in parallel
• Example: virtual router migration– Moving router from one physical node to
another– E.g., for planned maintenance or service roll-
out
• Example: bug-tolerant routers– Running multiple instances of routing software– … and “voting” to protect the system from
bugs
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
Discussion: Experimental Infrastructure
• How to evaluate research ideas?– Analysis– Simulation– Prototyping– Deployment studies
• Importance of wide-area deployment?– Realistic traffic and network conditions– Real users and participation in experiments
• How real does real need to get?• Will researchers bother to build and
deploy?– Incentives for conducting this kind of research