网络丢包流量的监控和解析方法、系统、存储介质及设备与流程



1.本发明是关于网络通信的技术领域,特别是关于一种网络丢包流量的监控和解析方法、系统、存储介质及计算机设备。


背景技术:



2.随着网络规模的扩大,网络中的交换设备数量也急剧增加,网络丢包的查变的复杂,及时获知网络丢包对于故障的发现、分析排查交换设备问题非常重要。网络丢包是在使用ping对目站进行询问时,数据包由于各种原因在信道中丢失的现象。
3.丢包统计是指在某一个测量时间区间内,根据所有进入网络的流量与离开网络的流量之间的差,获得丢包数量和丢包率数据。目前一般交换芯片只提供基于端口的丢包原因记录和丢包统计,只能确定基于端口的丢包,不能确定具体的流量。
4.通过acl(访问控制列表)可以进行acl匹配项的流量区分。acl是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。但是,acl支持的区分流量的匹配项(源mac、目的mac、vlan、五元组等)有限,通过acl区分丢包流量也只能局限于acl支持的匹配项,不能进行基于深层次的业务的统计;另外acl属于稀缺资源使用acl进行基于流量的丢包原因记录和丢包统计需要占用大量的acl。
5.公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:



6.本发明的目的在于提供网络丢包流量的监控和解析方法、系统、存储介质及设备,其通过添加丢弃信息报文头,能够快速读取错误信息,进而能够实现基于流量丢包监控的目的,及时的发现丢包流量对丢包进行基于深层次报文内容的统计。
7.为实现上述目的,本发明提供了一种网络丢包流量的监控方法,应用于交换机的交换芯片上,所述方法包括以下步骤:
8.在丢弃报文中添加丢弃信息报文头,得到第一丢弃报文;其中,所述丢弃信息报文头中包括错误信息;
9.对所述第一丢弃报文进行镜像,得到第二丢弃报文;
10.将所述第二丢弃报文上送监控设备,以使监控设备对所述第二丢弃报文携带的错误信息进行解析,得到所述丢弃报文的丢包原因并进行报文丢弃统计,得到所述丢弃报文的统计信息。
11.在本发明的一实施方式中,所述错误信息至少包括错误信息标识和用于报文丢弃统计的信息;所述用于报文丢弃统计的信息包括设备编号id、源端口信息、丢弃报文的长度信息和错误编码;其中,所述错误信息标识用于识别所述丢弃报文,并且用于标识所述错误
信息标识后是所述用于报文丢弃统计的信息;
12.所述设备编号id用于确定产生所述丢弃报文的设备;所述源端口信息用于确定产生所述丢弃报文的源端口;所述丢弃报文的长度信息用于确定所述丢弃报文的长度,用于判断所述丢弃报文是否发生报文损坏;所述错误编码用来标识所述丢弃报文的错误类型;通过对所述产生所述丢弃报文的设备、所述产生所述丢弃报文的源端口、所述报文损坏的信息和所述丢弃报文的错误类型进行分析统计,得出各个设备或源端口产生所述丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,用于定位产生所述丢弃报文的设备和源端口。
13.在本发明的一实施方式中,所述对所述第一丢弃报文进行镜像,得到第二丢弃报文中,具体包括以下步骤:截取所述第一丢弃报文的前预设个字节,得到截取后的丢弃报文,将所述截取后的丢弃报文进行镜像,得到包含所述丢弃信息报文头的第二丢弃报文;其中,所述丢弃信息报文头添加在所述丢弃报文的前预设个字节内。
14.在本发明的一实施方式中,所述监控设备为交换机cpu和/或远端网络监控设备;
15.当存在远端网络监控设备时,将所述第二丢弃报文发送到所述远端网络监控设备进行错误统计分析,其具体步骤如下:
16.根据远端网络监控设备的目的地址和所述交换机的源地址对所述第二丢弃报文进行业务头封装,得到封装的丢弃报文;
17.将所述封装的丢弃报文转发到远端网络监控设备,以使所述远端监控设备解析所述封装的丢弃报文进行错误统计分析;
18.当没有远端网络监控设备时,将所述第二丢弃报文发送到所述交换机cpu进行错误统计分析。
19.本发明还提供了一种网络丢包流量的解析方法,应用于监控设备上,所述方法包括以下步骤:
20.接收交换机芯片发送的由第一丢弃报文镜像得到的第二丢弃报文,其中,所述第一丢弃报文为所述交换机芯片在丢弃报文中添加了丢弃信息报文头的报文,所述丢弃信息报文头中包括错误信息;
21.对所述第二丢弃报文中的错误信息进行解析,得到丢弃报文的丢包原因和统计信息。
22.在本发明的一实施方式中,所述错误信息至少包括错误信息标识和用于报文丢弃统计的信息;所述用于报文丢弃统计的信息包括设备编号id、源端口信息、丢弃报文的长度信息和错误编码;其中,所述错误信息标识用于识别所述丢弃报文,并且用于标识所述错误信息标识后是所述用于报文丢弃统计的信息;
23.所述设备编号id用于确定产生所述丢弃报文的设备;所述源端口信息用于确定产生所述丢弃报文的源端口;所述丢弃报文的长度信息用于确定所述丢弃报文的长度,用于判断所述丢弃报文是否发生报文损坏;所述错误编码用来标识所述丢弃报文的错误类型;通过对所述产生所述丢弃报文的设备、所述产生所述丢弃报文的源端口、所述报文损坏的信息和所述丢弃报文的错误类型进行分析统计,得出各个设备或源端口产生所述丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,用于定位产生所述丢弃报文的设备和源端口。
24.在本发明的一实施方式中,所述对所述第二丢弃报文中的错误信息进行解析包括:
25.所述第二丢弃报文为截取所述第一丢弃报文的前预设个字节后镜像得到的报文;其中,所述丢弃信息报文头添加在所述丢弃报文的前预设个字节内。
26.在本发明的一实施方式中,所述监控设备为交换机cpu和/或远端网络监控设备;
27.当存在所述远端网络监控设备时,由所述远端网络监控设备接收交换机芯片发送的对第二丢弃报文进行业务台封装后的封装的丢弃报文,并对所述封装的丢弃报文进行解析,得到丢弃报文的丢包原因和统计信息;
28.当没有所述远端网络监控设备时,由所述交换机cpu对所述第二丢弃报文中的错误信息进行解析,得到丢弃报文的丢包原因和统计信息。
29.本发明还提供了一种网络丢包流量的监控系统,包括:
30.报文头生成模块,用于在丢弃报文中添加丢弃信息报文头,得到第一丢弃报文;其中,所述丢弃信息报文头中包括错误信息;
31.镜像模块,用于对所述第一丢弃报文进行镜像,得到第二丢弃报文;
32.发送模块,用于将所述第二丢弃报文上送监控设备,以使监控设备对所述第二丢弃报文携带的错误信息进行解析,得到所述丢弃报文的丢包原因并进行报文丢弃统计。
33.本发明还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述的网络丢包流量的监控方法或/和执行上述的网络丢包流量的解析方法。
34.本发明还提供了一种计算机设备,其包括处理器、存储器及存储于所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的网络丢包流量的监控方法或/和实现上述的网络丢包流量的解析方法。
35.本发明还提供了一种网络丢包流量的解析系统,包括:解析模块,用于对包含丢弃信息报文头的丢弃报文进行解析,其中,读取所述丢弃报文的第一个协议类型信息之后的信息为所述丢弃报文的错误信息。
36.与现有技术相比,根据本发明的网络丢包流量的监控和解析方法、系统、存储介质及设备,在丢弃报文中添加丢弃信息报文头,该丢弃信息报文头中能够包括一些错误信息,进而在后续的交换机cpu或者远端网络监控设备中直接进行解析和统计;此外,本发明通过在交换芯片上设定丢包镜像目的,将丢包报文镜像到交换机cpu或者远端网络监控设备,由交换机cpu或者网络监控设备进行丢包分析统计。
附图说明
37.图1是根据本发明一实施方式的一种网络丢包流量的监控方法的流程图;
38.图2是根据本发明一实施方式的报文格式的示意图;
39.图3是根据本发明一实施方式的交换芯片丢弃报文镜像流程示意图;
40.图4是根据本发明一实施方式的一种网络丢包流量的解析方法的流程图;
41.图5是根据本发明一实施方式的一种网络丢包流量的监控系统的结构示意图。
具体实施方式
42.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保
护范围并不受具体实施方式的限制。
43.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
44.如图1至图3所示,根据本发明优选实施方式的一种网络丢包流量的监控方法,其主要应用在交换机的交换芯片上,具体包括以下步骤:
45.s1:在丢弃报文中添加丢弃信息报文头,得到第一丢弃报文。
46.该步骤在交换芯片中进行,当交换芯片产生报文丢弃时,在该丢弃报文中添加丢弃信息报文头,具体地,将丢弃信息报文头添加到丢弃报文的源mac地址之后。因为,丢弃报文的源mac地址之后为丢弃报文的具体数据内容,将丢弃信息报文头添加在源mac地址之后,可以将丢弃信息报文头中添加的数据内容和丢弃报文中原有的数据内容融合在一起,进而便于后续对全网的丢包情况进行错误信息统计时,更加方便。
47.丢弃报文为以太网协议的报文格式,其包括目的mac地址(dest_mac)、源mac地址(src_mac)和协议类型(ethtype),具体地将丢弃信息报文头添加在源mac地址(src_mac)和协议类型(ethtype)之间,如图2所示。
48.丢弃信息报文头中包括错误信息,该错误信息中包括该丢弃报文的用于对丢包流量进行统计的信息。具体地,错误信息至少包括错误信息标识(如:ethtype(erro_code))和用于报文丢弃统计的信息,ethtype(erro_code)为特殊值用来作为丢弃报文进行识别的标记符,标识此后的信息是用于进行报文丢弃统计的信息。
49.用于报文丢弃统计的信息包括设备编号id(unique_id)、源端口信息(src_port)、丢弃报文的长度(packet_len)和错误编码(erro_code)。
50.unique_id作为交换设备唯一标识,用于确定产生丢弃报文的设备,进而能够依据产生丢弃报文的设备统计各个设备所产生丢弃报文的数量和错误类型等统计信息。src_port为报文的源端口信息,用于确定产生丢弃报文的源端口,进而能够依据产生丢弃报文的源端口统计各个源端口所产生丢弃报文的数量和错误类型等统计信息。packet_len用来标识丢弃报文的长度,可以用来判断丢弃报文是否发生字符丢失等报文损坏的信息。erro_code用来标识丢弃报文的错误类型,进而能够对丢弃报文的具体错误类型进行统计。
51.例如,ethtype(erro_code)可配置为0x8809,当远端网络监控设备接收到ethtype为0x8809的报文则可标识此报文为交换芯片丢弃的报文,按照图2所示的格式进行报文解析可获得该丢弃报文的设备编号(unique_id)、源端口信息(src_port)、丢弃报文的长度(packet_len)和错误编码0x8809,进而可以得到该丢弃报文所属的设备、从哪个端口发出以及是否发生字符丢失和错误类型,如果0x8809表示协议转换错误,则确定该丢弃报文在传输过程出现了协议转换错误。据此,远端网络监控设备可以根据收到的所有丢弃报文,统计出丢弃报文的丢弃原因(如:协议转换错误、解析错误、字符丢失等)及相关统计数据(丢弃报文的总数量、不同丢弃原因对应的报文数量,哪个设备发生了报文丢弃以及该设备的报文丢弃数量,哪个源端口发生了报文丢弃以及该源端口的报文丢弃数量等统计信息,以及当前丢弃报文对应的设备和源端口等统计信息)。
52.通过丢弃信息报文头中包含的上述错误信息,可以在后续步骤中通过用于报文丢弃统计的信息能够得到产生丢弃报文的设备、源端口、报文损坏和丢弃报文的错误类型,监
控设备对这些信息进行分析统计,可以得出各种丢弃信息的统计,例如,各个设备或各个源端口产生丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,以便定位产生丢弃报文的设备和源端口,便于后续根据发生报文损坏的数量和错误类型对设备和源端口进行优化。
53.如图2所示,添加错误信息的报文格式即为添加了丢弃信息报文头的丢弃报文,其中,ethtype(erro_code)是用来标识此后的信息为错误信息,ethtype是丢弃报文本身携带自己的ethtype,两者并不相同。
54.s2:对第一丢弃报文进行镜像,得到第二丢弃报文。
55.该步骤中,进行镜像的目的是将第一丢弃报文镜像出交换芯片,便于在后续的交换机cpu或者远端网络监控设备进行分析。
56.在镜像过程中,可选地,为了节约带宽可以对第一丢弃报文进行截取前预设个字节后,得到截取后的丢弃报文,将截取后的丢弃报文进行镜像,其中,截取后的丢弃报文至少包括丢弃信息报文头。预设个字节可以是32、64等个字节。
57.由于丢弃信息报文头中包括有丢弃报文的主要信息,因此,通过对丢弃信息报文头进行解析,即可获取丢弃报文的流量信息,而无需读取对整个丢弃报文进行分析。
58.s3:将第二丢弃报文上送监控设备,该监控设备可以为交换机cpu和/或远端网络监控设备,其中,在交换机cpu和/或网络监控设备中对丢弃信息报文头中携带的错误信息进行解析,得到丢包原因并进行报文丢弃统计,得到丢弃报文的统计信息。
59.如图3所示,示出了芯片丢弃报文镜像流程图,在配置了第二丢弃报文之后,可以根据镜像配置(将镜像配置到本地或配置到远端网络监控设备,即图3中所示的是否为远程镜像)将镜像的丢弃报文选择发送到交换机cpu和/或远端网络监控设备中。
60.当存在远端网络监控设备时,可以选择将第二丢弃报文上送到远端网络监控设备进行错误统计分析,以便于进行全网监控。
61.具体地,将第二丢弃报文发送到远端网络监控设备的具体步骤如下:
62.s301:根据远端网络监控设备的目的地址和交换机的源地址对第二丢弃报文进行业务头封装,其中,业务头封装由从丢包节点到远端网络监控设备可达的网络通道决定。
63.业务头封装是为了在网络中传输数据时加入远端网络监控设备对应的头部信息,该头部信息的主要作用是用来帮助中间传输系统将数据传输到一个正确的目的地。例如,若普通的l2可达则封装目的mac地址为远端监控设备的mac地址,封装对应的vlan,若ip可达则封装目的ip地址为远端监控设备的ip地址。
64.s302:将业务头封装后的报文转发到远端网络监控设备。
65.其中,由远端网络监控设备解析业务头封装后的报文得到丢弃报文来自的交换设备,并且由第一个协议类型信息(即ethtype(erro_code))标识出丢弃报文,并对丢弃信息报文头进行解析,得到源端口(src_port)和错误类型(erro_code)。
66.此外,还可以通过对丢弃报文进行基于交换设备端口和五元组、深度报文内容的错误信息统计,通过统计各个错误类型的丢弃报文数量,可以掌控全网的丢包情况。
67.本步骤中,业务头封装后的报文由入方向查表后进行转发;在报文入方向上,交换机经过查表后确定该报文是否允许进入转发的端口,如果允许进入,则通过该端口转达到远端网络监控设备中。
68.并且,本技术的统计过程可以在远端网络监控设备中完成,也可以在不存在远端网络监控设备时,在交换机cpu中完成。
69.当没有远端网络监控设备时,可以选择将第二丢弃报文上送到本地交换机cpu进行错误统计分析。其中,交换机cpu由第二丢弃报文携带的第一个协议类型信息(即ethtype(erro_code))标识出丢弃报文,并对丢弃信息报文头进行解析,得到源端口(src_port)和错误类型(erro_code),进而可以对丢弃报文进行基于交换设备端口和五元组、深度报文内容进行错误信息统计。通过统计各个错误类型下的丢弃报文数量,可以掌控全网的丢包情况。通过上述步骤,可以对报文进行基于交换设备和交换设备端口及五元组、深度报文内容进行错误信息统计。
70.监控设备通过用于报文丢弃统计的信息能够得到产生丢弃报文的设备、源端口、报文损坏和丢弃报文的错误类型,监控设备对这些信息进行分析统计,可以得出各种丢弃信息的统计,例如,各个设备或各个源端口产生丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,以便定位产生丢弃报文的设备和源端口,便于后续根据发生报文损坏的数量和错误类型对设备和源端口进行优化。
71.通过上述步骤,可以对报文进行基于交换设备和交换设备端口及五元组、深度报文内容进行错误信息统计。五元组是由源ip地址,源端口,目的ip地址,目的端口,和传输层协议这五个量组成的一个集合,五元组能够区分不同会话,并且对应的会话是唯一的。基于五元组进行错误信息统计是通过端口号来识别应用类型,该方式就容易导致一些病毒或垃圾应用采用假冒端口号的方式伪装成合法报文,那么就没法检测。因此,本技术还可以对深度报文内容进行检测是对应用层的分析,可以识别到各种应用及其内容,实现对网络流量的精细化控制和分析。
72.本发明的一种网络丢包流量的监控方法,在交换芯片丢报文中添加丢弃信息报文头,当芯片产生报文丢弃时将该报文添加丢弃信息报文头,根据镜像配置上送交换机cpu或者远端网络监控设备,交换机cpu或网络监控设备通过解析丢弃信息报文头可以得到源端口和错误类型。此外,通过对丢弃报文进行解析,能够掌握出丢包原因,并且可以根据丢弃报文的信息按照流量进行报文丢弃统计。
73.如图4所示,根据本发明优选实施方式的一种网络丢包流量的解析方法,其能够应用在监控设备(交换机cpu或者远端网络监控设备)上,对通过上述的网络丢包流量的监控方法中交换机的交换芯片发送的丢弃报文进行解析。具体地,该方法包括:
74.s4:接收交换机芯片发送的由第一丢弃报文镜像得到第二丢弃报文,其中,第一丢弃报文为交换机芯片在丢弃报文中添加了丢弃信息报文头的报文,丢弃信息报文头中包括错误信息。
75.第一丢弃报文中添加丢弃信息报文头的过程是在交换芯片中进行,具体地,将丢弃信息报文头添加到丢弃报文的源mac地址之后。因为,丢弃报文的源mac地址之后为丢弃报文的具体数据内容,将丢弃信息报文头添加在源mac地址之后,可以将丢弃信息报文头中添加的数据内容和丢弃报文中原有的数据内容融合在一起,进而便于后续对全网的丢包情况进行错误信息统计时,更加方便。
76.丢弃报文为以太网协议的报文格式,其包括目的mac地址(dest_mac)、源mac地址(src_mac)和协议类型(ethtype),具体地将丢弃信息报文头添加在源mac地址(src_mac)和
协议类型(ethtype)之间,如图2所示。
77.丢弃信息报文头中包括错误信息,该错误信息中包括该丢弃报文的用于对丢包流量进行统计的信息。具体地,错误信息至少包括错误信息标识(ethtype(erro_code))和用于报文丢弃统计的信息,ethtype(erro_code)为特殊值用来作为丢弃报文进行识别的标记符,标识此后的信息是用于进行报文丢弃统计的信息。
78.用于报文丢弃统计的信息包括设备编号id(unique_id)、源端口信息(src_port)、丢弃报文的长度(packet_len)和错误编码(erro_code)。
79.unique_id作为交换设备唯一标识,用于确定产生丢弃报文的设备,进而能够依据产生丢弃报文的设备统计各个设备所产生丢弃报文的数量和错误类型等统计信息。src_port为报文的源端口,用于确定产生丢弃报文的源端口,进而能够依据产生丢弃报文的源端口统计各个源端口所产生丢弃报文的数量和错误类型等统计信息。packet_len用来标识丢弃报文的长度,可以用来判断丢弃报文是否发生字符丢失等报文损坏的信息。erro_code用来标识丢弃报文的错误类型,进而能够依据对丢弃报文的具体错误类型进行统计。
80.例如,ethtype(erro_code)可配置为0x8809,当远端网络监控设备接收到ethtype为0x8809的报文则可标识此报文为芯片丢弃的报文的镜像报文,按照图2所示的格式进行报文解析可以获得丢弃报文所属的设备和源端口以及丢弃原因、丢弃原始报文。
81.通过丢弃信息报文头中包含的上述错误信息,可以在后续步骤中通过用于报文丢弃统计的信息能够得到产生丢弃报文的设备、源端口、报文损坏和丢弃报文的错误类型,监控设备对这些信息进行分析统计,可以得出各种丢弃信息的统计,例如,各个设备或各个源端口产生丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,以便定位产生丢弃报文的设备和源端口,便于后续根据发生报文损坏的数量和错误类型对设备和源端口进行优化。
82.如图2所示,添加错误信息的报文格式即为添加了丢弃信息报文头的丢弃报文,其中,ethtype(erro_code)是用来标识此后的信息为错误信息,ethtype是丢弃报文本身携带自己的ethtype,两者并不相同。
83.将第一丢弃报文镜像为第二丢弃报文的过程是在交换芯片中进行,进行镜像的目的是将第一丢弃报文镜像出交换芯片,便于在后续的交换机cpu或者远端网络监控设备进行分析。
84.在镜像过程中,可选地,为了节约带宽可以对第一丢弃报文进行截取前预设个字节后,得到截取后的丢弃报文,将截取后的丢弃报文进行镜像,其中,截取后的丢弃报文至少包括丢弃信息报文头。预设个字节可以是32、64等个字节。
85.由于丢弃信息报文头中包括有丢弃报文的主要信息,因此,通过对丢弃信息报文头进行解析,即可获取丢弃报文的流量信息,而无需读取对整个丢弃报文进行分析。
86.s5:对第二丢弃报文中的错误信息进行解析,得到丢弃报文的丢包原因和统计信息。
87.监控设备为交换机cpu和/或远端网络监控设备,可以根据镜像配置(将镜像配置到本地或配置到远端网络监控设备,即图3中所示的是否为远程镜像)将镜像的丢弃报文选择发送到交换机cpu和/或远端网络监控设备中。
88.当存在远端网络监控设备时,由所述远端网络监控设备接收交换机芯片发送的对
第二丢弃报文进行业务台封装后的封装的丢弃报文,并对所述封装的丢弃报文进行解析,得到丢弃报文的丢包原因和统计信息
89.其中,业务头封装是为了在网络中传输数据时加入远端网络监控设备对应的头部信息,该头部信息的主要作用是用来帮助中间传输系统将数据传输到一个正确的目的地。例如,若普通的l2可达则封装目的mac地址为远端监控设备的mac地址,封装对应的vlan,若ip可达则封装目的ip地址为远端监控设备的ip地址。
90.由远端网络监控设备解析业务头封装后的报文得到丢弃报文来自的交换设备,并且由第一个协议类型信息(即ethtype(erro_code))标识出丢弃报文,并对丢弃信息报文头进行解析,得到源端口(src_port)和错误类型(erro_code)。此外,还可以通过对丢弃报文进行基于交换设备端口和五元组、深度报文内容的错误信息统计,通过统计各个错误类型的丢弃报文数量,可以掌控全网的丢包情况。
91.并且,本技术的统计过程可以在远端网络监控设备中完成,也可以在不存在远端网络监控设备时,在交换机cpu中完成。
92.当没有远端网络监控设备时,由所述交换机cpu对所述第二丢弃报文中的错误信息进行解析,得到丢弃报文的丢包原因和统计信息。其中,交换机cpu由第二丢弃报文携带的第一个协议类型信息(即ethtype(erro_code))标识出丢弃报文,并对丢弃信息报文头进行解析,得到源端口(src_port)和错误类型(erro_code),进而可以对丢弃报文进行基于交换设备端口和五元组、深度报文内容进行错误信息统计。通过统计各个错误类型下的丢弃报文数量,可以掌控全网的丢包情况。通过上述步骤,可以对报文进行基于交换设备和交换设备端口及五元组、深度报文内容进行错误信息统计。
93.监控设备通过用于报文丢弃统计的信息能够得到产生丢弃报文的设备、源端口、报文损坏和丢弃报文的错误类型,监控设备对这些信息进行分析统计,可以得出各种丢弃信息的统计,例如,各个设备或各个源端口产生丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,以便定位产生丢弃报文的设备和源端口,便于后续根据发生报文损坏的数量和错误类型对设备和源端口进行优化。
94.通过上述步骤,可以对报文进行基于交换设备和交换设备端口及五元组、深度报文内容进行错误信息统计。五元组是由源ip地址,源端口,目的ip地址,目的端口,和传输层协议这五个量组成的一个集合,五元组能够区分不同会话,并且对应的会话是唯一的。基于五元组进行错误信息统计是通过端口号来识别应用类型,该方式就容易导致一些病毒或垃圾应用采用假冒端口号的方式伪装成合法报文,那么就没法检测。因此,本技术还可以对深度报文内容进行检测是对应用层的分析,可以识别到各种应用及其内容,实现对网络流量的精细化控制和分析。
95.本方法通过对丢弃信息报文头进行解析,即可以读取丢弃报文错误的信息,能够及时的发现丢包流量对丢包进行基于深层次报文内容的统计。
96.如图5所示,本发明还提供了一种网络丢包流量的监控系统,包括:
97.报文头生成模块1,用于在丢弃报文中添加丢弃信息报文头,得到第一丢弃报文。
98.该报文头生成模块1设置在交换芯片中,当交换芯片产生报文丢弃时,在该丢弃报文中添加丢弃信息报文头,具体地,将丢弃信息报文头添加到丢弃报文的源mac地址之后。因为,丢弃报文的源mac地址之后为丢弃报文的具体数据内容,将丢弃信息报文头添加在源
mac地址之后,可以将丢弃信息报文头中添加的数据内容和丢弃报文中原有的数据内容融合在一起,进而便于后续对全网的丢包情况进行错误信息统计时,更加方便。
99.丢弃报文为以太网协议的报文格式,其包括目的mac地址(dest_mac)、源mac地址(src_mac)和协议类型(ethtype),具体地将丢弃信息报文头添加在源mac地址(src_mac)和协议类型(ethtype)之间,如图2所示。
100.丢弃信息报文头中包括错误信息,该错误信息中包括该丢弃报文的用于对丢包流量进行统计的信息。具体地,错误信息至少包括错误信息标识(ethtype(erro_code))、设备编号id(unique_id)、源端口信息(src_port)、丢弃报文的长度(packet_len)和错误编码(erro_code)。
101.unique_id作为交换设备唯一标识,用于确定产生丢弃报文的设备,进而能够依据产生丢弃报文的设备统计各个设备所产生丢弃报文的数量和错误类型等统计信息。src_port为报文的源端口,用于确定产生丢弃报文的源端口,进而能够依据产生丢弃报文的源端口统计各个源端口所产生丢弃报文的数量和错误类型等统计信息。packet_len用来标识丢弃报文的长度,可以用来判断丢弃报文是否发生字符丢失等报文损坏的信息。erro_code用来标识丢弃报文的错误类型,进而能够对丢弃报文的具体错误类型进行统计。
102.例如,ethtype(erro_code)可配置为0x8809,当远端网络监控设备接收到ethtype为0x8809的报文则可标识此报文为芯片丢弃的报文的镜像报文,按照图2所示的格式进行报文解析可以获得丢弃报文所属的设备和源端口以及丢弃原因、丢弃原始报文。
103.通过丢弃信息报文头中包含的上述错误信息,可以在后续步骤中通过用于报文丢弃统计的信息能够得到产生丢弃报文的设备、源端口、报文损坏和丢弃报文的错误类型,监控设备对这些信息进行分析统计,可以得出各种丢弃信息的统计,例如,各个设备或各个源端口产生丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,以便定位产生丢弃报文的设备和源端口,便于后续根据发生报文损坏的数量和错误类型对设备和源端口进行优化。
104.如图2所示,添加错误信息的报文格式即为添加了丢弃信息报文头的丢弃报文,其中,ethtype(erro_code)是用来标识此后的信息为错误信息,ethtype是丢弃报文本身携带自己的ethtype,两者并不相同。
105.镜像模块2,用于对第一丢弃报文进行镜像,得到第二丢弃报文。
106.镜像模块2进行镜像的目的是将第一丢弃报文镜像出交换芯片,便于在后续的交换机cpu或者远端网络监控设备进行分析。
107.在镜像过程中,可选地,为了节约带宽可以对第一丢弃报文进行截取前预设个字节后,得到截取后的丢弃报文,将截取后的丢弃报文进行镜像,其中,截取后的丢弃报文至少包括丢弃信息报文头。预设个字节可以是32、64等个字节。
108.由于丢弃信息报文头中包括有丢弃报文的主要信息,因此,通过对丢弃信息报文头进行解析,即可获取丢弃报文的流量信息,而无需读取对整个丢弃报文进行分析。
109.发送模块3,用于将第二丢弃报文上送交换机cpu和/或远端网络监控设备,其中,在交换机cpu和/或网络监控设备中对丢弃信息报文头中携带的错误信息解析,得到丢包原因,进行报文丢弃统计,得到丢弃报文的统计信息。
110.发送模块3可以根据镜像配置(将镜像配置到本地或配置到远端网络监控设备,即
图3中所示的是否为远程镜像)将镜像的丢弃报文选择发送到交换机cpu和/或远端网络监控设备中。
111.当存在远端网络监控设备时,可以选择将第二丢弃报文上送到远端网络监控设备进行错误统计分析,以便于进行全网监控。
112.具体地,将第二丢弃报文发送到远端网络监控设备的具体步骤如下:
113.s301:根据远端网络监控设备的目的地址和交换机的源地址对第二丢弃报文进行业务头封装,其中,业务头封装由从丢包节点到远端网络监控设备可达的网络通道决定。
114.业务头封装是为了在网络中传输数据时加入远端网络监控设备对应的头部信息,该头部信息的主要作用是用来帮助中间传输系统将数据传输到一个正确的目的地。例如,若普通的l2可达则封装目的mac地址为远端监控设备的mac地址,封装对应的vlan,若ip可达则封装目的ip地址为远端监控设备的ip地址。
115.s302:将业务头封装后的报文转发到远端网络监控设备。
116.其中,由远端网络监控设备解析业务头封装后的报文得到丢弃报文来自的交换设备,并且由第一个协议类型信息(即ethtype(erro_code))标识出丢弃报文,并对丢弃信息报文头进行解析,得到源端口(src_port)和错误类型(erro_code)。此外,还可以通过对丢弃报文进行基于交换设备端口和五元组、深度报文内容的错误信息统计,通过统计各个错误类型的丢弃报文数量,可以掌控全网的丢包情况。
117.本步骤中,业务头封装后的报文由入方向查表后进行转发;在报文入方向上,交换机经过查表后确定该报文是否允许进入转发的端口,如果允许进入,则通过该端口转达到远端网络监控设备中。
118.并且,本技术的统计过程可以在远端网络监控设备中完成,也可以在不存在远端网络监控设备时,在交换机cpu中完成。
119.当没有远端网络监控设备时,可以选择将第二丢弃报文上送到本地交换机cpu进行错误统计分析。其中,交换机cpu由第二丢弃报文携带的第一个协议类型信息(即ethtype(erro_code))标识出丢弃报文,并对丢弃信息报文头进行解析,得到源端口(src_port)和错误类型(erro_code),进而可以对丢弃报文进行基于交换设备端口和五元组、深度报文内容进行错误信息统计。通过统计各个错误类型下的丢弃报文数量,可以掌控全网的丢包情况。通过上述步骤,可以对报文进行基于交换设备和交换设备端口及五元组、深度报文内容进行错误信息统计。
120.监控设备通过用于报文丢弃统计的信息能够得到产生丢弃报文的设备、源端口、报文损坏和丢弃报文的错误类型,监控设备对这些信息进行分析统计,可以得出各种丢弃信息的统计,例如,各个设备或各个源端口产生丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,以便定位产生丢弃报文的设备和源端口,便于后续根据发生报文损坏的数量和错误类型对设备和源端口进行优化。
121.通过监控设备,可以对报文进行基于交换设备和交换设备端口及五元组、深度报文内容进行错误信息统计。五元组是由源ip地址,源端口,目的ip地址,目的端口,和传输层协议这五个量组成的一个集合,五元组能够区分不同会话,并且对应的会话是唯一的。基于五元组进行错误信息统计是通过端口号来识别应用类型,该方式就容易导致一些病毒或垃圾应用采用假冒端口号的方式伪装成合法报文,那么就没法检测。因此,本技术还可以对深
度报文内容进行检测是对应用层的分析,可以识别到各种应用及其内容,实现对网络流量的精细化控制和分析。
122.本发明还包括一种网络丢包流量的解析系统,接收模块,用于接收交换机芯片发送的由第一丢弃报文镜像得到的第二丢弃报文,其中,所述第一丢弃报文为所述交换机芯片在丢弃报文中添加了丢弃信息报文头的报文,所述丢弃信息报文头中包括错误信息;
123.解析模块,用于对所述第二丢弃报文中的错误信息进行解析,得到丢弃报文的丢包原因和统计信息。
124.本方法通过对丢弃信息报文头进行解析,即可以读取丢弃报文错误的信息,能够及时的发现丢包流量对丢包进行基于深层次报文内容的统计。
125.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
126.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
127.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
128.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
129.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

技术特征:


1.一种网络丢包流量的监控方法,其特征在于,应用于交换机的交换芯片上,所述方法包括以下步骤:在丢弃报文中添加丢弃信息报文头,得到第一丢弃报文;其中,所述丢弃信息报文头中包括错误信息;对所述第一丢弃报文进行镜像,得到第二丢弃报文;将所述第二丢弃报文上送监控设备,以使监控设备对所述第二丢弃报文携带的错误信息进行解析,得到所述丢弃报文的丢包原因并进行报文丢弃统计,得到所述丢弃报文的统计信息。2.如权利要求1所述的网络丢包流量的监控方法,其特征在于,所述错误信息至少包括错误信息标识和用于报文丢弃统计的信息;所述用于报文丢弃统计的信息包括设备编号id、源端口信息、丢弃报文的长度信息和错误编码;其中,所述错误信息标识用于识别所述丢弃报文,并且用于标识所述错误信息标识后是所述用于报文丢弃统计的信息;所述设备编号id用于确定产生所述丢弃报文的设备;所述源端口信息用于确定产生所述丢弃报文的源端口;所述丢弃报文的长度信息用于确定所述丢弃报文的长度,用于判断所述丢弃报文是否发生报文损坏;所述错误编码用来标识所述丢弃报文的错误类型;通过对所述产生所述丢弃报文的设备、所述产生所述丢弃报文的源端口、所述报文损坏的信息和所述丢弃报文的错误类型进行分析统计,得出各个设备或源端口产生所述丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,用于定位产生所述丢弃报文的设备和源端口。3.如权利要求1所述的网络丢包流量的监控方法,其特征在于,所述对所述第一丢弃报文进行镜像,得到第二丢弃报文中,具体包括以下步骤:截取所述第一丢弃报文的前预设个字节,得到截取后的丢弃报文,将所述截取后的丢弃报文进行镜像,得到包含所述丢弃信息报文头的第二丢弃报文;其中,所述丢弃信息报文头添加在所述丢弃报文的前预设个字节内。4.如权利要求2所述的网络丢包流量的监控方法,其特征在于,所述监控设备为交换机cpu和/或远端网络监控设备;当存在远端网络监控设备时,将所述第二丢弃报文发送到所述远端网络监控设备进行错误统计分析,其具体步骤如下:根据远端网络监控设备的目的地址和所述交换机的源地址对所述第二丢弃报文进行业务头封装,得到封装的丢弃报文;将所述封装的丢弃报文转发到远端网络监控设备,以使所述远端监控设备解析所述封装的丢弃报文进行错误统计分析;当没有远端网络监控设备时,将所述第二丢弃报文发送到所述交换机cpu进行错误统计分析。5.一种网络丢包流量的解析方法,其特征在于,应用于监控设备上,所述方法包括以下步骤:接收交换机芯片发送的由第一丢弃报文镜像得到的第二丢弃报文,其中,所述第一丢弃报文为所述交换机芯片在丢弃报文中添加了丢弃信息报文头的报文,所述丢弃信息报文头中包括错误信息;
对所述第二丢弃报文中的错误信息进行解析,得到丢弃报文的丢包原因和统计信息。6.如权利要求5所述的网络丢包流量的解析方法,其特征在于,所述错误信息至少包括错误信息标识和用于报文丢弃统计的信息;所述用于报文丢弃统计的信息包括设备编号id、源端口信息、丢弃报文的长度信息和错误编码;其中,所述错误信息标识用于识别所述丢弃报文,并且用于标识所述错误信息标识后是所述用于报文丢弃统计的信息;所述设备编号id用于确定产生所述丢弃报文的设备;所述源端口信息用于确定产生所述丢弃报文的源端口;所述丢弃报文的长度信息用于确定所述丢弃报文的长度,用于判断所述丢弃报文是否发生报文损坏;所述错误编码用来标识所述丢弃报文的错误类型;通过对所述产生所述丢弃报文的设备、所述产生所述丢弃报文的源端口、所述报文损坏的信息和所述丢弃报文的错误类型进行分析统计,得出各个设备或源端口产生所述丢弃报文的数量、发生报文损坏的数量和各种丢弃报文的错误类型的统计信息,用于定位产生所述丢弃报文的设备和源端口。7.如权利要求5所述的网络丢包流量的解析方法,其特征在于,所述对所述第二丢弃报文中的错误信息进行解析包括:所述第二丢弃报文为截取所述第一丢弃报文的前预设个字节后镜像得到的报文;其中,所述丢弃信息报文头添加在所述丢弃报文的前预设个字节内。8.如权利要求5所述的网络丢包流量的解析方法,其特征在于,所述监控设备为交换机cpu和/或远端网络监控设备;当存在所述远端网络监控设备时,由所述远端网络监控设备接收交换机芯片发送的对第二丢弃报文进行业务台封装后的封装的丢弃报文,并对所述封装的丢弃报文进行解析,得到丢弃报文的丢包原因和统计信息;当没有所述远端网络监控设备时,由所述交换机cpu对所述第二丢弃报文中的错误信息进行解析,得到丢弃报文的丢包原因和统计信息。9.一种网络丢包流量的监控系统,其特征在于,包括:报文头生成模块,用于在丢弃报文中添加丢弃信息报文头,得到第一丢弃报文;其中,所述丢弃信息报文头中包括错误信息;镜像模块,用于对所述第一丢弃报文进行镜像,得到第二丢弃报文;发送模块,用于将所述第二丢弃报文上送监控设备,以使监控设备对所述第二丢弃报文携带的错误信息进行解析,得到所述丢弃报文的丢包原因并进行报文丢弃统计。10.一种网络丢包流量的解析系统,其特征在于,包括:接收模块,用于接收交换机芯片发送的由第一丢弃报文镜像得到的第二丢弃报文,其中,所述第一丢弃报文为所述交换机芯片在丢弃报文中添加了丢弃信息报文头的报文,所述丢弃信息报文头中包括错误信息;解析模块,用于对所述第二丢弃报文中的错误信息进行解析,得到丢弃报文的丢包原因和统计信息。11.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至4中任意一项所述的网络丢包流量的监控方法或/和执行如权利要求5至8中任意一项所述的网络丢包流量的解析方法。12.一种计算机设备,其特征在于,其包括处理器、存储器及存储于所述存储器上并可
在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任意一项所述的网络丢包流量的监控方法或/和实现如权利要求5至8中任意一项所述的网络丢包流量的解析方法。

技术总结


本发明公开了网络丢包流量的监控和解析方法、系统、存储介质及设备,属于网络通信的技术领域,该方法包括:在丢弃报文中添加丢弃信息报文头,得到第一丢弃报文;其中,所述丢弃信息报文头中包括错误信息;对所述第一丢弃报文进行镜像,得到第二丢弃报文;将所述第二丢弃报文上送监控设备,以使监控设备对所述第二丢弃报文携带的错误信息进行解析,得到所述丢弃报文的丢包原因并进行报文丢弃统计,得到所述丢弃报文的统计信息。本发明能够实现基于流量丢包监控的目的,及时的发现丢包流量对丢包进行基于深层次报文内容的统计。行基于深层次报文内容的统计。行基于深层次报文内容的统计。


技术研发人员:

王倩

受保护的技术使用者:

北京东土军悦科技有限公司

技术研发日:

2022.08.22

技术公布日:

2022/12/16

本文发布于:2024-09-23 23:33:45,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/37067.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:报文   所述   信息   端口
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议