CN111385216B - 基于pfc帧的拥塞控制方法、装置、系统及存储介质 - Google Patents

基于pfc帧的拥塞控制方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN111385216B
CN111385216B CN201811654832.XA CN201811654832A CN111385216B CN 111385216 B CN111385216 B CN 111385216B CN 201811654832 A CN201811654832 A CN 201811654832A CN 111385216 B CN111385216 B CN 111385216B
Authority
CN
China
Prior art keywords
priority
pfc
time
frame
congestion
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
Application number
CN201811654832.XA
Other languages
English (en)
Other versions
CN111385216A (zh
Inventor
喻敬海
高陈强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201811654832.XA priority Critical patent/CN111385216B/zh
Priority to PCT/CN2019/114781 priority patent/WO2020134553A1/zh
Priority to EP19905562.5A priority patent/EP3905615A4/en
Publication of CN111385216A publication Critical patent/CN111385216A/zh
Application granted granted Critical
Publication of CN111385216B publication Critical patent/CN111385216B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping
    • H04L47/225Determination of shaping rate, e.g. using a moving window
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/625Queue scheduling characterised by scheduling criteria for service slots or service orders

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于PFC帧的拥塞控制方法,包括以下步骤:当物理链路或逻辑链路发生拥塞时,通信系统的接收端获取所述拥塞队列对应的优先级,而后接收端基于所述拥塞队列确定所述优先级对应的降速参数和/或暂停时间,接下来接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据,然后接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。本发明还公开了一种装置、系统及存储介质。通过控制数据控制数据流量,解决网络拥塞问题,同时保证发送数据时无丢包、紧急数据及时被发送以及抢占机制与拥塞控制同时生效。

Description

基于PFC帧的拥塞控制方法、装置、系统及存储介质
技术领域
本发明涉及网络通信技术领域,尤其涉及一种基于PFC帧的拥塞控制方法、装置、系统及存储介质。
背景技术
PFC(Priority-based Flow Control优先级的流量控制)是IEEE数据中心桥接(Data Center Bridge)协议族中其中一个功能,是对传统流控的暂停机制一种增强。当接收端检测到拥塞时,通过发送PFC PAUSE帧通知发送端暂时停止发送数据。但是,因为PFC是完全停止相应优先级的数据发送,会带来一些问题,如:暂停时间不合理,会带来丢包,导致上次协议重传,造成拥塞扩散等,有些紧急数据,有时间限制的数据,如时间同步数据,如果采用PFC控制拥塞,则会导致依赖此类数据的机制失效;还有PFC会导致抢占功能失效,如TSN的某些机制要求关闭PFC功能等。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种基于PFC帧的拥塞控制方法,旨在解决当网络拥塞时,启用PFC而引起丢包、不能及时发送紧急数据以及抢占机制失效的技术问题。
为实现上述目的,本发明提供一种基于PFC帧的拥塞控制方法,所述基于PFC帧的拥塞控制方法包括以下步骤:
当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级;
所述接收端确定所述优先级对应的降速参数和/或暂停时间;
所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据;
所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。
本发明通过当物理链路或逻辑链路发生拥塞时,通信系统的接收端获取所述拥塞队列对应的优先级,而后接收端基于所述拥塞队列确定所述优先级对应的降速参数和/或暂停时间,接下来接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据,然后接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。根据控制数据控制数据流量,解决网络拥塞问题,同时保证发送数据时无丢包、紧急数据及时被发送以及抢占机制生效。
附图说明
图1是本发明实施例方案涉及的硬件运行环境中通信系统的结构示意图;
图2为本发明基于PFC帧的拥塞控制方法第一实施例的流程示意图;
图3为本发明标准的PFC PAUSE帧的格式示意图;
图4为本发明基于PFC帧的拥塞控制方法第二实施例的流程示意图;
图5为本发明扩展后的priority_enable_vector字段的格式示意图;
图6为本发明修改后的time字段的格式示意图;
图7为本发明第二实施例中优先级2同时降速和暂停时PFC帧的格式示意图;
图8为本发明第二实施例中优先级2和3同时降速时PFC帧的格式示意图;
图9为本发明基于PFC帧的拥塞控制方法第三实施例的流程示意图;
图10为本发明增加reduce字段的PFC帧的格式示意图;
图11为本发明第三实施例中优先级2同时降速和暂停时PFC帧的格式示意图;
图12为本发明第三实施例中优先级2和3同时降速时PFC帧的格式示意图;
图13为本发明基于PFC帧的拥塞控制方法第四实施例的流程示意图;
图14为本发明增加TLV字段的PFC帧的格式示意图;
图15为本发明第四实施例中优先级2降速和优先级3暂停时PFC帧的格式示意图;
图16为本发明基于PFC帧的拥塞控制装置实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境中通信系统的结构示意图。
如图1所示,该通信系统可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,通信系统还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器,当然,通信系统还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的通信系统结构并不构成对通信系统的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于PFC帧的拥塞控制程序。
在图1所示的通信系统中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于PFC帧的拥塞控制程序。
在本实施例中,通信系统包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的基于PFC帧的拥塞控制程序,其中,处理器1001调用存储器1005中存储的基于PFC帧的拥塞控制程序时,执行本申请各个实施例提供的基于PFC帧的拥塞控制方法的步骤。
本发明还提供一种基于PFC帧的拥塞控制方法,参照图2,图2为本发明基于PFC帧的拥塞控制方法第一实施例的流程示意图。
在本实施例中,PFC定义于由点到点链路连接的全双工的MAC层,目前很多网络设备都支持PFC,PFC允许在一条以太网链路上创建8个队列,并为每条队列指定一个优先级(CoS),允许单独暂停和重启其中任意一条队列,同时允许其它队列的流量无中断通过。
一个标准的PFC PAUSE帧格式如图3所示,PFC PAUSE帧以下简称PFC帧,其中Destination Mac Address是目的MAC地址域,占6字节,值指定为01-80-C2-00-00-01;Source Mac Address是源的MAC地址域,占6字节;type/len是以太网帧长度或类型域,值为88-08,表明是MAC控制帧;Control opcode是MAC控制操作码,占2字节;priority_enable_vector是优先级向量信息,占2字节,高字节保留,默认为0,低字节每个位代表相应的time[n]是否有效。e[n]代表优先级n,当e[n]为1时,表示time[n]有效,当e[n]为0时,表示time[n]无效;time是暂停发送帧时间,包含time[0]至time[7]的8个数组单元,每个数组单元为2字节。当e[n]为0时,time[n]没有意义。当e[n]为1时,time[n]代表接收站点停止优先级为n的报文发送的时间,时间的单位pause_quanta为物理层芯片发送512位数据所需要的时间,总时间priority_timer[n]=time[n]*pause_quanta,time[n]的取值范围是0-65535。所以发送一次PFC PAUSE帧,要求对端设备暂停发送的时间长度最长为:65535*pause_quanta。
在本实施例中,该基于PFC帧的拥塞控制方法包括:
步骤S10,当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级。
在本实施例中,当某个优先级的队列发生拥塞时,进一步地获取发生拥塞的队列对应的优先级。
需要说明的是,接收端根据队列的优先级确定PFC帧的priority_enable_vector字段、time字段等的具体值,本发明对标准PFC帧的格式进行了优化,优化后的PFC帧对应的priority_enable_vector包含2个字节分别是高字节和低字节,低字节每个位代表相应的优先级的队列是否临时停止发送数据,高字节每个位代表相应的优先级的队列是否临时降速发送数据。
步骤S20,所述接收端确定所述优先级对应的降速参数和/或暂停时间;
在本实施例中,当发生拥塞,根据发生拥塞的队列的队列长度进一步确定拥塞解决方案,也就是通知发送端对发生拥塞的队列采取临时停止发送数据,或临时降速发送数据,或先临时停止发送数据再临时降速发送数据,或先临时降速发送数据再临时停止发送数据,具体采取哪种控制方式,根据当前队列的队列长度来确定,也就是说,用户预先设置好队列长度、与控制方式的对应关系,当发生拥塞时,根据队列长度检索对应关系进而确定解决拥塞的控制方式。
具体地,本发明中的拥塞控制手段分两种,一种是临时停止发送数据,一种是临时降速发送数据。如果需要采取临时停止发送数据的控制手段,则需要确定优先级对应的暂停时间;如果需要采取临时降速发送数据的控制手段,则需要确定优先级对应的降速速率和降速时间。
步骤S30,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据。
在本实施例中,在确定了优先级、降速参数、暂停时间后,进一步基于降速参数、暂停时间以及优先级生成基于PFC帧的控制数据。需要说明的是,标准的PFC帧仅体现了对拥塞的队列进行临时停止发送数据,本发明是在标准的PFC帧基础上进行了增强,在支持临时停止发送数据的同时还支持临时降速发送数据,通过控制数据来体现。
步骤S40,所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。
在本实施例中,接收端基于降速参数、暂停时间以及优先级生成基于PFC帧的控制数据后,接收端发送包括控制数据的拥塞控制指令至发送端,以使发送端根据控制数据确定优先级对应的队列的数据流的发送速度。需要说明的是,如果采取的是临时停止发送数据的措施,则发送端的数据发送速度为0。
进一步地,在一实施例中,步骤S40之后还包括:
步骤S50,在所述控制数据对应的控制时间结束后,所述发送端根据预设速度发送数据流至所述接收端。
在本实施例中,接收端接收到拥塞控制指令时,根据拥塞控制指令的控制数据对数据发送速度进行控制,同时,控制数据还提供了控制时间即暂停时间和降速时间,在控制时间结束后,发送端恢复数据的发送速度即按照预设速度发送数据流至接收端。
进一步地,在一实施例中,步骤S10之前还包括:
步骤S60,所述接收端基于队列对应的队列长度实时检测各个队列中是否发生拥塞。
在本实施例中,接收端根据各个队列对应的队列长度实时检测各个队列是否发生拥塞,当有队列发生拥塞时需要及时进行拥塞控制,以免引起网络瘫痪。
具体地,步骤S60包括:
步骤S61,所述接收端确定所述队列长度是否大于阈值,其中,当所述队列长度大于或等于阈值时,则判定所述队列发生拥塞。
在本实施例中,接收端实时检测各个队列对应的队列长度,并将队列长度与阈值进行比较,其中,阈值是判定拥塞的边界值,有用户根据实际情况设定,本发明中不做限定。当某个优先级的队列长度超过阈值时,则判定该队列发生拥塞,反之,当队列长度未超过阈值时,则判定该队列不拥塞,不需要进行流量控制。
本实施例提出的基于PFC帧的拥塞控制方法,当物理链路或逻辑链路发生拥塞时,通信系统的接收端获取所述拥塞队列对应的优先级,而后接收端基于所述拥塞队列确定所述优先级对应的降速参数和/或暂停时间,接下来接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据,然后接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使发送端基于所述控制数据确定所述拥塞队列的数据流的发送速度。通过控制数据控制数据流量,解决网络拥塞问题,同时保证发送数据时无丢包、紧急数据及时被发送以及抢占机制生效。
基于第一实施例,参照图4,提出本发明基于PFC帧的拥塞控制方法的第二实施例,在本实施例中,步骤S30包括:
在本实施例中,使用PFC帧格式中的priority_enable_vector字段中保留的高字节,作为降速功能的使能字段。扩展后的priority_enable_vector字段格式如图5所示,与低字节相同,8个比特位代表对应的优先级,r[n]代表优先级n,当r[n]为1时,表示使能优先级为n的降速功能;当r[n]为0时,表示不使用降速功能。降速所需的信息包含降速时间和降速速率,通过修改time字段体现,如图6所示,修改后的time_s[n]和time_t[n],分别为降速速率和降速时间,其中,降速速率可以以百分比的形式表示,取值为0至100,对应0%至100%,表示用原发送速率乘以该百分比得到降速后的速率,降速速率还可以采用倍数的形式,取值范围1至127,表示用原发送速率除以此倍数值。
步骤S31,在基于预设控制策略确定控制方式是暂停且降速方式时,则基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段和time字段,以获得第一PFC帧,并将所述第一PFC帧作为控制数据;
在本实施例中,预设控制策略包括的控制方式有三种,分别是暂停且降速方式、暂停方式和降速方式,接收端根据当前的发生拥塞的队列对应的累积流量,根据预设的控制策略确定本次的拥塞控制方式。其中,预设控制策略由用户自定义,在本发明中不做限定。
当基于预设控制策略确定控制方式是暂停且降速方式时,说明要采取临时停止发送数据和临时降速发送数据措施,该优先级对应的暂停功能和降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,以及PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时,基于暂停时间、降速参数更新PFC帧的time字段中与该优先级对应的字节。
需要说明的是,当同时采取临时暂停发送数据和临时降速发送数据措施时,暂停时间与降速参数对应的降速时间相同,即time_t[n]表示降速的时间,同时time_t[n]也表示暂停的时间。临时暂停和临时降速的执行顺序由预设控制策略决定。
基于降速参数、暂停时间以及优先级更新后的PFC帧即为控制数据。
举例说明,同一优先级既使用降速又使用暂停功能,修改time字段作为降速信息,其中降速速率使用倍数值。当队列发生拥塞时,同一优先级既使用降速又使用暂停功能。如图7所示,优先级2需要降速和暂停,降得速率倍率为10,降速和暂停时间都为300,对应的time_s[2]为10,time_t[2]为300,其余的time都置为0。降速的使能r[2]和暂停使能e[2]都置为1,其余r[n]和e[n]置为0,整个priority_enable_vector十进制值为1028。
步骤S32,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第二PFC帧,并将所述第二PFC帧作为控制数据;
在本实施例中,在根据预设控制策略确定控制方式是暂停方式时,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,再将暂停时间更新到time字段与该优先级对应的位置。基于暂停时间以及优先级更新后的PFC帧即为控制数据。
步骤S33,在基于所述预设控制策略确定控制方式是降速方式时,则基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段以获得第三PFC帧,并将所述第三PFC帧作为控制数据。
在本实施例中,在基于预设控制策略确定控制方式是降速方式时,该优先级对应的降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,再将降速参数更新到time字段与该优先级对应的位置。
举例说明,当队列发生拥塞时,只使用降速功能,修改time字段作为降速信息,其中降速速率使用百分比。如图8所示,优先级2和3需要降速,降得速率分别为50%和20%,时间分别为300和500,对应的time_s[2]为50,time_t[2]为300,time_s[3]为20,time_t[3]为500,其余的time都置为0。降速的使能r[2]和r[3]置为1,其余r置为0,所有e[n]置为0,整个priority_enable_vector十进制值为3072。
本实施例提出的基于PFC帧的拥塞控制方法,通过启用priority_enable_vector字段中保留的高字节以及重新定义time字段生成了新的控制数据,基于控制数据解决网络拥塞,使得拥塞控制机制更灵活,丰富了解决网络拥塞的技术手段。
基于第二实施例,参照图9,提出本发明基于PFC帧的拥塞控制方法的第三实施例,在本实施例中,步骤S30还包括:
在本实施例中,使用PFC帧格式中的priority_enable_vector字段中保留的高字节,作为降速功能的使能字段。扩展后的priority_enable_vector字段格式如图5所示,与实施例二中的描述一致,这里不再赘述。降速所需的信息包含降速时间和降速速率,通过在time后添加reduce字段体现,包含reduce[0]至reduce[7]的8个数组单元,每个数组单元为2字节。reduce[n]高7bit表示降速速率reduce_s[n],低9bit表示降速时间reduce_t[n]。增加reduce字段的PFC帧格式如图10所示。其中,降速速率可以以百分比或倍数的形式,与实施例二中的描述一致,这里不再赘述。降速的时间reduce_t[n]的取值范围0-512,时间的单位和PFC帧中的pause_quanta相同,表示为物理层芯片发送512位数据所需要的时间,总时间priority_reduce_timer[n]=reduce_t[n]*pause_quanta。
步骤S34,在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加reduce字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及reduce字段,以获得第四PFC帧,并将所述第四PFC帧作为控制数据;
在本实施例中,当基于预设控制策略确定控制方式是暂停且降速方式时,说明要采取临时停止发送数据和临时降速发送数据措施,该优先级对应的暂停功能和降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,以及PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时在time字段后添加reduce字段,再将降速参数更新到reduce字段与该优先级对应的位置。
增加了reduce字段并基于降速参数、暂停时间以及优先级更新后的PFC帧即为控制数据。
举例说明,同一优先级即使用降速又使用暂停功能,增加reduce字段作为降速信息,其中降速速率使用百分比值。如图11所示,优先级2的需要降速和暂停,降得速率百分比为10%,降速时间为300,暂停时间为5000,对应的time[2]为5000,reduce_s[2]为10,reduce_t[2]为300,其余的time和reduce都置为0。降速的使能r[2]和暂停使能e[2]都置为1,其余r[n]和e[n]置为0,整个priority_enable_vector十进制值为1028。
步骤S35,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第五PFC帧,并将所述第五PFC帧作为控制数据;
在本实施例中,在根据预设控制策略确定控制方式是暂停方式时,,说明要采取临时停止发送数据措施,该优先级对应的暂停功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,再将暂停时间更新到time字段与该优先级对应的位置。基于暂停时间以及优先级更新后的PFC帧即为控制数据。
步骤S36,在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加reduce字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和reduce字段以获得第六PFC帧,并将所述第六PFC帧作为控制数据。
在本实施例中,在根据预设控制策略确定控制方式是降速方式时,说明需要采取临时降速发送数据措施,该优先级对应的降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时在time字段后添加reduce字段,再将降速参数更新到reduce字段与该优先级对应的位置。
举例说明,当队列发生拥塞时,只使用降速功能,增加reduce字段作为降速信息,其中降速速率使用百分比。如图12所示,优先级2和3的需要降速,降得速率分别为50%和20%,时间分别为300和500,对应的reduce_s[2]为50,reduce_t[2]为300,reduce_s[3]为20,reduce_t[3]为500,其余的reduce都置为0。降速的使能r[2]和r[3]置为1,其余r置为0,所有e[n]置为0,整个priority_enable_vector十进制值为3072。
本实施例提出的基于PFC帧的拥塞控制方法,通过启用priority_enable_vector字段中保留的高字节以及在time字段后reduce字段作为降速信息而生成新的控制数据,基于控制数据解决网络拥塞,使得拥塞控制机制更灵活,丰富了解决网络拥塞的技术手段。
基于第三实施例,参照图13,提出本发明基于PFC帧的拥塞控制方法的第四实施例,在本实施例中,步骤S30包括:
在本实施例中,使用PFC帧格式中的priority_enable_vector字段中保留的高字节,作为降速功能的使能字段。扩展后的priority_enable_vector字段格式如图5所示,与实施例二中的描述一致,这里不再赘述。在time字段后增加TLV字段表示降速所需的信息,有几个优先级使能了降速功能,就对应增加几个TLV,最多增加8个TLV。降速所需的信息包含在sub-TLV中。增加TLV字段的PFC帧格式如图14所示。Type表示降速的类型,可以是普通的降速,只包含降速的速率和时间;也可以是不同的降速算法,如RP算法,或者其他自定义的降速算法,其中,Type占两字节,Length占4字节。当priority_enable_vector中只使能暂停功能时,即e[n]=1,r[n]=0时,time[n]的2字节还表示原先的暂停时间,不增加TLV;当只使能降速功能时,即e[n]=0,r[n]=1时,time[n]无效,增加对应的TLV和sub-TLV;当使能暂停和降速功能时,即e[n]=1,r[n]=1时,time[n]表示暂停时间,并增加对应的TLV和sub-TLV。
步骤S37,在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加TLV字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及TLV字段,以获得第七PFC帧,并将所述第七PFC帧作为控制数据;
在本实施例中,当基于预设控制策略确定控制方式是暂停且降速方式时,说明要采取临时停止发送数据和临时降速发送数据措施,该优先级对应的暂停功能和降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,以及PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时在time字段后添加TLV字段,再将降速参数更新到TLV字段与该优先级对应的位置。需要说明的是,只有使能降速功能时才增加TLV字段。增加了TLV字段并基于降速参数、暂停时间以及优先级更新后的PFC帧即为控制数据。
举例说明,当队列发生拥塞时,有的优先级使用降速功能,有的优先级使用暂停功能,增加TLV字段作为降速信息,其中降速类型使用RP算法。PFC帧格式如图15所示,优先级2的需要降速,优先级3的需要暂停。降速类型使用RP算法,暂停的时间为30000。time[3]为30000,其余的time都置为0。降速的使能r[2]和暂停使能e[3]都置为1,其余r[n]和e[n]置为0,整个priority_enable_vector十进制值为1032。Type类型为PR算法,其需携带的参数在sub-TLV中。
步骤S38,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第八PFC帧,并将所述第八PFC帧作为控制数据;
在本实施例中,在根据预设控制策略确定控制方式是暂停方式时,说明要采取临时停止发送数据措施,该优先级对应的暂停功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的低字节中与该优先级对应的比特位进行置位,再将暂停时间更新到time字段与该优先级对应的位置。基于暂停时间以及优先级更新后的PFC帧即为控制数据。
步骤S39,在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加TLV字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和TLV字段以获得第九PFC帧,并将所述第九PFC帧作为控制数据。
在本实施例中,在根据预设控制策略确定控制方式是降速方式时,说明需要采取临时降速发送数据措施,该优先级对应的降速功能需要被使能,即需要将PFC帧对应的priority_enable_vector字段的高字节中与该优先级对应的比特位进行置位,同时在time字段后添加TLV字段,再将降速参数更新到TLV字段与该优先级对应的位置。
本实施例提出的基于PFC帧的拥塞控制方法,通过启用priority_enable_vector字段中保留的高字节以及在time字段后TLV字段作为降速信息而生成新的控制数据,基于控制数据解决网络拥塞,使得拥塞控制机制更灵活,丰富了解决网络拥塞的技术手段。
本发明进一步提供一种基于PFC帧的拥塞控制装置,参照图16,图16为本发明基于PFC帧的拥塞控制装置实施例的功能模块示意图。
在本实施例中,该基于PFC帧的拥塞控制装置包括:
获取模块10,当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级;
确定模块20,所述接收端确定所述优先级对应的降速参数和/或暂停时间;
生成模块30,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据;
发送模块40,所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度。
进一步地,所述基于PFC帧的拥塞控制装置还包括:
检测单元,所述接收端基于队列对应的队列长度实时检测各个队列中是否发生拥塞。
进一步地,所述检测单元具体包括:
判断单元,所述接收端确定所述队列长度是否大于阈值,其中,当所述队列长度大于或等于阈值时,则判定所述队列发生拥塞。
进一步地,所述生成模块30具体包括:
子生成单元1,在基于预设控制策略确定控制方式是暂停且降速方式时,则基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段和time字段,以获得第一PFC帧,并将所述第一PFC帧作为控制数据;
子生成单元2,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第二PFC帧,并将所述第二PFC帧作为控制数据;
子生成单元3,在基于所述预设控制策略确定控制方式是降速方式时,则基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段以获得第三PFC帧,并将所述第三PFC帧作为控制数据。
进一步地,所述生成模块30还包括:
子生成单元4,在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加reduce字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及reduce字段,以获得第四PFC帧,并将所述第四PFC帧作为控制数据;
子生成单元5,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第五PFC帧,并将所述第五PFC帧作为控制数据;
子生成单元6,在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加reduce字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和reduce字段以获得第六PFC帧,并将所述第六PFC帧作为控制数据。
进一步地,所述生成模块30还包括:
子生成单元7,在基于所述预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加TLV字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及TLV字段,以获得第七PFC帧,并将所述第七PFC帧作为控制数据;
子生成单元8,在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第八PFC帧,并将所述第八PFC帧作为控制数据;
子生成单元9,在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加TLV字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和TLV字段以获得第九PFC帧,并将所述第九PFC帧作为控制数据。
进一步地,所述基于PFC帧的拥塞控制装置还包括:
调整单元,在所述控制数据对应的控制时间结束后,所述发送端根据预设速度发送数据流至所述接收端。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (8)

1.一种基于PFC帧的拥塞控制方法,其特征在于,应用于支持PFC的通信系统,所述通信系统对应的每条物理链路或逻辑链路包括预设数量的队列,所述基于PFC帧的拥塞控制方法包括以下步骤:
当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取拥塞队列对应的优先级;
所述接收端确定所述优先级对应的降速参数和/或暂停时间;
所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据;所述PFC帧包括priority_enable_vector字段和time字段;
所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度;
其中,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据,包括:
在基于预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加reduce字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及reduce字段,以获得第四PFC帧,并将所述第四PFC帧作为控制数据;
priority_enable_vector表示优先级向量信息,time表示暂停发送帧时间,reduce表示降速时间和降速速率信息。
2.如权利要求1所述的基于PFC帧的拥塞控制方法,其特征在于,所述当物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取所述拥塞队列对应的优先级的步骤之前,还包括:
所述接收端基于队列对应的队列长度实时检测各个队列中是否发生拥塞队列。
3.如权利要求2所述的基于PFC帧的拥塞控制方法,其特征在于,所述接收端基于队列对应的队列长度实时检测各个队列中是否发生拥塞的步骤包括:
所述接收端确定所述队列长度是否大于阈值,其中,当所述队列长度大于或等于阈值时,则判定所述队列发生拥塞。
4.如权利要求1所述的基于PFC帧的拥塞控制方法,其特征在于,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据的步骤还包括:
在基于所述预设控制策略确定控制方式是暂停方式时,则基于所述暂停时间以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和time字段,以获得第五PFC帧,并将所述第五PFC帧作为控制数据;
在基于所述预设控制策略确定控制方式是降速方式时,则在PFC帧中增加reduce字段,基于所述降速参数以及所述优先级更新所述PFC帧对应的priority_enable_vector字段和reduce字段以获得第六PFC帧,并将所述第六PFC帧作为控制数据。
5.如权利要求1至4中任一项所述的基于PFC帧的拥塞控制方法,其特征在于,所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度的步骤之后,还包括:
在所述控制数据对应的控制时间结束后,所述发送端根据预设速度发送数据流至所述接收端。
6.一种基于PFC帧的拥塞控制装置,其特征在于,所述基于PFC帧的拥塞控制装置包括:
获取模块,当支持PFC的通信系统对应的物理链路或逻辑链路发生拥塞时,所述通信系统的接收端获取拥塞队列对应的优先级;其中,所述通信系统对应的每条物理链路或逻辑链路包括预设数量的队列;
确定模块,所述接收端确定所述优先级对应的降速参数和/或暂停时间;
生成模块,所述接收端基于所述降速参数、所述暂停时间以及所述优先级生成基于PFC帧的控制数据;所述PFC帧包括priority_enable_vector字段和time字段;
发送模块,所述接收端发送包括所述控制数据的拥塞控制指令至所述通信系统的发送端,以使所述发送端基于所述控制数据确定所述优先级的数据流的发送速度;
所述生成模块包括子生成单元(4),用于在基于预设控制策略确定控制方式是暂停且降速方式时,则在PFC帧中增加reduce字段,基于所述暂停时间、所述降速参数以及所述优先级更新PFC帧对应的priority_enable_vector字段、time字段以及reduce字段,以获得第四PFC帧,并将所述第四PFC帧作为控制数据;
priority_enable_vector表示优先级向量信息,time表示暂停发送帧时间,reduce表示降速时间和降速速率信息。
7.一种通信系统,其特征在于,所述通信系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于PFC帧的拥塞控制程序,所述基于PFC帧的拥塞控制程序被所述处理器执行时实现如权利要求1至5中任一项所述的基于PFC帧的拥塞控制方法的步骤。
8.一种存储介质,其特征在于,所述存储介质上存储有所述基于PFC帧的拥塞控制程序,所述基于PFC帧的拥塞控制程序被处理器执行时实现如权利要求1至5中任一项所述的基于PFC帧的拥塞控制方法的步骤。
CN201811654832.XA 2018-12-29 2018-12-29 基于pfc帧的拥塞控制方法、装置、系统及存储介质 Active CN111385216B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201811654832.XA CN111385216B (zh) 2018-12-29 2018-12-29 基于pfc帧的拥塞控制方法、装置、系统及存储介质
PCT/CN2019/114781 WO2020134553A1 (zh) 2018-12-29 2019-10-31 基于pfc帧的拥塞控制方法、装置、系统及存储介质
EP19905562.5A EP3905615A4 (en) 2018-12-29 2019-10-31 PFC FRAME-BASED CONGESTION CONTROL METHOD, APPARATUS, SYSTEM AND MEDIA

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811654832.XA CN111385216B (zh) 2018-12-29 2018-12-29 基于pfc帧的拥塞控制方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN111385216A CN111385216A (zh) 2020-07-07
CN111385216B true CN111385216B (zh) 2023-11-07

Family

ID=71127409

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811654832.XA Active CN111385216B (zh) 2018-12-29 2018-12-29 基于pfc帧的拥塞控制方法、装置、系统及存储介质

Country Status (3)

Country Link
EP (1) EP3905615A4 (zh)
CN (1) CN111385216B (zh)
WO (1) WO2020134553A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112134809B (zh) * 2020-09-16 2024-04-23 山东云海国创云计算装备产业创新中心有限公司 一种流量控制方法、装置、设备及可读存储介质
CN115134302B (zh) * 2022-06-27 2024-01-16 长沙理工大学 一种无损网络中避免队头阻塞和拥塞扩散的流量隔离方法
CN115174477B (zh) * 2022-06-29 2024-04-05 无锡芯光互连技术研究院有限公司 一种基于优先级流量控制的拥塞控制方法及系统
CN115460156B (zh) * 2022-09-21 2024-02-02 长沙理工大学 一种数据中心无损网络拥塞控制方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016086385A1 (zh) * 2014-12-04 2016-06-09 华为技术有限公司 一种拥塞控制的方法、设备和系统
WO2018218957A1 (zh) * 2017-05-31 2018-12-06 华为技术有限公司 一种流量控制方法、设备及系统

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6957269B2 (en) * 2001-01-03 2005-10-18 Advanced Micro Devices, Inc. Method and apparatus for performing priority-based flow control
US20110261686A1 (en) * 2010-04-21 2011-10-27 Kotha Saikrishna M Priority Pause (PFC) in Virtualized/Non-Virtualized Information Handling System Environment
US10027590B2 (en) * 2014-02-24 2018-07-17 Avago Technologies General Ip (Singapore) Pte. Ltd. End to end flow control
CN103997465B (zh) * 2014-05-27 2018-02-23 华为技术有限公司 一种生成cnm的方法及设备
US9258256B2 (en) * 2014-07-01 2016-02-09 Netronome Systems, Inc. Inverse PCP flow remapping for PFC pause frame generation
CN108512774A (zh) * 2018-04-18 2018-09-07 清华大学 无丢失网络中的拥塞控制方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016086385A1 (zh) * 2014-12-04 2016-06-09 华为技术有限公司 一种拥塞控制的方法、设备和系统
WO2018218957A1 (zh) * 2017-05-31 2018-12-06 华为技术有限公司 一种流量控制方法、设备及系统

Also Published As

Publication number Publication date
EP3905615A1 (en) 2021-11-03
WO2020134553A1 (zh) 2020-07-02
CN111385216A (zh) 2020-07-07
EP3905615A4 (en) 2022-09-21

Similar Documents

Publication Publication Date Title
CN111385216B (zh) 基于pfc帧的拥塞控制方法、装置、系统及存储介质
US11627493B2 (en) Supporting the fulfilment of E2E QoS requirements in TSN-3GPP network integration
EP3661137B1 (en) Packet control method and network device
WO2021018087A1 (zh) 数据传输方法及装置
CN106134138B (zh) 一种拥塞控制的方法、设备和系统
EP1303083B1 (en) Packet scheduling apparatus
CN113630796B (zh) 服务质量监测方法、设备及系统
EP2561660B1 (en) Controlling data transmission over a network
US20060203855A1 (en) Communication control system and communication control method
JP2007527676A (ja) 争奪ベースデータリンク上の、等時性データグラム配信のための方法および装置
US11683268B2 (en) Switch device, communication control method and recording medium
JP2019503147A (ja) スポラディックネットワークトラフィックの超低送信レイテンシー
WO2017091941A1 (zh) 一种处理业务数据包的方法及装置
JP3551905B2 (ja) 管理局及びネットワークシステム並びにネットワークシステムにおける通信方法
WO2022042282A1 (zh) 一种无损流量拥塞自适应方法、系统和网络设备
JP5673057B2 (ja) 輻輳制御プログラム、情報処理装置および輻輳制御方法
JP2009284297A (ja) マルチセッション対応ルータおよびその通信制御方法
JP4973452B2 (ja) WiMAXスケジューラーの待ち時間カウントを使用した無効データ除去
RU2772112C1 (ru) Способ и устройство для контроля перегрузки сети на базе кадра pfc, система и носитель данных
CN117014967A (zh) 移动通信系统、方法和用户面节点
JP4838739B2 (ja) ルータのバッファ管理方法並びにその管理方法を用いたルータ
WO2012152119A1 (zh) 业务调度方法及装置
US20220050440A1 (en) Communication Device and Method for Data Transmission within an Industrial Communication Network
FI127540B (en) Network resource management of communication resources
JP6328324B2 (ja) 無線通信装置、無線通信方法及び無線通信プログラム

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