一种实现报文检错的方法及装置与流程

文档序号:11732012阅读:250来源:国知局
一种实现报文检错的方法及装置与流程

本发明涉及数据通信领域,尤指一种实现报文检错的方法及装置。



背景技术:

在运行商网络、企业网络、以及互联网网络等网络中涉及种类和数量都十分庞大的网络设备,例如:宽带远程接入服务器(bras)设备、接入/核心路由器设备、接入/核心交换机设备、三层交换机设备和各种光网络设备等。这些网络设备运行网络之间互连的协议(ip)网络协议,通过相互连接构建了一个基于ip网络协议的世界。报文经过网络设备传输时部分报文字段是不应发生变化的,而在报文传输过程中则可能发生报文错误的情况;以企业网络为例,假设存在区域a与区域b、区域a与区域c的通信链路,区域a和区域b之间的通信链路由于路由器或交换机的丢包率高、系统问题等ip链路问题使不应发生变化的报文字段在区域a和区域b之间传输时发生变化,造成报文错误的问题,影响正常通信。上述系统问题可能是系统软件或硬件存在故障、或外部环境影响系统工作性能(比如电磁干扰)等影响报文正常传输的问题。如果不应发生变化的报文字段被改变,例如ip地址字段被修改,则报文会被投递到错误的目的地址,最终作为坏包丢弃,影响网络的正常通信。

当网络规模不大时,发现错误报文后,一般可以由经验丰富的技术人员根据经验判断是否网络设备可能存在的问题,通过重启可能存在问题的网络设备、重新进行网络连接、或更换网络设备等方法进行报文出错问题的解决。当网络规模增大到一定程度时,发现错误报文和基于错误报文依据经验进行网络设备是否存在问题的判断准确程度将大大降低,解决错误报文问题需要进行多次尝试,而每次尝试都可能造成网络彻底中断,影响网络的正常通信。尤其是对于规模庞大的互联网网络,发现错误报文和依据经验确定出现问题的具体网络设备更为困难。



技术实现要素:

为了解决上述技术问题,本发明提供一种实现报文检错的方法及装置,能够在网络规模增大的情况下,确定报文是否发生错误和判断网络设备是否正常。

为了达到本发明目的,本发明提供了一种实现报文检错的方法,包括:

获取并区分被检测网络传输的入向报文和出向报文;

对入向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错;

所述被检测网络为由一个或一个以上网络设备构成的网络。

可选的,获取并区分被检测网络传输的入向报文和出向报文具体包括:

通过预先设置的入向接口接收复制的所述入向报文,通过预先设置的出向接口接收复制的所述出向报文;或,

获取所述入向报文和所述出向报文时,对获取的所述入向报文和所述出向报文分别添加相应的流向信息,以区分所述入向报文和所述出向报文。

可选的,获取并区分被检测网络传输的入向报文和出向报文具体包括:

当所述网络设备为电口设备时,通过所述被检测网络的网络设备上配置复制所述被检测网络传输的所述入向报文和所述出向报文;

当所述网络设备为光口设备时,通过所述被检测网络的分光器进行所述被检测网络传输的入向报文和出向报文的分光复制。

可选的,该方法还包括:

所述对入向报文和出向报文分别添加相应的流向信息时,对添加所述流向信息的入向报文和出向报文进行封装;

所述对入向报文与出向报文中不应发生变化部分进行匹配前,对封装的包含所述流向信息的入向报文和出向报文进行解封装。

可选的,封装包括:通用路由封装协议gre封装、或用户数据报协议udp封装。

可选的,所述将入向报文与出向报文中不应发生变化部分进行匹配具体 包括:

将所述入向报文中不应发生变化部分的内容与出向报文中所述不应发生变化部分的内容进行匹配;或,

提取所述入向报文中不应发生变化部分的内容的特征值和所述出向报文中不应发生变化部分的内容的特征值;

将提取的所述入向报文中不应发生变化部分的内容的特征值与提取的所述出向报文中不应发生变化部分的内容的特征值进行匹配。

可选的,对入向报文与出向报文中不应发生变化部分进行匹配前,该方法还包括:

过滤所述被检测网络主动发出的出向报文和发送给所述被检测网络的入向报文。

可选的,对入向报文与出向报文中不应发生变化部分进行匹配前,该方法还包括:

过滤所述被检测网络组播和/或广播传输的报文。

可选的,对入向报文与出向报文中不应发生变化部分进行匹配具体包括:

当处于非网络地址转换nat场景时,对源地址和/或目的地址相同的所述入向报文中不应发生变化部分与所述出向报文中不应发生变化部分进行匹配;

处于nat场景时,根据所述入向报文和所述出向报文的源地址和目的地址,及nat场景中本地地址和全局地址映射条目,确定获取的所述入向报文和所述出向报文映射后的源地址和目的地址,选择确定的映射的源地址和目的地址对应的入向报文和出向报文,进行所述入向报文与出向报文中不应发生变化部分的匹配。

可选的,当所述被检测网络传输的报文的常见报文时,该方法还包括:对所述入向报文和所述出向报文中不应发生变化部分包含的区分字段内容进行报文学习;

通过获得所述入向报文和所述出向报文中不应发生变化部分包含的区分字段内容的报文学习结果,对报文学习结果中入向报文和出向报文中不应发 生变化部分包含的区分字段匹配的,确定报文未发生错误;对报文学习结果中入向报文和出向报文中不应发生变化部分包含的区分字段不匹配的,对入向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错。

可选的,区分字段包括:协议、和/或长度、和/或标志位。

可选的,该方法还包括:根据确定出错的报文,对发生错误报文涉及的网络设备进行调整。

另一方面,本申请还提供一种实现报文检错的装置,包括:获取单元和匹配分析单元;其中,

获取单元,用于获取并区分被检测网络传输的入向报文和出向报文;

匹配分析单元,用于对入向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错;

所述被检测网络为由一个或一个以上网络设备构成的网络。

可选的,获取单元具体用于,

通过预先设置的入向接口接收复制的所述入向报文,通过预先设置的出向接口接收复制的所述出向报文;或,

获取所述入向报文和所述出向报文时,对获取的所述入向报文和所述出向报文分别添加相应的流向信息,以区分所述入向报文和所述出向报文。

可选的,获取单元具体用于,

当所述网络设备为电口设备时,通过在所述被检测网络的网络设备上配置复制所述被检测网络传输的入向报文和出向报文;

当所述网络设备为光口设备时,通过所述被检测网络的分光器进行所述被检测网络传输的入向报文和出向报文的分光复制。

可选的,该装置还包括封装处理单元,用于对入向报文和出向报文分别添加相应的流向信息时,对添加流向信息的所述入向报文和所述出向报文进行封装;

所述对入向报文与出向报文中不应发生变化部分进行匹配前,对封装的包含流向信息的入向报文和出向报文进行解封装。

可选的,匹配分析单元具体用于,

将所述入向报文中不应发生变化部分的内容与出向报文中所述不应发生变化部分的内容进行匹配,确定报文是否出错;或,

提取所述入向报文中不应发生变化部分的内容的特征值和所述出向报文中不应发生变化部分的内容的特征值;

将提取的所述入向报文中不应发生变化部分的内容的特征值与提取的所述出向报文中不应发生变化部分的内容的特征值进行匹配,确定报文是否出错。

可选的,该装置还包括过滤单元,用于对入向报文与出向报文中不应发生变化部分进行匹配前,过滤所述被检测网络主动发出的出向报文和发送给所述被检测网络的入向报文。

可选的,该装置还包括过滤单元,用于对入向报文与出向报文中不应发生变化部分进行匹配前,过滤所述被检测网络组播和/或广播传输的报文。

可选的,匹配分析单元具体用于,

当处于非网络地址转换nat场景时,对源地址和/或目的地址相同的所述入向报文中不应发生变化部分与所述出向报文中不应发生变化部分进行匹配,确定报文是否出错;

处于nat场景时,根据所述入向报文和所述出向报文的源地址和目的地址,及nat场景中本地地址和全局地址映射条目,确定获取的所述入向报文和所述出向报文映射后的源地址和目的地址,选择确定的映射的源地址和目的地址对应的入向报文和出向报文,进行所述入向报文与出向报文中不应发生变化部分的匹配,确定报文是否出错。

可选的,该装置还包括报文学习单元,用于当所述被检测网络传输的报文的常见报文时,对所述入向报文和所述出向报文中不应发生变化部分包含的区分字段内容进行报文学习;

所述匹配分析单元还用于,通过获得所述入向报文和所述出向报文中不应发生变化部分包含的区分字段内容的报文学习结果,对报文学习结果中入向报文和出向报文中不应发生变化部分包含的区分字段匹配的,确定报文未 发生错误;对报文学习结果中入向报文和出向报文中不应发生变化部分包含的区分字段不匹配的,对入向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错。

可选的,该装置还包括调整单元,用于根据匹配分析单元确定出错的报文,对发生错误报文涉及的网络设备进行调整。

与现有技术相比,本申请技术方案包括:获取并区分被检测网络传输的入向报文和出向报文;对入向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错;被检测网络为由一个或一个以上网络设备构成的网络。本发明方法通过对入向报文和出向报文进行匹配,确定报文是否出错,实现对被检错网络的报文检错;进一步的,根据报文检错的结果,对网络设备进行调整,实现了对被检错网络正常通信的及时调整,保证了网络的正常通信。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明实现报文检错的方法的流程图;

图2为本发明实现报文检错的装置的结构程图。

图3为本发明第一实施例的方法流程图;

图4为本发明第二实施例的方法流程图;

图5为本发明第三实施例报文经过被检测网络的网络拓扑示意图;

图6为本发明第四实施例的方法流程图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

图1为本发明实现报文检错的方法的流程图,如图1所示,包括:

步骤100、获取并区分被检测网络传输的入向报文和出向报文;这里, 被检测网络为由一个或一个以上网络设备构成的网络。

获取并区分被检测网络传输的入向报文和出向报文具体包括:

通过预先设置的入向接口接收复制的入向报文,通过预先设置的出向接口接收复制的出向报文;或,

获取入向报文和出向报文时,对获取的入向报文和出向报文分别添加相应的流向信息,以区分入向报文和出向报文。

本发明方法还包括:

对入向报文和出向报文分别添加相应的流向信息时,对添加流向信息的入向报文和出向报文进行封装;

对入向报文与出向报文中不应发生变化部分进行匹配前,对封装的包含流向信息的入向报文和出向报文进行解封装。

优选的,封装包括:通用路由封装协议(gre)封装、或用户数据报协议(udp)封装。

优选的,获取并区分被检测网络传输的入向报文和出向报文具体包括:

当网络设备为电口设备时,通过被检测网络的网络设备上配置复制被检测网络传输的入向报文和出向报文;

当网络设备为光口设备时,通过被检测网络的分光器进行被检测网络传输的入向报文和出向报文的分光复制。

步骤101、对入向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错;

本发明方法还包括:根据确定出错的报文,对发生错误报文涉及的网络设备进行调整。

需要说明的是,通过复制的方式获取了入向报文和出向报文,采用入向接口和出向接口对入向报文和出向报文实现了区分。

将入向报文与出向报文中不应发生变化部分进行匹配具体包括:

将入向报文中不应发生变化部分的内容与出向报文中不应发生变化部分的内容进行匹配;或,

提取入向报文中不应发生变化部分的内容的特征值和出向报文中不应发生变化部分的内容的特征值;

将提取的入向报文中不应发生变化部分的内容的特征值与提取的出向报文中不应发生变化部分的内容的特征值进行匹配。

对入向报文与出向报文中不应发生变化部分进行匹配前,本发明方法还包括:

过滤被检测网络主动发出的出向报文和发送给被检测网络的入向报文。

对入向报文与出向报文中不应发生变化部分进行匹配前,本发明方法还包括:

过滤被检测网络组播和/或广播传输的报文。

需要说明的是,被检测网络主动发出的出向报文和发送给被检测网络的入向报文可以通过本领域技术人员的公知常识进行区分识别,例如、通过源地址确定是否是被检测网络主动发出的出向报文;通过目的地址确定是否是发送给被检测网络的入向报文;其他识别区分这两类信息的方法在此不再赘述。

对入向报文与出向报文中不应发生变化部分进行匹配具体包括:

当处于非网络地址转换(nat)场景时,对源地址和/或目的地址相同的入向报文中不应发生变化部分与出向报文中不应发生变化部分进行匹配;

处于nat场景时,根据入向报文和出向报文的源地址和目的地址,及nat场景中本地地址和全局地址映射条目,确定获取的入向报文和出向报文映射后的源地址和目的地址,选择确定的映射的源地址和目的地址对应的入向报文和出向报文,进行入向报文与出向报文中不应发生变化部分的匹配。

当被检测网络传输的报文的常见报文时,本发明方法还包括:对入向报文和出向报文中不应发生变化部分包含的区分字段内容进行报文学习;

通过获得所述入向报文和所述出向报文中不应发生变化部分包含的区分字段内容的报文学习结果,对报文学习结果中入向报文和出向报文中不应发生变化部分包含的区分字段匹配的,确定报文未发生错误;对报文学习结果中入向报文和出向报文中不应发生变化部分包含的区分字段不匹配的,对入 向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错。

优选的,区分字段包括:协议、和/或长度、和/或标志位。

本发明方法通过对入向报文和出向报文进行匹配,确定报文是否出错,实现对被检错网络的报文检错;进一步的,根据报文检错的结果,对网络设备进行调整,实现了对被检错网络正常通信的及时调整,保证了网络的正常通信。

图2为本发明实现报文检错的装置的结构程图,如图2所示,包括:获取单元和匹配分析单元;其中,

获取单元,用于获取并区分被检测网络传输的入向报文和出向报文;

获取单元具体用于,

通过预先设置的入向接口接收复制的入向报文,通过预先设置的出向接口接收复制的出向报文;或,

获取入向报文和出向报文时,对获取的入向报文和出向报文分别添加相应的流向信息,以区分入向报文和出向报文。

获取单元具体用于,

当网络设备为电口设备时,通过在被检测网络的网络设备上配置复制被检测网络传输的入向报文和出向报文;

当网络设备为光口设备时,通过被检测网络的分光器进行被检测网络传输的入向报文和出向报文的分光复制。

本发明装置还包括封装处理单元,用于对入向报文和出向报文分别添加相应的流向信息时,对添加流向信息的入向报文和出向报文进行封装;

对入向报文与出向报文中不应发生变化部分进行匹配前,对封装的包含流向信息的入向报文和出向报文进行解封装。

被检测网络为由一个或一个以上网络设备构成的网络。

匹配分析单元,用于对入向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错;

匹配分析单元具体用于,

将入向报文中不应发生变化部分的内容与出向报文中不应发生变化部分的内容进行匹配,确定报文是否出错;或,

提取入向报文中不应发生变化部分的内容的特征值和出向报文中不应发生变化部分的内容的特征值;

将提取的入向报文中不应发生变化部分的内容的特征值与提取的出向报文中不应发生变化部分的内容的特征值进行匹配,确定报文是否出错。

匹配分析单元具体用于,

当处于非网络地址转换(nat)场景时,对源地址和/或目的地址相同的入向报文中不应发生变化部分与出向报文中不应发生变化部分进行匹配,确定报文是否出错;

处于nat场景时,根据入向报文和出向报文的源地址和目的地址,及nat场景中本地地址和全局地址映射条目,确定获取的入向报文和出向报文映射后的源地址和目的地址,选择确定的映射的源地址和目的地址对应的入向报文和出向报文,进行入向报文与出向报文中不应发生变化部分的匹配,确定报文是否出错。

本发明装置还包括过滤单元,用于对入向报文与出向报文中不应发生变化部分进行匹配前,过滤被检测网络主动发出的出向报文和发送给被检测网络的入向报文。

本发明装置还包括过滤单元,用于对入向报文与出向报文中不应发生变化部分进行匹配前,过滤被检测网络组播和/或广播传输的报文。

本发明装置还包括报文学习单元,用于当被检测网络传输的报文的常见报文时,对入向报文和出向报文中不应发生变化部分包含的区分字段内容进行报文学习;

匹配分析单元还用于,通过获得所述入向报文和所述出向报文中不应发生变化部分包含的区分字段内容的报文学习结果,对报文学习结果中入向报文和出向报文中不应发生变化部分包含的区分字段匹配的,确定报文未发生错误;对报文学习结果中入向报文和出向报文中不应发生变化部分包含的区分字段不匹配的,对入向报文与出向报文中不应发生变化部分进行匹配,确 定报文是否出错。。

本发明装置还包括调整单元,用于根据匹配分析单元确定出错的报文,对发生错误报文涉及的网络设备进行调整。

以下通过具体实施例对本发明方法进行清楚详细的说明,实施例仅用于陈述本发明,并不用于限定本发明方法的保护范围。

实施例1

本实施例进行报文检错时,被检测网络可以是一个或一个以上网络设备构成的网络,网络设备可以是路由器或交换机等;本实施例以被检测网络为单一的网络设备为例,网络设备包含第一接口和第二接口;本实施例首先区分网络设备第一接口和第二接口的入向报文和出向报文,具体的,可以从第一接口和第二接口复制进入本发明实施例网络设备的报文,从第一接口和第二接口复制通过本发明实施例网络设备传输的报文;优选的,可以在本发明报文检错的装置上设置相应的入向接口和出向接口,将复制的入向报文和出向报文通过设置的入向接口和出向接口区分并传输至报文检错的装置。本实施例还可以在报文检错的装置上设置网络设备不同接口相应的入向接口和出向接口,即在报文检错装置上设置接收从第一接口复制的入向报文和出向报文的入向接口和出向接口,设置接收从第二接口复制的入向报文和出向报文的入向接口和出向接口;当网络设备的接口增加时,报文检错的装置上设置与网络设备接口成对应关系的入向接口和出向接口也相应增加;图3为本发明第一实施例的方法流程图,如图3所示,包括:

步骤300、复制网络设备传输的入向报文和出向报文;本步骤中,如果网络设备是电口设备,可以在网络设备上配置复制流入第一接口和第二接口的入向报文、和流出第一接口和第二接口的出向报文;如果网络设备时光口设备,则在分光器上通过对流入第一接口和第二接口的入向报文进行分光复制,对流出第一接口和第二接口的出向报文进行分光复制。

本实施例,入向报文和出向报文如果不采用入向接口和出向接口进行区分,还可以通过在传输的报文中添加流向信息进行区分,例如添加流向标签、流向标识、或流向属性的字段等实现对入向报文和出向报文的区分;

当对入向报文和出向报文分别添加相应的流向信息时,本实施例还包括: 对添加流向信息的入向报文和出向报文进行封装;

对入向报文与出向报文中不应发生变化部分进行匹配之前,对封装的包含流向信息的入向报文和出向报文进行解封装。

本实施例封装方法可以是通用路由封装协议(gre)封装、或用户数据报协议(udp)封装等。

步骤301、对入向报文与出向报文中不应发生变化部分进行匹配,确定报文是否出错。

需要说明的是,报文经过网络设备传输时,不应发生变化部分从流入网络设备到流出网络设备,其内容是不会发生变化的,即如果网络未出现链路问题,则入向报文中不应发生变化部分的内容和出向报文中不应发生变化部分的内容是一样的,包含内容一致时,匹配通过,确定报文没有发生错误;例如,假设网络设备传输的报文不应发生变化部分的内容是[0x10,0x20,0x30],则报文检错的装置获取到一个入向报文中不应发生变化部分的内容是[0x10,0x20,0x30]时,确定入向报文和出向报文不应发生变化部分包含内容一致,从而确定报文未发生错误;本实施例如果报文不应发生变化部分在传输过程中发生了改变,则例如获取的出向报文变成[0x10,0x20,0x31],此时,报文检错的装置无法匹配与入向报文不应发生变化部分相同的出向报文,确定报文发生了错误。不同种类的报文,在网络设备传输时不发生变化的部分可能是不同的,具体可以根据本领域技术人员的公知常识进行确定,发生变化的部分是指除不发生变化的部分的内容,如ip报文的生存时间值(ttl)字段,在传输过程中会被网络设备做合法修改(比如、此时网络设备是一个路由器。

对入向报文与出向报文中不应发生变化部分进行匹配可以是对入向报文中不应发生变化部分与出向报文中不应发生变化部分进行内容上的一一对比;例如、将入向报文中不应发生变化部分的内容加载到第一列表中,将出向报文中不应发生变化部分的内容加载到第二列表中,加载到列表的顺序一般按照时间排序进行内容对比时,逐个提取第二列表中的出向报文中不应发生变化部分的内容与第一列表中的入向报文中不应发生变化部分的内容进行匹配,直至匹配相同时,确定报文没有发生错误,第二列表中的出向报文中 不应发生变化部分未从第一列表中匹配到与出向报文中不应发生变化部分相同的入向报文中不应发生变化部分的内容时,确定报文发生错误。当然,本实施例方法还可以采用提取第一列表中入向报文中不应发生变化部分和第二列表中不应发生变化部分的内容进行匹配,两者原理相同。

对入向报文与出向报文中不应发生变化部分进行匹配还可以通过对入向报文中不应发生变化部分的内容和出向报文中不应发生变化部分的内容分别提取特征值后,将提取的入向报文中不应发生变化部分的内容的特征值与出向报文中不应发生变化部分的内容的特征值进行匹配,通过提取特征值的匹配确定入向报文与出向报文中不应发生变化部分是否相同,采用特征值进行匹配的方法可以提高匹配过程的工作效率;这里,报文的特征值与报文在匹配过程中存在映射关系,以哈希计算进行匹配为例,各报文及报文对应的特征值可以通过哈希表中该报文对应的value值和key值分别进行存储,根据key值的匹配成功确定value值匹配成功,从而确定报文匹配成功。

优选的,提取特征值的方法可以通过计算哈希值的方法实现,计算哈希值的方法为本领域技术人员的惯用技术手段,在此不再赘述。

需要说明的是,本实施例还可以直接对被检测网络传输的报文进行特征值提取,通过对提取特征值进行入向和出向的区分后,进行特征值的匹配,确定报文是否发生错误。

当采用计算哈希值的方法进行入向报文与出向报文中不应发生变化部分的匹配时,本实施例方法还包括:

将报文长度、和/或源地址、和/或目的地址、和/或源端口、和/或目的端口作为特征值进行匹配;

需要说明的是,之所以增加报文长度、和/或源地址、和/或目的地址、和/或源端口、和/或目的端口作为特征值进行匹配主要是考虑到不同报文进行哈希计算时,获得的哈希值可能会相同,源端口、和/或目的端口主要针对传输控制协议/用户数据报协议(tcp/udp)报文而言;另外,对报文进行哈希计算时,如果报文较长,可以将报文分段后进行哈希计算、将分段计算的哈希值作为报文的特征值,进行入向报文和出向报文中不应发生变化部分的匹配。

进一步地,获取的出向报文和入向报文可能存在延迟,即获取的出向报文先于获取的入向报文到达,本发明方法还包括:预设时长后,重新进行入向报文和出向报文中不应发生变化部分的匹配;

需要说明的是,预设时长可以通过本领域技术人员惯用技术手段计算获得。

本实施例中,进行入向报文和出向报文中不应发生变化部分的匹配之前,本实施例将网络设备主动发出的出向报文和发送给网络设备的入向报文进行区分排除。

需要说明的是,这里网络设备主动发出的出向报文可以是管理维护报文,可以通过ip地址是管理系统地址进行确定;发送给被检测设备本身的入向报文,例如、管理系统发送给网络设备的报文。此时,可以根据目的地址进行确定,如该ip地址是网络设备本身的ip地址。

实施例2

本实施例报文检错的装置包括获取单元和匹配分析单元,获取单元与被检测网络的各个接口连接;被检测网络可以是一个网络设备、或由两个或两个以上网络设备构成的网络;图4为本发明第二实施例的方法流程图,如图4所示,包括:

步骤400、获取单元获取并区分被检测网络传输的入向报文和出向报文;

步骤401、获取单元对获取的入向报文和出向报文中不应发生变化部分进行特征值提取;

步骤402、获取单元将入向报文不应发生变化部分提取的特征值和出向报文不应发生变化部分提取的特征值发往匹配分析单元;

本实施例获取单元可以直接获取各个接口报文的特征值,即将入向报文和出向报文不应发生变化部分的内容的特征值进行提取后,将提取的特征值直接发往匹配分析单元;

优选的,发送提取的入向报文不应发生变化部分的内容的特征值和出向报文不应发生变化部分内容的特征值时,添加流向信息;例如、添加属性用于标识流向,并进行封装后进行传输。

步骤403、分析匹配单元对接收的入向报文不应发生变化部分的内容的特征值和出向报文不应发生变化部分的内容提取的特征值进行匹配,确定报文是否发生错误。

实施例3

为了清楚陈述本发明,本实施例以区域a、区域b和区域c通过被检测网络进行报文传输为例对本发明方法进行清楚详细的说明,图5为本发明第三实施例报文经过被检测网络的网络拓扑示意图,如图5所示,对于区域a而言,报文流向包括由区域a到区域b、区域a到区域c、区域b到区域a和区域c到区域a;通过对入向报文和出向报文的报文流向进行进一步定位,可以缩小进行报文检测时匹配的范围,提高报文检错的工作效率。报文流向可以通过包括源地址和目的地址、或配置信息确定。

在非网络地址转换(nat)场景下,以报文流向包含源地址和目的地址为例,进行入向报文和出向报文不应发生变化部分的匹配时,提取需要匹配的出向报文后,根据出向报文的源地址和目的地址对入向报文进行筛选,获得和出向报文源地址和目的地址相同的入向报文后,再进行入向报文和出向报文不应发生变化部分的匹配;如果提取需要匹配的是入向报文后,根据入向报文的源地址和目的地址对出向报文进行筛选,获得和入向报文源地址和目的地址相同的出向报文后,再进行出向报文和入向报文中不应发生变化部分的匹配;如果采用提取特征值进行匹配的方法,则对入向报文和出向报文的源地址和目的地址等字段的进行特征值计算和通过计算的源地址和目的地址的特征值对入向报文或出向报文进行筛选。

在nat场景下,由于获取源地址和目的地址在复制到分析匹配单元的入向接口和出向接口时,通过nat场景中本地地址和全局地址映射条目进行了修改,因此无法通过源地址和目的地址相同的方式进行筛选,如果需要进行筛选,则需要获取nat场景中本地地址和全局地址映射条目根据映射条目获得入向报文复制前或复制后的源地址和目的地址。

实施例4

在进行报文匹配时,如果报文数量过多会使得匹配效率过低,则可以通过对常见报文进行学习的方法提高匹配效率;常见报文数量多、内容比较固 定、报文发生异常的可能性低。

在本实施例中,报文学习主要针对入向报文和出向报文中不应发生变化部分中特殊的区分字段,包括协议和/或长度和/或标志位等,例如,大量的tcpsyn报文携带的参数几乎一样,比如长度、syn标志位等。本实施例获取单元获取入向报文和出向报文不应发生变化部分后,提取协议和/或长度和/或标志位等区分字段;对从入向报文和出向报文中不应发生变化部分提取的区分字段进行报文学习后进行匹配;匹配成功,确定报文未发生错误。如果匹配失败,则该报文不是常见报文,采用实施例一中的方法对入向报文和出向报文中不应发生变化部分进行匹配,确定报文是否发生错误。

需要说明的是,是否进行区分字段的报文学习可以通过本领域技术人员对该类报文出现频率和数量进行分析,通过分析确定进行报文学习时,通过监测该部分报文是否出现,一旦监测到该部分报文出现时,自动触发进行报文学习。

图6为本发明第四实施例的方法流程图,如图6所示,包括:

步骤600、获取并区分被检测网络传输的入向报文和出向报文;本实施例获取入向报文和出向报文还可以获取入向报文和出向报文的特征值或复制入向报文和出向报文中不应发生变化部分;

区分入向报文和出向报文的方法可以通过将入向报文和出向报文分别通过相应的入向接口和出向接口实现,也可以通过添加流向信息,例如添加区分流向的属性信息实现。

步骤601、提取入向报文和出向报文中不应发生变化部分中的区分字段,对区分字段进行报文学习;

步骤602、对报文学习的区分字段进行匹配,如果匹配成功,执行步骤603;如果匹配失败,则执行步骤604;

步骤603、确定报文未发生错误;

步骤604、对入向报文和出向报文中不应发生变化部分进行匹配,确定报文是否发生错误。

需要说明的是,本实施例进行报文检错的入向报文和出向报文是除发送 给被检测网络和被检测网络主动发出的报文。

实施例5

本实施例对匹配过程中出现组播或广播的报文进行报文检错处理,如果不是组播或广播的报文,则如果网络设备出现系统问题导致多个接口输出的出向报文与入向报文相同,则会对系统网络资源造成较大浪费,也容易造成网络拥塞;因此是组播或广播的报文,还是报文发生错误需要进行区分;

本实施例通过目的地址及掩码信息确定入向报文和出向报文是否是组播或广播报文,当确定是组播或广播的报文时,确定该报文为未发生错误的报文。组播或广播报文的目的地址和掩码信息为本领域技术人员的公知常识,掩码信息可以通过配置文件获得,在此不再赘述。如果确定不是组播或广播的报文,则根据本发明进行报文检错的方法,在进行入向报文和出向报文不应发生变化的报文字段的匹配时,可以确定该部分报文为错误报文。

虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1