CN112448924A - 一种兼容多种协议的报文处理方法、系统及交换设备 - Google Patents
一种兼容多种协议的报文处理方法、系统及交换设备 Download PDFInfo
- Publication number
- CN112448924A CN112448924A CN201910817800.5A CN201910817800A CN112448924A CN 112448924 A CN112448924 A CN 112448924A CN 201910817800 A CN201910817800 A CN 201910817800A CN 112448924 A CN112448924 A CN 112448924A
- Authority
- CN
- China
- Prior art keywords
- message
- processed
- processing
- protocol stack
- profinet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/60—Software-defined switches
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/26—Special purpose or proprietary protocols or architectures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种兼容多种协议的报文处理方法、系统及交换设备,涉及通信技术领域,用于使普通交换设备实现对PROFINET协议相关的报文的处理,节约用户成本,所述方法包括:接收待处理报文;根据所述待处理报文中包括的参数信息,确定处理所述待处理报文的协议栈,其中,所述参数信息包括待处理报文的协议端口号、报文类型;若确定处理所述待处理报文的协议栈为所述PROFINET协议栈,则将所述待处理报文传送至所述PROFINET协议栈进行处理。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种兼容多种协议的报文处理方法、系统及交换设备。
背景技术
交换设备是一种用于电(光)信号转发的网络设备,它可以为接入交换设备的任意两个网络节点提供独享的电信号通路。随着互联网技术的迅猛发展,交换设备的应用也越来越广泛,成为目前应用普及最快的网络设备之一。PROFINET是一种在实时以太网系统(Realtime-Ethernet System,RTE)中的领先工业标准,PROFINET作为一种适用于自动化行业的开放、实时工业以太网标准,它融合了PROFIBUS的工业经验以及以太网的开放性和灵活性。
目前,由于普通的交换设备并不支持PROFINET协议,当接收的报文为PROFINET协议相关的报文时,普通的交换设备会将该报文丢掉或者忽略,必须使用PROFINET专用的交换设备来处理PROFINET协议相关的报文,但普通的交换设备具备的很多功能又是PROFINET实时工业以太网交换设备不可替代的,例如,当需要处理的报文即包括普通交换业务的报文又包括PROFINET相关报文时,若只使用PROFINET实时工业以太网交换设备处理报文,则可能使得普通交换业务相关的报文无法得到处理,因此,如何使得普通的交换设备能够处理PROFINET协议相关的报文是一个值得思考的问题。
发明内容
本申请实施例提供了一种兼容多种协议的报文处理方法、系统及交换设备,用于使普通交换设备实现对PROFINET协议相关的报文的处理,节约用户成本。
第一方面,提供一种兼容多种协议的报文处理方法,所述方法应用于交换设备,所述交换设备包括PROFINET协议栈和普通协议栈,包括:
接收待处理报文,;
根据所述待处理报文中包括的参数信息,确定处理所述待处理报文的协议栈,其中,所述参数信息包括待处理报文的协议端口号、报文类型;
若处理所述待处理报文的协议栈为所述PROFINET协议栈,则将所述待处理报文传送至所述PROFINET协议栈进行处理。
可选的,所述方法还包括:
若确定所述待处理报文的协议栈为普通协议栈,则将所述待处理报文传送至所述普通协议栈进行处理。
可选的,将所述待处理报文传送至所述PROFINET协议栈进行处理之后,开始处理之前,所述方法还,包括:
获取所述待处理报文的目的地址以及所述待处理报文包括的数据的类型,其中,所述数据的类型包括非实时型数据和实时型数据;
若所述待处理报文包括的数据为非实时型数据,则采用标准通信通道对所述待处理报文进行处理,其中,所述标准通信通道为TCP/IP通信通道;
若所述待处理报文包括的数据为实时型数据,则通过实时通信通道对所述待处理报文进行处理。
可选的,将所述待处理报文传送至所述PROFINET协议栈进行处理,包括:
确定所述待处理报文的目的地址;
若所述目的地址与所述交换设备的地址不同,则将所述待处理报文转发给所述目的地址对应的设备;
若所述目的地址与所述交换设备的地址相同,则根据所述待处理报文携带的配置信息对所述交换设备进行配置,或者将查询所述交换设备的状态信息反馈给所述待处理报文对应的查询设备。
可选的,在将所述待处理报文传送至所述PROFINET协议栈进行处理之后,所述方法还包括:
若确定所述配置信息的存储类型为长期存储类型,则将所述配置信息存储在FLASH闪存中。
可选的,在将所述待处理报文传送至所述PROFINET协议栈之后,开始处理之前,所述方法还包括:
确定所述待处理报文的用户优先级;
根据所述用户优先级确定所述待处理报文的处理顺序。
第二方面,提供了一种兼容多种协议的报文处理系统,所述系统包括:报文接收模块、报文分流模块、PROFINET报文处理模块;
所述报文接收模块用于接收待处理的报文;
所述报文分流模块用于根据所述待处理报文中包括的参数信息,确定处理所述待处理报文的协议栈,其中,所述参数信息包括待处理报文的协议端口号、目的IP地址、报文类型;
所述PROFINET报文处理模块中设置有PROFINET协议栈,用于当处理所述待处理报文的协议栈为所述PROFINET协议栈时,将所述待处理报文传送至所述PROFINET协议栈进行处理。
可选的,所述系统还包括普通报文处理模块,所述普通报文处理模块中设置有普通协议栈,用于当确定处理所述待处理报文的协议栈为普通协议栈,将所述待处理报文传送至所述普通协议栈进行处理。
可选的,所述PROFINET报文处理模块还用于:
确定所述待处理报文包括的数据的类型,其中,所述数据的类型包括非实时型数据和实时型数据;
若所述待处理报文包括的数据为非实时型数据,则采用标准通信通道对所述待处理报文进行处理,其中,所述标准通信通道为TCP/IP通信通道;
若所述待处理报文包括的数据为实时型数据,则通过实时通信通道对所述待处理报文进行处理。
可选的,所述PROFINET报文处理模块还用于:
确定所述待处理报文的目的地址;
若所述目的地址与所述交换设备的地址不同,则将所述待处理报文转发给所述目的地址对应的设备;
若所述目的地址与所述交换设备的地址相同,则根据所述待处理报文携带的配置信息对所述交换设备进行配置,或者将查询所述交换设备的状态信息反馈给所述待处理报文对应的查询设备。
可选的,所述系统还包括存储模块,所述存储模块用于在将所述待处理报文传送至所述PROFINET协议栈进行处理之后,若确定所述配置信息的存储类型为长期存储类型,则将所述配置信息存储在FLASH闪存中。
可选的,所述PROFINET报文处理模块还用于:
确定所述待处理报文的用户优先级;
根据所述用户优先级确定所述待处理报文的处理顺序。
第三方面,提供一种交换设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中的方法包括的步骤。
第四方面,提供一种存计算机程序产品,当所述计算机程序产品在交换设备上运行时,使得所述交换设备执行实现本公开实施例上述第一方面以及第一方面涉及的任一可能涉及的方法。
本申请实施例中的技术方案,通过在普通交换设备中设置PROFINET协议栈,并对接收到的待处理报文进行分流处理,即根据待处理报文中包括的参数信息,确定处理待处理报文的协议栈,其中,所述参数信息包括待处理报文的协议端口号、报文类型,进而当确定出处理所述待处理报文的协议栈为所述PROFINET协议栈,则将所述待处理报文传送至所述PROFINET协议栈进行处理,因此可以在不更换交换设备的基础上,使得普通交换设备能够处理PROFINET协议相关的报文,因此,可以满足工业自动化场景中数据快速响应需求的同时,还降低用户的经济成本和技术成本。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1a为本申请实施例提供的兼容多种协议的报文处理系统的示意图;
图1b为本申请实施例提供的处理报文的系统对应的软件构架示意图;
图2为本申请实施例提供的PROFINET通信信道示意图;
图3为本申请实施例提供的兼容多种协议的报文处理方法的流程图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明技术方案的一部分实施例,而不是全部的实施例。基于本申请文件中记载的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明技术方案保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
为了便于理解,下面对本申请的背景技术进行介绍:
如前文所述,现有技术中普通的交换设备在接收到PROFINET协议相关的报文时,会将该报文忽略或者丢掉,必须使用PROFINET专用的交换设备来处理接收到的报文,而PROFINET专用的交换设备价格较高,若在已经购买有交换设备的基础上,再购买一个专用于PROFINET专用的交换设备或者自主研发支持PROFINET协议的交换设备,则会增加用户的成本,因此,现有技术中存在着如何使普通交换设备实现对PROFINET协议相关的报文的处理的问题。
鉴于此,本申请的发明人提供了一种兼容多种协议的报文处理方案,在该方案中,通过在普通交换设备增加PROFINET协议栈,并对交换设备接收到的报文进行分流处理,以区分PROFINET协议相关的报文和普通报文,进而将PROFINET协议相关的报文传送到PROFINET协议栈进行处理,将普通报文传送到交换设备的中普通协议栈进行处理,也就是说,交换设备内设置有PROFINET协议栈和普通协议栈这两个独立运行的协议栈,可以分别通过PROFINET协议栈处理PROFINET协议相关的报文,通过普通协议栈处理普通报文,从而可以在不更换交换设备的基础上,使得普通交换设备能够处理PROFINET协议相关的报文,因此,不但可以满足工业自动化场景中数据快速响应需求的同时,还降低用户的经济成本和技术成本。
在介绍完本申请实施例的设计思想之后,下面对本申请实施例提供的技术方案适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
请参见图1a所示的一种兼容多种协议的报文处理系统,包括报文接收模块100、报文分流模块101、PROFINET报文处理模块102和普通报文处理模块103。该处理报文的系统可以设置在交换设备中。其中,报文接收模块100用于接收待处理的报文,该报文接收模块100可以是交换设备的物理端口;报文分流模块101设置有报文解析分流处理程序,通过该报文解析分流处理程序对接收到的待处理报文进行过滤分流,去除接收到的报文中的无效报文以及格式错误的报文,以及区分处理待处理报文的协议栈,并将待处理报文中与PROFINET协议相关的报文传送至PROFINET报文处理模块102,将待处理报文中的非PROFINET协议相关的报文(即交换设备传统的报文,非采用PROFINET协议的报文)传送到普通报文处理模块103。
请参见图1b,图1b为图1a中兼容多种协议的报文处理系统对应的软件构架示意图,其中,报文接收模100对应图1b中的Switch Hardware部分,即交换设备的物理接口,用于接收待处理报文。报文分流模块101对应图1b中的SWITCH BSP(SWITCH Board SupportPackage,交换机外部中断),用于实现交换机的功能模块。PROFINET报文处理模块102包括EDD-ERTEC(Ethernet Device Driver-Enhanced Real-Time Ethernet Controller,以太网设备驱动程序-增强型实时以太网控制器),主要用来为发送周期和非周期实时数据以及非实时数据提供服务;Applications即应用层,用于PROFINET协议对应的主任务的建立、循环实时通信报文处理任务的建立,以及对各种应用事件的处理;CM(Context Manager,上下文管理器)用于创建和管理应用关系和通信关系,Protocals OF PROFINET是PROFINET协议,用于处理实时通信报文;CLRCP(Connectionless Remote Procedure Call,快速控制原型)用于实现无连接的远程过程调用(RPC)协议的实现,IOD Control Program即接口管理程序,作为I/O设备与应用层的I/O数据交换接口,SOCK-Isa可以用于PROFINET报文处理模块中实时通信通道和标准通信通道(即非实时通信通道)之间的通信,例如,发送和接收TCP/IP消息;OS ADAPT,操作系统适配器,用于确定与协议栈操作系统对应的操作系统应用。INTERNICHE TCP/IP用于实现对PROFIONET协议相关报文中的非实时通信报文的处理。普通报文处理模块103包括TCP/IP通信通道和SWITCHOS(ECOS)即交换设备对应的操作系统。
具体的,如图1b所示,图1b中的EDD-ERTEC,INTERNICHE TCP/IP,SOCK-Isa,CLRCP构成PROFINET报文处理模块102中的非实时通信通道(即标准通信通道),EDD-ERTEC,Protocals OF PROFINET构成了PROFINET报文处理模块102中实时通信通道。
在本申请实施例中,PROFINET报文处理模块102中设置有PROFINET协议栈,PROFINET报文处理模块对应有三种不同的通信等级:(1)用于非苛求时间数据的TCP/IP通信,它是一个普通TCP/IP等级,具体可用于I/O控制器与PC机间的通信。例如参数配置和组态部分;(2)用于苛求时间过长数据的软实时(SRT),例如,可以用在工厂自动控制领域;(3)用于时间要求特别严格的等时同步(IRT),例如,可以用在运动控制领域。
请参见图2为PROFINET协议栈对应的通信通道,图2所示的PROFINET的通信通道包括了TCP(UDP)/IP和RT两种基于组建的通信模式。TCP/IP通信模式通过网络层(IP层)到达传输层(TCP/UDP)可以完成一般的IT通信以及PROFINET NRT的通信,实时(RT)通信部分则省略掉网络层和传输层这两个部分,快速的由数据连接层到达应用层,从而可以实现快速的响应,以保证在确定的时间间隔内进行时间要求严格的数据传输。
在本申请实施例中,PROFINET协议通过EtherType II来唯一地标识PROFINET协议的实时数据帧,用以区别于其他采用标准IT协议的以太网帧,PROFINET以太网类型标识中采用0x0800来标识IP帧,采用0x8892标识PROFINET实时帧,帧类型标识符可以表征两个设备之间的一个特定的通信通道。把帧类型标识符加入到以太网帧中可以对实时帧进行迅速识别,所以,可以根据报文结构中的帧类型标识符来区分PROFINET协议相关的报文的传输类型,换言之,可以根据报文结构中的帧类型标识符区分PROFINET协议相关的报文是通过标准通信通道传输还是通过实时通信通道传输。具体的,实时帧的报文结构如表一所示。
表一:
在本申请实施例中,通过PROFINET的通信通道传输的报文都可称为PROFINET协议相关的报文,包括PROFINET协议的实时数据帧和通过TCP/IP通道传输的非实时数据帧。
在本申请实施例中,普通报文处理模块103中设置有普通协议栈,该普通协议栈采用TCP/IP标准通信通道,普通报文处理模块103在报文分流模块101传送的待处理报文后,可以将直接通过TCP/IP对该待处理报文进行处理。虽然PROFINET报文处理模块102中也有TCP/IP标准通信通道,但由于本申请实施例中可以通过报文分流模块101确定处理该待处理报文的模块,对待处理报文进行分流处理,因此,可以将待处理报文传送到对应的模块进行处理,实现对PROFINET报文处理模块102中的标准通信通道处理PROFINET协议相关的报文和普通报文处理模块103中的标准通信通道处理普通报文的隔离,从而确保PROFINET报文处理模块102和普通报文处理模块103能够互补干扰的处理待处理报文,同时,还可以实现在一个交换设备内独立运行两套TCP/IP通信通道。
为进一步说明本申请实施例提供的技术方案,下面结合附图以及具体实施方式对此进行详细的说明。虽然本申请实施例提供了如下述实施例或附图所示的方法操作步骤,但基于常规或者无需创造性的劳动在所述方法中可以包括更多或者更少的操作步骤。在逻辑上不存在必要因果关系的步骤中,这些步骤的执行顺序不限于本申请实施例提供的执行顺序。所述方法在实际的处理过程中或者装置执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行。
请参见图3,本申请实施例基于图1a和图1b中所示的处理报文的系统还提供了一种兼容多种协议的报文处理方法,在理解该兼容多种协议的报文处理方法时,可以结合前述的兼容多种协议的报文处理系统进行理解,本申请实施例中的兼容多种协议的报文处理方法的流程描述如下。
步骤301:接收待处理报文。
在本申请实施例中,可以是由设置有如图1a和图1b中所示的处理的报文的系统的交换设备接收待处理报文,待处理报文可指一个报文也可以指多个报文。该待处理报文可以包括普通报文和PROFINET协议相关的报文。其中,普通报文即为普通的交换设备能够处理的报文,PROFINET协议相关的报文可以是由PROFINET IO设备产生的报文。
步骤302:根据待处理报文中包括的参数信息,确定处理待处理报文的协议栈,其中,参数信息包括待处理报文的协议端口号、报文类型。
在本申请实施例中,如前文所述,报文分流模块中设置有报文解析分流处理程序,在接收到待处理报文后,可以通过先对接收到的报文进行分流处理,将待处理报文分为普通报文和PROFINET协议相关的报文,避免将待处报文传送到错误的协议栈,影响对待处理报文的处理进度。
具体的,由于PROFINET协议相关的报文是基于IEEE802.XX协议的报文,例如,基于IEEE802.3协议的报文,当图1a和图1b所示的报文分流模块接收到待处理报文后,可以报文结构中的协议端口号来区分该待处理报文的协议类型,从而区分该待处理报文是普通报文(即非PROFINET协议相关的报文)还是PROFINET协议相关的报文。或者,还可以根据待处理报文的报文类型来确定待处理报文是普通报文还是PROFINET协议相关的报文,其中,报文类型可以通过前文所述的报文结构中的帧类型标识符来区分。
在具体的实践过中,由于普通报文处理模块和PROFINET报文处理模都需要获得本端交换设备和对端设备的信息,如管理地址,设备能力、设备标识、接口标识等信息,因此,待处理报文中包括LLDP报文、ARP报文等普通报文处理模块和PROFINET报文处理模都需要使用到的报文,可以分别传送到普通报文处理模块和PROFINET报文处理模块,从而使得普通报文处理模块和PROFINET报文处理模均可以获得本端交换设备的信息,以及对端设备的有效对端信息,以便根据获取的信息准确的处理待处理报文,也就是说,这些普通报文处理模块和PROFINET报文处理模都需要使用到的报文,也可以被统称为与PROFINET协议相关的报文。
在本申请实施例中,当确定出待处理报文是普通报文,则可以确定处理该待处报文的协议栈为普通协议栈,若待处理报文为PROFINET协议相关的报文,则确定处理该待处理报文的协议栈为PROFINET协议栈。
步骤303:若处理待处理报文的协议栈为PROFINET协议栈,则将待处理报文传送至PROFINET协议栈进行处理。
在本申请实施例中,若处理该待处理报文为PROFINET协议栈,即该待处理报文为PROFINET协议相关的报文,则将该待处理报文传送到PROFINET协议栈进行处理,若处理该待处理报文为普通协议栈,即该待处理报文为普通报文,则将该待处理报文传送到普通协议栈,从而可以将不同类型的报文分别通过不同的协议栈进行处理,以实现在不影响交换设备处理普通报文的基础上,还能够通过设置的PROFINET协议栈处理PROFINET协议相关的报文,因此可以节约用户的经济成本和技术成本。
进一步地,在将待处理报文传送至PROFINET协议栈后,PROFINET协议栈可以对待处理报文进行处理。在本申请实施例中,由于待处理报文可能是针对交换设备的报文,也可能是需要交换设备转发的报文,所以PROFINET协议栈在接收到待处理报文后,可以判断待处理报文的目的地址与本机地址是否相同,从而可以根据待处理报文的目标地址和报文请求信息进行相应的处理。其中,目的地址可以是MAC地址(Media Access Control Address,媒体存取控制位址),MAC地址也可以称为物理地址和硬件地址,每个设备的MAC地址都是唯一且不会发生变化的。
在本申请实施例中,若获待处理报文的目的地址与交换设备本地的地址相同,根据该报文请求信息对该待处理报文进行相应处理。具体的,若报文请求信息指示该待处理报文用于对交换设备进行配置,则根据该待处理报文对交换设备进行配置;若报文请求信息指示该待处理报文是用于查询交换设备的状态信息,则将交换设备的状态信息反馈给待处理报文对应的查询设备。其中,交换设备的状态信息可以是交换设备的设备信息、端口状态等,与该待处理报文对应的设备可以是发送待处理报文的设备,也可以是发送待处理报文的设备之外的设备。例如,若待处理报文的报文请求信息是获取交换设备各端口的状态信息,那么,当交换设备根据该待处理报文查询到自身各端口的状态信息后,可以将交换设备的状态信息组成回复报文,发送给对应待处理报文对应的查询设备。
在本申请实施例中,若待处理报文的目的地址与交换设备本地的地址不相同,则可以进一步确定该待处理报文包括的数据的类型,其中,待处理报文的数据类型包括非实时型数据和实时型数据,可以将包括非实时型数据的待处理报文称为非实时通信报文,可以通过前文所述的PROFINET协议栈中的TCP/IP和UDP/IP通道传输该非实时通信报文,非实时型数据例如配置数据、诊断数据、普通以太网数据等等。进一步地,可以将包括实时型数据的待处理报文称为实时通信报文,实时通信报文可以通过实时通信通道进行传输。实时型数据可以是帧类型标识符为0x8892数据包,当PROFINET协议栈接收到帧类型标识符为0x8892的数据包后,可以通过实时通信通道将该待处理报文传输到应用层,这样的实时型数据例如周期数据和报警数据,由于实时型数据可以直接从数据连接层到达应用层,从而可以实现对待处理报文的快速响应,提高报文的响应速度。
作为一种可选的实施方式,在本申请实施例中,由于交换设备中CPU(centralprocessing unit,中央处理器)的处理能力是固定的,为了使普通报文和PROFINET协议相关的报文都能及时得到处理,在对待处理报文进行分流处理后,可以将目的地址与交换设备的MAC地址不相符的报文直接转发给目的地址对应的设备,不传送到CPU进行处理,从而节约CPU资源。
作为一种可能实施方式,在本申请实施例中,PROFINET协议栈在接收到待处理报文后,可以解析待处理报文中的报文内容,确定对该待处理报文的存储类型,其中存储类型分为长期保存和临时保存,若该待处理报文的存储类型为长期保存类型,则对该待处理报文进行长期保存类型,例如,可以将对交换设备进行设置的报文保存到FLASH闪存空间中,以便保证设备重启时存储的信息不丢失,提高存储信息的安全性;若待处理报文的存储类型为临时保存类型,则将该待处理报文存储在交换设备的内存中即可,例如,DCP报文中的IP配置报文的存储类型为临时存储类型,则可以将IP报文配置到交换设备的接口,并写到相应的寄存器中,不需将该待处理报文存储到FLASH空间中,从而可以节约存储空间。
作为一种可选的实施方式,在本申请实施中,由于PROFINET实时通信报文具有优先级,在将待处理报文传送至PROFINET协议栈之后,开始进行处理之前,可以确定该待处理报文的用户优先级,从而根据确定的用户优先级确定出待处理报文的处理顺序,从而可以根据优先级关系,优先处理用户优先级高的待处理报文,进而更加合理的处理待处理报文,满足用户需求,提高用户体验。
具体的,PROFINET实时通信报文基于IEEE802.3,具有4个字节的VLAN标签,该标签中的3个位可以表示PROFINET实时数据的优先级。那么PROFINET协议栈在接收到待处理报文后,可以根据待处理报文结构中的VLAN标签确定该待处理报文的用户优先,进而将优先级不同的报文分配到不同的队列中。例如,可以将实时通信报文的用户优先级设置为最高,进而将实时通信报文分配到处理优先级最高的队列中,保证实时通信报文可以以最高的优先级得到响应处理,从而确保PROFINET IO设备的实时性。
进一步地,可以将PROFINET协议相关的报文放入单独的调度队列,实现普通报文和PROFINET协议相关的报文的分开调度,从而避免PROFINET协议相关的报文与普通报文之间产生处理冲突,以确保PROFINET协议相关的报文能够得到及时处理。
在本申请实施例中,通过上述方法,在普通交换设备中增加PROFINET协议栈,并对接收到的报文进行过滤分流处理,从而将待处理报文中与PROFINET协议相关的报文分流到PROFINET协议栈中进行处理,使得在不改变普通交换设备的硬件的基础上实现对PROFINET协议相关的报文的处理,而不需要重新购买或研发PROFINET专用的交换设备,因此,可以降低用户的经济成本和技术成本。
基于同一发明构思,本申请实施例还提供一种兼容多种协议的报文处理系统,该兼容多种协议的报文处理系统可以是如图1a和图1b中的系统,结合图1a和图1b的说明,本申请实施例中的兼容多种协议的报文处理系统包括报文分流模块、PROFINET报文处理模块和普通报文处理模块,而报文分流模块、PROFINET报文处理模块和普通报文处理模块的相应实施例可以参见前述兼容多种协议的报文处理系统部分的描述,此处不再赘述。
在一些可能的实施方式中,本申请实施例提供的兼容多种协议的报文处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在计算机上运行时,所述程序代码用于使所述计算机执行前文述描述的根据本公开各种示例性实施方式的兼容多种协议的报文处理方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种兼容多种协议的报文处理方法,其特征在于,应用于交换设备,所述交换设备包括PROFINET协议栈和普通协议栈,所述方法包括:
接收待处理报文;
根据所述待处理报文中包括的参数信息,确定处理所述待处理报文的协议栈,其中,所述参数信息包括待处理报文的协议端口号、报文类型;
若确定处理所述待处理报文的协议栈为所述PROFINET协议栈,则将所述待处理报文传送至所述PROFINET协议栈进行处理。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若确定处理所述待处理报文的协议栈为普通协议栈,则将所述待处理报文传送至所述普通协议栈进行处理。
3.如权利要求1所述的方法,其特征在于,将所述待处理报文传送至所述PROFINET协议栈之后,开始处理之前,所述方法还包括:
确定所述待处理报文包括的数据的类型,其中,所述数据的类型包括非实时型数据和实时型数据;
若所述待处理报文包括的数据为非实时型数据,则采用标准通信通道对所述待处理报文进行处理,其中,所述标准通信通道为TCP/IP通信通道;
若所述待处理报文包括的数据为实时型数据,则通过实时通信通道对所述待处理报文进行处理。
4.如权利要求1所述的方法,其特征在于,将所述待处理报文传送至所述PROFINET协议栈进行处理,包括:
确定所述待处理报文的目的地址;
若所述目的地址与所述交换设备的地址不同,则将所述待处理报文转发给所述目的地址对应的设备;
若所述目的地址与所述交换设备的地址相同,则根据所述待处理报文携带的配置信息对所述交换设备进行配置,或者将查询所述交换设备的状态信息反馈给所述待处理报文对应的查询设备。
5.如权利要求4所述的方法,其特征在于,在将所述待处理报文传送至所述PROFINET协议栈进行处理之后,所述方法还包括:
若确定所述配置信息的存储类型为长期存储类型,则将所述配置信息存储在FLASH闪存中。
6.如权利要求1-4中任一所述的方法,其特征在于,在将所述待处理报文传送至所述PROFINET协议栈之后,开始处理之前,所述方法还包括:
确定所述待处理报文的用户优先级;
根据所述用户优先级确定所述待处理报文的处理顺序。
7.一种兼容多种协议的报文处理系统,其特征在于,包括:报文接收模块、报文分流模块、PROFINET报文处理模块;
所述报文接收模块用于接收待处理的报文;
所述报文分流模块用于根据所述待处理报文中包括的参数信息,确定处理所述待处理报文的协议栈,其中,所述参数信息包括待处理报文的协议端口号、报文类型;
所述PROFINET报文处理模块中设置有PROFINET协议栈,用于当确定处理所述待处理报文的协议栈为所述PROFINET协议栈时,将所述待处理报文传送至所述PROFINET协议栈进行处理。
8.如权利要求7所述的系统,其特征在于,所述系统还包括普通报文处理模块,所述普通报文处理模块中设置有普通协议栈,用于当确定处理所述待处理报文的协议栈为普通协议栈,将所述待处理报文传送至所述普通协议栈进行处理。
9.如权利要求7所述的系统,其特征在于,所述PROFINET报文处理模块还用于:
确定所述待处理报文包括的数据的类型,其中,所述数据的类型包括非实时型数据和实时型数据;
若所述待处理报文包括的数据为非实时型数据,则采用标准通信通道对所述待处理报文进行处理,其中,所述标准通信通道为TCP/IP通信通道;
若所述待处理报文包括的数据为实时型数据,则通过实时通信通道对所述待处理报文进行处理。
10.一种交换设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6任一所述的方法包括的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817800.5A CN112448924A (zh) | 2019-08-30 | 2019-08-30 | 一种兼容多种协议的报文处理方法、系统及交换设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910817800.5A CN112448924A (zh) | 2019-08-30 | 2019-08-30 | 一种兼容多种协议的报文处理方法、系统及交换设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112448924A true CN112448924A (zh) | 2021-03-05 |
Family
ID=74733778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910817800.5A Pending CN112448924A (zh) | 2019-08-30 | 2019-08-30 | 一种兼容多种协议的报文处理方法、系统及交换设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112448924A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113395293A (zh) * | 2021-07-13 | 2021-09-14 | 上海睿赛德电子科技有限公司 | 一种基于rpc的网络套接字实现方法 |
CN116436994A (zh) * | 2023-06-15 | 2023-07-14 | 杭州禾芯半导体有限公司 | Profinet协议报文传输方法、装置、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050228509A1 (en) * | 2004-04-07 | 2005-10-13 | Robert James | System, device, and method for adaptively providing a fieldbus link |
CN102014057A (zh) * | 2010-11-25 | 2011-04-13 | 重庆邮电大学 | 基于epa协议的支持实时和非实时应用的工业以太网通信方法 |
US20130208724A1 (en) * | 2010-07-01 | 2013-08-15 | Endress + Hauser Flcwtec Ag | Automated Adaption to Various Industrial Ethernet Protocols |
CN104202206A (zh) * | 2014-07-25 | 2014-12-10 | 汉柏科技有限公司 | 报文处理装置及方法 |
CN107147655A (zh) * | 2017-05-25 | 2017-09-08 | 北京中电普华信息技术有限公司 | 一种网络双协议栈并行处理模型及其处理方法 |
-
2019
- 2019-08-30 CN CN201910817800.5A patent/CN112448924A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050228509A1 (en) * | 2004-04-07 | 2005-10-13 | Robert James | System, device, and method for adaptively providing a fieldbus link |
US20130208724A1 (en) * | 2010-07-01 | 2013-08-15 | Endress + Hauser Flcwtec Ag | Automated Adaption to Various Industrial Ethernet Protocols |
CN102014057A (zh) * | 2010-11-25 | 2011-04-13 | 重庆邮电大学 | 基于epa协议的支持实时和非实时应用的工业以太网通信方法 |
CN104202206A (zh) * | 2014-07-25 | 2014-12-10 | 汉柏科技有限公司 | 报文处理装置及方法 |
CN107147655A (zh) * | 2017-05-25 | 2017-09-08 | 北京中电普华信息技术有限公司 | 一种网络双协议栈并行处理模型及其处理方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113395293A (zh) * | 2021-07-13 | 2021-09-14 | 上海睿赛德电子科技有限公司 | 一种基于rpc的网络套接字实现方法 |
CN113395293B (zh) * | 2021-07-13 | 2023-09-15 | 上海睿赛德电子科技有限公司 | 一种基于rpc的网络套接字实现方法 |
CN116436994A (zh) * | 2023-06-15 | 2023-07-14 | 杭州禾芯半导体有限公司 | Profinet协议报文传输方法、装置、设备及介质 |
CN116436994B (zh) * | 2023-06-15 | 2023-08-25 | 杭州禾芯半导体有限公司 | Profinet协议报文传输方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111970137B (zh) | Tsn中控制器间通信的方法、装置及系统 | |
US9143439B2 (en) | System and method for cluster link aggregation control in a network environment | |
CN114073043B (zh) | 以太网网桥端口管理的方法和装置 | |
EP3048764A1 (en) | Method and system for implementing 802.1p-supporting openvswitch switch | |
JP2019500822A (ja) | 仮想マシンパケット制御 | |
US11917027B2 (en) | Method and system for providing time-critical services | |
EP3684137A1 (en) | Providing connectivity service to multiple tsn domains by a single 3gpp network | |
CN103763121A (zh) | 一种网络配置信息快速下发的方法及装置 | |
EP4064622A1 (en) | Method and apparatus for updating routing information, computer device, and storage medium | |
CN104301238A (zh) | 一种报文处理方法、装置及系统 | |
WO2013186825A1 (en) | Computer system, communication control server, communication control method, and program | |
KR20180025944A (ko) | Sdn 기반의 arp 구현 방법 및 장치 | |
CN112448924A (zh) | 一种兼容多种协议的报文处理方法、系统及交换设备 | |
EP3038296A1 (en) | Pool element status information synchronization method, pool register and pool element | |
CN111541688A (zh) | 一种兼容多协议的嵌入式系统、数据处理方法及装置 | |
JP5974911B2 (ja) | 通信システムおよびネットワーク中継装置 | |
CN111371668B (zh) | 基于免费arp的周期性发送方法、装置、设备及存储介质 | |
US9985926B2 (en) | Address acquiring method and network virtualization edge device | |
EP3331199B1 (en) | Method and system for simple device replacement in a class a (cca) network | |
CN113260072B (zh) | Mesh组网流量调度方法、网关设备和存储介质 | |
US11522762B2 (en) | Coordination device and method for providing control applications via a communication network for transmitting time-critical data | |
EP3258654B1 (en) | Method and system for reducing pim protocol dr change | |
US20160308787A1 (en) | Method for processing event between controller and network device | |
WO2021224931A1 (en) | System and a method to efficiently exchange echo and stats messages between sdn controller and the open vswitches | |
CN110011820B (zh) | 一种系统间的连接方法、设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210305 |