主要是了解一下SONiC的features,以便于整理一下一点一点从上往下熟悉。文章参照SONiC Features文档

Features

L2

  • LAG,链路聚合组,将多个端口合并使用的,常用LACP控制协议。
  • LLDP,链路层发现协议,在本地子网中通告自己的设备标识和性能。
  • COS,服务等级(Class of Service)在数据和语音协议中使用的参数,存在于运行VLAN报文的链路层。
  • VLAN
  • ACL permit/deny
  • Mirroring
  • LACP Fallback,fallback模式时把bond当成一个NIC来用,因为另外一个NIC显示mac为全0
  • Vlan Trunk
  • Dynamic ACL Upgrade
  • MAC Aging

L3

  • BGP,边界网关协议,运行在一个单独的AS中,BGP之间同步路由信息。
  • ECMP,多路径等价路由,用于均衡流量的。
  • QoS-ECN,显式ECN调整QoS
  • QoS-RDMA
  • Priority Flow Control,PFC是普通流控的升级版,普通流控是针对端口的,PFC根据流来进行管理,控制
  • PFC WD,PFC Watchdog Design
  • Asymmetric PFC
  • WRED,加权随机先期检测(Weighted Random Early Detection)是将随机先期检测与优先级排队结合起来,这种结合为高优先级报文提供了优先通信处理能力。当某个接口开始出现拥塞时,它有选择地丢弃较低优先级的通信,而不是简单地随机丢弃报文。
  • COPP,思科私有的安全策略协议。
  • DHCP Relay Agent,把DHCP/BOOTP广播信息从一个网段转播到另一个网段。
  • IPv6
  • Tunnel Decap
  • BGP MP
  • BGP Graceful restart helper,协议重启和另外一台协助重启的设备。
  • BGP/Neighbor-down fib-accelerate,路径上有端口down的时候,收敛快一些
  • IPv6 ACL
  • Routing Stack Graceful Restart
  • FRR,源于quagga,适用于IP路由协议套件的守护进程,支持平台Linux和Unix,协议包括BGP,IS-IS,LDP,OSPF,PIN和RIP
  • IPv6 Link Local
  • VRF
  • Vxlan
  • L3 MLAG
  • EVPN

management

  • SNMP,简单网络管理协议。用于监测连接到网络上的设备。
  • Syslog
  • Sysdump
  • NTP,网络时间同步协议。
  • Post Speed Setting
  • TACACS+(Terminal Access Controller Access Control System)终端访问控制器访问控制系统。
  • MTU Setting
  • gRPC
  • Cirtical Resource Monitoring
  • Incremental Config(IP, LAG, Port shut/unshut)
  • sFlow

模块

kernel & drivers

  • sonic-mgmt,管理、配置和监控SONiC,需要单独编译。
  • sonic-buildimage,编译安装镜像,以下都是该git的子模块。
  • sonic-linux-kernel,内核补丁。
  • SAI(Switch Abstraction Interface)
  • sonic-swss,SwSS(Switch State Service)是一个软件合集,提供数据库接口,用于和网络应用程序以及网络交换机硬件进行通信和状态表示。
  • sonic-swss-common,SwSS公共库提供了用于数据库通信、netlink wrappers、和SwSS所需的其他功能功能的库。
  • sonic-py-swsssdk,用于SONiC交换机状态服务数据库访问的Python实用程序库。
  • sonic-dbsyncd,SONiC SwSS LLDP数据同步daemon。
  • sonic-quagga,Quagga支持BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng和IS-IS。
  • sonic-platform-common,为硬件外围设备提供通用接口,Python的软件包集合。
  • sonic-platform-daemons,SONiC中控制指定平台功能的daemon程序。
  • sonic-sairedis,基于redis数据库构建的SAI redis服务,主要包含了两个组件:将SAI对象放入redis数据库的SAI库;获取SAI对象,并且放入ASIC的syncd。
  • sonic-snmpagent,a net-snmpd agentx subagent。
  • sonic-utilities,命令行工具。
  • p4-hlir,仅支持P4_14版本,如果编译P4_16版本,可以使用p4c
  • p4c-bm,为bmv2(behavioral-model)生成JSON配置。
  • ptf,PTF是基于Python的数据平面测试框架。基于Python发行版中的unittest。
  • frr, FRRouting是实现和管理各种IPv4和IPv6的免费路由协议软件,目前支持BGP4,BGP4+,OSPFv2,OSPFv3,RIPv1,RIPv2,RIPng,IS-IS,PIN-SM/MSDP,LDP和Babel。
最后修改:2021 年 08 月 18 日
如果觉得我的文章对你有用,请随意赞赏