减少时间敏感分组的分组延迟变化

文档序号:1786400 发布日期:2019-12-06 浏览:15次 >En<

阅读说明:本技术 减少时间敏感分组的分组延迟变化 (reducing packet delay variation for time sensitive packets ) 是由 F.帕西奥 于 2017-03-02 设计创作,主要内容包括:第一节点(10)向第二节点(20)提供时间功能。第一节点(10)生成支持时间功能所需的时间功能协议数据单元(52),并生成多个前导协议数据单元(51)。在时间功能协议数据单元(52)之前发送所述多个前导协议数据单元(51)。前导协议数据单元(51)携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元(52)相同的网络路径。在中间节点(30)处,将所述多个前导协议数据单元(51)、时间功能协议数据单元(52)和其它数据业务存储在不同优先级等级的队列中。中间节点(30)基于队列的优先级等级控制转发的时间顺序。(The first node (10) provides a time function to the second node (20). The first node (10) generates a time function protocol data unit (52) required to support a time function and generates a plurality of preamble protocol data units (51). -transmitting the plurality of preamble protocol data units (51) before the time function protocol data unit (52). The preamble protocol data unit (51) carries routing information such that the preamble protocol data unit follows the same network path as the time function protocol data unit (52). At the intermediate node (30), the plurality of preamble protocol data units (51), time function protocol data units (52) and other data traffic are stored in queues of different priority classes. The intermediate node (30) controls the chronological order of the forwarding based on the priority level of the queue.)

减少时间敏感分组的分组延迟变化

技术领域

本公开一般涉及提供时间功能的网络,诸如用于同步目的。

背景技术

存在对诸如无线基站的网络设备之间的准确同步的越来越大的需求。

实现同步的一种解决方案是在需要同步的节点处提供诸如全球定位系统(GPS)接收器的全球导航卫星系统(GNSS)接收器。但是,存在一些位置,其中GNSS接收器不能可靠地接收计算准确的时间参考所必需的信号集合。GNSS也能够因为天气状况或无意/有意的无线电频率干扰而遭受临时中断。

鉴于依赖GNSS的以上缺点,期望的是,连接到基站的回程网络具有递送用于同步目的的信号的能力。

一种支持同步的已知方法是精确时间协议(PTP)(IEEE 1588v2)。在PTP中,将一个节点指定为主节点,并将另一个节点指定为从节点。主节点和从节点交换加时间戳的消息。时间戳允许从节点获得它自己与主节点之间的时间偏差的良好估计。通过知道该偏差,从节点可以使它自己与主节点同步。

PTP利用在正向方向(主节点到从节点)和反向方向(从节点到主节点)发送的事件消息。PTP事件消息是时间敏感的。这是因为,PTP计算由PTP节点之一(例如,主节点)传送PTP事件消息的时间与由另一个PTP节点(例如,从节点)接收该消息的时间之间的差。传播时间的精度直接影响由从节点恢复的时钟的精度。存在能够导致在一段时间内在一个方向上(例如,主节点到从节点)测量的延迟的改变的因素。理想地,正向和反向方向中的延迟相等,即对称延迟。然而,存在能够导致不对称延迟的各种因素。网络上的业务负载能够导致不对称延迟。这两个因素都会损害可恢复的时间的精度,并且因此损害主节点和从节点之间的同步的精度。

发明内容

一方面提供一种操作网络的第一节点以便提供网络中的时间功能的方法。该方法包括在第一节点处生成用于支持时间功能的时间功能协议数据单元。该方法包括在第一节点处生成多个前导协议数据单元。该方法包括在第一节点处在发送时间功能协议数据单元之前发送所述多个前导协议数据单元。前导协议数据单元携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元相同的网络路径。

可选地,时间功能协议数据单元携带配置成向网络的另一个节点指示将在前导协议数据单元之前转发时间功能协议数据单元的信息。

可选地,前导协议数据单元携带配置成向网络的另一个节点指示将在其它数据业务之前转发前导协议数据单元的信息。

由时间功能协议数据单元和/或前导协议数据单元携带的信息可指示优先级等级。另外地或备选地,由时间功能协议数据单元和/或前导协议数据单元携带的信息可指示消息类型,并且另一个节点可利用该信息来转发协议数据单元。

可选地,前导协议数据单元携带指示优先级等级的优先级信息,其中前导协议数据单元的优先级等级低于时间功能协议数据单元的优先级等级。

可选地,前导协议数据单元携带指示紧接地低于时间功能协议数据单元的优先级等级的优先级等级的优先级信息。

可选地,时间功能协议数据单元的优先级等级和前导协议数据单元的优先级等级高于网络中的其它数据业务的优先级等级。

可选地,网络允许最大协议数据单元大小,并且前导协议数据单元具有小于最大协议数据单元大小的5%的长度,并且可选地具有小于最大协议数据单元大小的1%的长度。

可选地,前导协议数据单元具有在网络中允许的最小协议数据单元大小的长度。

可选地,网络支持最大协议数据单元大小,并且前导协议数据单元的序列的组合长度等于或长于在网络中允许的最大协议数据单元大小。

可选地,该方法包括确定时间功能协议数据单元何时在节点处排队等待。该方法包括:生成前导协议数据单元的序列;以及在时间功能协议数据单元之前将前导协议数据单元的序列***到传输队列中。

可选地,时间功能协议数据单元前往第二节点,并且生成包括基于要在第一节点和第二节点之间穿过的中间节点的数量N生成多个前导协议数据单元。

可选地,生成包括生成多个前导协议数据单元,以使得前导协议数据单元的序列的组合长度等于或大于在网络中允许的最大协议数据单元大小的N倍的长度。

可选地,该方法包括:记录时间功能协议数据单元的传输时间的时间戳;以及在随后的时间功能协议数据单元中发送时间戳。

可选地,时间功能协议数据单元利用消息的双向交换来携带同步协议的事件消息。

可选地,时间功能是以下之一:精确时间协议;网络时间协议。

可选地,时间功能协议数据单元携带精确时间协议Synch消息或精确时间协议Delay_Request消息。

可选地,该方法包括在沿网络路径的中间节点处:接收所述多个前导协议数据单元;以及将所述多个前导协议数据单元存储在具有第二优先级等级的第二队列中。该方法包括在中间节点处:接收时间功能协议数据单元;以及将时间功能协议数据单元存储在具有高于第二优先级等级的第一优先级等级的第一队列中。在时间功能协议数据单元之前接收所述多个前导协议数据单元。该方法包括在中间节点处基于队列的优先级等级控制转发排队的协议数据单元的时间顺序。

可选地,控制转发的时间顺序包括在转发任何剩余的排队的前导协议数据单元之前转发排队的时间功能协议数据单元。

可选地,该方法包括:接收承载数据业务的数据业务协议数据单元;以及将数据业务协议数据单元存储在具有低于第二优先级等级的第三优先级等级的第三队列中。控制转发的时间顺序包括:在转发排队的数据业务协议数据单元之前转发排队的前导协议数据单元;以及在转发任何剩余的排队的前导协议数据单元之前转发时间功能协议数据单元。

可选地,中间节点根据以下之一将协议数据单元分配给队列:由协议数据单元携带的优先级信息;消息类型的指示符。

另一个方面提供一种操作网络中的中间节点的方法,网络包括提供时间功能的第一节点和使用时间功能的第二节点。该方法包括:接收多个前导协议数据单元;以及将所述多个前导协议数据单元存储在具有第二优先级等级的第二队列中。该方法包括:接收用于支持时间功能的时间功能协议数据单元;以及将时间功能协议数据单元存储在具有高于第二优先级等级的第一优先级等级的第一队列中。在时间功能协议数据单元之前接收所述多个前导协议数据单元。前导协议数据单元携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元相同的网络路径。该方法包括基于队列的优先级等级控制转发排队的协议数据单元的时间顺序。

可选地,控制转发的时间顺序包括在转发任何剩余的排队的前导协议数据单元之前转发排队的时间功能协议数据单元。

可选地,该方法包括:接收携带数据业务的数据业务协议数据单元;以及将数据业务协议数据单元存储在具有低于第二优先级等级的第三优先级等级的第三队列中。控制转发的时间顺序包括:在转发排队的数据业务协议数据单元之前转发前导协议数据单元;以及在转发任何剩余的排队的前导协议数据单元之前转发时间功能协议数据单元。

另一个方面提供用于支持网络中的时间功能的设备。该设备配置成生成用于支持时间功能的时间功能协议数据单元。该设备配置成生成多个前导协议数据单元。该设备配置成在发送时间功能协议数据单元之前发送所述多个前导协议数据单元。前导协议数据单元携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元相同的网络路径。

另一个方面提供用于在网络中的中间节点处使用的设备,网络包括提供时间功能的第一节点和使用时间功能的第二节点。该设备配置成:接收多个前导协议数据单元;以及将所述多个前导协议数据单元存储在具有第二优先级等级的第二队列中。该设备配置成:接收用于支持时间功能的时间功能协议数据单元;以及将时间功能协议数据单元存储在具有高于第二优先级等级的第一优先级等级的第一队列中。在时间功能协议数据单元之前接收所述多个前导协议数据单元。前导协议数据单元携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元相同的网络路径。该设备配置成基于队列的优先级等级控制转发排队的协议数据单元的时间顺序。

另一个方面提供一种包括第一节点的系统,所述第一节点用于支持网络中的时间功能和第一时钟。该系统包括包含第二时钟的第二节点。该系统包括将第一节点连接到第二节点的网络。该网络包括至少一个中间节点。第二节点配置成:接收时间功能协议数据单元;并利用时间功能协议数据单元来确定第二节点处的时钟与第一节点处的时钟之间的时间偏差。第二节点配置成使第二时钟与第一时钟同步。

可选地,网络是无线回程网络,并且第二节点是无线基站。

另一个方面提供用于支持网络中的时间功能的设备,该设备包括处理器和存储器。存储器包含指令,所述指令在由处理器执行时使得处理器生成用于支持时间功能的时间功能协议数据单元。指令使得处理器生成多个前导协议数据单元。指令使得处理器控制在发送时间功能协议数据单元之前发送所述多个前导协议数据单元。前导协议数据单元携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元相同的网络路径。

另一个方面提供用于在网络中的中间节点处使用的设备,所述网络包括提供时间功能的第一节点和使用时间功能的第二节点。该设备包括处理器和存储器。存储器包含指令,所述指令在由处理器执行时使得处理器接收多个前导协议数据单元,并将所述多个前导协议数据单元存储在具有第二优先级等级的第二队列中。指令使得处理器接收用于支持时间功能的时间功能协议数据单元,并将时间功能协议数据单元存储在具有高于第二优先级等级的第一优先级等级的第一队列中。在时间功能协议数据单元之前接收所述多个前导协议数据单元。前导协议数据单元携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元相同的网络路径。指令使得处理器基于队列的优先级等级控制转发排队的协议数据单元的时间顺序。

另一个方面提供用于支持网络中的时间功能的设备。该设备包括配置成生成支持时间功能所需的时间功能协议数据单元的第一生成模块。该设备包括配置成生成前导协议数据单元的序列的第二生成模块。该设备包括配置成在发送时间功能协议数据单元之前发送前导协议数据单元的序列的输出模块。前导协议数据单元携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元相同的网络路径。

另一个方面提供用于在网络中的中间节点处使用的设备,所述网络包括提供时间功能的第一节点和使用时间功能的第二节点。该设备包括配置成接收多个前导协议数据单元并接收支持时间功能所需的时间功能协议数据单元的输入模块。该设备包括配置成将所述多个前导协议数据单元存储在具有第二优先级等级的第二队列中并将时间功能协议数据单元存储在具有高于第二优先级等级的第一优先级等级的第一队列中的控制模块。在时间功能协议数据单元之前接收所述多个前导协议数据单元。前导协议数据单元携带路由信息,以使得前导协议数据单元遵循与时间功能协议数据单元相同的网络路径。控制模块配置成基于队列的优先级等级控制转发排队的协议数据单元的时间顺序。

本公开的至少一个示例的优点是,在横跨中间节点时,减少诸如PTP事件消息之类的时间功能PDU所经历的分组延迟变化(PDV)。这可提高恢复的时钟的精度,并且因此提高诸如无线基站的网络节点之间的同步的精度。

当应用于诸如PTP的双向时间功能时,本公开的至少一个示例的优点是,减小正向和反向方向之间的PDV的差。

本公开的至少一个示例的优点是,允许用更长的中间节点链将时间功能提供给从节点。

这里描述的功能性可以用硬件、由处理设备执行的软件、或由硬件和软件的组合来实现。处理设备可包括计算机、处理器、状态机、逻辑阵列或任何其它合适的处理设备。处理设备可以是执行软件以使得通用处理器执行所需任务的通用处理器,或者处理设备可专用于执行所需功能。本发明的另一个方面提供机器可读指令(软件),所述指令在由处理器执行时执行所描述的方法中的任何方法。机器可读指令可存储在电子存储器装置、硬盘、光盘或其它机器可读存储介质上。机器可读介质可以是非暂时性机器可读介质。术语“非暂时性机器可读介质”包括除了暂时性的传播信号以外的所有机器可读介质。可经由网络连接将机器可读指令下载到存储介质。

附图说明

将参考附图仅仅作为举例来描述本发明的实施例,附图中:

图1示出利用时间功能PDU来提供时间功能的网络的示例;

图2示出主节点和从节点之间利用精确时间协议的消息;

图3示出时间功能PDU和前导PDU;

图4示出图1的网络中的节点;

图5-7示出在一段时间内的图3的节点;

图8示出在第一时间功能节点处执行的方法;

图9示出在网络的中间节点处执行的方法;

图10示出在第二时间功能节点处执行的方法;

图11示出网络的第一节点处的设备;

图12示出网络的第二节点处的设备;

图13示出用于基于计算机的实现的设备。

具体实施方式

图1示出示例通信系统5,其中节点10、20通过网络40连接。节点20可以是无线基站25或需要在时间、相位和频率中的一个或多个方面同步的任何其它类型的设备的一部分或与其连接。节点20具有时钟24。节点20配置成使时钟24与节点10处的时钟14同步。在该系统中,节点10是“主节点”,并且节点20是“从节点”。

网络40包括节点30。这些将称为“中间节点”,因为它们位于参与时间功能/同步的节点10、20之间。网络40可利用基于分组的传输机制(例如,互联网协议IP)、基于帧的传输机制(例如,以太网)或某种其它类型的协议数据单元(PDU)。本公开中将利用一般化术语“协议数据单元”来涵盖分组、帧或其它形式的PDU。网络40可利用PDU格式的组合,例如以太网上IP或IP上以太网。对于无线网络的示例,节点20可利用网络40作为回程网络。通常,网络40供其它节点(未示出)使用。网络40上的业务负载可随时间改变。

节点10和节点20彼此通信,以便允许从节点20确定它自己与主节点之间的时间偏差。通过知道该偏差,从节点可使它自己与主节点同步。术语“时间功能协议数据单元”在本公开中用于表示作为时间协议的一部分由节点发送或接收的协议数据单元(PDU)。例如,时间功能可以是基于消息的双向交换的同步协议。在以下公开中,将利用PTP作为示例时间协议,但不限于该特定协议。时间功能协议数据单元52的示例是携带诸如PTP事件消息(例如Sync和Delay_Req)的事件消息的PDU。PTP事件消息是延迟敏感的,因为通过PTP节点之一(例如,主节点)的传送的它们的时间和通过另一个PTP节点(例如,从节点)的接收的它们的时间直接影响从它们恢复的时钟的精度。

在操作中,节点10将PTP事件消息52发送给节点20。这将称为正向方向。节点20将PTP事件消息52发送给节点10。这将称为反向方向。节点10处的设备12配置成在正向方向生成和发送PDU并在反向方向接收PDU。节点20处的设备22配置成在正向方向接收PDU并在反向方向生成和发送PDU。从节点可与主节点建立频率/相位/时间同步。这意味着,从节点处的时钟具有与主节点处的时钟相同的频率/相位/时间。

在描述另外的示例之前,图2示出PTP(IEEE 1588v2)的概述。该协议的目的是使从节点20处的时钟与主节点10处的时钟同步。在主节点10和从节点20之间传送消息的序列。最初,在主节点10和从节点20之间存在未知的时间偏差Tof。此时:

主节点在时间t1发送Synch消息。从节点20接收Synch消息,并利用从节点处的本地时钟来记录到达时间(t2)。主节点发送Follow_up消息。Follow_up消息携带从主节点发送了Synch消息的时间t1的时间戳。此时,从节点20知道:

其中Dms是主节点和从节点之间的传播延迟。

从节点20将Delay_Req消息发送给主节点10,并利用从节点处的本地时钟来记录该消息的出发时间(t3)。由主节点在时间t4接收Delay_Req消息。主节点将Delay_Resp消息发送给从节点。Delay_resp消息携带在主节点处接收了Delay_Req消息的时间t4的时间戳。此时,从节点20知道:

其中Dsm是从节点和主节点之间的传播延迟。

通过组合(1)和(2),从节点可确定:

如果有可能假设Dms = Dsm,那么就有可能准确地计算Tof。在这个过程中,PTP消息Synch和Delay_Req是延迟敏感的消息。这是因为,从节点20利用Synch来确定时间t2,并且主节点利用Delay_Req来确定时间t4。IEEE 1588标准将这些称为“事件”消息。Follow_up消息携带由主节点记录的时间戳值。类似地,Delay_Resp消息携带由主节点记录的时间戳值。Follow_up和Delay_Req消息不延迟敏感,并且IEEE 1588将它们称为“一般”消息。

国际电信联盟(ITU-T)正在对一组不同的PTP简档进行标准化。ITU-T标准化下的一种场景是这样一种情形,其中基站需要时间同步,并且PTP分组应当横跨一些不支持任何PTP功能的节点。这是由最近批准的G.8275.2简档所解决的应用,并且ITU-T已经根据两种可能的情况定义了应用:

• 部分计时支持(PTS):PTP分组将时间同步参考提供给RBS;

• 辅助部分计时支持(APTS):在正常操作状况下,本地GNSS源是RBS的主要时间同步参考。PTP分组已经将频率同步参考提供给RBS,以便在可能的GNSS中断周期期间改善其延期。这对于通常配备有廉价晶体振荡器的不允许良好的延期性能的小型小区的RBS特别有用。PTS/APTS(G.8275.2)的当前ITU-T简档仅利用Sync和Delay_Req。因此,以下公开关注Sync和Delay_Req事件消息。

在本发明的示例中,节点10在发送延迟敏感的时间功能协议数据单元52之前发送多个前导协议数据单元51。如上文所解释,一些类型的时间功能PDU 52是延迟敏感的,因为时间支持节点10、20之一将记录PDU的到达时间。

图3示出前导PDU 51和时间功能PDU 52的示例。时间功能PDU 52包括路由数据(例如,IP源地址和IP目的地地址)。时间功能PDU 52还可包括优先级信息(或优先级数据)57。优先级信息指示PDU的优先级,并且可供沿穿过网络的路径的节点使用,以便与其它PDU相比优先化该PDU。优先级信息的示例是在IP分组的报头中携带的差分服务代码点(DSCP)值。其它类型的优先级信息也是可能的。时间功能PDU 52包括消息类型的标识符,例如指示消息是PTP Sync消息或PTP Delay_Req消息。前导PDU 51包括路由数据54。路由数据54与路由数据56相同或类似。路由数据54使得前导PDU 51遵循与时间功能PDU 52相同的网络路径。前导PDU 51也可包括优先级信息55。前导PDU 51的优先级信息57可具有紧接地低于时间功能PDU 52的优先级等级的优先级等级。前导PDU 51可包括消息类型的标识符,例如指示消息是前导PDU,或者前导PDU 51可只携带优先级信息55。前导PDU 51可以具有网络40中允许的最小PDU大小的长度。其它大小是可能的。在一些示例中,生成的前导PDU 51的组合长度(53,图1)等于或长于网络中允许的最大PDU大小。

图4示出网络40的节点30之一。节点30包括输入端口131、交换机132、多个输出队列133 Q1-Qn、输出缓冲器134和输出端口136。控制器135控制节点30的操作。控制器135基于PDU的优先级等级选择输出队列。例如,将具有最高优先级等级的PDU置于队列Q1中,将具有第二高优先级等级的PDU置于队列Q2中,依此类推。输出缓冲器134只包含传输下的PDU。当时间功能PDU经过节点30时,它经历可变的等待时间。这是分组延迟变化(PDV)。该等待时间的可变量本质上是由于PDU在置于输出队列中以及等待被选择并置于输出缓冲器134中时所经历的可变延迟引起的。可通过为时间功能PDU指派最高优先级等级来减少等待时间的量。这意味着,节点30将优先于所有其它业务而选择传送时间功能PDU,因为假设只有时间功能PDU具有最高优先级。然而,当时间功能PDU到达节点30并被转发到最高优先级的输出队列Q1时,输出缓冲器134可能已经被称为Px的通用业务PDU占用。时间功能PDU 52直到Px的传输完成才能被传送。这导致在节点30处的可变的等待时间量。这将在转发路径上在节点10和节点20之间的每个节点30处重复。在节点20和节点10之间的反向路径上将出现类似的过程。存在实现队列Q1-Qn的集合的各种方式。在一个示例中,可将每个队列作为单独的物理存储实现。在另一个示例中,可将队列的集合作为共享相同物理存储的虚拟队列实现,并且控制器135可控制哪个存储的数据与哪个虚拟队列有关。

在图4的节点中,时间功能PDU 52将经历Bx/R的延迟,其中:R是线路的位速率(位每秒);并且Bx是在时间功能PDU 52排队时仍要传送的PDU Px的位数。因此,如果可横跨该节点的最长分组具有Bmax位的长度,那么时间功能PDU在穿过该端口时所经历的PDV将落在范围{0;Dmax}内,其中Dmax = Bmax/R。例如,如果该端口正以1 Gbit/s工作,并且使得该端口能够传送多达9216字节的分组,那么时间功能PDU的PDV将落在范围{0;≈ 74 µs}内,因为Dmax = (9216*8/109) s ≈ 74 µs。

在一实施例中,以如下方式来配置由时间功能PDU所穿过的节点30:

• 为时间功能PDU 52预留最高优先级队列Q1,并为前导PDU 51预留第二高优先级队列Q2。这个假设可略微放宽,如稍后所论述的。

• 以严格的优先级调度Q1和Q2。

• 将其它业务类型映射到Q3和更低优先级队列。

图5至图7示出在具有前导PDU的一段时间内操作节点30的示例。在图5中,第一前导PDU 51已经到达节点30。前导PDU 51在队列Q2中排队,因为通用业务分组Px已经在输出缓冲器134中。在图6中,Px的传输已经完成。节点开始传送前导PDU 51,因为前导PDU是具有最高优先级等级的业务。此时,队列Q1为空。

在图7中,时间功能PDU 52已经到达节点30,并已经被转发到最高优先级等级的输出队列Q1。当前在输出缓冲器中存在前导PDU 51。当输出缓冲器中的当前前导PDU 51已经传送时,节点将把时间功能PDU 52转发到输出缓冲器以用于传输。可以见到,时间功能PDU52只延迟了完成当前前导PDU 51的传输所需的时间。前导PDU 51可具有最小允许PDU大小。例如,在以太网线路上,长度为84字节:12字节用于分组间间隙,8字节用于以太网前导和帧起始定界符(SoFD),并且64字节用于以太网最小帧。

从该示例可以见到,前导PDU分组占用或预留传输队列中的位置,直到时间功能PDU到达。前导PDU可在正向方向中被从节点20丢弃(例如,在PTP Sync分组之前的前导PDU),或者在反向方向中被主节点10丢弃(例如,在PTP Delay_Req分组之前的前导PDU)。

可利用具有最小长度的任何种类的“虚拟”PDU作为前导PDU。在没有对修改网络节点的正常行为的任何需要的情况下,由PTP支持节点丢弃这些虚拟PDU。

ITU-T G.8275.2/Y.1369.2(06/2016)已经对PTS/APTS简档进行了标准化,其中在UDP/IPv4/Eth上映射PTP。合适前导PDU的示例是空UDP(UDP/IPv4/Ethernet)分组,其携带与相关PTP事件PDU相同的IP目的地地址和IP源地址。例如,如果节点30基于IP分组的DSCP值提供QoS,那么可能的配置是:传输PTP PDU的IP分组具有DSCP = 54;前导PDU具有DSCP =48;所有其它业务类型具有DSCP < 48;将Q1预留给具有DSCP = 54的分组,并且将Q2预留给具有DSCP = 48的分组。

考虑在节点10、20之间的网络路径有单个节点30要穿过。在这种情况下,就在每个时间功能PDU 52之前传送的前导PDU 51的总长度配置成等于或(稍微)长于网络中允许的最大PDU大小。例如,如果在网络中允许的PDU的最大大小为9216字节,并且每个前导PDU具有84字节的最小允许大小,那么可将前导PDU的数量配置为110,因为110*84字节= 9240字节,其中9240字节>9216字节。再次参考图5,最坏情况场景是,其中就在节点30开始从输出缓冲器134传送最大允许大小的业务PDU时,第一前导PDU 51开始在节点30处排队。通过用前导PDU填充节点30处的队列,在时间功能PDU之前的唯一高优先级业务是前导PDU的集合。由于节点30根据优先级在业务之间进行选择,所以前导PDU将具有相对于其它业务的更高优先级,并将防止其它业务占用输出缓冲器134。但是,当时间功能PDU到达节点30时,时间功能PDU具有相对于任何其它业务的更高优先级。由于输出缓冲器134中的唯一业务是一个前导PDU,所以时间功能PDU 52将延迟(最多)仅仅一个前导PDU 51。

现在将提供一些数值示例来说明使用前导PDU的优点。

考虑以太网线路,其中前导PDU的长度= 84*8位(= 672位);那么时间功能PDU延迟处于范围{0;672/R}内,其中R是线路速度,单位为位每秒。例如,在端口以1 Gbit/s工作的情况下,该范围是{0;672 ns},这大大减少了平均PDV。

考虑Bx是可延迟时间功能PDU的通用业务分组Px的平均长度(位数)。可假设,时间功能PDU所经历的PDV均匀地分布在范围{0;Dx}内,其中Dx = Bx/R。在1000字节的平均业务分组和1GE线路下,可假设PDV均匀地分布在范围{0;8000 ns}内。

考虑以下情况:

• 以1GE工作的线路;

• 只考虑Sync PTP分组的PTP算法(即,单向PTP应用,但这也可应用于双向应用)。

• 考虑1百分点(具有最小延迟)的接收的Sync分组的典型PTP算法。

给定,在1百分点分组过滤之后,PDV将平均小于:8000 ns/100 = 80 ns。通过使用前导PDU,PDV为:672 ns/100 = 6.7 ns。因此,存在92%的PDV减小。

在双向PTP的情况下,额外的优势是,由时间功能PDU在两个方向上经历的PDV变成统计地对称,独立于两个方向的业务负载之间的可能的不对称。

主节点10和从节点20之间的路径通常将包括多个中间节点30。考虑时间功能PDU必须穿过N个中间节点。在最坏情况场景中,时间功能PDU将延迟N个最大长度PDU。可基于要穿过的中间节点30的数量来选择前导PDU 51的数量。例如,对于N个中间节点,发送节点生成多个前导协议数据单元,以使得生成的前导协议数据单元的组合长度等于或大于网络中允许的最大协议数据单元大小的N倍的长度。

图8示出由节点执行以便支持时间功能的示例方法。该节点可以是主节点10或从节点20。在框101,节点生成支持时间功能所需的时间功能协议数据单元。在框102,节点生成多个前导协议数据单元。在框103,节点在发送时间功能协议数据单元之前发送所述多个前导协议数据单元。

可选地,在框104,节点可确定要在第一时间节点和第二第一时间节点之间穿过的网络节点的数量N,并且在框102的生成可基于数量N生成多个前导协议数据单元。节点可存储具有多个条目的查找表,每个条目包含值N和对于该值N的多个前导PDU,例如N = 2对应于xx前导PDU,N = 3对应于yy前导PDU,等等。数字N可提前配置。

图9示出由网络40的中间节点30执行的示例方法。在框201,节点接收多个前导PDU,并将所述多个前导PDU存储在具有第二优先级等级的第二队列中。在框202,节点接收携带数据业务的数据业务PDU,并将数据业务PDU存储在具有低于第二优先级等级的第三优先级等级的第三队列中。

在框203,节点接收支持时间功能所需的时间功能PDU。节点将时间功能PDU存储在具有第一优先级等级的第一队列中。第一优先级等级高于第二优先级等级和第三优先级等级。在时间功能PDU之前接收所述多个前导PDU。每个前导PDU都比网络中允许的最大PDU大小更短。前导PDU携带路由信息,以使得前导PDU遵循与时间功能PDU相同的网络路径。

在框204,节点控制转发排队的PDU的时间顺序。基于队列的优先级等级控制转发排队的协议数据单元的时间顺序。在一示例中,优先级等级配置为:

优先级等级1(最高) -时间功能PDU;

优先级等级2 -前导PDU;

优先级等级3(及以下) -其它(一般)数据业务。

其它数据业务可包括前往/来自无线基站(25,图1)的无线回程业务。

转发的时间顺序为:在转发数据业务PDU之前,转发前导PDU;在转发任何剩余的排队的前导PDU之前,转发时间功能PDU。该转发的时间顺序的效果是,前导PDU占用输出缓冲器,直到时间功能PDU到达。当时间功能PDU到达中间节点时,以最小延迟转发它。这是因为,输出缓冲器将只被短长度的前导PDU占用。前导PDU在(一个或多个)中间节点处供应位置保留功能,并且队列中剩余的任何前导PDU都将让步于时间功能PDU。时间功能PDU可经历一个前导PDU的长度的最大等待时间,如图5到7的示例中所示。

备选地或另外地,时间功能PDU可视为在转发至少一个排队的前导PDU之后被直接转发。节点30处的功能性可通过将节点的控制器配置成根据优先级等级对PDU排序来实现。

中间节点30可根据在PDU中携带的优先级信息(诸如PDU的报头中的优先级字段(例如,IP分组中的DSCP字段))的值来将到达的PDU分配给队列。另外地或备选地,中间节点30可根据另一个或多个准则来将到达的PDU分配给队列。例如,中间节点30可确定由PDU携带的消息的类型(例如,前导PDU、PTP事件消息PDU、数据业务PDU),并且可根据消息的类型将到达的PDU分配给队列。例如,中间节点30存储使得节点执行以下操作的数据:将携带PTP事件消息的PDU映射到最高优先级队列Q1;将前导PDU映射到第二高优先级队列Q2;将包含其它类型的数据业务的PDU映射到(一个或多个)更低优先级队列,依此类推。

图10示出由节点执行以便支持时间功能的示例方法。节点可以是主节点10或从节点20。在框221,节点接收时间功能PDU。在框222,节点接收多个前导PDU。在框223,节点丢弃所述多个前导PDU。

图11和图12示出位于节点10、20之一处的支持时间同步功能的设备300的两个示例。所述示例的差别在于,在哪里生成前导PDU。在图11中,时间功能(例如,PTP应用)301生成时间功能PDU,诸如携带PTP事件消息的分组。相同块301还生成前导PDU。块301可作为由处理器执行的软件应用实现。将时间功能PDU和前导PDU转发给PDU处理器302。PDU处理器302控制PDU的传输顺序。在时间功能PDU之前输出前导PDU。PDU处理器确保携带其它业务的PDU不会在连续前导PDU之间交错。时间戳功能304记录特定时间功能PDU的时间戳,如上文结合图10所解释。时间戳值可在相同时间功能PDU(根据IEEE 1588术语,一步时钟)或后续时间功能PDU(两步时钟行为)内发送。例如,主节点10记录在发送Synch消息时的时间戳(时间t1),并在相同的Sync消息或Follow_up消息内发送t1值。将PDU输出到线路驱动器305以及线路306上。

图12的设备与图11类似。主要差别在于,前导PDU由PDU处理器302内的块307生成。PDU处理器检测何时将延迟敏感的时间功能PDU(例如,PTP事件消息)排队。PDU处理器生成前导PDU,并将它们***到输出队列Q2中(即,第二优先级等级)。PDU处理器延迟传送延迟敏感的时间功能PDU,直到已经发送所需数量的前导PDU。延迟并不重要,因为只有在发送了PTP事件PDU时才记录时间戳。

尽管该方法确实需要额外的虚拟PDU,但是开销并不显著。考虑PTS/APTS协议每秒使用32个事件(Sync/Delay_Req)PDU。在网络中最大PDU大小为9216字节并且要横跨4个中间节点的情况下,由前导PDU引起的开销为:4*32*110*672 bit/s ≈ 9.5 Mbit/s。这是1GE链路的容量的大约0.9%。时间功能PDU延迟N个最大长度PDU的概率是低的。在没有对同步性能的显著影响的情况下,前导PDU的数量可减少。

在上文描述的示例中,为时间功能PDU和前导PDU排他地预留了输出队列Q1和Q2。在其它示例中,可能的是,网络中的节点可发送映射到队列Q1、Q2的其它高优先级业务。

尽管已经参考PTP描述了示例,但是另一个可能的时间功能是网络时间协议(NTP)。

本文中描述的方法的步骤可以按任何合适的顺序进行,或者在合适的情况下可同时进行。

图13示出处理设备500的示例,处理设备500可作为任何形式的计算和/或电子装置来实现,并且可在其中实现上文描述的系统和方法的实施例。处理设备可实现图7或图8中示出或在更早的图中描述或示出的全部或部分方法。处理设备可视为是节点10;20;30的一部分或控制器。

处理设备500包括一个或多个处理器501,所述处理器501可以是用于执行指令以便控制装置的操作的微处理器、控制器或任何其它合适类型的处理器。所述一个或多个处理器501可视为处理电路。处理器501经由一个或多个总线506连接到装置的其它组件。处理器可执行指令503可利用诸如存储器502的任何计算机可读介质提供。处理器可执行指令503可包括用于实现描述的方法的功能性的指令。存储器502是任何合适的类型,诸如只读存储器(ROM)、随机存取存储器(RAM)、任何类型的存储装置,诸如磁或光存储装置。可提供额外存储器504以便存储供处理器501使用的数据505。处理设备500包括用于与其它网络实体对接的一个或多个网络接口408。处理设备500配置成控制,例如发起或引起和/或实现描述的功能或方法的任何部分。

本文中描述的方法的步骤可以按任何合适的顺序进行,或者在合适的情况下可同时进行。得益于以上描述和相关联的附图中提供的教导的本领域技术人员将想到本公开的发明的修改和其它实施例。因此,将理解,本发明不限于公开的特定实施例,并且修改和其它实施例打算被包含在本公开的范围内。尽管本文中可采用特定术语,但是它们只以一般性和描述性意义,而不是为了限制的目的而被使用。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:包括机架和现场可更换模块的系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!