创新研发负载分担机制,天翼云IPv6网络带宽再升级!

news2024/11/26 8:27:52

网络作为社会信息化的基础,已成为人们日常生活不可或缺的一部分。网络通过模拟信号将信息转为电流进行传播,在这个过程中,网卡便充当了解码器的作用,能够将电信号转换为计算机能够识别的数字信号。

网卡,即网络接口卡,也称为网络适配器,是连接计算机与网络的硬件设备,也是局域网最基本的组成部分之一。网卡作为通信的桥梁,主要有以下两个功能:

▍读入网络设备传输过来的数据包,经过拆包,将其变成计算机可识别的数据,并将数据传输到所需设备中;

▍将计算机发送的数据,打包后输送到其他网络设备中。

一个网卡有一个或多个网口,每个网口的带宽是固定的。在实际组网中,部署人员会充分考虑链路备份、负载分担等功能,以便某一个网口出现问题时,链路可以正常工作。在实际操作中,为了圆满解决上述问题,业内会使用到bond接口,也就是聚合接口。那么什么是bond口呢?

bond口就是把多个物理网络接口绑定到一起,使它们像一个网络接口,形成一个逻辑接口。而bond接口的逻辑层分为master接口和slave接口,其中master接口即bond口,slave口即加入bond的物理网络接口。正因如此,bond接口拥有“提升接口带宽、实现链路备份、实现负载分担”等优势。

由于历史原因,资源池中还存在大量bond6机器,天翼云基础架构事业部内核团队对此进行了大量优化工作。

什么是bond mode6?

bond mode6指balance-alb (适应性负载均衡),其特点是成员口对外呈现的是独立接口,在交换机侧不需要进行特殊处理。

如下图所示,在Host1上有一个bond接口,其中slave1、slave2为其成员口,其mac地址分别为A和B,左侧为其他两台机器,Host2、Host3,中间的虚线表示中间链路。对于bond6来说,在Host2上保存的针对于bond1ip地址的mac地址为A,在Host3上保存的针对于bond1 ip地址的mac地址为B。

bond6负载分担机制

bond6的主要功能点可以分为发送和接收两个部分,tlb是发送方向负载分担,rlb是接收方向负载分担。

tlb机制的实现是基于发送方向的负载分担,也就是针对不同的报文,如何选择发送接口的问题。对于一条数据流的初始选择是由成员口的负载决定的,一般选择负载较小的成员口作为发送口,并与目的ip的hash值绑定。在正常使用时,直接根据ip地址的hash值进行取值,获取成员口。同时,该绑定关系在一定周期内会进行刷新,默认10s进行对应关系的清除,并重新进行选择绑定。tlb不区分IPv4和IPv6,都是基于以上方式实现。

对于rlb,也就是接受方向的负载分担,是根据报文发送的原理,基于邻居表项的实现机制,利用arp来实现。也就是说,在进行arp交互时,当arp reply报文走到slave接口时,会将当前slave接口的mac地址填充到arp报文中,作为源mac发送到对端,以此达到控制对端邻居表项的目的。

当前机制存在的问题及天翼云的改进

当前的rlb只针对IPv4有效,但随着IPv6的应用,rlb同样也需要支持IPv6。当前的效果如下图所示,在Host2和Host3上面,针对bond1的IPv6地址,保存的mac地址都为slave1的mac A,所以针对IPv6接收方向的带宽只是其中一个成员口的带宽,浪费了带宽资源。

为实现IPv6rlb,天翼云对当前机制进行了创新,在ns、na报文进行交互时,会根据成员口接口带宽进行接收接口的选择,对于同样带宽的成员口会进行轮询。接口选择完成后,与目的ip的hash值进行绑定,并将目的mac、目的ip、成员口信息保存到client_info中,同时也将成员口的mac地址填充到lladdr。与IPv4相似,IPv6rlb也需要有刷新机制,使用na报文时,根据相应的client_info信息,在对应成员口上面发送na报文,从而使对端client更新邻居信息。IPv6的刷新时机如下所示:接收到na报文时、成员口状态变化时、成员口加入、退出,以及mac地址变化时都需要进行刷新。

IPv6rlb最终实现的结果与当前IPv4的结果类似,在不同的client上面,针对于bond1的IPv6地址,保存不同的mac地址,这样在不同的client发送流量到bond1时,会走不同的成员口。该功能实现后,针对IPv6流量,可以增加接收方向的带宽。

天翼云对于IPv6增加接收方向的接口带宽,比如对于两个10G成员口的bond接口,进行优化后效果显著。对于IPv6报文,接收方向的带宽为10G,优化后则能够达到20G。而在此机制创新之前,如果想要达到IPv6接收方向20G的带宽,需要使用两个20G的网口作为bond的slave接口,无疑增加了成本。得益于天翼云的机制创新,企业能够实现对网卡、网络以及算力资源的高效利用,在进一步优化网络性能的同时,节省带宽资源,实现降本增效,制胜IPv6时代。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/88981.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于LabVIEW大作业/课设/论文的写作框架整理(主体三部曲)

文章目录 一、前言二、写作框架2.1 介绍函数以及工具箱2.2 介绍相关原理2.3 系统设计和案例演示三、总结一、前言 因为在Labview临近要交大作业,发现自己根本不会写,程序等的已经准备好了,但是对于写作一直不知道查了查知网文章,让我有了个大概了解,在此帖出来,希望能帮…

1569_AURIX_TC275_电源管理与系统控制单元

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 之前看了不少类似的寄存器信息,总体来说阅读价值不是很大,查询的价值多一些。如果是进行编码,这样的寄存器信息需要查一下,在功能了解的时候…

java面试强基(22)

为什么要使用多线程呢? 先从总体上来说: 从计算机底层来说: 线程可以比作是轻量级的进程,是程序执行的最小单位,线程间的切换和调度的成本远远小于进程。另外,多核 CPU 时代意味着多个线程可以同时运行,这减少了线程…

漏洞丨实例分析cve2012-0158

作者:黑蛋 作者:黑蛋 一、漏洞简介 CVE-2012-0158是一个office栈溢出漏洞,Microsoft Office 2003 sp3是2007年9月18日由微软公司创作的一个办公软件,他的MSCOMCTL.ocx中的MSCOMCTL.ListView控件检查失误,由于读取长…

MySQL数据库Linux系统安装tar包

MySQL数据库Linux系统安装tar包 使用的远程工具是mabaxterm,使用此工具连接linux服务器, 第一步先把mysql安装包拖到远程工具的目录里:/usr/local 第二步:cd到local目录下解压数据库mysql 命令: cd …/usr/local 解压数据库masq…

endo BCN-PEG4-COOH,1881221-47-1,endo BCN-四聚乙二醇-羧酸特点分享

●外观以及性质: endo BCN-PEG4-acid含有BCN基团和羧酸基团,酸基团可以在偶联条件下与胺反应形成酰胺键。BCN基团可以发生点击化学反应。 【产品理化指标】: ●中文名:endo BCN-四聚乙二醇-羧酸 ●英文名:endo BCN-P…

APS智能排产帮助LNG船舶生产厂家充分利用产能,提升生产效益

前一段时间,由于欧洲各国集中储备天然气准备过冬,引发全球对LNG船舶,也就是液化天然气运输船的需求持续增加。一艘LNG船单日租金成本已跃升至近40万美元(约合人民币283万元),同比增长340%以上,一…

测试面试 | 某 BAT 大厂测试开发面试真题与重点解析

image1080677 64.8 KB 本文作者 J2W 为霍格沃兹测试学院《测试开发实战进阶》班优秀学员,4 个多月从初出茅庐、勉勉强强的初级测试开发快速成长,成功拿下某 BAT 大厂中级测试开发岗位 Offer,并获得学院奖学金。助教老师对其一致评价是「学习非…

程序人生:自学上岸自动化测试薪资20K,我的经验值得想进阶的朋友借鉴...

经常有人问过这样一个问题:‘’自动化测试是真的这么厉害吗?如何从零成为自动化测试工程师?” 我之前写过这样一篇文章【从功能测试进阶自动化测试,熬夜7天整理出这一份超全学习指南【附网盘资源】】 厉害不厉害在于你有没有扎实…

java-爬虫-es

文章目录1.数据来源:数据库、mq、爬虫2.爬虫:获取想要的页面数据1.导入依赖2.爬取核心部分编码3.测试解析成功4.封装对象5.引入es配置类6.将HtmlParseUtil注册到spring7.爬取的数据入es库8.空白文件初始化vue文献:https://www.kuangstudy.com…

Java程序员的技术进阶成长路线

据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大。那么,作为一名Java初级程序员,怎…

【财务】FMS财务管理系统:礼品卡管理

本文总结了FMS财务管理系统中的礼品卡管理,以及如何根据不同类型卡的流程和管理,进行相应的账务处理。 目前在各大电子商务网站或APP购买商品时,在支付时有很多网站都可以使用礼品卡,对于礼品卡的管理也是公司及财务部重点关注的&…

[附源码]Nodejs计算机毕业设计基于WEB的心理测评系统Express(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程。欢迎交流 项目运行 环境配置: Node.js Vscode Mysql5.7 HBuilderXNavicat11VueExpress。 项目技术: Express框架 Node.js Vue 等等组成,B/S模式 Vscode管理前后端分…

Django期末考试复习

目录一、Django复习内容二、建立一个项目1.进入环境2.建立项目3.打开文件三、建立APP1.进入View文件2.进入Django环境3.建立App四、注册超级用户1.INSTALLED_APPS配置2.建立模型3.数据库的迁移4.进入环境注册超级用户5.开启服务器五、配置数据库一、Django复习内容 二、建立一个…

【云原生进阶之容器】第一章Docker核心技术1.4节——chroot技术

1. 背景 1.1 什么是 chroot chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以 `/`,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为 `/` 位置。 1.2 为何使用 chroot 在经过 chroot 之后,…

git merge 命令详解

1. 前言 2. 合并场景之 Fast-forward(快速合并) 3. 合并场景之 three way merge(三路合并之正常合并) 4. 合并场景之 three way merge(三路合并之冲突合并) 5. 中止合并 1. 前言 将指定分支合并到当前分支…

继承中国元宇宙之父钱学森先生“灵境”的概念产物—XR电影《告别核桃》代表了什么?

元宇宙大家都不陌生吧,那么你听说过“灵境”吗?你知道“灵境”与元宇宙XR影片《告别核桃》有什么关系吗?在2021年12月9日举行的2021元宇宙产业论坛上,钱学森线上30年前55份珍贵的手稿曝光。原来早在1990年,钱学森就曾在…

MATLAB高通滤波与低通滤波GUI实现代码

1.需搭建的GUI界面 两个axes,一个用于导入原始图像,一个用于输出处理后的头像,并且记好他们的Tag,在代码里会用到 2.导入图片功能代码实现 给一个String为导入图片的button添加callback函数,在这里提供了多种方法 f…

订单增2倍?如何利用促销手段瞄准圣诞季高意向顾客?

圣诞节作为一个类似于中国春节的节日,在12月的最后一周拉开帷幕,据有关业内人士称,作为拥有众多全球站的亚马逊电子商务平台在此次圣诞节的促销狂欢节中表现似乎稍显停滞,其作为电商领域的龙头企业,没能守住其销售总额…

C++对象的初始化和清理,构造函数,析构函数,深拷贝,浅拷贝,初始化列表,静态成员变量,静态成员函数

目录 1、构造函数和析构函数 2、构造函数的分类及调用 3、拷贝构造函数的调用时机,什么时候会用到拷贝构造函数 4、构造函数的调用规则 4.1只要写了一个类,C编译器都会给每个类至少添加三个函数 4.2如果我们写了有参构造函数,编译器就不再…