CN113068087A - 一种通过切包重组实现分布式信元交换的方法与装置 - Google Patents
一种通过切包重组实现分布式信元交换的方法与装置 Download PDFInfo
- Publication number
- CN113068087A CN113068087A CN202110349826.9A CN202110349826A CN113068087A CN 113068087 A CN113068087 A CN 113068087A CN 202110349826 A CN202110349826 A CN 202110349826A CN 113068087 A CN113068087 A CN 113068087A
- Authority
- CN
- China
- Prior art keywords
- cell
- packet
- data
- service processor
- cellnextsop
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0005—Switch and router aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/16—Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
- H04J3/1605—Fixed allocated frame structures
- H04J3/1652—Optical Transport Network [OTN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/0084—Quality of service aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q11/00—Selecting arrangements for multiplex systems
- H04Q11/0001—Selecting arrangements for multiplex systems using optical switching
- H04Q11/0062—Network aspects
- H04Q2011/0086—Network resource allocation, dimensioning or optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种通过切包重组实现分布式信元交换的方法:数据流通路为数据从入口业务处理器单元上行选择链路发送至Fabric交换单元,再通过下行选择链路发送至出口业务处理器单元;入口业务处理器的信元切片模块,将Fabric交换控制信息报文、OTN数据帧的光通路数据单元报文或分组业务的Pkt数据报文,按规定的格式切成统一数据包长,根据各队列信元的优先级来决定信元上行至Fabric交换单元的先后顺序;出口处Fabric业务处理器的信元重组模块,将不同入口业务处理器单元的不同类型的信元进行预分类,再根据解析信元标签头和信元中的包标签头来将信元重组成数据包,发送至下一模块中去。本发明还提供了相应的通过切包重组实现分布式信元交换的装置。
Description
技术领域
本发明属于路由器和交换器技术领域,更具体地,涉及一种通过切包重组实现分布式信元交换的方法与装置。
背景技术
目前在通信领域,以光传送网络和以太网传送网络的通信为主。其中常用于做业务报文处理的数据通信设备一般为路由器和以太网交换机,而Fabric业务处理器是一种可以进行包处理、协议分析、路由查找、服务质量(QOS,Quality Of Service)的灵活可编程网络处理器(NP,Network Processor),可用作路由器或交换机。
对于传统的网络处理器,一般只用于处理分组传送网(PTN,Packet TransportNetwork)业务,网络处理器的包处理模块只对以太网报文进行处理,网络处理器与Fabric交换单元交互的时候一般采用整包传输或者简单的非连续性切包,这样会导致严重的传输带宽量化损失(Quantization Loss)和流量不均匀的问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种通过切包重组实现分布式信元交换的方案,将OTN和分组以太网的业务都以均匀的信元大小与Fabric交换单元进行交互,大大减少量化损失的同时,避免了流量不均匀的问题,而且对于不同类型业务,在业务单元与交换单元交互的时候,按照优先级,在保证特定业务时延的前提下在交换单元上进行了均衡传输。
为实现上述目的,按照本发明的一个方面,提供了一种通过切包重组实现分布式信元交换的方法,包括:
数据流通路为数据从入口业务处理器单元上行选择链路发送至Fabric交换单元,再通过下行选择链路发送至出口业务处理器单元;
入口业务处理器的信元切片模块,将Fabric交换控制信息报文、OTN数据帧的光通路数据单元报文或分组业务的Pkt数据报文,按规定的格式切成统一数据包长,根据包的类型和包的大小将包切成完整的固定字节的信元,同时根据数据包所属的入口业务处理器盘号和出口业务处理器盘号为信元打上标签头,以决定该数据信元所入队的不同优先级队列,然后做信元仲裁,根据各队列信元的优先级来决定信元上行至Fabric交换单元的先后顺序;
出口处Fabric业务处理器的信元重组模块,将不同入口业务处理器单元的不同类型的信元进行预分类,再根据解析信元标签头和信元中的包标签头来将信元重组成数据包,发送至下一模块中去。
本发明的一个实施例中,对于Fabric交换控制信息,将相关控制信息定义为16字节,控制信息包含链路连接信息、发送信用额度的申请信息、发送信用额度的同意信息和反压信息,每个信元中前4个字节为信元标签头,后面附加一些判断信息,每15个控制信息组成一个256字节的信元,其中信元标签头中的信元类型位域会指定该信元为Fabric控制信息,信元标签头中的目的Fabric业务处理器编号和源Fabric业务处理器编号和信元类型一起决定该业务流进入的缓存队列。
本发明的一个实施例中,对于OTN数据帧的光通路数据单元报文,在每个ODUk报文前加上4个字节的信元标签头,再加上部分端口信息和ODUk的载荷,组成一个完整256字节的信元,其中信元标签头中的信元类型位域会指定该信元为OTN数据帧,信元标签头中的目的Fabric业务处理器编号和源Fabric业务处理器编号和信元类型一起决定该业务流进入的缓存队列,不同优先级的队列在后续仲裁模块决定该信元的发送顺序。
本发明的一个实施例中,对于分组业务的Pkt数据报文,对于每个Pkt数据报文切成的信元,都有一个4个字节的信元标签头,其中Cell Type为Pkt数据报文,DestFspNode和SrcFspNode分别为目的和源Fsp编号,SeqNo为信元序列编号,方便在Egress FSP进行信元的重新排序,紧接着的1个字节表示的是信元下个数据包起始位置CellNextSop。
本发明的一个实施例中,如果当前信元起始也是一个数据包的起始,则CellNextSop置为0,代表信元中下一个数据包的起始位与CellNextSop标志位的字节偏移量为0,即CellNextSop的下一字节即为数据包的起始位置。
本发明的一个实施例中,如果当前信元起始不是一个信数据包的起始,即上一个256字节的信元已经包含了当前数据包的部分载荷,所以本信元的CellNextSop不为0,即CellNextSop的值为当前数据包的剩余载荷字节数,CellNextSop指向的是下一个Pkt数据报文的起始:
如果当前数据包在本信元的末尾处仍未终结,则CellNextSop置为256,表示下一个Pkt数据报文的起始位在本信元之外;
如果当前数据包在本信元的末尾处正好终结,则CellNextSop置为255,表示本信元的末尾即本Pkt数据报文的末尾,下一个Pkt数据报文的包起始位为下一个信元的起始位;
如果当前数据包在本信元的内部终结,则CellNextSop置为当前数据包在本信元的字节数,表示下一个数据包的起始位与CellNextSop标志位的字节偏移量为当前数据包的剩余长度。
本发明的一个实施例中,在同一个信元中,如果包含有数据包的起始字节PktNextSop,指向当前数据包的下一个数据包的起始字节,且当前数据包在当前信元末尾处仍未终结,则当前数据包的PktNextSop置为256,表示下一个Pkt数据报文的起始位在本信元外;如果当前数据包到当前信元末尾处正好终结,则当前数据包的PktNextSop置为255,表示本信元的末尾即当前数据包的末尾;如果当前数据包在本信元的内部终结,则PktNextSop置为当前数据包的字节数,表示下一个数据包的起始位与当前数据包的PktNextSop标志位的字节偏移量为当前数据包的剩余长度。在当前数据包的终结处的下一个字节,为当前信元下一个数据包的PktNextSop。
本发明的一个实施例中,信元重组模块的重组有以下三种情况:
如果是OTN数据帧信元,重组模块每收到一个信元,剥掉信元头,根据端口信息进入对应队列;
如果是控制信息信元,重组模块每收到一个信元,剥掉信元头,将每个信元的15个控制数据包发给相应的信息处理模块;
如果是Pkt数据信元,则根据Pkt数据信元重组状态机,由目的业务处理器的FIM接收信元。
本发明的一个实施例中,所述根据Pkt数据信元重组状态机,由目的业务处理器的FIM接收信元,具体为:
状态1,无正在处理Pkt数据报文:收到信元接收丢失信号,则一直不做处理,Pkt数据重组模块始终在“无正在处理Pkt数据状态”等待,直至第一个信元接收到。此时有两种情况,情况一是,当第一个信元的CellNextSop为256或者255时进行Drop Cell操作,即丢弃并复位至“无正在处理Pkt数据”状态;情况二是,当第一个信元的CellNextSop为0或者InThisCell,如果CellNextSop为0,则该信元起始为数据包起始,如果CellNextSop为InThisCell,表示该信元有部分之前遗失包的负载,CellNextSop=0or InThisCell,均不做处理,进入读PktNextSop状态。
状态2,读PktNextSop:如果PktNextSop=InThisCell,则表示有一个完整的数据包在本信元起始并终结,这时发送该数据包到下一个包存储模块;如果PktNextSop=EOP,表示该信元的末尾也是该数据包的末尾,将完整的数据包发到下一个包存储模块,并回到状态1,即“无正在处理的Pkt数据”状态;如果PktNextSop=Payload,表示该数据包在该信元起始,但并未终结,将该包的负载存在该重组模块的缓存中,进入状态3,即“等待接收下一个信元”状态。
状态3,等待接收下一个信元:在等待接收下一个信元状态时,当等到下一个信元时,如果读取CellNextSop,且CellNextSop=Payload,表示该数据包仍未终结,是一个比较大的数据包,仍等下一个信元;如果读取CellNextSop,且CellNextSop=InThisCell,表示该数据包在信元内部终结,则将数据包发送出去,回到状态2;如果CellNextSop=EOP,表示信元终结的同时,该数据包也终结了,将数据包发送出去,回到“无正在处理Pkt数据”状态。
按照本发明的另一方面,还提供了一种通过切包重组实现分布式信元交换的装置,包括入口业务处理器单元的信元切片模块和出口业务处理器单元的信元重组模块,其中:
数据流通路为数据从入口业务处理器单元上行选择链路发送至Fabric交换单元,再通过下行选择链路发送至出口业务处理器单元;
所述入口业务处理器的信元切片模块,用于将Fabric交换控制信息、OTN数据帧的光通路数据单元报文或分组业务的Pkt数据报文,按规定的格式切成统一数据包长,根据包的类型和包的大小包切成完整的固定字节的信元,同时根据数据包所属的入口业务处理器盘号和出口业务处理器盘号为信元打上标签头,以决定该数据信元所入队的不同优先级队列,然后做信元仲裁,根据各队列信元的优先级来决定信元上行至Fabric交换单元的先后顺序;
所述Fabric业务处理器的信元重组模块,用于将不同入口业务处理器单元的不同类型的信元进行预分类,再根据解析信元标签头和信元中的包标签头来将信元重组成数据包,发送至下一模块中去。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:
(1)在业务处理器单元与Fabric交换单元交换的时候,如果业务处理单元上Fabric交换单元的接口总线最小单位为32字节,按传统以数据包为单位传输的做法,由于以太网报文最小处理单元为64字节,如果持续发65字节的数据包,这种情况对于每个数据包传输带宽的量化损失为最大,因为实际65字节的数据包,占用了三个发送周期,96字节的发送带宽,此时的量化损失为(96-65)/96,即量化损失高达32%。采用本发明的连续性切包,对于一条连续的数据流,因为每个包都切成了256字节的信元,占满了接口总线带宽,可以几乎完全避免量化损失;
(2)对于传统数据包做传输单元的做法,业务处理器单元的接口和Fabric交换单元的接口都需要对不同的包类型去做解析和处理,接口处的协议处理会比较复杂,还存在不兼容的问题,本发明中,采用连续性切包方式,将分组以太网和OTN的业务都切成一个个信元的格式,对接口可见的只是256字节的数据块,不需要对数据类型去做处理,大大降低了业务处理器单元和Fabric交换单元的接口协议设计难度;
(3)同时以连续性切包组包的方式在交换系统上进行传输时,处理的是统一信元,不再以各种不同数据长度的OTN数据帧或Pkt数据报文为传输单位,在业务处理器单元和交换单元的接口侧可根据负载均衡(LB,load balance)选择系统中任意连接交换盘和任意负载较低的链路进行传输,从而可以大大增加交换单元数量,同时增加可接入业务处理器单元数量,从而提高系统交换容量。
附图说明
图1是现有技术中的切包装置结构图;
图2是本发明实施例的系统结构图;
图3是本发明实施例提供的切包装置结构图;
图4是本发明实施例提供的切包实例图;
图5是本发明实施例提供的重组装置结构图;
图6是本发明实施例的重组装置状态机。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
本发明涉及路由器和交换器领域,具体地涉及到分布式交换机的数据包处理领域,更具体地涉及到分布式交换机的信元接口处理领域。本发明应用于Fabric分布式交换架构中Fabric业务处理器(FSP,Fabric Service Processor)与Fabric交换单元(FCE,Fabric Cross Element)进行流量交互,为Fabric信元交换、区分业务提供了完整的解决方案。
分布式交换机系统是基于Fabric架构,是由多个网络处理器业务盘和多个负责连接业务卡交换信元的交换卡组成的,应用于超大数据带宽传输。
对于传统的分布式交换设备,由于网络报文的复杂性和交换卡数量,负载及延时等限制,导致传统分布式交换设备不能满足交换系统中超大速率带宽的应用。
本发明提出的在Fabric分布式系统中,Fabric业务处理器对于控制信息、Pkt数据报文和OTN数据帧都采取统一报文格式的信元方式与Fabric交换单元进行交换,各种数据的统一报文格式减少了Fabric业务处理器与Fabric交换单元的接口协议的复杂度,使得交换单元的处理带宽得以大幅度提升;同时,各种数据的统一报文长度通过连续切包方式,也进一步减少了接口处的有效带宽量化损失。具体来说,在入口业务处理器(Ingress)上行到Fabric交换单元处进行信元切片和信元仲裁,在出口业务处理器(Egress)进行信元区分和信元重组,很好地解决了分布式系统报文协议复杂和系统带宽量化损失的问题。实现了Pkt数据报文和OTN数据帧等不同流量/类型报文通过不同交换单元到达目的业务处理器,实现同一条数据流可通过与交换单元不同的连接而到达目的业务处理器,解决了高优先级流量延时敏感性问题,同时大量增加业务盘和交换盘数量,从而提高分布式交换系统的总带宽。本发明的Fabric业务处理器提供了一种实现切包和重组的交换接口模块(FIM,FabricInterface Module),专门负责各个FSP与FCE之间的连接,FIM可同时处理光传送网络的光传送网(OTN,Optical Transport Network)业务和基于以太网传送网络的分组传送网业务,同时本发明提出的连续性切包和重组(CSAR,Contiguous Segmentation AndReassembly),可以很好的解决上述传统网络处理器的问题,将OTN和分组的业务都以均匀的信元大小与Fabric交换单元进行交互,大大减少量化损失的同时,避免了流量不均匀的问题,而且对于不同类型业务,在业务单元与交换单元交互的时候,按照优先级,在保证特定业务时延的前提下在交换单元上进行了均衡传输。
根据本发明的方法,提供了业务处理器单元和Fabric交换单元之间进行数据交换时的统一信元方法。该方法的主要功能模块包括:入口业务处理器单元的信元切包模块,出口业务处理器单元的信元重组模块。
数据流通路为数据从入口业务处理器单元(Ingress FSP)上行选择链路发送至Fabric交换单元,再通过下行选择链路发送至出口业务处理器单元(Egress FSP)。
信元切片模块负责将控制信息、Pkt数据报文、OTN数据帧按规定的格式切成统一数据包长,根据包的类型和大小,切成完整的固定字节的信元(下文以256字节的信元作为举例说明),同时根据数据包所属的入口业务处理单元盘号和出口业务处理盘号为信元打上标签头,以决定该数据信元所入队的不同优先级队列。然后做信元仲裁,根据各队列信元的优先级来决定信元上行至Fabric交换单元的先后顺序。
信元重组模块负责先将不同入口业务处理器单元的不同类型的信元进行预分类,再根据解析信元标签头(Cell Header)和信元中的包标签头(Pkt Header)来将信元重组成数据包(Pkt,Packet),发送至下一模块中去。
对于现有技术中常见的切包装置(图1),分别为独立不封装信元模式(NPCP,NonPacket Cell Packing)和封装信元模式(PCP,Packet Cell Packing),NPCP即简单地将每个大于256字节的数据包切成256字节的信元块,最后剩余的字节单独作为一个信元传输,而小于256字节的数据包直接单独作为一个信元传输,这种信元模式使得带宽损失非常大,因为即使非常小的数据切片单位也需要浪费一个256字节的调度周期。后来为了减少带宽的量化损失,在此基础上做了改进,形成了新的PCP模式,即对于大于256字节的数据包处理方式不变,对于小于256字节的数据包,如果多个数据包长度相加仍小于256字节,则将几个小的数据包合成为一个256字节的信元进行传输。这样可以在数据包调度的时钟频率不变的情况下,处理更多数据包,并且减少交换接口处的带宽损失。
针对于现有业务处理器单元的Fabric接口所采用的将数据包切片成信元的模式,本发明提出的连续性切包重组方案,不仅能够解决带宽损失问题,还能应用于分组和OTN多种业务场景,同时降低接口协议处理的复杂度。图2为本发明实施例的系统结构图。FSP为业务处理器单元,分为入口业务处理器单元和出口业务处理器单元,入口业务处理器单元会接收入端口的Pkt数据报文和OTN数据帧,并按照内部处理协议对报文做相应处理,同时处理器会产生各种控制信息,控制信息和处理过后的Pkt数据报文、OTN数据帧一起进入切包模块,按照固定字节长度切成信元,进入仲裁模块后上送到FCE上做存储转发,再通过串并转换链路(Serdes)下送到FSP出口处理。进入FSP出口处理的报文,首先进入重组模块,按报文类别分别将Pkt数据报文按信元序号进行重组发往PTN包存储模块,将OTN数据帧存储转发到OTN业务队列,将控制信息进行拆分发到Fabric控制信息处理模块。
对于本发明的连续切包法,可实现将一个大的数据包切成多个信元,也可将多个数据包组合到一个信元中去,并且将各个数据包首尾相连,组成统一大小的信元,再通过不同类型信元的优先级,做负载均衡选择空闲不拥塞的串并转换链路传输到Fabric交换单元上去,图3为本发明实施例提供的切包示例图,此处为方便理解并与传统的NPCP模式作对比,我们只纯粹计算了数据包的净载荷,本图例对于包长分别为256字节,280字节,64字节,128字节,296字节的5个数据包,Pkt1切为一个完整256字节信元,Pkt2切为一个完整256字节信元,还剩余24字节,将Pkt2剩余的24字节与Pkt3的64字节、Pkt4的128字节和Pkt5的前40字节切成一个完整的256字节信元,Pkt5剩余的256字节再切成一个完整的256字节信元,这样,每个数据包使用连续性切包的方式,组成了一个个完整的统一大小的信元模式,再上传到Fabric交换单元上去做存储和转发。
由于本发明所应用的网络处理器单元要满足不同业务场景,不仅实现Pkt数据报文和OTN数据帧的切包还需要处理分布式交换所需的控制信息的切包,本发明扩充了信元标签头来对业务进行区分,对于数据包业务同时扩充了数据包标签头来进行同一信元中不同数据包的区分。图3为本发明实施例提供的切包实例图。具体步骤首先根据报文类型做判断。
其一:如果是Fabric交换控制信息(FCM,Fabric Control Message)报文,则将相关控制信息定义为16字节,控制信息包含链路连接信息,发送信用额度的申请信息,发送信用额度的同意信息,反压信息等,每个信元中前4个字节为信元标签头,附加12字节判断信息,再加上15个控制信息一起组成一个256字节的信元,其中信元标签头中的信元类型(Cell Type)位域会指定该信元为Fabric控制信息,信元标签头中的目的Fabric业务处理器编号(DestFspNode)和源Fabric业务处理器编号(SrcFspNode)和信元类型一起决定该业务流进入的缓存队列。一个FCM信元包含15个控制信息。
其二:如果是光通路数据单元(ODUk,Optical channel Data Unit)的OTN数据帧报文,则在每个ODUk报文前加上4个字节的信元标签头,再加上部分端口信息和ODUk的载荷,即可组成一个完整256字节的信元,其中信元标签头中的信元类型位域会指定该信元为OTN数据帧,信元标签头中的目的Fabric业务处理器编号和源Fabric业务处理器编号和信元类型一起决定该业务流进入的缓存队列,不同优先级的队列在后续仲裁模块决定该信元的发送顺序。一个OTN信元包含一个OTN数据帧。
其三:如果是分组业务的Pkt数据报文,因为非固定包长,所以设计起来相对复杂。对于每个Pkt数据报文切成的信元,与OTN和FCM类似,都有一个4个字节的信元标签头,其中Cell Type为Pkt数据报文,DestFspNode和SrcFspNode分别为目的和源Fsp编号,SeqNo为信元序列编号,方便在Egress FSP进行信元的重新排序。紧接着的1个字节表示的是信元下个数据包起始位置(CellNextSop)。对于Pkt数据信元(图4中的Pkt业务处理),有两种情况:
1)当前信元起始也是一个数据包的起始,则CellNextSop置为0,代表信元中下一个数据包的起始位与CellNextSop标志位的字节偏移量为0,即CellNextSop的下一字节即为数据包的起始位置;
2)当前信元起始不是一个信数据包的起始,即上一个256字节的信元已经包含了当前数据包的部分载荷,所以本信元的CellNextSop不为0,即CellNextSop的值为当前数据包的剩余载荷字节数,CellNextSop指向的是下一个Pkt数据报文的起始:
如果当前数据包在本信元的末尾处仍未终结,则CellNextSop置为256,表示下一个Pkt数据报文的起始位在本信元之外;
如果当前数据包在本信元的末尾处正好终结,则CellNextSop置为255,表示本Cell的末尾即本Pkt数据报文的末尾,下一个Pkt数据报文的起始位(SOP,Start OfPacket)为下一个信元的起始位;
如果当前数据包在本信元的内部终结,则CellNextSop置为当前数据包在本信元的字节数,表示下一个数据包的起始位与CellNextSop标志位的字节偏移量为当前数据包的剩余长度。
同样地,在同一个信元中,如果包含有数据包的起始字节PktNextSop,指向当前数据包的下一个数据包的起始字节,且当前数据包在当前信元末尾处仍未终结,则当前数据包的PktNextSop置为256,表示下一个Pkt数据报文的起始位在本信元外;如果当前数据包到当前信元末尾处正好终结,则当前数据包的PktNextSop置为255,表示本信元的末尾即当前数据包的末尾;如果当前数据包在本信元的内部终结,则PktNextSop置为当前数据包的字节数,表示下一个数据包的起始位与当前数据包的PktNextSop标志位的字节偏移量为当前数据包的剩余长度。在当前数据包的终结处的下一个字节,为当前信元下一个数据包的PktNextSop。图4对以上三种报文类型的切包流程的图形描述。
表1中对Pkt数据报文信元的组成结构做了详细描述,Cell Header中的Cell Type主要用于区分Pkt/OTN/MSG三种业务类型,DestNfiNode和SrcNfiNode分别用于标识出口业务处理器单元和入口业务处理器单元盘号,CellNextSop主要用于标识该信元的起始是否是该Pkt数据报文的起始,PktNextSop主要用于标识该报文在该信元内的长度,DestPort用于标识出口盘的端口号。
如上各种类型的数据报文进行切包后,如图5,分别有OTN数据帧,Pkt数据报文,控制信息三种类型的信元(即图5中的ODUk Cells,Pkt Cells和MSG Cells)进入不同的队列组(图5中的CellFifo),三种不同类型的队列组再根据不同的目的业务处理器置于不同的队列中,接着CellArbiter仲裁器会做调度处理,具体来说,首先对同种信元类型不同目的业务处理器的队列之间做轮询调度(RR,Round Robin),轮询会从同优先级的去往不同目的业务处理器的队列中各选出一个队列,再由每个优先级中选中的一个队列之间再做严格优先级队列调度(SPQ,Strict Priority Queue),一般会设置控制信息优先级最高,其次是需要保证低传输延时的OTN数据帧,普通Pkt数据报文优先级最低。各信元通过信元仲裁后经过串并转换链路到达Fabric交换单元后,再下行到目的业务处理器的Fabric接口模块进行信元重组。
对于信元重组模块,有以下三种情况:
如果是OTN信元,重组模块每收到一个信元,剥掉信元头,根据端口信息进入对应队列;
如果是控制信息信元,重组模块每收到一个信元,剥掉信元头,将每个信元的15个控制数据包发给相应的信息处理模块;
如果是Pkt数据报文信元,如图6的Pkt信元重组状态机所示,由目的业务处理器的FIM接收信元,存在如下三种状态:
状态1(无正在处理Pkt业务包):收到信元接收丢失信号,则一直不做处理,Pkt重组模块始终在“无正在处理Pkt数据状态”等待,直至第一个信元接收到。此时有两种情况,情况一是,当第一个信元的CellNextSop为256(即Payload)或者255(即EOP)时进行DropCell操作,即丢弃,因为CellNextSop为256或255表示该信元全部为Pkt数据的负载,没有SOP,并且这是接收的第一个信元,说明当前信元的当前数据包的起始部分已丢失,该数据包不完整,故丢弃,仍复位至“无正在处理Pkt数据”状态;情况二是,当第一个信元的CellNextSop为0或者InThisCell,如果CellNextSop为0,则该信元起始为数据包起始,如果CellNextSop为InThisCell,表示该信元有部分之前遗失包的负载,CellNextSop=0orInThisCell,均不做处理,进入读PktNextSop状态。
状态2(读PktNextSop):如果PktNextSop=InThisCell,则表示有一个完整的数据包在本信元起始并终结,这时发送该数据包到下一个包存储模块;如果PktNextSop=EOP,表示该信元的末尾也是该数据包的末尾,将完整的数据包发到下一个包存储模块,并回到状态1,即“无正在处理的Pkt数据”状态;如果PktNextSop=Payload,表示该数据包在该信元起始,但并未终结,将该包的负载存在该重组模块的缓存中,进入状态3,即“等待接收下一个信元”状态。
状态3(等待接收下一个信元):在等待接收下一个信元状态时,当等到下一个信元时,如果读取CellNextSop,且CellNextSop=Payload,表示该数据包仍未终结,是一个比较大的数据包,仍等下一个信元;如果读取CellNextSop,且CellNextSop=InThisCell,表示该数据包在信元内部终结,则将数据包发送出去,回到状态2;如果CellNextSop=EOP,表示信元终结的同时,该数据包也终结了,将数据包发送出去,回到“无正在处理Pkt数据”状态。
综上,本发明实现了在入口业务处理器的背靠背的连续性信元切包,可实现同一个数据包封装在多个信元中,也可实现多个数据包封装在一个信元中,同一条流之间信元都以固定包长上行到背板交换单元,使流量均匀,减少突发,减少量化损失,提高了带宽利用率,在出口Fabric网络处理器的连续性信元重组,对丢包灵活处理,对同一条流之间的数据包进行了高效重组。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种通过切包重组实现分布式信元交换的方法,其特征在于,包括:
数据流通路为数据从入口业务处理器单元上行选择链路发送至Fabric交换单元,再通过下行选择链路发送至出口业务处理器单元;
入口业务处理器的信元切片模块,将Fabric交换控制信息报文、OTN数据帧的光通路数据单元报文或分组业务的Pkt数据报文,按规定的格式切成统一数据包长,根据包的类型和包的大小将包切成完整的固定字节的信元,同时根据数据包所属的入口业务处理器盘号和出口业务处理器盘号为信元打上标签头,以决定该数据信元所入队的不同优先级队列,然后做信元仲裁,根据各队列信元的优先级来决定信元上行至Fabric交换单元的先后顺序;
出口处Fabric业务处理器的信元重组模块,将不同入口业务处理器单元的不同类型的信元进行预分类,再根据解析信元标签头和信元中的包标签头来将信元重组成数据包,发送至下一模块中去。
2.如权利要求1所述的通过切包重组实现分布式信元交换的方法,其特征在于,对于Fabric交换控制信息,将相关控制信息定义为16字节,控制信息包含链路连接信息、发送信用额度的申请信息、发送信用额度的同意信息和反压信息,每个信元中前4个字节为信元标签头,后面附加一些判断信息,每15个控制信息组成一个256字节的信元,其中信元标签头中的信元类型位域会指定该信元为Fabric控制信息,信元标签头中的目的Fabric业务处理器编号和源Fabric业务处理器编号和信元类型一起决定该业务流进入的缓存队列。
3.如权利要求1或2所述的通过切包重组实现分布式信元交换的方法,其特征在于,对于OTN数据帧的光通路数据单元报文,在每个ODUk报文前加上4个字节的信元标签头,再加上部分端口信息和ODUk的载荷,组成一个完整256字节的信元,其中信元标签头中的信元类型位域会指定该信元为OTN数据帧,信元标签头中的目的Fabric业务处理器编号和源Fabric业务处理器编号和信元类型一起决定该业务流进入的缓存队列,不同优先级的队列在后续仲裁模块决定该信元的发送顺序。
4.如权利要求1或2所述的通过切包重组实现分布式信元交换的方法,其特征在于,对于分组业务的Pkt数据报文,对于每个Pkt数据报文切成的信元,都有一个4个字节的信元标签头,其中Cell Type为Pkt数据报文,DestFspNode和SrcFspNode分别为目的和源Fsp编号,SeqNo为信元序列编号,方便在Egress FSP进行信元的重新排序,紧接着的1个字节表示的是信元下个数据包起始位置CellNextSop。
5.如权利要求4所述的通过切包重组实现分布式信元交换的方法,其特征在于,如果当前信元起始也是一个数据包的起始,则CellNextSop置为0,代表信元中下一个数据包的起始位与CellNextSop标志位的字节偏移量为0,即CellNextSop的下一字节即为数据包的起始位置。
6.如权利要求4所述的通过切包重组实现分布式信元交换的方法,其特征在于,如果当前信元起始不是一个信数据包的起始,即上一个256字节的信元已经包含了当前数据包的部分载荷,所以本信元的CellNextSop不为0,即CellNextSop的值为当前数据包的剩余载荷字节数,CellNextSop指向的是下一个Pkt数据报文的起始:
如果当前数据包在本信元的末尾处仍未终结,则CellNextSop置为256,表示下一个Pkt数据报文的起始位在本信元之外;
如果当前数据包在本信元的末尾处正好终结,则CellNextSop置为255,表示本信元的末尾即本Pkt数据报文的末尾,下一个Pkt数据报文的包起始位为下一个信元的起始位;
如果当前数据包在本信元的内部终结,则CellNextSop置为当前数据包在本信元的字节数,表示下一个数据包的起始位与CellNextSop标志位的字节偏移量为当前数据包的剩余长度。
7.如权利要求6所述的通过切包重组实现分布式信元交换的方法,其特征在于,在同一个信元中,如果包含有数据包的起始字节PktNextSop,指向当前数据包的下一个数据包的起始字节,且当前数据包在当前信元末尾处仍未终结,则当前数据包的PktNextSop置为256,表示下一个Pkt数据报文的起始位在本信元外;如果当前数据包到当前信元末尾处正好终结,则当前数据包的PktNextSop置为255,表示本信元的末尾即当前数据包的末尾;如果当前数据包在本信元的内部终结,则PktNextSop置为当前数据包的字节数,表示下一个数据包的起始位与当前数据包的PktNextSop标志位的字节偏移量为当前数据包的剩余长度,在当前数据包的终结处的下一个字节,为当前信元下一个数据包的PktNextSop。
8.如权利要求1或2所述的通过切包重组实现分布式信元交换的方法,其特征在于,信元重组模块的重组有以下三种情况:
如果是OTN数据帧信元,重组模块每收到一个信元,剥掉信元头,根据端口信息进入对应队列;
如果是控制信息信元,重组模块每收到一个信元,剥掉信元头,将每个信元的15个控制数据包发给相应的信息处理模块;
如果是Pkt数据信元,则根据Pkt数据信元重组状态机,由目的业务处理器的FIM接收信元。
9.如权利要求8所述的通过切包重组实现分布式信元交换的方法,其特征在于,所述根据Pkt数据信元重组状态机,由目的业务处理器的FIM接收信元,具体为:
状态1,无正在处理Pkt数据报文:收到信元接收丢失信号,则一直不做处理,Pkt数据重组模块始终在“无正在处理Pkt数据状态”等待,直至第一个信元接收到,此时有两种情况,情况一是,当第一个信元的CellNextSop为256或者255时进行Drop Cell操作,即丢弃并复位至“无正在处理Pkt数据”状态;情况二是,当第一个信元的CellNextSop为0或者InThisCell,如果CellNextSop为0,则该信元起始为数据包起始,如果CellNextSop为InThisCell,表示该信元有部分之前遗失包的负载,CellNextSop=0or InThisCell,均不做处理,进入读PktNextSop状态;
状态2,读PktNextSop:如果PktNextSop=InThisCell,则表示有一个完整的数据包在本信元起始并终结,这时发送该数据包到下一个包存储模块;如果PktNextSop=EOP,表示该信元的末尾也是该数据包的末尾,将完整的数据包发到下一个包存储模块,并回到状态1,即“无正在处理的Pkt数据”状态;如果PktNextSop=Payload,表示该数据包在该信元起始,但并未终结,将该包的负载存在该重组模块的缓存中,进入状态3,即“等待接收下一个信元”状态;
状态3,等待接收下一个信元:在等待接收下一个信元状态时,当等到下一个信元时,如果读取CellNextSop,且CellNextSop=Payload,表示该数据包仍未终结,是一个比较大的数据包,仍等下一个信元;如果读取CellNextSop,且CellNextSop=InThisCell,表示该数据包在信元内部终结,则将数据包发送出去,回到状态2;如果CellNextSop=EOP,表示信元终结的同时,该数据包也终结了,将数据包发送出去,回到“无正在处理Pkt数据”状态。
10.一种通过切包重组实现分布式信元交换的装置,其特征在于,包括入口业务处理器单元的信元切片模块和出口业务处理器单元的信元重组模块,其中:
数据流通路为数据从入口业务处理器单元上行选择链路发送至Fabric交换单元,再通过下行选择链路发送至出口业务处理器单元;
所述入口业务处理器的信元切片模块,用于将Fabric交换控制信息、OTN数据帧的光通路数据单元报文或分组业务的Pkt数据报文,按规定的格式切成统一数据包长,根据包的类型和包的大小包切成完整的固定字节的信元,同时根据数据包所属的入口业务处理器盘号和出口业务处理器盘号为信元打上标签头,以决定该数据信元所入队的不同优先级队列,然后做信元仲裁,根据各队列信元的优先级来决定信元上行至Fabric交换单元的先后顺序;
所述Fabric业务处理器的信元重组模块,用于将不同入口业务处理器单元的不同类型的信元进行预分类,再根据解析信元标签头和信元中的包标签头来将信元重组成数据包,发送至下一模块中去。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110349826.9A CN113068087B (zh) | 2021-03-31 | 2021-03-31 | 一种通过切包重组实现分布式信元交换的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110349826.9A CN113068087B (zh) | 2021-03-31 | 2021-03-31 | 一种通过切包重组实现分布式信元交换的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113068087A true CN113068087A (zh) | 2021-07-02 |
CN113068087B CN113068087B (zh) | 2022-03-25 |
Family
ID=76565104
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110349826.9A Active CN113068087B (zh) | 2021-03-31 | 2021-03-31 | 一种通过切包重组实现分布式信元交换的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113068087B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026556A (zh) * | 2007-01-10 | 2007-08-29 | 华为技术有限公司 | 一种支持服务质量的仲裁方法及装置 |
CN101552977A (zh) * | 2008-03-31 | 2009-10-07 | 华为技术有限公司 | 创建承载方法和移动性管理实体 |
CN101557329A (zh) * | 2009-05-27 | 2009-10-14 | 杭州迪普科技有限公司 | 一种基于应用层的数据分割方法及装置 |
CN103560982A (zh) * | 2013-10-31 | 2014-02-05 | 烽火通信科技股份有限公司 | 用于Interlaken增强型调度的切包装置及方法 |
CN107241156A (zh) * | 2017-05-09 | 2017-10-10 | 烽火通信科技股份有限公司 | 一种信元保序方法及装置 |
US20180287817A1 (en) * | 2015-10-05 | 2018-10-04 | Honeywell International Inc. | Method of control of a packet-based data communications system and communications system implementing the method |
CN108881062A (zh) * | 2017-05-12 | 2018-11-23 | 深圳市中兴微电子技术有限公司 | 一种数据包传输方法和设备 |
CN109787910A (zh) * | 2019-03-01 | 2019-05-21 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
CN110798633A (zh) * | 2019-12-16 | 2020-02-14 | 北京小鸟科技股份有限公司 | 基于以太网交换技术的大规模视频显控矩阵设备 |
-
2021
- 2021-03-31 CN CN202110349826.9A patent/CN113068087B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026556A (zh) * | 2007-01-10 | 2007-08-29 | 华为技术有限公司 | 一种支持服务质量的仲裁方法及装置 |
CN101552977A (zh) * | 2008-03-31 | 2009-10-07 | 华为技术有限公司 | 创建承载方法和移动性管理实体 |
CN101557329A (zh) * | 2009-05-27 | 2009-10-14 | 杭州迪普科技有限公司 | 一种基于应用层的数据分割方法及装置 |
CN103560982A (zh) * | 2013-10-31 | 2014-02-05 | 烽火通信科技股份有限公司 | 用于Interlaken增强型调度的切包装置及方法 |
US20180287817A1 (en) * | 2015-10-05 | 2018-10-04 | Honeywell International Inc. | Method of control of a packet-based data communications system and communications system implementing the method |
CN107241156A (zh) * | 2017-05-09 | 2017-10-10 | 烽火通信科技股份有限公司 | 一种信元保序方法及装置 |
CN108881062A (zh) * | 2017-05-12 | 2018-11-23 | 深圳市中兴微电子技术有限公司 | 一种数据包传输方法和设备 |
CN109787910A (zh) * | 2019-03-01 | 2019-05-21 | 烽火通信科技股份有限公司 | 一种流量管理方法、系统及织状网络处理器 |
CN110798633A (zh) * | 2019-12-16 | 2020-02-14 | 北京小鸟科技股份有限公司 | 基于以太网交换技术的大规模视频显控矩阵设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113068087B (zh) | 2022-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1645086B1 (en) | Method and system for packet labeling, queuing, scheduling, and encapsulation | |
US7570654B2 (en) | Switching device utilizing requests indicating cumulative amount of data | |
KR100823785B1 (ko) | 시스템 패브릭에서의 개방 루프 정체 제어를 위한 방법,장치, 제품 및 시스템 | |
US7817659B2 (en) | Method and apparatus for aggregating input data streams | |
US7519054B2 (en) | Replication of multicast data packets in a multi-stage switching system | |
US20050207436A1 (en) | Switching device based on aggregation of packets | |
US8116315B2 (en) | System and method for packet classification | |
US9166916B1 (en) | Traffic spraying in a chassis-based network switch | |
EP1856921B1 (en) | Multi-stage packet switching system with alternate traffic routing | |
US7590102B2 (en) | Multi-stage packet switching system | |
CN101567855B (zh) | 分布式包交换系统和分布式包交换方法 | |
US9197438B2 (en) | Packet forwarding node | |
US8218440B2 (en) | High speed transmission protocol | |
EP3711265A1 (en) | Method and apparatus for managing transport of delay-sensitive packets | |
CN113068087B (zh) | 一种通过切包重组实现分布式信元交换的方法与装置 | |
EP3836496B1 (en) | Method for an improved traffic shaping and/or management of ip traffic in a packet processing system, telecommunications network, system, program and computer program product | |
US20070171906A1 (en) | Apparatus and method for extending functions from a high end device to other devices in a switching network | |
US7009973B2 (en) | Switch using a segmented ring | |
KR100651735B1 (ko) | 가입자망 트래픽 집선-스위칭 장치 및 그 방법 | |
EP1542411A2 (en) | Method and apparatus for providing combined processing of packet and cell data | |
Kirstädter et al. | A Highly Scalable Switching and Routing Chipset |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |