包分类与加时间戳系统和方法与流程

文档序号:20842511发布日期:2020-05-22 17:41阅读:388来源:国知局
包分类与加时间戳系统和方法与流程

本发明涉及网络时钟同步的领域,并且具体地涉及利用间接分类来给包交换通信网络中的数据包加时间戳的系统和方法。



背景技术:

在包交换通信网络中,在该网络内的不同设备之间传输数据包。虽然这些设备全都是单个网络的一部分,但每个设备具有其自身的时钟。为该网络内的这些设备建立公共时基能改善该网络内的数据传输的有效性。公共时基可用于例如:触发传感器网络中的协调测量实例;协调工业系统中的控制器的动作;或使移动通信网络(即,蜂窝网络)中的无线电节点同步。除了传感器和控制器之外,该系统还可包括计算机和通信设备,诸如路由器。已制定了用于使时钟同步的若干标准协议,例如,ieee1588-2008的网络时间协议(ntp)和精确时间协议(ptp),这些协议的全部内容以引用方式并入本文。ptp描述了在通信网络中的各节点之间发送时序相关消息。时序相关消息包括例如一个节点传输加时间戳的包以向另一个节点提供其时基,以及一个节点传输请求接收节点使用接收时间来回复的包。处理时序相关消息时出现的任何错误可不利于精确时钟同步并且该危害可在多个网络设备内累积。此外,时序相关消息的有效处理是有利的以便避免干扰其他通信。

于2013年10月29日授予joergensen等人的美国专利s/n8,571,014(该专利的全部内容以引用方式并入本文)描述了基于包的分布式时间戳引擎,其基于包类型来对要处理的数据包分类并且基于包分类来执行特定时间戳操作。图1示出了实现给数据包的分类加时间戳的现有技术物理层(phy)的高级框图。phy10包括:接收块20,该接收块被布置为从通信网络(未示出)接收输入信号;传输块30,该传输块被布置为将输出信号传输到通信网络;本地时钟35,该本地时钟被布置为给phy10提供时基并且向接收块20和传输块30提供本地时间值;以及用于耦接到更高级设备(未示出)的接口块40。接收块20的输出被示出为耦接到接口块40的输入,并且传输块30的输入被示出为耦接到接口40的输出,然而这并非意在以任何方式进行限制。在另一个实施方案中,各种其他处理和/或格式化块包括在接收块20与接口块40之间的信号路径中以及在传输块30与接口块40之间的信号路径中。

接收块20包括:接收器50;包分类器60;时间计算器70;和包写入器80。传输块30包括:包分类器90;时间计算器100;包写入器110;和发射器120。接口块40、接收器50、包分类器60、时间计算器70、包写入器80、包分类器90、时间计算器100、包写入器110和发射器120中的每一者一般用电子电路来实现。例如,在一个实施方案中,在互补金属氧化物半导体(cmos)集成电路中提供phy10。在另一个实施方案中,软件编程用于控制phy10中的一些电路的操作。在一个实施方案中,可编程处理器用于配置phy10的电路并处理异常条件。

本地时钟35提供与通信网络(未示出)中的另一个时钟同步的时间值。在一个实施方案中,本地时钟35是通信网络的主时钟并且与高精度时钟(诸如美国海军天文台)同步。在一些实施方案中,本地时钟35接收由时间模块(未示出)提供的输入时钟信号和时间值。时间模块在各种实施方案中可通过其自身的时钟、phy10所接收的信号或两者的组合来确定一天中的时间。输入时钟信号提供参考频率,例如标称250mhz,该参考频率被锁定到通信网络中的主时钟的频率。在这种实施方案中,将所接收的时间值加载到本地时钟30中以初始化或更新本地时间值。

接收器50耦接到通信网络中的通信链路55。在一个实施方案中,通信链路55包括光纤电缆或者一个或多个双绞线铜电缆。接收器50从通信链路55接收输入信号。在许多实施方案中,根据标准格式(例如,以太网的标准)来接收输入信号。在一个实施方案中,接收器50包括放大器、信号均衡器、锁相环路和相关电路,如本领域技术人员在本发明之时所知。接收器50处理输入信号以从其恢复数据并且生成数据包。包也可称为帧,这部分地取决于格式标准。在一个实施方案中,接收器50还例如通过确定已接收到帧定界符信号或帧同步信号来确定包或帧的起始。

包分类器60根据要执行何种类型的时间戳动作来对每个包进行分类。在一个实施方案中,这些包被分类为a型至e型中的一种。a型包是不在接收块20中接收时间戳处理的包。b型包是这样的包,其将使本地时钟35的本地时间值写入到包中。c型包是这样的包,其将通过减去本地时钟35的本地时间值并加上预定偏移值(该预定偏移值在一些实施方案中可为零)来修改所接收的包中的时间戳。在另一个实施方案中,预定偏移值是接收器50在其上接收数据的通信链路55的延迟的指示。在一个实施方案中,作为替代或补充,预定偏移值是从输入到接收器50中之时至以下任一时间的包的起始的预期横向时间的绝对值:接收器50确定包的起始时的时间;或对本地时钟35的本地时间值进行采样时的采样时间,这两个时间均可为相同时间。在另一个实施方案中,预定偏移值可为负。

d型包是这样的包,其将通过加上本地时钟35的本地时间值并加上上文相对于c型包描述的偏移值来修改所接收的包中的时间戳。在另一个实施方案中,d型包是将由传输块30传输的包,即,d型包仅由包分类器90进行分类,如下文将描述。e型包是将随本地时钟35的本地时间值一起保存在存储器(未示出)上的包。可随后例如由网络处理器(未示出)处理e型包。

在一个实施方案中,包分类器60对根据多种协议格式化的包进行分类,例如,以太网和多协议标签交换(mpls)包。在另一个实施方案中,包分类器60的分类基于以下一者或两者:包的时间戳协议(诸如ieee1588-2008)以及包是要被接收还是要被传输。具体地,如上所述,在一个实施方案中,c型是为所接收的包预留的分类,并且d型是为待传输的包预留的分类。在一个实施方案中,另外使用流、时域、虚拟局域网(vlan)或其他标识符来对包进行分类。

向时间计算器70提供经包分类器60分类的包。时间计算器70响应于包的分类而生成时间戳值。如上所述,对于许多包分类而言,时间计算器70使用从本地时钟35获得的本地时间值。在一个实施方案中,所需的本地时间值是包的特定部分(例如,以太网帧起始定界符(sfd)的末尾)到达接收器50的输入的时间。因此,在一个实施方案中,时间计算器70所使用的本地时间值是来自本地时钟35的值减去延迟值,该延迟值补偿向接收器50输入与时间计算器70从本地时钟35接收到值的时间之间的延迟。在另一个实施方案中,接收器50检索来自本地时钟35的本地时间值并且将其与经分类的包一起提供给时间计算器70。在一个非限制性实施方案中,使用所测量的环回延迟来计算延迟值。在使用上述分类的实施方案中,对于b型和e型包而言,所生成的新时间戳值是本地时钟35的本地时间值。对于c型和d型包而言,时间计算器读取所接收的包中包括的时间戳值并且生成新时间戳值,如上所述。如上进一步描述,对于c型和d型包而言,时间计算器70在一个实施方案中响应于预定偏移值而生成新时间戳值。具体地,在一个实施方案中,对于c型包而言,所生成的新时间戳值是所接收的时间戳值减去本地时钟35的本地时间值加上预定偏移值。对于a型包而言,时间计算器70不生成新时间戳值。

将时间计算器70所生成的新时间戳值提供给包写入器80。包写入器80将所接收的时间戳值写入到数据包的预定位置中。在一个实施方案中,时间戳被写入的包中的预定位置根据包的格式而改变。在另一个实施方案中,时间戳被写入的预定位置是前一时间戳所处的相同位置。在一个实施方案中,预定位置是ieee1588-2008包校正字段的位置。在另一个实施方案中,包分类器60提供进一步分类,该进一步分类指示时间戳应被写入的位置,例如,包的前导码中的位置、包中的预留位置或附加到包的末尾。

在一个实施方案中,包写入器80另外根据包的格式来清空包中的字段。例如,任选地清空用户数据报协议(udp)包中的校验和字段。包写入器80另外针对包的格式适当地更新包中的校验和类型值。例如,对于以太网格式包而言,包写入器80更新帧校验序列(fcs)。在一个另外的实施方案中,包写入器80另外校验所接收的包中的fcs。如果fcs不正确,则包写入器80可丢弃该包或例如通过反演来更新损坏的fcs,从而防止该包的进一步处理。

在一个实施方案中,包分类器60、时间计算器70和包写入器80对所接收的包进行操作而不将所接收的包存储在存储器中。例如,在包写入器80将时间戳写入包中的同时,接收器50接收该包的后一部分,即,到接收器50完成接收该包的时候所有操作均结束。

接口块40从包写入器80接收经修改的包。接口块40向诸如介质访问控制器(mac)的更高级部件(未示出)提供接口45。通过接口接收包的更高级部件可执行进一步包处理,例如确定将包转发到何处。在一个实施方案中,至更高级部件的接口是吉比特介质无关接口(gmii)。接口块40通过接口45传输经修改的包。接口45是双向的,并且接口块40类似地通过接口45接收待传输的包。

接口块40将通过接口45接收的包提供给传输块30。在另一个实施方案中,提供单独接口块40来接收和传输。传输块30的包分类器90以与包分类器60类似且任选相同的方式操作。然而,包的分类在包分类器60和90之间可存在差异。如上所述,c型分类由包分类器60唯一提供,并且d型分类由包分类器90唯一提供。将经分类的包提供给以与时间计算器70类似的方式操作的时间计算器100。然而,在一个实施方案中,时间计算器100所生成的时间戳值取决于包的分类,这可不同于包分类器60所提供的分类。例如,对于d型分类而言,时间计算器100任选地提供新时间戳值,该新时间戳值是所接收的时间戳值加上本地时钟35的本地时间值加上预定偏移值。在一个实施方案中,预定偏移值是延迟值,其补偿时间计算器100从本地时钟35接收到本地时间值的时间与发射器120将传输包中的参考点的时候之间的延迟。因此,新时间戳指示包的预定部分离开发射器120的时间。

在另一个实施方案中,发射器120检索本地时钟35的本地时间值并且将其与以流水线方式经块处理的包一起提供给时间计算器100。将时间计算器100所生成的输出时间戳值提供给包写入器110。包写入器110将时间计算器100所输出的时间戳值写入到包中的预定位置,如上文相对于包写入器80所描述。

发射器120处理从包写入器110接收的经修改的包以生成输出信号。发射器120耦接到通信网络中的通信链路(例如,光纤电缆)以传输所生成的输出信号。在一个实施方案中,发射器120根据与接收器50接收输入信号所使用的相同的标准格式来传输所生成的输出信号。

因此phy10提供诸如以下的各种协议所要求的加时间戳:ptp;ntp;服务激活测试(sat);以及操作、管理和维护(oam)。遗憾的是,在phy10内提供包分类需要更昂贵、消耗更多功率且具有增加的延时的phy10。为了限制这些缺点,在phy中提供有限数量的分类,这进一步是不利的。



技术实现要素:

因此,本发明的主要目的是克服现有技术的至少一些缺点。这在一个实施方案中由呈现出口侧的phy提供,该phy还包括:时钟,该时钟被布置为生成指示当前时间的时间信号;以及出口戳功能,该出口戳功能被布置为:在出口侧上接收数据包,从所接收的数据包的预定区段提取数据,并且响应于所提取的数据,执行多个预定时间戳操作之一,多个预定时间戳操作包括:响应于所生成的时间信号而生成时间戳信号;不生成时间戳信号;或修改所接收的数据包中写入的时间戳,其中所提取的数据包括指示要执行多个预定时间戳操作中的哪个操作的指令。

在一个独立实施方案中,提供了与phy通信的包处理器,该包处理器包括:分类器;戳功能;以及发射器,其中分类器被布置为:接收数据包;并且根据预定分类规则为所接收的数据包生成分类,所生成的分类选自多个预定分类,其中戳功能被布置为响应于所生成的分类而:生成指针,该指针指向phy的存储器中的预定位置;或为加时间戳操作生成指令,所生成的指令选自至少三个预定指令选项,并且其中发射器被布置为将所接收的数据包连同所生成的指针或指令一起传输到phy的出口侧。

在另一个独立实施方案中,提供了间接分类加时间戳系统,该系统包括:至少一个物理层(phy),该至少一个phy中的每一者呈现出口侧;以及至少一个包处理器,该至少一个phy中的每一者与至少一个包处理器之一通信,其中至少一个包处理器中的每一者包括:分类器;处理器出口戳功能;以及第一发射器,其中分类器被布置为:接收数据包;并且根据预定分类规则为所接收的数据包生成分类,所生成的分类选自多个预定分类,其中处理器出口戳功能被布置为响应于所生成的分类而:生成指针;或为加时间戳操作生成指令,所生成的指令选自至少三个预定指令选项,其中第一发射器被布置为将所接收的数据包连同所生成的指针或指令一起传输到phy的出口侧,其中至少一个phy中的每一者包括:phy时钟,该phy时钟被布置为生成指示当前时间的第一时间信号;以及phy出口戳功能,其中phy出口戳功能被布置为响应于所生成的指针或所生成的指令而执行多个预定时间戳操作之一,该多个预定时间戳操作包括:响应于所生成的时间信号而生成时间戳信号;不生成时间戳信号;或修改所接收的数据包中写入的时间戳。

从以下附图和描述中,本发明的附加特征和优点将变得显而易见。

附图说明

为了更好地理解本发明并示出可如何实行本发明,现在将仅通过示例的方式参考附图,其中相同的数字始终表示对应的元件或部分。

现在具体参考附图,强调了所示的细节仅为示例且仅用于说明性讨论本发明的优选实施方案的目的,并且为了提供被认为是本发明的原理和概念方面的最有用和易于理解的描述的原因而被呈现。就此而言,没有试图比对本发明的基本理解所需更详细地示出本发明的结构细节,关于附图进行的描述使得本发明的若干形式可如何在实践中体现对于本领域技术人员而言是显而易见的。在附图中:

图1示出了实现给包分类加时间戳的现有技术phy的高级框图;

图2a示出了根据某些实施方案的第一包处理器的高级框图;

图2b示出了图2a的包处理器的入口侧的操作的方法的高级流程图;

图2c示出了图2a的包处理器的出口侧的操作的方法的高级流程图;

图2d示出了根据某些实施方案的第二包处理器的出口侧的高级框图;

图3a示出了根据某些实施方案的第一phy的高级框图;

图3b示出了图3a的phy的入口侧的操作的方法的高级流程图;

图3c示出了图3a的phy的出口侧的操作的方法的高级流程图;

图3d示出了根据某些实施方案的第二phy的出口侧的高级框图;

图3e示出了图3d的phy的出口侧的操作的方法的高级框图;

图4示出了包括图2a的包处理器和图3a的phy的局部系统的高级框图;

图5a示出了数据交换机或集线器设备的第一实施方案的高级框图;以及

图5b示出了数据交换机或集线器设备的第二实施方案的高级框图。

具体实施方式

在详细解释本发明的至少一个实施方案之前,应当理解,本发明的应用不限于在下面的描述中阐述的或在附图中示出的部件的构造和布置的细节。本发明适用于其他实施方案或以各种方式实践或进行。而且,应当理解,本文所采用的措辞和术语是用于描述的目的并且不应当被认为是限制性的。具体地讲,如本文所用,术语“耦接”并非意在限于直接连接,并且允许中间设备或部件而无限制。

图2a示出了包处理器200的高级框图,图2b示出了包处理器200的入口侧的操作的方法的高级流程图,并且图2c示出了包处理器200的出口侧的操作的方法,图2a至图2c一起描述。如下文将描述,包处理器200允许与现有技术相比简化的phy。包处理器200包括:任选的处理器时钟210;入口侧分类器220;入口侧时间戳功能230;出口侧分类器240;出口侧时间戳功能250;和发射器260。任选的处理器时钟210、入口侧分类器220、入口侧时间戳功能230、出口侧分类器240、出口侧时间戳功能250和发射器260中的每一者一般用电子电路来实现。在一个实施方案中,包处理器200被实现为cmos集成电路。在另一个实施方案中,包处理器200在现场可编程门阵列(fpga)电路中实现。在又一个实施方案中,包处理器200在专用集成电路(asic)中实现。任选的处理器时钟210、入口侧分类器220、入口侧时间戳功能230、出口侧分类器240、出口侧时间戳功能250和发射器260中的每一者由被布置为执行下文在阶段1000–1050中描述的步骤的电路的专用部分实现。在另一个实施方案中,包处理器200在网络处理器内实现,其中任选的处理器时钟210、入口侧分类器220、入口侧时间戳功能230、出口侧分类器240、出口侧时间戳功能250和发射器260中的每一者由存储在处理器的存储器上的指令实现,该处理器被布置为响应于所存储的指令而执行下文在阶段1000-1050中描述的步骤。

入口侧分类器220的输出与入口侧时间戳功能230的相应输入通信。出口侧分类器240的输出与出口侧时间戳功能250的相应输入通信。任选的处理器时钟210的第一输出与入口侧时间戳功能230的相应输入通信,并且任选的处理器时钟210的第二输出与出口侧时间戳功能250的相应输入通信。

在操作中,在阶段1000中,入口侧分类器220接收源于phy的入口侧的数据包。如上所述,“包”也可称为“帧”,这部分地取决于格式标准。因此,术语“包”并非意在进行限制并且特别地意在包括帧。在一个实施方案中,如下文将描述,在被入口侧分类器220接收之前,数据包被专用解码功能解码。

在阶段1010中,入口侧分类器220根据预定分类规则为阶段1000的所接收的数据包生成分类,如上文相对于包分类器60所描述。所生成的分类选自多个预定入口侧分类之一。预定分类中的每一者指示将如何给包加时间戳。如上所述,不同分类指示哪个时间戳应包括在包中的不同选项,包括不为包提供时间戳的选项。另外,一些分类指示应如何进一步处理包,诸如上述e型分类。在一个非限制性实施方案中,如上所述,多个预定分类包括分类类型a–e。在一个实施方案中,如下文将描述,将所生成的分类进一步连同数据包的签名一起存储在数据包内或存储器(未示出)中。如下文将描述,在这种实施方案中,入口侧上生成的分类随后在出口侧上使用。

在阶段1020中,响应于阶段1010的分类中的特定分类,入口侧时间戳功能230生成时间戳信号。在一个实施方案中,响应于处理器时钟210所输出的时间信号而生成时间戳信号。具体地,处理器时钟210被布置为输出指示当前时间的时间信号,如上文相对于本地时钟35所描述。如上所述,响应于一些预定分类,时间戳信号是包括处理器时钟210所输出的本地时间减去延迟值的时间戳,该延迟值补偿在包处理器200处接收到数据包与从处理器时钟210检索时间信号之间的延迟。在一个实施方案中,如下文将描述,phy给每个数据包加时间戳,并且响应于phy生成的时间戳以及在phy处接收到数据包与在phy中加时间戳之间的已知延迟来计算延迟值,使得入口侧时间戳功能230所生成的时间戳指示在phy处接收到包的时间。应当注意,生成时间戳信号特别意在包括从阶段1000的数据包提取时间戳。因此,在一个实施方案中,对于一些分类而言,时间戳功能230从数据包提取时间戳并且不生成不同的时间戳。在另一个实施方案中,对于这些分类而言,时间戳功能230使数据包中的时间戳保留未修改状态。在一个实施方案中,所生成的时间戳信号是输出数据包时包处理器200所输出的脉冲。由外部电路接收该脉冲,该外部电路使用该脉冲作为时间戳来确定数据包从包处理器200离开的时间。具体地讲,外部电路根据本地时钟来确定何时接收到该脉冲,因此确定或估计从包处理器200离开的时间。

在一个实施方案中,入口侧时间戳功能230将所生成的时间戳写入到数据包中。如上所述,在一个实施方案中,将时间戳附加到包的末尾。应当注意,将时间戳写入到包中意在特别地包括将时间戳附加到包的末尾或开头。另外,将时间戳写入到包中意在进一步特别地包括修改包内已经包含的时间戳的值。具体地,在一个实施方案中,入口侧时间戳功能230使phy所提供的时间戳与包内另一个时间戳字段中包含的值相加或相减。

在一个实施方案中,如上所述,对于包的一些分类而言,不将时间戳写入到包中。在包具有phy所提供的时间戳的情况下,时间戳要么被丢弃要么被忽略。

在另一个实施方案中,入口侧时间戳功能230进一步从数据包提取包签名。然后按照如本领域技术人员已知的两步ptp操作将时间戳连同包签名一起单独地传输。

在入口侧时间戳功能230向包中生成时间戳并任选地将所生成的时间戳写入到包中之后,随后将包从包处理器200向外传输到网络中。

上述内容已在入口侧时间戳功能230向数据包中生成和写入时间戳的实施方案中描述,但是这并非意在以任何方式进行限制。在另一个实施方案中,时间戳的生成和写入中的每一者由单独功能执行,如上文相对于phy10所描述。

在阶段1030中,出口侧分类器240接收发往阶段1000的phy的出口侧的数据包。数据包从网络中某位置的设备接收并且发往与阶段1000的phy相关联的系统接口。

在任选的阶段1040中,出口侧分类器240根据预定分类规则为阶段1030的所接收的数据包生成分类,如上文相对于包分类器90所描述。所生成的分类选自多个预定出口侧分类之一。预定分类中的每一者指示需要如何给包加时间戳。如上所述,不同分类指示哪个时间戳应包括在包中的不同选项,包括不为包提供时间戳的选项。在一个非限制性实施方案中,如上所述,多个预定分类包括分类类型a–e。如上所述,在一个实施方案中,一些分类对于出口侧分类是独特的,诸如d型。类似地,一些分类对于入口侧分类是独特的,诸如c型。上述内容已在提供出口侧分类器240和入口侧分类器220两者的实施方案中描述,但是这并非意在以任何方式进行限制。在另一个实施方案中,提供单个分类器,该单个分类器被布置为执行入口侧和出口侧两者上的数据包的分类。如上所述,在一个实施方案中,仅在入口侧上执行分类,并且在数据包到达出口侧时再次使用该分类。在这种实施方案中,不使用出口侧分类器240。

在阶段1050中,响应于阶段1040的所生成的分类,出口侧时间戳功能250生成以下一者:指针和加时间戳指令。具体地,在一个实施方案中,时间戳功能250生成指针,该指针指向阶段1000的phy的存储器的预定部分。预定存储器部分包含指令,该指令向phy指示为数据包提供什么时间戳或如何修改已处于数据包中的时间戳,或另选地不为数据包提供时间戳。生成该指针以便根据所生成的分类来指向正确指令。因此,phy将能够根据所生成的分类来正确地给数据包加时间戳。在一个替代实施方案中,在时间戳不必要时不提供指针。

在另一个实施方案中,出口侧时间戳功能250并不生成指向phy的存储器中的加时间戳指令的指针,而是生成指令自身。

在一个优选实施方案中,出口侧重写器进一步将所生成的指针或所生成的指令写入到数据包的预定区段中。在一个实施方案中,将所生成的指针/指令写入到数据包的标头中。在一个另外的实施方案中,该标头是vlan标签类型标头和usxgmii-pch类型标头之一。应当注意,指针/指令的生成和写入在本文中被描述为由单个出口侧时间戳功能250完成,但是这并非意在进行限制。在另一个实施方案中,向数据包中的生成和写入中的每一者由单独功能执行。

在一个实施方案中,出口侧时间戳功能250进一步响应于本地时钟210的时间信号而生成时间戳,即,生成指示一天中的当前时间的时间戳。出口侧时间戳功能250将时间戳写入到数据包中,如上所述。在这种实施方案中,phy可例如通过将经phy的传输时间加到时间戳来修改包的时间戳。

然后发射器260将包与指针/指令一起传输到phy。在一个实施方案中,如下文将描述,在传输到phy之前,数据包被专用编码功能编码。任选地,编码功能在发射器260内实现。

应当注意,图2c的阶段1030–1050不依赖于图2b的阶段1000–1020。具体地,入口侧上执行的步骤可不同,并且这对出口侧上执行的步骤将没有影响。在一个实施方案中,可仅在出口侧上执行分类,并且不在入口侧上执行时间戳操作。在另一个实施方案中,在入口侧上执行时间戳操作,但是它们用不同方法执行。

图2d示出了包处理器270的出口侧的高级框图。包处理器270包括:出口侧分类器240;出口侧时间戳功能250;和发射器260。包处理器270的操作在所有方面均类似于包处理器200的出口侧的操作。为简单起见,未示出任选的本地时钟210。如上所述,在一个实施方案中,不提供出口侧分类器240,并且仅在入口侧上提供分类器。

如上文相对于包处理器200所描述,在一个实施方案中,包处理器270被实现为cmos集成电路。在另一个实施方案中,包处理器270在fpga电路中实现。在又一个实施方案中,包处理器270在asic中实现。出口侧分类器240、出口侧时间戳功能250和发射器260中的每一者由被布置为执行上文在阶段1030–1050中描述的步骤的电路的专用部分实现。在另一个实施方案中,包处理器200在网络处理器内实现,其中出口侧分类器240、出口侧时间戳功能250和发射器260中的每一者由存储在处理器的存储器上的指令实现,该处理器被布置为响应于所存储的指令而执行上文在阶段1030-1050中描述的步骤。

图3a示出了phy300的高级框图,图3b示出了phy300的入口侧的操作的方法的高级流程图,并且图3c示出了phy300的出口侧的操作的方法的高级流程图,图3a至图3c一起描述。phy300呈现入口侧302和出口侧304。phy300还包括:phy时钟310;入口侧时间戳功能320;存储器330;出口侧时间戳功能350;和发射器360。phy时钟310、入口侧时间戳功能320、存储器330、出口侧时间戳功能350和发射器360中的每一者一般用电子电路来实现。在一个实施方案中,phy300被实现为cmos集成电路。在另一个实施方案中,phy300被实现为fpga电路或asic。phy时钟310、入口侧时间戳功能320、出口侧时间戳功能350和发射器360中的每一者由被布置为执行下文在阶段2000–2040中描述的步骤的电路的专用部分实现。入口侧时间戳功能320位于入口侧302内。出口侧时间戳功能350位于出口侧304内。

在操作中,在阶段2000中,在入口侧时间戳功能320处的入口侧302上接收数据包。在一个实施方案中,如下文将描述,在被入口侧时间戳功能320接收之前,数据包被专用解码器解码。在阶段2010中,入口侧时间戳功能320响应于phy时钟310所输出的时间信号而为数据包生成时间戳信号。具体地,phy时钟310被布置为输出指示当前时间的时间信号,如上文相对于本地时钟35所描述。在一个实施方案中,所生成的时间戳信号是包括如phy时钟310的输出时间信号所指示的当前时间的时间戳。在另一个实施方案中,如上所述,所生成的时间戳包括等于phy时钟310的输出时间信号的时间值以及等于phy300接收到数据包与对phy时钟310的时间信号进行采样之间的时间差的偏移值。如上所述,在一个实施方案中,时间戳功能320生成由包处理器接收的脉冲。包处理器记录脉冲的接收时间,从而确定数据包从phy300传输的时间。

在一个实施方案中,入口侧时间戳功能320将时间戳写入到数据包的预定区段中,如上所述,然后发射器360将数据包从phy向外传输到包处理器,诸如上述包处理器200。在一个另外的实施方案中,在从phy向外传输之前,数据包被专用编码功能编码。任选地,编码功能在发射器360内实现。在另一个实施方案中,时间戳的生成和写入由单独功能执行。在一个替代实施方案中,如下文将描述,不将时间戳写入到数据包中,并且将时间戳单独地从phy向外传输到包处理器。

在阶段2020中,在出口侧时间戳功能350处,在包处理器中的phy300的出口侧304上接收数据包。在一个实施方案中,在被出口侧时间戳功能350接收之前,数据包被专用解码器解码。在阶段2030中,出口侧时间戳功能从所接收的出口侧数据包提取指针。如上所述,所提取的指针指向存储器330的一部分。在一个实施方案中,另外从数据包移除包含指针的标头。在另一个实施方案中,指针提取由单独功能(未示出)执行。

在阶段2040中,响应于所提取的指针,出口侧时间戳功能350从所提取的指针指向的存储器330的部分检索指令。响应于所检索的指令,出口侧时间戳功能350执行多个预定时间戳操作之一。具体地,所检索的指令根据如上所述数据包的分类来指示要生成何种类型的时间戳。要从中选择的多个预定时间戳操作包括至少:响应于phy时钟310的所生成的时间信号而生成时间戳信号;不生成时间戳信号;以及修改所接收的数据包中已经写入的时间戳。修改时间戳包括在一个实施方案中从数据包提取要修改的时间戳。在另一个实施方案中,在数据包内调节时间戳的预定比特。

如上所述,对于一些分类而言,时间戳值等于由预定偏移值补偿的phy时钟310的时间信号。在另一个实施方案中,将phy时钟310的时间信号的值加到数据包中的时间戳的值,相加的结果是新时间戳。在一个实施方案中,出口侧时间戳功能350进一步将时间戳写入到数据包中,如上所述。在另一个实施方案中,从phy300单独地输出时间戳,如下文将描述。如上所述,在一个实施方案中,所生成的时间戳信号是由外部电路检测的脉冲。然后将数据包与任选写入的时间戳一起从phy300输出到相关联的系统接口。

应当注意,阶段2020–2040的出口侧操作不依赖于阶段2000–2010的入口侧操作。具体地,入口侧上执行的步骤可不同,并且这对出口侧上执行的步骤将没有影响。在一个实施方案中,不在入口侧上执行加时间戳,仅在包处理器中执行加时间戳。在另一个实施方案中,在入口侧上执行加时间戳,但是它们用不同方法执行。

图3d示出了phy370的出口侧365的高级框图,该phy包括phy本地时钟310和时间戳功能380。图3e示出了phy370的出口侧365的操作的方法的高级流程图,图3d至图3e一起描述。虽然本文仅示出和描述了phy370的出口侧365,但这并非意在以任何方式进行限制并且还提供了phy370的出口侧(未示出)。如上所述,出口侧365上的操作不依赖于入口侧上执行的操作。

如上文相对于phy300所描述,phy本地时钟310和时间戳功能380各自一般用电子电路来实现。在一个实施方案中,phy370被实现为cmos集成电路。在另一个实施方案中,phy370被实现为fpga电路或asic。phy时钟310和时间戳功能380中的每一者由被布置为执行下文在阶段2050–2070中描述的步骤的电路的专用部分实现。

在操作中,在阶段2050中,在时间戳功能380处的出口侧365上接收数据包。在一个实施方案中,如下所述,在时间戳功能380处接收之前,数据包被专用解码器解码。在阶段2060中,时间戳功能380提取阶段2050的所接收的数据包中写入的指令。在一个实施方案中,该提取由单独功能(未示出)执行。如上所述,指令指示时间戳功能380要执行哪些时间戳操作。

在阶段2070中,如上文相对于阶段2040所描述,时间戳功能380执行多个时间戳操作之一。要从中选择的多个预定时间戳操作包括至少:响应于phy时钟310的所生成的时间信号而生成时间戳信号;不生成时间戳信号;以及修改所接收的数据包中已经写入的时间戳。时间戳功能380的操作类似于时间戳功能350的操作,不同的是指令从数据包提取而不是从存储器提取。

图4示出了间接分类加时间戳系统400的高级框图。间接分类加时间戳系统400包括:phy410;和包处理器420。phy410的配置在所有方面均类似于上述phy300或phy370的配置,不同的是提供了一对解码器430、一对编码器440和时间戳发射器450。每个解码器430包括物理编码子层(pcs)解码功能和物理介质附加(pma)解码功能,如由ieee802.3标准所定义。每个编码器440包括pcs编码功能和pma编码功能,如由ieee802.3标准所定义。包处理器420的配置在所有方面均类似于上述包处理器200的配置,不同的是提供了解码器430和编码器440。

数据通信系统400的操作在所有方面均类似于如上所述包处理器200和phy300的操作。具体地,如上所述,每个入口数据包在被phy410接收时被相应解码器430解码,并且在离开phy410时被相应编码器440编码。然后编码的入口数据包在到达包处理器420时被解码器430解码。类似地,每个出口数据包在离开包处理器420之前被编码器440编码。然后编码的出口数据包在到达phy410时被相应解码器430解码,并且在离开phy410时再次被相应编码器440编码。如上进一步描述,在一个实施方案中,时间戳发射器450从phy410单独地输出为出口数据包生成的时间戳。另选地,在时间戳信号包括脉冲的实施方案中,时间戳发射器450任选地输出该脉冲。虽然时间戳发射器450被示出为仅在phy410的出口侧上,但这并非意在以任何方式进行限制。在另一个实施方案中,在phy410和包处理器420各自的入口和/或出口侧处提供时间戳发射器。在又一个实施方案中,时间戳沿着相同的数据通信路径与所传输的数据包串行地传输。

因此,phy410基于包处理器420中执行的分类来提供出口侧加时间戳。有利地,标准包处理器已经提供包分类,因此包处理器420不会给现有包处理器增加成本或功耗。

图5a示出了间接分类加时间戳系统500的高级框图。间接分类加时间戳系统500包括:多个phy410;一对包处理器420;系统功能520;和转发功能530。每个包处理器420与相应组phy410通信。在另一个实施方案(未示出)中,仅提供单个包处理器420,该单个包处理器与每个phy410通信。包处理器420还经由转发功能530来彼此通信。如上所述,数据包从每个phy410传输到相关联的包处理器420并且从每个包处理器420传输到相关联的phy410。如本领域技术人员已知,转发功能530响应于系统功能520而通过数据交换机500传输数据包。间接分类加时间戳系统500在一个非限制性实施方案中被实现为以太网交换机、集线器设备、互联网协议(ip)路由器、mpls交换机或路由器、光传输系统或无线传输系统。间接分类加时间戳系统500还可在蜂窝基站、无线电系统、或网络中要求同步的任何计算机服务器中实现。

图5b示出了间接分类加时间戳系统600的高级框图,该间接分类加时间戳系统包括:一对接口卡610,每个接口卡610包括一个或多个phy410;一对包处理卡620,每个包处理卡620包括包处理器420;和系统卡630,系统卡630包括系统功能520和转发功能530。如上所述,在一个实施方案中,每个包处理器420与多个phy410通信。如上所述,每个phy410被布置为向和从相关联的包处理器420传输和接收数据包,并且系统功能520和转发功能530在包处理器420之间传输数据包。使用单独的接口卡610、包处理卡620和系统卡630允许系统构建方面的更大灵活性。如上文相对于间接分类加时间戳系统500所描述,间接分类加时间戳系统600在一个非限制性实施方案中被实现为以太网交换机、集线器设备、互联网协议(ip)路由器、mpls交换机或路由器、光传输系统或无线传输系统。间接分类加时间戳系统600还可在蜂窝基站、无线电系统、或网络中要求同步的任何计算机服务器中实现。

应当理解,为了清楚起见而在单独实施方案的上下文中描述的本发明的某些特征也可以在单个实施方案中组合提供。相反,为简洁起见而在单个实施方案的上下文中描述的本发明的各种特征也可以单独提供或以任何合适的子组合提供。

除非另外定义,否则本文使用的所有技术和科学术语具有与本发明所属领域的普通技术人员通常理解的含义相同的含义。尽管与本文描述的方法类似或等同的方法可以用于本发明的实践或测试,但本文描述了合适的方法。

本文中提及的所有公开、专利申请、专利和其他参考都通过引用以其整体并入。如发生冲突,以专利说明书(包括定义)为准。此外,材料、方法和示例仅是说明性的并且不旨在是限制性的。

本领域技术人员将理解,本发明不限于以上特别示出和描述的内容。相反,本发明的范围由所附权利要求书限定,并且包括上文描述的各种特征的组合和子组合以及本领域技术人员在阅读前述描述时将想到的不属于现有技术的各种特征的变化和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1