CN102197627B - 组播流量收敛的改善 - Google Patents
组播流量收敛的改善 Download PDFInfo
- Publication number
- CN102197627B CN102197627B CN200980143097.9A CN200980143097A CN102197627B CN 102197627 B CN102197627 B CN 102197627B CN 200980143097 A CN200980143097 A CN 200980143097A CN 102197627 B CN102197627 B CN 102197627B
- Authority
- CN
- China
- Prior art keywords
- hardware
- multicast packet
- multicast
- network
- packet
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/423—Loop networks with centralised control, e.g. polling
-
- 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/16—Multipoint routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
在传输节点接收从源节点发送的组播数据包(310)。组播数据包包括源地址和组播组地址。对于组播数据包在传输节点检测硬件缓存缺失(320)。将组播数据包硬件洪泛到网络的端口(340)。洪泛包括基于虚拟局域网(VLAN)成员资格,将组播数据包的拷贝转送到传输节点的相邻节点。将组播数据包的缓存缺失拷贝发送到线外处理单元(350),在线外处理单元软件处理组播数据包的缓存缺失拷贝。处理包括经由硬件提取层建立用于组播数据包的硬件缓存条目(360)。不将缓存缺失拷贝转送到网络上。
Description
本申请是2008年8月29日提交的名为“组播流量收敛的改善”(ImprovedConvergenceofMulticastTraffic)的待审美国专利申请第12/201,799号的部份继续申请,并要求其优先权。
技术领域
本申请公开的实施例涉及计算机联网,尤其涉及网络中拓扑结构变化之后组播流量的收敛。
背景技术
组播是在互联网协议(IP)基础结构上用于点到多点通信的技术。组播利用网络基础结构,要求源仅向网络发出单个数据包,即使需要将其传送到多个目的地。通过使得网络节点复制数据包(仅当需要时)用于传送到多个接收器来完成所述利用。
通过源和接收器使用组播组地址(例如IP组播)来发送和接收内容。源将组播组地址用作它们的数据包中的目的地IP地址。接收器使用组播组地址以向与组播组地址相关联的组播流量进行“预订”。换言之,这些接收器使用组播组地址以向网络传达接收寻址到该组播组的流量的愿望。
互联网组管理协议(IGMP)是用于管理IP组播组成员资格的协议的实例。典型地,IP主机经由组播路由器发出广播到其他网络主机的IGMP询问。网络装置(例如第2层交换机)可以“监听”主机与路由器之间的对话,这是在现有技术中称为IGMP侦听的处理。当装置听到来自主机的组播组“加入”消息时,装置记录它听到消息的接口(例如端口)并将接口加入组中。类似地,当装置听到组播组“离开”消息或者响应计时器到期时,交换机将从组中移除该主机的交换机接口。通常将这些“加入”和/或“离开”消息称为“IGMP报告”。因此,IGMP侦听表基于IGMP报告将作为组播组成员的主机和/或接口的列表维护在硬件(例如缓存)中。
当使用组播的网络中有拓扑结构变化时,将IGMP侦听表清空并发出IGMP询问,因此网络中的装置可以再获知IGMP侦听成员资格。如果在拓扑结构变化期间网络中有数据包,那么因为IGMP侦听表的清空,这些数据包将在硬件中经历缓存缺失。经历缓存缺失的所有数据包被发送到装置CPU用于软件中的转送,有时候将软件中的转送称为“慢通道”转送,因为软件中的转送比硬件中的转送数据包显著更慢。
但是更麻烦的是如下的情况:在拓扑结构变化期间,在网络中有数千的数据包。在这种情况下,在CPU队列中有数千的数据包,消耗CPU资源,否则CPU资源可用于通过新的IGMP侦听表条目再规划硬件缓存。换言之,当网络中的组播数据包数量增加时,它增加了网络中组播流量的收敛时间(即,用于再规划硬件缓存以恢复组播流量中的缓存缺失的可接受比率的时间)。此外,上述情景假设了单个虚拟局域网(VLAN)。如果在网络中有大量(例如数千)的VLAN,则会将每个IGMP询问发送到每个VLAN,导致每个VLAN上的所有主机利用表示它们的IGMP成员资格的各自的IGMP报告作出响应。因此,CPU负担更多的慢通道转送,进一步加重了组播收敛问题。
发明内容
本申请公开的实施例有助于拓扑结构变化之后网络中组播流量的收敛。当网络节点接收组播数据包时,处理数据包。如果节点检测到针对数据包的缓存缺失,则将该数据包经由硬件洪泛到网络的端口上。此外,(导致了缓存缺失的)数据包的拷贝被发送到线外(out-of-line)处理单元。数据包的拷贝被处理,而不将拷贝从处理单元转送到网络上。对数据包的处理包括经由硬件提取层建立用于数据包的硬件缓存条目。
附图说明
下面的描述包括附图的讨论,附图通过本发明实施例的实施方式的实例给出说明。附图应当理解作为实例,而不是作为限制。如同本申请中使用的,对一个或多个“实施例”的参考应当理解为描述包括在本发明至少一个实施方式中的特定特征、结构或特点。因此,本申请中出现的措辞例如“在一个实施例中”或“在替代实施例中”描述本发明的不同实施例和实施方式,不一定都表示相同的实施例。但是,它们也不一定相互排斥。
图1是方框图,示出网络装置。
图2是方框图,示出根据不同实施例使用组播的网络。
图3是流程图,示出用于组播收敛的处理。
图4是方框图,示出现有技术以太网自动保护交换(EAPS)***。
图5是方框图,示出采用以太网自动保护交换(EAPS)的网络装置。
图6是流程图,示出用于EAPS环形网络中组播收敛的处理。
图7是方框图,示出用于实践本申请所述各种实施例的适当计算环境。
具体实施方式
在下面的描述中,提供多种细节。但是对本领域技术人员显而易见的是,不需要这些特殊细节也能实践本发明。在一些实例中,为了避免模糊本发明,将公知结构和装置示出为方框图形式而不是详细示出。
本申请提供的方法、设备和***有助于拓扑结构变化之后网络中组播流量收敛的改善。当网络节点接收组播数据包时,处理数据包。如果节点检测到关于数据包的缓存缺失,则数据包经由硬件洪泛到网络的端口上。此外,(导致缓存缺失的)数据包的拷贝被发送到线外处理单元。数据包的拷贝被处理,而不将拷贝从处理单元转送到网络上。对数据包的处理包括经由硬件提取层建立用于数据包的硬件缓存条目。
在一些实施例中,当新的组播流开始在网络上发送流量时,缓存缺失出现并被检测到。不是简单地将缓存缺失转送到CPU以用于获知(在硬件中)并随后将其转送(即慢通道转送)到网络上(例如IGMP侦听使能),而是采用特殊的转送模式。在这种特殊的转送模式中,导致缓存缺失的数据包一开始经由硬件洪泛到网络的端口。此外,缓存缺失被发送到CPU以用于处理。处理包括获知每个数据包的(一个或多个)地址(例如源IP地址和组播组IP地址)以及在硬件中规划新的条目。通过规划硬件中的条目,具有相同源和组(S,G)地址的未来数据包会导致缓存命中并立即仅被转送出有实际接收器的那些端口。仅在有实际接收器的端口上转送可称为“选择性转送”。被选择性转送的数据包会从该时刻起停止被洪泛。
在各种实施例中,具体地,通过CPU的处理不包括将缓存缺失数据包拷贝从CPU转送到网络上(例如“慢通道转送”,“软件转送”等等)。这是因为慢通道转送会导致重复的数据包在网络上发出(假定导致缓存缺失的数据包已经洪泛到网络)。例如可经由命令行接口(CLI),由用户来控制特殊的转送模式。
在采用用于具有环形拓扑结构(例如以太网自动保护交换(EAPS)环形拓扑结构)的网络的实施例中,响应于检测到网络中的拓扑结构变化,可自动触发类似的特殊转送模式。当EAPS环形网络中拓扑结构变化时,转送条目(称为转送数据库(FDB)条目)被清空并必须被再获知。因此,在这些实施例中,检测的拓扑结构变化会导致环形网络进入硬件洪泛模式,通过计时器确定硬件洪泛模式的上限。本申请使用的洪泛表示例如基于VLAN成员资格在网络装置的出站端口上发送数据包的拷贝。换言之,洪泛可导致数据包在网络装置的出站端口上转送,但是不一定在所有出站端口上。
在洪泛周期里,导致缓存缺失的数据包也被转送到网络装置处理单元。处理单元创建针对每个缓存缺失数据包组播缓存条目,并且缓存条目经由硬件提取层在硬件中被规划。在硬件条目上产生命中的后续数据包将基于与条目相关联的所规划的出站端口在硬件中转送。通过这种方式,随着新的组播缓存条目被规划,缓存缺失将最终逐渐停止。
当硬件洪泛模式计时器到期时,网络装置可以回复到它之前的操作模式。例如,如果在“初始硬件洪泛”模式之前,装置操作在IGMP侦听使能模式下,那么当计时器到期时,装置可以回复到IGMP侦听使能模式。在不使用IGMP侦听的实施例中,可能必须当时间到期时,将当前/最新的组播缓存列表推送到硬件提取层(HAL),以防止将来的缓存缺失。
图1是方框图,示出根据各种实施例的网络装置。网络装置110包括一个或多个硬件表120(例如缓存)、处理单元130(例如中央处理单元(CPU)、网络处理单元(NPU)等等)以及数据包处理器140。数据包处理器140接收进入数据包。对于每个进入数据包(具有源地址和组播组地址),数据包处理器140进行硬件表120的查找,以确定进入数据包的源地址和组播组地址(S,G)是否与表中的其中一个条目匹配。如果匹配,则数据包处理器140将数据包转出到网络(例如基于组播组地址)。
如果(S,G)地址组合与表120中的条目不匹配,则数据包处理器140将具有(S,G)地址组合的所有流量洪泛到网络并产生缓存缺失。这种缓存缺失事件或者简称缓存缺失被发送到处理单元130,具体而言发送到内核132。内核132将缓存缺失发送到组播(MC)管理器134。在一些实施例中,洪泛会导致流量在网络装置110的所有出站端口上发出。在其他实施例中,例如基于VLAN成员资格,仅在出站端口上转送数据包。
与数据包处理器140洪泛(S,G)流量结合,处理单元130工作以解决缓存缺失。MC管理器134启动代理IGMP询问,代理IGMP询问在网络上被发出。基于响应于代理IGMP询问接收的任何IGMP报告,MC管理器134通过用于(S,G)流量的转送条目规划硬件提取层(HAL)136。HAL136随后配置硬件表120以包括转送条目。一旦对于(S,G)组已经“获知”(即规划)转送条目,则后续(S,G)流量将“命中”硬件表120,并根据转送条目被转送(即没有洪泛)。重要的是注意,在处理之后缓存缺失没有转送回网络(就像标准IGMP侦听使能模式中的情况那样)。在本申请所述的实施例中,缓存缺失不是通过CPU以慢通道方式转送到网络以避免重复数据包(就像所讨论的,因为数据包会已经由硬件洪泛转送到网络)。
在各种实施例中,用户经由命令行接口138控制装置110使用的初始硬件洪泛模式。因此,用户可以使装置操作在正常IGMP侦听使能模式或侦听禁用模式下,或者用户可以操作装置以使用具有初始硬件洪泛模式的IGMP侦听使能。
图2是方框图,示出采用组播和IGMP侦听的网络。在标准侦听使能情景中,网络200是这样的网络,其中组播发射器(MCTx)210发出IGMP询问,以确定哪个节点(如果有的话)对接收针对特定组播组(例如组ABC)的组播流量感兴趣。组播接收器(MCRx)224从MCTx210接收询问并报告它对接收针对组ABC的组播流量感兴趣。各种网络节点“监听”MCTx210与MCRx224之间的通信,注意,通过针对组ABC更新它们各自的组播列表,MCRx224对针对组ABC的组播流量感兴趣。例如,假定MCRx经由端口P2可通信地连接到节点222,节点222将端口P2加入它的针对组ABC的组播列表中。同样地,假定端口P2是流量将到达MCRx224的端口,节点220将其端口P2加入它的针对组ABC的组播列表中。如图2所示,节点218、216、214和212也将它们各自的P2端口加入它们各自的针对组ABC的组播列表中。通过这种方式,到达节点212的组ABC流量将通过网络适当地转送到MCRx224。此外,在标准侦听使能情景中,将缓存缺失发送到CPU。这些数据包可通过CPU以慢通道方式转送,但是直到硬件提取层对硬件进行了规划,才会在硬件中转送它们。
但是,在各种情景中,可在网络200上启动新的组播流而没有上述IGMP询问和/或报告。例如,如果针对组XYZ的流从节点228启动而没有任何前述IGMP询问和/或报告,则假定网络200中的节点都不具有用于组XYZ的任何组播列表条目,到达网络200的每个组XYZ数据包会导致缓存缺失。利用上述的标准IGMP侦听使能技术,这些缓存缺失将堵塞在网络节点的处理单元的慢通道转送队列中,消耗处理资源,延迟XYZ流的收敛。如果在网络200上,在相同或较近的时间启动多个新的不同的流,则收敛延迟增加。
在各种实施例中,例如上述网络节点的缓存缺失会导致网络节点进入初始硬件洪泛的状态。本申请使用的“硬件洪泛”或“初始硬件洪泛”表示作为对缓存缺失的初始响应,硬件洪泛的动作。如上所述,缓存缺失被发送到网络装置处理单元(例如图1的处理单元130)用于处理。在通过处理单元处理缓存缺失的时间周期里,至少部分地发生初始硬件洪泛。一旦处理了缓存缺失(例如在硬件中已经针对XYZ组播组规划了新的条目),那么属于XYZ组的后续数据包就会“命中”缓存(即针对XYZ数据包的表查找会产生匹配)。缓存命中被接受(即它们将仅在对应的转送条目中定义的出站端口上被转送,与洪泛它们相反)。
因此,当“命中”缓存的数据包的数量增加时,用于处理单元中缓存缺失的处理队列的尺寸缩小。初始硬件洪泛减小处理单元的处理负担,有助于(一个或多个)流收敛的加快。
图3是流程图,示出用于组播收敛的处理。在310,在网络装置接收组播数据包。在320,网络装置至少部分地基于数据包的源IP地址和组的组播IP地址(即(S,G)地址组合)确定是否有针对数据包的缓存命中或缓存缺失。如果数据包导致缓存命中,则在330,根据缓存条目中的转送信息转送数据包。如果数据包导致缓存缺失,则在340,网络装置关于具有该(S,G)组合的流量进入初始硬件洪泛状态。硬件洪泛导致数据包根据VLAN成员资格转送到网络装置的出站端口。换言之,可以在网络装置的所有出站端口上转送数据包,但是不一定是所有出站端口。
除了洪泛数据包以外,在350,还将导致缓存缺失的数据包的拷贝发送到网络装置上的处理单元。然后在360,处理单元产生用于(S,G)组合的缓存条目。缓存缺失数据包的发送和处理可能在硬件洪泛开始之前、期间和/或之后发生。缓存条目允许具有相同的(S,G)组合的后续数据包在硬件中转送,不需要缓存缺失处理。如上所述,缓存缺失数据包的处理不包括慢通道转送,因为会在网络上产生重复的数据包。
图4是方框图,示出现有技术以太网自动保护交换(EAPS)***。EAPS***400包括一个或多个EAPS域401。为了发送和接收EAPS***控制消息417,针对每个EAPS域401创建控制VLAN403。创建EAPS域401用于保护由一个或多个数据输送VLAN404构成的群组。
EAPS***400在环形网络402上操作。环形网络402上的一个节点被指定为主节点405。主节点405上的两个环形端口被指定为基本端口406和辅助端口407。环形网络402上的所有其他节点都是传输节点411,分别有自己的环形端口412。每个主节点405和传输节点411分别具有转送数据库(FDB)408和413,在数据库408和413中它们存储关于网络通信通道的信息。主节点405具有状态寄存器409,用于存储环形网络402的状态。为了说明的目的,将环形网络402的状态或者描述为“失败”,表示在环形网络402中有故障或中断,或者描述为“完成”,表示环形网络没有终端,或者环形网络已经恢复,并且所有节点都正确地通信。传输节点411具有状态寄存器414和预转送计时器415,传输节点在状态寄存器414中存储预转送状态。传输节点411还具有临时阻塞端口存储区(TBP)416,传输节点在TBP中存储临时阻塞的端口的识别信息。
主节点405和传输节点411利用控制消息417以经由控制VLAN403通信。实施例中控制消息417的一些实例是健康检查消息、下行链接消息以及冲刷FDB消息。传输节点411将控制VLAN403上发送的消息识别为控制消息417,因为它具有与转送数据库413中的条目相对应的特殊MAC(媒体访问控制)地址。主节点和传输节点在将控制消息417拷贝到节点的中央处理单元(CPU)之前转送控制消息417,在所述节点中,除了别的之外,它被记入日志以用于故障排除。在通过CPU处理之前转送控制消息417有助于故障之后以较之通过前述现有技术方法能实现的少得多的时间实现环形网络402的收敛。
主节点405具有hello计时器418,hello计时器418是用于发送健康检查控制消息417的时钟。一旦hello计时器418启动,它就提示主节点405以定期的间隔(例如每一秒钟)在控制VLAN403上发送健康检查消息417。健康检查消息417环绕环形网络402转送,几乎立即返回主节点405。当主节点405发送健康检查消息417时,它设定失败计时器410。如果在健康检查消息返回主节点405之前失败计时器410到期,则主节点405确定在环形网络402中有故障。即使在故障期间也发送健康检查消息417。当故障恢复时,主节点405立即知道,因为健康检查消息417的返回恢复。
图5是方框图,示出根据各种实施例,采用以太网自动保护交换(EAPS)的网络装置。网络装置510包括一个或多个硬件表520(例如缓存)、处理单元530(例如中央处理单元(CPU)、网络处理单元(NPU)等等)以及数据包处理器540。在一些实施例中,只要EAPS拓扑结构变化,EAPS538就向MC管理器534与其端口列表一起发送VLAN列表。MC管理器534已具有已经在硬件提取层(HAL)536中规划的转送条目的列表和在它的基于IGMP报告的软件表中的其他条目的列表。
因此,当MC管理器534从EAPS538接收VLAN列表和端口列表时,MC管理器534将该信息与IGMP报告非常相似地来对待。换言之,对于已经在HAL536中规划的转送条目,MC管理器534会将EAPS出站端口(对应于特定组播流)添加到其缓存列表,并将更新的缓存列表发送到HAL536。区别在于通过MC管理器534接收EAPS出站端口列表,比IGMP报告快得多,因此显著减少(一个或多个)组播流的收敛时间。
对于用于尚未针对已知组播流在HAL536中规划的转送条目,MC管理器534会将EAPS端口添加到它已有的组播组列表。对于不是在HAL536中的流,数据流仅当这些流到达网络装置时恢复,导致第2层(L2)缓存缺失并将L2缓存缺失发送到MC管理器534。MC管理器534会通过利用新的缓存条目更新HAL536来处理缓存缺失。一旦新的缓存条目已经创建,用于(一个或多个)新流的数据流就会在硬件中交换。
在另一实施例中,除了从EAPS538接收端口列表(而不是等待IGMP报告)之外,MC管理器534启动硬件洪泛状态并启动计时器。在一些实施例中计时器可以在45秒左右,但是根据网络的特定需要,它可以更短,也可以更长。作为启动洪泛状态的一部分,MC管理器534规划HAL536,以将相关VLAN设定为硬件洪泛模式。通过这种硬件洪泛状态/模式,如上所述,MC管理器534接收L2缓存缺失,创建缓存条目并规划HAL536,并且随着硬件条目被填充,L2缓存缺失将开始逐渐停止。但是,硬件(即数据包处理器540和(一个或多个)硬件表520)会处于这样的状态:它处于硬件洪泛模式(例如在特定VLAN上),但是同时,通过基于用于缓存命中的出站端口的转送,将接受硬件上的缓存命中。因此,对于那些在硬件中规划的条目,数据包将不会被洪泛或发送到处理单元530。但是,对于所有其他有缓存缺失的组播数据包,这些数据包将在硬件中被洪泛,同时缓存缺失数据包的拷贝被发送到CPU530以用于处理(即,获知和/或产生新的缓存条目,而不将数据包转回到网络)。
一旦洪泛计时器到期,MC管理器534就回复到标准IGMP侦听使能模式。
应当注意,当EAPS538向MC管理器534发送消息以启动硬件洪泛时,已有的缓存条目不应当被冲刷。否则,将产生另外的缓存缺失并发送到处理单元530,导致进一步的处理压力。
在涉及EAPS环的实施例中,有可能将没有接收器的出站端口添加到组播组列表。利用定期的IGMP老化,发送到没有接收器的端口的流量将最终移出,但是会比期望的更久。因此,可采用“快”移出。例如,如果正在使用IGMP询问,则在一定的时间周期里(例如5-10秒,或更短,或更长)应期望IGMP报告。用于接收报告的期望时间可用作“快”移出时间,以减少不必要流量的量。
图6是流程图,示出EAPS环形网络中组播收敛的处理。在610,检测EAPS网络中的拓扑结构变化。作为响应,在620,至少一个节点清空其IGMP侦听表。在630,发送代理IGMP询问以再获知组播转送条目。在640,在某一时刻,在640检测EAPS网络上的缓存缺失。在650,不是将缓存缺失数据包发送到处理单元以用于慢通道转送,而是在一个或多个出站端口经由硬件将数据包洪泛到网络。在660,将缓存缺失数据包的拷贝发送到装置的处理单元,在670,对于缓存缺失数据包在装置的处理单元创建硬件缓存条目。处理单元不会将缓存缺失数据包慢通道转送回网络。
图7示出以计算机***700的示例性形式,机器的示意性表示,在计算机***700中可执行一组指令,用于使得机器进行本申请讨论的任意一个或多个方法。在替代实施例中,可将机器连接到(例如网络方式)局域网(LAN)中的其他机器、企业内部互联网、外部网络或者互联网。在客户机-服务器网络环境中,可在服务器或客户机的能力里操作机器,或者对等(或分布式)网络环境中将机器操作为个别机器。机器可以是个人计算机(PC)、平板计算机、机顶盒、个人数字助理(PDA)、蜂窝电话、或者能够执行一组指令(连续的或其他的)的任何机器,所述一组指令指定机器要采取的动作。此外,当仅示出单个机器时,也可以采用术语“机器”以包括机器(例如计算机)的任意集合,它们独立或联合地执行一组(或多组)指令,以进行本申请讨论的任意一个或多个方法。
示例性计算机***700包括处理器702、内存704(例如只读存储器(ROM)、闪存、动态随机访问存储器(DRAM)例如同步DRAM(SDRAM)或RambusDRAM(RDRAM)等等)、静态存储器806(例如闪存、静态随机访问存储器(SRAM)等等)以及辅助存储器818(例如数据存储装置),它们经由总线相互通信。
处理器702表示一个或多个通用处理装置,例如微处理器、中央处理单元等等。具体而言,处理器702可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令集架构(VLIW)微处理器、实现其他指令集的处理器或者实现指令集的组合的处理器。处理器702也可以是一个或多个专用处理装置,例如专用集成电路(ASIC)、场可编程栅极阵列(FPGA)、数字信号处理器(DSP)、网络处理器等等。处理器702被配置为执行处理逻辑126,处理逻辑126用于进行本申请讨论的操作和步骤。
计算机***700可进一步包括网络接口装置716。计算机***700还可包括视频显示单元710(例如液晶显示器(LCD)或阴极射线管(CRT))、文字数字输入装置712(例如键盘)以及指针控制装置(例如鼠标)。
辅助存储器718可包括机器可读存储介质(或者具体而言计算机可读存储介质)724,上面存储一组或多组指令(例如软件722),指令实现本申请所述的一种或多种方法或功能。在通过计算机***700执行软件的过程中,软件722也可以完全或只是部分地置于内存704中和/或处理装置702中,内存704和处理装置702也构成机器可读存储介质。软件722可经由网络接口装置716进一步在网络720上传输或接收。
虽然在示例性实施例中将机器可读存储介质724示出为单个介质,但是可以采用术语“机器可读存储介质”以包括存储一组或多组指令的单个介质或多个介质(例如收敛式数据库或分布式数据库,和/或相关联的缓存和服务器)。也可以采用术语“机器可读存储介质”以包括能够存储或编码一组指令的任意介质,所述一组指令用于通过机器执行,使得机器进行本发明的任意一个或多个方法。因此可以采用术语“机器可读存储介质”以包括,但不限于固态存储器、光学存储器或磁存储器。
本申请描述了各种操作或功能,它们可实施或限定为软件代码或指令。这些内容可以是直接可执行的(“目标”或“可执行”形式)、源代码或差代码。可经由有代码或存储其上的指令的制造的物品提供本申请描述的实施例的软件实施方式,或经由操作通信接口的方法提供本申请描述的实施例的软件实施方式,以经由通信接口发送数据。机器可读介质或计算机可读介质可使得机器进行所述的功能或操作,并包括存储采用机器(例如计算装置、电子***等等)可访问形式的信息的任意机构,例如可记录/不可记录介质(例如只读存储器(ROM)、随机访问存储器(RAM)、磁盘存储介质、光学存储介质、闪存装置等等)。通信接口包括连接到任何硬连接的、无线的、光学的等等介质以与另一装置(例如存储器总线接口、处理器总线接口、互联网连接、磁盘控制器等等)通信的任意机构。可通过提供配置参数和/或发送信号来配置通信接口,以制备通信接口,提供描述软件内容的数据信号。经由发送到通信接口的一个或多个指令或信号可访问通信接口。
本发明还涉及进行本申请操作的***。该***可特别构造用于要求的目的,或者可包括通用计算机,通过计算机中存储的计算机程序来选择性地启动或再配置通用计算机。可将这种计算机程序存储在计算机可读存储介质中,例如但不限于任意类型的盘,包括软盘、光盘、CDROM、磁光盘、只读存储器(ROM)、随机访问存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或适合于存储电子指令的任意类型的介质,分别连接到计算机***总线。
本申请提供的方法和显示并非本来就涉及任何特定计算机或其他设备。通过根据本申请的教导的程序,可使用各种通用***,或者可证明便于构造更专业的***以进行所述方法的要求操作。这些***的结构将出现,如同下面的描述所提出的。此外,本发明并非参照任何特定编程语言或操作***来描述。应当理解,可使用各种编程语言来实现如同本申请所述的本发明的教导,并且可在多种操作***里实现所述教导。
本申请所述的各种部件可以是用于进行本申请所述功能的器件。本申请所述的每个部件包括软件、硬件或者它们的组合。本申请所述的操作和功能可实施为软件模块、硬件模块、专用硬件(例如专用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等等)、内嵌控制器、硬连接电路等等。
除了本申请所述之外,对本发明公开的实施例和实施方式可作出不脱离其范围的各种变型。因此,应当在示例性而不是限制性的意义上解释本申请的说明和实例。只能参照后附权利要求书来衡量本发明的范围。
Claims (17)
1.一种用于组播收敛的方法包括:
在传输节点接收来自源节点的组播数据包,所述组播数据包具有源地址和组播组地址;
将所述组播数据包的源地址和组播组地址与硬件缓存的硬件条目进行比较;
响应于所述比较的结果不是所述组播数据包的源地址和组播组地址与所述硬件条目相匹配,对于所述组播数据包在所述传输节点检测硬件缓存缺失;
响应于检测到所述硬件缓存缺失来经由硬件将所述组播数据包洪泛到网络的端口,其中所述洪泛包括基于虚拟局域网(VLAN)成员资格,将所述组播数据包的拷贝转送到所述传输节点的相邻节点;
将所述组播数据包的拷贝发送到处理单元;
软件处理所述组播数据包的拷贝,而不将所述拷贝从所述处理单元转送到所述网络上,所述软件处理包括经由硬件提取层建立用于所述组播数据包的硬件缓存条目;以及
响应于未来组播数据包的源地址和组播组地址与用于所述组播数据包的硬件缓存条目相匹配,将所述未来组播数据包仅转送到所述传输节点的预定了组播流量的相邻节点。
2.如权利要求1所述的方法,其中在所述传输节点检测到硬件缓存缺失是响应于所述比较未导致所述硬件条目与所述组播数据包的源地址和组播组地址的匹配的,并且其中经由硬件将所述组播数据包洪泛到网络的端口包括:
在所述组播数据包的拷贝被所述处理单元进行软件处理时进入初始硬件洪泛状态。
3.如权利要求1所述的方法,其中所述处理单元是中央处理单元(CPU)或网络处理单元(NPU)中的一个。
4.如权利要求1所述的方法,其中所述传输节点是以太网自动保护交换(EAPS)。
5.如权利要求1所述的方法,其中硬件洪泛通过对应的计时器开始。
6.如权利要求5所述的方法,进一步包括当所述计时器到期时停止所述硬件洪泛。
7.一种网络装置包括:
数据包处理器,该数据包处理器接收具有源地址和组播组地址的组播数据包;
硬件缓存,该硬件缓存存储用于组播流量的转送条目,所述转送条目基于源地址和组播组地址;
所述数据包处理器进一步:
将所述组播数据包的源地址和组播组地址与硬件缓存的转送条目进行比较;
响应于所述比较的结果不是所述组播数据包的源地址和组播组地址与所述转送条目相匹配,检测针对所述组播数据包的硬件缓存缺失,
响应于检测所述硬件缓存缺失来将所述组播数据包洪泛到网络的端口,其中洪泛包括至少部分地基于虚拟局域网VLAN成员资格,将所述组播数据包的拷贝转送到所述网络装置的相邻节点,以及
将所述组播数据包的拷贝发送到处理单元;
其中所述处理单元还用于软件处理所述组播数据包的拷贝,而不将所述拷贝转送到所述网络,所述软件处理包括经由硬件提取层建立用于所述组播数据包的硬件缓存条目,并且
其中所述数据包处理器还用于响应于未来组播数据包的源地址和组播组地址与用于所述组播数据包的硬件缓存条目相匹配,将所述未来组播数据包仅转送到所述网络装置的预定了组播流量的相邻节点。
8.如权利要求7所述的网络装置,其中所述数据包处理器还可操作用于将所述组播数据包的源地址和组播组地址与所述硬件缓存的转送条目进行比较。
9.如权利要求7所述的网络装置,其中所述数据包处理器通过在所述组播数据包的拷贝被所述处理单元进行软件处理时进入初始硬件洪泛状态,来经由硬件将所述组播数据包洪泛到网络的端口。
10.如权利要求7所述的网络装置,其中所述处理单元包括以太网自动保护交换(EAPS)部件,用于在EAPS网络上配置所述网络装置。
11.如权利要求7所述的网络装置,其中所述处理单元包括命令行接口(CLI),用于在网络上配置所述网络装置。
12.如权利要求7所述的网络装置,其中所述数据包处理器进一步包括计时器,其中当所述计时器到期时,通过所述数据包处理器的洪泛停止。
13.一种用于组播收敛的设备包括:
用于在传输节点接收来自源节点的组播数据包的装置,所述组播数据包具有源地址和组播组地址;
用于将所述组播数据包的源地址和组播组地址与硬件缓存的硬件条目进行比较的装置;
用于响应于所述比较的结果不是所述组播数据包的源地址和组播组地址与所述硬件条目相匹配,对于所述组播数据包在所述传输节点检测硬件缓存缺失的装置;
用于响应于检测到所述硬件缓存缺失来经由硬件将所述组播数据包洪泛到网络的端口的装置,包括用于基于虚拟局域网(VLAN)成员资格,将所述组播数据包的拷贝转送到所述传输节点的相邻节点的装置;
用于将所述组播数据包的拷贝发送到处理单元的装置;
用于软件处理所述组播数据包的拷贝,而不将所述拷贝从所述处理单元转送到所述网络上的装置,包括用于经由硬件提取层建立用于所述组播数据包的硬件缓存条目的装置;以及
用于响应于未来组播数据包的源地址和组播组地址与用于所述组播数据包的硬件缓存条目相匹配,将所述未来组播数据包仅转送到所述传输节点的预定了组播流量的相邻节点的装置。
14.如权利要求13所述的设备,其中在所述传输节点检测到硬件缓存缺失是响应于所述比较未导致所述硬件条目与所述组播数据包的源地址和组播组地址的匹配的,并且所述用于洪泛的装置包括:
用于在所述组播数据包的拷贝被所述处理单元进行软件处理时进入初始硬件洪泛状态的装置。
15.如权利要求13所述的设备,其中所述传输节点是以太网自动保护交换(EAPS)。
16.如权利要求13所述的设备,其中硬件洪泛通过对应的计时器开始。
17.如权利要求16所述的设备,进一步包括用于当所述计时器到期时停止所述硬件洪泛的装置。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20179908A | 2008-08-29 | 2008-08-29 | |
US12/201,799 | 2008-08-29 | ||
US12/205,715 US7856019B2 (en) | 2008-08-29 | 2008-09-05 | Convergence of multicast traffic |
US12/205,715 | 2008-09-05 | ||
PCT/US2009/051681 WO2010024993A1 (en) | 2008-08-29 | 2009-07-24 | Improved convergence of multicast traffic |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102197627A CN102197627A (zh) | 2011-09-21 |
CN102197627B true CN102197627B (zh) | 2016-02-17 |
Family
ID=41055455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980143097.9A Active CN102197627B (zh) | 2008-08-29 | 2009-07-24 | 组播流量收敛的改善 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7856019B2 (zh) |
EP (1) | EP2347550A1 (zh) |
JP (1) | JP5543462B2 (zh) |
CN (1) | CN102197627B (zh) |
WO (1) | WO2010024993A1 (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101827008A (zh) * | 2009-03-04 | 2010-09-08 | 中兴通讯股份有限公司 | 一种控制以太网地址表刷新次数的方法 |
CN101938395B (zh) * | 2009-07-03 | 2014-08-13 | 中兴通讯股份有限公司 | 一种以太环网的单环地址刷新方法及*** |
US10191783B2 (en) | 2010-02-26 | 2019-01-29 | Red Hat, Inc. | UDP multicast over enterprise service bus |
US8594100B2 (en) | 2010-03-31 | 2013-11-26 | International Business Machines Corporation | Data frame forwarding using a distributed virtual bridge |
US8619796B2 (en) | 2010-04-22 | 2013-12-31 | International Business Machines Corporation | Forwarding data frames with a distributed fiber channel forwarder |
US8566257B2 (en) | 2010-04-26 | 2013-10-22 | International Business Machines Corporation | Address data learning and registration within a distributed virtual bridge |
US8379642B2 (en) | 2010-04-26 | 2013-02-19 | International Business Machines Corporation | Multicasting using a multitiered distributed virtual bridge hierarchy |
US8447909B2 (en) | 2010-07-19 | 2013-05-21 | International Business Machines Corporation | Register access in distributed virtual bridge environment |
US8654769B2 (en) | 2010-11-15 | 2014-02-18 | Hewlett-Packard Development Company, L.P. | Convergence of multicast traffic in response to a topology change |
US8553690B2 (en) * | 2010-12-15 | 2013-10-08 | International Business Machines Corporation | Processing multicast messages in a data processing system |
WO2012079651A1 (en) * | 2010-12-17 | 2012-06-21 | Telefonaktiebolaget L M Ericsson (Publ) | Ethernet ring node with improved recovery time after a link failure |
US9407533B2 (en) * | 2011-06-28 | 2016-08-02 | Brocade Communications Systems, Inc. | Multicast in a trill network |
US9485107B2 (en) | 2011-11-21 | 2016-11-01 | Fujitsu Limited | System and method for distributed internet group management protocol processing |
EP2783486B1 (en) | 2011-11-21 | 2015-11-18 | Telefonaktiebolaget LM Ericsson (Publ) | Ring protection state aware bandwidth adaptation |
US8891535B2 (en) | 2012-01-18 | 2014-11-18 | International Business Machines Corporation | Managing a global forwarding table in a distributed switch |
US8861400B2 (en) * | 2012-01-18 | 2014-10-14 | International Business Machines Corporation | Requesting multicast membership information in a distributed switch in response to a miss event |
IN2014DN07936A (zh) | 2012-03-28 | 2015-05-01 | Nec Corp | |
US10298713B2 (en) * | 2015-03-30 | 2019-05-21 | Huawei Technologies Co., Ltd. | Distributed content discovery for in-network caching |
AT517779B1 (de) * | 2015-10-01 | 2021-10-15 | B & R Ind Automation Gmbh | Verfahren zum Querverkehr zwischen zwei Slaves eines ringförmigen Datennetzwerks |
US10439930B2 (en) * | 2017-04-26 | 2019-10-08 | Futurewei Technologies, Inc. | Packet batch processing with graph-path based pre-classification |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863147A (zh) * | 2005-09-07 | 2006-11-15 | 华为技术有限公司 | 在虚拟专用局域网业务中实现组播数据流转发的方法 |
CN101009689A (zh) * | 2006-01-26 | 2007-08-01 | 西门子(中国)有限公司 | 一种防止地址解析欺骗的方法 |
WO2008055427A1 (fr) * | 2006-11-07 | 2008-05-15 | Huawei Technologies Co., Ltd. | Procédé et échangeur pour le furetage de protocole de gestion de groupe internet |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5978378A (en) * | 1997-09-11 | 1999-11-02 | 3Com Corporation | Method and apparatus for VLAN support |
US6801506B1 (en) | 1999-03-31 | 2004-10-05 | Cisco Technology, Inc. | Method and apparatus for providing fast spanning tree re-starts |
US6766482B1 (en) | 2001-10-31 | 2004-07-20 | Extreme Networks | Ethernet automatic protection switching |
US6717922B2 (en) | 2002-03-04 | 2004-04-06 | Foundry Networks, Inc. | Network configuration protocol and method for rapid traffic recovery and loop avoidance in ring topologies |
EP1625705A2 (en) | 2003-05-06 | 2006-02-15 | Overture Networks, Inc. | Protected switching ring |
US7149214B2 (en) | 2003-11-04 | 2006-12-12 | Cisco Technology, Inc. | Dynamic unknown L2 flooding control with MAC limits |
DE102004041820A1 (de) * | 2004-08-27 | 2006-03-09 | Siemens Ag | Schiff mit einem Datennetzwerk |
US7957380B2 (en) * | 2005-11-21 | 2011-06-07 | Cisco Technology, Inc. | Support of unidirectional link in IS-IS without IP encapsulation and in presence of unidirectional return path |
JP4739141B2 (ja) | 2006-02-24 | 2011-08-03 | アラクサラネットワークス株式会社 | リングネットワーク及びマスタノード |
US8284656B2 (en) | 2006-04-28 | 2012-10-09 | Alcatel Lucent | System and method for resilient VPLS over multi-nodal APS protected provider edge nodes |
JP4948039B2 (ja) * | 2006-05-30 | 2012-06-06 | アラクサラネットワークス株式会社 | スイッチおよびネットワークの障害回復方法 |
US7626930B2 (en) | 2006-11-13 | 2009-12-01 | Corrigent Systems Ltd. | Hash-based multi-homing |
US8442046B2 (en) * | 2007-03-30 | 2013-05-14 | Cisco Technology, Inc. | Sending routing protocol data on a multi-access network segment |
-
2008
- 2008-09-05 US US12/205,715 patent/US7856019B2/en active Active
-
2009
- 2009-07-24 JP JP2011525042A patent/JP5543462B2/ja not_active Expired - Fee Related
- 2009-07-24 CN CN200980143097.9A patent/CN102197627B/zh active Active
- 2009-07-24 WO PCT/US2009/051681 patent/WO2010024993A1/en active Application Filing
- 2009-07-24 EP EP09790801A patent/EP2347550A1/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1863147A (zh) * | 2005-09-07 | 2006-11-15 | 华为技术有限公司 | 在虚拟专用局域网业务中实现组播数据流转发的方法 |
CN101009689A (zh) * | 2006-01-26 | 2007-08-01 | 西门子(中国)有限公司 | 一种防止地址解析欺骗的方法 |
WO2008055427A1 (fr) * | 2006-11-07 | 2008-05-15 | Huawei Technologies Co., Ltd. | Procédé et échangeur pour le furetage de protocole de gestion de groupe internet |
Also Published As
Publication number | Publication date |
---|---|
CN102197627A (zh) | 2011-09-21 |
US7856019B2 (en) | 2010-12-21 |
JP5543462B2 (ja) | 2014-07-09 |
WO2010024993A1 (en) | 2010-03-04 |
EP2347550A1 (en) | 2011-07-27 |
JP2012501583A (ja) | 2012-01-19 |
US20100054246A1 (en) | 2010-03-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102197627B (zh) | 组播流量收敛的改善 | |
US8539088B2 (en) | Session monitoring method, apparatus, and system based on multicast technologies | |
CN101521927B (zh) | 一种组播转发路径收敛的方法和*** | |
EP2555476A1 (en) | Method, system and device for protecting multicast in communication network | |
CN1992707B (zh) | 一种组播业务快速恢复方法及网络设备 | |
CN101119311B (zh) | 一种控制组播数据流的方法及装置 | |
CN113315665B (zh) | 一种双网卡终端设备的报文发送方法、装置、设备及介质 | |
CN106375223B (zh) | 一种基于sdn的数据转发***及方法 | |
KR20150007623A (ko) | 패킷 전달 시스템에서의 보호 절체 방법 및 장치 | |
CN103067291A (zh) | 一种上下行链路关联的方法和装置 | |
JPWO2013061604A1 (ja) | リング型ネットワークにおけるノード装置およびその経路切替制御方法 | |
CN107615710A (zh) | Sdn交换机中的直接回复动作 | |
WO2016091156A1 (zh) | 节点故障的判断方法及装置 | |
CN101141383A (zh) | 一种实现二层组播转发路径快速收敛的方法、***及二层设备 | |
CN104113513B (zh) | 一种主机发现方法、装置及*** | |
CN101404594B (zh) | 热备份性能的测试方法与装置、通信设备 | |
CN105681223A (zh) | 一种sdn的数据包转发方法及装置 | |
EP3468286A1 (en) | Method, device and system for data transmission, physical residential gateway and access node | |
CN101917351A (zh) | 路由器上组播转发方法及转发路由器 | |
CN104735000A (zh) | OpenFlow信令控制方法及装置 | |
CN109428814B (zh) | 一种组播流量传输方法、相关设备和计算机可读存储介质 | |
WO2012103704A1 (zh) | 组播复制方法、装置及*** | |
CN101635656A (zh) | 层次化有序地址分组网络中故障检测的方法、***及设备 | |
JP5973317B2 (ja) | 端末および方法 | |
JPWO2012004843A1 (ja) | 通信システム及び方法、網管理装置、及び、通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |