CN112751725A - 一种hsr环网通信装置及其通信方法 - Google Patents
一种hsr环网通信装置及其通信方法 Download PDFInfo
- Publication number
- CN112751725A CN112751725A CN202011497069.1A CN202011497069A CN112751725A CN 112751725 A CN112751725 A CN 112751725A CN 202011497069 A CN202011497069 A CN 202011497069A CN 112751725 A CN112751725 A CN 112751725A
- Authority
- CN
- China
- Prior art keywords
- processed
- communication unit
- ethernet message
- ethernet
- message
- 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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0829—Packet loss
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种HSR环网通信装置及其通信方法,包括:第一MAC端口和第二MAC端口,以及基于FPGA构建的第一存储单元、第一通信单元和第二通信单元;第一通信单元利用源MAC地址和第二通信单元的节点表确定是否丢弃待处理以太网报文;若不丢弃,根据目的MAC地址,确定接收和/或转发待处理以太网报文;若接收,将待处理以太网报文存储至第一存储单元中供CPU读取;若转发,通过第二通信单元利用第二MAC端口和目的地址进行转发;若接收和转发,将待处理以太网报文进行存储和转发。所接收的数据不需要往返MAC端口和CPU之间,降低CPU的运行负荷和降低网络延时,并且基于FPGA构建各个单元,提高数据处理速度。
Description
技术领域
本发明涉及通信技术领域,具体涉及一种HSR环网通信装置及其通信方法。
背景技术
在工业控制系统中,为保证机架之间的通信可靠性,通常需要搭建双网的冗余网络结构来提高网络可用性,其中较为常用的冗余网络结构为高可用性无缝环网(high-availability seamless ring,HSR)网络。
目前是通过CPU以软件方式的形式来实现HSR协议,即以太网介质访问控制(MediaAccess Control,MAC)收到的报文需要交给CPU进行判断处理,但是一方面以太网MAC将接收到的报文交由CPU处理的过程中,网络延时较高,另一方面随着工业控制系统的发展和升级,机架之间的数据量越来越庞大,大批量的数据处理会加大CPU的运行负荷。
发明内容
有鉴于此,本发明实施例提供一种HSR环网通信装置及其通信方法,以解决目前实现HSR协议的方式存在的网络延时较高和CPU的运行负荷较大等问题。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例第一方面公开了一种HSR环网通信装置,所述装置包括:第一介质访问控制MAC端口和第二MAC端口,以及基于可编程逻辑阵列FPGA构建的第一存储单元、第一通信单元和第二通信单元;
所述第一MAC端口,用于接收待处理以太网报文;
所述第一通信单元,用于利用所述待处理以太网报文的源MAC地址和所述第二通信单元维护的节点表确定是否丢弃所述待处理以太网报文;若不丢弃所述待处理以太网报文,根据所述待处理以太网报文的目的MAC地址,确定接收和/或转发所述待处理以太网报文;若接收所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取;若转发所述待处理以太网报文,利用所述第二通信单元转发所述待处理以太网报文;若接收和转发所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取,并利用所述第二通信单元转发所述待处理以太网报文,所述节点表包含已处理的以太网报文的HSR序列号;
所述第二通信单元,用于利用所述第二MAC端口和所述目的地址转发所述待处理以太网报文。
优选的,所述第一通信单元和所述第二通信单元均包括:过滤模块和发送模块;
所述第一通信单元的过滤模块用于:利用所述待处理以太网报文的源MAC地址和所述第二通信单元的过滤模块维护的节点表确定是否丢弃所述待处理以太网报文;若不丢弃所述待处理以太网报文,根据所述待处理以太网报文的目的MAC地址,确定接收和/或转发所述待处理以太网报文;若接收所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取;若转发所述待处理以太网报文,利用所述第二通信单元的发送模块转发所述待处理以太网报文;若接收和转发所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取,并利用所述第二通信单元的发送模块转发所述待处理以太网报文;
所述第二通信单元的发送模块用于:利用所述第二MAC端口和所述目的地址转发所述待处理以太网报文。
优选的,用于利用所述第二通信单元的发送模块转发所述待处理以太网报文的所述第一通信单元的过滤模块,具体用于:
将所述待处理以太网报文存储至所述第二通信单元的发送模块对应的先进先出FIFO队列中,使所述第二通信单元的发送模块从所述FIFO中读取并转发所述待处理以太网报文。
优选的,用于确定是否丢弃所述待处理以太网报文的所述第一通信单元的过滤模块,具体用于:
利用所述源MAC地址从所述第二通信单元的过滤模块维护的节点表中读取冗余丢弃窗口,所述冗余丢弃窗口包含已处理的以太网报文的HSR序列号的范围;确定所述待处理以太网报文的HSR序列号是否在所述冗余丢弃窗口中;若不在所述冗余丢弃窗口中,确定不丢弃所述待处理以太网报文;若在所述冗余丢弃窗口中,确定丢弃所述待处理以太网报文。
优选的,所述第一通信单元的过滤模块还用于:若不丢弃所述待处理以太网报文,利用所述待处理以太网报文的HSR序列号更新自身维护的节点表。
优选的,所述装置还包括:基于FPGA构建的第二存储单元;
所述第二存储单元,用于将待发送以太网报文发送至所述第一通信单元的发送模块和所述第二通信单元的发送模块,使所述第一通信单元的发送模块通过所述第一MAC端口发送所述待发送以太网报文,以及使所述第二通信单元的发送模块通过所述第二MAC端口发送所述待发送以太网报文。
优选的,所述装置还包括:基于FPGA构建的时间同步单元;
所述时间同步单元,用于获取时间戳和基于IEEE1588的同步运算,以及用于实现时间同步。
本发明实施例第二方面公开了一种通信方法,所述方法适用于本发明实施例第一方面公开的HSR环网通信装置,所述方法包括:
第一MAC端口接收待处理以太网报文;
所述第一通信单元利用所述待处理以太网报文的源MAC地址和第二通信单元维护的节点表确定是否丢弃所述待处理以太网报文,所述节点表包含已处理的以太网报文的HSR序列号;
所述第一通信单元若不丢弃所述待处理以太网报文,根据所述待处理以太网报文的目的MAC地址,确定接收和/或转发所述待处理以太网报文;
所述第一通信单元若接收所述待处理以太网报文,将所述待处理以太网报文存储至第一存储单元中供CPU读取;
所述第一通信单元若转发所述待处理以太网报文,通过所述第二通信单元利用第二MAC端口和所述目的地址转发所述待处理以太网报文;
所述第一通信单元若接收和转发所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取,并通过所述第二通信单元利用第二MAC端口和所述目的地址转发所述待处理以太网报文。
优选的,所述第一通信单元利用所述待处理以太网报文的源MAC地址和第二通信单元维护的节点表确定是否丢弃所述待处理以太网报文,包括:
所述第一通信单元利用所述源MAC地址从第二通信单元维护的节点表中读取冗余丢弃窗口,所述冗余丢弃窗口包含已处理的以太网报文的HSR序列号的范围;
所述第一通信单元确定所述待处理以太网报文的HSR序列号是否在所述冗余丢弃窗口中,若不在所述冗余丢弃窗口中,确定不丢弃所述待处理以太网报文,若在所述冗余丢弃窗口中,确定丢弃所述待处理以太网报文。
优选的,还包括:
第二存储单元将待发送以太网报文发送至所述第一通信单元和所述第二通信单元,使所述第一通信单元通过所述第一MAC端口发送所述待发送以太网报文,以及使所述第二通信单元通过所述第二MAC端口发送所述待发送以太网报文。
基于上述本发明实施例提供的一种HSR环网通信装置及其通信方法,装置包括:第一MAC端口和第二MAC端口,以及基于FPGA构建的第一存储单元、第一通信单元和第二通信单元;第一MAC端口接收待处理以太网报文;第一通信单元利用待处理以太网报文的源MAC地址和第二通信单元维护的节点表确定是否丢弃待处理以太网报文;若不丢弃待处理以太网报文,根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文;若接收待处理以太网报文,将待处理以太网报文存储至第一存储单元中供CPU读取;若转发待处理以太网报文,通过第二通信单元利用第二MAC端口和目的地址转发待处理以太网报文;若接收和转发待处理以太网报文,将待处理以太网报文存储至第一存储单元中供CPU读取,并通过第二通信单元利用第二MAC端口和目的地址转发待处理以太网报文。所接收的数据不需要往返MAC端口和CPU之间,降低CPU的运行负荷和降低网络延时,并且基于FPGA构建各个单元,提高数据处理速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种HSR环网通信装置的结构示意图;
图2为本发明实施例提供的一种HSR环网通信装置的另一结构示意图;
图3为本发明实施例提供的一种HSR环网通信装置的另一结构示意图;
图4为本发明实施例提供的一种HSR环网通信装置的另一结构示意图;
图5为本发明实施例提供的一种通信方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,目前是通过CPU以软件方式的形式来实现高可用性无缝环网(high-availability seamless ring,HSR)协议的,但是以太网MAC将接收到的报文交由CPU处理的过程中,网络延时较高,并且随着工业控制系统的发展和升级,机架之间的数据量越来越庞大,大批量的数据处理会加大CPU的运行负荷。
故,本发明实施例提供一种HSR环网通信装置及其通信方法,该装置包括:第一介质访问控制(MediaAccess Control,MAC)端口和第二MAC端口,以及基于FPGA构建的第一存储单元、第一通信单元和第二通信单元;第一MAC端口接收待处理以太网报文。第一通信单元利用待处理以太网报文的源MAC地址和第二通信单元的节点表确定是否丢弃待处理以太网报文。若不丢弃,第一通信单元利根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文。若接收待处理以太网报文,第一通信单元将待处理以太网报文存储至第一存储单元中供CPU读取。若转发待处理以太网报文,第一通信单元通过第二通信单元利用第二MAC端口和目的地址进行转发。若接收和转发待处理以太网报文,第一通信单元将待处理以太网报文进行存储和转发。所接收的数据不需要往返MAC端口和CPU之间,以降低CPU的运行负荷和降低网络延时,并且基于FPGA构建各个单元,以提高数据处理速度。
需要说明的是,实现HSR协议是指:在HSR协议中由n个节点组成环网,环网内的节点X需要将数据(可以是报文或其它类型的数据)发送给其它节点Y时,节点X对数据进行复制后得到两个数据包(分别为数据包a和数据包b),分别利用节点X的两个冗余端口将数据包a和数据包b发送至环网中。数据包a和数据包b分别从顺时针和逆时针两个方向进行传输,数据包a和数据包b到达节点Y之后,先到节点Y的数据被接收而后到节点Y的数据被丢弃。
参见图1,示出了本发明实施例提供的一种HSR环网通信装置的结构示意图,该HSR环网通信装置包括:第一MAC端口100和第二MAC端口200,以及基于可编程逻辑阵列(FieldProgrammable Gate Array,FPGA)构建的第一存储单元300、第一通信单元400和第二通信单元500;
需要说明的是,第一通信单元400通过第一MAC端口100进行以太网报文的接收、转发或发送等数据传输操作,即第一通信单元400对应第一MAC端口100,同理,第二通信单元500对应第二MAC端口200,第二通信单元500通过第二MAC端口200进行以太网报文的接收、转发或发送等数据传输操作。
可以理解的是,第一MAC端口100和第二MAC端口200即为该HSR环网通信装置某一节点的冗余端口,并且第一存储单元300、第一通信单元400和第二通信单元500是基于FPGA实现的。
第一MAC端口100,用于接收待处理以太网报文。
可以理解的是,第一MAC端口接收到待处理以太网报文后,将该待处理以太网报文传输至第一通信单元进行相应处理。
需要说明的是,第一MAC端口还可用于报文的发送和转发等功能,在此对于MAC端口的其它功能不一一举例说明。
第一通信单元400,用于利用待处理以太网报文的源MAC地址和第二通信单元500维护的节点表确定是否丢弃待处理以太网报文;若不丢弃待处理以太网报文,根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文;若接收待处理以太网报文,将待处理以太网报文存储至第一存储单元300中供CPU读取;若转发待处理以太网报文,利用第二通信单元500转发待处理以太网报文;若接收和转发待处理以太网报文,将待处理以太网报文存储至第一存储单元300中供CPU读取,并利用第二通信单元500转发待处理以太网报文。
需要说明的是,节点表包含已处理的以太网报文的HSR序列号,并且各个通信单元均维护自身对应的节点表,即第一通信单元维护自身的节点表(图1中的节点表a),第二通信单元维护自身的节点表(图2中的节点表b)。
每个通信单元所维护的节点表指示该通信单元所处理的以太网报文的HSR序列号,即通过每个通信单元的节点表可知某一以太网报文是否被该通信单元处理过。
可以理解的是,每个通信单元根据以太网报文的源MAC地址维护自身对应的节点表。
在具体实现中,第一通信单元从第一MAC端口获取到待处理以太网报文后,先利用该待处理以太网报文的源MAC地址进行无效包过滤操作,该无效包过滤操作可以有效抑制网络风暴和提高通信稳定性。
第一通信单元在确定待处理以太网报文不是无效数据后,利用待处理以太网报文的源MAC地址和第二通信单元维护的节点表确定是否丢弃待处理以太网报文。也就是说,结合上述关于“实现HSR协议”的内容可知,第一通信单元利用处理以太网报文的源MAC地址和第二通信单元的节点表,确定第二通信单元是否已经处理(接收或者转发等传输操作)该待处理以太网报文,若确定第二通信单元已经处理该待处理以太网报文,第一通信单元则丢弃该待处理以太网报文(即丢弃两个MAC端口中后到达的数据),反之,若确定第二通信单元未处理该待处理以太网报文,第一通信单元则不丢弃待处理以太网报文并执行后续处理。
第一通信单元确定不丢弃待处理以太网报文后,根据待处理以太网报文的目的MAC地址,确定接收和/或转发该待处理以太网报文,其中,若根据该目的MAC地址确定待处理以太网报文为广播或组播数据,则接收并转发该待处理以太网报文。若根据目的MAC地址确定待处理以太网报文为点对点报文,如果目的节点为第一通信单元所在的节点,则接收该待处理以太网报文,如果目的节点为其它节点(非第一通信单元所在的节点),则转发该待处理以太网报文至目的MAC地址对应的其它节点。
在具体实现中,第一通信单元若接收待处理以太网报文,则将该待处理以太网报文存储至第一存储单元(诸如RAM的缓存区,可称为接收缓存区)中供CPU读取。
第一通信单元若转发待处理以太网报文,则利用第二通信单元转发待处理以太网报文。
第一通信单元若接收和转发待处理以太网报文,则将待处理以太网报文存储至第一存储单元中供CPU读取,并利用第二通信单元转发待处理以太网报文。
第二通信单元500,用于利用第二MAC端口和目的地址转发待处理以太网报文。
在具体实现中,第一通信单元利用第二通信单元转发待处理以太网报文时,第二通信单元通过第二MAC端口和目的地址将待处理以太网报文进行转发。
可以理解的是,第二MAC端口还可用于接收报文等操作。
需要说明的是,上述本发明实施例中所涉及的内容,是由第一MAC端口接收待处理以太网报文,并由第一通信单元(与第一MAC端口对应)对所接收的待处理以太网报文进行相应处理(上述提及的第一通信单元所执行的相关内容),其中利用到第二通信单元维护的节点表,在第一通信单元需要转发待处理以太网报文时,使第二通信单元利用第二MAC端口转发该待处理以太网报文。
同理,也可将第一通信单元和第二通信单元所执行的内容进行互换,即由第二MAC端口接收待处理以太网报文,并由第二通信单元(与第二MAC端口对应)对所接收的待处理以太网报文进行相应处理(可参见上述提及的第一通信单元所执行的相关内容),其中利用到第一通信单元维护的节点表,在第二通信单元需要转发待处理以太网报文时,使第一通信单元利用第一MAC端口转发该待处理以太网报文。
也就是说,HSR环网中每个节点都包含两个通信单元(对应两个冗余MAC端口),上述所提及的第一通信单元可以是每个节点中的任意一个通信单元,此时第二通信单元即为每个节点中的另一个通信单元,在此对于第一通信单元具体为每个节点中的哪个通信单元不做具体限定。
在本发明实施例中,第一MAC端口接收待处理以太网报文。第一通信单元利用待处理以太网报文的源MAC地址和第二通信单元的节点表确定是否丢弃待处理以太网报文。若不丢弃,第一通信单元利根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文。若接收待处理以太网报文,第一通信单元将待处理以太网报文存储至第一存储单元中供CPU读取。若转发待处理以太网报文,第一通信单元通过第二通信单元利用第二MAC端口和目的地址进行转发。若接收和转发待处理以太网报文,第一通信单元将待处理以太网报文进行存储和转发。所接收的数据不需要往返MAC端口和CPU之间,降低CPU的运行负荷和降低网络延时,并且基于FPGA构建各个单元,提高数据处理速度。
结合图1,参见图2,示出了本发明实施例提供的一种HSR环网通信装置的另一结构示意图,第一通信单元和第二通信单元均包括:过滤模块和发送模块。
也就是说,第一通信单元包括过滤模块(图2中的过滤模块A)和发送模块(图2中的发送模块A),第二通信单元包括过滤模块(图2中的过滤模块B)和发送模块(图2中的发送模块B)。
第一通信单元的过滤模块(过滤模块A)用于:利用待处理以太网报文的源MAC地址和第二通信单元的过滤模块(过滤模块B)维护的节点表确定是否丢弃待处理以太网报文;若不丢弃待处理以太网报文,根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文;若接收待处理以太网报文,将待处理以太网报文存储至第一存储单元中供CPU读取;若转发待处理以太网报文,利用第二通信单元的发送模块(发送模块B)转发待处理以太网报文;若接收和转发待处理以太网报文,将待处理以太网报文存储至第一存储单元中供CPU读取,并利用第二通信单元的发送模块转发待处理以太网报文。
可以理解的是,上述各个通信单元所维护的节点表具体是由各个通信单元的过滤模块进行维护,即第一通信单元的过滤模块维护自身对应的节点表,第二通信单元的过滤模块维护自身对应的节点表。
需要说明的是,第一通信单元的发送模块对应一先进先出(First InputFirstOutput,FIFO)队列(图2中的FIFO A),第二通信单元的发送模块对应一FIFO队列(图2中的FIFO B)。
在具体实现中,第一通信单元的过滤模块在利用第二通信单元的发送模块转发待处理以太网报文的过程为:第一通信单元的过滤模块将待处理以太网报文存储至第二通信单元的发送模块对应的FIFO队列(FIFO B)中,由第二通信单元的发送模块从自身对应的FIFO队列中读取该待处理以太网报文,并通过第二MAC端口对该待处理以太网报文进行转发操作。
在具体实现中,第一通信单元的过滤模块确定是否丢弃待处理以太网报文的过程为:利用源MAC地址从第二通信单元的过滤模块维护的节点表中读取冗余丢弃窗口,该冗余丢弃窗口包含第二通信单元已处理的以太网报文的HSR序列号的范围(第一通信单元对应的冗余丢弃窗口同理),确定待处理以太网报文的HSR序列号是否在冗余丢弃窗口中。若待处理以太网报文的HSR序列号不在冗余丢弃窗口中,确定不丢弃待处理以太网报文(即第二通信单元未处理该待处理以太网报文),若待处理以太网报文的HSR序列号在该冗余丢弃窗口中,确定丢弃待处理以太网报文(即第二通信单元已处理该待处理以太网报文)。
可以理解的是,每个通信单元的过滤模块根据报文的源MAC地址维护各自对应的节点表,该节点表中存放了该节点表对应的冗余丢弃窗口(可将节点表的冗余丢弃窗口存储在FPGA的RAM中,存储地址为源MAC地址的特征字节),即可基于报文的源MAC地址读取出节点表中的冗余丢弃窗口,并通过该冗余丢弃窗口对报文进行过滤操作(确定是否丢弃该报文)。
比如:HSR环网内的一节点包括两个MAC端口(分别成为端口A和端口B),端口A对应的通信单元的过滤模块维护了一个连续HSR序列号的滑动下拉窗口(冗余丢弃窗口),同理,端口B也维护了一个冗余丢弃窗口。每个冗余丢弃窗口由StartSeq(窗口下边界,丢弃的最小HSR序列号)、ExpectedSeq(窗口上边界)和CurrentSeq(当前的HSR序列号)三个参数构成,其中ExpectedSeq=CurrentSeq+1,冗余丢弃窗口左闭右开。假设端口B接收到一报文,若该报文的HSR序列号(CurrentSeqB)落在端口A对应的冗余丢弃窗口中,则丢弃该报文,若该报文的HSR序列号不在端口A的冗余丢弃窗口中,则不丢弃该报文。
优选的,第一通信单元的过滤模块若不丢弃待处理以太网报文,则利用待处理以太网报文的HSR序列号更新自身维护的节点表,即更新节点表的冗余丢弃窗口。
第二通信单元的发送模块用于:利用第二MAC端口和目的地址转发待处理以太网报文。
在本发明实施例中,第一通信单元的过滤模块利用源MAC地址从第二通信单元的过滤模块维护的节点表中读取冗余丢弃窗口,根据所获取的冗余丢弃窗口确定是否丢弃待处理以太网报文。若不丢弃,第一通信单元的过滤模块利根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文。降低CPU的运行负荷和降低网络延时,并且基于FPGA构建各个单元,提高数据处理速度。
结合图1,参见图3,示出了本发明实施例提供的一种HSR环网通信装置的另一结构示意图,该HSR环网通信装置还包括:基于FPGA构建的第二存储单元600(诸如RAM的缓存区,也称为发送缓存区)。
第二存储单元600,用于将待发送以太网报文发送至第一通信单元的发送模块和第二通信单元的发送模块,使第一通信单元的发送模块通过第一MAC端口发送待发送以太网报文,以及使第二通信单元的发送模块通过第二MAC端口发送待发送以太网报文。
也就是说,各个通信单元的发送模块作为源端,从第二存储单元600中读取待发送以太网报文,并通过各自对应的MAC端口将该待发送以太网报文发送至HSR环网中。
需要说明的是,通信单元的发送模块在利用MAC端口发送报文时,需添加相应的HSR标签,并且该发送模块每发送一个报文,该发送模块对应的HSR序列号递增一次,即该发送模块将当前HSR序列号加1后添加至HSR标签的指定字段,再将报文通过MAC端口发送至HSR环网中。
结合图1,参见图4,示出了本发明实施例提供的一种HSR环网通信装置的另一结构示意图,该HSR环网通信装置还包括:基于FPGA构建的时间同步单元700;
时间同步单元700,用于获取时间戳和基于IEEE1588的同步运算,以及用于实现时间同步。
与上述本发明实施例提供的一种HSR环网通信装置相对应,参见图5,本发明实施例还提供了一种通信方法的流程图,该通信方法适用于上述本发明实施例提及的HSR环网通信装置,该通信方法包括:
步骤S501:第一MAC端口接收待处理以太网报文。
步骤S502:第一通信单元利用待处理以太网报文的源MAC地址和第二通信单元维护的节点表确定是否丢弃待处理以太网报文。若丢弃待处理以太网报文,则丢弃该待处理以太网报文并返回执行步骤S501,若不丢弃待处理以太网报文,则执行步骤S503。
需要说明的是,节点表包含已处理的以太网报文的HSR序列号。
在具体实现步骤S502的过程中,第一通信单元利用源MAC地址从第二通信单元维护的节点表中读取冗余丢弃窗口,冗余丢弃窗口包含已处理的以太网报文的HSR序列号的范围。
第一通信单元确定待处理以太网报文的HSR序列号是否在冗余丢弃窗口中,若不在冗余丢弃窗口中,确定不丢弃待处理以太网报文,若在冗余丢弃窗口中,确定丢弃待处理以太网报文。
步骤S503:第一通信单元若不丢弃待处理以太网报文,根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文。
步骤S504:第一通信单元若接收待处理以太网报文,将待处理以太网报文存储至第一存储单元中供CPU读取。
步骤S505:第一通信单元若转发待处理以太网报文,通过第二通信单元利用第二MAC端口和目的地址转发待处理以太网报文。
步骤S506:第一通信单元若接收和转发待处理以太网报文,将待处理以太网报文存储至第一存储单元中供CPU读取,并通过第二通信单元利用第二MAC端口和目的地址转发待处理以太网报文。
优选的,第二存储单元将待发送以太网报文发送至第一通信单元和第二通信单元,使第一通信单元通过第一MAC端口发送待发送以太网报文,以及使第二通信单元通过第二MAC端口发送待发送以太网报文。
优选的,第一通信单元和第二通信单元均包括:过滤模块和发送模块。
在具体实现步骤S501至步骤S506的过程中,第一通信单元的过滤模块利用待处理以太网报文的源MAC地址和第二通信单元的过滤模块维护的节点表确定是否丢弃待处理以太网报文。
若不丢弃待处理以太网报文,第一通信单元的过滤模块根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文。
若接收待处理以太网报文,第一通信单元的过滤模块将待处理以太网报文存储至第一存储单元中供CPU读取。
若转发待处理以太网报文,第一通信单元的过滤模块利用第二通信单元的发送模块转发待处理以太网报文。
若接收和转发待处理以太网报文,第一通信单元的过滤模块将待处理以太网报文存储至第一存储单元中供CPU读取,并利用第二通信单元的发送模块转发待处理以太网报文。
其中,第二通信单元的发送模块利用第二MAC端口和目的地址转发待处理以太网报文,转发待处理以太网报文的具体过程为:第一通信单元的过滤模块将待处理以太网报文存储至第二通信单元的发送模块对应的FIFO队列中,使第二通信单元的发送模块从FIFO中读取并转发待处理以太网报文。
相应的,确定是否丢弃所述待处理以太网报文的具体过程为:第一通信单元的过滤模块利用源MAC地址从第二通信单元的过滤模块维护的节点表中读取冗余丢弃窗口,确定待处理以太网报文的HSR序列号是否在冗余丢弃窗口中。若不在冗余丢弃窗口中,确定不丢弃待处理以太网报文;若在冗余丢弃窗口中,确定丢弃待处理以太网报文。
优选的,若确定不丢弃待处理以太网报文,第一通信单元的过滤模块利用待处理以太网报文的HSR序列号更新自身维护的节点表。
优选的,时间同步单元获取时间戳,并基于IEEE1588执行同步运算,以及实现时间同步。
在本发明实施例中,第一MAC端口接收待处理以太网报文。第一通信单元利用待处理以太网报文的源MAC地址和第二通信单元的节点表确定是否丢弃待处理以太网报文。若不丢弃,第一通信单元利根据待处理以太网报文的目的MAC地址,确定接收和/或转发待处理以太网报文。若接收待处理以太网报文,第一通信单元将待处理以太网报文存储至第一存储单元中供CPU读取。若转发待处理以太网报文,第一通信单元通过第二通信单元利用第二MAC端口和目的地址进行转发。若接收和转发待处理以太网报文,第一通信单元将待处理以太网报文进行存储和转发。所接收的数据不需要往返MAC端口和CPU之间,降低CPU的运行负荷和降低网络延时,并且基于FPGA构建各个单元,提高数据处理速度。
综上所述,本发明实施例提供一种HSR环网通信装置及其通信方法,使所接收的数据不需要往返MAC端口和CPU之间,降低CPU的运行负荷和降低网络延时,并且基于FPGA构建HSR环网通信装置的各个单元,提高数据处理速度。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种HSR环网通信装置,其特征在于,所述装置包括:第一介质访问控制MAC端口和第二MAC端口,以及基于可编程逻辑阵列FPGA构建的第一存储单元、第一通信单元和第二通信单元;
所述第一MAC端口,用于接收待处理以太网报文;
所述第一通信单元,用于利用所述待处理以太网报文的源MAC地址和所述第二通信单元维护的节点表确定是否丢弃所述待处理以太网报文;若不丢弃所述待处理以太网报文,根据所述待处理以太网报文的目的MAC地址,确定接收和/或转发所述待处理以太网报文;若接收所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取;若转发所述待处理以太网报文,利用所述第二通信单元转发所述待处理以太网报文;若接收和转发所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取,并利用所述第二通信单元转发所述待处理以太网报文,所述节点表包含已处理的以太网报文的HSR序列号;
所述第二通信单元,用于利用所述第二MAC端口和所述目的地址转发所述待处理以太网报文。
2.根据权利要求1所述的HSR环网通信装置,其特征在于,所述第一通信单元和所述第二通信单元均包括:过滤模块和发送模块;
所述第一通信单元的过滤模块用于:利用所述待处理以太网报文的源MAC地址和所述第二通信单元的过滤模块维护的节点表确定是否丢弃所述待处理以太网报文;若不丢弃所述待处理以太网报文,根据所述待处理以太网报文的目的MAC地址,确定接收和/或转发所述待处理以太网报文;若接收所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取;若转发所述待处理以太网报文,利用所述第二通信单元的发送模块转发所述待处理以太网报文;若接收和转发所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取,并利用所述第二通信单元的发送模块转发所述待处理以太网报文;
所述第二通信单元的发送模块用于:利用所述第二MAC端口和所述目的地址转发所述待处理以太网报文。
3.根据权利要求2所述的HSR环网通信装置,其特征在于,用于利用所述第二通信单元的发送模块转发所述待处理以太网报文的所述第一通信单元的过滤模块,具体用于:
将所述待处理以太网报文存储至所述第二通信单元的发送模块对应的先进先出FIFO队列中,使所述第二通信单元的发送模块从所述FIFO中读取并转发所述待处理以太网报文。
4.根据权利要求2所述的HSR环网通信装置,其特征在于,用于确定是否丢弃所述待处理以太网报文的所述第一通信单元的过滤模块,具体用于:
利用所述源MAC地址从所述第二通信单元的过滤模块维护的节点表中读取冗余丢弃窗口,所述冗余丢弃窗口包含已处理的以太网报文的HSR序列号的范围;确定所述待处理以太网报文的HSR序列号是否在所述冗余丢弃窗口中;若不在所述冗余丢弃窗口中,确定不丢弃所述待处理以太网报文;若在所述冗余丢弃窗口中,确定丢弃所述待处理以太网报文。
5.根据权利要求2所述的HSR环网通信装置,其特征在于,所述第一通信单元的过滤模块还用于:若不丢弃所述待处理以太网报文,利用所述待处理以太网报文的HSR序列号更新自身维护的节点表。
6.根据权利要求2所述的HSR环网通信装置,其特征在于,所述装置还包括:基于FPGA构建的第二存储单元;
所述第二存储单元,用于将待发送以太网报文发送至所述第一通信单元的发送模块和所述第二通信单元的发送模块,使所述第一通信单元的发送模块通过所述第一MAC端口发送所述待发送以太网报文,以及使所述第二通信单元的发送模块通过所述第二MAC端口发送所述待发送以太网报文。
7.根据权利要求1所述的HSR环网通信装置,其特征在于,所述装置还包括:基于FPGA构建的时间同步单元;
所述时间同步单元,用于获取时间戳和基于IEEE1588的同步运算,以及用于实现时间同步。
8.一种通信方法,其特征在于,所述方法适用于权利要求1至7中任一所述的HSR环网通信装置,所述方法包括:
第一MAC端口接收待处理以太网报文;
所述第一通信单元利用所述待处理以太网报文的源MAC地址和第二通信单元维护的节点表确定是否丢弃所述待处理以太网报文,所述节点表包含已处理的以太网报文的HSR序列号;
所述第一通信单元若不丢弃所述待处理以太网报文,根据所述待处理以太网报文的目的MAC地址,确定接收和/或转发所述待处理以太网报文;
所述第一通信单元若接收所述待处理以太网报文,将所述待处理以太网报文存储至第一存储单元中供CPU读取;
所述第一通信单元若转发所述待处理以太网报文,通过所述第二通信单元利用第二MAC端口和所述目的地址转发所述待处理以太网报文;
所述第一通信单元若接收和转发所述待处理以太网报文,将所述待处理以太网报文存储至所述第一存储单元中供CPU读取,并通过所述第二通信单元利用第二MAC端口和所述目的地址转发所述待处理以太网报文。
9.根据权利要求8所述的方法,其特征在于,所述第一通信单元利用所述待处理以太网报文的源MAC地址和第二通信单元维护的节点表确定是否丢弃所述待处理以太网报文,包括:
所述第一通信单元利用所述源MAC地址从第二通信单元维护的节点表中读取冗余丢弃窗口,所述冗余丢弃窗口包含已处理的以太网报文的HSR序列号的范围;
所述第一通信单元确定所述待处理以太网报文的HSR序列号是否在所述冗余丢弃窗口中,若不在所述冗余丢弃窗口中,确定不丢弃所述待处理以太网报文,若在所述冗余丢弃窗口中,确定丢弃所述待处理以太网报文。
10.根据权利要求8所述的方法,其特征在于,还包括:
第二存储单元将待发送以太网报文发送至所述第一通信单元和所述第二通信单元,使所述第一通信单元通过所述第一MAC端口发送所述待发送以太网报文,以及使所述第二通信单元通过所述第二MAC端口发送所述待发送以太网报文。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011497069.1A CN112751725A (zh) | 2020-12-17 | 2020-12-17 | 一种hsr环网通信装置及其通信方法 |
PCT/CN2021/118461 WO2022127226A1 (zh) | 2020-12-17 | 2021-09-15 | 一种工业环网通信装置及其通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011497069.1A CN112751725A (zh) | 2020-12-17 | 2020-12-17 | 一种hsr环网通信装置及其通信方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112751725A true CN112751725A (zh) | 2021-05-04 |
Family
ID=75649319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011497069.1A Pending CN112751725A (zh) | 2020-12-17 | 2020-12-17 | 一种hsr环网通信装置及其通信方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112751725A (zh) |
WO (1) | WO2022127226A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022127226A1 (zh) * | 2020-12-17 | 2022-06-23 | 浙江中控技术股份有限公司 | 一种工业环网通信装置及其通信方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104158687A (zh) * | 2014-08-21 | 2014-11-19 | 国电南瑞科技股份有限公司 | 一种变电站内双网冗余的装置硬件架构及实现方法 |
CN104184678A (zh) * | 2013-05-28 | 2014-12-03 | 上海博达数据通信有限公司 | 一种用于实现高可靠性无缝冗余环网的帧副本丢弃的方法 |
US20150295635A1 (en) * | 2012-11-14 | 2015-10-15 | Flexibilis Oy | Relaying frames |
CN105282002A (zh) * | 2014-07-08 | 2016-01-27 | 上海博达数据通信有限公司 | 一种高可靠性无缝冗余环网中副本处理的fpga实现方法 |
CN105959231A (zh) * | 2016-04-29 | 2016-09-21 | 北京东土科技股份有限公司 | 一种代理端口通信流量控制方法和冗余设备 |
CN106789425A (zh) * | 2016-12-22 | 2017-05-31 | 北京东土科技股份有限公司 | 一种确定重复报文的方法及装置 |
CN111277480A (zh) * | 2020-01-19 | 2020-06-12 | 山东网聪信息科技有限公司 | 一种高可用性无缝冗余环网重复帧丢弃方法及系统 |
CN111800324A (zh) * | 2020-06-23 | 2020-10-20 | 广西电网有限责任公司电力科学研究院 | 智能变电站hsr节点转发方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN209517181U (zh) * | 2018-12-28 | 2019-10-18 | 江苏金智科技股份有限公司 | 根据报文特征自动转发和过滤接收报文的网卡及双环网 |
US10833987B2 (en) * | 2019-01-29 | 2020-11-10 | Cisco Technology, Inc. | Supporting asynchronous packet operations in a deterministic network |
CN112751725A (zh) * | 2020-12-17 | 2021-05-04 | 浙江中控技术股份有限公司 | 一种hsr环网通信装置及其通信方法 |
-
2020
- 2020-12-17 CN CN202011497069.1A patent/CN112751725A/zh active Pending
-
2021
- 2021-09-15 WO PCT/CN2021/118461 patent/WO2022127226A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150295635A1 (en) * | 2012-11-14 | 2015-10-15 | Flexibilis Oy | Relaying frames |
CN104184678A (zh) * | 2013-05-28 | 2014-12-03 | 上海博达数据通信有限公司 | 一种用于实现高可靠性无缝冗余环网的帧副本丢弃的方法 |
CN105282002A (zh) * | 2014-07-08 | 2016-01-27 | 上海博达数据通信有限公司 | 一种高可靠性无缝冗余环网中副本处理的fpga实现方法 |
CN104158687A (zh) * | 2014-08-21 | 2014-11-19 | 国电南瑞科技股份有限公司 | 一种变电站内双网冗余的装置硬件架构及实现方法 |
CN105959231A (zh) * | 2016-04-29 | 2016-09-21 | 北京东土科技股份有限公司 | 一种代理端口通信流量控制方法和冗余设备 |
CN106789425A (zh) * | 2016-12-22 | 2017-05-31 | 北京东土科技股份有限公司 | 一种确定重复报文的方法及装置 |
CN111277480A (zh) * | 2020-01-19 | 2020-06-12 | 山东网聪信息科技有限公司 | 一种高可用性无缝冗余环网重复帧丢弃方法及系统 |
CN111800324A (zh) * | 2020-06-23 | 2020-10-20 | 广西电网有限责任公司电力科学研究院 | 智能变电站hsr节点转发方法及装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022127226A1 (zh) * | 2020-12-17 | 2022-06-23 | 浙江中控技术股份有限公司 | 一种工业环网通信装置及其通信方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022127226A1 (zh) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6247058B1 (en) | Method and apparatus for processing network packets using time stamps | |
US7349416B2 (en) | Apparatus and method for distributing buffer status information in a switching fabric | |
EP0836781B1 (en) | Method and apparatus for synchronizing data transmission with on-demand links of a network | |
EP2291960B1 (en) | A method of data delivery across a network | |
KR100316295B1 (ko) | 고속-패킷네트워크용패킷관리장치 | |
Rentschler et al. | The parallel redundancy protocol for industrial IP networks | |
CN106576108B (zh) | 通信系统中的通信方法和设备及系统 | |
CN111886834B (zh) | 用于网段间通信的系统、方法和设备 | |
JP3449541B2 (ja) | データパケット転送網とデータパケット転送方法 | |
KR970705885A (ko) | 노드들의 네트워크내의 메시지의 경로지정 방법 및 장치(a method and apparatus for routing messages in a network of nodes) | |
CN112751725A (zh) | 一种hsr环网通信装置及其通信方法 | |
US20180069790A1 (en) | Packet transfer device and packet transfer method | |
CA2371037C (en) | A node and method for the removal of expired packets from a communication network | |
CN106533771B (zh) | 一种网络设备以及控制信息传输方法 | |
CN117041393A (zh) | 冗余报文的处理方法、装置及冗余桥网络 | |
CA2461530A1 (en) | Realtime messages for identifying and preventing errors during the transmission of realtime-critical data | |
KR101442567B1 (ko) | 링 네트워크 토폴로지에서 프레임기반 라우팅을 이용한 프레임 무손실 통신 방법 | |
WO2011026508A1 (en) | Method for distributing data traffic over radio links | |
KR101544592B1 (ko) | 능동적 큐 할당 방식의 고가용성 분산임베디드 네트워크 송수신 방법 및 장치 | |
JP3675417B2 (ja) | 通信中継方法、通信中継装置、通信ネットワーク装置、ネットワークアドレス決定方法、通信方法、通信端末装置並びにネットワークネームサーバ装置。 | |
JP2009171157A (ja) | リングバッファの使用方法およびスイッチング装置 | |
JP4461017B2 (ja) | データパケットルーティング方法及び当該方法を実現するための装置 | |
KR101520250B1 (ko) | 고속 트래픽 처리 방식의 고가용성 분산임베디드 네트워크 송수신 방법 및 장치 | |
JP6761510B1 (ja) | 通信装置 | |
CN108551427B (zh) | 基于t型转发器的以太网快速收敛方法 |
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 |
Application publication date: 20210504 |
|
RJ01 | Rejection of invention patent application after publication |