一种桥接网络中的数据处理方法及一种桥接网络转让专利

申请号 : CN200510119755.4

文献号 : CN1960325B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邹世敏

申请人 : 华为技术有限公司

摘要 :

本发明公开了一种桥接网络中的数据处理方法及一种桥接网络。所述的桥接网络,通过网桥连接:以每个边沿桥为根生成生成树,网桥发送注册包并建立每个生成树的转发路径表;除桥接网络外部端口的其它桥端口,关闭数据包源地址学习过程;当来自桥接网络外部的数据包到达桥接网络时,以数据包到达的入口桥为树根在桥接网络内转发数据包,并在出口桥将数据包通过外部端口发送出去。本发明克服路径不对称引起的MAC地址学习问题,建立满足最短路径转发的转发路径表,并且能采用高效的路径转发技术满足桥接网络能作为运营商以太网所应提供的优越性能。

权利要求 :

1.一种桥接网络中的数据处理方法,所述的桥接网络,通过网桥连接,其特征在于,以每个边沿桥为根生成生成树,网桥向另一网桥发送注册包,所述另一网桥根据该注册包建立每个生成树的转发路径表;

当来自桥接网络外部的数据包到达桥接网络时,以数据包到达的入口桥为根在桥接网络内依据所述转发路径表转发数据包,并在出口桥将数据包通过外部端口发送出去。

2.如权利要求1所述的方法,其特征在于,所述的数据包在入口桥处被封装上外部地址,并在出口桥将封装的外部地址解封装。

3.如权利要求1所述的方法,其特征在于,所述的转发路径表建立,包括以下步骤:A、当以边沿桥为根的生成树生成后,所述生成树上的网桥,向生成树的根端口网桥发送注册包,所述注册包携带源地址、目的地址和注册地址信息;

B、收到注册包的网桥,根据所述的注册地址信息和接收端口,得到转发项并记录后,向根端口网桥转发所述的注册包,直至所述的注册包转发至根端口网桥;

C、根端口网桥接收所述的注册包,根据注册包中的注册地址信息,得到转发项并记录。

4.如权利要求3所述的方法,其特征在于,所述的步骤A中:所述的注册地址信息是:

一个或多个注册地址,或

桥接网络外部端口地址、网桥的网桥地址或用户MAC地址;

所述的目的地址是:组播地址;

所述的源地址是发起注册网桥地址。

5.如权利要求3所述的方法,其特征在于,所述的步骤B和步骤C中,所述的转发项包含:目的MAC地址、发送端口标识。

6.如权利要求3所述的方法,其特征在于,还包括步骤:根端口网桥接收到注册包后,向该注册包的发送方发送证实包。

7.如权利要求3所述的方法,其特征在于,还包括:所述生成树上的网桥发送取消注册包;已注册网桥收到取消注册包后,取消已经进行的注册,并删除相应的转发项。

8.如权利要求3所述的方法,其特征在于,当所述的桥接网络发生网络拓扑变化时,网桥删除原有的转发路径表,并在生成树重新生成时,重新形成新的转发路径表。

9.如权利要求3所述的方法,其特征在于,所述的步骤A是周期进行的。

10.如权利要求1所述的方法,其特征在于,除桥接网络外部端口的其它端口,关闭数据包源地址学习过程。

11.一种桥接网络,通过网桥连接,其特征在于,该桥接网络还包括:控制协议体单元,位于网桥,用于接收其他网桥发送的注册包,根据该注册包建立转发路径表,所述的转发路径表为以边沿桥为根的生成树的转发路径表;以及,向生成树的根端口发送注册包;

转发路径表存储单元,位于网桥,用于存储转发路径表;

数据包转发单元,位于网桥,用于依据所述转发路径表转发接收到的数据包。

12.如权利要求11所述的网络,其特征在于,所述的控制协议体单元还包括:注册包处理单元,用于接收其他网桥发送的注册包并建立转发路径表;

注册包发送单元,用于向生成树的根端口发送注册包。

13.如权利要求12所述的网络,其特征在于,所述的控制协议体单元还包括:证实包发送单元,用于在注册包处理单元收到注册包后,向发送注册包的网桥发送证实包;

证实包接收判定单元,用于设定接收所述证实包的阈值时间,如果在设定的阈值时间内没有收到证实包,则重新向接收注册包的网桥发送注册包。

14.一种桥接网络中的数据处理方法,所述的桥接网络,通过网桥连接,其特征在于,以每个边沿桥为根生成生成树,所述生成树上的网桥节点通过发送注册包,建立关于根网桥的转发路径表;

当来自桥接网络外部的数据包到达桥接网络时:

对多播数据包,沿着数据包到达的入口桥为根的生成树在桥接网络内进行转发;或对单播数据包,沿着数据包离开桥接网络到达的目的出口桥为根的生成树在桥接网络内进行转发;

在出口桥将数据包通过外部端口发送出去。

15.如权利要求14所述的方法,其特征在于,所述的转发路径表建立,包括:当以边沿桥为根的生成树生成后,所述生成树上的除根桥外的网桥,建立转发项,所述转发项包括:目的MAC地址、发送端口标识,其中发送端口是生成树的根端口,或当以边沿桥为根节点的生成树生成后,所述生成树上的除根网桥外的网桥,建立转发项,所述转发项包括:目的MAC地址、发送端口标识,其中目的MAC地址是生成树的根桥MAC地址,发送端口是生成树的根端口。

16.如权利要求15所述的方法,其特征在于,所述的转发路径表的建立,包括:A、当以边沿桥为根节点的生成树生成后,所述生成树上的根网桥,向生成树的所有指定端口发送注册包,所述注册包含源地址、目的地址和注册地址信息;

B、所述桥接网络内除根网桥外的网桥收到注册包后,根据所述的注册地址信息,得到转发项并记录后,向生成树的所有指定端口转发所述的注册包,直至所述的注册包转发到生成树的所有除根网桥端口以外的端口。

17.如权利要求16所述的方法,其特征在于,所述的步骤B中,所述的转发项包含:目的MAC地址、发送端口标识。

18.如权利要求16所述的方法,其特征在于,所述的步骤A中:所述的注册地址信息可以是一个或多个注册地址;

所述注册地址是桥接网络外部端口的地址或根网桥的网桥地址或用户MAC地址;

所述的目的地址是组播地址;

所述的源地址是根网桥地址。

19.如权利要求16所述的方法,其特征在于,所述生成树的根网桥还发送取消注册包,当网桥收到取消注册包后,取消已经进行的注册,删除相应的转发项。

20.如权利要求16所述的方法,其特征在于,当所述的桥接网络拓扑结构发生变化时,网桥删除原有的转发路径表,并在生成树重新生成时,重新形成新的转发路径表。

21.如权利要求16所述的方法,其特征在于,所述的步骤A是周期进行的。

22.如权利要求14所述的方法,其特征在于,所述的多播数据包,包括组播数据包、广播数据包和未知数据包。

23.如权利要求14所述的方法,其特征在于,除桥接网络外部端口外的其它桥端口,关闭数据包源地址学习过程。

24.一种桥接网络,通过网桥连接,其特征在于,该网桥包括:控制协议体单元,位于网桥,用于接收其他网桥发送的注册包,根据该注册包建立转发路径表,所述的转发路径表为以每个边沿桥为根的生成树的转发路径表;以及,向生成树的根端口发送注册包;

转发路径表存储单元,位于网桥,用于存储转发路径表;

数据包类型判断单元,位于入口网桥,用于判断数据包类型,并根据数据包类型选择转发方式,并采用选择的转发方式转发数据包。

25.如权利要求24所述的网络,其特征在于,所述的数据包类型判断单元进一步包括:单播数据包转发单元,用于在接收到的数据包为单播数据包时,将所述单播数据包以出口桥为树根进行转发;

多播数据包转发单元,用于在接收到的数据包为多播数据包时,将所述多播数据包以入口桥为树根进行转发。

26.如权利要求24所述的网络,其特征在于,所述的控制协议体单元还包括:注册包发送单元,用于向所有指定端口发送注册包;

证实包发送单元,用于在收到注册包后,向发送方发送证实包;

证实包接收判定单元,用于设定接收所述证实包的阈值时间,如果在设定的阈值时间内没有收到证实包,则重新向接收方发送注册包。

说明书 :

一种桥接网络中的数据处理方法及一种桥接网络

技术领域

[0001] 本发明涉及通信领域,尤其涉及一种桥接网络中的数据处理方法及一种桥接网络。

背景技术

[0002] 在传统的以太网网桥互联的网络中,由于在同一个广播域中采用相同的生成树来进行数据转发,因此一般的情况下不能保证数据包按最短路径转发,并且会导致数据集中在某些链路上传送。
[0003] 为了能够使网桥能够按最短路径转发数据,目前有国际标准组织IEEE的最短路径桥项目组和国际标准组织的TRILL工作组在分别按两个思路进行研究。
[0004] IEEE最短路径桥项目组的初步思路是:仍使用生成树转发所有数据包,以每个网桥为根生成一个生成树,并且为了能按最短路径转发数据包,不论是广播数据包\组播数据包\未知数据包,或是单播数据包,在数据包的转发过程中,都以数据包到达的第一个网桥为根进行数据包转发(也称:以入口为根的生成树进行转发)。这个方法实际意味着:在同一个广播域中,采用多个生成树进行数据包转发。
[0005] IETF TRILL工作组的方法是:网桥具有类似路由器的路由计算和转发功能(也称该网桥为路由桥),它能基于链路状态协议形成“路由桥网络拓扑”并能以此计算出任一目的路由桥的最短路径。对单播数据包,它能根据数据包对应的出口路由桥地址按最短路径进行转发(而不是基于最终的目的节点地址,即不基于目的主机的MAC地址)。另外,路由桥网络可以根据网络拓扑计算出生成生成树,广播数据包\组播数据包\未知数据包沿着生成树进行转发。
[0006] IEEE之所以采用与IETF TRILL工作组不同的方法实现最短路径桥是因为:它认为TRILL为了避免环路增加了TTL等处理,从而导致硬件改动比较大,而只在生成树上改造对硬件的改动影响比较小。
[0007] 目前IEEE在最短路径桥研究中,它围绕着生成树提出了两个方案:
[0008] (1)使用原来的生成树协议生成生成树:RSTP/MSTP;
[0009] (2)使用链路状态协议来建立生成树。
[0010] 若使用链路状态协议对以太网进行改造,为了完成已有快速生成树协议、多生成树协议实现的功能,链路状态协议需要做很多适配工作,因此工作量也不算小。因此目前IEEE没有确定哪个方案作为必选方案。从目前IEEE的研究看,它对方案(1)进行了诸多研究。
[0011] 当利用生成树协议建立生成树后,如何转发数据呢?(若利用链路状态协议来建立生成树,由于每个网桥知道整个网络拓扑,它创建生成树包括了整个生成树,因此它知道任何节点所在的生成树分支,因此一旦生成树生成它便知道了如何转发数据)。若使用原有的生成树协议创建生成树,每个网桥只能知道一个生成树经过该网桥的根端口和指定端口,它不知道整个生成树的信息,因此若以入口为根进行单播数据包转发时,它不知道目的地址所接入的生成树分支,因此需要通过地址学习获得转发路径。
[0012] 但是每个生成树独立生成,则会导致从边沿桥A到边沿桥Z的路径a(以A为树根)同从边沿桥Z到边沿桥A的路径z(以Z为树根)不一致。困此,以入口为根的转发机制会导致无法采用通常的源地址学习方法获得正常的转发路径。这实际是由于路径不对称造成了地址学习的困难。之所以导致上述两个路径的不一致是因为:当出现两个以上(包括两个)等价路径时,不同的生成树独立生成时对等价路径采用不同的阻塞方法造成路径选择的不一致。
[0013] 为了使服务提供者网络有能力避免储存和处理过多的MAC地址,从而提高服务提供者网络的性能,北电提出了一个专利号为“US 2004/0184408”的技术方案,采用了MAC in MAC机制。基本技术内容是:当用户数据包到达服务提供者桥(即服务提供者网络的边界设备),服务提供者再封装一个外部的MAC头,外部的MAC头是包含源服务提供者地址和目的服务提供者地址。为了封装外部头,服务提供者边界设备需要利用接收到的有外部MAC头的数据包的源地址进行用户目的MAC地址和服务提供者目的地址的映射学习。这里的服务提供者地址指的是服务提供者网络内部的地址。该技术能使服务提供者网络的核心桥屏蔽掉客户MAC地址。
[0014] 现有技术一的技术方案
[0015] 在以入口根最短路径转发系统中,为了克服路径不对称造成的学习障碍,在IEEE提出了(由思科提出)PATH向量对称路径生成方法(aq-nfinn-shortest-path-0905.pdf),它的目的是:确保从边沿桥A到边沿桥Z的路径a同从边沿桥Z到边沿桥A的路径z的一致。为了实施该方法,预先确定在利用MSTP建立桥的过程中使用N位PATH向量,N不能小于网络内网桥的数量,并且给每个网桥分配一个固定bit位。
[0016] 为了兼容MSTP原有的MSTP协议,目前规定将优先权向量(priorityvector)中的{Root ID,Root Path Cost,Bridge ID,Port ID}中的Bridge ID换成了PATH向量,所以该向量的位数是64。
[0017] 另外预先采用一个算法(或静态配置)确保链路正反向的代价是一致的。
[0018] 在多个生成树的建立过程中,按如下步骤创立和传播PATH向量:
[0019] 每个网桥作为树根初始化一个空的PATH向量,并把该向量添加到和该树根相应的BPDU消息中传播。
[0020] 当一个PATH向量传播到某个网桥时,若该网桥能根据唯一最短根代价确定收到BPDU的端口为该BPDU相应生成树的根端口,则在BPDU包含的PATH向量中将分配给自己的位置填写1并储存该向量在本地,然后继续向非根端口传播该向量;否则,若网桥计算出相应生成树的两个最短等价根代价,则它按下面步骤处理:取出该两个等价根对应的两个PATH向量(并让PATH向量关于本桥的bit位都置1),按一个规定准则确定阻塞其中一个PATH向量对应的路径。例如,将两个向量值换算成一个N位整数,值大的向量对应的路径被阻塞。
[0021] 通过上述方法可保证不同的生成树在其生成过程中,当出现等价路径,不同的生成树的协议过程能根据相应的两个等价PATH向量并采取相同的阻塞准则来确定被阻塞的路径,从而保证在使用不同的生成树进行转发数据时保证两个点之间的正反路径的一致性(即对称性)。
[0022] 现有技术一的缺点:
[0023] 由于PAHT向量的位数与网络规模成正比关系,PATH向量的位数与网络的扩展性的关联非常大,因此这种方法很不利于网络的扩展。为了协议的兼容性,目前PATH向量的位数是64,显然已不满足扩展性需求。
[0024] 另外,由于该方案只能用于点对点链路的情形,对多点接入的链路,仍然会导致路径的不对称性。
[0025] 现有技术二的技术方案:
[0026] NEC提出了一个以太网优化的数据转发方法的技术方案,专利号为:US2003-642480,专利名称为:网络系统、生成树配置方法、生成树配置节点、生成树配置程序,其中一个基本技术点是:
[0027] (1)通过在入口桥插入TAG转发标志,实现对数据的快速转发;
[0028] (2)通过使用以目的(出口桥)为根的生成树转发数据能够使数据包沿着最短路径到达目的地。
[0029] 对传统的以太网,一个用户数据流在它经历的路径上是以MAC地址进行转发的,而此专利想实现的一个目标是:用位数较少的TAG标签来替换MAC地址。
[0030] 但是如何插入TAG,如何将用户数据流经历的路径上MAC置换成TAG,该专利没有给出方法,为此NEC紧接着又提出了一个新的技术方案,专利号为:003-642481,专利名称为:网络系统、学习桥节点、学习方法和它的程序。它解决的一个基本问题是:能够在路径不对称的生成树拓扑中,使网络入口网桥能学习到用于转发数据到目的地的转发标记TAG(TAG和一个目的MAC地址关联)。为此它提出了基本方法:网桥节点周期性地沿着和用户数据包路径相反方向发送学习包,在学习包中包含TAG和其相关的源地址,源地址来源于一个源地址缓冲表。该方法能解决路径不对称引起的转发标记TAG的学习,能在网桥学习包的发送中,使其它沿学习着路径的桥节点学习到转发TAG。
[0031] 实际上传统的桥学习方法“源地址学习方法”显然也是逆向学习方法,但由于数据包转发使用的是公共生成树,生成树本身的路径对称性不会阻碍学习,但当使用不同生成树转发时,路径不对称阻碍了学习。为了克服这一点,该专利提出让网桥来主动发送反向学习包,只不过该专利不是针对源地址学习,而是学习和源地址相关的TAG。
[0032] 现有技术二的缺点:
[0033] 该方案在“如何选择相反路径传播学习包”上没有给予描述,而此是一个问题的关键。在如何对待原来的用户数据包地址学习过程上,该专利没有给予明确的描述。该系统采用了TAG进行转发,因此不能兼容目前使用MAC地址进行转发数据的现有技术。
[0034] 该系统TAG学习是和一个高速缓冲存储器的源MAC地址相关,因此在运营商以太网中采用此技术时,客户MAC地址数量很大时会给TAG分配带来困难,大量的tag也会对运营商网络造成大的负荷。

发明内容

[0035] 本发明提供一种桥接网络中的数据处理方法、网桥及一种桥接网络,用以解决现有技术中存在的路径不对称引起的MAC地址学习问题。
[0036] 本发明方法包括:
[0037] 一种桥接网络中的数据处理方法,所述的桥接网络,通过网桥连接:
[0038] 以每个边沿桥为根生成生成树,网桥向另一网桥发送注册包,所述另一网桥根据该注册包建立每个生成树的转发路径表;
[0039] 当来自桥接网络外部的数据包到达桥接网络时,以数据包到达的入口桥为根在桥接网络内依据所述转发路径表转发数据包,并在出口桥将数据包通过外部端口发送出去。
[0040] 一种桥接网络,通过网桥连接,该桥接网络还包括:
[0041] 控制协议体单元,位于网桥,用于接收其他网桥发送的注册包,根据该注册包建立转发路径表,所述的转发路径表为以边沿桥为根的生成树的转发路径表;以及,向生成树的根端口发送注册包;
[0042] 转发路径表存储单元,位于网桥,用于存储转发路径表;
[0043] 数据包转发单元,位于网桥,用于依据所述转发路径表转发接收到的数据包。
[0044] 一种桥接网络中的数据处理方法,所述的桥接网络,通过网桥连接:
[0045] 以每个边沿桥为根生成生成树,所述生成树上的网桥节点通过发送注册包,建立关于根网桥的转发路径表;
[0046] 当来自桥接网络外部的数据包到达桥接网络时:
[0047] 对多播数据包,沿着数据包到达的入口桥为根的生成树在桥接网络内进行转发;或[0048] 对单播数据包,沿着数据包离开桥接网络到达的目的出口桥为根的生成树在桥接网络内进行转发;
[0049] 在出口桥将数据包通过外部端口发送出去。
[0050] 一种桥接网络,通过网桥连接,该网桥包括:
[0051] 控制协议体单元,位于网桥,用于接收其他网桥发送的注册包,根据该注册包建立转发路径表,所述的转发路径表为以每个边沿桥为根的生成树的转发路径表;以及,向生成树的根端口发送注册包;
[0052] 转发路径表存储单元,位于网桥,用于存储转发路径表;
[0053] 数据包类型判断单元,位于入口网桥,用于判断数据包类型,并根据数据包类型选择转发方式,并采用选择的转发方式转发数据包。
[0054] 本发明克服路径不对称引起的MAC地址学习问题,建立满足最短路径转发的转发路径表,并且能采用高效的路径转发技术满足桥接网络能作为运营商以太网所应提供的优越性能。

附图说明

[0055] 图1为本发明方案一的结构示意图;
[0056] 图2——图3为本发明方案一的控制协议体单元的结构示意图;
[0057] 图4为本发明方案一的转发路径表建立的过程示意图;
[0058] 图5为本发明方案二的结构示意图;
[0059] 图6——图7为本发明方案二中控制协议实体的结构示意图。

具体实施方式

[0060] 下面结合说明书附图来说明本发明的具体实施方式。
[0061] 本发明方案围绕着IEEE的第一方案进行:在使用生成树协议建立的多个生成树中研究数据的最短路径转发方法,其中要研究以入口桥做为树根的数据包转发方法。
[0062] 方案一:
[0063] 方案一是在一个桥接网络中,建立了以入口为根的最短路径转发系统,包括以下内容:
[0064] 在桥接网中,以每个边沿桥为根生成一个生成树。
[0065] 除桥接网络外部端口,对其它网桥端口,由于控制协议实体负责建立转发路径表,为了避免其与原有的数据包源地址学习过程所建立的转发路径表发生冲突,需要关闭原有的数据包源地址学习过程。
[0066] 采用控制协议建立转发路径表过程建立每个生成树的转发路径表。
[0067] 在这里,使用了控制协议建立转发路径表过程,该控制协议转发路径表建立过程可以控制桥接网络的桥节点,建立相应的转发路径表。
[0068] 在上述的桥接网络中,当来自桥接网络外部的数据到达桥接网络时,以数据包到达的第一个网桥(即入口桥)为树根在桥接网络内转发数据包,并且若以组播或广播方式转发数据包,发送的数据包要携带根网桥地址信息。
[0069] 在边沿桥,可以采用现有MAC in MAC技术,根据数据包外部头目的MAC地址和内部头目的MAC地址进行两个目的地址的映射关联学习。
[0070] 使用该方案时,桥接网络可以采用现有MAC in MAC机制,在入口网桥,在数据发送到内部端口前,数据包已添加一个外部MAC头,该MAC头包含的源地址是入口桥的网桥地址或入口桥的外部端口地址,该MAC头包含的目的地址可以是出口桥的网桥地址或出口桥的外部端口地址。在桥接网络的出口需要将封装的外部头去掉。在本方案中,允许外部MAC头的地址格式和占用位数不同于内部MAC头。
[0071] 上述方案中的转发路径表建立过程如下:
[0072] 当一个生成树生成后,生成树上除根网桥节点以外的每个网桥节点的控制协议实体主动向生成树的根端口发送注册包,一个注册包携带需要注册的一个或多个该发送注册包的网桥的网络拓扑元素地址(桥接网络外部端口的MAC地址或一个桥的桥MAC地址)。为表述方便也称这些地址为注册地址。注册包的目的MAC地址是特定的控制协议实体组播地址。这里发起注册的网桥被称为源网桥。
[0073] 中间网桥收到传送过来的注册包,将该包交给控制协议实体。根据注册包中注册地址和相关的注册包接收端口,而得到一个或多个转发项:目的MAC地址(相应的注册地址)、端口。网桥把该转发项添加到转发数据库中。然后该网桥继续向生成树的根端口转发注册包。
[0074] 根网桥收到传送过来的注册包后,将该包交给控制协议实体。控制协议实体根据注册包中注册地址和相关的注册包接收端口,从而得到一个或多个转发项:目的MAC地址(相应的源地址)、发送端口。网桥把该转发项添加到转发数据库中。
[0075] 上述方案中涉及到的控制协议实体,可以是设置在网桥上的逻辑控制单元,通过设定的逻辑控制信息,控制所述的网桥建立所述的转发路径表,并将转发路径表汇总至转发数据库。
[0076] 进一步,当根桥收到注册包后,可以沿着向发送方发送证实包;若源网桥发送控制注册包的网桥在一定时间未收到有效的证实包,则重复发送相应的注册包,否则停止发送。控制包的证实过程也可在相邻的发送注册包网桥和接收注册包网桥间进行。
[0077] 进一步,一个网桥可以根据其它需要,如应管理配置需求发送一个控制注册包,对所发送的注册包进行相关控制。
[0078] 以上的过程实际是桥接网络拓扑元素地址的注册,即收到一个注册包后,网桥根据注册地址和接收端口形成一个转发项。进一步,还可根据需要发送“取消注册”的注册包,当收到一个取消注册的注册包后,网桥根据注册地址和接收端口删除一个转发项。象前面的注册包处理过程一样,对取消注册包同样需要证实控制。
[0079] 上述过程可以进一步被优化:若一个网桥是核心节点(没有外部端口),则它不需要主动发送注册包。如果这样做,则当一个网桥发现它变成边沿桥时,它应主动发送注册包。
[0080] 当网络拓扑变化时,删除原有转发路径表并重新生成新生成树,之后可重复上述步骤。
[0081] 上述注册包的发送也可不需要采取证实的方法,而是让边沿桥周期性地发送注册包,并且控制协议实体要对注册地址有相应的老化机制(同传统桥的老化机制)。
[0082] 采用上述最短路径转发系统,当数据包通过外部端口到达后,需对数据包封装一个外部MAC头,其中根据数据包的目的MAC地址与出口桥地址或与出口桥外部端口地址的映射关系表,确定出口桥地址或出口桥外部端口地址并封装相应的外部MAC头目的地址,然后可以利用形成的转发路径表在桥接网络内进行数据包转发。对不能确定外部MAC目的地址的数据包,可进行广播或组播。
[0083] 如图1所示,是本发明一种桥接网络的结构示意图,在该网络系统中,以每个边沿桥为根生成一个生成树,边沿桥具有MAC in MAC封装功能,能发起创建一个转发路径表过程,核心桥能控制注册包建立转发路径表。来自外部端口的数据包到达桥接网络后,在桥接网络内以入口为根的生成树的转发表进行被转发。
[0084] 从图中可见,该桥接网络通过网桥节点连接,该桥接网络还包括:
[0085] 控制协议体单元,位于网桥,用于控制建立转发路径表;
[0086] 转发路径表存储单元,用于存储转发路径表,所述的转发路径表为以边沿桥为根生成树的转发路径表。
[0087] 数据包转发单元:可以位于网桥,用于数据包的接收和转发。
[0088] 所述的控制协议体单元,还包括:
[0089] 注册包发送单元,用于向生成树的根端口发送注册包。
[0090] 该注册包发送单元,可以向生成树的根端口发送注册包,以形成转发路径表。
[0091] 注册包处理单元,对接收到的注册包进行处理,建立转发路径表。
[0092] 该注册包处理单元,用于接收所述的注册包,并提取注册包携带信息,形成转发路径表。
[0093] 证实包发送单元,用于在收到注册包后,向发送方发送证实包。
[0094] 该证实包发送单元,位于接收注册包的网桥的控制协议体单元,用于对数据包的接收状态进行反馈。
[0095] 证实包接收判定单元,用于设定接收所述证实包的时间阈值,如果在设定的时间阈值内没有收到证实包,则重新向树的根端口发送注册包。
[0096] 该证实包接收判定单元,用于判定所发起注册包是否正常到达接收注册包的网桥。
[0097] 上述方案中,同一个网桥可能同时设置有上述功能单元中的多个,这需要根据所述网桥在网络中的位置而定。比如发起一个注册的网桥,可能也会在另外一个注册过程中,作为注册包的接收方,这样,就可以在其控制协议体单元设置注册包处理单元,证实包发送单元等。
[0098] 图2和图3是该方案中发起注册的网桥及接收注册的网桥的控制协议体单元的细化结构图。
[0099] 如图4所示,描述的是发起转发路径表建立过程。当边沿桥B、A知道以C为根的生成树生成后,主动创建一个转发路径表建立过程,发送注册包,注册包始终沿着生成树的根端口传送,收到注册包的控制协议实体根据边沿桥B、A的地址和接收端口建立一个转发项。为了能使控制协议实体处理收到的控制注册包,注册包的接收目的地址应是控制协议实体组播地址。根网桥C收到注册包并建立转发路径表项后,向源网桥发送一个证实消息。
[0100] 方案二:
[0101] 当在同一个广播域使用不同生成树而按最短路径转发数据时,因路径的不对称导致不能采用传统地址学习方法建立转发路径表。假如我们能建立一个桥接网络,在该网络根本不需要通过地址学习来获得转发路径表(除面向用户的端口),问题也就迎刃而解了。我们可按如下步骤建立一个能实现这样功能的入口根网桥和出口根网桥结合的最短路径转发系统:
[0102] 使用该方法时,除网桥的外部端口,对其它网桥端口,需要关闭原有的用户数据包源地址学习过程。
[0103] 在该方案中,以入口桥为根递交广播数据包\组播数据包\未知数据包,以出口桥为根递交单播数据包。
[0104] 在生成树生成后,除根网桥外,每个网桥针对经过该网桥的生成树建立一个不依赖用户数据流的转发路径表:根网桥MAC地址或根网桥外部端口MAC地址、根端口(不允许一个地址对应的根端口数超过一个),该转发路径表可由数据平面自动建立,也可由控制协议实体进行配置,或者采用人工配置的方式。
[0105] 该方案可以采用现有MAC in MAC技术进行数据包外部头目的MAC地址和内部头目的MAC地址的映射关联学习,获得地址映射表。
[0106] 在该方案中,桥接网络需要采用如下的封装机制:在入口网桥,在数据发送到内部端口前,数据包添加一个外部MAC头,该MAC头包含的源地址是入口桥的地址或入口桥的外部端口地址,该MAC头包含的目的地址是出口桥的地址或出口桥的外部端口地址。在桥接网络的出口需要将封装的外部MAC头去掉。允许外部MAC头的地址格式和占用位数不同于内部MAC头。
[0107] 若在入口桥需发送到内部端口的数据包采用的封装模式是:封装本地外部接入端口地址,则需要把本地接入端口所在的网桥地址信息配置其它网桥。
[0108] 当数据包到达入口桥时,结合地址映射表信息判断数据包的类型,若是广播数据包\未知数据包\组播数据包,则在桥接网络内使用以入口为根的生成树进行数据包转发,若是单播数据包,则在桥接网络内以出口桥为根的生成树进行转发。进行广播或组播转发数据包时,封装的数据包要指明转发使用的树根。
[0109] 显然在该系统中,在桥接网络内部不需要通常的地址学习就可完成数据包转发,这是因为对单播数据包,数据始终朝着根端口转发。该系统同时实现了数据包的最短路径转发。
[0110] 如图5所示,是方案二中桥接网络的结构示意图,从图中可见,该桥接网络通过网桥节点连接,包含中间桥及边沿桥。
[0111] 本方案在该桥接网络中,增加设置:
[0112] 控制协议体单元,位于网桥,用于控制建立转发路径表;
[0113] 转发路径表存储单元,位于网桥,用于存储转发路径表,所述的转发路径表为以边沿桥为根生成树的转发路径表;
[0114] 数据包类型判断单元,位于入口网桥,用于判断数据包类型,并根据数据包类型选择转发方式。
[0115] 所述的数据包类型判断单元进一步包括:
[0116] 单播数据包转发单元,用于将所述的单播数据包以出口桥为树根进行转发;
[0117] 多播数据包转发单元,用于将所述的广播或多播数据包以及未知数据包以入口桥为树根进行转发。
[0118] 上述网络中,控制协议体单元,还包括:
[0119] 注册包发送单元,用于向所有指定端口发送注册包。
[0120] 证实包发送单元,用于在收到注册包后,向发送方发送证实包。
[0121] 证实包接收判定单元,用于设定接收所述证实包的时间阈值,如果在设定的阈值时间内没有收到证实包,则重新向接收注册包的网桥发送注册包。
[0122] 图6和图7为该方案中发起注册的网桥及接收注册的网桥的控制协议体单元的细化结构图,可以看出该网桥设置有控制协议体单元,该控制协议体单元设置有转发路径表存储单元和单播数据包转发单元以及多播数据包转发单元。
[0123] 图5给出的桥接网络中,以每个边沿桥为根生成一个生成树,其中图示给出了以网桥B为根的生成树。当数据达到入口网桥A且判断该数据包的出口网桥为B时,该数据包它朝着根端口方向进行转发;当数据到达入口网桥B时且判断该数据包是广播数据包时,该数据包沿着以B为根的生成树进行广播。
[0124] 方案三:
[0125] 方案一和方案二都是在MAC in MAC中的应用,本发明方案还可以应用于其它网络机制,若不使用MAC in MAC机制或只对部分外部端口采用MACin MAC机制,我们可以在一个桥接网络中建立如下的最短路径系统,并由控制协议实体建立关于注册地址的转发路径表:
[0126] 1、每个边沿桥为根生成一个生成树,使用入口为根的生成树转发广播数据包\组播数据包\未知数据包,使用出口为根的生成树转发单播数据包。
[0127] 2、使用该方法时,除外部端口,对其它网桥端口,需要关闭原有的用户数据包源地址学习过程。
[0128] 3、每个边沿桥控制协议实体根据它接入的用户源地址,发起一个控制协议控制的注册地址注册过程,注册过程负责建立转发路径表。注册地址来源于用户数据包到达边沿桥时进行地址学习所获得的用户源地址、位于本网桥的网络拓扑元素地址;该用户地址遵循原有地址学习老化过程。
[0129] 该方案三中,控制协议实体控制的注册地址注册过程遵循如下步骤:
[0130] 每个边沿桥选取它所在的一个生成树,向该生成树的所有指定端口发送注册包,该注册包的目的地址可以是一个特定的组播地址,此外,一个注册包还含有:根网桥地址、一个或多个需要注册的注册地址;该过程可进一步被优化为:注册包不发送到网桥外部端口。
[0131] 每个桥收到注册包后,根据接收端口和注册包中的注册地址获得一个或多个转发路径表项,转发项包括:注册地址、端口,并根据注册包指明的树根网桥,继续沿生成树进行广播,即将注册包发送到非接收端口以外的指定端口;该过程可进一步被优化为:注册包不发送到外部端口。
[0132] 上述注册包的发送可采用周期发现机制或证实机制发送注册包,周期性发送机制是:根网桥节点周期性地发送注册包;网桥节点要对它建立的转发项采取相应的老化机制。
[0133] 证实发送机制是:接收注册包的网桥收到注册包后向发送注册包的网桥发送一个证实消息,若发送注册包的网桥在设定的阈值时间内没有收到证实包,则重新向接收注册包的网桥发送注册包。
[0134] 进一步可做如下的优化:当生成树拓扑发生变化时,边沿桥立即根据它所接入的地址发送注册包,对注册包的处理同上述步骤。
[0135] 进一步,数据平面的数据包转发可做如下优化:当拓扑发生变化时,边沿桥需等待一定时间的注册包处理,然后再发送单播用户数据包,以避免数据包的大量广播对网络的影响。
[0136] 方案三中的地址注册过程也可更改为如下步骤:
[0137] 每个边沿桥选取它所在的一个生成树,周期性地向该生成树的所有指定端口发送注册包,该注册包的目的地址可以是一个特定的组播地址,此外,一个注册包还含有:根网桥地址、一个或多个注册地址、注册类型;注册类型包括:增加、删除;该过程可进一步被优化为:注册包不发送到端口。
[0138] 每个网桥收到注册包后,若注册类型为:增加,则根据接收端口和注册包中的地址获得一个或多个转发表项,转发表项包括:注册地址、端口;若注册类型为:删除,则根据根据接收端口和注册消息中的地址,删除原来的相应的转发表。然后,根据注册消息指明的边沿桥,继续沿着以边沿桥为根的生成树进行广播,即将注册消息包发送到非接收端口以外的指定端口;该过程可进一步被优化为:注册消息包不发送到外部端口。
[0139] 进一步可做如下的优化:当生成树拓扑发生变化时,边沿桥立即根据它所接入的地址发送注册包,对注册包的处理同上述步骤。
[0140] 进一步,数据平面的数据包转发可做如下优化:当拓扑发生变化时,边沿桥需等待一定时间的注册包处理,然后再发送单播数据包,以避免大量数据包的广播对网络的影响。
[0141] 方案四:
[0142] 若不使用MAC in MAC机制或只对部分外部端口采用MAC in MAC机制,则可以在一个桥接网络中建立如下的最短路径系统,并由控制协议建立关于用户户地址的转发表:
[0143] 1、在一个桥接网络中,以每个边沿桥为根生成一个生成树,当来来自桥接网络外部的数据到达桥接网络时,以数据包到达的第一个网桥(即入口桥)为树根在桥接网络内转发数据包。
[0144] 2、使用该方法时,除外部端口,对其它网桥端口,需要关闭原有的用户数据包源地址学习过程。
[0145] 3、每个边沿桥根据它接入的注册地址,发起一个地址注册过程,注册过程负责建立转发路径表。注册地址来源于:用户数据包到达边沿桥时进行地址学习所获得的用户源地址、位于本网桥的网络拓扑元素地址;该用户地址遵循原有地址学习老化过程。
[0146] 地址注册过程遵循如下步骤:
[0147] 边沿桥对它所在的每个生成树(其中边沿桥不是生成树的树根),发送注册包,该注册包目的地址是使用的一个特定的组播地址,此外,一个注册包还含有:根网桥地址、一个或多个注册地址;该注册包沿着指定的生成树的根端口进行转发。
[0148] 每个网桥收到注册包后,根据接收端口和注册包中的地址获得一个或多个转发项,转发项包括:注册地址、端口,然后根据注册包指明的树根网桥,继续沿着树根网桥所对应的生成树的根端口转发注册包。
[0149] 上述注册包的发送可采用周期发现机制或证实机制发送注册消息。
[0150] 周期性发送机制是:根网桥节点周期性地发送注册包;桥节点要对它建立的转发项采取相应的老化机制。
[0151] 证实发送机制是:接收注册包的网桥收到注册包后向发送注册包的网桥发送一个证实消息,若发送注册包的网桥在设定的阈值时间内没有收到证实包,则重新向接收数据包的网桥发送注册包。
[0152] 进一步可做如下的优化:当生成树拓扑发生变化时,边沿桥立即根据它所接入的注册地址发送注册包,对注册包的处理同上述步骤。
[0153] 进一步,数据平面的数据包转发可做如下优化:当拓扑发生变化时,边沿桥需等待一定时间的注册包处理,然后再发送单播用户数据包,以避免大量数据包的广播对网络的影响。
[0154] 上述地址注册过程也更改为如下步骤:
[0155] 边沿桥针对它所在的每个生成树(其中边沿桥不是生成树的树根),发送注册包,该消息目的地址是一个特定的组播地址,此外,一个注册包还含有:树根网桥地址、一个或多个注册地址、注册类型;注册类型包括:增加、删除;该消息沿着以指定的生成树的根端口进行转发。
[0156] 每个网桥收到注册包后,若注册类型为:增加,则根据接收端口和注册包中的注册地址获得一个或多个转发项,转发项包括:注册地址、端口;若注册类型为:删除,则根据接收端口和注册包中的注册地址,删除原来的相应的转发项:注册地址、端口。然后根据注册包指明的树根网桥,继续沿着树根网桥所对应的生成树的根端口进行转发。
[0157] 进一步可做如下的优化:当生成树拓扑发生变化时,边沿桥立即根据它所接入的注册地址发送用户注册包,对注册包的处理同上述步骤。
[0158] 进一步,数据平面的数据包转发可做如下优化:当拓扑发生变化时,边沿桥需等待一定时间的注册包处理,然后再发送单播数据包,以避免大量数据包的广播对网络的影响。
[0159] 本发明方案建立转发路径表的过程,可以关闭原有的数据平面地址学习过程,并且减轻了硬件处理的负担。
[0160] 由于在桥接网络内部,控制协议体单元可以只针对桥或桥端口地址建立转发路径表,转发路径表建立过程只针对桥接网络拓扑的生成或变化进行,因此转发路径表创建过程的MAC地址数量大大减小,建立转发路径表的占用的时间也大大缩短。
[0161] 由于转发路径表的建立可以是针对桥接网络内部网络拓扑元素地址,内部拓扑变化后桥接网络中会迅速建立关于网络拓扑元素地址的转发路径表,从而不会导致拓扑变化后的大量用户包的广播。
[0162] 由于本技术方案在克服了路径不对称生成树引起的学习困难后,还有上述相当大的优点,因此即使在使用PATH向量生成的对称生成树系统中,我们仍可采用本技术方案完成转发路径表的建立,并其除了边沿桥外,不需要在数据平面根据用户数据流从事地址学习过程。
[0163] 完全由控制协议(生成树协议)负责数据包转发路径表建立,可以关闭原有的数据平面地址学习过程,软件升级容易,并且减轻了硬件处理的负担。
[0164] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。