SlideShare a Scribd company logo
1 of 39
Download to read offline
Google Confidential and Proprietary
OpenFlow @ Google
Google Confidential and Proprietary
Summary
● Google operates two large backbone networks
○ Internet-facing backbone (user traffic)
○ Datacenter backbone (internal traffic)
● Managing large backbones is hard
● OpenFlow has helped us improve backbone
performance and reduce backbone complexity and cost
● I'll tell you how
Google Confidential and Proprietary
Backbone Scale
“If Google were an ISP, as of this month it would rank as
the second largest carrier on the planet.”
[ATLAS 2010 Traffic Report, Arbor Networks]
Google Confidential and Proprietary
WAN-Intensive Applications
● YouTube
● Web Search
● Google+
● Photos and Hangouts
● Maps
● AppEngine
● Android and Chrome updates
Google Confidential and Proprietary
WAN Economics
● Cost per bit/sec delivered should go down with
additional scale, not up
○ Consider analogies with compute and storage
● However, cost/bit doesn't naturally decrease with size
○ Quadratic complexity in pairwise interactions and
broadcast overhead of all-to-all communication
requires more expensive equipment
○ Manual management and configuration of individual
elements
○ Complexity of automated configuration to deal with
non-standard vendor configuration APIs
Google Confidential and Proprietary
Solution: WAN Fabrics
● Goal: manage the WAN as a fabric not as a collection of
individual boxes
● Current equipment and protocols don't allow this
○ Internet protocols are box centric, not fabric centric
○ Little support for monitoring and operations
○ Optimized for “eventual consistency” in routing
○ Little baseline support for low latency routing and
fast failover
Google Confidential and Proprietary
Motivating Examples
Google Confidential and Proprietary
● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20
Convergence After Failure
R2
R1
R3 R5
R4
40
20 20
R6
20
20
60
20
Google Confidential and Proprietary
● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20
Convergence After Failure
R2
R1
R3 R5
R4
40
20 20
R6
20
20
60
20
Google Confidential and Proprietary
● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20
● R5-R6 link fails
○ R1, R2, R4 autonomously try for next best path
Convergence After Failure
R2
R1
R3 R5
R4
40
20 20
R6
20
20
60
20
Google Confidential and Proprietary
● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20
● R5-R6 link fails
○ R1, R2, R4 autonomously try for next best path
○ R1 wins, R2, R4 retry for next best path
Convergence After Failure
R2
R1
R3 R5
R4
40
20 20
R6
20
20
60
20
Google Confidential and Proprietary
● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20
● R5-R6 link fails
○ R1, R2, R4 autonomously try for next best path
○ R1 wins, R2, R4 retry for next best path
○ R2 wins this round, R4 retries again
Convergence After Failure
R2
R1
R3 R5
R4
40
20 20
R6
20
20
60
20
Google Confidential and Proprietary
● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20
● R5-R6 link fails
○ R1, R2, R4 autonomously try for next best path
○ R1 wins, R2, R4 retry for next best path
○ R2 wins this round, R4 retries again
○ R4 finally gets third best path
Convergence After Failure
R2
R1
R3 R5
R4
40
20 20
R6
20
20
60
20
Google Confidential and Proprietary
● Simple topology
● Flows:
○ R1->R6: 20; R2->R6: 20; R4->R6: 20
Centralized Traffic Engineering
R2
R1
R3 R5
R4
40
20 20
R6
20
40
Central TE
60
Google Confidential and Proprietary
● Simple topology
● Flows:
○ R1->R6: 20; R2->R6: 20; R4->R6: 20
● R5-R6 fails
○ R5 informs TE, which programs routers in one shot
Centralized Traffic Engineering
R2
R1
R3 R5
R4
40
20 20
R6
20
40
Central TE
Google Confidential and Proprietary
● Simple topology
● Flows:
○ R1->R6: 20; R2->R6: 20; R4->R6: 20
● R5-R6 link fails
○ R5 informs TE, which programs routers in one shot
○ Leads to faster realization of target optimum
Centralized Traffic Engineering
R2
R1
R3 R5
R4
40
20 20
R6
20
20
60
20
Google Confidential and Proprietary
Advantages of Centralized TE
● Better network utilization with global picture
● Converges faster to target optimum on failure
● Allows more control and specifying intent
○ Deterministic behavior simplifies planning vs.
overprovisioning for worst case variability
● Can mirror production event streams for testing
○ Supports innovation and robust SW development
● Controller uses modern server hardware
○ 50x (!) better performance
Google Confidential and Proprietary
● Decentralized requires a full scale replica of a real
testbed to test new TE features.
● Centralized can tap real production input to research
new ideas and to test new implementations
Testability Matters
R3 R5
R4
R6
R2
R1
Prod TE server
Test TE server
Prod
event
stream
Analyzer
Google Confidential and Proprietary
SDN Testing Strategy
● Various logical modules enable testing in isolation
● Virtual environment to experiment and test with the
complete system end to end
○ Everything is real but hardware
● Emphasis on in-built consistency checks (both during
testing and in production)
● Tools to validate programming state across all the
devices. Validation checks can be done after every
update from the central server (in virtual environment)
○ Enforce 'make-before-break' semantics
Google Confidential and Proprietary
Our Simulated WAN
● Control servers run real binaries
● Switches are virtualized
○ real OpenFlow binary, fake HAL
● Arbitrary topology (can simulate entire backbone)
● Can attach real monitoring and alerting servers
Google Confidential and Proprietary
OFC Bug History
Google Confidential and Proprietary
Why Software Defined WAN
● Separate hardware from software
○ Choose hardware based on necessary features
○ Choose software based on protocol requirements
● Logically centralized network control
○ More deterministic
○ More efficient
○ More fault tolerant
● Separate monitoring, management, and operation from
individual boxes
● Flexibility and Innovation
Result: A WAN that is higher performance, more fault
tolerant, and cheaper
Google Confidential and Proprietary
Google's OpenFlow WAN
Google Confidential and Proprietary
Google's WAN
● Two backbones
○ Internet facing (user traffic)
○ Datacenter traffic (internal)
● Widely varying requirements: loss sensitivity,
availability, topology, etc.
● Widely varying traffic characteristics: smooth/diurnal vs.
bursty/bulk
● Therefore: built two separate logical networks
○ I-Scale (bulletproof)
○ G-Scale (possible to experiment)
Google Confidential and Proprietary
Google's OpenFlow WAN
Google Confidential and Proprietary
G-Scale Network Hardware
● Built from merchant silicon
○ 100s of ports of
nonblocking 10GE
● OpenFlow support
● Open source routing stacks for
BGP, ISIS
● Does not have all features
○ No support for AppleTalk...
● Multiple chassis per site
○ Fault tolerance
○ Scale to multiple Tbps
Google Confidential and Proprietary
G-Scale WAN Deployment
● Multiple switch chassis in each domain
○ Custom hardware running Linux
● Quagga BGP stack, ISIS/IBGP for internal connectivity
DC Network WAN DC Network
Google Confidential and Proprietary
Deployment History
● Phase 1 (Spring 2010):
○ Introduce OpenFlow-controlled switches but make
them look like regular routers
■ No change from perspective of non-OpenFlow
switches
■ BGP/ISIS/OSPF now interfaces with OpenFlow
controller to program switch state
● Pre-deploy gear at one site, take down 50% of site
bandwidth, perform upgrade, bring up with OpenFlow,
test, repeat for other 50%
● Repeat at other sites
Google Confidential and Proprietary
Deployment History
● Phase 2 (until mid-2011): ramp-up
● Activate simple SDN (no TE)
● Move more and more traffic to test new network
● Test transparent roll-out of controller updates
Google Confidential and Proprietary
Deployment History
● Phase 3 (early 2012): full production at one site
● All datacenter backbone traffic carried by new network
● Rolled out centralized TE
○ Optimized routing based on application-level
priorities (currently 7)
○ Globally optimized placement of flows
● External copy scheduler interacts with OpenFlow
controller to implement deadline scheduling for large
data copies
Google Confidential and Proprietary
G-Scale WAN Usage
Exit testing
"opt in"
network
SDN
rollout
SDN fully
Deployed
Central TE
Deployed
Google Confidential and Proprietary
Google SDN Experiences
● Much faster iteration time: deployed production-grade
centralized traffic engineering in two months
○ fewer devices to update
○ much better testing ahead of rollout
● Simplified, high fidelity test environment
○ Can emulate entire backbone in software
● Hitless SW upgrades and new features
○ No packet loss and no capacity degradation
○ Most feature releases do not touch the switch
Google Confidential and Proprietary
Google SDN Experiences
● Already seeing higher network utilization
○ Flexible management of end-to-end paths for
maintenance
○ Deterministic network planning
● Generally high degree of stability
○ One outage from software bug
○ One outage triggered by bad config push
● Too early to quantify the benefits
○ Still learning
Google Confidential and Proprietary
Confirmed SDN Opportunities
● Unified view of the network fabric
● Traffic engineering
○ Higher QoS awareness and predictability
○ Latency, loss, bandwidth, deadline sensitivity
○ Application differentiation
● Improved routing
○ Based on a priori knowledge of the topology
○ Based on a priori knowledge of L1 and L3
connectivity
● Improved monitoring and alerts
Google Confidential and Proprietary
SDN Challenges
● Infancy of OF protocol
○ Still barebones but good enough
● Master election/control plane partition is challenging to
handle
● What to keep on box what to remove? Not a perfect
science
○ For things that remain on the box, how to configure?
● Flow programming can be slow for large networks
● All of the above are surmountable
Google Confidential and Proprietary
Conclusions
● OpenFlow is ready for real-world use
● SDN is ready for real-world use
○ Enables rapid rich feature deployment
○ Simplifies network management
● Google's datacenter WAN successfully runs on
OpenFlow
○ Largest production network at Google
○ Improved manageability
○ Improved cost (too early to have exact numbers)
Google Confidential and Proprietary
Thank You!

More Related Content

What's hot

Replacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX PlusReplacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX PlusNGINX, Inc.
 
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at MidokuraTechnical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at MidokuraMidoNet
 
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...StreamNative
 
OpenFlow: What is it Good For?
OpenFlow: What is it Good For? OpenFlow: What is it Good For?
OpenFlow: What is it Good For? APNIC
 
Open stackdaykorea2016 wedge
Open stackdaykorea2016 wedgeOpen stackdaykorea2016 wedge
Open stackdaykorea2016 wedgeJunho Suh
 
Openstack Neutron and SDN
Openstack Neutron and SDNOpenstack Neutron and SDN
Openstack Neutron and SDNinakipascual
 
OpenDaylight OpenFlow clustering
OpenDaylight OpenFlow clusteringOpenDaylight OpenFlow clustering
OpenDaylight OpenFlow clusteringOpenDaylight
 
Hotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya MukawaHotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya Mukawaharryvanhaaren
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNnvirters
 
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...nvirters
 
OpenDataPlane - Bill Fischofer
OpenDataPlane - Bill FischoferOpenDataPlane - Bill Fischofer
OpenDataPlane - Bill Fischoferharryvanhaaren
 
Technical introduction to MidoNet
Technical introduction to MidoNetTechnical introduction to MidoNet
Technical introduction to MidoNetMidoNet
 
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...Junho Suh
 
Telco junho cost-effective approach for telco network analysis in 5_g_final
Telco junho cost-effective approach for telco network analysis in 5_g_finalTelco junho cost-effective approach for telco network analysis in 5_g_final
Telco junho cost-effective approach for telco network analysis in 5_g_finalJunho Suh
 
Grid Job Management
Grid Job ManagementGrid Job Management
Grid Job Managementpycontw
 
Processing TeraBytes of data every day and sleeping at night
Processing TeraBytes of data every day and sleeping at nightProcessing TeraBytes of data every day and sleeping at night
Processing TeraBytes of data every day and sleeping at nightLuciano Mammino
 
TechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterTechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterRobb Boyd
 
Processing TeraBytes of data every day and sleeping at night
Processing TeraBytes of data every day and sleeping at nightProcessing TeraBytes of data every day and sleeping at night
Processing TeraBytes of data every day and sleeping at nightLuciano Mammino
 
Atomic Rules - Arkville DPDK Acceleration 20.08
Atomic Rules - Arkville DPDK Acceleration 20.08Atomic Rules - Arkville DPDK Acceleration 20.08
Atomic Rules - Arkville DPDK Acceleration 20.08Atomic Rules LLC
 
CentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateCentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateTom Herbert
 

What's hot (20)

Replacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX PlusReplacing and Augmenting F5 BIG-IP with NGINX Plus
Replacing and Augmenting F5 BIG-IP with NGINX Plus
 
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at MidokuraTechnical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
Technical Deep Dive into MidoNet - Taku Fukushima, Developer at Midokura
 
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
Building the Next-Generation Messaging Platform on Pulsar at Intuit - Pulsar ...
 
OpenFlow: What is it Good For?
OpenFlow: What is it Good For? OpenFlow: What is it Good For?
OpenFlow: What is it Good For?
 
Open stackdaykorea2016 wedge
Open stackdaykorea2016 wedgeOpen stackdaykorea2016 wedge
Open stackdaykorea2016 wedge
 
Openstack Neutron and SDN
Openstack Neutron and SDNOpenstack Neutron and SDN
Openstack Neutron and SDN
 
OpenDaylight OpenFlow clustering
OpenDaylight OpenFlow clusteringOpenDaylight OpenFlow clustering
OpenDaylight OpenFlow clustering
 
Hotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya MukawaHotplug and Virtio - Tetsuya Mukawa
Hotplug and Virtio - Tetsuya Mukawa
 
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDNTech Tutorial by Vikram Dham: Let's build MPLS router using SDN
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
 
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
 
OpenDataPlane - Bill Fischofer
OpenDataPlane - Bill FischoferOpenDataPlane - Bill Fischofer
OpenDataPlane - Bill Fischofer
 
Technical introduction to MidoNet
Technical introduction to MidoNetTechnical introduction to MidoNet
Technical introduction to MidoNet
 
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
From Fixed-Function to Programmable Switching Chip for Network Packet Broker ...
 
Telco junho cost-effective approach for telco network analysis in 5_g_final
Telco junho cost-effective approach for telco network analysis in 5_g_finalTelco junho cost-effective approach for telco network analysis in 5_g_final
Telco junho cost-effective approach for telco network analysis in 5_g_final
 
Grid Job Management
Grid Job ManagementGrid Job Management
Grid Job Management
 
Processing TeraBytes of data every day and sleeping at night
Processing TeraBytes of data every day and sleeping at nightProcessing TeraBytes of data every day and sleeping at night
Processing TeraBytes of data every day and sleeping at night
 
TechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the DatacenterTechWiseTV Workshop: Segment Routing for the Datacenter
TechWiseTV Workshop: Segment Routing for the Datacenter
 
Processing TeraBytes of data every day and sleeping at night
Processing TeraBytes of data every day and sleeping at nightProcessing TeraBytes of data every day and sleeping at night
Processing TeraBytes of data every day and sleeping at night
 
Atomic Rules - Arkville DPDK Acceleration 20.08
Atomic Rules - Arkville DPDK Acceleration 20.08Atomic Rules - Arkville DPDK Acceleration 20.08
Atomic Rules - Arkville DPDK Acceleration 20.08
 
CentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and UpdateCentOS NFV SIG Introduction and Update
CentOS NFV SIG Introduction and Update
 

Similar to OpenFlow @ Google

USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthNicolas Brousse
 
PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge
 PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge
PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering EdgePROIDEA
 
Building a Small DC
Building a Small DCBuilding a Small DC
Building a Small DCAPNIC
 
Building a Small Datacenter
Building a Small DatacenterBuilding a Small Datacenter
Building a Small Datacenterssuser4b98f0
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Martin Spier
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITOpenStack
 
Data ops in practice - Swedish style
Data ops in practice - Swedish styleData ops in practice - Swedish style
Data ops in practice - Swedish styleLars Albertsson
 
Our Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent CloudOur Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent CloudHostedbyConfluent
 
Deploy Eclipse hawBit in Production
Deploy Eclipse hawBit in ProductionDeploy Eclipse hawBit in Production
Deploy Eclipse hawBit in ProductionKynetics
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...Linaro
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLinaro
 
Kafka Practices @ Uber - Seattle Apache Kafka meetup
Kafka Practices @ Uber - Seattle Apache Kafka meetupKafka Practices @ Uber - Seattle Apache Kafka meetup
Kafka Practices @ Uber - Seattle Apache Kafka meetupMingmin Chen
 
SPDY and What to Consider for HTTP/2.0
SPDY and What to Consider for HTTP/2.0SPDY and What to Consider for HTTP/2.0
SPDY and What to Consider for HTTP/2.0Mike Belshe
 
The bond between automation and network engineering
The bond between automation and network engineeringThe bond between automation and network engineering
The bond between automation and network engineeringJimmy Lim
 
Container world 2019 Canary Release
Container world 2019 Canary ReleaseContainer world 2019 Canary Release
Container world 2019 Canary ReleaseBilly Yuen
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixC4Media
 

Similar to OpenFlow @ Google (20)

A Software Defined WAN Architecture
A Software Defined WAN ArchitectureA Software Defined WAN Architecture
A Software Defined WAN Architecture
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge
 PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge
PLNOG19 - Piotr Marecki - Espresso: Scalable and Programmable Peering Edge
 
Building a Small DC
Building a Small DCBuilding a Small DC
Building a Small DC
 
Building a Small Datacenter
Building a Small DatacenterBuilding a Small Datacenter
Building a Small Datacenter
 
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)Ensuring Performance in a Fast-Paced Environment (CMG 2014)
Ensuring Performance in a Fast-Paced Environment (CMG 2014)
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
 
Data ops in practice - Swedish style
Data ops in practice - Swedish styleData ops in practice - Swedish style
Data ops in practice - Swedish style
 
Our Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent CloudOur Multi-Year Journey to a 10x Faster Confluent Cloud
Our Multi-Year Journey to a 10x Faster Confluent Cloud
 
Deploy Eclipse hawBit in Production
Deploy Eclipse hawBit in ProductionDeploy Eclipse hawBit in Production
Deploy Eclipse hawBit in Production
 
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
LCE13: Test and Validation Mini-Summit: Review Current Linaro Engineering Pro...
 
LCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at LinaroLCE13: Test and Validation Summit: The future of testing at Linaro
LCE13: Test and Validation Summit: The future of testing at Linaro
 
Kafka Practices @ Uber - Seattle Apache Kafka meetup
Kafka Practices @ Uber - Seattle Apache Kafka meetupKafka Practices @ Uber - Seattle Apache Kafka meetup
Kafka Practices @ Uber - Seattle Apache Kafka meetup
 
SPDY and What to Consider for HTTP/2.0
SPDY and What to Consider for HTTP/2.0SPDY and What to Consider for HTTP/2.0
SPDY and What to Consider for HTTP/2.0
 
Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017Dynomite @ RedisConf 2017
Dynomite @ RedisConf 2017
 
Netty training
Netty trainingNetty training
Netty training
 
Go at uber
Go at uberGo at uber
Go at uber
 
The bond between automation and network engineering
The bond between automation and network engineeringThe bond between automation and network engineering
The bond between automation and network engineering
 
Container world 2019 Canary Release
Container world 2019 Canary ReleaseContainer world 2019 Canary Release
Container world 2019 Canary Release
 
Data Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFixData Science in the Cloud @StitchFix
Data Science in the Cloud @StitchFix
 

More from Open Networking Summits

CORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterCORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterOpen Networking Summits
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4Open Networking Summits
 
OPNFV Webinar – No Time to Wait: Accelerating NFV Time to Market Through Open...
OPNFV Webinar – No Time to Wait: Accelerating NFV Time to Market Through Open...OPNFV Webinar – No Time to Wait: Accelerating NFV Time to Market Through Open...
OPNFV Webinar – No Time to Wait: Accelerating NFV Time to Market Through Open...Open Networking Summits
 
Software Defined Networking: Enabling The Mobile Workplace
Software Defined Networking: Enabling The Mobile WorkplaceSoftware Defined Networking: Enabling The Mobile Workplace
Software Defined Networking: Enabling The Mobile WorkplaceOpen Networking Summits
 
Software Defined Networks Network Function Virtualization Pivotal Technologies
Software Defined Networks Network Function Virtualization Pivotal TechnologiesSoftware Defined Networks Network Function Virtualization Pivotal Technologies
Software Defined Networks Network Function Virtualization Pivotal TechnologiesOpen Networking Summits
 
Spreading NFV through the Network: the ETSI NFV use cases
Spreading NFV through the Network: the ETSI NFV use casesSpreading NFV through the Network: the ETSI NFV use cases
Spreading NFV through the Network: the ETSI NFV use casesOpen Networking Summits
 
Ranges & Cross-Entrance Consistency with OpenFlow
Ranges & Cross-Entrance Consistency with OpenFlowRanges & Cross-Entrance Consistency with OpenFlow
Ranges & Cross-Entrance Consistency with OpenFlowOpen Networking Summits
 
On the Necessity of Time-based Updates in SDN
On the Necessity of Time-based Updates in SDNOn the Necessity of Time-based Updates in SDN
On the Necessity of Time-based Updates in SDNOpen Networking Summits
 
Control Exchange Points: Providing QoS-en abled End-to-End Services via SDN-b...
Control Exchange Points: Providing QoS-en abled End-to-End Services via SDN-b...Control Exchange Points: Providing QoS-en abled End-to-End Services via SDN-b...
Control Exchange Points: Providing QoS-en abled End-to-End Services via SDN-b...Open Networking Summits
 
ESPRES: Easy Scheduling and Prioritization for SDN
ESPRES: Easy Scheduling and Prioritization for SDNESPRES: Easy Scheduling and Prioritization for SDN
ESPRES: Easy Scheduling and Prioritization for SDNOpen Networking Summits
 
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATIONSDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATIONOpen Networking Summits
 
SoftMoW: A Dynamic and Scalable Software Defined Architecture for Cellular WANs
SoftMoW: A Dynamic and Scalable Software Defined Architecture for Cellular WANsSoftMoW: A Dynamic and Scalable Software Defined Architecture for Cellular WANs
SoftMoW: A Dynamic and Scalable Software Defined Architecture for Cellular WANsOpen Networking Summits
 
RadioVisor - A Slicing Plane for Radio Access Networks
RadioVisor - A Slicing Plane for Radio Access NetworksRadioVisor - A Slicing Plane for Radio Access Networks
RadioVisor - A Slicing Plane for Radio Access NetworksOpen Networking Summits
 
Enabling SDN in old school networks with Software-Controlled Routing Protocols
Enabling SDN in old school networks with Software-Controlled Routing ProtocolsEnabling SDN in old school networks with Software-Controlled Routing Protocols
Enabling SDN in old school networks with Software-Controlled Routing ProtocolsOpen Networking Summits
 

More from Open Networking Summits (20)

CORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a DatacenterCORD: Central Office Re-architected as a Datacenter
CORD: Central Office Re-architected as a Datacenter
 
[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4[Webinar Slides] Programming the Network Dataplane in P4
[Webinar Slides] Programming the Network Dataplane in P4
 
OPNFV Webinar – No Time to Wait: Accelerating NFV Time to Market Through Open...
OPNFV Webinar – No Time to Wait: Accelerating NFV Time to Market Through Open...OPNFV Webinar – No Time to Wait: Accelerating NFV Time to Market Through Open...
OPNFV Webinar – No Time to Wait: Accelerating NFV Time to Market Through Open...
 
Learnings from Carrier SDN Deployments
Learnings from Carrier SDN DeploymentsLearnings from Carrier SDN Deployments
Learnings from Carrier SDN Deployments
 
Software Defined Networking: Enabling The Mobile Workplace
Software Defined Networking: Enabling The Mobile WorkplaceSoftware Defined Networking: Enabling The Mobile Workplace
Software Defined Networking: Enabling The Mobile Workplace
 
Application Driven SDN
Application Driven SDNApplication Driven SDN
Application Driven SDN
 
Software Defined Networks Network Function Virtualization Pivotal Technologies
Software Defined Networks Network Function Virtualization Pivotal TechnologiesSoftware Defined Networks Network Function Virtualization Pivotal Technologies
Software Defined Networks Network Function Virtualization Pivotal Technologies
 
NFV & SDN Customer Deployments
NFV & SDN Customer DeploymentsNFV & SDN Customer Deployments
NFV & SDN Customer Deployments
 
Automation of end-to-end QOS
Automation of end-to-end QOSAutomation of end-to-end QOS
Automation of end-to-end QOS
 
Building a Digital Telco
Building a Digital TelcoBuilding a Digital Telco
Building a Digital Telco
 
Spreading NFV through the Network: the ETSI NFV use cases
Spreading NFV through the Network: the ETSI NFV use casesSpreading NFV through the Network: the ETSI NFV use cases
Spreading NFV through the Network: the ETSI NFV use cases
 
BeHop : SDN for Dense WiFi Networks
BeHop : SDN for Dense WiFi NetworksBeHop : SDN for Dense WiFi Networks
BeHop : SDN for Dense WiFi Networks
 
Ranges & Cross-Entrance Consistency with OpenFlow
Ranges & Cross-Entrance Consistency with OpenFlowRanges & Cross-Entrance Consistency with OpenFlow
Ranges & Cross-Entrance Consistency with OpenFlow
 
On the Necessity of Time-based Updates in SDN
On the Necessity of Time-based Updates in SDNOn the Necessity of Time-based Updates in SDN
On the Necessity of Time-based Updates in SDN
 
Control Exchange Points: Providing QoS-en abled End-to-End Services via SDN-b...
Control Exchange Points: Providing QoS-en abled End-to-End Services via SDN-b...Control Exchange Points: Providing QoS-en abled End-to-End Services via SDN-b...
Control Exchange Points: Providing QoS-en abled End-to-End Services via SDN-b...
 
ESPRES: Easy Scheduling and Prioritization for SDN
ESPRES: Easy Scheduling and Prioritization for SDNESPRES: Easy Scheduling and Prioritization for SDN
ESPRES: Easy Scheduling and Prioritization for SDN
 
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATIONSDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
SDN & OPTICAL FLOW STEERING FOR NETWORK FUNCTION VIRTUALIZATION
 
SoftMoW: A Dynamic and Scalable Software Defined Architecture for Cellular WANs
SoftMoW: A Dynamic and Scalable Software Defined Architecture for Cellular WANsSoftMoW: A Dynamic and Scalable Software Defined Architecture for Cellular WANs
SoftMoW: A Dynamic and Scalable Software Defined Architecture for Cellular WANs
 
RadioVisor - A Slicing Plane for Radio Access Networks
RadioVisor - A Slicing Plane for Radio Access NetworksRadioVisor - A Slicing Plane for Radio Access Networks
RadioVisor - A Slicing Plane for Radio Access Networks
 
Enabling SDN in old school networks with Software-Controlled Routing Protocols
Enabling SDN in old school networks with Software-Controlled Routing ProtocolsEnabling SDN in old school networks with Software-Controlled Routing Protocols
Enabling SDN in old school networks with Software-Controlled Routing Protocols
 

Recently uploaded

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

OpenFlow @ Google

  • 1.
  • 2.
  • 3. Google Confidential and Proprietary OpenFlow @ Google
  • 4. Google Confidential and Proprietary Summary ● Google operates two large backbone networks ○ Internet-facing backbone (user traffic) ○ Datacenter backbone (internal traffic) ● Managing large backbones is hard ● OpenFlow has helped us improve backbone performance and reduce backbone complexity and cost ● I'll tell you how
  • 5. Google Confidential and Proprietary Backbone Scale “If Google were an ISP, as of this month it would rank as the second largest carrier on the planet.” [ATLAS 2010 Traffic Report, Arbor Networks]
  • 6. Google Confidential and Proprietary WAN-Intensive Applications ● YouTube ● Web Search ● Google+ ● Photos and Hangouts ● Maps ● AppEngine ● Android and Chrome updates
  • 7. Google Confidential and Proprietary WAN Economics ● Cost per bit/sec delivered should go down with additional scale, not up ○ Consider analogies with compute and storage ● However, cost/bit doesn't naturally decrease with size ○ Quadratic complexity in pairwise interactions and broadcast overhead of all-to-all communication requires more expensive equipment ○ Manual management and configuration of individual elements ○ Complexity of automated configuration to deal with non-standard vendor configuration APIs
  • 8. Google Confidential and Proprietary Solution: WAN Fabrics ● Goal: manage the WAN as a fabric not as a collection of individual boxes ● Current equipment and protocols don't allow this ○ Internet protocols are box centric, not fabric centric ○ Little support for monitoring and operations ○ Optimized for “eventual consistency” in routing ○ Little baseline support for low latency routing and fast failover
  • 9. Google Confidential and Proprietary Motivating Examples
  • 10. Google Confidential and Proprietary ● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20 Convergence After Failure R2 R1 R3 R5 R4 40 20 20 R6 20 20 60 20
  • 11. Google Confidential and Proprietary ● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20 Convergence After Failure R2 R1 R3 R5 R4 40 20 20 R6 20 20 60 20
  • 12. Google Confidential and Proprietary ● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20 ● R5-R6 link fails ○ R1, R2, R4 autonomously try for next best path Convergence After Failure R2 R1 R3 R5 R4 40 20 20 R6 20 20 60 20
  • 13. Google Confidential and Proprietary ● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20 ● R5-R6 link fails ○ R1, R2, R4 autonomously try for next best path ○ R1 wins, R2, R4 retry for next best path Convergence After Failure R2 R1 R3 R5 R4 40 20 20 R6 20 20 60 20
  • 14. Google Confidential and Proprietary ● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20 ● R5-R6 link fails ○ R1, R2, R4 autonomously try for next best path ○ R1 wins, R2, R4 retry for next best path ○ R2 wins this round, R4 retries again Convergence After Failure R2 R1 R3 R5 R4 40 20 20 R6 20 20 60 20
  • 15. Google Confidential and Proprietary ● Flows: R1->R6: 20; R2->R6: 20; R4->R6: 20 ● R5-R6 link fails ○ R1, R2, R4 autonomously try for next best path ○ R1 wins, R2, R4 retry for next best path ○ R2 wins this round, R4 retries again ○ R4 finally gets third best path Convergence After Failure R2 R1 R3 R5 R4 40 20 20 R6 20 20 60 20
  • 16. Google Confidential and Proprietary ● Simple topology ● Flows: ○ R1->R6: 20; R2->R6: 20; R4->R6: 20 Centralized Traffic Engineering R2 R1 R3 R5 R4 40 20 20 R6 20 40 Central TE 60
  • 17. Google Confidential and Proprietary ● Simple topology ● Flows: ○ R1->R6: 20; R2->R6: 20; R4->R6: 20 ● R5-R6 fails ○ R5 informs TE, which programs routers in one shot Centralized Traffic Engineering R2 R1 R3 R5 R4 40 20 20 R6 20 40 Central TE
  • 18. Google Confidential and Proprietary ● Simple topology ● Flows: ○ R1->R6: 20; R2->R6: 20; R4->R6: 20 ● R5-R6 link fails ○ R5 informs TE, which programs routers in one shot ○ Leads to faster realization of target optimum Centralized Traffic Engineering R2 R1 R3 R5 R4 40 20 20 R6 20 20 60 20
  • 19. Google Confidential and Proprietary Advantages of Centralized TE ● Better network utilization with global picture ● Converges faster to target optimum on failure ● Allows more control and specifying intent ○ Deterministic behavior simplifies planning vs. overprovisioning for worst case variability ● Can mirror production event streams for testing ○ Supports innovation and robust SW development ● Controller uses modern server hardware ○ 50x (!) better performance
  • 20. Google Confidential and Proprietary ● Decentralized requires a full scale replica of a real testbed to test new TE features. ● Centralized can tap real production input to research new ideas and to test new implementations Testability Matters R3 R5 R4 R6 R2 R1 Prod TE server Test TE server Prod event stream Analyzer
  • 21. Google Confidential and Proprietary SDN Testing Strategy ● Various logical modules enable testing in isolation ● Virtual environment to experiment and test with the complete system end to end ○ Everything is real but hardware ● Emphasis on in-built consistency checks (both during testing and in production) ● Tools to validate programming state across all the devices. Validation checks can be done after every update from the central server (in virtual environment) ○ Enforce 'make-before-break' semantics
  • 22. Google Confidential and Proprietary Our Simulated WAN ● Control servers run real binaries ● Switches are virtualized ○ real OpenFlow binary, fake HAL ● Arbitrary topology (can simulate entire backbone) ● Can attach real monitoring and alerting servers
  • 23. Google Confidential and Proprietary OFC Bug History
  • 24. Google Confidential and Proprietary Why Software Defined WAN ● Separate hardware from software ○ Choose hardware based on necessary features ○ Choose software based on protocol requirements ● Logically centralized network control ○ More deterministic ○ More efficient ○ More fault tolerant ● Separate monitoring, management, and operation from individual boxes ● Flexibility and Innovation Result: A WAN that is higher performance, more fault tolerant, and cheaper
  • 25. Google Confidential and Proprietary Google's OpenFlow WAN
  • 26. Google Confidential and Proprietary Google's WAN ● Two backbones ○ Internet facing (user traffic) ○ Datacenter traffic (internal) ● Widely varying requirements: loss sensitivity, availability, topology, etc. ● Widely varying traffic characteristics: smooth/diurnal vs. bursty/bulk ● Therefore: built two separate logical networks ○ I-Scale (bulletproof) ○ G-Scale (possible to experiment)
  • 27. Google Confidential and Proprietary Google's OpenFlow WAN
  • 28. Google Confidential and Proprietary G-Scale Network Hardware ● Built from merchant silicon ○ 100s of ports of nonblocking 10GE ● OpenFlow support ● Open source routing stacks for BGP, ISIS ● Does not have all features ○ No support for AppleTalk... ● Multiple chassis per site ○ Fault tolerance ○ Scale to multiple Tbps
  • 29. Google Confidential and Proprietary G-Scale WAN Deployment ● Multiple switch chassis in each domain ○ Custom hardware running Linux ● Quagga BGP stack, ISIS/IBGP for internal connectivity DC Network WAN DC Network
  • 30. Google Confidential and Proprietary Deployment History ● Phase 1 (Spring 2010): ○ Introduce OpenFlow-controlled switches but make them look like regular routers ■ No change from perspective of non-OpenFlow switches ■ BGP/ISIS/OSPF now interfaces with OpenFlow controller to program switch state ● Pre-deploy gear at one site, take down 50% of site bandwidth, perform upgrade, bring up with OpenFlow, test, repeat for other 50% ● Repeat at other sites
  • 31. Google Confidential and Proprietary Deployment History ● Phase 2 (until mid-2011): ramp-up ● Activate simple SDN (no TE) ● Move more and more traffic to test new network ● Test transparent roll-out of controller updates
  • 32. Google Confidential and Proprietary Deployment History ● Phase 3 (early 2012): full production at one site ● All datacenter backbone traffic carried by new network ● Rolled out centralized TE ○ Optimized routing based on application-level priorities (currently 7) ○ Globally optimized placement of flows ● External copy scheduler interacts with OpenFlow controller to implement deadline scheduling for large data copies
  • 33. Google Confidential and Proprietary G-Scale WAN Usage Exit testing "opt in" network SDN rollout SDN fully Deployed Central TE Deployed
  • 34. Google Confidential and Proprietary Google SDN Experiences ● Much faster iteration time: deployed production-grade centralized traffic engineering in two months ○ fewer devices to update ○ much better testing ahead of rollout ● Simplified, high fidelity test environment ○ Can emulate entire backbone in software ● Hitless SW upgrades and new features ○ No packet loss and no capacity degradation ○ Most feature releases do not touch the switch
  • 35. Google Confidential and Proprietary Google SDN Experiences ● Already seeing higher network utilization ○ Flexible management of end-to-end paths for maintenance ○ Deterministic network planning ● Generally high degree of stability ○ One outage from software bug ○ One outage triggered by bad config push ● Too early to quantify the benefits ○ Still learning
  • 36. Google Confidential and Proprietary Confirmed SDN Opportunities ● Unified view of the network fabric ● Traffic engineering ○ Higher QoS awareness and predictability ○ Latency, loss, bandwidth, deadline sensitivity ○ Application differentiation ● Improved routing ○ Based on a priori knowledge of the topology ○ Based on a priori knowledge of L1 and L3 connectivity ● Improved monitoring and alerts
  • 37. Google Confidential and Proprietary SDN Challenges ● Infancy of OF protocol ○ Still barebones but good enough ● Master election/control plane partition is challenging to handle ● What to keep on box what to remove? Not a perfect science ○ For things that remain on the box, how to configure? ● Flow programming can be slow for large networks ● All of the above are surmountable
  • 38. Google Confidential and Proprietary Conclusions ● OpenFlow is ready for real-world use ● SDN is ready for real-world use ○ Enables rapid rich feature deployment ○ Simplifies network management ● Google's datacenter WAN successfully runs on OpenFlow ○ Largest production network at Google ○ Improved manageability ○ Improved cost (too early to have exact numbers)
  • 39. Google Confidential and Proprietary Thank You!