CN112543142B - 基于fpga实现rstp环网协议的方法和装置 - Google Patents

基于fpga实现rstp环网协议的方法和装置 Download PDF

Info

Publication number
CN112543142B
CN112543142B CN201910892543.1A CN201910892543A CN112543142B CN 112543142 B CN112543142 B CN 112543142B CN 201910892543 A CN201910892543 A CN 201910892543A CN 112543142 B CN112543142 B CN 112543142B
Authority
CN
China
Prior art keywords
message
fpga
rstp
mac address
sent
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.)
Active
Application number
CN201910892543.1A
Other languages
English (en)
Other versions
CN112543142A (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.)
NR Electric Co Ltd
NR Engineering Co Ltd
Original Assignee
NR Electric Co Ltd
NR Engineering Co Ltd
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 NR Electric Co Ltd, NR Engineering Co Ltd filed Critical NR Electric Co Ltd
Priority to CN201910892543.1A priority Critical patent/CN112543142B/zh
Publication of CN112543142A publication Critical patent/CN112543142A/zh
Application granted granted Critical
Publication of CN112543142B publication Critical patent/CN112543142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/48Routing tree calculation

Abstract

本发明公开了一种基于FPGA实现RSTP环网协议的方法和装置,包括接收由FPGA发送的第一报文,所述第一报文的报文头包括顺次设置的TAG字段、目的MAC地址和源MAC地址,所述TAG字段用于区分FPGA的不同物理端口;当基于所述第一报文中的目的MAC地址判断出报文内容为网桥协议数据报文时,基于所述第一报文形成第二报文,所述第二报文的报文头包括顺次设置的目的MAC地址、源MAC地址和RSTP类型字段;利用报文处理函数解析所述第二报文,并基于解析结果中的RSTP链路状态,发送信号至FPGA设定FPGA各物理端口的工作状态,实现RSTP环网协议。本发明可根据实际运行模式灵活配置物理端口,且硬件构成简单,以较少的成本实现电力系统智能设备支持RSTP环网通讯协议。

Description

基于FPGA实现RSTP环网协议的方法和装置
技术领域
本发明属于电力系统智能设备领域,具体涉及一种基于FPGA实现RSTP环网协议的方法和装置。
背景技术
在电力系统智能设备领域,对于可靠性要求比较高的场合通常采用冗余网络结构,提供稳定可靠的网络通信。RSTP环网技术由于发展较为成熟,能够节省网络设备成本,因而在电力和工业以太网中得到广泛应用。
由于电力系统智能设备的普通网口一般只具备常规的网络通信功能,为了实现支持RSTP环网协议,早期通常采用增加交换机或者附加交换芯片的方式来实现,这种方式不仅会导致硬件结构复杂,增加成本,还无法实现运行模式的灵活切换。
发明内容
针对上述问题,本发明提出一种基于FPGA实现RSTP环网协议的方法和装置,通过FPGA扩展出多个物理端口(即网口),FPGA、网卡驱动单元和RSTP进程单元协同工作实现RSTP环网协议,并且可根据实际运行模式灵活配置物理端口,且硬件构成简单,以较少的成本实现电力系统智能设备支持RSTP环网通讯协议。
为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
第一方面,本发明提供了一种基于FPGA实现RSTP环网协议的方法,包括:
接收由FPGA发送的第一报文,所述第一报文的报文头包括顺次设置的TAG字段、目的MAC地址和源MAC地址,所述TAG字段用于区分FPGA的不同物理端口;
当基于所述第一报文中的目的MAC地址判断出报文内容为网桥协议数据报文时,则基于所述第一报文形成第二报文,所述第二报文的报文头包括顺次设置的目的MAC地址、源MAC地址和RSTP类型字段;
利用报文处理函数解析所述第二报文,并基于解析结果中的RSTP链路状态,发送信号至FPGA设定FPGA各物理端口的工作状态,实现RSTP环网协议。
可选地,所述TAG字段包括:标识符、逻辑网口编号和物理端口掩码;所述RSTP类型字段包括:RSTP类型标识和物理端口掩码。
可选地,所述基于FPGA实现RSTP环网协议的方法还包括:
当基于所述第一报文中的目的MAC地址判断出报文内容为普通报文时,则直接去除所述第一报文中的TAG字段,然后转交网络协议栈处理;其中,所述TAG字段包括:标识符和逻辑网口编号。
可选地,所述第一报文通过以下步骤获得:
FPGA从物理端口接收网络报文时,首先判断接收到的网络报文中的目的MAC地址是否匹配本地网卡的MAC地址,如果匹配则在所述接收到的网络报文的目的MAC地址前填充TAG字段,形成第一报文。
第二方面,本发明提供了一种基于FPGA实现RSTP环网协议的方法,包括:
当判断出待发送报文内容为网桥协议数据报文后,在所述待发送报文的头部添加TAG字段,并删除其尾部的RSTP类型字段,所述TAG字段用于区分FPGA的不同端口;
将所述待发送报文发送至FPGA,使得FPGA按照TAG字段从指定的端口将所述待发送报文发送出去。
可选地,所述方法还包括:
当判断出待发送报文的类型为普通报文后,则在所述待发送报文的头部添加TAG字段;
将所述待发送报文发送至FPGA,供FPGA识别所述待发送报文的目的MAC地址去查找各物理端口的MAC地址列表;
若在某物理端口收到过源MAC地址为该目的MAC地址的报文,则在该物理端口的MAC地址学习表中能够匹配到,即选择该物理端口发送,如果所有物理端口都没有匹配到,则从所有物理端口分别将所述待发送报文发送出去。
可选地,在将所述待发送报文发送出去步骤之前,还包括:
根据各物理端口的状态,选择是否发送或者丢弃报文,所述物理端口状态包括转发、学习或者丢弃状态。
第三方面,本发明提供了一种基于FPGA实现RSTP环网协议的装置,包括FPGA、网卡驱动单元和RSTP进程单元;
所述FPGA和网卡驱动单元之间传递第一报文,所述第一报文的报文头包括顺次设置的TAG字段、目的MAC地址和源MAC地址,所述TAG字段用于区分FPGA的不同端口;
当所述网卡驱动单元基于第一报文中的目的MAC地址判定所述第一报文为网桥协议数据报文时,则基于所述第一报文形成第二报文,所述第二报文的报文头包括顺次设置的目的MAC地址、源MAC地址和RSTP类型字段;
所述RSTP进程单元利用内置的报文处理函数解析所述第二报文,基于解析结果中RSTP链路状态,发送信号至FPGA设定FPGA各端口的工作状态,实现RSTP环网协议。
可选地,所述TAG字段包括:标识符、逻辑网口编号和物理端口掩码;所述RSTP类型字段包括:RSTP类型标识和物理端口掩码。
可选地,当RSTP进程单元将待发送报文发送至所述网卡驱动单元后,若所述述网卡驱动单元判断出待发送报文为网桥协议数据报文,则在所述待发送报文的头部添加TAG字段,并删除其尾部的RSTP类型字段,所述TAG字段用于区分FPGA的不同端口,将所述待发送报文发送至FPGA,使得FPGA按照TAG字段从指定的物理端口将所述待发送报文发送出去。
可选地,当RSTP进程单元将待发送报文发送至所述网卡驱动单元后,若所述述网卡驱动单元判断出待发送报文为普通报文,则在所述待发送报文的头部添加TAG字段,所述TAG字段用于区分FPGA的不同物理端口;
将所述待发送报文发送至FPGA,供FPGA识别所述待发送报文的目的MAC地址去查找各物理端口的MAC地址列表;
若在某物理端口收到过源MAC地址为该目的MAC地址的报文,则在该物理端口的MAC地址列表中能够匹配到,即选择该物理端口发送,如果所有物理端口都没有匹配到,则从所有物理端口分别将所述待发送报文发送出去。
与现有技术相比,本发明的有益效果:
本发明提供了一种基于FPGA实现RSTP环网协议的方法和装置,通过FPGA扩展出多个物理端口(即网口),FPGA程序、网卡驱动和RSTP进程协同工作实现RSTP环网协议,并且可根据实际运行模式灵活配置物理端口,且硬件构成简单,以较少的成本实现电力系统智能设备支持RSTP环网通讯协议。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1为本发明一种实施例的第一报文的报文头结构示意图;
图2为本发明一种实施例的第二报文的报文头结构示意图;
图3为本发明一种实施例的基于FPGA实现RSTP环网协议的结构示意图;
图4为本发明一种实施例的网络报文接收流程图;
图5为本发明一种实施例的网络报文发送流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明的保护范围。
下面结合附图对本发明的应用原理作详细的描述。
实施例1
本发明实施例中提供了一种基于FPGA实现RSTP环网协议的方法,用于完成网络报文接收,具体包括以下步骤:
(1)接收由FPGA发送的第一报文,所述第一报文的报文头包括顺次设置的TAG字段、目的MAC地址和源MAC地址,其中,所述TAG字段用于区分FPGA的不同端口;具体参见图1;
(2)当基于所述第一报文中的目的MAC地址判断出所述第一报文为网桥协议数据报文时,则基于所述第一报文形成第二报文,所述第二报文的报文头包括顺次设置的目的MAC地址、源MAC地址和RSTP类型字段,具体参见图2;
(3)利用报文处理函数解析所述第二报文,并基于解析结果中的RSTP链路状态,发送信号至FPGA设定FPGA各端口的工作状态,实现RSTP环网协议;所述工作状态包括转发、学习、阻塞等。
在本发明实施例的一种具体实施方式中,所述第一报文通过以下步骤获得:
首先,FPGA根据其各物理端口接收到的网络传输报文中源MAC地址维护自身的MAC地址学习表;FPGA的物理端口是对外的网口,用于接收或者发送网络传输报文,实现与其他设备之间的通讯,所述设备包括相连的CPU和FPGA;
然后,判断所述网络传输报文中的目的MAC地址是否匹配本地网卡的MAC地址,如果匹配则在所述网络传输报文的目的MAC地址前填充TAG字段,形成第一报文。其中,当所述FPGA的端口接收到的网络报文为普通报文时,所述TAG字段包括:标识符、逻辑网口编号;当所述FPGA的端口接收到的网络报文为网桥协议数据报文(即BPDU报文)时,所述TAG字段包括:标识符、逻辑网口编号和物理端口掩码。
具体地,所述第一报文的实际生成过程为:在接收到的网络传输报文的目的MAC地址的前面添加4个字节的TAG字段,其中TAG字段的第一个字节为标识符0xAA;第二个字节为逻辑网口编号;第三个字节默认为0x00;第四个字节为物理端口掩码,每个bit位对应实际的RSTP物理端口,该字节只在RSTP协议的BPDU报文中使用,普通网络报文只需填充标识符和逻辑网口编号,其余字节默认为0;
在本发明实施例的一种具体实施方式中,所述RSTP类型字段包括:RSTP类型标识和物理端口掩码;所述当基于所述第一报文中的目的MAC地址判断出报文内容为网桥协议数据报文时,基于所述第一报文形成第二报文,具体为:
由于BPDU报文的目的MAC地址为固定值,因此,可以通过识别所述第一报文的目的MAC地址来判断是否为BPDU报文,对于BPDU报文,则在源MAC地址后面添加4个字节的RSTP报文类型字段,形成第二报文,其中前两个字节为RSTP类型标识,第三字节默认为0,最后一个字节为物理端口掩码,每个bit位对应实际的物理端口,即系统对外的网口,与FPGA相连。
进一步地,所述步骤(2)中还包括:当基于所述第一报文中的目的MAC地址判断出所述第一报文为普通报文时,则直接去除所述第一报文中的TAG字段,然后转交网络协议栈处理;其中,所述TAG字段包括:标识符和逻辑网口编号。
实施例2
本发明实施例中提供了一种基于FPGA实现RSTP环网协议的方法,在具体实施过程中,用于完成网络报文发送,具体包括以下步骤:
(1)当判断出待发送报文的类型为网桥协议数据报文后,在所述待发送报文的头部添加TAG字段,并删除其尾部的RSTP类型字段,所述TAG字段用于区分FPGA的不同物理端口;
(2)将所述待发送报文发送至FPGA,使得FPGA按照TAG字段从指定的物理端口将所述待发送报文发送出去。
进一步地,在本发明实施例的一种具体实施方式中,所述方法还包括:
(3)当判断出待发送报文的类型为普通报文后,则在所述待发送报文的头部添加TAG字段;
(4)将所述待发送报文发送至FPGA,供FPGA识别所述待发送报文的目的MAC地址去查找各物理端口的MAC地址学习表;
(5)若在某物理端口收到过源MAC地址为该目的MAC地址的报文,则在该物理端口的MAC地址学习表中能够匹配到,即选择该物理端口发送,如果所有物理端口都没有匹配到,则从所有物理端口分别将所述待发送报文发送出去。
优选地,在利用FPGA将报文发送出去之间,还需要判断出FPGA各物理端口的状态,来选择是否发送或者丢弃报文。
实施例3
本发明实施例中提供了一种基于FPGA实现RSTP环网协议的装置,如图3所示,包括顺次相连的FPGA、网卡驱动单元和RSTP进程单元;
当利用本发明实施例中的装置接收网络报文时,具体过程为:
所述FPGA向网卡驱动单元发送第一报文,所述第一报文的报文头包括顺次设置的TAG字段、目的MAC地址和源MAC地址,所述TAG字段用于区分FPGA的不同物理端口,供网卡驱动单元区分报文来自哪个网口;
当所述网卡驱动单元基于第一报文中的目的MAC地址判定报文内容为网桥协议数据报文时,则生成第二报文,所述第二报文的报文头包括顺次设置的目的MAC地址、源MAC地址和RSTP类型字段;
所述RSTP进程单元利用内置的报文处理函数解析所述第二报文,基于解析结果中RSTP链路状态,发送信号至FPGA设定FPGA各物理端口的工作状态,实现RSTP环网协议。
当利用本发明实施例中的装置发送网络报文时,具体过程为:
当RSTP进程单元将待发送报文发送至所述网卡驱动单元后,网卡驱动单元判断出待发送报文为网桥协议数据报文,则在所述待发送报文的头部添加TAG字段,并删除其尾部的RSTP类型字段,所述TAG字段用于区分FPGA的不同物理端口,其包括:标识符、逻辑网口编号和物理物理端口掩码,将所述待发送报文发送至FPGA,使得FPGA按照TAG字段从指定的物理端口将所述待发送报文发送出去。
当上层应用需要发送普通网络报文时,,网卡驱动单元判断出待发送报文为普通报文,则在所述待发送报文的头部添加TAG字段,所述TAG字段用于区分FPGA的不同物理端口,其包括:标识符、逻辑网口编号;将所述待发送报文发送至FPGA,FPGA识别所述待发送报文的目的MAC地址去查找各物理端口的MAC地址学习表;若在某物理端口收到过源MAC地址为该目的MAC地址的报文,则在该物理端口的MAC地址学习表中能够匹配到,即选择该物理端口发送,如果所有物理端口都没有匹配到,则从所有物理端口分别将所述待发送报文发送出去。
在本发明实施例的一种具体实施方式中,在FPGA按照设定规则发送出去步骤之前,还包括:判断出FPGA各物理端口的状态,来选择是否发送或者丢弃报文。
本发明实施例中的基于FPGA实现RSTP环网协议的装置,能够被用于实现将CPU的原生网卡连接到FPGA扩展出多网口,从而实现RSTP环网协议,具体包括以下过程:
将网卡驱动单元和RSTP进程单元内置与CPU中;
设FPGA具有两个物理端口,分别为物理端口A和物理端口B,并将这两个物理端口等效为同一个逻辑网卡,即两个物理端口使用同一个IP地址和MAC地址,在实际使用时,当FPGA接收到网络报文后,在其头部添加TAG字段来区分不同端口接收到的网络报文,当CPU发送网络报文时,通过在网络报文的头部添加TAG字段来指定FPGA的发送端口;进一步地,对于普通网络报文,端口A和端口B使用同一个物理端口掩码,网卡驱动单元不区分具体的端口,网络报文交给FPGA转发时,由FPGA根据端口MAC地址学习表匹配结果和端口状态选择具体的发送端口。对于RSTP协议的BPDU报文,端口A和端口B使用不同的物理端口掩码加以区分,网卡驱动单元识别报文的目的MAC地址为0x0180c2000000判断为BPDU报文,在报文的源MAC地址后面添加4个字节的RSTP报文类型字段,前两个字节为报文类型标识符,定义为0x80fd,最后一个字节为物理端口掩码,如端口A为0x01。
如图4所示,本发明实施例中的装置RSTP模式下接收网络报文的流程具体为:
(1)FPGA的物理端口(比如端口A)接收到网络报文后,在网络报文的目的MAC之前添加TAG字段,学习所述网络报文的源MAC地址,并更新该端口的MAC地址列表;
(2)FPGA根据所述网络报文的目的MAC地址判断与本地网卡MAC地址是否匹配,如果匹配则填充TAG字段(0xAA010000)转给网卡驱动单元接收;如果不匹配则说明所述网络报文不需要本节点(即CPU与FPGA形成的设备)接收,判断FPGA的另一端口(端口B)是否在转发状态,若在转发状态则将报文交由物理端口B转发出去,否则将所述网络报文直接丢弃处理;
(3)网卡驱动单元(即网卡驱动程序)接收到FPGA传递过来的网络报文,判断所述网络报文目的MAC地址是否为0x0180c2000000来识别BPDU报文,对于BPDU报文,则网卡驱动单元在源MAC地址后面添加4个字节的RSTP报文类型字段,内容为0x80fd0001(对应端口A接收的BPDU报文),并发送至RSTP进程单元;对于普通报文,则网卡驱动单元直接取出TAG字段后,转交网络协议栈处理;
(4)RSTP进程单元通过0x80fd类型标识获取BPDU报文,基于BPDU报文解析出RSTP链路的状态信息,并基于所述状态信息设定FPGA网络端口的工作状态(转发、学习或者阻塞),具体地:启动RSTP进程单元,注册类型标识为0x80fd的报文处理函数,解析BPDU报文获取当前RSTP环网的各节点(即CPU与FPGA形成的设备)信息,在RSTP环网中需要选定两个节点之间的链路为阻塞状态,以实现逻辑上的解环避免形成网络风暴。由RSTP进程单元设定本节点参与环网的网络端口工作状态(包括转发、学习、阻塞),在网络节点之间互通BPDU报文,实现RSTP环网在逻辑上进行解环。
如图5所示,本发明实施例中的装置RSTP模式下发送网络报文的流程具体为:
(1)RSTP进程单元将待发送报文发送至网卡驱动单元,所述网卡驱动单元判断所述待发送报文目的MAC地址是否为0x0180c2000000来识别是否为BPDU报文;
(2)对于BPDU报文,由于RSTP进程单元已在报文的源MAC地址后面填充了4字节的RSTP报文类型字段,内容为0x80fd0001(对应端口A发送的BPDU报文),网卡驱动单元将此字段去除,并在报文头部添加给FPGA的TAG字段,内容为0xAA010001,指定FPGA从端口A发送。
(3)对于普通网络报文,网卡驱动单元在报文头部添加TAG字段(0xAA010000),FPGA识别报文的目的MAC地址去查找其各个端口学习到的MAC地址学习表,如果在端口A收到过源MAC地址为此MAC地址的报文,则在端口A的MAC地址学习表中能够匹配到,即选择端口A发送,如果两个端口都没有匹配到,选择从两个端口都发送,其中,FPGA是否将所述待发送报文发送出去,还需要根据RSTP进程单元设定的本端口状态来选择是否发送或者丢弃报文。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (11)

1.一种基于FPGA实现RSTP环网协议的方法,其特征在于,包括:
接收由FPGA发送的第一报文,所述第一报文的报文头包括顺次设置的TAG字段、目的MAC地址和源MAC地址,所述TAG字段包括:标识符、逻辑网口编号和物理端口掩码;所述TAG字段用于区分FPGA的不同物理端口;
当基于所述第一报文中的目的MAC地址判断出报文内容为网桥协议数据报文时,则基于所述第一报文形成第二报文,所述第二报文的报文头包括顺次设置的目的MAC地址、源MAC地址和RSTP类型字段;
利用报文处理函数解析所述第二报文,并基于解析结果中的RSTP链路状态,发送信号至FPGA设定FPGA各物理端口的工作状态,实现RSTP环网协议。
2.根据权利要求1所述的一种基于FPGA实现RSTP环网协议的方法,其特征在于,所述RSTP类型字段包括:RSTP类型标识和物理端口掩码。
3.根据权利要求1所述的一种基于FPGA实现RSTP环网协议的方法,其特征在于,基于FPGA实现RSTP环网协议的方法还包括:
当基于所述第一报文中的目的MAC地址判断出报文内容为普通报文时,则直接去除所述第一报文中的TAG字段,然后转交网络协议栈处理;其中,所述TAG字段包括:标识符和逻辑网口编号。
4.根据权利要求1-3中任一项所述的一种基于FPGA实现RSTP环网协议的方法,其特征在于,所述第一报文通过以下步骤获得:
FPGA从物理端口接收网络报文时,首先判断接收到的网络报文中的目的MAC地址是否匹配本地网卡的MAC地址,如果匹配则在所述接收到的网络报文的目的MAC地址前填充TAG字段,形成第一报文。
5.一种基于FPGA实现RSTP环网协议的方法,其特征在于,包括:
当判断出待发送报文内容为网桥协议数据报文后,在所述待发送报文的头部添加TAG字段,并删除其尾部的RSTP类型字段,所述TAG字段用于区分FPGA的不同物理端口;所述TAG字段包括:标识符、逻辑网口编号和物理端口掩码;所述报文的头部包括顺次设置的TAG字段、目的MAC地址和源MAC地址;
将所述待发送报文发送至FPGA,使得FPGA按照TAG字段从指定的端口将所述待发送报文发送出去。
6.根据权利要求5所述的一种基于FPGA实现RSTP环网协议的方法,其特征在于,所述方法还包括:
当判断出待发送报文的类型为普通报文后,则在所述待发送报文的头部添加TAG字段;将所述待发送报文发送至FPGA,供FPGA识别所述待发送报文的目的MAC地址去查找各物理端口的MAC地址列表;
若在某物理端口收到过源MAC地址为该目的MAC地址的报文,则在该物理端口的MAC地址学习表中能够匹配到,即选择该物理端口发送,如果所有物理端口都没有匹配到,则从所有物理端口分别将所述待发送报文发送出去。
7.根据权利要求5或6所述的一种基于FPGA实现RSTP环网协议的方法,其特征在于:在将所述待发送报文发送出去步骤之前,还包括:
根据各物理端口的状态,选择是否发送或者丢弃报文,所述物理端口状态包括转发、学习或者丢弃状态。
8.一种基于FPGA实现RSTP环网协议的装置,其特征在于:包括FPGA、网卡驱动单元和RSTP进程单元;
所述FPGA和网卡驱动单元之间传递第一报文,所述第一报文的报文头包括顺次设置的TAG字段、目的MAC地址和源MAC地址,所述TAG字段用于区分FPGA的不同端口;
当所述网卡驱动单元基于第一报文中的目的MAC地址判定所述第一报文为网桥协议数据报文时,则基于所述第一报文形成第二报文,所述第二报文的报文头包括顺次设置的目的MAC地址、源MAC地址和RSTP类型字段;
所述RSTP进程单元利用内置的报文处理函数解析所述第二报文,基于解析结果中RSTP链路状态,发送信号至FPGA设定FPGA各端口的工作状态,实现RSTP环网协议。
9.根据权利要求8所述的一种基于FPGA实现RSTP环网协议的装置,其特征在于:所述TAG字段包括:标识符、逻辑网口编号和物理端口掩码;所述RSTP类型字段包括:RSTP类型标识和物理端口掩码。
10.根据权利要求8所述的一种基于FPGA实现RSTP环网协议的装置,其特征在于,当RSTP进程单元将待发送报文发送至所述网卡驱动单元后,若所述述网卡驱动单元判断出待发送报文为网桥协议数据报文,则在所述待发送报文的头部添加TAG字段,并删除其尾部的RSTP类型字段,所述TAG字段用于区分FPGA的不同端口,将所述待发送报文发送至FPGA,使得FPGA按照TAG字段从指定的物理端口将所述待发送报文发送出去。
11.根据权利要求8所述的一种基于FPGA实现RSTP环网协议的装置,其特征在于,当RSTP进程单元将待发送报文发送至所述网卡驱动单元后,若所述述网卡驱动单元判断出待发送报文为普通报文,则在所述待发送报文的头部添加TAG字段,所述TAG字段用于区分FPGA的不同物理端口;
将所述待发送报文发送至FPGA,供FPGA识别所述待发送报文的目的MAC地址去查找各物理端口的MAC地址列表;
若在某物理端口收到过源MAC地址为该目的MAC地址的报文,则在该物理端口的MAC地址列表中能够匹配到,即选择该物理端口发送,如果所有物理端口都没有匹配到,则从所有物理端口分别将所述待发送报文发送出去。
CN201910892543.1A 2019-09-20 2019-09-20 基于fpga实现rstp环网协议的方法和装置 Active CN112543142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910892543.1A CN112543142B (zh) 2019-09-20 2019-09-20 基于fpga实现rstp环网协议的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910892543.1A CN112543142B (zh) 2019-09-20 2019-09-20 基于fpga实现rstp环网协议的方法和装置

Publications (2)

Publication Number Publication Date
CN112543142A CN112543142A (zh) 2021-03-23
CN112543142B true CN112543142B (zh) 2023-05-12

Family

ID=75012321

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910892543.1A Active CN112543142B (zh) 2019-09-20 2019-09-20 基于fpga实现rstp环网协议的方法和装置

Country Status (1)

Country Link
CN (1) CN112543142B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114157384B (zh) * 2021-12-27 2023-05-23 中国电子科技集团公司第三十四研究所 一种rstp协议应用中基于sdh光信号的链路判断方法

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1949750A (zh) * 2006-11-24 2007-04-18 杭州华为三康技术有限公司 生成树协议的报文发送和接收方法、处理方法及设备
EP1876765A2 (en) * 2006-07-04 2008-01-09 Huawei Technologies Co., Ltd. Method for ethernet data frame learning and forwarding, ethernet network and bridge
WO2009088856A1 (en) * 2007-12-31 2009-07-16 Nortel Networks Limited Ip forwarding across a link state protocol controlled ethernet network
CN201919016U (zh) * 2010-11-30 2011-08-03 潍坊东升电子股份有限公司 一种epon系统中实现快速生成树协议的装置
CN102821050A (zh) * 2012-08-15 2012-12-12 南京南瑞继保电气有限公司 一种快速生成树协议应用于单环网拓扑的处理方法
CN103733572A (zh) * 2011-06-30 2014-04-16 施耐德电器工业公司 Rstp 网络的双环交换机
CN103916318A (zh) * 2013-01-04 2014-07-09 南京南瑞继保电气有限公司 一种单环网实现方法
CN104219115A (zh) * 2014-09-18 2014-12-17 北京博维亚讯技术有限公司 一种使以太网环协议与生成树协议能够异构混合组网的方法和系统
CN104780138A (zh) * 2014-01-09 2015-07-15 北京东土科技股份有限公司 私有冗余协议网络中stp/rstp报文的透传方法及装置
CN107547412A (zh) * 2017-05-24 2018-01-05 新华三技术有限公司 一种stp计算方法和装置
CN107689875A (zh) * 2016-08-03 2018-02-13 四零四科技股份有限公司 整合冗余环状网络及快速生成树协议的系统及其方法
WO2018118062A1 (en) * 2016-12-22 2018-06-28 Ale Usa Inc. Method and system for preventing propagation of stale topological information
CN110048986A (zh) * 2018-01-15 2019-07-23 中兴通讯股份有限公司 一种保证环网协议运行安全的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8305938B2 (en) * 2007-12-31 2012-11-06 Ciena Corporation Interworking an ethernet ring network with a spanning tree controlled ethernet network
US10333736B2 (en) * 2016-07-12 2019-06-25 Eaton Intelligent Power Limited Method and apparatus for re-establishing a ring topology following a loss of power

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1876765A2 (en) * 2006-07-04 2008-01-09 Huawei Technologies Co., Ltd. Method for ethernet data frame learning and forwarding, ethernet network and bridge
CN1949750A (zh) * 2006-11-24 2007-04-18 杭州华为三康技术有限公司 生成树协议的报文发送和接收方法、处理方法及设备
WO2009088856A1 (en) * 2007-12-31 2009-07-16 Nortel Networks Limited Ip forwarding across a link state protocol controlled ethernet network
CN201919016U (zh) * 2010-11-30 2011-08-03 潍坊东升电子股份有限公司 一种epon系统中实现快速生成树协议的装置
CN103733572A (zh) * 2011-06-30 2014-04-16 施耐德电器工业公司 Rstp 网络的双环交换机
CN102821050A (zh) * 2012-08-15 2012-12-12 南京南瑞继保电气有限公司 一种快速生成树协议应用于单环网拓扑的处理方法
CN103916318A (zh) * 2013-01-04 2014-07-09 南京南瑞继保电气有限公司 一种单环网实现方法
CN104780138A (zh) * 2014-01-09 2015-07-15 北京东土科技股份有限公司 私有冗余协议网络中stp/rstp报文的透传方法及装置
CN104219115A (zh) * 2014-09-18 2014-12-17 北京博维亚讯技术有限公司 一种使以太网环协议与生成树协议能够异构混合组网的方法和系统
CN107689875A (zh) * 2016-08-03 2018-02-13 四零四科技股份有限公司 整合冗余环状网络及快速生成树协议的系统及其方法
WO2018118062A1 (en) * 2016-12-22 2018-06-28 Ale Usa Inc. Method and system for preventing propagation of stale topological information
CN107547412A (zh) * 2017-05-24 2018-01-05 新华三技术有限公司 一种stp计算方法和装置
CN110048986A (zh) * 2018-01-15 2019-07-23 中兴通讯股份有限公司 一种保证环网协议运行安全的方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
丁娟 ; .私网STP在公网的透传.科学技术与工程.2007,(07),全文. *
赵璧 ; 王沁 ; 张晓彤 ; .HFC网络支持生成树协议的透明网桥研究与实现.计算机工程.2007,(23),全文. *

Also Published As

Publication number Publication date
CN112543142A (zh) 2021-03-23

Similar Documents

Publication Publication Date Title
CN101573913B (zh) 用于多播路由选择的方法和设备
JP5345942B2 (ja) Pbtネットワークの中間ノードにおけるイーサネットoam
US6538997B1 (en) Layer-2 trace method and node
US7961737B2 (en) Ethernet/TMPLS hybrid network operation administration and maintenance frame creation method
CN102957616B (zh) 在asic中转发trill网络报文的方法及系统
US20140211808A1 (en) Switch with dual-function management port
JP2010232818A (ja) ネットワークシステム、コアスイッチ、エッジスイッチ、データ中継方法
CN113347258B (zh) 云流量下的数据采集监控分析的方法及系统
CN113472718A (zh) 一种业务处理方法、装置、设备及存储介质
CN112543142B (zh) 基于fpga实现rstp环网协议的方法和装置
CN106209554B (zh) 跨虚拟可扩展局域网的报文转发方法和设备
CN105262686B (zh) 一种网络连通性验证方法和装置
JP2017229027A (ja) スイッチ装置および中継システム
CN102263700A (zh) 一种报文收发方法、装置和系统
CN109412851B (zh) 链路层路径检测方法、装置及系统
WO2021254454A1 (zh) Bier oam检测的方法、设备以及系统
US11962673B2 (en) Packet tunneling and decapsulation with split-horizon attributes
CN115190087A (zh) 基于二层中间设备的数据传输方法、装置、设备和介质
WO2021164245A1 (zh) 负载分担的方法、第一网络设备
US9485107B2 (en) System and method for distributed internet group management protocol processing
CN104967564A (zh) 从vlan至trill网络的报文转发方法和设备
CN107005476A (zh) 用于管理交换网络中的数据帧的方法和第一设备
CN104836735B (zh) 跨bvlan的数据报文转发方法和装置
US20220393978A1 (en) Packet processing method, forwarding device, and packet processing system
CN116016030A (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
GR01 Patent grant
GR01 Patent grant