实现负载均衡的方法、装置和网络系统制造方法及图纸

技术编号:19436724 阅读:30 留言:0更新日期:2018-11-14 13:13
本申请实施例提供了一种实现负载均衡的方法、装置和网络系统。控制器获取mesh网络中的第一交换机的每个端口的端口属性;所述端口属性用户侧端口和网络侧端口;根据所述第一交换机的每个端口的端口属性,确定所述第一交换机的每个端口对应虚拟路由转发实例;其中,所述第一交换机的所有用户侧端口对应第一虚拟路由转发实例;根据所述mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,所述转发表的每个转发表项包括一个虚拟路由转发实例,当所述虚拟路由转发实例为所述第一虚拟路由转发实例时,所述转发表项还包括目的网段以及所述目的网段对应的至少两条转发路径;向所述第一交换机发送所述转发表。

【技术实现步骤摘要】
实现负载均衡的方法、装置和网络系统
本申请涉及网络通信技术,尤其涉及一种实现负载均衡的方法、装置和网络系统。
技术介绍
云计算时代的网络数据流量模型发生了很大的变化,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网络中收到该报文的交换机根据转发表为该报文随机选择转发路径,则该报文有可能被通过该报文的源交换机(即发送该报文的服务器连接的交换机)不断转发,直到报文的生存时间(英文:timetolive,TTL)为0,报文被丢弃。可见,仅仅放开最短路径优先原则的限制,并不能在mesh网络中实现负载均衡。
技术实现思路
本申请的实施例提供了一种生成转发表的方法、装置和网络系统,以改善在mesh网络中负载均衡。本申请第一方面提供了一种实现负载均衡的方法,所述方法应用于包括控制器和mesh网络的系统中,所述mesh网络包括多个交换机,所述方法由所述控制器执行。控制器获取第一交换机的每个端口的端口属性;所述第一交换机为所述mesh网络中的任意一个交换机,所述端口属性用于指示端口为用户侧端口或网络侧端口。所述控制器根据所述第一交换机的每个端口的端口属性,确定所述第一交换机的每个端口对应的虚拟路由转发实例;其中,用户侧端口和网络侧端口对应不同的虚拟路由转发实例,且所述第一交换机的所有用户侧端口对应第一虚拟路由转发实例。所述控制器根据所述mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,当所述转发表的第一转发表项包括所述第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径。所述控制器向所述第一交换机发送所述转发表,所述转发表用于使所述第一交换机根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为对应所述第一目的网段的报文选择目标转发路径。本申请中交换机的端口,是指交换机连接了其他设备的业务端口,对于交换机没有连接其他设备的业务端口的不予关注。由于mesh网络中存在大量不等价路径,如果需要在mesh网络中实现负载均衡,需要放开最短路径优先原则的限制。其中,放开最短路径优先原则的限制是指在为第一交换机生成转发表的过程中,并不是根据最短路径优先原则只为一对源网段和目的网段选择最短路径,而是可以选择多条不等价路径。上述第一方面中,控制器获取第一交换机的每个端口的端口属性,并使第一交换机的所有用户侧端口对应第一虚拟路由转发实例,然后根据mesh网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,转发表的每个表项包括虚拟路由转发实例。由于转发表项中包括虚拟路由转发实例,并且用户侧端口和网络侧端口对应的虚拟路由转发实例不同,第一交换机在收到报文后,会根据接收报文的端口的端口属性查找所述转发表,能够避免将从用户侧端口收到的报文又发回用户侧端口,保证了报文的正确转发。并且,第一虚拟路由转发实例所在的转发表项中的目的网段对应至少两条转发路径,这样,第一交换机收到服务器发送的报文后,可以根据负载均衡算法从所述至少两条转发路径中选择一条转发路径,实现在至少两条转发路径中的负载均衡。在所述第一方面的第一种实现方式中,在获取所述第一交换机的每个端口的端口属性时,所述控制器向所述第一交换机发送通知消息,所述通知消息用于通知所述第一交换机向所述第一交换机的所有端口发送发现消息;所述发现消息用于通知接收到所述发现消息的设备向所述控制器发送报告消息。所述控制器根据所述第一交换机连接的设备发送报告消息的情况,确定所述第一交换机的每个端口的端口属性。基于所述第一方面的第一种实现方式,在所述第一方面的第二种实现方式中,在根据所述第一交换机连接的设备发送报告消息的情况,确定所述第一交换机的每个端口的端口属性时,所述控制器接收报告消息,所述报告消息包括发送所述报告消息的设备的类型以及所述第一交换机向所述设备发送所述发现消息的端口的标识。所述控制器确定所述设备的类型,如果所述设备为另一交换机,确定所述第一交换机向所述另一交换机发送所述发现消息的端口为网络侧端口,如果所述设备为服务器,确定所述第一交换机向所述服务器发送所述发现消息的端口为用户侧端口。基于所述第一方面的第二种实现方式,在所述第一方面的第三种实现方式中,所述控制器向所述第一交换机发送所述通知消息后,确定在设定时间长度内没有被报告的所述第一交换机的端口为用户侧端口。基于所述第一方面的第三种实现方式,在所述第一方面的第四种实现方式中,所述mesh网络为二级mesh网络,当确定所述第一交换机向所述另一交换机发送所述通知消息的端口为网络侧端口时,如果所述第一交本文档来自技高网
...

【技术保护点】
1.一种实现负载均衡的方法,其特征在于,应用于包括控制器和网格网络的系统中,所述网格网络包括多个交换机,所述方法由所述控制器执行,所述方法包括:获取第一交换机的每个端口的端口属性;所述第一交换机为所述网格网络中的任意一个交换机,所述端口属性用于指示端口为用户侧端口或网络侧端口;根据所述第一交换机的每个端口的端口属性,确定所述第一交换机的每个端口对应的虚拟路由转发实例;其中,用户侧端口和网络侧端口对应不同的虚拟路由转发实例,所述第一交换机的所有用户侧端口对应第一虚拟路由转发实例;根据所述网格网络的拓扑以及所述第一交换机的每个端口的虚拟路由转发实例,生成所述第一交换机的转发表,当所述转发表的第一转发表项包括所述第一虚拟路由转发实例时,所述第一转发表项还包括对应所述第一虚拟路由转发实例的第一目的网段以及所述第一目的网段对应的至少两条转发路径;向所述第一交换机发送所述转发表,所述转发表用于使所述第一交换机根据负载均衡算法以及所述第一转发表项从所述第一目的网段对应的至少两条转发路径中为对应所述第一目的网段的报文选择目标转发路径。

【技术特征摘要】
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.一种控制器,其特征在于,应用于包括所述控制器和网格网络的系统中,所述网格网络包括多个交换机,所述控制器包括:获取...

【专利技术属性】
技术研发人员:刘和洋颜清华沈利孙美玲谢志宇
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1