一种分组网络中控制流量的方法及装置制造方法及图纸

技术编号:28632213 阅读:13 留言:0更新日期:2021-05-28 16:29
本申请公开了一种分组网络中控制流量的方法,能够有效降低网络拥塞和传输延时。该方法中,发送端在发送C个数据报文之前,通过控制通道发送与所述C个数据报文对应的控制报文。所述发送端在接收到接收端反馈的与所述控制报文对应的报文后,获知与所述控制通道对应的数据通道允许发送所述C个数据报文。所述发送端通过所述数据通道发送所述C个数据报文。在所述发送端与所述接收端之间的中间节点在接收到来自所述发送端的控制报文后,根据预设时长发送控制队列中的控制报文。所述中间节点在完成了所述控制队列中的一个控制报文的发送之后,执行数据队列中的C个数据报文的发送。所述中间节点通过控制报文的发送节奏来控制数据报文的发送节奏。

【技术实现步骤摘要】
一种分组网络中控制流量的方法及装置本申请是于2018年2月14日提交中国专利局、申请号为CN201810152118.4、专利技术名称为“一种分组网络中控制流量的方法及装置”的中国专利申请的分案申请。
本申请涉及通信领域,尤其涉及一种分组网络中控制流量的方法及装置。
技术介绍
目前分组网络是以互联网协议(InternetProtocol,IP)提供的端到端的报文传输为基础。传输控制协议(TransmissionControlProtocol,TCP)保证了上述端到端的报文传输过程中的可靠性。因此,TCP成为了目前分组网络中被使用最多的传输协议。TCP在保证传输可靠性的同时,还可利用滑动窗口机制实现流量控制。该滑动窗口机制中,发送端与接收端建立TCP连接的过程中,接收端向发送端通告接收端的接收窗口(receivewindow,rwnd)的数值。该rwnd的数值用于表示接收端缓冲区的大小,具体地,该rwnd的数值可携带在TCP报文头的窗口字段发送至发送端。发送端根据rwnd的数值设置其发送窗口(sendwindow,swnd)的数值。该swnd的数值小于等于rwnd的数值和拥塞窗口(congestionwindow,cwnd)的数值中的最小值。该cwnd的数值用于表示网络允许的该TCP流最大的在途数据量。发送端根据swnd的数值,向接收端发送数据。接收端根据其缓冲区的缓存能力的改变,可通过用于确认收到数据的确认(acknowledgement,ACK)消息,向发送端通告更新后的rwnd的数值。发送端在接收到接收端发送的更新后的rwnd的数值后,动态调整发送端的swnd的数值。直至rwnd的数值被调整为接近0值,发送端不再向接收端发送数据。该滑动窗口机制实现流量控制的方法是采用AIMD机制试探发送端与接收端之间的网络传输能力。这种试探机制控制精度较低,会造成网络拥塞,传输延时较大的问题。
技术实现思路
本申请实施例提供了一种分组网络中控制流量的方法及装置,能够有效降低网络拥塞和传输延时。第一方面,提供了一种分组网络中控制流量的方法,所述方法包括:发送端通过控制通道向接收端发送第一控制报文,所述第一控制报文包括参数集;所述发送端接收所述接收端发送的第二控制报文,所述第二控制报文包括所述参数集;所述发送端在接收到包括所述参数集的所述第二控制报文后,通过数据通道向所述接收端发送所述第一数据报文集,所述第一数据报文集包括C个数据报文,所述C为大于或等于1的整数,所述第一数据报文集中的任一数据报文包括所述参数集。上述方法中,发送端在发送数据报文的过程中,比如所述发送端发送第一数据报文集的过程中,通过发送第一控制报文来探测所述第一数据报文集的传输链路上的拥塞状况。所述发送端在接收到与所述第一控制报文对应的第二控制报文后,确认所述第一数据报文集的传输链路未发生拥塞,所述第一数据报文集可被发送。所述发送端通过控制报文来控制数据报文的发送节奏,有助于在链路发生拥塞之前减少链路拥塞的发生,能够有效降低网络拥塞和传输时延。其中,所述参数集是能够用来识别数据报文所属的业务流的参数的集合。在互联网协议(InternetProtocol,IP)网络中,所述参数集包括五元组,或者所述参数集包括源地址和目的地址。所述源地址为源媒体接入控制(MediaAccessControl,MAC)地址或源IP地址。所述目的地址为目的MAC地址或目的IP地址。在光纤通道(fiberchannel,FC)网络中,所述参数集包括FC对应的源地址和目的地址。在一种可能的设计中,所述参数集包括所述五元组和流标识,所述流标识用于标识所述第一数据报文集所属的业务流。在另一种可能的设计中,所述参数集包括所述源地址、所述目的地址和所述流标识。其中,所述数据通道和所述控制通道承载于所述发送端与所述接收端之间的一条或多条物理链路。在一种可能的设计中,若所述数据通道和所述控制通道承载于所述发送端与所述接收端之间的一条物理链路上,则所述数据通道的带宽和所述控制通道的带宽之和为所述一条物理链路的带宽,且所述数据通道和所述控制通道的带宽比为所述C个数据报文的包长之和与任一控制报文的包长之比。上述方法中,所述带宽比使得发送一个控制报文所需的时长与发送C个数据报文所需的时长相同,有助于充分利用物理链路上的带宽资源和降低传输延时。在另一种可能的设计中,若所述数据通道和所述控制通道分别承载所述发送端与所述接收端之间的两条物理链路上,则承载所述数据通道的物理链路和承载所述控制通道的物理链路的带宽比为所述C个数据报文的包长之和与任一控制报文的包长之比。承载所述数据通道的物理链路和承载所述控制通道的物理链路所经过的节点相同,这样,通过发送控制报文所探测获得的承载所述控制通道的物理链路的链路状况能够间接地反映承载所述数据通道的物理链路的链路状况。其中,在网络中未发生丢弃控制报文的情况下,所述第二控制报文为所述第一控制报文的源地址和目的地址交换后获得的控制报文。在网络中发生了丢弃控制报文的情况下,所述第二控制报文可以是第三控制报文的源地址和目的地址交换后获得的控制报文,所述第三控制报文是所述发送端在发送了所述第一控制报文之后发送的控制报文。在一种可能的设计中,所述发送端通过控制通道向接收端发送第一控制报文之前,所述方法还包括:所述发送端根据所述第一数据报文集中的任一数据报文,获得所述第一控制报文的报文头,所述第一控制报文的报文头包括所述参数集;所述发送端根据所述第一控制报文的报文头和预设的包长,生成所述第一控制报文。上述方法中,所述发送端可根据数据报文来生成与之对应的控制报文,以便于利用生成的控制报文来控制数据报文的发送节奏。其中,所述第一控制报文可缓存于所述发送端的控制队列中,或者所述第一控制报文在生成后即被所述发送端发送而不缓存。当所述发送端上存在所述控制队列时,所述控制队列中的控制报文需要经过所述控制通道进行发送。所述第一数据报文集可缓存于所述发送端的数据队列中。所述数据队列中的数据报文可通过所述数据通道进行发送。在一种可能的设计中,所述发送端在接收到所述第二控制报文后,所述方法还包括:所述发送端根据和式增加积式减少(additive-increase/multiplicative-decrease,AIMD)算法,通过所述控制通道发送第三控制报文,所述第三控制报文包括所述参数集。所述发送端在预设时长内未接收到接收端反馈的控制报文后,比如所述发送端在预设时长内未接收到所述第二控制报文,则所述发送端可以延迟发送所述第三控制报文,进而控制数据报文的发送节奏。上述方法中,在分组网络的链路发生拥塞的初期,所述发送端通过动态调整发送控制报文的节奏来控制数据报文的发送节奏,有助于降低链路发生拥塞的概率。在一种可能的设计中,所述发送端通过所述控制通道发送第三控制报文之后,所述方法还包括:所述发送端接收所述接收端发送的第四控制报文,所述第四控制报文包括所述参数集;所述发送端在接收到包括所述参数集的所述第四控制报文之后,通过所述数据通道向所述接收端发送第二数据报本文档来自技高网
...

【技术保护点】
1.一种分组网络中控制流量的方法,其特征在于,包括:/n中间节点根据第一时长,发送第一控制队列中位于队首的控制报文,所述第一时长是基于承诺突发尺寸CBS与第一承诺信息速率CIR获得,所述中间节点用于在所述分组网络中向第一接收端发送来自第一发送端的报文;/n所述中间节点根据已发送的控制报文,发送数据队列中位于队首的第一数据报文集,所述第一数据报文集包括C个数据报文,所述C为大于或等于1的整数。/n

【技术特征摘要】
1.一种分组网络中控制流量的方法,其特征在于,包括:
中间节点根据第一时长,发送第一控制队列中位于队首的控制报文,所述第一时长是基于承诺突发尺寸CBS与第一承诺信息速率CIR获得,所述中间节点用于在所述分组网络中向第一接收端发送来自第一发送端的报文;
所述中间节点根据已发送的控制报文,发送数据队列中位于队首的第一数据报文集,所述第一数据报文集包括C个数据报文,所述C为大于或等于1的整数。


2.根据权利要求1所述的方法,其特征在于,还包括:
所述中间节点接收来自所述第一发送端的第一控制报文,所述第一控制报文包括第一参数集;
所述中间节点接收所述分组网络中第二发送端发送的第二控制报文,所述第二控制报文包括第二参数集,所述第二参数集与所述第一参数集不相同,所述中间节点用于在所述分组网络中向第二接收端发送来自所述第二发送端的报文;
所述中间节点基于接收到所述第一控制报文和所述第二控制报文的顺序,将所述第一控制报文和所述第二控制报文放入所述第一控制队列。


3.根据权利要求2所述的方法,其特征在于,所述C个数据报文是来自于所述第一发送端的数据报文,所述来自于所述第一发送端的数据报文包括所述第一参数集;或者
所述C个数据报文是来自于所述第二发送端的数据报文,所述来自于所述第二发送端的数据报文包括所述第二参数集。


4.根据权利要求1至3任一所述的方法,其特征在于,还包括:
所述中间节点在所述数据队列中已缓存的数据报文的包长之和大于或等于第一阈值且小于第二阈值时,根据所述CBS和第二CIR获得第二时长,所述第二CIR小于所述第一CIR,所述第一阈值大于所述C个数据报文的包长之和,所述第二阈值为所述数据队列所能缓存数据报文的包长之和的最大值;
所述中间节点根据所述第二时长,发送所述第一控制队列中位于队首的控制报文;
所述中间节点根据已发送的控制报文,发送所述数据队列中位于队首的第二数据报文集,所述第二数据报文集包括C个数据报文。


5.根据权利要求1至3任一所述的方法,其特征在于,还包括:
所述中间节点在所述数据队列处于空闲状态的时长达到第三阈值时,根据所述CBS和第三CIR获得第三时长,所述第三CIR大于所述第一CIR,所述第三阈值为第一RTT和第二RTT中的最大值,所述第一RTT为所述中间节点发送第一控制报文起直至所述中间节点接收到由所述第一控制报文触发发送的C个数据报文为止的时长,所述第二RTT为所述中间节点发送第二控制报文起直至所述中间节点接收到由所述第二控制报文触发发送的C个数据报文为止的时长;
所述中间节点根据所述第三时长,发送所述第一控制队列中位于队首的控制报文;
所述中间节点根据已发送的控制报文,发送所述数据队列中位于队首的第二数据报文集,所述第二数据报文集包括C个数据报文。


6.根据权利要求1至3任一所述的方法,其特征在于,还包括:
所述中间节点在所述数据队列中已缓存的数据报文的包长之和大于或等于第二阈值时,发送所述数据队列中位于队首的第二数据报文集,且停止发送所述第一控制队列中位于队首的控制报文,所述第二数据报文集包括C个数据报文,所述第二阈值为所述数据队列所能缓存数据报文的包长之和的最大值。


7.根据权利要求1所述的方法,其特征在于,还包括:
所述中间节点接收来自所述第一发送端的第一控制报文,将所述第一控制报文放入所述第一控制队列,所述第一控制报文包括第一参数集;
所述中间节点接收来自第二发送端的第二控制报文,将所述第二控制报文放入第二控制队列,所述第二控制队列的优先级低于所述第一控制队列的优先级,所述第二控制报文包括第二参数集,所述第二参数集与所述第一参数集不相同,所述中间节点用于在所述分组网络中向第二接收端发送来自所述第二发送端的报文;
中间节点根据第一时长,发送第一控制队列中位于队首的控制报文包括:所述中间节点根据所述第一控制队列的优先级和所述第二控制队列的优先级,在达到所述第一时长后,按照优先级调度策略发送所述第一控制队列或所述第二控制队列中的控制报文,所述优先级调度策略为优先级队列调度PQ或加权公平队列调度WFQ。


8.根据权利要求1至7任一所述的方法,其特征在于,所述第一控制报文包括第一参数集、第一RTT和C个序列号,所述第一RTT为所述中间节点发送第一控制报文起直至所述中间节点接收到由所述第一控制报文触发发送的C个数据报文为止的时长,所述中间节点根据第一时长,发送第一控制队列中位于队首的控制报文之前,还包括:
所述中间节点在所述数据队列存在空闲的且未被预留的存储空间,且所述中间节点的登记表存在未被占用的C个表项,则确定预留第一存储空间,所述第一存储空间用于缓存所述由所述第一控制报文触发发送的所述C个数据报文;
所述中间节点根据所述第一参数集和所述C个序列号,生成C个标识,所述C个标识中的第i标识为所述第一参数集和所述C个序列号中的第i序列号生成的标识,所述i的取值范围为1至所述C中的整数;
所述中间节点将所述第一RTT和所述C个标识写入所述未被占用的C个表项中,所述C个表项中的第i表项包括所述第一RTT和所述第i标识。


9.根据权利要求8所述的方法,其特征在于,所述中间节点将所述第一RTT和所述C个标识写入所述未被占用的C个表项中之后,还包括:
所述中间节点为所述C个表项中的第i表项设置第i定时器,所述第i定时器的时长为所述第一RTT;
所述中间节点在所述第i定时器超时之前未接收到第i数据报文,则所述中间节点释放所述C个表项中的第i表项和所述第一存储空间中为所述第i数据报文预留的存储空间,所述第i数据报文为所述由所述第一控制报文触发发送的所述C个数据报文中的任一数据报文,所述第i数据报文包括所述第一参数集和所述第i序列号。


10.根据权利要求8或9所述的方法,其特征在于,所述第一数据报文集为所述由所述第一控制报文触发发送的所述C个数据报文,所述第一数据报文集中的第j数据报文包括所述第一参数集和第j序列号,所述j的取值为1至所述C中的整数,所述中间节点根据已发送的控制报文,发送数据队列中位于队首的第一数据报文集之前,还包括:
所述中间节点根据所述第j数据报文包括的所述第一参数集和所述第j序列号,生成第j标识;
所述中间节点在确定所述登记表包括所述第j标识之后,将所述第j数据报文放入所述中间节点的数据队列中;
所述中间节点释放所述登记表中包括所述第j标识的表项。


11.根据权利要求8或9所述的方法,其特征在于,所述第一数据报文集为所述由所述第一控制报文触发发送的所述C个数据报文,所述第一数据报文集中的第j数据报文包括所述第一参数集和第j序列号,所述j的取值为1至所述C中的整数,所述中间节点根据已发送的控制报文,发送数据队列中位于队首的第一数据报文集之前,还包括:
所述中间节点根据所述第j数据报文包括的所述第一参数集和所述第j序列号,生成第j标识;
所述中间节点在确定所述登记表不包括所述第j标识之后,判断所述数据队列中是否存在空闲的且未被预留的可容纳所述第j数据报文的存储空间;
所述中间节点确定所述数据队列中存在空闲的且未被预留的可容纳所述第j数据报文的存储空间之后,将所述第j数据报文放入所述中间节点的数据队列中。


12.根据权利要求11所述的方法,其特征在于,还包括:
所述中间节点确定所述数据队列中不存在空闲的且未被预留的可容纳所述第j数据报文的存储空间之后,丢弃所述第j数据报文...

【专利技术属性】
技术研发人员:李国平袁庭球涂伯颜马涛
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1