CN112583775B - 一种处理报文的方法、装置和网络设备 - Google Patents

一种处理报文的方法、装置和网络设备 Download PDF

Info

Publication number
CN112583775B
CN112583775B CN201910944532.3A CN201910944532A CN112583775B CN 112583775 B CN112583775 B CN 112583775B CN 201910944532 A CN201910944532 A CN 201910944532A CN 112583775 B CN112583775 B CN 112583775B
Authority
CN
China
Prior art keywords
message
interface chip
time stamp
sending
code
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.)
Active
Application number
CN201910944532.3A
Other languages
English (en)
Other versions
CN112583775A (zh
Inventor
乐伟军
周明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201910944532.3A priority Critical patent/CN112583775B/zh
Priority to PCT/CN2020/119026 priority patent/WO2021063369A1/zh
Publication of CN112583775A publication Critical patent/CN112583775A/zh
Application granted granted Critical
Publication of CN112583775B publication Critical patent/CN112583775B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本申请实施例公开了一种处理报文的方法,提高时间戳的获取精度。该方法包括:接口芯片接收报文,所述报文包括所述报文的标识;所述接口芯片通过输出端口发送所述报文,并获取所述报文的发送时间戳,所述发送时间戳为所述接口芯片在发送所述报文时的时间戳;所述接口芯片发送第一映射关系,所述第一映射关系为所述报文的标识和所述报文的发送时间戳之间的映射关系。

Description

一种处理报文的方法、装置和网络设备
技术领域
本申请涉及通信领域,特别是涉及一种处理报文的方法、装置和网络设备。
背景技术
在一些应用场景中,获取报文的发送时间戳(time stamp)或接收时间戳是非常关键的。例如计算路径传输时延的应用场景中,第一网络设备获取向第二网络设备发送某个报文的发送时间戳T1,并获取第二网络设备接收该报文的接收时间戳T2,T2与T1的差值为该报文在从第一网络设备到第二网络设备的路径上传输的时延。
目前,获取报文的发送时间戳或接收时间戳是由处理该报文的处理芯片获取的,但是这种方式会导致获得的发送时间戳或接收时间戳有较大的误差,难以满足日益增长的对高精度时间戳的需求。
发明内容
本申请实施例提供了一种处理报文的方法、装置和网络设备,提高获取到的发送时间戳或接收时间戳的精度。
第一方面,本申请实施例提供了一种处理报文的方法,该方法可以应用于接口芯片,接口芯片可以是时钟和数据恢复(clock&data recovery,CDR)芯片、重定时器(retimer)、光数字信号处理器(optical digital signal processor,ODSP)等。该方法具体包括如下步骤:接口芯片获取报文和所述报文的标识。所述接口芯片通过输出端口发送所述报文,并获取所述报文的发送时间戳,所述发送时间戳为所述接口芯片在发送所述报文时的时间戳。其中获取报文的发送时间戳的步骤可以由接口芯片的物理介质接入(physical media attachment,PMA)层执行,也可以由物理编码子层(physical codingsublayer,PCS)执行。所述接口芯片发送第一映射关系,所述第一映射关系为所述报文的标识和所述报文的发送时间戳之间的映射关系。相对于传统的由处理芯片获取报文的发送时间戳的方案,本申请采用接口芯片获取到的报文的发送时间戳更接近于接口芯片和处理芯片所在设备真正发送报文的时间,所以提高发送时间戳的准确性。
可选的,为了减少接口芯片的负荷,只有符合预设类型的报文接口芯片才去获取其发送时间戳。具体的,所述报文还包括所述报文的类型。所述接口芯片获取所述报文的发送时间戳包括:当所述接口芯片确认所述报文的类型为预设类型时,所述接口芯片获取所述报文的发送时间戳。例如,预设类型的报文可以是1588报文。
可选的,所述报文包括第一字段,所述报文的标识和所述报文的类型存储在所述第一字段或所述报文对应的前导或所述报文对应的帧间隔中。
为了实现对报文的恢复,在所述接口芯片通过输出端口发送所述报文之前,所述方法还包括:将所述第一字段或所述报文对应的前导或所述报文对应的帧间隔中所述报文的标识和所述报文的类型替换为预设值。
在本申请实施例中,所述接口芯片发送第一映射关系可以有两种实现方式:一种是利用空闲码发送,另外一种是利用O码发送。
空闲码是接口芯片发送接口芯片接收到的报文时,在相邻两个报文之间增加的码,用于区分前后相邻的两个报文。在本申请实施例中,可以利用空闲码来携带第一映射关系。具体的,接口芯片发送第一映射关系包括:所述接口芯片获取第一空闲Idle码;所述接口芯片将所述第一空闲Idle码中的控制码替换为所述报文的标识和所述报文的发送时间戳,得到第二空闲Idle码;所述接口芯片发送所述第二空闲Idle码。通过第二空闲码携带第一映射关系可以实现发送第一映射关系的目的。
O码是一种特殊的控制码。在本申请实施例中,接口芯片可以在生成携带上述报文的标识和报文的发送时间戳的O码,并在发送接收到的报文时,将该O码插入两个相邻的报文之间,起到发送第一映射关系的目的。具体的,所述接口芯片发送第一映射关系包括:所述接口芯片生成携带有所述报文的标识和所述报文的发送时间戳的O码;所述接口芯片发送所述O码。
为了能触发O码接收方,例如处理芯片,读取O码中携带有第一映射关系的字段,所述O码包括O0字段,所述O0字段的类型为保留类型。当处理芯片接收到该O码之后,检测到O码中O0字段的类型为保留类型,从O码中提取第一映射关系。
可以理解的是,上述携带第一映射关系的方式并不构成对本申请技术方案的限定,本领域技术人员可以根据具体情况自行设计。
第二方面,本申请实施例还提供了一种处理报文的方法,该方法可以应用于接口芯片,所述方法包括:接口芯片接收报文;所述接口芯片获取所述报文的接收时间戳,所述接收时间戳为所述接口芯片接收所述报文时的时间戳;所述接口芯片发送所述报文和所述接收时间戳。相对于传统的由处理芯片获取报文的接收时间戳的方案,本申请实施例由接口芯片来获取报文的接收时间戳,由于接口芯片接收报文的时间更接近于接口芯片所在设备接收报文的时间,所以,由接口芯片来获取报文的接收时间戳更为准确。
在本申请实施例中,接口芯片可以将报文的接收时间戳携带在报文中进行发送,也可以不携带在报文中进行发送。
若携带在报文中进行发送,那么所述报文可以包括第一字段。所述接口芯片在所述报文中携带所述接收时间戳包括:所述接口芯片将所述第一字段中的值替换为所述接收时间戳。
若不携带在报文中进行发送,那么本申请实施例提供三种实现方式:
实现方式一:将接收时间戳携带在空闲码中发送。
具体的,所述接口芯片发送所述报文和所述接收时间戳包括:所述接口芯片获取第一空闲Idle码;所述接口芯片将所述第一空闲Idle码中的控制码替换为所述接收时间戳,得到第二空闲Idle码;所述接口芯片发送所述报文和所述第二空闲Idle码。
实现方式二:将接收时间戳携带在O码中发送。
具体的,所述接口芯片发送所述报文和所述接收时间戳包括:所述接口芯片生成携带所述报文的标识和所述报文的接收时间戳的O码;所述接口芯片发送所述报文和所述O码。
为了能触发接收O码的接收方,例如处理芯片,读取O码中的接收时间戳,可以将O码中O0字段的类型设置为保留类型。当接收方接收到O码之后,确认O0字段的类型设置为保留类型,则从携带有接收时间戳的字段中读取该接收时间戳。
此外,为了能让接收方知道第二空闲码或O码中携带的接收时间戳为接口芯片向其发送的报文的接收时间戳,接口芯片在向接收方发送报文时,可以将对应的第二空闲码或O码插在该报文的前面或后面,即第二空闲码或O码与报文相邻。这样,处理芯片就可以先后接收到报文和对应的携带其接收时间戳的第二空闲码或O码,并从第二空闲码或O码中提取与报文对应的接收时间戳。
可选的,所述O码包括O0字段,所述O0字段的类型为保留类型。
实现方式三:将接收时间戳携带在报文对应的前导中发送。
具体的,所述接口芯片发送所述报文和所述接收时间戳包括:所述接口芯片在所述报文的前导中携带所述接收时间戳并进行发送。
可以理解的是,上述携带接收时间戳的方式并不构成对本申请技术方案的限定,本领域技术人员可以根据具体情况自行设计。
第三方面,本申请实施例还提供了一种处理报文的装置,所述装置应用于接口芯片,所述装置包括:获取单元,用于获取报文和所述报文的标识;发送单元,用于通过输出端口发送所述报文;处理单元,用于获取所述报文的发送时间戳,所述发送时间戳为所述接口芯片在发送所述报文时的时间戳;所述发送单元,还用于发送第一映射关系,所述第一映射关系为所述报文的标识和所述报文的发送时间戳之间的映射关系。
可选的,所述报文还包括所述报文的类型;
所述处理单元,用于当确认所述报文的类型为预设类型时,获取所述报文的发送时间戳。
可选的,所述预设类型为1588报文。
可选的,所述报文包括第一字段,所述报文的标识和所述报文的类型存储在所述第一字段或所述报文对应的前导中或所述报文对应的帧间隔中;
所述处理单元,还用于所述接口芯片通过输出端口发送所述报文之前,将所述第一字段或所述报文对应的前导中或所述报文对应的帧间隔中所述报文的标识和所述报文的类型替换为预设值。
可选的,所述发送单元,用于获取第一空闲Idle码,并将所述第一空闲Idle码中的控制码替换为所述报文的标识和所述报文的发送时间戳,得到第二空闲Idle码,发送所述第二空闲Idle码。
可选的,所述发送单元,用于生成携带有所述报文的标识和所述报文的发送时间戳的O码;发送所述O码。
可选的,所述O码包括O0字段,所述O0字段的类型为保留类型。
第四方面,本申请实施例提供了一种处理报文的装置,所述装置应用于接口芯片,所述装置包括:接收单元,用于接收报文;处理单元,用于获取所述报文的接收时间戳,所述接收时间戳为所述接口芯片接收所述报文时的时间戳;发送单元,用于发送所述报文和所述接收时间戳。
可选的,所述发送单元,用于在所述报文中携带所述接收时间戳,并发送所述报文。
可选的,所述报文包括第一字段;
所述发送单元,用于将所述第一字段中的值替换为所述接收时间戳。
可选的,所述发送单元,用于在所述报文对应的前导中携带所述接收时间戳并进行发送。
可选的,所述发送单元,用于获取第一空闲Idle码,将所述第一空闲Idle码中的控制码替换为所述接收时间戳,得到第二空闲Idle码,并发送所述报文和所述第二空闲Idle码。
可选的,所述发送单元,用于生成携带所述报文的标识和所述报文的接收时间戳的O码,并发送所述报文和所述O码。
可选的,所述O码包括O0字段,所述O0字段的类型为保留类型。
第五方面,本申请实施例还提供了一种计算机可读存储介质,包括计算机程序,当其在计算机上运行时,使得计算机执行上述处理报文的方法。
第六方面,本申请实施例还提供了一种网络设备,该网络设备包括上述第三方面中任一所述的装置和第四方面中任一所述的装置。
附图说明
图1为本申请实施例提供的设备的硬件架构图;
图2为本申请实施例提供的网络设备的硬件架构图;
图3为本申请实施例提供的一种处理报文的方法的信令图;
图4为本申请实施例提供的报文的前导的66B编码的示意图
图5为本申请实施例提供的接口芯片102的示意图;
图6为本申请实施例提供的空闲码格式的示意图;
图7为本申请实施例提供的40G/100G接口的O码格式的示意图;
图8为本申请实施例提供的本申请实施例提供的另外一种处理报文的方法的信令图;
图9为本申请实施例提供的接口芯片102的另外一个示意图;
图10为本申请实施例提供的处理报文的装置的结构框图;
图11为本申请实施例提供的处理报文的装置的另外一个结构框图。
具体实施方式
传统技术采用处理报文的处理芯片来获取报文的发送时间戳或接收时间戳,导致获取的时间戳有较大的误差。
对于接收报文场景而言,报文先被接口芯片接收,然后由接口芯片将报文传输给处理芯片,处理芯片获取报文的接收时间戳。而处理芯片获取到的报文的接收时间戳,是处理芯片接收该报文的时间戳。但实际上,由于报文在接口芯片中传输有一定的时延,所以报文被处理芯片接收的时间并不是处理芯片所在设备真正接收报文的时间,因而将处理芯片获取到的报文的接收时间戳作为设备接收报文的时间戳进行处理不准确。
发送报文场景和接收报文场景类似,处理芯片将报文发送给接口芯片,并获取报文的发送时间戳,由接口芯片将报文发送出去。而处理芯片获取到的报文的发送时间戳,是处理芯片将报文发送给接口芯片的时间戳。但实际上,由于报文在接口芯片中传输有一定的时延,所以报文从处理芯片发送的时间并不是处理芯片所在设备真正发送报文的时间,因而处理芯片获取到的报文的发送时间戳作为设备接收报文的时间戳进行处理不准确。
为了解决上述技术问题,本申请实施例提供了一种处理报文的方法,在该方法中,将接口芯片接收报文的时间戳作为报文的接收时间戳,或将接口芯片发送报文的时间戳作为报文的发送时间戳,由于接口芯片获取到的发送时间戳或接收时间戳,与接口芯片和处理芯片所在设备真正发送报文的时间或接收报文的时间更加接近,所以实现了提高获取报文的发送时间戳或接收时间戳的准确性。
在详细介绍上述技术方案之前,首先介绍一下本申请实施例所应用的硬件场景架构。
参见图1,该图为本申请实施例提供的设备的硬件架构图。
在该图中,设备100包括处理芯片101和接口芯片102。处理芯片101和接口芯片102连接。
其中,所述处理芯片101可以是中央处理器(central processing unit,CPU)、微处理器(micro processor unit,MPU)、网络芯片(networking processor,NP)等。接口芯片102可以是时钟和数据恢复(clock&data recovery,CDR)芯片、重定时器(retimer)、光数字信号处理器(optical digital signal processor,ODSP)等。
所述设备100可以是网络设备或终端设备等。
网络设备包括路由器、交换机或分组传送网(packet transport network,PTN)设备等。
当设备100为网络设备时,所述网络设备包括线卡(line card)、主控板(mainprocessing unit,MPU)和背板,线卡和MPU通过背板互联。如图2所示,线卡和MPU可通过连接器与背板互联。线卡也称为线路板(line processing unit,LPU),用于转发报文,按照转发能力可以分为10G(gigabit,吉比特)、20G、40G、50G、100G、120G、240G等。MPU负责网络设备的集中控制和管理,比如MPU可以执行路由计算、设备管理和维护功能、数据配置功能、保存数据等功能。网络设备也可以包括物理接口卡(physical interface card,PIC),PIC可以插在线卡的接口板上,负责把光电信号转换为数据帧并对数据帧进行“合法性”检查。在有些实施例中,所述网络设备也包括交换网板(switch fabric),交换网板也称为交换网板单元(switch fabric unit,SFU),负责各个LPU之间的数据交换。所述交换网板可以通过背板与主控板及线卡互联。
在本申请实施例中,处理芯片101和接口芯片102可以均属于线卡,也可以是处理芯片101属于主控板,接口芯片102属于线卡。
当设备100是终端设备时,终端设备又称之为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)、终端等,是一种向用户提供语音和/或数据连通性的设备,或,设置于该设备内的芯片,例如,具有无线连接功允许的手持式设备、车载设备等。目前,一些终端设备的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
参见图3,该图为本申请实施例提供的一种处理报文的方法,该方法可以应用于上述处理芯片101和接口芯片102,具体包括如下步骤:
S101:处理芯片101向接口芯片102发送报文。
在本申请实施例中,处理芯片101向接口芯片102发送的报文中携带有报文的标识,该报文的标识可以是该报文的序列号等。该报文的报文类型可以是1588报文等,本申请不做具体限定。其中,1588报文是指符合电气和电子工程师协会(institute ofelectrical and electronics engineers,IEEE)1588协议的报文。
在本申请实施例中,报文的标识可以存储在报文的第一字段、所述报文对应的前导或所述报文对应的帧间隔中。例如,当报文为1588报文时,报文的标识可以存储在报文对应的前导的66B编码中。
参见图4,该图为报文的对应的前导的66B编码的示意图。在该图中,66B编码包括D1字段、D2字段、D3字段、D4字段、D5字段和D6字段(上述字段图中用灰色的方块表示),报文的标识可以存储在上述6个字段的一个或多个字段中,替换字段中原有的值。
可选的,报文中还可以携带有报文的类型。具体的,报文的类型也可以携带在报文的第一字段、所述报文对应的前导或所述报文对应的帧间隔中。例如,当所述报文为1588报文时,所述报文的类型也可以存储在上述66B编码的上述6个字段中的其中一个或多个,替换字段中原有的值。
S102:接口芯片102接收来自处理芯片101的报文,并获取报文的标识。
在本申请实施例中,接口芯片102至少包括两个端口,一个端口与处理芯片101连接,即端口1,用于接收来自处理芯片101的报文;另一个端口为输出端口,即端口2,用于向其他设备发送该报文。
上述两个端口中每个端口都分别有一个物理介质接入(physical mediaattachment,PMA)层和一个物理编码子层(physical coding sublayer,PCS)。
参见图5,该图为接口芯片102的示意图。在该图中,接口芯片102包括PMA1、PCS和PMA2,其中,PMA1为接口芯片102中与处理芯片101连接的端口的PMA,PMA2为接口芯片102输出端口的PMA,PCS为接口芯片102中与处理芯片101连接的端口的PCS和输出端口的PCS合并之后的PCS。
在图5中,PMA1将从端口1接收到的报文传输给PCS。PCS从报文中提取报文的标识。
可选的,当PCS将报文的标识从报文的某个或某些字段中提取出来之后,还可以将处理芯片101将该些字段中的值替换为填充报文的标识之前的值,以对报文进行恢复。
例如,假设报文的标识存储在图4所示的D4字段-D6字段,这些字段原来的值均为0x55。当PCS将报文的标识从D4字段-D6字段提取出来之后,可以将0x55填入该D4字段-D6字段中,以将报文恢复成没有加入报文的标识的状态。
当报文中还携带有报文的类型时,与报文的标识类似,PCS可以将报文的类型从报文的某个或某些字段中提取出来,并将这些字段的值替换为填入报文的类型之前的值,以对报文进行恢复。
例如,假设报文的类型存储在图4所示的D1字段-D3字段,这些字段原来的值为0x55。当PCS将报文的类型从D1字段-D3字段提取出来之后,可以将0x55填入该D1字段-D3字段中,以将报文恢复为没有加入报文的类型的状态。
S103:接口芯片102通过输出端口发送报文,并获取该报文的发送时间戳。
在本申请实施例中,报文的发送时间戳为接口芯片102通过输出端口发送报文时的时间戳,该发送时间戳可以作为设备100发送该报文的时间戳。
由于接口芯片102获取报文的发送时间戳的具体方式与传统的由处理芯片获取报文的发送时间戳的具体方式相同,此处不再赘述。
在本申请实施例中,接口芯片102获取报文的发送时间戳,可以由PMA2来执行,也可以由PCS来执行。
若为由PMA2来执行,PCS在将报文的标识从报文中提取出来之后,可以将报文(可以是上述恢复之后的报文)和报文的标识发给PMA2,PMA2通过端口2发送该报文,并获取报文的发送时间戳。然后,PMA2将报文的标识和该报文的发送时间戳发送给PCS,以便PCS建立第一映射关系,该第一映射关系为报文的标识和该报文的发送时间戳的映射关系。
若为由PCS来执行,那么PCS在将报文的标识从报文中提取出来之后,可以向PMA2发送该报文(可以是上述恢复之后的报文),并获取向PMA2发送时的时间戳,作为报文的发送时间戳。这样,PCS就可以建立起第一映射关系,即报文的标识和该报文的发送时间戳的映射关系。
当然,可以理解的是,接口芯片102获取发送时间戳的时机越靠近端口2越准确,因为越靠近端口2意味着越接近设备100真正发送报文的时间。
若报文中还包括报文的类型,则PCS可以判断报文的类型是否为预设类型,如果是,则PCS可以执行上述令PMA2获取报文的发送时间戳或PCS自己获取报文的发送时间戳的步骤。因为在实际应用中,不是每个报文都需要获取其被发送时间戳,只有特定的报文才需要,通过判断报文的类型,符合预设类型的报文才去获取其发送时间戳,这样能够减少接口芯片102的负荷。例如1588报文通常需要获取其发送时间戳,那么当PCS判断出报文的类型为1588报文之后,执行后续获取该1588报文的发送时间戳的步骤。
此外,可以理解的是,若报文为1588报文,那么报文的时间戳为IEEE 1588时间戳。
S104:接口芯片102向处理芯片101发送第一映射关系,所述第一映射关系为所述报文的标识和所述报文的发送时间戳之间的映射关系。
在本申请实施例中,当PCS建立了第一映射关系之后,可以发送给PMA1,由PMA1发送给处理芯片101,处理芯片101可以利用该第一映射关系执行后续处理,例如计算报文在传输路径上的时延等。
可选的,第一映射关系可以携带在接口芯片102向处理芯片101发送的空闲(idle)码或O码中。
空闲码是接口芯片102在向处理芯片101发送接口芯片102接收到的报文时,在相邻两个报文之间增加的码,用于区分前后相邻的两个报文。例如接口芯片102先后接收到来自其他设备的相邻两个报文,即报文1和报文2,接口芯片102在报文1和报文2之间插入空闲码。业务处理芯片101在接收到报文1、空闲码和报文2之后,对空闲码进行识别,空闲码之前的报文为报文1,空闲码之后的报文为报文2。
在本申请实施例中,可以利用空闲码来携带第一映射关系。具体的,接口芯片102获取第一空闲码,然后接口芯片102将所述第一空闲码中的控制码替换为报文的标识和所述报文的发送时间戳,得到第二空闲码。最后,接口芯片102向处理芯片101发送第二空闲码。
参见图6,该图为空闲码格式的示意图。空闲码中的控制码包括C1字段、C2字段、C3字段、C4字段、C5字段、C6字段和C7字段中的码。作为一种可能的实现方式,C1字段、C2字段、C3字段、C4字段、C5字段、C6字段和C7字段中的控制码可以均为0。
接口芯片102可以将第一映射关系,即报文的标识和报文的发送时间戳,存储在第一空闲码的C1字段、C2字段、C3字段、C4字段、C5字段、C6字段和C7字段(上述字段图中用灰色的方块表示)中的一个或多个字段中,替换这些字段中原有的控制码。
O码是一种特殊的控制码。在本申请实施例中,接口芯片102可以在生成携带上述报文的标识和报文的发送时间戳的O码,并在向处理芯片101发送接收到的报文时,将该O码插入两个相邻的报文之间,起到向处理芯片101发送第一映射关系的目的。
参见图7,该图为40G/100G接口的O码格式的示意图。在该图中,O码包括D1字段、D2字段和D3字段(上述字段图中用灰色的方块表示)、O0字段和保留(reserved)字段。
接口芯片102可以将第一映射关系,即报文的标识和报文被发送时的时间戳,存储在该O码中的D1字段、D2字段、D3字段和保留字段中的一个或多个字段中,替换这些字段中原有的数据。
此外,为了能触发处理芯片101读取O码中携带有第一映射关系的字段,接口芯片102可以将该O码中O0字段的类型设置为保留类型。当处理芯片101接收到该O码之后,检测到O码中O0字段的类型为保留类型,处理芯片101基于此从D1字段、D2字段、D3字段和保留字段中的一个或多个字段中提取报文的标识和报文的发送时间戳。
综上所述,本申请实施例由接口芯片102来获取报文的发送时间戳,并且将报文的发送时间戳发送给处理芯片101,以便处理芯片101根据报文的发送时间戳做后续进一步处理。相对于传统的由处理芯片101获取报文的发送时间戳而言,接口芯片102获取到的发送时间戳更接近于接口芯片102和处理芯片101所在设备100发送该报文的真正时间,所以更为准确。
参见图8,该图为本申请实施例提供的另外一种处理报文的方法,该方法可以由上述处理芯片101和接口芯片102来实现,该方法具体包括如下步骤:
S201:接口芯片102接收报文,并获取该报文的接收时间戳。
在本申请实施例中,报文的接收时间戳为接口芯片102接收报文的时间戳。
由于接口芯片102获取报文的接收时间戳的具体方式与传统的由处理芯片获取报文的接收时间戳的具体方式相同,此处不再赘述。
S202:接口芯片102向处理芯片101发送所述报文和所述接收时间戳。
在本申请实施例中,接口芯片102可以将获取到的报文的接收时间戳和该报文一起发送给处理芯片101,以便处理芯片101根据报文的接收时间戳进行进一步的处理,例如计算报文在传输路径中的时延等。
在本申请实施例中,接口芯片102可以将报文的接收时间戳携带在报文中发送给处理芯片101,也可以不携带在报文中发送给处理芯片101。
若接口芯片102将报文的接收时间戳携带在报文中发送给处理芯片101,那么接口芯片102可以将报文的第一字段中的值替换为报文的接收时间戳。
若接口芯片102不将报文的接收时间戳携带在报文中,而是独立于报文发送给处理芯片101,那么接口芯片102可以将报文的接收时间戳携带在报文的对应的前导中、空闲码中或O码中发送给处理芯片101。
若将接收时间戳携带在报文对应的前导中,那么接口芯片102可以将报文对应的前导的值替换为报文的接收时间戳。以图4为例,前导可以包括D1字段、D2字段、D3字段、D4字段、D5字段和D6字段中的其中一个或多个字段。
当处理芯片101接收到报文之后,可以从报文对应的前导中获取报文的接收时间戳。
若将接收时间戳携带在空闲码中,那么具体的,接口芯片102可以获取第一空闲码,然后将所述第一空闲码中的控制码替换为所述接收时间戳,得到第二空闲码。最后,接口芯片102向所述处理芯片101发送所述报文和所述第二空闲码。
可选的,接口芯片102可以将接收时间戳携带在第二空闲码的C1字段、C2字段、C3字段、C4字段、C5字段、C6字段和C7字段中的其中一个或多个字段中进行发送。
若将接收时间戳携带在O码中,那么具体的,接口芯片102生成携带所述报文的标识和所述报文的接收时间戳的O码,并向所述处理芯片101发送所述报文和所述O码。
可选的,接口芯片102可以将接收时间戳携带在O码的D1字段、D2字段、D3字段和保留字段中的一个或多个字段中。
为了能触发处理芯片101读取O码中的接收时间戳,可以将O码中O0字段的类型设置为保留类型。当处理芯片101接收到O码之后,确认O0字段的类型设置为保留类型,则从携带有接收时间戳的字段中读取该接收时间戳。
为了能让处理芯片101知道第二空闲码或O码中携带的接收时间戳为接口芯片102向其发送的报文的接收时间戳,接口芯片102在向处理芯片101发送报文时,可以将对应的第二空闲码或O码插在该报文的前面或后面,即第二空闲码或O码与报文相邻。这样,处理芯片101就可以先后接收到报文和对应的携带其接收时间戳的第二空闲码或O码。
例如,接口芯片102在向处理芯片101发送报文时,将对应的第二空闲码或O码插在该报文的后面。处理芯片101先接收报文,然后从紧接着接收到的第二空闲码或O码中提取该报文的接收时间戳。
当然,报文和第二空闲码或O码也可以不相邻,只要接口芯片102和处理芯片101约定好即可。
在本申请实施例中,接口芯片102至少包括两个端口,一个端口与其他设备连接,即端口1,用于接收来自其他设备的报文;另一个端口和处理芯片101连接,即端口2,用于向处理芯片101发送报文。
上述两个端口中每个端口都分别有一个PMA和一个PCS。参见图9,该图为接口芯片102的另外一个示意图。在该图中,接口芯片102包括PMA1、PCS和PMA2,其中,PMA1为接口芯片102中与其他设备连接的端口的PMA,PMA2为接口芯片102与处理芯片101连接的端口的PMA,PCS为接口芯片102中与处理芯片101连接的端口的PCS和与其他设备连接的端口的PCS合并之后的PCS。
在本申请实施例中,可以由PMA1获取报文的接收时间戳,也可以由PCS来获取报文的接收时间戳。无论是前者还是后者,都由PCS将报文的接收时间戳携带在报文中,并将携带有时间戳的报文通过PMA2发送给处理芯片101,或者由PCS将报文的接收时间戳携带在第二空闲码或O码中,连同报文一起发送给处理芯片101。
相对于传统的由处理芯片101获取报文的接收时间戳的方案,本申请实施例由接口芯片102来获取报文的接收时间戳,由于接口芯片102接收报文的时间更接近于设备100接收报文的时间,所以,由接口芯片102来获取报文的接收时间戳更为准确。
参见图10,本申请实施例还提供了一种处理报文的装置1000,所述装置应用于接口芯片,所述装置包括:
获取单元1001,用于获取报文和所述报文的标识;发送单元,用于通过输出端口发送所述报文;
处理单元1002,用于获取所述报文的发送时间戳,所述发送时间戳为所述接口芯片在发送所述报文时的时间戳;
发送单元1003,还用于发送第一映射关系,所述第一映射关系为所述报文的标识和所述报文的发送时间戳之间的映射关系。
由于所述装置1000是与以上图2所示方法实施例提供的、由接口芯片102执行的报文处理方法对应的装置,所述装置1000的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置1000的各个单元的具体实现,可以参考以上方法实施例中、由接口芯片102执行的报文处理方法的描述部分,此处不再赘述。
参见图11,本申请实施例提供了一种处理报文的装置1100,所述装置应用于接口芯片,所述装置包括:
接收单元1101,用于接收报文;
处理单元1102,用于获取所述报文的接收时间戳,所述接收时间戳为所述接口芯片接收所述报文时的时间戳;
发送单元1103,用于发送所述报文和所述接收时间戳。
由于所述装置1100是与以上图8所示方法实施例提供的、由接口芯片102执行的报文处理方法对应的装置,所述装置1100的各个单元的具体实现,均与以上方法实施例为同一构思,因此,关于所述装置1100的各个单元的具体实现,可以参考以上方法实施例中、由接口芯片102执行的报文处理方法的描述部分,此处不再赘述。
本申请实施例还提供了一种设备,该设备包括图10所示的接口芯片1000和处理芯片。该处理芯片所实现的功能请参见图3和图8所示的处理芯片101的步骤。
本申请实施例还提供了一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行上述应用于接口芯片1000的报文处理方法。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑模块划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要获取其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各模块单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件模块单元的形式实现。
所述集成的单元如果以软件模块单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已。

Claims (16)

1.一种处理报文的方法,其特征在于,所述方法包括:
接口芯片获取报文和所述报文的标识;
所述接口芯片通过输出端口发送所述报文,并获取所述报文的发送时间戳,所述发送时间戳为所述接口芯片在发送所述报文时的时间戳;
所述接口芯片发送第一映射关系,所述第一映射关系为所述报文的标识和所述报文的发送时间戳之间的映射关系;
所述接口芯片发送第一映射关系包括:
所述接口芯片生成携带有所述报文的标识和所述报文的发送时间戳的O码;
所述接口芯片发送所述O码。
2.根据权利要求1所述的方法,其特征在于,所述报文还包括所述报文的类型;
所述接口芯片获取所述报文的发送时间戳包括:
当所述接口芯片确认所述报文的类型为预设类型时,所述接口芯片获取所述报文的发送时间戳。
3.根据权利要求2所述的方法,其特征在于,所述预设类型为1588报文。
4.根据权利要求2或3所述的方法,其特征在于,所述报文包括第一字段,所述报文的标识和所述报文的类型存储在所述第一字段或所述报文对应的前导或所述报文对应的帧间隔中;
在所述接口芯片通过输出端口发送所述报文之前,所述方法还包括:
将所述第一字段或所述报文对应的前导或所述报文对应的帧间隔中所述报文的标识和所述报文的类型替换为预设值。
5.根据权利要求1所述的方法,其特征在于,所述O码包括O0字段,所述O0字段的类型为保留类型。
6.一种处理报文的方法,其特征在于,所述方法包括:
接口芯片接收报文;
所述接口芯片获取所述报文的接收时间戳,所述接收时间戳为所述接口芯片接收所述报文时的时间戳;
所述接口芯片发送所述报文和所述接收时间戳;
所述接口芯片发送所述报文和所述接收时间戳包括:
所述接口芯片生成携带所述报文的标识和所述报文的接收时间戳的O码;
所述接口芯片发送所述报文和所述O码。
7.根据权利要求6所述的方法,其特征在于,所述O码包括O0字段,所述O0字段的类型为保留类型。
8.一种处理报文的装置,其特征在于,所述装置应用于接口芯片,所述装置包括:
获取单元,用于获取报文和所述报文的标识;
发送单元,用于通过输出端口发送所述报文;
处理单元,用于获取所述报文的发送时间戳,所述发送时间戳为所述接口芯片在发送所述报文时的时间戳;
所述发送单元,还用于发送第一映射关系,所述第一映射关系为所述报文的标识和所述报文的发送时间戳之间的映射关系;
所述发送单元,用于生成携带有所述报文的标识和所述报文的发送时间戳的O码;发送所述O码。
9.根据权利要求8所述的装置,其特征在于,所述报文还包括所述报文的类型;
所述处理单元,用于当确认所述报文的类型为预设类型时,获取所述报文的发送时间戳。
10.根据权利要求9所述的装置,其特征在于,所述预设类型为1588报文。
11.根据权利要求9或10所述的装置,其特征在于,所述报文包括第一字段,所述报文的标识和所述报文的类型存储在所述第一字段或所述报文对应的前导或所述报文对应的帧间隔中;
所述处理单元,还用于所述接口芯片通过输出端口发送所述报文之前,将所述第一字段或所述报文对应的前导或所述报文对应的帧间隔中所述报文的标识和所述报文的类型替换为预设值。
12.根据权利要求8所述的装置,其特征在于,所述O码包括O0字段,所述O0字段的类型为保留类型。
13.一种处理报文的装置,其特征在于,所述装置应用于接口芯片,所述装置包括:
接收单元,用于接收报文;
处理单元,用于获取所述报文的接收时间戳,所述接收时间戳为所述接口芯片接收所述报文时的时间戳;
发送单元,用于发送所述报文和所述接收时间戳;
所述发送单元,用于生成携带所述报文的标识和所述报文的接收时间戳的O码,并发送所述报文和所述O码。
14.根据权利要求13所述的装置,其特征在于,所述O码包括O0字段,所述O0字段的类型为保留类型。
15.一种计算机可读存储介质,其特征在于,包括计算机程序,当其在计算机上运行时,使得计算机执行权利要求1-7任意一项所述的方法。
16.一种网络设备,其特征在于,包括权利要求8-12中任一所述的装置,以及权利要求13-14中任一所述的装置。
CN201910944532.3A 2019-09-30 2019-09-30 一种处理报文的方法、装置和网络设备 Active CN112583775B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910944532.3A CN112583775B (zh) 2019-09-30 2019-09-30 一种处理报文的方法、装置和网络设备
PCT/CN2020/119026 WO2021063369A1 (zh) 2019-09-30 2020-09-29 一种处理报文的方法、装置和网络设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910944532.3A CN112583775B (zh) 2019-09-30 2019-09-30 一种处理报文的方法、装置和网络设备

Publications (2)

Publication Number Publication Date
CN112583775A CN112583775A (zh) 2021-03-30
CN112583775B true CN112583775B (zh) 2024-04-12

Family

ID=75116728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910944532.3A Active CN112583775B (zh) 2019-09-30 2019-09-30 一种处理报文的方法、装置和网络设备

Country Status (2)

Country Link
CN (1) CN112583775B (zh)
WO (1) WO2021063369A1 (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102420735A (zh) * 2011-12-20 2012-04-18 陕西海泰电子有限责任公司 一种基于硬件提取1588时间戳的lxi接口电路
WO2012106940A1 (zh) * 2011-07-28 2012-08-16 华为技术有限公司 一种以太网设备处理方法和装置
CN102783079A (zh) * 2010-03-02 2012-11-14 维特赛半导体公司 基于包的分布式时间戳引擎
CN103427927A (zh) * 2012-05-17 2013-12-04 中兴通讯股份有限公司 Mpls-tp网络实现时钟同步的方法及装置
CN105323054A (zh) * 2014-06-26 2016-02-10 中兴通讯股份有限公司 时钟同步方法及装置
CN106101123A (zh) * 2016-06-30 2016-11-09 北京东土军悦科技有限公司 基于vxWorks操作系统的二层报文的解析方法及装置
CN107294634A (zh) * 2017-06-13 2017-10-24 烽火通信科技股份有限公司 一种分布式系统上实现1588时间同步的集中式方法
CN109257194A (zh) * 2017-07-12 2019-01-22 中兴通讯股份有限公司 处理承载通道的oam信息的方法、装置、设备及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101557285A (zh) * 2009-04-30 2009-10-14 上海大学 一种千兆以太网同频时钟传输方法及系统
US10432337B2 (en) * 2015-05-15 2019-10-01 Avago Technologies International Sales Pte. Limited Apparatus and method for timestamping of data packets
US10887211B2 (en) * 2017-09-18 2021-01-05 Microsemi Storage Solutions, Inc. Indirect packet classification timestamping system and method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102783079A (zh) * 2010-03-02 2012-11-14 维特赛半导体公司 基于包的分布式时间戳引擎
WO2012106940A1 (zh) * 2011-07-28 2012-08-16 华为技术有限公司 一种以太网设备处理方法和装置
CN102420735A (zh) * 2011-12-20 2012-04-18 陕西海泰电子有限责任公司 一种基于硬件提取1588时间戳的lxi接口电路
CN103427927A (zh) * 2012-05-17 2013-12-04 中兴通讯股份有限公司 Mpls-tp网络实现时钟同步的方法及装置
CN105323054A (zh) * 2014-06-26 2016-02-10 中兴通讯股份有限公司 时钟同步方法及装置
CN106101123A (zh) * 2016-06-30 2016-11-09 北京东土军悦科技有限公司 基于vxWorks操作系统的二层报文的解析方法及装置
CN107294634A (zh) * 2017-06-13 2017-10-24 烽火通信科技股份有限公司 一种分布式系统上实现1588时间同步的集中式方法
CN109257194A (zh) * 2017-07-12 2019-01-22 中兴通讯股份有限公司 处理承载通道的oam信息的方法、装置、设备及系统

Also Published As

Publication number Publication date
WO2021063369A1 (zh) 2021-04-08
CN112583775A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN110224775B (zh) 一种时间信息确定的方法、装置及设备
US8565095B2 (en) Context controlled data tap utilizing parallel logic for integrated link monitoring
CN101997669B (zh) 光传送网承载时间同步协议时的时间校正方法及系统
CN104113517A (zh) 时间戳生成方法、装置及系统
CN102202386B (zh) 一种时钟同步的方法、装置和系统
CN108521343A (zh) 一种oam报文的处理方法及装置
WO2022052609A1 (zh) 时延补偿方法、装置、设备及计算机可读存储介质
US11412508B2 (en) Data transmission method and device
GB2366161A (en) Communications apparatus and method of communicating timing information
US6452946B1 (en) Apparatus and method for improving performance in master and slave communications systems
CN112583477B (zh) 一种延时测量方法、系统和存储介质
EP3541088A1 (en) Method, device and system for bearing frame number of multichannel passive optical network, and storage medium
CN110858790B (zh) 一种数据包的传输方法、装置、存储介质及电子装置
CN112583775B (zh) 一种处理报文的方法、装置和网络设备
US9014188B2 (en) Communication system
EP2760173A1 (en) Data transmission method, device and system
CN102209037B (zh) 媒体访问控制地址的切换方法、网络设备和用户设备
EP3618317A1 (en) Message sending method and message receiving method and apparatus
CN108574530B (zh) 数据发送、接收方法及装置以及多通道epon系统
CN114640615B (zh) 一种路由通告方法、路由生成方法及设备
CN102904660A (zh) 通信设备、分组化周期改变方法及程序
CN109995453B (zh) 一种信息处理方法、装置、设备及计算机可读存储介质
KR101958374B1 (ko) 네트워크 내의 지연을 정확하게 추정하는 서비스들, 시스템들 및 방법들
CN114731205A (zh) 一种时钟同步方法及装置
CN113364551B (zh) 一种配电网站域式保护装置的时钟同步方法及装置

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