一种基于交换机负载的域内负载均衡方法_2

文档序号:8907631阅读:来源:国知局
的最小间隔,tjptn_i为相邻两次获取统计信息的时刻;
[0041] 1.4、每间隔时间间隔T= 3t,计算一次交换机负载的平均值,当前Tm时刻交换机 负载平均值为: _2] NdJ/3
[0043] 其中tm为计算平均值前最后一次获取统计信息的时刻,且TmWWL,Tm 和为相邻两次计算平均值的时刻;
[0044] 1. 5、用指数平滑法对交换机负载进行估计,取平滑指数a= 0. 5,交换机负载估 计值记l?
[0045]
[0046] 记录域内每台交换机负载估计值,如图3所示,非边界交换机以编号1~5标示。
[0047] 步骤2:计算域内负载均衡路径,该步骤包括以下子步骤:
[0048] 2. 1、记录域内每一台边界交换机的编号,并记录其连接其他域的端口号以及所连 接的域的编号;
[0049] 2. 2、对于域A到域B,计算交换机a到交换机b的域内转发路径,步骤如下:
[0050] 2. 2. 1、将域内所有交换机的瓶颈负载X设为无穷大,将交换机a的瓶颈负载\更 新为20,并将a加入队列,a的在队标记设为TRUE;
[0051] 2. 2. 2、当队列不为空时,每次从队首取一个交换机,取出交换机a后将a的在队标 记设为FALSE;
[0052] 2. 2. 3、比较X# &,!;,,,并记录其较大值20;
[0053] 2. 2. 4、对于每一台与交换机a相连的交换机1、2、4, 20 <X」,更新这3台交换机的 瓶颈负载为20,并将交换机1、2、4的上一跳标记为a;
[0054] 2. 2. 5、交换机1、2、4均不在队列且不是目的交换机b,将交换机1、2、4加入队列, 并将1、2、4的在队标记设为TRUE;
[0055] 2. 2. 6、交换机1的瓶颈负载20小于交换机1的估计负载30,则使用30作为下一 跳交换机的瓶颈负载,更新与交换机1相连的交换机b;交换机4的瓶颈负载20大于交换 机4的估计负载15,则使用20作为下一跳交换机的瓶颈负载,更新与交换机4相连的交换 机5;
[0056] 2. 3、对于每一对起始端口相同且目的域相同的端口对,找出到达目的端口瓶颈负 载最小的路径,并根据路径上每台交换机记录的上一跳交换机编号记录整条路径,如图4 所示找到一条负载最轻的路径a->l_>b,该路径即为从交换机a到交换机b的域内负载均衡 路径。
[0057] 步骤3:实现跨域流量的调度,该步骤包括以下子步骤:
[0058]3. 1、监听交换机向控制器发送的PACKET_IN消息,所述PACKET_IN消息在 OpenFlow协议中定义,如果收到交换机a连接域A的端口的流量请求,目的域不是本域且与 域B有路径联通,认为这是跨域流量请求,对这条流量进行调度,否则按照域内最短路径为 其选路;
[0059] 3. 2、对于跨域流量请求,选择步骤2计算并记录的从交换机a到交换机b瓶颈负 载最轻的路径,即域内负载均衡路径;
[0060] 3. 3、对于域内负载均衡路径上每一台交换机,发送增加流表项命令,其匹配域设 置为跨域流量的源地址和目的地址,转发动作设为从连接路径下一跳交换机的端口发出; 对于交换机a,流表项转发动作设为从连接交换机1的端口发出,对于交换机1,流表项转发 动作设为从连接交换机b的端口发出,对于交换机b,流表项转发动作设为从连接域B的端 口发出,完成流量从域A经本域向域B的转发;在流表项超时删除前,该源地址和目的地址 的跨域流量都按照已计算出的域内负载均衡路径转发。
【主权项】
1. 一种基于交换机负载的域内负载均衡方法,其特征在于,包括以下步骤: (1) 计算域内交换机负载的估计值,该步骤包括以下子步骤: (I. 1)控制器通过控制信道,向域内的每一个交换机依次发送P〇RT_STATS_REQUEST消 息,查询域内交换机每一个端口的统计信息,所述P〇RT_STATS_REQUEST消息在OpenFlow协 议中定义; (1. 2)交换机收到PORT_STATS_REQUEST消息后,通过控制信道向控制器发送P0RT_ STATS_REPLY消息,所述PORT_STATS_REPLY消息在OpenFlow协议中定义;控制器在、时 刻收到第i个交换机的消息,第i个交换机共有k个端口,记录交换机历史收到的包总数Ioac^为第i个交换机第j个端口历史收到的包总数,所述历史为从交 换机最近一次清空统计数据开始,直至、时刻的时间段; (1. 3)将交换机i在时间间隔t内的负载记为Λ〔., = ,,所述t为获取 统计信息的最小间隔,tjP t n_i为相邻两次获取统计信息的时刻; (1. 4)每间隔时间间隔T,计算一次交换机负载的平均值,当前Tm时刻交换机负载平均 值为^> /「"A7; i G < L),其中UP T μ为相邻两次计算平均值的时刻; (1.5)用指数平滑法对交换机负载进行估计,得到交换机Tm时刻负载的估计值为 5;; = +(1-,α 为平滑指数,a e (〇, 1); (2) 计算域内负载均衡路径,该步骤包括以下子步骤: (2. 1)记录域内每一台边界交换机的编号,并记录其连接其他域的端口号以及所连接 的域的编号; (2. 2)对于域内每一对连接了不同域的端口对,计算以其中一个端口 a所连接的域A经 过本域C转发到另一端口 b所在的交换机,再经该交换机转发到端口 b连接的域B的路径 中所有交换机的瓶颈负载,具体如下: (2. 2. 1)将域内所有交换机的瓶颈负载X设为无穷大,即到达该交换机的所有路径的 负载的最大值为无穷大,将端口 a所属的交换机s的瓶颈负载Xs更新为Xlm,并将交换机s 加入队列,s的在队标记设为TRUE ; (2. 2. 2)当队列不为空时,每次从队首取一个交换机记为p,取出交换机p后将p的在 队标记设为FALSE ; (2. 2. 3)比较乂1)与并记录其较大值记为X ; (2. 2. 4)对于每一台与交换机p相连的交换机q,如果X < Xq,则更新XqS X,并将q的 上一跳标记为P ; (2. 2. 5)如果交换机q的在队标记为FALSE且q不是目的端口 b所在的交换机,则将交 换机q加入队列,并将q的在队标记设为TRUE ; (2.2.6)重复步骤(2. 2. 2)-(2. 2. 5),直到队列为空,得到路径内每个交换机的瓶颈负 载; (2.3)对于每一对起始端口相同且目的域相同的端口对,找出到达目的端口瓶颈负载 最小的路径,并根据路径上每台交换机记录的上一跳交换机编号记录整条路径,该路径即 为域内负载均衡路径; (3)实现跨域流量的调度,该步骤包括以下子步骤: (3. 1)监听本域交换机向控制器发送的PACKET_IN消息,所述PACKET_IN消息在 OpenFlow协议中定义,如果流量的源地址和目的地址都不是本域,且源地址和目的地址位 于不同域,认为这是跨域流量请求,对这条流量进行调度,否则按照域内最短路径为其选 路; (3. 2)对于跨域流量请求,寻找域内以收到流量请求的端口为起点、有到达目的域的路 径的其他端口为终点的域内负载均衡路径; (3. 3)对于域内负载均衡路径上每一台交换机,发送增加流表项命令,其匹配域设置为 跨域流量的源地址和目的地址,转发动作设为从连接路径下一跳交换机的端口发出;在流 表项超时删除前,该源地址和目的地址的跨域流量都按照步骤3. 2所述的域内负载均衡路 径转发,从而为跨域流量寻找负载较轻的转发路径,在保证域内流量按最短路径转发的同 时,实现负载均衡。
【专利摘要】本发明公开了一种基于交换机负载的域内负载均衡方法,该方法以固定的时间间隔向域内所有交换机发送统计信息查询请求,保存并记录域内每台交换机在单位时间间隔内处理的包的数目,采用指数平滑法对交换机负载情况进行估计,为跨域流量寻找交换机负载较轻的域内转发路径;当跨域流量请求到达时,将跨域流量引导向负载较轻的交换机。应用该方法可以在转发跨域流量时,优先保证域内流量,合理地调度域间流量,从而实现负载均衡。
【IPC分类】H04L12/937, H04L12/803, H04L12/729, H04L12/733
【公开号】CN104883321
【申请号】CN201510223290
【发明人】吴春明, 鲁昕佳, 高文, 周海峰
【申请人】浙江大学
【公开日】2015年9月2日
【申请日】2015年5月5日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1