本申请涉及通信领域,尤其涉及一种报文处理方法、装置、设备和存储介质。
背景技术:
1、在网络运营与维护的过程中,为了便于业务监测和故障定位,在不影响设备对报文进行正常处理的情况下,可以采用端口镜像功能对报文进行复制。其中,端口镜像是指将经过指定的镜像端口(也可以称为源端口)的报文复制一份到另一个指定的观察端口(也可以称为预配的监控端口)。网络管理员通过网络监控设备就可以分析从观察端口复制过来的报文,从而可以判断网络中运行的业务是否正常。
2、在交换机中,cpu(central processing unit)转发报文的传输通道有两种,一种是ethernet通道,一种是dma(direct memory access)通道;当走ethernet通道时,所发出的报文将按照交换机内部的交换芯片的逻辑、当前配置进行相应的转发动作;当走dma通道时,则是跳过交换芯片的转发逻辑、当前配置,直接向指定端口发送出去。假如该出端口当前为镜像的源端口,且配置了该端口的出端口镜像,如果此时cpu发出的报文指定走dma通道,由于该报文走dma通道时跳过了交换芯片的转发逻辑,因此,在镜像端口处将捕捉不到该报文,进而导致在镜像端口将获取不到源端口的真实数据,将影响网络分析的真实性和准确性。
技术实现思路
1、有鉴于此,为了解决现有技术存在的问题,本申请提供了一种报文处理方法、装置、设备和存储介质。
2、第一方面,本申请提供一种报文处理方法,包括:
3、识别待发送的目标报文的传输方式,在确定所述传输方式为直接存储器访问传输方式时,获取用于接收所述目标报文的目的端口,并识别所述目的端口的镜像端口类型;
4、若所述目的端口的镜像端口类型为源端口,则判断所述目的端口是否配置有出方向的端口镜像;
5、若所述目的端口配置有所述端口镜像,则获取与所述端口镜像对应的镜像端口,并将所述目标报文以所述直接存储器访问传输方式分别发送至所述目的端口和所述镜像端口。
6、在可选的实施方式中,所述方法还包括:
7、若所述目的端口的镜像端口类型不为源端口,或所述目的端口未配置有出方向的端口镜像,则不执行后续流程。
8、在可选的实施方式中,所述识别所述目的端口的镜像端口类型,包括:
9、获取所述目的端口的配置信息,所述配置信息包括镜像端口类型;
10、根据所述配置信息确定所述目的端口的镜像端口类型。
11、在可选的实施方式中,所述判断所述目的端口是否配置有出方向的端口镜像,包括:
12、获取所述目的端口的配置信息,根据所述配置信息中包含的镜像方向确定所述目的端口是否配置有出方向的端口镜像;其中,所述镜像方向包括入方向、出方向和出入双向。
13、在可选的实施方式中,在所述获取用于接收所述目标报文的目的端口之前,还包括:
14、获取用户需求信息,根据所述用户需求信息配置用于接收所述目标报文的目的端口,生成并存储配置信息;其中,所述用户需求信息用于指示待配置的目的端口的镜像端口类型和镜像方向。
15、在可选的实施方式中,在所述识别待发送的目标报文的传输方式之前,还包括:
16、创建待发送的目标报文,并为所述目标报文设置传输标签;其中,所述传输标签用于指示所述目标报文对应配置的传输方式,所述传输方式包括直接存储器访问传输方式和以太网传输方式。
17、在可选的实施方式中,所述方法还包括:
18、在确定所述传输方式为以太网传输方式时,获取与所述目标报文对应的转发逻辑,根据所述转发逻辑执行转发动作。
19、第二方面,本申请提供一种报文处理装置,包括:
20、识别模块,用于识别待发送的目标报文的传输方式,在确定所述传输方式为直接存储器访问传输方式时,获取用于接收所述目标报文的目的端口,并识别所述目的端口的镜像端口类型;
21、判断模块,用于若所述目的端口的镜像端口类型为源端口,则判断所述目的端口是否配置有出方向的端口镜像;
22、传输模块,用于若所述目的端口配置有所述端口镜像,则获取与所述端口镜像对应的镜像端口,并将所述目标报文以所述直接存储器访问传输方式分别发送至所述目的端口和所述镜像端口。
23、第三方面,本申请提供一种计算机设备,所述计算机设备包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施前述的报文处理方法。
24、第四方面,本申请提供一种计算机存储介质,其存储有计算机程序,所述计算机程序被执行时,实施根据前述的报文处理方法。
25、本申请实施例具有如下有益效果:
26、本申请实施例提供了一种报文处理方法,该方法包括:识别待发送的目标报文的传输方式,在确定传输方式为直接存储器访问传输方式时,获取用于接收目标报文的目的端口,并识别目的端口的镜像端口类型;若目的端口的镜像端口类型为源端口,则判断目的端口是否配置有出方向的端口镜像;若目的端口配置有端口镜像,则获取与端口镜像对应的镜像端口,并将目标报文以直接存储器访问传输方式分别发送至目的端口和镜像端口。本申请实施例在转发目标报文时,识别该目标报文的传输方式以及对应的目的端口及其镜像端口类型和镜像方向,从而根据识别结果来完成镜像端口的报文同步转发流程。进而本实施例可在不改变交换机内部芯片的硬件电路和转发逻辑的基础上,避免出方向的端口镜像因报文的dma传输方式所造成的报文缺失的问题,从而规避该交换机内部芯片的功能缺陷,保证了出方向的端口镜像可同步接收到交换机转发至目的端口的目标报文,从而真实、准确、完整地镜像源端口出方向的报文,实现对报文的精准监听和端口网络流量的分析和有效监控,进而提高监控的可靠性和精度,以及提高后续的运维效率。
1.一种报文处理方法,其特征在于,包括:
2.根据权利要求1所述的报文处理方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的报文处理方法,其特征在于,所述识别所述目的端口的镜像端口类型,包括:
4.根据权利要求1或3所述的报文处理方法,其特征在于,所述判断所述目的端口是否配置有出方向的端口镜像,包括:
5.根据权利要求1-3中任一项所述的报文处理方法,其特征在于,在所述获取用于接收所述目标报文的目的端口之前,还包括:
6.根据权利要求1所述的报文处理方法,其特征在于,在所述识别待发送的目标报文的传输方式之前,还包括:
7.根据权利要求1或6所述的报文处理方法,其特征在于,所述方法还包括:
8.一种报文处理装置,其特征在于,包括:
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和至少一个处理器,所述存储器存储有计算机程序,所述处理器用于执行所述计算机程序以实施权利要求1-7中任一项所述的报文处理方法。
10.一种计算机存储介质,其特征在于,其存储有计算机程序,所述计算机程序被执行时,实施根据权利要求1-7中任一项所述的报文处理方法。