发明内容
本发明实施例提供一种PBB网络中减少冗余流量的方法和设备,以减少报文的传输数量,继而减少冗余流量。
为了达到上述目的,本发明实施例提供一种运营商骨干网桥PBB网络中减少冗余流量的方法,该方法包括以下步骤:
骨干网边缘网桥BEB设备在接收到组播PBB报文时,判断本BEB设备上是否维护有所述组播PBB报文中携带的源用户网介质访问控制C-MAC地址和源骨干网介质访问控制B-MAC地址对应的单播PBB表项;
如果否,则所述BEB设备利用所述源C-MAC地址和所述源B-MAC地址生成相应的单播PBB表项,且所述单播PBB表项的出端口为本BEB设备上接收到所述组播PBB报文的端口;
如果是,则所述BEB设备在确定所述组播PBB报文中携带的目的C-MAC地址为本BEB设备所连私网内设备的MAC地址时,通过所述组播PBB报文中携带的源C-MAC地址和源B-MAC地址对应的单播PBB表项的出端口发送单播PBB报文;其中,所述单播PBB报文中携带的源C-MAC地址为所述组播PBB报文中携带的目的C-MAC地址,所述单播PBB报文中携带的源B-MAC地址为本BEB设备的MAC地址,所述单播PBB报文中携带的目的B-MAC地址为所述组播PBB报文中携带的源B-MAC地址。
所述BEB设备确定所述组播PBB报文中携带的目的C-MAC地址是否为本BEB设备所连私网内设备的MAC地址的方法为:
所述BEB设备利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向地址解析协议ARP请求报文,并通过本BEB设备的关联下行端口向本BEB设备所连私网内设备发送所述反向ARP请求报文;
如果所述BEB设备收到本BEB设备所连私网内设备发送的所述反向ARP请求报文对应的反向ARP应答报文,则确定所述组播PBB报文中携带的目的C-MAC地址为本BEB设备所连私网内设备的MAC地址。
所述组播PBB报文中还携带有虚拟交换实例VSI实例所对应的骨干网服务实例编号I-SID;
当所述BEB设备上维护有所述组播PBB报文中携带的源C-MAC地址和源B-MAC地址对应的单播PBB表项,且所述BEB设备判定本BEB设备上包含有与所述组播PBB报文中携带的I-SID对应的VSI绑定的下行端口时,所述BEB设备在所述下行端口上执行所述确定所述组播PBB报文中携带的目的C-MAC地址是否为本BEB设备所连私网内设备的MAC地址的步骤。
所述方法进一步包括:所述BEB设备在利用所述源C-MAC地址和所述源B-MAC地址生成相应的单播PBB表项时,所述BEB设备在所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中记录所述组播PBB报文中携带的目的C-MAC地址;
所述BEB设备利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向地址解析协议ARP请求报文,具体包括:
当所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中记录有所述组播PBB报文中携带的目的C-MAC地址时,所述BEB设备利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文。
所述BEB设备在所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中记录所述组播PBB报文中携带的目的C-MAC地址之后,所述方法还包括:
所述BEB设备为所述组播PBB报文中携带的目的C-MAC地址启动老化定时器;如果在老化时间内没有收到对应于所述目的C-MAC地址的组播PBB报文,则所述BEB设备从所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中删除所述组播PBB报文中携带的目的C-MAC地址。
本发明实施例提供一种骨干网边缘网桥BEB设备,该BEB设备具体包括:
判断模块,用于在接收到组播PBB报文时,判断本BEB设备上是否维护有所述组播PBB报文中携带的源用户网介质访问控制C-MAC地址和源骨干网介质访问控制B-MAC地址对应的单播PBB表项;
生成模块,用于在判断结果为否时,利用所述源C-MAC地址和所述源B-MAC地址生成相应的单播PBB表项,且所述单播PBB表项的出端口为本BEB设备上接收到所述组播PBB报文的端口;
确定模块,用于在判断结果为是时,确定所述组播PBB报文中携带的目的C-MAC地址为本BEB设备所连私网内设备的MAC地址;
发送模块,用于在判断结果为是,且所述组播PBB报文中携带的目的C-MAC地址为本BEB设备所连私网内设备的MAC地址时,通过所述组播PBB报文中携带的源C-MAC地址和源B-MAC地址对应的单播PBB表项的出端口发送单播PBB报文;其中,所述单播PBB报文中携带的源C-MAC地址为所述组播PBB报文中携带的目的C-MAC地址,所述单播PBB报文中携带的源B-MAC地址为本BEB设备的MAC地址,所述单播PBB报文中携带的目的B-MAC地址为所述组播PBB报文中携带的源B-MAC地址。
所述确定模块,具体用于利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向地址解析协议ARP请求报文,并通过本BEB设备的关联下行端口向本BEB设备所连私网内设备发送所述反向ARP请求报文;如果收到本BEB设备所连私网内设备发送的所述反向ARP请求报文对应的反向ARP应答报文,则确定所述组播PBB报文中携带的目的C-MAC地址为本BEB设备所连私网内设备的MAC地址。
所述组播PBB报文中还携带有虚拟交换实例VSI实例所对应的骨干网服务实例编号I-SID;
所述确定模块,进一步用于当BEB设备上维护有所述组播PBB报文中携带的源C-MAC地址和源B-MAC地址对应的单播PBB表项,且本BEB设备上包含有与所述组播PBB报文中携带的I-SID对应的VSI绑定的下行端口时,在所述下行端口上执行所述确定所述组播PBB报文中携带的目的C-MAC地址是否为本BEB设备所连私网内设备的MAC地址的步骤。
所述生成模块,还用于在利用所述源C-MAC地址和所述源B-MAC地址生成相应的单播PBB表项时,在所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中记录所述组播PBB报文中携带的目的C-MAC地址;
所述确定模块,进一步用于在利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文时,当所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中记录有所述组播PBB报文中携带的目的C-MAC地址时,利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文。
还包括:删除模块,用于在所述源C-MAC地址和源B-MAC地址对应的单播PBB表项中记录所述组播PBB报文中携带的目的C-MAC地址时,并为所述组播PBB报文中携带的目的C-MAC地址启动老化定时器;如果在老化时间内没有收到对应于所述目的C-MAC地址的组播PBB报文,从所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中删除所述组播PBB报文中携带的目的C-MAC地址。
与现有技术相比,本发明实施例至少具有以下优点:本发明实施例中,当PBB链路中连续出现单向的组播PBB报文时,BEB设备主动进行目的设备地址探测,确认目的设备所在位置,并回复源BEB设备,以建立转发所需的单播PBB表项,使后续报文能够以单播方式进行转发,从而有效减少PBB组网环境中的冗余流量,避免大量报文的泛滥,节省带宽资源。
具体实施方式
针对现有技术中存在的问题,本发明实施例提供一种PBB网络中减少冗余流量的方法,该方法应用于包括多个BEB设备的PBB网络中,以图2为本发明实施例的应用场景示意图,BEB1的上行端口1、BEB2的上行端口2和上行端口3、BEB3的上行端口4被指定为同一个VSI的上行口,BEB1的下行端口1、BEB2的下行端口2和下行端口3、BEB3的下行端口4和下行端口5上创建有相应的服务实例,且该服务实例与上述VSI实例相关联。需要说明的是,图2所示的应用场景仅为本发明的一个具体的简化的应用场景,本发明的技术方案的应用并不限于如图2所示的应用场景,不能理解为本发明只能应用于如图2所示的场景,本发明的具体应用场景视具体情况而定,例如可以只包含BEB1和BEB3及其相应的私网部分,如PBB网络的拓扑结构更加的复杂,BEB1与BEB3之间有多条路由可达的情况等等。
其中,上述VSI实例对应的B-VLAN为VLAN1,I-SID为I-SID1。
该实施例中,以设备D为服务器,设备A上有发往设备D的日志信息流或其它形式的数据流,且设备D不会向设备A回应数据接收情况为例来说明本发明实施例的技术方案。图2所示的场景中,对于BEB1与BEB3之间的PBB链路,BEB2相当于一台BCB设备,将走普通转发发送PBB报文。
基于上述应用场景,如图3所示,该方法包括以下步骤:
步骤301,BEB1的下行端口1在首次收到设备A发送给设备D的报文后,BEB1通过该报文中携带的目的C-MAC地址查询获知本BEB1没有该报文对应的单播PBB表项,因此将报文封装成组播PBB报文,并进行组播转发。在该组播PBB报文中,公网目的MAC地址为组播地址,公网源MAC地址为BEB1的MAC地址,私网目的MAC地址为设备D的MAC地址,私网源MAC地址为设备A的MAC地址,B-VLAN为VLAN1,I-SID为I-SID1。
步骤302,BEB2收到组播PBB报文后,通过组播PBB报文中携带的源C-MAC地址(设备A的MAC地址)和源B-MAC地址(BEB1的MAC地址)查询获知本BEB2没有该源C-MAC地址和源B-MAC地址对应的单播PBB表项,因此利用该组播PBB报文中携带的源C-MAC地址(设备A的MAC地址)和源B-MAC地址(BEB1的MAC地址)生成表1所示的单播PBB表项。其中,该单播PBB表项的出端口为本BEB2上接收到该组播PBB报文的端口(上行端口2),且在该单播PBB表项中记录该组播PBB报文中携带的目的C-MAC地址(设备D的MAC地址)。
进一步的,BEB2收到组播PBB报文后,还需要将解封装后的报文分发给各关联下行端口(下行端口2和下行端口3),以转入相应私网内。此外,BEB2还需要将组播PBB报文通过普通转发从上行端口3转发至BEB3;在该组播PBB报文中,公网目的MAC地址为组播地址,公网源MAC地址为BEB1的MAC地址,私网目的MAC地址为设备D的MAC地址,私网源MAC地址为设备A的MAC地址,B-VLAN为VLAN1,I-SID为I-SID1。
表1
步骤303,BEB3收到组播PBB报文后,通过组播PBB报文中携带的源C-MAC地址(设备A的MAC地址)和源B-MAC地址(BEB1的MAC地址)查询获知本BEB3没有该源C-MAC地址和源B-MAC地址对应的单播PBB表项,因此利用该组播PBB报文中携带的源C-MAC地址(设备A的MAC地址)和源B-MAC地址(BEB1的MAC地址)生成表2所示的单播PBB表项。其中,该单播PBB表项的出端口为本BEB3上接收到该组播PBB报文的端口(上行端口4),且在该单播PBB表项中记录该组播PBB报文中携带的目的C-MAC地址(设备D的MAC地址)。
进一步的,BEB3收到组播PBB报文后,还需要将解封装后的报文分发给各关联下行端口(下行端口4和下行端口5),以转入相应私网内,最终在私网4中将报文(设备A发送给设备D的报文)转发至目的地(设备D)上。
表2
在上述处理过程中,由于设备D不对收到的来自设备A的报文进行回复,因此没有从设备D发送给设备A的应答报文,即在BEB1和BEB2上没有建立设备A至设备D方向的单播表项。基于此,本发明实施例中还包括如下步骤,以触发BEB1和BEB2上建立设备A至设备D方向的单播表项。
步骤304,BEB1的下行端口1在下次收到设备A发送给设备D的报文后,BEB1通过该报文中携带的目的C-MAC地址查询获知本BEB1没有该报文对应的单播PBB表项,因此将报文封装成组播PBB报文,并进行组播转发。在该组播PBB报文中,公网目的MAC地址为组播地址,公网源MAC地址为BEB1的MAC地址,私网目的MAC地址为设备D的MAC地址,私网源MAC地址为设备A的MAC地址,B-VLAN为VLAN1,I-SID为I-SID1。
步骤305,BEB2收到组播PBB报文后,通过组播PBB报文中携带的源C-MAC地址(设备A的MAC地址)和源B-MAC地址(BEB1的MAC地址)查询获知本BEB2上有该源C-MAC地址和源B-MAC地址对应的单播PBB表项,因此BEB2需要判断组播PBB报文中携带的目的C-MAC地址(即设备D的MAC地址)是否为本BEB2所连私网内设备的MAC地址,由于设备D不在本BEB2对应的私网内,因此组播PBB报文中携带的目的C-MAC地址不是本BEB2所连私网内设备的MAC地址,BEB2在后续过程中不需要生成源C-MAC地址(设备A的MAC地址)和源B-MAC地址(BEB1的MAC地址)所对应的单播PBB报文。此外,对于BEB2转发收到的单播PBB报文的过程,将在后续过程中进行详细说明。
进一步的,BEB2收到组播PBB报文后,还需要将解封装后的报文分发给各关联下行端口(下行端口2和下行端口3),以转入相应私网内。此外,BEB2还需要将组播PBB报文通过普通转发从上行端口3转发至BEB3;在该组播PBB报文中,公网目的MAC地址为组播地址,公网源MAC地址为BEB1的MAC地址,私网目的MAC地址为设备D的MAC地址,私网源MAC地址为设备A的MAC地址,B-VLAN为VLAN1,I-SID为I-SID1。
本发明实施例中,BEB2判断组播PBB报文中携带的目的C-MAC地址(设备D的MAC地址)是否为本BEB2所连私网内设备的MAC地址,具体包括:
BEB2利用组播PBB报文中携带的目的C-MAC地址(即设备D的MAC地址)生成相应的反向ARP(地址解析协议)请求报文,并通过本BEB2的关联下行端口(下行端口2和下行端口3)向本BEB2所连私网内所有设备广播用于请求设备D的MAC地址的反向ARP请求报文至各直连私网(私网2、3),以探测设备D的位置。由于设备D不在私网2和私网3内,因此私网2和私网3内的设备收到反向ARP请求报文后,均不会回复反向ARP应答报文给BEB2,因此组播PBB报文中携带的目的C-MAC地址(即设备D的MAC地址)不是本BEB2所连私网内设备的MAC地址。
其中,该组播PBB报文中还携带有VSI实例所对应的I-SID,且BEB2通过本BEB2的关联下行端口向本BEB2所连私网内设备发送反向ARP请求报文时,需要首先获得本BEB2上所有下行端口的I-SID,并确定组播PBB报文中携带的I-SID所对应的下行端口(即下行端口2和下行端口3),并通过确定的下行端口向本BEB2所连私网内设备发送反向ARP请求报文。
进一步的,当BEB2上维护有组播PBB报文中携带的源C-MAC地址和源B-MAC地址对应的单播PBB表项,且BEB2判定本BEB2上包含有与组播PBB报文中携带的I-SID对应的VSI绑定的下行端口时,本BEB2在该下行端口(即下行端口2和下行端口3)上执行确定组播PBB报文中携带的目的C-MAC地址是否为本BEB2所连私网内设备的MAC地址的步骤。
本发明实施例中,BEB2利用组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文,具体包括:当源C-MAC地址和源B-MAC地址对应的单播PBB表项中记录有该组播PBB报文中携带的目的C-MAC地址时,BEB2利用组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文。例如,组播PBB报文中携带的目的C-MAC地址为设备D的MAC地址,源C-MAC地址和源B-MAC地址对应的单播PBB表项如表1所示时,则源C-MAC地址和源B-MAC地址对应的单播PBB表项中记录有该组播PBB报文中携带的目的C-MAC地址。
本发明实施例中,为了防止目的C-MAC地址占用资源,BEB2在源C-MAC地址和源B-MAC地址对应的单播PBB表项中记录组播PBB报文中携带的目的C-MAC地址之后,该BEB2还需要为组播PBB报文中携带的目的C-MAC地址启动老化定时器(老化时间根据实际经验选择);如果在老化时间内没有收到对应于该目的C-MAC地址的组播PBB报文时,则从源C-MAC地址和源B-MAC地址对应的单播PBB表项中删除组播PBB报文中携带的目的C-MAC地址,以防止长时间占用资源。
步骤306,BEB3收到组播PBB报文后,通过组播PBB报文中携带的源C-MAC地址(设备A的MAC地址)和源B-MAC地址(BEB1的MAC地址)查询获知本BEB3上有该源C-MAC地址和源B-MAC地址对应的单播PBB表项,因此BEB3需要判断组播PBB报文中携带的目的C-MAC地址(即设备D的MAC地址)是否为本BEB3所连私网内设备的MAC地址,由于设备D在本BEB3对应的私网内,因此组播PBB报文中携带的目的C-MAC地址是本BEB3所连私网内设备的MAC地址,执行步骤307。
进一步的,BEB3收到组播PBB报文后,还需要将解封装后的报文分发给各关联下行端口(下行端口4和下行端口5),以转入相应私网内,最终在私网4中将报文(设备A发送给设备D的报文)转发至目的地(设备D)上。
本发明实施例中,BEB3判断组播PBB报文中携带的目的C-MAC地址(设备D的MAC地址)是否为本BEB3所连私网内设备的MAC地址,具体包括:
BEB3利用组播PBB报文中携带的目的C-MAC地址(即设备D的MAC地址)生成相应的反向ARP(地址解析协议)请求报文,并通过本BEB3的关联下行端口(下行端口4和下行端口5)向本BEB3所连私网内所有设备广播用于请求设备D的MAC地址的反向ARP请求报文至各直连私网(私网4、5),以探测设备D的位置。位于私网4中的设备D收到反向ARP请求报文后,回复反向ARP应答报文给BEB3;如果BEB3收到本BEB3所连私网内设备发送的反向ARP请求报文对应的反向ARP应答报文,则确定组播PBB报文中携带的目的C-MAC地址为本BEB3所连私网内设备的MAC地址。
其中,该组播PBB报文中还携带有VSI实例所对应的I-SID,且BEB3通过本BEB3的关联下行端口向本BEB3所连私网内设备发送反向ARP请求报文时,需要首先获得本BEB3上所有下行端口的I-SID,并确定组播PBB报文中携带的I-SID所对应的下行端口(即下行端口4和下行端口5),并通过确定的下行端口向本BEB3所连私网内设备发送反向ARP请求报文。
进一步的,当BEB3上维护有组播PBB报文中携带的源C-MAC地址和源B-MAC地址对应的单播PBB表项,且BEB3判定本BEB3上包含有与组播PBB报文中携带的I-SID对应的VSI绑定的下行端口时,本BEB3在该下行端口(即下行端口4和下行端口5)上执行确定组播PBB报文中携带的目的C-MAC地址是否为本BEB3所连私网内设备的MAC地址的步骤。
本发明实施例中,BEB3利用组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文,具体包括:当源C-MAC地址和源B-MAC地址对应的单播PBB表项中记录有该组播PBB报文中携带的目的C-MAC地址时,BEB3利用组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文。例如,组播PBB报文中携带的目的C-MAC地址为设备D的MAC地址,源C-MAC地址和源B-MAC地址对应的单播PBB表项如表2所示时,则源C-MAC地址和源B-MAC地址对应的单播PBB表项中记录有该组播PBB报文中携带的目的C-MAC地址。
本发明实施例中,为了防止目的C-MAC地址占用资源,BEB3在源C-MAC地址和源B-MAC地址对应的单播PBB表项中记录组播PBB报文中携带的目的C-MAC地址之后,该BEB3还需要为组播PBB报文中携带的目的C-MAC地址启动老化定时器(老化时间根据实际经验选择);如果在老化时间内没有收到对应于该目的C-MAC地址的组播PBB报文时,则从源C-MAC地址和源B-MAC地址对应的单播PBB表项中删除组播PBB报文中携带的目的C-MAC地址,以防止长时间占用资源。
步骤307,BEB3在确定组播PBB报文中携带的目的C-MAC地址(即设备D的MAC地址)为本BEB3所连私网内设备的MAC地址时,通过源C-MAC地址(设备A的MAC地址)和源B-MAC地址(BEB1的MAC地址)对应的单播PBB表项的出端口(上行端口4)发送单播PBB报文(即将单播PBB报文发送给BEB2);其中,该单播PBB报文中携带的源C-MAC地址为步骤306中收到的组播PBB报文中携带的目的C-MAC地址(即设备D的MAC地址),源B-MAC地址为本BEB3的MAC地址,目的B-MAC地址为步骤306中收到的组播PBB报文中携带的源B-MAC地址(即BEB1的MAC地址),目的C-MAC地址为步骤306中收到的组播PBB报文中携带的源B-MAC地址(即BEB1的MAC地址)。此外,该单播PBB报文中其它信息(如B-VLAN和I-SID)保持不变,出端口为上行端口4。
基于上述处理过程,BEB2在收到BEB3发送的单播PBB报文后,通过单播PBB报文中携带的源C-MAC地址(即设备D的MAC地址)和源B-MAC地址(BEB3的MAC地址)查询获知本BEB2没有该源C-MAC地址和源B-MAC地址对应的单播PBB表项,因此,BEB2此时需要利用该单播PBB报文中携带的源C-MAC地址(设备D的MAC地址)和源B-MAC地址(BEB3的MAC地址)生成如表3所示的单播PBB表项。其中,该单播PBB表项的出端口为本BEB2上接收到该单播PBB报文的端口(上行端口3)。此外,BEB2还需要将单播PBB报文通过普通转发从上行端口2转发至BEB1。
表3
源C-MAC地址 |
源B-MAC地址 |
I-SID |
B-VLAN |
出端口 |
设备D的MAC地址 |
BEB3的MAC地址 |
I-SID1 |
VLAN1 |
上行端口3 |
进一步的,BEB2生成如表3所示的单播PBB表项后,还需要将该单播PBB表项下发到本BEB2的转发芯片上,由转发芯片利用该单播PBB表项进行报文转发处理,该过程与现有技术类似,后续不再详加赘述。
基于上述处理过程,BEB1在收到BEB2发送的单播PBB报文后,通过单播PBB报文中携带的源C-MAC地址(即设备D的MAC地址)和源B-MAC地址(BEB3的MAC地址)查询获知本BEB1没有该源C-MAC地址和源B-MAC地址对应的单播PBB表项,因此,BEB1此时需要利用该单播PBB报文中携带的源C-MAC地址(设备D的MAC地址)和源B-MAC地址(BEB3的MAC地址)生成如表4所示的单播PBB表项。其中,该单播PBB表项的出端口为本BEB1上接收到该单播PBB报文的端口(即上行端口1)。
表4
源C-MAC地址 |
源B-MAC地址 |
I-SID |
B-VLAN |
出端口 |
设备D的MAC地址 |
BEB3的MAC地址 |
I-SID1 |
VLAN1 |
上行端口1 |
进一步的,BEB1生成如表4所示的单播PBB表项后,还需要将该单播PBB表项下发到本BEB1的转发芯片上,由转发芯片利用该单播PBB表项进行报文转发处理,该过程与现有技术类似,后续不再详加赘述。
本发明实施例中,在经过上述处理后,BEB1的下行端口1在下次收到设备A发送给设备D的报文后,BEB1通过该报文中携带的目的C-MAC地址(设备D的MAC地址)查询获知本BEB1上有该报文对应的单播PBB表项,因此后续由设备A发往设备D的报文均走单播转发,不再走组播转发,从而减少了后续报文原来走组播转发时所产生的大量冗余报文,从而有效减少PBB组网环境中的冗余流量,避免大量报文的泛滥,节省带宽资源。
基于与上述方法同样的发明构思,本发明实施例中还提供了一种骨干网边缘网桥BEB设备,如图4所示,所述BEB设备具体包括:
判断模块11,用于在接收到组播PBB报文时,判断本BEB设备上是否维护有所述组播PBB报文中携带的源用户网介质访问控制C-MAC地址和源骨干网介质访问控制B-MAC地址对应的单播PBB表项;
生成模块12,用于在判断结果为否时,利用所述源C-MAC地址和所述源B-MAC地址生成相应的单播PBB表项,且所述单播PBB表项的出端口为本BEB设备上接收到所述组播PBB报文的端口;
确定模块13,用于在判断结果为是时,确定所述组播PBB报文中携带的目的C-MAC地址为本BEB设备所连私网内设备的MAC地址;
发送模块14,用于在判断结果为是,且所述组播PBB报文中携带的目的C-MAC地址为本BEB设备所连私网内设备的MAC地址时,通过所述组播PBB报文中携带的源C-MAC地址和源B-MAC地址对应的单播PBB表项的出端口发送单播PBB报文;其中,所述单播PBB报文中携带的源C-MAC地址为所述组播PBB报文中携带的目的C-MAC地址,所述单播PBB报文中携带的源B-MAC地址为本BEB设备的MAC地址,所述单播PBB报文中携带的目的B-MAC地址为所述组播PBB报文中携带的源B-MAC地址。
所述确定模块13,具体用于利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向地址解析协议ARP请求报文,并通过本BEB设备的关联下行端口向本BEB设备所连私网内设备发送所述反向ARP请求报文;如果收到本BEB设备所连私网内设备发送的所述反向ARP请求报文对应的反向ARP应答报文,则确定所述组播PBB报文中携带的目的C-MAC地址为本BEB设备所连私网内设备的MAC地址。
所述组播PBB报文中还携带有虚拟交换实例VSI实例所对应的骨干网服务实例编号I-SID;
所述确定模块13,进一步用于当BEB设备上维护有所述组播PBB报文中携带的源C-MAC地址和源B-MAC地址对应的单播PBB表项,且本BEB设备上包含有与所述组播PBB报文中携带的I-SID对应的VSI绑定的下行端口时,在所述下行端口上执行所述确定所述组播PBB报文中携带的目的C-MAC地址是否为本BEB设备所连私网内设备的MAC地址的步骤。
所述生成模块12,还用于在利用所述源C-MAC地址和所述源B-MAC地址生成相应的单播PBB表项时,在所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中记录所述组播PBB报文中携带的目的C-MAC地址;
所述确定模块13,进一步用于在利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文时,当所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中记录有所述组播PBB报文中携带的目的C-MAC地址时,利用所述组播PBB报文中携带的目的C-MAC地址生成相应的反向ARP请求报文。
本发明实施例中,该BEB设备还包括:删除模块15,用于在所述源C-MAC地址和源B-MAC地址对应的单播PBB表项中记录所述组播PBB报文中携带的目的C-MAC地址时,并为所述组播PBB报文中携带的目的C-MAC地址启动老化定时器;如果在老化时间内没有收到对应于所述目的C-MAC地址的组播PBB报文,从所述源C-MAC地址和所述源B-MAC地址对应的单播PBB表项中删除所述组播PBB报文中携带的目的C-MAC地址。
其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。