2.?SONIC
ÓÐÁË SAI, ÕâÈÃÍøÂç²Ù×÷ϵͳ²»ÔÙÌåÌùµ×²ãÔõôÓëרÓÐÓ²¼þͨÐÅ£¬²Ù×÷ϵͳ³§ÉÌ¿ÉÒÔרעÓÚÍøÂç²Ù×÷ϵͳµÄ¿ª·¢£¬ÆäÖÐÒÔ SONIC ×îΪͻ³ö£¬ËûÊÇ Microsoft/Azure ÍøÂç²Ù×÷ϵͳ£¬ÓÉ΢ÈíºÍ¶à¼Ò³§ÉÌÒ»Æ𿪷¢£¬²¢ÇÒ¿ªÔ´¡£
2.1.?ʲôÊÇSONIC?
SONiC ÊÇÒ»¸ö»ùÓÚ Linux µÄ¿ªÔ´ÍøÂç²Ù×÷ϵͳ£¬ÔËÐÐÔÚ¶à¸ö¹©Ó¦ÉÌºÍ ASICs µÄ½»»»»úÉÏ¡£SONiC ÌṩһÕûÌ×ÍøÂ繦Ч£¬Èç BGP ºÍ RDMA£¬ÕâЩ¹¦Ð§ÔÚһЩ×î´óµÄÔÆЧÀÍÌṩÉ̵ÄÊý¾ÝÖÐÐľ¹ýÉú²úÑéÖ¤¡£ËüΪÍŶÓÌṩÁË´´Á¢ËùÐèÍøÂç½â¾ö¼Æ»®µÄÁé»îÐÔ£¬Í¬Ê±ÀûÓôóÐÍÉú̬ϵͳºÍÉçÇøµÄ¼¯ÌåÁ¦Á¿¡£
2.2.?SONIC ϵͳ¼Ü¹¹[13]
SONIC ϵͳµÄÌåϵ½á¹¹ÓÉÖÖÖÖÄ£¿é×é³É£¬ÕâЩģ¿éͨ¹ýÒ»¸ö¼¯Öеġ¢¿ÉÉìËõµÄ»ù´¡ÉèÊ©Ï໥½»»¥¡£Õâ¸ö»ù´¡½á¹¹ÒÀÀµÓÚ redis-database ÒýÇæµÄʹÓÃ: ¼üÖµÊý¾Ý¿âÌṩ¶ÀÁ¢ÓÚÓïÑԵĽӿڡ¢Êý¾Ý³¤ÆÚÐÔ¡¢¸´ÖƺÍËùÓÐÉùÒô×Óϵͳ֮¼äµÄ¶à½ø³ÌͨÐŵÄÒªÁì¡£
SONIC ͨ¹ýÒÀÀµ redis-engine »ù´¡½á¹¹ÌṩµÄÐû²¼Õß/¶©ÔÄÕßÏûϢͨ±¨·¶Ê½£¬Ó¦ÓóÌÐò¿ÉÒÔÖ»¶©ÔÄËüÃÇËùÐèµÄÊý¾ÝÊÓͼ£¬²¢ÖÆÖ¹ÓëÆ书ЧÎ޹صÄʵÏÖϸ½Ú¡£
SONIC ½«Ã¿¸öÄ£¿é·ÅÔÚ¶ÀÁ¢µÄdockerÈÝÆ÷ÖУ¬ÒÔ¼á³ÖÓïÒå·ÂÉä×é¼þÖ®¼äµÄ¸ßÄÚ¾ÛÐÔ£¬Í¬Ê±¼õÉÙÍѽÚ×é¼þÖ®¼äµÄñîºÏ¡£Ã¿¸ö×é¼þ¶¼±»±àдΪÍêÈ«¶ÀÁ¢ÓÚƽ̨Ìض¨µÄϸ½Ú£¬¶øÕâЩϸ½ÚÊÇÓëµÍ²ãÁýͳ½»»¥Ëù±ØÐëµÄ¡£
SONIC ½«ÆäÖ÷Òª¹¦Ð§×é¼þÆÊÎöΪÒÔÏ docker ÈÝÆ÷£º
- Dhcp-relay
- Pmon
- Snmp
- Lldp
- Bgp
- Teamd
- Database
- Swss
- Syncd
2.3.?SONIC µÄ¹¦Ð§Éú³¤
ÎÒÃÇÀ´¿´Ò»Ï SONIC µÄ¹¦Ð§Éú³¤ (À´Ô´ÓÚ 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. ½áÊøÓï
½ñÌìÎÒÃÇÏÈÁÄÕâЩ£¬ÎÒÃÇ´óÖÂÁ˽âһϿª·ÅÐÍÍøÂç°üÀ¨µÄ¼¸¸öÖØÒª×é¼þ£¬¿ªÔ´Èí¼þµÄ¿´·¨£¬¿ªÔ´µÄÍøÂç²Ù×÷ϵͳµÄ¿´·¨£¬¿ª·ÅµÄÅÌËãÓ²¼þÓкζøÀ´£¬Èí¼þ½ç˵ÍøÂçµÄ¿´·¨£¬¿ÉÊÇ¿ª·ÅÐÍÍøÂçÖл¹°üÀ¨ÒÔÏÂ×é¼þ£º
- ÍøÂ繦ЧÐéÄ⻯
- ÔÆÅÌËã
- ×Ô¶¯»¯
- Ãô½ÝÐÍ¿ª·¢ÒªÁìºÍ´¦ÀíÀú³Ì
SONIC ×÷ΪÍøÂç²Ù×÷ϵͳÔÚÆäÖÐÊÎÑݺÜÖØÒªµÄ½ÇÉ«£¬Èç¹ûÏë½øÒ»²½Á˽â SONIC ×ÓϵͳµÄ¸÷¸ö¹¦Ð§ÒÔ¼°Âß¼£¬ÍøÂ繦ЧÐéÄ⻯£¬ÔÆÅÌË㣬ÍøÂç×Ô¶¯»¯£¬ÒÔ¼°Ãô½ÝÐÍ¿ª·¢ÒªÁìºÍ´¦ÀíÀú³Ì£¬Çë¹Ø×¢ÎÒÃÇ¡£
²Î¿¼ÎÄÏ×£º
[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/
[6]?https://events19.linuxfoundation.org/wp-content/uploads/2017/11/Open-Hardware-and-Open-Networking-Software-How-We-Got-Here-and-Where-We-are-Going-Steven-Noble-Big-Switch-Networks-_-NetDEF.pdf
[7]?https://www.opencompute.org/wiki/Networking/ONIE
[8]?https://www.openswitch.net/about/
[9]?http://opennetlinux.org/
[10]?https://events19.linuxfoundation.org/wp-content/uploads/2017/11/Open-Hardware-and-Open-Networking-Software-How-We-Got-Here-and-Where-We-are-Going-Steven-Noble-Big-Switch-Networks-_-NetDEF.pdf
[11]?https://events19.linuxfoundation.org/wp-content/uploads/2017/11/Open-Hardware-and-Open-Networking-Software-How-We-Got-Here-and-Where-We-are-Going-Steven-Noble-Big-Switch-Networks-_-NetDEF.pdf
[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