Mind the Gap
Nick McKeown
Stanford University
Mind the Gap Nick McKeown Stanford University President Dean My - - PowerPoint PPT Presentation
Mind the Gap Nick McKeown Stanford University President Dean My problem I get excited about improving the practice. I am a networking researcher. The Internets problem Architecture: Seems impossible to change Well-known
Nick McKeown
Stanford University
Dean President
Architecture: Seems impossible to change
– Well-known shortcomings – Many great proposals – No way to demonstrate and test at scale – Huge installed base understandably reluctant to change
Industry: Strong vested interest in status quo
– Very high margins as-is – Closed, proprietary solutions – Complex, brittle products – Innovator’s Dilemma
No path to change
Dean President
Leland, Taqqu, Willinger, Wilson [Sigcomm ‘93+ Whether you agree with them or not – it got the whole community questioning assumptions.
C B
RTT ´C
RTT ´C N
Throughput
25,000
100%
2,500,000 10Gb/s WAN
Number of packets
On-chip buffers Smaller design Lower power t
Window Size
Buffer
RTT ´C
RTT ´C N
Throughput
log(W)
25,000 ~50
~ 90% 100%
2,500,000 10Gb/s WAN
Number of packets
20 pkts
Integrated all-optical buffer [UCSB 2008]
On-chip buffers Smaller design Lower power
Stanford: Guido Appenzeller, Neda Beheshti, Tim Roughgarden, Ashish Goel, Mihaela Enachescu Toronto: Yashar Ganjali Cambridge: Damon Wischik, Frank Kelly, Gaurav Raina UMass: Don Towsley, Chris Hollot UW Madison: Paul Barford, Joel Sommers GA Tech: Amogh Dhamdhere, Constantine Dovrolis UCSB: John Bowers, Emily Burmeister, Dan Blumenthal
Myth 1: It is hard for switch/router hardware to maintain lots of queues.
– Since 1995, seen 10-15 ASICs do it easily – Recently: 64x10Gb/s switch, 128k flows, 10%
Myth 2: You can’t build a large flow table
– Next couple of years: Over 1Tb/s, 100,000s entries, 100s bits wide, several tables.
It doesn’t mean you have to; just says you can.
Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding
Control Control Control Control Control
Martin Casado et al [Sigcomm ‘07] Policy
“Laptops can’t accept incoming connections” “A can’t talk to B”
Network Control Plane
– Tried to give it away for free. – Realized industry wasn’t ready to see it. – Started Nicira.
10Gb/s 10Gb/s 40 bytes every 32ns
DRAM
10Gb/s 10Gb/s
SRAM SRAM DRAM Tails Heads
Blocks, b Blocks, b
1 q
ASIC
– 80% of world’s SRAM: Ethernet switches. – Of those, 80% used by Cisco ($400M p.a.) – Started Nemo.
– Savings estimate $150M p.a.
– State of the art was 40Gb/s per rack. – Tried to give it away. – “Leave it to us”. – Started Abrizio.
– All outsourced solutions.
Industry
– Invests huge amounts to develop and sell products. – Patents protect their ideas, giving them confidence to invest.
University research
– Serves society at large. – Stay ahead by running fast, not by protecting. – Makes it easier to work with industry.
Dave Clark Larry Peterson Tom Anderson Scott Shenker Jon Turner Peter Freeman Guru Parulkar
Overcoming the Internet Impasse through Virtualization FIND, GENI, … 100x100, 4D
Hui Zhang Sandy Fraser Jennifer Rexford Albert Greenberg
Vision
Martin Casado
Scott Shenker Teemu Koponen Guru Parulkar + many (brave) students
Vertically integrated Closed, proprietary Slow innovation Small industry
Specialized Operating System Specialized Hardware
App App App App App App App App App App App
Specialized Applications
Horizontal Open interfaces Rapid innovation Huge industry
Microprocessor
Open Interface
Linux Mac OS
Windows (OS)
Open Interface
Vertically integrated Closed, proprietary Slow innovation
App App App App App App App App App App App
Horizontal Open interfaces Rapid innovation
Control Plane Control Plane Control Plane
Open Interface
Specialized Control Plane Specialized Hardware Specialized Features Merchant Switching Chips
Open Interface
Nate Foster, Andrew Ferguson, Mike Freedman, Jen Rexford, Rob Harrison, Dave Walker, ++
Scott Shenker, Colin Scott, Kyriakos Zarifis, Andreas Wundsam.
Marco Canini, Daniele Venzano, Peter Peresini, Dejan Kostic, Jen Rexford.
Ahmed Khurshid, Wenxuan Zhou, Matthew Caesar, P. Brighten Godfrey
Mark Reitblatt, Rick McGeer, ++
“The Future of Networking and the Past of Protocols”
Global Network View
Network Virtualization
Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding
Network OS
Abstract Network View
Control Programs
f View
Control Programs
f View
Control Programs
f View
Global Network View
Network Virtualization
Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Abstract Network View
Control Programs
f View
Control Programs
f View
Control Programs
f View
firewall.c … if( pkt->tcp->dport == 22) dropPacket(pkt); …
Packet Forwarding
Network OS
1.<Match, Action> 2.<Match, Action> 3.<Match, Action> 4.<Match, Action> 5.<Match, Action> 6.… 7.… 1.<Match, Action> 2.<Match, Action> 3.<Match, Action> 4.<Match, Action> 5.<Match, Action> 6.… 7.… 1.<Match, Action> 2.<Match, Action> 3.<Match, Action> 4.<Match, Action> 5.<Match, Action> 6.… 7.… 1.<Match, Action> 2.<Match, Action> 3.<Match, Action> 4.<Match, Action> 5.<Match, Action> 6.… 7.… 1.<Match, Action> 2.<Match, Action> 3.<Match, Action> 4.<Match, Action> 5.<Match, Action> 6.… 7.…
$10B tool business supports a $250B chip industry
Specification
Functional Description (RTL) Testbench & Vectors Functional Verification Logical Synthesis Static Timing Place & Route Design Rule Checking (DRC) Layout vs Schematic (LVS) Layout Parasitic Extraction (LPE) Manufacture & Validate
100s of Books >10,000 Papers 10s of Classes
Static Code Analysis Invariant Checker Interactive Debugger Model Checking Run-time Checker
Specification
Testbench Functional Description (Code)
100s of Books >100,000 Papers 10s of Classes
traceroute, ping, tcpdump, SNMP, Netflow
– Between multiple protocols on a switch/router. – Between state on different switches/routers.
– Observe all state. – Control all state.
A handful of books Almost no papers No classes
“You’re On Your Own”
“You’re On Your Own, Mate”
Global Network View
Network Virtualization
Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Abstract Network View
Control Programs Control Programs Control Programs firewall.c … if( pkt->tcp->dport == 22) dropPacket(pkt); …
Packet Forwarding
Network OS
“Finding bugs, and their root cause, in an operational network”
Peyman Kazemian Hongyi ‘James’ Zeng George Varghese (UCSD) Nikhil Handigol Brandon Heller Vimal Jeyakumar David Mazières
In today’s networks, simple questions are hard to answer:
– Can host A talk to host B? – What are all the packet headers from A that can reach B? – Are there any loops in the network? – Is Group X provably isolated from Group Y? – What happens if I remove a line in the config file?
57
Global Network View
Network Virtualization
Packet Forwarding Packet Forwarding Packet Forwarding Packet Forwarding Abstract Network View
Control Programs Control Programs Control Programs
Packet Forwarding
Network OS
1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. …Static Checker
1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. … 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6. … 7. …“A can talk to B” “Guests can’t reach PatientRecords”
Policy
1 2 3 4 1 2 3 4
1 2 3 4 1 2 3 4 Port ID
1 2 3 4 1 2 3 4 Port ID
– Abstract forwarding model; protocol independent – Finds all packets from A that can reach B – Find loops, regardless of protocol or layer – Can prove that two groups are isolated
– Reads Cisco IOS Configuration – Checks reachability, loops and isolation – C: 60ms for Stanford Backbone – Python: 10 mins for Stanford Backbone
– http://bitbucket.org/peymank/hassel-public
– An intellectually interesting idea, and – Improving the practice.
writing papers. Whatever it takes.
88% 87% 91% 86% 12% 13% 9% 14% 0% 50% 100% 2008 2009 2010 2011 Industry, not research Research
( 500 15% 35 )
( 13,000 60% 115 )
( 2,000 40% 70 )
Nick McKeown
Stanford University
Specialized Control Plane Specialized Hardware Specialized Features Apps
Specialized Control Plane Specialized Hardware Apps Network OS Simpler Hardware