一种报文发送方法及装置的制造方法

文档序号:10660669阅读:470来源:国知局
一种报文发送方法及装置的制造方法
【专利摘要】本发明提供了一种报文发送方法及装置,其中,所述方法包括:S0:预先设置报文处理模块;S1:获取外部待测设备的路径信息,以及对应目标测试报文的长度参数和测试周期;S2:将所述长度参数、所述测试周期及所述路径信息发送至所述报文处理模块;S3:利用所述报文处理模块根据接收到的所述长度参数,生成至少一个目标测试报文,根据所述测试周期及所述路径信息将所述至少一个测试报文分别发送至所述外部待测设备。通过本发明的技术方案,可提高用户体验。
【专利说明】
一种报文发送方法及装置
技术领域
[0001 ]本发明涉及信息通信技术领域,特别涉及一种报文发送方法及装置。
【背景技术】
[0002] 随着数据中心数据处理业务需求的不断发展,数据中心的服务器通常需要通过网 络收发大量的业务数据,相应的,在数据中心部署服务器时,首先需要对服务器及交换机的 网络性能进行测试。
[0003] 目前,针对待测设备(服务器、交换机)的网络性能进行测试时,主要测试待测设备 能否正常接收相应大小的测试报文,通常需要配置专用的网络测试仪,将待测设备连接到 网络测试仪,工作人员通过在网络测试仪上设置报文大小、数量等参数,以使得网络测试仪 向对应连接的待测设备发送额定大小、数量的测试报文,通过判断待测设备能否正常接收 网络测试仪发送的测试报文来实现检测待测设备的网络性能。
[0004] 可见,上述技术方案中,需要工作人员配置专用的网络测试仪,以生成测试报文并 发送至待测设备,浪费人力成本和时间成本,用户体验较差。

【发明内容】

[0005] 本发明实施例提供了一种报文发送方法及装置,可提高用户体验。
[0006] 第一方面,本发明实施例提供了一种报文发送方法,包括:
[0007] S0:预先设置报文处理模块;
[0008] S1:获取外部待测设备的路径信息,以及对应目标测试报文的长度参数和测试周 期;
[0009] S2:将所述长度参数、所述测试周期及所述路径信息发送至所述报文处理模块;
[0010] S3:利用所述报文处理模块根据接收到的所述长度参数,生成至少一个目标测试 报文,根据所述测试周期及所述路径信息将所述至少一个测试报文分别发送至所述外部待 测设备。
[0011] 进一步的,所述预先设置报文处理模块,包括:
[0012] 预先在Linux操作系统中设置内核模块Pktgen。
[0013]进一步的,所述路径信息,包括:
[0014] 与外部待测设备相连的目标网口的网口信息和外部待测设备的标识信息。
[0015] 进一步的,所述获取对应目标测试报文的长度参数和测试周期,进一步包括:
[0016] 获取对应目标测试报文的数量参数;
[0017] 所述利用所述报文处理模块根据接收到的长度参数,生成至少一个目标测试报 文,包括:
[0018] 利用所述报文处理模块根据接收到的长度参数和数量参数,生成对应所述数量参 数的目标测试报文。
[0019 ]第二方面,本发明实施例提供了一种报文发送装置,包括:
[0020]设置模块,用于预先设置报文处理模块;
[0021 ]获取模块,用于获取外部待测设备的路径信息,以及对应目标测试报文的长度参 数和测试周期;
[0022] 参数传输模块,用于将所述长度参数、所述测试周期及所述路径信息发送至所述 报文处理模块;
[0023] 所述报文处理模块,用于根据接收到的长度参数,生成至少一个目标测试报文,根 据所述测试周期及所述路径信息将所述至少一个测试报文分别发送至所述外部待测设备。 [0024]进一步的,
[0025]所述设置模块,用于预先在Linux操作系统内核中设置内核模块Pktgen。
[0026]进一步的,
[0027]所述路径信息,包括:
[0028] 与外部待测设备相连的目标网口的网口信息和外部待测设备的标识信息。
[0029] 进一步的,
[0030]所述获取模块,进一步用于获取对应目标测试报文的数量参数;
[0031] 所述报文处理模块,用于根据接收到的长度参数和数量参数,生成对应所述数量 参数的目标测试报文。
[0032] 本发明实施例提供了一种报文发送方法及装置,通过预先设置报文处理模块,报 文处理模块可根据接收到的对应目标测试报文的长度参数和测试周期生成至少一个目标 测试报文,并根据接收到的对应外部待测设备的路径信息,将生成的至少一个目标测试报 文发送至对应连接的外部待测设备;可见,本发明提供的技术方案中,工作人员不必再通过 针对待测设备配置专用的网络测试仪以生成测试报文并发送至待测设备,可提高用户体 验。
【附图说明】
[0033] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据 这些附图获得其他的附图。
[0034] 图1是本发明一实施例提供的一种报文发送方法的流程图;
[0035] 图2是本发明一实施例提供的另一种报文发送方法的流程图;
[0036] 图3是本发明一实施例提供的一种报文发送装置的结构图。
【具体实施方式】
[0037] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员 在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038] 如图1所示,本发明实施例提供了一种报文发送方法,包括:
[0039] S0:预先设置报文处理模块;
[0040] S1:获取外部待测设备的路径信息,以及对应目标测试报文的长度参数和测试周 期;
[0041] S2:将所述长度参数、所述测试周期及所述路径信息发送至所述报文处理模块; [0042] S3:利用所述报文处理模块根据接收到的所述长度参数,生成至少一个目标测试 报文,根据所述测试周期及所述路径信息将所述至少一个测试报文分别发送至所述外部待 测设备。
[0043]本发明一实施例中,通过预先设置报文处理模块,报文处理模块可根据接收到的 对应目标测试报文的长度参数和测试周期生成至少一个目标测试报文,并根据接收到的对 应外部待测设备的路径信息,将生成的至少一个目标测试报文发送至对应连接的外部待测 设备;可见,本发明提供的技术方案中,工作人员不必再通过针对待测设备配置专用的网络 测试仪以生成测试报文并发送至待测设备,可提高用户体验。
[0044] 需要说明的是,待测设备可以包括待测服务器或待测交换机。
[0045] 本发明实施例所述报文发送方法,可依赖于一台测试服务器,可通过网线连接测 试服务器的一个网口和多台待测设备,通过在测试服务器中设置报文处理模块,以根据实 际业务需求,利用测试服务器中的报文处理模块生成相应的目标测试报文,并将目标测试 报文周期性的发送至待测设备,当待测设备无法接收测试服务器通过网线传输的目标测试 报文时,则说明待测设备可能发生网络故障,比如待测服务器的网卡故障或待测交换机的 接口故障等,无法与其他网络设备进行通信。
[0046] 本发明一实施例中,测试服务器的操作系统可以包括Linux操作系统,报文处理模 块可以包括基于Linux操作系统的内核模块Pktgen;具体地,本发明一个优选实施例中,所 述预先设置报文处理模块,包括:
[0047]预先在Linux操作系统中设置内核模块Pktgen。
[0048]需要说明的是,内核模块Pktgen即报文处理模块。
[0049]本发明一实施例中,基于Linux操作系统的内核模块Pktgen,可根据接收到的对应 目标测试报文的长度参数,生成对应的目标测试报文,并根据接收到的测试周期,周期性的 根据接收到的对应目标服务器的路径信息将生成的每一个目标测试报文分别发送至待测 设备;内核模块Pktgen工作在Linux操作系统的内核状态下,内核模块Pktgen发送目标测试 报文的效率较高,可以用来生成并发送大批量的目标测试报文。
[0050]进一步的,为了准确的向对应连接的待测设备周期性的发送目标测试报文,本发 明一个优选实施例中,所述路径信息,包括:
[0051 ]与外部待测设备相连的目标网口的网口信息和外部待测设备的标识信息。
[0052] 进一步的,为了实现有针对性的控制向待测设备发送目标测试报文的次数,本发 明一个优选实施例中,所述获取对应目标测试报文的长度参数和测试周期,进一步包括:
[0053] 获取对应目标测试报文的数量参数;
[0054]所述步骤S3中,利用所述报文处理模块根据接收到的长度参数,生成至少一个目 标测试报文,包括:
[0055] 利用所述报文处理模块根据接收到的长度参数和数量参数,生成对应所述数量参 数的目标测试报文。
[0056] 为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本 发明作进一步地详细描述。
[0057]如图2所示,本发明实施例提供了一种报文发送方法,以待测设备是待测服务器为 例,包括:
[0058]步骤201,在测试服务器的Linux操作系统中加载内核模块Pktgen。
[0059] 本发明实施例中所述报文发送方法以依赖测试服务器为例,即实现本发明实施例 各个步骤的软件模块位于测试服务器中,且可利用测试服务器中的相应硬件设备来完成相 应业务功能。
[0060] 需要说明的是,在可能实现的情况下,本发明实施例中所述报文发送方法也可依 赖于其他具备独立操作系统的设备。
[0061] 步骤202,通过网线连接测试服务器的一个网口和待测服务器。
[0062]步骤203,获取待测服务器的路径信息。
[0063] 这里,路径信息包括测试服务器中用于向对应连接待测服务器的一个网口的网口 信息和待测服务器的标识信息。
[0064]这里,待测服务器的标识信息可以是待测服务器的物理地址或网络地址。
[0065] 可通过如下代码实现定义连接待测服务器的一个网口:
[0066] pgset"add_device eth6"
[0067] PGDEV = / proc/net/pktgen/eth6 〇
[0068] 需要说明的是,eth6即测试服务器中连接待测服务器的一个网口的编号,这里可 根据实际业务场景定义网口编号,比如,还可以定义网口编号为ethl、eth2等。
[0069] 步骤204,获取对应目标测试报文的长度参数、测试周期以及数量参数。
[0070] 本发明一实施例中,所述步骤204可通过如下代码实现:
[0071] echo〃Adding devices ethx to run".
[0072] PGDEV = /proc/net/pktgen/kpktgend_0
[0073] pgset//rem_device_all//
[0074] pgset"add_device eth6"
[0075] echo^Configuring devices"
[0076] PGDEV=/proc/net/pktgen/eth6
[0077] pgset"clone_skb 1"
[0078] pgset"pkt_size 124"
[0079] #pgset"delay 1000000000〃
[0080] pgset"src_mac 00:A0:C9:23:45:6B〃
[0081 ] #pgset"src_mac_count 500"
[0082] #pgset"src_min 10.0.0.1"
[0083] #pgset"src_max 10.255.255.255"
[0084] #pgset"dst 192.168.100.98〃
[0085] pgset"dst_mac 00:00:00:00:22:13"
[0086] pgset"dst_mac_count 500"
[0087] pgset"count 0"〇
[0088] 其中,pkt_siZe是对应目标测试报文的长度参数;delay是两个相邻目标测试报文 之间的发送延时,即测试周期,单位是ns;dst是待测服务器的ip地址,即待测服务器的网络 地址;dst_mac是待测服务器的物理地址;count是需要向待测服务器发送的目标测试报文 的总数,即数量参数;需要说明的是,count为0表示不限发包次数一直发送。
[0089] 本发明一实施例中,通过执行上述代码实现定义对应目标测试报文的长度参数、 测试周期以及数量参数等,免去人机交互过程,进一步提升用户体验。
[0090] 步骤205,将路径信息、长度参数、测试周期以及数量参数发送至内核模块Pktgen。 [0091 ]本发明一实施例中,所述步骤205可通过如下代码实现:
[0094]步骤206,内核模块Pktgen生成对应长度参数、数量参数的目标测试报文。
[0095]步骤207,内核模块Pktgen根据测试周期及路径信息,周期性的向待测服务器发送 生成的目标测试报文。
[0096]本发明一实施例中,当步骤204中数量参数为0时,内核模块Pktgen周期性的持续 向待测服务器发送目标测试报文,如果需要停止向待测服务器发送目标测试报文,通过按 下测试服务器的ctrl+c来停止向待测服务器发送目标测试报文;当步骤204中数量参数不 为0时,测试服务器周期性的向待测服务器发送对应该数量参数的目标测试报文后停止发 报。
[0097]如图3所示,本发明实施例提供了一种报文发送装置,包括:
[0098]设置模块301,用于预先设置报文处理模块304;
[0099]获取模块302,用于获取外部待测设备的路径信息,以及对应目标测试报文的长度 参数和测试周期;
[0100]参数传输模块303,用于将所述长度参数、所述测试周期及所述路径信息发送至所 述报文处理模块304;
[0101]所述报文处理模块304,用于根据接收到的长度参数,生成至少一个目标测试报 文,根据所述测试周期及所述路径信息将所述至少一个测试报文分别发送至所述外部待测 设备。
[0102]具体地,本发明一个优选实施例中,所述设置模块301,用于预先在Linux操作系统 内核中设置内核模块Pktgen。
[0103]需要说明的是,内核模块Pktgen即报文处理模块。
[0104] 进一步的,为了实现准确的向对应连接的待测设备周期性的发送目标测试报文, 本发明一个优选实施例中,所述路径信息,包括:
[0105] 与外部待测设备相连的目标网口的网口信息和外部待测设备的标识信息。
[0106] 进一步的,为了实现针对向待测设备发送的目标测试报文的次数进行控制,本发 明一个优选实施例中,
[0107] 所述获取模块302,进一步用于获取对应目标测试报文的数量参数;
[0108] 所述报文处理模块304,用于根据接收到的长度参数和数量参数,生成对应所述数 量参数的目标测试报文。
[0109] 上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施 例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0110] 本发明各个实施例至少具有如下有益效果:
[0111] 1、通过预先设置报文处理模块,报文处理模块可根据接收到的对应目标测试报文 的长度参数和测试周期生成至少一个目标测试报文,并根据接收到的对应外部待测设备的 路径信息,将生成的至少一个目标测试报文发送至对应连接的外部待测设备;可见,本发明 提供的技术方案中,工作人员不必再通过针对待测设备配置专用的网络测试仪以生成测试 报文并发送至待测设备,可提高用户体验。
[0112] 2、通过在测试服务器的Linux操作系统中加载内核模块Pktgen,内核模块Pktgen 工作在Linux操作系统的内核状态下,内核模块Pktgen发送目标测试报文的效率较高,可以 用来生成并发送大批量的目标测试报文。
[0113]需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体 或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在 任何这种实际的关系或者顺序。而且,术语"包括"、"包含"或者其任何其他变体意在涵盖非 排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素, 而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固 有的要素。在没有更多限制的情况下,由语句"包括一个......"限定的要素,并不排 除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
[0114] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过 程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序 在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光 盘等各种可以存储程序代码的介质中。
[0115] 最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技 术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、 等同替换、改进等,均包含在本发明的保护范围内。
【主权项】
1. 一种报文发送方法,其特征在于,包括: 预先设置报文处理模块; 获取外部待测设备的路径信息,以及对应目标测试报文的长度参数和测试周期; 将所述长度参数、所述测试周期及所述路径信息发送至所述报文处理模块; 利用所述报文处理模块根据接收到的所述长度参数,生成至少一个目标测试报文,根 据所述测试周期及所述路径信息将所述至少一个测试报文分别发送至所述外部待测设备。2. 根据权利要求1所述的报文发送方法,其特征在于,所述预先设置报文处理模块,包 括: 预先在Linux操作系统中设置内核模块Pktgen。3. 根据权利要求1所述的报文发送方法,其特征在于,所述路径信息,包括: 与外部待测设备相连的目标网口的网口信息和外部待测设备的标识信息。4. 根据权利要求1至3中任一所述的报文发送方法,其特征在于,所述获取对应目标测 试报文的长度参数和测试周期,进一步包括: 获取对应目标测试报文的数量参数; 所述利用所述报文处理模块根据接收到的长度参数,生成至少一个目标测试报文,包 括: 利用所述报文处理模块根据接收到的长度参数和数量参数,生成对应所述数量参数的 目标测试报文。5. -种报文发送装置,其特征在于,包括: 设置模块,用于预先设置报文处理模块; 获取模块,用于获取外部待测设备的路径信息,以及对应目标测试报文的长度参数和 测试周期; 参数传输模块,用于将所述长度参数、所述测试周期及所述路径信息发送至所述报文 处理模块; 所述报文处理模块,用于根据接收到的长度参数,生成至少一个目标测试报文,根据所 述测试周期及所述路径信息将所述至少一个测试报文分别发送至所述外部待测设备。6. 根据权利要求1所述的报文发送装置,其特征在于, 所述设置模块,用于预先在Linux操作系统内核中设置内核模块Pktgen。7. 根据权利要求5所述的报文发送装置,其特征在于, 所述路径信息,包括: 与外部待测设备相连的目标网口的网口信息和外部待测设备的标识信息。8. 根据权利要求5至7中任一所述的报文发送装置,其特征在于, 所述获取模块,进一步用于获取对应目标测试报文的数量参数; 所述报文处理模块,用于根据接收到的长度参数和数量参数,生成对应所述数量参数 的目标测试报文。
【文档编号】H04L12/26GK106027324SQ201610293099
【公开日】2016年10月12日
【申请日】2016年5月5日
【发明人】王野
【申请人】浪潮电子信息产业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1