CN112543142B - 基于fpga实现rstp环网协议的方法和装置 - Google Patents
基于fpga实现rstp环网协议的方法和装置 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/18—Loop-free operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
Abstract
本发明公开了一种基于FPGA实现RSTP环网协议的方法和装置,包括接收由FPGA发送的第一报文,所述第一报文的报文头包括顺次设置的TAG字段、目的MAC地址和源MAC地址,所述TAG字段用于区分FPGA的不同物理端口;当基于所述第一报文中的目的MAC地址判断出报文内容为网桥协议数据报文时,基于所述第一报文形成第二报文,所述第二报文的报文头包括顺次设置的目的MAC地址、源MAC地址和RSTP类型字段;利用报文处理函数解析所述第二报文,并基于解析结果中的RSTP链路状态,发送信号至FPGA设定FPGA各物理端口的工作状态,实现RSTP环网协议。本发明可根据实际运行模式灵活配置物理端口,且硬件构成简单,以较少的成本实现电力系统智能设备支持RSTP环网通讯协议。
Description
技术领域
本发明属于电力系统智能设备领域,具体涉及一种基于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地址列表中能够匹配到,即选择该物理端口发送,如果所有物理端口都没有匹配到,则从所有物理端口分别将所述待发送报文发送出去。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114157384B (zh) * | 2021-12-27 | 2023-05-23 | 中国电子科技集团公司第三十四研究所 | 一种rstp协议应用中基于sdh光信号的链路判断方法 |
Citations (13)
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)
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 |
-
2019
- 2019-09-20 CN CN201910892543.1A patent/CN112543142B/zh active Active
Patent Citations (13)
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)
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 |