SONIC+P4

2024-01-04 04:40
文章标签 sonic p4

本文主要是介绍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. 为了云(云对网络提出新需求)

云的操作随时随地发生(弹性灵活随时部署),云的本质是动态联通虚拟的计算资源和虚拟的存储资源。云:要求自动化的方式来部署,开通虚拟网络。在这里插入图片描述
在这里插入图片描述
硬件VLB:无法自动管理VLB、service。不能被云管理,即不能被自动化。

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

在这里插入图片描述

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

这篇关于SONIC+P4的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/568190

相关文章

ExoPlayer 漫谈之Sonic调整音量

提一个问题:如何在播放视频的时候调整声音的大小? 我们使用Android手机播放视频的时候,发现声音大了,我们手动调低音量;发现声音小了,我们手动调高音量。 这个过程中,都要依赖手动,如果你在不断地刷短视频的时候,如果需要用户不断地手动调整音量键,那这个体验是不能忍受的。 这对我们提了一个要求:我们能在解码音频流的时候通过矩阵运算调整音频原始数据的大小,达到调整音量的目的? 这个思路是可行

乐鑫 ESP32-P4 无线连接解决方案

ESP32-P4 是乐鑫信息科技推出的一款功能强大的芯片 (SoC) ,专为高性能的应用打造。尽管 ESP32-P4 集成了一系列先进特性,但它并未设置无线连接功能,因此需要额外的连接方案来满足嵌入式系统的多样化需求。乐鑫为 ESP32-P4 提供了三种主要的连接方案:ESP-AT、ESP-Hosted 和 ESP-Extconn。下面我们来探讨每种解决方案的优势、限制和使用场景。 ESP-AT

【GH】【EXCEL】P4: Chart

文章目录 data and chartdonut chart (radial chart)Radial Chart bar chartBar Chart line chartLine Chart Scatter ChartScatter Chart Surface ChartSurface Chart Chart DecoratorsChart Decorators Chart Graphi

P4. 微服务: 匹配系统(上)

P4. 微服务: 匹配系统 上 Tips0 概述1 匹配系统流程2 游戏系统流程3 websocket 前后端通信的基础配置3.1 websocket 的需要的配置3.2 websocket 连接的建立3.3 为 websocket 连接添加 jwt 验证 4 实现匹配界面和对战界面的切换5 匹配系统的客户端和 websocket 后端交互部分5.1 明确业务逻辑过程5.2 前端通过 soc

(P4-P5)文件与IO:open、close、creat、read、write,errno的使用

文章目录 1.什么是I/O以及errno的使用2.文件描述符3.文件系统调用 1.什么是I/O以及errno的使用 输入/输出是主存和外部设备之间拷贝数据的过程 (1)设备——>内存(输入操作) (2)内存——>设备(输出操作)高级I/O:标准C库 ANSI C提供的标准库称为高级I/O,通常也称为带缓冲的I/O低级I/O:系统调用IO 通常也称为不带缓冲的I/O 2.文件描

线性代数|机器学习-P4正交矩阵中的标准正交向量

文章目录 1. 正交矩阵Q1.1 矩阵Q的推导1.2 |Qx|=|x| 2. 常见正交矩阵2.1 旋转矩阵2.2 镜像矩阵2.3 Householder矩阵2.4 Hadamard矩阵2.4 小波矩阵2.5 傅里叶级数矩阵 1. 正交矩阵Q 1.1 矩阵Q的推导 方阵A正交的充要条件是A的行(列)向量组是单位正交向量组. 我们定义正交矩阵Q表示如下: Q = [ q 1 q

Easy RoCE:在SONiC交换机上一键启用无损以太网

RDMA(远程直接内存访问)技术是一种绕过 CPU 或操作系统,在计算机之间直接传输内存数据的技术。它释放了内存带宽和 CPU,使节点之间的通信具有更低的延迟和更高的吞吐量。目前,RDMA 技术已广泛应用于高性能计算、人工智能工作负载、存储和许多其他场景。 1、RoCEv2对网络的需求和挑战 RoCEv1 基于以太网链路层实现,通过交换机上的流量控制技术确保物理层的可靠传输。RoCEv2 在

【JavaScript】P4 什么是变量,变量的声明与赋值

目录 1 变量是什么2 变量的操作2.1 声明变量2.2 变量赋值 3 变量命名规范 1 变量是什么 变量是容器,用于存放数据。数据的类型不定,可以是整数,可以是字符串,可以是浮点数…而变量的本质,则是在内存中开辟一个小的空间,存储这些数据。 2 变量的操作 2.1 声明变量 在 JavaScript 中,如果想要使用变量,首先需要使用如下语法声明创建一个变量。 <s

网络业务创新驱动下的DPU P4技术,中科驭数在网络开源技术生态大会上分享最新进展

2024年5月25日,由中国通信学会指导,中国通信学会开源技术专业委员会、江苏省未来网络创新研究院主办的第四届网络开源技术生态大会在北京举办,中科驭数产品总监李冬以《合作如兰,扬扬其香 中科驭数助力P4产业发展与生态建设》为主题,分享了中科驭数DPU P4技术的最新研发进展和生态成果,在软件定义框架下,支持P4的DPU对网络数据平面实现了高性能和灵活可编程的融合,从而响应云计算、数据中心、网络安全

底鼓合成器-Sonic Academy KICK 2 v1.1.4 WiN

Sonic Academy KICK 2 v1.1.4 WiN VSTi/AAX x86 x64 | 200M KICK 2终于来了-屡获殊荣的KICK在2016年进行了全面升级。轻松雕刻,塑形,创建,操纵,操纵通往完美踢鼓的方式。 您不再需要依靠样品包中经过采样和重新采样的低质量踢鼓。借助KICK 2,您可以轻松创建完美的合成球,以适应您的需求。 编曲云音乐制作基地是一个专业的