一种基于sdn的流量发生器虚拟化实现系统及方法

文档序号:10555468阅读:823来源:国知局
一种基于sdn的流量发生器虚拟化实现系统及方法
【专利摘要】本发明请求保护一种基于SDN的流量发生器虚拟化实现系统及方法,属于通信技术领域。该系统架构包括交互层、管控层和数据层。其中,管控层由拓扑呈现模块、网络虚拟化模块和流量探针控制模块构成。用户通过拓扑呈现模块感知的网络拓扑信息,根据自身需求自定义拓扑实验。网络虚拟化模块根据用户自定义拓扑,根据自身特有属性构建带有VLAN标识流表,将带有VLAN标识的流表下发给SDN交换集群,带有相同VLAN标识的网络节点组成逻辑上的虚拟网络,用户产生的数据流量在各自创建的虚拟逻辑网络中传输,实现多实验用户并行操作时的数据隔离,从而满足更多的实验用户并行操作本发明,进而提高网络测试效率和减少资金投入。
【专利说明】
一种基于SDN的流量发生器虚拟化实现系统及方法
技术领域
[0001]本发明属于通信领域,具体涉及一种基于SDN的流量发生器虚拟化实现系统及方法。
【背景技术】
[0002]近年来移动互联网、云计算、大数据等业务领域快速发展,网络规模不断扩大,传统互联网出现了如传统网络配置复杂度高等诸多问题。这说明传统互联网的网络架构需要革新。软件定义网络(Software Defined Networking,SDN)在这一背景下产生的。SDN是一种全新的网络架构,通过将网络设备控制面与数据面分离,实现网络的灵活控制,为核心网络及应用的创新提供了良好的支撑。目前,SDN技术已成为全球网络研究的热点方向,并逐步从概念走向商用,SDN网络成为未来网络发展的趋势,基于SDN技术的各种创新性设备和实验越来越受到重视。
[0003]随着SDN技术的迅猛推进,基于SDN技术组建的大规模网络实验床已经开始部署。例如,2012年12月20日,国内首个SDN跨数据中心非盈利性共建共享实验床“内容聚合开放网络(CCON)实验床”在京成立;清华大学依托国家“863”项目“未来网络体系结构和创新环境”提出了一种协作式的新型域间SDN互联技术WE-Bridge,并基于WE-Bridge建立了首个跨洲际的域间SDN实验床冲兴通讯基于OPNFV第一个ARNO版本的国际化实验床环境也已具备条件,后续可为业界提供国际化、开放的测试环境,加速推动NFV网络功能虚拟化发展;由刘韵洁院士牵头,我国首个跨地域跨研究机构的可编程未来网络实验床,于2013年8月8日在南京正式开通,该项目以SDN技术为基础,并欲以规模性跨域式发展方式,最终建设国家级未来网络创新平台(CENI)。
[0004]新型的设备、协议、服务和应用等创新产品,在投入真实网络之前,都可以也须要在上述这些实验床中进行功能验证或者性能测试。作为实验床中模拟真实网络流量的流量发生系统,自然需要适应新的网络环境和新的技术发展,并为基于新网络新技术开发产品的实验用户提供更方便的实验条件和更丰富的实验手段。但在新型网络架构和技术条件下,现有的流量发生方法和装置已经很难满足和适应这种变化,存在诸多有待改良和提升的方面。
[0005]现有的流量发生系统从网络流量产生方法上可以分为两种:网络流量回放方法和模型流量产生方法。其中网络流量回放方法,首先利用网络嗅探器对某个真实网络剖面进行实时嗅探和记录,并将获取的数据存储在外存设备中,然后在需要产生实验流量的时候又反过来将存储的记录回放到网络当中。该方法由于SDN技术尚处于研发初期,虽然有部分设备开始进入商用市场,但离建成完整的未来网络还有相当大的距离,所以短时间内不存在大规模可供嗅探和记录的真实SDN网络流数据。模型流量产生方法,是在了解网络特性后对网络流量建立数学模型,并按照数学模型发送数据包,从而产生符合网络特性的网络流量。目前,规模化或者商用化SDN网络尚未组建形成,未来SDN网络的网络特性并不明晰,很难找到精准的数学模型去描述尚不存在的网络流数据。
[0006]此外,为了提高运行效率降低实验成本,SDN实验床常常通过网络虚拟化技术,同时为多个科研机构提供实验环境。但在多个实验用户需要对流量发生装置进行并行操作时,由于彼此需要进行的实验内容迥异,现有流量发生系统无法在同一实验环境中对不同实验者的流量进行有效的分割。这使得不同用户的实验过程可能会相互干扰,并最终对各用户的实验结果产生影响。
[0007]为了满足SDN未来网络的的测试需求,因此提出一种基于SDN的流量发生器虚拟化实现方法,使得流量发生系统不仅能够满足SDN网络的测试需求,也能满足多实验用户对流量发生系统的并行操作。

【发明内容】

[0008]针对以上现有技术的不足,提出了一种实现在更少的硬件平台下满足更多实验用户测试需求,通过虚拟化技术实现不同实验用户实验数据间的数据隔离,以满足多个实验用户对本发明装置的并行操作的基于SDN的流量发生器虚拟化实现系统及方法。本发明的技术方案如下:一种基于SDN的流量发生器虚拟化实现系统,包括用于与实验用户进行可视化交互的交互层,其还包括控制层和数据层;所述交互层还用于为实验用户呈现网络逻辑拓扑(网络逻辑拓扑指的是网络物理拓扑图)和显示流量探针产生数据流量的动态变化折线图,并为管控层提供配置参数;所述控制层包括用于获取SDN交换集群拓扑信息的拓扑呈现模块、用于实现不同用户并行操作时实现数据分离的网络虚拟化模块和流量探针控制模块,流量探针控制模块用于解析交互层传递的配置参数,并将解析信息传递给数据层,管控层还用于实现SDN交换集群状态信息感知,和实现多用户自定义拓扑实验的虚拟网络创建,实现不同实验用户间的数据隔离;所述数据层,利用流量发生硬件产生网络数据流量,并注入SDN交换机集群中。
[0009]进一步的,所述控制层的拓扑呈现模块包含拓扑绘制模块、状态信息处理模块、拓扑信息感知模块、节点状态监测模块及数据库模块;其中所述拓扑绘制模块,用于调用状态信息处理模块处理整合的拓扑结构数据表,根据节点间的逻辑关系,绘制逻辑拓扑图,可视化的呈现在用户界面;所述状态信息处理模块,对拓扑信息感知模块和节点状态监测模块接收到的网络状态信息,并对网络状态信息进行解析,生成拓扑结构数据表和节点性能数据表存储在数据库当中,并将处理整合信息传递给拓扑绘制模块,并且数据库中的网络状态数据信息共享于网络虚拟化模块;所述拓扑感知模块,定时的向SDN交换集群下发探测数据包,感知SDN交换集群的拓扑信息,并将获取信息传递给状态信息处理模块;所述节点性能监测模块,定时的向SDN交换集群下发探测数据包,探测SDN交换机集群的节点性能信息,并将获取信息传递给状态信息处理模块;所述数据库模块,用于存储状态信息处理模块生成的拓扑结构数据表和节点性能数据表,并将数据信息共享于网络虚拟化模块。
[0010]进一步的,所述网络虚拟化模块包含路由节点选择/标记模块、数据包标记模块和数据包标记剔除模块;所述路由节点选择/标记模块,用于根据当前用户的区别属性,构造生成当前用户带有VLAN ID标识的流表,并将当前用户自定义路由策略一并写入流表当中;通过南向接口向当前用户自定义拓扑路由节点下发流表信息,具有相同VLAN ID的网络节点组成一个逻辑虚拟网络;所述数据包标记模块,用于根据当前用户的区别属性向流量发生探针产生的数据包中插入VLAN ID标识;所述数据包标记剔除模块,构造带有移除VLANID标识行为的流表,通过南向接口向流出SDN网络的数据包所经过的SDN交换机集群的边缘节点下发流表,数据包流经边缘交换机执行该流表指定的移除VLAN ID标识行为。
[0011 ]进一步的,所述路由节点选择/标记模块具有路由保护机制,能通过预留算法计算选用当前用户某故障节点的附近节点,通过下发带有当前用户VLAN ID标识的流表,将计算选用的故障节点的附近节点加入到当前用户虚拟逻辑网络拓扑中,实现计算选取节点作为原有路径的中转路由节点。
[0012]进一步的,所述数据层包括SDN交换机集群和流量发生探针,所述SDN交换机集群用于为流量发生探针产生的网络数据流量提供传输路径;所述流量发生探针用于产生网络数据流量。
[0013]一种基于所述系统的基于SDN的流量发生器虚拟化实现方法,其包括以下步骤:
[0014]I)用户完成登录,系统初始化,用户根据用户界面呈现的拓扑信息自定义路由拓扑实验;
[0015]2)路由节点选择/标识模块获取当前用户的区别属性,根据当前用户的区别属性构造带有VLAN ID流表项的流表;
[0016]3)路由节点选择/标识模块向当前用户自定义的网络拓扑中的网络节点下发带有VLAN ID流表项的流表,带有相同VLAN ID的网络节点组成逻辑上的虚拟网络;
[0017]4)数据包标识剔除模块向数据包流经的SDN网络边缘SDN交换机下发带有移除VLAN ID标识行为的流表;
[0018]5)当前用户通过流量探针控制模块开启流量发生探针,产生数据流量;
[0019]6)数据包标记模块获取当前用户的区别属性,其中和路由节点选择/标记模块使用同一区别属性,根据获取的区别属性在流量发生探针产生的数据流量流出网口之前,对当前用户的数据包插入VLAN ID标识;
[0020]7)带有VLAN标识的的数据包与流经SDN交换机中的流表进行匹配,与VLAN ID匹配一致者,执行流表中act1n指定的转发动作;匹配不成功,直接将数据包丢弃;
[0021 ] 8)当数据包到达边缘交换机时,数据包按流表优先级顺序依次与SDN交换机中的流表进行匹配,首先匹配路由节点选择/标识模块下发的流表,若匹配失败直接将数据包丢弃;若匹配成功,然后与数据包标识剔除模块下发的流表进行匹配,执行该模块act1n流表项中的移除VLAN ID标识行为,并作出相应的转发。
[0022]本发明的优点及有益效果如下:
[0023]本发明提供了一种基于SDN的流量发生器虚拟化实现系统及方法,实现多用户对流量发生器的并行操作,能够满足更多的实验用户使用同一硬件平台,实验用户可根据各自的实验需求进行相关测试实验,并且彼此独立,从而减少新设备的引入,提高网络测试的效率和降低网络测试的开销。本发明主要借助SDN技术和网络虚拟化技术为流量发生装置的多用户访问策略提供平台支持,实现多个用户同时访问流量发生装置时,能够根据自身实验需求自定义拓扑实验,并且能够根据用户自定义自身的拓扑路由和并行操作的用户人数,对共用网络节点进行虚拟化,生成逻辑上的虚拟节点,并决定逻辑虚拟节点的个数,以此为每个用户提供一个相互隔离的虚拟网络,使得每个用户产生的流量根据自身实验需求在自定义的虚拟网络中传输,而不产生数据冲突。从而,使本发明能满足不同实验用户并行操作时的个性化实验需求,进而提高网络性能测试的实验效率。
【附图说明】
[0024]图1是本发明提供优选实施例基于SDN的流量发生器虚拟化的实现方法系统架构图;
[0025]图2为本发明的技术方案的实施例1的多用户自定义路由服务器测试拓扑图;
[0026]图3为本发明的技术方案的实施例1的多用户自定义路由服务器测试逻辑拓扑分解不意图;
[0027]图4为本发明的技术方案的实施例2的多用户多设备测试示意图;
[0028]图5为本发明的技术方案的实施例2的多用户多设备测试示意图分解示意图;
[0029]图6为本发明的技术方案的实施例2的多用户多设备测试节点故障重定拓扑分解示意图;
[0030]图7为本发明的技术方案的实施例3的多用户自定义网络测试拓扑图。
【具体实施方式】
[0031 ]以下结合附图,对本发明作进一步说明:
[0032]如图1所示,图1为本发明所述的基于SDN的流量发生器虚拟化的实现方法系统架构图,如图所示,本系统架构划分为交互层、管控层和数据层。
[0033]交互层由用户界面模块构成,用户界面为实验用户提供了一个可操作的网页页面。不同实验用户可在用户界面同时进行流量强度参数配置、流量类型参数配置和自定义路由等操作,并且用户界面能够动态的显示流量发生探针产生的当前用户指定的数据流量。
[0034]管控层由拓扑呈现模块、网络虚拟化模块、流量探针控制模块构成。其中,拓扑呈现模块包含拓扑绘制模块、状态信息处理模块、拓扑感知模块、节点状态监测模块、数据库模块;网络虚拟化模块包含路由节点选择/标记模块、数据包标记模块和数据包标记剔除模块。
[0035]其中,拓扑呈现模块中拓扑绘制模块,调用状态信息处理模块处理整合的拓扑结构数据表,根据节点间的逻辑关系,绘制逻辑拓扑图,可视化的呈现在用户界面;状态信息处理模块,对拓扑感知模块和节点状态监测模块接收到的网络状态信息处理整合,生成拓扑结构数据表和节点性能数据表存储在数据库当中。并将处理整合信息传递给拓扑绘制模块,并且数据库中的网络状态数据信息共享于网络虚拟化模块;拓扑感知模块,定时的向SDN交换集群下发探测数据包,感知SDN交换集群的拓扑信息,并将获取信息传递给状态信息处理模块;节点性能监测模块,定时的向SDN交换集群下发探测数据包,探测SDN交换机集群的节点性能信息,并将获取信息传递给状态信息处理模块;数据库模块,用于存储状态信息处理模块生成的拓扑结构数据表和节点性能数据表。并且数据信息共享于网络虚拟化模块
[0036]网络虚拟化模块中路由节点选择/标记模块,根据当前用户的特有属性(比如IP地址),构造生成当前用户带有VLAN ID标识的流表,并将当前用户自定义路由策略一并写入流表当中。通过南向接口向当前用户自定义拓扑路由节点下发流表信息,具有相同VLAN ID的网络节点组成一个逻辑虚拟网络,既用户实验视图网络。此外路由节点选择/标记模块具有路由保护机制,能通过预留算法计算当前实验用户某节点附近的节点,计算选用节点作为原有路径的中转路由节点;数据包标记模块,根据当前用户的特有属性(和路由节点选择/标记模块使用同一属性)向流量发生探针产生的数据包中插入VLAN ID标识;数据包标记剔除模块,构造带有移除VLAN ID标识行为的流表,通过南向接口向流出SDN网络的数据包所经过的SDN交换机集群的边缘节点下发流表,数据包流经边缘交换机执行该流表指定的移除VLAN ID标识行为。
[0037]流量探针控制模块,通过接收用户界面流量探针控制指令,完成对所述数据层流量发生探针的控制。并且回传流量探针产生的数据流量,在用户界面动态显示。
[0038]为了达到上述多用户自定义路由共用节点虚拟化目的,本发明提出一种基于SDN的流量发生器虚拟化实现方法,系统初始化步骤如下:
[0039]I)实验用户登录本系统,拓扑信息感知模块和节点状态监测模块通过南向接口向SDN交换集群下发探测数据包,感知网络节点间的连接信息和网络节点的状态(流表、数据包、转发状态、交换机ID等)信息。
[0040]2)感知信息传递给状态信息处理模块,该模块对感知信息处理整合,生成拓扑结构数据表和节点性能数据表并存入数据库中。并且数据库中的数据信息共享于网络虚拟化丰旲块。
[0041]3)拓扑绘制模块获取状态信息处理模块生成的拓扑结构数据表,根据数据表中各节点间连接关系,生成逻辑拓扑图,可视化的呈现在用户界面。
[0042]为了达到上述多用户自定义路由共用节点虚拟化目的,本发明提出一种基于SDN的流量发生器虚拟化实现方法,其特征在于,多用户并行操作本系统,虚拟化具体实现如下:
[0043]I)用户登录本发明系统,系统初始化,用户根据用户界面呈现的拓扑信息自定义路由拓扑实验。
[0044]2)路由节点选择/标识模块获取当前用户的特有属性(比如,IP),根据当前用户的特有属性构造带有VLAN ID流表项的流表。
[0045]3)路由节点选择/标识模块向当前用户自定义的网络拓扑中的网络节点下发带有VLAN ID流表项的流表。带有相同VLAN ID的网络节点组成逻辑上的虚拟网络。
[0046]4)数据包标识剔除模块向数据包流经的SDN网络边缘SDN交换机下发带有移除VLAN ID标识行为的流表。
[0047]5)当前用户通过流量探针控制模块开启流量发生探针,产生数据流量。
[0048]6)数据包标记模块获取当前用户的特有属性(和路由节点选择/标记模块使用同一属性),根据获取的属性在流量发生探针产生的数据流量流出网口之前,对当前用户的数据包插入VLAN ID标识。
[0049]7)带有VLAN标识的的数据包与流经SDN交换机中的流表进行匹配,与VLAN ID匹配一致者,执行流表中act1n指定的转发动作。匹配不成功,直接将数据包丢弃。
[0050]8)当数据包到达边缘交换机时,数据包按流表优先级顺序依次与SDN交换机中的流表进行匹配。首先匹配路由节点选择/标识模块下发的流表,若匹配失败直接将数据包丢弃。若匹配成功,然后与数据包标识剔除模块下发的流表进行匹配,执行该模块act1n流表项中的移除VLAN ID标识行为,并作出相应的转发。[0051 ] 实施例1:
[0052]如图2所示为本发明基于SDN的流量发生器虚拟化的实现方法架构中多个实验者并行操作,实验人员A、B有不同的测试需求。本实施例中,通过自定义拓扑测试服务器的负载压力,实验人员考虑到,由于在测试服务器负载压力实验中选用单条路径,带宽可能不能满足不断加强的数据流量,故选用多条路径作为测试路径。如图所示,网络中有6台SDN交换机,本发明与I号交换机,交换机与交换机之间,交换机与服务器之间的物理路线用实线标出,而本发明与SDN交换机之间的控制线路用虚线标出。本实施例采用图2网络拓扑结构,经用户A、B自定义拓扑实验后,虚拟化和拓扑选择后的逻辑示意图如图3所示。具体实施步骤如下:
[0053]步骤201:实验人员A与实验人员B同时登陆本发明系统,本发明系统初始化。
[0054]步骤202:实验人员A与实验人员B根据用户界面呈现的网络拓扑信息自定义拓扑进行服务器压力测试。其中实验人员A在用户界面自定义拓扑,选取1、2、4、5号SDN交换机,测试服务器A的负载压力,拓扑结构如图2 Topol所示;实验人员B在用户界面定义拓扑,选取1、3、4、6号交换机,测试服务器B的负载压力,其拓扑结构如图2Topo2所示。1、4号交换机实用人员A、B共用,逻辑上被虚拟成VNl.1、VN1.2和VN4.1、VN4.2,如图3所示。
[0055]步骤203:路由节点选择/标识模块获取当前用户的IP(假设实验人员A,IP为
10.0.0.1,假设实验人员B,IP为20.0.0.1),根据用户的IP为用户A设置VLAN 10标识,用户B设计VLAN 20标识。将VLAN ID和当前用户指定的路由策略写入流表中,根据用户选用的SDN交换机ID,将封装的流表下发给自定义拓扑路由中的SDN交换机。
[0056]步骤204:数据包标记剔除模块,根据边缘节点交换机的ID,实验人员A,实验人员B分别向5、6号交换机下发带有移除VLAN ID行为的流表。
[0057]步骤205:实验人员A、B通过流量探针控制模块开启流量发生探针,产生网络数据流量。
[0058]步骤206:数据包标记模块获取当前用户的IP,为用户A设置VLAN 10标识,用户B设置VLAN 20标识,在网络数据流量流出网口之前,将VLAN标识插入到网络流量数据包中。
[0059]步骤207:带有VLAN标识的数据包与流经SDN交换机流表中带有VLAN ID的流表进行匹配。若匹配成功根据act1n流表项做出相应的转发动作;如果匹配失败,则将该数据包直接丢弃。
[0060]步骤208:带有VLAN ID的数据包流经5、6号交换机,数据包按流表优先级顺序依次与SDN交换机中的流表进行匹配。首先匹配网络节点标识模块下发的流表,若匹配失败直接将数据包丢弃。若匹配成功,然后与数据包标识剔除模块下发的流表进行匹配,执行该模块act 1n流表项中的移除VLAN标识行为,并作出相应的转发。
[0061]步骤209:实验人员A、B通过流量探针控制模块,不断加强网络流量,分别达到测试服务器A、服务器B的目的。
[0062]实施例2:
[0063]如附图4所示为本发明基于SDN的流量发生器虚拟化的实现方法装置多用户多设备测试示意图。实验人员C、实验人员D根据自身实验需求自定义拓扑实验。其中实验人员C对服务器A进行负载压力测试,实验人员D对3、4号交换机和服务器B进行负载压力测试。如图所示,网络中有6台SDN交换机,本发明与I号交换机,交换机与交换机之间,交换机与服务器之间的物理路线用实线标出,而本发明与SDN交换机之间的控制线路用虚线标出。经用户
A、B自定义拓扑,虚拟化和拓扑选择后的逻辑示意图如图5所示。本实施例中假设在测试服务器A过程中2号交换机出现故障,本发明路由节点选择/标记模块中的保护机制根据预留算法计算选取4号SDN交换作为相对理想中转路由,如图6所示,为节点故障重定拓扑示意图。具体实施步骤如下:
[0064]步骤401:实验人员C和实验人员D同时登陆本发明系统,本发明系统初始化。
[0065]步骤402:实验人员C与实验人员D根据用户界面呈现的网络拓扑信息自定义拓扑进行先关测试实验。其中实验人员C在用户界面自定义拓扑,选取1、2、5号SDN交换机,测试服务器A的负载压力,拓扑结构如图4 Topol所示;实验人员B在用户界面定义拓扑,选取1、
3、4、6号交换机,测试服务器B和3、4号交换机的负载压力,其拓扑结构如图4Topo2所示。
[0066]步骤403::路由节点选择/标识模块获取当前用户的ΙΡ(假设实验人员C,IP为
172.0.0.1,假设实验人员D,IP为192.0.0.1),根据用户的IP为用户C设置VLAN 172标识,用户D设计VLAN 192标识。将VLAN ID标识和当前用户指定的路由策略写入流表中,根据用户选用的SDN交换机ID,将封装的流表下发给自定义拓扑路由中的SDN交换机。
[0067]步骤404:数据包标记剔除模块,根据边缘节点交换机的ID,实验人员C,实验人员D分别向5、6号交换机下发带有移除VLAN ID行为的流表。
[0068]步骤405:实验人员Α、Β通过流量探针控制模块开启流量发生探针,产生网络数据流量。
[0069]步骤406:数据包标记模块获取当前用户的IP,为实验人员A设置VLAN 172标识,实验人员B设计VLAN 192标识,在网络数据流量流出网口之前,将VLAN标识插入到网络流量数据包中。
[0070]步骤407:节点状态监测模块定时向SDN交互机集群下发探测数据包,2号交换机通过Packet-1n消息告知节点状态监测模块,2号交换机无法实现数据包转发功能。
[0071]步骤408:监测信息经状态信息处理模块模块处理整合,生成当前拓扑信息数据表和节点性能数据表,存于数据库并对之前存储在数据库中数据表信息更新。并将数据信息共享于网络虚拟化模块。
[0072 ]步骤409:路由节点选择/标识模块定义查询节点性能数据表,获知2号交换机出现故障,该模块中的保护机制,经本系统预存算法,计算得到4号交换机为相对理想路径选择节点,路由节点选择/标识模块选择4号交换机作为测试服务器A的原有路由中转路由节点。
[0073]步骤410:路由节点选择/标识模块,向4号交换机下发带有VALN172标识的流表。4号交换逻辑上虚拟成VN4.1和VN4.2,虚拟结果示意图如图6所示。
[0074]步骤411:带有VLAN标识的数据包与流经SDN交换机流表中带有VLAN ID流表项进行匹配。若匹配成功根据act1n流表项做出相应的转发动作;如果匹配失败,则将该数据包直接丢弃。
[0075]步骤412:带有VLANID的数据包流经5、6号交换机,数据包按流表优先级顺序依次SDN交换机中的流表进行匹配。首先匹配网络节点标识模块下发的流表,若匹配失败直接将数据包丢弃。若匹配成功,然后与数据包标识剔除模块下发的流表进行匹配,执行该模块act 1n流表项中的移除VLAN标识动作,并作出相应的转发。
[0076]步骤413:实验人员C、D通过流量探针控制模块,不断加强网络流量,分别达到测试服务器A和测试3、4号交换机、服务器B的负载压力目的。
[0077]实施例3:
[0078]如附图7所示为本发明基于SDN的流量发生器虚拟化的实现方法,实现多用户测试局部网络拓扑示意图。如图所示,网络中有6台SDN交换机,本发明与1、2号交换机,交换机与交换机之间,交换机与服务器之间的物理路线用实线标出,而本发明与SDN交换机之间的控制线路用虚线标出。具体实施步骤如下:
[0079]步骤701:实验人员E和实验人员F同时登录本发明系统,系统初试化。
[0080]步骤702:实验人员E和实验人员F根据用户界面呈现的拓扑图自定义拓扑实验。其中实验人员E选取2、5、6号交换机,如图7 Topol所示,实验人员F选取1、3、4号交换机,如图7Topo2 所示。
[0081 ]步骤703:路由节点选择/标识模块获取感知用户E、F自定义拓扑无共用网络节点,无需对网络节点进行VLAN ID标识,路由节点选择/标识模块只需将当前用户指定的路由策略写入流表中,根据用户选用的SDN交换机ID,将封装的流表下发给自定义拓扑中的SDN交换机。
[0082]步骤704:实验人员Ε、分别通过流量探针控制模块开启流量发生探针,产生网络数据流量。
[0083]步骤705:网络数据流量流经SDN交换机时,与交换机中的流表项进行匹配。如果找到匹配的流表表项,交换机则根据流表项内的act1n做出相应的转发行为;如果找不到匹配的表项,则直接将数据包丢弃
[0084]步骤706:实验人员E、F通过流量探针控制模块,不断加强网络流量,分别达到测试其自定义Topo I和Topo2 (如图7所示)的负载压力作用。
[0085]以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。
【主权项】
1.一种基于SDN的流量发生器虚拟化实现系统,包括用于与实验用户进行可视化交互的交互层,其特征在于,还包括控制层和数据层;所述交互层还用于为实验用户呈现网络逻辑拓扑即网络物理拓扑图,和显示流量探针产生数据流量的动态变化折线图,并为管控层提供配置参数;所述控制层包括用于获取SDN交换集群拓扑信息的拓扑呈现模块、用于实现不同用户并行操作时实现数据分离的网络虚拟化模块和流量探针控制模块,流量探针控制模块用于解析交互层传递的配置参数,并将解析信息传递给数据层,控制层还用于实现SDN交换集群状态信息感知,和实现多用户自定义拓扑实验的虚拟网络创建,实现不同实验用户间的数据隔离;所述数据层,利用流量发生硬件产生网络数据流量,并注入SDN交换机集群中。2.根据权利要求1所述的基于SDN的流量发生器虚拟化实现系统,其特征在于,其中控制层的拓扑呈现模块包含拓扑绘制模块、状态信息处理模块、拓扑信息感知模块、节点状态监测模块及数据库模块;其中所述拓扑绘制模块,用于调用状态信息处理模块处理整合的拓扑结构数据表,根据节点间的逻辑关系,绘制逻辑拓扑图,可视化的呈现在用户界面;所述状态信息处理模块,对拓扑信息感知模块和节点状态监测模块接收到的网络状态信息,并对网络状态信息进行解析,生成拓扑结构数据表和节点性能数据表存储在数据库当中,并将处理整合信息传递给拓扑绘制模块,并且数据库中的网络状态数据信息共享于网络虚拟化模块;所述拓扑感知模块,定时的向SDN交换集群下发探测数据包,感知SDN交换集群的拓扑信息,并将获取信息传递给状态信息处理模块;所述节点性能监测模块,定时的向SDN交换集群下发探测数据包,探测SDN交换机集群的节点性能信息,并将获取信息传递给状态信息处理模块;所述数据库模块,用于存储状态信息处理模块生成的拓扑结构数据表和节点性能数据表,并将数据信息共享于网络虚拟化模块。3.根据权利要求1或2所述的基于SDN的流量发生器虚拟化实现系统,其特征在于,所述网络虚拟化模块包含路由节点选择/标记模块、数据包标记模块和数据包标记剔除模块;所述路由节点选择/标记模块,用于根据当前用户的区别属性,构造生成当前用户带有VLANID标识的流表,并将当前用户自定义路由策略一并写入流表当中;通过南向接口向当前用户自定义拓扑路由节点下发流表信息,具有相同VLAN ID的网络节点组成一个逻辑虚拟网络;所述数据包标记模块,用于根据当前用户的区别属性向流量发生探针产生的数据包中插入VLAN ID标识;所述数据包标记剔除模块,构造带有移除VLAN ID标识行为的流表,通过南向接口向流出SDN网络的数据包所经过的SDN交换机集群的边缘节点下发流表,数据包流经边缘交换机执行该流表指定的移除VLAN ID标识行为。4.根据权利要求3所述的基于SDN的流量发生器虚拟化实现系统,其特征在于,所述路由节点选择/标记模块具有路由保护机制,能通过预留算法计算选用当前用户某故障节点的附近节点,通过下发带有当前用户VLAN ID标识的流表,将计算选用的故障节点的附近节点加入到当前用户虚拟逻辑网络拓扑中,实现计算选取节点作为原有路径的中转路由节点。5.根据权利要求3所述的基于SDN的流量发生器虚拟化实现系统,其特征在于,所述数据层包括SDN交换机集群和流量发生探针,所述SDN交换机集群用于为流量发生探针产生的网络数据流量提供传输路径;所述流量发生探针用于产生网络数据流量。6.—种基于权利要求1所述系统的基于SDN的流量发生器虚拟化实现方法,其特征在于,包括以下步骤: 1)用户完成登录,系统初始化,用户根据用户界面呈现的拓扑信息自定义路由拓扑实验; 2)路由节点选择/标识模块获取当前用户的区别属性,根据当前用户的特有区别属性构造带有VLAN ID流表项的流表; 3)路由节点选择/标识模块向当前用户自定义的网络拓扑中的网络节点下发带有VLANID流表项的流表,带有相同VLAN ID的网络节点组成逻辑上的虚拟网络; 4)数据包标识剔除模块向数据包流经的SDN网络边缘SDN交换机下发带有移除VLANID标识行为的流表; 5)当前用户通过流量探针控制模块开启流量发生探针,产生数据流量; 6)数据包标记模块获取当前用户的区别属性,其中和路由节点选择/标记模块使用同一区别属性,根据获取的区别属性在流量发生探针产生的数据流量流出网口之前,对当前用户的数据包插入VLAN ID标识; 7)带有VLAN标识的的数据包与流经SDN交换机中的流表进行匹配,与VLANID匹配一致者,执行流表中act1n指定的转发动作;匹配不成功,直接将数据包丢弃; 8)当数据包到达边缘交换机时,数据包按流表优先级顺序依次与SDN交换机中的流表进行匹配,首先匹配路由节点选择/标识模块下发的流表,若匹配失败直接将数据包丢弃;若匹配成功,然后与数据包标识剔除模块下发的流表进行匹配,执行该模块act1n流表项中的移除VLAN ID标识行为,并作出相应的转发。
【文档编号】H04L12/26GK105915407SQ201610228281
【公开日】2016年8月31日
【申请日】2016年4月13日
【发明人】曾帅, 盖绍聪, 王中莹, 范喜艳, 殷志坚, 郑派, 赵国锋, 唐红
【申请人】重庆邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1