基于以太网测试仪的数据校验方法和装置的制造方法

文档序号:9380070阅读:383来源:国知局
基于以太网测试仪的数据校验方法和装置的制造方法
【技术领域】
[0001]本发明涉及数据处理领域,具体来说,涉及一种基于以太网测试仪的数据校验方法和装置。
【背景技术】
[0002]以太网测试仪是一种用于产生以太网网络流量注入到被测设备,并通过分析从被测设备返回的以太网来获得被测设备信息的专用测试仪器。
[0003]目前,在以太网测试仪的使用过程中,有时需要对整个测试帧实行校验,用来检测以太网帧经过被测环境(特别是2层环境)的传输过程中是否被改变。校验的方法可以随意选择,比如IP头部校验所采用的双字节取反相加或者CRC校验。
[0004]图1显示了在带测试域的情况下全包校验的一般实现方法,就是从包的第一个字节开始,一直计算到测试域之前,即图中101和102的部分,然后把计算得到的校验值(校验和)添加在测试域103中104的位置,在接收测试帧的时候重新计算全包校验的校验值并与测试域中的校验值对比,判断信息是否被改变。
[0005]该方法有一个问题,就是如果在测试包中包含TCP,ICMP等需要对包内容计算校验值的协议,就会出现校验值的循环计算情况导致无法实现常规意义上的全包校验。以TCP协议为例,为了说明该问题,如图2所示,将测试包的包头又细分为2-3层包头201和TCP包头202,,TCP协议要求对TCP包进行全包校验,校验范围如208所示,需要动态计算TCP校验值,并填充到TCP头部中的205位置。由于常规的全包校验值是从包的第一个字节计算到测试域开始前的一个字节,所以一旦TCP校验值改变,测试域中的全包校验值也随之改变,进而TCP校验值又需要改变,再引起全包校验值改变,如此反复。为了清楚说明,本文出现的2层、3层对应于0SI7层模型中的数据链路层及网络层。
[0006]为了解决上述技术问题,目前有两种解决方案。
[0007]现有技术一的方案:
[0008]如图3所示,以太网帧本身定义了 FCS校验值,该值是由以太网帧的传输路径中的每个设备进行计算并添加到以太网帧的最后四个字节,FCS值本质是一种CRC校验,数据路径中的每一个设备收到一个以太网帧以后,首先检查FCS值是否正确,如果正确则认为是一个有效的以太网帧,中间设备可以对该帧做任何改变,然后重新计算FCS值,添加到最后四个字节并发送出去。
[0009]由于FCS值是由数据路径中的每个设备单独检查,重新计算该值并添加到帧尾,所以就算以太网帧被改变也不可能依靠FCS值检测出来。
[0010]现有技术二的方案:
[0011]当出现了需要进行协议包全部内容校验的高层协议(比如TCP,ICMP)等的时候,放弃全包校验,将测试域中的包内容校验部分填O,这样整个网络包只需要包含IP校验,TCP校验等,不会出现需要循环计算的情况。
[0012]这种技术方案的缺点是如果该以太网帧包含了类似TCP这样的高层协议,由于没有进行全包校验,对某些错误是检测不出来的(比如目的MAC地址被改变)。
[0013]针对相关技术中的问题,目前尚未提出有效的解决方案。

【发明内容】

[0014]针对相关技术中的问题,本发明提出一种基于以太网测试仪的数据校验方法和装置。
[0015]为实现上述技术目的,根据本发明的一个方面,提供了一种基于以太网测试仪的数据校验方法。
[0016]该数据校验方法,包括:
[0017]确定用户发送的测试帧的类型;
[0018]根据测试帧的类型,选择与测试帧的类型相对应的数据校验方法对测试帧进行校验。
[0019]此外,当需要对测试帧的除网络层至物理层以外的协议内容进行校验的情况下,则只对测试帧的2层信息进行校验。
[0020]另外,当不需要对测试帧的除网络层至物理层以外的协议内容进行校验的情况下,则对测试帧进行全包校验。
[0021 ] 此外,测试帧的2层信息进行校验包括:
[0022]计算测试帧的校验值,得到第一校验值;
[0023]将第一校验值添加至测试帧的测试域中;
[0024]接收添加了第一校验值的测试帧,并计算该测试帧的2层信息的校验值及全包校验的校验值,分别得到第二校验值及第三校验值;
[0025]将第一校验值与第二校验值进行比较。
[0026]另外,对测试帧进行全包校验包括:
[0027]计算测试帧的校验值,得到第四校验值;
[0028]将第四校验值添加至测试帧的测试域中;
[0029]接收添加了第四校验值的测试帧,并计算该测试帧的2层信息的校验值及全包校验的校验值,分别得到第五校验值及第六校验值;
[0030]将第四校验值与第六校验值进行比较。
[0031]此外,根据用户选择的测试帧的类型,在寄存器中获取与测试帧的类型相对应的校验类型及校验覆盖范围,寄存器中存储有对测试帧进行校验的校验类型,以及每种校验类型对应的校验覆盖范围。
[0032]根据本发明的另一方面,提供了一种基于以太网测试仪的数据校验装置。
[0033]该数据校验装置,包括:
[0034]确定模块,用于确定用户发送的测试帧的类型;
[0035]校验模块,用于根据测试帧的类型,选择与测试帧的类型相对应的数据校验方法对测试帧进行校验。
[0036]此外,校验模块进一步用于,当需要对测试帧的除网络层至物理层以外的协议内容进行校验的情况下,则只对测试帧的2层信息进行校验。
[0037]另外,校验模块进一步用于,当不需要对测试帧的除网络层至物理层以外的协议内容进行校验的情况下,则对测试帧进行全包校验。
[0038]此外,校验模块进一步包括:
[0039]第一计算子模块,用于计算测试帧的校验值,得到第一校验值;
[0040]第一添加子模块,用于将第一校验值添加至测试帧的测试域中;
[0041]第一接收子模块,用于接收添加了第一校验值的测试帧;
[0042]第二计算子模块,用于计算该测试帧的2层信息的校验值及全包校验的校验值,分别得到第二校验值及第三校验值;
[0043]第一比较子模块,用于将第一校验值与第二校验值进行比较。
[0044]另外,校验模块进一步包括:
[0045]第三计算子模块,用于计算测试帧的校验值,得到第四校验值;
[0046]第二添加子模块,用于将第四校验值添加至测试帧的测试域中;
[0047]第二接收子模块,用于接收添加了第四校验值的测试帧;
[0048]第四计算子模块,用于计算该测试帧的2层信息的校验值及全包校验的校验值,分别得到第五校验值及第六校验值;
[0049]第二比较子模块,用于将第四校验值与第六校验值进行比较。
[0050]此外,获取模块,用于根据用户选择的测试帧的类型,在寄存器中获取与测试帧的类型相对应的校验类型及校验覆盖范围,寄存器中存储有对测试帧进行校验的校验类型,以及每种校验类型对应的校验覆盖范围。
[0051]本发明通过确定用户发送的测试帧的类型,选择与测试帧的类型相对应的数据校验方法对测试帧进行校验,实现了根据所需发送的测试帧的类型,动态设定校验方法的策略,从而可对任何以太网帧实现全包校验。
【附图说明】
[0052]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0053]图1是现有技术中全包校验的数据帧的结构示意图;
[0054]图2是现有技术中全包校验的含有TCP协议的测试帧的结构示意图;
[0055]图3是现有技术中的定义了 FCS校验的测试帧的结构示意图;
[0056]图4是根据本发明实施例的以太网测试帧的结构示意图;
[0057]图5是根据本发明实施例的基于以太网测试仪的数据校验方法的流程图;
[0058]图6是根据本发明实施例的基于以太网测试仪的数据校验方法装置的框图。
【具体实施方式】
[0059]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
[0060]图4是根据本发明实施例的以太网测试帧的结构示意图。该网络包包括'2层信息、3层信息、4层信息及4层净荷。以典型的TCP/IP网络为例,如图4所示,IP层有IP头校验,其校验范围涵盖了 IP头,TCP有TCP校验,其校验范围涵盖了 TCP包的整个部分,所以对于这样的网络包,在进行全包校验的时候,其缺失的部分也只有2层信息。因此如果测试包有TCP等需要对整个协议内容进行校验的情况,则在测试域的校验值部分只包含2层校验信息的校验值(只进行2层信息的校验),否则就进行常规的全包校验,校验范围为包头加净荷。
[0061]根据上述所述,本发明的实施例提供了一种基于以太网测试仪的数据校验方法。
[0062]如图5所示,根据本发明实施例的基于以太网测试仪的数据校验方法包括:
[0063]步骤S501,确定用户发送的测试帧的类型;
[0064]步骤S503,根据测试帧的类型,选择与测试帧的类型相对应的数据校验方法对测试帧进行校验。
[0065]其中,当需要对测试帧的除网络层至物理层以外的协议内容进行校验的情况下,则只对测试帧的2层信息进行校验,如测试包中含有TCP协议的情况。可以将此种情况标明为第一种情况,其对应于第一种测试帧的类型。
[0066]另外,当不需要对测试帧的除网络层至物
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1