首页> 中国专利> Pause帧暂停时间精确计时的方法及应用

Pause帧暂停时间精确计时的方法及应用

摘要

本发明公开了一种Pause帧暂停时间精确计时的方法及应用,该方法包括以下步骤:根据Pause帧中的Pause Quanta计算端口发送端报文发送的暂停时间;以及根据所述端口的当前速率配置预设计时脉冲的实际计时脉冲周期,以对所述暂停时间进行计时。该方法能够通过可独立配置周期的计时脉冲实现Pause Quanta的准确计时。计时脉冲周期的可配置性也可以达到在serdes超频下Pause Quanta时间的精确计算。在混合端口速率且serdes超频的情况下,也能够根据Pause Quanta分别准确的对停止发送报文的时长进行计时,从而达到精确控制报文流量的效果。

著录项

  • 公开/公告号CN116346732A

    专利类型发明专利

  • 公开/公告日2023-06-27

    原文格式PDF

  • 申请/专利权人 苏州盛科通信股份有限公司;

    申请/专利号CN202111602580.8

  • 发明设计人 王东;贺伟;

    申请日2021-12-24

  • 分类号H04L47/25(2022.01);H04L47/80(2022.01);

  • 代理机构苏州三英知识产权代理有限公司 32412;

  • 代理人任骁东

  • 地址 215000 江苏省苏州市工业园区星汉街5号B幢4楼13/16单元

  • 入库时间 2024-01-17 01:12:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-07-14

    实质审查的生效 IPC(主分类):H04L47/25 专利申请号:2021116025808 申请日:20211224

    实质审查的生效

  • 2023-06-27

    公开

    发明专利申请公布

说明书

技术领域

本发明是关于通信领域,特别是关于一种Pause帧暂停时间精确计时的方法及应用。

背景技术

在IEEE802.3中,定义了一种称之为Pause帧的MAC帧。该帧是一种控制帧,用于控制数据流停止发送,在MAC发送侧产生,MAC接收侧解析并响应。当接收报文流量大于本端设备能够处理的最大流量时,就会触发本端设备发送方向发送Pause帧给端口设备,让端口设备在一段时间内停止发送报文到本端设备,而停止发送的报文时间在Pause帧中也做了详细的定义。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。

发明内容

本发明的目的在于提供一种Pause帧暂停时间精确计时的方法及应用,解决在混合端口速率且serdes超频的情况下,不能分别计算出对应的精确的Pause Quanta时间,从而不能精确控制报文流量的问题。

为实现上述目的,本发明的实施例提供了一种Pause帧暂停时间精确计时的方法。

在本发明的一个或多个实施方式中,所述方法包括:根据Pause帧中的PauseQuanta计算端口发送端报文发送的暂停时间;以及根据所述端口的当前速率配置预设计时脉冲的实际计时脉冲周期,以对所述暂停时间进行计时。

在本发明的一个或多个实施方式中,根据所述端口的当前速率配置预设计时脉冲的实际计时脉冲周期,以对所述暂停时间进行计时,具体包括:按照预设计时脉冲的周期,对暂停时间计数器进行减值;在所述端口的速率改变时,根据所述端口的当前速率speed配置所述预设计时脉冲的实际计时脉冲周期T;基于所述实际计时脉冲周期,对所述暂停时间计数器的剩余值进行减值。

在本发明的一个或多个实施方式中,所述方法还包括:根据所述端口的速率范围,确定所述端口的预设计时脉冲。

在本发明的一个或多个实施方式中,根据所述端口的速率范围,确定所述端口的预设计时脉冲,具体包括:当端口工作在1Gbps~25Gbps时,确定脉冲周期为1024ns的计时脉冲;和/或,当端口工作在40Gbps~100Gbps时,确定脉冲周期为256ns的计时脉冲;和/或,当端口工作在200Gbps~400Gbps时,确定脉冲周期为128ns的计时脉冲;和/或,当端口工作在800Gbps~1600Gbps时,确定脉冲周期为64ns的计时脉冲。

在本发明的一个或多个实施方式中,所述根据Pause帧中的Pause Quanta计算端口发送端报文发送的暂停时间,具体包括:所述Pause Quanta的时间单位为所述端口速率下发送512bit所需的时间,所述端口发送端报文发送的暂停时间为所述Pause Quanta与所述Pause Quanta的时间单位的乘积。

在本发明的一个或多个实施方式中,所述对暂停时间计数器进行减值,具体包括:所述暂停时间计数器的初始值为所述Pause Quanta,所述暂停时间计数器减少的数值为speed*T/512。

在本发明的一个或多个实施方式中,所述方法还包括:在所述暂停时间计数器减少至0,并且未接收到新Pause帧时,结束所述端口发送端停止发送报文;或在所述暂停时间计数器未减少至0,并且接收到新Pause帧时,根据所述新Pause帧的Pause Quanta重新计时。

在本发明的另一个方面当中,提供了一种Pause帧暂停时间精确计时的装置,其包括计算模块和计时模块。

计算模块,用于根据Pause帧中的Pause Quanta计算端口发送端报文发送的暂停时间。

计时模块,用于根据所述端口的当前速率配置预设计时脉冲的实际计时脉冲周期,以对所述暂停时间进行计时。

在本发明的一个或多个实施方式中,所述计时模块还用于:按照预设计时脉冲的周期,对暂停时间计数器进行减值;在所述端口的速率改变时,根据所述端口的当前速率speed配置所述预设计时脉冲的实际计时脉冲周期T;基于所述实际计时脉冲周期,对所述暂停时间计数器的剩余值进行减值。

在本发明的一个或多个实施方式中,所述计时模块还用于:根据所述端口的速率范围,确定所述端口的预设计时脉冲。

在本发明的一个或多个实施方式中,所述计时模块还用于:当端口工作在1Gbps~25Gbps时,确定脉冲周期为1024ns的计时脉冲;和/或,当端口工作在40Gbps~100Gbps时,确定脉冲周期为256ns的计时脉冲;和/或,当端口工作在200Gbps~400Gbps时,确定脉冲周期为128ns的计时脉冲;和/或,当端口工作在800Gbps~1600Gbps时,确定脉冲周期为64ns的计时脉冲。

在本发明的一个或多个实施方式中,所述计时模块还用于:在所述暂停时间计数器减少至0,并且未接收到新Pause帧时,结束所述端口发送端停止发送报文;或在所述暂停时间计数器未减少至0,并且接收到新Pause帧时,根据所述新Pause帧的Pause Quanta重新计时。

在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的Pause帧暂停时间精确计时的方法。

在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的Pause帧暂停时间精确计时的方法的步骤。

与现有技术相比,根据本发明实施方式的Pause帧暂停时间精确计时的方法及应用,其能够通过可独立配置周期的计时脉冲实现Pause Quanta的准确计时。计时脉冲周期的可配置性也可以达到在serdes超频下Pause Quanta时间的精确计算。在混合端口速率且serdes超频的情况下,也能够根据Pause Quanta分别准确的对停止发送报文的时长进行计时,从而达到精确控制报文流量的效果。

附图说明

图1是根据本发明一实施方式的Pause帧暂停时间精确计时的方法的流程图;

图2是根据本发明一实施方式的Pause帧暂停时间精确计时的方法的Pause帧结构图;

图3是根据本发明一实施方式的Pause帧暂停时间精确计时的方法的具体流程图;

图4是根据本发明一实施方式的Pause帧暂停时间精确计时的装置的结构图;

图5是根据本发明一实施方式的Pause帧暂停时间精确计时的计算设备的硬件结构图。

具体实施方式

下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

以下结合附图,详细说明本发明各实施例提供的技术方案。

实施例1

如图1至图2所示,介绍本发明的一个实施例中Pause帧暂停时间精确计时的方法,该方法包括如下步骤。

在步骤S101中,根据Pause帧中的Pause Quanta计算端口发送端报文发送的暂停时间。

Pause帧是IEEE802.3协议中描述的一种用于控制MAC数据流量的报文。当端口数据量过大,无法及时处理数据时,会向数据上游MAC发送Puase帧,告诉上游MAC在一段时间内停止发送数据,停止时间记录在报文的Pause Quanta字段。当上游MAC接受到端口的有效Puase帧时开始计时,并停止发送数据,防止端口无法及时处理数据,导致端口FIFO溢出或者数据丢失。若计时结束,且没有收到新的Puase帧,端口将重新发送数据。若计时没有结束,且新收到的Puase帧的Pause Quanta字段为全0,则表示可以重新发送数据,此时停止计时,端口重新开始发送数据。

Pause帧的具体帧结构如图2所示,包括6字节DA(目的MAC地址),6字节SA(源MAC地址),2字节EtherType(类型),2字节Opcode(操作码),2字节Pause Quanta(MAC停止发送报文时间),42字节PAD(填充字段),4字节FCS(帧校验字段,通常为CRC)。其中,2字节的PauseQuanta定义了MAC停止发送报文的时间,Pause Quanta的时间单位是512bit时间,不同的端口速率speed(Gbps)下,512bit时间也是不一样的,具体的,Pause Quanta的时间单位为端口速率下发送512bit所需的时间。举例来说,10Gbps端口速率下,512bit时间为51.2ns;100Gbps端口速率下,512bit时间为5.12ns。

在端口的接收方向解析出Pause帧的Pause Quanta字段时,则表示需要发送端停止发送报文的时长为Pause Quanta*512bit时间,以端口速率100Gbps为例,对应的PauseQuanta时间单位5.12ns,所以端口速率100Gbps时,MAC停止发送报文的时长为PauseQuanta*5.12ns。

在步骤S102中,根据端口的当前速率配置预设计时脉冲的实际计时脉冲周期,以对暂停时间进行计时。

配置计时脉冲周期T(ns),并在接收到Pause帧的时候将Pause Quanta赋值给暂停时间计数器,作为暂停时间计数器的初始值。每来一次计时脉冲,暂停时间计数器减少的数值为:speed*(T/512)。当暂停时间计数器减少至0的时候,表示Pause Quanta时间计时结束。如果在该轮Pause Quanta计时时间内没有收到新的Pause帧,则停止发送报文结束,已等待Pause Quanta*512bit时间,发送方向可以继续发送报文。如果在Pause Quanta时间计时结束前收到新的Pause帧,则根据新的Pause Quanta重新进行计时。

以端口速率100Gbps,计时脉冲周期为256ns为例,如果serdes超频后,端口速率提升至105Gbps,此时的512bit时间为512/105=4.876ns。依然保持每来一个计时脉冲暂停时间计数器减小50,此时只要把计时脉冲的周期配置为243.8ns(256ns/1.05)即可。

实施例2

如图3所示,介绍本发明的一个实施例中Pause帧暂停时间精确计时的方法,该方法包括如下步骤。

在步骤S201中,根据Pause帧中的Pause Quanta计算端口发送端报文发送的暂停时间。

Pause Quanta定义了MAC停止发送报文的时间,Pause Quanta的时间单位是512bit时间,不同的端口速率下,512bit时间也是不一样的,具体的,Pause Quanta的时间单位为端口速率下发送512bit所需的时间。举例来说,10Gbps端口速率下,512bit时间为51.2ns;100Gbps端口速率下,512bit时间为5.12ns。

在端口的接收方向解析出Pause帧的Pause Quanta字段时,则表示需要发送端停止发送报文的时长为Pause Quanta*512bit时间,以端口速率100Gbps为例,对应的PauseQuanta时间单位5.12ns,所以端口速率100Gbps时,MAC停止发送报文的时间为PauseQuanta*5.12ns。

在步骤S202中,根据端口的速率范围,确定端口的预设计时脉冲。

配置计时脉冲周期T,并在接收到Pause帧的时候将Pause Quanta赋值给暂停时间计数器,作为暂停时间计数器的初始值。

在本实施例中,计时脉冲周期可以配置为1024ns、256ns、128ns以及64ns,分别对应1Gbps~25Gbps的端口速率、40Gbps~100Gbps的端口速率、200Gbps~400Gbps的端口速率以及800Gbps~1600Gbps的端口速率。

每个端口可以独立选择上述4个计时脉冲周期中的任意一个作为本端口计算Pause Quanta时间的计时脉冲周期,可以满足不同混合端口速率下Pause Quanta时间的精确计算。

在步骤S203中,按照预设计时脉冲的周期,对暂停时间计数器进行减值。

端口工作在1Gbps~25Gbps时,选择计时脉冲周期为1024ns的计时脉冲。每种速率下,每来一次计时脉冲,暂停时间计数器减少的数值如下所示:

1Gbps时,每来一次计时脉冲,暂停时间计数器减少2;

5Gbps时,每来一次计时脉冲,暂停时间计数器减少10;

10Gbps时,每来一次计时脉冲,暂停时间计数器减少20;

25Gbps时,每来一次计时脉冲,暂停时间计数器减少50。

端口工作在40Gbps~100Gbps时,选择计时脉冲周期为256ns的计时脉冲。每种速率下,每来一次计时脉冲,暂停时间计数器减少的数值如下所示:

40Gbps时,每来一次计时脉冲,暂停时间计数器减少20;

50Gbps时,每来一次计时脉冲,暂停时间计数器减少25;

100Gbps时,每来一次计时脉冲,暂停时间计数器减少50。

端口工作在200Gbps~400Gbps时,选择计时脉冲周期为128ns的计时脉冲。每种速率下,每来一次计时脉冲,暂停时间计数器减少的数值如下所示:

200Gbps时,每来一次计时脉冲,暂停时间计数器减少50;

400Gbps时,每来一次计时脉冲,暂停时间计数器减少100。

端口工作在800Gbps~1600Gbps时,选择计时脉冲周期为64ns的计时脉冲。每种速率下,每来一次计时脉冲,暂停时间计数器减少的数值如下所示:

800Gbps时,每来一次计时脉冲,暂停时间计数器减少100;

1600Gbps时,每来一次计时脉冲,暂停时间计数器减少200。

如图4所示,介绍根据本发明具体实施方式的Pause帧暂停时间精确计时的装置。

在本发明的实施方式中,Pause帧暂停时间精确计时的装置包括计算模块401和计时模块402。

计算模块401,用于根据Pause帧中的Pause Quanta计算端口发送端报文发送的暂停时间。

计时模块402,用于根据端口的当前速率配置预设计时脉冲的实际计时脉冲周期,以对暂停时间进行计时。

计时模块402还用于:按照预设计时脉冲的周期,对暂停时间计数器进行减值;在端口的速率改变时,根据端口的当前速率speed配置预设计时脉冲的实际计时脉冲周期T;基于实际计时脉冲周期,对暂停时间计数器的剩余值进行减值。

计时模块402还用于:根据端口的速率范围,确定端口的预设计时脉冲。

计时模块402还用于:当端口工作在1Gbps~25Gbps时,确定脉冲周期为1024ns的计时脉冲;和/或,当端口工作在40Gbps~100Gbps时,确定脉冲周期为256ns的计时脉冲;和/或,当端口工作在200Gbps~400Gbps时,确定脉冲周期为128ns的计时脉冲;和/或,当端口工作在800Gbps~1600Gbps时,确定脉冲周期为64ns的计时脉冲。

计时模块402还用于:在暂停时间计数器减少至0,并且未接收到新Pause帧时,结束端口发送端停止发送报文;或在暂停时间计数器未减少至0,并且接收到新Pause帧时,根据新Pause帧的Pause Quanta重新计时。

图5示出了根据本说明书的实施例的用于Pause帧暂停时间精确计时的计算设备50的硬件结构图。如图5所示,计算设备50可以包括至少一个处理器501、存储器502(例如非易失性存储器)、内存503和通信接口504,并且至少一个处理器501、存储器502、内存503和通信接口504经由总线505连接在一起。至少一个处理器501执行在存储器502中存储或编码的至少一个计算机可读指令。

应该理解,在存储器502中存储的计算机可执行指令当执行时使得至少一个处理器501进行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。

在本说明书的实施例中,计算设备50可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。

根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。

根据本发明实施方式的Pause帧暂停时间精确计时的方法及应用,其能够通过可独立配置周期的计时脉冲实现Pause Quanta的准确计时。计时脉冲周期的可配置性也可以达到在serdes超频下Pause Quanta时间的精确计算。在混合端口速率且serdes超频的情况下,也能够根据Pause Quanta分别准确的对停止发送报文的时长进行计时,从而达到精确控制报文流量的效果。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号