一种组播报文负载分担的均衡方法及装置与流程

文档序号:17896540发布日期:2019-06-13 16:02阅读:427来源:国知局
一种组播报文负载分担的均衡方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种组播报文负载分担的均衡方法及装置。



背景技术:

在当前的分布式的交换机中,入接口板和出接口板均是由多块线卡板组成,流量从入接口板的入口线卡板进入后,通过交换板的板间通道转发到有出接口板的每块出口线卡板。

针对视频监控场景下的组播报文的转发,通常会在入接口板上设置组播端口组,以使组播端口组的多个成员端口接收上行的组播报文;而出接口板上通常会设置聚合端口组,上述组播报文通常会根据流量特征进行hash计算,然后根据hash结果,选择聚合端口组中的出端口转发出去。

但是通过流量特征进行hash的负载分担方法,例如根据组播报文的ip地址或者五元组信息等特征进行hash计算时,计算结果会严重依赖组播报文的变化情况,无法控制负载分担结果的均衡程度,特别是在组播报文比较少的情况下,无法保证分担的结果相对均衡,很容易导致有的出端口拥塞,有的出端口相对空闲。负载不均衡会导致链路出现拥塞丢包,从而影响组播视频这种非常重要业务的用户体验。

目前有些芯片厂家提供了一些可以实现负载相对均衡的技术,比如dlb,dbm等,但都只是针对单播报文有效,对于组播的负载分担均衡方法,目前芯片厂家并无优化方案。



技术实现要素:

有鉴于此,本发明提供一种组播报文负载分担的均衡方法及装置,来避免组播报文在聚合出端口负载分担不均衡的问题。

具体地,本发明是通过如下技术方案实现的:

本发明提供一种组播报文负载分担的均衡方法,所述方法应用于交换机,所述方法包括:

通过本地入接口板上第一端口接收到组播报文,将已为所述第一端口分配的指定lbn携带在所述组播报文中并发送至本地出接口板;

通过本地出接口板上第二端口接收到组播报文,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,从接收的组播报文中删除所述指定lbn并通过第三端口转发。

作为一个实施例,所述方法还包括:

预先创建用于接收所述组播报文的组播端口组,所述组播端口组的成员端口中包括所述第一端口;

根据第一规则为所述组播端口组的成员端口分配所述指定lbn;

根据第二规则为所述入接口板上的所述组播端口组的非成员端口分配指定lbn;

以使所述入接口板上的不同端口对应不同的指定lbn。

作为一个实施例,根据第一规则为所述组播端口组的成员端口分配所述lbn,包括:

从所述入接口板上的端口对应的缺省lbn中,获取与所述成员端口数量相同,且编号连续的缺省lbn代替所述成员端口原有的缺省lbn,作为所述成员端口的指定lbn。

作为一个实施例,根据第二规则为所述入接口板上的所述组播端口组的非成员端口分配lbn,包括:

若所述非成员端口对应的缺省lbn未被所述成员端口占用,则将所述非成员端口对应的缺省lbn作为所述非成员端口的指定lbn;

若所述非成员端口对应的缺省lbn以被所述成员端口占用,则将已释放的所述成员端口原有的缺省lbn作为所述非成员端口的指定lbn。

作为一个实施例,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,包括:

依据接收的组播报文所携带的指定lbn,从预先在所述出接口板上创建的广播掩码表中,获取所述指定lbn对应的用比特位标识的出端口位置;

从所述出端口位置中确定预设比特值所在的比特位,将所述比特位对应的出端口作为所述第三端口。

基于相同的构思,本发明还提供一种组播报文负载分担的均衡装置,所述装置应用于交换机,所述装置包括:

接收单元,用于通过本地入接口板上第一端口接收到组播报文,将已为所述第一端口分配的指定lbn携带在所述组播报文中并发送至本地出接口板;

转发单元,用于通过本地出接口板上第二端口接收到组播报文,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,从接收的组播报文中删除所述指定lbn并通过第三端口转发。

作为一个实施例,所述装置还包括:

创建单元,用于预先创建用于接收所述组播报文的组播端口组,所述组播端口组的成员端口中包括所述第一端口;

第一分配单元,用于根据第一规则为所述组播端口组的成员端口分配所述指定lbn;

第二分配单元,用于根据第二规则为所述入接口板上的所述组播端口组的非成员端口分配指定lbn;以使所述入接口板上的不同端口对应不同的指定lbn。

作为一个实施例,所述第一分配单元,具体用于从所述入接口板上的端口对应的缺省lbn中,获取与所述成员端口数量相同,且编号连续的缺省lbn代替所述成员端口原有的缺省lbn,作为所述成员端口的指定lbn。

作为一个实施例,所述第二分配单元,具体用于若所述非成员端口对应的缺省lbn未被所述成员端口占用,则将所述非成员端口对应的缺省lbn作为所述非成员端口的指定lbn;若所述非成员端口对应的缺省lbn以被所述成员端口占用,则将已释放的所述成员端口原有的缺省lbn作为所述非成员端口的指定lbn。

作为一个实施例,所述转发单元,具体用于依据接收的组播报文所携带的指定lbn,从预先在所述出接口板上创建的广播掩码表中,获取所述指定lbn对应的用比特位标识的出端口位置;从所述出端口位置中确定预设比特值所在的比特位,将所述比特位对应的出端口作为所述第三端口。

基于相同的构思,本公开还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述组播报文负载分担的均衡方法的任一步骤。

由此可见,本发明可以使交换机通过本地入接口板上第一端口接收到组播报文时,将已为所述第一端口分配的指定lbn携带在该组播报文中并发送至本地出接口板;并通过本地出接口板上第二端口接收到组播报文,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,然后从接收的组播报文中删除所述指定lbn并通过第三端口转发。相比于现有技术,本发明可以通过复用入接口板上端口配置的指定lbn来实现在出接口板上通过组播报文携带的指定lbn代替通过报文特征进行负载分担,从而可以避免解析报文特征的过程,缩短转发时间;同时本发明还可以通过为指定lbn的组播报文分配指定的出端口,来实现出端口上负载分担的均匀分配目的,从而可以提高出口带宽资源的利用率。

附图说明

图1是现有技术中的一种分布式交换机的结构示意图;

图2是本发明一种示例性实施方式中的一种组播报文负载分担的均衡方法的处理流程图;

图3是本发明一种示例性实施方式中的分布式交换机的应用示意图;

图4是本发明一种示例性实施方式中的广播掩码表的示意图;

图5本发明一种示例性实施方式中的组播报文负载分担的均衡装置的逻辑结构图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

请参考图1,为分布式交换机的结构示意图,该分布式交换机10包括入接口板11、出接口板12及用于为两者提供板间通道的交换板13;其中入接口板11和出接口板12上均分布着多块线卡板,每块线卡板上有多个端口用于收发流量数据。通常在入接口板11上的每个端口上均预先配置了缺省lbn(负载均衡编号)值,用于将不同端口的流量分担到不同的板间通道进行传输。具体分配方法可以通过hash算法计算缺省lbn的hash值,从而根据该hash值确定对应的传输通道。在现有的交换机中,以图1示图为例,假设入接口板11有4块线卡板,交换板13到每块线卡板均有3个hg口,则交换板13到入接口板11的4块线卡板一共12个hg口,而入接口板11的每块线卡板为6个端口,则入接口板11的端口共有24个。在初始状态下,每个端口均有设置对应的缺省lbn,例如,端口1的缺省lbn为0,端口2的缺省lbn为1,以此类推,端口24的缺省lbn为23,24个端口通过缺省lbn,在12条hg链路上进行分担,则每两个端口对应一个hg口,例如端口1和端口13对应hg0口,端口2和端口14对应hg1口,依次类推,端口13和端口24对应hg12口。

在视频监控的应用场景下,通常入接口板11上会预先针对组播业务配置相应的接入组播端口组(以下简称组播端口组),用于接收上行的组播报文,其中所述组播端口组中的成员端口的速率一致,其成员端口可以分布在多块线卡板上;出接口板12预先配置uplink(上行)组播聚合端口组(以下简称聚合端口组),所述聚合端口组中的成员端口可以分布在不同的线卡板上,每个成员端口的速率一致,由于当前应用环境为视频监控应用,不同组播端口组的成员端口收到的组播报文会在聚合端口组发生汇聚,因此导致交换机的其上行流量较大,因此聚合端口组的成员端口的速率通常需要大于等于组播端口组中的成员端口速率,例如,若组播端口组中的成员端口的速率为10g,则聚合端口组中的成员端口速率则可以为40g或者100g。

目前针对视频监控的组播报文转发,通常会根据组播报文特征进行hash计算,然后根据hash结果,选择聚合端口组中的出端口转发,但是通过流量特征进行hash的负载分担方法,计算结果会严重依赖组播报文的变化情况,无法控制负载分担结果的均衡程度,特别是在组播报文比较少的情况下,无法保证分担的结果相对均衡,很容易导致有的出端口拥塞,有的出端口相对空闲。

为了解决现有技术存在的问题,本发明提供一种组播报文负载分担的均衡方法及装置,可以使交换机通过本地入接口板上第一端口接收到组播报文时,将已为所述第一端口分配的指定lbn携带在该组播报文中并发送至本地出接口板;并通过本地出接口板上第二端口接收到组播报文,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,然后从接收的组播报文中删除所述指定lbn并通过第三端口转发。相比于现有技术,本发明可以通过复用入接口板上端口配置的指定lbn来实现在出接口板上通过组播报文携带的指定lbn代替通过报文特征进行负载分担,从而可以避免解析报文特征的过程,缩短转发时间;同时本发明还可以通过为指定lbn的组播报文分配指定的出端口,来实现出端口上负载分担的均匀分配目的,从而可以提高出口带宽资源的利用率。

请参考图2,是本发明一种示例性实施方式中的一种组播报文负载分担的均衡的方法的处理流程图,所述方法应用于交换机,所述方法包括:

步骤201、通过本地入接口板上第一端口接收到组播报文,将已为所述第一端口分配的指定lbn携带在所述组播报文中并发送至本地出接口板;

在本实施例中,为了接收组播报文,可以根据应用场景需求,在初始化阶段,预先创建用于接收所述组播报文的组播端口组,所述组播端口组的成员端口中包括所述第一端口;然后根据第一规则为所述组播端口组的成员端口分配所述指定lbn;根据第二规则为所述入接口板上的所述组播端口组的非成员端口分配指定lbn;以使所述入接口板上的不同端口对应不同的指定lbn,由于不同的指定lbn对应不同的板间通道,因此还可以保证不同的成员端口的组播报文可以从不同的板间通道发送到出接口板。

作为一个实施例,根据第一规则为所述组播端口组的成员端口分配所述指定lbn具体是从所述入接口板上的端口对应的缺省lbn中,获取与所述成员端口数量相同,且编号连续的缺省lbn代替所述成员端口原有的缺省lbn,作为所述成员端口的指定lbn。

例如,参见图3,假设lc1、lc2、lc3上配置了组播端口组,包括lc1上的端口3,5,7;lc2上的端口1,2,9,13和lc3上的入接口6,8,12,17,21,这些端口则为该组播端口组的成员端口;在初始化配置阶段,可以对于该组播端口组的上述成员端口,按照槽位号从小到大的顺序,重新进行lbn的分配设置,对成员端口进行全局连续lbn分配,由于上述一共12个成员端口,则获取缺省lbn为0~11,作为成员端口的指定lbn,具体如下:

lc1[3,5,7]—>指定lbn[0,1,2];

lc2[1,2,9,13]->指定lbn[3,4,5,6];

lc3[6,8,12,17,21]->指定lbn[7,8,9,10,11];

由于上述成员端口的槽位并不连续,其对应的缺省lbn也不是连续的,而本发明通过为这些成员端口设置连续的指定lbn值,可以保证后续在出接口板上根据指定lbn进行hash时,可以尽可能的得到均匀的hash结果。

由于这些成员端口之前设置了缺省lbn,现在本发明为这些成员端设置了指定lbn后,说明入接口板上的非成员端口的缺省lbn可能被成员端口占用,因此可以进一步根据为所述成员端口分配的指定lbn调整所述入接口板上的作为非成员端口所对应的缺省lbn,以使每个端口都对应不同的lbn。

作为一个实施例,可以根据第二规则为所述入接口板上的所述组播端口组的非成员端口分配lbn,具体为,若所述非成员端口对应的缺省lbn未被所述成员端口占用,则将所述非成员端口对应的缺省lbn作为所述非成员端口的指定lbn;若所述非成员端口对应的缺省lbn以被所述成员端口占用,则将已释放的所述成员端口原有的缺省lbn作为所述非成员端口的指定lbn。

以图3中的lc1线卡板为例,假设此线卡板为一块12端口10g端口,每个端口对应的缺省lbn具体为:

lc1[1,2,3,4,5,6,7,8,9,10,11,12]—>缺省lbn[0,1,2,3,4,5,6,7,8,9,10,11]

当成员端口3,5,7分配指定lbn0,1,2后,那么非成员端口1,2,4,6,8,9,10,11,12中,指定lbn0,1,2对应的非成员端口1,2,3的缺省lbn被占用,则需要重新调整;由于lbn0,1,2已经分配给组播端口组成员端口3,5,7,而成员端口3,5,7的缺省lbn为2,4,6则被释放,因此,可以将释放的缺省lbn2,4,6作为指定lbn分配给这非成员端口lc1[1,2,3],则重新分配的结果如下:

lc1[1,2,3]->指定lbn[2,4,6];

由于本发明可以只改变被占用lbn的非成员端口的缺省lbn,其他非成员端口的缺省lbn保持不变,从而保证了尽可能少的改动端口的缺省lbn,又可以使本板所有端口lbn的设置,能够保证到交换板的负载均衡;

同理,针对lc2,做如下分配:

lc2[4,5,6,7]->指定lbn[0,1,8,12];

需要说明的是,如果有指定lbn本身就是其中某个成员口的缺省lbn时,以lc3为例,本板的成员端口分配指定lbn时,比如lc3中的端口8,其缺省lbn7,而其对应的指定lbn也为7,因此说明缺省lbn为7的端口未被占用,那么在为非成员端口分配指定lbn时,需要去除这个端口(端口8),因此针对lc3,做如下分配:

lc3[9,10,11,12]->指定lbn[5,11,16,20];

按照上述的lbn设置和调整原则,可能出现在某块线卡板上,分配的指定lbn大于本板端口数,例如假设还有一块接入线卡板lc6,一共有6个端口,端口1~6对应的缺省lbn为0~5,设置其中端口5和6为成员端口,那么延续上述成员端口的指定lbn分配规则:

新增的lc6[5,6]->指定lbn[12,13];

由于上述交换板的hg口共12个,而该线卡板lc6对应的指定lbn为12,13,则指定lbn大于分配的hg口数,因此可以采用循环复用的方法,使指定lbn为12,13分别对应hg口1和hg口2,由于这样会导致lc6上的成员端口5和6占用了该线卡板lc6的非成员端口2和3对应的缺省lbn以及hg口的资源,那么可将非成员端口2和3的指定lbn配置为成员端口5和6释放的缺省lbn4和5,配置结果为:

lc6[2,3]->指定lbn[4,5]。

当后续组播端口组的成员端口发生配置变化时,成员端口和非成员端口对应的lbn也会根据上述原则相应的调整。

至此,端口的初始化设置过程结束。

因此当通过本地入接口板上第一端口接收到组播报文时,可以将已为所述第一端口分配的指定lbn携带在所述组播报文中,例如可以将该指定lbn添加到组播报文封装的描述符中,之后后通过交换板上与所述指定lbn相对应的板间通道将所述组播报文发送至出接口板的聚合端口组。

步骤202、通过本地出接口板上第二端口接收到组播报文,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,从接收的组播报文中删除所述指定lbn并通过第三端口转发。

在本实施例中,交换机可以通过本地出接口板上第二端口接收到组播报文,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,具体来讲,可以依据接收的组播报文所携带的指定lbn,从预先在所述出接口板上创建的广播掩码表中,获取所述指定lbn对应的用比特位标识的出端口位置;从所述出端口位置中确定预设比特值所在的比特位,将所述比特位对应的出端口作为用于转发该组播报文的第三端口,确定第三端口后,可以从接收的组播报文中删除所述指定lbn,并通过第三端口转发该组播报文。

举例来讲,假设线卡板lc4和lc5上配置了用于接收上行组播报文的聚合端口组,其中包括lc4上的端口2,4,5,6;lc5上的端口7,8;根据该聚合端口组设置的该广播掩码表如图4所示,左边为lc4对应的广播掩码表,右边为lc5对应的广播掩码表,其中该广播掩码表为全局表,包含一块线卡板中的全部端口的设置情况,表的左侧为lbn,右侧为出端口位置,该出端口位置中包含了本板的所有物理端口,每个物理端口对于一个比特位,如果置位为1,则表示不允许从此端口出去;如果置位为0,则表示允许从此端口出去。因此在初始化阶段,会根据入接口板的成员端口数量及对应的指定lbn的配置情况在出接口板的广播掩码表中进行配置,保证入接口板的成员端口的组播报文都有指定的唯一一个出端口转发。

例如,参见图3和图4,由于组播端口组中有12个成员端口,分别对应指定lbn为0~11,而聚合端口组中包含lc4上的成员端口2,4,5,6,和lc5上的成员端口包括7,8;则配置的广播掩码表中,要包含上述指定lbn,以及为不同的指定lbn分配不同的出端口,每个出端口在lc4和lc5的两张广播掩码表中只有唯一的出端口位置。例如,可以为指定lbn为0的端口配置对应的出端口为lc4上的端口2,则对应的广播掩码表为lc4上的广播掩码表,其中lbn为0对应的出端口位置的比特位为“111111111101”,由于其中倒数第2位的比特位被置位为0,则说明lc4的端口2可以作为携带指定lbn为0的组播报文的出端口;而即使lc5的广播掩码表中也存在lbn为0的出端口位置,但为了保证全局只有一个出端口转发的原则,则lc5的出端口位置则为“111111111111”,表示没有可用的出端口。若后续组播端口组中成员端口的指定lbn发生变化,或者是聚合端口组的成员端口发生变化时,可以适应性调整广播掩码表,从而保证出端口的全局唯一性。

相比于现有技术,本发明通过组播端组的成员端口的指定lbn的合理规划设置,来确保成员端口进入的组播报文能够从聚合端口组的唯一指定的出端口发送出去,因此通过lbn代替根据报文特征进行hash的负载分担,最终确保聚合端口组的组播报文能够最大化利用上行带宽,避免负载分担不均衡的问题;并且不需要依赖进入的组播报文的特征,从而无需解析流量特征,进而可以提升流量转发速率。

为使本发明的目的、技术方案及优点更加清楚明白,下面以视频监控应用场景下的组播报文负载分担方法为例,结合图1、图3和图4对本发明的方案作进一步地详细说明。

参见图3,假设lc1、lc2、lc3上配置了接入组播端口组,包括lc1上的端口3,5,7;lc2上的端口1,2,9,13;lc3上的端口6,8,12,17,21;lc4和lc5上配置了级联聚合端口组,包括lc4上端口2,4,5,6;lc5上端口7,8。

在初始化配置阶段,可以对于组播端口组成员端口,按照槽位号从小到大的顺序,重新进行lbn的分配设置,对成员端口进行全局连续指定lbn分配,一共12个端口,则lbn为0至11;具体如下:

lc1[3,5,7]—>指定lbn[0,1,2]

lc2[1,2,9,13]->指定lbn[3,4,5,6]

lc3[6,8,12,17,21]->指定lbn[7,8,9,10,11]

对于lc1,lc2,lc3上的非成员端口对应的缺省lbn也需要进行相应调整,调整结果为:

lc1[1,2,3]->缺省lbn改为[2,4,6];

lc2[4,5,6,7]->缺省lbn改为[0,1,8,12];

lc3[9,10,11,12]->缺省lbn改为[5,11,16,20]。

假设线卡板lc4和lc5上配置了聚合端口组,包括lc4上的端口2,4,5,6;lc5上的端口7,8;根据该聚合端口组设置的该广播掩码表如图4所示,左边为lc4对应的广播掩码表,右边为lc5对应的广播掩码表,全局一共有6个出端口,由于组播端口组共有12个成员端口,则每两个成员端口对应一个出接口,根据指定lbn进行划分,结果为:

指定lbn0和6对应lc4的出端口2;

指定lbn1和7对应lc4的出端口4;

指定lbn2和8对应lc4的出端口5;

指定lbn3和9对应lc4的出端口6;

指定lbn4和10对应lc5的出端口7;

指定lbn5和11对应lc4的出端口8;

根据上述结果配置广播掩码表,如图4所示,其中每个lbn都唯一对应一个可用的出端口。

当入接口板上的的成员端口(lc1中的端口3,5,7和lc2中的端口9)收到报文特征相同的组播报文时,可以将上述初始化时为这些端口配置的指定lbn添加到成员端口的组播报文的描述符中。其中,lc1中的端口3,5,7和lc2中的端口9,转发的组播报文分别携带的指定lbn为0,1,2,5。

交换板根据指定lbn对应的板间通道将这些组播报文从入接口板转发到出接口板。

出接口板上的lc4和lc5收到组播报文后,出接口板根据组播报文携带的描述符中的指定lbn,从广播掩码表中查找对应的出端口位置,从而确定组播报文对应的全局唯一的出端口进行转发。

其中,指定lbn为0,1,2,5,在广播掩码表中对应的出端口位置分别为:

指定lbn0对应lc4的出端口2;

指定lbn1对应lc4的出端口4;

指定lbn2对应lc4的出端口5;

指定lbn5对应lc4的出端口8;

因此上述组播报文最终分别通过lc4的出端口2,4,5和lc5的出端口8转发,转发过程如图3的曲线箭头所示。

如果是现有技术,会根据组播报文的报文特征进行hash,由于这些组播报文的报文特征相同,则出接口板进行hash的结果很可能是将这几个组播报文都分配到同一个出端口转发,从而导致一个出端口拥塞,其他出端口空闲;而本发明的出接口板不再根据报文特征计算hash值,而是根据组播报文携带的描述符中的指定lbn进行hash,由于不同组播报文的指定lbn不同,因此对应的出端口也不同,从而可以保证在组播报文较少的情况下,仍然可以实现负载均衡,避免出现聚合端口阻塞或者空闲的情况,从而可以提升端口的利用率。

基于相同的构思,本发明还提供一种组播报文负载分担的均衡装置,该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,本发明的组播报文负载分担的均衡装置作为一个逻辑意义上的装置,是通过其所在装置的cpu将存储器中对应的计算机程序指令读取后运行而成。

请参考图5,是本发明一种示例性实施方式中的一种组播报文负载分担的均衡装置500,所述装置应用于交换机,该装置基本运行环境包括cpu,存储器以及其他硬件,从逻辑层面上来看,该装置500的逻辑结构如图5所示,其中包括:

接收单元501,用于通过本地入接口板上第一端口接收到组播报文,将已为所述第一端口分配的指定lbn携带在所述组播报文中并发送至本地出接口板;

转发单元502,用于通过本地出接口板上第二端口接收到组播报文,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,从接收的组播报文中删除所述指定lbn并通过第三端口转发。

作为一个实施例,所述装置还包括:

创建单元503,用于预先创建用于接收所述组播报文的组播端口组,所述组播端口组的成员端口中包括所述第一端口;

第一分配单元504,用于根据第一规则为所述组播端口组的成员端口分配所述指定lbn;

第二分配单元505,用于根据第二规则为所述入接口板上的所述组播端口组的非成员端口分配指定lbn;以使所述入接口板上的不同端口对应不同的指定lbn。

作为一个实施例,所述第一分配单元504,具体用于从所述入接口板上的端口对应的缺省lbn中,获取与所述成员端口数量相同,且编号连续的缺省lbn代替所述成员端口原有的缺省lbn,作为所述成员端口的指定lbn。

作为一个实施例,所述第二分配单元505,具体用于若所述非成员端口对应的缺省lbn未被所述成员端口占用,则将所述非成员端口对应的缺省lbn作为所述非成员端口的指定lbn;若所述非成员端口对应的缺省lbn以被所述成员端口占用,则将已释放的所述成员端口原有的缺省lbn作为所述非成员端口的指定lbn。

作为一个实施例,所述转发单元502,具体用于依据接收的组播报文所携带的指定lbn,从预先在所述出接口板上创建的广播掩码表中,获取所述指定lbn对应的用比特位标识的出端口位置;从所述出端口位置中确定预设比特值所在的比特位,将所述比特位对应的出端口作为所述第三端口。

上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。

对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

基于相同的构思,本公开还提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本公开实施例提供的组播报文负载分担的均衡方法的任一步骤。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于计算机可读存储介质的实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

综上所述,本发明可以使交换机通过本地入接口板上第一端口接收到组播报文时,将已为所述第一端口分配的指定lbn携带在该组播报文中并发送至本地出接口板;并通过本地出接口板上第二端口接收到组播报文,依据接收的组播报文所携带的指定lbn确定用于转发该接收的组播报文的第三端口,然后从接收的组播报文中删除所述指定lbn并通过第三端口转发。相比于现有技术,本发明可以通过复用入接口板上端口配置的指定lbn来实现在出接口板上通过组播报文携带的指定lbn代替通过报文特征进行负载分担,从而可以避免解析报文特征的过程,缩短转发时间;同时本发明还可以通过为指定lbn的组播报文分配指定的出端口,来实现出端口上负载分担的均匀分配目的,从而可以提高出口带宽资源的利用率。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1