Programmability: Network Virtualization
Download
Report
Transcript Programmability: Network Virtualization
Network Virtualization
Jennifer Rexford
Advanced Computer Networks
http://www.cs.princeton.edu/courses/archive/fall08/cos561/
Tuesdays/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
1
sender
2
3
receiver
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
Service Providers
• 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
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
JFK
SFO
PEK
ATL
E.g.: airplanes, auto industry, and commercial real
estate
Communications Networks, Too!
• Two commercial examples in IP networks
– Packet Fabric: share routers at exchange points
– FON: resells users’ wireless Internet connectivity
Broker
• FON economic refactoring
– Infrastructure providers: Buy upstream connectivity
– Service provider: FON as the broker (www.fon.com)
Enabling End-to-End Services
• Secure routing protocols
• Multi-provider Virtual Private Networks
• Paths with end-to-end performance guarantees
Today
Competing ISPs
with different goals
must coordinate
Cabo
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