一种数据中心网络最优链路选择方法及系统

文档序号:31669767发布日期:2022-09-28 00:41阅读:131来源:国知局
一种数据中心网络最优链路选择方法及系统

1.本发明属于通信网络技术领域,涉及一种数据中心网络最优链路选择方法及系统。


背景技术:

2.随着网络规模的扩增和流量突发式的增长,数据中心网络需要均衡不同路径之间的流量。软件定义网络sdn通过集中控制优势可以为数据中心网络的管理带来相当大的灵活性。然而,现有的工作还没有很好地实现这些目标。对于现有数据中心网络结构,它们通常使用clos和fat-tree拓扑,在主机对之间提供大量等价多路径。为了对不同路径之间的流量进行负载均衡,传统的多路径路由主要依赖于ecmp(equal cost multipath),通过静态哈希映射将流量有效地传输到不同路径上。虽然实现起来很简单,但ecmp的缺陷还是较多的。例如当拓扑不对称时,哈希冲突会导致链路拥塞,进而造成象流的吞吐量较低,且鼠流的时延较长。k.he等人提出“presto:edge-based load balancing for fast datacenter networks”方案,presto方案提出将流划分为flowcell,使用轮询或加权调度将流单元负载均衡到不同的路径。但是,由于ecmp和presto都不能感知路径拥塞信息,在链路故障导致的非对称拓扑下,它们会导致链路拥塞,鲁棒性较低。为了提高鲁棒性,m.alizadeh等人提出“conga:distributed congestion-aware load balancing for datacenters”方案,conga方案提出根据流量的突发性将流量划分为flowlet,并将flowlet分配到最不堵塞的路径,但是具有严重的可拓展性和资源开销问题,阻碍了大规模网络的部署潜力。


技术实现要素:

3.本发明的目的在于针对上有技术的不足,提出了一种数据中心网络最优链路选择方法及系统,以最大程度避免链路拥塞,提高网络的鲁棒性和可扩展性,并且获得更好的网络性能,减小了数据中心网络的鼠流时延,提高了象流的吞吐量。
4.本发明通过在控制平面部署多个控制器,对整个网络的链路拥塞信息进行分布式监控,完成整个网络的拥塞信息的收集和存储;通过网络拓扑初始化后,控制器会进行时延测量请求,以获取链路状态;通过分布式监控,根据拥塞信息,进行路由决策,选出最优链路。
5.一种数据中心网络最优链路选择方法,具体包括如下步骤:
6.步骤一、网络初始化:
7.建立pod数为10的fat-tree数据中心网络拓扑;
8.在控制平面部署2个主控制器和2个备控制器。系统正常运行时,两个备用控制器不被激活,只有在主控制器过载或故障时才被激活。控制器1负责监控边缘层所有交换机及其上行链路的状态信息,控制器2负责监控汇聚层所有交换机及其上行链路的状态信息;
9.每个服务器生成一组flowf发向其他服务器,第i条流定义为fi∈f。流fi会被分割
成多个flowcell,第u个flowcell定义为f
iu

10.每个flowcell是由四元组(s
t
(f
iu
),sa(f
iu
),da(f
iu
),d
t
(f
iu
))组成的。其分别为源tor交换机,源汇聚交换机,目的tor交换机,目的汇聚交换机中第u个flowcell;
11.定义连接s
t
(f
iu
),sa(f
iu
),da(f
iu
),d
t
(f
iu
)的第j上行链路为对于每条链路的拥塞信息,定义为c(l)、c(g);
12.步骤二、控制器收集链路拥塞信息:
13.网络拓扑初始化后,控制器会进行时延测量请求,以获取链路状态;
14.控制器获得链路拥塞信息后,将其汇总成拥塞表,并存储;
15.当flowcell到达源交换机s
t
(f
iu
)时,控制器通过查询拥塞表进行路由决策;
16.步骤三、进行源tor交换机到源汇聚交换机的路由决策;
17.控制器1监控并收集源tor交换机到源汇聚交换机的所有上行链路的拥塞信息,并形成拥塞表;
18.控制器1进行路由计算,遍历所有上行链路中的每一个元素,选择拥塞最小的链路x,形成路由表;
19.控制器1将其生成的路由表发送至源tor交换机;
20.步骤四、进行源汇聚交换机和目的汇聚交换机的路由决策;
21.控制器2分别监控和收集所有源汇聚交换机和目的汇聚交换机的所有上行链路和生成两个拥塞表υ和φ;
22.控制器2进行路由计算,遍历集合υ和φ,计算出汇聚交换机id相同的上行链路和的拥塞和,并选择拥塞和最小的上行链路l和m,形成路由表;
23.控制器2将路由表发送至相应汇聚交换机;
24.步骤五、进行目的汇聚交换机到目的tor交换机的路由决策:
25.控制器1收集目的汇聚交换机到目的tor交换机的所有下行链路dr;
26.控制器1进行路由计算,遍历tor交换机到dr的路径,生成拥塞表,计算出拥塞最轻的多跳链路,比较单跳链路和多跳链路的拥塞情况,选择拥塞最轻的链路y;
27.控制器1基于链路y的本地id和源目的服务器ip地址,形成路由表,并将其发送至相应交换机。
28.上述方法,基于下述系统实现,该系统包括数据转发平面和控制平面,所述的数据转发平面采用基于openflow协议的open vswitch(ovs)交换机互连,包括多个pod、tor交换机、汇聚交换机、核心交换机,形成fat-tree拓扑,用于满足数据中心扩展的需求,并根据sdn控制器下发的流表项确定转发端口,实现流量调度,同时具有流量划分功能,实现最佳负载均衡;
29.所述的控制平面,包括多个控制器,用于获取整个网络的拓扑信息,负责所有交换机的统一集中控制,实现链路发现、策略定制、流量监控、拥塞信息收集和表项下发操作;
30.数据转发平面中设有流量划分模块;
31.每一个控制器上均设有拥塞信息收集模块,负载均衡模块,路由表制定模块;
32.所述流量划分模块,用于划分固定尺寸的flowcell,用于降低在多路径转发时流被分割的可能性,提高了链路利用率和整体网络性能;
33.所述拥塞信息收集模块,用于在控制器中分别定期监控和收集当前链路的拥塞信息,并将其以拥塞信息表的形式单独存储;
34.所述负载均衡模块,用于实时地将flowcell调度到拥塞较轻的链路上,以避免链路拥塞;
35.所述路由表制定模块,用于产生路由表并将其发送至当前控制器所控制的交换机。
36.本发明与现行技术相比具有的优点:
37.1.本发明由于使用flowcell作为传输单元,可以降低在多路径转发时流被分割的可能性,解决了过流的缺陷,在一定程度上缓解了数据包无序的问题。
38.2.本发明由于部署多个控制器监控和收集整个网络的拥塞信息,实现拥塞感知,以单跳路由和多跳路由相结合,大大降低链路拥塞的发生。同时,避免了交换机对拥塞信息的存储开销过大的问题,在大规模网络环境下有更好的扩展性。
39.3.本发明由于使用了路由决策实现拥塞感知,可以有效地传输和转发flowcell,因此当某条链路发生故障,该路由策略可以实时地将flowcell调度到拥塞轻链路上,解决了链路拥塞的问题。
附图说明
40.图1为本发明的系统结构框图;
41.图2为本发明方法的流程图。
具体实施方式
42.下面结合附图对本发明的实施方式做进一步详细描述。
43.如图1所示,一种数据中心网络最优链路选择系统包括一个数据转发平面1和一个控制平面2。
44.数据转发平面1采用基于openflow协议的open vswitch(ovs)交换机互连,形成fat-tree拓扑。其中有10个pod,每个pod包含5个tor交换机和汇聚交换机,核心层有5个核心块,每个核心块有5个核心交换机,用于为流量转发提供物理基础。数据转发平面1中的交换机根据sdn控制器21下发的流表项约束自身行为,确立处理流量的动作、优先级与转发端口。
45.所述数据转发平面1中,部署有核心交换机,汇聚交换机,tor交换机,流量划分模块11,其中:
46.该流量划分模块11,将来自服务器的流量划分为固定大小64kb的flowcell单元;
47.所述控制平面2中,包括sdn控制器21,拥塞信息收集模块22,负载均衡模块23和路由表制定模块24,其中:
48.该sdn控制器21,部署有两个sdn主控制器和备用控制器,主控制器之间相互独立。在系统正常运行时,两台主控制器正常工作,当主控制器过载或故障时,激活备用控制器。控制器1负责监控边缘层所有交换机及其上行链路的状态信息。控制器2负责监控汇聚层所
有交换机及其上行链路的状态信息;
49.该拥塞信息收集模块22,网络拓扑初始化后,控制器会进行时延测量请求,以获取链路状态,实时更新到拥塞信息表中,所有链路的拥塞信息以键值对的形式存储,其中链路id为一个键,其拥塞信息为一个值;
50.该负载均衡模块23,实时地将flowcell调度到拥塞较轻的链路上,以避免链路拥塞;
51.该路由表制定模块24,用于产生路由表并将其发送至当前控制器所控制的交换机。
52.本系统的工作原理如下:
53.一个数据转发平面1和一个控制平面2,其中,数据转发平面包含open vswitch(ovs)交换机,用于形成fat-tree拓扑,同时通过流量划分模块11,将流量划分固定大小的单元,用于满足数据中心扩展的需求,并根据sdn控制器下发的流表项确定转发端口,实现流量调度。控制平面中有多个sdn控制器21,通过拥塞信息收集模块22,获取整个网络拓扑的拥塞信息,通过负载均衡模块23,实现最佳负载均衡,并通过路由器定制模块24,将流表项发送至相应路由器。
54.参照图2,本发明一种数据中心网络最优链路选择方法,其实现步骤如下:
55.步骤1,网络初始化:
56.1a)对于网络拓扑,使用一个10-pod的fat-tree来承载250台主机,在源服务器和目的服务器之间有25条路径。每个pod中分别包含5个tor交换机和5个汇聚交换机。此外,该由25个核心交换机组成。链路容量为1000mbps,该结构rtt为10ms。每个交换机端口有512kb的缓冲区;
57.1b)采用随机通信的模式,每个服务器发送到一个随机的目的地,与自己不在同一个pod中。在具体实现中,在mininet上添加了一个自定义的ipermulti命令,依次为每个主机随机选择另一个主机作为iperf的服务器端,服务器端调用iperf单函数,根据指定的带宽参数发送tcp流量;
58.1c)设图g(v,e)来构建网络拓扑,其中v是交换机的集合,e是通信链路的集合;
59.1d)每个服务器都可以生成一组flow f发向其他服务器,第i条流定义为fi∈f。流fi会被分割成多个flowcell,第u个flowcell定义为f
ii

60.1e)每个flowcell是由四元组(s
t
(f
iu
),sa(f
iu
),da(f
iu
),d
t
(f
iu
))组成的。其分别为源tor交换机,源汇聚交换机,目的tor交换机,目的汇聚交换机中第u个flowcell;
61.1f)定义连接s
t
(f
iu
),sa(f
iu
),da(f
iu
),d
t
(f
iu
)的第j上行链路为对于每条链路的拥塞信息,定义为c(l)、c(g);
62.步骤2,控制器获取链路状态:
63.2a)网络拓扑初始化后,控制器会进行时延测量请求,以获取链路状态,在测量过程中,利用定时器使控制器周期性测量链路延迟,动态获取最新的链路延迟信息,并实时更新到拥塞信息表中;
64.2b)控制器获得链路拥塞信息后,将其汇总成拥塞表,并以哈希表结构的形式存储在控制器中;
65.2c)当flowcell到达源tor交换机s
t
(f
iu
)时,控制器通过查询拥塞表进行路由决
策;
66.步骤3,进行tor交换机到汇聚交换机的路由选择:
67.3a)控制器1监控并收集源tor交换机到源汇聚交换机的所有上行链路的拥塞信息,并形成拥塞表;
68.3b)控制器1进行路由计算,遍历所有上行链路中的每一个元素,选择拥塞最小的链路x,形成路由表;
69.3c)控制器1将其生成的路由表发送至源tor交换机;
70.步骤4,进行源汇聚交换机和目的汇聚交换机的路由选择:
71.4a)控制器2分别监控和收集所有原汇聚交换机和目的汇聚交换机的所有上行链路和生成两个拥塞表υ和φ;
72.4b)控制器2进行路由计算,遍历集合υ和φ,计算出汇聚交换机id相同的上行链路和的拥塞和,并选择拥塞和最小的上行链路l和m,形成路由表;
73.4c)控制器2将路由表发送至相应汇聚交换机;
74.步骤5,进行目的汇聚交换机到与目的服务器相连的tor交换机的路由:
75.5a)控制器1收集目的汇聚交换机到目的tor交换机的所有下行链路dr;
76.5b)控制器1进行路由计算,遍历tor交换机到dr的路径,生成拥塞表,计算出拥塞最轻的多跳链路,比较单跳链路和多跳链路的拥塞情况,选择拥塞最轻的链路y;
77.5c)控制器1基于链路y的本地id和源目的服务器ip地址,形成路由表,并将其发送至相应交换机。
78.以上描述仅是本发明的一个具体实例,不构成对本发明的修改限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修改和改变,但是这些基于本发明思想的修改和改变仍在本发明的权利要求保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1