CN108809847B - 实现负载均衡的方法、装置和网络系统 - Google Patents
实现负载均衡的方法、装置和网络系统 Download PDFInfo
- Publication number
- CN108809847B CN108809847B CN201710312467.3A CN201710312467A CN108809847B CN 108809847 B CN108809847 B CN 108809847B CN 201710312467 A CN201710312467 A CN 201710312467A CN 108809847 B CN108809847 B CN 108809847B
- Authority
- CN
- China
- Prior art keywords
- switch
- port
- forwarding
- message
- network segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
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
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- 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
-
- 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
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
Abstract
本申请实施例提供了一种实现负载均衡的方法、装置和网络系统。控制器获取mesh网络中的第一交换机的每个端口的端口属性;所述端口属性用户侧端口和网络侧端口;根据所述第一交换机的每个端口的端口属性,确定所述第一交换机的每个端口对应虚拟路由转发实例;其中,所述第一交换机的所有用户侧端口对应第一虚拟路由转发实例;根据所述mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,所述转发表的每个转发表项包括一个虚拟路由转发实例,当所述虚拟路由转发实例为所述第一虚拟路由转发实例时,所述转发表项还包括目的网段以及所述目的网段对应的至少两条转发路径;向所述第一交换机发送所述转发表。
Description
技术领域
本申请涉及网络通信技术,尤其涉及一种实现负载均衡的方法、装置和网络系统。
背景技术
云计算时代的网络数据流量模型发生了很大的变化,16%的数据流量在运营商网络,14%的数据流量在企业网络,而其余70%的数据流量将全部流向数据中心网络内部。数据中心网络的数据流量和带宽的指数级增长,已经远超出了人们对传统网络的想象。大带宽,高扩展能力已成为数据中心网络客户的首要诉求。数据中心网络建设的瓶颈也越来越明显。
为了克服上述问题,现有技术中提供了一种可扩展的数据中心网络,称为网格(mesh)网络。mesh网络是指该网络中的所有交换机均相互连接形成的全连接网络。Mesh网络又可以是一级mesh网络,二级mesh网络或多级mesh网络。其中,一级mesh网络中的一个交换机与该一级mesh网络中的其他任意一个交换机之间至少存在一条直连路径(即没有中间交换机的路径)。如图1所示,为一级mesh网络的结构示意图。该一级mesh网络中包括多个交换机(图1中示出了S1-S8共8个交换机),每个交换机都与其他任意一个交换机互联。多个一级mesh网络互联,即可得到二级mesh网络。如图2所示,为一个4*4的二级mesh网络。所述4*4的二级mesh网络是由4个一级mesh网络组成的二级mesh网络,组成所述二级mesh网络的每个一级mesh网络包括4个交换机(由黑色小圆点表示)。图2仅仅作为示例,实际中,二级mesh网络中包括的多个一级mesh网络分别包括的交换机数可以相同,也可以不同。在二级mesh网络的场景下,对于任何一个一级mesh网络来说,该一级mesh网络中的交换机可以被称为该一级mesh网络的组内设备,而属于其他一级mesh网络的交换机被称为该一级mesh网络的组间设备。
在mesh网络中,一个交换机与另一个交换机之间实际上存在多条路径。以图1中的一级mesh网络为例,S1与S5之间的路径可选地包括:S1->S5,S1->S2->S5,S1->S3->S5,S1->S2>S3->S5等等,这些路径跳数不同,开销也不同,因此被称为非等价路径。通常情况下,mesh网络中的第一交换机发送给第二交换机的报文只会通过该第一交换机与第二交换机之间的最短路径被转发。这导致该第一交换机与第二交换机之间的最短路径的负载过高,而该第一交换机与第二交换机之间的其他路径则得不到充分利用。如果需要在多条不等价路径中实现负载均衡,则需要放开最短路径优先原则的限制,在这种情况下,由于mesh网络中的所有交换机都是全连接的,而现有的转发表的每个表项仅包括目的网段,下一跳和端口,mesh网络中收到该报文的交换机根据转发表为该报文随机选择转发路径,则该报文有可能被通过该报文的源交换机(即发送该报文的服务器连接的交换机)不断转发,直到报文的生存时间(英文:time to live,TTL)为0,报文被丢弃。可见,仅仅放开最短路径优先原则的限制,并不能在mesh网络中实现负载均衡。
发明内容
本申请的实施例提供了一种生成转发表的方法、装置和网络系统,以改善在mesh网络中负载均衡。
本申请第一方面提供了一种实现负载均衡的方法,所述方法应用于包括控制器和mesh网络的系统中,所述mesh网络包括多个交换机,所述方法由所述控制器执行。控制器获取第一交换机的每个端口的端口属性;所述第一交换机为所述mesh网络中的任意一个交换机,所述端口属性用于指示端口为用户侧端口或网络侧端口。所述控制器根据所述第一交换机的每个端口的端口属性,确定所述第一交换机的每个端口对应的虚拟路由转发实例;其中,用户侧端口和网络侧端口对应不同的虚拟路由转发实例,且所述第一交换机的所有用户侧端口对应第一虚拟路由转发实例。所述控制器根据所述mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,当所述转发表的第一转发表项包括所述第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径。所述控制器向所述第一交换机发送所述转发表,所述转发表用于使所述第一交换机根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为对应所述第一目的网段的报文选择目标转发路径。
本申请中交换机的端口,是指交换机连接了其他设备的业务端口,对于交换机没有连接其他设备的业务端口的不予关注。由于mesh网络中存在大量不等价路径,如果需要在mesh网络中实现负载均衡,需要放开最短路径优先原则的限制。其中,放开最短路径优先原则的限制是指在为第一交换机生成转发表的过程中,并不是根据最短路径优先原则只为一对源网段和目的网段选择最短路径,而是可以选择多条不等价路径。
上述第一方面中,控制器获取第一交换机的每个端口的端口属性,并使第一交换机的所有用户侧端口对应第一虚拟路由转发实例,然后根据mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,转发表的每个表项包括虚拟路由转发实例。由于转发表项中包括虚拟路由转发实例,并且用户侧端口和网络侧端口对应的虚拟路由转发实例不同,第一交换机在收到报文后,会根据接收报文的端口的端口属性查找所述转发表,能够避免将从用户侧端口收到的报文又发回用户侧端口,保证了报文的正确转发。并且,第一虚拟路由转发实例所在的转发表项中的目的网段对应至少两条转发路径,这样,第一交换机收到服务器发送的报文后,可以根据负载均衡算法从所述至少两条转发路径中选择一条转发路径,实现在至少两条转发路径中的负载均衡。
在所述第一方面的第一种实现方式中,在获取所述第一交换机的每个端口的端口属性时,所述控制器向所述第一交换机发送通知消息,所述通知消息用于通知所述第一交换机向所述第一交换机的所有端口发送发现消息;所述发现消息用于通知接收到所述发现消息的设备向所述控制器发送报告消息。所述控制器根据所述第一交换机连接的设备发送报告消息的情况,确定所述第一交换机的每个端口的端口属性。基于所述第一方面的第一种实现方式,在所述第一方面的第二种实现方式中,在根据所述第一交换机连接的设备发送报告消息的情况,确定所述第一交换机的每个端口的端口属性时,所述控制器接收报告消息,所述报告消息包括发送所述报告消息的设备的类型以及所述第一交换机向所述设备发送所述发现消息的端口的标识。所述控制器确定所述设备的类型,如果所述设备为另一交换机,确定所述第一交换机向所述另一交换机发送所述发现消息的端口为网络侧端口,如果所述设备为服务器,确定所述第一交换机向所述服务器发送所述发现消息的端口为用户侧端口。
基于所述第一方面的第二种实现方式,在所述第一方面的第三种实现方式中,所述控制器向所述第一交换机发送所述通知消息后,确定在设定时间长度内没有被报告的所述第一交换机的端口为用户侧端口。
基于所述第一方面的第三种实现方式,在所述第一方面的第四种实现方式中,所述mesh网络为二级mesh网络,当确定所述第一交换机向所述另一交换机发送所述通知消息的端口为网络侧端口时,如果所述第一交换机和所述另一交换机属于同一交换机组,所述控制器确定所述第一交换机向所述另一交换机发送所述通知消息的端口为组内端口;如果所述第一交换机和所述另一交换机属于不同的交换机组,所述控制器确定所述第一交换机向所述另一交换机发送所述通知消息的端口为组间端口。
上述第一至第四种实现方式使所述控制器能够及时获知到接入所述mesh网络的交换机的每个端口的端口属性。
基于所述第一方面的第四种实现方式,在所述第一方面的第五种实现方式中,所述第一交换机的所有组内端口对应第二虚拟路由转发实例,所述第二虚拟路由转发实例在所述转发表中对应的转发表项包括所述第二虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径;所述第一交换机的所有组间端口对应第三虚拟路由转发实例,所述第三虚拟路由转发实例在所述转发表中对应的转发表项包括所述第三虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径。
根据上述第五种实现方式,交换机的端口被分为三类(在二级mesh网络的场景下):用户侧端口,组内端口和组间端口。所有用户侧端口对应第一虚拟路由转发实例,所有组内端口对应第二虚拟路由转发实例,所有组间端口对应第三虚拟路由转发实例。所述控制器基于所述第一虚拟路由转发实例,第二虚拟路由转发实例和第三虚拟路由转发实例为第一交换机生成转发表,而不需要以第一交换机的每个端口作为源端口生成转发表,能够在避免报文被转发给接收所述报文的端口的同时,减少转发表的条目,进而节约第一交换机的存储资源。
基于所述第一方面及所述第一方面的第一至第五实施方式中的任意一个,在所述第一方面的第六种实施方式中,在根据所述mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表时,所述控制器获取为所述多个交换机中每个交换机配置的网段,得到多个网段,并从所述多个网段中确定源网段和目的网段,其中,所述源网段为所述多个网段中的任意一个,所述目的网段为所述多个网段中除所述源网段之外的任意一个。所述控制器根据所述mesh网络的拓扑确定所述源网段到所述目的网段的N条转发路径,为所述N条转发路径中的第i条转发路径上的除目的交换机外的每个交换机生成所述第i条转发路径对应的路由表项,每个路由表项包括虚拟路由转发实例,目的网段,下一跳和出端口;其中,i为小于或等于N的自然数。所述控制器根据所述第一交换机的所有路由表项确定每个虚拟路由转发实例下所述第一交换机的每个目的网段对应的转发路径,生成所述第一交换机的转发表。
根据上述第六方面的实施方式,所述控制器可以动态生成每个交换机的转发表,能够避免人工配置转发表导致的错误,提高处理效率。
本申请第二方面提供了另一种实现负载均衡的方法,应用于包括控制器和mesh网络的系统中,所述mesh网络包括多个交换机,所述方法由第一交换机执行,所述第一交换机为所述多个交换机中的任意一个,所述第一交换机包括多个端口,所述多个端口包括网络侧端口和用户侧端口。所述第一交换机接收所述控制器发送的转发表,当所述转发表的第一转发表项包括所述第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径;所述第一虚拟路由转发实例为所述第一交换机的所有用户侧端口对应的虚拟路由转发实例。所述第一交换机接收报文,当接收所述报文的端口为用户侧端口,且所述报文为对应所述第一目的网段的报文时,所述第一交换机根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为所述报文选择目标转发路径,并通过所述目标转发路径转发所述报文。
根据本申请第二方面的方法,第一交换机从控制器接收为所述第一交换机生成的转发表。与传统的转发表不同的是,所述转发表的每个表项不仅包括目的网段、下一跳和出端口,还包括虚拟路由转发实例,该虚拟路由转发实例用于指示接收报文的端口的端口属性,在该虚拟路由转发实例为指示用户侧端口的第一虚拟路由转发实例时,该转发表项包括至少两条转发路径。该第一交换机从用户侧端口收到报文时,确认该用户侧端口对应第一虚拟路由转发实例,根据该第一虚拟路由转发实例和该报文对应的目的网段(即该报文的目的IP地址所属的网段)查找所述转发表,根据负载均衡算法从查找到的至少两条转发路径中选择一条转发路径发送所述报文。由于控制器在生成转发表的过程中,即通过不同的虚拟路由转发实例进行了转发表项的隔离,以避免将报文发送回接收所述报文的端口。因此,上述方法能够在mesh网络中实现负载均衡。
基于所述第二方面,在所述第二方面的第一种实现方式中,在接收所述控制器发送的转发表之前,所述第一交换机还接收所述控制器发送的通知消息,根据所述通知消息向所述第一交换机的所有端口发送发现消息,所述发现消息用于通知接收到所述发现消息的设备向所述控制器发送报告消息。
基于所述第二方面的第一种实现方式,在所述第二方面的第二种实现方式中,所述第一交换机还接收第二交换机发送的第二发现消息;所述第二发现消息包括所述第二交换机的标识以及所述第二交换机向所述第一交换机发送所述第二发现消息的端口的标识。所述第一交换机根据所述第二发现消息向所述控制器发送第二报告消息,所述第二报告消息包括所述第二交换机向所述第一交换机发送所述第二发现消息的端口的标识,以使所述控制器确定所述第二交换机向所述第一交换机发送所述第二发现消息的端口的端口属性。
上述第二方法的第一种实现方式和第二种实现方式,使所述控制器能够及时获取到接入mesh网络的交换机的每个端口的端口属性,进而为该交换机生成转发表。
基于所述第二方面及所述第二方面的第一和第二实施方式中的任意一个,在所述第一方面的第三种实施方式中,所述网络侧端口包括组内端口和组间端口;所述第一交换机的所有组内端口对应第二虚拟路由转发实例,所述第二虚拟路由转发实例在所述转发表中对应的转发表项包括所述第二虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径;所述第一交换机的所有组间端口对应第三虚拟路由转发实例,所述第三虚拟路由转发实例在所述转发表中对应的转发表项包括所述第三虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径。
根据上述第三种实现方式,交换机的端口被分为三类(在二级mesh网络的场景下):用户侧端口,组内端口和组间端口。所有用户侧端口对应第一虚拟路由转发实例,所有组内端口对应第二虚拟路由转发实例,所有组间端口对应第三虚拟路由转发实例。所述控制器基于所述第一虚拟路由转发实例,第二虚拟路由转发实例和第三虚拟路由转发实例为第一交换机生成转发表,而不需要以第一交换机的每个端口作为源端口生成转发表,能够在避免报文被转发给接收所述报文的端口的同时,减少转发表的条目,进而节约第一交换机的存储资源。
本申请第三方面提供一种控制器,所述控制器包括多个功能单元,所述多个功能单元互相配合,以完成上述第一方面以及第一方面各实施方式中的方法。
本申请第四方面提供一种交换机,所述交换机包括多个功能单元,所述多个功能单元互相配合,以完成上述第二方面以及第二方面各实施方式中的方法。
本申请第五方面提供了一种网络系统,所述网络系统包括控制器和mesh网络,所述mesh网络包括多个交换机,所述多个交换机中的每个交换机包括多个端口,所述多个端口包括用户侧端口和网络侧端口,所述控制器为上述第三方面的控制器,所述多个交换机中的任意一个交换机为上述第四方面的交换机。
本申请第六方面提供了一种存储介质,该存储介质中存储了程序,该程序被计算设备运行时,该计算设备执行前述第一方面或第一方面的任一实现方式提供的实现负载均衡的方法。该存储介质包括但不限于只读存储器,随机访问存储器,快闪存储器、HDD或SSD。
本申请第七方面提供了一种计算机程序产品,该计算机程序产品包括程序指令,当该计算机程序产品被控制器执行时,该控制器执行前述第一方面或第一方面的任一实现方式提供的实现负载均衡的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第一方面或第一方面的任一实现方式提供的数据处理方法的情况下,可以下载该计算机程序产品并在控制器上执行该计算机程序产品。
本申请第八方面提供了一种存储介质,该存储介质中存储了程序,该程序被计算设备运行时,该计算设备执行前述第二方面或第二方面的任一实现方式提供的实现负载均衡的方法。该存储介质包括但不限于只读存储器,随机访问存储器,快闪存储器、HDD或SSD。
本申请第九方面提供了一种计算机程序产品,该计算机程序产品包括程序指令,当该计算机程序产品被交换机执行时,该交换机执行前述第二方面或第二方面的任一实现方式提供的实现负载均衡的方法。该计算机程序产品可以为一个软件安装包,在需要使用前述第二方面或第二方面的任一实现方式提供的实现负载均衡的方法的情况下,可以下载该计算机程序产品并在交换机上执行该计算机程序产品。
本申请第三-第九方面的方案的有益效果可以参考上述第一方面和第二方面的方法。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为现有技术中一级mesh网络的结构示意图;
图2为现有技术中二级mesh网络的结构示意图;
图3为本申请实施例提供的网络系统的结构示意图;
图4为图3所示的网络系统的一个具体实现方式;
图5为图3所示的网络系统的另一个具体实现方式;
图6为本申请实施例提供的一种生成转发表的方法的流程示意图;
图7为图6所示步骤S610的具体实现方式流程图;
图8为本申请实施例提供的一种获取转发表的方法的流程示意图;
图9a为图4所示的场景下,控制器生成的所有路由表项;
图9b-图9d为控制器根据图9a分别为交换机S1、S2和S3生成的转发表;
图10a-图10g为图5所示的场景下,控制器为交换机S11,S12,S21,S13,S23,S31和S32分别生成的转发表项;
图11为本申请实施例提供的一种控制器的结构示意图;
图12为本申请实施例提供的另一种控制器的结构示意图;
图13为本申请实施例提供的一种交换机的结构示意图;
图14为本申请实施例提供的另一种交换机的结构示意图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请所有实施例及其具体实现方式中的“第一”、“第二”及“第三”,仅用于区分同类事物中的不同对象,不用于限定顺序。本申请所有实施例及其具体实现方式中,mesh网络中的交换机的连接另一交换机的端口称为网络侧端口,交换机的用于连接服务器的端口称为用户侧端口。网络侧端口可以是组内端口或组间端口,其中,连接同一交换机组中的另一交换机的端口称为组内端口,连接不同交换机组中的另一交换机的端口称为组间端口。
如图3所示,为本申请实施例的网络系统300的结构示意图。所述网络系统包括控制器310和mesh网络320,所述mesh网络320包括交换机S1-Sn,S1-Sn表示共有n个交换机,其中,n大于等于3,图3中示出了4个交换机S1、S2、Si和Sn。所述控制器310与所述多个交换机S1-Sn中的每个交换机通信连接。所述多个交换机S1-Sn中的每个交换机与至少一个服务器通信连接,例如S1连接服务器A,S2连接服务器B,Si连接服务器C和服务器D,Sn连接服务器E和服务器F。
每个交换机通过控制端口(又称管理端口)连接所述控制器310,通过不同的业务端口连接不同的交换机或服务器。本申请不涉及对控制端口的特殊操作,只涉及与业务端口相关的处理。为了表述简单,本申请中使用“端口”来指示“业务端口”。即,本申请下文中及权利要求中所提及的“端口”均指交换机的业务端口。进一步地,当交换机的端口上没有连接其他的设备的时候,基于该端口的操作是没有意义的,因此,本申请后续各实施例及权利要求中所提及的“端口”均指连接了其他设备的端口。
在一个实施方式中,所述mesh网络320为一级mesh网络。图4以该mesh网络320为由三个交换机S1,S2和S3组成的一级mesh网络3201为例进行说明。实际组网中,所述一级mesh网络3201可以包括多于3个交换机。
在另一个实施方式中,所述mesh网络320为由两个或两个以上的一级mesh网络组成的二级mesh网络,每个一级mesh网络包括至少三个交换机。图5以该mesh网络320为由3个一级mesh网络组成的二级mesh网络3202为例进行说明。Mesh网络3202中的每个交换机被分配了一个编号Sij。其中,i为该交换机所属的交换机组,j为该交换机在其所属的交换机组内的编号,例如,S12即为交换机组1内的第2个交换机。图5中的每个一级mesh网络中包括三个交换机,每个一级mesh网络中的三个交换机组成了一个交换机组,每个交换机组内的交换机用粗实线连接。具体地,交换机S11,S12和S13组成第一交换机组,交换机S21,S22和S23组成第二交换机组,交换机S31,S32和S33组成第三交换机组,每个交换机组中的交换机与其他交换机组中的对应的交换机连接,一个交换机对应另一个交换机,是指这两个交换机在各自所属的交换机组内的编号相同,或者,该两个交换机被预先配置了对应关系。例如图5中,交换机S11连接交换机S21和S31,交换机S12连接交换机S22和S23,交换机S13连接交换机S23和S33,以组成所述二级mesh网络3202。每个交换机可以连接一个或多个服务器。实际组网中,所述二级mesh网络3202可以包括2个或多于3个交换机组,每个交换机组包括2个或多于3个交换机。图5所示的组网只是一个示例,在实际部署中,当mesh网络包括多个交换机组,且该多个交换机组中的第一交换机组包括的交换机数量大于第二交换机组包括的交换机数量时,该第一交换机组中的至少一个交换机在第二交换机组中没有对应的交换机,假设第一交换机组中的交换机A在第二交换机组中没有对应的交换机,则交换机A通过第一交换机组中的其他在第二交换机组中有对应交换机的交换机与第二交换机组中的交换机通信。
图4或图5所示的mesh网络中的每个交换机均包括多个端口,用于与服务器或者其他交换机通信。本申请还为每个交换机的每个端口分配一个编号。
在mesh网络320为图4的一级mesh网络3201的情况下,交换机的端口编号为SX.Y,其中,S代表交换机,X为交换机的编号,Y为该交换机的端口的编号。在一个实施方式中,将连接服务器的端口(即用户侧端口)的编号设置为0(在仅连接一个服务器的情况下)或设置为以0开始的编号(在连接多个服务器的情况下),将连接另一交换机的端口(即网络侧端口)的编号设置为该另一交换机的编号。如图4所示,交换机S1通过端口S1.00与服务器A1通信,通过端口S1.01与服务器A2通信,通过端口S1.2与交换机S2通信,通过端口S1.3与交换机S3通信。交换机S2通过端口S2.0与服务器B通信,通过端口S2.1与交换机S1通信,通过端口S2.3与交换机S3通信。交换机S3通过端口S3.0与服务器C通信,通过端口S3.1与交换机S1通信,通过端口S3.2与交换机S2通信。
在mesh网络320为图5的二级mesh网络3202的情况下,交换机的端口编号为Sij.XY,其中,S代表交换机,ij为交换机的编号,XY为该交换机的端口的编号。在一个实施方式中,将连接服务器的端口的编号设置为0(在仅连接一个服务器的情况下)或设置为以0开始的编号(在连接多个服务器的情况下),将连接另一交换机的端口的编号设置为该另一交换机的编号,以体现两个交换机的连接关系。例如,图5中,以小黑点来代表每个端口,由于端口太多,图5仅示出了第一交换机组中的交换机S11,S12和S13的各端口的编号,交换机S11连接交换机S12的端口的编号为S11.12,交换机S13连接交换机S23的端口的编号为S13.23,其他端口的编号类似。在图5中,每个交换机既有组内端口,又有组内端口和组间端口。例如,交换机S11的端口S11.12为组内端口,端口S11.21为组间端口,端口S11.0为用户侧端口。
以上对端口的编号方式仅为了便于说明本申请实施例,本领域技术人员还可以设计出其他对交换机以及交换机的端口编号的方式,例如,对一个交换机的所有端口顺序编号,本申请实施例对此不做限制。
基于图3-图5中任意一项中的网络系统,本申请实施例提供了如图6所示的一种实现负载均衡的方法。
在S610中,控制器获取mesh网络中的第一交换机的每个端口的端口属性。
所述第一交换机为所述mesh网络中的任意一个交换机,所述端口属性用于指示端口为用户侧端口或网络侧端口。
在S620中,所述控制器根据所述第一交换机的每个端口的端口属性,确定所述第一交换机的每个端口对应的虚拟路由转发实例,其中,所述第一交换机的所有用户侧端口对应第一虚拟路由转发实例。
本申请中,对于特定的某个交换机,该交换机的具有相同端口属性的所有端口对应同一个虚拟路由转发实例。
在S630中,所述控制器根据所述mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,所述转发表的每个转发表项包括虚拟路由转发实例,当所述转发表的第一转发表项包括所述第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段,以及所述第一目的网段对应的至少两条转发路径。
在S640中,所述控制器向所述第一交换机发送所述转发表。
其中,所述转发表用于使所述第一交换机根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为对应所述第一目的网段的报文选择目标转发路径。其中,对应所述目的网段的报文是指目的IP地址属于所述目的网段的报文。
在S610的一个实施方式中,所述端口属性用于指示端口为用户侧端口或网络侧端口。在另一个实施方式中,所述网络侧端口为组内端口或组间端口。
其中,该第一交换机为该mesh网络中的任意一个交换机。
在一个实施方式中,S610具体可以包括图7所示的步骤S6102和S6104。
在S6102中,控制器向第一交换机发送通知消息,该通知消息用于通知该第一交换机向该第一交换机的所有端口发送发现消息。
控制器向第一交换机发送通知消息具体可以是控制器在感知到第一交换机与所述控制器建立连接时或之后,向该第一交换机发送通知消息。
如前所述,这里的所有端口是指该第一交换机的所有业务端口,不包括该第一交换机连接该控制器的管理端口。其中,所述发现消息用于通知接收到所述发现消息的设备向所述控制器发送报告消息。与该第一交换机的业务端口通信连接的设备接收所述发现消息。接收到该发现消息的交换机向控制器发送报告消息,接收到该发现消息的服务器可能向该控制器发送报告消息,也可能不向该控制器发送报告消息。每个报告消息包括报告消息的发送方与所述第一交换机通信的业务端口的端口号。具体来说,该发现消息包括该第一交换机的标识和该第一交换机发送该发现消息的端口的标识,该第一交换机的标识可以是该第一交换机的编号或者名称,发送该发现消息的端口的标识可以是该端口的编号或者名称。
以图4为例,控制器310向第一交换机,比如交换机S1发送通知消息。交换机S1收到该通知消息后,向交换机S1的所有业务端口S1.00、S1.01、S1.2和S1.3发送发现消息D1,发往业务端口S1.00的发现消息D1包括交换机S1的标识S1和发出发现消息D1的端口00。与交换机S1的端口00通信连接的设备为服务器A1,服务器A1接收到发现消息D1后,向控制器310发送报告消息R1,报告消息R1包括交换机S1的标识S1以及发出发现消息D1的端口的标识00。与交换机S1的端口S1.2通信连接的服务器A2接收发现消息D2,发现消息D2包括交换机S1的标识S1和发出发现消息D1的端口标识2,服务器A2接收到发现消息D2后,向控制器310发送报告消息R2,报告消息R2包括交换机S1的标识S1以及发出发现消息D2的交换机S1的端口的标识2。该发现消息可以是链路层发现协议(英文:Link Layer Discovery Protocol,LLDP)消息,该LLDP消息可以通过不同的类型长度值(type-length-value,TLV)携带交换机的标识以及该交换机发送该发现消息的端口的标识。
如果第一交换机连接的设备为第二交换机,该第二交换机在收到该发现消息后向控制器310发送报告消息,该报告消息用于通知控制器310该第一交换机向该第二交换机发送该发现消息的端口,该第二交换机为该mesh网络320中除该第一交换机外的任意一个交换机。其中,该第二交换机通常直接向控制器310发送该报告消息。如果第一交换机连接的设备为服务器,该服务器在收到该发现消息后,可能向控制器310发送报告消息,也可能不向控制器310发送报告消息。如果该服务器向控制器310发送报告消息,该报告消息用于通知控制器310该第一交换机向该服务器发送该发现消息的端口。其中,服务器可以通过第一交换机向控制器310发送该报告消息,也可以直接向控制器310发送该报告消息。在S6104中,所述控制器根据该第一交换机连接的设备发送报告消息的情况,确定该第一交换机的每个端口的端口属性。
在一个实施方式中,控制器310接收该第一交换机连接的设备发送的报告消息,所述报告消息包括所述第一交换机向所述设备发送所述发现消息的端口的标识,所述第一交换机的标识以及所述设备的标识。
在实际应用中,控制器310会收到第一交换机连接的多个设备分别发送的多个报告消息,以下为了描述方便,以对一个报告消息的处理过程为例说明本申请的具体实施方式,其他报告消息的处理方式类似。
控制器310根据所述报告消息中的设备的标识确定所述设备的类型,所述设备的类型包括交换机或服务器。
如果所述设备为另一交换机,控制器310确定所述第一交换机向所述另一交换机发送所述发现消息的端口为网络侧端口;如果所述设备为服务器,控制器310确定所述第一交换机向所述服务器发送所述发现消息的端口为用户侧端口。进一步地,在服务器不向控制器310发送报告消息的场景下,控制器310还根据预先获取的该第一交换机的所有端口以及所述控制器310接收的报告消息,确定所述第一交换机的没有被报告的端口,并确定该没有被报告的端口为用户侧端口。其中,没有被报告的端口是指没有包括在任何报告消息中的端口。具体来说,控制器310可以设置一个定时器,在控制器310向该第一交换机发送该通知消息后,启动该定时器,将经过设定时长后仍然没有被报告的所述第一交换机的端口确定为用户侧端口。
在二级mesh网络的场景下,网络侧端口包括组内端口和组间端口,当所述第一交换机和第二交换机属于不同交换机组时,控制器310确定第一交换机上连接第二交换机的端口为组间端口,当所述第一交换机和第二交换机属于同一交换机组时,控制器310确定第一交换机上连接第二交换机的端口为组内端口。在一个实施方式中,控制器310根据所述第一交换机的标识和第二交换机的标识确定所述第一交换机和第二交换机是否属于相同的交换机组。
在S620的一个方式中,具有相同端口属性的端口对应的虚拟路由转发实例相同。虚拟路由转发(英文:virtual routing and forwarding)技术允许一个转发表中同时存在多个虚拟路由转发实例,由于这多个虚拟路由转发实例相互独立,相同或重叠(overlapping)的因特网协议(英文:Internet Protocol,IP)地址可以使用在同一个转发表的不同虚拟路由转发实例中且不会造成冲突。虚拟路由转发实例即应用虚拟路由转发技术的转发实例。本申请利用不同的虚拟路由转发实例隔离不同类型的端口对应的转发表项,以确保从一个端口接收的报文不会被发回该端口。在mesh网络320为一级mesh的场景下,第一交换机的端口包括组内端口(网络侧端口)和用户侧端口,控制器310可以确定所有用户侧端口对应一个虚拟路由转发实例,所有组内端口(网络侧端口)对应另一个虚拟路由转发实例。例如,基于图4所示的mesh网络3201,控制器确定端口S1.0和S2.0对应VRF1,确定端口S1.2,S1.3,S2.1,S2.3,S3.1和S3.2对应VRF2。
在mesh网络320为二级mesh的场景下,第一交换机的端口包括组内端口、组间端口和用户侧端口,控制器310可以确定所有用户侧端口对应第一个虚拟路由转发实例,所有组内端口对应第二个虚拟路由转发实例,所述组间端口对应第三个虚拟路由转发实例。例如,基于图5所示的mesh网络3202,以第一交换机组中的交换机S11,S12和S13为例,基于前文所述的端口编号规则,控制器确定端口S11.0对应VRF3,确定组内端口S11.12,S11.13,S13.11,S13.12,S12.11以及S12.13对应VRF4,确定组间端口S11.21,S11.31,S12.22,S12.32,S13.23以及S13.33对应VRF5。
在S630的具体实现中,转发表的每个表项包括虚拟路由转发实例、该虚拟路由转发实例对应的目的网段、所述目的网段对应的至少一条转发路径。通常,在转发表中,下一跳被用于指示一条转发路径,所述目的网段对应的至少一条转发路径,在转发表中具体为所述目的网段对应的至少一个下一跳以及所述至少一下一跳中每个下一跳对应的出端口。当所述虚拟路由转发实例为所述第一虚拟路由转发实例时,所述转发表项包括目的网段以及所述目的网段对应的至少两条转发路径,即所述第一虚拟转发实例与该目的网段之间存在至少两个下一跳。根据不同的选路规则,所述至少两条转发路径可以是等价路径或者不等价路径。本申请中,用下一跳设备的标识来指示下一跳;在一个实施例中,转发表中的下一跳可以是下一跳设备的IP地址。出端口又可以称为出接口,是指将报文转发给下一跳设备时发送该报文的端口。
在S630的一个实施方式中,当所述第一交换机为图4所示的mesh网络3201中的交换机时,所述第一交换机的所有网络侧端口对应第二虚拟路由转发实例,所述第二虚拟路由转发实例对应的转发表项包括所述第二虚拟路由转发实例、对应所述第二虚拟路由转发实例的目的网段,以及所述目的网段对应的至少一条转发路径。
在S630的另一个实施方式中,当所述第一交换机为图5所示的mesh网络3202中的交换机时,所述第一交换机的网络侧端口又被分为组内端口和组间端口,其中,所有组内端口对应第二虚拟路由转发实例,所有组间端口对应第三虚拟路由转发实例。所述第二虚拟路由转发实例所在的转发表项包括所述第二虚拟路由转发实例、对应所述第二虚拟路由转发实例的目的网段,以及所述目的网段对应的至少一条转发路径。所述第三虚拟路由转发实例所在的转发表项包括所述第三虚拟路由转发实例、对应所述第三虚拟路由转发实例的目的网段,以及所述目的网段对应的至少一条转发路径。
在S630的再一个实施方式中,所述控制器根据所述mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表包括:
A、所述控制器获取为所述多个交换机中每个交换机配置的网段,得到多个网段。
为了使交换机连接的服务器能够访问网络,需要为交换机配置网段。通常来说,不同交换机配置的网段不同。所述网段可以由网络管理员或者控制器配置。
本申请中,控制器检测到有新的交换机接入时,获取为该交换机配置的网段,进一步地,控制器根据为该新的交换机配置的网段和已经获取的其他交换机的网段为该新的交换机生成转发表。以图4为例,控制器分别获取为交换机S1、S2和S3分配的网段segment 1,segment2和segment 3。以图5为例,控制器分别获取为交换机S11,S12,S13,S21,S22,S23,S31,S32以及S33分配的网段segment 11,segment 12,segment 13,segment 21,segment22,segment 23,segment 31,segment 32和segment 33。
B、所述控制器从所述多个网段中确定源网段和目的网段,其中,所述源网段为所述多个网段中的任意一个,所述目的网段为所述多个网段中除所述源网段之外的任意一个。
由于控制器需要计算出整网每个交换机的转发表,因此,控制器需要组合出所有可能的源网段和目的网段对,当网络中包括n个交换机时,源网段和目的网段组合可达n*(n-1)个。以图4为例,确定的源网段和目的网段对可以包括{segment 1,segment 2},{segment 1,segment3},{segment 2,segment 1},{segment 2,segment 3},{segment 3,segment 1}和{segment 3,segment 2},基于图5的源网段和目的网段对则可达72个,不再一一列举。
C、所述控制器根据所述mesh网络的拓扑确定所述源网段到所述目的网段的N条转发路径,为所述N条转发路径中的第i条转发路径上的除目的交换机外的每个交换机生成所述第i条转发路径对应的路由表项,每个路由表项包括虚拟路由转发实例、该虚拟路由转发实例对应的目的网段、下一跳和出端口。其中,i为小于或等于N的自然数。
其中,目的交换机是指直接连接目的服务器的交换机,目的服务器的IP地址属于所述目的网段。某个交换机上的一个路由表项中的虚拟路由转发实例为该路由表项的源端口对应的虚拟路由转发实例。
具体来说,控制器根据所述mesh网络的拓扑为每一组源网段和目的网段确定N条转发路径。以图4为例,segment 1到segment 2有两条转发路径,S1->S2和S1->S3->S2,即N=2。对于路径S1->S2中,S2是目的交换机,控制器为交换机S1生成一个路由表项,该路由表项的VRF为VRF1,目的网段为segment 2,下一跳为S2,出端口为S1.2,为了简便,将该路由表项记为:{VRF:1,目的网段:segment 2,下一跳:S2,出端口:S1.2}。对于路径S1->S3->S2,控制器为交换机S1生成路由表项{VRF:1,目的网段:segment 3,下一跳:S3,出端口:S1.3},并为S3生成路由表项{VRF:2,目的网段:segment 2,下一跳:S2,出端口:S3.2}。控制器根据其他源网段和目的网段对应的转发路径为每个交换机生成的路由表项的过程类似。如图9a所示,为控制器基于图4所示的mesh网络为每个交换机生成的路由表项。D、所述控制器根据所述第一交换机的所有路由表项确定每个虚拟路由转发实例下所述第一交换机的每个目的网段对应的转发路径,生成所述第一交换机的转发表。
具体来说,所述控制器可以确定为每个交换机生成的所有路由表项,然后根据其中的虚拟路由转发实例和目的网段合并每个交换机的所有路由表项,生成该交换机的转发表。所述合并,具体可以是先确定每个虚拟路由转发实例对应的所有路由表项,再合并每个虚拟路由转发实例对应的所有路由表项中目的网段相同的路由表项。所述合并每个虚拟路由转发实例对应的所有路由表项中目的网段相同的路由表项包括,如果某个目的地址对应的路由表项有多个,则将该多个路由表项合并为一个,如果某个目的地址对应的路由表项有一个,则保留该路由表项。例如,控制器可以根据图9a分别确定出为交换机S1,S2和S3生成的路由表项,然后,根据同一VRF下的每个目的网段对应的路由表项生成一个转发表项,最终得到图9b,9c和9d所示的三个转发表。在9b,9c和9d所示的转发表中,VRF1下的每个目的网段对应多条转发路径,而VRF2下的每个目的网段对应一条转发路径。在网络规模较大的情况下,VRF2下的每个目的网段也可以对应多条转发路径。
下面再以图5为例,说明控制器根据源网段和目的网段生成转发表项的过程。假设服务器AA的IP地址为IPa,属于网段segment a,服务器B的IP地址为IPb,属于网段segmentb,针对所述segment a和segment b,图5中,控制器根据mesh网络的拓扑可以确定服务器AA和服务器BB之间存在以下四条不交叉的转发路径:
路径1:服务器AA→S11→S12→S22→服务器BB;
路径2:服务器AA→S11→S21→S22→服务器BB;
路径3:服务器AA→S11→S13→S23→S22→服务器BB;和
路径4:服务器AA→S11→S31→S32→S22→服务器BB。
根据上述的步骤A到步骤D,控制器310根据源网段segment a和目的网段segmentb为交换机S11,S12,S21,S13,S23,S31和S32分别生成的转发表项如图10a到图10g所示。可见,在图5所示的场景下,从用户侧端口(对应VRF3)接收的报文的转发路径有多条(图10a中示出了4条,该数量会根据交换机所在的交换机组包括的交换机的数量和该二级mesh网络包括的一级mesh网络的数量的变化而变化),而从组内端口(对应VRF4的网络侧端口)或组间端口(对应VRF5的网络侧端口)接收的报文的转发路径仅有一条。
以上以控制器为第一交换机生成并发送转发表为例来说明本申请的技术方案。实际操作中,所述控制器需要根据mesh网络的拓扑为所述mesh网络中的每个交换机生成对应的转发表,并发送给相应的交换机。
通过上述方式,控制器为每个交换机生成并发送转发表,该转发表使用虚拟路由转发实例来区分报文是来自用户侧端口还是网络侧端口,用户侧端口对应的虚拟路由转发实例与每个目的网段之间存在至少两条转发路径,这样,交换机在根据该转发表转发去往目的网段报文时,可以在该至少两条转发路径之间实现负载均衡。
基于图3-图5中任意一项中的网络系统,本申请实施例还提供了如图8所示的实现负载均衡的方法,所述方法由mesh网络320中的第一交换机(指mesh网络中的任意一个交换机)执行。
在S810中,第一交换机接收控制器发送的通知消息。
在S820中,所述第一交换机根据所述通知消息向所述第一交换机的所有端口发送发现消息。
关于上述通知消息和发现消息,可以参考S6102中的相关描述。
其中,上述步骤S810和S820为可选步骤。
当不需要执行步骤S810和S820时,在一个替代的实施方式中,第一交换机可以主动探测第一交换机的每个端口的端口属性,并将探测得到的每个端口的端口属性发送给所述控制器。例如,第一交换机确定所述第一交换机连接其他设备的端口,并监听每个连接其他设备的端口上接收的LLDP消息,根据接收的LLDP消息中携带的设备的标识确定该设备的类型,如果该设备的类型为服务器,则将接收该LLDP消息的端口确定为用户侧端口,如果该设备的类型为交换机且与所述第一交换机属于同一交换机组,则将接收该LLDP消息的端口确定为组内端口,如果该设备的类型为交换机且与所述第一交换机属于不同交换机组,则将接收该LLDP消息的端口确定为组间端口,进一步地,第一交换机还将连接其他设备但是经过设定时长没有接收到LLDP消息的端口确定为用户侧端口。
在一个实施方式中,所述第一交换机还可以接收第二交换机发送的第二发现消息;所述第二发现消息包括所述第二交换机的标识以及所述第二交换机向所述第一交换机发送所述第二发现消息的端口的标识。所述第一交换机根据所述第二发现消息向所述控制器发送第二报告消息,所述第二报告消息包括所述第二交换机向所述第一交换机发送所述第二发现消息的端口的标识,以使所述控制器确定所述第二交换机向所述第一交换机发送所述第二发现消息的端口的端口属性。
在S830中,所述第一交换机接收所述控制器发送的转发表,当所述转发表的第一转发表项包括第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径;所述第一虚拟路由转发实例为所述第一交换机的所有用户侧端口对应的虚拟路由转发实例。所述第一目的网段为除为所述第一交换机配置的网段外的任意网段。
如前所述,所述转发表是所述控制器根据所述mesh网络的拓扑以及所述第一交换机的每个端口对应的虚拟路由转发实例生成的。所述转发表的结构可以参考上述对图9a、图9b和图9c的描述。
在S840中,所述第一交换机接收报文。在S850中,当接收所述报文的端口为用户侧端口,且所述报文为对应所述第一目的网段的报文时,所述第一交换机根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为所述报文选择目标转发路径,并通过所述目标转发路径转发所述报文。
其中,对应所述第一目的网段的报文为IP地址属于所述第一目的网段的报文。
其中,所述负载均衡算法可以预先由控制器或者管理员配置在所述第一交换机中。
本申请中,所述第一交换机还需要获取端口属性与虚拟路由转发实例的对应关系,具体可以是接收所述控制器发送的端口属性与虚拟路由转发实例的对应关系,或接收网络管理员配置的端口属性与虚拟路由转发实例的对应关系。
在一个实施方式中,第一交换机在接收到报文后,确定接收该报文的端口的端口属性,得到对应的虚拟路由转发实例,然后根据该虚拟路由转发实例以及该报文的目的IP地址查找所述转发表,得到对应该虚拟路由转发实例以及该目的IP地址所属的目的网段的转发表项,并根据该转发表项转发报文。具体来说,当接收所述报文的端口为用户侧端口时,所述第一交换机根据负载均衡算法从第一虚拟路由转发实例以及该报文的目的IP地址所属的目的网段对应的转发表项的至少两条转发路径中为所述报文选择目标转发路径,并通过所述目标转发路径转发所述报文。
可见,通过本申请实施例提供的方法,交换机在发送报文时,能够在mesh网络中实现等价或不等价路径的负载均衡。并且,由于每个虚拟路由转发实例已经指示了报文的源端口,因此控制器在生成转发表的时候,不会将能够回到报文的源端口的交换机作为转发路径的下一跳,避免了在mesh网络中形成环路。
为了实现图6和图7所示的实现负载均衡的方法,本申请实施例还提供了一种控制器1100。如图11所示,该控制器1100包括获取单元1110,确定单元1120,生成单元1130以及发送单元1140。其中,获取单元1110用于执行S610及其各种实现方式;确定单元1120用于执行S620及其各种实现方式,生成单元1130用于执行S630及其各种实现方式,发送单元用于执行S640及其各种实现方式。
本申请图11对控制器1100的功能单元的划分仅仅是示意性的,本领域技术人员基于上述对图6和图7所示方法的描述,还可以组合图11中的各功能单元得到一个较大功能单元或者对某个功能单元做进一步划分得到多个较小功能单元。例如,可以将获取单元1110基于控制器1100需要执行的动作划分为多个子单元。
在一个实施方式中,所述控制器1100中的各个功能单元具体可以为部署在图12所述的控制器1200上的软件模块。如图12所示,所述控制器1200包括总线1202、处理器1204、存储器1208和通信接口1206。处理器1204、存储器1208和通信接口1206之间通过总线1202通信。
其中,处理器1204可以为中央处理器(英文:central processing unit,CPU)。存储器1208可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random access memory,RAM)。存储器1208还可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,ROM),快闪存储器,硬盘(英文:hard disk drive,HDD)或固态硬盘(英文:solid state drive,SSD)。
通信接口1206用于与其他设备通信。通信接口1206可以包括多个端口,每个端口用于与控制器1200控制的一个设备通信,该设备可以是交换机或者服务器。
存储器1208用于存储程序代码,所述程序代码至少包括能够实现图11所示的获取单元1110,确定单元1120,生成单元1130以及发送单元1140的功能的程序模块或者计算机指令。
处理器1204用于调用存储器1208中的程序代码,以实现图6或图7所示的方法。
为了实现图8所示的实现负载均衡的方法,本申请实施例还提供了一种交换机1300,即图8中的第一交换机。如图13所示,所述交换机1300包括:
第一接收单元1310,用于执行S830及其各种实现方式。
第二接收单元1330,用于执行S840;
转发单元1340,用于执行S850。
在一个实施方式中,所述第一接收单元1310还用于执行S810。此时,所述交换1300机还包括第一发送单元1350,用于执行S820。
在另一个实施方式中,交换机1300还包括第三接收单元1360和第二发送单元1370。其中,第三接收单元1360用于接收另一交换机发送的第二发现消息;所述第二发现消息包括所述另一交换机的标识以及所述另一交换机向所述交换机发送所述第二发现消息的端口的标识;第二发送单元1370用于根据所述第二发现消息向所述控制器发送第二报告消息,所述第二报告消息包括所述另一交换机向所述交换机发送所述第二发现消息的端口的标识,所述第二报告消息用于使所述控制器确定所述另一交换机向所述交换机发送所述第二发现消息的端口的端口属性。
在另一个实施方式中,交换机1300还包括存储单元1320,用于存储所述转发表,相应地,所述转发单元1340用于根据所述存储单元1320中存储的所述转发表以及所述负载均衡算法选择所述目标转发路径。
当所述网络侧端口包括组内端口和组间端口时,所述交换机的所有组内端口对应第二虚拟路由转发实例,所述第二虚拟路由转发实例在所述转发表中对应的转发表项包括所述第二虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径;所述交换机的所有组间端口对应第三虚拟路由转发实例,所述第三虚拟路由转发实例在所述转发表中对应的转发表项包括所述第三虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径。
除上述各功能单元外,所述交换机还包括多个端口,用于与第一接收单元1310,第二接收单元1330,第一发送单元1350,第三接收单元1360或第二发送单元1370配合实现消息的发送或接收。
本申请图13对交换机1300的功能单元的划分仅仅是示意性的,本领域技术人员基于上述对图8所示方法的描述,还可以组合图13中的各功能单元得到一个较大功能单元或者对某个功能单元做进一步划分得到多个较小功能单元。例如,可以将第一接收单元1310和第二发送单元1370组合为一个控制器通信单元。
在一个实施方式中,所述交换机1300中的各个功能单元具体可以为部署在图14所述的交换机1400上的软件模块。如图14所示,所述交换机1400包括总线1402、处理器1404、存储器1408和通信接口1406。处理器1404、存储器1408和通信接口1406之间通过总线1402通信。
其中,处理器1404可以为CPU。存储器1408可以包括易失性存储器,例如RAM。存储器1408还可以包括非易失性存储器,例如ROM,快闪存储器,HDD或SSD。
通信接口1406用于与其他设备通信。通信接口1406在实际部署中可以包括多个端口,每个端口用于与一个设备通信,该设备可以是服务器或者其他交换机,当该端口为管理端口时,该设备还可以是控制器。
存储器1408用于存储程序代码,所述程序代码至少包括能够实现图13所示的各单元的功能的程序模块或者计算机指令。
处理器1404用于调用存储器1408中的程序代码,以实现图8所示的方法。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,所述相关的硬件完成包括上述各实施例中描述的方法的步骤。而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。相应地,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括用以执行上述方法实施例中的各种操作的指令。
相应地,本申请实施例还提供一种存储介质,所述存储介质用于存储上述计算机程序产品。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (23)
1.一种实现负载均衡的方法,其特征在于,应用于包括控制器和网格网络的系统中,所述网格网络包括多个交换机,所述方法由所述控制器执行,所述方法包括:
获取第一交换机的每个端口的端口属性;所述第一交换机为所述网格网络中的任意一个交换机,所述端口属性用于指示端口为用户侧端口或网络侧端口;
根据所述第一交换机的每个端口的端口属性,确定所述第一交换机的每个端口对应的虚拟路由转发实例;其中,用户侧端口和网络侧端口对应不同的虚拟路由转发实例,所述第一交换机的所有用户侧端口对应第一虚拟路由转发实例;
根据所述网格网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,当所述转发表的第一转发表项包括所述第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径;
向所述第一交换机发送所述转发表,所述转发表用于使所述第一交换机根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为对应所述第一目的网段的报文选择目标转发路径。
2.根据权利要求1所述的方法,其特征在于,获取所述第一交换机的每个端口的端口属性包括:
向所述第一交换机发送通知消息,所述通知消息用于通知所述第一交换机向所述第一交换机的所有端口发送发现消息;所述发现消息用于通知接收到所述发现消息的设备向所述控制器发送报告消息;
根据所述第一交换机连接的设备发送报告消息的情况,确定所述第一交换机的每个端口的端口属性。
3.根据权利要求2所述的方法,其特征在于,根据所述第一交换机连接的设备发送报告消息的情况,确定所述第一交换机的每个端口的端口属性包括:
接收报告消息,所述报告消息包括发送所述报告消息的设备的类型以及所述第一交换机向所述设备发送所述发现消息的端口的标识;
确定所述发送所述报告消息的设备的类型,如果所述发送所述报告消息的设备为另一交换机,确定所述第一交换机向所述另一交换机发送所述发现消息的端口为网络侧端口,如果所述发送所述报告消息的设备为服务器,确定所述第一交换机向所述服务器发送所述发现消息的端口为用户侧端口。
4.根据权利要求3所述的方法,其特征在于,还包括:
向所述第一交换机发送所述通知消息后,确定在设定时间长度内没有被报告的所述第一交换机的端口为用户侧端口。
5.根据权利要求4所述的方法,其特征在于,所述网格网络为二级网格网络,所述确定所述第一交换机向所述另一交换机发送所述通知消息的端口为网络侧端口包括:
如果所述第一交换机和所述另一交换机属于同一交换机组,确定所述第一交换机向所述另一交换机发送所述通知消息的端口为组内端口;
和/或,
如果所述第一交换机和所述另一交换机属于不同的交换机组,确定所述第一交换机向所述另一交换机发送所述通知消息的端口为组间端口。
6.根据权利要求5所述的方法,其特征在于,
所述第一交换机的所有组内端口对应第二虚拟路由转发实例,所述第二虚拟路由转发实例在所述转发表中对应的转发表项包括所述第二虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径;
所述第一交换机的所有组间端口对应第三虚拟路由转发实例,所述第三虚拟路由转发实例在所述转发表中对应的转发表项包括所述第三虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径。
7.根据权利要求1-6中任意一项所述的方法,其特征在于,根据所述网格网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表包括:
获取为所述多个交换机中每个交换机配置的网段,得到多个网段;从所述多个网段中确定源网段和目的网段,其中,所述源网段为所述多个网段中的任意一个,所述目的网段为所述多个网段中除所述源网段之外的任意一个;
根据所述网格网络的拓扑确定所述源网段到所述目的网段的N条转发路径,为所述N条转发路径中的第i条转发路径上的除目的交换机外的每个交换机生成所述第i条转发路径对应的路由表项,每个路由表项包括虚拟路由转发实例,目的网段,下一跳和出端口;其中,i为小于或等于N的自然数;
根据所述第一交换机的所有路由表项确定每个虚拟路由转发实例下所述第一交换机的每个目的网段对应的转发路径,生成所述第一交换机的转发表。
8.一种实现负载均衡的方法,其特征在于,应用于包括控制器和网格网络的系统中,所述网格网络包括多个交换机,所述方法由第一交换机执行,所述第一交换机为所述多个交换机中的任意一个,所述第一交换机包括多个端口,所述多个端口包括网络侧端口和用户侧端口,所述用户侧端口和所述网络侧端口对应不同的虚拟路由转发实例,所述方法包括:
接收所述控制器发送的转发表,当所述转发表的第一转发表项包括所述第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径;所述第一虚拟路由转发实例为所述第一交换机的所有用户侧端口对应的虚拟路由转发实例;
接收报文;
当接收所述报文的端口为用户侧端口,且所述报文为对应所述第一目的网段的报文时,根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为所述报文选择目标转发路径,并通过所述目标转发路径转发所述报文。
9.根据权利要求8所述的方法,其特征在于,所述接收所述控制器发送的转发表之前,所述方法还包括:
接收所述控制器发送的通知消息;
根据所述通知消息向所述第一交换机的所有端口发送发现消息,所述发现消息用于通知接收到所述发现消息的设备向所述控制器发送报告消息。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
接收第二交换机发送的第二发现消息;所述第二发现消息包括所述第二交换机的标识以及所述第二交换机向所述第一交换机发送所述第二发现消息的端口的标识;
根据所述第二发现消息向所述控制器发送第二报告消息,所述第二报告消息包括所述第二交换机向所述第一交换机发送所述第二发现消息的端口的标识,以使所述控制器确定所述第二交换机向所述第一交换机发送所述第二发现消息的端口的端口属性。
11.根据权利要求8-9中任意一项所述的方法,其特征在于,所述网络侧端口包括组内端口和组间端口;
所述第一交换机的所有组内端口对应第二虚拟路由转发实例,所述第二虚拟路由转发实例在所述转发表中对应的转发表项包括所述第二虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径;
所述第一交换机的所有组间端口对应第三虚拟路由转发实例,所述第三虚拟路由转发实例在所述转发表中对应的转发表项包括所述第三虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径。
12.一种控制器,其特征在于,应用于包括所述控制器和网格网络的系统中,所述网格网络包括多个交换机,所述控制器包括:
获取单元,用于获取第一交换机的每个端口的端口属性;所述第一交换机为所述网格网络中的任意一个交换机,所述端口属性用于指示端口为用户侧端口或网络侧端口;
确定单元,用于根据所述第一交换机的每个端口的端口属性,确定所述第一交换机的每个端口对应的虚拟路由转发实例;其中,用户侧端口和网络侧端口对应不同的虚拟路由转发实例,所述第一交换机的所有用户侧端口对应第一虚拟路由转发实例;
生成单元,用于根据所述网格网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,当所述转发表的第一转发表项包括所述第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径;
发送单元,向所述第一交换机发送所述转发表,所述转发表用于使所述第一交换机根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为对应所述第一目的网段的报文选择目标转发路径。
13.根据权利要求12所述的控制器,其特征在于,所述获取单元具体用于:
向所述第一交换机发送通知消息,所述通知消息用于通知所述第一交换机向所述第一交换机的所有端口发送发现消息;所述发现消息用于通知接收到所述发现消息的设备向所述控制器发送报告消息;
根据所述第一交换机连接的设备发送报告消息的情况,确定所述第一交换机的每个端口的端口属性。
14.根据权利要求13所述的控制器,其特征在于,当根据所述第一交换机连接的设备发送报告消息的情况,确定所述第一交换机的每个端口的端口属性时,所述获取单元用于:
接收报告消息,所述报告消息包括发送所述报告消息的设备的类型以及所述第一交换机向所述设备发送所述发现消息的端口的标识;
确定所述设备的类型,如果所述设备为另一交换机,确定所述第一交换机向所述另一交换机发送所述发现消息的端口为网络侧端口,如果所述设备为服务器,确定所述第一交换机向所述服务器发送所述发现消息的端口为用户侧端口。
15.根据权利要求14所述的控制器,其特征在于,所述获取单元还用于:
向所述第一交换机发送所述通知消息后,确定在设定时间长度内没有被报告的所述第一交换机的端口为用户侧端口。
16.根据权利要求15所述的控制器,其特征在于,所述网格网络为二级网格网络,当确定所述第一交换机向所述另一交换机发送所述通知消息的端口为网络侧端口时,所述获取单元用于:
如果所述第一交换机和所述另一交换机属于同一交换机组,确定所述第一交换机向所述另一交换机发送所述通知消息的端口为组内端口;如果所述第一交换机和所述另一交换机属于不同的交换机组,确定所述第一交换机向所述另一交换机发送所述通知消息的端口为组间端口。
17.根据权利要求16所述的控制器,其特征在于,
所述第一交换机的所有组内端口对应第二虚拟路由转发实例,所述第二虚拟路由转发实例在所述转发表中对应的转发表项包括所述第二虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径;
所述第一交换机的所有组间端口对应第三虚拟路由转发实例,所述第三虚拟路由转发实例在所述转发表中对应的转发表项包括所述第三虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径。
18.根据权利要求12-17中任意一项所述的控制器,其特征在于,所述生成单元用于:
获取为所述多个交换机中每个交换机配置的网段,得到多个网段;从所述多个网段中确定源网段和目的网段,其中,所述源网段为所述多个网段中的任意一个,所述目的网段为所述多个网段中除所述源网段之外的任意一个;
根据所述网格网络的拓扑确定所述源网段到所述目的网段的N条转发路径,为所述N条转发路径中的第i条转发路径上的除目的交换机外的每个交换机生成所述第i条转发路径对应的路由表项,每个路由表项包括虚拟路由转发实例,目的网段,下一跳和出端口;其中,i为小于或等于N的自然数;
根据所述第一交换机的所有路由表项确定每个虚拟路由转发实例下所述第一交换机的每个目的网段对应的转发路径,生成所述第一交换机的转发表。
19.一种交换机,其特征在于,应用于包括控制器和网格网络的系统中,所述网格网络包括多个交换机,所述交换机为所述多个交换机中的任意一个,所述交换机包括多个端口,所述多个端口包括网络侧端口和用户侧端口,所述用户侧端口和所述网络侧端口对应不同的虚拟路由转发实例:
第一接收单元,用于接收所述控制器发送的转发表,当所述转发表的第一转发表项包括第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径;所述第一虚拟路由转发实例为所述交换机的所有用户侧端口对应的虚拟路由转发实例;
第二接收单元,用于接收报文;
转发单元,用于当接收所述报文的端口为用户侧端口,且所述报文为对应所述第一目的网段的报文时,根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为所述报文选择目标转发路径,并通过所述目标转发路径转发所述报文。
20.根据权利要求19所述的交换机,其特征在于,所述第一接收单元还用于接收所述控制器发送的通知消息;
所述交换机还包括第一发送单元,用于根据所述通知消息向所述交换机的所有端口发送发现消息;所述发现消息用于通知接收到所述发现消息的设备向所述控制器发送报告消息。
21.根据权利要求20所述的交换机,其特征在于,还包括:
第三接收单元,用于接收另一交换机发送的第二发现消息;所述第二发现消息包括所述另一交换机的标识以及所述另一交换机向所述交换机发送所述第二发现消息的端口的标识;
第二发送单元,根据所述第二发现消息向所述控制器发送第二报告消息,所述第二报告消息包括所述另一交换机向所述交换机发送所述第二发现消息的端口的标识,用于使所述控制器确定所述另一交换机向所述交换机发送所述第二发现消息的端口的端口属性。
22.根据权利要求19-21中任意一项所述的交换机,其特征在于,所述网络侧端口包括组内端口和组间端口;
所述交换机的所有组内端口对应第二虚拟路由转发实例,所述第二虚拟路由转发实例在所述转发表中对应的转发表项包括所述第二虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径;
所述交换机的所有组间端口对应第三虚拟路由转发实例,所述第三虚拟路由转发实例在所述转发表中对应的转发表项包括所述第三虚拟路由转发实例、目的网段以及所述目的网段对应的至少一条转发路径。
23.一种网络系统,其特征在于,包括控制器和网格网络,所述网格网络包括多个交换机,所述多个交换机中的每个交换机包括多个端口,所述多个端口包括用户侧端口和网络侧端口,所述控制器为权利要求12-18中任意一项所述的控制器,所述多个交换机中的任意一个交换机为权利要求19-22中任意一项所述的交换机。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710312467.3A CN108809847B (zh) | 2017-05-05 | 2017-05-05 | 实现负载均衡的方法、装置和网络系统 |
JP2018088752A JP6510115B2 (ja) | 2017-05-05 | 2018-05-02 | 負荷分散を実現するための方法、装置、およびネットワークシステム |
BR102018008997-8A BR102018008997A2 (pt) | 2017-05-05 | 2018-05-03 | método para implantar balanceamento de carga, aparelho e sistema de rede |
US15/971,443 US10924409B2 (en) | 2017-05-05 | 2018-05-04 | Method for implementing load balancing, apparatus, and network system |
EP18170843.9A EP3399703B1 (en) | 2017-05-05 | 2018-05-04 | Method for implementing load balancing, apparatus, and network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710312467.3A CN108809847B (zh) | 2017-05-05 | 2017-05-05 | 实现负载均衡的方法、装置和网络系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108809847A CN108809847A (zh) | 2018-11-13 |
CN108809847B true CN108809847B (zh) | 2021-11-19 |
Family
ID=62116726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710312467.3A Active CN108809847B (zh) | 2017-05-05 | 2017-05-05 | 实现负载均衡的方法、装置和网络系统 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10924409B2 (zh) |
EP (1) | EP3399703B1 (zh) |
JP (1) | JP6510115B2 (zh) |
CN (1) | CN108809847B (zh) |
BR (1) | BR102018008997A2 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10979351B2 (en) * | 2017-05-19 | 2021-04-13 | Cisco Technology, Inc. | Managing routing tables |
US10630606B1 (en) * | 2019-03-18 | 2020-04-21 | Brightways Corporation | System, method and architecture for data center network switching |
WO2020236261A1 (en) * | 2019-05-23 | 2020-11-26 | Cray Inc. | Dragonfly routing with incomplete group connectivity |
CN113055214B (zh) * | 2019-12-27 | 2023-12-19 | 华为技术有限公司 | 端口属性确定方法以及相关设备 |
US20210266255A1 (en) * | 2020-02-24 | 2021-08-26 | Cisco Technology, Inc. | Vrf segregation for shared services in multi-fabric cloud networks |
CN111355668B (zh) * | 2020-03-12 | 2022-07-22 | 北京嘀嘀无限科技发展有限公司 | 转发路径的确定方法、交换机和存储介质 |
CN113542111A (zh) * | 2020-04-20 | 2021-10-22 | 华为技术有限公司 | 一种报文转发方法及网络设备 |
US11621910B1 (en) * | 2020-06-23 | 2023-04-04 | Juniper Networks, Inc. | Concurrent routing for network devices |
CN114666267A (zh) * | 2020-12-07 | 2022-06-24 | 中兴通讯股份有限公司 | 以太虚拟专用网的数据处理方法、设备及存储介质 |
WO2023204989A1 (en) * | 2022-04-20 | 2023-10-26 | Cisco Technology, Inc. | Systems and methods for dynamically selecting a load balancing algorithm |
CN115883456B (zh) * | 2023-01-31 | 2023-06-23 | 天翼云科技有限公司 | 一种上行出口识别方法、装置及设备、介质和产品 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103053138A (zh) * | 2010-07-29 | 2013-04-17 | 惠普发展公司,有限责任合伙企业 | 利用网格标签进行外出分组转发的装置和方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6876656B2 (en) * | 2001-06-15 | 2005-04-05 | Broadcom Corporation | Switch assisted frame aliasing for storage virtualization |
JP3695447B2 (ja) * | 2002-02-27 | 2005-09-14 | 日立電線株式会社 | 仮想lan接続機器 |
US8996683B2 (en) | 2008-06-09 | 2015-03-31 | Microsoft Technology Licensing, Llc | Data center without structural bottlenecks |
EP2415221B1 (en) * | 2009-04-01 | 2014-05-07 | Nicira, Inc. | Method and apparatus for implementing and managing virtual switches |
JP5625978B2 (ja) * | 2011-02-10 | 2014-11-19 | 富士通株式会社 | 通信制御プログラム、情報処理装置およびパケット通信方法 |
JP2012175198A (ja) * | 2011-02-17 | 2012-09-10 | Nippon Telegr & Teleph Corp <Ntt> | 流通経路設定システム及び方法 |
US9100285B1 (en) * | 2012-12-18 | 2015-08-04 | Juniper Networks, Inc. | Dynamic control channel establishment for software-defined networks having centralized control |
EP2945320B1 (en) * | 2013-02-06 | 2018-01-31 | Huawei Technologies Co., Ltd. | Method, device and routing system for data transmission of network virtualization |
US9025459B2 (en) * | 2013-04-13 | 2015-05-05 | Hei Tao Fung | Network traffic load balancing |
US9787546B2 (en) * | 2013-08-07 | 2017-10-10 | Harris Corporation | Network management system generating virtual network map and related methods |
US20160285769A1 (en) | 2013-11-06 | 2016-09-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Enabling Load Balancing in a Network Virtualization Overlay Architecture |
US9338094B2 (en) * | 2014-03-31 | 2016-05-10 | Dell Products, L.P. | System and method for context aware network |
-
2017
- 2017-05-05 CN CN201710312467.3A patent/CN108809847B/zh active Active
-
2018
- 2018-05-02 JP JP2018088752A patent/JP6510115B2/ja active Active
- 2018-05-03 BR BR102018008997-8A patent/BR102018008997A2/pt unknown
- 2018-05-04 EP EP18170843.9A patent/EP3399703B1/en active Active
- 2018-05-04 US US15/971,443 patent/US10924409B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103053138A (zh) * | 2010-07-29 | 2013-04-17 | 惠普发展公司,有限责任合伙企业 | 利用网格标签进行外出分组转发的装置和方法 |
Non-Patent Citations (1)
Title |
---|
A Survey of Mobile VPN Technologies;Abdullah Alshalan;《IEEE Communications Surveys & Tutorials》;20151102;第18卷(第2期);第1177-1196页 * |
Also Published As
Publication number | Publication date |
---|---|
US10924409B2 (en) | 2021-02-16 |
EP3399703B1 (en) | 2021-02-24 |
US20180324097A1 (en) | 2018-11-08 |
CN108809847A (zh) | 2018-11-13 |
JP2018191290A (ja) | 2018-11-29 |
EP3399703A1 (en) | 2018-11-07 |
BR102018008997A2 (pt) | 2018-11-21 |
JP6510115B2 (ja) | 2019-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108809847B (zh) | 实现负载均衡的方法、装置和网络系统 | |
US11665595B2 (en) | Forwarding entry generation method, controller, and network device | |
US10742488B2 (en) | Detecting link faults in network paths that include link aggregation groups (LAGs) | |
EP2911348B1 (en) | Control device discovery in networks having separate control and forwarding devices | |
US9065768B2 (en) | Apparatus for a high performance and highly available multi-controllers in a single SDN/OpenFlow network | |
US10116555B2 (en) | Switch mode switching method, device, and system | |
WO2018058677A1 (zh) | 一种报文处理方法、计算设备以及报文处理装置 | |
US8787388B1 (en) | System and methods for forwarding packets through a network | |
JP6364106B2 (ja) | DiameterシグナリングルータにおいてDiameterメッセージをルーティングするための方法、システムおよびコンピュータ読取可能媒体 | |
US9548900B1 (en) | Systems and methods for forwarding network packets in a network using network domain topology information | |
JP2011160363A (ja) | コンピュータシステム、コントローラ、スイッチ、及び通信方法 | |
Cheng et al. | Application-aware SDN routing for big data networking | |
WO2017012471A1 (zh) | 负载均衡处理方法及装置 | |
CN108289044B (zh) | 数据转发方法、确定静态路由的链路状态方法及网络设备 | |
CN107770061B (zh) | 转发报文的方法及转发设备 | |
US20150195189A1 (en) | Multiple tree routed selective randomized load balancing | |
US10284468B1 (en) | E-channel identifiers (ECIDS) for scalable satellite device clustering control in a campus network | |
WO2018001127A1 (zh) | 传输方法、装置、系统及计算机可读存储介质 | |
US11876680B2 (en) | Method and apparatus for determining link for forwarding service flow | |
CN109639590B (zh) | 实现非等价线路负载均衡的数据传输方法及路由节点设备 | |
CN116016309A (zh) | 信息处理方法、装置和电子设备 | |
JP2005176268A (ja) | 死活監視を利用したipネットワーク迂回システム |
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 |