CN104283795A - 一种组播表项刷新的方法和设备 - Google Patents
一种组播表项刷新的方法和设备 Download PDFInfo
- Publication number
- CN104283795A CN104283795A CN201410535309.0A CN201410535309A CN104283795A CN 104283795 A CN104283795 A CN 104283795A CN 201410535309 A CN201410535309 A CN 201410535309A CN 104283795 A CN104283795 A CN 104283795A
- Authority
- CN
- China
- Prior art keywords
- list item
- updating type
- list
- key
- port
- 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.)
- Granted
Links
Abstract
本发明公开了一种组播表项刷新的方法和设备,该方法包括:网络设备确定当前得到的表项对应的KEY、端口列表、更新类型;当硬件转发芯片对应的下刷通道发生阻塞时,网络设备判断抵消哈希表中是否存在所述表项对应的KEY;如果存在,则网络设备确定合并后的端口列表以及合并后的更新类型,并利用合并后的端口列表替换所述KEY在抵消哈希表中对应的端口列表,并利用合并后的更新类型替换所述KEY在抵消哈希表中对应的更新类型;当硬件转发芯片对应的下刷通道未发生阻塞时,所述网络设备将所述抵消哈希表中记录的KEY、更新类型、端口列表下发给所述硬件转发芯片。本发明实施例中,可以减少下发给硬件转发芯片的表项数量,提高流量的收敛速度。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种组播表项刷新的方法和设备。
背景技术
目前,大型数据中心开始利用FCoE(Fiber Channel over Ethernet,以太网光纤通道)等新技术将存储传输和IP传输融合到以太网连接上,而标准的STP(Spanning Tree Protocol,生成树协议)将不再适合融合网络或者超大型数据中心的扩展。随着FCoE采用率的提高,TRILL(Transparent Interconnection ofLots of Links,多链接透明互联)可以代替二层网络上普遍使用的STP。
在TRILL网络中,网络设备需要计算多棵以不同RB(Router Bridge,路由桥)为根的组播树,不同的组播树使用了不同的拓扑结构,每棵组播树需要计算多种表项,每种表项中均包含KEY(关键字)和端口列表。当接收到对应于KEY的报文时,将通过该KEY对应的端口列表中的端口转发报文。
随着网络规模的不断扩大,网络设备(即RB)上维护的表项数量也越来越多,从而导致需要下发到硬件转发芯片上的表项数量也越来越多。
发明内容
本发明实施例提供一种组播表项刷新的方法,所述方法包括以下步骤:
网络设备确定当前得到的表项对应的关键字KEY、端口列表、更新类型;
当硬件转发芯片对应的下刷通道发生阻塞时,所述网络设备判断抵消哈希表中是否存在所述表项对应的KEY;
如果不存在,则所述网络设备在所述抵消哈希表中记录所述表项对应的所述KEY、所述端口列表和所述更新类型之间的对应关系;如果存在,则所述网络设备利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型,并利用合并后的端口列表替换所述KEY在抵消哈希表中对应的端口列表,并利用合并后的更新类型替换所述KEY在抵消哈希表中对应的更新类型;
当硬件转发芯片对应的下刷通道未发生阻塞时,所述网络设备将所述抵消哈希表中记录的KEY、更新类型、端口列表下发给所述硬件转发芯片。
所述网络设备利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型的过程,具体包括:
当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为更新表项时,所述网络设备确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为更新表项时,所述网络设备确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为更新表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为删除表项时,所述网络设备确定当前不存在合并后的端口列表,并删除所述KEY在抵消哈希表中对应的记录;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为删除表项时,所述网络设备确定合并后的端口列表为空,并确定合并后的更新类型为删除表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为删除表项,所述表项对应的更新类型为增加表项时,所述网络设备确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项。
所述网络设备确定当前得到的表项对应的KEY、端口列表、更新类型之后,所述方法进一步包括:
当所述硬件转发芯片对应的下刷通道未发生阻塞时,所述网络设备判断所述抵消哈希表中当前是否存在未下发给所述硬件转发芯片的表项;
如果存在,则所述网络设备在所述抵消哈希表中合并当前得到的表项对应的KEY、端口列表、更新类型;如果不存在,则所述网络设备将当前得到的表项对应的KEY、端口列表、更新类型下发给所述硬件转发芯片。
所述KEY具体为:设备标识;或者,设备标识和虚拟局域网VLAN标识;或者,设备标识、VLAN标识和介质访问控制MAC地址。所述方法应用于多链接透明互联TRILL网络,所述网络设备具体包括路由桥RB。
本发明实施例提供一种网络设备,所述网络设备具体包括:
确定模块,用于确定当前得到表项的关键字KEY、端口列表、更新类型;
判断模块,用于当硬件转发芯片对应的下刷通道发生阻塞时,判断抵消哈希表中是否存在所述表项对应的KEY;
处理模块,用于当不存在所述表项对应的KEY时,在所述抵消哈希表中记录所述表项对应的KEY、端口列表和更新类型之间的对应关系;当存在所述表项对应的KEY时,利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型,并利用合并后的端口列表替换所述KEY在抵消哈希表中对应的端口列表,利用合并后的更新类型替换所述KEY在抵消哈希表中对应的更新类型;
发送模块,用于当硬件转发芯片对应的下刷通道未发生阻塞时,将所述抵消哈希表中记录的KEY、更新类型、端口列表下发给所述硬件转发芯片。
所述处理模块,具体用于在利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型时,当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为更新表项时,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为更新表项时,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为更新表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为删除表项时,确定当前不存在合并后的端口列表,并删除所述KEY在抵消哈希表中对应的记录;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为删除表项时,确定合并后的端口列表为空,并确定合并后的更新类型为删除表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为删除表项,所述表项对应的更新类型为增加表项,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项。
所述判断模块,还用于在确定当前得到的表项对应的KEY、端口列表、更新类型之后,当所述硬件转发芯片对应的下刷通道未发生阻塞时,判断所述抵消哈希表中当前是否存在未下发给所述硬件转发芯片的表项;
所述处理模块,还用于当存在未下发给所述硬件转发芯片的表项时,在所述抵消哈希表中合并当前得到的表项对应的KEY、端口列表、更新类型;
所述发送模块,还用于当不存在未下发给硬件转发芯片的表项时,将当前得到的表项对应的KEY、端口列表、更新类型下发给所述硬件转发芯片。
所述KEY具体为:设备标识;或者,设备标识和虚拟局域网VLAN标识;或者,设备标识、VLAN标识和介质访问控制MAC地址。所述网络设备应用于多链接透明互联TRILL网络,所述网络设备具体包括路由桥RB。
基于上述技术方案,本发明实施例中,通过在抵消哈希表中记录表项对应的KEY、端口列表和更新类型之间的对应关系,针对具有相同KEY的多个表项,可以在抵消哈希表中只维护对应该KEY的一个表项,从而使得网络设备只需要向硬件转发芯片下发一个表项,减少下发给硬件转发芯片的表项数量,对于拓扑频繁变化导致路由多次计算,并生成多个表项的情况,可以大大减少最终下发给硬件转发芯片的表项的数量,继而提高流量的收敛速度。
附图说明
图1是本发明实施例提供的一种组播表项刷新的方法流程示意图;
图2是本发明实施例提供的一种网络设备的结构示意图。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种组播表项刷新的方法,应用于包括多个网络设备的TRILL网络中,各网络设备具体为TRILL网络中的RB。如图1所示,该组播表项刷新的方法具体包括以下步骤:
步骤101,网络设备确定当前得到的表项对应的KEY、端口列表、更新类型。其中,KEY具体可以为:设备标识(如RB的nickname);或者,设备标识和VLAN(Virtual Local Area Network,虚拟局域网)标识;或者,设备标识、VLAN标识和MAC(Media Access Control,介质访问控制)地址。
本发明实施例中,当前得到的表项具体包括但不限于组播表项。
其中,在端口列表中记录了端口的端口值,且端口列表中记录的各端口的端口值(如端口1、端口2)用于表示端口的索引值。
在TRILL网络中,网络设备需要计算多棵以不同RB为根的组播树,不同的组播树使用了不同的拓扑结构,每棵组播树需要计算多种表项,每种表项中均包含KEY和端口列表。例如,针对每棵组播树,可以计算KEY为RB标识的表项、计算KEY为RB标识和VLAN标识的表项、计算KEY为RB标识、VLAN标识和MAC地址的表项等。当拓扑发生变化导致需要重新计算路由时,网络设备会重新生成表项。对于表项生成过程,在此不再赘述。
步骤102,网络设备判断硬件转发芯片对应的下刷通道是否发生阻塞。当硬件转发芯片对应的下刷通道发生阻塞时,则执行步骤103;当硬件转发芯片对应的下刷通道未发生阻塞时,则执行步骤107。
具体的,由于硬件转发芯片对应的下刷通道只有一个,当拓扑频繁变化,导致触发大量路由计算时,会产生大量的表项需要通过下刷通道下发给硬件转发芯片,因此会导致硬件转发芯片对应的下刷通道发生阻塞。基于此,本发明实施例中,在确定当前得到的表项对应的KEY、端口列表、更新类型之后,网络设备判断硬件转发芯片对应的下刷通道是否发生阻塞,如果硬件转发芯片对应的下刷通道当前未发生阻塞时,则网络设备执行步骤107。如果硬件转发芯片对应的下刷通道当前发生阻塞时,则网络设备执行步骤103。
步骤103,网络设备判断抵消哈希表中是否存在当前得到的表项对应的KEY;如果不存在,则执行步骤104;如果存在,则执行步骤105。
本发明实施例中,网络设备上需要维护抵消哈希表,该抵消哈希表用于记录KEY、端口列表和更新类型之间的对应关系;其中,该更新类型可以为增加表项(ADD)、更新表项(Update)、删除表项(Update)。如表1所示,为一种抵消哈希表的示例。假设当前得到的表项对应的KEY为(0001,2),端口列表为端口1和端口2,更新类型为增加表项(ADD)时,KEY中的0001表示组播树根的RB标识,KEY中的2表示VLAN标识,则说明抵消哈希表中不存在当前得到的表项对应的KEY(0001,2),执行步骤104。
表1
KEY | 端口列表 | 更新类型 |
步骤104,网络设备在抵消哈希表中记录当前得到的表项对应的KEY、端口列表和更新类型之间的对应关系。例如,网络设备在抵消哈希表中记录当前得到的表项对应的KEY(0001,2)、端口列表(端口1和端口2)和更新类型(增加表项)之间的对应关系,如表2所示的抵消哈希表的示例。
表2
KEY | 端口列表 | 更新类型 |
(0001,2) | 端口1和端口2 | 增加表项 |
在本步骤104之后,结束对当前得到的表项的处理,并在网络设备需要向硬件转发芯片下发表项时,执行步骤106。
步骤105,网络设备利用当前得到的表项对应的KEY在抵消哈希表中对应的更新类型,当前得到的表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型,并利用合并后的端口列表替换当前得到的表项对应的KEY在抵消哈希表中对应的端口列表,并利用合并后的更新类型替换当前得到的表项对应的KEY在抵消哈希表中对应的更新类型。
在本步骤105之后,结束对当前得到的表项的处理,并在网络设备需要向硬件转发芯片下发表项时,执行步骤106。
本发明实施例中,网络设备利用当前得到的表项对应的KEY在抵消哈希表中对应的更新类型,当前得到的表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型,具体包括但不限于:当当前得到的表项对应的KEY在抵消哈希表中对应的更新类型为增加表项,当前得到的表项对应的更新类型为更新表项时,网络设备确定合并后的端口列表为当前得到的表项对应的端口列表,并确定合并后的更新类型为增加表项;或者,当当前得到的表项对应的KEY在抵消哈希表中对应的更新类型为更新表项,当前得到的表项对应的更新类型为更新表项时,网络设备确定合并后的端口列表为当前得到的表项对应的端口列表,并确定合并后的更新类型为更新表项;或者,当当前得到的表项对应的KEY在抵消哈希表中对应的更新类型为增加表项,当前得到的表项对应的更新类型为删除表项时,网络设备确定当前不存在合并后的端口列表,并删除当前得到的表项对应的KEY在抵消哈希表中对应的记录;或者,当当前得到的表项对应的KEY在抵消哈希表中对应的更新类型为更新表项,当前得到的表项对应的更新类型为删除表项时,网络设备确定合并后的端口列表为空,并确定合并后的更新类型为删除表项;或者,当当前得到的表项对应的KEY在抵消哈希表中对应的更新类型为删除表项,当前得到的表项对应的更新类型为增加表项时,网络设备确定合并后的端口列表为当前得到的表项对应的端口列表,确定合并后的更新类型为增加表项。
例如,在表2所示的抵消哈希表的基础上,假设当前得到的表项对应的KEY为(0001,2),端口列表为端口1、端口3和端口5,更新类型为更新表项,由于表2所示的抵消哈希表中存在当前得到的表项对应的KEY(0001,2),因此执行步骤105。本步骤105中,KEY(0001,2)在抵消哈希表中对应的更新类型为增加表项,当前得到的表项对应的更新类型为更新表项,因此网络设备确定合并后的端口列表为当前得到的表项对应的端口列表,即端口列表为端口1、端口3和端口5,并确定合并后的更新类型为增加表项,并利用合并后的端口列表替换KEY(0001,2)在抵消哈希表中对应的端口列表,并利用合并后的更新类型(合并后的更新类型为增加表项)替换KEY(0001,2)在抵消哈希表中对应的更新类型,如表3所示。
表3
KEY | 端口列表 | 更新类型 |
(0001,2) | 端口1、端口3和端口5 | 增加表项 |
在表4所示的抵消哈希表的基础上,假设当前得到的表项对应的KEY为(0001,2),端口列表为端口1、端口2和端口3,更新类型为更新表项,由于表4所示的抵消哈希表中存在当前得到的表项对应的KEY(0001,2),因此执行步骤105。本步骤105中,KEY(0001,2)在抵消哈希表中对应的更新类型为更新表项,当前得到的表项对应的更新类型为更新表项,因此网络设备确定合并后的端口列表为当前得到的表项对应的端口列表,即端口列表为端口1、端口2和端口3,并确定合并后的更新类型为更新表项,并利用合并后的端口列表替换KEY(0001,2)在抵消哈希表中对应的端口列表,并利用合并后的更新类型(合并后的更新类型为更新表项)替换KEY(0001,2)在抵消哈希表中对应的更新类型,如表5所示。
表4
KEY | 端口列表 | 更新类型 |
(0001,2) | 端口1、端口3和端口5 | 更新表项 |
表5
KEY | 端口列表 | 更新类型 |
(0001,2) | 端口1、端口2和端口3 | 更新表项 |
在表5所示的抵消哈希表的基础上,假设当前得到的表项对应的KEY为(0001,2),端口列表为空,更新类型为删除表项(即删除所有端口),由于表5所示的抵消哈希表中存在当前得到的表项对应的KEY(0001,2),因此执行步骤105。本步骤105中,KEY(0001,2)在抵消哈希表中对应的更新类型为更新表项,当前得到的表项对应的更新类型为删除表项,因此网络设备确定合并后的端口列表为空,并确定合并后的更新类型为删除表项,并利用合并后的端口列表替换KEY(0001,2)在抵消哈希表中对应的端口列表,并利用合并后的更新类型(合并后的更新类型为删除表项)替换KEY(0001,2)在抵消哈希表中对应的更新类型,如表6所示。
表6
KEY | 端口列表 | 更新类型 |
(0001,2) | 空 | 删除表项 |
在表6所示的抵消哈希表的基础上,假设当前得到的表项对应的KEY为(0001,2),端口列表为端口1和端口5,更新类型为增加表项,由于表6所示的抵消哈希表中存在当前得到的表项对应的KEY(0001,2),因此,执行步骤105。本步骤105中,KEY(0001,2)在抵消哈希表中对应的更新类型为删除表项,当前得到的表项对应的更新类型为增加表项,因此,网络设备确定合并后的端口列表为当前得到的表项对应的端口列表,即合并后的端口列表为端口1和端口5,并确定合并后的更新类型为增加表项,并利用合并后的端口列表替换KEY(0001,2)在抵消哈希表中对应的端口列表,并利用合并后的更新类型(合并后的更新类型为增加表项)替换KEY(0001,2)在抵消哈希表中对应的更新类型,如表7所示。
表7
KEY | 端口列表 | 更新类型 |
(0001,2) | 端口1和端口5 | 增加表项 |
步骤106,当硬件转发芯片对应的下刷通道未发生阻塞时,网络设备将抵消哈希表中记录的KEY、更新类型、以及端口列表下发给硬件转发芯片。
在本发明实施例中,当硬件转发芯片对应的下刷通道发生阻塞时,则网络设备执行上述步骤103-步骤105,此时不需要将抵消哈希表中记录的KEY、更新类型、以及端口列表下发给硬件转发芯片。当硬件转发芯片对应的下刷通道未发生阻塞时,则网络设备需要向硬件转发芯片下发表项,此时需要将抵消哈希表中记录的KEY、更新类型、以及端口列表下发给硬件转发芯片。
其中,硬件转发芯片对应的下刷通道发生阻塞是指:当前需要通过硬件转发芯片对应的下刷通道下发给硬件转发芯片的表项数量大于预设数值;硬件转发芯片对应的下刷通道未发生阻塞是指:当前需要通过硬件转发芯片对应的下刷通道下发给硬件转发芯片的表项数量不大于预设数值。
在表7所示的抵消哈希表的基础上,网络设备在向硬件转发芯片下发表项时,将抵消哈希表中记录的KEY(0001,2)以及端口列表(端口1和端口5)下发给硬件转发芯片,并指示更新类型为增加表项。
步骤107,网络设备判断抵消哈希表中当前是否存在未下发给硬件转发芯片的表项(即抵消哈希表是否为空)。如果存在未下发给硬件转发芯片的表项,则执行步骤108;如果不存在未下发给硬件转发芯片的表项,则执行步骤109。
步骤108,网络设备在抵消哈希表中合并当前得到的表项对应的KEY、端口列表、更新类型,即网络设备按照步骤103-步骤105的处理流程,在抵消哈希表中记录当前得到的表项对应的KEY、端口列表、更新类型。
在本步骤108之后,结束对当前得到的表项的处理,并在网络设备需要向硬件转发芯片下发表项时,执行步骤106。
步骤109,网络设备将当前得到的表项对应的KEY、端口列表、更新类型下发给硬件转发芯片,即网络设备不需要在抵消哈希表中合并当前得到的表项对应的KEY、端口列表、更新类型,而是直接将当前得到的表项对应的KEY、端口列表、更新类型下发给硬件转发芯片。
基于上述技术方案,本发明实施例中,通过在抵消哈希表中记录表项对应的KEY、端口列表和更新类型之间的对应关系,针对具有相同KEY的多个表项,可以在抵消哈希表中只维护对应该KEY的一个表项,从而使得网络设备只需要向硬件转发芯片下发一个表项,减少下发给硬件转发芯片的表项数量,对于拓扑频繁变化导致路由多次计算,并生成多个表项的情况,可以大大减少最终下发给硬件转发芯片的表项的数量,继而提高流量的收敛速度。
具体的,假设在硬件转发芯片对应的下刷通道发生阻塞时,网络设备生成如下表项:表项1,KEY为(0001,2),端口列表为端口1和端口2,更新类型为增加表项;表项2,KEY为(0001,2)、端口列表为端口1、端口3和端口5,更新类型为更新表项;表项3,KEY为(0001,2)、端口列表为端口1、端口2和端口3,更新类型为更新表项;表项4,KEY为(0001,2)、端口列表为空,更新类型为删除表项;表项5,KEY为(0001,2)、端口列表为端口1和端口5,更新类型为增加表项。则:在硬件转发芯片对应的下刷通道未发生阻塞后,现有技术中,网络设备需要依次将表项1、表项2、表项3、表项4和表项5下发给硬件转发芯片,下发给硬件转发芯片的表项数量为5个,由于有大量表项需要等待下发给硬件转发芯片,从而影响流量收敛时间。而本发明实施例中,网络设备只需要将表项5(对应于表6所示的抵消哈希表)下发给硬件转发芯片,下发给硬件转发芯片的表项数量为1个,由于没有大量表项需要等待下发给硬件转发芯片,因此提高流量的收敛速度。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种网络设备,如图2所示,所述网络设备具体包括:
确定模块11,用于确定当前得到表项对应的KEY、端口列表、更新类型;
判断模块12,用于当硬件转发芯片对应的下刷通道发生阻塞时,判断抵消哈希表中是否存在所述表项对应的KEY;
处理模块13,用于当不存在所述表项对应的KEY时,在所述抵消哈希表中记录所述表项对应的KEY、端口列表和更新类型之间的对应关系;当存在所述表项对应的KEY时,利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型,并利用合并后的端口列表替换所述KEY在抵消哈希表中对应的端口列表,利用合并后的更新类型替换所述KEY在抵消哈希表中对应的更新类型;
发送模块14,用于当硬件转发芯片对应的下刷通道未发生阻塞时,将所述抵消哈希表中记录的KEY、更新类型、端口列表下发给所述硬件转发芯片。
所述处理模块13,具体用于在利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型时,当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为更新表项时,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为更新表项时,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为更新表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为删除表项时,确定当前不存在合并后的端口列表,并删除所述KEY在抵消哈希表中对应的记录;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为删除表项时,确定合并后的端口列表为空,并确定合并后的更新类型为删除表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为删除表项,所述表项对应的更新类型为增加表项,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项。
所述判断模块12,还用于在确定当前得到的表项对应的KEY、端口列表、更新类型之后,当所述硬件转发芯片对应的下刷通道未发生阻塞时,判断所述抵消哈希表中当前是否存在未下发给所述硬件转发芯片的表项;
所述处理模块13,还用于当存在未下发给所述硬件转发芯片的表项时,在所述抵消哈希表中合并当前得到的表项对应的KEY、端口列表、更新类型;
所述发送模块14,还用于当不存在未下发给硬件转发芯片的表项时,将当前得到的表项对应的KEY、端口列表、更新类型下发给所述硬件转发芯片。
所述KEY具体为:设备标识;或者,设备标识和虚拟局域网VLAN标识;或者,设备标识、VLAN标识和介质访问控制MAC地址。进一步,所述网络设备应用于多链接透明互联TRILL网络,所述网络设备具体包括路由桥RB。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (10)
1.一种组播表项刷新的方法,其特征在于,所述方法包括以下步骤:
网络设备确定当前得到的表项对应的关键字KEY、端口列表、更新类型;
当硬件转发芯片对应的下刷通道发生阻塞时,所述网络设备判断抵消哈希表中是否存在所述表项对应的KEY;
如果不存在,则所述网络设备在所述抵消哈希表中记录所述表项对应的所述KEY、所述端口列表和所述更新类型之间的对应关系;如果存在,则所述网络设备利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型,并利用合并后的端口列表替换所述KEY在抵消哈希表中对应的端口列表,并利用合并后的更新类型替换所述KEY在抵消哈希表中对应的更新类型;
当硬件转发芯片对应的下刷通道未发生阻塞时,所述网络设备将所述抵消哈希表中记录的KEY、更新类型、端口列表下发给所述硬件转发芯片。
2.如权利要求1所述的方法,其特征在于,所述网络设备利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型的过程,具体包括:
当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为更新表项时,所述网络设备确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为更新表项时,所述网络设备确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为更新表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为删除表项时,所述网络设备确定当前不存在合并后的端口列表,并删除所述KEY在抵消哈希表中对应的记录;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为删除表项时,所述网络设备确定合并后的端口列表为空,并确定合并后的更新类型为删除表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为删除表项,所述表项对应的更新类型为增加表项时,所述网络设备确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项。
3.如权利要求1所述的方法,其特征在于,所述网络设备确定当前得到的表项对应的KEY、端口列表、更新类型之后,所述方法进一步包括:
当所述硬件转发芯片对应的下刷通道未发生阻塞时,所述网络设备判断所述抵消哈希表中当前是否存在未下发给所述硬件转发芯片的表项;
如果存在,则所述网络设备在所述抵消哈希表中合并当前得到的表项对应的KEY、端口列表、更新类型;如果不存在,则所述网络设备将当前得到的表项对应的KEY、端口列表、更新类型下发给所述硬件转发芯片。
4.如权利要求1-3任一项所述的方法,其特征在于,所述KEY具体为:
设备标识;或者,
设备标识和虚拟局域网VLAN标识;或者,
设备标识、VLAN标识和介质访问控制MAC地址。
5.如权利要求1-3任一项所述的方法,其特征在于,所述方法应用于多链接透明互联TRILL网络,所述网络设备具体包括路由桥RB。
6.一种网络设备,其特征在于,所述网络设备具体包括:
确定模块,用于确定当前得到表项的关键字KEY、端口列表、更新类型;
判断模块,用于当硬件转发芯片对应的下刷通道发生阻塞时,判断抵消哈希表中是否存在所述表项对应的KEY;
处理模块,用于当不存在所述表项对应的KEY时,在所述抵消哈希表中记录所述表项对应的KEY、端口列表和更新类型之间的对应关系;当存在所述表项对应的KEY时,利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型,并利用合并后的端口列表替换所述KEY在抵消哈希表中对应的端口列表,利用合并后的更新类型替换所述KEY在抵消哈希表中对应的更新类型;
发送模块,用于当硬件转发芯片对应的下刷通道未发生阻塞时,将所述抵消哈希表中记录的KEY、更新类型、端口列表下发给所述硬件转发芯片。
7.如权利要求6所述的网络设备,其特征在于,
所述处理模块,具体用于在利用所述KEY在抵消哈希表中对应的更新类型,所述表项对应的更新类型和端口列表确定合并后的端口列表以及合并后的更新类型时,当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为更新表项时,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为更新表项时,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为更新表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为增加表项,所述表项对应的更新类型为删除表项时,确定当前不存在合并后的端口列表,并删除所述KEY在抵消哈希表中对应的记录;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为更新表项,所述表项对应的更新类型为删除表项时,确定合并后的端口列表为空,并确定合并后的更新类型为删除表项;或者,
当所述KEY在所述抵消哈希表中对应的更新类型为删除表项,所述表项对应的更新类型为增加表项,确定合并后的端口列表为所述表项对应的端口列表,并确定合并后的更新类型为增加表项。
8.如权利要求6所述的网络设备,其特征在于,
所述判断模块,还用于在确定当前得到的表项对应的KEY、端口列表、更新类型之后,当所述硬件转发芯片对应的下刷通道未发生阻塞时,判断所述抵消哈希表中当前是否存在未下发给所述硬件转发芯片的表项;
所述处理模块,还用于当存在未下发给所述硬件转发芯片的表项时,在所述抵消哈希表中合并当前得到的表项对应的KEY、端口列表、更新类型;
所述发送模块,还用于当不存在未下发给硬件转发芯片的表项时,将当前得到的表项对应的KEY、端口列表、更新类型下发给所述硬件转发芯片。
9.如权利要求6-8任一所述的网络设备,其特征在于,所述KEY具体为:
设备标识;或者,
设备标识和虚拟局域网VLAN标识;或者,
设备标识、VLAN标识和介质访问控制MAC地址。
10.如权利要求6-8任一项所述的网络设备,其特征在于,所述网络设备应用于多链接透明互联TRILL网络,所述网络设备具体包括路由桥RB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410535309.0A CN104283795B (zh) | 2014-10-11 | 2014-10-11 | 一种组播表项刷新的方法和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410535309.0A CN104283795B (zh) | 2014-10-11 | 2014-10-11 | 一种组播表项刷新的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104283795A true CN104283795A (zh) | 2015-01-14 |
CN104283795B CN104283795B (zh) | 2018-04-10 |
Family
ID=52258292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410535309.0A Active CN104283795B (zh) | 2014-10-11 | 2014-10-11 | 一种组播表项刷新的方法和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104283795B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484203A (zh) * | 2022-09-14 | 2022-12-16 | 杭州云合智网技术有限公司 | 一种路由表项操作方法、装置、设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070140155A1 (en) * | 2005-09-06 | 2007-06-21 | Huawei Technologies Co., Ltd. | Method for implementing multicast based on switchover between active board and standby board in access device |
CN101009628A (zh) * | 2007-01-09 | 2007-08-01 | 杭州华为三康技术有限公司 | 一种交换网络拓扑变化时组播表项更新的方法及装置 |
CN101068178A (zh) * | 2007-06-08 | 2007-11-07 | 华为技术有限公司 | 使用、管理mac地址表的方法、系统、及搜索引擎 |
CN101442465A (zh) * | 2007-11-23 | 2009-05-27 | 中兴通讯股份有限公司 | 一种以太环网故障切换中的地址更新方法 |
CN101557397A (zh) * | 2009-05-13 | 2009-10-14 | 杭州华三通信技术有限公司 | 表项管理方法及设备 |
CN101567886A (zh) * | 2009-06-03 | 2009-10-28 | 杭州华三通信技术有限公司 | 表项安全管理方法及设备 |
CN102761493A (zh) * | 2012-07-26 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种多链接透明互联网络中组播路由表项更新方法和装置 |
-
2014
- 2014-10-11 CN CN201410535309.0A patent/CN104283795B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070140155A1 (en) * | 2005-09-06 | 2007-06-21 | Huawei Technologies Co., Ltd. | Method for implementing multicast based on switchover between active board and standby board in access device |
CN101009628A (zh) * | 2007-01-09 | 2007-08-01 | 杭州华为三康技术有限公司 | 一种交换网络拓扑变化时组播表项更新的方法及装置 |
CN101068178A (zh) * | 2007-06-08 | 2007-11-07 | 华为技术有限公司 | 使用、管理mac地址表的方法、系统、及搜索引擎 |
CN101442465A (zh) * | 2007-11-23 | 2009-05-27 | 中兴通讯股份有限公司 | 一种以太环网故障切换中的地址更新方法 |
CN101557397A (zh) * | 2009-05-13 | 2009-10-14 | 杭州华三通信技术有限公司 | 表项管理方法及设备 |
CN101567886A (zh) * | 2009-06-03 | 2009-10-28 | 杭州华三通信技术有限公司 | 表项安全管理方法及设备 |
CN102761493A (zh) * | 2012-07-26 | 2012-10-31 | 杭州华三通信技术有限公司 | 一种多链接透明互联网络中组播路由表项更新方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115484203A (zh) * | 2022-09-14 | 2022-12-16 | 杭州云合智网技术有限公司 | 一种路由表项操作方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104283795B (zh) | 2018-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106664261B (zh) | 一种配置流表项的方法、装置和系统 | |
CN104168209B (zh) | 多接入sdn网络报文转发方法和控制器 | |
CN104283791A (zh) | 一种sdn网络中的三层拓扑确定方法和设备 | |
CN110351286B (zh) | 一种软件定义网络中链路洪泛攻击检测响应机制 | |
CN104301251A (zh) | 一种QoS处理方法、系统及设备 | |
CN105450525B (zh) | 用于路由交换设备使用的方法和设备 | |
CN105704033B (zh) | 一种pon设备路由转发表管理的实现方法 | |
CN103001892B (zh) | 基于云计算的网络资源分配方法及系统 | |
CN103546380B (zh) | 一种基于策略路由的报文转发方法和装置 | |
CN107547391A (zh) | 一种报文传输方法和装置 | |
CN105429879A (zh) | 流表项查询方法、设备及系统 | |
CN108259218A (zh) | 一种ip地址分配方法和装置 | |
CN107276916A (zh) | 基于协议无感知转发技术的交换机流表管理方法 | |
CN103200071A (zh) | 一种mstp多实例计算方法和设备 | |
CN104660511A (zh) | 一种sdn网络中多播报文的传输方法和设备 | |
CN102255816B (zh) | 负载分担方法及装置 | |
CN108540386A (zh) | 一种防止业务流中断方法及装置 | |
CN102136957B (zh) | 一种标签交换路径监控的实现方法、装置和系统 | |
CN105745874A (zh) | 一种确定服务功能路径的方法及装置 | |
CN105264833B (zh) | 一种业务路径计算方法及装置 | |
CN104283795A (zh) | 一种组播表项刷新的方法和设备 | |
CN106302837B (zh) | 一种光网络单元的mac地址表管理方法及装置 | |
CN105187320A (zh) | 一种mpls负荷分担的处理方法及装置 | |
CN104468364B (zh) | 路由同步方法及装置 | |
CN101115017A (zh) | 一种删除mac地址的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |