CN102780639B - 一种路由器线卡及数据处理方法 - Google Patents

一种路由器线卡及数据处理方法 Download PDF

Info

Publication number
CN102780639B
CN102780639B CN201210291343.9A CN201210291343A CN102780639B CN 102780639 B CN102780639 B CN 102780639B CN 201210291343 A CN201210291343 A CN 201210291343A CN 102780639 B CN102780639 B CN 102780639B
Authority
CN
China
Prior art keywords
tdm
message
ethernet message
length
port
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
CN201210291343.9A
Other languages
English (en)
Other versions
CN102780639A (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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201210291343.9A priority Critical patent/CN102780639B/zh
Publication of CN102780639A publication Critical patent/CN102780639A/zh
Application granted granted Critical
Publication of CN102780639B publication Critical patent/CN102780639B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

本申请公开了一种路由器线卡及其数据处理方法,包括:该路由器线卡主板的处理器中配置TDM端口速率T0和以太端口速率T1;该处理器构造欲由以太端口向TDM端口发送的以太报文,确定所述T0与T1的比值a,在该以太报文的内部或外部添加消耗数据,该消耗数据的长度b满足后述关系:该以太报文中的TDM净荷数据的长度p与添加了所述消耗数据的以太报文的长度的比值等于或近似等于a;所述处理器将所述在内部或外部添加了消耗数据的以太报文通过以太端口以及以太总线发送到设置在TDM端口处的可编程器件;所述可编程器件从以太报文中提取出所述TDM净荷数据,封装成TDM报文从TDM端口发出。利用本发明,可用较低的成本和处理开销,降低从以太端口到TDM端口的流量波动。

Description

一种路由器线卡及数据处理方法
技术领域
本申请涉及网络通信技术领域,尤其涉及一种路由器线卡和路由器线卡的数据处理方法。
背景技术
在以多核网络处理器作为转发核心的路由器中,利用丰富的以太端口连接各种时分复用(TDM,Time Division Multiplexing)接口成为业界的一种普遍设计方案。但是,采用这种设计的以太总线速率都大于TDM总线速率,因此会造成以太端口的流量波动大、带宽不平稳的问题。针对这个问题,需要对从以太端口发送到TDM端口方向的数据流的速度进行控制,这种控制方式简称为流控。
在目前的现有技术中,主要有三种流控方案:
现有技术一、带外硬流控,就是利用额外的硬件信号向数据的发送端即路由器线卡中的处理器传送反压信号,这种反压信号是一种流控信号,用于通知所述处理器对发出的数据流量进行限制。但是这种方案有两方面不足,第一是没有理想的方法将所述流控信号快速有效地传递给所述路由器线卡的处理器,流控的反应速度太慢,而且需要频繁的向处理器传送流控信号,流控效果不好,导致数据流量波动还是较大;第二是TDM端口侧需要一个较大的缓存芯片来保存数据流量,提高了硬件成本。
现有技术二、带内软流控,就是在路由器线卡内部通过自定义的流控报文向数据的发送端即所述路由器线卡中的处理器传递反压信号,处理器根据所述反压信号对发出的数据流量进行限制。但是,这种方法也存在与现有技术一相同的两方面的不足,即第一是流控的反应速度慢,流控效果不好;第二是TDM侧需要一个较大缓存芯片保存数据流量,硬件成本高。
现有技术三、在路由器线卡的处理器中采用软件算法对发往TDM端口的报文进行限速,具体的算法包括:利用处理器的定时器对报文的发送速度进行计算,使报文的发送速度符合TDM端口的速率。但是,这种算法由于要用到处理器的定时器资源,过程非常复杂,需要大大增加处理器的开销,并且也不能保证有很好的流控效果。
总之,目前还没有一种现有技术可以用较低的成本和处理开销,降低从以太端口到TDM端口的流量波动,提高以太端口和TDM端口之间的带宽平稳性。
发明内容
有鉴于此,本发明的主要目的在于提供一种路由器线卡和路由器线卡的数据处理方法,以用较低的成本和处理开销,降低从以太端口到TDM端口的流量波动,提高以太端口和TDM端口之间的带宽平稳性。
本发明的技术方案是这样实现的:
一种路由器线卡的数据处理方法,包括:
在路由器线卡的处理器中配置时分复用TDM端口速率T0和以太端口速率T1;
所述处理器构造欲由以太端口向TDM端口发送的以太报文,确定所述TDM端口速率T0与以太端口速率T1的比值a,在该以太报文的内部或外部添加消耗数据,该消耗数据的长度b满足后述关系:该以太报文中的TDM净荷数据的长度p与添加了所述消耗数据的以太报文的长度的比值等于或近似等于a;
所述处理器将所述在内部或外部添加了消耗数据的以太报文通过以太端口以及以太总线发送到可编程器件的以太端口处;
所述可编程器件从以太报文中提取出所述TDM净荷数据,封装成TDM报文从TDM端口发出。
在一种优选方式中,所述在以太报文的内部添加消耗数据的具体方法包括:
在所述以太报文的内部增加填充字节,该填充字节的长度为b;
所述TDM净荷数据的长度p与添加了所述消耗数据的以太报文的长度的比值等于或近似等于a,具体符合以下公式:
TDM净荷数据的长度p/(填充字节的长度b+以太报文的原长度c)=a;
或者:
(TDM净荷数据的长度p+TDM报文开销长度q)/(填充字节的长度b+以太报文的原长度c)=a。
在一种优选方式中,所述在以太报文的外部添加消耗数据的具体方法包括:
构造总长度为b的至少一个消耗报文作为所述消耗数据,将该消耗报文置于所述以太报文的尾部后或头部前;
所述TDM净荷数据的长度p与添加了所述消耗数据的以太报文长度的比值等于或近似等于a,具体符合以下公式:
TDM净荷数据的长度p/(消耗报文的总长度b+以太报文的长度c)=a;
或者:
(TDM净荷数据的长度p+TDM报文开销长度q)/(消耗报文的总长度b+以太报文的长度c)=a。
在一种优选方式中,所述报文的长度包括:该报文的帧间隙长度。
在一种优选方式中,该方法进一步包括:
所述可编程器件从TDM端口收到TDM报文后,从中解析出TDM净荷数据,封装成以太报文,通过所述以太端口和以太总线返回给所述处理器。
在一种优选方式中,在所述可编程器件内设置缓存,所述可编程器件将封装好的TDM报文先放入该缓存中再发出;并监测所述缓存中的数据量,如果缓存中的数据超过预设的警戒量,则所述可编程器件在向处理器返回的以太报文中设置需要软流控的标记,处理器在收到具有需要软流控标记的以太报文后,停止向该以太报文的发出方发送以太报文;如果所述缓存中的数据量未超过所述警戒量,则所述可编程器件在向处理器返回的以太报文中设置不需要软流控的标记,处理器在收到具有不需要软流控标记的以太报文时,则继续向该以太报文的发出方发送以太报文。
在一种优选方式中,所述的以太报文的结构包括以下字段:
用于同步的前导码Preamble,
帧开始符SFD,
端口号、软流控标记,
通道链路协议,
报文中的TDM净荷数据的长度,
物理通道号,
TDM净荷数据,
帧校验序列FCS。
一种路由器线卡,包括主板和子接口卡,
所述路由器线卡LPU的主板上的处理器中配置TDM端口速率T0和以太端口速率T1,该处理器还用于构造欲由以太端口向TDM端口发送的以太报文,确定所述TDM端口速率T0与以太端口速率T1的比值a,在该以太报文的内部或外部添加消耗数据,将所述在内部或外部添加了消耗数据的以太报文通过以太端口以及以太总线发送到LPU子接口卡的可编程器件;所述消耗数据的长度b满足后述关系:所述以太报文中的TDM净荷数据的长度p与添加了所述消耗数据的以太报文的长度的比值等于或近似等于a;
所述路由器LPU的子接口卡中包括可编程器件,该可编程器件的一端为连接以太总线的以太端口,另一端为连接TDM总线的TDM端口;该可编程器件从所述以太端口接收到以太报文后,从中提取出所述TDM净荷数据,封装成TDM报文从所述TDM端口发出。
在一种优选方式中,所述可编程器件进一步用于从所述TDM端口接收TDM报文,从所述TDM报文中解析出TDM净荷数据,封装成以太报文,通过所述以太端口和以太总线返回给所述处理器。
在一种优选方式中,所述可编程器件内具有缓存,所述可编程器件将封装好的TDM报文先放入该缓存中再发出,并监测所述缓存的数据量,如果缓存中的数据超过预设的警戒量,则所述可编程器件在向处理器返回的以太报文中设置需要软流控的标记,所述处理器在收到具有需要软流控标记的以太报文后,停止向该以太报文的发出方发送以太报文;如果所述缓存中的数据量未超过所述警戒量,则所述可编程器件在向处理器返回的以太报文中设置不需要软流控的标记,处理器在收到具有不需要软流控标记的以太报文时,则继续向该以太报文的发出方发送以太报文。
相对于现有技术一和现有技术二,本发明不需要进行对处理器发送反压信号的流控处理,避免了流控反应速度慢和流控频繁所导致的从以太端口和TDM端口的流量波动问题,提高了以太端口和TDM端口之间的带宽平稳性;并且本发明所需的缓存极少,因此也不需要在TDM端口侧设置容量巨大的缓存芯片,降低了硬件成本。
相对于现有技术三、本发明所述的方法处理简单,易实现,可以明显减少路由器线卡主板的处理器的开销,而且较现有技术三更有效地降低了从以太端口到TDM端口的流量波动,提高了以太端口和TDM端口之间的带宽平稳性。
附图说明
图1为本发明所述路由器线卡的数据处理方法的数据流量转发示意图;
图2为本发明所述路由器线卡的数据处理方法的主要流程图;
图3为本发明所述以太报文的具体报文结构示意图;
图4为本发明所述TDM净荷数据从以太端口发往TDM端口的过程中在以太总线和TDM总线上的传输流对比示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明
本发明中,在路由器的TDM端口侧设置可编程器件,其中设置有可以执行本发明所述方法相应步骤的逻辑。所述可编程器件例如可以是现场可编程门阵列(FPGA,Field-Programmable Gate Array)。
本发明所述TDM端口包括但不限于:E1/CE1、SA、POS/CPOS等TDM端口。
下面实施例以具有多核处理器的网络路由器线卡为例来说明本发明。当然,本发明的技术方案也可以适用于具有单核处理器的路由器线卡。通常一个路由器中具有一个或多个业务线卡LPU(Line Processing Unit),参见图1为本发明所述方法所应用的路由器线卡(LPU)的流量转发示意图。参见图1,该LPU采用了以太端口连接TDM端口的设计,所述LPU包括主板101,每个LPU主板101可连接一个或多个子接口卡104,该LPU的主板101上的多核处理器102上具有速率为10M/100M/1000M的多个以太端口103;所述LPU子接口卡104是具有E1/CE1、SA或POS/CPOS等TDM端口的LPU子接口卡,所述LPU的多核处理器102可以根据需要向对应的LPU子接口卡104发送以太报文。该LPU子接口卡104上需设置可编程器件,例如此处为FPGA 106,其中设置有可以执行本发明所述方法相应步骤的逻辑。该FPGA 106一端具有所述10M/100M/1000M以太端口105,用于通过以太总线与所述多核处理器的以太端口通信,该FPGA的另一端具有E1/CE1、SA或POS/CPOS等TDM端口107,用于与外部的TDM总线连接,用于交互TDM报文。如图1所示,需要LPU转发的数据需要由LPU主板101的多核处理器102构造成符合以太规范的以太报文,该以太报文中包括TDM净荷数据,该以太报文由所述多核处理器102的以太端口103发出,经过路由器LPU内部的以太总线,到达LPU子接口卡104对应的以太端口105,该以太端口105的速率与所述发出以太报文的以太端口103的速率相同,即是对应的10M/100M/1000M。所述E1/CE1、SA或POS/CPOS等TDM端口的速率相对所述以太端口来讲比较缓慢,因此需要采用限流机制降低流量波动,提高以太端口和TDM端口之间的带宽平稳性。
为了降低路由器LPU中从以太端口到TDM端口的流量波动,提高以太端口和TDM端口之间的带宽平稳性,本发明的数据处理方法如图2所示,主要包括:
步骤201、在路由器LPU的处理器中配置TDM端口速率T0和以太端口速率T1。
如图1所示的场景,由于通常情况下LPU主板的多核处理器102可能具有多种速率的以太端口,所述LPU子接口卡104中也可能具有多种速率的TDM端口,因此本发明需要配置路由器LPU中所具有的所有以太端口的速率和所有TDM端口的速率。
步骤202、LPU的处理器欲从某一以太端口向某一TDM端口发送报文时,例如图1中的所述LPU主板的多核处理器102欲从某一以太端口A向LPU子接口板卡104的某一TDM端口B发送报文时,先构造符合以太规范的以太报文,假设该以太报文的长度为c,其中的TDM净荷数据的长度为p,所述TDM净荷数据就是需要在TDM总线中传输的实质性的数据;然后所述处理器确定该TDM端口B的速率T0与该以太端口A的速率T1的比值a,在该以太报文的内部或外部添加消耗数据,该消耗数据的长度b满足后述关系,即:TDM净荷数据的长度p与添加了所述消耗数据的以太报文总长度的比值等于或近似等于a。
步骤203、所述处理器将所述在内部或外部添加了消耗数据的以太报文通过以太端口以及以太总线发送到设置在TDM端口处的可编程器件。
例如如图1所示的场景,所述LPU主板的多核处理器102将所构造的以太报文通过所述以太端口103中的其中一个以太端口A和以太总线发送到子接口卡104的FPGA 106的对应速率的以太端口105中的其中一个以太端口A上,该以太端口A的速率也为T1。
步骤204、所述可编程器件从以太报文中提取出所述TDM净荷数据,封装成TDM报文从TDM端口发出。
例如图1所示的场景,所述FPGA 106在以太端口A上收到以太报文后,从中提取出所述TDM净荷数据,而忽略掉其它的消耗数据和以太报文开销数据,然后在所述TDM净荷数据的基础上封装上TDM报文的开销数据,从而封装成TDM报文,从对应的TDM端口107中的TDM端口B发送出去。
另外,当所述FPGA 106从TDM端口107收到TDM报文后,从中解析出TDM净荷数据,封装成以太报文,通过所述以太端口105和以太总线返回给所述处理器102的以太端口103,处理器102从以太端口103接收到以太报文后进行相应的处理。
在一种实施例中,上述步骤202中所述在以太报文的内部添加消耗数据的具体方法包括:
在所述以太报文的内部增加填充字节,该填充字节的长度为b;
所述TDM净荷数据的长度p与添加了所述消耗数据的以太报文的长度的比值等于或近似等于a,具体符合以下公式:
TDM净荷数据的长度p/(填充字节的长度b+以太报文的原长度c)=a;
或者:
(TDM净荷数据的长度p+TDM报文开销长度q)/(填充字节的长度b+以太报文的原长度c)=a。
另外,上述以太报文的原长度c中还可以包括该报文的帧间隙长度,通常为12字节。
在另一种实施例中,上述步骤202中所述在以太报文的外部添加消耗数据的具体方法包括:
构造至少总长度为b的至少一个消耗报文作为所述消耗数据,将该消耗报文置于所述以太报文的尾部后或头部前;通常所述消耗报文设置在以太报文尾部之后,这样以太报文不会有延迟。当然也可以设置在以太报文头部之前,同样可以完成本发明的发明目的。
所述TDM净荷数据的长度p与添加了所述消耗数据的以太报文长度的比值等于或近似等于a,具体符合以下公式:
TDM净荷数据的长度p/(消耗报文的总长度b+以太报文的长度c)=a;
或者:
(TDM净荷数据的长度p+TDM报文开销长度q)/(消耗报文的总长度b+以太报文的长度c)=a。
所述消耗报文可以是与所述以太报文结构相同的以太报文,只是其中不包括TDM净荷数据,如果一个消耗报文太长,还可以拆分为多个相连的消耗报文。
另外,上述的以太报文的长度c和消耗报文的长度b中还可以包括每一报文的帧间隙长度,通常为12字节。
图3为本发明所述以太报文的具体报文结构示意图。参见图3,本发明所述的以太报文包括以下字段:
(1)用于同步的前导码Preamble。
(2)帧开始符SFD,现有技术中的SFD用于标明下一个字节为目的介质访问地址(MAC)字段,而本发明所述SFD用于标明下一个字节为本报文的目的端口号。本发明中保留现有以太报文结构中的Preamble、SFD、FCS三个字段以便利用现有的以太MAC和物理层(PHY)对本发明所述的以太报文在以太总线中进行传输。
(3)P1,其长度为1字节(bytes),该P1中的PORT代表本报文发往的目的端口号,例如如果该以太报文由所述以太端口A向LPU子接口板卡的某一TDM端口B发送时,该PORT为该TDM端口B的端口号;所述P1字段中的FC为软流控标记,用于由所述FPGA根据缓存中的流量波动在返回给多核处理器的以太报文中的该FC处设置相应的标记,如果需要进行软流控,则该FC标记为1,否则该FC标记为0;所述P1字段的最低bit固定为‘0’。
(4)P2,用于标记通道链路协议,长度为1byte,可以标识不超过256种链路协议。所述FPGA在封装TDM报文时,可以根据该P2字段标识的链路协议进行相应协议的封装。
(5)LENGTH,用于标识该以太报文中TDM净荷数据的长度,该LENGTH字节占用2bytes的长度,可以支持不超过65536大小的报文。
(6)CHANNEL,用于标识物理通道号,长度为4bytes,可以标识CE1、CPOS的子通道;所述子通道是CE1以及CPOS端口的进一步划分,所述FPGA封装后的TDM报文会通过该CHANNEL标识的物理通道号发送。
(7)PAYLOAD,是长度为p字节的TDM净荷数据。
(8)PAD,是填充字节,即上述的在以太报文内部添加的消耗数据,其长度为b。
根据以太规范,当未添加所述PAD的以太报文的总长度小于64字节时,则MAC会自动填充PAD,直到该以太报文的总长度自动变为64字节,这样虽然使得所述TDM净荷数据的长度p与添加了所述PAD的以太报文的总长度的比值和所述T0/T1的比值a的误差较大,但是由于未添加PAD的以太报文总长度小于64字节的几率较少,只有少量的控制报文才会出现这种情况,因此这种以太报文对整体流量的波动性影响不大。
当未添加所述PAD的以太报文总长度大于等于64字节时,则可由所述多核处理器填充一定长度b的PAD来消耗以太带宽,具体取值需要满足如下公式:
TDM净荷数据的长度p/(填充字节的长度b+以太报文的原长度c)=a;
或者:
(TDM净荷数据的长度p+TDM报文开销长度q)/(填充字节的长度b+以太报文的原长度c)=a。
当所述PAYLOAD的长度p=0时,此以太报文就是一个纯带宽消耗报文,即上述的在原包含有TDM净荷数据的以太报文的外部添加的消耗报文。该消耗报文的数量以及消耗报文中的PAD的长度可根据需要填充,其取值要满足如下公式:
TDM净荷数据的长度p/(消耗报文的总长度b+以太报文的长度c)=a;
或者:
(TDM净荷数据的长度p+TDM报文开销长度q)/(消耗报文的总长度b+以太报文的长度c)=a。
(9)帧校验序列(FCS),用于接收方来判断是否传输错误,如果发现传输错误,丢弃此帧。
本发明所述LPU子接口卡上的FPGA可以识别图3这种自定义的以太报文,当该FPGA收到来自多核处理器的所述以太报文时,从以太报文中提取出PAYLOAD数据即所述TDM净荷数据,再加上TDM报文的开销字段(如报头、校验信息等),封装成TDM报文,发往所述PORT字段标明的TDM端口,如果所述CHANNEL字段标明了物理通道号,则具体发往该TDM端口的对应物理通道,所述TDM报文再由外部的TDM总线传输。
当所述LPU子接口卡的TDM端口从外部的TDM总线收到TDM报文后,则所述FPGA会从该TDM报文中解析出TDM净荷数据,并按照图3所示的报文结构重新封装成以太报文,由于数据方向是从慢速率端口传给快速端口,因此该以太报文不必添加所述消耗数据,而是由FPGA直接经过本FPGA的以太端口和以太总线传回所述多核处理器对应的以太端口中。
图4为本发明所述TDM净荷数据从以太端口发往TDM端口的过程中在以太总线和TDM总线上的传输流对比示意图。参见图4上部分为数据在速度较高的以太总线上的传输流,假设此处有三块TDM净荷数据,分别为PAYLOAD A、PAYLOAD B、和PAYLOAD C,这三块TDM净荷数据分别封装上各自的以太开销组成以太报文,这三块TDM净荷数据对应的所述消耗数据可以是添加在其以太报文的内部(如所述填充字节PAD),也可以添加在其以太报文的外部(如所述消耗报文);上述三块TDM净荷数据及其以太开销和消耗数据在以太总线上传输,其传输长度总计为M。图4下部分为数据在速度较低的TDM总线上的传输流,由于本发明所述FPGA只从以太总线上的以太报文中提取TDM净荷数据,并分别封装上TDM开销组成TDM报文发往TDM总线,所述消耗数据被丢弃,因此所述消耗数据(PAD或消耗报文)就起到了消耗以太带宽的作用,假设上述三块TDM净荷数据及其TDM开销在TDM总线上传输的长度总计为N,则根据上述的所述消耗数据长度的取值关系,可以很容易得出:N/M等于或近似等于T0/T1。因此所述以太端口和TDM端口虽然速率不同,但是利用本发明的方法,可以在相同的时间内使得以太总线和TDM总线上传输的TDM净荷数据量相等或近似相等,使得数据流量平稳,即使有波动,其波动幅度也相对较小,因此提高了以太端口和TDM端口之间的带宽平稳性。
由于以太端口到TDM端口的流量也会有较小波动,因此本发明的一种实施例中,还可以在所述可编程器件(如所述FPGA)内设置缓存,所述可编程器件将封装好的TDM报文先放入该缓存中再发出,这样就可以避免由于数据流量波动导致的丢包问题。但是由于本发明所述以太端口到TDM端口的流量波动较小,因此所需要的缓存量较小,相对现有技术的需要大容量缓存的方案,节约了成本。
本发明还可以监测所述缓存中的数据量,如果缓存中的数据超过预设的警戒量,则所述可编程器件在向处理器返回的以太报文中设置需要软流控的标记,即在返回给处理器的以太报文的所述FC字段中设置为1,表示需要进行软流控。处理器在收到具有需要软流控标记的以太报文后,即该以太报文的FC字段为1,则停止向该FC字段为1的以太报文的发出方发送以太报文,这样所述缓存中的数据量则会渐渐减少;如果所述缓存中的数据量未超过所述警戒量,则所述可编程器件在向处理器返回的以太报文中设置不需要软流控的标记,即返回给所述处理器的以太报文中的FC字段为0,处理器在收到具有不需要软流控标记的以太报文时,则继续向该FC字段为0的以太报文的发出方发送以太报文。
通过上述的缓存和软流控的机制,可以进一步防止所述以太端口到TDM端口的流量波动,使得以太端口和TDM端口之间的带宽更加平稳。
综上所述,本发明通过自定义一种在LPU主板和LPU子接口卡之间的以太报文结构,在以太报文内部或外部添加可调节长度的消耗数据,使TDM净荷数据在以太总线上的传输速率等于或近似等于其在TDM总线上的传输速率,使得以太报文能够在以太端口和TDM端口之间均匀传输。由于转发的报文大小并不固定,但只要根据每个净荷报文长度填充相应长度的消耗数据,也能达到近似均匀的传输效果。
本发明方法简单,易实现,相比用软件进行接口限速的方法,可明显减少对主控卡CPU资源的占用,也不需要专用的流量管理硬件,而且系统可以使用统一的以太总线连接各种LPU子接口卡,LPU子接口卡上也不需要太大的缓存芯片来防止流量波动。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (11)

1.一种路由器线卡的数据处理方法,其特征在于,包括:
在路由器线卡的处理器中配置时分复用TDM端口速率T0和以太端口速率T1;
所述处理器构造欲由以太端口向TDM端口发送的以太报文,确定所述TDM端口速率T0与以太端口速率T1的比值a,在该以太报文的内部或外部添加消耗数据,该消耗数据的长度b满足后述关系:该以太报文中的TDM净荷数据的长度p与添加了所述消耗数据的以太报文的长度的比值等于或近似等于a;
所述处理器将所述在内部或外部添加了消耗数据的以太报文通过以太端口以及以太总线发送到可编程器件的以太端口处;
所述可编程器件从以太报文中提取出所述TDM净荷数据,封装成TDM报文从TDM端口发出。
2.根据权利要求1所述的方法,其特征在于,所述在以太报文的内部添加消耗数据的具体方法包括:
在所述以太报文的内部增加填充字节,该填充字节的长度为b;
所述TDM净荷数据的长度p与添加了所述消耗数据的以太报文的长度的比值等于或近似等于a,具体符合以下公式:
TDM净荷数据的长度p/(填充字节的长度b+以太报文的原长度c)=a;
或者:
(TDM净荷数据的长度p+TDM报文开销长度q)/(填充字节的长度b+以太报文的原长度c)=a。
3.根据权利要求2所述的方法,其特征在于,所述以太报文的长度包括:该报文的帧间隙长度。
4.根据权利要求1所述的方法,其特征在于,所述在以太报文的外部添加消耗数据的具体方法包括:
构造总长度为b的至少一个消耗报文作为所述消耗数据,将该消耗报文置于所述以太报文的尾部后或头部前;
所述TDM净荷数据的长度p与添加了所述消耗数据的以太报文长度的比值等于或近似等于a,具体符合以下公式:
TDM净荷数据的长度p/(消耗报文的总长度b+以太报文的长度c)=a;
或者:
(TDM净荷数据的长度p+TDM报文开销长度q)/(消耗报文的总长度b+以太报文的长度c)=a。
5.根据权利要求4所述的方法,其特征在于,所述以太报文和消耗报文的长度包括:该报文的帧间隙长度。
6.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
所述可编程器件从TDM端口收到TDM报文后,从中解析出TDM净荷数据,封装成以太报文,通过所述以太端口和以太总线返回给所述处理器。
7.根据权利要求6所述的方法,其特征在于,在所述可编程器件内设置缓存,所述可编程器件将封装好的TDM报文先放入该缓存中再发出;并监测所述缓存中的数据量,如果缓存中的数据超过预设的警戒量,则所述可编程器件在向处理器返回的以太报文中设置需要软流控的标记,处理器在收到具有需要软流控标记的以太报文后,停止向该以太报文的发出方发送以太报文;如果所述缓存中的数据量未超过所述警戒量,则所述可编程器件在向处理器返回的以太报文中设置不需要软流控的标记,处理器在收到具有不需要软流控标记的以太报文时,则继续向该以太报文的发出方发送以太报文。
8.根据权利要求1、2、4、6或7所述的方法,其特征在于,所述的以太报文的结构包括以下字段:
用于同步的前导码Preamble,
帧开始符SFD,
端口号、软流控标记,
通道链路协议,
报文中的TDM净荷数据的长度,
物理通道号,
TDM净荷数据,
帧校验序列FCS。
9.一种路由器线卡,其特征在于,包括主板和子接口卡,
所述路由器线卡LPU的主板上的处理器中配置TDM端口速率T0和以太端口速率T1,该处理器还用于构造欲由以太端口向TDM端口发送的以太报文,确定所述TDM端口速率T0与以太端口速率T1的比值a,在该以太报文的内部或外部添加消耗数据,将所述在内部或外部添加了消耗数据的以太报文通过以太端口以及以太总线发送到LPU子接口卡的可编程器件;所述消耗数据的长度b满足后述关系:所述以太报文中的TDM净荷数据的长度p与添加了所述消耗数据的以太报文的长度的比值等于或近似等于a;
所述路由器LPU的子接口卡中包括可编程器件,该可编程器件的一端为连接以太总线的以太端口,另一端为连接TDM总线的TDM端口;该可编程器件从所述以太端口接收到以太报文后,从中提取出所述TDM净荷数据,封装成TDM报文从所述TDM端口发出。
10.根据权利要求9所述的路由器线卡,其特征在于,所述可编程器件进一步用于从所述TDM端口接收TDM报文,从所述TDM报文中解析出TDM净荷数据,封装成以太报文,通过所述以太端口和以太总线返回给所述处理器。
11.根据权利要求9所述的路由器线卡,其特征在于,所述可编程器件内具有缓存,所述可编程器件将封装好的TDM报文先放入该缓存中再发出,并监测所述缓存的数据量,如果缓存中的数据超过预设的警戒量,则所述可编程器件在向处理器返回的以太报文中设置需要软流控的标记,所述处理器在收到具有需要软流控标记的以太报文后,停止向该以太报文的发出方发送以太报文;如果所述缓存中的数据量未超过所述警戒量,则所述可编程器件在向处理器返回的以太报文中设置不需要软流控的标记,处理器在收到具有不需要软流控标记的以太报文时,则继续向该以太报文的发出方发送以太报文。
CN201210291343.9A 2012-08-16 2012-08-16 一种路由器线卡及数据处理方法 Active CN102780639B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210291343.9A CN102780639B (zh) 2012-08-16 2012-08-16 一种路由器线卡及数据处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210291343.9A CN102780639B (zh) 2012-08-16 2012-08-16 一种路由器线卡及数据处理方法

Publications (2)

Publication Number Publication Date
CN102780639A CN102780639A (zh) 2012-11-14
CN102780639B true CN102780639B (zh) 2015-03-18

Family

ID=47125400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210291343.9A Active CN102780639B (zh) 2012-08-16 2012-08-16 一种路由器线卡及数据处理方法

Country Status (1)

Country Link
CN (1) CN102780639B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106921436B (zh) 2015-12-26 2019-11-05 华为技术有限公司 用于对多种速率的数据进行处理的方法及装置
CN108737296B (zh) * 2017-09-27 2020-12-04 新华三技术有限公司 一种数据传输方法、装置和网络设备
CN111030944A (zh) * 2019-11-25 2020-04-17 杭州迪普科技股份有限公司 一种报文发送方法及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005094002A1 (en) * 2004-03-18 2005-10-06 Teknovus, Inc. Method and apparatus for remote network management over ethernet connections
CN101212290A (zh) * 2006-12-26 2008-07-02 杭州华三通信技术有限公司 同步时分以太网传输方法及相应的传输装置
CN102315892A (zh) * 2010-07-02 2012-01-11 杭州华三通信技术有限公司 数据转发装置和线卡板以及数据转发方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7986700B2 (en) * 2006-09-25 2011-07-26 Futurewei Technologies, Inc. Multiplexed data stream circuit architecture

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005094002A1 (en) * 2004-03-18 2005-10-06 Teknovus, Inc. Method and apparatus for remote network management over ethernet connections
CN101212290A (zh) * 2006-12-26 2008-07-02 杭州华三通信技术有限公司 同步时分以太网传输方法及相应的传输装置
CN102315892A (zh) * 2010-07-02 2012-01-11 杭州华三通信技术有限公司 数据转发装置和线卡板以及数据转发方法

Also Published As

Publication number Publication date
CN102780639A (zh) 2012-11-14

Similar Documents

Publication Publication Date Title
CN101252537B (zh) 一种交换网通信系统、方法和主控板
CN108667739A (zh) 拥塞控制方法、装置及系统
CN101277196B (zh) 一种基于pcie交换网的通信系统、通信方法及线卡板
CN101207571B (zh) 转发报文的方法和设备
CN109905321B (zh) 一种用于自定义高速接口与以太网交互的路由控制系统
CN102624738A (zh) 一种串口服务器、协转芯片及数据传输方法
CN108989286A (zh) 通用数据流的封装方法、解封装方法及装置
CN102780639B (zh) 一种路由器线卡及数据处理方法
CN105701053A (zh) 串行数据发送、接收方法及装置
CN102624633A (zh) 一种基于时间触发的SpaceWire网络通信方法
CN108614792B (zh) 1394事务层数据包存储管理方法及电路
CN101667959B (zh) 一种物理层数据传输的方法、装置及数据传输的系统
CN111211863A (zh) Mac发射端、mac接收端及电路、fpga芯片及数据传输系统
CN110830152B (zh) 接收码块流的方法、发送码块流的方法和通信装置
CN103560977A (zh) 具有输出延迟可精确配置能力的e1成帧控制器及工作方法
CN1738224B (zh) Tdm数据与帧格式转换的电路及方法、传输交换系统及方法
US11902403B2 (en) Method for receiving code block stream, method for sending code block stream, and communications apparatus
CN102118356A (zh) 一种报文发送方法和发送装置
CN101192911B (zh) 一种时分复用模式下传输数据的方法和系统
CN101877691B (zh) Eoc网络中物理层帧的封装与解封装方法
CN106803806A (zh) 数据报文传输方法及系统、通信系统
CN103118023B (zh) 一种在网络中传输规范数据的方法及系统
CN101296189A (zh) 分布式流处理网络设备以及其中的报文传输方法
CN105307060B (zh) 一种异构网络的数据传输和保持方法
CN206181067U (zh) 一种mii接口与gpmc接口数据通信系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant