CN116346720A - 一种传输信息的装置和方法 - Google Patents
一种传输信息的装置和方法 Download PDFInfo
- Publication number
- CN116346720A CN116346720A CN202111582382.XA CN202111582382A CN116346720A CN 116346720 A CN116346720 A CN 116346720A CN 202111582382 A CN202111582382 A CN 202111582382A CN 116346720 A CN116346720 A CN 116346720A
- Authority
- CN
- China
- Prior art keywords
- control information
- port
- flow control
- information
- streaming
- 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.)
- Pending
Links
Images
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种传输信息的装置和方法,该装置包括:第一端口,用于接收第一流控信息,其中,第一流控信息用于指示开始或暂停发送数据;第一端口,还用于根据第一流控信息进行响应;第二端口,用于发送第二流控信息,第二流控信息是根据所述第一流控信息得到的。本申请的装置在对流控信息进行响应时,不会简单终结该流控信息,而是会继续直接或间接转发流控信息,使得上游设备能够更快得到流控信息,从而提高流控效率。此外,由于网络设备之间支持的最大传输距离与头部空间的大小成线性关系,本申请的装置可以将内部缓冲器全部用于头部空间,有效地扩展了网络设备之间支持的最大传输距离。
Description
技术领域
本申请涉及通信领域,并且更具体地,涉及一种传输信息的装置和方法。
背景技术
远程直接数据存取(remote direct memory access,RDMA)技术可以解决网络传输中服务端数据处理的延迟。基于融合以太网的RDMA(RDMA over converged ethernet,RoCE)是一种允许在以太网上使用远程直接数据访问的网络协议,相比于传统的TCP/IP协议具有更低的时延和更高的带宽,同时能大大降低CPU占用率,因此该技术在数据中心网络中被广泛使用。
RoCE技术需要依赖于链路层流控机制才能保证低时延和高吞吐性能。但网络设备在接收流控信息后会终止流控信息的传输,并依赖网络设备中的缓冲器来通知上游设备进行响应,还需要用户设置缓冲器的阈值,将缓冲器分为用于保证不欠吞吐的部分和保证不丢包的头部空间(headroom)部分,增加了网络设备的使用和设计难度。因此,如何在不丢包和不欠吞吐的情况下,减少网络设备的使用难度和设计复杂度,并使得更多的缓冲器(buffer,也可以称为缓存或缓存器)成为头部空间,从而扩展传输距离成为了亟待解决的问题。
发明内容
本申请实施例提供一种传输信息的装置和方法,本申请的装置和方法能够提高流控效率。
第一方面,提供了一种传输信息的装置,该装置包括:第一端口,用于接收第一流控信息,其中,第一流控信息用于指示开始或暂停发送数据;第一端口,还用于根据第一流控信息进行响应;第二端口,用于发送第二流控信息,第二流控信息是根据第一流控信息得到的。
本申请的装置在对流控信息进行响应时,不会简单地终结该流控信息,而是会继续直接或间接转发流控信息,使得上游设备能够更快得到流控信息,从而提高流控效率。
另一方面,本申请的装置向上游转发流控信息,不依赖于内部缓冲器设置的阈值,因此可以将内部缓冲器全部用于头部空间。并且由于网络设备之间支持的最大传输距离与头部空间的大小成线性关系。因此,本申请提供的装置有效地扩展了网络设备之间支持的最大传输距离,因此在下文中,也可以将本申请提供的装置称为“扩展设备”。
另外,下文中,“第一端口”也可以称为“本地端口”或“L端口”,例如与网络设备连接;“第二端口”也可以称为“扩展端口”或“E端口”,例如与另一个扩展设备的扩展端口连接。端口的具体名称仅仅是示例性的,不应理解为对本申请实施例的限制。
另一方面,本领域技术人员能够清楚地理解,本申请实施例中,“上游”和“下游”仅仅是相对性的概念。换句话说,所谓“上游”或“下游”是相对于数据报文的传输方向而言的:当数据报文a从设备A传输到设备B时,对于数据a而言,可以将设备A称为上游设备,设备B称为下游设备;另外还可能存在从设备B传输到设备A的数据报文b,那么对于数据b而言,可以将设备B称为上游设备,设备A称为下游设备。
结合第一方面,在第一方面的某些实现方式中,还包括缓冲器,缓冲器全部用于头部空间。
由于头部空间的大小与网络设备之间的传输距离呈线性关系,因此,本申请的装置通过将缓冲器全部作为头部空间后,可以增加头部空间的大小,从而实现了网络设备之间传输距离的延长。
结合第一方面,在第一方面的某些实现方式中,第二流控信息为透传的第一流控信息。
本申请的装置通过将流控信息从下游设备直接透传至上游设备,可以使得各个端口无需进行信息格式或内容的转化,从而减少了下游设备和上游设备的实现复杂度。并且,透传方式的速度较快,时延较短,能够更快地向上游转发流控信息,提高流控效率。
结合第一方面,在第一方面的某些实现方式中,第一端口具体用于,通过专用队列或专用硬件通道,将第一流控信息转发至第二端口。
本申请的扩展设备的本地端口通过对专用队列和专用硬件通道的使用,可以直接将流控信息传输至扩展端口,这种方式无需设定缓冲器阈值来实现对流控信息的转发。因此,下游设备可以直接向上游设备传输流控信息,使得上游设备可以更快地响应流控信息。
结合第一方面,在第一方面的某些实现方式中,第一端口还用于终结第一流控信息,并向第二端口发送第三流控信息,第三流控信息包括从第一流控信息中提取的控制信息。
本申请的装置的下游设备中的本地端口通过对流控信息中的关键信息进行提取,可以使得流控信息能够传输至扩展端口的同时,占用更少的传输资源。
结合第一方面,在第一方面的某些实现方式中,上述控制信息包括矢量(vector)和计时器(timer)。
结合第一方面,在第一方面的某些实现方式中,上述第二流控信息是根据第三流控信息得到的。换句话说,扩展端口能够将第一流控信息中提取的控制信息,转换为适合发送到另一扩展设备的第二流控信息。
结合第一方面,在第一方面的某些实现方式中,第一端口和第二端口是媒体接入控制(media access control,MAC)模块。
本申请的装置通过MAC模块实现上述本地端口和扩展端口,从而可以实现对流控信息的终结和传输。
结合第一方面,在第一方面的某些实现方式中,第一流控信息为链路层流控信息或以太网暂停流控信息。
第二方面,提供了一种传输信息的装置,该装置包括:第三端口,用于接收第二流控信息,其中,第二流控信息用于指示开始或暂停发送数据;第三端口,还用于根据第二流控信息进行响应;第四端口,用于发送第四流控信息,第四流控信息用于指示开始或暂停发送数据。
结合第二方面,在第二方面的某些实现方式中,第二流控信息为透传的第一流控信息。
结合第二方面,在第二方面的某些实现方式中,第三端口还用于终结第一流控信息。
结合第二方面,在第二方面的某些实现方式中,上述第二流控信息是根据第三流控信息得到的。换句话说,扩展端口能够将第一流控信息中提取的控制信息,转换为适合发送到另一扩展设备的第二流控信息。
结合第二方面,在第二方面的某些实现方式中,上述控制信息包括矢量(vector)和计时器(timer)。
结合第二方面,在第二方面的某些实现方式中,第三端口和第四端口是媒体接入控制模块。
结合第二方面,在第二方面的某些实现方式中,第二流控信息为链路层流控信息或以太网暂停流控信息。
结合第二方面,在第二方面的某些实现方式中,还包括缓冲器,缓冲器全部用于头部空间。
第三方面,提供了一种传输信息的系统,包括根据上述第一方面的第一通信装置和根据上述第二方面的第二通信装置。具体地,第一通信装置包括第一端口和第二端口,第一端口连接至第一网络设备,第二通信装置包括第三端口和第四端口,第三端口与第二端口连接,第四端口连接至第二网络设备,第一端口,用于从第一网络设备接收第一流控信息,其中,第一流控信息用于指示开始或暂停发送数据;第一端口,还用于根据第一流控信息进行响应并向第二端口发送第一流控信息,第二流控信息是根据第一流控信息得到的;第二端口,用于向第三端口发送第二流控信息;第三端口,用于根据第四流控信息进行响应,并终结第四流控信息。
通过该传输信息的系统,可以使得通信装置在对流控信息进行响应时,不会简单终结该流控信息而是继续发送流控信息,使得上游设备能够更快的接收到流控信息,从而实现了装置通信能力的提高。
结合第三方面,在第三方面的某些实现方式中,第二通信装置包括缓冲器,缓冲器全部用于头部空间。
通过该传输信息的系统对上游转发流控信息,不依赖于内部缓冲器设置的阈值,可以将内部缓冲器全部用于头部空间。
第四方面,提供了一种传输信息的方法,包括:通过第一端口接收第一流控信息,其中,第一流控信息用于指示开始或暂停发送数据;通过第一端口对第一流控信息进行响应;通过第二端口发送第二流控信息,第二流控信息是根据第一流控信息得到的。
结合第四方面,在第四方面的某些实现方式中,通过缓冲器缓存数据,使得缓冲器全部用于头部空间。
结合第四方面,在第四方面的某些实现方式中,第二流控信息为透传的第一流控信息。
结合第四方面,在第四方面的某些实现方式中,第一端口通过专用队列或专用硬件通道,将第一流控信息转发至第二端口。
结合第四方面,在第四方面的某些实现方式中,通过第一端口终结第一流控信息,并向第二端口发送第三流控信息,第三流控信息包括从第一流控信息中提取的控制信息。
结合第四方面,在第四方面的某些实现方式中,控制信息包括矢量和计时器。
结合第四方面,在第四方面的某些实现方式中,第一流控信息为链路层流控信息或以太网暂停流控信息。
第五方面,提供了一种传输信息的方法,该方法包括:通过第三端口接收第二流控信息,其中,第二流控信息用于指示开始或暂停发送数据;通过第三端口对第二流控信息进行响应;通过第四端口发送第四流控信息,其中,第四流控信息用于指示开始或暂停发送数据。
结合第五方面,在第五方面的某些实现方式中,还包括缓冲器,缓冲器全部用于头部空间。
结合第五方面,在第五方面的某些实现方式中,第二流控信息为透传的第一流控信息。
结合第五方面,在第五方面的某些实现方式中,通过第三端口终结第二流控信息。
结合第五方面,在第五方面的某些实现方式中,上述第二流控信息是根据第三流控信息得到的。换句话说,扩展端口能够将第一流控信息中提取的控制信息,转换为适合发送到另一扩展设备的第二流控信息。
结合第五方面,在第五方面的某些实现方式中,控制信息包括矢量和计时器。
结合第五方面,在第五方面的某些实现方式中,第二流控信息为链路层流控信息或以太网暂停流控信息。
第六方面,提供了一种传输信息的装置,包括处理器和存储器,存储器用于存储程序指令,处理器用于调用程序指令,以执行第四方面或第四方面的任一种可能的实现方式。
第七方面,本申请实施例提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行第四方面或第五方面所述的方法的各个过程。
第八方面,提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,执行第四方面或第五方面的所述的方法的各个过程。
第九方面,提供了一种芯片系统,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有芯片系统的设备,执行第四方面或第五方面所述的方法的各个过程。
基于上述技术方案,本申请实施例的传输信息的装置和方法,通过在网络设备之间设置扩展装置,从而可以在在不丢包和不欠吞吐的情况下,减少网络设备的使用难度和设计复杂度,并使得更多的缓冲器成为头部空间,从而扩展了传输距离。
附图说明
图1是一种网络系统的示意性架构图。
图2是图1所示的第一网络设备的缓冲器中的数据流量变化示意图。
图3是图1所示的第一网络设备的缓冲器中的另一数据流量变化示意图。
图4是根据本申请实施例的一种网络系统的示意性架构图。
图5是根据本申请实施例的第一扩展设备中的传输信息的示意图。
图6是根据本申请实施例的第一扩展设备中的传输信息的另一示意图。
图7是根据本申请实施例的传输信息的方法的示意性流程图。
图8是根据本申请实施例的一种流量控制的方法的示意性流程图。
图9是根据本申请实施例的另一种流量控制的方法的示意性流程图
图10是根据本申请实施例的另一种网络系统的示意性架构图。
图11是根据本申请实施例的一种通信设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本申请保护的范围。
图1示出了一种网络系统的示意性架构图。如图1所示,该网络系统包括第一网络设备110和第二网络设备140。该网络系统使用的链路层流控机制可以为基于优先级的流控(priority flow control,PFC)。这是一种基于端口队列优先级的流控机制,需要对网络设备的缓冲器(缓冲器)设置阈值,使得缓冲器中的一部分作为头部空间(headroom)来缓存数据报文,从而保证数据传输的不丢包和不欠吞吐。
以第二网络设备140向第一网络设备110发送数据报文的情况为例,此时第一网络设备120是下游设备,第二网络设备140是上游设备。第一网络设备110可以接收数据报文并将数据报文传输至其他下游设备。此外,第一网络设备110可以接收其他下游设备发送的流量控制信息(流控信息),并对该流控信息进行响应(开始或暂停发送数据),并终结该流控信息。
假设流控信息要求暂停发送数据,在第一网络设备120进行响应从而暂停发送数据报文给下游设备时,但第二网络设备140仍然会继续发送数据报文给第一网络设备120,此时第一网络设备120会在其缓冲器中缓存所接收的数据报文。当第一网络设备110中缓存的数据报文达到设置的阈值后,第一网络设备110会生成反压信号并发送至第二网络设备140。第二网络设备140在接收第一网络设备110发送的反压信号后,并对该反压信号进行响应,暂停发送数据报文。
下面结合图2和图3,更加详细地描述图1的网络系统的流控过程。图2是图1所示的第一网络设备的缓冲器中的数据流量变化示意图。如图2所示,图2将缓冲器中的总容量大小归一化,并且设置阈值k。图2中的阈值k将缓冲器分为两部分:一半用于保证数据报文传输不欠吞吐,一半用于保证数据报文传输不丢包的头部空间。其中,从0至k的部分用于保证数据报文传输不欠吞吐,从k至1的部分用于保证数据报文传输不丢包。
如图2所示,在t1时刻之前,上游的第二网络设备140向下游的第一网络设备120发送数据报文,并且第一网络设备120向其他下游设备转发该数据报文。当第一网络设备110在t1时刻接收到下游发来的基于优先级的流控信息(PFC信息)后,例如该PFC信息指示暂停发送数据,第一网络设备110对该PFC信息进行响应以停止向下游发送数据报文,并终结该PFC信息。此后,从第二网络设备140传输至第一网络设备120的数据报文就会在第一网络设备110中的缓冲器中积压,当数据报文在t2时刻积压到设置的阈值k时,第一网络设备110才会向第二网络设备发送反压信号off,指示第二网络设备停止发送数据报文。由于第一网络设备120和第二网络设备140之间有一定的传输距离,因此反压信号off的传输也需要一定的时间,假设第二网络设备140在t3时刻接收到该反压信号off后停止发送数据报文。换句话说,从t2时刻第一网络设备110停止发送数据报文至t3时刻第二网络设备140停止发送数据报文期间,第一网络设备110仍会接收到第二网络设备140发送的数据报文,并将其缓存至头部空间中,用于保证这些数据不丢包。
假设当第一网络设备110在t3时刻接收到下游发来的新的流控报文,指示开始发送数据,第一网络设备120的头部空间中缓存的数据报文会先被发送至下游设备。在t4时刻,头部空间中数据报文全部排空,此时缓冲器中的数据报文下降至设置的阈值k,则第一网络设备110在t4时刻开始向第二网络设备140发送开始信号on,指示第二网络设备开始发送数据报文。同样地,该开始信号on也需要一定的传输时间,假设当第二网络设备140在t5时刻收到该开始信号on,然后开始发送数据报文,而从t4时刻第一网络设备120开始发送数据报文至t5时刻第二网络设备140开始发送数据报文期间,第一网络设备110不会收到第二网络设备140发送的数据报文,而是会发送缓冲器中先前暂停时存储的用于保证数据不欠吞吐的数据报文。
从图2的方案可以看出,网络设备在接收到流控报文并进行响应之后,会直接终结该流控报文,而依赖于缓冲器中设置的阈值来实现对更上游设备的流量控制,这降低了流控的效率。另一方面,需要通过设置阈值的方式将缓冲器分为用于保证数据报文传输不欠吞吐和保证数据报文传输不丢包的两部分,增加了缓冲器设计和使用的复杂度。并且,由于网络设备之间的传输距离与头部空间大小成线性关系,即t2和t3之间的时间差越长(代表网络设备之间的传输距离越长),则需要越大的头部空间。从这个角度而言,在缓冲器空间不变的情况下,为了扩展网络设备之间的传输距离,可以设置一个较低的阈值k,使得更多的缓冲器作为头部空间。
图3是图1所示的第一网络设备的缓冲器中的另一数据流量变化示意图,图3是在图2的基础上设置更多的缓冲器作为头部空间的情况。如图3所示,图3将缓冲器中的总容量大小归一化,并且设置了一个较低的阈值0<k<0.5。通过阈值k将缓冲器分为两部分:小部分用于保证数据报文传输不欠吞吐,大部分用于保证数据报文传输不丢包的头部空间。其中,从0至k的小部分用于保证数据报文传输不欠吞吐,从k至1的大部分用于用于保证数据报文传输不丢包。图3中第一网络设备110和第二网络设备120中的t1至t4时刻的数据传输过程和根据流控信息响应过程与上述图2相同,为了简洁,在此不进行赘述。但第一网络设备110在t4时刻开始向第二网络设备140发送开始信号on后。由于图3所示的缓冲器中用于保证数据不欠吞吐的部分较少,第一网络设备110的缓冲器中存储的用于保证数据不欠吞吐的数据报文在t5时刻就被排空,而t6时刻第二网络设备140才能接收到开始信号on,并开始发送数据报文。从而导致t5至t6时刻的第一网络设备110没有数据报文可以发送,即,发生了欠吞吐的情况。因此,虽然降低通过降低缓冲器中的阈值k使得头部空间增加,从而增加了传输距离,但是会导致网络设备欠吞吐。
从图3的方案可以看出,网络设备在接收到流控报文并进行响应之后,会直接终结该流控报文,而依赖于缓冲器中设置的阈值来实现对更上游设备的流量控制,这降低了流控的效率。另一方面,虽然通过降低阈值k实现头部空间的增加,从而实现网络设备间传输距离的增加,但带来了网络设备欠吞吐的问题,并且也增加了缓冲器设计和使用的复杂度。
针对上述问题,本申请提出了一种扩展装置,该装置在对流控信息进行响应时,不会简单终结该流控信息,而是会继续直接或间接转发流控信息,使得上游设备能够更快得到流控信息,从而提高流控效率。另一方面,本申请的装置对上游转发流控信息,不依赖于内部缓冲器设置的阈值,因此可以将内部缓冲器全部用于头部空间。因此,本申请提供的扩展设备有效地扩展了网络设备之间支持的最大传输距离。
图4示出了根据本申请实施例的一种网络系统的示意性架构图。如图4所示,该网络系统可以包括第一网络设备410、第一扩展设备420、第二扩展设备430和第二网络设备440。
第一扩展设备420中包括:第一扩展端口(E端口)421,即第一端口;和第一本地端口(L端口)422,即第二端口。第二扩展设备430中包括:第二扩展端口(E端口)431,即第三端口;和第二本地端口(L端口)432,即第四端口。应理解,上述E端口421、L端口422、E端口431和L端口432可以是硬件端口,如并行端口、串行端口等。其中,第一网络设备410和第二网络设备440可以是具有网络传输功能的主机或服务器的网卡、芯片,还可以是支持PFC等流量控制机制的交换机。此外,虽然图4中只包括了两个网络设备和两个扩展设备,但应理解本申请还可以是两个以上的网络设备之间相互连接或是两个以上的网络设备通过多个对应的扩展设备进行相互连接。
如图4所示,正常传输过程中,数据报文的传输方向是从第二网络设备440的上游到第二网络设备440,然后依次经过第二扩展设备430、第一扩展设备420到第一网络设备410,并由第一网络设备410发送至更下游的设备。
第一网络设备410可以由图1所示的网络设备110或140实现,能够接收来自下游设备的第一流控信息并对第一流控信息进行响应。此外,第一网络设备410可以与第一扩展设备420进行通信。此外,例如图2所示的方式,第一网络设备410中缓冲器中的一半用于保证数据报文传输不欠吞吐,另一半用于作为保证数据报文传输不丢包的头部空间。
第一扩展设备420可以接收第一网络设备410传输而来的第一流控信息,并根据第一流控信息进行响应。第一扩展设备420还可以将第二流控信息发送至第二扩展设备430,该第二流控信息是根据第一流控信息得到的,换句话说,第二流控信息的作用和第一流控信息相同,即,当第一流控信息用于指示暂停数据报文的发送时,第二流控信息而言用于指示暂停数据报文的发送;或者,当第一流控信息用于指示开始发送数据报文时,第二流控信息而言用于指示开始发送数据报文。
第二扩展设备430可以根据接收的第二流控信息进行响应并终结第二流控信息。此外,第二扩展设备430还可以向第二网络设备440发送第四流控信息。具体地,第二扩展设备430的缓冲器431全部作为头部空间,即等价于此时的设定阈值为0,这样第二扩展设备430在响应于第二流控信息而暂停向第一扩展设备420发送数据报文后,缓冲器431开始缓存从第二网络设备420发来的新数据报文,并由于缓冲器431全部作为头部空间(即阴影部分)而立刻触发反压信号(即上述第四流控信息),从而使得第二网络设备440也暂停发送数据报文。
另一方面,第一扩展设备420也可以将全部缓冲器都作为头部空间(即阴影部分)。因为第一扩展设备420不会简单地终结第一流控信息,而是会透传或者提取第一流控信息中的关键控制信息传递到第二扩展设备430,所以能够快速地通知第二扩展设备430进行相应的流控响应,而无需等待缓冲器中存储的数据报文达到阈值之后再进行流控,也就无需对缓冲器设置如图2或3所示的阈值。在此情况下,由于头部空间的大小和最大传输距离(即第一扩展设备420和第二扩展设备430之间的距离)成正比,因此能够通过更大的头部空间,实现更远的传输距离。
更具体地说,第一网络设备410可以接收第一流控信息,其中,第一流控信息可以是链路层流控信息,且该链路层流控信息可以为暂停发送信息。其中,暂停发送信息用于指示发送队列暂停发送数据报文。第一网络设备410在接收到该链路层流控信息后可以根据该链路层流控信息进行响应并通知第一网络设备410的发送队列停止发送数据报文,当从第一扩展设备420传输而来的数据报文因第一网络设备410暂停发送二在第一网络设备410中产生积压,并且所积压的数据报文超过设定的阈值后,第一网络设备410将该链路层流控信息发送至第一扩展设备420的L端口422。第一扩展设备420的L端口422在接收到链路层流控信息后正常响应第一网络设备410发送的链路层流控信息,通知L端口422的发送队列暂停发送数据报文,同时第一扩展设备420的L端口422将该链路层流控信息发送至第一扩展设备420的E端口421,E端口421将该链路层流控信息传输至第二扩展设备430的E端口431。第二扩展设备430的E端口431接收到链路层流控信息后,对该链路层流控信息进行响应,通知E端口432的发送队列暂停发送数据报文。第二扩展设备430的E端口431停止发送数据报文后,从第二网络设备440发送而来的数据报文在第二扩展设备430的缓冲器中开始积压。第二扩展设备430可以与图5中的第一扩展设备420相同,将全部的缓冲器都作为头部空间。由于第二扩展设备430中将缓冲器全部用于作为头部空间(即等价于此时的设定阈值为0),所以当第二扩展设备430中的缓冲器在产生积压时,第二扩展设备430的L端口432会立即向第二网络设备440发送反压信号off,第二网络设备440在接收到该反压信号off后会通知第二网络设备440的发送队列停止发送数据报文。
作为另一种情况,该链路层流控信息还可以为开始发送信息。此时,第一网络设备410可以接收第一流控信息,其中,第一流控信息可以是链路层流控信息,且该链路层流控信息可以为开始发送信息。其中,开始发送信息用于指示发送队列开始发送数据报文。第一网络设备410在接收到该链路层流控信息后可以根据该链路层流控信息进行响应并通知第一网络设备410的发送队列开始发送数据报文。第一网络设备410首先会将缓冲器中头部空间部分在暂停时缓存的数据报文发送至下游网络设备或终端。当第一网络设备410的缓冲器中头部空间部分缓存的数据报文全部排空,此时第一网络设备410的缓冲器中缓存的数据报文下降至设定阈值(即上述暂停时积压数据报文的第一网络设备410触发的阈值)后,第一网络设备410将该链路层流控信息发送至第一扩展设备410的L端口422。第一扩展设备420的L端口422在接收到链路层流控信息后正常响应第一网络设备410发送的链路层流控信息,通知L端口422的发送队列开始发送数据报文,同时第一扩展设备420的L端口422将该链路层流控信息发送至第一扩展设备420的E端口421,E端口421将该链路层流控信息传输至第二扩展设备430的E端口432。第二扩展设备430的E端口431接收到链路层流控信息后,对该链路层流控信息进行响应,通知E端口431的发送队列开始发送数据报文。第二扩展设备430的E端口431开始发送数据报文后,由于第二扩展设备430中将缓冲器全部用于作为头部空间(即等价于此时的设定阈值为0),所以当第二扩展设备430的缓冲器中的头部空间中缓存的数据报文会迅速发送完成,并且第二扩展设备430的L端口432会立即向第二网络设备440发送开始信号on,第二网络设备440在接收到该开始信号on后会通知第二网络设备440的发送队列开始发送数据报文。
由于网络设备支持的最大传输距离与头部空间的大小呈线性关系,即头部空间越大,网络设备支持的最大传输距离越长。因此,本申请实施例中的扩展设备将扩展设备的全部缓冲器作为头部空间,增加了头部空间大小,从而使得网络设备支持的最大传输距离延长。
应理解,上述第一扩展设备420和第二扩展设备430中为缓冲器设置的阈值还可以为一个较小值,将大部分的缓冲器用于作为头部空间,并以此扩展第一网络设备410和第二网络设备440之间的传输距离。
应理解,该网络系统可以为运用RDMA技术的网络系统,例如该网络系统为使用RoCE技术的网络系统。本申请实施例仅以使用RoCE技术的网络系统、网络设备和扩展设备为例进行说明,但本申请并不限于此,任何能够实现流控的系统均可以运用本申请的技术方案。
图4示出了应用本申请实施例的一种网络系统,该网络系统例如为使用RoCE技术的网络系统。下面将结合图5和图6,以第一扩展设备为例,具体描述本申请实施例中扩展设备的信息传输方法。
图5示出了根据本申请实施例的第一扩展设备中的传输信息的示意图。
如图5所示,第一扩展设备420与第一网络设备410通过有线传输(如光纤、铜线等)相连接。第一扩展设备420可以从第一网络设备410处接收第一流控信息。本申请实施例对第一流控信息的具体格式不作限制,例如,该流控信息可以是链路层流控信息,包括基于优先级的流控信息(PFC信息),还可以是以太网暂停流量流控信息(pause帧)。本申请实施例仅以使用PFC信息为例进行说明。第一扩展设备420的L端口422可以从第一网络设备410处接收PFC信息,对该PFC信息进行响应,该响应可以为开始或暂停发送数据,并将原始的第一流控信息通过内部的转发路径转发至E端口421,例如通过专用队列转发第一流控信息。下面将以通过专用队列转发PFC信息为例进行说明。L端口422可以通过专用队列入口(ingress)将PFC信息发送至第一扩展设备410的缓冲器423中,缓冲器423通过专用队列出口(egress)将该PFC信息传输至第一扩展端口410的E端口421。E端口在接收到PFC信息后可以将该PFC信息通过有线或无线传输至对端的第二扩展设备430的E端口431。
应理解,本申请实施例以专用队列入口(ingress)/出口(egress)为例进行说明,但本申请不限于此。
此外,第一扩展设备420中的数据报文传输也可以通过专用队列进行传输。E端口在接收到数据报文后可以先将数据报文从E端口421通过ingress队列传输至缓冲器423中,随后缓冲器423可以将数据报文通过egress队列传输至L端口422。
通过上述专用队列进行传输,可以实现信息的快速传输,也可以避免需要使用算法对传输的信息进行修正。
图6示出了根据本申请实施例的第一扩展设备中传输信息的另一示意图。
如图6所示,第一扩展设备420与第一网络设备410可以通过有线传输(如光纤、铜线等)相连接。第一扩展设备420可以从第一网络设备410处接收第一流控信息,该第一流控信息可以是链路层流控信息,包括基于优先级的流控信息(PFC信息),还可以是以太网暂停流量流控信息(pause帧)。本申请实施例仅以使用PFC信息为例进行说明。第一扩展设备420的L端口422可以从第一网络设备410处接收PFC信息,并对该PFC信息进行响应。该响应可以为开始或暂停发送数据。L端口422还可以提取PFC信息中的关键信息,例如矢量和计时器等信息,并可以将第一流控信息通过专用硬件通道直接从传输至第一扩展设备420的E端口421。例如,第一扩展设备420的L端口422可以将提取的信息通过控制面通道(CPU通道等)直接转发至第一扩展设备420的E端口421,且无需通过缓冲器423。第一扩展设备420的E端口421在接收到提取的信息后可以根据提取的信息生成新的PFC信息,并将该新的PFC信息通过有线或无线传输至对端的第二扩展设备430的E端口431。
此外,上述图7中的专用硬件通道还可以用于将原始的第一流控信息从L端口422传输至E端口421,无需L端口422提取第一流控信息中的关键信息,且无需通过缓冲器423。
上述图5和图6描述了第一扩展设备中的信息传输方法,下面将结合图7至图9具体描述本申请实施例的传输信息的方法。
图7示出了根据本申请实施例的传输信息的方法的示意性流程图。下面结合图4的系统,描述图7所示的传输信息的方法。
701,通过第一扩展设备420的L段口422接收第一流控信息并对第一流控信息进行响应。其中,第一流控信息可以用于指示开始或暂停发送数据。
702,通过第一扩展设备420的E段口421发送第二流控信息,该第二流控信息是根据第一流控信息得到的。
703,通过第二扩展设备430的E端口431接收第二流控信息并对第二流控信息进行响应。其中,第二流控信息用于指示开始或暂停发送数据。
704,通过第二扩展设备430的L端口422发送第四流控信息。其中,第四流控信息用于指示开始或暂停发送数据。
因此,本申请实施例的传输信息的方法能够在对流控信息进行响应时,不会简单终结该流控信息,而是会继续转发流控信息,使得上游设备能够更快得到流控信息,从而提高通信能力。
下面将结合图8和图9对通过图7中传输信息的方法来实现流量控制效果的具体实施步骤进行详细描述。
图8示出了根据本申请实施例的一种流量控制的方法的示意性流程图。下面将结合图5和图6对图8的方法进行描述。
应理解,本申请实施例的第一流控信息,可以是链路层流控信息,包括基于优先级的流控信息(PFC信息),还可以是以太网暂停流量流控信息(pause帧)。本申请实施例仅以使用PFC信息为例进行说明,但本申请并不限于此。通过使用PFC信息进行流量控制,可以有效避免丢包问题的产生。通过使用PFC信息进行流量控制,可以有效避免丢包问题的产生。
如图8所示,该方法包括以下过程。
801,第一网络设备410接收并响应第一流控信息。
具体的,在步骤801中,第一网络设备410可以监控其下游的网络设备或终端设备是否有PFC信息发出。当有PFC信息发出时,第一网络设备410可以接收该PFC信息并对该PFC信息进行响应,并将该PFC信息发送至第一扩展设备420。例如,该PFC信息可以为PFC暂停信息(PFC OFF),当第一网络设备410接收到该PFC暂停信息后可以根据该PFC暂停信息进行响应并通知第一网络设备410的发送队列停止发送数据报文。
应理解,本申请实施例中的PFC信息还可以为PFC开始信息(PFC ON),本申请实施例对此不作限定。
802,第一网络设备410将第一流控信息发送至第一扩展设备420的L端口422。
在步骤802中,当第一网络设备410的发送队列停止发送数据报文后,从第一扩展设备420传输而来的数据报文因第一网络设备410暂停发送而在第一网络设备410中产生积压,并且所积压的数据报文超过设置的阈值后,第一网络设备410将PFC暂停信息发送至第一扩展设备420的L端口422。
803,第一扩展设备420的L端口422接收并响应第一流控信息。
在步骤803中,第一扩展设备420的L端口422在接收到PFC暂停信息后可以正常响应第一网络设备410发送的链路层流控信息,通知L端口422的发送队列暂停发送数据报文。
804,第一扩展设备420的L端口422将第一流控信息传输给第一扩展设备420的E端口421。
在步骤804中,第一扩展设备420的L端口422在响应第一网络设备410发送的PFC暂停信息时。在一些实施例中,第一扩展设备420的L端口422可以通过如上述图6的专用队列(例如ingress/egress队列)将PFC暂停信息通过缓冲器转发至第一扩展设备420的E端口421。
在另一些实施例中,第一扩展设备420的L端口422可以通过如上述图7的专用硬件通道(例如CPU通道)将PFC暂停信息通过缓冲器转发至第一扩展设备420的E端口421。
805,第一扩展设备420的E端口421将第二流控信息发送至第二扩展设备430的E端口431。
在步骤805中,第一扩展设备的E端口421在接收到第一扩展设备的L端口发送的PFC暂停信息后,可以直接将PFC暂停信息传输至第二扩展设备430的E端口132。其中,E端口421和E端口431包含媒体接入控制(media access control,MAC)模块,PFC信息在L端口422和E端口431之间的传输方式可以为透传。此外,在传输PFC信息时,可以通过无线传输或有线传输等方式,而有线传输还可以是通过光纤、铜线等方式进行传输,本实施例对此不进行限定。
806,第二扩展设备430的E端口431接收并响应第二流控信息。
在步骤806中,第二扩展设备430的E端口431在接收到第一扩展设备420的E端口421发送的PFC暂停信息后,可以根据该PFC暂停信息进行响应,通知发送队列停止发送数据报文,并终结该PFC暂停信息。
807,第二扩展设备430的L端口432生成第四流控信息。
在步骤807中,为了使得第二扩展设备430在暂停发送数据后,第二网络设备440能够快速响应并暂停发送数据报文,避免过多的数据报文在第二扩展设备430中积压或丢失。因此,当第二扩展设备430的E端口132停止发送数据报文后,从第二网络设备440发送至第二扩展设备430的数据报文在第二扩展设备430的缓冲器中开始积压。由于第二扩展设备430中将缓冲器全部用于作为头部空间(即等价于此时的设定阈值为0),所以当第二扩展设备430中的缓冲器在产生积压时,第二扩展设备430的L端口会立即生成暂停发送信号(反压信号off)。
808,第二扩展设备430的L端口432将第四流控信息发送至第二网络设备440。
在步骤808中,第二扩展设备430的L端口在生成反压信号off后,会立即将该反压信号off发送至第二网络设备440。
809,第二网络设备440接收并响应第四流控信息。
在步骤809中,第二网络设备440在接收到该反压信号off后会通知第二网络设备440的发送队列停止发送数据报文,并完成网络设备之间对流控信息的响应过程。
在本申请实施例中,第一扩展设备420的E端口421发送至第二扩展设备430的E端口431的第二流控信息与第一流控信息相同,即此时E端口421直接转发第一流控信息至E端口431。
在一些实施例中,还可以是第一扩展设备420的E端口421根据第一流控信息进行响应。第一扩展设备420的L端口422在接收到第一网络设备410发送的第一流控信息后可以不对第一流控信息进行响应,直接将第一流控信息传输至第一扩展设备420的E端口421,E端口421可以根据第一流控信息进行响应,暂停或开始发送数据报文,并将第二流控信息传输至第二扩展设备430的E端口431。
该方案可以将扩展设备中全部缓冲器都作为头部空间,增加了头部空间的大小,从而使得网络设备的最大传输距离延长,并且不会导致丢包或欠吞吐。
该方案还可以通过将流控信息从下游设备直接透传至上游设备,可以使得各个端口无需进行信息格式或内容的转化,从而减少了下游设备和上游设备的实现复杂度。并且,透传方式的速度较快,时延较短,能够更快地向上游转发流控信息,提高流控效率。
图9示出了示出了根据本申请实施例的另一种流量控制的方法的示意性流程图。下面将结合图5和图6对图9的方法进行描述。如图9所示,该方法包括以下过程。
901,第一网络设备410接收第一流控信息。
在步骤901中,第一网络设备410可以监控下游的网络设备或终端设备是否有PFC信息发出。当有PFC信息发出时,第一网络设备可以接收该PFC信息并对该PFC信息进行响应,并将该PFC信息发送至第一扩展设备420。例如,该PFC信息可以为PFC暂停信息(PFCOFF),当第一网络设备410接收到该PFC暂停信息后可以根据该PFC暂停信息进行响应并通知第一网络设备410的发送队列停止发送数据报文。
应理解,本申请实施例中的PFC信息还可以为PFC开始信息(PFC ON),本申请实施例对此不作限定。
902,第一网络设备410将第一流控信息发送至第一扩展设备420的L端口422。
在步骤902中,当第一网络设备410的发送队列停止发送数据报文后,从第一扩展设备420传输而来的数据报文因第一网络设备410暂停发送而在第一网络设备410中产生积压,并且所积压的数据报文超过设置的阈值后,第一网络设备410将PFC暂停信息发送至第一扩展设备420的L端口422。
903,第一扩展设备420的L端口422接收并响应第一流控信息。
在步骤903中,第一扩展设备420的L端口422在接收到PFC暂停信息后可以正常响应第一网络设备410发送的PFC暂停信息,通知L端口422的发送队列暂停发送数据报文。
904,第一扩展设备420的L端口422根据第一流控信息生成第三流控信息。
在步骤904中,第一扩展设备420的L端口422在响应第一网络设备410发送的PFC暂停信息时,第一扩展设备420的L端口422可以提取PFC暂停信息中的关键信息(即控制信息),如矢量(vector)和计时器(timer)等信息,并通过如上述图4的专用硬件通道(例如CPU通道)将提取的信息通过缓冲器转发至第一扩展设备420的E端口421。其中,计时器(timer)信息可以为多个标准帧格式的信息,包含多个比特。例如,计时器信息可以为timer0,timer1,…,timer7,其中每个计时器信息都可以为包含多个比特的全0或全1的信息。例如,当timer0中为全0时,代表开始发送信息,当timer0中为全1时,代表暂停发送信息。
矢量信息可以为包含多个比特的信息,用于指示多个标准帧格式的计时器信息中的一个或多个计时器信息为有效信息,例如,该矢量信息可以为0090101,指示timer2、timer5和time7为有效的计时器信息,且timer2、timer5个timer7中全为1,即此时提取的信息指示暂停发送信息。从而使得后续步骤中的第一扩展设备410的E端口421可以根据上述矢量信息所指示的有效的计时器信息生成新的PFC暂停信息。
905,第一扩展设备420的L端口422将该第三流控信息发送至第一扩展设备420的E端口421。
在步骤905中,第一扩展设备420的L端口422可以将提取的信息发送至E端口421。其中,第一网络设备120的L端口422与E端口421之间的传输方式可以为通过专用队列或专用硬件通道进行传输。此外,当通过专用队列传输提取的信息时,若提取的信息的格式不是E端口421所支持的格式,如标准的PFC格式,则第一网络设备410可以将提取的信息转化为E端口所支持的格式,并发送至E端口421。
906,第一扩展设备420的E端口421接收第三流控信息并根据该第三流控信息生成第二流控信息。
在步骤906中,第一扩展设备420的E端口421在接收到第一扩展设备的L端口422发送的提取的信息后,可以根据提取的信息生成新的PFC暂停信息。
907,第一扩展设备420的E端口421将第二流控信息发送至第二扩展设备430的E端口431。
在步骤907中,第一扩展设备420的E端口421可以将该新的PFC暂停信息传输至第二扩展设备430的E端口132。其中,E端口421和E端口431包括MAC模块。此外,在传输PFC信息时,可以通过无线传输或有线传输等方式,而有线传输还可以是通过光纤、铜线等方式进行传输,本实施例对此不进行限定。
908,第二扩展设备430的E端口431接收并响应第二流控信息。
在步骤908中,第二扩展设备430的E端口431在接收到第一扩展设备420的E端口421发送的新的PFC暂停信息后,可以根据该新的PFC暂停信息进行响应,通知发送队列停止发送数据报文,并终结该新的PFC暂停信息。
909,第二扩展设备430的L端口432生成第四流控信息。
在步骤909中,为了使得第二扩展设备430在暂停发送数据后,第二网络设备440能够快速响应并暂停发送数据报文,避免过多的数据报文在第二扩展设备430中积压或丢失。因此,当第二扩展设备430的E端口431停止发送数据报文后,从第二网络设备440发送至第二扩展设备430的数据报文在第二扩展设备430的缓冲器中开始积压。由于第二网络设备440中将缓冲器全部用于作为头部空间(即等价于此时的设定阈值为0),所以当第二扩展设备430中的缓冲器在产生积压时,第二扩展设备430的L端口会立即生成暂停发送信号(反压信号off)。
910,第二扩展设备430的L端口432将第四流控信息发送至第二网络设备440。
在步骤910中,第二扩展设备430的L端口432在生成反压信号off后,会立即将该反压信号off发送至第二网络设备440。
911,第二网络设备440接收并响应第四流控信息。
在步骤911中,第二网络设备440在接收到该反压信号off后会通知第二网络设备440的发送队列停止发送数据报文,并完成网络设备之间对流量流控信息的响应过程。
上述实施例描述了第一网络设备接收流量流控信息,并向第二扩展设备发送流量流控信息的过程,下面将描述第二网络设备接收流量流控信息,并向第一扩展设备发送流控信息的过程。
在本申请实施例中,第一扩展设备420的L端口422能够提取第一流控信息中的部分信息,并根据提取的信息生成第三流控信息。此外,第一扩展设备420的E端口421能够根据该第三流控信息生成第二流控信息,并将该第二流控信息传输至第二扩展设备的E端口。
在一些实施例中,还可以是第一扩展设备420的E端口421根据第三流控信息进行响应。第一扩展设备420的E端口421在接收到第一网络设备410发送的第一流控信息后可以不对第一流控信息进行响应,而是提取第一流控信息中的部分信息,并将提取的信息作为第三流控信息,随后将该第三流控信息发送至第一扩展设备420的E端口421,E端口421可以根据第三流控信息进行响应,暂停或开始发送数据报文,并根据该第三流控信息生成第二流控信息,将第二流控信息传输至第二扩展设备430的E端口431。
在另一些实施例中,还可以是第一网络设备410根据第一流控信息进行响应。第一网络设备410在接收到第一流控信息后可以根据第一流控信息进行响应,暂停或开始发送数据报文,提取第一流控信息中的部分信息并生成第三流控信息,随后将第三控制发送至第一扩展设备420的L端口422。第一扩展设备420的L端口121在接收到第一网络设备410发送的第三流控信息后可以对第三流控信息进行响应,并将该第三流控信息发送至第一扩展设备420的E端口421。E端口421可以根据该第三流控信息生成第二流控信息,并将第二流控信息传输至第二扩展设备430的E端口431。
在另一些实施例中,还可以是第一网络设备410根据第一流控信息进行响应。第一网络设备410在接收到第一流控信息后可以根据第一流控信息进行响应,暂停或开始发送数据报文,提取第一流控信息中的部分信息并生成第三流控信息,随后将第三流控信息发送至第一扩展设备420的L端口422。第一扩展设备420的L端口121在接收到第一网络设备410发送的第一流控信息后可以不对第三流控信息进行响应,直接将该第三流控信息发送至第一扩展设备420的E端口421。E端口421可以根据第三流控信息进行响应,暂停或开始发送数据报文,并根据该第三流控信息生成第二流控信息,将第三流控信息传输至第二扩展设备430的E端口431。
应理解,本申请实施例中的第一网络设备410、第一扩展设备420的L端口422以及第一扩展设备420的E端口421都可以对接收到的第一流控信息进行提取并生成第三流控信息。此外,第一网络设备410、第一扩展设备420的L端口422以及第一扩展设备420的E端口421也都可以对第一流控信息和第三流控信息进行响应,为了简洁,本申请对此不进行重复描述。
该方案也可以将全部缓冲器都作为头部空间,从而使得网络设备的最大传输距离延长,并且不会导致丢包或欠吞吐。此外,该方案中还能通过对流控信息中的关键信息进行提取,使得流控信息能够传输至扩展端口的同时,占用更少的传输资源。
图10示出了根据本申请实施例的另一种网络系统的示意性架构图,如图10所示,图10包含与上述图4相同的全部组件,为了简洁,在此不进行重复描述。但图10中的第一流控信息是由第二网络设备440的上游设备传输至第二网络设备440的。下面将对此进行阐述。
如图10所示,第二网络设备440可以接收第一流控信息并对第一流控信息进行响应,并与第二扩展设备430进行通信。第二扩展设备430可以接收第二网络设备440传输而来的第一流控信息,并根据第一流控信息进行响应。此外,第一扩展设备420还可以将第二流控信息发送至第二扩展设备430。第二扩展设备430可以根据接收的第二流控信息进行响应并终结第二流控信息。此外,第一扩展设备420还可以发送第四流控信息。
具体地说,第二网络设备440可以接收第一流控信息,其中,第一流控信息可以是链路层流控信息,且该链路层流控信息可以为暂停发送信息。暂停发送信息用于指示接收队列暂停接收数据报文。第二网络设备440在接收到该链路层流控信息后可以根据该链路层流控信息进行响应并通知第二网络设备440的接收队列停止从第二网络设备440的上游网络设备或终端接收数据报文。第二网络设备440停止接收数据报文后首先会将缓冲器中头部空间部分在缓存的数据报文发送至第二扩展设备430。当第二网络设备440的缓冲器中头部空间部分缓存的数据报文全部发送完成,此时第二网络设备440的缓冲器中缓存的数据报文下降至设定阈值后,第二网络设备440将该链路层流控信息发送至第二扩展设备430的L端口432。第二扩展设备430的L端口432在接收到链路层流控信息后正常响应第二网络设备440发送的链路层流控信息,通知L端口432的接收队列暂停接收数据报文,同时第二扩展设备430的L端口432将该链路层流控信息发送至第二扩展设备430的E端口431,E端口421将该链路层流控信息传输至第二扩展设备430的E端口421。第一扩展设备420的E端口421接收到链路层流控信息后,对该链路层流控信息进行响应,通知E端口421的接收队列暂停接收数据报文。第一扩展设备420的E端口421暂停接收数据报文后,由于第一扩展设备420中将缓冲器全部用于作为头部空间(即等价于此时的设定阈值为0),所以当第一扩展设备420的缓冲器中的头部空间中缓存的数据报文会下降至设置的阈值,并且第一扩展设备420的L端口422会立即向第一网络设备410发送反压信号off,第一网络设备410在接收到该反压信号off后会通知第一网络设备410的接收队列停止接收数据报文。
作为另一种情况,该链路层流控信息还可以为开始发送信息。此时,第二网络设备440可以接收第一流控信息,其中,第一流控信息可以是链路层流控信息,且该链路层流控信息可以为开始发送信息。其中,开始发送信息用于指示接收队列开始接收数据报文。第二网络设备440在接收到该链路层流控信息后可以根据该链路层流控信息进行响应并通知第二网络设备440从第二网络设备440的上游网络设备或终端开始接收数据报文。当从第二网络设备440的上游网络设备或终端传输而来的数据报文因第二网络设备440暂停发送而在第二网络设备440中产生积压,并且所积压的数据报文超过设定的阈值后,第二网络设备440将该链路层流控信息发送至第二扩展设备430的L端口432。第二扩展设备430的L端口432在接收到链路层流控信息后正常响应第二网络设备440发送的链路层流控信息,通知L端口432的接收队列开始接收数据报文,同时第二扩展设备430的L端口432将该链路层流控信息发送至第二扩展设备430的E端口431,E端口431将该链路层流控信息传输至第一扩展设备420的E端口421。第一扩展设备420的E端口421接收到链路层流控信息后,对该链路层流控信息进行响应,通知E端口122的接收队列开始接收数据报文。第一扩展设备420的E端口421开始接收数据报文后,由于第一扩展设备420中将缓冲器全部用于作为头部空间(即等价于此时的设定阈值为0),所以当第一扩展设备420中的缓冲器在产生积压时,第二扩展设备430的L端口432会立即向第一网络设备410发送开始信号on,第一网络设备410在接收到该开始信号on后会通知第一网络设备410的接收队列开始接收数据报文。
应理解,上述图10中的另一种网络系统可以执行如图5至图9的传输信息和流量控制的方法,但是其对于流控信息的传输方向相反。
以上描述了根据本申请实施例的传输信息的装置和方法。本申请实施例的传输信息的装置和方法能够在对流控信息进行响应时,不会简单终结该流控信息,而是会继续转发流控信息,使得上游设备能够更快得到流控信息,从而提高通信能力。并通过在原有的网络设备之间设置扩展设备,并通过使得扩展设备中的所有缓冲器全部作为头部空间,使得原有的头部空间大小得到了有效增加。并且由于头部空间的大小与网络设备之间支持的最大传输距离相关,所以本申请实施例中的传输信息的装置和方法可以在保证数据传输的无损特征和不欠吞吐的情况下,扩展了网络设备之间的数据传输的距离。
下面将结合图11描述根据本申请实施例的传输信息的计算机设备。
本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序指令,上述程序执行时可包括如图6至图10对应实施例中的传输数据的方法的部分或全部步骤。
图11是根据本申请实施例的一种通信设备的结构示意图。图11所示的计算机设备1100包括:处理器1101、存储器1102和通信接口1103,处理器1101、存储器1102和通信接口1103通过总线1104进行通信。接收器1105用于接收来自于主机的待处理请求,发送器1106用于将存储器1102中存储的待处理请求发送至计算集群中的另一计算设备。
上述本申请实施例揭示的方法可以应用于处理器1101中,或者由处理器1101实现。处理器1101可以是中央处理器(central processing unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。在实现过程中,上述方法的各步骤可以通过处理器1101中的硬件的集成逻辑电路或者软件形式的指令完成。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储器1102中,该存储器1102可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data date SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambusRAM,DR RAM)处理器1101读取存储器1102中的指令,结合其硬件完成上述方法的步骤。
存储器1102可以存储用于执行上述实施例中计算机设备执行的方法的指令。处理器1101可以执行存储器1102中存储的指令结合其他硬件(例如接收器1105和发送器1106)完成上述实施例中计算机设备的步骤,具体工作过程和有益效果可以上述实施例中的描述。
存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
总线1104除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线1104。
本申请实施例还提供了一种芯片系统,该芯片系统包括逻辑电路,该逻辑电路用于与输入/输出接口耦合,通过该输入/输出接口传输数据,以执行上述实施例中计算机设备执行的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机程序产品,该计算机程序产品包括:计算机程序代码,当该计算机程序代码在计算机上运行时,使得该计算机执行上述实施例中的各个步骤。
根据本申请实施例提供的方法,本申请还提供一种计算机可读介质,该计算机可读介质存储有程序代码,当该程序代码在计算机上运行时,使得该计算机执行上述实施例中的各个步骤。
在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令或程序代码完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
应注意,本申请实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令或程序代码完成。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本申请的实施例提供传输信息的装置和方法。对于本领域技术人员将会显而易见的是,本申请的实施例可以应用于各种类型的计算机设备。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
1.一种传输信息的装置,其特征在于,包括:
第一端口,用于接收第一流控信息,其中,所述第一流控信息用于指示开始或暂停发送数据;
所述第一端口,还用于根据所述第一流控信息进行响应;
第二端口,用于发送第二流控信息,所述第二流控信息是根据所述第一流控信息得到的。
2.根据权利要求1所述的装置,其特征在于,还包括缓冲器,所述缓冲器全部用于头部空间。
3.根据权利要求1或2所述的装置,其特征在于,所述第二流控信息为透传的所述第一流控信息。
4.根据权利要求3所述的装置,其特征在于,所述第一端口具体用于,通过所述专用队列或专用硬件通道,将所述第一流控信息转发至所述第二端口。
5.根据权利要求1或2所述的装置,其特征在于,所述第一端口还用于终结所述第一流控信息,并向第二端口发送第三流控信息,所述第三流控信息包括从所述第一流控信息中提取的控制信息。
6.根据权利要求5所述的装置,其特征在于,所述控制信息包括矢量和计时器。
7.根据权利要求5或6所述的装置,其特征在于,所述第二流控信息是根据所述第三流控信息得到的。
8.根据权利要求1至7中任一项所述的装置,其特征在于,所述第一端口和所述第二端口是媒体接入控制模块。
9.根据权利要求1至8中任一项所述的装置,其特征在于,所述第一流控信息为链路层流控信息或以太网暂停流控信息。
10.一种传输信息的系统,其特征在于,包括第一通信装置和第二通信装置,
所述第一通信装置包括第一端口和第二端口,所述第一端口连接至第一网络设备,
所述第二通信装置包括第三端口和第四端口,所述第三端口与所述第二端口连接,所述第四端口连接至第二网络设备,
所述第一端口,用于从所述第一网络设备接收第一流控信息,其中,所述第一流控信息用于指示开始或暂停发送数据;
所述第一端口,还用于根据所述第一流控信息进行响应并向所述第二端口发送第一流控信息,所述第二流控信息是根据所述第一流控信息得到的;
所述第二端口,用于向所述第三端口发送第二流控信息;
所述第三端口,用于根据所述第四流控信息进行响应,并终结所述第四流控信息。
11.根据权利要求10所述的系统,其特征在于,所述第二通信装置包括缓冲器,所述缓冲器全部用于头部空间。
12.一种传输信息的方法,其特征在于,包括:
通过第一端口接收第一流控信息,其中,所述第一流控信息用于指示开始或暂停发送数据;
通过第一端口对所述第一流控信息进行响应;
通过第二端口发送第二流控信息,所述第二流控信息是根据所述第一流控信息得到的。
13.根据权利要求12所述的方法,其特征在于,还包括通过缓冲器缓存数据,使得所述缓冲器全部用于头部空间。
14.根据权利要求12或13所述的方法,其特征在于,所述第二流控信息为透传的所述第一流控信息。
15.根据权利要求14所述的方法,其特征在于,所述第一端口通过专用队列或专用硬件通道,将所述第一流控信息转发至所述第二端口。
16.根据权利要求12或13所述的方法,其特征在于,通过所述第一端口终结所述第一流控信息,并向第二端口发送第三流控信息,所述第三流控信息包括从所述第一流控信息中提取的控制信息。
17.根据权利要求16所述的方法,其特征在于,所述控制信息包括矢量和计时器。
18.根据权利要求12至17中任一项所述的方法,其特征在于,所述第一流控信息为链路层流控信息或以太网暂停流控信息。
19.一种传输信息的装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求12至19中任一项所述的传输信息的方法。
20.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机指令,当计算机指令在计算机上运行时,如权利要求12至19中任一项所述的方法被实现。
21.一种芯片系统,其特征在于,包括:处理器,用于从存储器中调用并运行计算机程序,使得安装有所述芯片系统的设备,执行权利要求12至19中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111582382.XA CN116346720A (zh) | 2021-12-22 | 2021-12-22 | 一种传输信息的装置和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111582382.XA CN116346720A (zh) | 2021-12-22 | 2021-12-22 | 一种传输信息的装置和方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116346720A true CN116346720A (zh) | 2023-06-27 |
Family
ID=86877575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111582382.XA Pending CN116346720A (zh) | 2021-12-22 | 2021-12-22 | 一种传输信息的装置和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346720A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117295118A (zh) * | 2023-10-08 | 2023-12-26 | 广州市玄武无线科技股份有限公司 | 一种稳定性强且短信数据缓冲及流量控制的方法 |
-
2021
- 2021-12-22 CN CN202111582382.XA patent/CN116346720A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117295118A (zh) * | 2023-10-08 | 2023-12-26 | 广州市玄武无线科技股份有限公司 | 一种稳定性强且短信数据缓冲及流量控制的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10868767B2 (en) | Data transmission method and apparatus in optoelectronic hybrid network | |
JP7122455B2 (ja) | トラフィック伝送方法、装置及びコンピュータ記憶媒体 | |
KR100580141B1 (ko) | 패킷 데이터 시스템의 성능을 강화하기 위한 장치 및 방법 | |
CN110022264B (zh) | 控制网络拥塞的方法、接入设备和计算机可读存储介质 | |
US10841230B1 (en) | Intelligent controller and sensor network bus, system and method | |
US7606151B2 (en) | Power reduction in switch architectures | |
US11968111B2 (en) | Packet scheduling method, scheduler, network device, and network system | |
JP4560213B2 (ja) | データネットワーク内の多重受信確認管理システム | |
US20160380895A1 (en) | Traffic Management Implementation Method and Apparatus, and Network Device | |
EP2963874A1 (en) | Data scheduling and switching method, apparatus, and system | |
JP2002271366A (ja) | パケット伝送方法及びシステム、並びにパケット送信装置、受信装置、及び送受信装置 | |
US8111623B2 (en) | Node, method and system for control of communication including a buffer | |
CN113076280B (zh) | 一种数据传输方法及相关设备 | |
WO2017114231A1 (zh) | 一种报文发送方法、tcp代理以及tcp客户端 | |
US8908510B2 (en) | Communication link with intra-packet flow control | |
CN109714128B (zh) | 数据传输方法、设备及计算机存储介质 | |
CN116346720A (zh) | 一种传输信息的装置和方法 | |
JP4652314B2 (ja) | イーサoamスイッチ装置 | |
WO2012119414A1 (zh) | 交换网的流量控制方法和装置 | |
CN113542148A (zh) | 一种报文聚合方法、装置、网络网卡及可读存储介质 | |
CN108614792B (zh) | 1394事务层数据包存储管理方法及电路 | |
JP2003087320A (ja) | パケット中継装置、及びその方法 | |
CN111274195B (zh) | Rdma网络流控方法、装置及计算机可读存储介质 | |
US20160087934A1 (en) | Communication system, communication method, and transmission apparatus | |
WO2023116611A1 (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 |