一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于网络地址转换技术的网卡压力测试方法和系统与流程

2022-03-16 15:50:00 来源:中国专利 TAG:
1.本发明涉及服务器
技术领域
:,尤其涉及一种基于网络地址转换技术的网卡压力测试方法和系统。
背景技术
::2.服务器是在网络计算环境中提供服务的高性能计算机,在网络中承载着关键任务。随着云计算技术的快速发展,相关行业对服务器的负载能力和稳定性要求越来越高。在服务器中,网卡是对用户提供服务的重要部分,这就要求服务器的网卡必须具备极高的性能和稳定性,因此,需要对服务器的网卡进行压力测试。3.对于一台服务器来说,linux系统的内核从一个网络地址向另一个网络地址发送数据包时,若这两个网络地址同属一个主机,则这个数据包会直接在内部转发,根本不会放到网络设备上。因此目前网卡的压力测试过程:主要是通过搭建两台服务器分别作为服务端和客户端,两台服务器分别搭配所需测试的网卡,使用网线连接待测网卡的网口,然后配置静态ip,再使用网络性能测试工具对网卡进行长时间的压力测试。4.现有网卡压力测试技术搭建测试环境困难,因为需要两台服务器分别配置待测网卡,并实现待测网卡的对连。这就导致服务器需要的资源较多,且因网卡在不同服务器上,网卡压力测试过程中遇到的影响因素变多,不利于问题的排查。技术实现要素:5.本发明提供了一种基于网络地址转换技术的网卡压力测试方法和系统,旨在解决现有技术中网卡搭建于不同服务器上,服务器需要资源较多,网卡压力测试过程遇到影响因素多,不利于问题排查的问题。6.根据本发明的第一方面,本发明提供了一种基于网络地址转换技术的网卡压力测试方法,用于同一服务器的两个网口,网卡压力测试方法包括:7.根据两个网口的mac地址,分别为两个网口设置ip地址;8.设置两个中介地址,使用静态arp表项将两个中介地址分别映射至两个网口;9.使用地址转换协议,将两个网口的ip地址分别转换为两个中介地址;10.将两个中介地址互相作为源地址和目标地址,控制两个网口互相收发数据包,以测试网卡压力。11.优选地,所述设置两个中介地址,使用静态arp表项将两个中介地址分别映射至两个网口的步骤,包括:12.设置两个到目的地址的路由,并且控制两个目的地址无目标主机对应;13.使用两条静态arp表项控制发往两个目的地址的数据包无arp请求,以使两个目的地址作为中介地址分别映射到两个网口的mac地址。14.优选地,所述使用地址转换协议,将两个网口的ip地址分别转换为两个中介地址的步骤,包括:15.使用防火墙管理工具的源地址转换协议,将网口的ip地址转换为网口的中介地址;16.使用防火墙管理工具的目标地址转换协议,将网口的目标地址转换为另一网口的中介地址。17.优选地,所述控制两个网口互相收发数据包的步骤,包括:18.使用iperf工具,控制网口作为服务端,以另一网口的中介地址作为目标地址,向另一网口发送数据包;19.获取网口的压力测试数据与测试日志。20.优选地,所述在根据两个网口的mac地址,分别为两个网口设置ip地址的步骤之前,所述方法还包括:21.在服务器中配置两个网口的网络配置文件,其中,网络配置文件包括两个网口的mac地址。22.根据本发明的第二方面,本发明还提供了一种基于网络地址转换技术的网卡压力测试系统,用于同一服务器的两个网口,该网卡压力测试系统包括:23.ip地址设置模块,用于根据两个网口的mac地址,分别为两个网口设置ip地址;24.中介地址映射模块,用于设置两个中介地址,使用静态arp表项将两个中介地址分别映射至两个网口;25.地址转换模块,用于使用地址转换协议,将两个网口的ip地址分别转换为两个中介地址;26.网卡测试模块,用于将两个中介地址互相作为源地址和目标地址,控制两个网口互相收发数据包,以测试网卡压力。27.优选地,所述中介地址映射模块,包括:28.路由设置子模块,用于设置两个到目的地址的路由,并且控制两个目的地址无目标主机对应;29.arp地址子模块,用于使用两条静态arp表项控制发往两个目的地址的数据包无arp请求,以使两个目的地址作为中介地址分别映射到两个网口的mac地址。30.优选地,所述地址转换模块,包括:31.源地址转换子模块,用于使用防火墙管理工具的源地址转换协议,将网口的ip地址转换为网口的中介地址;32.目标地址转换子模块,用于使用防火墙管理工具的目标地址转换协议,将网口的目标地址转换为另一网口的中介地址。33.优选地,所述网卡测试模块,包括:34.数据包发送子模块,用于使用iperf工具,控制网口作为服务端,以另一网口的中介地址作为目标地址,向另一网口发送数据包;35.数据获取子模块,用于获取网口的压力测试数据与测试日志。36.优选地,所述网卡压力测试系统,还包括:37.硬件环境搭建模块,用于搭建硬件测试环境,使用大于或等于网卡最大传输速率的网线连接两个网口。38.本技术提供的网卡压力测试方案,首先搭建软件环境,根据两个网口的mac地址设置ip地址;然后通过设置两个中介地址,使用静态arp表项将两个中介地址分别映射到两个网口,能够分别为两个网口提供了中介的ip地址的身份,这样使用地址转换协议将两个网口的ip地址分别转换为两个中介地址,本地服务器就无法识别到两个网口在同一服务器上,为互相发送数据包创造了条件;这样在对两个网口进行网卡压力测试时,将两个中介地址互相作为源地址和目的地址,两个网口就会分别向对方的目的地址发送数据包,从而实现两个网口的压力测试。通过上述方式可知,本地服务器的两个网口通过中介地址实现数据包的互发,进行网口的压力测试,能够在一台服务器上实现,不需要占用服务器的过多资源,减少了网卡压力测试过程遇到的因素,有利于问题的排查。附图说明39.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。40.图1是本发明实施例提供的第一种基于网络地址转换技术的网卡压力测试方法的流程示意图;41.图2是图1所示实施例提供的一种中介地址映射方法的流程示意图;42.图3是图1所示实施例提供的一种ip地址转换方法的流程示意图;43.图4是图1所示实施例提供的一种数据包发送方法的流程示意图;44.图5是本发明实施例提供的第二种基于网络地址转换技术的网卡压力测试方法的流程示意图;45.图6是本发明实施例提供的一种网络地址转换方法的结构示意图;46.图7是本发明实施例提供的一种基于网络地址转换技术的网卡压力测试系统的结构示意图;47.图8是图7所示实施例提供的一种中介地址映射模块的结构示意图;48.图9是图7所示实施例提供的一种地址转换模块的结构示意图;49.图10是图7所示实施例提供的一种网卡测试模块的结构示意图;50.图11是本发明实施例提供的第二种网卡压力测试系统的结构示意图。51.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式52.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。53.本发明实施例的主要技术问题如下:54.现有网卡压力测试技术搭建测试环境困难,因为需要两台服务器分别配置待测网卡,并实现待测网卡的对连。这就导致服务器需要的资源较多,且因网卡在不同服务器上,网卡压力测试过程中遇到的影响因素变多,不利于问题的排查。55.针对上述现有网卡压力测试技术的不足,本发明下述实施例提供了基于nat技术的网卡压力测试方案,通过网络地址转换nat技术对同一台服务器上同一张网卡的不同网口或者不同网卡的网口进行ip地址转换,进而实现使用一台服务器便可以完成网卡的压力测试。56.其中,网络地址转换技术nat是一种把内部私有网络地址翻译成合法网络地址的技术。具体而言,就是在局域网的内部网络中使用内部地址;而当内部节点要与外部网络进行通讯时,就在网关处将内部地址替换成公用地址,从而内部节点在外部公网上正常使用。nat可以使多台计算机共享网络连接,这一技术很好地解决了公共ip地址紧缺的问题。57.具体参见图1,图1为本发明实施例提供的一种基于网络地址转换技术的网卡压力测试方法的流程示意图。如图1所示,该基于网络地址转换技术的网卡压力测试方法用于同一服务器的两个网口,根据测试网卡的网口数量不同,在搭建硬件测试环境时,分为下述三种搭建策略:58.单口网卡同时安装2张,两个网口通过网线互连;59.双口网卡只安装1张,两个网口通过网线互连。60.四口网卡只安装1张,四个网口两两互连。61.具体地,如图1所示,本技术实施例提供的基于网络地址转换技术的网卡压力测试方法包括:62.s110:根据两个网口的mac地址,分别为两个网口设置ip地址。两个网卡的mac地址是固定的,而为两个网口设置ip地址,是进行网卡压力测试的必须操作。63.本技术实施例中,针对两个网口eth0和eth1;网口eth0和eth1的mac地址分别为mac0和mac1;根据上述mac地址,分别为待测网口eth0和eth1设定ip地址为1.1.1.1和1.1.1.2,子网掩码均设为255.255.255.0,其中,64.#ifconfigeth01.1.1.1netmask255.255.255.065.#ifconfigeth11.1.1.2netmask255.255.255.066.s120:设置两个中介地址,使用静态arp表项将两个中介地址分别映射至两个网口。通过设置路由表设置两个中介地址,这样服务器就能够对中介地址对应的网口发送网络数据。然后使用静态apr表项,使发往ip地址的数据包不会有arp请求,这样两个中介地址就能够分别映射到两个网口,进行数据的互相收发。67.具体参见图2,作为一种优选的实施例,该设置两个中介地址,使用静态arp表项将两个中介地址分别映射至两个网口的步骤包括:68.s121:设置两个到目的地址的路由,并且控制两个目的地址无目标主机对应。69.在本技术实施例中,通过路由表设置两个到目的地址的路由,即两个中介地址的路由,其中目的地址分别为1.1.1.11和1.1.1.22,这两个地址其实没有主机与其对应。因为没有主机对应,这样两个目的地址就能够分配给网口。70.s122:使用两条静态arp表项控制发往两个目的地址的数据包无arp请求,以使两个目的地址作为中介地址分别映射到两个网口的mac地址。71.arp为地址解析协议,通过设置静态arp表项,能够使得发往ip地址的数据包不会有arp请求,这样两个目的地址作为中介地址就分别映射到两个网口的mac地址中,与两个网口分别对应。72.在使用静态arp表项将两个中介地址分别映射至两个网口后,图1所示实施例提供的基于网络地址转换技术的网卡压力测试方法还包括以下步骤:73.s130:使用地址转换协议,将两个网口的ip地址分别转换为两个中介地址。首先需要设置防火墙管理工具iptable的源地址转换snat和目的地址转换dnat协议,使用两个协议修改待测网口发包的源地址和接收包的目的地址,这样就将两个网口的ip地址分别转换为两个中介地址。74.具体作为一种优选的实施例,如图3所示,该使用地址转换协议,将两个网口的ip地址分别转换为两个中介地址的步骤包括:75.s131:使用防火墙管理工具的源地址转换协议,将网口的ip地址转换为网口的中介地址。76.s132:使用防火墙管理工具的目标地址转换协议,将网口的目标地址转换为另一网口的中介地址。77.具体地,修改ip地址:通过设置防火墙管理工具iptable的源地址转换snat和目标地址转换dnat,如图6所示,将从网口eth0的ip地址1.1.1.1发出去的包的源地址改为1.1.1.22,将收到的目的地址为1.1.1.11的包的目的地址改为1.1.1.2;将从网口eth1的ip地址1.1.1.2发出去的包的源地址改为1.1.1.11,将收到的目的地址为1.1.1.22的包的目的地址改为1.1.1.1。78.相关代码如下:79.#iptablesꢀ‑tnat-f80.#iptablesꢀ‑tnatꢀ‑apostroutingꢀ‑s1.1.1.1ꢀ‑d1.1.1.11ꢀ‑jsnatꢀ‑‑to-source1.1.1.22。81.#iptablesꢀ‑tnatꢀ‑apreroutingꢀ‑s1.1.1.22ꢀ‑d1.1.1.11ꢀ‑jdnatꢀ‑‑to-destination1.1.1.2。82.#iptablesꢀ‑tnat-apostroutingꢀ‑s1.1.1.2ꢀ‑d1.1.1.22ꢀ‑jsnatꢀ‑‑to-source1.1.1.1183.#iptablesꢀ‑tnatꢀ‑apreroutingꢀ‑s1.1.1.11ꢀ‑d1.1.1.22ꢀ‑jdnatꢀ‑‑to-destination1.1.1.184.这样,在网口eth0的1.1.1.1看来,另一个网卡的地址是1.1.1.11;而在网口eth1的1.1.1.2看来,另一个网卡的地址是1.1.1.22。便能够绑定在1.1.1.1上向1.1.1.11发数据,该数据包就会经过网线被网口eth1收到;反之亦然,可以绑定在1.1.1.2上向1.1.1.22发数据。85.在将两个网口的ip地址分别转换为两个中介地址后,图1所示实施例提供的网卡压力测试方法还包括以下步骤:86.s140:将两个中介地址互相作为源地址和目标地址,控制两个网口互相收发数据包,以测试网卡压力。通过将两个中介地址互相作为源地址母目的地址,这样服务器就会认为两个网口并不是在同一服务器上,两个网口就会分别向对方发送和接收数据包,从而达到测试网卡压力的目的。87.作为一种优选的实施例,如图4所示,该控制两个网口互相收发数据包的步骤包括:88.s141:使用iperf工具,控制网口作为服务端,以另一网口的中介地址作为目标地址,向另一网口发送数据包。iperf工具为网口压力测试工具,用于生成并控制网口收发数据包。具体安装iperf工具,将eth0作为iperf的服务端server端接收数据包,将eth1作为iperf的客户端client端发送数据包,同时也可以将eth1作为iperf的服务端server端接收数据包,将eth0作为客户端iperf的client端发送数据包,这样在一台服务器上便实现了待测网卡的同时发包和收包测试,最大化进行网卡的压力测试。89.s142:获取网口的压力测试数据与测试日志。例如本实施例中通过iperf对待测25gb网卡进行压力测试性,判断是否能达到网线的最大传输23.5gb/s,结果和使用两台服务器搭配两张网卡的传统网卡压力测试方法没有差别,且网卡压力测试12h无异常产生,则说明此方法可以有效地进行网卡压力测试。90.本技术实施例提供的技术方案,通过使用iperf工具控制网口作为服务端,以另一网口的中介地址作为目标地址,向另一网口发送数据包,能够使得服务器错误识别两个网口在不同服务器上,这样就能够实现本地服务器中两个网口互发数据,在同一服务器上进行网络压力测试。91.综上,本技术提供的网卡压力测试方法,首先搭建软件环境,根据两个网口的mac地址设置ip地址;然后通过设置两个中介地址,使用静态arp表项将两个中介地址分别映射到两个网口,能够分别为两个网口提供了中介的ip地址的身份,这样使用地址转换协议将两个网口的ip地址分别转换为两个中介地址,本地服务器就无法识别到两个网口在同一服务器上,为互相发送数据包创造了条件;这样在对两个网口进行网卡压力测试时,将两个中介地址互相作为源地址和目的地址,两个网口就会分别向对方的目的地址发送数据包,从而实现两个网口的压力测试。通过上述方式可知,本地服务器的两个网口通过中介地址实现数据包的互发,进行网口的压力测试,能够在一台服务器上实现,不需要占用服务器的过多资源,减少了网卡压力测试过程遇到的因素,有利于问题的排查。92.另外,作为一种优选的实施例,图5所示实施例提供的网卡压力测试方法,在上述步骤s110:在根据两个网口的mac地址,分别为两个网口设置ip地址的步骤之前还包括:93.s150:在服务器中配置两个网口的网络配置文件,其中,网络配置文件包括两个网口的mac地址。通过在服务器上配置网络配置文件,从而为每个网卡分别设定ip地址,然后设置相应的路由,实现网口压力测试。94.为了实现上述方法,本技术下述各实施例还提供一种基于网络地址转换技术的网卡压力测试系统,通过下述网卡压力测试系统能够实现上述方法的功能,因为具体操作步骤上述方法已经提及,因此重复部分不再赘述。95.参见图7,图7为本发明实施例提供的一种基于网络地址转换技术的网卡压力测试系统,该网卡压力测试系统用于同一服务器的两个网口,包括:96.ip地址设置模块110,用于根据两个网口的mac地址,分别为两个网口设置ip地址;97.中介地址映射模块120,用于设置两个中介地址,使用静态arp表项将两个中介地址分别映射至两个网口;98.地址转换模块130,用于使用地址转换协议,将两个网口的ip地址分别转换为两个中介地址;99.网卡测试模块140,用于将两个中介地址互相作为源地址和目标地址,控制两个网口互相收发数据包,以测试网卡压力。100.本技术提供的网卡压力测试系统,首先搭建软件环境,通过ip地址设置模块110根据两个网口的mac地址设置ip地址;然后中介地址映射模块120通过设置两个中介地址,使用静态arp表项将两个中介地址分别映射到两个网口,能够分别为两个网口提供了中介的ip地址的身份,这样地址转换模块130使用地址转换协议将两个网口的ip地址分别转换为两个中介地址,本地服务器就无法识别到两个网口在同一服务器上,为互相发送数据包创造了条件;这样在网卡测试模块140对两个网口进行网卡压力测试时,将两个中介地址互相作为源地址和目的地址,两个网口就会分别向对方的目的地址发送数据包,从而实现两个网口的压力测试。通过上述方式可知,本地服务器的两个网口通过中介地址实现数据包的互发,进行网口的压力测试,能够在一台服务器上实现,不需要占用服务器的过多资源,减少了网卡压力测试过程遇到的因素,有利于问题的排查。本发明使用50%的资源达到了100%的效果,极大地提升了资源的利用率和测试效率。101.作为一种优选的实施例,如图8所示,上述中介地址映射模块120包括:102.路由设置子模块121,用于设置两个到目的地址的路由,并且控制两个目的地址无目标主机对应;103.arp地址子模块122,用于使用两条静态arp表项控制发往两个目的地址的数据包无arp请求,以使两个目的地址作为中介地址分别映射到两个网口的mac地址。104.作为一种优选的实施例,如图9所示,上述地址转换模块130,包括:105.源地址转换子模块131,用于使用防火墙管理工具的源地址转换协议,将网口的ip地址转换为网口的中介地址;106.目标地址转换子模块132,用于使用防火墙管理工具的目标地址转换协议,将网口的目标地址转换为另一网口的中介地址。107.作为一种优选的实施例,如图10所示,上述网卡测试模块140,包括:108.数据包发送子模块141,用于使用iperf工具,控制网口作为服务端,以另一网口的中介地址作为目标地址,向另一网口发送数据包;109.数据获取子模块142,用于获取网口的压力测试数据与测试日志。110.作为一种优选的实施例,如图11所示,本技术实施例提供的网卡压力测试系统还包括:111.硬件环境搭建模块150,用于搭建硬件测试环境,使用大于或等于网卡最大传输速率的网线连接两个网口。112.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。113.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。114.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。115.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。116.应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。117.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。118.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献