银联周雍恺:开放交换机组网技术和前沿进展

2023-05-16

在第三届未来网络发展大会SDN/NFV技术与应用创新分论坛上中国银联电子商务与电子支付国家工程实验室周雍恺博士,发表了主题为《开放交换机组网技术和前沿进展》的主题演讲。

本次演讲内容主要有三大部分的内容,第一部分是开放交换机的前沿进展;第二部分介绍组网,尤其是云原生数据中心的组网;第三个部分是金融业对开放交换机所做一些研究以及验证。本文对第一、二部分内容做了整理。

网络技术的堆栈

周博士首先谈到了网络技术的堆栈,网络技术堆栈可以分成控制平面和数据平面,在控制平面有,北向接口有Neutron接口,还有K8S CNI接口,以及当前SDN界比较流行的IBN基于意图的声明式接口。开源的网络控制器有ODL和ONOS,商业版有思科ACI、华为AC等。南向接口最著名的是OpenFlow,还有最新的P4 runtime,当然传统设备厂商可能更倾向于BGP、NETCONF、OPFLEX等接口。

再看数据平面,数据平面可以分成交换机操作系统、硬件抽象层和交换芯片。交换机操作系统是当前网络开源的竞争焦点,开源的系统包括SONiC、FBOSS等。对硬件抽象层,现在发展比较好的是SONiC的SAI层。交换芯片目前正在向可编程的方向发展。网络的开放应该还是大势所趋,上图中左侧红色字表示的都是开源项目,可以看到开源软件已经能够实现对网络堆栈的全覆盖,标准硬件加开源软件构成的开放交换机生态也逐渐成形。

开放交换机的技术特征

周博士将开放交换机的技术特征归纳为如下三点。第一是小交换机可以组大网,即相对于原来比较复杂的大框交换机,现在用标准的小盒子也能够扩展出一张非常大的网络。第二是标准硬件加上开放控制,也即在整个的硬件体系上,如何能够构建一个更可控、更精简的网络操作系统。第三是交换芯片的可编程,对于SDN来说,芯片可编程才是最彻底的SDN,因为它已经把软件定义的边界下沉到了转发流水线的层次。下面对这三点进行详细介绍。

小交换机组大网

在谈小交换机组大网之前,先介绍一下框式和盒式交换的差别,框式交换机通过背板交换连接多块线卡,其内部的连线也是CLOS的结构。因此,一个大框可以通过小交换机进行组合构建,用小交换机的好处有如下几点:1)小交换机比较便宜,可节约成本。2)架构可扩展,因为框式交换机一旦被设计出来,它的整个数量就完全确定了。3)可控性更高,但与此同时管理的难度也会逐渐增加。下图用于比较用框式和盒式堆三层网络,对于框式交换机如果只是组几千个节点,一台框式交换机就可以搞定了,但是如果是几万个节点,就需要框式堆框式,每一个框里面至少3块芯片,一路算下来,从一端到另外一端要经过11跳,而盒式交换机组成三层网络只需要5跳,所以在时延和跳数上是有优势的。

当前盒式交换机单芯片的端口密度已经很大了,最高的12.8T(有128个100G的端口)都已经出来了,所以通过三层的CLOS就可以组一个很大的网。具体计算一下,一个2级CLOS构成基本单元POD,可以挂几千台机器,再扩展到三级CLOS,差不多可以无阻塞互联十万左右的服务器,这对于单个数据中心而言已经足够多了。三级CLOS组网的数量取决于中间层交换机的端口密度。

今年OCP,Facebook发布了最新的数据中心网络设计——F16。他的前身是几年前经典的F4组网,该组网的基本单元有48个接入交换机,4个中间层交换机,差不多每个POD可以连接1000台服务器。然后最上层的Spine交换机通过CLOS互联可以扩展互联数万台服务器的规模,并且在任意两个服务器节点之间有多条冗余路径可以做负载分担。当前最新的F16,中间层改成了16*100G的互联,最顶层的Spine交换平面有36个。如果有六栋楼的话,这种互联方式还可以将六个AZ的交换机Fabric进行全互连。

网络的开放控制

在这一部分中,周博士首先谈到了路由控制,路由控制分两种传统的路由控制和SDN路由控制。对于传统的路由控制,周博士对开源网络操作系统SONiC和Stratum进行了比较。

SONiC
对于SONiC来说,下图是一个简单的架构图,控制平面仅实现了最核心的BGP协议以保障云数据中心大规模三层网络的互通。数据平面比较核心的是SAI层,这一层目前比较重要因为它的生态发展比较好,它下面支持的芯片非常多。用户既可以用Switch.p4这样纯可编程的芯片来支持SAI,也可以通过博通、盛科等的芯片来实现SAI的接口,最终映射到物理的Chip Target。

开放交换机创新的技术中不得不提一下去堆叠技术。通常情况下,服务器为了保证高可用性,一般是双连到两台交换机上,如果有一个交换机宕机了,另外一个可以接上。上图中可以看到TOR1和TOR2之间有两条线,这两条堆叠线的作用是同步MAC、ARP等状态。为了达到高可用性,最极端的做法是把两台交换机虚拟成一台控制平面,当用户登上TOR1和TOR2时会发现它们的管理地址是一模一样的,这个虚拟程度是很高,但是额外复杂度、不稳定性也增加了。对此,阿里提出了一种比较创新的去堆叠的技术(VPC-lite),他们的想法是服务器bond口将ARP双发到两条链上,这样TOR1和TOR2就不用同步ARP表了。当链路断了,再显示地通告一下BGP。这种方式达到了原来同样的效果,但原来的堆叠线没有了,交换机也相互独立,实现方面也要简单很多。

SONiC现在已经成为OCP的一大招牌,因为OCP基本上是以硬件为主,对于软件方面,现在主推SONiC,也是目前生态最成熟的一个开放交换机操作系统,这套操作系统是微软的华人工程师创建的,设计精简前卫,它里面很多组件的模块性都比较好。在使用案例方面,微软将SONiC部署到了全球44个region,领英当前40%的数据中心大规模在使用SONiC。此外,OCP也特意强调了中国对于SONiC的贡献,由阿里牵头ODCC(中国开放数据中心联盟)专门成立了一个凤凰项目,负责SONiC在中国的推广。阿里是SONiC生产应用最早的也是规模比较大的企业。腾讯、百度包括京东也正在开展密集的验证测试,而且不久也会正式生产上线。

Stratum
SONiC和相比,Stratum的理念更偏向计算机,它是以IT的方式来管理整个CT系统,也是比较有意思的。整个设计最顶层是远端的控制器,接口端主要分成三类,一个是P4ruetime,然后就是gOMI和gNOI。g代表gRPC,而不是传统网络设备所使用的NETCONF,这可以使得策略的下发效率提升很多。下图蓝色框内便是Stratum的覆盖范围。

单独的Stratum是没有办法进行组网独立工作的,在上层它需要ONOS或者其他的控制器配合,下层是通过Trellis组件提供Fabric SDN的路由控制。这个系统是纯SDN选路,所以一旦链路端掉线,系统很快就能够响应,重新编制转发表项,由此也不存在去堆叠之类的麻烦。

Stratum项目最早是由谷歌发起的,所以谷歌在内部肯定已经大规模使用了Stratum(但是谷歌的控制器不是ONOS),整个项目预计今年6月正式开源。国内在去年12月份左右,由腾讯牵头举办了一场Stratum Developer Day,同时 UCloud、阿里、锐捷也都在积极跟进或者密切关注。

嘉宾更多的演讲内容请戳这里~~

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

银联周雍恺:开放交换机组网技术和前沿进展 的相关文章

  • 如何使用WINSCP连接windows服务器

    非常有用 xff01 xff01 xff01 xff01 xff01 xff01 前沿 winscp是一款非常好用的文件传输工具 xff0c 但往往在windows系统上 xff0c 使用是SFTP模式会出现无法连接的情况其最主要的原因 x
  • 树莓派安装Pandas

    使用pip安装 xff0c 网络问题失败 root 64 raspberrypi span class token operator span usr span class token operator span lib span clas
  • seurat自学笔记1.0 单细胞数据导入

    Python读取 h5ad文件 import anndata import pandas as pd adata 61 anndata read 34 home R R data Seurat PBMC10 output adata h5a
  • 实验室工作站配置多用户远程连接教程(亲测有效版)

    系统版本 xff1a win10 Step1 用户配置 1 1 新建用户 右键此电脑 rightarrow 管理 rightarrow 本地用户和组 右键
  • linux下ftp用wput上传目录

    ftp的put貌似不支持put目录 xff08 谁知道怎么put目录 xff1f xff09 wput可以put目录 xff0c 使用也简单 wput home test ftp ftpusername password 64 ip tes
  • bash中!和#的问题

    size 61 medium 今天执行一条shell命令 xff0c 其中包含了 64 总之是有一段以 开始 xff0c 结果报错event not found 不解 xff0c 查了shell相关资料了解到bash Shell脚本 xff
  • Windows蓝屏代码详解

    size 61 medium Windows蓝屏密码 xff01 补全版 ZT 格式是 xff1a xff08 0x0000 操作已成功完成 0x0001 错误的函数 xff09 1 停止错误编号 0x0000000A 说明文字RQL NO
  • 制作启动U盘加载阵列卡驱动

    size 61 medium 安装服务器时碰到没有阵列卡驱动无法安装的问题大家应该都碰到过 之前一次安装2003碰到没阵列卡驱动 xff0c 解决的办法比较土 xff0c 上网下了张别人做好的集成了raid驱动的2003 这次不行了 xff
  • xfs文件系统优化

    size 61 medium 网上搜集的xfs文件系统优化方案 xff0c 自己做个小结 b 先贴出优化前后的对比 xff0c 只是简单的用dd命令测试了一下而已 xff0c 不怎么专业 写和读的文件为内存2倍 b size code 61
  • Fusion-io的吸引力:高读写能力与低延迟

    fusion io ssd硬盘的性能 url http sapling me hardware fusion io html url
  • 转:python的socket编程

    python socket编程简介 xff1a python 编写server的步骤 xff1a 1 第一步是创建socket对象 调用socket构造函数 如 xff1a socket 61 socket socket family ty
  • TIME_WAIT连接过多的解决

    netstat n awk 39 tcp 43 43 S NF END for a in S print a S a 39 LAST ACK 1 SYN RECV 164 CLOSE WAIT 3 ESTABLISHED 655 FIN W
  • MySQL更改root密码

    情况一 记得root密码 用SET PASSWORD命令 1 打开终端win 43 r输入cmd回车即可打开 xff1b 2 通过mysql u用户名 p指定root用户登录MySQL xff0c 输入后回车会提示输入密码 3 修改MySQ
  • mac下控制台可以搜索到命令但是vscode显示zsh: command not found:

    记录下吧 困扰几天了 xff0c mac怎么这么难安这些环境变量什么的啊哈哈哈 node npm都是能搜到的 在控制台全局安装了yarn xff0c 控制台可以yarn v命令 xff0c 但是vscode报错zsh command not
  • 1.机器学习sklearn-------聚类

    1 sklearn简介 Scikit learn 也简称 s klearn 是机器学习领域当中最知名的 python 模块之一 sklearn库共分为6大部分 xff0c 分别用于完成分类任务 回归任务 聚类任务 降维任务 模型选择以及数据
  • KEIL编译报错,解决方法汇总

    目录 背景 最近在跟着野火码uCosiii的代码时 xff0c 感觉非常完美 xff0c 结果一编译 xff0c 报了120个莫名其妙的问题 xff0c 下面是踩过的坑 xff0c 一起记录下 xff0c 免得下次又掉进去了 1 编译汇编文
  • “从0开始的FreeRTOS”系列教程第一讲

    大家好 xff0c 这次给大家带来了Freertos的教程 xff0c 这次打算一口气做完一整个系列的教程 xff0c 大概更新频率会是月更 这个系列的教程的主要目的是带大家了解实时系统 real time operating system
  • 我的2013奋发突进

    先简单介绍自己 男 大专学历2012年6月毕业 期间2011 6月 2012 6 算是实习期 正式实习了一年 从2012 6月实习结束后 没打算在原来实习的单位呆着 换了一家公司 一直到2013年的7月末 考虑到种种原因 回归家乡了 技术篇
  • VR 杂想

    什么是VR VR xff08 科学技术 xff09 即VR xff08 Virtual Reality xff0c 即虚拟现实 xff0c 简称VR xff09 xff0c 是由美国VPL公司创建人拉尼尔 xff08 Jaron Lanie
  • 解决rosdep init错误和rosdep update错误以及ros密钥错误

    解决rosdep init错误和rosdep update错误以及ros密钥错误 如果仍无法解决下面所述问题 xff0c 欢迎留言 对于rosdep init错误有以下几种方法 1 更换软件源并更新软件包 sudo apt get upda

随机推荐

  • vscode使用技巧——webpack项目的断点调试

    为了方便调试 xff0c 我研究了一下如何使用vscode进行断点调试 本次尝试已在html template项目中测试通过 安装插件 在vscode的插件商店安装必要的插件 Debugger for Chrome 调整webpack配置
  • apt-get 源和常识

    本文内容 xff1a 1 apt get的源换成阿里或163的 2 atp get的源的常识 一 概述 安装好Ubuntu它自带源是国外的 xff0c 访问较慢 xff0c 经常会出现连接失败的情况 所以建议将它替换为国内的 xff08 如
  • 树莓派、百度DuerOS等RAW格式的镜像浏览、提取文件的方法

    前言 树莓派上装了docker等一堆东西 xff0c 要跑DuerOS的 DuerOS开发套件个人版 http open duer baidu com openduer product idk id 61 personal xff0c 有好
  • 解决Ubuntu可以ping通ip地址,不能ping通域名和浏览器无法上网的问题

    Ubuntu版本18 04 4 主要原因 原本的dns解析不行 要修改为谷歌的域名解析服务器8 8 8 8才行 并且每次关机后就会恢复默认 要添加到开机自启 1 修改配置文件 vim etc NetworkManager NetworkMa
  • Java核心技术卷1读书笔记

    Java核心技术卷1读书笔记 前言Math floorMod 前言 本笔记主要记录学习 JAVA核心技术 卷1 时遇到的问题或者心得 xff0c 若有朋友有更好的学习资源推荐请留言或联系我VX 18439428204 QQ 75107651
  • [前端基础] 浏览器篇

    提供基础用法 xff0c 基础概念引用 MDN W3C xff0c 基础内容做扩展知识 xff0c 可应对面试 xff0c 详细原理及应用需要去官网 GitHub 深入学习 1 常用 BOM 方法 BOM xff08 browser obj
  • STM32 keil5 报错:flash download failed-cortex M3解决方法

    起因 因为之前自己使用的STM32都是使用的F4 xff0c 自己打了一块STM32F1C8T6板子 xff0c 焊好之后 xff0c 打开以前正点原子的例程的时候 xff0c 出现无法烧录的情况 xff0c 总是报这样的错误 xff0c
  • Hadoop实战学习(3)-读取数据库内容

    要读取数据库中的数据 xff0c 首先需要实现一个实体类 xff0c 这个实体类部分映射数据库中要查询的表的字段 且该实体类需要实 现Writable与DBWritable两个接口 xff0c DBWritable的实现类负责查询与写入 x
  • 消失点(灭点、Vanishing Point)

    目录 定义 xff1a 性质 xff1a 消失点分为3种 一条直线的消失点是过摄影中心且平行于该直线的直线与像平面的交点 地面物体的两个消失点的连线为水平线 xff0c 提供地平线的信息 应用 xff1a 计算焦距和图像中心 求像心 求焦距
  • window.performance.timing 字段说明和主要性能指标

    window performance是W3C性能小组引入的新的API xff0c 目前IE9以上的浏览器都支持 字段说明 xff1a connectStart 和 connectEnd 分别代表TCP建立连接和连接成功的时间节点 domCo
  • C++中的private, public, protected

    0 概述 数据隐藏是C 43 43 面向对象编程的重要特征之一 xff0c 它允许我们隐藏对象内部细节即数据成员 xff0c 防止程序的函数直接访问一个类对象的内部表示 数据成员和成员函数 对类成员函数的访问限制由访问修饰符指定 访问修饰符
  • 数据链路层设计要点

    数据链路层保证数据在两台机器间进行可靠 有效的通信 需要考虑传输错误 xff08 检错 纠错等 xff09 延迟等问题 因此 xff0c 其功能可概括为 xff1a 1 向网络层提供一个定义良好的服务接口 xff1b 2 处理传输错误 xf
  • 由NT Service中调用SendInput模拟键盘鼠标事件了解到的

    TODO
  • 远程连接之ssh的使用(日志监控)

    ssh的简介 ssh服务 Secure Shell xff1a SSH 为建立在应用层基础上的安全协议 SSH 是较可靠 xff0c 专为远程登录提供服务 解决的问题 xff1a 对服务器的远程控制 xff0c 远程操作 ssh服务是安全的
  • 基于润和hi3516 dv300开发板,体验鸿蒙3.0 L1小型系统拍照Sample

    背景 xff1a 希望能在润和hi3516 dv300开发板上 xff0c 体验拍照功能 前段时间花了一段精力 xff0c 好不容易在润和hi3516 dv300上烧录了L2系统 xff0c 并跑成功了ArkUI应用 xff0c 详见 xf
  • 集群故障处理之处理思路以及健康状态检查(三十三)

    前言 按照笔者的教程 xff0c 大家应该都能够比较顺畅的完成k8s集群的部署 xff0c 不过由于环境 配置以及对Linux k8s的不了解会导致很多问题 异常和故障 xff0c 这里笔者分享一些处理技巧和思路 xff0c 以及部分常见的
  • ElasticSearch集群日志限制问题

    本文是基于CentOS7的环境下使用rpm包安装进行说明 ELK的默认日志记录会增长很多 xff0c 除ElasticSearch外 xff0c 都会无限增长 xff0c 长时间运行可能带来灾难性的后果 xff08 如 xff1a 节点宕机
  • 集群故障处理之处理思路以及听诊三板斧(三十四)

    前言 本篇主要分享一些处理故障和问题绝招 xff0c 比如听诊三板斧 xff1a 1 xff09 查看日志 2 xff09 查看资源详情和事件 3 xff09 查看资源配置 xff08 YAML xff09 如果还是不太好分析 xff0c
  • maven打包根据指定参数,自定义war包名称

    首先定义如下参数 xff1a lt profile gt lt id gt front lt id gt lt properties gt lt rp build warname gt front lt rp build warname g
  • 银联周雍恺:开放交换机组网技术和前沿进展

    在第三届未来网络发展大会SDN NFV技术与应用创新分论坛上中国银联电子商务与电子支付国家工程实验室周雍恺博士 xff0c 发表了主题为 开放交换机组网技术和前沿进展 的主题演讲 本次演讲内容主要有三大部分的内容 xff0c 第一部分是开放