【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明是一种特定功能系统的体系结构,因此在具体实施例中主要说明各结构模组的功能逻辑关系,并不对具体软件和硬件实施方式做限定。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。下面就参考附图和实施例结合来详细说明本发明。
对本发明实施例中使用到的一些术语解释如下:
(1)基于灵活以太网的细粒度(Fine Granularity,简称FG)业务:采用层次化映射机制,在5GFlexE客户接口的基础上基于细粒度基本单元进行进一步时隙划分,采用64/66B编码格式,将开销和包含多个时隙的净荷编码后封装到固定长度的S块+D块+T块序列,构成基本单元帧(Fine Granularity Unit,简称FGU)结构,即细粒度基本单元。
(2)FGU基本单元帧(单帧):具有固定长度,包含1个开始码块(S0)、195个数据码块(D)和1个结束码块(T7),共197个66B码块,每个数据码块为8个字节。FGU单帧的195个数据码块和1个结束(T7)码块提供了1567(195×8+7)字节的数据内容,包含195个字节的数据码块,以及7字节的开销和1560字节的净荷。其中净荷划分为相同大小的24个子时隙(Sub-Slot)。来自业务的66B码块,经过66B到65B压缩后,填充到Sub-Slot净荷中。每个子时隙(Sub-Slot)为65字节,可以承载8个65bit码块。一个复帧包含20个FGU基本帧,每个FGU基本帧支持24个时隙,一个5GbpsFlexE客户接口可以支持480个子时隙。在源端,相邻FGU基本帧之间会插入1个Idle块,FGU帧在FlexE通道中传输时,可通过增删FGU帧之间的空闲码块(Idle)实现速率适配。
(3)复帧-时隙承载方案:是一种将一条固定长度固定带宽的按周期发送的数据流作为复帧,将其帧内容分成固定大小固定数量的时隙,再将需要承载的多条客户业务的数据分配到指定的时隙上,最终组成复帧后传输的方案。
(4)时隙(Slot):复帧上的子结构,一条复帧的帧周期被分成固定数量固定大小的时隙。时隙在数据流里出现的周期与复帧周期相同。一般的,对于一条有n个时隙的复帧,每个时隙的带宽为复帧总带宽的1/n。时隙可以空闲,也可以被分配用于承载客户业务。
(5)客户业务:本实施例中提供的方案承载的客户业务及其数据。每条业务可以分配一个或多个时隙。业务数据按照自身发送的先后顺序分别进入周期性发送的时隙中。
(6)复用(MUX):将客户业务数据按照映射关系装载至指定的复帧时隙中,组帧后形成复帧再进行传输。
(7)解复用(DEMUX):将复帧中时隙里的数据按映射关系接收至指定的客户业务通道中。
实施例1:
细粒度网元或网络设备是具备灵活以太网细粒度数据收发功能的设备,例如支持灵活以太网细粒度功能的路由器、交换机等。本实施例中,以图1所示的灵活以太网细粒度的网络架构为实例进行说明,对于其它架构的网络,可以基于本实施例提供方法进行适应性调整。
FlexE的承载采用两级映射的方式实现,图2是一种基本单元格式的灵活以太网细粒度帧结构示例图,每个5G通道内采用基本单元结构发送信息。基本单元为定长数据单元,由S码,开销,数据,T码组成,基本单元间为空闲码块(Idle)。
细粒度功能基于时分复用技术实现示例图如图3所示,复用模块(MUX)将客户业务数据按照映射关系装载至指定的复帧时隙中,组帧后形成复帧再进行复帧的传输。解复用模块(DEMUX)将基本单元复帧中时隙里的数据按映射关系接收至指定的客户业务通道中;交叉模块(SW)对不同客户业务数据做通道数据交叉。
现有技术中,由于源复帧和目的复帧之间的相位关系和频偏不确定,因此在传输时可能会存在频偏。图4为细粒度网络中存在频偏的两个网元间基本单元传输示例图。在若干个相同的时钟周期内:上游网元按协议标准发送基本单元,每个基本单元后插入一个空闲码块。上游节点基本单元经由FlexE速率适配插入和删除空闲码块后,空闲码块位置和数量发生变化。假设本地节点频率高于上游节点,则在相同时钟周期内,接收数据量小于上游节点发送数据量。本地节点通过FlexE速率适配插入和删除空闲码块后,按本节点频率恢复数据速率。本地节点基本单元发送端按本地频率和协议标准发送基本单元,基本单元间空闲码块数量、位置与同一时刻基本单元复帧编号与本地节点基本单元接收端均不相同。该方式下,由于源复帧和目的复帧之间的相位关系和频偏不确定,无法保证目的复帧在向时隙中插入客户业务数据时,客户业务通道里正好有数据可用,从而导致时隙浪费、时延变长;同时,由于需要上游节点插入和删除空闲码块,并在本地节点进行数据速率恢复,因此需要消耗较多硬件资源。
如图5所示,本发明实施例提供的灵活以太网中网络时延优化的方法具体步骤如下。
步骤101:以基准网元的基本单元发送端作为基本单元频率和相位基准,根据基准网元的基本单元接收端和发送端的速率差计算速率调整信息,并向上游网元发送速率调整信息。
本实施例中,为了消除频偏,需要将上下游网元的频率和相位调整到一致。选取细粒度网络中选取指定网元作为基准网元,并将其基本单元发送端作为基本单元频率和相位基准。在实际实施中,基准网元可以根据使用需求进行选取。在本实施例提供的方法中,网元中每个基本单元都需要进行校准,为了加快相位调整速率,优选使用包含较多基本单元配置的网元作为基准网元,以避免使用多个基准网元对不同的基本单元进行多次校准。由于基准网元的基本单元接收端接收速率与上游网元的发送速率相关,基准网元可以根据基本单元接收端和发送端的速率差,向上游网元发送速率调整信息,上游网元根据速率调整信息调节基本单元间空闲码块的数量,从而调整上游网元基本单元复帧的发送速率,使上游节点的发送速率、基准网元的接收速率和基准网元的发送速率一致。
进一步的,在进行调节时,需要使用调快频率的反拉信号和调慢频率的反压信号,为了不改变基本单元的报文结构,并且便于进行解析识别,可以使用基本单元的前两个备用比特位,分别承载反压信号和反拉信号。使用该报文格式时,上游网元每收到一个速率调整信息,会在基本单元间增加或减少一个空闲码块,因此仅需根据基准网元接收端和发送端的速率差计算发送的速率调整信息数量,即可实现速率的定量调整。图6为采用细粒度基本单元开销承载所述调整信号信息的格式示意图,采用前两个备用比特位,分别承载反压信号和反拉信号。上游网元通过解析速率调整信息,对空闲码块做出相应的调节。应理解,所述细粒度基本单元开销承载所述调整信号信息的格式,仅为本申请实例的一种实施方式,调整信号信息还可通过其他方式承载,本申请实例在此不做限定。
步骤102:调整与基准网元对接的基本单元发送端基本单元复帧发送速率,直至基准网元在预设周期内保持基本单元接收数量与发送数量一致。
上游网元根据接收到的速率调整信息,通过增加或者减少基本单元之间的空闲码块数量,调整与基准网元对接的基本单元发送端基本单元复帧发送速率。增加基本单元之间插入的空闲码块,可以降低基本单元的发送速率;减少基本单元之间插入的空闲码块,可以提高基本单元的发送速率。
在实际实施中,通常需要多次调整才能够将发送端和接收端的速率调整为一致。基准网元在接收速率稳定后,根据基本单元接收端和发送端新的速率差,更新向其上游网元发送速率调整信息的频率。当存在速率差时,重新执行步骤101和步骤102,基准网元再次发送速率调节信息,上游网元再次进行速率调整。直至基准网元在某时间段内基本单元接受数量和发送数量一致时,表明上游网元的发送速率和基准网元的发送速率不存在速率差时,完成相位锁定。
步骤103:基准网元的下游网元与基准网元对接的基本单元接收端缓存基本单元复帧数据流,调节插入基本单元间的空闲码块位置分布,并按照调节后空闲码块的数量和位置分布继续向下游发送。
对基准网元的上游网元进行频率调整后,为了保持基准网元的下游网元与基准网元的相位一致,还需要对下游网元的进一步调整。基准网元的下游网元与基准网元对接的基本单元接收端缓存基本单元复帧数据流,在保持每个周期空闲码块总数量的基础上,通过空闲码块删除和插入调节基本单元间的空闲码块位置分布,使空闲码块均匀分布。下游网元基本单元发送端根据缓存中基本单元间空闲码块的位置分布,调节基本单元间的空闲码位置分布,完成与基本单元接收端的基本单元复帧数据流相位锁定和相位对齐。
经过本实施例中提供的步骤101-步骤103后,即可使每个网元源复帧和目的复帧都与基准网元保持同样的频率和相位,保证目的复帧在向时隙中插入客户业务数据时,客户业务通道里正好有数据可用,减少了传输过程中的时隙浪费,从而降低了网络时延。
本实施例的实际实施中,通常需要多次调整才能实现上游网元与基准网元频率一致,具体可以使用以下方式完成。以下实例中,预设调整周期长度为N个时钟周期。
首次调整时,根据上个预设调整周期内基准网元发送和接收的基本单元数量之差以及单帧长度,计算需发送的频率调整信号数量。
在上个调整周期内,基准网元发送X个基本单元,接收Y个基本单元。
若X=Y表示速率一致无需调节,不发送调整信号。
若X≠Y,则进行首次调整。
X-Y>0,当基准网元基本单元发送模块的发送速率高于接收到的基本单元数据流速率时,基准网元向上游网元发送反拉信号,使上游网元发送端减少空闲码块插入数量以提高基本单元发送频率。当上游网元接收到基准网元发送的一个反拉信号时,减少基本单元之间的一个空闲码块发送。
X-Y<0,当基准网元基本单元发送模块的发送速率低于接收到的基本单元数据流速率时,基准网元向上游网元发送反压信号,使上游网元发送端增加空闲码块插入数量以降低基本单元发送频率。当上游网元接收到基准网元发送的一个反压信号时,增加基本单元之间的一个空闲码块发送。
由于每个基本单元帧的固定长度为197个码块,且相邻两个基本单元帧之间平均为1个空闲码块,为了使上游网元的速率和基准网元一致,每个调整周期的N个时钟周期内,基准网元需要发送(197+1)|X-Y|个,即198×|X-Y|个调整信号。
首次调整完成后,每N个时钟周期,基准网元发送X个基本单元,接收Z个基本单元。
若X=Z则调整信号发送频率维持不变,表示速率一致无需调节,调整结束。
若X≠Z,表明频率仍不一致,则进行再次调整。
非首次调整时,基准网元在首次调整的基础上逐步调整发送的调整信号数量。
N个周期内,基准网元发送198×|X-Y|个调整信号,基准网元收到的基本单元数量由Y个变为Z个,变化|Z-Y|个。若期望基准网元收到的基本单元数量由Y个变为X个,则应发送198×(X-Y)2/|Z-Y|个调整信号。
Z>Y,则基准网元向上游网元发送反拉信号,Z<Y,则基准网元向上游网元发送反压信号。
二次调整完成后,每N个时钟周期,基准网元发送X个基本单元,接收M个基本单元。
若X=M则调整信号发送频率维持不变,调整结束。
若X≠M,表明频率仍不一致,则进行三次调整。
若X>M>Z或X<M<Z,即第二次调整不及预期,基准网元逐步增加调整信号发送;
若M>X>Z或M<X<Z,即第二次调整超过预期,基准网元逐步减少调整信号数量;
直至N个周期内接收与发送基本单元数量相等,调整结束。
若三次调整后频率仍不一致,参考第三次调整的方式继续进行调整,直至频率一致为止。
将上游网元的发送频率和基准网元的接收频率调整一致后,还需要在基准网元上进行相位差锁定,使得客户业务数据需要传送的时隙与分配的时隙相位对齐。在若干个相同的时钟周期内:基准网元基本单元发送端按协议标准发送基本单元,每个基本单元后插入一个空闲码块。由于对Idle插入多于删除,为了恢复数据速率,本地节点频率高于上游节点时,则在相同时钟周期内,基准网元接收数据量小于上游网元发送数据量。基准网元发送调整通给上游网元,上游网元发送基本单元时减少Idle插入数量。
具体的,如图7所示,可以使用以下步骤完成相位锁定和相位差调整。
步骤201:基准网元接收数据后进行FlexE速率适配处理通过缓存调节空闲码块分布,完成相位锁定。
步骤202:基准网元基本单元接收端通过缓存在指定位置插入或删除空闲码块,完成相位差调整。
步骤203:基准网元基本单元接收端与发送端完成相位锁定,使接收端与发送端的相位差为预设相位差。
在优选方案中,为了尽可能减少空闲码块导致的时延,基准网元基本单元接收端与发送端完成相位锁定后,预设相位差Δt为一个空间码块。
如图8所示,为上述基准网元和上游网元相位调整过程基本单元传输示例图。由图中可见,经步骤201-步骤203的调整后,上游网元与基准网元的相位一致。
基准网元基本单元发送端按协议标准发送基本单元,每个基本单元后插入一个空闲码块。当本地节点频率高于上游节点时,则在相同时钟周期内,下游网元接收数据量小于基准网元发送数据量。下游网元基本单元经由FlexE速率适配插入和删除空闲码块后,空闲码块位置和数量发生变化了变化,导致相位也产生了变化。因此,对于下游网元,也需要进行相位锁定和相位差调整。
如图9所示,可以使用以下步骤完成相位锁定和相位差调整。
步骤301:下游网元基本单元经由FlexE速率适配插入和删除空闲码块后,下游网元基本单元接收端通过缓存调节空闲码块分布,使其分布均匀。
步骤302:下游网元基本单元发送端调节发送空闲码块数量和位置,完成相位锁定和相位差调整。
步骤303:下游网元基本单元发送端与接收端完成相位锁定和对齐,使接收端与发送端的相位差为预设相位差。
如图10所示,为上述基准网元和下游网元相位调整过程基本单元传输示例图。由图中可见,经步骤301-步骤303的调整后,下游网元与基准网元的相位一致。
本实施例提供的灵活以太网中网络时延优化的方法,相对于现有方案具有以下有益效果。
1、选取指定网元作为基准网元,根据其基本单元接收端和发送端的速率差,向上游网元发送速率调整通知,上游网元基本单元发送端通过调整基本单元发送速率,使基准网元基本单元接收侧和发送侧完成基本单元速率适配,实现相位锁定。基准网元基本单元接收侧进一步通过对基本单元间空闲码进行删插,实现相位对齐。
2、提供了快速相位动态调整算法,使上述调整过程所用的缓存深度小,调整速度快,调整后相位稳定性高。
3、对于基准网元的下游网元,基本单元发送侧通过调整基本单元发送速率和位置,完成与其基本单元接收侧的相位锁定和对齐,进而可实现全网相位锁定和对齐,以便进一步降低网络P节点传输时延。
实施例2:
基于实施例1中提供的灵活以太网中网络时延优化的方法,本实施例中提供了在图1所示的典型场景中实施的完整实例。在同类网络环境中,可以根据实际需求进行适应性调整。
如图11所示,为全网基本单元相位锁定和对齐的流程图。
步骤401:选取细粒度网络中指定网元作为基准网元,并将其基本单元发送端作为基本单元频率和相位基准,执行步骤402和408。
步骤402:判断基准网元基本单元接收端和发送端的速率差是否相等,若不等,执行步骤403。
步骤403:基准网元根据基本单元接收端和发送端的速率差,向上游网元发送速率调整信息。
步骤404:上游网元根据接收到的速率调整信息,通过增加或者减少基本单元之间的空闲码数量,调整与基准网元对接的基本单元发送端基本单元复帧发送速率。
步骤405:基准网元在接收速率稳定后,判断基本单元接收端和发送端新的速率是否相等,若相等,执行步骤406,若不等,执行步骤403。
步骤406:判断基准网元基本单元接收端和发送端复帧相位是否对齐,若未对齐,执行步骤407。
步骤407:基准网元基本单元接收端缓存基本单元复帧数据流,通过对空闲码块删除和插入调节基本单元的位置分布,完成与基本单元发送端的基本单元复帧数据流相位对齐。
步骤408:判断下游网元基本单元接收端和发送端的速率差是否相等,不等,执行步骤409。
步骤409:下游网元与基准网元对接的基本单元接收端缓存基本单元复帧数据流,通过空闲码块删除和插入调节基本单元间的空闲码位置分布,使空闲码均匀分布。
步骤410:下游网元基本单元发送端调节基本单元间的空闲码位置分布,完成与基本单元接收端的基本单元复帧数据流相位锁定和相位对齐。
经步骤401-步骤410,即可完成全网基本单元相位锁定和对齐。
进一步的,如图12所示,可以通过以下步骤完成基准网元和上游网元基本单元相位锁定。
步骤501:N个时钟周期内,基准网元发送X个基本单元,接收Y个基本单元。
步骤502:判断X和Y是否相等,若不相等,执行步骤503。
步骤503:判断X-Y是否大于0,若大于0,执行步骤504,若小于0,执行步骤506。
步骤504:每N个时钟周期,基准网元向上游网元发送198×(X-Y)个反拉信号。
步骤505:上游网元每收到一个反拉信号,基本单元发送端减少一个空闲码块发送。
步骤506:每N个时钟周期,基准网元向上游网元发送198×(Y-X)个反压信号。
步骤507:上游网元每收到一个反压信号,基本单元发送端增加一个空闲码块发送。
步骤508:首次调整完成,每N个时钟周期,基准网元发送X个基本单元,接收Z个基本单元。
步骤509:判断X和Z是否相等,若不相等,执行步骤510。
步骤510:判断Z-Y是否大于0,若大于0,执行步骤511,若小于0,执行步骤512。
步骤511:N个周期内,基准网元向上游网元发送198×(X-Y)2/|Z-Y|个反拉信号。
步骤512:N个周期内,基准网元向上游网元发送198×(X-Y)2/|Z-Y|个反压信号。
步骤513:二次调整完成,每N个时钟周期,基准网元发送X个基本单元,接收M个基本单元。
步骤514:判断X和M是否相等,若不等,执行步骤515。
步骤515:判断判断X、Z和M的大小关系,若X>M>Z或X<M<Z,则执行步骤516,若M>X>Z或M<X<Z,执行步骤517。
步骤516:基准网元逐步增加向上游网元发送的调整信号数量,直至N个周期内接收与发送基本单元数量相等。
步骤517:基准网元逐步减少向上游网元发送的调整信号数量,直至N个周期内接收与发送基本单元数量相等。
步骤518:上游网元每收到一个反拉信号,基本单元发送端减少一个空闲码块发送;每收到一个反压信号,基本单元发送端增加一个空闲码块发送。
经步骤501-步骤518,即可完成基准网元和上游网元基本单元相位锁定。
通过本实施例中的具体实例可见,实施例1中提供的灵活以太网中网络时延优化的方法,能够完成全网设备的相位锁定和对齐,达到减小网络时延的效果。
实施例3:
在上述实施例1至实施例2提供的灵活以太网中网络时延优化的方法的基础上,本发明还提供了一种可用于实现上述方法的灵活以太网中网络时延优化的装置,如图13所示,是本发明实施例的装置架构示意图。
设备包括发送端10、接收端20、调整信号处理器30和缓存器40。
发送端10生成基本单元复帧数据流并向下游网元发送。作为基准网元时,生成标准基本单元复帧数据流并发送。作为上游或者下游网元时,根据调整模块指示生成基本单元复帧数据流并发送。
接收端20接收基本单元数据流和速率调整信号,并统计基本单元数据流的接收和发送速率。
调整信号处理器30,依照实施例1或实施例2中提供的灵活以太网中网络时延优化的方法产生调整信号,或根据接收端20接收到的调整信号向发送端10发送调整指示。作为基准网元时,根据接收端20收到的基本单元数据流速率及本设备发送端10的发送速率,产生速率调整信号,并由发送端10发送给上游网元。作为上游网元时,根据接收端20接收到的速率调整信号,向发送端10发送调整指示。作为下游网元时,根据接收端20收到的基本单元数据流速率及本设备发送端10的发送速率,产生速率调整信号,向发送端10发送调整指示。
缓存器40完成基本单元接收端20基本单元间的空闲码块删除和插入,在速率一致的前提下实现相位锁定和对齐。
本领域技术人员应当理解,图13所示的装置中的各单元的实现功能可参照实施例1或实施例1中提供的方法的相关描述而理解。在实际实施中,图14中所示的装置可使用符合上述描述的任一种基于灵活以太网细粒度的网络设备。
图14所示的装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。具体的,如图14所示,是本实施例中提供的装置中任一个功能单元50的一种示意性结构图。其中,包括一个或多个处理器51、存储器52及通信接口53。其中,图14中以一个处理器51为例。处理器51和存储器52可以通过总线或者其他方式连接,图14中以通过总线54连接为例。存储器52作为一种灵活以太网中网络时延优化方法非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如实施例1至实施例2中的灵活以太网中网络时延优化方法,例如:用于执行所述基准网元和上游网元基本单元复帧数据流相位锁定和对齐的流程,或用于执行所述基准网元和下游网元基本单元复帧数据流相位锁定和对齐的流程。处理器51通过运行存储在存储器52中的非易失性软件程序、指令以及模块,从而执行灵活以太网中网络时延优化的装置的各种功能应用以及数据处理,即实现实施例1至实施例2的灵活以太网中网络时延优化的方法。存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。通信接口53用于实现功能单元50与外部的通信,如基本单元的发送接收、速率调整信号的发送接收等。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。程序指令/模块存储在存储器52中,当被一个或者多个处理器51执行时,执行上述实施例1至实施例2中的灵活以太网中网络时延优化的方法,例如,执行以上描述的图5、图11和图12所示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(Read Only Memory,简写为:ROM)、随机存取存储器(Random AccessMemory,简写为:RAM)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。