CN116346756A - 报文转发方法及相关装置 - Google Patents
报文转发方法及相关装置 Download PDFInfo
- Publication number
- CN116346756A CN116346756A CN202310316809.4A CN202310316809A CN116346756A CN 116346756 A CN116346756 A CN 116346756A CN 202310316809 A CN202310316809 A CN 202310316809A CN 116346756 A CN116346756 A CN 116346756A
- Authority
- CN
- China
- Prior art keywords
- message
- switch
- forwarded
- sub
- hop
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000000872 buffer Substances 0.000 claims abstract description 200
- 238000004891 communication Methods 0.000 claims abstract description 19
- 238000013507 mapping Methods 0.000 claims description 14
- 230000001105 regulatory effect Effects 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 3
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 claims 5
- 230000006855 networking Effects 0.000 abstract description 9
- 238000004364 calculation method Methods 0.000 abstract description 4
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 19
- 238000012360 testing method Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 102100021186 Granulysin Human genes 0.000 description 4
- 101001040751 Homo sapiens Granulysin Proteins 0.000 description 4
- 102100021984 C-C motif chemokine 4-like Human genes 0.000 description 3
- 101000777471 Homo sapiens C-C motif chemokine 4 Proteins 0.000 description 3
- 101000737602 Homo sapiens Ceramide synthase 1 Proteins 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000010410 layer Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000002356 single layer Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9047—Buffering arrangements including multiple buffers, e.g. buffer pools
- H04L49/9052—Buffering arrangements including multiple buffers, e.g. buffer pools with buffers of different sizes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/122—Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/125—Shortest path evaluation based on throughput or bandwidth
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- 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
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/127—Avoiding congestion; Recovering from congestion by using congestion prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/15—Interconnection of switching modules
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提出一种报文转发方法及相关装置,涉及网络通信领域。脊交换机根据获取到的每个叶交换机发送的各个子缓冲池的使用占比,确定每个叶交换机上处于预拥塞状态的子缓冲池,以及确定待转发报文对应的下一跳叶交换机以及流量特征,根据该下一跳叶交换机和流量特征、对应关系和处于预拥塞状态的子缓冲池,在确定对待转发报文对应的下一跳叶交换机进行调整时做出调整,并通过调整后的下一跳叶交换机转发待转发报文。该方法具有普适性,通过该方法,可调整待转发报文在叶交换机上的分配情况,以避免叶交换机产生拥塞导致触发PFC机制,从而可提高RDMA网络的吞吐带宽以及组网的性能,同时减少控制器的计算消耗,避免出现丢包问题。
Description
技术领域
本申请涉及网络通信领域,具体而言,涉及一种报文转发方法及相关装置。
背景技术
目前,数据中心组网中,RDMA(Remote Direct Memory Access,远程直接数据存取)技术广泛使用,RDMA场景往往希望基础网络能够满足高性能,低延迟,无拥塞网络需求,以满足快速增长的异构计算的诉求,只有满足该特性的数据中心基础网络才能够充分发挥服务器高速的数据处理能力。因此在进行网络基础建设的时候,要求部署设备,能够支持RDMA相关功能,对应支持buffer(缓冲器)管理、ECN(Explicit Congestion Notification,显示拥塞通知)以及PFC(Priority Flow Control,优先级的流量控制)。
从数据中心的网络架构来看,单层网络设备的组网架构可以通过设备对应的无损以太功能很好地实现高可靠低延迟的基础网络、服务器之间转发数据可以达到很高带宽的吞吐。但是这个并不符合数据中心基础网络冗余备份的组网架构,所以我们需要在按照叶脊架构构建组网时,也能够达到一定规模的低延迟,高可靠,无拥塞的基础网络。
但是当我们采用多线路的组网结构时,必定会面临多路径情况下,由于局部Hash(哈希)转发分配不均的而导致的拥塞问题。该情况发生后会导致部分网络设备瞬时地、或者在部分特征报文转发时产生拥塞,从而触发PFC机制,极端情况下服务器的吞吐带宽会大大降低,因此会影响组网的高速转发性能,不符合RDMA网络部署的要求。
现有技术中一般可以通过以下两种方法解决该问题:
1.将Flowlet作为负载算法以解决以上问题。但该方法对芯片的要求较高,只有少数芯片可以支持该方法,无法普遍适用所有芯片,不具有普适性。
2.使用SDN(Software Defined Network,软件定义网络)的转发模型,在该转发模型下,控制器可以预先选择不同的等价路径,通过向网络设备下发流表的方式指导报文的转发。但该方法要求的运营成本较高,若网络架构比较复杂,则控制器的计算消耗会很大,可能无法及时选出合理的路径方案,此外,该方法还需要删除对应流表,因此可能会导致丢包。
发明内容
有鉴于此,本申请的目的在于提供一种报文转发方法及相关装置,以在具有普适性的同时,解决部分网络设备产生局部拥塞,导致吞吐带宽降低,影响组网性能的问题,并减少控制器的计算消耗,避免出现丢包问题。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请提供一种报文转发方法,应用于报文发送系统中的脊交换机,所述报文发送系统还包括多个叶交换机,所述脊交换机与多个所述叶交换机通信连接,且每个所述叶交换机上设置有多个子缓冲池,所述脊交换机中存储有每个所述叶交换机上各子缓冲池与流量特征的对应关系,所述方法包括:
获取每个所述叶交换机发送的各个子缓冲池的使用占比;
根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定每个所述叶交换机上处于预拥塞状态的子缓冲池;
在接收到任一所述叶交换机发送的待转发报文的情况下,确定所述待转发报文对应的下一跳叶交换机以及流量特征;
根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整;
在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,对所述待转发报文对应的下一跳叶交换机进行调整,并通过调整后的下一跳叶交换机转发所述待转发报文。
在可选的实施方式中,所述脊交换机中存储有每个子缓冲池对应的逻辑水线,所述根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定每个所述叶交换机上处于预拥塞状态的子缓冲池,包括:
根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定所述子缓冲池的使用占比是否超过所述子缓冲池对应的逻辑水线;
若超过所述逻辑水线,则确定所述叶交换机上的所述子缓冲池处于预拥塞状态。
在可选的实施方式中,所述脊交换机中存储有原始DSCP值、报文长度以及更新DSCP值之间的映射关系;所述在接收到任一所述叶交换机发送的待转发报文的情况下,确定所述待转发报文对应的下一跳叶交换机以及流量特征,包括:
在接收到任一所述叶交换机发送的待转发报文的情况下,根据所述待转发报文的五元组信息,确定所述待转发报文对应的下一跳叶交换机;
根据所述映射关系、所述待转发报文的报文长度以及所述待转发报文的原始DSCP值,确定所述待转发报文的更新DSCP值;
将所述更新DSCP值确定为所述待转发报文的流量特征。
在可选的实施方式中,所述报文发送系统还包括多个服务器,每个所述服务器与两个叶交换机通信连接;所述在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,对所述待转发报文对应的下一跳叶交换机进行调整,包括:
在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,获取所述待转发报文对应的ECMP表;
在所述ECMP表中,将所述下一跳叶交换机的出接口与目标服务器对应的另一叶交换机的出接口的排列顺序进行调换;所述目标服务器根据所述待转发报文的五元组信息确定。
在可选的实施方式中,所述根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整,包括:
根据所述待转发报文对应的流量特征,在所述下一跳叶交换机对应的对应关系中查找所述流量特征对应的子缓冲池;
若所述流量特征对应的子缓冲池为所述下一跳叶交换机上处于预拥塞状态的子缓冲池,则确定对所述待转发报文对应的下一跳叶交换机进行调整。
在可选的实施方式中,所述根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整,包括:
根据所述下一跳叶交换机上处于预拥塞状态的子缓冲池以及所述下一跳叶交换机对应的对应关系,确定所述下一跳交换机上处于预拥塞状态的子缓冲池对应的流量特征;
若所述待转发报文对应的流量特征与所述下一跳交换机上处于预拥塞状态的子缓冲池对应的流量特征匹配,则确定对所述待转发报文对应的下一跳叶交换机进行调整。
第二方面,本申请提供一种报文转发装置,应用于报文发送系统中的脊交换机,所述报文发送系统还包括多个叶交换机,所述脊交换机与多个所述叶交换机通信连接,且每个所述叶交换机上设置有多个子缓冲池,所述脊交换机中存储有每个所述叶交换机上各子缓冲池与流量特征的对应关系,所述装置包括:
获取模块,用于获取每个所述叶交换机发送的各个子缓冲池的使用占比;
确定模块,用于根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定每个所述叶交换机上处于预拥塞状态的子缓冲池;
所述确定模块,还用于在接收到任一所述叶交换机发送的待转发报文的情况下,确定所述待转发报文对应的下一跳叶交换机以及流量特征;
所述确定模块,还用于根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整;
调整模块,用于在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,对所述待转发报文对应的下一跳叶交换机进行调整,并通过调整后的下一跳叶交换机转发所述待转发报文。
第三方面,本申请提供一种脊交换机,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现前述实施方式任一所述的方法。
第四方面,本申请提供一种报文发送系统,包括前述实施方式所述的脊交换机以及多个叶交换机,且所述脊交换机与多个所述叶交换机通信连接。
第五方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式中任一项所述的方法。
本申请实施例提供的报文转发方法及相关装置,脊交换机可以根据每个叶交换机发送的各个子缓冲池的使用占比,确定每个叶交换机上处于拥塞状态的子缓冲池,以及确定待转发报文对应的下一跳叶交换机和流量特征,从而在对待转发报文进行转发之前,先根据待转发报文对应的下一跳叶交换机和流量特征、对应关系以及处于预拥塞状态的子缓冲池,判断是否应当对该待转发报文对应的下一跳叶交换机进行调整,若应当调整,则先对该待转发报文对应的下一跳叶交换机进行调整,之后再通过调整后的下一跳叶交换机对待转发报文进行转发,因此可通过对待转发报文的下一跳叶交换机的调整,调整待转发报文在叶交换机上的分配情况,以避免叶交换机产生拥塞导致触发PCF机制,从而可提高RDMA网络的吞吐带宽以及组网的性能。此外,由于该方法无需芯片支持Flowlet功能,因此更具有普适性,同时,通过该方法,控制器无需进行过多的计算资源消耗,也无需删除对应流表,因此可避免出现丢包问题。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的报文发送系统的方框示意图;
图2示出了本申请实施例提供的脊交换机的方框示意图;
图3示出了本申请实施例提供的报文转发方法的一种流程示意图;
图4示出了映射关系示意图;
图5示出了对应关系示意图;
图6示出了ECMP表的一种示意图;
图7示出了ECMP表的另一种示意图;
图8示出了测试系统的方框示意图;
图9示出了本申请实施例提供的报文转发装置的功能模块图。
图标:10-报文发送系统;100-脊交换机;101-存储器;102-处理器;103-通信模块;110-叶交换机;120-服务器;200-获取模块;210-确定模块;220-调整模块。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
图1为本申请实施例提供的报文发送系统10的方框示意图,请参见图1,该报文发送系统10包括多个脊交换机(Spine)100、多个叶交换机(Leaf)110以及多个服务器120,且每个脊交换机100分别与多个叶交换机110通信连接,每个服务器120分别于两个叶交换机通信连接。
可选地,该叶交换机上设置有多个子缓冲池,该脊交换机中存储有每个叶交换机上各个子缓冲池与流量特征之间的对应关系。
在一种可能实现的方式中,该对应关系可以通过表格的形式呈现,该表格中还可以记录有每个子缓冲池的使用占比。
可选地,该脊交换机中还可以存储对应特征流量转发的出口信息。
可选地,各个叶交换机可以事先根据预设的缓冲池划分规则对其中所包含的缓冲池进行划分,从而获得多个子缓冲池。
在一种可能实现的方式中,由于叶交换机在对不同长度大小的报文进行处理时所消耗的buffer是不一样的,假设最小的buffer消耗单位为一个cell(单元),则可以理解的,叶交换机在处理不同长度大小的报文时所消耗的cell的多少存在区别,因此,叶交换机可以基于cell的多少划分子缓冲池。
在一个示例中,假设一个cell可以承载480字节的数据,那么可以将64-480字节作为一个划分标准划分子缓冲池,在此情况下,可将每个叶交换机中的缓冲池划分为5个子缓冲池,分别对应64-480字节、481-960字节、960-1440字节、1441-1920字节以及1921-12000字节。
可以理解的,每个子缓冲池均可存储对应字节长度范围内的待转发报文。
可选地,为了便于待转发报文的转发,可以将多个子缓冲池分为两类,一类子缓冲池对应小包报文的转发,一类子缓冲池对应大包报文的转发,在此情况下,可以理解的,小包报文转发时所消耗的cell较少,而大包报文转发时所消耗的资源比较多,因此可以基于这种情况为子缓冲池分配cell资源。
在一个示例中,若子缓冲池为5个,其中对应小包报文的转发的子缓冲池为4个,对应大包报文的转发的子缓冲池为1个,且总资源数为20份,则可以为4个小包报文的转发的子缓冲池分别分配1、2、3、4份资源,为大包报文的转发的子缓冲池分配10份资源。
可以理解的,上述资源分配的方式仅为示例性介绍,具体分配方式可以根据实际应用情况进行设置,本申请不作过多限定。
可选地,对于一个叶交换机而言,其中的每个子缓冲池均可与一个流量特征存在对应关系,在一种可能实现的方式中,每个叶交换机上的该对应关系可以相同。
在一种可能实现的方式中,每个叶交换机上的各个缓冲池与流量特征之间的对应关系可以相同。
可选地,该脊交换机100可以用于接收叶交换机发送的待转发报文,并确定该待转发报文的下一跳叶交换机,通过该下一跳叶交换机将该待转发报文发送至对应的服务器上。
可选地,该叶交换机110可以用于接收服务器发送的待转发报文,并将该待转发报文发送至脊交换机100,以及接收脊交换机发送的待转发报文,并将该待转发报文转发至相应的服务器。
可选地,图2为本申请实施例提供的脊交换机100的方框示意图,请参照图2,该脊交换机100包括存储器101、处理器102及通信模块103。存储器101、处理器102以及通信模块103各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。
其中,存储器101用于存储程序或者数据。存储器101可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-Only Memory,EEPROM)等。
处理器102用于读/写存储器中存储的数据或程序,并执行相应地功能。
通信模块103用于通过网络建立服务器与其它通信终端之间的通信连接,并用于通过网络收发数据。
应当理解的是,图2所示的结构仅为脊交换机100的结构示意图,脊交换机100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。
接下来以上述图1中的脊交换机100为执行主体,结合流程示意图对本申请实施例提供的报文转发方法进行示例性介绍。具体地,图3为本申请实施例提供的报文转发方法的一种流程示意图,请参见图3,该方法包括:
步骤S20,获取每个叶交换机发送的各个子缓冲池的使用占比;
步骤S21,根据每个叶交换机发送的各个子缓冲池的使用占比,确定每个叶交换机上处于预拥塞状态的子缓冲池;
可选地,各个叶交换机可以每间隔预设时长,将其中的各个子缓冲池的使用占比发送至与其通信连接的脊交换机。
在一种可能实现的方式中,各个叶交换机可以向脊交换机发送包含有各个子缓冲池的使用占比信息的反馈报文,则脊交换机可以从该反馈报文的扩展字段中获取该叶交换机中的各个子缓冲池的使用占比。
可选地,该反馈报文可以是LLDP(Link Layer Discovery Protocol,链路层发现协议)报文,也可以是BFD(Bidirectional Forwarding Detection,双向转发检测)报文。
在一种可能实现的方式中,脊交换机可以在获取到每个叶交换机发送的各个子缓冲池的使用占比后,根据该使用占比对该叶交换机对应的表格中的各个子缓冲池的使用占比进行更新。
在本实施例中,脊交换机可以在获得每个叶交换机发送的各个子缓冲池的使用占比后,根据每个叶交换机发送的各个子缓冲池的使用占比,确定每个叶交换机上处于预拥塞状态的子缓冲池。
可选地,该预拥塞状态指的是拥塞的临界状态。可以理解地,确定每个叶交换机上处于预拥塞状态的子缓冲池,实际上是在对各个交换机上的子缓冲池进行拥塞预测,若子缓冲池处于预拥塞状态,则可确定拥塞预测的结论为若继续通过该子缓冲池对待转发报文进行处理,则可能产生拥塞。
步骤S22,在接收到任一叶交换机发送的待转发报文的情况下,确定待转发报文对应的下一跳叶交换机以及流量特征;
可选地,脊交换机可以接收叶交换机发送的待转发报文,该待转发报文由与该叶交换机通信连接的服务器发送。
可选地,该下一跳叶交换机指的是脊交换机在转发该待转发报文时需要通过的叶交换机。
步骤S23,根据待转发报文对应的下一跳叶交换机和流量特征、对应关系和处于预拥塞状态的子缓冲池,确定是否对待转发报文对应的下一跳叶交换机进行调整;
步骤S24,在确定对待转发报文对应的下一跳叶交换机进行调整的情况下,对待转发报文对应的下一跳叶交换机进行调整,并通过调整后的下一跳叶交换机转发待转发报文。
在本实施例中,脊交换机可以根据待转发报文对应的下一跳叶交换机和流量特征、对应关系和处于预拥塞状态的子缓冲池,确定通过该下一跳叶交换机对该待转发报文进行转发是否可能会引起拥塞。可以理解地,若可能引起拥塞,则可确定需要对该待转发报文对应的下一跳叶交换机进行调整,以避免拥塞。
在本实施例中,脊交换机可以在确定对该待转发报文对应的下一跳叶交换机进行调整的情况下,调整该待转发报文对应的下一跳叶交换机,并通过调整后的下一跳叶交换机转发该待转发报文。在此基础上,可通过对待转发报文的下一跳叶交换机的调整,调整待转发报文在叶交换机上的分配情况。可以理解地,该方法无需芯片支持Flowlet功能,因此更具有普适性,同时,通过该方法,控制器无需进行过多的计算资源消耗,也无需删除对应流表,因此可避免出现丢包问题。
在本实施例中,脊交换机可获取每个叶交换机发送的各个子缓冲池的使用占比,之后根据每个叶交换机发送的各个子缓冲池的使用占比,确定每个叶交换机上处于预拥塞状态的子缓冲池,在接收到任一叶交换机发送的待转发报文的情况下,确定该待转发报文对应的下一跳叶交换机以及流量特征,在此情况下,脊交换机可以根据待转发报文对应的下一跳叶交换机和流量特征、存储的每个叶交换机上各子缓冲池与流量特征的对应关系以及处于预拥塞状态的子缓冲池,确定是否对待转发报文对应的下一跳叶交换机进行调整,基于此,脊交换机可以在确定对待转发报文对应的下一跳叶交换机进行调整的情况下,对待转发报文对应的下一跳叶交换机进行调整,并通过调整后的下一跳叶交换机转发该待转发报文。
本申请实施例提供的报文转发方法,脊交换机可以根据每个叶交换机发送的各个子缓冲池的使用占比,确定每个叶交换机上处于拥塞状态的子缓冲池,以及确定待转发报文对应的下一跳叶交换机和流量特征,从而在对待转发报文进行转发之前,先根据待转发报文对应的下一跳叶交换机和流量特征、对应关系以及处于预拥塞状态的子缓冲池,判断是否应当对该待转发报文对应的下一跳叶交换机进行调整,若应当调整,则先对该待转发报文对应的下一跳叶交换机进行调整,之后再通过调整后的下一跳叶交换机对待转发报文进行转发,因此可通过对待转发报文的下一跳叶交换机的调整,调整待转发报文在叶交换机上的分配情况,以避免叶交换机产生拥塞导致触发PCF机制,从而可提高吞吐带宽以及组网的性能。
可选地,可以通过逻辑水线确定每个叶交换机上处于预拥塞状态的子缓冲池,即用户可以事先设置好每个子缓冲池对应的逻辑水线,并将该逻辑水线存储至脊交换机中。具体地,上述步骤S21还可以通过如下步骤实现:
根据每个叶交换机发送的各个子缓冲池的使用占比,确定子缓冲池的使用占比是否超过子缓冲池对应的逻辑水线;若超过逻辑水线,则确定叶交换机上的子缓冲池处于预拥塞状态。
可选地,逻辑水线为子缓冲池的拥塞预测阈值,在一种可能实现的情况下,该拥塞预测阈值可以是一个占比值,即,若在子缓冲池的使用占比超过该拥塞预测阈值,则可确定该子缓冲池处于预拥塞状态。
可选地,该逻辑水线可以根据实际应用情况进行设置,例如,该逻辑水线可以是ECN的水线和PFC的水线之间的某个值。
在一种可能实现的方式中,该逻辑水线可以基于子缓冲池的占比最大值以及预设比例确定。例如,若该预设比例为90%,则可将子缓冲池的占比最大值的90%确定为子缓冲池的逻辑水线。
在一种可能实现的情况下,为了便于子缓冲池对待转发报文进行处理,可以设置小包报文的转发对应的子缓冲池之间进行资源的相互借贷,同时,为了避免待转发报文进行转发时产生一些复杂情况,可预留50%的资源作为门限。在此情况下,针对每个小包报文的转发对应的子缓冲池,其使用占比实际上可以超过100%。
在一个示例中,若子缓冲池为5个,其中对应小包报文的转发的子缓冲池为4个,分别为P1、P2、P3以及P4,对应大包报文的转发的子缓冲池为1个,为P5,则可以设置P1对应的使用占比的最大值可以是500%、P2对应的使用占比的最大值可以是250%、P3对应的使用占比的最大值可以是160%、P4对应的使用占比的最大值可以是125%,同时,该P5对应的使用占比的最大值为是100%。
可以理解地,在本示例中,子缓冲池P1的逻辑水线可以是450%。
在一种可能实现的方式中,该使用占比的最大值可以根据实际应用情况进行设置,也可以通过AI学习的方式进行确定。
此外,还可以为缓冲池整体设置一个预设水线,通过确定缓冲池整体的使用占比是否超过该预设水线,确定各个子缓冲池是否处于预拥塞状态。
在本实施例中,脊交换机可以根据每个叶交换机发送的子缓冲池的使用占比,确定该子缓冲池的使用占比是否超过其对应的逻辑水线,若超过其对应的逻辑水线,则可确定该叶交换机上的子缓冲池处于预拥塞状态。
可选地,待转发报文携带有原始DSCP(Differentiated Services Code Point,差分服务代码点)值,脊交换机可以根据该待转发报文的原始DSCP值以及报文长度,为其确定一个更新DSCP值。
在一种可能实现的方式中,该更新DSCP值可以作为该待转发报文对应的流量特征。具体地,脊交换机中可以存储有原始DSCP值、报文长度以及更新DSCP值之间的映射关系,在此基础上,上述步骤S22还可以通过如下步骤实现:
在接收到任一叶交换机发送的待转发报文的情况下,根据待转发报文的五元组信息,确定待转发报文对应的下一跳叶交换机;根据映射关系、待转发报文的报文长度以及待转发报文的原始DSCP值,确定待转发报文的更新DSCP值;将更新DSCP值确定为待转发报文的流量特征。
可选地,待转发报文的五元组信息指的是待转发报文的源MAC地址、源IP地址、目的IP地址、目的MAC地址以及传输层协议,例如L4 port(TCP和UDP),脊交换机可以获取该待转发报文的五元组信息,从而基于该五元组信息确定该待转发报文对应的下一跳叶交换机。
在本实施例中,待转发报文中还包括有原始DSCP信息,脊交换机可以根据该待转发报文的原始DSCP值、报文长度以及预存的映射关系,确定该待转发报文的更新DSCP值。可以理解的,该更新DSCP值可以反馈待转发报文的报文长度以及实际队列。
可选地,该报文长度可以是报文长度区间,该报文长度区间可以根据叶交换机中各个子缓冲池对应的字节长度确定。例如,若每个叶交换机中的缓冲池划分为5个子缓冲池,分别对应64-480字节、481-960字节、960-1440字节、1441-1920字节以及1921-12000字节,则该报文长度可以分别为64-480字节、481-960字节、960-1440字节、1441-1920字节以及1921-12000字节。
在此基础上,该映射关系指的是原始DSCP值与各个报文长度区间以及更新DSCP值之间的关系。
在一个示例中,对于特征为C的待发送报文,假设其原始DSCP值分别为0-7,报文长度分别为64-480字节、481-960字节、960-1440字节、1441-1920字节以及1921-12000字节,则该映射关系可以如图4所示。
请参见图4,在本示例中,若待转发报文的原始DSCP值为0,且其报文长度属于481-960字节,则基于上述映射关系,可以确定该待转发报文的更新DSCP值为1。
可以理解的,每个更新DSCP值可反映一个流量特征,在本示例中,更新DSCP值为0则可反映流量特征C1、更新DSCP值为1则可反映流量特征C2、更新DSCP值为2则可反映流量特征C3、更新DSCP值为3则可反映流量特征C4、更新DSCP值为4则可反映流量特征C5。
在本示例中,特征为D、E、F、G、H、I等的待转发报文,也均可根据映射关系确定相应的更新DSCP值。
可选地,脊交换机可以在确定了待转发报文的更新DSCP值后,将该更新DSCP值确定为该待转发报文的流量特征。
在本实施例中,脊交换机可以将确定的更新DSCP值确定为待转发报文的流量特征。
可选地,在确定了待转发报文对应的下一跳叶交换机以及流量特征之后,可以结合脊交换机中预存的对应关系以及各个叶交换机上处于预拥塞状态的子缓冲池,确定是否应当对待转发报文对应的下一跳叶交换机进行调整。
可选地,由于流量特征为待转发报文的更新DSCP值,则对于一个叶交换机而言,该对应关系可以是更新DSCP值与该叶交换机上的各个子缓冲池之间的关系。
在一个示例中,若待转发报文的特征包括C、D、E、F、G、H、I,则该对应关系可以如图5所示。
请参见图5,特征C包括R11-R51,其中更新DSCP值为0对应子缓冲池P1、更新DSCP值为1对应子缓冲池P2、更新DSCP值为2对应子缓冲池P3、更新DSCP值为3对应子缓冲池P4、更新DSCP值为4对应子缓冲池P5,特征D、E、F、G、H、I的对应关系与之类似,此处不再赘述。
可以理解地,以该叶交换机中的子缓冲池P1为例,其对应的更新DSCP值分别为0、8、16、24、32、40以及48。在本实施例中,脊交换机中可以存储每个叶交换机对应的对应关系,在一种可能实现的方式中,各个叶交换机对应的对应关系可以相同,也可以不同,可根据具体应用情况进行设置。
在本实施例中,显然的,若待转发报文对应的子缓冲池为待转发报文对应的下一跳叶交换机上处于预拥塞状态的子缓冲池,或者待转发报文的流量特征与待转发报文对应的下一跳叶交换机上处于预拥塞状态的子缓冲池对应的流量特征匹配,则说明若仍通过此时确定的下一跳叶交换机对待转发报文进行转发,则可能会产生拥塞,因此可确定应当对待转发报文对应的下一跳叶交换机进行调整。
在此基础上,可以理解的,在一种可能实现的方式中,上述步骤S23可以通过如下步骤实现:
根据待转发报文对应的流量特征,在下一跳叶交换机对应的对应关系中查找流量特征对应的子缓冲池;若流量特征对应的子缓冲池为下一跳叶交换机上处于预拥塞状态的子缓冲池,则确定对待转发报文对应的下一跳叶交换机进行调整。
在本实施例中,脊交换机可以根据待转发报文对应的流量特征,在下一跳叶交换机对应的对应关系中查找该流量特征对应的子缓冲池,并确定该子缓冲池是否为该下一跳叶交换机上处于预拥塞状态的子缓冲池,若是,则可确定若仍通过此时确定的下一跳叶交换机对待转发报文进行转发,可能会产生拥塞,因此可确定对该待转发报文对应的下一跳叶交换机进行调整。
在一个示例中,请继续参见图5,若待转发报文的更新DSCP值为9,则根据该待转发报文对应的下一跳叶交换机对应的对应关系,可确定该流量特征对应的子缓冲池为P2,若脊交换机确定该下一跳叶交换机上处于预拥塞状态的子缓冲池为P2(P2使用占比超过预设逻辑水线或者缓冲池整体使用占比超过预设水线),则可以确定需要对该待转发报文对应的下一跳叶交换机进行调整。
在另一种可能实现的方式中,上述步骤S23还可以通过如下步骤实现:
根据下一跳叶交换机上处于预拥塞状态的子缓冲池以及下一跳叶交换机对应的对应关系,确定下一跳交换机上处于预拥塞状态的子缓冲池对应的流量特征;若待转发报文对应的流量特征与下一跳交换机上处于预拥塞状态的子缓冲池对应的流量特征匹配,则确定对待转发报文对应的下一跳叶交换机进行调整。
在本实施例中,脊交换机可以根据下一跳叶交换机上处于预拥塞状态的子缓冲池以及该对应关系,确定处于预拥塞状态的子缓冲池对应的流量特征,在此情况下,若待转发报文的流量特征与处于预拥塞状态的子缓冲池对应的流量特征匹配,则可确定若仍通过此时确定的下一跳叶交换机对待转发报文进行转发,可能会产生拥塞,因此可确定对该待转发报文对应的下一跳叶交换机进行调整。
在一个示例中,请继续参见图5,若根据下一跳叶交换机上处于预拥塞状态的子缓冲池为子缓冲池P1,则根据该对应关系可确定处于预拥塞状态的子缓冲池对应的流量特征为0、8、16、24、32、40以及48,若待转发报文的流量特征为0,则可确定该待转发报文对应的流量特征与下一跳交换机上处于预拥塞状态的子缓冲池对应的流量特征匹配,因此可确定需要对该待转发报文对应的下一跳叶交换机进行调整。可以理解地,在本实施例中,脊交换机仅会对具有特定流量特征的待转发报文的下一跳叶交换机进行调整。
在本实施例中,脊交换机在确定待转发报文的更新DSCP值后,可以将原始DSCP值替换为该更新DSCP值,该替换过程不会影响脊交换机的实际处理流程,即不会对本地优先级处理的顺序产生影响。
可选地,由于待转发报文需要通过下一跳叶交换机最终转发至目标服务器上,因此,若确定需要对待转发报文对应的下一跳叶交换机进行调整,则可将该待转发报文对应的下一跳叶交换机调整为与该目标服务器相连接的另一台叶交换机。
可选地,该目标服务器指的是需要将该待转发报文转发至其中的服务器,在一种可能实现的方式中,该目标服务器可以根据待转发报文的五元组信息确定。
具体的,上述步骤S24中的在确定对待转发报文对应的下一跳叶交换机进行调整的情况下,对待转发报文对应的下一跳叶交换机进行调整,还可以通过如下步骤实现:
在确定对待转发报文对应的下一跳叶交换机进行调整的情况下,获取待转发报文对应的ECMP(Equal-cost Multipath Routing,等价多路径路由)表;在ECMP表中,将下一跳叶交换机的出接口与目标服务器对应的另一叶交换机的出接口的排列顺序进行调换;目标服务器根据待转发报文的五元组信息确定。
可选地,该ECMP表用于指导待转发报文的转发,脊交换机对待转发报文进行转发时可以根据ECMP表确定下一跳叶交换机。
在一种可能实现的方式中,脊交换机可以根据待转发报文的更新DSCP值获取对应的ECMP表。
在本实施例中,脊交换机可以在确定对待转发报文对应的下一跳叶交换机进行调整的情况下,获取该待转发报文对应的ECMP表,将该ECMP表中的下一跳叶交换机的出接口与目标服务器对应的另一叶交换机的出接口的排列顺序进行调换。
可以理解地,在对ECMP表中的下一跳叶交换机的出接口与目标服务器对应的另一叶交换机的出接口的排列顺序进行调换后,即可以对出接口与叶交换机之间的映射关系进行调整。
可选地,脊交换机与叶交换机之间的连接方式包括汇聚组方式,以及路由口方式。
在一个示例中,若脊交换机与叶交换机之间的连接方式为汇聚组方式,则出端口为汇聚组。请参见图6,为ECMP表的一种示意图,若目标服务器的地址为192.168.1.0/24,且目标服务器与叶交换机1和叶交换机2通信连接,则调整前的ECMP表的出接口顺序为汇聚组LAG1、汇聚组LAG2,其中汇聚组LAG1对应叶交换机1、汇聚组LAG2对应叶交换机2,若脊交换机根据五元组信息确定待转发报文对应的下一跳叶交换机为叶交换机2,且确定应当对待转发报文对应的下一跳叶交换机进行调整,则可将上述出接口顺序进行调换,将其更新为LAG2、LAG1。
可以理解地,在本示例中,在将出接口顺序调换之后,汇聚组与叶交换机之间的对应关系即发生相应变化,此时若通过五元组信息确定出接口为汇聚组LAG2,则实际上可将该待转发报文发送至叶交换机1,从而实现了对下一跳叶交换机的调整。
在另一个示例中,若脊交换机与叶交换机之间的连接方式为路由口方式,则出端口为下行路由口,请参见图7,为ECMP表的另一种示意图,若目标服务器的地址为192.168.1.0/24,且目标服务器与叶交换机1和叶交换机2通信连接,则可假设脊交换机上设置有八个下行路由口分别对应叶交换机1和叶交换机2,分别为RP1,RP2,RP3,RP4,RP5,RP6,RP7,RP8,此时,若脊交换机根据五元组信息确定待转发报文对应的下一跳叶交换机为叶交换机2,且确定应当对待转发报文对应的下一跳叶交换机进行调整,则可将上述路由口排列顺序调整为RP8,RP7,RP6,RP5,RP4,RP3,RP2,RP1。
可选地,脊交换机在对下一跳叶交换机的出接口与目标服务器对应的另一叶交换机的出接口的排列顺序进行调换之后,还可以根据一定的恢复条件将该排列顺序进行恢复。
在一种可能实现的方式中,脊交换机可以在发送完该待转发报文后,即恢复ECMP表中出接口的排列顺序;在另一种可能实现的方式中,脊交换机可以在对ECMP表中的出接口顺序进行调整后的预设时长后,恢复ECMP表中出接口的排列顺序;在又一种可能实现的方式中,脊交换机可以实时根据叶交换机中各个子缓冲池的使用占比,确定是否恢复ECMP表中出接口的排列顺序,例如,若经过调整后,叶交换机1和叶交换机2中相应的子缓冲池均不处于预拥塞状态,则可恢复ECMP表中出接口的排列顺序。
可以理解地,通过该方法,待转发报文对应的下一跳叶交换机实际上处于动态调整过程,因此可以最大程度的避免叶交换机出现拥塞情况,从而提高服务器的吞吐带宽,提高组网性能。
此外,为了证明本方案的可行性,还可以通过测试系统对上述方法进行测试。具体的,图8为测试系统的方框示意图,该测试系统包括两个脊交换机——脊交换机1和脊交换机2、两个叶交换机——叶交换机1和叶交换机2、一个测试仪以及一个辅助测试交换机。
其中,脊交换机1和脊交换机2均通过Port1与叶交换机1通信连接,通过Port2与叶交换机2通信连接,叶交换机1通过Port2与辅助测试交换机的Port1通信连接,叶交换机2通过Port2与辅助测试交换机的Port2通信连接,测试仪通过Port2与脊交换机2的Port3通信连接,通过Port1与脊交换机1的Port3通信连接,辅助测试交换机与测试仪的Port3通信连接。
可选地,在进行测试时,用户可先设置测试相关的默认配置数据、检查基础网络是否正常、构建基础背景业务流量以及确认设备上缓冲器数据是否正常,用户可按照拓扑描述搭建实验环境,脊交换机、叶交换机以及辅助测试交换机三层网络打通,路由相互通告,测试仪可在Port1上构建报文大小为100字节的待转发报文A,通过该Port1发出少量待转发报文A后,测试仪的Port3可以收到该待转发报文A且并未发生丢包现象,可以理解地,测试仪的Port3也可以发送反向对称的待转发报文B,以确定双向均不会发生丢包现象。
此外,测试仪可在Port2上构建报文大小为2000字节的待转发报文C,通过该Port2发出少量待转发报文C后,测试仪的Port3可以收到该待转发报文C且并未发生丢包现象,可以理解地,测试仪的Port3也可以发送反向对称的待转发报文D,以确定双向均不会发生丢包现象。
可选地,在上述过程均完成后,如果是待转发报文A在脊交换机通过五元组信息确认后,从Port2发送至叶交换机2上,则均匀的低速业务流量是不会造成拥塞的,所以在脊交换机接收到叶交换机1和叶交换机2发送回来的反馈报文后,可以看到待转发报文A的原始DSCP会被修改为更新DSCP值,即0,以及对应叶交换机2中子缓冲池P1的使用占比情况,即基本无明显变化,偶尔会有少量百分比占用,但是很快会恢复到0,同时叶交换机1中的子缓冲池P1基本上没有任何buffer的占用消耗。
可选地,待转发报文C在脊交换机通过五元组信息确认后,也是从Port2出去发送到叶交换机2,低带宽匀速业务流量也是不会造成拥塞的。所以在脊交换机接收到叶交换机1和叶交换机2发送回来的反馈报文后,可以看到待转发报文C的原始DSCP值会修改为更新DSCP值,即4,以及对应叶交换机2中子缓冲池P5的使用占比情况,即基本无明显变化,偶尔会有少量百分比占用,但是很快会恢复到0。同时,叶交换机1中的子缓冲池P5基本上没有任何buffer的占用消耗。
可选地,当使用本申请实施例提供的报文转发方法时,测试仪可发送均匀带宽为1G的待转发报文C,发送均匀带宽为99G的待转发报文A,其结果与上述描述一致,没有明显变化。可选地,在此情况下,若继续增大待转发报文A的带宽直至超过99G,则在叶交换机2上可能会产生拥塞,脊交换机可以根据接收到的叶交换机中各个子缓冲池的使用占比,确定叶交换机1和叶交换机2上处于预拥塞状态的子缓冲池。
可选地,若脊交换机确定接收到的待转发报文A的下一跳叶交换机为叶交换机2,且确定应当对其对应的下一跳叶交换机进行调整后,脊交换机会查询待转发报文A对应的ECMP表,并对其中叶交换机1和叶交换机2的出接口顺序进行优化。在此之后,下一个时刻即可看到脊交换机中设备命中的ECMP表中的出接口顺序,从Port1、Port2的顺序改为Port2、Port1,此时该待转发报文即会通过叶交换机1转发。
可以理解的,下一个时刻叶交换机2上相应子缓冲池的使用占比会得到优化,不会引起拥塞,从而不会触发PFC机制。
可选地,在测试结束后,用户需要再次确认缓冲数据是否正常以及测试仪待转发报文的收发是否正常,若均正常,则可退出测试流程。
为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种报文转发装置的实现方式。进一步地,请参阅图9,图9为本申请实施例提供的报文转发装置的功能模块图。需要说明的是,本实施例所提供的报文转发装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该报文转发装置包括:获取模块200、确定模块210以及调整模块220。
该获取模块200,用于获取每个所述叶交换机发送的各个子缓冲池的使用占比;
可以理解的,该获取模块200还可以用于执行上述步骤S20。
该确定模块210,用于根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定每个所述叶交换机上处于预拥塞状态的子缓冲池;
可以理解的,该确定模块210还可以用于执行上述步骤S21。
该确定模块210,还用于在接收到任一所述叶交换机发送的待转发报文的情况下,确定所述待转发报文对应的下一跳叶交换机以及流量特征;
可以理解的,该确定模块210还可以用于执行上述步骤S22。
该确定模块210,还用于根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整;
可以理解的,该确定模块210还可以用于执行上述步骤S23。
该调整模块220,用于在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,对所述待转发报文对应的下一跳叶交换机进行调整,并通过调整后的下一跳叶交换机转发所述待转发报文。
可以理解的,该调整模块220还可以用于执行上述步骤S24。
可选地,该确定模块210,还用于根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定所述子缓冲池的使用占比是否超过所述子缓冲池对应的逻辑水线;若超过所述逻辑水线,则确定所述叶交换机上的所述子缓冲池处于预拥塞状态。
可选地,该确定模块210,还用于在接收到任一所述叶交换机发送的待转发报文的情况下,根据所述待转发报文的五元组信息,确定所述待转发报文对应的下一跳叶交换机;根据所述映射关系、所述待转发报文的报文长度以及所述待转发报文的原始DSCP值,确定所述待转发报文的更新DSCP值;将所述更新DSCP值确定为所述待转发报文的流量特征。
可选地,该调整模块220,还用于在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,获取所述待转发报文对应的ECMP表;在所述ECMP表中,将所述下一跳叶交换机的出接口与目标服务器对应的另一叶交换机的出接口的排列顺序进行调换;所述目标服务器根据所述待转发报文的五元组信息确定。
可选地,该确定模块210,还用于根据所述待转发报文对应的流量特征,在所述下一跳叶交换机对应的对应关系中查找所述流量特征对应的子缓冲池;若所述流量特征对应的子缓冲池为所述下一跳叶交换机上处于预拥塞状态的子缓冲池,则确定对所述待转发报文对应的下一跳叶交换机进行调整。
可选地,该确定模块210,还用于根据所述下一跳叶交换机上处于预拥塞状态的子缓冲池以及所述下一跳叶交换机对应的对应关系,确定所述下一跳交换机上处于预拥塞状态的子缓冲池对应的流量特征;若所述待转发报文对应的流量特征与所述下一跳交换机上处于预拥塞状态的子缓冲池对应的流量特征匹配,则确定对所述待转发报文对应的下一跳叶交换机进行调整。
本申请实施例提供的报文转发装置,通过获取模块获取每个所述叶交换机发送的各个子缓冲池的使用占比;通过确定模块根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定每个所述叶交换机上处于预拥塞状态的子缓冲池、在接收到任一所述叶交换机发送的待转发报文的情况下,确定所述待转发报文对应的下一跳叶交换机以及流量特征、根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整;通过调整模块在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,对所述待转发报文对应的下一跳叶交换机进行调整,并通过调整后的下一跳叶交换机转发所述待转发报文,因此可通过对待转发报文的下一跳叶交换机的调整,调整待转发报文在叶交换机上的分配情况,以避免叶交换机产生拥塞导致触发PCF(Priority Flow Control,优先级的流量控制)机制,从而可提高RDMA网络的吞吐带宽以及组网的性能。此外,由于该方法无需芯片支持Flowlet功能,因此更具有普适性,同时,通过该方法,控制器无需进行过多的计算资源消耗,也无需删除对应流表,因此可避免出现丢包问题。
可选地,上述模块可以软件或固件(Firmware)的形式存储于图2所示的存储器中或固化于该脊交换机的操作系统(Operating System,OS)中,并可由图2中的处理器执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器中。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可以实现本申请实施例提供的报文转发方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种报文转发方法,其特征在于,应用于报文发送系统中的脊交换机,所述报文发送系统还包括多个叶交换机,所述脊交换机与多个所述叶交换机通信连接,且每个所述叶交换机上设置有多个子缓冲池,所述脊交换机中存储有每个所述叶交换机上各子缓冲池与流量特征的对应关系,所述方法包括:
获取每个所述叶交换机发送的各个子缓冲池的使用占比;
根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定每个所述叶交换机上处于预拥塞状态的子缓冲池;
在接收到任一所述叶交换机发送的待转发报文的情况下,确定所述待转发报文对应的下一跳叶交换机以及流量特征;
根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整;
在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,对所述待转发报文对应的下一跳叶交换机进行调整,并通过调整后的下一跳叶交换机转发所述待转发报文。
2.根据权利要求1所述的方法,其特征在于,所述脊交换机中存储有每个子缓冲池对应的逻辑水线,所述根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定每个所述叶交换机上处于预拥塞状态的子缓冲池,包括:
根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定所述子缓冲池的使用占比是否超过所述子缓冲池对应的逻辑水线;
若超过所述逻辑水线,则确定所述叶交换机上的所述子缓冲池处于预拥塞状态。
3.根据权利要求1所述的方法,其特征在于,所述脊交换机中存储有原始DSCP值、报文长度以及更新DSCP值之间的映射关系;所述在接收到任一所述叶交换机发送的待转发报文的情况下,确定所述待转发报文对应的下一跳叶交换机以及流量特征,包括:
在接收到任一所述叶交换机发送的待转发报文的情况下,根据所述待转发报文的五元组信息,确定所述待转发报文对应的下一跳叶交换机;
根据所述映射关系、所述待转发报文的报文长度以及所述待转发报文的原始DSCP值,确定所述待转发报文的更新DSCP值;
将所述更新DSCP值确定为所述待转发报文的流量特征。
4.根据权利要求1所述的方法,其特征在于,所述报文发送系统还包括多个服务器,每个所述服务器与两个叶交换机通信连接;所述在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,对所述待转发报文对应的下一跳叶交换机进行调整,包括:
在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,获取所述待转发报文对应的ECMP表;
在所述ECMP表中,将所述下一跳叶交换机的出接口与目标服务器对应的另一叶交换机的出接口的排列顺序进行调换;所述目标服务器根据所述待转发报文的五元组信息确定。
5.根据权利要求1所述的方法,其特征在于,所述根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整,包括:
根据所述待转发报文对应的流量特征,在所述下一跳叶交换机对应的对应关系中查找所述流量特征对应的子缓冲池;
若所述流量特征对应的子缓冲池为所述下一跳叶交换机上处于预拥塞状态的子缓冲池,则确定对所述待转发报文对应的下一跳叶交换机进行调整。
6.根据权利要求1所述的方法,其特征在于,所述根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整,包括:
根据所述下一跳叶交换机上处于预拥塞状态的子缓冲池以及所述下一跳叶交换机对应的对应关系,确定所述下一跳叶交换机上处于预拥塞状态的子缓冲池对应的流量特征;
若所述待转发报文对应的流量特征与所述下一跳叶交换机上处于预拥塞状态的子缓冲池对应的流量特征匹配,则确定对所述待转发报文对应的下一跳叶交换机进行调整。
7.一种报文转发装置,其特征在于,应用于报文发送系统中的脊交换机,所述报文发送系统还包括多个叶交换机,所述脊交换机与多个所述叶交换机通信连接,且每个所述叶交换机上设置有多个子缓冲池,所述脊交换机中存储有每个所述叶交换机上各子缓冲池与流量特征的对应关系,所述装置包括:
获取模块,用于获取每个所述叶交换机发送的各个子缓冲池的使用占比;
确定模块,用于根据每个所述叶交换机发送的各个所述子缓冲池的使用占比,确定每个所述叶交换机上处于预拥塞状态的子缓冲池;
所述确定模块,还用于在接收到任一所述叶交换机发送的待转发报文的情况下,确定所述待转发报文对应的下一跳叶交换机以及流量特征;
所述确定模块,还用于根据所述待转发报文对应的下一跳叶交换机和流量特征、所述对应关系和处于预拥塞状态的子缓冲池,确定是否对所述待转发报文对应的下一跳叶交换机进行调整;
调整模块,用于在确定对所述待转发报文对应的下一跳叶交换机进行调整的情况下,对所述待转发报文对应的下一跳叶交换机进行调整,并通过调整后的下一跳叶交换机转发所述待转发报文。
8.一种脊交换机,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现权利要求1-6任一所述的方法。
9.一种报文发送系统,其特征在于,包括权利要求8所述的脊交换机以及多个叶交换机,且所述脊交换机与多个所述叶交换机通信连接。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310316809.4A CN116346756A (zh) | 2023-03-28 | 2023-03-28 | 报文转发方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310316809.4A CN116346756A (zh) | 2023-03-28 | 2023-03-28 | 报文转发方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116346756A true CN116346756A (zh) | 2023-06-27 |
Family
ID=86889122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310316809.4A Pending CN116346756A (zh) | 2023-03-28 | 2023-03-28 | 报文转发方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346756A (zh) |
-
2023
- 2023-03-28 CN CN202310316809.4A patent/CN116346756A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170048144A1 (en) | Congestion Avoidance Traffic Steering (CATS) in Datacenter Networks | |
US9369408B1 (en) | High performance and resilience in wide area networking | |
CN110191065B (zh) | 基于软件定义网络的高性能负载均衡系统与方法 | |
US8611251B2 (en) | Method and apparatus for the distribution of network traffic | |
US10484289B2 (en) | Adjusting connection validating control signals in response to changes in network traffic | |
US8553559B2 (en) | Methods and apparatus to manage bypass paths in an internet protocol (IP) network | |
US20130003559A1 (en) | Adaptive Power Savings for Aggregated Resources | |
CN115152193A (zh) | 针对ip路由数据中心网络使用自适应路由和基于拥塞提示的节流改进端到端拥塞反应 | |
EP1417808A2 (en) | Method for supporting non-linear, highly scalable increase-decrease congestion control scheme | |
CN110351187B (zh) | 数据中心网络中路径切换粒度自适应的负载均衡方法 | |
JP2008131240A (ja) | ネットワークシステム、その装置及び方法 | |
EP2670085B1 (en) | System for performing Data Cut-Through | |
CN104618256B (zh) | Ospf动态调整链路负载的方法 | |
Li et al. | MPTCP incast in data center networks | |
CN112350949A (zh) | 软件定义网络中基于流调度的重路由拥塞控制方法及系统 | |
Alipio et al. | TCP incast solutions in data center networks: A classification and survey | |
CN111585911B (zh) | 数据中心网络流量负载的均衡方法 | |
CN113726681B (zh) | 一种网络拥塞控制方法及网络设备 | |
CN116097631A (zh) | 跨具有自适应每隧道服务质量(QoS)的多个集线器的带宽的动态确定性调整 | |
CN115378955A (zh) | 一种数据处理方法以及相关设备 | |
CN111224888A (zh) | 发送报文的方法及报文转发设备 | |
CN115914078A (zh) | 报文转发方法及装置、蜻蜓网络 | |
Sharma et al. | An adaptive, fault tolerant, flow-level routing scheme for data center networks | |
CN116346756A (zh) | 报文转发方法及相关装置 | |
Li et al. | CoopCon: Cooperative hybrid congestion control scheme for named data networking |
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 |