CN111416776A - 传输数据的方法和网络设备 - Google Patents

传输数据的方法和网络设备 Download PDF

Info

Publication number
CN111416776A
CN111416776A CN201910013069.0A CN201910013069A CN111416776A CN 111416776 A CN111416776 A CN 111416776A CN 201910013069 A CN201910013069 A CN 201910013069A CN 111416776 A CN111416776 A CN 111416776A
Authority
CN
China
Prior art keywords
network device
network equipment
data
network
sequence number
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.)
Granted
Application number
CN201910013069.0A
Other languages
English (en)
Other versions
CN111416776B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910013069.0A priority Critical patent/CN111416776B/zh
Priority to EP19908321.3A priority patent/EP3902215A4/en
Priority to PCT/CN2019/130692 priority patent/WO2020143509A1/zh
Publication of CN111416776A publication Critical patent/CN111416776A/zh
Priority to US17/369,739 priority patent/US12015560B2/en
Application granted granted Critical
Publication of CN111416776B publication Critical patent/CN111416776B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • 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/39Credit based
    • 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
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] 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/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0044Arrangements for allocating sub-channels of the transmission path allocation of payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/20Control channels or signalling for resource management
    • H04W72/23Control channels or signalling for resource management in the downlink direction of a wireless link, i.e. towards a terminal

Landscapes

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

Abstract

本申请提供了传输数据的方法和网络设备,该方法包括:第一网络设备向第二网络设备发送请求信息;该第一网络设备接收该第二网络设备发送的授权信息,该授权信息包括第一序列号;该第一网络设备根据该第一序列号,确定第一信誉额度,该第一信誉额度为该第一网络设备可采用包分发负载分担方式发送数据的数据量;该第一网络设备根据该第一信誉额度,向该第二网络设备发送数据。在上述技术方案中,第一网络设备根据第二网络设备的授权信息,确定可以用包分发负载分担方式发送的数据量,进而根据该数据量向第二网络设备发送数据,可以避免发送的数据量超过第二网络设备的能够缓存并排序的数据量,从而能够避免数据报文从第二网络设备乱序发出。

Description

传输数据的方法和网络设备
技术领域
本申请涉及通信领域,并且更具体地,涉及传输数据的方法和网络设备。
背景技术
数据中心网络(data center network,DCN)普遍采用clos拓扑结构,典型的有三层胖树(fat-tree)结构和叶-脊(leaf-spine)。随着业务的发展,数据中心网络面临着新的需求。运营商中心局(central office,CO)云化改造、高性能计算、机器学习、基于融合以太远程内存直接访问协议(remote direct memory access over converged ethernet,ROCE)等都需要数据中心网络具有高性能。
包交换负载分担方式针对一条数据流的每一个数据包都进行一次路径选择,可以做到绝对的负载均匀。但是,由于各路径上的时延、拥塞程度等不同,在接收端网络设备处数据包会发生乱序。通常,可以通过暴力保序解决乱序问题,即在接收端网络设备处设置大缓存用于接收乱序数据包并进行重新排序。
但是,由于上述保序操作是在芯片上实现的,而通常芯片上资源非常有限,不可能支持很大的存储资源用于缓存排序。当缓存资源不够时,排序缓存很容易被打满,就无法保证对全部接收到的数据进行重排序,导致数据报文从接收端网络设备乱序发出。
发明内容
本申请提供传输数据的方法和网络设备,能够避免数据报文从接收端网络设备乱序发出,提高数据中心网络的性能。
第一方面,本申请提供了一种传输数据的方法,该方法包括:第一网络设备向第二网络设备发送请求信息,该请求信息用于请求发送数据;该第一网络设备接收该第二网络设备发送的授权信息,该授权信息包括第一序列号;该第一网络设备根据该第一序列号,确定第一信誉额度,该第一信誉额度为该第一网络设备可采用包分发负载分担方式发送数据的数据量;该第一网络设备根据该第一信誉额度,向该第二网络设备发送数据。
在上述技术方案中,第一网络设备根据第二网络设备的授权信息,确定可以用包分发负载分担方式发送的数据量,进而根据该数据量向第二网络设备发送数据,可以避免发送的数据量超过第二网络设备的能够缓存并排序的数据量,从而能够避免数据报文从第二网络设备乱序发出,提高数据中心网络的性能。
在一些可能的实现方式中,该第一网络设备根据该第一序列号,确定第一信誉额度,包括:在该第一序列号大于该第一网络设备已经接收到的最大第一序列号时,该第一网络设备根据该第一序列号与该最大第一序列号的差值,确定该第一信誉额度
考虑到授权信息在传输过程中可能出现丢失的情况,上述技术方案中第一网络设备根据记录的最大第一序列号和本次接收的第一序列号的差值确定第一信誉额度,这样即使授权信息出现了丢失的情况,第一网络设备根据后续接收到的授权信息确定的第一信誉额度也包括了丢失的授权信息中指示的信誉额度,从而可以提高数据中心网络数据传输的可靠性。
在一些可能的实现方式中,该第一网络设备根据该第一信誉额度,向该第二网络设备发送数据,包括:在预设时间段内,该第一信誉额度小于或者等于第一阈值时,该第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并采用逐流负载分担方式向该第二网络设备发送数据。
在上述技术方案中,在一段时间内第一信誉额度都比较小的情况下,第一网络设备使用逐流负载分担方式发送数据,这样可以避免数据报文乱序的发生。
在一些可能的实现方式中,该授权信息还包括第二序列号;该方法还包括:该第一网络设备根据该第二序列号,确定第二信誉额度,该第二信誉额度为该第一网络设备可向该第二网络设备的端口上发送的数据量;该第一网络设备根据该第一信誉额度,向该第二网络设备发送数据,包括:该第一网络设备根据该第一信誉额度和该第二信誉额度,向该第二网络设备发送数据。
在上述技术方案中,第一网络设备同时根据第一信誉额度和第二信誉额度,确定发送数据的方式以及大小,能够保证数据报文的传输既不拥塞也不乱序,从而提高数据中心网络的性能。
在一些可能的实现方式中,该第一网络设备根据该第二序列号,确定第二信誉额度,包括:在该第二序列号大于该第一网络设备已经接收到的最大第二序列号时,该第一网络设备根据该第二序列号与该最大第二序列号的差值,确定该第二信誉额度。
考虑到授权信息在传输过程中可能出现丢失的情况,上述技术方案中第一网络设备根据记录的最大第二序列号和本次接收的第二序列号的差值确定第二信誉额度,这样即使授权信息出现了丢失的情况,第一网络设备根据后续接收到的授权信息确定的第二信誉额度也包括了丢失的授权信息中指示的信誉额度,从而可以提高数据中心网络数据传输的可靠性。
在一些可能的实现方式中,该第一网络设备根据该第一信誉额度和该第二信誉额度,向该第二网络设备发送数据,包括:该第一网络设备根据该第一信誉额度和该第二信誉额度中较小的一个,向该第二网络设备发送数据;或当该第一信誉额度小于该第二信誉额度,且该第一信誉额度与该第二信誉额度的差值大于第二阈值时,该第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并按照逐流负载分担方式向第二网络设备发送数据。
在上述技术方案中,第一网络设备同时根据第一信誉额度和第二信誉额度,确定发送数据的方式以及大小,能够更有效地进行数据报文的传输,从而提高数据中心网络的性能。
在一些可能的实现方式中,该第一网络设备接收该第二网络设备发送的授权信息之后,该方法还包括:在该第一序列号大于该最大第一序列号时,该第一网络设备将该最大第一序列号更新为该第一序列号;在该第二序列号大于该最大第二序列号时,该第一网络设备将该最大第二序列号更新为该第二序列号。
在上述技术方案中,第一网络设备实时更新最大第一序列号和最大第二序列号,可以保证第一信誉额度不多不漏。
在一些可能的实现方式中,该请求信息还包括使能字段,该使能字段用于指示该第一网络设备是否使能包分发功能和/或请求-授权流控功能。
在上述技术方案中,第一网络设备通过请求信息通知第二网络设备采用的负载分担方式,以便第二网络设备能够正确接收数据。
在一些可能的实现方式中,该请求信息还用于指示请求量,该请求量为该第一网络设备请求发送的数据量。
在上述技术方案中,第一网络设备向第二网络设备发送请求发送的数据量,便于第二网络设备更合理的分配资源。
在一些可能的实现方式中,在该第一网络设备的累加基数与该第二网络设备的累加基数同步之前,该请求信息包括该请求量;在该第一网络设备接收到该授权信息之后,该方法还包括:该第一网络设备根据该第一序列号或该第二序列号,确定该累加基数,该累加基数用于确定第三序列号,该第三序列号为该累加基数、该第一网络设备已经请求发送的数据量和本次请求量三者之和。通过上述技术方案,可以提高数据传输的可靠性。
在一些可能的实现方式中,在该第一网络设备的累加基数与该第二网络设备的累加基数同步之后,该请求信息包括第三序列号,该第三序列号为该累加基数、该第一网络设备已经请求发送的数据量和本次请求量三者之和。
考虑到请求信息在传输过程中可能出现丢失的情况,上述技术方案中在第一网络设备的累加基数与第二网络设备的累加基数同步之后,使用该累加基数、该第一网络设备已经请求发送的数据量和本次请求量三者之和,来指示第一网络设备请求发送的数据量,这样即使请求信息出现了丢失的情况,第二网络设备根据后续接收到的请求信息确定的请求量也包括了丢失的请求信息中指示的数据量,从而可以提高数据中心网络数据传输的可靠性。
在一些可能的实现方式中,承载该请求信息的报文和承载该授权信息的报文采用标准虚拟可扩展局域网络通用协议扩展封装或标准通用网络虚拟化封装。
在上述技术方案中,采用标准的封装形式封装报文,能够避免不同厂商设备之间的交互困难。
第二方面,本申请提供了一种传输数据的方法,该方法包括:第二网络设备接收第一网络设备发送的请求信息,该请求信息用于请求发送数据;该第二网络设备确定第一信誉额度,该第一信誉额度为该第一网络设备可采用包分发负载分担方式发送数据的数据量;该第二网络设备根据该第一信誉额度,确定第一序列号,该第一序列号用于指示在包分发负载分担方式下第二网络设备已经授权该第一网络设备发送的数据量与本次授权该第一网络设备发送的数据量之和;该第二网络设备向该第一网络设备发送授权信息,该授权信息包括该第一序列号。
在上述技术方案中,第二网络设备确定第一网络设备可以用包分发负载分担方式发送的数据量,并反馈给第一网络设备,使得第一网络设备可以根据该数据量向第二网络设备发送数据,可以避免发送的数据量超过第二网络设备的能够缓存并排序的数据量,从而能够避免数据报文从第二网络设备乱序发出,提高数据中心网络的性能。
在一些可能的实现方式中,该第二网络设备确定第一信誉额度,包括:该第二网络设备确定该第一信誉额度为第一预设额度;或该第二网络设备根据排序缓存余量和该请求信息,确定该第一信誉额度,该排序缓存用于对乱序数据进行重排序。
上述技术方案中,第二网络设备根据排序缓存余量确定第一网络设备可用包分发负载分担方式发送的数据量,可以避免发送的数据量超过第二网络设备的能够缓存并排序的数据量,从而能够避免数据报文从第二网络设备乱序发出,提高数据中心网络的性能。
在一些可能的实现方式中,该授权信息还包括第二序列号,该第二序列号用于指示该第二网络设备已经授权该第一网络设备向该第二网络设备的端口上发送的数据量与本次授权该第一网络设备向该第二网络设备的端口上发送的数据量之和;该方法还包括:该第二网络设备确定第二信誉额度,该第二信誉额度为该第一网络设备可向该第二网络设备的端口上发送的数据量;该第二网络设备根据该第二信誉额度,确定该第二序列号。
在上述技术方案中,第二网络设备确定第一网络设备可向该第二网络设备的端口上发送的数据量,并反馈给第一网络设备,使得第一网络设备可以根据该数据量向第二网络设备发送数据,可以避免发送的数据超过第二网络设备的能够接收的数据量,从而能够避免流量发生拥塞,提高数据中心网络的性能。
在一些可能的实现方式中,该第二网络设备确定第二信誉额度,包括:该第二网络设备确定该第二信誉额度为第二预设额度;或该第二网络设备根据带宽余量和该请求信息,确定第二信誉额度。通过上述技术方案可以避免发送的数据超过第二网络设备的能够接收的数据量,从而能够避免流量发生拥塞,提高数据中心网络的性能。
在一些可能的实现方式中,该请求信息还包括使能字段,该使能字段用于指示该第一网络设备上是否使能包交换功能和/或请求-授权流控功能。
在上述技术方案中,第一网络设备通过请求信息通知第二网络设备采用的负载分担方式,以便第二网络设备能够正确接收数据。
在一些可能的实现方式中,该请求信息还用于指示请求量,该请求量为该第一网络设备请求的发送的数据量;该第二网络设备根据排序缓存余量和该请求信息,确定第一信誉额度,包括:该第二网络设备根据排序缓存余量和该请求量,确定第一信誉额度;该第二网络设备根据带宽余量和该请求信息,确定第二信誉额度,包括:该第二网络设备根据带宽余量和该请求量,确定第二信誉额度。
在上述技术方案中,第一网络设备向第二网络设备发送请求发送的数据量,便于第二网络设备更合理的分配资源。
在一些可能的实现方式中,在该第一网络设备的累加基数与该第二网络设备的累加基数同步之前,该请求信息包括该请求量;该方法还包括:该第二网络设备生成该累加基数;该第二网络设备根据该第一信誉额度,确定第一序列号,包括:该第二网络设备根据该累加基数、该第一信誉额度,确定该第一序列号;该第二网络设备根据该第二信誉额度,确定第二序列号,包括:该第二网络设备根据该累加基数、该第二信誉额度,确定该第二序列号。通过上述技术方案,可以提高数据传输的可靠性。
在一些可能的实现方式中,在该第一网络设备的累加基数与该第二网络设备的累加基数同步之后,该请求信息包括第三序列号,该第三序列号为该累加基数、该第一网络设备已经请求发送的数据量和本次请求量三者之和。
考虑到请求信息在传输过程中可能出现丢失的情况,上述技术方案中在第一网络设备的累加基数与第二网络设备的累加基数同步之后,使用该累加基数、该第一网络设备已经请求发送的数据量和本次请求量三者之和,来指示第一网络设备请求发送的数据量,这样即使请求信息出现了丢失的情况,第二网络设备根据后续接收到的请求信息确定的请求量也包括了丢失的请求信息中指示的数据量,从而可以提高数据中心网络数据传输的可靠性。
在一些可能的实现方式中,承载该请求信息的报文和承载该授权信息的报文采用标准虚拟可扩展局域网络通用协议扩展封装或标准通用网络虚拟化封装。
在上述技术方案中,采用标准的封装形式封装报文,能够避免不同厂商设备之间的交互困难。
第三方面,本申请提供了一种网络设备,包括用于执行第一方面或第一方面任意一种实现方式中的模块。
第四方面,本申请提供了一种网络设备,包括用于执行第二方面或第二方面任意一种实现方式中的模块。
第五方面,本申请提供了一种芯片,包括收发器、处理器和存储器,用于执行第一方面或第一方面任意一种实现方式所述的方法。
第六方面,本申请提供了一种芯片,包括收发器、处理器和存储器,用于执行第二方面或第二方面任意一种实现方式所述的方法。
第七方面,本申请提供了一种网络设备,包括收发器、处理器和存储器,用于执行第一方面或第一方面任意一种实现方式所述的方法。
第八方面,本申请提供了一种网络设备,包括收发器、处理器和存储器,用于执行第二方面或第二方面任意一种实现方式所述的方法。
第九方面,本申请提供了一种计算机可读存储介质,包括指令,当其在网络设备上运行时,使得网络设备执行第一方面或第一方面任意一种实现方式所述的方法。
第十方面,本申请提供了一种计算机可读存储介质,包括指令,当其在网络设备上运行时,使得网络设备执行第二方面或第二方面任意一种实现方式所述的方法。
第十一方面,本申请提供了一种计算机程序产品,当其在网络设备上运行时,使得网络设备执行第一方面或第一方面任意一种实现方式所述的方法。
第十二方面,本申请提供了一种计算机程序产品,当其在网络设备上运行时,使得网络设备执行第二方面或第二方面任意一种实现方式所述的方法。
附图说明
图1是可以应用本申请实施例的数据中心网络的拓扑结构示意图。
图2是可以应用本申请实施例的数据中心网络的另一拓扑结构示意图。
图3是应用本申请实施例的传输数据的方法的数据中心网络的信息交互。
图4是本申请实施例的传输数据的方法的示意性流程图。
图5是本申请实施示例的传输数据的方法的具体例子。
图6是本申请实施例的累加基数同步的示意性流程图。
图7是本申请实施例可配置的流控方案的示意图。
图8是本申请实施例可配置的负载分担方案的示意图。
图9是本申请实施例的请求信息的各个字段。
图10是本申请实施例的授权信息的各个字段。
图11是基于标准以太报文的VXLAN-GPE封装。
图12是基于标准以太报文的GENEVE封装。
图13是具有私有头封装的以太报文格式。
图14是本申请实施例的网络设备的逻辑图。
图15是根据本申请实施例提供的网络设备的示意性结构图。
图16是根据本申请实施例提供的网络设备的示意性结构图。
图17是本申请另一实施例提供的网络设备的示意性结构图。
图18是本申请另一实施例提供的网络设备的示意性结构图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请实施例的技术方案可以应用于各种拓扑结构的数据中心网络,例如,分级的互联网模型(例如,三层胖树结构等)。本申请实施例的技术方案也可以应用于其他的场景,只要在该场景下源端设备需要向目的端设备发送数据,目的端设备需要接收源端设备发送来的数据即可。
本申请对网络设备的类型不做具体限定,例如可以是数据中心网络中的网络设备。具体地,例如各种交换机或者具有同交换机类似功能的其他设备。
可以理解的是,本申请实施例中第一网络设备和第二网络设备中的“第一”和“第二”仅是为了区分不同的网络设备,而并非是对网络设备本身功能进行限定。一个网络设备既可以作为第一网络设备,也可以作为第二网络设备。假设网络中包括交换机A和交换机B两个交换机,若交换机A发送数据至交换机B,则交换机A可以是第一网络设备,交换机B可以是第二网络设备。若交换机B发送数据至交换机A,则交换机A可以是该第二网络设备,交换机B可以是该第一网络设备。
本申请实施例提供传输数据的方法,能够避免数据报文从接收端设备乱序发出,提高数据中心网络的性能。
图1是可以应用本申请实施例的数据中心网络的拓扑结构示意图。如图1所示,该数据中心网络分为三层,分别是接入层(top of rack,TOR或edge)、汇聚层(aggregationlayer,AGG)和核心层(core layer,CORE)。其中,TOR网络设备物理连接服务器;AGG网络设备连接TOR,同时提供一些其他服务,例如网络分析等;CORE网络设备为进出数据中心的流量提供高速的转发,连接多个汇聚层AGG。多个TOR网络设备、AGG网络设备又可以分为一个部署单元(point of deployment,POD)。数据报文从TOR进入,经过TOR、AGG、CORE的转发到达相应目的地。数据中心网络每一层的每个节点对应一个网络设备。
图2是可以应用本申请实施例的数据中心网络的另一拓扑结构示意图。图2中的拓扑结构为叶-脊(leaf-spine)结构。如图2所示,叶-脊结构包括叶和脊两层,每个叶层网络设备的上行链路数等于脊层网络设备数量,每个脊层网络设备的下行链路数等于叶层网络设备的数量。
应理解,图1和图2仅为示例性的,本申请实施例还可以应用于其他类型的数据中心网络。
下面以胖树拓扑结构为例,对本申请实施例的传输数据的方法进行描述。
图3是应用本申请实施例的传输数据的方法的数据中心网络的信息交互。应理解,图3仅为示例性的,图3中的数据中心网络还可以包括更多的TOR、AGG、CORE或者包括其他网络设备。
图4是本申请实施例的传输数据的方法的示意性流程图,图4所示的方法可以包括以下内容的至少部分内容。
在410中,第一网络设备向第二网络设备发送请求信息,该请求信息用于请求发送数据。
在420中,该第二网络设备确定第一信誉额度,该第一信誉额度为该第一网络设备可采用包分发负载分担方式发送数据的数据量。
在430中,该第二网络设备根据该第一信誉额度,确定第一序列号,该第一序列号用于指示在包分发负载分担方式下第二网络设备已经授权该第一网络设备发送的数据量与本次授权该第一网络设备发送的数据量之和。
在440中,该第二网络设备向该第一网络设备发送授权信息,该授权信息包括该第一序列号。
在450中,该第一网络设备根据该第一序列号,确定该第一信誉额度。
在460中,该第一网络设备根据该第一信誉额度,向该第二网络设备发送数据。
本申请实施例的第一网络设备可以是入口侧网络设备,或者又称为源端网络设备,例如可以是图1中POD0中的TOR网络设备或者AGG网络设备,或者图2中的叶层网络设备。
本申请实施例的第二网络设备可以是出口侧网络设备,或者又称为目的端网络设备,例如可以是图1中POD0到PODN中除第一网络设备以外的TOR网络设备或者AGG网络设备,或者图2中除第一网络设备以外的叶层网络设备。
本申请实施例的请求信息可以携带在数据报文中(例如,在数据报文中增加控制字段),也可以通过专门的消息发送给第二网络设备;授权信息可以通过专门的消息发送给
第一网络设备。也可以是其他可以实现发送请求信息和授权信息的方式,本申请实施例不作具体限定。
在上述技术方案中,第一网络设备根据第二网络设备的授权信息,确定可以用包分发负载分担方式发送的数据量,进而根据该数据量向第二网络设备发送数据,可以避免发送的数据量超过第二网络设备的能够缓存并排序的数据量,从而能够避免数据报文从第二网络设备乱序发出,提高数据中心网络的性能。
第二网络设备在接收到第一网络设备的请求信息后,确定为第一网络设备分配的第一信誉额度。
在一些实施例中,第二网络设备可以根据请求信息的数量和第二网络设备的排序缓存余量,确定为第一网络设备分配的第一信誉额度,其中排序缓存用于对乱序数据进行重排序。作为一个示例,第二网络设备可以统计同时收到的请求信息的数量,将资源的全部或者部分平均分配给发送请求信息的第一网络设备。作为另一个示例,第二网络设备可以统计较小的时间段内收到的请求信息的数量,将资源的全部或者部分平均或者按不同权重(例如,按数据的优先级分配权重或者按请求信息到达时间分配权重等)分配给发送请求信息的第一网络设备。作为另一个示例,第一网络设备和第二网络设备之间可以约定预设信誉额度,当第二网络设备接收到请求消息后,第二网络设备可以直接为第一网络设备分配该预设信誉额度的排序缓存资源,该预设信誉额度可以取值较小,以便第二网络设备可以接收并重排序第一网络设备发送的数据。
在另一些实施例中,第一网络设备发送的请求信息指示请求量,该请求量为第一网络设备请求发送的数据量。这样第二网络设备可以根据排序缓存余量和请求量,确定为第一网络设备分配的第一信誉额度。
第二网络设备根据第一信誉额度,确定第一序列号。第一序列号用于指示在包分发负载分担方式下第二网络设备已经授权该第一网络设备发送的数据量与本次授权该第一网络设备发送的数据量之和。
在一些实施例中,第二网络设备在第一信誉额度指示有可用排序缓存时,产生一个第一序列号,并通过授权信息发送给第一网络设备,直到将第一信誉额度分配完。此时每个第一序列号代表一个单位信誉额度,该单位信誉额度可以配置,例如,1KB、2KB、4KB、8KB、16KB等。
在另一些实施例中,第二网络设备在第一信誉额度指示有可用排序缓存时,产生一个第一序列号,直接将第一信誉额度分配完,并通过授权信息发送给第一网络设备。此时,第一序列号代表至少一个单位信誉额度。
在另一些实施例中,第二网络设备在第一信誉额度指示有可用排序缓存时,产生多个第一序列号,当最后一个第一序列号代表的累加信誉额度达到可发送阈值时,第二网络设备通过授权信息发送该最后一个第一序列号。
第一网络设备接收到第二网络设备发送的授权信息后,第一网络设备向第二网络设备发送数据。
在一些实施例中,第一网络设备根据授权信息中的第一序列号,确定第一信誉额度,并根据第一信誉额度,向第二网络设备发送数据。也就是说,第一网络设备根据本次第二网络设备授权第一网络设备以包分发负载分担方式发送的数量,向第二网络设备发送数据。具体地,第一网络设备根据第一序列号与第一网络设备已经接收到的最大第一序列号的差值,确定所述第一信誉额度。
在一些实施例中,在第一信誉额度指示第二网络设备有可用排序缓存时,第一网络设备采用包分发负载分担方式向第二网络设备发送大小小于或者等于第一信誉额度的数据。
在另一些实施例中,在预设时间段内,在第一信誉额度小于或者等于第一阈值的情况下,该第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并采用逐流负载分担方式向该第二网络设备发送数据。也就是说,在第一信誉额度指示第二网络设备无可用排序缓存或排序缓存余量很小时,第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并采用逐流负载分担方式向第二网络设备发送数据。
在另一些实施例中,在预设时间段内,第一网络设备未收到第二网络设备发送的授权信息,第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并采用逐流负载分担方式向该第二网络设备发送数据。
第一网络设备接收到第二网络设备发送的授权信息后,根据授权信息中的第一序列号,确定第一信誉额度,进而得到第一信誉额度累加值。第一网络设备根据得到的第一信誉额度累加值,向第二网络设备发送数据。具体地,第一网络设备将第一序列号与第一网络设备已经接收到的最大第一序列号进行比较。在第一序列号大于第一网络设备已经接收到的最大第一序列号时,第一网络设备将第一序列号与最大第一序列号的差值对应的数据量累加到第一信誉额度累加值上,以得到新的第一信誉额度累加值,并将最大第一序列号更新为该第一序列号;在第一序列号小于或者等于第一网络设备已经接收到的最大第一序列号时,第一网络设备不更新第一信誉额度累加值和最大第一序列号。
第一网络设备根据新的第一信誉额度累加值,向该第二网络设备发送数据。
应理解,由于第一网络设备在收到授权信息后在不断传输数据,因此第一信誉额度累加值也是不断变化的。第一网络设备根据新的第一信誉额度累加值向第二网络设备发送数据,可以是第一网络设备根据当前的第一信誉额度累加值向第二网络设备发送数据。
在一些实施例中,在新的第一信誉额度累加值指示第二网络设备有可用排序缓存时,
第一网络设备采用包分发负载分担方式向第二网络设备发送大小小于或者等于新的第一信誉额度累加值的数据。
在一些实施例中,在预设时间段内,在新的第一信誉额度累加值小于或者等于第一阈值的情况下,该第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并采用逐流负载分担方式向该第二网络设备发送数据。也就是说,在新的第一信誉额度累加值指示第二网络设备无可用排序缓存或排序缓存余量很小时,第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并采用逐流负载分担方式向第二网络设备发送数据。
在考虑第二网络设备的带宽余量的情况下,第二网络设备在接收到第一网络设备的请求信息后,确定为第一网络设备分配的第二信誉额度,第二信誉额度为第一网络设备可向第二网络设备的端口上发送的数据量。
在一些实施例中,第二网络设备可以根据请求信息的数量和第二网络设备的带宽余量,确定为第一网络设备分配的第二信誉额度,其中带宽余量指示第二网络设备的端口还能接收的数据量。作为一个示例,第二网络设备可以统计同时收到的请求信息的数量,将带宽余量的全部或者部分平均分配给发送请求信息的第一网络设备。作为另一个示例,第二网络设备可以统计较小的时间段内收到的请求信息的数量,将带宽余量的全部或者部分平均或者按不同权重(例如,按数据的优先级分配权重或者按请求信息到达时间分配权重等)分配给发送请求信息的第一网络设备。作为另一个示例,第一网络设备和第二网络设备之间可以约定预设信誉额度,当第二网络设备接收到请求消息后,第二网络设备可以直接为第一网络设备分配该预设信誉额度的带宽额度,该预设信誉额度可以取值较小,以便第二网络设备可以接收第一网络设备发送的数据。
在另一些实施例中,第一网络设备发送的请求信息指示请求量,该请求量为第一网络设备请求发送的数据量。这样第二网络设备可以根据带宽余量和请求量,确定为第一网络设备分配的第二信誉额度。
第二网络设备根据第二信誉额度,确定第二序列号。第二序列号用于指示该第二网络设备已经授权第一网络设备向第二网络设备的端口上发送的数据量与本次授权第一网络设备向第二网络设备的端口上发送的数据量之和。
在一些实施例中,第二网络设备在第二信誉额度指示有可用带宽时,产生一个第二序列号,并通过授权信息发送给第一网络设备,直到将第二信誉额度分配完。此时每个第二序列号代表一个单位信誉额度,该单位信誉额度可以配置,例如,1KB、2KB、4KB、8KB、16KB等。
在另一些实施例中,第二网络设备在第二信誉额度指示有可用带宽时,产生一个第二序列号,直接将第二信誉额度分配完,并通过授权信息发送给第一网络设备。此时,第二序列号代表至少一个单位信誉额度。
在另一些实施例中,第二网络设备在第二信誉额度指示有可用带宽时,产生多个第二序列号,当最后一个第二序列号代表的累加信誉额度达到可发送阈值时,第二网络设备通过授权信息发送该最后一个第二序列号。
第一网络设备接收到第二网络设备发送的授权信息后,根据授权信息中的第二序列号,确定第二信誉额度。第一网络设备根据第一信誉额度和第二信誉额度向第二网络设备发送数据。具体地,第一网络设备根据第二序列号与第一网络设备已经接收到的最大第二序列号的差值,确定所述第二信誉额度。
在一些实施例中,第一网络设备根据第一信誉额度和第二信誉额度中较小的一个,向第二网络设备发送数据。
在另一些实施例中,在第一信誉额度小于第二信誉额度,且第一信誉额度与第二信誉额度的差值大于第二阈值时,第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并按照逐流负载分担方式向第二网络设备发送数据。也就是说,第一信誉额度小于第二信誉额度,且第一信誉额度与第二信誉额度的差值很大时,第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并按照逐流负载分担方式向第二网络设备发送数据。
第一网络设备接收到第二网络设备发送的授权信息后,根据授权信息中的第二序列号,确定第二信誉额度,进而得到第二信誉额度累加值。具体地,第一网络设备将第二序列号与第一网络设备已经接收到的最大第二序列号进行比较。在第二序列号大于第一网络设备已经接收到的最大第二序列号时,第一网络设备将第二序列号与最大第二序列号的差值对应的数据量累加到上一次的第二信誉额度累加值上,以得到新的第二信誉额度累加值,并将最大第二序列号更新为该第二序列号;在第二序列号小于或者等于第二网络设备已经接收到的最大第二序列号时,第一网络设备不更新第二信誉额度累加值和最大第二序列号。
第一网络设备根据新的第一信誉额度累加值和新的第二信誉额度累加值向第二网络设备发送数据。
应理解,由于第一网络设备在收到授权信息后在不断传输数据,因此第一信誉额度累加值和第二信誉额度累加值也是不断变化的。第一网络设备根据新的第一信誉额度累加值和新的第二信誉额度累加值向第二网络设备发送数据,可以是第一网络设备根据当前的第一信誉额度累加值和当前的第二信誉额度累加值向第二网络设备发送数据。
在一些实施例中,第一网络设备根据新的第一信誉额度累加值和新的第二信誉额度累加值中较小的一个,向第二网络设备发送数据。
在另一些实施例中,在新的第一信誉额度累加值小于新的第二信誉额度累加值,且新的第一信誉额度累加值与新的第二信誉额度累加值的差值大于第二阈值时,第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并按照逐流负载分担方式向第二网络设备发送数据。也就是说,新的第一信誉额度累加值小于新的第二信誉额度累加值,且新的第一信誉额度累加值与新的第二信誉额度累加值的差值很大时,第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并按照逐流负载分担方式向第二网络设备发送数据。
当第一网络设备在上述各种情况下切换到逐流负载分担方式后,在当前流量发送完成后,队列为空的情况下保持一段时间(时间可配),在这段时间内没有新的流量进入队列,则第一网络设备从逐流负载分担方式切换回包分发负载分担方式。
应理解,在不考虑排序缓存的情况下,第一网络设备也可以仅根据第二信誉额度或者当前第二信誉额度累加值,向第二网络设备发送数据。
图5结合具体地例子对本申请实施例的传输数据的方法进行描述。以第二网络设备根据带宽余量和排序缓存余量为例,如图5所示,假设当前请求信息请求10个单位额度的信誉额度,第二网络设备根据带宽余量可以返回10个单位额度的信誉额度,根据排序缓存余量暂时可以返回5个单位额度的信誉额度,后续随着排序缓存的释放,有足够的资源,继续返回授权信息。可选地,第一网络设备有可用的信誉额度后就能发送数据报文,并携带最新的请求信息。
当有新设备上线、第一网络设备的虚拟输出队列(virtual output queue,VOQ)进行了动态配置(数据中心(data center,DC)场景,有限VOQ适配大量的流)或为了增强可靠性进行周期性同步时,第一网络设备和第二网络设备累加基数存在不同步的情况,因此
第一网络设备和第二网络设备需要进行累加基数的同步过程。
第二网络设备生成累加基数。可选地,第二网络设备随机生成累加基数。
第二网络设备根据累加基数、第一信誉额度,确定该第一序列号;根据累加基数、第二信誉额度,确定第二序列号。第一网络设备接收到授权信息后,根据第一序列号或第二序列号确定累加基数。在有新的数据需要发送时,根据累加基数、上次请求量和本次请求量确定第三序列号。
可选地,第一序列号为累加基数、第二网络设备已经授权第一网络设备以包分发负载分担方式发送的数据量和本次授权第一网络设备以包分发负载分担方式发送的数据量三者之和;第二序列号为累加基数、第二网络设备已经授权第一网络设备向第二网络设备的端口发送的数据量和本次授权第一网络设备向第二网设备的端口发送的数据量三者之和;第三序列号为累加基数、第一网络设备已经请求发送的数据量和本次请求量三者之和。
在第一网络设备的累加基数与第二网络设备的累加基数同步之前,请求信息携带请求量,授权信息中携带第一序列号和/或第二序列号;在第一网络设备的累加基数与第二网络设备的累加基数同步之后,请求信息携带第三序列号,授权信息中携带第一序列号和/或第二序列号。
图6是本申请实施例的累加基数同步的示意性流程图。以第二网络设备根据带宽余量确定为第一网络设备的第二信誉额度为例,如图6所示,未同步前,假设当前请求信息请求的信誉额度为10,第二网络设备接收到请求信息后,根据带宽余量确定可以分配给第一网络设备10个单位额度的信誉额度。以第二序列号的形式返回,且每个第二序列号表示一个单位额度为例,第二网络设备返回10个授权信息,10个授权信息中的第二序列号分别为1001、1002…1010。第一网络设备接收授权信息后,确定累加基数为1000,认为可以同步,下一次发送请求信息则采用第三序列号的形式发送。假设第一网络设备又为后续数据请求5个单位额度的信誉额度,加之历史上请求了10个单位额度的信誉额度,故新的请求信息中携带第三序列号为1015(1000+10+5=1015)。第二网络设备接收到新的请求信息后,根据带宽余量确定可以为第一网络设备分配3个单位额度的信誉额度,历史上为第一网络设备分配过10个单位额度的信誉额度,故针对新的请求信息的首个授权信息的中的第二序列号为1013(1000+10+3=1013)。
可选地,第一网络设备记录和更新最小第二序列号。在接收到的一定数量的授权信息后,将当前最小第二序列号确定为累加基数。
在一些实施例中,授权信息可以同时携带第一序列号和第二序列号。根据使能的包分发功能和/或请求-授权功能,第一网络设备根据第一序列号和/或第二序列号传输数据。作为一个示例,第一网络设备在使能包分发功能时,第一网络设备根据第一序列号确定第一信誉额度,进而根据第一信誉额度向第二网络设备发送数据。作为另外一个示例,在使能包分发和请求-授权流控功能时,第一网络设备根据第一序列号确定第一信誉额度,根据第二序列号确定第二信誉额度,再根据第一信誉额度和第二信誉额度向第二网络设备发送数据。作为另一个示例,在使能请求-授权流控功能时,第一网络设备根据第二序列号确定第二信誉额度,进而根据第二信誉额度向第二网络设备发送数据。
在第一网络设备向第二网络设备发送请求信息之前,根据不同的情况,使能第一网络设备上的包分发功能和/或请求-授权流控功能。例如,对于时延不敏感的流量,在突发情况较多或多个源端设备的目的地址为1个目的端设备时,使能请求-授权流控功能;对于时延敏感并且较为简单的流量,不使能请求-授权流控功能;对于大象流较多的业务,使能包交换功能;对于没有大象流或者大象流较少的业务,不使能包分发功能。
如图7和图8所示,请求-授权流控功能和包分发功能的部署位置可以是TOR-to-TOR、AGG-to-AGG或者是某些POD支持。部署位置需要考虑POD内和POD间的流量模型和时延要求,以及TOR或AGG设备是否支持。应理解,对于包分发功能,在那个层面开始包分发,就需要在同样的层面进行重新排序。
应理解,本申请实施例的请求-授权流控功能和包分发功能的灵活配置可以体现在时间上(例如,不同时间段内使能的功能不同)和路径/数据流/设备/端口等上(例如,不同路径/数据流/设备/端口使能的功能不同)。
使能第一网络设备上的请求-授权流控功能和/或包分发功能的方法有很多,例如,可以通过来自网管设备的配置消息使能第一网络设备上的请求-授权流控功能和/或包交换功能;可以通过来自控制设备的控制消息使能第一网络设备上的请求-授权流控功能和/或包交换功能;也可以通过用户指令使能第一网络设备上的请求-授权流控功能和/或包交换功能,本申请实施例不做具体限定。本申请实施例中可以单独使能第一网络设备的请求-授权流控功能或包交换功能,也可以同时使能第一网络设备的请求-授权流控功能和包交换功能。
在另一些实施例中,请求信息还包括使能字段,该使能字段用于指示第一网络设备上是否使能包交换功能和/或请求-授权流控功能。第二网络设备根据使能字段判断在授权信息里携带第一序列号和/或第二序列号,第一网络设备无需再进行判断。作为一个示例,在使能字段指示第一网络设备使能包分发功能时,第二网络设备在授权信息中携带第一序列号,不携带第二序列号。作为另外一个示例,在使能字段指示第一网络设备使能包分发和请求-授权流控功能时,第二网络设备在授权信息中携带第一序列号和第二序列号。作为另一个示例,在使能字段指示第一网络设备使能请求-授权流控功能时,第二网络设备在授权信息中携带第二序列号,不携带第一序列号。
可选地,使能字段还可以指示请求-授权流控功能的部署位置和/或包交换功能的部署位置。
在一些实施例中,第二网络设备释放排序缓存。可选地,在发送完数据后,第一网络设备向第二网络设备发送释放消息,该释放消息包括排序缓存释放字段,排序缓存释放字段用于指示该第二网络设备释放排序缓存以及需要释放的排序缓存的大小,第二网络设备接收第一网络设备发送的释放消息,并根据该释放消息释放排序缓存。可选地,当排序缓存的未使用时间超过时间阈值时,第二网络设备释放该未使用时间超过时间阈值的排序缓存,并向该第一网络设备发送回收消息,该回收消息包括排序缓存回收字段,排序缓存回收字段用于通知该第一网络设备该第二网络设备收回排序缓存以及收回的排序缓存的大小。在上述技术方案中,通过端到端的信息交互,能够及时释放排序缓存,减小后续数据的等待时间。
应理解,释放消息和回收消息可以是专门的消息,也可以作为请求信息和授权信息中的字段。
在另一些实施例中,第二网络设备可以自动释放排序缓存。可选地,当第二网络设备对第一网络设备发送的数据的排序正常完成后自动回收排序缓存。可选地,当排序缓存的未使用时间超过阈值时,第二网络设备释放该未使用时间超过阈值的排序缓存,例如,如果第二网络设备因为等待某个报文而没有结束排序任务,触发超时(timer)机制,满足一定的等待时间后就强制回收排序缓存。
图9是本申请实施例的请求信息的各个字段及其大小、位置。应理解,图9仅为示例性的,本申请实施例的请求信息可以包括更少或者更多字段,也可以是其他构成形式。如图9所示,本申请实施例的请求信息包括以下字段的至少部分字段。
–出口侧设备出端口(destination port,DstPort)(可选):描述出口侧设备的出端口,可以占8位(bits)。
–入口侧设备ID(source device identity,SrcDevID):描述入口侧设备的唯一标识,可以占16位。
–请求量(request credit,ReqCredit):请求的单位额度个数的增量。在新设备上线、VOQ动态刷新等SN还未同步的场景使用,可以占12位。
–请求序列号(request sequence number,ReqSN):即第三序列号,请求额度当前最大SN。在SN已经同步的场景使用,能够增强数据传输的可靠性。在SN同步前使用ReqCredit,SN同步后切换到ReqSN,可以占32位。
–单位额度(Credit size):每一个额度的容量大小,可以是绝对值,可以是量化值,参考配置可以是1KB、2KB、4KB、8KB、16KB等,可以占3位。
–流控标志(flow control flag,FC_flag),描述请求-授权(request-grant)流控功能是否使能,可以占1位。
–流控位置(flow control place,FC_place)(可选,未示出),描述请求-授权(request-grant)流控功能的部署位置,可以占1位。
–包交换标志(packet spray flag,PS_flag),描述包交换(packet spray,PS)的负载分担是否使能,可以占1位。
–包交换位置(packet spray place,PS_place)(可选,未示出),描述包交换的负载分担的部署位置,可以占1位。
–优先级,描述数据报文优先级,可以占3位。
其中流控标志、流控位置、包分发标志和包分发位置构成使能字段,通过使能字段可以配置如图7和图8所示的流控方案和负载分担方案。请求-授权流控功能和包交换功能可以根据不同情况灵活配置,并通知第二网络设备的。
–保序单位标识(source PS identity,SrcPSID),保序单位唯一标识。
–数据报文序列号(packet sequence number)。
当第一网络设备接收到授权信息并以包分发负载分担方式发送数据时,在发送的数据中增加保序字段。保序字段包括保序单位标识和数据报文序列号,该保序单位可以是入端口、数据流或者其他单位,也可以人为指定,第二网络设备针对拥有相同保序单位标识的数据报文进行保序处理。
图10是本申请实施例的授权信息的各个字段。应理解,图10仅为示例性的,本申请实施例的请求信息可以包括更少或者更多字段,也可以是其他构成形式。如图10所示,本申请实施例的请求信息包括以下字段的至少部分字段。
–出口侧设备出端口(destination port,DstPort):描述出口侧设备的出端口,可以占8位。
–入口侧设备ID(source device identity,SrcDevID):描述入口侧设备的唯一标识,可以占16位。
–授权序列号(grant sequence number,GrntSN),即第二序列号,可以占32位.在SN已经同步的场景使用,能够增强数据传输的可靠性。
–重排序序列号(grant sequence number,GrntSN),即第一序列号,可以占32位.在SN已经同步的场景使用,能够增强数据传输的可靠性。
–单位额度(Credit size)(可选,未示出):每一个额度的容量大小,可以是绝对值,可以是量化值,参考配置可以是1KB、2KB、4KB、8KB、16KB,可以占3位。
–优先级,描述数据报文优先级,可以占3位。
应理解,图9和图10中的信誉额度采用单位额度和单位额度数量表示(例如额度单位为2KB,额度单位数量为3,那么信誉额度为6KB)仅为示例性的,本申请实施例的信誉额度还可以用任意其他可能的方式表示。
在一些实施例中,承载该请求信息的报文和承载该授权信息的报文采用标准虚拟可扩展局域网络通用协议扩展封装或标准通用网络虚拟化封装。图11是基于标准以太报文的虚拟可扩展局域网络通用协议扩展(generic protocol extension virtualextensible local area network,VXLAN-GPE)封装,图12基于标准以太网的通用网络虚拟化封装(generic network virtualization encapsulation,GENEVE)。如图11和图12所示,本申请实施例在标准以太报文格式(包括外部以太头、外部互联网协议(internetprotocol,IP)头、外部用户数据报协议(user datagram protocol,UDP)头、内部以太头、帧校验序列(frame check sequence,FCS)等)的基础上对有效载荷进行了VXLAN-GPE封装或GENEVE封装(本申请实施例的各个字段携带于VXLAN-GPE头或GENEVE头中),以便传输本申请实施例涉及的各种信息(例如请求信息、授权信息等)。
具体地,VXLAN-GPE头或GENEVE头可以是数据报文本身携带的,也可以是第一网络设备封装的。因此,本申请实施例通过区分字段(例如图9或10中的A字段,可以占1位)进行区分。例如,当区分字段为0时,表示VXLAN头或者GENEVE头来是数据报文本身携带的;当区分字段为1时,表示VXLAN头或者GENEVE头由使能请求-授权流控功能和/或包交换功能的第一网络设备封装的。
因为在一个数据中心网络中的网络设备可能来自不同的设备厂商,不同设备厂商的网络设备支持的报文格式可能不同。在上述技术方案中,采用标准以太报文格式发送和接收消息,能够避免不同厂商设备之间的交互困难。
在另一些实施例中,本申请实施例涉及的各种信息或消息为可以为具有私有头的以太报文格式。例如,请求信息、授权信息、释放消息以及回收消息。图13是具有私有头封装的以太报文格式。
此外,在另一些实施例中,第一网络设备还可以不发送请求信息,而由第二网络设备定时或周期性的向第一网络设备发送授权信息,对此本申请实施例并不限定。
上面对本申请实施例的传输数据的方法,进行了详细的描述,接下来结合附图14-18对本申请实施例的网络设备进行详细描述。本申请实施例的网络设备可以执行上文该的各种方法。
图14是本申请实施例的网络设备的逻辑图。如图14所示,数据报文从入口进入网络设备,网络处理器进行路径选择与调度,处理器内部有流量调度器,可以分配一定量的流量从特定的出口发出。网络处理器可以为网络设备中的一个芯片。本申请实施例的各种方法可以应用在网络处理器中。
可选地,本申请实施例的网络处理器是网络设备本身。
图15是根据本申请实施例提供的网络设备的示意性结构图。图15所示的网络设备1500可以对应于上文的第一网络设备,如图15所示,网络设备1500包括接收模块1510、发送模块1520和处理模块1530。
发送模块1520,用于向第二网络设备发送请求信息,该请求信息用于请求发送数据。
接收模块1510,用于第一网络设备接收该第二网络设备发送的授权信息,该授权信息包括第一序列号。
处理模块1530,该第一网络设备根据该第一序列号,确定第一信誉额度,该第一信誉额度为该第一网络设备可采用包分发负载分担方式发送数据的数据量。
发送模块1520,还用于根据该第一信誉额度,向该第二网络设备发送数据。
可选地,处理模块1530,具体用于在该第一序列号大于该第一网络设备已经接收到的最大第一序列号时,该第一网络设备根据该第一序列号与该最大第一序列号的差值,确定该第一信誉额度。
可选地,发送模块1520,具体用于在预设时间段内,在预设时间段内,该第一信誉额度小于或者等于第一阈值时,从包分发负载分担方式切换为逐流负载分担方式,并采用逐流负载分担方式向该第二网络设备发送数据。
可选地,该授权信息还包括第二序列号。可选地,该处理模块1530,还用于根据该第二序列号,确定第二信誉额度,该第二信誉额度为该第一网络设备可向该第二网络设备的端口上发送的数据量。该发送模块1520,具体用于根据该第一信誉额度和该第二信誉额度,向该第二网络设备发送数据。
可选地,该处理模块1530,还用于在该第二序列号大于该第一网络设备已经接收到的最大第二序列号时,该第一网络设备根据该第二序列号与该最大第二序列号的差值,确定该第二信誉额度。
可选地,该发送模块1520,具体用于根据该第一信誉额度和该第二信誉额度中较小的一个,向该第二网络设备发送数据;或当该第一信誉额度小于该第二信誉额度,且该第一信誉额度与该第二信誉额度的差值大于第二阈值时,该第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并按照逐流负载分担方式向第二网络设备发送数据。
可选地,该处理模块1530,还用于在该第一网络设备接收该第二网络设备发送的授权信息之后,在该第一序列号大于该最大第一序列号时,将该最大第一序列号更新为该第一序列号;在该第二序列号大于该最大第二序列号时,将该最大第二序列号更新为该第二序列号。
可选地,该请求信息还包括使能字段,该使能字段用于指示该第一网络设备是否使能包分发功能和/或请求-授权流控功能。
可选地,该请求信息还用于指示请求量,该请求量为该第一网络设备请求发送的数据量。
可选地,在该第一网络设备的累加基数与该第二网络设备的累加基数同步之前,该请求信息包括该请求量;该处理模块1530,还用于在该第一网络设备接收到该授权信息之后,根据该第一序列号或该第二序列号,确定该累加基数,该累加基数用于确定第三序列号,该第三序列号为该累加基数、该第一网络设备已经请求发送的数据量和本次请求量三者之和。
可选地,在该第一网络设备的累加基数与该第二网络设备的累加基数同步之后,该请求信息包括第三序列号,该第三序列号为该累加基数、该第一网络设备已经请求发送的数据量和本次请求量三者之和。
可选地,承载该请求信息的报文和承载该授权信息的报文采用标准虚拟可扩展局域网络通用协议扩展封装或标准通用网络虚拟化封装。
接收模块1510和发送模块1520可以由收发器实现。处理模块1530可以由处理器实现。接收模块1510、发送模块1520和处理模块1530的具体功能和有益效果可以参见图4所示的方法,在此就不再赘述。
图16是根据本申请实施例提供的网络设备的示意性结构图。图16中的网络设备1600可以对应于上文的第二网络设备,如图16所示,网络设备1600包括接收模块1610、发送模块1620和处理模块1630。
接收模块1610,用于接收第一网络设备发送的请求信息,该请求信息用于请求发送数据。
处理模块1630,用于确定第一信誉额度,该第一信誉额度为该第一网络设备可采用包分发负载分担方式发送数据的数据量。
该处理模块1630,还用于根据该第一信誉额度,确定第一序列号,该第一序列号用于指示在包分发负载分担方式下第二网络设备已经授权该第一网络设备发送的数据量与本次授权该第一网络设备发送的数据量之和。
发送模块1620,用于向该第一网络设备发送授权信息,该授权信息包括该第一序列号。
可选地,该处理模块1630,具体用于确定该第一信誉额度为第一预设额度;或根据排序缓存余量和该请求信息,确定该第一信誉额度,该排序缓存用于对乱序数据进行重排序。
可选地,该授权信息还包括第二序列号,该第二序列号用于指示该第二网络设备已经授权该第一网络设备向该第二网络设备的端口上发送的数据量与本次授权该第一网络设备向该第二网络设备的端口上发送的数据量之和;该处理模块1630,还用于确定第二信誉额度,该第二信誉额度为该第一网络设备可向该第二网络设备的端口上发送的数据量;根据该第二信誉额度,确定该第二序列号。
可选地,处理模块1630,具体用于确定该第二信誉额度为第二预设额度;或根据带宽余量和该请求信息,确定第二信誉额度。
可选地,该请求信息还包括使能字段,该使能字段用于指示该第一网络设备上是否使能包交换功能和/或请求-授权流控功能。
可选地,该请求信息还用于指示请求量,该请求量为该第一网络设备请求的发送的数据量;该处理模块1630,具体用于根据排序缓存余量和该请求量,确定第一信誉额度;用于根据带宽余量和该请求量,确定第二信誉额度。
可选地,在该第一网络设备的累加基数与该第二网络设备的累加基数同步之前,该请求信息包括该请求量;该处理模块1630,还用于生成该累加基数;具体用于根据该累加基数、该第一信誉额度,确定该第一序列号;具体用于根据该累加基数、该第二信誉额度,确定该第二序列号。
可选地,在该第一网络设备的累加基数与该第二网络设备的累加基数同步之后,该请求信息包括第三序列号,该第三序列号为该累加基数、该第一网络设备已经请求发送的数据量和本次请求量三者之和。
可选地,承载该请求信息的报文和承载该授权信息的报文采用标准虚拟可扩展局域网络通用协议扩展封装或标准通用网络虚拟化封装。
接收模块1610和发送模块1620可以由收发器实现。处理模块1630可以由处理器实现。接收模块1610、发送模块1620和处理模块1630的具体功能和有益效果可以参见图4所示的方法,在此就不再赘述。
图17是本申请另一实施例提供的网络设备的示意性结构图。如图17所示,网络设备1700包括收发器1710、处理器1720、存储器1730。
图17中仅示出了一个存储器和处理器。在实际的网络设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。
收发器1710、处理器1720、存储器1730之间通过内部连接通路互相通信,传递控制和/或数据信号。
具体地,收发器1710,用于向第二网络设备发送请求信息,该请求信息用于请求发送数据;用于第一网络设备接收该第二网络设备发送的授权信息,该授权信息包括第一序列号。
处理器1730该第一网络设备根据该第一序列号,确定第一信誉额度,该第一信誉额度为该第一网络设备可采用包分发负载分担方式发送数据的数据量。
该收发器1710,还用于根据该第一信誉额度,向该第二网络设备发送数据。网络设备1700的具体工作过程和有益效果可以参见图4所示实施例中的描述。
图18是本申请另一实施例提供的网络设备的示意性结构图。如图18所示,网络设备1800可以包括收发器1810、处理器1820、存储器1830。
图18中仅示出了一个存储器和处理器。在实际的控制设备产品中,可以存在一个或多个处理器和一个或多个存储器。存储器也可以称为存储介质或者存储设备等。存储器可以是独立于处理器设置,也可以是与处理器集成在一起,本申请实施例对此不做限制。
收发器1810、处理器1820、存储器1830之间通过内部连接通路互相通信,传递控制和/或数据信号。
具体地,收发器1810,用于接收第一网络设备发送的请求信息,该请求信息用于请求发送数据。
处理器1830,用于确定第一信誉额度,该第一信誉额度为该第一网络设备可采用包分发负载分担方式发送数据的数据量;还用于根据该第一信誉额度,确定第一序列号,该第一序列号用于指示在包分发负载分担方式下第二网络设备已经授权该第一网络设备发送的数据量与本次授权该第一网络设备发送的数据量之和。
该收发器1810,用于向该第一网络设备发送授权信息,该授权信息包括该第一序列号。
网络设备1800的具体工作过程和有益效果可以参见图4所示实施例中的描述。
本申请各实施例该的收发器也可以称为收发单元、收发机、收发装置等。处理器也可以称为处理单元,处理单板,处理模块、处理装置等。可选的,可以将收发器中用于实现接收功能的器件视为接收单元,将收发器中用于实现发送功能的器件视为发送单元,即收发器包括接收单元和发送单元。接收单元有时也可以称为接收机、接收器、或接收电路等。发送单元有时也可以称为发射机、发射器或者发射电路等。
本申请各实施例所述的存储器用于存储处理器运行所需的计算机指令和参数。
本申请各实施例所述的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。本申请各实施例所述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(random access memory,RAM)、闪存、只读存储器(read-only memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的指令,结合其硬件完成上述方法的步骤。
在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (25)

1.一种传输数据的方法,其特征在于,包括:
第一网络设备向第二网络设备发送请求信息,所述请求信息用于请求发送数据;
所述第一网络设备接收所述第二网络设备发送的授权信息,所述授权信息包括第一序列号;
所述第一网络设备根据所述第一序列号,确定第一信誉额度,所述第一信誉额度为所述第一网络设备可采用包分发负载分担方式发送数据的数据量;
所述第一网络设备根据所述第一信誉额度,向所述第二网络设备发送数据。
2.根据权利要求1所述的方法,其特征在于,所述第一网络设备根据所述第一序列号,确定第一信誉额度,包括:
在所述第一序列号大于所述第一网络设备已经接收到的最大第一序列号时,所述第一网络设备根据所述第一序列号与所述最大第一序列号的差值,确定所述第一信誉额度。
3.根据权利要求2所述的方法,其特征在于,所述第一网络设备根据所述第一信誉额度,向所述第二网络设备发送数据,包括:
在预设时间段内,所述第一信誉额度小于或者等于第一阈值时,所述第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并采用逐流负载分担方式向所述第二网络设备发送数据。
4.根据权利要求1或2所述的方法,其特征在于,所述授权信息还包括第二序列号;
所述方法还包括:
所述第一网络设备根据所述第二序列号,确定第二信誉额度,所述第二信誉额度为所述第一网络设备可向所述第二网络设备的端口上发送的数据量;
所述第一网络设备根据所述第一信誉额度,向所述第二网络设备发送数据,包括:
所述第一网络设备根据所述第一信誉额度和所述第二信誉额度,向所述第二网络设备发送数据。
5.根据权利要求4所述的方法,其特征在于,所述第一网络设备根据所述第二序列号,确定第二信誉额度,包括:
在所述第二序列号大于所述第一网络设备已经接收到的最大第二序列号时,所述第一网络设备根据所述第二序列号与所述最大第二序列号的差值,确定所述第二信誉额度。
6.根据权利要求4或5所述的方法,其特征在于,所述第一网络设备根据所述第一信誉额度和所述第二信誉额度,向所述第二网络设备发送数据,包括:
所述第一网络设备根据所述第一信誉额度和所述第二信誉额度中较小的一个,向所述第二网络设备发送数据;或
当所述第一信誉额度小于所述第二信誉额度,且所述第一信誉额度与所述第二信誉额度的差值大于第二阈值时,所述第一网络设备从包分发负载分担方式切换为逐流负载分担方式,并按照逐流负载分担方式向第二网络设备发送数据。
7.根据权利要求4至6中任一项所述的方法,其特征在于,所述第一网络设备接收所述第二网络设备发送的授权信息之后,所述方法还包括:
在所述第一序列号大于所述最大第一序列号时,所述第一网络设备将所述最大第一序列号更新为所述第一序列号;
在所述第二序列号大于所述最大第二序列号时,所述第一网络设备将所述最大第二序列号更新为所述第二序列号。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述请求信息还包括使能字段,所述使能字段用于指示所述第一网络设备是否使能包分发功能和/或请求-授权流控功能。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述请求信息还用于指示请求量,所述请求量为所述第一网络设备请求发送的数据量。
10.根据权利要求9所述的方法,其特征在于,在所述第一网络设备的累加基数与所述第二网络设备的累加基数同步之前,所述请求信息包括所述请求量;
在所述第一网络设备接收到所述授权信息之后,所述方法还包括:
所述第一网络设备根据所述第一序列号或所述第二序列号,确定所述累加基数,所述累加基数用于确定第三序列号,所述第三序列号为所述累加基数、所述第一网络设备已经请求发送的数据量和本次请求量三者之和。
11.根据权利要求9所述的方法,其特征在于,在所述第一网络设备的累加基数与所述第二网络设备的累加基数同步之后,所述请求信息包括第三序列号,所述第三序列号为所述累加基数、所述第一网络设备已经请求发送的数据量和本次请求量三者之和。
12.根据权利要求1至11中任一项所述的方法,其特征在于,承载所述请求信息的报文和承载所述授权信息的报文采用标准虚拟可扩展局域网络通用协议扩展封装或标准通用网络虚拟化封装。
13.一种传输数据的方法,其特征在于,包括:
第二网络设备接收第一网络设备发送的请求信息,所述请求信息用于请求发送数据;
所述第二网络设备确定第一信誉额度,所述第一信誉额度为所述第一网络设备可采用包分发负载分担方式发送数据的数据量;
所述第二网络设备根据所述第一信誉额度,确定第一序列号,所述第一序列号用于指示在包分发负载分担方式下第二网络设备已经授权所述第一网络设备发送的数据量与本次授权所述第一网络设备发送的数据量之和;
所述第二网络设备向所述第一网络设备发送授权信息,所述授权信息包括所述第一序列号。
14.根据权利要求13所述的方法,其特征在于,所述第二网络设备确定第一信誉额度,包括:
所述第二网络设备确定所述第一信誉额度为第一预设额度;或
所述第二网络设备根据排序缓存余量和所述请求信息,确定所述第一信誉额度,所述排序缓存用于对乱序数据进行重排序。
15.根据权利要求13或14所述的方法,其特征在于,所述授权信息还包括第二序列号,所述第二序列号用于指示所述第二网络设备已经授权所述第一网络设备向所述第二网络设备的端口上发送的数据量与本次授权所述第一网络设备向所述第二网络设备的端口上发送的数据量之和;
所述方法还包括:
所述第二网络设备确定第二信誉额度,所述第二信誉额度为所述第一网络设备可向所述第二网络设备的端口上发送的数据量;
所述第二网络设备根据所述第二信誉额度,确定所述第二序列号。
16.根据权利要求15所述的方法,其特征在于,所述第二网络设备确定第二信誉额度,包括:
所述第二网络设备确定所述第二信誉额度为第二预设额度;或
所述第二网络设备根据带宽余量和所述请求信息,确定第二信誉额度。
17.根据权利要求13至16中任一项所述的方法,其特征在于,所述请求信息还包括使能字段,所述使能字段用于指示所述第一网络设备上是否使能包交换功能和/或请求-授权流控功能。
18.根据权利要求15至17中任一项所述的方法,其特征在于,所述请求信息还用于指示请求量,所述请求量为所述第一网络设备请求的发送的数据量;
所述第二网络设备根据排序缓存余量和所述请求信息,确定第一信誉额度,包括:
所述第二网络设备根据排序缓存余量和所述请求量,确定第一信誉额度;
所述第二网络设备根据带宽余量和所述请求信息,确定第二信誉额度,包括:
所述第二网络设备根据带宽余量和所述请求量,确定第二信誉额度。
19.根据权利要求18所述的方法,其特征在于,在所述第一网络设备的累加基数与所述第二网络设备的累加基数同步之前,所述请求信息包括所述请求量;
所述方法还包括:
所述第二网络设备生成所述累加基数;
所述第二网络设备根据所述第一信誉额度,确定第一序列号,包括:
所述第二网络设备根据所述累加基数、所述第一信誉额度,确定所述第一序列号;
所述第二网络设备根据所述第二信誉额度,确定第二序列号,包括:
所述第二网络设备根据所述累加基数、所述第二信誉额度,确定所述第二序列号。
20.根据权利要求18所述的方法,其特征在于,在所述第一网络设备的累加基数与所述第二网络设备的累加基数同步之后,所述请求信息包括第三序列号,所述第三序列号为所述累加基数、所述第一网络设备已经请求发送的数据量和本次请求量三者之和。
21.根据权利要求13至20中任一项所述的方法,其特征在于,承载所述请求信息的报文和承载所述授权信息的报文采用标准虚拟可扩展局域网络通用协议扩展封装或标准通用网络虚拟化封装。
22.一种网络设备,其特征在于,包括收发器、处理器和存储器,用于执行如权利要求1至12中任一项所述的方法。
23.一种网络设备,其特征在于,包括收发器、处理器和存储器,用于执行如权利要求13至21中任一项所述的方法。
24.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在通信设备上运行时,使得通信设备执行如权利要求1至12中任一项所述的方法。
25.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在通信设备上运行时,使得通信设备执行如权利要求13至21中任一项所述的方法。
CN201910013069.0A 2019-01-07 2019-01-07 传输数据的方法和网络设备 Active CN111416776B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201910013069.0A CN111416776B (zh) 2019-01-07 2019-01-07 传输数据的方法和网络设备
EP19908321.3A EP3902215A4 (en) 2019-01-07 2019-12-31 METHODS OF TRANSMISSION OF DATA AND NETWORK DEVICE
PCT/CN2019/130692 WO2020143509A1 (zh) 2019-01-07 2019-12-31 传输数据的方法和网络设备
US17/369,739 US12015560B2 (en) 2019-01-07 2021-07-07 Data transmission method and network device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910013069.0A CN111416776B (zh) 2019-01-07 2019-01-07 传输数据的方法和网络设备

Publications (2)

Publication Number Publication Date
CN111416776A true CN111416776A (zh) 2020-07-14
CN111416776B CN111416776B (zh) 2024-07-09

Family

ID=71492522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910013069.0A Active CN111416776B (zh) 2019-01-07 2019-01-07 传输数据的方法和网络设备

Country Status (4)

Country Link
US (1) US12015560B2 (zh)
EP (1) EP3902215A4 (zh)
CN (1) CN111416776B (zh)
WO (1) WO2020143509A1 (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441945A (zh) * 2013-08-30 2013-12-11 华为技术有限公司 一种控制链路负载的方法、设备及数据转发设备
US20160286452A1 (en) * 2013-12-10 2016-09-29 Huawei Technologies Co., Ltd. Data Transmission Method and Router
CN108337160A (zh) * 2017-01-20 2018-07-27 华为技术有限公司 数据传输方法、目的节点及源节点
CN108512771A (zh) * 2017-02-28 2018-09-07 北京华为数字技术有限公司 一种数据流负载分担的方法和设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100384106C (zh) * 1997-04-17 2008-04-23 Ntt移动通信网株式会社 移动通信系统中的基站装置
JPH1155314A (ja) * 1997-07-30 1999-02-26 Nippon Telegr & Teleph Corp <Ntt> データ転送制御方法
US6347337B1 (en) * 1999-01-08 2002-02-12 Intel Corporation Credit based flow control scheme over virtual interface architecture for system area networks
DE60222782D1 (de) * 2001-08-24 2007-11-15 Intel Corp Eine allgemeine eingabe-/ausgabearchitektur und entsprechende verfahren zur unterstützung von bestehenden unterbrechungen
US7680053B1 (en) * 2004-10-29 2010-03-16 Marvell International Ltd. Inter-device flow control
JP2007115138A (ja) * 2005-10-21 2007-05-10 Hitachi Ltd データ転送方法及びリモートコピーシステム
JP5175773B2 (ja) * 2009-02-27 2013-04-03 株式会社東芝 通信装置、方法及びプログラム
CN101795236B (zh) * 2010-03-31 2012-08-08 成都市华为赛门铁克科技有限公司 报文保序方法及装置
WO2011120467A2 (zh) * 2011-05-09 2011-10-06 华为技术有限公司 报文保序处理方法、保序协处理器和网络设备
US8750129B2 (en) * 2011-10-06 2014-06-10 International Business Machines Corporation Credit-based network congestion management
CN103905300B (zh) * 2012-12-25 2017-12-15 华为技术有限公司 一种数据报文发送方法、设备及系统
KR20160004365A (ko) * 2013-06-29 2016-01-12 인텔 코포레이션 크레딧 기반의 중재를 위한 서비스 레이트 재분배
US9450881B2 (en) * 2013-07-09 2016-09-20 Intel Corporation Method and system for traffic metering to limit a received packet rate
US9755983B1 (en) * 2014-10-22 2017-09-05 Netronome Systems, Inc. Minipacket flow control
EP3142285B1 (en) * 2015-09-10 2019-08-07 Kyynel Oy Communication method, apparatus and computer program
CN107294877B (zh) * 2016-03-31 2020-05-08 阿里巴巴集团控股有限公司 一种tcp流重组方法和装置
US10645033B2 (en) * 2017-03-27 2020-05-05 Mellanox Technologies Tlv Ltd. Buffer optimization in modular switches
US20190044872A1 (en) * 2018-03-30 2019-02-07 Intel Corporation Technologies for targeted flow control recovery

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103441945A (zh) * 2013-08-30 2013-12-11 华为技术有限公司 一种控制链路负载的方法、设备及数据转发设备
US20160286452A1 (en) * 2013-12-10 2016-09-29 Huawei Technologies Co., Ltd. Data Transmission Method and Router
CN108337160A (zh) * 2017-01-20 2018-07-27 华为技术有限公司 数据传输方法、目的节点及源节点
CN108512771A (zh) * 2017-02-28 2018-09-07 北京华为数字技术有限公司 一种数据流负载分担的方法和设备

Also Published As

Publication number Publication date
US20210336895A1 (en) 2021-10-28
CN111416776B (zh) 2024-07-09
EP3902215A4 (en) 2022-03-09
WO2020143509A1 (zh) 2020-07-16
US12015560B2 (en) 2024-06-18
EP3902215A1 (en) 2021-10-27

Similar Documents

Publication Publication Date Title
US10382362B2 (en) Network server having hardware-based virtual router integrated circuit for virtual networking
CN107171980B (zh) 网络交换机中的灵活的缓冲区分配
US9294304B2 (en) Host network accelerator for data center overlay network
US9703743B2 (en) PCIe-based host network accelerators (HNAS) for data center overlay network
CN104902518B (zh) 实现反射式eps承载的系统和方法
Vattikonda et al. Practical TDMA for datacenter Ethernet
US8817619B2 (en) Network system with quality of service management and associated management method
US9485191B2 (en) Flow-control within a high-performance, scalable and drop-free data center switch fabric
CN101299721B (zh) 交换网报文交换方法和交换装置
US20230156828A1 (en) Session establishment method and apparatus, system, and computer storage medium
CN112600684A (zh) 云业务的带宽管理及配置方法及相关装置
CN114666276B (zh) 一种发送报文的方法和装置
JP2024514643A (ja) パケット転送方法、装置、およびシステム、並びにコンピュータ可読記憶媒体
CN109995608B (zh) 网络速率计算方法和装置
CN111416775B (zh) 数据接收和发送方法、装置及系统
CN111416776A (zh) 传输数据的方法和网络设备
WO2019200568A1 (zh) 一种数据通信方法及装置
JP2014187430A (ja) 通信システム、中継装置、通信方法、及びプログラム
WO2022147762A1 (zh) 一种数据包排序方法及装置
CN114070776B (zh) 一种改进的时间敏感网络数据传输方法、装置及设备
CN115550161A (zh) 参数配置的方法、装置、控制器、通信设备和通信系统
CN117891626A (zh) 远程直接数据存取方法及相关设备
CN114363261A (zh) 一种网络流量调整方法、装置、电子装置和存储介质
CN115567803A (zh) 一种带宽分配方法及相关设备
CN113746746A (zh) 数据处理方法及设备

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