软件定义网络平台吞吐量的获取方法及系统与流程

专利2022-05-09  128


本发明属于网络性能测试技术领域,特别是涉及一种软件定义网络平台吞吐量的获取方法及系统。



背景技术:

软件定义网络(softwaredefinednetwork,sdn)是由美国斯坦福大学cleanstate课题研究组提出的一种新型网络创新架构,是网络虚拟化的一种实现方式,其核心技术openflow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。

随着监控系统的规模壮大,对sdn性能测试的要求越来越高,此时性能测试的硬件成本、维护成本、环境迁移成本也越来越高,如何方便有效地利用有限的资源对sdn进行网络性能及业务能力的测试成为困扰用户的一个严重问题。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种软件定义网络平台吞吐量的获取方法及系统,用于解决现有技术中无法方便有效地利用有限的资源对sdn进行网络性能及业务能力进行测试的问题。

为实现上述目的及其他相关目的,本发明提供一种软件定义网络平台吞吐量的获取方法,包括以下步骤:将第一终端、第二终端、控制器分别与交换机连接,以搭建软件定义网络平台;通过所述控制器令所述第一终端为客户端,所述第二终端为服务端;从所述客户端向所述服务端打流,并记录打流结果;根据所述打流结果获取所述软件定义网络平台的吞吐量。

于本发明的一实施例中,利用测试工具从所述客户端向所述服务端打流,并记录所述打流结果。

于本发明的一实施例中,从所述客户端向所述服务端打流,并记录打流结果包括:每间隔预设时间,记录一次打流结果,所述打流结果的数量至少为一。

于本发明的一实施例中,根据所述打流结果获取所述软件定义网络平台的吞吐量包括:计算预设次数打流结果的吞吐量数据的平均值作为所述吞吐量。

于本发明的一实施例中,还包括测试所述第一终端、所述第二终端分别与所述交换机的连接是否成功。

本发明提供一种软件定义网络平台吞吐量的获取系统,包括:搭建模块、设定模块、记录模块和获取模块;所述搭建模块用于将第一终端、第二终端、控制器分别与交换机连接,以搭建软件定义网络平台;所述设定模块用于通过所述控制器令所述第一终端为客户端,所述第二终端为服务端;所述记录模块用于从所述客户端向所述服务端打流,并记录打流结果;所述获取模块用于根据所述打流结果获取所述软件定义网络平台的吞吐量。

于本发明的一实施例中,所述记录模块利用测试工具从所述客户端向所述服务端打流,并记录打流结果。

于本发明的一实施例中,所述记录模块每间隔预设时间,记录一次打流结果,所述打流结果的数量至少为一。

于本发明的一实施例中,所述获取模块计算预设次数打流结果的吞吐量数据的平均值作为所述吞吐量。

于本发明的一实施例中,还包括测试模块;所述测试模块用于测试所述第一终端、所述第二终端分别与所述交换机的连接是否成功。

如上所述,本发明所述的软件定义网络平台吞吐量的获取方法及系统,具有以下有益效果:

通过引用吞吐量的指标来进行sdn平台网络性能及业务能力的测试,吞吐量的数值越大,表明sdn平台的网络性能及业务能力越好,有效实现了sdn平台网络性能及业务能力的测试,利于开发者对sdn平台进行进一步地开发与优化。

附图说明

图1显示为本发明的软件定义网络平台吞吐量的获取方法于一实施例中的流程图。

图2显示为本发明的软件定义网络平台于一实施例中的架构图。

图3显示为本发明的软件定义网络平台吞吐量的获取系统于一实施例中的结构示意图。

元件标号说明

31搭建模块

32设定模块

33记录模块

34获取模块

s1~s4步骤

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

本发明的软件定义网络平台吞吐量的获取方法及系统,通过引用吞吐量的指标来进行sdn平台网络性能及业务能力的测试,吞吐量的数值越大,表明sdn平台的网络性能及业务能力越好,有效实现了sdn平台网络性能及业务能力的测试,利于开发者对sdn平台进行进一步地开发与优化。

如图1所示,本发明的软件定义网络平台吞吐量的获取方法包括以下步骤:

步骤s1、将第一终端、第二终端、控制器分别与交换机连接,以搭建软件定义网络平台。

具体地,将第一终端、第二终端分别与交换机链接,并将交换机与一控制器链接,从而搭建出sdn平台。

需要说明的是,链接是指在电子计算机程序的各模块之间传递参数和控制命令,并把它们组成一个可执行的整体的过程。

优选地,通过mininet仿真,在交换机上设置一控制器;具体为通过mininet仿真设置控制器所指向的ip地址及端口(port)。

优选地,通过mininet仿真,设置虚拟的第一终端、虚拟的第二终端和虚拟的交换机,将该第一终端、第二终端分别与交换机进行链接,并通过mininet仿真在交换机上设置控制器,从而搭建出sdn虚拟平台。

需要说明的是,mininet是由一些虚拟的终端节点(在本发明中,具体指第一终端和第二终端)、交换机、路由器连接而成的一个网络仿真器,它采用轻量级的虚拟化技术使得系统可以和真实网络相媲美;mininet可以很方便地创建一个支持sdn的网络:host就像真实的电脑一样工作,可以使用ssh(secureshellprotocal,是一种网络协议,用于计算机之间的加密登录)登录,启动应用程序,程序可以向以太网端口发送数据包,数据包会被交换机、路由器接收并处理,有了这个网络,就可以灵活地为网络添加新的功能并进行相关测试,然后轻松部署到真实的硬件环境中;通过mininet仿真技术,可以简单、快速地创建一个sdn网络拓扑,从而有利于缩短sdn平台测试周期。

如图2所示,在本发明的一实施例中,将虚拟交换机(openvswitch,ovs)的数量设定为二,具体为一虚拟交换机与第一终端链接,另一虚拟交换机与第二终端链接,并将这两个虚拟交换机均与一控制器链接。

需要说明的是,第一终端和第二终端的数量均至少为一;优选地,第一终端和第二终端的数量均为二;两个虚拟交换机之间连接。

如图2所示,vm1、vm2分别为两个第一终端;vm3、vm4分别为两个第二终端。

步骤s2、通过所述控制器令所述第一终端为客户端,所述第二终端为服务端。

具体地,启动控制器,设定第一终端为客户端,第二终端为服务端。

优选地,启动控制器,在mininet界面设定第一终端为客户端,第二终端为服务端。

步骤s3、从所述客户端向所述服务端打流,并记录打流结果。

具体地,建立从客户端到服务端的数据流,并从客户端向服务端打流,记录打流结果。

需要说明的是,客户端与服务端之间可实现双向打流,即还可从服务端向客户端打流。

在本发明的一实施例中,利用测试工具从所述客户端向所述服务端打流,并记录所述打流结果。

优选地,采用iperf测试工具从客户端向服务端打流,并记录打流结果。

需要说明的是,iperf是一种网络性能测试工具,可以测试tcp和udp带宽质量;iperf可以测量最大tcp带宽,具有多种参数和udp特性;iperf可以报告带宽、延迟抖动和数据包丢失,利用iperf这一特性,可以用来测试一些网络设备如路由器、防火墙、交换机等的性能;在本发明中,通过测量客户端向服务端打流产生的吞吐量来测试软件定义网络平台的性能。

需要说明的是,tcp(transportcontrollprotocol,传输控制协议)定义了两台计算机之间进行可靠的传输而交换的数据和确认信息的格式,以及计算机为了确保数据的正确到达而采取的措施;tcp最大的特点就是提供的是面向连接、可靠的字节流服务;udp(userdataprotocol,用户数据报协议)是一个简单的面向数据报的传输层协议,提供的是非面向连接的、不可靠的数据流传输。

在本发明的一实施例中,从所述客户端向所述服务端打流,并记录打流结果包括:每间隔预设时间,记录一次打流结果,所述打流结果的数量至少为一。

具体地,在客户端向服务端打流过程中,每间隔预设时间,就记录一次打流结果,最终记录的打流结果的数量至少为一。

优选地,采用iperf测试工具从客户端向服务端打流,每间隔1秒,记录一次打流结果。

步骤s4、根据所述打流结果获取所述软件定义网络平台的吞吐量。

具体地,根据步骤s3记录的打流结果来获取软件定义网络平台的吞吐量。

需要说明的是,吞吐量是指对网络、设备、端口、虚电路或其他设施,单位时间内成功地传送数据的数量(以比特、字节、分组等测量);吞吐量的测试方法是:在测试中以一定速率发送一定数量的帧,并计算待测设备传输的帧,如果发送的帧与接收的帧数量相等,那么就将发送速率提高并重新测试;如果接收帧少于发送帧则降低发送速率重新测试,直至得出最终结果;吞吐量测试结果以比特/秒或字节/秒表示;具体地,在本发明中,客户端作为发送设备,服务端作为接收设备,从客户端向服务端打流(发送帧),以测试出吞吐量数据。

在本发明的一实施例中,根据所述打流结果获取所述软件定义网络平台的吞吐量包括:计算预设次数打流结果的吞吐量数据的平均值作为所述吞吐量。

具体地,经步骤s3每间隔预设时间记录一次打流结果,在记录了多个(至少一个)打流结果后,通过对该多个打流结果的吞吐量数据进行均值计算,所得的结果记为该软件定义网络平台的吞吐量。

优选地,计算10次打流结果的吞吐量数据的平均值作为该软件定义网络平台的吞吐量。

在本发明的一实施例中,该软件定义网络平台吞吐量的获取方法还包括测试所述第一终端、所述第二终端分别与所述交换机的连接是否成功。

需要说明的是,在搭建软件定义网络平台的过程中,需要测试软件定义网络平台的架构是否链接成功,即测试第一终端、第二终端分别与交换机的链接是否成功;只有在成功的情况下,软件定义网络平台的搭建才是成功的。

优选地,可利用ping功能测试第一终端、第二终端分别与交换机的链接是否成功。

需要说明的是,ping(packetinternetgroper),因特网包探索器,用于测试网络连接量的程序;ping是工作在tcp/ip网络体系结构中应用层的一个服务命令,主要是向特定的目的主机发送icmp(internetcontrolmessageprotocol因特网报文控制协议)echo请求报文,测试目的站是否可达及了解其有关状态。

下面通过具体实施例来进一步说明本发明的软件定义网络平台吞吐量的获取方法。

本实施例提供的软件定义网络平台吞吐量的获取方法包括:通过mininet仿真,设置两个虚拟的终端节点(h2001和h2002)、虚拟的交换机和虚拟的路由器,并将它们进行连接,从而组建sdn虚拟网络;在虚拟的交换机上设置控制器;具体地,通过mininet仿真,在虚拟的交换机上设置控制器172.16.38.80;通过mininet设置服务端和客户端;具体地,启动控制器,进入mininet界面设置h2001为服务端,h2002为客户端;使用iperf打流,从客户端向服务端打流,记录打流结果;具体地,h2002作为客户端向h2001打流,打流结果为:每间隔一秒记录一次打流结果,打流十秒,10次打流结果的吞吐量数据的平均值为20.81gbit/sec。

具体操作步骤如下所述:

第一步:通过电脑打开mininet软件,通过mininet仿真功能,设置虚拟的终端节点、虚拟的交换机、虚拟的路由器,并将其进行有效链接,组建sdn虚拟网络,并使用ping功能,测试网络链接是否成功;

第二步:在虚拟的交换机上设置控制器,控制器的ip地址为172.16.38.80,port为6633;

第三步:启动控制器,进入mininet界面,设置h2001为服务端,h2002为客户端;

第四步:使用iperf打流,h2002作为客户端向h2001打流,打流时间为十秒;

第五步:每间隔一秒记录一次打流结果,得到吞吐量为:在sdn虚拟网络中,使用iperf打流,从客户端向服务端打流,每间隔一秒记录一次打流结果,十秒的平均吞吐量为20.81gbit/sec。

需要说明的是,本发明所述的软件定义网络平台吞吐量的获取方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。

如图3所示,本发明的软件定义网络平台吞吐量的获取系统包括搭建模块31、设定模块32、记录模块33和获取模块34。

所述搭建模块31用于将第一终端、第二终端、控制器分别与交换机连接,以搭建软件定义网络平台。

所述设定模块32用于通过所述控制器令所述第一终端为客户端,所述第二终端为服务端。

所述记录模块33用于从所述客户端向所述服务端打流,并记录打流结果。

在本发明的一实施例中,所述记录模块利用测试工具从所述客户端向所述服务端打流,并记录打流结果。

在本发明的一实施例中,所述记录模块每间隔预设时间,记录一次打流结果,所述打流结果的数量至少为一。

所述获取模块34用于根据所述打流结果获取所述软件定义网络平台的吞吐量。

在本发明的一实施例中,所述获取模块计算预设次数打流结果的吞吐量数据的平均值作为所述吞吐量。

在本发明的一实施例中,该软件定义网络平台吞吐量的获取系统还包括测试模块;所述测试模块用于测试所述第一终端、所述第二终端分别与所述交换机的连接是否成功。

需要说明的是,搭建模块31、设定模块32、记录模块33和获取模块34的结构及原理与上述软件定义网络平台吞吐量的获取方法中的步骤一一对应,故在此不再赘述。

需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。

例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(applicationspecificintegratedcircuit,简称asic),或,一个或多个数字信号处理器(digitalsingnalprocessor,简称dsp),或,一个或者多个现场可编程门阵列(fieldprogrammablegatearray,简称fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(centralprocessingunit,简称cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称soc)的形式实现。

需要说明的是,本发明的软件定义网络平台吞吐量的获取系统可以实现本发明的软件定义网络平台吞吐量的获取方法,但本发明的软件定义网络平台吞吐量的获取方法的实现装置包括但不限于本实施例列举的软件定义网络平台吞吐量的获取系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。

综上所述,本发明的软件定义网络平台吞吐量的获取方法及系统,通过引用吞吐量的指标来进行sdn平台网络性能及业务能力的测试,吞吐量的数值越大,表明sdn平台的网络性能及业务能力越好,有效实现了sdn平台网络性能及业务能力的测试,利于开发者对sdn平台进行进一步地开发与优化。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。


技术特征:

1.一种软件定义网络平台吞吐量的获取方法,其特征在于,包括以下步骤:

将第一终端、第二终端、控制器分别与交换机连接,以搭建软件定义网络平台;

通过所述控制器令所述第一终端为客户端,所述第二终端为服务端;

从所述客户端向所述服务端打流,并记录打流结果;

根据所述打流结果获取所述软件定义网络平台的吞吐量。

2.根据权利要求1所述的软件定义网络平台吞吐量的获取方法,其特征在于,利用测试工具从所述客户端向所述服务端打流,并记录所述打流结果。

3.根据权利要求1所述的软件定义网络平台吞吐量的获取方法,其特征在于,从所述客户端向所述服务端打流,并记录打流结果包括:每间隔预设时间,记录一次打流结果,所述打流结果的数量至少为一。

4.根据权利要求1所述的软件定义网络平台吞吐量的获取方法,其特征在于,根据所述打流结果获取所述软件定义网络平台的吞吐量包括:计算预设次数打流结果的吞吐量数据的平均值作为所述吞吐量。

5.根据权利要求1所述的软件定义网络平台吞吐量的获取方法,其特征在于,还包括测试所述第一终端、所述第二终端分别与所述交换机的连接是否成功。

6.一种软件定义网络平台吞吐量的获取系统,其特征在于,包括:搭建模块、设定模块、记录模块和获取模块;

所述搭建模块用于将第一终端、第二终端、控制器分别与交换机连接,以搭建软件定义网络平台;

所述设定模块用于通过所述控制器令所述第一终端为客户端,所述第二终端为服务端;

所述记录模块用于从所述客户端向所述服务端打流,并记录打流结果;

所述获取模块用于根据所述打流结果获取所述软件定义网络平台的吞吐量。

7.根据权利要求6所述的软件定义网络平台吞吐量的获取系统,其特征在于,所述记录模块利用测试工具从所述客户端向所述服务端打流,并记录打流结果。

8.根据权利要求6所述的软件定义网络平台吞吐量的获取系统,其特征在于,所述记录模块每间隔预设时间,记录一次打流结果,所述打流结果的数量至少为一。

9.根据权利要求6所述的软件定义网络平台吞吐量的获取系统,其特征在于,所述获取模块计算预设次数打流结果的吞吐量数据的平均值作为所述吞吐量。

10.根据权利要求6所述的软件定义网络平台吞吐量的获取系统,其特征在于,还包括测试模块;所述测试模块用于测试所述第一终端、所述第二终端分别与所述交换机的连接是否成功。

技术总结
本发明提供一种软件定义网络平台吞吐量的获取方法及系统;所述获取方法包括以下步骤:将第一终端、第二终端、控制器分别与交换机连接,以搭建软件定义网络平台;通过所述控制器令所述第一终端为客户端,所述第二终端为服务端;从所述客户端向所述服务端打流,并记录打流结果;根据所述打流结果获取所述软件定义网络平台的吞吐量;本发明通过引用吞吐量的指标来进行SDN平台网络性能及业务能力的测试,吞吐量的数值越大,表明SDN平台的网络性能及业务能力越好,有效实现了SDN平台网络性能及业务能力的测试,利于开发者对SDN平台进行进一步地开发与优化。

技术研发人员:谈骞
受保护的技术使用者:上海宽带技术及应用工程研究中心
技术研发日:2020.02.03
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-2453.html

最新回复(0)