新一代開(kāi)源網絡操作(zuò)系統SONiC 之二

2. SONIC

有了(le) SAI, 這(zhè)讓網絡操作(zuò)系統不再關心底層怎麽與專有硬件通信,操作(zuò)系統廠(chǎng)商可以專注于網絡操作(zuò)系統的開(kāi)發,其中以 SONIC 最爲突出,他(tā)是 Microsoft/Azure 網絡操作(zuò)系統,由微軟和(hé)多家廠(chǎng)商一起開(kāi)發,并且開(kāi)源。

2.1. 什(shén)麽是SONIC?

SONiC 是一個基于 Linux 的開(kāi)源網絡操作(zuò)系統,運行在多個供應商和(hé) ASICs 的交換機上(shàng)。SONiC 提供一整套網絡功能(néng),如 BGP 和(hé) RDMA,這(zhè)些(xiē)功能(néng)在一些(xiē)最大(dà)的雲服務提供商的數據中心經過生産驗證。它爲團隊提供了(le)創建所需網絡解決方案的靈活性,同時(shí)利用(yòng)大(dà)型生态系統和(hé)社區(qū)的集體力量。

2.2. SONIC 系統架構[13]

SONIC 系統的體系結構由各種模塊組成,這(zhè)些(xiē)模塊通過一個集中的、可伸縮的基礎設施彼此交互。這(zhè)個基礎結構依賴于 redis-database 引擎的使用(yòng): 鍵值數據庫提供獨立于語言的接口、數據持久性、複制和(hé)所有聲音(yīn)子系統之間的多進程通信的方法。

SONIC 通過依賴 redis-engine 基礎結構提供的發布者/訂閱者消息傳遞範式,應用(yòng)程序可以隻訂閱它們所需的數據視(shì)圖,并避免與其功能(néng)無關的實現(xiàn)細節。

SONIC 将每個模塊放(fàng)在獨立的docker容器中,以保持語義仿射組件之間的高(gāo)内聚性,同時(shí)減少脫節組件之間的耦合。每個組件都被編寫爲完全獨立于平台特定的細節,而這(zhè)些(xiē)細節是與低(dī)層抽象交互所必需的。

SONIC 将其主要功能(néng)組件分解爲以下(xià) docker 容器:

  • Dhcp-relay
  • Pmon
  • Snmp
  • Lldp
  • Bgp
  • Teamd
  • Database
  • Swss
  • Syncd

2.3. SONIC 的功能(néng)發展

我們來(lái)看(kàn)一下(xià) SONIC 的功能(néng)發展 (來(lái)源于 SONIC 官網) [14]

Release Release Date SAI version Features Included
SONiC.201705 5/15/2017 0.9.4 BGP
ECMP
LAG
LLDP
QoS – ECN
QoS – RDMA
Priority Flow Control
WRED
COS
SNMP
Syslog
Sysdump
NTP
COPP
DHCP Relay Agent
SONiC to SONiC upgrade
Multiple Images support
One Image
SONiC.201709 9/15/2017 0.9.4 VLAN
ACL permit/deny
IPv6
Tunnel Decap
Mirroring
Post Speed Setting
BGP Graceful restart helper
BGP MP
SONiC.201712 12/15/2017 1 Fast Reload
SONiC Support SAI 1.0
TACACS+
LACP Fallback
MTU Setting
Vlan Trunk
Static Port breakout1
Dynamic ACL Upgrade
SWSS Unit Test Framework
CobfigDB framework
SONiC.201803 3/15/2018 1.2
Critical Resource Monitoring
MAC Aging
IPv6 ACL
BGP/Neighbor-down fib-accelerate
PFC WD
SONiC.201807 7/30/2018 1.3
gRPC
Dtel support
SONiC Architecture and User Manual (Documentation)
Sensor transceiver monitoring
LLDP extended MIB: lldpremtable, lldplocporttable, lldpremmanaddrtable, lldplocmanaddrtable, lldplocporttable, lldpLocalSystemData
SONiC.201811 11/30/2018 1.3 Release Note
Debian Kernel Upgrade to 4.9
Warm Reboot
Incremental Config (IP, LAG, Port shut/unshut)
Asymmetric PFC
PFC Watermark
Routing Stack Graceful Restart
Basic VRF and L3 VXLAN
SONiC.201904 4/30/2019 1.4 Release Note
FRR as default routing stack
Upgrade each docker to stretch version
Upgrade docker engine to 18.09
Everflow enhancement
Egress ACL bug fix and ACL CLI enhancement
L3 RIF counter support
PMon Refactoring
BGP-EVPN support(type 5), (related HLD Fpmsyncd,Vxlanmgr,template)
Transceiver parameter tuning PR pending on CR sign off
SONiC.201910 10/30/2019 1.5 Progress Tracking
ZTP – design review in progress
BFD – SW – 100ms interval from FRR
NAT
STP/PVST
Mgmt VRF
Multi-DB optimization
Test to Pytest
sFlow
Management Framework (Tentative )
Platform Driver Development Framework
Build Improvements
Error handling enhancements
L2 functional and performance enhancements
L3 perf enhancement
BroadView BST
VRF
Configuration Validation
Dynamic Break Out
Platform APIs move to new APIs *
Sub-port support
Backlog
CLI framework
VRF (Taken)
L3 MLAG (Taken)
EVPN
RDMA CLI enhancement
Virtual path for streaming telemetry (pushed off)
Management VRF (pushed off)
Port and Vlan configuration and validation (TBD)

3. 結束語

今天我們先聊這(zhè)些(xiē),我們大(dà)緻了(le)解一下(xià)開(kāi)放(fàng)型網絡包含的幾個重要組件,開(kāi)源軟件的概念,開(kāi)源的網絡操作(zuò)系統的概念,開(kāi)放(fàng)的計(jì)算(suàn)硬件有何而來(lái),軟件定義網絡的概念,但(dàn)是開(kāi)放(fàng)型網絡中還包含以下(xià)組件:

  • 網絡功能(néng)虛拟化
  • 雲計(jì)算(suàn)
  • 自(zì)動化
  • 敏捷型開(kāi)發方法和(hé)處理(lǐ)過程

SONIC 作(zuò)爲網絡操作(zuò)系統在其中扮演很(hěn)重要的角色,如果想進一步了(le)解 SONIC 子系統的各個功能(néng)以及邏輯,網絡功能(néng)虛拟化,雲計(jì)算(suàn),網絡自(zì)動化,以及敏捷型開(kāi)發方法和(hé)處理(lǐ)過程,請(qǐng)關注我們。

參考文(wén)獻:
[1] https://en.wikipedia.org/wiki/Software-defined_networking
[2] https://en.wikipedia.org/wiki/Open_source
[3] https://en.wikipedia.org/wiki/Open-source_software
[4] https://www.opencompute.org/about
[5] https://aptira.com/what-is-open-networking/
static/file/file
[7] https://www.opencompute.org/wiki/Networking/ONIE
[8] https://www.openswitch.net/about/
[9] http://opennetlinux.org/
static/file/file
static/file/file
[12] https://www.opencompute.org/documents/switch-abstraction-interface
[13] https://github.com/Azure/SONiC/wiki/Architecture
[14] https://github.com/Azure/SONiC/wiki/Sonic-Roadmap-Planning

下(xià)一篇
企業與客戶的理(lǐ)想聯絡者:藍雲用(yòng)戶連接服務正式商用(yòng)!
上(shàng)一篇
新一代開(kāi)源網絡操作(zuò)系統SONiC 之一