CN116055007B - 一种mac直连交换芯片速率匹配装置及方法 - Google Patents
一种mac直连交换芯片速率匹配装置及方法 Download PDFInfo
- Publication number
- CN116055007B CN116055007B CN202310257097.3A CN202310257097A CN116055007B CN 116055007 B CN116055007 B CN 116055007B CN 202310257097 A CN202310257097 A CN 202310257097A CN 116055007 B CN116055007 B CN 116055007B
- Authority
- CN
- China
- Prior art keywords
- data stream
- data
- mac
- module
- speed limiting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000000670 limiting effect Effects 0.000 claims abstract description 66
- 238000012545 processing Methods 0.000 claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 28
- 238000012805 post-processing Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 238000009482 thermal adhesion granulation Methods 0.000 description 47
- 238000010586 diagram Methods 0.000 description 28
- 238000004891 communication Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000003139 buffering effect Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 101100283411 Arabidopsis thaliana GMII gene Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/20—Traffic policing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及计算机MAC芯片领域,公开了一种MAC直连交换芯片速率匹配装置及方法。所述装置包括:TQ模块,设置于MAC芯片内部,用于根据从主机端接收的数据流的报文获取数据流的TAG值,并根据TAG值确定目标限速单元并通过目标限速单元对与TAG值对应的数据流进行限速处理,以及将限速后的数据流发送至Switch芯片,使Switch芯片根据TAG值确定目标GE接口并通过目标GE接口发出限速后的数据流。硬件实现的TQ发送队列对MAC芯片中TXring队列个数没有要求,适用范围更广,而且在CPU核、TXring队列、GE接口间实现了解耦合,能够根据缓存模块中的缓存数据恢复数据传输过程中丢失的数据。
Description
技术领域
本申请涉及计算机MAC芯片技术领域,特别地涉及一种MAC直连交换芯片速率匹配装置、方法、存储介质、计算机程序产品以及电子设备。
背景技术
此处提供的背景技术描述的目的是总体地给出本申请的背景,本部分的陈述仅仅是提供了与本申请相关的背景,并不必然构成现有技术。
在当前应用丰富多样及网络的普及下,人们对网络安全设备多接口和其稳定性的要求越来越高。为满足同一MAC(媒体接入控制层Media Access Control Layer,简称MAC)芯片可以同时引出多个以太接口以及降低成本需求,很多供应商开始采用MAC芯片连接交换芯片(Switch)的方案来涉及对外扩展接口。
在现有的硬件设计中大都采用MAC芯片与Switch芯片直连的方式(比如可以通过各种GMII接口连接)在Switch芯片上直接引出多个接口,可参考附图1,图1为一种现有方案的对外扩展接口的结构示意图。其中,图1中的MAC芯片和交换芯片之间的通道XGMII为内部通道,带宽为10Gbps,对外不可见;图1中Switch芯片的GE0,GE1,…,GEn等接口为对外直出面板口,每个GE接口的带宽为1Gbps。
现有方案在运行环境中会存在由于MAC芯片和Switch芯片间连接通道传输速率与交换芯片面板口速率不匹配导致硬件丢包问题。以图1为例,当后端通道最大发送速率为10Gbps,Switch芯片直出面板口发送速率为1Gbps时,后端通道速率和前端面板口速率不一致,瞬时流量可能会达到10Gbps,从而由于发送的网口速率达不到,而造成硬件丢包问题。
另外,由于CPU本身时间片调度原因,使得这个问题更加常见,CPU时间调度可参考图2,图2为一种CPU时间片调度的示意图。当CPU通过后端通道以1G速率向面板口发包时,虽然从应用程序的宏观角度看,发送数据包的速度为1G/s,但是,由于CPU是将时间段划分成时间片,由应用程序轮转执行的,可能应用程序有效的发送数据包时间段刚好为10ms,从而使得应用发往某GE接口的瞬时发送速度达到1G/10ms,即100Gbps。此时,就会发生后端通道发往某GE接口的发包瞬时速率会存在超过1G的情况,但面板GE接口最大发送速率只能为1G,此时会出现在硬件发送侧丢包问题。
发明内容
针对上述问题,本申请提出一种MAC直连交换芯片速率匹配装置、方法、存储介质、计算机程序产品以及电子设备。通过只使用一个硬件队列,借助复用交换驱动在发包时添加的VLANTAG,硬件队列会根据发送TAG的进行限流,即可实现限速而不用占用过多的硬件资源,解决了MAC芯片与Switch芯片间速率不匹配的问题。
本申请的第一个方面,提供了一种MAC直连交换芯片速率匹配装置,所述装置包括:
TQ模块,设置于MAC芯片内部,用于根据从主机端接收的数据流的报文获取所述数据流的TAG值,并根据所述TAG值确定目标限速单元并通过所述目标限速单元对与所述TAG值对应的数据流进行限速处理,以及将限速后的数据流发送至Switch芯片,以使所述Switch芯片根据所述TAG值确定目标GE接口并通过所述目标GE接口发出所述限速后的数据流;
其中,所述TQ模块包括:
VLAN TAG识别单元,用于根据所述数据流的报文获取TAG值并将所述TAG值发送至所述TQ模块,以使所述TQ模块根据所述TAG值确定目标限速单元并通过所述目标限速单元对与所述TAG值对应的数据流进行限速处理;
限速单元,用于根据预设限速策略对所述数据流进行限速处理;
限速后处理单元,用于根据预设后处理策略对超出预设流量阈值的数据流进行后处理。
进一步的,所述限速单元包括:
多个限速窗口,每个限速窗口均用于对与特定TAG值对应的数据流进行限速处理。
进一步的,所述装置还包括与所述TQ模块电连接的缓存模块,所述缓存模块包括第一缓存单元和第二缓存单元,其中,
第一缓存单元,用于保存丢失的数据包个数和所述数据流的报文数据;
第二缓存单元,用于保存超出预设流量阈值的数据流的报文的长度、丢包时间、以及MAC芯片中发出所述数据流的TX ring的ID。
进一步的,所述装置还包括:
数据读取接口,与所述缓存模块电连接,用于通过所述数据读取接口读取所述缓存模块中的缓存数据,以根据所述缓存数据恢复所述主机端发送的完整数据流。
本申请的第二个方面,提供了一种MAC直连交换芯片速率匹配方法,所述方法包括:
根据接收到的数据流的报文获取所述数据流的TAG值;
在预设时长内接收到的数据流不满足预设条件的情况下,根据预设限速策略对所述数据流进行限速处理获得限速后的数据流,以及根据预设后处理策略对超出预设流量阈值的数据流进行后处理;
根据所述TAG值确定目标GE接口,并通过所述目标GE接口发出所述限速后的数据流。
进一步的,所述根据预设后处理策略对超出预设流量阈值的数据流进行后处理,包括:
将所述超出预设流量阈值的数据流保存在缓存模块中。
进一步的,还包括:
通过所述缓存模块的数据读取接口读取所述缓存模块中的缓存数据,以根据所述缓存数据和所述限速后的数据流恢复主机端发送的完整数据流。
本申请的第三个方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储的计算机程序,可被一个或多个处理器执行,用以实现如上所述方法的步骤。
本申请的第四个方面,提供了一种计算机程序产品,所述计算机程序产品包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现如上所述方法的步骤。
本申请的第五个方面,提供了一种电子设备,包括存储器和一个或多个处理器,所述存储器上存储有计算机程序,所述存储器和所述一个或多个处理器之间互相通信连接,该计算机程序被所述一个或多个处理器执行时,实现如上所述方法的步骤。
与现有技术相比,本申请的技术方案具有以下优点或有益效果:
本申请所公开的技术方案软件资源占用较少,硬件实现的TQ发送队列,对MAC芯片(即网卡)中的TX ring队列个数没有要求;适用范围广,比如可适用于一些支持TX ring队列数量特别少的低速网卡;通过引入TQ硬件队列根据数据包的TAG进行网口区分,从而使CPU核、TX ring队列、GE接口之间的关系实现了完全的解耦合;CPU核、网卡发送队列、GE接口之间的对应关系变成1:M:N(M为网卡中TX ring队列的个数,N为交换机的网口个数),也即没有限制对应关系,具体可以根据实际需求进行适应性调整;还能根据缓存模块中的数据够恢复数据传输过程中丢失的数据。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于所属领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关本公开相关的部分。构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请中的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定,在附图中:
图1为一种现有方案的对外扩展接口的结构示意图;
图2为一种CPU时间片调度的示意图;
图3为一种CPU和网卡发送数据包全过程的示意图;
图4为本申请实施例提供的一种用于解决MAC直连交换芯片速率不匹配的软件方案的系统结构示意图;
图5为本申请实施例提供的一种MAC直连交换芯片速率匹配装置的结构示意图;
图6为本申请实施例提供的另一种MAC直连交换芯片速率匹配装置的结构示意图;
图7为本申请实施例提供的一种发送报文经过各模块的流程示意图;
图8为本申请实施例提供的一种MAC向Switch发送报文的流程图;
图9为一种VLAN TAG在数据包中的结构示意图;
图10为一种固定时间窗口限流算法的流程图;
图11为一种固定时间窗口限流的示意图;
图12为一种滑动时间窗口限流的示意图;
图13为另一种滑动时间窗口限流的示意图;
图14为一种改进的滑动时间窗口限流示意图;
图15为另一种改进的滑动时间窗口限流示意图;
图16为本申请实施例提供的一种数据包流向与反压处理的示意图:
图17为本申请实施例提供的一种数据包流向与丢包处理的示意图;
图18为本申请实施例提供的一种MAC直连交换芯片速率匹配方法的流程图;
图19为本申请实施例提供的一种电子设备的连接框图。
具体实施方式
以下将结合附图及实施例来详细说明本申请的实施方式,借此对本申请如何应用技术手段来解决技术问题,并达到相应技术效果的实现过程能充分理解并据以实施。本申请实施例以及实施例中的各个特征,在不相冲突的前提下可以相互结合,所形成的技术方案均在本申请的保护范围之内。
以下,先对本申请实施例和/或现有技术中的部分技术用语进行解释说明,以便于所属领域技术人员理解本申请的技术方案:
MAC:媒体接入控制层(Media Access Control Layer,简称MAC),位于数据链路层,在本申请中指实现此层功能的硬件,常见有网卡内部组件为代表;
网卡:即MAC芯片,早期的计算机都是单核,但随着半导体技术的发展,处理器上的核数不断增加,就导致单个处理器不足以满足高速网卡快速处理的需求。因此,引入了多队列技术,可以将各个队列通过绑定到不同的核上来满足高速流量的需求。网卡的队列即ring,往往是成对出现的,即由一个RX ring(接收队列)和一个 TX ring(发送队列)组成。
Switch:交换芯片,常见有二层交换机为代表;
后端:在本申请中将MAC侧称为后端;
后端通道:在本申请中指MAC和Switch间通道;
前端:在本申请中将交换芯片直出面板称为前端;
GE接口:千兆以太网接口(Gigabit Ethernet,简称GE),千兆以太网是建立在基础以太网标准之上的技术,千兆以太网和大量使用的以太网与快速以太网完全兼容,并利用了原以太网标准所规定的全部技术规范;
队列:队列是一种常见的数据结构(Data Structure),它的存储采用的是线性表的线性存储的原则,操作则采用的FIFO(first in first out,先进先出)原则;新元素(等待进入队列的元素)总是被插入到队列的尾部,而读取的时候总是从队列的头部开始读取;
ring:ring是一个逻辑上的环形队列;在实际存储时,可以是一段连续的存储空间;有一个Head和Tail指针记录当前头部/尾部存储的位置,一个ring由多个node存储块组成,每个node都代表一个数据包,这些node是可以重复利用的,从ring的头开始循环到尾巴后有跳转到头部,形成一个环形可以无限循环;
TX ring:网卡内部的发送队列;
TQ:发送队列(Transmit Queue,简称TQ),为本申请公开的一个硬件模块,用来存储由MAC芯片发送给Switch芯片的数据包,并实现限速的作用;
MII:媒体独立接口(Medium Independent Interface,简称MII),也可称之为介质无关接口,它是IEEE-802.3定义的以太网行业标准,包括一个数据接口,以及一个MAC和PHY之间的管理接口;
XGMII:在以太网标准中,MAC层与PHY层之间的10Gbps/40Gbps/100Gbps速率等级所对应的接口分别为XGMII/XLGMII/CGMII。
实施例一
本实施例提供一种MAC直连交换芯片速率匹配方法,在本实施例中根据网卡支持网卡多队列和支持网卡限速(对每个ring)来解决丢包的问题。
在网卡中,主要分为RX ring和TX ring两种缓存,分别用于负责接收数据和传输数据。在本申请中主要讨论数据包发送流量,因此,在下文中所提及的ring均为TX ring。
在网卡上,引入多个软件队列TX ring[0...n],这里所述的一个TX ring就是网卡内部和驱动程序共同维护的一个发送数据包的Ring Buffer。其个数可以由驱动程序动态配置。但是,一般特定的网卡,有最大TX ring个数的限制。
请参考图3,图3为一种CPU和网卡发送数据包全过程的示意图。显示了一个安装有PCIe网卡的Linux系统,发送数据包的全过程。驱动层有一个Ring Buffer,网卡内部也有一个对应的TX ring相关寄存器来维护这个驱动层的Ring Buffer。
传统的网卡通常都可以通过对TX ring相关寄存器、状态的管理和控制,来实现对该队列的流量管理。但是,软件限速的限制在于:必须以一个TX ring为管理单位来实现限速。所以,在具体的方案中有多少个GE接口,在网卡上就必须申请使用多少个TX ring队列。
作为一个示例,具体可包括以下步骤:
步骤1、配置多队列模式,将后端MAC芯片配置为多队列模式,队列个数与交换芯片直出面板口个数相同;
步骤2、配置发送队列对应关系,将每个收发队列与交换芯片直出面板口一一对应,如图4中的虚线部分;其中,图4为本申请实施例提供的一种用于解决MAC直连交换芯片速率不匹配的软件方案的系统结构示意图;
步骤3、配置队列限速功能,初始化配置后端发送队列与它对应的交换芯片直出面板口速率相同,实时保证后端发送队列与它对应的交换芯片直出面板口速率相同,即当修改面板口速率时,需要同步配置修改面板口对应发送队列接口,其发送速率与面板口保持一致;
步骤4、完成上述步骤后,在CPU通过网卡向外发送报文时,可以通过发送队列速率与前端面板接口速率保持一致来解决丢包问题。
本实施例所公开的MAC直连交换芯片速率匹配方法,不需要引入额外的硬件电路,即可实现交换机GE接口的限速,解决了丢包问题;由于所涉及到的网卡要求普遍都能满足,因此使用范围较广;通过引入TX ring,使用网卡自带的限速功能,限速效果更加准确、有效。
实施例二
本实施例提供一种MAC直连交换芯片速率匹配装置。借助于本实施例所公开的装置,无需将每个Switch芯片上的GE接口,都对应一个MAC芯片(网卡芯片)上的TX ring队列;适用范围广,可应用于某些低速网卡,如Intel的I210网卡;不对CPU核、网卡发送队列、GE接口之间的对应关系做过多的限制。
作为一个示例可参考图5,图5为本申请实施例提供的一种MAC直连交换芯片速率匹配装置的结构示意图。如图5所示,本实施例所公开的装置500包括:
TQ模块501,设置于MAC芯片内部,用于根据从主机端接收的数据流的报文获取所述数据流的TAG值,并根据所述TAG值确定目标限速单元并通过所述目标限速单元对与所述TAG值对应的数据流进行限速处理,以及将限速后的数据流发送至Switch芯片,以使所述Switch芯片根据所述TAG值确定目标GE接口并通过所述目标GE接口发出所述限速后的数据流。
进一步的,还可参考图6,图6为本申请实施例提供的另一种MAC直连交换芯片速率匹配装置的结构示意图。参考图6,在本实施例中所公开的一种使用场景包括:MAC发送报文的最大带宽为10G(也即MAC芯片与Switch芯片之间通路的最大带宽为10G),Swtich的每个GE接口的带宽为1G。其中,图6中的虚线表示,与该TAG值对应的数据流最终将会通过虚线箭头所指的GE接口发出。
需要说明的是,数据包在进入MAC之前,数据包的报文已经由驱动程序做一个TAG标记(具体字段可以复用标准的VLAN TAG),来标记具体走哪个GE网口。
作为一个示例,可参考图7和图8,其中,图7为本申请实施例提供的一种发送报文经过各模块的流程示意图,图8为本申请实施例提供的一种MAC向Switch发送报文的流程图。
主机端的网卡驱动程序通过启动DMA等手段,将要发送的数据报文,拷贝到MAC芯片对应的TX ring中,用于后续处理、发送。驱动程序除了拷贝报文数据,还会更新网卡用于管理TX ring的相关寄存器的值,如使该ring中的元素个数寄存加1,或者将其队列的Tail值更新。
现有技术下,MAC芯片可以同时轮询多个网卡的TX ring,从需要发送的报文中挑一个优先级最高的,发送到Switch芯片。本申请实施例所公开的TQ模块501复用了上述功能,相当于在多ring和MAC芯片的出口之间,做了一层中间处理。
参考图7,在本申请实施例中,ring与TQ模块501之间进行通信,具备以下特征:
与TXring队列共享存储:要发送的报文数据存储在MAC芯片的TXring上,为了保证处理的高效性,同时节省存储单元,TQ模块501直接复用该存储空间,需要时,直接在TXring的存储空间上,对数据包进行处理,处理完成,再交由相关控制程序,将报文发送到MAC芯片出口,或者按“限速后处理”的相关操作进行处理;
轮询TXring队列状态:由于MAC芯片有多个队列,同时有多个对应的队列管理寄存器,为了确保队列能够将报文及时发送出去,TQ模块501还复用MAC芯片的轮询模块的功能,即不断的轮询所有队列的发送状态寄存器;比如,某队列TXring,有需要发送的数据报文时,只需要将其发送状态寄存器置有效位,然后,该寄存器状态被TQ模块501轮询到,就会开始对该报文进行相关处理。可选的,在数据包进入到MAC后,打上TAG的数据包先通过TQ模块501进行处理。
在一些实施例中,所述TQ模块501包括:
VLAN TAG识别单元,用于根据所述数据流的报文获取TAG值并将所述TAG值发送至所述TQ模块501,以使所述TQ模块501根据所述TAG值确定目标限速单元并通过所述目标限速单元对与所述TAG值对应的数据流进行限速处理;
限速单元,用于根据预设限速策略对所述数据流进行限速处理;
限速后处理单元,用于根据预设后处理策略对超出预设流量阈值的数据流进行后处理。
在一些实施例中,所述限速单元包括:
多个限速窗口,每个限速窗口均用于对与特定TAG值对应的数据流进行限速处理。
802.1Q VLAN只定义了数据帧的封装格式,即,在以太网帧头中插入了4个字节的VLAN字段。其主要内容包括:VLAN TAG,紧随其后的数据类型和802.1p报文优先级的标识,具体可参考图9,图9为一种VLAN TAG在数据包中的结构示意图。VLAN TAG在网络软、硬件之间,会自动添加、赋值、删除。我们可以复用其中的VLAN ID字段,作为发往Switch芯片的GE接口ID。
作为一个示例,在TQ模块501中具体可进行以下处理操作:
在TQ模块501中的限速后处理单元中,每一个TAG值都定义了一个流量管理窗口来限速(具体可参见下文的限速策略),以此来达到限速;
TQ模块501中的限速后处理单元,完成对超流量的数据包可以采用不同的处理策略(如丢包、反压等操作)。
在一些实施例中,Switch芯片包括:
VLAN TAG分流单元,用于根据所述TAG值从所述Switch芯片的多个GE接口中确定用于发出所述限速后的数据流的目标GE接口。
进一步的,按照VLAN TAG的不同,控制不同的数据包从Switch芯片的不同GE接口发出。
可选的,本实施例在进行限速时公开了两种限速策略:固定时间窗口限流策略和滑动时间窗口限流策略。
固定时间窗口是一种实现简单的限流算法,将时间序列按顺序分成相互接连的固定大小的时间窗口。对当前所在的一个固定的时间窗口内的数据流量(数据字节数大小)进行统计,如果超过预设流量阈值,将被直接丢弃。所以,统计对应的固定大小内的流量,一定是限流成功,没有超过阈值。具体可参考图10,图10为一种固定时间窗口限流算法的流程图。
可选的,预设流量阈值可根据实际需求进行选择,比如可将预设流量阈值设为100(单位可为MB、KB、Byte等)。
作为一个示例,固定时间窗口限流策略可参考图11,图11为一种固定时间窗口限流的示意图。如图11所示:
在10t-20t这个时间窗内:数据流量是60,小于预设流量阈值100;所以,这个时间窗内的所有数据均可以通过;
在20t-30t这个时间窗内:数据流量是80,小于预设流量阈值100;所以,这个时间窗内的所有数据均可以通过;
在30t-40t这个时间窗内:数据流量是120,大于预设流量阈值100;其中,在这个时间窗内有20(120-100=20)单位大小的数据不能通过。
需要说明的是,在实际限流的过程中,请求量为待发送的数据包的字节数,每成功发送一个数据包,counter计数变量会将该数据包的字节数累加起来,即counter =counter + req。当某个包,使counter值到达阈值边界时,(即未发送该包counter的值未超过阈值,但如果发送该包,counter会超过阈值)。此时,可以采用灵活的策略,根据该包的大小,选择发送该完整的包,或直接丢弃该完整包。之所以采用字节数来作为req值对流量进行限制,是因为使用字节数对数据包进行限速更加准确。
作为另一个示例,滑动时间窗口限流策略可参考图12和图13,其中,图12为一种滑动时间窗口限流的示意图,图13为另一种滑动时间窗口限流的示意图。具体的:
参考图12,从虚线位置往前推一个时间窗口,判断该时间窗口内数据流量是否大于预设流量阈值,如果小于预设流量阈值,则允许访问。比如:在分析点1对应的滑动时间窗口内,共有80单位的数据,即req=80,此时并没有超过预设流量阈值100,则全部通过,则counter为80。
参考图13,从虚线位置往前推一个时间节点,判断该时长内的数据流量是否大于预设流量阈值,如果大于预设流量阈值,则该时间点的请求被拦截。比如:在分析点2对应的滑动时间窗口内,共有108单位的数据,即req=108,此时由于超过了预设流量阈值100,在这种情况下就有8(108-100=8)单位大小的数据不能通过,则counter此时为100。
滑动时间窗口算法实现了对任意时间段内的数据流量进行判断,能够保证任意时间段内的数据流量均不超过预设流量阈值。
进一步的,在前述两种限速策略的基础上,本实施例还公开了一种改进滑动时间窗口限流策略。具体的:
参考图14,每个时间窗100t,将该时间窗(100t-200t)均分为4段子时间窗,其中每段子时间窗25t,每段对应一个统计数组元素。比如,子时间窗100t-125t这一段对应a0这个数组元素,其记录了100t-125t这个单位时间窗内的数据流量。
进一步的参考图15,第一条虚线在130t的位置,属于125t-150t这个子时间窗,对应a1数组元素,如果请求属于125t-150t这一子时间窗,统计的数据流量都会加到该窗口对应的a1数组元素中。第二条虚线在180t的位置,可通过以下步骤来判断180t这个时间点的请求是否可以通过:
假设将子时间窗175t-180t内的请求量记为req,该时间窗对应a3数组元素;
根据获取到的a0、a1、a2这三个数组元素的统计值,进而确定当前整个时间窗(100t-200t)的总数据流量,即counter = a0+a1+a2+req;
如果counter>预设流量阈值100,也即分配后会导致整个时间窗(100t-200t)内的总数据流量大于预设流量阈值,则不能通过;否则,则可以通过。
进一步的,在数据流量超出预设流量阈值的情况下,本实施例公开了两种限速策略:反压处理策略和丢包统计策略,限速后处理单元可通过这两种处理策略来进行限速。具体的:
反压处理策略可参考图16,图16为本申请实施例提供的一种数据包流向与反压处理的示意图。参考图16:当要发送数据包处理不过来时,通过TQ模块501发送反压信号给MAC中的上游电路模块,阻塞通路,防止驱动程序继续向MAC发送该TAG标记的包。
作为一个示例,当接收到的数据流即将超出能处理的范围时,就通知上游模块进行反压操作,以减缓数据的发送速度,从而使得数据流的发送速度不再增加,并慢慢降下来;如果仍然持续不断地收到上游模块的数据流,且发送速度超出了当前的处理速度,就选择反馈阻塞信号以进行反压操作,进而对上游模块进行阻塞。
丢包统计策略可参考图17,图17为本申请实施例提供的一种数据包流向与丢包处理的示意图。针对要发送的数据包当TQ模块处理不过来时,可以将无法发送出去的数据包直接在硬件实现的TQ模块501进行丢弃和/或进行缓存。
在一些实施例中,所述装置还包括与所述TQ模块501电连接的缓存模块,所述缓存模块包括第一缓存单元和第二缓存单元,其中,
第一缓存单元,用于保存丢失的数据包个数和所述数据流的报文数据;
第二缓存单元,用于保存超出预设流量阈值的数据流的报文的长度、丢包时间、以及MAC芯片中发出所述数据流的TX ring的ID。
需要说明的是,所属领域技术人员可以根据实际需求来确定在缓存模块中需要保存的数据,具体此处不做特殊限定。
在一些实施例中,所述装置还包括:
数据读取接口,与所述缓存模块电连接,用于通过所述数据读取接口读取所述缓存模块中的缓存数据,以根据所述缓存数据恢复所述主机端发送的完整数据流。
作为一个示例,在本实施例所公开的装置中还可以有以下操作:
丢包计数:设置单独的寄存器,专门用来统计丢失的包个数;
缓存丢包:设置缓存组件,它可以是存一定个数丢包数据的FIFO队列,并遵循先进行出的原理,当队列满后,再有数据包要缓存就会丢弃最先进来的数据包。
进一步的,还可提供数据读取接口,进而通过主机或管理口,连接MAC网卡,读出其中缓存的数据包。
更进一步的,根据缓存模块中读出的数据和限速后的数据流恢复主机端发送的完整数据流。
丢包统计策略的这种处理方式相对于直接将数据包发送到交换机在交换机网口上丢弃,存在以下优势:
在MAC上丢包,以后使用只需要在MAC上完成所有配置策略(反压或者丢包处理),不需要关注交换机的配置;
MAC与主机端直接相连,集成有“缓存模块”,可以通过主机端对第一缓存单元的读写以了解MAC丢包的情况,不仅可以实现数据包丢包个数的统计,而且还可以通过第二缓存单元获取一段时间内的丢包数据;而目前交换芯片没有相关报文统计和回溯标记,导致定位问题比较复杂、实用性较差;
在MAC上丢包,减少了报文下行处理时间,减少了对XGMII带宽的无效占用。
所属领域技术人员可以理解的是,图5中示出的结构并不构成对本申请实施例装置的限定,可以包括比图示更多或更少的模块/单元,或者组合某些模块/单元,或者不同的模块/单元布置。
所属领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上。可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。
本实施例提供的装置包括:TQ模块501,设置于MAC芯片内部,用于根据从主机端接收的数据流的报文获取所述数据流的TAG值,并根据所述TAG值确定目标限速单元并通过所述目标限速单元对与所述TAG值对应的数据流进行限速处理,以及将限速后的数据流发送至Switch芯片,以使所述Switch芯片根据所述TAG值确定目标GE接口并通过所述目标GE接口发出所述限速后的数据流。硬件实现的TQ发送队列,对MAC芯片中的TQ队列个数没有要求;适用范围广,比如可适用于一些支持TQ数量特别少的低速网卡;通过引入TQ硬件队列根据数据包的TAG进行网口区分,从而使CPU核、网卡发送队列、GE接口之间的关系实现了完全的解耦合;CPU核、网卡发送队列、GE接口之间的对应关系变成1:M:N(M为网卡中TX ring队列的个数,N为交换机的网口个数),也即没有限制对应关系,具体可以根据实际需求进行适应性调整。
实施例三
在前述装置实施例的基础上,本实施例提供了另一种MAC直连交换芯片速率匹配方法,对于本方法实施例中未披露的细节,请参照本申请装置实施例。
图18为本申请实施例提供的一种MAC直连交换芯片速率匹配方法的流程图,参考图18,本实施例所公开的方法包括以下步骤:
步骤1810、根据接收到的数据流的报文获取所述数据流的TAG值;
步骤1820、在预设时长内接收到的数据流不满足预设条件的情况下,根据预设限速策略对所述数据流进行限速处理获得限速后的数据流,以及根据预设后处理策略对超出预设流量阈值的数据流进行后处理;
步骤1830、根据所述TAG值确定目标GE接口,并通过所述目标GE接口发出所述限速后的数据流。
进一步的,在进行限速处理时,可选择以下几种方式:
作为一个示例,步骤1820具体可包括以下步骤:
将时间序列按顺序分成相互接连的具有预设时长的时间窗口;
确定时间窗口内接收到的数据流量;
在所述数据流量大于预设流量阈值的情况下,对当前时间窗口内接收到的数据流量进行限速处理。
其中,时间窗口的预设时长可根据实际需求进行设定。
作为另一个示例,步骤1820具体可包括以下步骤:
确定目标时间节点之前1个时间窗口内接收到的数据流量;
在所述数据流量大于预设流量阈值的情况下,对所述数据流量进行限速处理。
其中,时间窗口的时长可根据实际需求进行设定。
作为再一个示例,步骤1820具体可包括以下步骤:
将每个时间窗口均分为第一预设值个子时间窗口;
设置与每个子时间窗口一一对应的数组,用于保存该子时间窗口内接收到的数据流量;
确定在每个子时间窗口内接收到的数据流量,并将数据流量保存在子时间窗口对应的数组中;
获取在目标时间节点之前第二预设值个子时间窗口内接收到的第一数据流量,以及确定所述目标时间节点所在子时间窗口内接收到的第二数据流量;
在所述第一数据流量和第二数据流量之和大于预设流量阈值的情况下,对所述第二数据流量进行限速处理。
需要说明的是,第一预设值的取值可为4,第二预设值的取值可为3。
在一些实施例中,所述根据预设后处理策略对超出预设流量阈值的数据流进行后处理,包括:
将所述超出预设流量阈值的数据流保存在缓存模块中。
在一些实施例中,所述方法还包括:
通过所述缓存模块的数据读取接口读取所述缓存模块中的缓存数据,以根据所述缓存数据和所述限速后的数据流恢复主机端发送的完整数据流。
实施例四
在前述实施例三的基础上,本实施例提供了一种计算机可读存储介质。该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时可以实现如前述方法实施例中的方法步骤,本实施例在此不再重复赘述。
其中,计算机可读存储介质还可单独包括计算机程序、数据文件、数据结构等,或者包括其组合。计算机可读存储介质或计算机程序可被计算机软件领域的技术人员具体设计和理解,或计算机可读存储介质对计算机软件领域的技术人员而言可以是公知和可用的。计算机可读存储介质的示例包括:磁性介质,例如硬盘、软盘和磁带;光学介质,例如,CDROM盘和DVD;磁光介质,例如,光盘;和硬件装置,具体被配置以存储和执行计算机程序,例如,只读存储器(ROM)、随机存取存储器(RAM)、闪存;或服务器、app应用商城等。计算机程序的示例包括机器代码(例如,由编译器产生的代码)和包含高级代码的文件,可由计算机通过使用解释器来执行高级代码。所描述的硬件装置可被配置为用作一个或多个软件模块,以执行以上描述的操作和方法,反之亦然。另外,计算机可读存储介质可分布在联网的计算机系统中,可以分散的方式存储和执行程序代码或计算机程序。
实施例五
在前述实施例三的基础上,本实施例提供一种计算机程序产品。该计算机程序产品包括计算机程序或指令,该计算机程序或指令被处理器执行时实现如前述方法实施例中方法的全部或部分步骤,本实施例在此不再重复赘述。
进一步的,该计算机程序产品可以包括在运行程序时被配置为执行实施例的一个或多个计算机可执行组件;该该计算机程序产品还可包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行本公开实施方式中任一方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分从网络上被下载和安装,和/或从可拆卸介质被安装。
实施例六
在前述实施例三的基础上,本实施例提供一种电子设备。图19为本申请实施例提供的一种电子设备的连接框图,如图19所示,该电子设备190可以包括:一个或多个处理器191,存储器192,多媒体组件193,输入/输出(I/O)接口194,以及通信组件195。
其中,一个或多个处理器191用于执行如前述方法实施例中的全部或部分步骤。存储器192用于存储各种类型的数据,这些数据例如可以包括电子设备中的任何应用程序或方法的指令,以及应用程序相关的数据。
一个或多个处理器191可以是专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(ProgrammableLogic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行如前述方法实施例中的方法。
存储器192可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
多媒体组件193可以包括屏幕和音频组件,该屏幕可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器或通过通信组件发送。音频组件还包括至少一个扬声器,用于输出音频信号。
I/O接口194为一个或多个处理器191和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。
通信组件195用于该电子设备190与其他设备之间进行有线或无线通信。有线通信包括通过网口、串口等进行通信;无线通信包括:Wi-Fi、蓝牙、近场通信(Near FieldCommunication,简称NFC)、2G、3G、4G、5G,或它们中的一种或几种的组合。因此相应的该通信组件195可以包括:Wi-Fi模块,蓝牙模块,NFC模块。
综上,本申请提供了一种MAC直连交换芯片速率匹配装置、方法、存储介质、计算机程序产品以及电子设备。所属装置包括:TQ模块,设置于MAC芯片内部,用于根据从主机端接收的数据流的报文获取所述数据流的TAG值,并根据所述TAG值确定目标限速单元并通过所述目标限速单元对与所述TAG值对应的数据流进行限速处理,以及将限速后的数据流发送至Switch芯片,以使所述Switch芯片根据所述TAG值确定目标GE接口并通过所述目标GE接口发出所述限速后的数据流。硬件实现的TQ发送队列,对MAC芯片中的TQ队列个数没有要求;适用范围广,比如可适用于一些支持TQ数量特别少的低速网卡;通过引入TQ硬件队列根据数据包的TAG进行网口区分,从而使CPU核、网卡发送队列、GE接口之间的关系实现了完全的解耦合;CPU核、网卡发送队列、GE接口之间的对应关系变成1:M:N(M为网卡中TX ring队列的个数,N为交换机的网口个数),也即没有限制对应关系,具体可以根据实际需求进行适应性调整。
另外应该理解到,在本申请所提供的实施例中所揭露的方法或装置,也可以通过其他的方式实现。以上所描述的方法或装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法和装置的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、计算机程序段或计算机程序的一部分,模块、计算机程序段或计算机程序的一部分包含一个或多个用于实现规定的逻辑功能的计算机程序。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生,实际上也可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机程序的组合来实现。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、装置或者设备中还存在另外的相同要素;如果有描述到“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系;在本申请的描述中,除非另有说明,术语“多个”、“多”的含义是指至少两个;如果有描述到服务器,需要说明的是,服务器可以是独立的物理服务器或终端,也可以是多个物理服务器构成的服务器集群,可以是能够提供云服务器、云数据库、云存储和CDN等基础云计算服务的云服务器;在本申请中如果有描述到智能终端或移动设备,需要说明的是,智能终端或移动设备可以是手机、平板电脑、智能手表、上网本、可穿戴电子设备、个人数字助理(Personal Digital Assistant,简称PDA)、增强现实技术设备(Augmented Reality,简称AR)、虚拟现实设备(Virtual Reality,简称VR)、智能电视、智能音响、个人计算机(Personal Computer,简称PC)等,但并不局限于此,本申请对智能终端或移动设备的具体形式不做特殊限定。
最后需要说明的是,在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“一个示例”或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式进行结合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例都是示例性的,所述的内容只是为了便于理解本申请而采用的实施方式,并非用以限定本申请。任何本申请所属技术领域内的技术人员,在不脱离本申请所公开的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本申请的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (9)
1.一种MAC直连交换芯片速率匹配装置,其特征在于,所述装置包括:
TQ模块,设置于MAC芯片内部,用于根据从主机端接收的数据流的报文获取所述数据流的TAG值,并根据所述TAG值确定目标限速单元并通过所述目标限速单元对与所述TAG值对应的数据流进行限速处理,以及将限速后的数据流发送至Switch芯片,以使所述Switch芯片根据所述TAG值确定目标GE接口并通过所述目标GE接口发出所述限速后的数据流;
其中,所述TQ模块包括:
VLAN TAG识别单元,用于根据所述数据流的报文获取TAG值并将所述TAG值发送至所述TQ模块,以使所述TQ模块根据所述TAG值确定目标限速单元并通过所述目标限速单元对与所述TAG值对应的数据流进行限速处理;
限速单元,用于根据预设限速策略对所述数据流进行限速处理;
限速后处理单元,用于根据预设后处理策略对超出预设流量阈值的数据流进行后处理。
2.根据权利要求1所述的MAC直连交换芯片速率匹配装置,其特征在于,所述限速单元包括:
多个限速窗口,每个限速窗口均用于对与特定TAG值对应的数据流进行限速处理。
3.根据权利要求1所述的MAC直连交换芯片速率匹配装置,其特征在于,所述装置还包括与所述TQ模块电连接的缓存模块,所述缓存模块包括第一缓存单元和第二缓存单元,其中,
第一缓存单元,用于保存丢失的数据包个数和所述数据流的报文数据;
第二缓存单元,用于保存超出预设流量阈值的数据流的报文的长度、丢包时间、以及MAC芯片中发出所述数据流的TX ring的ID。
4.根据权利要求3所述的MAC直连交换芯片速率匹配装置,其特征在于,所述装置还包括:
数据读取接口,与所述缓存模块电连接,用于通过所述数据读取接口读取所述缓存模块中的缓存数据,以根据所述缓存数据恢复所述主机端发送的完整数据流。
5.一种MAC直连交换芯片速率匹配方法,其特征在于,基于权利要求1~4中任一项所述的MAC直连交换芯片速率匹配装置实现,所述方法包括:
根据接收到的数据流的报文获取所述数据流的TAG值;
在预设时长内接收到的数据流不满足预设条件的情况下,根据预设限速策略对所述数据流进行限速处理获得限速后的数据流,以及根据预设后处理策略对超出预设流量阈值的数据流进行后处理;
根据所述TAG值确定目标GE接口,并通过所述目标GE接口发出所述限速后的数据流。
6.根据权利要求5所述的MAC直连交换芯片速率匹配方法,其特征在于,所述根据预设后处理策略对超出预设流量阈值的数据流进行后处理,包括:
将所述超出预设流量阈值的数据流保存在与TQ模块电连接的缓存模块中。
7.根据权利要求5所述的MAC直连交换芯片速率匹配方法,其特征在于,所述方法还包括:
通过与TQ模块电连接的缓存模块的数据读取接口读取所述缓存模块中的缓存数据,以根据所述缓存数据和所述限速后的数据流恢复主机端发送的完整数据流。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储的计算机程序,当被一个或多个处理器执行时,实现如权利要求5至7中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括存储器和一个或多个处理器,所述存储器上存储有计算机程序,所述存储器和所述一个或多个处理器之间互相通信连接,当所述计算机程序被所述一个或多个处理器执行时,执行如权利要求5至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310257097.3A CN116055007B (zh) | 2023-03-17 | 2023-03-17 | 一种mac直连交换芯片速率匹配装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310257097.3A CN116055007B (zh) | 2023-03-17 | 2023-03-17 | 一种mac直连交换芯片速率匹配装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116055007A CN116055007A (zh) | 2023-05-02 |
CN116055007B true CN116055007B (zh) | 2023-06-13 |
Family
ID=86133410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310257097.3A Active CN116055007B (zh) | 2023-03-17 | 2023-03-17 | 一种mac直连交换芯片速率匹配装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055007B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118138402B (zh) * | 2024-03-12 | 2024-10-29 | 铵泰克(北京)科技有限公司 | 一种基于VLAN划分的高速Switch芯片网卡功能实现系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108040135A (zh) * | 2017-12-13 | 2018-05-15 | 安徽皖通邮电股份有限公司 | 一种vpws报文穿越三层ip网络的方法及装置 |
CN112468415A (zh) * | 2020-10-21 | 2021-03-09 | 浪潮思科网络科技有限公司 | 一种协议报文处理方法、装置、设备及介质 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101009652A (zh) * | 2007-01-23 | 2007-08-01 | 中兴通讯股份有限公司 | 以太网无源光网络下行流控信息传递方法 |
CN103200126B (zh) * | 2013-04-18 | 2015-10-28 | 烽火通信科技股份有限公司 | Xg-pon系统流量管理装置及方法 |
CN104796352A (zh) * | 2015-03-20 | 2015-07-22 | 汉柏科技有限公司 | 一种使用网卡dcb限速提高用户体验的方法 |
US11038713B2 (en) * | 2018-10-02 | 2021-06-15 | Nxp B.V. | Communications device and method for communications |
CN113783789B (zh) * | 2021-09-29 | 2023-03-31 | 新华三信息安全技术有限公司 | 一种报文限速方法及装置 |
CN114138482A (zh) * | 2021-11-26 | 2022-03-04 | 江苏省未来网络创新研究院 | 一种自动适配硬件资源的nta设备配置策略方法 |
CN114430392A (zh) * | 2022-01-26 | 2022-05-03 | 福州创实讯联信息技术有限公司 | 一种Intel网卡连接Switch拓展网口的方法与终端 |
CN115250389A (zh) * | 2022-06-21 | 2022-10-28 | 青岛海信宽带多媒体技术有限公司 | 一种光网络终端 |
-
2023
- 2023-03-17 CN CN202310257097.3A patent/CN116055007B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108040135A (zh) * | 2017-12-13 | 2018-05-15 | 安徽皖通邮电股份有限公司 | 一种vpws报文穿越三层ip网络的方法及装置 |
CN112468415A (zh) * | 2020-10-21 | 2021-03-09 | 浪潮思科网络科技有限公司 | 一种协议报文处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116055007A (zh) | 2023-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7539143B2 (en) | Network switching device ingress memory system | |
US7042891B2 (en) | Dynamic selection of lowest latency path in a network switch | |
US9143459B2 (en) | Queue speed-up by using multiple linked lists | |
CN107623646B (zh) | 数据流传输方法、发送设备及接收设备 | |
WO2020236269A1 (en) | System and method for facilitating efficient utilization of an output buffer in a network interface controller (nic) | |
US20030026267A1 (en) | Virtual channels in a network switch | |
US20020118692A1 (en) | Ensuring proper packet ordering in a cut-through and early-forwarding network switch | |
US8819265B2 (en) | Managing flow control buffer | |
US20150146527A1 (en) | System, Method and Apparatus for Network Congestion Management and Network Resource Isolation | |
US11563521B2 (en) | Method and apparatus for port channelization at physical layer | |
US20030026205A1 (en) | Packet input thresholding for resource distribution in a network switch | |
CN109412964A (zh) | 报文控制方法及网络装置 | |
US20050138238A1 (en) | Flow control interface | |
EP3694140A1 (en) | Clock synchronization method and apparatus | |
CN112953848A (zh) | 一种基于严格优先级的流量监管方法、系统及设备 | |
CN116055007B (zh) | 一种mac直连交换芯片速率匹配装置及方法 | |
US9137030B1 (en) | Multicast queueing in a network switch | |
US20130003546A1 (en) | System and Method for Achieving Lossless Packet Delivery in Packet Rate Oversubscribed Systems | |
US11516145B2 (en) | Packet control method, flow table update method, and node device | |
CN109951750A (zh) | 基于FlexE一层交叉架构的数据处理方法及系统 | |
US11528187B1 (en) | Dynamically configurable networking device interfaces for directional capacity modifications | |
CN117749726A (zh) | Tsn交换机输出端口优先级队列混合调度方法和装置 | |
US10079769B1 (en) | Methods and apparatus for implementing dynamic rate controllers using linked list of rate programs | |
CN114208131B (zh) | 流量均衡方法、网络设备及电子设备 | |
US8214665B2 (en) | Method and system for transmit queue management for energy efficient networking |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |