SONIC+P4

SONIC+P4,第1张

SONIC+P4 SONIC简介 背景


微软于2015年先后发表了SAI和SONIC。SONIC产业日益繁荣,已超过六十家。

创新

SONiC使用了大量现有的开源技术:Docker、Redis、Quagga和LLDPD以及自动化配置工具Ansible、Puppet和Chef等。SONiC是一个将传统交换机 *** 作系统软件分解成多个容器化组件的创新方案,便于增加新的组件和功能。
SONiC与数据中心紧密相连,对数据中心的理解能够帮助我们更好的体会到SONiC设计的简洁与优美,前面提到SONiC用了很多开源技术,SONiC能够把如此多的开源技术运用起来,并且大规模的网络能够稳定运行,这都得益于SONiC的架构
参考链接:浅谈SONIC

架构


图解参考链接:sonic架构学习
SONiC系统架构是以Redis为中心的基于数据驱动 *** 作系统,SWSS,BGP等都是在Container里面运行。

往下是统一的SAI接口,能够很好地屏蔽不同芯片厂商的SDK差异,这让几乎所有的交换芯片厂商都参与进来并贡献自己的成果。它的数据中心功能非常简化,主要包含port,interface,vlan等少量模块。

在数据中心架构,还有一个特点就是解耦。应用程序去配置APP_DB,同步到Orchestion模块来解决下发数据之间的依赖关系,并配置SAI_DB,这里也有一层映射关系,并不是直接从Orchestion到SAI,而是由SYNCD最终来完成SAI API的调用。

特点


从DevOps能力。和其他NOS一样,系统架构、抽象接口、协议栈是实现这些目标的最关键因素。
可以看到,SONIC有容器、数据库、SAI、SIR。

SONiC的架构具备两个特点:解耦合和特性精简。‍‍

数据库驱动:以RedisDB为中心,‍‍将所有模块之间的关联解耦合;
软件解耦合:用户的进程都运行在容器中;
硬件解耦合:‍‍‍‍芯片层用的是统一的SAI接口,‍‍以屏蔽不同芯片厂商之间SDK的差异;‍‍
特性精简:‍‍当前仅满足数据中心的应用特性即可。‍‍

优缺点

所以,SONiC系统架构有很多优点,它能够用快速迭代、快速测试、快速上线;并且数据转发与应用程序分离,warm reboot/update;各组件运行在Docker中,各自有独立的运行环境,极大减少了相互的影响;另外,我们能像管理服务器一样管理交换机;SONiC还具有开放性:基于debian,易于扩展,支持C、C++、python、go等语言。

当然SONiC也有一定的缺点,对比传统交换机厂商的闭源实时 *** 作系统的性能,SONiC对CPU内存硬盘等系统硬件需求高,性能不够硬件来凑。

SONiC近年来一直是网络的热门,这离不开它背后众多的用户与厂商,国内的包括阿里、腾讯、百度、滴滴、京东、美团等,国外的有微软、Facebook、领英等。

未来发展

当前微软已经完成了百分之百的‍‍SONiC数据中心的替换,‍‍它和以前传统的交换机有非常大的不同:它的迭代的能力非常快速,‍‍基本上每天都会完成‍‍几千个交换机的升级,‍‍‍‍每几个月都会完成大版本的升级以及特性的增加,另外还将版本的增加时间由月变为了周。‍‍这种快速迭代‍‍符合了当前互联网高速发展的趋势。

SONiC还有哪些工作计划

我们在使用思科设备时,对于命令行 *** 作网络设备已经很熟悉了,但SONiC是通过Json配置文件去Write DB来完成与交换机的交互,没有命令行支持。对于这点,有人认为没有命令行会不方便,也有人认为SONiC都是自动化去配置,不需要传统人工CLI去配置,能够解决人为的错误 *** 作带来的网络故障。那我们换个角度,如果只是开放一些Debug或者show的CLi呢,是不是两全其美,既不会带来人为配置风险,用起来也很方便。


在这之前,OpenSwitch(OPS)是第一个面向开放网络架构的开源网络 *** 作系统(支持SAI)
OpenSwitch的架构图中,中间是数据库,左边是控制平面和管理平面,右边是SwitchD,下面是标准的Linux。可以看到OPS与SONIC的架构相似。
但是好的概念并没有引导而成一个好的结果。
OPS后来项目停滞,由惠普收购,产生OPX,基本验证了OPS的理念,后OPX又停滞。后来,微软落地壮大;SONIC。

星融的探索


OPS停止发展了。


企业级SONIC面向更普遍的用户。SONIC主要面向云服务。



AsterNOS VXLAN & EVPN的实现方案。
从右到左看作是四个部分。第一个部分SWSS的三件套,是SONIC的基本设计模式。即:Manage模块管理静态数据,管理动态数据




企业级SONIC:需要对大量用户的友好

设备供应商由桥梁作用变成了网状结构中的作用


SONIC+P4

参考链接:SONIC于P4的可编程约会

  1. 理想状态下,同时利用,SONIC强大的ko控制平面可编程能力,和P4可编程交换芯片高性能的数据平面能力。
  2. 未来在某一些上下文中清晰地区分,被拉离到远端的网络控制能力,和依然保留在网络设备本地的管理能力,我们会用控制平面和管理平面两个概念术语。
WHY SONIC+P4?
  1. 为了云(云对网络提出新需求)

云的 *** 作随时随地发生(d性灵活随时部署),云的本质是动态联通虚拟的计算资源和虚拟的存储资源。云:要求自动化的方式来部署,开通虚拟网络。

硬件VLB:无法自动管理VLB、service。不能被云管理,即不能被自动化。


软件VLB:负载均衡服务是由分布式地部署在负载均衡软件中的。不同租户或者不同业务的VLB是以虚拟化的形态存在于每个service旁边。
可以统一地管理除了Overly网络和租户VPC以外的LB。


开放网络产品。可编程交换芯片的可编程性能够解决传统的专业Aic,传统关系固化,开发周期长,上层受限的局面。同时相对于CPU来讲,没有必要牺牲性能去确保灵活性,增加成本确保可获得性。
完全有可能去开发符合云计算时代的开放网络产品。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/3988471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-21
下一篇 2022-10-21

发表评论

登录后才能评论

评论列表(0条)

保存