CN103139084B - 分布式通信设备中主控卡获取组播流量方法和装置 - Google Patents
分布式通信设备中主控卡获取组播流量方法和装置 Download PDFInfo
- Publication number
- CN103139084B CN103139084B CN201110394902.4A CN201110394902A CN103139084B CN 103139084 B CN103139084 B CN 103139084B CN 201110394902 A CN201110394902 A CN 201110394902A CN 103139084 B CN103139084 B CN 103139084B
- Authority
- CN
- China
- Prior art keywords
- multicast
- cryptographic hash
- forward table
- card
- main control
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了分布式通信设备中主控卡获取组播流量方法和装置。该方法包括:A,每一线卡接收到组播报文时,从已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息;B,每一线卡周期性地遍历已存储的至少一个组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡。
Description
技术领域
本发明涉及数据通信领域,特别涉及分布式通信设备中主控卡获取组播流量方法和装置。
背景技术
随着高清视频点播、多方视频会议等业务的大量开展,集中式体系结构的通信设备已不能满足需求,而更高性能的分布式通信设备得到了大力发展。其中,该分布式通信设备能够实现完善的组播路由协议,比如独立组播稀疏模式(PIM-SM)、组播VPN等。
其中,PIM-SM协议的最短路径树(SPT:ShortestPathTree)切换功能、以及组播VPN的数据(DATA)组播分发树(MDT:MulticastDistributionTree)切换功能都需要输入接口的组播流量来驱动,具体为:当从输入接口进入的组播流量满足对应的阈值才能进行SPT的切换、以及DATAMDT切换。下面对SPT切换、以及DATAMDT切换进行描述:
参见图1,图1为SPT切换示意图。如图1所示,当组播PIM-SM协议运行起来时,源节点S沿图1中的虚线箭头所示的路径发送组播报文至目的节点D,而当节点C接收到的组播流量到达设定阀值1时,节点C发起SPT切换,即将源节点S发送的组播报文切换到图1中实线箭头所示的路径,并在完成切换后,节点C发起剪掉图1中虚线箭头所示路径的操作,以使组播报文最终沿图1中实线箭头所示的路径转发。
参见图2,图2为DATAMDT切换示意图。如图2所示,当组播VPN运行起来时,VPN站点1的组播报文将沿图2中虚线箭头所示的路径转发,可以看出,尽管VPN站点3不需要这些组播报文,但这些组播报文还是转发到了PE3上。当进入PE1的组播流量达到设定阀值2时,PE1将组播报文从图2中虚线箭头所示路径切换到图2中实线箭头所示的路径,如此,可以看出,通过该切换,能够实现只有需要组播业务报文的PE才会加入到DATAMDT中,而VPN站点3由于不需要这些组播业务报文,因此PE3将不会加入DATAMDT。
至此,完成SPT切换、DATAMDT切换的描述。但是,需要说明的是,该SPT切换、DATAMDT切换是由主控卡控制层控制实现的,也即要实现上述所说的SPT切换、DATAMDT切换,主控卡控制层就需要知道输入接口的组播流量信息,比如图1所示的SPT切换中,主控卡控制层就需要知道节点C的组播流量信息,以及图2所示的DATAMDT切换中,主控卡控制层就需要知道PE1的组播流量信息,之后根据获知的组播流量信息确定是否执行SPT切换、DATAMDT切换,比如图1中,判断节点C的组播流量信息是否达到设定阈值1,如果是,控制节点C发起SPT切换,以及图2中,判断PE1的组播流量信息是否达到设定阈值2,如果是,控制PE1发起DATAMDT切换。
而分布式设备比如分布式体系结构的路由器中,组播报文只通过线卡数据转发层进行处理,也就是说,组播流量信息只会记录在线卡数据转发层,主控卡控制层是不会记录组播流量信息的。当主控卡控制层为了确定是否执行SPT切换、DATAMDT切换等需要知道组播流量信息时,就主动通过主控卡与线卡之间的通道向线卡数据转发层请求组播流量信息,当线卡数据转发层收到请求后,将对应的流量信息再次通过主控卡与线卡之间的通道发返回给主控卡控制层。如此往返会造成主控卡与线卡之间的通道被严重消耗。
发明内容
本发明提供了分布式通信设备中主控卡获取组播流量方法和装置,减少主控卡由于获取组播流量信息对主控卡与线卡之间通道的占用。
本发明提供的技术方案包括:
一种分布式通信设备中主控卡获取组播流量方法,所述分布式通信设备至少包括:线卡、主控卡、以及交换卡,该方法包括:
A,每一线卡接收到组播报文时,从已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息;
B,每一线卡周期性地遍历已存储的至少一个组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡。
一种线卡,所述线卡应用于分布式通信设备中,包括:
组播报文转发引擎模块,用于在接收到组播报文时,从所述线卡已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息;
组播流量统计信息发送模块,用于周期性地遍历已存储的至少一个组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡。
一种主控卡,所述主控卡应用于包含如上所述线卡的分布式通信设备中,包括:
接收模块,用于接收线卡通过周期遍历已存储的至少一个组播转发表所遍历到的组播转发表的流量统计信息;其中,当组播转发表的流量统计信息通过以下方式得到:当线卡接收到组播报文时,从已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息。
由以上技术方案可以看出,本发明中,线卡数据转发层主动报告组播流量信息给主控卡控制层,而非现有技术的主控卡主动向线卡数据转发层请求组播流量信息,这一方面能够减少主控卡由于获取组播流量信息对主控卡与线卡之间通道的占用,另一方面,能够保证主控卡获取精确的组播流量信息。
附图说明
图1为SPT切换示意图;
图2为DATAMDT切换示意图;
图3为本发明实施例提供的分布式通信设备结构图;
图4为本发明实施例提供的流程图;
图5为本发明实施例提供的分布式通信设备中数据转发层和控制层结构图;
图6为本发明实施例提供的组播转发表组织结构图;
图7为本发明实施例提供的步骤402实现流程图;
图8为本发明实施例提供的步骤702或步骤704实现流程图;
图9为本发明实施例提供的线卡装置结构图;
图10为本发明实施例提供的主控卡结构图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明提供的分布式通信设备中主控卡获取组播流量方法,采用线卡数据转发层主动报告组播流量信息给主控卡控制层,而非现有技术的主控卡主动向线卡数据转发层请求组播流量信息,这一方面能够减少主控卡由于获取组播流量信息对主控卡与线卡之间通道的占用,另一方面,能够保证主控卡获取精确的组播流量信息。
下面先对本发明实施例提供的分布式通信设备进行描述:
参见图3,图3为本发明实施例提供的分布式通信设备结构图。如图3所示,该分布式通信设备主要包括:线卡、主控卡、以及交换卡。优选地,本发明中,线卡的个数可为多个,主控卡个数可为2,其中一个主控卡正常工作,而另一个主控卡作为备份,处于备用状态,而交换卡的个数也可为2,其中一个交换卡正常工作,而另一个交换卡作为备份,处于备用状态。
基于图3所示的分布式通信设备结构,本发明提供的方法主要包括图4所示的流程:
参见图4,图4为本发明实施例提供的流程图。如图4所示,该流程可包括以下步骤:
步骤401,每一线卡接收到组播报文时,从已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息。
其中,每一线卡上存储了所述分布式通信设备中所有接口对应的组播转发表。本步骤401中,每一线卡接收到组播报文时,将组播报文中的组播源IP地址、组播组IP地址以及VPN路由转发(VRF)信息作为关键字从已存储的组播转发表中确定出包含该关键字的组播转发表为用于转发所述组播报文的组播转发表。
在分布式通信设备中,线卡依据组播转发表转发组播报文,这里存在两种转发结果,一种是该组播报文从同一线卡上其他接口转发出去,另一种是该组播报文被送到交换卡之后从交换卡再进入其他线卡,本发明将进入其他线卡后的报文称为跨卡输入报文。作为本发明的一个实施例,本发明中,如果步骤401确定出所述组播报文为跨卡输入报文,则忽略该组播报文。
步骤402,每一线卡周期性地遍历已存储的至少一个组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡。
本步骤402中的线卡具体为线卡数据转发层,而步骤402中的主控卡可为主控卡控制层。
为使图4所示流程更加清楚,图5示出了分布式通信设备中数据转发层和控制层的结构。图5是基于图3所示的结构,并且,图5采用控制层与数据转发层分离设计,其中数据转发层由交换卡向各线卡星型连接,负责各线卡间数据传递,而控制层由主控卡向各线卡/交换卡星型连接,负责主控卡与各线卡/交换卡上管理CPU间数据传递。需要说明的是,图5只是一个举例,并非限定本发明。
至此,完成图4所示的流程描述。
下面对图4所示的步骤402进行详细描述:
在描述步骤402之前,先描述线卡中组播转发表的存储方式:
本发明中,线卡采用哈希(hash)链表方式组织其存储的组播转发表,其中,所述哈希链表包含N个哈希值,每一哈希值对应至少一个组播转发表,具体如图6所示。
基于图6所示的结构,则上述步骤402具体实现可参见图7。
参见图7,图7为本发明实施例提供的步骤402实现流程图。如图7所示,该流程可包括以下步骤:
步骤701,每一线卡在遍历周期到达时,如果当前是首次执行遍历组播转发表的操作,则执行步骤702,如果是非首次执行遍历组播转发表的操作,执行步骤704。
这里,遍历周期可通过定时器实现,即每隔设定时间开启一个定时器任务,当开启的定时器超时,确定为遍历周期到达。
步骤702,从所述哈希链表中的第一个哈希值开始依次遍历所述哈希链表中M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,之后执行步骤703;
其中,所述N能被M整除。
步骤703,判断所述哈希链表中被遍历到的第M个哈希值是否为所述哈希链表的最后一个哈希值,如果是,将所述哈希链表中的第1个哈希值记录为下一个周期开始遍历的位置,否则,将所述哈希链表中当前周期内被遍历到的最后一个哈希值的下一个哈希值记录为下一个周期开始遍历的位置;
步骤704,从上一个周期记录的遍历位置开始依次遍历所述哈希链表中的M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,执行步骤703。
至此,完成图7所示的流程。
在上述步骤702或步骤704中,依次遍历哈希链表中M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡可通过图8所示流程实现:
参见图8,图8为本发明实施例提供的步骤702或步骤704实现流程图。如图8所示,该流程可包括以下步骤:
步骤801,分配一个针对本次遍历的缓冲区。
本发明中,针对每个遍历周期分配的缓冲区大小可相同。当然,作为本发明实施例的一种扩展,也可不同。
步骤802,将遍历到的第一个哈希值作为当前哈希值。
步骤803,将遍历到的当前哈希值对应的第一个组播转发表作为当前组播转发表;
步骤804,按照不覆盖所述缓冲区已记录数据的原则顺序记录当前组播转发表的关键字和对应的流量统计信息至所述缓冲区。
即,在当前周期内首次向缓冲区记录数据时,从缓冲区开始位置起顺序记录当前组播转发表的关键字和对应的流量统计信息至所述缓冲区,在非首次向缓冲区记录数据时,从上一次记录数据的最后位置开始顺序记录当前组播转发表的关键字和对应的流量统计信息至所述缓冲区。
其中,组播转发表的关键字可为组播转发表的组播源IP地址、组播组IP地址以及VRF。
步骤805,判断所述缓冲区是否已满,如果是,则将所述缓冲区记录的数据发送至主控卡,否则,执行步骤806;
步骤806,判断所述当前哈希值对应的组播转发表是否被遍历完,如果是,执行步骤807,否则,遍历所述当前哈希值对应的当前组播转发表的下一个组播转发表,将该遍历到的组播转发表作为当前组播转发表,返回步骤804;
步骤807,判断当前周期内的M个哈希值是否被遍历完,如果是,执行步骤808,否则,遍历当前哈希值的下一个哈希值,将该遍历到的哈希值作为当前哈希值,返回步骤803;
步骤808,判断所述缓冲区是否记录了数据,如果是,将所述缓冲区记录的数据发送至主控卡,释放所述缓冲区,否则,释放所述缓冲区。
也即,在步骤808中,如果是当前周期遍历完M个哈希值后,即使缓冲区未满,也将该缓冲区内记录的数据发送至主控卡。
至此,完成图8所示的流程。
需要说明的是,上述图8所示的流程可通过通知(notify)机制实现,基于此,步骤808或步骤808中所述缓冲区记录的数据可通过notify消息发送至主控卡。而当主控卡接收到线卡发送的notify消息后,解析出该notify消息中的组播转发表关键字和对应的流量统计信息,根据解析出的关键字在主控卡已存储的组播表项中查找所述关键字对应的组播表项,如果查找到,将该关键字对应的流量统计信息记录至该查找到的表项中,如果查找不到,则忽略该发送的关键字和对应的流量统计信息。
至此,完成本发明提供的方法描述,下面对本发明提供的装置进行描述:
参见图9,图9为本发明实施例提供的线卡装置结构图。该线卡应用于分布式通信设备中,如图9所示,该线卡包括:
组播报文转发引擎模块,用于在接收到组播报文时,从所述线卡已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息;
组播流量统计信息发送模块,用于周期性地遍历已存储的至少一个组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡。
优选地,所述组播报文转发引擎模块在所述组播报文是从其他线卡发送至交换卡、且交换卡又发送至所述线卡时,确定所述组播报文为跨卡输入报文,否则,确定所述组播报文不为跨卡输入报文。
优选地,所述线卡存储的组播转发表采用哈希hash链表方式组织,所述哈希链表包含N个哈希值,每一哈希值对应至少一个组播转发表;基于此,如图9所示,所述组播流量统计信息发送模块包括:
确定单元,用于在遍历周期到达时,如果当前是首次执行遍历组播转发表的操作,通知第一遍历单元,如果是非首次执行遍历组播转发表的操作,通知第二遍历单元;
所述第一遍历单元,用于接收到所述确定单元的通知后,从所述哈希链表中的第一个哈希值开始依次遍历所述哈希链表中M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,所述N能被M整除,之后发送通知给判断单元;
所述判断单元,用于接收到所述第一遍历单元或第二遍历单元的通知后,判断所述哈希链表中被遍历到的第M个哈希值是否为所述哈希链表的最后一个哈希值,如果是,将所述哈希链表中的第1个哈希值记录为下一个周期开始遍历的位置,否则,将所述哈希链表中当前周期内被遍历到的最后一个哈希值的下一个哈希值记录为下一个周期开始遍历的位置;
所述第二遍历单元,用于接收到所述确定单元的通知后,从上一个周期记录的遍历位置开始依次遍历所述哈希链表中的M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,之后发送通知给判断单元。
在上面描述中,所述第一遍历单元或第二遍历依次遍历所述哈希链表中的M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡包括:
C1,分配一个针对本次遍历的缓冲区;
C2,将遍历到的第一个哈希值作为当前哈希值;
C3,将遍历到的当前哈希值对应的第一个组播转发表作为当前组播转发表;
C4,按照不覆盖所述缓冲区已记录数据的原则顺序记录当前组播转发表的关键字和对应的流量统计信息至所述缓冲区;
C5,判断所述缓冲区是否已满,如果是,则将所述缓冲区记录的数据发送至主控卡,否则,执行步骤C6;
C6,判断所述当前哈希值对应的组播转发表是否被遍历完,如果是,执行步骤C7,否则,遍历所述当前哈希值对应的当前组播转发表的下一个组播转发表,将该遍历到的组播转发表作为当前组播转发表,返回步骤C4;
C7,判断当前周期内的M个哈希值是否被遍历完,如果是,执行步骤C8,否则,遍历当前哈希值的下一个哈希值,将该遍历到的哈希值作为当前哈希值,返回步骤C3;
C8,判断所述缓冲区是否记录了数据,如果是,将所述缓冲区记录的数据发送至主控卡,释放所述缓冲区,否则,释放所述缓冲区。
另外,本发明还提供了主控卡的结构。参见图10,图10为本发明实施例提供的主控卡结构图。该主控卡应用于包含如上所述的线卡的分布式通信设备中,如图10所示,该主控卡可包括:
接收模块,用于接收线卡通过周期遍历已存储的至少一个组播转发表所遍历到的组播转发表的流量统计信息;其中,当组播转发表的流量统计信息通过以下方式得到:当线卡接收到组播报文时,从已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息。
记录模块,用于当所述接收模块接收到线卡发送的关键字和对应的流量统计信息时,根据所述关键字在所述主控卡已存储的组播表项中查找所述关键字对应的组播表项,如果查找到,将该关键字对应的流量统计信息记录至该查找到的表项中。
至此,完成本发明提供的装置结构描述。
由以上技术方案可以看出,本发明中,线卡数据转发层主动报告组播流量信息给主控卡控制层,而非现有技术的主控卡主动向线卡数据转发层请求组播流量信息,这一方面能够减少主控卡由于获取组播流量信息对主控卡与线卡之间通道的占用,节约了主控卡与线卡之间的通信带宽,另一方面,能够保证主控卡获取精确的组播流量信息。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种分布式通信设备中主控卡获取组播流量方法,所述分布式通信设备至少包括:线卡、主控卡以及交换卡,其特征在于,该方法包括:
A,每一线卡接收到组播报文时,从已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息;其中,所述线卡存储的组播转发表采用哈希hash链表方式组织,所述哈希链表包含N个哈希值,每一哈希值对应至少一个组播转发表;
B,每一线卡周期性地遍历已存储的至少一个组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,具体为:
B1,每一线卡在遍历周期到达时,如果当前是首次执行遍历组播转发表的操作,执行步骤B2,如果是非首次执行遍历组播转发表的操作,执行步骤B4;
B2,从所述哈希链表中的第一个哈希值开始依次遍历所述哈希链表中M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,所述N能被M整除,之后执行步骤B3;
B3,判断所述哈希链表中被遍历到的第M个哈希值是否为所述哈希链表的最后一个哈希值,如果是,将所述哈希链表中的第1个哈希值记录为下一个周期开始遍历的位置,否则,将所述哈希链表中当前周期内被遍历到的最后一个哈希值的下一个哈希值记录为下一个周期开始遍历的位置;
B4,从上一个周期记录的遍历位置开始依次遍历所述哈希链表中的M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,执行步骤B3。
2.根据权利要求1所述的方法,其特征在于,步骤A中,确定组播报文是否为跨卡输入报文包括:
当所述组播报文是从其他线卡发送至交换卡、且交换卡又发送至所述线卡时,确定所述组播报文为跨卡输入报文,否则,确定所述组播报文不为跨卡输入报文。
3.根据权利要求1所述的方法,其特征在于,步骤B2或步骤B3中,所述依次遍历所述哈希链表中M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡包括:
C1,分配一个针对本次遍历的缓冲区;
C2,将遍历到的第一个哈希值作为当前哈希值;
C3,将遍历到的当前哈希值对应的第一个组播转发表作为当前组播转发表;
C4,按照不覆盖所述缓冲区已记录数据的原则顺序记录当前组播转发表的关键字和对应的流量统计信息至所述缓冲区;
C5,判断所述缓冲区是否已满,如果是,则将所述缓冲区记录的数据发送至主控卡,否则,执行步骤C6;
C6,判断所述当前哈希值对应的组播转发表是否被遍历完,如果是,执行步骤C7,否则,遍历所述当前哈希值对应的当前组播转发表的下一个组播转发表,将该遍历到的组播转发表作为当前组播转发表,返回步骤C4;
C7,判断当前周期内的M个哈希值是否被遍历完,如果是,执行步骤C8,否则,遍历当前哈希值的下一个哈希值,将该遍历到的哈希值作为当前哈希值,返回步骤C3;
C8,判断所述缓冲区是否记录了数据,如果是,将所述缓冲区记录的数据发送至主控卡,释放所述缓冲区,否则,释放所述缓冲区。
4.根据权利要求1至3任一所述的方法,其特征在于,该方法进一步包括:
当主控卡接收到线卡发送的关键字和对应的流量统计信息时,根据所述关键字在主控卡已存储的组播表项中查找所述关键字对应的组播表项,如果查找到,将该关键字对应的流量统计信息记录至该查找到的表项中。
5.一种线卡,所述线卡应用于分布式通信设备中,其特征在于,该线卡包括:
组播报文转发引擎模块,用于在接收到组播报文时,从所述线卡已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息;所述线卡存储的组播转发表采用哈希hash链表方式组织,所述哈希链表包含N个哈希值,每一哈希值对应至少一个组播转发表;
组播流量统计信息发送模块,用于周期性地遍历已存储的至少一个组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,所述组播流量统计信息发送模块具体包括:
确定单元,用于在遍历周期到达时,如果当前是首次执行遍历组播转发表的操作,通知第一遍历单元,如果是非首次执行遍历组播转发表的操作,通知第二遍历单元;
所述第一遍历单元,用于接收到所述确定单元的通知后,从所述哈希链表中的第一个哈希值开始依次遍历所述哈希链表中M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,所述N能被M整除,之后发送通知给判断单元;
所述判断单元,用于接收到所述第一遍历单元或第二遍历单元的通知后,判断所述哈希链表中被遍历到的第M个哈希值是否为所述哈希链表的最后一个哈希值,如果是,将所述哈希链表中的第1个哈希值记录为下一个周期开始遍历的位置,否则,将所述哈希链表中当前周期内被遍历到的最后一个哈希值的下一个哈希值记录为下一个周期开始遍历的位置;
所述第二遍历单元,用于从上一个周期记录的遍历位置开始依次遍历所述哈希链表中的M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡,之后发送通知给判断单元。
6.根据权利要求5所述的线卡,其特征在于,所述组播报文转发引擎模块在所述组播报文是从其他线卡发送至交换卡、且交换卡又发送至所述线卡时,确定所述组播报文为跨卡输入报文,否则,确定所述组播报文不为跨卡输入报文。
7.根据权利要求5所述的线卡,其特征在于,所述第一遍历单元或第二遍历依次遍历所述哈希链表中的M个哈希值对应的组播转发表,将遍历到的组播转发表的流量统计信息发送至主控卡包括:
C1,分配一个针对本次遍历的缓冲区;
C2,将遍历到的第一个哈希值作为当前哈希值;
C3,将遍历到的当前哈希值对应的第一个组播转发表作为当前组播转发表;
C4,按照不覆盖所述缓冲区已记录数据的原则顺序记录当前组播转发表的关键字和对应的流量统计信息至所述缓冲区;
C5,判断所述缓冲区是否已满,如果是,则将所述缓冲区记录的数据发送至主控卡,否则,执行步骤C6;
C6,判断所述当前哈希值对应的组播转发表是否被遍历完,如果是,执行步骤C7,否则,遍历所述当前哈希值对应的当前组播转发表的下一个组播转发表,将该遍历到的组播转发表作为当前组播转发表,返回步骤C4;
C7,判断当前周期内的M个哈希值是否被遍历完,如果是,执行步骤C8,否则,遍历当前哈希值的下一个哈希值,将该遍历到的哈希值作为当前哈希值,返回步骤C3;
C8,判断所述缓冲区是否记录了数据,如果是,将所述缓冲区记录的数据发送至主控卡,释放所述缓冲区,否则,释放所述缓冲区。
8.一种主控卡,其特征在于,所述主控卡应用于包含如权利要求5至7任一所述的线卡的分布式通信设备中,包括:
接收模块,用于接收线卡通过周期遍历已存储的至少一个组播转发表所遍历到的组播转发表的流量统计信息;其中,当组播转发表的流量统计信息通过以下方式得到:当线卡接收到组播报文时,从已存储的组播转发表中确定用于转发该组播报文的组播转发表,并确定所述组播报文是否为跨卡输入报文,如果否,在所述组播转发表的流量统计信息中增加所述组播报文的组播流量信息;和/或
记录模块,用于当所述接收模块接收到线卡发送的关键字和对应的流量统计信息时,根据所述关键字在所述主控卡已存储的组播表项中查找所述关键字对应的组播表项,如果查找到,将该关键字对应的流量统计信息记录至该查找到的表项中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110394902.4A CN103139084B (zh) | 2011-12-02 | 2011-12-02 | 分布式通信设备中主控卡获取组播流量方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110394902.4A CN103139084B (zh) | 2011-12-02 | 2011-12-02 | 分布式通信设备中主控卡获取组播流量方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103139084A CN103139084A (zh) | 2013-06-05 |
CN103139084B true CN103139084B (zh) | 2016-01-20 |
Family
ID=48498410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110394902.4A Active CN103139084B (zh) | 2011-12-02 | 2011-12-02 | 分布式通信设备中主控卡获取组播流量方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103139084B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105162712B (zh) * | 2015-10-20 | 2019-01-15 | 烽火通信科技股份有限公司 | 一种路由器中分布式协议的实现方法及*** |
CN105429823B (zh) * | 2015-12-17 | 2018-06-01 | 迈普通信技术股份有限公司 | 分布式通信设备中组播流量检测方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825836A (zh) * | 2006-04-04 | 2006-08-30 | 中兴通讯股份有限公司 | 避免网络设备拥塞的***和方法 |
CN101364889A (zh) * | 2008-09-24 | 2009-02-11 | 中兴通讯股份有限公司 | 一种快速接入组播用户的方法 |
CN101488862A (zh) * | 2009-02-23 | 2009-07-22 | 中兴通讯股份有限公司 | 分布式以太网交换机及其内部的mac地址维护方法 |
CN102143006A (zh) * | 2011-04-18 | 2011-08-03 | 福建星网锐捷网络有限公司 | 通讯设备中的接口拓扑控制方法、***及装置 |
-
2011
- 2011-12-02 CN CN201110394902.4A patent/CN103139084B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1825836A (zh) * | 2006-04-04 | 2006-08-30 | 中兴通讯股份有限公司 | 避免网络设备拥塞的***和方法 |
CN101364889A (zh) * | 2008-09-24 | 2009-02-11 | 中兴通讯股份有限公司 | 一种快速接入组播用户的方法 |
CN101488862A (zh) * | 2009-02-23 | 2009-07-22 | 中兴通讯股份有限公司 | 分布式以太网交换机及其内部的mac地址维护方法 |
CN102143006A (zh) * | 2011-04-18 | 2011-08-03 | 福建星网锐捷网络有限公司 | 通讯设备中的接口拓扑控制方法、***及装置 |
Non-Patent Citations (1)
Title |
---|
一体化网络中组播管理机制的设计与实现;李凯;《北京交通大学硕士研究生学位论文》;20100215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103139084A (zh) | 2013-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100450039C (zh) | 快速收敛端到端业务的方法和装置 | |
JP5760083B2 (ja) | プライマリマルチキャストツリーからスタンバイマルチキャストツリーに高速に切り換えるための方法および装置 | |
US7778266B2 (en) | Switch and network fault recovery method | |
CN103748835A (zh) | 标签交换路径的动态更新 | |
WO2015149481A1 (zh) | 业务链路由方法及***、及***中的设备 | |
CN102301663A (zh) | 一种报文处理方法及相关设备 | |
KR101457317B1 (ko) | 라우팅 정보 업데이트의 우선 순위 지정 | |
CN101710875A (zh) | 一种实现快速重路由的方法及装置 | |
CN103023773B (zh) | 多拓扑网络中转发报文的方法、装置和*** | |
CN104767680A (zh) | 路由快速切换的方法和装置 | |
CN113196705A (zh) | 组播流量的路径内遥测 | |
CN102647328B (zh) | 一种标签分配方法、设备与*** | |
US20110128957A1 (en) | Multicast tree state replication | |
US20120011278A1 (en) | Systems and Methods for Removing Stale Mapping Entries for Network Element | |
CN100561978C (zh) | 一种策略路由装置和方法 | |
CN101909006A (zh) | 双向转发检测报文发送、接收方法及其装置与通信*** | |
CN103139084B (zh) | 分布式通信设备中主控卡获取组播流量方法和装置 | |
CN102123098B (zh) | 一种p2mp组播隧道的保护切换方法和*** | |
CN107547377B (zh) | 一种组播流量传输方法和装置 | |
KR101465712B1 (ko) | 네트워크 구성 방법, 링 네트워크 시스템, 노드 | |
CN103238299B (zh) | 建立标签交换路径的方法、设备和*** | |
CN105743784A (zh) | 一种部署大容量业务时的切换控制方法及装置 | |
CN102404218B (zh) | 一种隧道切换方法及装置 | |
CN103001871A (zh) | 一种标签分配方法及装置 | |
CN108337181B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |