网络设备测试方法、数据包发生方法和交换芯片技术

技术编号:33375290 阅读:15 留言:0更新日期:2022-05-11 22:42
本公开实施例公开了一种网络设备测试方法、数据包发生方法和交换芯片。所述网络设备测试方法包括:获取输入数据包;基于所述输入数据包得到多个输出数据包,包括:基于所述输入数据包得到中间数据包,通过对所述中间数据包进行预设处理得到所述多个输出数据包,所述预设处理包括对所述中间数据包进行复制;向网络设备发送所述输出数据包,以对所述网络设备进行测试。进行测试。进行测试。

【技术实现步骤摘要】
网络设备测试方法、数据包发生方法和交换芯片


[0001]本公开涉及网络测试
,具体涉及一种网络设备测试方法、数据包发生方法和交换芯片。

技术介绍

[0002]网络性能测试是指通过向网络中注入高速数据流,明确被测设备在高负载下的转发性能与潜在缺陷。在传统的网络性能测试中,将多个服务器连接到被测设备,通过服务器向被测设备发送流量,但由于单台服务器的发包能力有限,因此当对Tbps级别的高速数据流的转发速率等参数进行测试时,往往需要几十台服务器共同发包,设备成本、功耗和场地空间成本均很高。

技术实现思路

[0003]为了解决相关技术中的问题,本公开实施例提供一种网络设备测试方法、数据包发生方法和交换芯片。
[0004]第一方面,本公开实施例中提供了一种网络设备测试方法,包括:
[0005]获取输入数据包;
[0006]基于所述输入数据包得到多个输出数据包,包括:基于所述输入数据包得到中间数据包,通过对所述中间数据包进行预设处理得到所述多个输出数据包,所述预设处理包括对所述中间数据包进行复制;
[0007]向网络设备发送所述输出数据包,以对所述网络设备进行测试。
[0008]第二方面,本公开实施例中提供了一种数据包发生方法。
[0009]具体地,所述数据包发生方法,包括:
[0010]获取输入数据包;
[0011]基于所述输入数据包得到多个输出数据包,包括:基于所述输入数据包得到中间数据包,通过对所述中间数据包进行预设处理得到所述多个输出数据包,所述预设处理包括对所述中间数据包进行复制;
[0012]输出所述多个输出数据包。
[0013]结合第二方面,本公开在第二方面的第一种实现方式中,还包括:基于所述中间数据包更新所述输入数据包。
[0014]结合第二方面,本公开在第二方面的第二种实现方式中,所述基于所述输入数据包得到中间数据包,包括通过对所述输入数据包进行第一随机化处理,得到所述中间数据包;
[0015]所述通过对所述中间数据包进行预设处理得到多个输出数据包,包括通过对所述中间数据包进行复制得到多个复制数据包,对所述多个复制数据包分别进行第二随机化处理,得到所述多个输出数据包。
[0016]结合第二方面的第二种实现方式,本公开在第二方面的第三种实现方式中,所述
方法在交换芯片中实现,所述交换芯片包括多个部件,所述部件包括:外部出方向流水线、内部出方向流水线、流量管理模块;
[0017]所述通过将所述输入数据包进行第一随机化处理,得到所述中间数据包,包括通过所述内部出方向流水线对所述输入数据包进行第一随机化处理,得到所述中间数据包;
[0018]所述通过对所述中间数据包进行复制得到多个复制数据包,包括通过所述流量管理模块对所述中间数据包进行复制得到所述多个复制数据包;
[0019]所述对所述多个复制数据包分别进行第二随机化处理,得到所述多个输出数据包,包括通过多个外部出方向流水线分别对所述多个复制数据包进行第二随机化处理,得到所述多个输出数据包。
[0020]结合第二方面的第三种实现方式,本公开在第二方面的第四种实现方式中,所述部件还包括内部入方向流水线,所述方法还包括:
[0021]通过所述内部入方向流水线从所述内部出方向流水线接收所述中间数据包;
[0022]通过所述内部入方向流水线将所述中间数据包发送到所述流量管理模块,使用所述流量管理模块中的单播功能将所述中间数据包作为更新的输入数据包发送到所述内部出方向流水线,
[0023]其中,所述通过对所述中间数据包进行复制得到多个复制数据包,包括通过所述内部入方向流水线将所述中间数据包发送到所述流量管理模块,使用所述流量管理模块中的多播功能对所述中间数据包进行复制得到多个复制数据包并发送到所述多个外部出方向流水线。
[0024]结合第二方面的第四种实现方式,本公开在第二方面的第五种实现方式中,其中:
[0025]所述获取输入数据包,包括获取多个不同输入数据包;
[0026]所述基于所述输入数据包得到多个输出数据包,包括以串行方式对所述多个不同输入数据包进行处理,得到所述多个输出数据包,其中,在任一时刻,所述交换芯片的不同部件处理的数据包对应于不同的输入数据包。
[0027]结合第二方面的第二种实现方式,本公开在第二方面的第六种实现方式中,还包括:对于所述输入数据包、中间数据包、复制数据包、输出数据包中的任意一种数据包:
[0028]使用N个计数器,依次在计数时间间隔t内对所述数据包进行连续计数,第i个计数器计数完毕之后,第i+1个计数器开始计数,i<N,第N个计数器计数完毕之后,第1个计数器开始计数,N的最小值由计数时间间隔t和读取计数器的时间间隔T的计时误差e确定,时间间隔T由计数时间间隔t和误差e确定;
[0029]在时刻T1读取所述N个计数器的第一组计数值;
[0030]在时刻T2读取所述N个计数器的第二组计数值,T2

T1=T;
[0031]根据所述第一组计数值和所述第二组计数值、计数时间间隔t计算所述数据包的速率。
[0032]结合第二方面,本公开在第二方面的第七种实现方式中,所述方法还包括对所述中间数据包串行执行两级限速,包括:
[0033]在第一级限速中,按照预设规则丢弃中间数据包,使得未丢弃的中间数据包的传输速率小于等于预设阈值,且未丢弃的中间数据包的时间间隔大致相等;
[0034]在第二级限速中,每隔m个中间数据包,丢弃连续的n个中间数据包。
[0035]结合第二方面,本公开在第二方面的第八种实现方式中,所述方法还包括:
[0036]向指定设备发送多个输出数据包;
[0037]接收由所述指定设备转发回的所述输出数据包;
[0038]根据发送的输出数据包的数量、时间戳和接收的输出数据包的数量、时间戳,计算网络时延。
[0039]结合第二方面的第八种实现方式,本公开在第二方面的第九种实现方式中,所述根据发送的输出数据包的数量、时间戳和接收的输出数据包的数量、时间戳,计算网络时延,包括:
[0040]对于第一个发送的输出数据包,将当前时间戳记录为发送时间戳偏移量,对于后续发送的输出数据包,记录当前时间戳与发送时间戳偏移量的差值的第一累加值;
[0041]对于第一个接收的输出数据包,将当前时间戳记录为接收时间戳偏移量,对于后续接收的输出数据包,记录当前时间戳与接收时间戳偏移量的差值的第二累加值;
[0042]根据发送的输出数据包的数量、接收的输出数据包的数量、发送时间戳偏移量、接收时间戳偏移量、第一累加值、第二累加值,计算所述网络时延。
[0043]第三方面,本公开实施例中提供了一种交换芯片。
[0044]具体地,所述交换芯片,包括多个部件,所述部件包括内部入方向流水线、内部出方向流水线、外部出方向流水线、流量管本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络设备测试方法,包括:获取输入数据包;基于所述输入数据包得到多个输出数据包,包括:基于所述输入数据包得到中间数据包,通过对所述中间数据包进行预设处理得到所述多个输出数据包,所述预设处理包括对所述中间数据包进行复制;向网络设备发送所述输出数据包,以对所述网络设备进行测试。2.一种数据包发生方法,包括:获取输入数据包;基于所述输入数据包得到多个输出数据包,包括:基于所述输入数据包得到中间数据包,通过对所述中间数据包进行预设处理得到所述多个输出数据包,所述预设处理包括对所述中间数据包进行复制;输出所述多个输出数据包。3.根据权利要求2所述的方法,还包括:基于所述中间数据包更新所述输入数据包。4.根据权利要求2所述的方法,其中:所述基于所述输入数据包得到中间数据包,包括通过对所述输入数据包进行第一随机化处理,得到所述中间数据包;所述通过对所述中间数据包进行预设处理得到多个输出数据包,包括通过对所述中间数据包进行复制得到多个复制数据包,对所述多个复制数据包分别进行第二随机化处理,得到所述多个输出数据包。5.根据权利要求4所述的方法,其中:所述方法在交换芯片中实现,所述交换芯片包括多个部件,所述部件包括:外部出方向流水线、内部出方向流水线、流量管理模块;所述通过将所述输入数据包进行第一随机化处理,得到所述中间数据包,包括通过所述内部出方向流水线对所述输入数据包进行第一随机化处理,得到所述中间数据包;所述通过对所述中间数据包进行复制得到多个复制数据包,包括通过所述流量管理模块对所述中间数据包进行复制得到所述多个复制数据包;所述对所述多个复制数据包分别进行第二随机化处理,得到所述多个输出数据包,包括通过多个外部出方向流水线分别对所述多个复制数据包进行第二随机化处理,得到所述多个输出数据包。6.根据权利要求5所述的方法,其中,所述部件还包括内部入方向流水线,所述方法还包括:通过所述内部入方向流水线从所述内部出方向流水线接收所述中间数据包;通过所述内部入方向流水线将所述中间数据包发送到所述流量管理模块,使用所述流量管理模块中的单播功能将所述中间数据包作为更新的输入数据包发送到所述内部出方向流水线,其中,所述通过对所述中间数据包进行复制得到多个复制数据包,包括通过所述内部入方向流水线将所述中间数据包发送到所述流量管理模块,使用所述流量管理模块中的多播功能对所述中间数据包进行复制得到多个复制数据包并发送到所述多个外部出方向流
水线。7.根据权利要求6所述的方法,其中:所述获取输入数据包,包括获取多个不同输入数据包;所述基于所述输入数据包得到多个输出数据包,包括以串行方式对所述多个不同输入数据包进行处理,得到所述多个输出数据包,其中,在任一时刻,所述交换芯片的不同部件处理的数据包对应于不同的输入数据包。8.根据权利要求4所述的方法,还包括:对于所述输入数据包、中间数据包、复制数据包、输出数据包中的任意一种数据包:使用N个计数器,依次在计数时间间隔t内对所述数据包进行连续计数,第i个计数器计数完毕之后,第i+1个计数器开始计数,i<N,第N个计数器计数完毕之后,第1个计数器开始计数,N的最小值由计数时间间隔t和读取计数器的时间间隔T的计时误差e确定,时间间隔T由计数时间间隔t和误差e确定;在时刻T1读取所述N个计数器的第一组计数值;在时刻T2读取所述N个计数器的第二组计数值,T2

T1=T;根据所述第一组计数值和所述第二组计数值、计数时间间隔t计算所述数据包的速率。9.根据权利要求2所述的方法,还包括对所述中间数据包串行执行两级限速,包括:在第一级限速中,按照预设规则丢弃中间数据包,使得未丢弃的中间数据包的传输速率小于等于预设阈值,且未丢弃的中间数据包的时间间隔大致相等;在第二级限速中,每隔m个中间数据包,丢弃连续的n个中...

【专利技术属性】
技术研发人员:田冰川戴力翟恩南周禹
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1