一种获取报文切片数目的方法和装置的制作方法

文档序号:7665388阅读:173来源:国知局
专利名称:一种获取报文切片数目的方法和装置的制作方法
技术领域
本发明涉及数据通信技术领域,尤指一种获取报文切片数目的方法和装置。
背景技术
在异步传输模式(ATM, Asynchronous Transfer Mode)中,信息的基 本载体是ATM信元。ATM信元包括信头和有效负载两部分,其中,信头为 5字节,有效负载为48字节,因此, 一个ATM信元的总长为53字节。ATM的适配层(AAL: ATM Adaptation Layer )是ATM核心和高层间 的接口,是为使ATM层能适应不同业务类型而设置的。ATM适配层又细分 为汇聚(CS)子层、分段重组(SAR)子层等。ATM适配层共有6种类型 AALO, AAU, AAL2, AAL3, AAL4, AAL5。图1是现有的ALL5中CS子层和SAR子层的功能示意图。参照图1, AAL5的CS子层为SAR子层的报文分割做准备,主要是将控制信息附加到 来自用户平面的数据包中,并利用填充字段将用户数据包填充成字节数为 48字节的整数倍的CPCS协议数据单元(CPCS-PDU ) 。 AAL5的SAR子层 只有分段和重组功能,用于将CS子层的CPCS-PDU数据包分割成为48字 节的信元有效负载,或者反过来进行重组的操作。在图1中,PAD字段为 填充字段,以使得整个CPCS-PDU的长度为48字节的整数倍。Len字段表 示CPCS-PDU的有效负载长度。CRC字段是32位的循环校验码。在一些ATM技术的应用中,需要将以太网报文转换为ATM信元,此时 图1中的用户数据包即为以太网报文。根据图1所示的原理将以太网报文切分 成长度为48字节的各个分段后,将每个分段作为 一个ATM信元的有效负载部 分。而以太网报文的长度范围是64字节到9216字节,ATM信元的有效负载部 分为固定的48字节,因此设一个以太网报文可以转成n个ATM信元时,n的取 值范围是「64/48"|~「9216/48"|个,即2 192个。可见,不同字节长度的以太网报文转换成ATM信元的数目也不相同。而将以太网报文转换成ATM信元 的网络设备,需要在将所接收的以太网报文转换成ATM信元时,计算出ATM 信元的数目。这是因为需要根据ATM信元数目进行计费,或者需要向下一级 网络设备发送转换后的ATM信元时需要告知ATM信元数目。左Jt它的将非固定长产的招 需要计算切片处理后的切片数目。目前,采用查表的方式来实现报文切片后的信元数目的计算。图2是现 有技术中采用查表方式来实现切片后信元数目的计算的示意图。仍将以太网 报文切成ATM信元为例进行说明,如图2所示,利用深度为9216,宽度为 8bit的随机存储器(RAM, Random Access Memory)来存储不同长度的以 太网报文进行切片处理后得到的ATM信元数目,即在RAM的深度为m的 位置保存m字节以太网报文被切片后所得到的ATM信元数目。例如,CPU 会在RAM的深度为95的位置中初始化一个2进去,2是将95字节的以太 网报文切片成ATM信元的数目。这样在接收到一个以太网报文时,根据报 文字节长度信息进行查表操作即可获得该报文切片后的切片数目。但是,利用上述查表的方法来获得报文切片后的切片数目的技术方案需 要用到大量的内存RAM资源,例如在图2中就需要9kx 8 = 72k的RAM资 源。而逻辑器件中的RAM资源是非常宝贵的。发明内容本发明实施例提供了一种获取报文切片数目的方法,该方法使得计算报 文切片数目时,无需耗费大量的RAM资源。本发明实施例还提供了一种获取报文切片数目的装置,该装置使得计算 报文切片数目时,无需耗费大量的RAM资源。
为达到上述目的,本发明的技术方案具体是这样实现的本发明实施例公开了一种获取报文切片数目的方法,包括 记录所接收报文的长度值;当所记录的值大于预设值时,对该记录值执行减所述预设值的操作,直 至该执行减操作后的记录值小于或等于所述预设值;将所执行的减操作的次数加1,作为将所接收报文切成所述预设值长度 的切片时的切片数目。本发明实施例还公开了一种获取报文切片数目的装置,其特征在于,该 装置包括记录模块、运算模块和输出模块,其中,录模块,用于记录所接收报文的长度值,并在所记录的值大于预设值时, 将该记录值发送给运算模块;运算模块,用于对来自记录模块的记录值执行减预设值的操作,直至该 执行减操作后的记录值小于或等于所述预设值后,统计减操作次数,并将所 统计的减操作次数发送给输出模块;输出模块,用于将来自预算模块的减操作次数加1,作为将所述接收报 文切成所述预设值长度的切片时的切片数目输出。由上述技术方案可见,本发明通过记录所接收报文的长度值;当所记录 的值大于预设值时,对该记录值执行减所述预设值的操作,直至该执行减操 作后的记录值小于或等于所述预设值;将所执行的减操作的次数加1,作为 将所接收报文切成预设值长度的切片时的切片数目的技术方案,使得计算报 文切片数目时,无需耗费大量的RAM资源。


图1是现有的ALL5中CS子层和SAR子层的功能示意图;图2是现有技术中采用查表方式来实现切片后信元数目的计算的示意图;图3是本发明一种获取报文切片数目的方法的流程图; 图4是本发明实施例将以太网报文切成ATM信元时的报文切片数目获 取方法的流程图;图5是本发明实施例 一 种获取报文切片的装置的结构框图。
具体实施方式
图3是本发明一种获取报文切片数目的方法的流程图。如图3所示,包 括以下步骤步骤301,记录所接收报文的长度值。步骤302,当所记录的值大于预设值时,对该记录值执行减所述预设值 的操作,直至该执行减操作后的记录值小于或等于所述预设值。步骤303,将所执行的减操作的次数加1后,作为将所接收报文切成所 述预设值长度的切片时的切片数目。在步骤303后,执行步骤301至302的网络设备便可以根据所获得的切 片数目,即转换后的信元数目进行计费,或者需要向下一级网络设备发送转 换后的信元时,告知其数目。图3所示的技术方案可以在将非固定长度的报文切成固定长度的切片 的处理过程中计算出切片处理后的切片数目,并且无需耗费大量的RAM资 源。为使本发明的目的、技术方案及优点更加清楚明白,以下仍将以太网报 文切成ATM信元的应用为例,对本发明进一步详细说明。由于将以太网报文切成ATM信元以及转发ATM信元都需要耗费逻辑周 期,因此,可以在这段时间内利用本发明中的方案来计算报文切片数目。图4是本发明实施例将以太网报文切成ATM信元时的报文切片数目获取 方法的流程图。如图4所示,包括以下步骤步骤401,网络设备上电后,4企测所接收的以太网报文是否要进行ATM 信元切片处理,是则执行步骤402,否则继续进行所述的检测。步骤402,网络设备记录所接收以太网报文的长度值,并将变量a初始化
为所记录的报文长度值。步骤403,网络设备在主频的下一个时钟周期到来时,将变量a减48。 本步骤中,48是ATM信元的有效负载字节数,即以太网报文将要被切成 的切片的字节数。步骤404,网络设备判断变量a是否小于等于48,是则执行步骤405,否 则执行步骤403。步骤405,网络设备将所执行的减操作的次数加1,作为将所接收以太 网报文切成48字节的切片时切片数目。在步骤405后,便可以根据所获得的切片数目,即ATM信元数目进行 计费;或者在需要向下一级网络设备发送转换后的ATM信元时,告知ATM 信元的数目。通过图4所示的技术方案可以在将以太网报文切成ATM切片的处理过程中计算出ATM切片的数目,并且无需耗费大量的RAM资源。图4所示的方案可以利用Verilog或VHDL等语言对硬件逻辑编程后实现。下面给出一段具体的Verilog实现代码 〃pkt_cell_numsalways @ (posedge clk_125m or posedge rst) beginif (rst==Tbl) begincpcsjength—reg <=14,b0; pkt—cell—nums <=8,bl;endelse if( seg_pkt—valid==rbO) begincpcs—length—reg <=total—cpcs—length; pkt—cell—nums <=8,bl;endelse if(Cpcs—length—reg>48) begincpcs—length—reg <= Cpcs_length—reg-7'd48; pkt_cell_nums <=Pkt—cell_nums+l,bl;endend在上述代码中seg_pkt—valid为报文切片有效信号,即在seg_pkt—valid有效的期间切片 数目计算开始,无效期间不作操作;total—cpcs一length为所接收报文的长度,即为图4中的需要切片的以太网 报文长度。其中,total—cpcsjength在segj)kt—valid信号有效的前一拍已经有 效了;cpcs—length—reg为逻辑中间变量,切片开始时将报文长度值寄存起来, 然后每个时钟周期减少48字节(即一个ATM信元的有效负载的长度),直到 报文长度小于等于48字节才停止减操作;pkt—cell—nums为报文切片后的切片数目,从代码中可以看到小于等于48 字节的报文恰好为一个信元,大于48字节的报文根据数减搡作次数得到其切 片数目。从上面pkt—cell—nums的计算过程可以看到,只需要几行代码、十来个寄 存器即可实现报文切片后的切片数目的计算。在将以太网报文转换成ATM信元的应用中,由于以太网报文最短为64 字节(大于48字节),所以在图4所示的实施例中,先对报文长度执行减 操作后再判断是否小于或等于预设值。在一些特殊的应用中,可能会有报文 的最小可能长度值小于或等于预设值的情况,此时可以在所有步骤之前先判 断一次报文的长度是否小于等于预设值,如果是则可以直接确认切片处理后 的切片数目为1,否则再执行减操作。基于上述实施例,接下来给出本发明一种计算报文切片的装置的结构框图。图5是本发明实施例一种获取报文切片的装置的结构框图。如图5所示,
该装置包括记录模块501、运算模块502和输出模块503,其中记录模块501,用于记录所接收报文的长度值,并在所记录的值大于预 设值时,将该记录值发送给运算模块502;运算模块502,用于对来自记录模块501的记录值执行减预设值的操作, 直至该执行减操作后的记录值小于或等于所述预设值后,统计减搡作次数, 并将所统计的减操作次数发送给输出模块503;输出模块503,用于将来自运算模块的减操作次数加1,作为将所述接 收报文切成所述预设值长度的切片时的切片数目输出。在图5中,运算模块502包括减操作模块504和判断模块505,其中减操作模块504,用于将自身中的指定变量初始化为记录模块501发送 的记录值,从所述变量减去预设值后,将结果数值发送给判断模块505;用 于在接收到判断模块505的指示信息后继续从所述变量减去预设值,将结果 数值发送给判断模块505;判断模块505,用于接收来自减操作模块504的结果数值,并判断该数 值是否小于或等于所述预设值,是则,统计减操作模块504向自身发送结果 数值的次数后发送给输出模块503,否则,向减操作模块504发送指示信息。这里,由于减操作模块504执行一次减操作后便向判断模块505发送一 次结果数值,因此,判断模块505统计的减操作模块504发送结果数值的次 数即为减操作模块504执行减操作的次数。在图5中,运算模块502,可以用于在每一个时钟周期对所述来自记录 模块的记录值或执行减操作后的记录值执行一次所述减预设值的操作。在图5中,记录模块501,可以进一步用于在所记录的值小于等于所述 预设值时,将1作为报文进行切片处理后的切片数目输出。在图5中,所述记录模块501,可以用于记录所接收的以太网报文的长 度值,并在所记录的值大于ATM信元中有效负载的长度值时,将该记录值 发送给所述运算模块502。所述运算模块502,用于对来自记录模块501的 记录值执行减ATM信元中有效负载的长度值的操作,直至该执行减操作后
的记录值小于或等于ATM信元中有效负载的长度值后,统计减操作次数, 并将所统计的减操作次数发送给输出模块503;其中,运算模块502中的减 操作模块504,用于将自身中的指定变量初始化为记录模块501发送的记录 值,从所述变量减去ATM信元中有效负载的长度值后,将结果数值发送给 判断模块505,并在接收到判断模块505的指示信息后继续从所述变量减去 ATM信元中有效负载的长度值,将结果数值发送给判断模块505;判断模块 505,用于接收来自减操作模块504的结果数值,并判断该数值是否小于或 等于ATM信元中有效负载的长度值,是则,统计减操作模块504向自身发 送结果数值的次数后发送给输出模块503,否则,向减操作模块504发送指 示信息。图5所示的装置还可以进一步包括切片数目处理模块,在图5中没有 画出。切片数目处理模块,可以用于从输出模块503获取切片数目,并根据 所获取的切片数目进行计费处理,或者将切片数目通知给下一级设备。综上所述,本发明中通过记录所接收报文的长度值;当所记录的值大于 预设值时,对该记录值执行减所述预设值的操作,直至该执行减操作后的记 录值小于或等于所述预设值;将所执行的减操作的次数加1后,作为将所接数目时,无需耗费大量的RAM资源。以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1、一种获取报文切片数目的方法,其特征在于,包括记录所接收报文的长度值;当所记录的值大于预设值时,对该记录值执行减所述预设值的操作,直至该执行减操作后的记录值小于或等于所述预设值;将所执行的减操作的次数加1,作为将所接收报文切成所述预设值长度的切片时的切片数目。
2、 如权利要求1所述的方法,其特征在于,所述对记录值执行减预设 值的操作包括A、 将指定变量的初始值设置为所述记录值;B、 从所述变量减去所述预设值;C、 判断所述变量的值是否小于或等于所述预设值,是则执行所述将减 操作的次数加l的步骤;否则返回步骤B。
3、 如权利要求1的方法,其特征在于,所述对记录值执行减预设值的 操作,直至该执行减操作后的记录值小于或等于所述预设值,是在记录所接 收报文长度值后的每 一 个时钟周期,对该记录值执行一 次减预设值的操作, 直至该执行减操作后的记录值小于或等于所述预设值。
4、 如权利要求1至3中任一项所述的方法,其特征在于,对长度值小 于等于所述预设值的接收报文,其切成所述预设值长度的切片时的切片数目 固定为1。
5、 如权利要求1至3中任一项所述的方法,其特征在于, 所述接收报文为以太网报文;所述预设值为ATM信元中有效负载的长度值。
6、 一种获取报文切片数目的装置,其特征在于,该装置包括记录模 块、运算模块和输出模块,其中,记录模块,用于记录所接收报文的长度值,并在所记录的值大于预设值时,将该记录值发送给运算模块;运算模块,用于对来自记录模块的记录值执行减预设值的操作,直至该 执行减操作后的记录值小于或等于所述预设值后,统计减操作次数,并将所统计的减操作次数发送给输出模块;输出模块,用于将来自运算模块的减操作次数加1,作为将所述接收报 文切成所述预设值长度的切片时的切片数目输出。
7、 如权利要求6所述的装置,其特征在于,所述运算模块包括减操 作模块和判断模块,其中,减操作模块,用于将自身中的指定变量初始化为记录模块发送的记录 值,从所述变量减去预设值后,将结果数值发送给判断模块;用于在接收到 判断模块的指示信息后继续从所述变量减去预设值后,将结果数值发送给判 断模块;判断模块,用于接收来自减操作模块的结果数值,并判断该数值是否小 于或等于所述预设值,是则,统计减操作模块向自身发送结果数值的次数后 发送给输出模块,否则,向减操作模块发送指示信息。
8、 如权利要求6所述的装置,其特征在于,所述运算模块,用于在每一个时钟周期对所述来自记录模块的记录值或 执行减操作后的记录值执行一 次所述减预设值的操作。
9、 如权利要求6至8所述的装置,其特征在于,所述记录模块,进一步用于在所记录的值小于等于所述预设值时,固定 将1作为报文进行切片处理后的切片数目输出。
10、 如权利要求6至8所述的装置,其特征在于, 所述记录模块,用于记录所接收的以太网报文的长度值,并在所记录的值大于ATM信元中有效负载的长度值时,将该记录值发送给所述运算模块; 所述运算模块,用于对来自记录模块的记录值执行减ATM信元中有效 负载的长度值的操作,直至该执行减操作后的记录值小于或等于ATM信元 中有效负载的长度值。
全文摘要
本发明公开了一种获取报文切片数目的方法,包括记录所接收报文的长度值;当所记录的值大于预设值时,对该记录值执行减所述预设值的操作,直至该执行减操作后的记录值小于或等于所述预设值;将所执行的减操作的次数加1后,作为将所接收报文切成预设值长度的切片时的切片数目。本发明还公开了一种获取报文切片数目的装置。本发明的技术方案,使得计算报文切片数目时,无需耗费大量的RAM资源。
文档编号H04L12/56GK101159692SQ20071017808
公开日2008年4月9日 申请日期2007年11月26日 优先权日2007年11月26日
发明者彬 王 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1