本发明涉及通信技术领域,具体涉及一种分组交换方法及系统。
背景技术:
光通信网络(opticalcommunicationsnetwork)中大量应用了包交换矩阵(packetfabric)实现以太网的包交换。然而,某些场景下网络设备不希望从pcs(物理编码子层)层的66b码流中解析出以太网包后再通过交换矩阵进行包交换,而是希望66b码流能够直接无损的通过交换矩阵。
这样做的一个显著的好处是,某些场景下可以省去66b的编解码模块以及以太网包的相应处理电路,同时,由于以太网包的某些处理需要以整包进行,为了收集一个超长的以太网包需要等待一定的时间,而如果直接传输66b码流,则可以实现低延迟的特性。当然,66b码流不局限于以太网业务,也可以承载其他封装在66b块中的业务。
但是目前数据包在经过包交换矩阵时存在以下问题,当66b编码块从发送端传输到接收端时,需要对接收到的66b码流进行同步处理,需要复杂的同步电路;由于数据包数量较多,信元交换矩阵往往传输压力较大,带宽利用率不高。
技术实现要素:
针对现有技术中存在的缺陷,本发明第一方面提供一种在接收端不需要进行同步处理的分组交换方法。
为达到以上目的,本发明采取的技术方案是:
一种分组交换方法,该方法包括以下步骤:
在发送端构建承载整数个编码块的切片包,并将编码块按预设的顺序和位置填充入切片包;
发送切片包至接收端,并在接收端提取编码块。
在上述技术方案的基础上,所述编码块为原始编码块或原始编码块经压缩处理后的压缩编码块;
当所述编码块为压缩编码块时:
在发送端,先将原始编码块进行压缩,得到压缩编码块后再进行切片包的构建;
在接收端,压缩编码块提取出来后,对压缩编码块进行恢复,得到原始编码块。
在上述技术方案的基础上,所述原始编码块为66b编码块,所述压缩编码块为65b编码块。
在上述技术方案的基础上,
在发送端,先将包含两比特控制位的66b编码块压缩成只包含1比特控制位的65b编码块,再进行切片包的构建;
在接收端,65b编码块提取出来后,根据控制位将包含1比特控制位的65b编码块恢复成包含两比特控制位的66b编码块。
在上述技术方案的基础上,根据信元交换矩阵的最大包长决定一个切片包最多可以承载的编码块个数。
与此同时,本发明的第二方面提供一种在接收端不需要进行同步处理的分组交换系统。
为达到以上目的,本发明采取的技术方案是:
一种分组交换系统,包括:
组包模块,其用于在发送端构建承载整数个编码块的切片包,并将编码块按预设的顺序和位置填充入切片包;
信元交换矩阵,其用于将所述切片包从发送端传输至接收端;
提取模块,其用于在接收端提取所述编码块。
在上述技术方案的基础上,所述分组交换系统还包括压缩模块和解压缩模块,所述编码块为原始编码块或原始编码块经压缩处理后的压缩编码块;
当所述编码块为压缩编码块时:
在发送端,所述压缩模块用于对原始编码块进行压缩,以得到压缩编码块;
在接收端,压缩编码块提取出来后,所述解压缩模块用于对压缩编码块进行恢复,以得到原始编码块。
在上述技术方案的基础上,所述原始编码块为66b编码块,所述压缩编码块为65b编码块。
在上述技术方案的基础上,
在发送端,所述压缩模块用于将包含两比特控制位的66b编码块压缩成只包含1比特控制位的65b编码块;
在接收端,65b编码块提取出来后,所述解压缩模块根据控制位将包含1比特控制位的65b编码块恢复成包含两比特控制位的66b编码块。
在上述技术方案的基础上,所述组包模块根据信元交换矩阵的最大包长决定一个切片包最多可以承载的编码块个数。
与现有技术相比,本发明的优点在于:
(1)本发明将编码块按确定的顺序和位置填充入切片包的负载。通过在切片包尾填充填充位使切片包中承载整数个编码块,使得切片包不会破坏编码块的边界。这样即使在传输过程中切片包发生了丢包,丢失的也是整数个编码块,在接收端从切片包中提取出编码块后,编码块的控制位的相对位置并不会因为丢包而发生滑动,因此即使切片包发生了丢包,接收端也无需进行编码块的同步。
(2)本发明实施例中的分组交换方法,其将原始编码块压缩成压缩编码块,同等带宽下能传输更多的压缩编码块,因而提高了带宽利用率。同时,传输相同的数据量需要的切片包更少,因而减轻了信元交换的传输压力。
附图说明
图1为本发明实施例中分组交换方法的流程图;
图2为本发明实施例中切片包字段分布示意图;
图3为本发明实施例中切片包传输编码块示意图;
图4为本发明实施例中传输66b编码块时的分组交换方法的流程图;
图5为本发明实施例中承载65b编码块的切片包字段分布示意图;
图6为本发明实施例中切片包传输66b编码块的示意图;
图7为本发明实施例中66b编码块压缩方法示意图;
图8为本发明实施例中65b编码块恢复方法示意图;
图9为本发明实施例中分组交换系统的结构框图;
图10为本发明实施例中设置压缩模块和解压缩模块的分组交换系统的结构框图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供一种分组交换方法,该方法包括以下步骤:
a.在发送端构建承载整数个编码块的切片包,并将编码块按预设的顺序和位置填充入切片包;
参见图2所示,本实施例中的切片包包括开销字段、n个编码块和填充位,其中n个编码块依次放置。具体而言,在发送端构建承载整数个编码块的切片包,通常是根据信元交换矩阵的最大包长决定一个切片包最多可以承载的编码块个数,具体过程如下:
根据信元交换矩阵对传输包长的限制,且切片包的包长为整数字节的特性确定切片包的最大包长;
确定所需要的开销字段的长度,根据切片包的最大包长和开销字段的长度,承载尽可能多的整数个编码块;
切片包中的开销字段可以承载链路维护信息和其他用户自定义信息,确定实际需要的开销信息比特数目,从而可以确定开销字段长度。
判断切片包是否仍有空余比特,若是,则利用填充位进行填充,若否,结束。
b.发送切片包至接收端,并在接收端提取编码块;
在接收端提取出编码块后,就可以将提取出来的编码块按传输顺序组成数据码流。
本实施例中发送端的编码块因为是发送端内部电路生成的,或者是通过光接口接收后已经进行了同步的,所以编码块的控制位在内部总线上的位置是固定的,也就是编码块在内部总线上的排列是已知的。借助这个已知的信息,可以将编码块按确定的顺序和位置填充入切片包的负载。比如编码块的比特位序可以按照传输顺序由比特低位到比特高位依次放置(即低比特先传,高比特后传)。而编码块内的控制位在数据位之前传输,因此控制位处于低比特,数据位处于高比特。通过在切片包尾填充填充位使切片包中承载整数个编码块,因此切片包不会破坏编码块的边界。
这样即使在传输过程中切片包发生了丢包,丢失的也是整数个编码块,在接收端从切片包中提取出编码块后,编码块的控制位的相对位置并不会因为丢包而发生滑动,因此即使切片包发生了丢包,接收端也无需进行编码块的同步。
作为一个较好的实施方式,所述编码块为原始编码块或原始编码块经压缩处理后的压缩编码块。也就是说在传输原始编码块时可以不压缩直接传输,也可以对其进行压缩后再进行传输。
参见图3所示,当所述编码块为压缩编码块时:
在发送端,先将原始编码块进行压缩,得到压缩编码块后再进行切片包的构建;
在接收端,压缩编码块提取出来后,对压缩编码块进行恢复,得到原始编码块。
优选地,所述原始编码块为66b编码块,所述压缩编码块为65b编码块。
此时,在发送端,先将包含两比特控制位的66b编码块压缩成只包含1比特控制位的65b编码块,再进行切片包的构建;
在接收端,65b编码块提取出来后,根据控制位将包含1比特控制位的65b编码块恢复成包含两比特控制位的66b编码块。
参见图4和图6所示,下面以66b编码块压缩成65b编码块为例,来进行详细的说明:
s1.将66b编码块压缩成65b编码块;
66b编码块的前两位表示同步头,也即2比特控制位,主要用于接收端的数据对齐和接收数据流的同步。这2比特控制位有“01”和“10”两种,“01“表示后面的64bit都是数据,“10”表示后面的64bit是数据和控制信息的混合。
参见图4所示,在一个实施例中,将66b编码块压缩成65b编码块,具体包括:
s11.根据66b编码块在传输总线上的排列方式确定2比特控制位在数据码流中的位置;
s12.删除所有66b编码块的2比特控制位中的高位比特或者低位比特。
删除高位比特,即将“01”中的“0”删除,或者将“10”中的“1”删除;删除低位比特,即将“01”中的“1”删除,或者将“10”中的“0”删除。
s2.在发送端构建承载整数个所述65b编码块的切片包;
参见图5所示,本实施例中的切片包包括开销字段、n个65b编码块和填充位,其中n个65b编码块依次放置。具体而言,步骤s2包括以下步骤:
s21.根据信元交换矩阵对传输包长的限制,且切片包的包长为整数字节的特性确定切片包的最大包长;
s22.确定所需要的开销字段的长度,根据切片包的最大包长和开销字段的长度,承载尽可能多的整数个65b编码块;
切片包中的开销字段可以承载链路维护信息和其他用户自定义信息,确定实际需要的开销信息比特数目,从而可以确定开销字段长度。
承载尽可能多的整数个65b编码块,其表达的含义是除去切片包的包长中开销字段的长度,剩下的位置尽可能多的承载整数个65b编码块,即在承载若干整数个65b编码块后,切片包的空余比特要小于65比特。
s23.判断切片包是否仍有空余比特,若是,则利用填充位进行填充,若否,结束。
经过步骤s22后,切片包的空余比特应该小于65比特而大于等于0,如果还有空余比特,则利用填充位进行填充,即保证切片包的包长为整数字节。
s3.发送切片包至接收端,并在接收端提取所述65b编码块;
s4.根据控制位将每个65b编码块恢复成66b编码块,并将恢复后的66b编码块按传输顺序组成数据码流。
步骤s4具体包括以下步骤:
s41.确定每个65b编码块的1比特控制位在切片包中的位置,对每个1比特控制位取反得到恢复控制比特;
在本实施例中在发送端进行切片包构建的时候将65b编码块依次放入切片包中相应位置,则65b编码块的位置自然也就固定了。同时设置填充位也是为了65b编码块位置固定,因为如果填充位也用来放置65b编码块的话,其只能放置65b编码块的一部分。比如只能放置前30bit,那后35bit就要放置在下一个切片包中,则会导致第二个切片包中65b编码块的相对位置就与第一个切片包不一样。
参见图8所示,对每个1比特控制位取反得到恢复控制比特,具体指的是:
因为66b编码块的2比特控制位有“01”和“10”两种,当知道65b编码块的控制位信息时,即可通过取反来确定被删除的控制位,取反指的是:若65b编码块的控制位为“1”,取反得到的就是“0”;若65b编码块的控制位为“0”,取反得到的就是“1”。
s42.根据66b编码块的压缩方式,将恢复控制比特添加在对应的位置,使每个65b编码块恢复成66b编码块。
在得到了恢复控制比特后,还需要知道恢复控制比特的位置,在本实施例中确定恢复控制比特的位置,其方式如下:
若66b编码块删除的是2比特控制位中的高位比特,则将恢复控制比特添加到65b编码块中控制比特的高比特一侧;
若66b编码块删除的是2比特控制位中的低位比特,则将恢复控制比特添加到65b编码块中控制比特的低比特一侧。
综上所述,本实施例中的提高带宽利用率的分组交换方法,其将将66b编码块压缩成只包含1比特控制位的65b编码块,同等带宽下能传输更多的65b编码块,因而提高了带宽利用率。同时,传输相同的数据量需要的切片包更少,因而减轻了信元交换的传输压力。
此外,如果接收端收到的切片包中的66b编码块的位置是不确定的,则需要检索这些66b编码块的2比特控制码,以确定66b编码块在切片包中的位置,这个过程称为同步。而在本实施例中,由于切片包中承载的是整数个65b编码块,这些65b编码块依次放置,从而可以确定每个65b编码块的位置,进而恢复后的66b编码块的位置也是固定的,如果66b编码块在切片包中的位置是固定的,则无需同步。
本发明实施例还提供一种分组交换系统,其包括组包模块、信元交换矩阵和提取模块。参见图9所示,以100ge为例进行说明,这里还可以是200ge、400ge等。图9中的flexeshim指的是一个映射或反射flexeclients和flexegroup的中间层次。当然,66b码流不局限于以太网业务,也可以是其他封装在66b块中的业务。
其中,组包模块,其用于在发送端构建承载整数个编码块的切片包,并将编码块按预设的顺序和位置填充入切片包;
信元交换矩阵,其用于将所述切片包从发送端传输至接收端;
提取模块,其用于在接收端提取所述编码块。
进一步地,参见图10所示,所述分组交换系统还包括压缩模块和解压缩模块,所述编码块为原始编码块或原始编码块经压缩处理后的压缩编码块;
当所述编码块为压缩编码块时:
在发送端,所述压缩模块用于对原始编码块进行压缩,以得到压缩编码块;
在接收端,压缩编码块提取出来后,所述解压缩模块用于对压缩编码块进行恢复,以得到原始编码块。
优选地,所述原始编码块为66b编码块,所述压缩编码块为65b编码块。
此时,在发送端,所述压缩模块用于将包含两比特控制位的66b编码块压缩成只包含1比特控制位的65b编码块;
在接收端,65b编码块提取出来后,所述解压缩模块根据控制位将包含1比特控制位的65b编码块恢复成包含两比特控制位的66b编码块。
进一步地,所述压缩模块将66b编码块压缩成65b编码块,具体包括:
根据66b编码块在传输总线上的排列方式确定2比特控制位在数据码流中的位置;
删除所有66b编码块的2比特控制位中的高位比特或者低位比特。
进一步地,所述解压缩模块根据控制位将每个65b编码块恢复成66b编码块,具体包括:
确定每个65b编码块的1比特控制位在切片包中的位置,对每个1比特控制位取反得到恢复控制比特;
根据66b编码块的压缩方式,将恢复控制比特添加在对应的位置,使每个65b编码块恢复成66b编码块。
进一步地,所述组包模块在发送端构建承载整数个编码块的切片包,具体包括:
根据信元交换矩阵对传输包长的限制,且切片包的包长为整数字节的特性确定切片包的最大包长;
确定所需要的开销字段的长度,根据切片包的最大包长和开销字段的长度,承载尽可能多的整数个编码块;
判断切片包是否仍有空余比特,若是,则利用填充位进行填充,若否,结束。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。