Build Reliable Cloud Networks with SONiC and ONE
Wei Bai 白巍 Microsoft Research Asia
OCP China Technology Day, Shenzhen, China 1 54 100K+ 130+ $15B+ REGIONS WORLDWIDE MILES OF FIBER AND SUBSEA CABLE EDGE SITES Investments Two Open Source Cornerstones for High Reliability
Networking OS: SONiC
Network Verification: ONE
3 Networking OS: SONiC
4 A Solution to Unblock Hardware Innovation
Monitoring, Management, Deployment Tools, Cutting Edge SDN
SONiC SONiC SONiC SONiC
Switch Abstraction Interface (SAI)
Merchant Silicon Switch Abstraction Interface (SAI) NetworkNetwork ApplicationsApplicationsNetwork Applications Simple, consistent, and stable Hello network application stack
Switch Abstraction Interface Help consume the underlying complex, heterogeneous
частный 你好 नमते Bonjour hardware easily and faster
https://github.com/opencomputeproject/SAI
6 SONiC High-Level Architecture Switch State Service (SWSS)
• APP DB: persist App objects • SAI DB: persist SAI objects • Orchestration Agent: translation between apps and SAI objects, resolution of dependency and conflict • SyncD: sync SAI objects between software and hardware
Key Goal: Evolve components independently
8 SONiC Containerization
9 SONiC Containerization
• Components developed in different environments
• Source code may not be available
• Enables choices on a per- component basis
10 SONiC – Powering Microsoft At Cloud Scale
Tier 3 - Regional Spine T3-1 T3-2 T3-3 T3-4
… … … Tier 2 - Spine T2-1-1 T2-1-2 T2-1-8 T2-4-1 T2-4-2 T2-4-4 Features and Roadmap Current: BGP, ECMP, ECN, WRED, LAG, SNMP, SYSLOG, ACL, LLDP, NTP, VLAN, DHCP,AD, TACACS+, VLAN Trunk, CoPP, IPv6, Everflow, Fast reboot, RDMA, PFC WD, QoS, Telemetry, Warm reboot, OOM, VxLAN, VRF … … … T1-1 T1-2 SONICT1-7 TSONIC1-8 T1-1 T1-2 T1-7 T1-8 TierRoadmap 1 – Row Leaf: FRR, SONICL3T1-1 MLAG,SONICT1-2 sFLOWSONICT1-7 , BGPT1SONIC-8 EVPN, NAT SONIC SONIC SONIC SONIC SONIC SONIC
… … … Tier 0 - Rack SONICT0-1 SONICT0-2 SONICT0-20 SONICT0-1 SONICT0-2 T0SONIC-20 SONICT0-1 SONICT0-2 SONICT0-20 Servers Servers Servers
11 Application & Management tools
SONiC [Software For Open Networking in the Cloud] Switch Switch
SAI [Switch Abstraction Interface] Silicon/ASIC Inviting Contributions in All Areas
• New ideas on white/open network devices • New features, applications and tools • Download it, test it and use it!
• Website: https://azure.github.io/SONiC/ • Mailing list: [email protected] • GitHub: https://github.com/Azure/SONiC/ • Wiki: https://github.com/Azure/SONiC/wiki/
13 Network Verification: ONE
14 Astronauts use high-fidelity emulators to practice complex, high-risk missions
15 Azure engineers use Open Network Emulator (ONE) to practice complex, high-risk network operations
Optical link Change WAN manager manager manager
Routing protocol
coordinator 16 Open Network Emulator
Physical Switch Virtual Machine / Container Fast network with 1000s of devices Configuration Configuration created in minutes Software Software Hardware vHardware Seamless Physical Links Virtual Links push-button deployment
Configuration Configuration Configuration Configuration
High fidelity Software Software Software Software devices work exactly as Hardware Hardware vHardware vHardware production support from multiple Production Emulated Production vendors Network Network
17 ONE typical usage scenario Network engineer describes desired change
SONiC
SONiC SONiC
SONiC SONiC Pass/Fail An emulated Health verified by (with feedback, replica is created Z3 theorem prover including counter- examples)18 More Details
• Mailing list: [email protected]
• Publication
19 Acknowledgements
• Xin Liu • Ze Gan • Guohan Lu • Yongqiang Xiong • Lihua Yuan
20 Thanks!
21 Cloud Priorities Fast
Supportable
Reliable
Secure Borrow from Albert Greenberg
22 SONiC: Software for Open Networking in the Cloud
• Switch Abstraction Interface (SAI) • Cross-ASIC portability
• Modular Design with Switch State Service (SwSS) • Decoupling software components • Consistent application development model
• Containerization of SONiC • Serviceability • Cross-platform portability
23 SONiC: Software for Open Networking in the Cloud
• Switch Abstraction Interface (SAI) • Cross-ASIC portability
• Modular Design with Switch State Service (SwSS) • Decoupling software components • Consistent application development model
• Containerization of SONiC • Serviceability • Cross-platform portability
24 SONiC High-Level Architecture
25 How Routing Works in SONiC
26 SONiC: Software for Open Networking in the Cloud
• Switch Abstraction Interface (SAI) • Cross-ASIC portability
• Modular Design with Switch State Service (SwSS) • Decoupling software components • Consistent application development model
• Containerization of SONiC • Serviceability • Cross-platform portability
27 Demo: SONiC + ONE
29 Topology
30