专利名称:基于多对一接入方式的骨干桥接网络中的数据转发方法
技术领域:
本发明涉及以太网二层/三层交换机设备交换技术,尤其涉及骨干桥 接网络中在多对一的接入方式下的数据转发方法。
背景技术:
目前,在运营商级以太网交换机领域,PBT (Provider Backbone Transport,骨干服务传输)技术逐步成为热点技术之一。相对于另一主 流技术MPLS( Multiple Protocol Label Switching,多协议标记交换技术), PBT保持了以太网低成本和简易性的特点,而且还提供50ms的链路保 护功能,具有良好的实用性特点。PBT是对802.1ah的延伸和增强,是一项简单的点对点通道技术。 它在运营商网络层面关闭了传统以太网复杂的MAC地址学习、广播和 生成树协议。基于运营商源和目的MAC地址建立面向连接的中继隧道, 提供可控、可管的经济高效的路径中继。在PBT的边缘设备上,可以为用户网络提供多种接入方式,用户可 以通过端口接入,或者通过VLAN (VirtualLAN,虚拟局域网)接入, 或者通过SVLAN (Stack VLAN,又称QinQ, vlan堆叠)接入。每个用 户都对应一个服务实例I-SID (Service Instance ID,服务实例),不同 实例中的用户不能相互通信,运营商负责为用户分配I-SID,多个用户 可以映射到相同的I-SID中。上行(用户数据包到PBT网络)的时候, 用户的地址被封装一层PBT的二层头,下行(用户数据包离开PBT网络到用户网络)的时候,再恢复为用户的数据包。在PBT网络中,相同 I-SID有两种连接方式点对点连接和多点连接,如图l所示的点对点 连接下的PBT组网示意图和图2所示的多点连接下的PBT组网示意图。 对于多用户映射到同一个I-SID中的情况,如果允许这些用户彼此 通信,下行就存在c_vlan (customer vlan,用户VLAN)的翻译问题。现 有技术采用的是按MAC + VLAN进行MAC地址学习及转发,而在查找 目的MAC地址或者广播时,需要用出口的c_vlan,而不是用封装在数 据包中的c—vlan,在多对一的环境中要获得出口的c一vlan比较困难。发明内容本发明所要解决的技术问题是提供一种在多对一的接入方式下骨 干桥接网络中的数据转发方法。为解决上述技术问题,本发明是通过以下技术方案实现的 一种基于多对一接入方式的骨干桥接网络中的数据转发方法, 上行链路A、 从数据包中获取用户原MAC地址C—SA,从用户接入属性表中 获取用户的服务实例ID I-SID,按C_SA + I-SID进行原MAC地址学习, 同时从数据包中获取用户的单层/多层虚拟局域网VLAN信息并将其写 入MAC + I-SID地址表中;B、 若I-SID是点对点的连接,则直接根据用户接入属性表中的隧 道索引所绑定的隧道信息转发所述数据包,之后退出本流程,否则ii^下步;C、 若数据包为单播包,从数据包中取出用户目的MAC地址C一DA,按C_DA + I-SID查找MAC + I-SID地址表,根据该表中的隧道信息转 发数据包;若为广播包,查看广播成员表,对于其中的本地用户,将数 据包中单层/多层VLAN信息替换成目的用户的相关信息后再转发,对 于异地用户,根据该表中的隧道信息向用户转发数据包; 下行链路a、 若I-SID是点对点的连接,则进入步骤b,否则从数据包中取出 C_SA,按C_SA + I-SID进行原MAC地址学习;b、 若数据包为单播包,则从数据包中取出C一DA,按(:一0八+I-SID 查找MAC + I-SID地址表,从该表中取出目的用户的单层/多层VLAN 信息替换数据包中的相关信息,然后转发该数据包;否则,查看广播成 员表,对于其中的本地用户,将数据包中单层/多层VLAN信息替换成 目的用户的相关信息后再转发,对于异地用户,根据该表中的隧道信息 向用户转发数据包。其中,所述用户接入属性表包含各用户的接入方式、骨干服务传 输PBT网络的接入方式、隧道索引;所述I-SID实例表包含各服务实例 的配置信息、PBT的接入方式、隧道索引;所述MAC + I-SID地址表包 含各用户的MAC、 I-SID、单层/多层信息、端口、隧道信息;所述广播 成员表包含各成员的端口、单层/多层信息。其中,在上行链路的步骤A之前还包括根据用户接入属性表判 断PBT网络的接入方式,如果是多对一,则进入下步,否则退出本流程。其中,在下行链路的步骤a之前还包括:根据I-SID实例表判断PBT网络的接入方式,如果是多对一,则进入下步,否则退出本流程。其中,所述方法中还包括在进行数据包的广播时,查找广4番表, 从中获取成员数,按照所述成员数对广播成员表内的成员进行广播。本发明具有以下有益效果本发明提出了按MAC + I-SID进行MAC地址学习及转发的方法, 建立了 MAC + I-SID地址表和广播成员表,这两张表中包含了用户的单 层或者多层VLAN信息和端口信息。当广播到本地时,从广播表中取出 用户VLAN信息广播出去;当下行单播时,从MAC表中取得用户VLAN 信息单播出去。这样在多对一的环境中,无论是单播还是广播,都可以 找到出口用户的VLAN信息,不管是单层的VLAN替换,还是多层的 VLAN替换,在查找MAC表或者广播表时不关心入口数据包中的VLAN 信息,从而简单地实现了 PBT业务多对一的转发处理。
图1为I-SID点对点连接的多对一的PBT组网结构示意图; 图2为I-SID多点连接的多对一的PBT组网结构示意图; 图3为本发明中PBT网络的上行转发处理流程图; 图4为本发明中PBT网络的下行转发处理流程图。
具体实施方式
下面结合附图及实施例对本发明作进一步详细的描述 本发明中,在进行数据转发之前创建了四个表,分别为I-SID实 例表、用户接入属性表、MAC + I-SID地址表、广播成员表;其中,I-SID实例表的每个表项包括一个用户的I-SID的配置信息、 PBT的接入方式、隧道索引;用户接入属性表的每个表项包括一个用户 的接入方式、PBT接入方式及隧道索引;MAC+I-SID地址表的每个表 项包括MAC、 I-SID、端口、单层/多层VLAN信息、隧道信息;广播 成员表的每个表项包括成员的端口、单层/多层VLAN信息。请参阅图3,该图所示为PBT网络的上行(由用户到PBT网络) 的数据转发处理流程图,具体包括301、 查找用户接入属性表,获取PBT的接入方式,若是多对一的 接入方式,则进入下一步;否则按照一般方法进行MAC地址学习及数 据转发。302、 从数据包中获取C一SA,从用户接入属性表中获取用户的 I-SID,按C—SA + I-SID进行原MAC地址学习,同时,从数据包中获取 用户的单层/多层VLAN信息并将其写入MAC + I-SID地址表中。303、 判断I-SID是否是点到点的连接,若是,则进入步骤308,否 则进入下一步。304、 判断数据包是否是单播,若是,则进入步骤305,否则进入步 骤306。305、 从数据包中取出C—DA,按C—DA + I-SID查找MAC + I-SID 地址表,若找到,则转入步骤308,从MAC + I-SID地址表中获取隧道 信息进行转发;否则,进入步骤306;306、 查找广播表,获取可广播的成员数,并复制数据包;307、 根据用户接入属性表中的广播索引信息查找广播成员表,按照上述成员数依次向广播成员表中的各个成员广播。若成员为本地用户,则在向该用户广播之前需将数据包中c—vlan或者多层VLAN信息 替换成该用户的相应信息,广播之后结束;若成员为异地用户,则转入 步骤308。308、获取隧道信息,封装数据包,根据隧道信息进行数据包的转发。请参阅图4,该图所示为PBT网络的下行(由PBT网络到用户) 的转发处理流程图,具体包括401 、从数据包中获取I-SID以查找用户接入属性表,获取PBT的 接入方式,若是多对一的接入方式,则进入下一步;否则按照一般方法 进行MAC地址学习及数据转发。402、 判断I-SID是否是点到点的连接,若是,则进入步骤403;否 则,从数据包中获取C—SA,按C—SA + I-SID进行原MAC地址学习。403、 判断数据包是否是单播,若是,则进入步骤404,否则进入步 骤405。404、 从数据包中取出C_DA,按C—DA + I-SID查找MAC + I-SID 地址表,若未找到,则进入步骤405,否则,进入407。405、 查找广播表,获取可广播的成员数,并复制数据包;406、 从I-SID实例表中获取广播索引信息以查找广播成员表,若成 员为本地用户,则进入407;否则,从广播成员表中获取隧道信息,按 照上述成员数依次向广播成员表中的各个成员广播,广播完后结束。407、 将数据包中的c_vlan或者多层VLAN信息替换成目的用户的相应信息,向目的用户转发数据包。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡 在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应 包含在本发明的保护范围之内。
权利要求
1、一种基于多对一接入方式的骨干桥接网络中的数据转发方法,其特征在于,上行链路A、从数据包中获取用户原MAC地址C_SA,从用户接入属性表中获取用户的服务实例ID I-SID,按C_SA+I-SID进行原MAC地址学习,同时从数据包中获取用户的单层/多层虚拟局域网VLAN信息并将其写入MAC+I-SID地址表中;B、若I-SID是点对点的连接,则直接根据用户接入属性表中的隧道索引所绑定的隧道信息转发所述数据包,之后退出本流程,否则进入下步;C、若数据包为单播包,从数据包中取出用户目的MAC地址C_DA,按C_DA+I-SID查找MAC+I-SID地址表,根据该表中的隧道信息转发数据包;若为广播包,查看广播成员表,对于其中的本地用户,将数据包中单层/多层VLAN信息替换成目的用户的相关信息后再转发,对于异地用户,根据该表中的隧道信息向用户转发数据包;下行链路a、若I-SID是点对点的连接,则进入步骤b,否则从数据包中取出C_SA,按C_SA+I-SID进行原MAC地址学习;b、若数据包为单播包,则从数据包中取出C_DA,按C_DA+I-SID查找MAC+I-SID地址表,从该表中取出目的用户的单层/多层VLAN信息替换数据包中的相关信息,然后转发该数据包;否则,查看广播成员表,对于其中的本地用户,将数据包中单层/多层VLAN信息替换成目的用户的相关信息后再转发,对于异地用户,根据该表中的隧道信息向用户转发数据包。
2、 如权利要求1所述的数据转发方法,其特征在于,所述用户 接入属性表包含各用户的接入方式、骨干服务传输PBT网络的接入 方式、隧道索引;所述I-SID实例表包含各服务实例的配置信息、PBT 的接入方式、隧道索引;所述MAC + I-SID地址表包含各用户的 MAC、 I-SID、单层/多层信息、端口、隧道信息;所述广播成员表包 含各成员的端口、单层/多层信息。
3、 如权利要求2所述的数据转发方法,其特征在于,在上行链 路的步骤A之前还包括根据用户接入属性表判断PBT网络的接入 方式,如果是多对一,则进入下步,否则退出本流程。
4、 如权利要求2所述的数据转发方法,其特征在于,在下行链 路的步骤a之前还包括:根据I-SID实例表判断PBT网络的接入方式, 如果是多对一,则进入下步,否则退出本流程。
5、 如权利要求1所述的数据转发方法,其特征在于,所述方法 中还包括在进行数据包的广播时,查找广播表,从中获取成员数, 按照所述成员数对广播成员表内的成员进行广播。
全文摘要
本发明公开了一种基于多对一接入方式的骨干桥接网络中的数据转发方法,包括建立MAC+I-SID地址表和广播成员表,用两张表中保存用户的单层或者多层VLAN信息和端口信息,并按MAC+I-SID进行MAC地址学习及转发,当数据广播到本地的时,从广播表中取出用户VLAN信息广播出去;当下行单播的时,从MAC表中取得用户VLAN信息单播出去。采用本发明,在多对一的环境中,无论是单播还是广播,都可以找到出口用户的VLAN信息,不管是单层的VLAN替换,还是多层的VLAN替换,在查找MAC表或者广播表时不关心入口数据包中的VLAN信息,从而简单地实现了PBT业务多对一的转发处理。
文档编号H04L12/46GK101252514SQ200810065458
公开日2008年8月27日 申请日期2008年2月29日 优先权日2008年2月29日
发明者张宝亚 申请人:中兴通讯股份有限公司