目前,学界和业界讨论的SDN技术通常意义上可以被分为广义和狭义两种概念:其中,广义SDN一般指向上层应用开放资源接口,能够实现软件编程控制的各种基础网络架构;狭义上的SDN,则专指符合开放式网络基金会(Open Network Foundation,ONF)定义的开放架构,在控制器控制下基于标准OpenFlow协议进行通信的网络架构。SDN技术包括以下几类核心设计思想:
1.控制层与转发层(数据层)的分离。
2.使用开放的、不局限于某些设备制造商所生产的设备的统一的网络控制方式,狭义的SDN定义专指通过OpenFlow协议实现的SDN解决方案,而广义的SDN定义不仅仅局限于OpenFlow协议,也可以采用SNMP、XMPP、Netconf等控制接口或协议。
3.逻辑上集中的控制平面(网络操作系统):文护网域视图,并向管理人员提供开放的API用于实现网络管理的自动化操作。在ONF提出的SDN架构中,结构上共包含三个层次,其中自顶向下分别为基础设施层、控制层和应用层[ ]。
SDN的发展是近年来网络技术的重大技术创新之一。2006年斯坦福的学生Casado M和他的导师McKeown N教授受其研究项目Ethane启发,提出了OpenFlow的概念。该项目试图通过一个集中式的控制器,让网络管理员可以方便地定义基于网络流的安全控制策略,并将这些安全策略应用到各种网络设备中,从而实现对整个网络通信的安全控制[ ]。2008年,McKeown N等人在ACM SIGCOMM发表了题为OpenFlow: enabling innovation in campus networks的论文[ ]。文中首次详细地介绍OpenFlow的概念,即将传统网络设备的数据平面和控制平面两个功能模块相分离,通过集中式的控制器(controller)以标准化的接口对各种网络设备进行管理和配置,这种网络架构为网络资源的设计、管理和使用提供更多的可能性,从而更容易推动网络的革新与发展[ ]。开放的SDN将使得互联网摆脱对传统网络硬件厂商的依赖,普通用户也可使用基于软件的各种网络应用取代价格昂贵的专业网络设备,如路由器、防火墙、负载均衡等,这将极大地提高网络层的管理和资源调度能力,以及控制能力,提高网络技术的创新能力,并降低设备投入和运营成本[ ]。
1.2 相关研究成果
目前,已有尚志浩、马强、龙慧等学者基于SDN提出了自己的负载均衡解决方案并各自提供了SDN环境下适用的动态负载均衡算法。
其中,尚志浩提出了一种计算动态综合负载的方法,根据服务器的运行状态计算服务器的综合负载,并返回综合负载最小的服务器。该算法可以在服务器性能差距较大的集群中充分发挥每一台服务器的计算能力[ ]。马强在文章中提出了基于OpenFlow的动态反馈负载均衡算法(SBLB)。该算法根据虚拟机的实时运行状态计算出每个服务器的综合负载,并返回负载差距在一定范围内的拥有最小负载的服务器队列,当有客户请求到达时,以一定的概率从该队列中选择某个虚拟服务器为其提供服务,从而最小化服务器响应时间和提高系统的吞吐率[ ]。龙慧在文章中提出了一种全新的单跳动态换路算法(single-hop LABERIO)来实时地、全局地均衡中心化控制分布式网络中的负载。当负载均衡状态监视参数超过经验阈值时,该情况将被反映给中心控制器,之后,中心控制器再对计算出的最大负载链路上的最大流进行调度。此外,龙慧在文章中还提出了一种多跳动态换路算法。当链路负载失衡时,找出一条完整的最大流,将其整条路径替换[ ]。
1.3 课题的研究目标
在传统网络环境下,网络的逻辑决策平面和分布式的硬件设备结合过紧,交换设备不能写入自定义负载均衡调度算法。这对于自定义负载均衡调度算法的应用造成了一定的困难。同时,OpenFlow协议为网络交换设备带来了新的特性,但传统的负载均衡算法并非针对SDN环境设计,不能够充分利用这些新特性。因此,我们期望通过本课题所介绍的内容,提出一个用于SDN网络环境下的基于负载扩散的动态负载均衡调度算法,该算法充分利用了 OpenFlow 交换机和协议的特性。同时,实现一套基于OpenFlow通信协议、Ryu控制器、OpenVSwitch交换机的SDN环境下的负载均衡系统,达到简单、灵活、高效的使用效果。该系统应当能够实现在大规模流量环境下的负载自动分配,保证用户能够正常使用服务。我们将在实验环境中验证其实际效果。 OpenFlow协议数据中心下基于SDN的负载均衡调度(3):http://www.751com.cn/jisuanji/lunwen_26488.html