一种信元保序的方法及装置的制作方法

文档序号:7709033阅读:192来源:国知局
专利名称:一种信元保序的方法及装置的制作方法
技术领域
本发明属于数据通信技术领域,尤其涉及一种交换网中信元保序的方法和装置。
背景技术
随着目前网络应用的逐渐普及,公众对于网络传输能力的期待越来越高,为了解 决对数据交换和传输的需求,无阻塞、可扩展、大容量的交换芯片成为设计的主流,而交换 芯片开发最核心的问题就是交换结构的确定。目前商用主流交换芯片构架主要有共享型交换结构和交叉开关矩阵交换结构。而 常用的交叉开关矩阵交换结构又可以区分为纯输入排队(IQ Input Queuing)、组合输入输 出排队(CI0Q :Combined Input and Output Queuing)和交叉点带缓存(CICQ Combined Input and Crossbar Queuing)交换结构。交换网通常都是由交换接入芯片和交换芯片组成,交换接入芯片主要将数据包经 过处理后将数据送入交换芯片或者从交换芯片获取数据组成数据包将数据包发送出去。数 据采用何种方式被交换是在交换芯片中完成的,这取决于交换芯片的结构,而无论何种交 换芯片结构,现有的交换网设计都是以信元为基本单位进行交换的,因此交换接入芯片需 要将数据包切割成信元送到交换网进行交换,在信元到达目的交换接入芯片后,需要再将 同一个数据包的信元重新组成原来的数据包。交换网中实现信元转发并重新组包的原理如 图1所示。另外,为了实现目前数据量越来越大的网络需要,不能简简单单的将发送到同一 目的端的数据包沿着一条链路顺序发送,而是需要将该数据包中所有信元负载均衡地送到 不同的交换平面,这样能够提高网络的性能。而不同的信元经过不同的交换平面到达目的 交换接入芯片的延时将是不同的,如果不经过特殊处理,同一个数据包的信元将会杂乱地 到达目的交换接入芯片,并且不同数据包的信元还会间插在一起,将信元重新组合成数据 包的工作将会异常复杂,资源和性能都难以满足,交换网中信元乱序如图2所示。如果交换网能够使用一种技术,使信元进入交换网的顺序和离开交换网的顺序保 持一致,那在目的交换接入芯片将能够连续地、顺序地得到一个数据包的所有信元,并且数 据包和数据包之间的顺序也能够得以保持,目的交换接入芯片只需要将接收到的信元依次 存放,等待该信元所在的数据包全部到达后将数据包再发送出去即可,数据包重组的过程 和操作大大简化,性能大大提高,也不需要占用太多资源。现有的交换网可能由一个或多个交换接入芯片、交换芯片组成,为了使信元能够 按照到达交换网的顺序离开交换网,所有的交换接入芯片都必须使用统一的信元标识,处 于交换网源端的源交换接入芯片为每个即将发送的信元打上该信元标识,交换网中的每个 交换芯片在所有输出端口处都根据该信元标识进行比较,保证信元标识在前的信元能够先 离开本交换芯片,最终使到达目的交换接入芯片的每条链路上的信元都保证其先后顺序, 最后目的交换接入芯片再将从各个输入链路接收到的信元统一比较,按照信元标志顺序进 行接收后将数据包发离该交换网,那么就使得离开交换网的信元都是连续的,不会发生间插,而是一个个完整的包,从而实现信元保序的工作。整个交换网所用的信元标识称之为全局时戳,由时戳、源交换接入芯片号和同一 数据包信元序列号组成,如图3所示。所有的源交换接入芯片使用具有相同时间基准的计 数值来为每一个信元打上时戳,一个数据包的所有信元具有相同的时戳,以这个数据包的 第一个信元离开该源交换接入芯片时刻时计数值的值作为这个数据包的时戳,并将该时戳 附带在这个数据包的所有信元的信元头上,同时在信元头上附带上本源交换接入芯片ID 号和用于区分一个数据包中各个信元的序列号,然后该源交换接入芯片再以负载均衡的方 式将所有信元均勻地发送到与该源交换接入芯片相连的各条链路上,如图4所示。同一个 数据包的所有信元具有相同的时戳,不同的只是源交换接入芯片或者信元序列号,这样在 交换芯片进行全局时戳比较时一个数据包全部信元的全局时戳要不就大于另一个数据包 全部信元的全局时戳,要不就小于另一个数据包全部信元的全局时戳,比较的结果将是一 个数据包的信元全部在别的数据包信元的前面或者后面接受调度并发送给下级芯片,不会 发生不同数据包的信元相互间插的现象。由于离开源交换接入芯片进入交换芯片的全部信元都按照离开该源交换接入芯 片的先后顺序打上了时戳、源交换接入芯片号、信元序列号,即全局时戳,因此到达交换网 中交换芯片的信元必定是先到的信元全局时戳更老,交换芯片为每个输入链路保留一个先 入先出队列,通过该输入链路进入该交换芯片的信元都进入到各自的先入先出队列。同样 为每个输出链路也设置一个先入先出队列,发往对应输出链路的信元都先放到该输出先入 先出队列中,输出先入先出队列中的信元顺序就是从该输出链路中发出的信元顺序。为了使进入输出先入先出队列的信元能够保持先后顺序,需要在所有的输入先入 先出队列的首信元(也是该输入先入先出队列中最老的信元)间进行全局时戳比较,如图 5所示。比较之后全局时戳最老的信元能够根据路由信息进入到相应的输出先入先出队列 中排队。比较的原则是首先看信元的时戳大小,时戳小的则更老,如果时戳相同,则比较发 出信元的源交换接入芯片号,数值较小的源交换接入芯片号则认为是更老,如果时戳和源 交换接入芯片号都相同,则比较信元的序列号,序列号更小的则认为是更老。在目的交换接入芯片处,处理方式基本相似,只是交换芯片的输出侧需要N个输 出先入先出队列,而目的交换芯片已经到达目的地不再需要N个输出先入先出队列,只需 要N个输入先入先出队列,比较同样需要所有的输入先入先出队列都至少有一个信元才能 开始比较和发送信元,如图6所示。全局时戳的比较需要所有的输入先入先出队列至少有一个信元才能进行比较,如 果有一个输入先入先出队列为空则不能进行比较,那是为了确保送到输出先入先出队列的 信元肯定是最老的。如果有一个输入先入先出队列为空,则其他输入先入先出队列比较出 来的最老信元并不能确认这个为空的输入先入先出队列对应的输入链路还会不会再来比 自己更老的信元,而且和自己具有相同的目的地,这样的话送到输出先入先出队列的信元 就可能发生乱序,如图7所示。为了避免这种情况的发生,可以通过空信元的机制解决。由于交换接入芯片或者 前一级交换芯片在输出信元时已经保证了从某个输入链路到达该交换芯片信元的先后顺 序,因此最老信元只要比该输入先入先出队列的首信元更老,则一定比首信元后面的信元 更老。空信元机制就是为了确认最老的信元确实是所有链路的所有信元中是最老的,从而避免真正等到所有输入先入先出队列都有数据信元才进行比较对交换网吞吐率的影响。空 信元传递链路所连接的上一级交换芯片或交换接入芯片整体的当前最老时戳,只要本芯片 的最老数据信元比空信元所携带的最老时戳更老,则一定比这个最老时戳后面的数据信元 更老。交换芯片在时戳比较时把当前比较出的最老时戳保存下来,并且每次比较后都进 行更新,如果哪个输出先入先出队列为空不能发送数据信元时,则将这个最老时戳放置在 空信元中发送出去,如图8所示。交换接入芯片向交换芯片发送空信元的方式和交换芯片略有不同,由于全局时戳 在交换接入芯片处产生,因此交换接入芯片的最老时戳就是当前计数值的值、最新的信元 序列号和自己的交换接入芯片号,只要某个输出先入先出队列没有数据信元可发,就向该 输出先入先出队列填充附带当前最老时戳的空信元,发送到下级交换芯片,如图9所示。现在的网络数据类型已经由以前比较单一的单播数据包逐渐演进为单播数据包、 多播数据包的混合传输。目前对不少的交换网架构对多播数据包的支持并不是很好,例如 在背景技术中采用的方式虽然能够有效的实现信元保序,但是对单播数据包、多播数据包 混合发送的情况并不能提供有效的支持。原因在于对于多播数据包的传输如果和单播数 据包采用统一的时戳排队和比较机制,则发送的信元无论是单播信元还是多播信元必须严 格按照全局时戳顺序进行发送,这样的话就难以对单播信元通道和多播信元通道进行带宽 比例的划分和隔离,如果不能实现对单播信元通道、多播信元通道的有效区分,那么在交换 网络的整体性能上是有影响的。

发明内容
本发明所要解决的技术问题是克服现有技术中存在的实现多播信元保序的问题 和缺陷,提供一种在单播、多播混用传输情况下,能够实现对单播信元通道、多播信元通道 进行有效划分的信元保序的方法及装置。为解决上述技术问题,本发明采用多播信元单独进行排队和比较机制,即在交换 接入芯片、交换芯片中所有的输入先入先出队列、输出先入先出队列和全局时戳比较机制 中都区分单播信元通道、多播信元通道,单播信元通道和多播信元通道之间遵循加权公平 排队算法(WFQ),或者变长双轮询调度算法(DRR,Deficit Round Robin)或者加权变长双 轮询调度算法(WDRR, Weighted Deficit Round Robin),如图 10 所示。为解决上述技术问题,本发明信元保序的方法包括如下步骤第一步、源交换接入芯片将单播信元、多播信元根据各自的计数值即时戳按顺序 送往交换网;第二步、交换芯片分别对单播信元、多播信元按照全局时戳进行比较,将最老的信 元输出到下级交换芯片,最后一级交换芯片将信元送入目的交换接入芯片中不同的输入队 列;第三步、目的交换接入芯片选择每条链路中时戳最老的信元输出,从而完成整个 交换网的功能。第一步具体包括如下操作源交换接入芯片根据单播信元、多播信元各自的计数值为即将出队的信元打上全局时戳,在为单播信元打时戳的同时也附带上多播时戳,作为下游芯片产生多播空信元的 依据;在为多播信元打时戳的同时也附带上单播时戳,作为下游芯片产生单播空信元的依 据。第二步具体包括如下操作各交换芯片根据各自的单播通道进行单播信元的全局时戳比较,根据各自的多播 通道进行多播信元的全局时戳比较,将最老的信元通过路由查询后送入到对应的输出先入 先出队列,交换芯片将每条链路对应的输出先入先出队列按顺序发送到下级交换芯片或者 目的交换接入芯片。第三步具体包括如下操作目的交换接入芯片根据单播信元通道进行单播信元包重组,根据多播信元通道进 行多播信元包重组,将重组好后的单播数据包、多播数据包送出交换网实现数据包的交换。为解决上述技术问题,本发明信元保序的装置包括源交换接入芯片、交换芯片和 目的交换芯片;其中,源交换接入芯片将单播信元用于将单播信元、多播信元根据各自的计数值 按顺序送往交换网;交换芯片用于分别对单播信元、多播信元按照全局时戳进行比较,将最老的信元 输出到下级交换芯片,而最后一级交换芯片用于将信元送入目的交换接入芯片中不同的输 入队列;目的交换接入芯片用于选择每条链路中时戳最老的信元输出,从而完成整个交换 网的功能。所述源交换接入芯片在用于将单播信元、多播信元根据各自的计数值按顺序送往 交换网时,采用的具体方案包括源交换接入芯片根据单播信元、多播信元各自的计数值为即将出队的信元打上全 局时戳,在为单播信元打时戳的同时也附带上多播时戳,作为下游芯片产生多播空信元的 依据;在为多播信元打时戳的同时也附带上单播时戳,作为下游芯片产生单播播空信元的 依据。所述交换芯片在用于分别对单播信元、多播信元按照全局时戳进行比较,将最老 的信元输出到下级交换芯片,而最后一级交换芯片用于将信元送入目的交换接入芯片中不 同的输入队列时,采用的具体方案包括各交换芯片根据各自的单播通道进行单播信元的全局时戳比较,根据各自的多播 通道进行多播信元的全局时戳比较,将最老的信元通过路由查询后送入到对应的输出先入 先出队列,交换芯片将每条链路对应的输出先入先出队列按顺序发送到下级交换芯片或者 目的交换接入芯片。所述目的交换接入芯片在用于选择每条链路中时戳最老的信元输出,从而完成整 个交换网的功能时,采用的具体方案包括目的交换接入芯片根据单播信元通道进行单播信元包重组,根据多播信元通道进 行多播信元包重组,将重组好后的单播数据包、多播数据包送出交换网实现数据包的交换。本发明的有益效果为采用本发明所述技术方案,克服了现有技术中存在的实现多播信元保序的问题和缺陷,在单播、多播混用传输情况下,能够实现对单播信元通道、多播信元通道进行有效划 分,从而取得了对多播信元性能的改善,达到了对多播信元进入交换网顺序有效管理的效 果,提高了整个网络对多播信元控制转发的性能。


图1是交换网中实现信元转发并重新组包的原理示意图;图2是交换网中信元乱序的示意图;图3是目前交换网时戳信息的信元结构图;图4是交换网采用全局时戳实现信元保序的原理示意图;图5是交换芯片全局时戳比较的原理示意图;图6是目的交换接入芯片全局时戳比较的原理示意图;图7是交换网链路不全有信元比较造成的乱序的示意图;图8是交换芯片产生空信元的原理图,其中E代表空信元,D代表数据信元;图9是交换接入芯片产生空信元的原理图,其中E代表空信元,D代表数据信元;图10是本发明单播数据包和多播数据包独立排队比较的原理图;图11是本发明采用的包涵两种时戳的信元结构图;图12是本发明采用的单多播数据平面分开下信元时戳操作的原理图;图13是本发明中源交换接入芯片对单多播时戳的处理流程图;图14是本发明中交换芯片信元合成的处理图。
具体实施例方式下面结合附图和具体实施方式
对本发明作进一步详细说明。本发明方法具体包括如下步骤第一步、源交换接入芯片根据单播信元、多播信元各自的计时器即计数值为即将 出队的信元打上全局时戳,在为单播信元打时戳的同时也附带上多播时戳,即将多播信元 的计数值添加到单播信元中,作为下级交换芯片产生多播空信元的依据,同理,在为多播信 元打时戳的同时也附带上单播时戳,即将单播信元的计数值添加到多播信元中,作为下级 交换芯片产生单播空信元的依据;第二步、交换芯片根据单播通道进行单播信元的全局时戳比较,根据多播通道进 行多播信元的全局时戳比较,将最老的信元通过路由查询后送入到对应的输出先入先出队 列,交换芯片将每条链路对应的输出先入先出队列按顺序发送到下级交换芯片或者目的交 换接入芯片;第三步、目的交换接入芯片根据单播信元通道进行单播信元包重组,根据多播信 元通道进行多播信元包重组,将重组好后的单播数据包、多播数据包送出交换网实现数据 包的交换。本发明对单播信元增加了多播全局时戳,对多播信元增加了单播全局时戳,本实 施例采用的信元时戳格式如图11所示,无论单播时戳还是多播时戳都是以同一个全局时 钟为基准。图12是本发明采用的单多播数据平面分开下信元时戳操作的原理图,如图所示,
8本发明中,整个交换网络中信元时戳的处理方式与现有技术中单播信元、多播信元采用统 一时戳有很大的不同。源交换接入芯片作为数据流量的发起者,需要考虑发送多播/单播/空信元的不 同情况,如图13所示。当发送单播信元、多播信元或者空信元的时候,根据当前全局时钟的 即时值作为单播时戳、多播时戳,这样从源交换接入芯片发送出去的信元无论是何种类型 都能够有效地向下级交换芯片或目的接入芯片传递该信元离开源交换接入芯片的时刻值。交换芯片在内部将单播和多播分为两个数据平面,时戳比较和信元入队均分别处 理,因此需要将信元分类,如果是单播信元/多播信元需要根据信元的多播/单播时戳复制 一份多播/单播空信元,如果是空信元直接复制该空信元即可。在交换芯片的出口处,为单 播数据平面、多播数据平面各维护一个链路时戳,用来表示从该数据平面出去的最后的一 个信元的时戳,根据当前单播信元、多播信元的调度情况完成信元时戳的合成,合成的判断 条件如图14所示。时戳合成完成后就能保证最终被调度出队的信元能够携带交换芯片中 单播数据平面、多播数据平面各自最老的时戳,以保证整个交换网络的信元保序。目的交换接入芯片中时戳没有传递的过程,只需要完成终结时戳的过程,即只恢 复该信元中传递的有效数据。和交换芯片类似,在目的交换接入芯片中,首先要完成信元的 分类,输入的单播信元/多播信元需要复制一份多播/单播空信元,输入的空信元需要复制 一份空信元。通过上述的操作就能够在将单播数据平面、多播数据平面分开的情况下实现信元 保序。本发明信元保序的装置具体包括源交换接入芯片、交换芯片和目的交换芯片。源 交换接入芯片根据单播信元、多播信元各自的计数值为即将出队的信元打上全局时戳,在 为单播信元打时戳的同时也附带上多播时戳作为下游芯片产生多播空信元的依据,同理, 在为多播信元打时戳的同时也附带上单播时戳作为下游芯片产生单播播空信元的依据。交 换芯片根据单播通道进行单播信元的全局时戳比较,根据多播通道进行多播信元的全局时 戳比较,将最老的信元通过路由查询后送入到对应的输出先入先出队列,交换芯片将每条 链路对应的输出先入先出队列按顺序发送到下级交换芯片或者目的交换接入芯片。目的交 换接入芯片根据单播信元通道进行单播信元包重组,根据多播信元通道进行多播信元包重 组,将重组好后的单播数据包、多播数据包送出交换网实现数据包的交换。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详 细说明,所应注意的是,以上所述仅为本发明的具体实施例而已,本领域的技术人员可以对 本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改 和变型属于本发明权利要求记载的技术方案及其等同技术的范围之内,则本发明也意图包 含这些改动和变型在内。
权利要求
一种信元保序的方法,其特征在于包括如下步骤第一步、源交换接入芯片将单播信元、多播信元根据各自的计数值即时戳按顺序送往交换网;第二步、交换芯片分别对单播信元、多播信元按照全局时戳进行比较,将最老的信元输出到下级交换芯片,最后一级交换芯片将信元送入目的交换接入芯片中不同的输入队列;第三步、目的交换接入芯片选择每条链路中时戳最老的信元输出。
2.根据权利要求1所述的信元保序的方法,其特征在于,所述第一步具体包括如下操作源交换接入芯片根据单播信元、多播信元各自的计数值为即将出队的信元打上全局时 戳,在为单播信元打时戳的同时也附带上多播时戳,作为下级交换芯片产生多播空信元的 依据;在为多播信元打时戳的同时也附带上单播时戳,作为下级交换芯片产生单播空信元 的依据。
3.根据权利要求1所述的信元保序的方法,其特征在于,所述第二步具体包括如下操作各交换芯片根据各自的单播通道进行单播信元的全局时戳比较,根据各自的多播通道 进行多播信元的全局时戳比较,将最老的信元通过路由查询后送入到对应的输出先入先出 队列,交换芯片将每条链路对应的输出先入先出队列按顺序发送到下级交换芯片或者目的 交换接入芯片。
4.根据权利要求1所述的信元保序的方法,其特征在于,所述第三步具体包括如下操作目的交换接入芯片根据单播信元通道进行单播信元包重组,根据多播信元通道进行多 播信元包重组,将重组好后的单播数据包、多播数据包送出交换网实现数据包的交换。
5. 一种信元保序的装置,其特征在于该装置包括源交换接入芯片、交换芯片和目的交换芯片;其中,源交换接入芯片将单播信元用于将单播信元、多播信元根据各自的计数值按顺 序送往交换网;交换芯片用于分别对单播信元、多播信元按照全局时戳进行比较,将最老的信元输出 到下级交换芯片,而最后一级交换芯片用于将信元送入目的交换接入芯片中不同的输入队 列;目的交换接入芯片用于选择每条链路中时戳最老的信元输出,从而完成整个交换网的 功能。
6.根据权利要求5所述的信元保序的装置,其特征在于,所述源交换接入芯片在用于 将单播信元、多播信元根据各自的计数值按顺序送往交换网时,采用的具体方案包括源交换接入芯片根据单播信元、多播信元各自的计数值为即将出队的信元打上全局时 戳,在为单播信元打时戳的同时也附带上多播时戳,作为下级交换芯片产生多播空信元的 依据;在为多播信元打时戳的同时也附带上单播时戳,作为下级交换芯片产生单播播空信 元的依据。
7.根据权利要求5所述的信元保序的装置,其特征在于,所述交换芯片在用于分别对 单播信元、多播信元按照全局时戳进行比较,将最老的信元输出到下级交换芯片,而最后一级交换芯片用于将信元送入目的交换接入芯片中不同的输入队列时,采用的具体方案包 括各交换芯片根据各自的单播通道进行单播信元的全局时戳比较,根据各自的多播通道 进行多播信元的全局时戳比较,将最老的信元通过路由查询后送入到对应的输出先入先出 队列,交换芯片将每条链路对应的输出先入先出队列按顺序发送到下级交换芯片或者目的 交换接入芯片。
8.根据权利要求5所述的信元保序的装置,其特征在于,所述目的交换接入芯片在用 于选择每条链路中时戳最老的信元输出,从而完成整个交换网的功能时,采用的具体方案 包括目的交换接入芯片根据单播信元通道进行单播信元包重组,根据多播信元通道进行多 播信元包重组,将重组好后的单播数据包、多播数据包送出交换网实现数据包的交换。
全文摘要
本发明公开了一种在单播、多播混用传输情况下,能够对单播信元通道、多播信元通道进行有效划分的信元保序方法及装置。其技术方案包括第一步、源交换接入芯片根据单播信元、多播信元各自的计数值为即将出队的信元打上全局时戳,在为单播信元打时戳的同时附带上多播时戳,作为下游交换芯片产生多播空信元的依据;在为多播信元打时戳的同时附带上单播时戳,作为下游交换芯片产生单播空信元的依据;第二步、交换芯片分别对单播信元、多播信元按照全局时戳进行比较,将最老的信元输出到下级交换芯片,最后一级交换芯片将信元送入目的交换接入芯片中不同的输入队列;第三步、目的交换接入芯片选择每条链路中时戳最老的信元输出,完成整个交换网功能。
文档编号H04L12/56GK101931585SQ20091014810
公开日2010年12月29日 申请日期2009年6月22日 优先权日2009年6月22日
发明者徐凤鸣 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1