转发循环预防设备及方法

文档序号:7940919阅读:96来源:国知局
专利名称:转发循环预防设备及方法
技术领域
本发明涉及通信领域,更确切地说,本发明涉及通信系统中的转发循环预防技术。
背景技术
在数据通信领域及/或通信流量的其他类型中已使用各种不同技术。在过去的 100年间,利用铜缆(copper connections)连接中心局(Central Office ;CO)与各客户 端,即已能足够满足相关使用需求。数字用户线路(DSL)技术的发展,进一步促进了以铜 缆为基础的远程通信技术(last mile)中的数据性能,它使运营商能利用传统的网络资 源,而以8Mbps及16Mbps的更快速度实现高速的互联网接入服务。然而此带宽可能不足 以支持新兴的互联网应用技术,尤其是市场需求日益增长的高清电视(HDTV)及交互应用 (interactive applications)领域。若所述全部以铜缆所架构成的远程通信网络的传输带 宽无法满足使用者的需求,那么就需要考虑使用其他的网络架构来代替。在一些架构中,常常发生发送设备或系统所接收到的流量(traffic)是其最初所 发送的,这有可能导致问题。

发明内容
本发明的一些实施例的目的是为了提供一种改良的通信设备及方法。本发明的一些实施例的另一目的是为了防止在通信系统中产生转发循环。根据本发明的一型态,提供了一种方法,所述方法包括接收一通信流量群,所述 通信流量群包括一目的地址以及一传送所述通信流量群的传送通信设备的标识信息;依据 所述目的地址确认所述通信流量群是否将被广播传送(broadcast)至包括所述传送通信 设备在内的复数通信设备;以及若确认结果为是,在所述将被广播传送的通信流量群中包 括所述通信流量群为已转发过(reflected)的指示信息,并广播传送所述通信流量群。在一些实施方式中,进一步包括在所述将被广播传送的通信流量群内设置一信息 字段,并将所述信息字段的值设为指示所述通信流量群为已转发过的通信流量群,所述方 法还包括在将被广播传送至除所述传送通信设备之外的各通信设备中的通信流量群内设 置一信息字段,并将所述信息字段设置为另一不同的值。在一些实施方式中,所述确认流程还包括下列步骤的至少其中一个确认是否所 述目的地址为未知,以及确认所述通信流量群是一多播(multicast)通信流量群还是一广 播(broadcast)通信流量群。在一些实施方式中,是通过一无源光纤网络(PON)来接收以及广播传送所述通信
流量群。在一些实施方式中,所述PON是一千兆位无源光纤网络(GPON)。在一些实施方式中,所述通信流量群包括一端口标识信息,所述信息字段中包括 一端口标识信息部分。在一些实施方式中,所述通信流量群是封装成局域网(LAN)信息框或以太网信息框的流量群,信息框并包含有所述目的地址。在一些实施方式中,所述方法进一步包括通过所述多数通信设备中之其中一个 通信设备端接收所述经广播传送的通信流量群;根据所述所接收到的通信流量群内的信息 字段,确认所述通信流量群是否为已转发过的通信流量群,及其标识信息是否与所述接收 通信设备相关;若确认结果为所述接收到的通信流量群为一已转发过的通信流量群且所述 标识信息也与所述接收通信设备相关,则丢弃所述接收到的广播通信流量群;若确认结果 为所述所接收到的通信流量群不是已转发过的通信流量群或者所述标识信息与所述接收 通信设备不相关,则转发(forwarding)所述接收到的广播通信流量群。
根据本发明的的另一型态,还提供了一种设备,其包括一接口,其用于提供所述 设备接收及传送通信流量群,一接收到的通信流量群中包含有一目的地址以及一用于传送 所述通信流量群的传送设备的标识信息;一处理模块,其操作地耦合至所述接口,并依据所 述目的地址确认一接收到的通信流量群是否广播传送至包括所述传送通信设备在内的各 通信设备;以及若确认结果为是,则在所述将被广播传送的通信流量群中包括所述通信流 量群已转发过(reflected)的指示信息,并通过所述接口广播传送所述通信流量群。在一些实施方式中,所述处理模块包含关于通过所述接口在所述将被广播传送的 通信流量群内设置一信息字段,并将所述信息字段的值设为一值的指示,该值显示所述通 信流量群为已转发过的通信流量群,且所述处理模块还包括在通过另一接口进行广播传送 的通信流量群内设置一信息字段,并将所述信息字段设置为另一不同的值。在一些实施方式中,所述设备还包括一存储器,其操作地耦合至所述处理模块, 该存储器中储存有一学习数据库,用于从接收到的通信流量群中学习所包含的目的地址, 所述处理模块通过判断所述将被广播传送的通信流量群中的目的地址是否与通过所述学 习数据库学习的任一目的地址相匹配,确认所述目的地址是否为未知。在一些实施方式中,当与所述目的地址相匹配的所述学习数据库中的条目 (entry)超过其最大时效时,所述处理模块确认该目的地址属于未知信息。在一些实施方式中,所述接口提供所述设备通过一千兆位无源光纤网络(GPON) 来接收以及发送通信流量群,且所述设备还包括一光纤路终端(OLT)系统。在一些实施方式中,所述通信流量群还包括一端口标识信息,所述所述信息字段 包含部份的端口标识信息。在一些实施方式中,所述设备是应用在一通信网络中,所述通信网络进一步包含 一通信设备,其包括一接口,用于提供所述通信设备接收所述广播通信流量群;一过滤模 块,其操作地耦合至所述接口,以依据所述信息字段,判断所述接收到的广播通信流量群是 否为已转发过的通信流量群,以及所述标识信息是否与所述通信设备相关;若确认结果为 所述接收到的广播通信流量群为一已转发过的通信流量群且所述标识信息也与所述接收 通信设备相关,则丢弃所述接收到的广播通信流量群;若确认结果为所述接收到的广播通 信流量群不是已转发过的通信流量群或者所述通信流量群中的标识信息与所述接收通信 设备不相关,则转发所述接收到的广播通信流量群。根据本发明的另一个型态,还提供一种方法,其包括在一通信设备端接收一通信 流量群,所述通信流量群包括一传送所述通信流量群的传送通信设备的标识信息,以及一 信息字段,其用于指示所述通信流量群是否为一已转发过的通信流量群;依据所述信息字段确认所述接收到的通信流量群是否为已转发过的通信流量群,以及所述标识信息是否与所述接收通信设备相关;若确认结果为所述接收到的通信流量群为一已转发过的通信流量 群且所述标识信息也与所述接收通信设备相关,则丢弃所述接收到的通信流量群;若确认 结果为所述所接收到的通信流量群不是已转发过的通信流量群或者所述通信流量群中的 标识信息与所述接收通信设备不相关,则转发所述接收到的通信流量群。在一些实施方式中,接收步骤进一步包括通过一千兆位无源光纤网络(GPON)来 接收所述通信流量群,所述接收到的通信流量群还包括一端口标识信息,所述信息字段包 含部分的端口标识信息。根据本发明的另一个型态,还提供一种通信设备,其包括一接口,用于提供所述 通信设备接收通信流量群,其中,通信流量群中包括一传送所述通信流量群的传送通信设 备的标识信息,以及一信息字段,用于指示所述通信流量群是否为一已转发过的通信流量 群;一过滤模块,其操作地耦合至所述接口,并依据所述信息字段,判断所述接收到的通信 流量群是否为已转发过的通信流量群,以及所述标识信息是否与所述通信设备相关;若确 认结果为所述接收到的通信流量群为一已转发过的通信流量群且所述标识信息也与所述 接收通信设备相关,则丢弃所述接收到的通信流量群;若确认结果为所述所接收到的通信 流量群不是已转发过的通信流量群或者所述通信流量群中的标识信息与所述接收通信设 备不相关,则转发所述接收到的通信流量群。在一些实施方式中,所述通信设备进一步包括操作地耦合至所述过滤模块的另 一接口,其中,所述过滤模块通过所述另一接口转发所述接收到的通信流量群。在一些实施方式中,所述设备包括一光纤网络终端(ONT)。根据本发明的另一个型态,还提供了一种方法,其包括接收一包含有源地址 (source address)的通信流量群;依据所述源地址,确认所述接收到的通信流量群是否对 应于先前传送的通信流量群;若确认结果为所述接收到的通信流量群对应于所述先前传送 的通信流量群,则确认从所述先前传送的通信流量群被执行传送到现在,是否已经过了一 时限期;并当确认结果为尚未经过所述的时限期时,丢弃所述接收到的通信流量群。在一些实施方式中,所述方法在接收所述通信流量群的步骤之前进一步包括接 收所述先前传送的通信流量群;以及传送所述先前传送的通信流量群,其中,确认是否已经 过了所述的时限期的步骤进一步包括确认从所述先前传送的通信流量群被执行传送到现 在所经过的时间。在一些实施方式中,所述方法在接收所述通信流量群的步骤之前进一步包括确 认所述先前传送的通信流量群的源地址是否为未知;以及当确认结果为所述源地址为未知 时,将所述先前传送的通信流量群的源地址存储至一学习数据库。通过下面对实施方式的说明,可以使熟悉本领域的技术人员详细地理解本发明的 其他优点以及特征。


以下将结合附图详细描述本发明,其中图1是根据本发明的一个型态所展示的设备框架图。图2是根据本发明的另一型态所展示的方法流程图。
图3是根据本发明的另一个型态所展示的通信设备框架图。图4是根据本发明的另一型态所展示的方法流程图。图5是根据图2及图4所示的设备及装置所展示的一实施例的框架图。图6是展示无源光纤网路的一实施例的框架图。图7是根据GPON封装方式所展示的一信息框结构示例图。图8是展示GPON及第二层以太网交换器的一应用实例框架图。图9是展示一实施方式中的GEM端口号的一个代表实例。图10是根据图1的设备或图2的方法所执行的一处理实例的框架图。图11是根据图3的装置或图4的方法所展示的一个处理实例框架图。图12是一实施方式中根据图8所示的在网络中的ARP数据包处理实例框架图。图13是用于展示根据本发明的另一个型态的通信设备的框图;图14是根据本发明的另一个型态所展示的一方法流程;以及图15是根据图13的装置或图14的方法所展示一个处理实例框架图。
具体实施例方式图1是根据本发明的一个型态所展示的一设备框架图。需说明的是本案图示仅用 于说明目的,本发明并不局限应用于图示的具体实施例及其详细说明。任何本领域技术人 员均可在不违背本发明的精神及范畴下,对上述实施方式进行修饰与变化。设备2具有一耦合至处理模块6的接口 4。接口 4可以各种方式来实施。例如,接 口 4可以是一个应用于一无源光纤网络(以下简称Ρ0Ν)或千兆位无源光纤网络(以下简 称GP0N)中的无源光纤网络(PON)接口。处理模块6可以软件程序的形式来实施,并由处 理单元、硬件、固件,及其三者的任意组合来控制执行。也能以诸如一微处理器,一专用集成 电路(ASIC),一可编程逻辑器件(PLD),及/或一现场可编程门阵列(FPGA)等单个或多个 元件的形式来实现所述处理模块6的功能。接口 4用于提供设备2接收以及传送通信流量群。一流量群中包含有一目的地址 以及一传送所述流量群的传送通信设备的标识信息。所述通信流量群可以是用于传输各类型信息的通信流量群中的任意一种类型。例 如,所述流量群可以是一种封装成包含有所述目的地址的信息框,所述信息框可以是一局 域网信息框,例如一以太网信息框。在一些实施方式中,所述信息框与对等网络(P2P)通信 技术相关。处理模块6依据所述目的地址确认所述流量群是否将广播传送至包含所述传送 设备在内的一群通信设备中。若处理模块6确认所处流量群将广播传送至所述传送设备,处理模块6即在流量群中包括一所述流量群为一已转发过(reflected)的通信流量群的指示信息。在一些实施 方式中,上述处理需要在所述流量群内设置一信息字段,并将所述信息字段的值设为指示 所述流量群为已转发过的流量群,以及在一例如通过另一接口(未图示)被广播传送至另 一群通信设备中的通信流量群内设置一信息字段,并将所述信息字段设置为另一不同的段 值。此外,一通信流量群可通过不同的形式进行广播传送或转发传送,无论是否具有所述流量群已转发的指示。处理模块6是通过接口 4广播传送所述通信流量群。图2是根据本发明的另一型态所展示的一方法流程图。于该图示方法20中,首先 执行步骤22,接收一通信流量群。所述流量群包含一目的地址以及一传送所述流量群的传 送设备的标识信息。接着执行步骤24,依据所述目的地址,执行一确认步骤,即确认所 述流量群是否将 广播传送至包含所述传送设备在内的各设备中。举例来说,所述确认步骤有关於确认所述 目的地址是否为未知,或者确认所述通信流量群是一多播通信流量群还是一广播通信流量 群。若确认结果为所述流量群将广播传送至所述传送设备(即步骤24的yes输出), 则执行步骤26,在所述流量群内包括一指示信息以指示所述流量群为一已转发过的流量 群。若确认结果为所述流量群将不会广播传送至所述传送设备中时(即步骤24的no输 出),则执行步骤28,通过所述接口广播传送所述流量群。需注意的是方法20仅为本发明的一种实施方式。在其他实施方式中可能以更少、 更多或其他不同的操作步骤来达成。例如,在执行步骤24中的确认步骤后也可仅输出一个 确认结果至步骤28中以执行广播或转发处理。如上所述,不同的流量群可被广播或转发至 不同群的通信设备中,且不是所有被广播或转发的流量群中都会包含是已转发过的流量群 的指示信息。因此,在步骤28中,一个以上的流量群可能被广播或转发。其他各种变化亦可在本案所属的技术领域内被轻易实施。图3是根据本发明的一个型态所展示的一通信设备框架图。设备40具有耦合至 一过滤模块46的接口 42及另一接口 44。接口 42,44可以是多种通信接口类型中的任意一型。在一实施方式中,接口 42是 一 PON接口,接口 44则是其他的接口类型,用于通过一用户通信设备交换通讯流量。例如 为一用户网络接口(UNI)。虽然在很多实施方式中,接口 42与44是采用不同的接口类型, 然而本发明并不局限于此种实施方式。接口 42与44也可以相同或不同的类型来实施。同 样的,利用相同类型的接口接收以及转发前文述及的通信业务也是有可能的,而且一个通 信设备也可能包含两个以上的接口。过滤模块46可以是一个具有过滤各通信流量群功能的元件,例如,可能是一个配 置有过滤功能的交换机。其可通过软件,硬件,固件,或上述三者的任意组合的形式来实现。在实际操作过程中,接口 42接收多数通信流量群。每一流量群均包含一传送所述 流量群的传送设备的标识信息以及一用于指示所述流量群是否是一已转发过的通信流量 群的信息字段。所述接收到的流量群是按照前文述及的方式所生成的流量群。过滤模块46依据所述信息字段,确认所述通信流量群是否为已转发过的流量群 以及所述流量群中的标识信息是否与设备40相关。换句话说,过滤模块46会确认设备40 当前接收的流量群是否是先前传送的。例如,过滤模块46可确认所述接收到的流量群中的 标识信息是否对应于接口 42。若过滤模块46的确认结果为所述通信流量群是已转发过的流量群,且所述通信 流量群的标识信息与设备40相关,则过滤模块46将丢弃所述接收到的流量群。相反,若过 滤模块46确认所述接收到的流量群不是已转发过的流量群,且/或所述流量群的标识信息 与设备40不相关,则过滤模块46将通过接口 44转发所述流量群。
图4是根据本发明的另一型态所展示的一方法流程图。于该图示方法60中,首先 执行步骤62,接收一通信流量群。所述流量群中包含一传送所述流量群的传送设备对应的 标识信息以及一信息字段,其用于指示所述流量群是否为已转发过的通信流量群。于步骤64中,依据所述信息字段,确认所述流量群是否是已转发过的流量群,以 及所述流量群的标识信息是否与所述接收设备相关。若确认结果为所述流量群是一已转发过的流量群,且所述标识信息与所述接收设 备相关(即步骤64的yes输出),则执行步骤66,丢弃所述接收到的流量群。反之,若确认 结果为所述流量群不是已转发过的流量群,或者所述标识信息与所述接收设备不相关(即 步骤64的no输出),则执行步骤68,转发所述接收到的流量群。其中,在一些实施方式中, 可能涉及到利用一通信设备中的不同接口来处理步骤62中的流量群接收操作以及步骤68 中的流量群转发操作。此外,还可能利用到一些其他的过滤规则。在一些实施方式中,依据步骤64的确 认结果,即确认所述接收到的流量群是否是一已转发过的流量群,以及所述标识信息是否 与所述接收设备相关,若被确认为是一已转发过的流量群且所述标识信息也与所述设备相 关,或者确认为不是一已转发过的流量群且所述标识信息也与所述设备不相关时,则所述 接收到的流量群将被丢弃。否则,特别是当所述流量群是一已转发过的流量群,且所述标识 信息与所述设备不相关,或者所述流量群不是一已转发过的流量群,且所述标识信息与所 述设备相关,则所述流量群都将被转发。如图5所示,设备2(图1)可应用于一通信网络中,并同样包含一个或多个的设备 40(图3)。在这种情况下,设备2则将回传设备40的流量群指示为该些流量群为已转发过 的流量群,从而使所述设备能检测出已转发的数据包,并避免转发循环。本发明的各种实施方式可应用在各种网络中。例如,一通信流量群可通过具有点 对多点(P2MP)框架的网络或Ρ0Ν,例如GPON中进行接收以及广播传送。其中,PON以及GPON 将在下文中结合本发明所应用的各通信系统实例予以详细介绍。如前文所述,历史中以铜缆为基础的网络系统已被广泛应用。在远程通信技术领 域中,光纤是一种被用于代替铜缆的候选技术。在相同的网络配置条件下,光纤能给客户端 的上下行传输速率提供一更高的带宽,例如,超过100Mbps。在可实现的光纤接入技术中, PON为运营商提供了一个选择,即一种符合成本效益的高速宽带网络接入方法。PON是一种被动的技术,因为其采用的是无源光纤分光器(passivesplitter)。 PON采用时分多址(TDMA)技术,具体而言,在下行中,所述流量群通过一 P2MP光分配网络 (ODN)进行广播传输,其从位于中心局(CO)端的光纤路终端(OLT)广播传送至位于用户终 端设备(CPE)的单一波长上的所有光纤网络单元(Optical Network Units)或光纤网络终 端(ONTs),其中,所述ONT是依据信息框包中承载的ONT标识信息过滤流量群。图6是展示P0N100的一实施例的框架图。图中所示的是连接至一网络(例如互联网104)的0LT102。0LT102同时也通过光纤108以及一分光器/合成器110耦合至各个 ONTlOB0上述所列举的这些网络元件均为所属技术领域中的习知技术。对于上行流量,0LT102是主要的元件,并通过分配上行传输窗口至每一各0NT106 来控制上行通道,这意味着所述上行通道具有许多突发流量(Bursts of traffic),这些突 发流量来自各不同的0NT106,并一个接着一个。所述信息资料用于指示哪些被允许进行传输的0NT106是承载在下行通道带中的。每个0NT106可连接到一个或多个多媒体设备,如 电话112,计算机114以及/或电视机116。由于光分光器/合成器110所具有的定向性能,0LT102能广播传送数据至位于下 行方向的所有0NT106。这是无源光纤网络的一个重要性能,亦被称为单通道广播(SCB)。这 种性能针对新兴互联网应用例如交互式网络电视(IPTV)是特别有吸引力的,它能将一个 电视广播通道发送到多个用户终端。在上行方向,0NT106无法直接在彼此之间进行通信。相反,每个0NT106只能传送 数据到OLT102。因此,在下行方向的PON可视为是一点对多点网络;而在上行方向,PON则可 视为是多点对一点网络。值得注意的是,所述上行带宽是由所有0NT106共享分时,为了避 免流量碰撞(traffic collision),在一个时段内只有一个0NT106能传输数据至0LT102。 0LT102负责调处在一时段内哪个0NT106允许传输流量群及其允许的传输时间。这种操作 被称为动态带宽分配(DBA)。全业务接入网(FSAN)组织通过ITU-T下列工作单位,成功地将GPON进行了标准 化ITU-T G. 984. X, Study Group 15,“千兆位无源光纤网络(GPON)",http://www. itu. int ;以及FSAN,http://www. fsanweb. org。GPON是一个强大且灵活的光纤接入系统,其具 有多种机制以兼容不同的服务及接口类型。GPON可用于可支持如分时多任务(TDM),异步传输模式(ATM)以及以太网等各种 应用协议。在如前所述的GPON传输汇聚(GTC)规范中定义了双向的信息框格式。GPON本 身无法传送以太网信息框,但可利用GPON封装方式(GEM)对它们进行封装,以使用分片技 术来达成。因此,不同长度的数据包将从固定长度的GTC信息框中提取出,并重建成完整的 以太网信息框。这些是由GEM来完成的。本发明的实施方式可在GPON中通过使用GEM,用于传送以太网数据。此种应用方 式将变得有用,例如,其可令端(ONT)与端(ONT)之间通过相同的OLT相互通信。图7是根据GEM所展示的一信息框结构框架。如图所示,一 GTC信息框中的每一 个净荷(burst payload) 120包含有一可变数目的GEM数据包122。每一 GEM数据包包括一 5字节长度的报头,以及位于报头后面的不同长度的载荷区域126。GEM报头124包含一 净荷长度标识(PLI) 128用于进行划分;一端口号(Port-ID) 130用于允许信息流(traffic flow)复合(multiplexing);—净荷类型标识(PTI) 132,其不但用于标识所述分片是否包 含用户数据或操作,管理及维护(OAM)数据,还能标识所述分片是否是一用户信息框内的 最后一个分片;以及一报头误码控制(HEC)段134,其不仅用于检测误码和校正,还执行划 分处理。0LT102与0NT106之间的信息流在GEM模式下是通过它们的端口号130进行标识识别。所述12位(bit)端口号字段130承载于每一 GEM数据包中。依据在每一 GEM数据包 122中所包含的12位端口号字段130,所述下行数据包流将在0NT106处进行过滤。0NT106 被配置为能识别哪些端口号130是归其所属,并将属于0NT106的数据包传递至一 GEM客户 端进程。在上行中,所述包含于每一 GEM数据包122中的12位端口 ID字段130是用于告 知0LT102所接收到的数据包是来自哪个0NT106,以便0LT102针对所述数据包作出相应的 处理及转发。端口号130有两种类型,即单播(unicast)和广播/多播。一单播端口号是双向的,并被配置为位于一 0LT102和一特殊0NT106之间的一单一信息流(single traffic flow),一广播及多播端口号在下行中是单向的,并被配置为一从0LT102信息流传输至一 组0NT106的信息流。在以下说明书中所提到的端口号一般是指单播端口号,除非另有说 明。随着以太网技术在世界范围内的传播扩散,得到GPON支持的以太网,已成为了 占主导地位的通信流量类型。在GPON下使用以太网的巨大好处就是位于最上层的协议 及应用均可在以太网上实现并能在没有任何改变的情况下持续运作。然而,GPON在其 本身的点到多点(P2MP)模式下的操作打乱了以太网协议的基本运作。以上所提到的以 太网协议的操作,例如,在下列文件中均有说明IEEE 802. 1D-2004IEEE standard for local and metropolitan area networks__Media accesscontrol(MAC)Bridges ;and IEEE 802. 3-2005 IEEE Standard forlnformation technology-Telecommunications and information exchangebetween systems-Lo cal and metropolitan area networks—Specificrequirements Part 3 Carrier Sense Multiple Access with CollisionDetection(CSMA/CD)Access Method and Physical Layer Specifications。人们通常仅对路由器,网桥以及主机在点对点或共享局域网中的运用有所了解, 而对于它们在点对多点局域网中的运用则知之甚少。例如,当一路由器通过一以太网接口 接收到一 IP多播数据包后,它会假设位于该接口上的所有站点(station)均接收到了所述 数据包,而且它也无需將数据包转发回了相同的接口。所述端口号允许底层P2MP GPON网络显示作为连结更高的协议层的点到点链路的 集合。图8是一 GPON以及一第二层以太网交换机的应用实例框架图。依图8所示,一包括 有OLT 142的PON 140通过光纤150以及分光器/合成器152耦合至ONT 144,146及148。 OLT 142 包括一 SN 端口 154 以及一 PON 端口 156。ONT 144 包括一具有 PON 端口 160 的 GPON 媒体访问控制(GMAC)单元158,以及一具有UNI端口 164的第二层交换器162。ONT 146, 148具有相同的结构。上述所列举的这些网络元件均为所述技术领域中的习知技术。如图所示,位于两个OLT以及一 ONT端的第二层交换功能是与所述GPON MAC进行 整合。在上行运作中,所述OLT可学习源地址(SA)与端口号之间的关联性,所述端口号是 承载在从一 ONT处所接收到的数据包中。地址可能是MAC地址。通常情况下,在下行运作 中,所述OLT针对其所接收到的数据包,利用该数据包内所承载的目的地址(DA)执行一数 据表的查询。此查询可使在上行运作中已学习过的端口号与其相应的地址信息相关联。对 于未知的单播或多播或广播地址,一广播端口号将被选中用于传送所述数据包至所有已连 接的0ΝΤ。一未知的单播数据包是一个在转发数据库中查询不到相匹配的学习条目或配置 条目的单播数据包。在一共享局域网环境中,多播或广播数据包将流动至网络中的其他站 点ο上述的交换以及转发处理能够正常运行的条件是如果接收到的下行数据包是来 自一服务网络(SN)端口并通过一 PON端口予以转发。当一个ONT尝试通过所述OLT与另 一个ONT进行通信,即点对点(P2P)通信,则将产生一主要的问题。在一开始,所述OLT并 未从任何ONT中学习任何MAC地址,因此在一广播传输方式下,最初接收到的数据包将如同 前文所述的未知的单播、多播或广播流量群那样被溢流回至PON端口。在这种情况下,所述 ONT传送第一个数据包将无法分辨已被转发过的广播下行数据包是否是其本身最初所传送出去的。这将导致一转发循环,因为相同的数据包现已转发至其最初被传出的源位置处。这 个问题将导致以太网交换及转发的基本无回路运作无法达成。—转发循环的实例即如图8所示,考虑一个说明问题的例子,其中,所述ONT 144 於其UNI接口 164接收一 ARP (地址请求协议)数据包。所述ARP数据包通常是在一共享 局域网环境中,通过位于IP层的P2P通信网络所传送的第一个数据包。所述ARP数据包承 载有一广播目的地址以及一 ONT 144背后的原始站点所对应的源地址。0NT144将一合适的 端口号附加于所述数据包内,并将其转发至OLT 142。在一种情况下,所述ARP数据包试图 与ONT 146背后的另一站点建立P2P通信连接,由于它是一个广播数据包,OLT 142依序将 该数据包传送至所有其他端口(包括PON端口 156)。所述被传送至PON端口 156的数据 包将被附加一特殊的广播端口号,从而让所有连接的ONT能够进行接收,包括ONT 144。在 无须任何附加机制的情况下,ONT 144将无法分辨其是否上行传送了所述数据包。倘若ONT 144接收了它自己所传送的数据包,则一个循环已形成,且 ONT 144将持续转发所述数据包 至其後的原始站点。当在ONT 144与原始站点之间存在有另一个交换器时,麻烦就会产生, 此交换器将轮流的学习位于不同物理端口上的源地址(SA),这将导致转发路径的错误。一位于以太网域内的转发循环被广义地定义为是相同的通过一第二层设备被转 发超过一次的数据包。所述转发循环对于这样一个网络是有害的,因其将导致整个网络的 错误。在一些实施例中,图2及图4中所示的方法是用于说明通过使用标记(tagging) 技术来阻止一转发循环的实施案例。这些方法可允许一 ONT针对其最初传送至OLT中的一 个下行数据包进行标记。此外,所述ONT被配置为可针对由所述OLT转发回的其自己的数 据包进行过滤。一数据包包括一端口标识仅为上述的流量群中的一个实例。所述在广播的流量群 内的信息字段中可包括一所述端口标识部分。图9是在一实施方式中GEM端口号180的一 个代表案例。一转发位元(Reflection Bit) 182,或R位元,是位於端口号字段180。虽然 最重要的位元已使用于此实施例中,R位元182亦可以其他位于端口号字段180内任意位 置的一个位元或任意数量的多位元组的形式来实现。R位元182在下行方向可被设置为1,以容许ONT能够检测并过滤其自身的数据 包。在上行方向,R位元182中的值可设置为0。于此实施方式中,有效的端口号180已被 减至剩余端口号184,即位元数从12位(包含0至4095的值)减到11位(包含0到2047 的值)。在这个实施例中,当所述OLT必须将其从一 PON端口所接收到的一个数据包转发回 该PON端口时,则可将R位元设置为1。在所有其他情况下,这个位元将在下行方向维持为 0。在本实施例中,一 R位元的值设为1还可提供一指示以标识该流量群是一个将被广播的 流量群。本案无需使用特殊的广播端口号,因为在端口号字段的剩余部分中包含了传送端 口号。任何其他各种排列方式均可实现。图10是根据图1的设备或图2的方法所执行的一处理实例的框架图。如图所示 的是位于OLT处的处理流程,前述OLT处即为分别从PON端口,SN端口所传入的传入数据包 200,202的抵达处。传入数据包200,202通过一数据包处理程序,其包括一学习流程210, 以及一转发流程212,并最终由一传出端口离开,无论是作为一传出数据包204从PON端口离开还是作为一传出数据包206从SN端口离开。在一些实施方式中,数据库208是一个学习数据库并连接至处理模块,例如图1所 示的处理模块6。数据库208学习各流量群的目的地址,并依此确认一目的地址是否为未 知,即如前文所述,有关於确认接收到的数据包的目的地址是否与学习数据库中所学习的 任一目的地址相匹配。同样的,转发数据库(FDB) 208可通过学习流程210进行更新,并提 供转发流程212执行查询操作。在FDB 208列表中的每一个数据条目均包含有相互关联的MAC地址、物理端口,以 及任意相关的GEM端口号。不过,其他类型的地址亦可使用。例如,在虚拟局域网(VLAN)中 的学习情况下,VLANID和MAC地址两者可由MAC地址单独进行代替。对于每一接收到的数 据包,学习流程210将首先确认数据包中所包含的源地址(SA)是否已存在于FDB 208中。 如果源地址不存在,则将为该新的源地址创建一新的条目,且一并记录所述数据包抵达时 所通过的物理端口信息,以及若数据包是通过PON端口抵达时的GEM端口号信息。如果物 理端口是SN端口,则GEM端口号字段可能会呈现空缺。转发流程212决定如何利用FDB 208数据库中的存储信息以及端口号处理规则来 转发数据包。利用将包含在数据包200,202中作为索引的目的地址,转发流程212将在FDB 列表208中执行一查询动作。如果找到相匹配的,则数据 包200,202将被转发至目的地物 理端口,如果该目的地物理端口是PON端口,则将附随端口号信息一起转发。如果没有找到 相匹配的,例如,是一个未知的单播数据包,或如果数据包200,202是一个多播或广播数据 包,则数据包200,202将被流动到特定的虚拟局域网域。此外,针对被流动至数据包202没有到达的PON端口,转发流程则会通过将R位元 设为0,以将所述端口号字段设置成一广播端口号。针对被转发回PON端口(数据包200曾 到达过该PON端口)的数据包200,则转发流程212将会继续使用所接收到的端口号,但将 其R位元设置为1。所述接收端口号指示数据包200来自哪个0ΝΤ。所述R位元将依序向 所述接收ONT指示其为一已转发过的数据包。此技术将在以下说明中予以详述。在一些实施例中,复包括一时效定时流程(aging process),于此流程中,在FDB 列表208中的每一个条目均与一期限计时器(aging timer)相关联,而当发生了更新处理 时,计时器会复位,所述计时器可周期性递减,当计时器到期时,与所述计时器相关联的条 目将被删除。在ONT端,复包括上行进程220和下行进程222,分别如图11所示。其是根据图3 的设备或图4的方法所展示一处理实例框架图。在上行进程220中,为一从UNI端口到达的传入以太网数据包224来确定一合适 的端口号。这通常是依靠端口号分类流程226产生一个输出数据包至PON端口来达成。如 上所述,一个或多个端口号可用于分配到一个0ΝΤ。在一些实施方式中,一个端口号中的R 位元在上行方向中通常被设置为0在下行进程222中,一端口号过滤流程230将确认一接收到的数据包232是否被 作为数据包234进行转发或进行丢弃。此举有助于过滤那些不适合这个ONT的数据包,并 辨识出那些从OLT回传的数据包。如果在所接收到的数据包232中的R位元是设置为1,且该端口号与各ONT自己的 端口号中的一个相匹配,则ONT将丢弃数据包232。其将丢弃数据包232,原因是由于数据包232是从OLT转发回来的其自己的数据包,并以此作为OLT转发流程的结果。图12中所示的实例是用于说明通过R位元中所使用的标识技术来防止在点对点 通信情况下产生转发循环。图12是根据图8所示的在网络中的ARP数据包处理实施例所 展示的框图。在这个实施例中,ONT 144从它的UNI端口 164接收到一ARP数据包240,该数据包240是一个广播类型的以太网信息框。则在将其作为ARP数据包242上行转发至OLT 142 前,ONT 144将其自身的一个端口号,例如”A”附加在这个数据包内,并将这个数据包的R位 元设置为0。在转发流程中,OLT 142确认数据包242是否是一个广播数据包,并将流动所述数 据包到所有耦合至该数据包所到达的PON端口 156的物理端口中。对于被转发回PON端口 156的复制数据包244,OLT将R位元设置为1,同时在下行传递数据包244到所有ONT之 前,保留端口号的A值。根据R位元过滤及端口号” A”,只有ONT 144丢弃了数据包,而其他ONT 146,148 则继续转发该数据包。由此,转发循环是可以预防的。图13是用于展示根据本发明的另一个型态的通信设备的框图。设备260包括接 口 262,数据库264,以及耦合至过滤模块268的计时器266。各种应用均可实现。例如,设 备260可以是0ΝΤ,接口 262是PON接口,而过滤模块268是一个过滤流程。过滤模块268 及/或计时器266可通过硬件、软件、固件及其三者的任意组合来实施,例如在以太网交换 器中实施。接口 262可使设备260接收通信流量群。每一接收到的流量群包括一源地址。过 滤模块268依据所述源地址以及数据库264来确认所接收到的通信流量群是否对应于一先 前传送的通信流量群。在一些实施方式中,数据库264是一个学习数据库用于学习通信流量群中的源地 址,如前所述。相应的确认接收到的通信流量群是否对应于一先前传送的通信流量群的流 程涉及确认所接收到的通信流量群的源地址是否与数据库264所学习到的任一源地址相 匹配。如果过滤模块268确认所接收到的通信流量群对应于一先前传送的通信流量群, 则过滤模块268将依据计时器266所流逝的时间,进一步确认从所述先前传送的通信流量 群被执行传送到现在,是否已经过了一时限期。因此,在流量群接收之前,计时器266可能 在流量群先前被传送时已开始计时。如果过滤模块268的确认结果是从所述通信流量群被先前传送到现在,尚未经过 该时限期,则过滤模块268将丢弃所接收到的通信流量群。而在当过滤模块268确认从所 述通信流量群被先前传送到现在,该规定时限已过,则过滤模块268将转发所接收到的通 信流量群。这使得过滤模块268能检测出短时间内被传送过的流量群,并丢弃那些流量群, 如转发过的流量群。计时器266使过滤模块266能分辨出流量群已转发过的情况以及设备260已被移 动的情况。这将在以下详细说明。如前所述,在一些实施方式中,通过利用数据库264中所 学习的源地址,确认一流量群是否被先前传送过。例如,当设备260通过UNI端口从一用户 站点处接收到一流量群,并通过接口 262进行了转发,数据库264将所述源地址与接收到该流量群的UNI端口相关联,以学习该流量群的源地址。而后,若所述流量群中所包含的地址 信息是先前在接口 262处执行转发流程中所学习到的,其又在一不同的接口处再次被接收 至IJ,则所述流量群很可能是被转发回来的。则使用计时器266在始发站被移动的地方进行 定位。这通常需要几秒钟或更多的时间在端口之间移动一个站点,而流量群通常是按毫 秒来反映命令,例如100毫秒。我们通常以转发一数据包所需耗费的时间作为一时限期,过 滤模块268可根据计时器266所消耗的时间来确认从所述先前传送的通信流量群被执行传 送到现在,是否已经过了一时限期,若没有,则丢弃所述流量群。因此,对于设备来说,通过检测一流量群是否已转发过的方式来预防产生一转发 循环是有可能实现的。且在本案的实施方式中,无需针对信息字段例如端口号进行任何修 改。图14是根据本发明的另一个型态所展示的一方法流程。根据方法280,首先执行 步骤282,接收一通信流量群,所述通信流量群中包含有源地址。在步骤284中,依据所述源 地址执行一确认操作,以确认所接收到的流量群是否对应于一先前传送的流量群。如果确 认结果为是,即流量群从相同的源地址(步骤284中的YES输出)传送,则在步骤286中, 确认从所述先前传送的流量群被 执行传送到现在,是否已经过了一时限期。若从先前传送的流量群被执行传送到现在,尚未经过该时限期(即步骤286的no 输出),则执行步骤288将所接收到的流量群丢弃。否则,若该时限期已过(即步骤286的 yes输出),则执行步骤290转发所接收到的流量群。在一具体实施例中,这种技术在GPON中实施。所述OLT在下行中使用一广播端 口号来传输那些未知的单播、多播或广播数据包,包括那些需要回传的数据包。图15是 根据图13的设备或图14的方法所展示的一处理流程框图。图15中显示了一转发数据库 (FDB) 304,其分别地在上行流程300中执行更新,且用于在下行流程302中执行对应的查询 操作。在FDB 304中,每一个条目均包含有MAC地址,物理端口以及流逝时间(ET)信息。 在上行流程300中,FDB 304在转发流程303中,利用所接收到的数据包306中所包含的SA 地址来执行更新。如果所述SA已存在于FDB304的条目中,则更新所述物理端口及ET信 息。如果所述SA未存在于FDB304的条目中,则会创建一包含该物理端口以及ET信息的新 的条目。所述物理端口用于指示所述数据包是在哪个端口到达。在这个实施例中,其是在 UNI端口到达。在一些实施方式中,ET信息字段在每发生一次更新操作时,通常会被设为一 预设的段值。ET信息会随着时间流逝而自动递减。这可通过在以太网交换器中执行一标准 的时效流程来实现。最终一传出数据包308被输出。在下行流程302中,循环检测流程310首先通过将SA地址作为索引,在FDB304中 执行查询操作,以确认所接收到的数据包312是否是一个潜在的已转发过的数据包。如果 没有查询到相匹配的条目,则可确认数据包312不是从OLT回传的数据包,因此,数据包312 将被作为传出数据包314而被正常的转发。如果有查询到相匹配的条目,且该物理端口指 向一 UNI端口,则这个数据包312很可能是从OLT回传回来的数据包。判断它可能是一个 回传数据包的原因是所述数据包的SA已在一 UNI端口被学习过,这进一步表示数据包312 可能在上行中已被传输过。基于这一点,循环检测流程310检测这一字段的ET段值,如果ET段值与其出最初的段值相比,仅经过了一段短时间,则所述数据包很可能是从所述OLT 转发的。可以看出,ET信息是用于当初始站点从一个地方移至另一个地方时,起到维护的 目的。上述实施方式仅为例示性说明本发明的原理及其功效,而非用于限制本发明。任 何本领域技术人员均可在不违背本发明的精神及范畴下,利用其他各种架构及方法来实施 本发明。例如,其他各种实施方式包括增加,减少或替换本发明所示的各操作步骤或设备 元件。各操作步骤可通过以相似或不同的指令来完成,各设备元件亦可以相同或不同的方 式进行相互连接。此外,虽然本案主要是以方法以及设备的方式进行描述,本发明的实施方式亦可 以其他的形式来实施,例如为存储在计算机可读的媒介中的数据结构或指令的形式。此媒 介可例如为内存、存储介质或者一个信号。指令可通过计算机或其他处理单元来执行,以履行上述职能。如果是数据结构的情况,这种结构可以包括一知识信息,其用于指示最初从一传送通信设备所接收到的通信 流量群是否将被广播传输或转发,以及一所述传送设备的标识信息。以使所述传送设备能 够检测出已转发过的流量群。另一种数据结构中可以存储有一传送设备标识信息,以及一 指示信息,其用于指示流量群被执行传送时的时间点,以基于时间来检测出已转发过的流 量群。上述两种技术均已在前文中予以详述。
权利要求
一种方法,包括接收一通信流量群,其包括一目的地址以及一传送所述通信流量群的传送通信设备的标识信息;依据所述目的地址,确认所述通信流量群是否将被广播传送至包括所述传送通信设备的多个通信设备中;以及若确认所述通信流量群将被广播传送在所述将被广播传送的通信流量群中包括一所述通信流量群为一已转发过的通信流量群的指示信息;以及广播传送所述通信流量群。
2.如权利要求1所述的方法,其特征在于,所述包括步骤包含在所述将被广播传送的 通信流量群内设置一信息字段的值为指示所述通信流量群是一已转发过的通信流量群,其 中所述方法进一步包括在一将被广播传送至不包含所述传送通信设备的多个不同的通信设备中的通信流量 群内设置一信息字段为另一不同的值。
3.如权利要求1中所述的方法,其特征在于,所述确认步骤还包括下列确认步骤的至 少其中之一确认所述目的地址是否为未知以及确认所述通信信息群是一群播通信流量群 还是一广播通信流量群。
4.如权利要求1至3中任一项所述的方法,其特征在于,通过一无源光纤网络(P0N)来 接收所述通信流量群,且其中,所述广播传送步骤包括在P0N上广播传送。
5.如权利要求4所述的方法,其特征在于,所述P0N是一千兆位PON(GP0N)。
6.如权利要求5所述的方法,其特征在于,所述通信流量群包括一端口标识信息,且其 中所述信息字段包括所述端口标识信息的一部分。
7.如权利要求1至3中任一项所述的方法,其特征在于,所述通信流量群是一封装局域 网(LAN)信息框或以太网信息框的通信流量群,所述信息框包含有所述目的地址。
8.如权利要求1所述的方法,进一步包括在所述多个通信设备中的其中一个通信设备端接收所述被广播传送的通信流量群;根据接收到的被广播传送的通信流量群中的信息字段,确认所述接收到的被广播传送 的通信流量群是否是已转发的通信流量群以及所述标识信息是否与所述接收通信设备相 关;若确认所接收到的被广播传送的通信流量群为已转发的通信流量群,且所述标识信息 与所述接收通信设备相关,则丢弃所述接收到的被广播传送的通信流量群;以及若确认所述接收到的被广播传送的通信流量群不是已转发过的通信流量群,或者所述 标识信息与所述接收通信设备不相关,则转发所述接收到的被广播传送的通信流量群。
9.一种设备,包括一接口,用于提供所述设备接收及传送通信流量群,一接收到的通信流量群包括一目 的地址以及一传送所述通信流量群的传送通信设备的标识信息;一处理模块,其操作地耦合至所述接口,用于根据所述目的地址确认一接收到的通信流量群是否将被广播传送至包括所述传送通 信设备的多个通信设备中;以及若确认所述接收到的通信流量群将被广播传送在将被广播传送的通信流量群内包括所述通信流量群是已转发过的通信流量群的指 示信息;以及通过所述接口广播传送所述通信流量群。
10.如权利要求9所述的设备,其特征在于,所述处理模块通过所述接口在所述将被广 播传送的通信流量群内设置一信息字段为一指示所述通信流量群为已转发过的通信流量 群的值,从而包括所述标识信息,其中,所述处理模块还通过另一接口在将被广播传送的通 信流量群内设置一信息字段为另一不同的值。
11.如权利要求9所述的设备,还包括一存储器,其操作地耦合至所述处理模块,所述存储器中存储有一从接收到的通信流 量群中学习到的目的地址的学习数据库,其中,所述处理模块通过确认所述将被广播传送的通信流量群的目的地址是否与所述 学习数据库学习到的任一目的地址相匹配,确认所述目的地址是否为未知。
12.如权利要求11所述的设备,其特征在于,当所述学习数据库中的一与所述目的地 址相匹配的条目超过其最大时效时,所述处理模块确认所述目的地址为未知。
13.如权利要求9至12中任一项所述的设备,其特征在于,所述接口提供所述设备通过 一千兆位无源光纤网络(GP0N)来接收以及传送通信流量群,且其中所述设备还包括一光 线路终端(0LT)系统。
14.如权利要求13所述的设备,其特征在于,所述通信流量群包括一端口标识信息,且 其中,所述信息字段包括所述端口标识信息的一部分。
15.如权利要求9所述的设备,其特征在于,所述设备是应用在一通信网络中,所述通 信网络进一步包含一通信设备,所述通信设备包括一接口,用于提供所述通信设备接收所述被广播传送的通信流量群; 一过滤模块,其操作地耦合至所述接口,用于依据所述信息字段,确认所述接收到的被广播传送的通信流量群是否为已转发过的通 信流量群,以及所述标识信息是否与所述通信设备相关;若确认所述接收到的被广播传送的通信流量群为已转发过的通信流量群且所述标识 信息与所述接收通信设备相关,则丢弃所述接收到的被广播传送的通信流量群;以及若确认所述接收到的被广播传送的通信流量群不是已转发过的通信流量群或者所述 标识信息与所述接收通信设备不相关,则转发所述接收到的被广播传送的通信流量群。
16.一种方法,包括在一通信设备端接收一通信流量群,所述通信流量群包括一传送所述通信流量群的传 送通信设备的标识信息,以及一信息字段,所述信息字段用于指示所述通信流量群是否为 一已转发过的通信流量群;依据所述信息字段,确认所述接收到的通信流量群是否为已转发过的通信流量群,以 及所述标识信息是否与所述接收通信设备相关;若确认所述接收到的通信流量群为一已转发过的通信流量群且所述标识信息也与所 述接收通信设备相关,则丢弃所述接收到的通信流量群;若确认所述通信流量群不是已转发过的通信流量群或者所述标识信息与所述接收通信设备不相关,则转发所述接收到的通信流量群。
17.如权利要求16所述的方法,其特征在于,接收步骤包括通过一千兆位无源光纤网 络(GP0N)来接收所述通信流量群,其中所述接收到的通信流量群还包括一端口标识信息, 且其中所述信息字段中包含有所述端口标识信息的一部分。
18.—种通信设备,包括一接口,用于提供所述通信设备接收通信流量群,一通信流量群包括一传送所述通信 流量群的传送通信设备的标识信息,以及一信息字段,所述信息字段用于指示所述通信流 量群是否为一已转发过的通信流量群;一过滤模块,其操作地耦合至所述接口,并用于依据所述信息字段,确认所述接收到的通信流量群是否为已转发过的通信流量群,以 及所述标识信息是否与所述通信设备相关;若确认所述接收到的通信流量群为一已转发过的通信流量群且所述标识信息也与所 述通信设备相关,则丢弃所述接收到的通信流量群;以及若确认所述接收到的通信流量群不是已转发过的通信流量群或者所述标识信息与所 述通信设备不相关,则转发所述接收到的通信流量群。
19.如权利要求18所述的通信设备,还包含另一接口,其操作地耦合至所述过滤模块,其中,所述过滤模块通过所述另一接口转发所述接收到的通信流量群。
20.如权利要求18或19所述的通信设备,其特征在于,所述设备包括一光纤网络终端 (0NT)。
21.一种方法,其包括接收一包含有一源地址的通信流量群;依据所述源地址,确认所述接收到的通信流量群是否对应于一先前传送的通信流量群;若确认所述接收到的通信流量群对应于所述先前传送的通信流量群,则确认从所述先 前传送的通信流量群被执行传送到现在,是否已经过了一时限期;以及若确认尚未经过所述的时限期时,丢弃所述接收到的通信流量群。
22.如权利要求21所述的方法,其特征在于,所述方法在接收所述通信流量群的步骤 之前还包括接收所述先前传送的通信流量群;以及传送所述先前传送的通信流量群,其中确认是否已经过了所述的时限期的步骤进一步包括确认从所述传送到现在所经 过的时间段。
23.如权利要求22所述的方法,其特征在于,所述方法在接收所述通信流量群的步骤 之前进一步包括确认所述先前传送的通信流量群的源地址是否为未知;以及若确认所述先前传送的通 信流量群的源地址为未知时,存储所述先前传送的通信流量群的源地址至一学习数据库。
全文摘要
本发明提供一种转发循环(forwarding loop)的预防设备及方法,在接收例如数据包的到通信流量群(communication traffic block)后,会确定所接收到的数据包是否被传送至多个通信设备中,若确认为是,则在所述数据包内包括一所述数据包已转发过(reflected)的指示信息并传送所述数据包。一接收所述被广播传送数据包的设备会确认所述数据包是否为已转发过及其标识信息(identifier)是否与所述接收设备相关。若确认所述数据包为已转发过且其标识信息与所述接收设备相关,所述设备则丢弃该接收到的数据包。否则转发所述数据包。根据数据包从执行传送到执行接收过程之间所耗的时间,来避免产生转发循环,且无须修改数据包。
文档编号H04L12/56GK101836399SQ200880112496
公开日2010年9月15日 申请日期2008年10月30日 优先权日2007年10月31日
发明者C·陈 申请人:科缔纳系统有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1