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

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

发明内容
本发明提供一种桥接网络中的数据处理方法及一种桥接网络,用以解决现有技术中存在的路径不对称引起的MAC地址学习问题。
本发明方法包括一种桥接网络中的数据处理方法,所述的桥接网络,通过网桥连接,其特征在于以每个边沿桥为根生成树,并发送注册包建立每个树的路径转发表;当来自桥接网络外部的数据包到达桥接网络时,以数据包到达的入口桥为根在桥接网络内转发数据包,并在出口桥将数据包通过外部端口发送出去。
所述的数据包在入口桥处被封装上外部地址,并在出口桥将封装的外部地址解封装。
所述的转发路径表建立,包括以下步骤A、当以边沿桥为根的树生成后,所述树上的网桥,向树的根端口发送注册包,所述注册包携带源地址、目的地址和注册地址信息;B、第一网桥收到注册包后,根据所述的注册地址信息和接收端口,得到转发项并记录后,向根端口转发所述的注册包,直至所述的注册包转发至根端口;C、根端口接收所述的注册包,根据注册包中的注册地址信息,得到转发项并记录。
所述的步骤A中所述的注册地址信息是一个或多个注册地址,或桥接网络外部端口地址、网桥的桥地址或用户MAC地址;所述的目的地址是组播地址;所述的源地址是发起注册网桥地址。
所述的步骤B和步骤C中,所述的转发项包含目的MAC地址、发送端口标识。
所述的方法,还包括步骤根端口网桥接收到注册包后,向发起注册网桥发送证实包。
所述的证实包,是沿着与发起注册网桥发送注册包相反的路径发送的。
所述的方法,还包括如果发起注册网桥在设定时间阈值内没有收到证实包,则重新向树的根端口发送注册包。
所述的发起注册网桥还可以发送取消注册包。
所述的方法,已注册网桥收到取消注册包后,取消已经进行的注册,并删除相应的转发项。
所述的方法,当所述的桥接网络发生网络拓扑变化时,网桥删除原有的转发路径表,并在树重新生成时,重新注册形成新的转发路径表。
所述的步骤A可以是周期进行的。
所述的方法,对已建立的关于注册地址的转发项采用老化机制。
所述的方法,除桥接网络外部端口的其它桥端口,关闭数据包源地址学习过程。
一种桥接网络,通过网桥连接,其特征在于,还包括控制协议体单元,位于网桥,用于控制建立转发路径表;转发路径表存储单元,位于网桥,用于存储转发路径表,所述的转发路径表为以边沿桥为根生成树的转发路径表;数据包转发单元,位于网桥,负责数据包的接收和转发。
所述的控制协议体单元还包括注册包发送单元,用于向树的根端口发送注册包;注册包处理单元,接收控制协议体单元的控制,对接收到的注册包进行处理,建立转发路径表。
所述的控制协议体单元还包括证实包发送单元,用于在收到注册包后,向发送方发送证实包;证实包接收判定单元,用于设定接收所述证实包的时间阈值,如果在设定的阈值时间内没有收到证实包,则重新向接收方发送注册包。
一种桥接网络中的数据处理方法,所述的桥接网络,通过网桥连接,其特征在于以每个边沿桥为根生成树,并通过发送注册包,所述树上的网桥节点建立关于根端口的路径转发表;当来自桥接网络外部的数据到达桥接网络时对多播包,沿着数据包到达的入口桥为根的树在桥接网络内进行转发;或对单播包,沿着数据包离开桥接网络达到的目的出口网桥为根的树在桥接网络内进行转发;在出口桥将数据包通过外部端口发送出去。
所述的数据包在入口桥处被封装上外部地址,并在出口桥将封装的外部地址解封装。
所述的转发路径表建立,包括当以边沿桥为根的树生成后,所述树上的除根桥外的网桥,建立转发项,所述转发项包括目的MAC地址、发送端口标识,其中发送端口是树的根端口,或当以边沿桥为根节点的树生成后,所述树上的除根桥外的网桥,建立转发项,所述转发项包括目的MAC地址、发送端口标识,其中目的MAC地址是树的根桥MAC地址,发送端口是树的根端口。
所述的转发路径表的建立,包括A、当以边沿桥为根节点的树生成后,所述树上的根网桥,向树的所有指定端口发送注册包,所述注册包含源地址、目的地址和注册地址信息;B、第一网桥收到注册包后,根据所述的注册地址信息,得到转发项并记录后,向树的所有指定端口转发所述的注册包;C、重复步骤B,直至所述的注册包转发到树的所有除根桥端口以外的端口。
所述的步骤A中所述的注册地址信息可以是一个或多个注册地址;所述注册地址是桥接网络外部端口的地址或根网桥的桥地址或用户MAC地址;所述的目的地址是组播地址;所述的源地址是根网桥地址。
所述的步骤B中,所述的转发项包含目的MAC地址、发送端口标识。
所述的方法,还包括步骤
收到注册包后,接收方向发送方发送证实包。
所述的方法,还包括步骤如果注册包发送方在设定时间阈值内没有收到证实包后,则重新向接收方发送注册包。
所述树的根网桥还可以发送取消注册包,当网桥收到取消注册包后,取消已经进行的注册,删除相应的转发项。
所述的方法,当所述的桥接网络拓扑结构发生变化时,网桥删除原有的转发路径表,并在树重新生成时,重新形成新的转发路径表。
所述的步骤A可以是周期进行的。
所述的方法,对已建立的关于注册地址的转发项采用相应的老化机制。
所述的多播包,包括组播包、广播包和未知包。
所述的方法,除桥接网络外部端口外的其它桥端口,关闭数据包源地址学习过程。
一种桥接网络,通过网桥连接,其特征在于,还包括控制协议体单元,位于网桥,用于控制建立转发路径表;转发路径表存储单元,位于网桥,用于存储转发路径表,所述的转发路径表为以边沿桥为根生成树的转发路径表;数据包转发单元,位于网桥,负责数据包的接收和转发。
所述的数据包转发单元进一步包括单播数据包转发单元,用于将所述的单播数据包以出口桥为树根进行转发;多播数据包转发单元,用于将所述的多播数据包以入口桥为树根进行转发。
所述的控制协议体单元还包括注册包发送单元,用于向所有指定端口发送注册包;证实包发送单元,用于在收到注册包后,向发送方发送证实包;
证实包接收判定单元,用于设定接收所述证实包的时间阈值,如果在设定的阈值时间内没有收到证实包,则重新向接收方发送注册包。
本发明克服路径不对称引起的MAC地址学习问题,建立满足最短路径转发的路径转发表,并且能采用高效的路径转发技术满足桥接网络能作为运营商以太网所应提供的优越性能。


图1为本发明方案一的结构示意图;图2——图3为本发明方案一的控制协议体单元的结构示意图;图4为本发明方案一的转发路径表建立的过程示意图;图5为本发明方案二的结构示意图;图6——图7为本发明方案二中控制协议体单元的结构示意图。
具体实施例方式
下面结合说明书附图来说明本发明的具体实施方式

本发明方案围绕着IEEE的第一方案进行在使用生成树协议建立的多个生成树中研究数据的最短路径转发方法,其中要研究以入口桥做为树根的数据转发方法。
方案一方案一是在一个桥接网络中,建立了以入口为根的最短路径转发系统,包括以下内容在桥接网中,以每个边沿桥为根生成一个树。
除桥接网络外部端口,对其它桥端口,由于控制协议实体负责建立转发路径表,为了避免其与原有的数据包源地址学习过程所建立的路径转发表发生冲突,需要关闭原有的数据包源地址学习过程。
采用“控制协议建立转发路径表过程”建立每个树的转发路径表。
在这里,使用了控制协议建立转发路径表过程,该控制协议转发路径表建立过程可以控制桥接网络的桥节点,建立相应的转发路径表。
在上述的桥接网络中,当来自桥接网络外部的数据到达桥接网络时,以数据包到达的第一个网桥(即入口桥)为树根在桥接网络内转发数据包,并且若以组播或广播方式转发数据包,发送的数据包要携带根网桥地址信息。
在边沿桥,可以采用现有MAC in MAC技术,根据数据包外部头目的MAC地址和内部头目的MAC地址进行两个目的地址的映射关联学习。
使用该方案时,桥接网络可以采用现有MAC in MAC机制,在入口网桥,在数据发送到内部端口前,数据包已添加一个外部MAC头,该MAC头包含的源地址是入口桥的桥地址或入口桥的外部端口地址,该MAC头包含的目的地址可以是出口桥的桥地址或出口桥的外部端口地址。在桥接网络的出口需要将封装的外部头去掉。在本方案中,允许外部MAC头的地址格式和占用位数不同于内部MAC头。
上述方案中的转发路径表建立过程如下当一个树生成后,树上除根桥节点以外的每个桥节点的控制协议实体主动向树的根端口发送注册包,一个注册包携带需要注册的一个或多个该发送网桥的网络拓扑元素地址(桥接网络外部端口的MAC地址或一个桥的桥MAC地址)。为表述方便也称这些地址为注册地址。注册包的目的MAC地址是特定的控制协议实体组播地址。这里发起注册的网桥被称为源网桥。
中间网桥收到传送过来的注册包,将该包交给控制协议实体。根据注册包中注册地址和相关的注册包接收端口,而得到一个或多个转发项目的MAC地址(相应的注册地址)、端口。网桥把该转发项添加到转发数据库中。然后该桥继续向树的根端口转发注册包。
根网桥收到传送过来的注册包后,将该包交给控制协议实体。控制协议实体根据注册包中注册地址和相关的注册包接收端口,从而得到一个或多个转发项目的MAC地址(相应的源地址)、发送端口。网桥把该转发项添加到转发数据库中。
上述方案中涉及到的控制协议实体,可以是设置在网桥上的逻辑控制单元,通过设定的逻辑控制信息,控制所述的网桥建立所述的转发路径表,并将转发路径表汇总至转发数据库。
进一步,当根桥收到注册包后,可以沿着向发送方发送证实包;若源网桥发送控制注册包的网桥在一定时间未收到有效的证实包,则重复发送相应的注册包,否则停止发送。控制包的证实过程也可在相邻的发送注册包网桥和接收注册包网桥间进行。
进一步,一个网桥可以根据其它需要,如应管理配置需求发送一个控制注册包,对所发送的注册包进行相关控制。
以上的过程实际是桥接网络拓扑元素地址的注册,即收到一个注册包后,网桥根据注册地址和接收端口形成一个转发表项。进一步,还可根据需要发送“取消注册”的注册包,当收到一个取消注册的注册包后,网桥根据注册地址和接收端口删除一个转发表项。象前面的注册包处理过程一样,对取消注册注册包同样需要证实控制。
上述过程可以进一步被优化若一个桥是核心节点(没有外部端口),则它不需要主动发送注册包。如果这样做,则当一个桥发现它变成边沿桥时,它应主动发送注册包。
当网络拓扑变化时,删除原有转发表并重新生成新树,之后可重复上述步骤。
上述注册包的发送也可不需要采取证实的方法,而是让边沿桥周期性地发送注册包,并且控制协议实体要对注册地址有相应的老化机制(同传统桥的老化机制)。
采用上述最短路径转发系统,当数据包通过外部端口到达后,需对数据包封装一个外部MAC头,其中根据数据包的目的MAC地址与出口网桥地址或与出口网桥外部端口地址的映射关系表,确定出口网桥地址或出口网桥外部端口地址并封装相应的外部MAC头目的地址,然后可以利用形成的转发表在桥接网络内进行数据转发。对不能确定外部MAC目的地址的数据包,可进行广播或组播。
如图1所示,是本发明一种桥接网络的结构示意图,在该网络系统中,以每个边沿桥为根生成一个树,边沿桥具有MAC in MAC封装功能,能发起创建一个转发路径表过程,核心桥能控制数据控制协议包建立转发路径表。来自外部端口的数据包到达桥接网络后,在桥接网络内以入口为根的树的转发表进行被转发。
从图中可见,该桥接网络通过网桥节点连接,该桥接网络还包括控制协议体单元,位于网桥,用于控制建立转发路径表;转发路径表存储单元,用于存储转发路径表,所述的转发路径表为以边沿桥为根生成树的转发路径表。
数据包转发单元可以位于网桥,用于数据包的接收和转发。
所述的控制协议体单元,还包括注册包发送单元,用于向树的根端口发送注册包。
该注册包发送单元,可以向树的根端口发送注册包,以形成转发路径表。
注册包处理单元,对接收到的注册包进行处理,建立转发路径表。
该注册包处理单元,用于接收所述的注册包,并提取注册包携带信息,形成转发路径表。
证实包发送单元,用于在收到注册包后,向发送方发送证实包。
该证实包发送单元,位于接收注册包的网桥的控制协议体单元,用于对数据包的接收状态进行反馈。
证实包接收判定单元,用于设定接收所述证实包的时间阈值,如果在设定的阈值时间内没有收到证实包,则重新向树的根端口发送注册包。
该证实包接收判定单元,用于判定所发起注册包是否正常到达接收方。
上述方案中,同一个网桥可能同时设置有上述功能单元中的多个,这需要根据所述网桥在网络中的位置而定。比如发起一个注册的网桥,可能也会在另外一个注册过程中,作为注册包的接收方,这样,就可以在其控制协议体单元设置注册包处理单元,证实包发送单元等。
图2和图3是该方案中发起注册的网桥及接收注册的网桥的控制协议体的细化结构图。
如图4所示,描述的是发起转发路径表建立过程。当边沿桥B、A知道以C为根的树生成后,主动创建一个转发路径表建立过程,发送注册包,注册包始终沿着树的根端口传送,收到注册包的控制协议实体根据边沿桥B、A的地址和接收端口建立一个转发项。为了能使控制协议实体处理收到的控制注册包,注册包的接收目的地址应是控制协议实体组播地址。根桥C收到注册包并建立转发路径表项后,向源网桥发送一个证实消息。
方案二当在同一个广播域使用不同树而按最短路径转发数据时,因路径的不对称导致不能采用传统地址学习方法建立转发路径表。假如我们能建立一个桥接网络,在该网络根本不需要通过地址学习来获得转发表(除面向用户的端口),问题也就迎刃而解了。我们可按如下步骤建立一个能实现这样功能的入口根网桥和出口根网桥结合的最短路径转发系统使用该方法时,除外部端口,对其它桥端口,需要关闭原有的用户数据包源地址学习过程。
在该方案中,以入口为根递交广播包/组播包/未知包,以出口为根递交单播包。
在树生成后,除根网桥外,每个网桥针对经过该网桥的树建立一个不依赖用户数据流的转发路径表根桥MAC地址或根桥外部端口MAC地址、根端口(不允许一个地址对应的根端口数超过一个),该转发表可由数据平面自动建立,也可由控制协议实体进行配置,或者采用人工配置的方式。。
该方案可以采用现有MAC in MAC技术进行数据包外部头目的MAC地址和内部头目的MAC地址的映射关联学习,获得地址映射表。
在该方案中,桥接网络需要采用如下的封装机制系统在入口网桥,在数据发送到内部端口前,数据包添加一个外部MAC头,该MAC头包含的源地址是入口桥的地址或入口桥的外部端口地址,该MAC头包含的目的地址是出口桥的地址或出口桥的外部端口地址。在桥接网络的出口需要将封装的外部头去掉。允许外部MAC头的地址格式和占用位数不同于内部MAC头。
若在入口网桥需发送到内部端口的数据包采用的封装模式是封装本地外部接入端口地址,则需要把本地接入端口所在的网桥地址信息配置其它网桥。
当数据包到达入口网桥时,结合地址映射表信息判断数据包的类型,若是广播包\未知包\组播包,则在桥接网络内使用以入口为根进行数据转发,若是单播包,则在桥接网络内以出口桥为根进行转发。进行广播或组播转发数据包时,封装的数据包要指明转发使用的树根。
显然在该系统中,在桥接网络内部不需要通常的地址学习就可完成数据转发,这是因为对单播包,数据始终朝着根端口转发。该系统同时实现了数据包的最短路径转发。
如图5所示,是方案二中桥接网络的结构示意图,从图中可见,该桥接网络通过网桥节点连接,包含中间桥及边沿桥。
本方案在该桥接网络中,增加设置控制协议体单元,位于网桥,用于控制建立转发路径表;转发路径表存储单元,位于网桥,用于存储转发路径表,所述的转发路径表为以边沿桥为根生成树的转发路径表;数据包类型判断单元,位于入口网桥,用于判断数据包类型,并根据数据包类型选择转发方式。
所述的数据包类型判断单元进一步包括
单播数据包转发单元,用于将所述的单播数据包以出口桥为树根进行转发;多播数据包转发单元,用于将所述的广播或多播数据包以及未知数据包以入口桥为树根进行转发。
上述网络中,控制协议体单元,还包括注册包发送单元,用于向所有指定端口发送注册包。
证实包发送单元,用于在收到注册包后,向发送方发送证实包。
证实包接收判定单元,用于设定接收所述证实包的时间阈值,如果在设定的阈值时间内没有收到证实包,则重新向接收方发送注册包。
图6和图7为该方案中发起注册的网桥及接收注册的网桥的控制协议体单元的细化结构图,可以看出该网桥设置有控制协议体单元,该控制协议体单元设置有转发路径表存储单元和单播数据包转发单元以及多播数据包转发单元。
图5给出的桥接网络中,以每个边沿桥为根生成一个树,其中图示给出了以网桥B为根的树。当数据达到入口网桥A且判断该数据包的出口网桥为B时,该数据包它朝着根端口方向进行转发;当数据到达入口网桥B时且判断该数据包时广播包时,该数据包沿着以B为根的树进行广播。
方案三方案一和方案二都是在MAC in MAC中的应用,本发明方案还可以应用于其它网络机制,若不使用MAC in MAC机制或只对部分外部端口采用MACin MAC机制,我们可以在一个桥接网络中建立如下的最短路径系统,并由控制协议实体建立关于注册地址的路径转发表1、每个边沿桥为根生成一个树,使用入口为根的树转发“广播包、组播包、未知包”,使用出口为根的树转发单播包。
2、使用该方法时,除外部端口,对其它桥端口,需要关闭原有的用户数据包源地址学习过程。
3、每个边沿桥控制协议实体根据它接入的用户源地址,发起一个控制协议控制的注册地址注册过程,注册过程负责建立转发路径表。注册地址来源于用户数据包到达边沿桥时进行地址学习所获得的用户源地址、位于本网桥的网络拓扑元素地址;该用户地址遵循原有地址学习老化过程。
该方案三中,控制协议实体控制的注册地址注册过程遵循如下步骤每个边沿桥选取它所在的一个树,向该树的所有指定端口发送地址注册消息,该消息的目的地址可以是一个特定的组播地址,此外,一个注册消息还含有树根桥地址、一个或多个需要注册的注册地址;该过程可进一步被优化为注册消息包不发送到网桥外部端口。
每个桥收到地址注册消息后,根据接收端口和注册消息中的注册地址获得一个或多个转发路径表项,转发项包括注册、端口,并根据注册消息指明的树根桥,继续沿树进行广播,即将注册消息包发送到非接收端口以外的指定端口;该过程可进一步被优化为注册消息包不发送到外部端口。
上述注册包的发送可采用周期发现机制或证实机制发送注册消息,周期性发送机制是根桥节点周期性地发送注册包;桥节点要对它建立的转发表项采取相应的老化机制。
证实发送机制是接收方收到注册包后向发送方发送一个证实消息,若发送方在设定的阈值时间内没有收到证实包,则重新向接收方发送注册包。
进一步可做如下的优化当树拓扑发生变化时,边沿桥立即根据它所接入的地址发送注册消息,对注册消息的处理同上述步骤。
进一步,数据平面的数据转发可做如下优化当拓扑发生变化时,边沿桥需等待一定时间的注册消息处理,然后再发送单播用户数据包,以避免数据包的大量广播对网络的影响。
方案三中的地址注册过程也可更改为如下步骤每个边沿桥选取它所在的一个树,周期性地发送向该树的所有指定端口发送地址注册消息,该消息目的地址可以是一个特定的组播地址,此外,一个注册消息还含有树根桥地址、一个或多个注册地址、注册类型;注册类型包括增加、删除;该过程可进一步被优化为注册消息包不发送到端口。
每个桥收到地址注册消息后,若注册类型为增加,则根据接收端口和注册消息中的地址获得一个或多个转发表项,转发表项包括注册地址、端口;若注册类型为删除,则根据根据接收端口和注册消息中的地址,删除原来的相应的转发表。然后,根据注册消息指明的边沿桥,继续沿者以边沿桥为根的树进行广播,即将注册消息包发送到非接收端口以外的指定端口;该过程可进一步被优化为注册消息包不发送到外部端口。
进一步可做如下的优化当树拓扑发生变化时,边沿桥立即根据它所接入的地址发送注册消息,对注册消息的处理同上述步骤。
进一步,数据平面的数据转发可做如下优化当拓扑发生变化时,边沿桥需等待一定时间的注册消息处理,然后再发送单播用户数据包,以避免数据包的大量广播对网络的影响。
方案四若不使用MAC in MAC机制或只对部分外部端口采用MAC in MAC机制,则可以在一个桥接网络中建立如下的最短路径系统,并由控制协议建立关于用户户地址的转发表1、在一个桥接网络中,以每个边沿桥为根生成一个树,当来来自桥接网络外部的数据到达桥接网络时,以数据包到达的第一个网桥(即入口桥)为树根在桥接网络内转发数据包。
2、使用该方法时,除外部端口,对其它桥端口,需要关闭原有的用户数据包源地址学习过程。
3、每个边沿桥根据它接入的注册地址,发起一个地址注册过程,注册过程负责建立转发路径表。注册地址来源于用户数据包到达边沿桥时进行地址学习所获得的用户源地址、位于本网桥的网络拓扑元素地址;该用户地址遵循原有地址学习老化过程。
地址注册过程遵循如下步骤边沿桥对它所在的每个树(其中边沿桥不是树的树根),发送地址注册消息,该消息目的地址是使用的一个特定的组播地址,此外,一个注册消息还含有树根桥地址、一个或多个注册地址;该消息沿着指定的树的根端口进行转发。
每个桥收到地址注册消息后,根据接收端口和注册消息中的地址获得一个或多个转发表项,转发表项包括注册地址、端口,然后根据注册消息指明的树根网桥,继续沿着树根网桥所对应的树的根端口转发注册包。
上述注册包的发送可采用周期发现机制或证实机制发送注册消息。
周期性发送机制是根桥节点周期性地发送注册包;桥节点要对它建立的转发表项采取相应的老化机制。
证实发送机制是接收方收到注册包后向发送方发送一个证实消息,若发送方在设定的阈值时间内没有收到证实包,则重新向发送方发送注册包。
进一步可做如下的优化当树拓扑发生变化时,边沿桥立即根据它所接入的注册地址发送注册消息,对注册消息的处理同上述步骤。
进一步,数据平面的数据转发可做如下优化当拓扑发生变化时,边沿桥需等待一定时间的注册消息处理,然后再发送单播用户数据包,以避免大量数据包的广播对网络的影响。
上述地址注册过程也更改为如下步骤边沿桥针对它所在的每个树(其中边沿桥不是树的树根),发送地址注册消息,该消息目的地址是一个特定的组播地址,此外,一个注册消息还含有树根桥地址、一个或多个注册地址、注册类型;注册类型包括增加、删除;该消息沿着以指定的树的根端口进行转发。
每个桥收到地址注册消息后,若注册类型为增加,则根据接收端口和注册消息中的注册地址获得一个或多个转发表项,转发项包括注册地址、端口;若注册类型为删除,则根据根据接收端口和注册消息中的注册地址,删除原来的相应的转发表项注册地址、端口。然后根据注册消息指明的树根网桥,继续沿着树根网桥所对应的树的根端口进行转发。
进一步可做如下的优化当树拓扑发生变化时,边沿桥立即根据它所接入的注册地址发送用户注册消息,对注册消息的处理同上述步骤。
进一步,数据平面的数据转发可做如下优化当拓扑发生变化时,边沿桥需等待一定时间的注册消息处理,然后再发送单播数据包,以避免大量数据包的广播对网络的影响。
本发明方案建立转发路径表的过程,可以关闭原有的数据平面地址学习过程,并且减轻了硬件处理的负担。
由于在桥接网络内部,控制协议可以只针对桥或桥端口地址建立转发表,转发表建立过程只针对桥接网络拓扑的生成或变化进行,因此转发表创建过程的MAC地址数量大大减小,建立转发表的占用的时间也大大缩短。
由于转发表的建立可以是针对桥接网络内部网络拓扑元素地址,内部拓扑变化后桥接网络中会迅速建立关于网络拓扑元素地址的转发路径表,从而不会导致拓扑变化后的大量用户包的广播。
由于本技术方案在克服了路径不对称树引起的学习困难后,还有上述相当大的优点,因此即使在使用PATH向量生成的对称树系统中,我们仍可采用本技术方案完成转发路径表的建立,并其除了边沿桥外,不需要在数据平面根据用户数据流从事地址学习过程。
完全由控制协议(生成树协议)负责数据转发表建立,可以关闭原有的数据平面地址学习过程,软件升级容易,并且减轻了硬件处理的负担。
由于在桥接网络内部,控制协议只针对桥或桥端口地址建立转发表,转发表建立过程只针对桥接网络拓扑的生成或变化进行,因此转发表创建过程的MAC地址数量大大减小,建立转发表的占用的时间也大大缩短。
由于转发表的建立是针对桥接网络内部网络拓扑元素地址,内部拓扑变化后桥接网络中网桥控制协议实体会迅速建立关于网络拓扑元素地址的数据转发表,从而不会导致拓扑变化后的大量用户包的广播。
由于本技术方案在克服了路径不对称树引起的学习困难后,还有上述相当大的优点,因此即使在使用PATH向量生成的对称树系统中,我们仍可采用本技术方案完成数据转发表的建立,并其除了边沿桥外,不需要在数据平面根据用户数据流从事地址学习过程。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种桥接网络中的数据处理方法,所述的桥接网络,通过网桥连接,其特征在于以每个边沿桥为根生成树,并发送注册包建立每个树的路径转发表;当来自桥接网络外部的数据包到达桥接网络时,以数据包到达的入口桥为根在桥接网络内转发数据包,并在出口桥将数据包通过外部端口发送出去。
2.如权利要求1所述的方法,其特征在于,所述的数据包在入口桥处被封装上外部地址,并在出口桥将封装的外部地址解封装。
3.如权利要求1所述的方法,其特征在于,所述的转发路径表建立,包括以下步骤A、当以边沿桥为根的树生成后,所述树上的网桥,向树的根端口发送注册包,所述注册包携带源地址、目的地址和注册地址信息;B、第一网桥收到注册包后,根据所述的注册地址信息和接收端口,得到转发项并记录后,向根端口转发所述的注册包,直至所述的注册包转发至根端口;C、根端口接收所述的注册包,根据注册包中的注册地址信息,得到转发项并记录。
4.如权利要求3所述的方法,其特征在于,所述的步骤A中所述的注册地址信息是一个或多个注册地址,或桥接网络外部端口地址、网桥的桥地址或用户MAC地址;所述的目的地址是组播地址;所述的源地址是发起注册网桥地址。
5.如权利要求3所述的方法,其特征在于,所述的步骤B和步骤C中,所述的转发项包含目的MAC地址、发送端口标识。
6.如权利要求3所述的方法,其特征在于,还包括步骤根端口网桥接收到注册包后,向发起注册网桥发送证实包。
7.如权利要求6所述的方法,其特征在于,所述的证实包,是沿着与发起注册网桥发送注册包相反的路径发送的。
8.如权利要求6或7所述的方法,其特征在于,还包括如果发起注册网桥在设定时间阈值内没有收到证实包,则重新向树的根端口发送注册包。
9.如权利要求3所述的方法,其特征在于,所述的发起注册网桥还可以发送取消注册包。
10.如权利要求9所述的方法,其特征在于,已注册网桥收到取消注册包后,取消已经进行的注册,并删除相应的转发项。
11.如权利要求3所述的方法,其特征在于,当所述的桥接网络发生网络拓扑变化时,网桥删除原有的转发路径表,并在树重新生成时,重新注册形成新的转发路径表。
12.如权利要求3所述的方法,其特征在于,所述的步骤A可以是周期进行的。
13如权利要求12所述的方法,其特征在于,对已建立的关于注册地址的转发项采用老化机制。
14.如权利要求1所述的方法,其特征在于,除桥接网络外部端口的其它桥端口,关闭数据包源地址学习过程。
15.一种桥接网络,通过网桥连接,其特征在于,还包括控制协议体单元,位于网桥,用于控制建立转发路径表;转发路径表存储单元,位于网桥,用于存储转发路径表,所述的转发路径表为以边沿桥为根生成树的转发路径表;数据包转发单元,位于网桥,负责数据包的接收和转发。
16.如权利要求15所述的网络,其特征在于,所述的控制协议体单元还包括注册包发送单元,用于向树的根端口发送注册包;注册包处理单元,接收控制协议体单元的控制,对接收到的注册包进行处理,建立转发路径表。
17.如权利要求16所述的网络,其特征在于,所述的控制协议体单元还包括证实包发送单元,用于在收到注册包后,向发送方发送证实包;证实包接收判定单元,用于设定接收所述证实包的时间阈值,如果在设定的阈值时间内没有收到证实包,则重新向接收方发送注册包。
18.一种桥接网络中的数据处理方法,所述的桥接网络,通过网桥连接,其特征在于以每个边沿桥为根生成树,并通过发送注册包,所述树上的网桥节点建立关于根端口的路径转发表;当来自桥接网络外部的数据到达桥接网络时对多播包,沿着数据包到达的入口桥为根的树在桥接网络内进行转发;或对单播包,沿着数据包离开桥接网络达到的目的出口网桥为根的树在桥接网络内进行转发;在出口桥将数据包通过外部端口发送出去。
19.如权利要求18所述的方法,其特征在于,所述的数据包在入口桥处被封装上外部地址,并在出口桥将封装的外部地址解封装。
20.如权利要求19所述的方法,其特征在于,所述的转发路径表建立,包括当以边沿桥为根的树生成后,所述树上的除根桥外的网桥,建立转发项,所述转发项包括目的MAC地址、发送端口标识,其中发送端口是树的根端口,或当以边沿桥为根节点的树生成后,所述树上的除根桥外的网桥,建立转发项,所述转发项包括目的MAC地址、发送端口标识,其中目的MAC地址是树的根桥MAC地址,发送端口是树的根端口。
21.如权利要求19所述的方法,其特征在于,所述的转发路径表的建立,包括A、当以边沿桥为根节点的树生成后,所述树上的根网桥,向树的所有指定端口发送注册包,所述注册包含源地址、目的地址和注册地址信息;B、第一网桥收到注册包后,根据所述的注册地址信息,得到转发项并记录后,向树的所有指定端口转发所述的注册包;C、重复步骤B,直至所述的注册包转发到树的所有除根桥端口以外的端口。
22.如权利要求21所述的方法,其特征在于,所述的步骤A中所述的注册地址信息可以是一个或多个注册地址;所述注册地址是桥接网络外部端口的地址或根网桥的桥地址或用户MAC地址;所述的目的地址是组播地址;所述的源地址是根网桥地址。
23.如权利要求21所述的方法,其特征在于,所述的步骤B中,所述的转发项包含目的MAC地址、发送端口标识。
23.如权利要求21所述的方法,其特征在于,还包括步骤收到注册包后,接收方向发送方发送证实包。
24.如权利要求21所述的方法,其特征在于,还包括步骤如果注册包发送方在设定时间阈值内没有收到证实包后,则重新向接收方发送注册包。
25.如权利要求21所述的方法,其特征在于,所述树的根网桥还可以发送取消注册包,当网桥收到取消注册包后,取消已经进行的注册,删除相应的转发项。
26.如权利要求21所述的方法,其特征在于,当所述的桥接网络拓扑结构发生变化时,网桥删除原有的转发路径表,并在树重新生成时,重新形成新的转发路径表。
27.如权利要求21所述的方法,其特征在于,所述的步骤A可以是周期进行的。
28如权利要求21所述的方法,其特征在于,对已建立的关于注册地址的转发项采用相应的老化机制。
29.如权利要求18所述的方法,其特征在于,所述的多播包,包括组播包、广播包和未知包。
30.如权利要求18所述的方法,其特征在于,除桥接网络外部端口外的其它桥端口,关闭数据包源地址学习过程。
31.一种桥接网络,通过网桥连接,其特征在于,还包括控制协议体单元,位于网桥,用于控制建立转发路径表;转发路径表存储单元,位于网桥,用于存储转发路径表,所述的转发路径表为以边沿桥为根生成树的转发路径表;数据包转发单元,位于网桥,负责数据包的接收和转发。
32.如权利要求31所述的网络,其特征在于,所述的数据包转发单元进一步包括单播数据包转发单元,用于将所述的单播数据包以出口桥为树根进行转发;多播数据包转发单元,用于将所述的多播数据包以入口桥为树根进行转发。
33.如权利要求31所述的网络,其特征在于,所述的控制协议体单元还包括注册包发送单元,用于向所有指定端口发送注册包;证实包发送单元,用于在收到注册包后,向发送方发送证实包;证实包接收判定单元,用于设定接收所述证实包的时间阈值,如果在设定的阈值时间内没有收到证实包,则重新向接收方发送注册包。
全文摘要
本发明公开了一种桥接网络中的数据处理方法及一种桥接网络。所述的桥接网络,通过网桥连接以每个边沿桥为根生成树,并发送注册包建立每个树的路径转发表;除桥接网络外部端口的其它桥端口,关闭数据包源地址学习过程;当来自桥接网络外部的数据包到达桥接网络时,以数据包到达的入口桥为树根在桥接网络内转发数据包,并在出口桥将数据包通过外部端口发送出去。本发明克服路径不对称引起的MAC地址学习问题,建立满足最短路径转发的路径转发表,并且能采用高效的路径转发技术满足桥接网络能作为运营商以太网所应提供的优越性能。
文档编号H04L12/56GK1960325SQ20051011975
公开日2007年5月9日 申请日期2005年11月4日 优先权日2005年11月4日
发明者邹世敏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1