CN105978762B - 冗余以太网数据传输设备、系统及方法 - Google Patents

冗余以太网数据传输设备、系统及方法 Download PDF

Info

Publication number
CN105978762B
CN105978762B CN201610268817.6A CN201610268817A CN105978762B CN 105978762 B CN105978762 B CN 105978762B CN 201610268817 A CN201610268817 A CN 201610268817A CN 105978762 B CN105978762 B CN 105978762B
Authority
CN
China
Prior art keywords
data
ethernet data
ethernet
descriptor
module
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.)
Expired - Fee Related
Application number
CN201610268817.6A
Other languages
English (en)
Other versions
CN105978762A (zh
Inventor
刘巍
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN201610268817.6A priority Critical patent/CN105978762B/zh
Publication of CN105978762A publication Critical patent/CN105978762A/zh
Application granted granted Critical
Publication of CN105978762B publication Critical patent/CN105978762B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/2878Access multiplexer, e.g. DSLAM
    • H04L12/2879Access multiplexer, e.g. DSLAM characterised by the network type on the uplink side, i.e. towards the service provider network
    • H04L12/2881IP/Ethernet DSLAM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2869Operational details of access network equipments
    • H04L12/2878Access multiplexer, e.g. DSLAM
    • H04L12/2892Access multiplexer, e.g. DSLAM characterised by the access multiplexer architecture
    • H04L12/2894Centralized processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/4013Management of data rate on the bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供一种冗余以太网数据传输设备,包括:若干物理层接口单元,用于以太网数据的收发;若干数据解析单元,用于解析以太网数据,以确定数据描述符;冗余交换单元,在轮询到新的以太网数据时,将发送描述符缓存在第一缓存模块中,同时将对应的以太网数据写入到共享缓存模块中,冗余交换单元还用于响应于读信号而读取以太网数据;若干数据封装单元,在轮询到发送描述符时,向冗余交换单元发出读取请求,冗余交换单元读取以太网数据并输出,数据封装单元还用于封装冗余交换单元输出的以太网数据并传输给对应的物理层接口单元进行发送。本发明能够实现IEC62439‑3协议规范的RedBox功能,实现低成本,高集成度,易于使用的冗余传输技术。

Description

冗余以太网数据传输设备、系统及方法
技术领域
本发明涉及冗余以太网传输技术,特别涉及是一种满足IEC62439-3协议所规范要求的冗余以太网数据传输设备、系统及方法。
背景技术
工业以太网以其特有的低成本、高实效、高扩展性及高智能的魅力,吸引着越来越多的制造业厂商,控制系统和工厂自动化系统常常采用工业以太网技术完成工业控制任务,是未来工业4.0的通讯控制领域的主打技术。然而在工厂、电力以及智能交通等很多工业控制领域的实际应用场合下,设备所处的环境相当复杂,用户对以太网的可靠性要求也越来越高。为了保证不会因通信服务器失效、网络断线或交换机故障而导致整个通信系统瘫痪,现在普遍通过以太网冗余技术来提高网络容错的能力。
因此IEC62439-3应时代而生,是一个非常先进且可靠的以太网冗余协议,是一个国际性标准,有着广泛的厂商支持。IEC62439-3有HSR(高可用性无缝冗余环)和PRP(并联冗余协议)两种应用模式。一个典型的HSR网络拓扑如图1,即所有节点设备的网络口都连接在一个双向环网上,典型的设备形态有DANH(双连接节点)和RedBox(冗余盒子,是拥有三个外部以太网端口的实体)两种。RedBox可以为目前还不具备冗余功能的设备提供代理支持,并提供多设备和多端口接入。协议规范中RedBox的功能示意图如图2,可分为两部分,一部分(图2中为下面部分)是标准的冗余交换功能,另一部分(图2中为上面部分)为代理桥接功能。其中A端口和B端口是用于连接冗余环网,通过一个称之为InterLink(连接到以太网的端口)的端口来代理多个终端设备的用户数据,以及本地CPU的网管数据,实现多终端接入以及本地监控配置等操作。
发明内容
本发明所要解决的技术问题是提供一种冗余以太网数据传输设备,能够实现IEC62439-3协议规范的RedBox功能,实现低成本,高集成度,易于使用的冗余传输技术。
为解决上述问题,本发明提供一种冗余以太网数据传输设备,包括:
若干物理层接口单元,用于以太网数据的收发;
若干数据解析单元,用于解析对应的物理层接口单元接收的以太网数据,以确定以太网数据的数据描述符,一数据解析单元对应一物理层接口单元;
冗余交换单元,用于轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,将发送描述符缓存在数据解析单元对应的第一缓存模块中,同时将对应的以太网数据写入到共享缓存模块中,冗余交换单元还用于响应于读信号而从共享缓存模块中读取以太网数据;
若干数据封装单元,用于轮询对应的第一缓存模块的发送描述符,在轮询到发送描述符时,向所述冗余交换单元发出读取请求,所述冗余交换单元产生所述读信号,从而读取共享缓存模块的以太网数据并输出,数据封装单元还用于封装冗余交换单元输出的以太网数据并传输给对应的物理层接口单元进行发送,一数据封装单元对应一所述物理层接口单元。
根据本发明的一个实施例,每所述数据解析单元包括:
报文分析模块,用于接收并解析以太网数据,从而确定每以太网数据对应的数据描述符,输出以太网数据和对应的数据描述符;
第二数据缓存模块,用于缓存所述报文分析模块输出的以太网数据;
第二缓存模块,用于缓存以太网数据对应的数据描述符;
其中,所述冗余交换单元轮询各第二缓存模块缓存的数据描述符,在轮询到新的以太网数据时,将发送描述符存到对应的第一缓存模块中,同时将第二数据缓存模块缓存的对应的以太网数据写入到共享缓存模块中。
根据本发明的一个实施例,所述第一缓存模块和/或所述第二缓存模块为FIFO缓存。
根据本发明的一个实施例,所述数据解析单元的输入接口为GMII接口、输出接口为ST接口,所述数据解析单元对所述以太网数据进行时钟域转换,将GMII接口接收的第一时钟下的以太网数据转换为第二时钟下的以太网数据,并通过ST接口输出。
根据本发明的一个实施例,所述数据封装单元的输入接口为ST接口、输出接口为GMII接口,所述数据封装单元对所述以太网数据进行时钟域转换,将ST接口接收的第二时钟下的以太网数据转换为第一时钟下的以太网数据,并通过GMII接口输出。
根据本发明的一个实施例,每所述数据封装单元包括:
所述第一缓存模块,用于缓存所述冗余交换单元输出的发送描述符;
第一数据缓存模块,用于缓存所述冗余交换单元输出的以太网数据;
报文封装模块,用于将第一数据缓存模块输出的以太网数据进行封装并输出。
根据本发明的一个实施例,所述冗余交换单元包括交换决策模块、地址管理模块和所述共享缓存模块;所述地址管理模块包括用于控制写入的写控制器和用于控制读取的读控制器;所述交换决策模块包括交换控制器,所述交换控制器实时轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时通知写控制器将以太网数据写入所述共享缓存模块,同时所述交换控制器将当前发送描述符存入所述第一缓存模块。
根据本发明的一个实施例,所述冗余交换单元采用分片存储的方式进行共享缓存,将以太网数据分成多个分片缓存;所述地址管理模块还包括地址管理器,用于控制所述写控制器分片写入和控制所述读控制器分片读取。
根据本发明的一个实施例,所述交换决策模块还包括MAC地址表、包序列表和包记录表;所述MAC地址表保存以太网数据的源地址,用于区分本地CPU管理数据的地址和被代理设备数据的地址;所述包序列表保存各以太网数据的源MAC地址和包序列号,所述交换控制器根据上次发送以太网数据的包序列号确定本次发送的包序列号并保存在包序列表中;所述包记录表保存已发送的源MAC地址和包序列号;所述交换控制器实时轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,判断MAC地址表中是否有匹配项,同时查找所述包记录表中是否已存有本次发送以太网数据的包序列号及源MAC地址的记录,若MAC地址表匹配且包记录表没有相应记录则交换控制器通知写控制器将本次发送以太网数据写入共享缓存模块,同时所述交换控制器将当前发送描述符存入所述第一缓存模块,否则丢弃本次以太网数据。
根据本发明的一个实施例,传输设备采用SoC架构实现,所述物理层接口单元分为环网物理层接口单元,本地CPU管理接口单元和以太网连接物理层接口单元;所述传输设备还包括用于对各单元进行管理、监控和数据交互的本地管理单元。
本发明还提供一种冗余以太网数据传输系统,包括若干节点设备和由所述节点设备构建而成的冗余环网;所述节点设备中的至少一个节点设备为前述任意一项所述的冗余以太网数据传输设备。
本发明还提供一种使用前述任意一种冗余以太网数据传输设备的冗余以太网数据传输方法,包括以下步骤:
S1:使用冗余以太网数据传输设备构建冗余环网,并进行网络配置以使冗余环网能够实时传输业务数据,且具备冗余功能;
S2:各物理层接口单元接收以太网数据,数据解析单元解析对应的物理层接口单元接收的以太网数据,以确定以太网数据的数据描述符;
S3:冗余交换单元轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,将发送描述符缓存在数据解析单元对应的第一缓存模块中,同时将对应的以太网数据写入到共享缓存模块中;
S4:数据封装单元轮询对应的第一缓存模块的发送描述符,在轮询到发送描述符时,向所述冗余交换单元发出读取请求,所述冗余交换单元产生所述读信号从而读取共享缓存模块的以太网数据并输出,数据封装单元封装冗余交换单元输出的以太网数据,并传输给对应的物理层接口单元进行发送。
根据本发明的一个实施例,所述步骤S2包括以下步骤:
步骤S21:各物理层接口单元接收以太网数据;
步骤S22:报文分析模块接收并解析以太网数据,从而确定每以太网数据对应的数据描述符,输出以太网数据和对应的数据描述符;
步骤S23:第二数据缓存模块缓存所述报文分析模块输出的以太网数据,第二缓存模块缓存以太网数据对应的数据描述符;
步骤S24:冗余交换单元轮询各第二缓存模块缓存的数据描述符,在轮询到新的以太网数据时,将发送描述符存到对应的第一缓存模块中,同时将第二数据缓存模块缓存的对应的以太网数据写入到共享缓存模块中。
根据本发明的一个实施例,所述步骤S3包括以下步骤:
S31:交换控制器实时轮询各数据解析单元的数据描述符;
S32:交换控制器实时轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,判断MAC地址表中是否有匹配项,同时查找所述包记录表中是否已存有本次发送以太网数据的包序列号及源MAC地址的记录;所述MAC地址表保存以太网数据的源地址,用于区分本地CPU管理数据的地址和被代理设备数据的地址;所述包序列表保存各以太网数据的源MAC地址和包序列号,所述交换控制器根据上次发送以太网数据的包序列号确定本次发送的包序列号并保存在包序列表中;所述包记录表保存已发送的源MAC地址和包序列号;
S33:若MAC地址表匹配且包记录表没有相应记录则交换控制器通知写控制器将本次发送以太网数据写入共享缓存模块,同时所述交换控制器将当前发送描述符存入所述第一缓存模块,否则丢弃本次以太网数据。
采用上述技术方案后,本发明相比现有技术具有以下有益效果:本发明的冗余以太网数据传输技术具备冗余检测丢弃等功能,通过以太网数据的数据描述符作为交换决策的判断要素,通过轮询检测交换的时机,并通过共享缓存实现数据交换,从而实现数据转发传输,还可实现重复报文丢弃、报文修改等;若干物理层接口单元可以为不同类型的接口,例如环网物理层接口单元,本地CPU管理接口单元和以太网连接物理层接口单元,可以把冗余交换功能和部分业务交换整合在一起,能够实现IEC62439-3协议规范的RedBox功能。
附图说明
图1是典型的HSR应用网络拓扑图;
图2是RedBox的功能示意模型;
图3是本发明实施例的冗余以太网数据传输设备的结构框图;
图4是本发明实施例的冗余交换单元的结构框图;
图5是本发明实施例的数据解析单元的结构框图;
图6是本发明实施例的数据封装单元的结构框图;
图7是本发明实施例的基于SoC架构的RedBox冗余交换单元的结构框图;
图8是本发明实施例的冗余以太网数据传输方法的流程示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施的限制。
图3示出本发明实施例的冗余以太网数据传输设备,包括:若干物理层接口单元1,若干数据解析单元2,冗余交换单元3和若干数据封装单元4。在一个实施例中,可以使用SoC(片上系统)器件实现满足IEC62439-3标准规范的冗余传输技术,SoC模组内集成嵌入式硬核控制器,内置的大容量缓存,并对用户提供多形式、多速率的标准数据接口和管理接口。由于SoC模组本身具备一个CPU管理功能,从而通过本发明能够把冗余交换功能和部分业务交换功能整合在一起,图3中的冗余交换单元提供4个千兆的数据口,左边称之为网络侧,右边可称之为接入侧,但不以此为限。每以太网数据分别通过一个物理层接口单元1,对应的一个数据解析单元2,冗余交换单元3,对应的一个数据封装单元4,最后再通过该物理层接口单元1输出。
物理层接口单元1用于以太网数据的收发,物理层接口可支持千兆的光口模式,也可支持10/100/1000兆的速率自适应的电口模式,方便用户灵活使用。此外,能够从线路侧提取时钟,可作为设备的系统参考时钟用。
参看图3和图7,在一个实施例中,冗余以太网数据传输设备采用SoC架构实现,物理层接口单元1分为环网物理层接口单元PHYA和PHYB,本地CPU管理接口单元PHYCPU和以太网连接物理层接口单元PHYIneterLink,通过数据解析单元2和数据封装单元4分别与冗余交换单元3的4个千兆的数据口连接。传输设备还可以包括用于对各单元进行管理、监控和数据交互的本地管理单元4,本地管理单元4通过本地CPU管理接口单元PHYCPU与冗余交换单元3连接,本地管理单元4完成对冗余交换单元3和其他功能单元的管理、监控,以及本身作为网络节点设备形式存在而进行网络间的数据交互。本地管理单元4对外提供两个接口,如图7所示,一是千兆的网管数据接口GMII接口,另外一个是寄存器配置AXI接口。
每个数据解析单元2对应一物理层接口单元1,在图3中,将网络侧(图中为左侧)的数据解析单元2和对应的物理层接口单元1标记为Ingress,数据解析单元2对和其连接的物理层接口单元1送过来的以太网数据进行分析解析,并给出分析结果,即数据描述符。数据描述符可以包含一系列的有用信息,如各部分头部的内容,以便后续作为调度交换决策使用的依据之一。具体的描述符字段形式例如为:DMAC/SMAC/VLAN/HSR/TimeStamp/Net_ID。
数据解析单元2具备一定的数据缓存能力,至少需要缓存2-3个数据帧。在一个实施例中,参看图4-6,每数据解析单元2包括报文分析模块21,第二数据缓存模块22和第二缓存模块23。报文分析模块21用于接收并解析以太网数据,从而确定每以太网数据对应的数据描述符,输出以太网数据和对应的数据描述符;第二数据缓存模块22用于缓存报文分析模块21输出的以太网数据;第二缓存模块23用于缓存以太网数据对应的数据描述符。其中,冗余交换单元3轮询各第二缓存模块23缓存的数据描述符,在轮询到新的以太网数据时,将发送描述符存到对应的第一缓存模块41中,同时将第二数据缓存模块22缓存的对应的以太网数据写入到共享缓存模块33中。
具体的,第二数据缓存模块22可以采用SoC片上的双口RAM(随机存取存储器),完成以太网数据在数据解析单元2的写入和读出,第二缓存模块23可以采用先进先出的FIFO(先进先出)缓存,来储存以太网数据对应的数据描述符。
数据解析单元2可以实现时钟域的转换,为后续的高带宽处理做好准备,输出是ST接口模式,参看图5,数据解析单元2的输入接口为GMII接口,数据是8位宽,第一时钟是125M的时钟,输出接口为ST接口,数据是64位宽,第二时钟是156.25M,总带宽为10Gbps。
冗余交换单元3用于轮询各数据解析单元2的数据描述符,在轮询到新的以太网数据时,将发送描述符缓存在数据解析单元2对应的第一缓存模块41中,同时将对应的以太网数据写入到共享缓存模块33中,冗余交换单元3还用于在数据封装单元4请求读取数据时,根据读信号从共享缓存模块33中读取以太网数据。较佳的,第一缓存模块41为FIFO缓存,在以太网数据交换时,发送描述符存到第一缓存模块41中。
每个数据封装单元4对应一物理层接口单元1,在图3中,将接入侧(图中为右侧)的数据封装单元4和对应的物理层接口单元1标记为Egress。数据封装单元4用于轮询对应的第一缓存模块41的发送描述符,在轮询到发送描述符时,向冗余交换单元3发出读取请求,冗余交换单元3产生读信号,从而读取共享缓存模块33的以太网数据并输出,数据封装单元4将冗余交换单元3输出的以太网数据进行封装,传输给对应的物理层接口单元1进行发送。
数据封装单元4把以太网数据从共享缓存模块33中取出,并封装成GMII数据帧格式,可能时也要修改报文的部分字段内容,然后再重新计算FCS(帧检验序列)校验值,发送到对应的物理层接口单元1。
参看图7,每数据封装单元4包括:第一缓存模块41,第一数据缓存模块42和报文封装模块43。其中,第一缓存模块41用于缓存冗余交换单元3输出的发送描述符;第一数据缓存模块42用于缓存冗余交换单元3输出的以太网数据;报文封装模块43用于将第一数据缓存模块42输出的以太网数据进行封装并输出。
第一缓存模块41缓存发送描述符,即发送指令,并将其做QoS(服务质量)队列排序,实现多策略调度功能;第一数据缓存模块42是缓存由冗余交换单元送过来的净荷数据,也就是以太网数据。具体的,当数据封装单元4在空闲时,判断第一缓存模块41是否有发送指令,并做出优先级判断,然后向冗余交换单元3(地址管理模块)提供发送申请,一旦得到应答,冗余交换单元3会根据指令里的地址信息从共享缓存模块33里读取数据,送到第一数据缓存模块42,数据封装单元4再以线速的速率往接口送出数据,并做出必要的修改。
在一个实施例中,数据封装单元4也起着时钟域的转换功能,数据封装单元4的输入接口为ST接口、数据是64位宽,第二时钟是156.25M,总带宽为10Gbps,输出接口为GMII接口,数据是8位宽,第一时钟是125M的时钟。数据封装单元将ST接口接收的第二时钟下的以太网数据转换为第一时钟下的以太网数据,并通过GMII接口输出。
参看图4,冗余交换单元3进一步包括交换决策模块32、地址管理模块31和共享缓存模块33。地址管理模块31包括用于控制写入的写控制器311和用于控制读取的读控制器312;交换决策模块32包括交换控制器321,交换控制器321实时轮询各数据解析单元4的数据描述符,在轮询到新的以太网数据时通知写控制器311将以太网数据写入共享缓存模块33,同时交换控制器321将当前发送描述符存入第一缓存模块41。
较佳的,冗余交换单元3采用分片存储的方式进行共享缓存,将以太网数据分成多个分片缓存;所述地址管理模块33还包括地址管理器313,用于控制写控制器311分片写入和控制读控制器312分片读取。
共享缓存模块33是交换机中比较常用的一种结构,用于集中式缓存来自所有端口的报文,以便后续再进行交换使之离开。分片存储是将变长的数据包分成定长的分片(Cell)存储在共享缓存中,一个数据包的各个分片可以分散在共享缓存的不同位置。如果一个分片没有被数据填满,则该分片的剩余空间也不能被其他数据包使用。连续存储是将整个变长数据包直接存储在缓存中,所有的数据的存储地址都是连续的。虽然连续存储方式可以有效地利用所有的缓存空间,但存在的问题是:对于变长数据包的存储会产生很多无法利用的碎片。管理整理这些碎片是异常复杂的,且也降低了共享缓存的使用效率。缓存分片方式虽然不能有效地利用所有的存储空间,但是缓存的管理比较方便,不会产生碎片。
根据SoC片上RAM的结构,在本实施例中,可以把一个分片定义为128Byte,有利于提高存储的利用率。可以采用链表的形式有效的组织一个报文,在每个分片的头4个字节存放这链表的控制信息,即下一个分片的索引号,和下一个分片的使能信息,最终一个报文可以通过多个分片关联到一起。
一个分片是由它的索引号来索引,地址管理模块313可以管理索引号的配和回收,地址管理模块313还可以监控共享缓存的使用情况,也可以监控每个端口的缓存使用情况,并把这些信息反馈给交换控制器321,以便做出合理的判定。具体的,地址管理模块313采用一个先进先出的FIFO缓存,上电时或者初始化时,这个FIFO缓存是满的,而且被初始化为所有分片的索引号。当需要分配地址给某个报文时,需要从这个FIFO缓存读出一个或者几个索引号,并给予分配;当一个报文被送出时,需要回收这个报文之前所占用分片的索引号,此时,地址管理模块313会把这些索引号写入这个FIFO缓存,这个FIFO的使用情况就代表了共享缓存模块33的使用情况,以便后续做出相应的判决。
对于共享缓存模块33是一个双口RAM来说,按照分片的单元结构组织好,一个端口用于把数据写入,而另外一个端口用于把报文读出。对于多端口的交换设备来说,需要写控制器或者读控制器来完成最后的读写调度,即把缓存在各个端口的报文数据进行写入,或者是从共享缓存里读出一段数据到各个端口的出口缓存里。
写控制的工作流程,各个端口的数据解析单元2把接收到的数据解析好,缓存好数据并给出对应的数据描述符;交换控制器321会实时轮询各端口的数据描述符,一旦发现有新的以太网数据过来,立即启动决策分析和判断,一旦判断这个新的数据可以写入到共享缓存模块时,立即通知写控制器311,写控制器311从地址管理模块313获取当前的分片地址,写控制器311把以太网数据从对应数据解析单元2的第二数据缓存模块222(小缓存)里把数据搬运到共享缓存模块33(大缓存)里,完成数据的写入。另外交换控制器321也会把当前的发送描述符更新,即更新实际的分片首地址,然后把这个发送描述符写入到对应的数据封装单元4的第一缓存模块41里面。
读控制的工作流程,读控制器312和写控制器311的功能对应,即把以太网数据从共享缓存模块33读出分发到各个数据封装单元4的第一缓存模块41里面。各个端口的数据封装单元4会实时轮询第一缓存模块41的状态,一旦发现有新的发送描述符等待发送时,立即向读控制器412提出读数据请求,读控制器412一旦空闲就会立即给出应答,表示可以接收本次请求。读控制器412会根据当前发送描述符里把报文的首个分片地址取出来,根据地址把以太网数据从共享缓存模块33里面读出,送给数据封装单元4的第一数据缓存模块42,由于数据是链表的形式,所以当数据有多个分片时,也依然能够正确的读出。一旦数据读取完毕,数据封装单元会根据当前发送描述符的指令,修改报文,或者添加某些标签等操作,最后把数据送出。同时,读控制器会回收每个读出分片地址,写入到地址管理模块的FIFO缓存里面。
进一步的,交换决策模块32还包括MAC地址表322、包序列表323和包记录表324;MAC地址表322保存以太网数据的源地址,用于区分本地CPU管理数据的地址和被代理设备数据的地址;包序列表323保存各以太网数据的源MAC地址和包序列号,交换控制器321根据上次发送以太网数据的包序列号确定本次发送的包序列号并保存在包序列表中;包记录表324保存已发送的源MAC地址和包序列号;交换控制器321实时轮询各数据解析单元2的数据描述符,在轮询到新的以太网数据时,判断MAC地址表中是否有匹配项,同时查找包记录表324中是否已存有本次发送以太网数据的包序列号及源MAC地址的记录,若MAC地址表匹配且包记录表没有相应记录,则交换控制器321通知写控制器311将本次发送以太网数据写入共享缓存模块33,同时交换控制器321将当前发送描述符存入第一缓存模块41,否则丢弃本次数据。
MAC地址表322(MAC_Table):Soc模组本身具备一个CPU管理功能,也有需求来上下业务的,本发明把冗余交换功能和部分业务交换功能整合在一起,即为InterLink单独提供一个数据口以及CPU也提供一个数据口,都为GMII形式接口。MAC地址表322可以用来区分是管理的数据还是用户的数据。需要为CPU分配一个或者是多个MAC地址,也需要为被代理的设备提供若干个MAC地址。这个表是公共的,称之为MAC_Table。
包序列表323(Proxy_Table):IEC62439-3规定,采用源MAC地址和包的序列号来唯一标识一个报文,即{SMAC,SeqNr}。在业务接入侧,即CPU口和InterLink口,以太网报文是没有HSR头部的,这些报文进入网络侧前是需要被冗余设备添加HSR头部,而从网络侧进来已经带有HSR标签的报文被送到接入侧也是需要把HSR剥离掉。包序列表可以用来维护{SMAC,SeqNr}的对应关系。SeqNr是一个16Bit的计数器,每发送一个报文这个计数器要加一,即对每个SMAC来说,都需要记住上一次发送报文时的SeqNr,以便确定本次发送时的SeqNr。包序列表例如是一张有256个表项,每个表项存储的是SMAC和SeqNr,SeqNr初始化时为0。每当数据解析模块2收到一个报文时,会给出一组对应的数据描述符,交换控制器321会实时轮询并获取到这个数据描述符,之后会查找包序列表323,找到并获取这个SMAC对应的SeqNr,进行加一操作后再回写。当完成其他决策判断后,这个加一后SeqNr会和其他描述符信息一起作为发送描述符被写入到对应端口的第一缓存模块41里进行排队,直到数据封装模块4把这个报文送走,当然在送走之前报文是会根据数据描述符的信息修改的。
包记录表324(Duplicate_Table):接入侧的数据进入网络侧,数据包总是以两份的形式在环网的两个方向传递,那么在网络侧的接收端是需要判断而选择一份数据进行接收。一个报文是由{SMAC,SeqNr}来标识的,那么在网络侧接收口需要用这一组信息来判断这两份报文是否已经达到,通过包记录表324来记录这个过程,该表称之为Duplicate_Table。包记录表324也是全局共享的,被交换决策模块访问和更新。基本的原理是,当数据解析模块2收到一个报文后,得到一条数据描述符信息,交换控制器321轮询到这个数据描述符后,获取到{SMAC,SeqNr}信息,就立即查找包记录表,看是否已经存在这条表项,如果存在说明有另外方向的报文比当前报文先到达目的地,交换控制器321则丢弃这个报文;否则需要把这条信息追添加到当前的表里,并标识这个报文有效,可以被调度交换。包记录表324例如是一个有512表项的表,可以用双口RAM的形式来实现,但是对于需要快速查找的模式,则表可以用寄存器的方式,可实现并行查表,即一个时钟周期就能得到查表的结果。
冗余交换功能在普通的交换机的基础上,添加了多个约束条件,使之具备冗余检测,丢弃等功能。本发明实时收集信息并加以鉴别,最后实现交换决策。当收到一个报文时,交换决策模块32立即收集充分的决策要素,实现正确的判断。这些要素包括:当前报文的数据描述符,它来之于数据解析模块;DMAC(目标地址)查询匹配的结果,即MAC地址表322查询匹配的结果;包序列表323查询匹配的结果;以及包记录表324查询匹配的结果;这些查询在模块内容都是并行工作的,一旦查询完毕,便可知道当前报文的真实动作,丢弃、还是转发等。并根据当前的结果,把更新后的描述符送给下一级模块。
本发明还提供一种冗余以太网数据传输系统,包括若干节点设备和由所述节点设备构建而成的冗余环网;所述节点设备中的至少一个节点设备为前述任意一项所述的冗余以太网数据传输设备。
参看图8,本发明还提供一种使用前述任意一种冗余以太网数据传输设备的冗余以太网数据传输方法,包括以下步骤:
S1:使用冗余以太网数据传输设备构建冗余环网,并进行网络配置以使冗余环网能够实时传输业务数据,且具备冗余功能;
S2:各物理层接口单元接收以太网数据,数据解析单元解析对应的物理层接口单元接收的以太网数据,以确定以太网数据的数据描述符;
S3:冗余交换单元轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,将发送描述符缓存在数据解析单元对应的第一缓存模块中,同时将对应的以太网数据写入到共享缓存模块中;
S4:数据封装单元轮询对应的第一缓存模块的发送描述符,在轮询到发送描述符时,向所述冗余交换单元发出读取请求,所述冗余交换单元产生所述读信号从而读取共享缓存模块的以太网数据并输出,数据封装单元封装冗余交换单元输出的以太网数据,并传输给对应的物理层接口单元进行发送。
根据本发明的一个实施例,所述步骤S2包括以下步骤:
步骤S21:各物理层接口单元接收以太网数据;
步骤S22:报文分析模块接收并解析以太网数据,从而确定每以太网数据对应的数据描述符,输出以太网数据和对应的数据描述符;
步骤S23:第二数据缓存模块缓存所述报文分析模块输出的以太网数据,第二缓存模块缓存以太网数据对应的数据描述符;
步骤S24:冗余交换单元轮询各第二缓存模块缓存的数据描述符,在轮询到新的以太网数据时,将发送描述符存到对应的第一缓存模块中,同时将第二数据缓存模块缓存的对应的以太网数据写入到共享缓存模块中。
根据本发明的一个实施例,所述步骤S3包括以下步骤:
S31:交换控制器实时轮询各数据解析单元的数据描述符;
S32:交换控制器实时轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,判断MAC地址表中是否有匹配项,同时查找所述包记录表中是否已存有本次发送以太网数据的包序列号及源MAC地址的记录;所述MAC地址表保存以太网数据的源地址,用于区分本地CPU管理数据的地址和被代理设备数据的地址;所述包序列表保存各以太网数据的源MAC地址和包序列号,所述交换控制器根据上次发送以太网数据的包序列号确定本次发送的包序列号并保存在包序列表中;所述包记录表保存已发送的源MAC地址和包序列号;
S33:若MAC地址表匹配且包记录表没有相应记录则交换控制器通知写控制器将本次发送以太网数据写入共享缓存模块,同时所述交换控制器将当前发送描述符存入所述第一缓存模块,否则丢弃本次以太网数据。
本发明的方法部分可以参看前述设备部分的具体描述内容,在此不再赘述。
本发明虽然以较佳实施例公开如上,但其并不是用来限定权利要求,任何本领域技术人员在不脱离本发明的精神和范围内,都可以做出可能的变动和修改,因此本发明的保护范围应当以本发明权利要求所界定的范围为准。

Claims (12)

1.一种冗余以太网数据传输设备,其特征在于,包括:
若干物理层接口单元,用于以太网数据的收发;
若干数据解析单元,用于解析对应的物理层接口单元接收的以太网数据,以确定以太网数据的数据描述符,一数据解析单元对应一物理层接口单元;
冗余交换单元,用于轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,将发送描述符缓存在数据解析单元对应的第一缓存模块中,同时将对应的以太网数据写入到共享缓存模块中,冗余交换单元还用于响应于读信号而从共享缓存模块中读取以太网数据;
若干数据封装单元,用于轮询对应的第一缓存模块的发送描述符,在轮询到发送描述符时,向所述冗余交换单元发出读取请求,所述冗余交换单元产生所述读信号,从而读取共享缓存模块的以太网数据并输出,数据封装单元还用于封装冗余交换单元输出的以太网数据并传输给对应的物理层接口单元进行发送,一数据封装单元对应一所述物理层接口单元;
所述冗余交换单元包括交换决策模块、地址管理模块和所述共享缓存模块;所述地址管理模块包括用于控制写入的写控制器和用于控制读取的读控制器;所述交换决策模块包括交换控制器,所述交换控制器实时轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时通知写控制器将以太网数据写入所述共享缓存模块,同时所述交换控制器将当前发送描述符存入所述第一缓存模块;
所述交换决策模块还包括MAC地址表、包序列表和包记录表;所述MAC地址表保存以太网数据的源地址,用于区分本地CPU管理数据的地址和被代理设备数据的地址;所述包序列表保存各以太网数据的源MAC地址和包序列号,所述交换控制器根据上次发送以太网数据的包序列号确定本次发送的包序列号并保存在包序列表中;所述包记录表保存已发送的源MAC地址和包序列号;所述交换控制器实时轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,判断MAC地址表中是否有匹配项,同时查找所述包记录表中是否已存有本次发送以太网数据的包序列号及源MAC地址的记录,若MAC地址表匹配且包记录表没有相应记录则交换控制器通知写控制器将本次发送以太网数据写入共享缓存模块,同时所述交换控制器将当前发送描述符存入所述第一缓存模块,否则丢弃本次以太网数据。
2.如权利要求1所述的冗余以太网数据传输设备,其特征在于,每所述数据解析单元包括:
报文分析模块,用于接收并解析以太网数据,从而确定每以太网数据对应的数据描述符,输出以太网数据和对应的数据描述符;
第二数据缓存模块,用于缓存所述报文分析模块输出的以太网数据;
第二缓存模块,用于缓存以太网数据对应的数据描述符;
其中,所述冗余交换单元轮询各第二缓存模块缓存的数据描述符,在轮询到新的以太网数据时,将发送描述符存到对应的第一缓存模块中,同时将第二数据缓存模块缓存的对应的以太网数据写入到共享缓存模块中。
3.如权利要求2所述的冗余以太网数据传输设备,其特征在于,所述第一缓存模块和/或所述第二缓存模块为FIFO缓存。
4.如权利要求1所述的冗余以太网数据传输设备,其特征在于,所述数据解析单元的输入接口为GMII接口、输出接口为ST接口,所述数据解析单元对所述以太网数据进行时钟域转换,将GMII接口接收的第一时钟下的以太网数据转换为第二时钟下的以太网数据,并通过ST接口输出。
5.如权利要求4所述的冗余以太网数据传输设备,其特征在于,所述数据封装单元的输入接口为ST接口、输出接口为GMII接口,所述数据封装单元对所述以太网数据进行时钟域转换,将ST接口接收的第二时钟下的以太网数据转换为第一时钟下的以太网数据,并通过GMII接口输出。
6.如权利要求1所述的冗余以太网数据传输设备,其特征在于,每所述数据封装单元包括:
所述第一缓存模块,用于缓存所述冗余交换单元输出的发送描述符;
第一数据缓存模块,用于缓存所述冗余交换单元输出的以太网数据;
报文封装模块,用于将第一数据缓存模块输出的以太网数据进行封装并输出。
7.如权利要求1所述的冗余以太网数据传输设备,其特征在于,所述冗余交换单元采用分片存储的方式进行共享缓存,将以太网数据分成多个分片缓存;所述地址管理模块还包括地址管理器,用于控制所述写控制器分片写入和控制所述读控制器分片读取。
8.如权利要求1所述的冗余以太网数据传输设备,其特征在于,传输设备采用SoC架构实现,所述物理层接口单元分为环网物理层接口单元,本地CPU管理接口单元和以太网连接物理层接口单元;所述传输设备还包括用于对各单元进行管理、监控和数据交互的本地管理单元。
9.一种冗余以太网数据传输系统,其特征在于,包括若干节点设备和由所述节点设备构建而成的冗余环网;所述节点设备中的至少一个节点设备为如权利要求1-8中任意一项所述的冗余以太网数据传输设备。
10.一种使用权利要求1-8中任意一项所述设备的冗余以太网数据传输方法,其特征在于,包括以下步骤:
S1:使用冗余以太网数据传输设备构建冗余环网,并进行网络配置以使冗余环网能够实时传输业务数据,且具备冗余功能;
S2:各物理层接口单元接收以太网数据,数据解析单元解析对应的物理层接口单元接收的以太网数据,以确定以太网数据的数据描述符;
S3:冗余交换单元轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,将发送描述符缓存在数据解析单元对应的第一缓存模块中,同时将对应的以太网数据写入到共享缓存模块中;
S4:数据封装单元轮询对应的第一缓存模块的发送描述符,在轮询到发送描述符时,向所述冗余交换单元发出读取请求,所述冗余交换单元产生所述读信号从而读取共享缓存模块的以太网数据并输出,数据封装单元封装冗余交换单元输出的以太网数据,并传输给对应的物理层接口单元进行发送。
11.如权利要求10所述的冗余以太网数据传输方法,其特征在于,所述步骤S2包括以下步骤:
步骤S21:各物理层接口单元接收以太网数据;
步骤S22:报文分析模块接收并解析以太网数据,从而确定每以太网数据对应的数据描述符,输出以太网数据和对应的数据描述符;
步骤S23:第二数据缓存模块缓存所述报文分析模块输出的以太网数据,第二缓存模块缓存以太网数据对应的数据描述符;
步骤S24:冗余交换单元轮询各第二缓存模块缓存的数据描述符,在轮询到新的以太网数据时,将发送描述符存到对应的第一缓存模块中,同时将第二数据缓存模块缓存的对应的以太网数据写入到共享缓存模块中。
12.如权利要求10所述的冗余以太网数据传输方法,其特征在于,所述步骤S3包括以下步骤:
S31:交换控制器实时轮询各数据解析单元的数据描述符;
S32:交换控制器实时轮询各数据解析单元的数据描述符,在轮询到新的以太网数据时,判断MAC地址表中是否有匹配项,同时查找所述包记录表中是否已存有本次发送以太网数据的包序列号及源MAC地址的记录;所述MAC地址表保存以太网数据的源地址,用于区分本地CPU管理数据的地址和被代理设备数据的地址;所述包序列表保存各以太网数据的源MAC地址和包序列号,所述交换控制器根据上次发送以太网数据的包序列号确定本次发送的包序列号并保存在包序列表中;所述包记录表保存已发送的源MAC地址和包序列号;
S33:若MAC地址表匹配且包记录表没有相应记录则交换控制器通知写控制器将本次发送以太网数据写入共享缓存模块,同时所述交换控制器将当前发送描述符存入所述第一缓存模块,否则丢弃本次以太网数据。
CN201610268817.6A 2016-04-27 2016-04-27 冗余以太网数据传输设备、系统及方法 Expired - Fee Related CN105978762B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610268817.6A CN105978762B (zh) 2016-04-27 2016-04-27 冗余以太网数据传输设备、系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610268817.6A CN105978762B (zh) 2016-04-27 2016-04-27 冗余以太网数据传输设备、系统及方法

Publications (2)

Publication Number Publication Date
CN105978762A CN105978762A (zh) 2016-09-28
CN105978762B true CN105978762B (zh) 2019-02-01

Family

ID=56993300

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610268817.6A Expired - Fee Related CN105978762B (zh) 2016-04-27 2016-04-27 冗余以太网数据传输设备、系统及方法

Country Status (1)

Country Link
CN (1) CN105978762B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452695A (zh) * 2016-10-12 2017-02-22 北京东土科技股份有限公司 冗余报文处理方法、装置及系统
CN107276845B (zh) * 2017-06-06 2019-11-15 清华大学 一种轨道交通领域的具有容错功能的实时数据调度方法
CN107332834B (zh) * 2017-06-26 2020-11-17 南京南瑞继保电气有限公司 一种Windows系统下PRP网络连接方法
CN107547303B (zh) * 2017-07-06 2021-07-09 中国南方电网有限责任公司 支持PRP或HSR协议的IED设备处理NodesTable的方法
CN109327440B (zh) * 2018-10-09 2020-11-24 合肥工业大学 基于时间片的数据客户端与多数据服务端的数据传输方法
CN111064593A (zh) * 2018-10-17 2020-04-24 中车株洲电力机车研究所有限公司 网络拓扑冗余通信系统和网络拓扑冗余通信方法
CN109946955B (zh) * 2019-03-15 2022-11-01 西安微电子技术研究所 一种双网冗余以太网控制器Linux网卡驱动控制器
CN114221818A (zh) * 2021-12-21 2022-03-22 深圳铸泰科技有限公司 基于交换树上报五元组的方法、系统、终端及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102598590A (zh) * 2009-09-23 2012-07-18 威罗门飞行公司 具有性能监测的主动多路径网络冗余
CN104378186A (zh) * 2014-10-31 2015-02-25 南京南瑞继保电气有限公司 一种网络冗余数据处理的方法、装置和系统
CN104378161A (zh) * 2014-10-22 2015-02-25 华中科技大学 一种基于AXI4总线架构的FCoE协议加速引擎IP核
CN104539408A (zh) * 2014-12-30 2015-04-22 国电南瑞科技股份有限公司 具有报文多级滤清及业务分类控制的冗余工业以太网系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9319240B2 (en) * 2013-09-24 2016-04-19 Ciena Corporation Ethernet Ring Protection node

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102598590A (zh) * 2009-09-23 2012-07-18 威罗门飞行公司 具有性能监测的主动多路径网络冗余
CN104378161A (zh) * 2014-10-22 2015-02-25 华中科技大学 一种基于AXI4总线架构的FCoE协议加速引擎IP核
CN104378186A (zh) * 2014-10-31 2015-02-25 南京南瑞继保电气有限公司 一种网络冗余数据处理的方法、装置和系统
CN104539408A (zh) * 2014-12-30 2015-04-22 国电南瑞科技股份有限公司 具有报文多级滤清及业务分类控制的冗余工业以太网系统

Also Published As

Publication number Publication date
CN105978762A (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
CN105978762B (zh) 冗余以太网数据传输设备、系统及方法
CN108199897B (zh) 一种支持缓存管理的opc ua多服务器聚合方法
CN106790104B (zh) 多协议融合系统、节点之间的ip通信及fc-ae-1553通信方法
CN100375450C (zh) 用于核实冗余备用分组转发器的功能的方法
US6029197A (en) Management information base (MIB) report interface for abbreviated MIB data
CN102880475B (zh) 计算机软件系统中基于云计算的实时事件处理系统及方法
CN1875585B (zh) 利用mac限制来控制动态未知l2泛滥的方法和系统
US7809859B2 (en) Network switching device and control method of network switching device
CN102714628B (zh) 通信系统、控制装置、处理规则设置方法和分组传输方法
CN100571195C (zh) 多端口以太网交换装置及数据传输方法
US20120131225A1 (en) Data center network system and packet forwarding method thereof
CN102546742B (zh) 管理分布式开关构造系统中的下一跳标识符的方法和装置
US20100020806A1 (en) Scalable Commodity Data Center Network Architecture
CN100555988C (zh) 一种提高三重内容可寻址存储器报文分类查找速度的方法
JP2001511985A (ja) ネットワークスイッチとホストコントローラとの間で送信する管理パケットを合成するための装置および方法
JP2002514367A (ja) 管理情報ベース(mib)インターフェイス一次ストレージを有する統合マルチポートスイッチ
CN109905251A (zh) 网络管理方法、装置、电子设备和存储介质
US6731596B1 (en) Network switch having system for automatically detecting change in network node connection
JP2021526331A (ja) ネットワークトポロジ生成方法および装置
CN114710571B (zh) 数据包处理系统
JP4074310B2 (ja) トラヒック分散制御装置、パケット通信ネットワークおよびプログラム
CN105471601A (zh) 一种通过主交换机对堆叠中的所有从交换机进行管理的方法
CN100531144C (zh) 一种路由器及路由转发方法
CN101227412B (zh) 报文转换的方法和设备
CN101247663B (zh) 大容量路由系统及其转发表生成方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190201

Termination date: 20200427

CF01 Termination of patent right due to non-payment of annual fee