一种实现吉比特无源光网络封装模式帧重组的系统和方法

文档序号:7690784阅读:165来源:国知局

专利名称::一种实现吉比特无源光网络封装模式帧重组的系统和方法
技术领域
:本发明涉及GPON(吉比特无源光网络)系统,尤其涉及一种实现GEM(GPON封装模式)帧重组的系统和方法。
背景技术
:GPON是一种光接入网技术,由OLT(光线路终端)、ODN(光分配网络)和ONU(光网络单元)三部分构成,在OLT和ONU之间是通过无源ODN连接的一种网络架构。OLT和ONU之间采用GTC(GPONTransmissionConvergence,GPON传输汇聚层)帧的格式进行数据传送,GTC帧的格式如图1所示,其中,PLOu,PhysicalLayerOverheadupstream,上行物理层开销;PLOAMu,PhysicalLayerOperations,AdministrationandMaintenanceupstream,上行物理层操作管理维护;PLSu,PowerLevelingSequenceupstream,上4亍功率甘空制序号;DBRu,DynamicBandwidthReportupstream,上4亍动态带宽才艮告;PCBd,PhysicalControlBlockdownstream,下行物理控制块。其中GTC帧中的有效载荷可以承载各种类型用户数据,主要的承载协议是ATM(AsynchronousTransferMode,异步传输模式)或GEM,本发明不涉及ATM协议。GTC协议以透明方式承载GEM业务,在下行方向,从OLT到ONU的数据在GEM帧的净荷(如图2所示)中传送;在上行方向,从ONU到OLT的业务数据在配置的GEM分配时隙上传送。GEM帧头和帧结构如图2所示,GEM帧头由12位的PLI(PayloadLengthIndicator,净荷长度指示符),12位的PortIEK端口标识符),3位的PTI(PayloadTypeIndicator,净荷类型指示符)以及13位的HEC(HeaderErrorControl,巾贞头差错控制)组成。PLI指示GEM帧中帧头之后的净荷的长度,以字节为单位。12比特的位宽最多可表示长度为4095字节的净荷碎片,如果用户数据的长度超过4095字节,就得被分割成多个碎片。PortID用来提供GPON中4096个不同的业务流标识,以实现业务流复用。PTI用于指示净荷类型以及相应的处理方式,编码的含义000,用户^:据^晬片,非帧尾;001,用户数4居石争片,帧尾;100,GEMOAM(Operations、AdministrationandMaintenance,操作管理和维护),非帧尾;101,GEMOAM,帧尾;其它值保留。HEC提供帧头错误检测和校正功能。因为用户数据的帧长随机,所以GEM协议支持用户数据帧的分片,并在每个净荷碎片前面插入GEM帧头。GEM帧头中的PTI就是用于此目的。每个用户数据帧可以分为多个碎片,每个碎片之前附加一个帧头,PTI域指示该碎片是否是用户帧的帧尾。在以太网向GPON系统传输数据时,完整的以太网数据包封装到GEM的方式如图3所示。如果业务帧在配置的GEM分配时隙上不能完整发送的话,就需要对以太网数据进行分片。在相反的方向即GPON系统向以太网传输数据时,需要对分片后的数据进行重组,以恢复完整的以太网数据。重组基于PortID进行,每一个PortID代表一种业务流,允许不同的PortID的凄t据间插发送。重组支持4K个PortID的GEM帧的重组去掉GEM帧头,将净荷提取出来还原成以太网帧。重组的净荷数据緩存在外部存储器DDR2(DoubleDataRate2,双数据传输模式)SDRAM(SynchronousDynamicrandomaccessmemory,同步动态随机存储器)中。因为GEM帧的长度是随机的,而DDR2SDRAM(数据位宽为16比特)的burst(连续猝发)操作特性要求每次写入其中的数据长度必须是8字节(64比特)的整数倍,同时还要支持4K个PortID的GEM帧数据间插,所以对于GEM帧尾部长度不够8字节整数倍的数据要进行特殊处理,即对于尾部剩余字节长度如果不是外部存储器最小操作单位的整数倍,则需要先在芯片内部进行保存,等待同一个PortID的下一个GEM帧到来时再写入外部存储器,因为4K个PortID的数据是间插发送的,所以必须为每个PORTID都准备存储空间来存放尾部剩余字节,这就必然造成大量的存储资源浪费。
发明内容本发明提供一种实现吉比特无源光网络封装模式帧重组的系统和方法,以解决使用大量的存储资源緩存GEM帧尾部数据的问题。为了解决上述技术问题,本发明提供一种实现吉比特无源光网络封装模式帧重组的系统,所述系统包括吉比特无源光网络封装模式GEM帧头处理模块、净荷重组处理模块,其中所述GEM帧头处理模块,用于收到GEM帧后,读取所述GEM帧头,得到其端口标识符;所述净荷重组处理模块,用于在外部存储器中为同一个所述端口标识符的GEM帧申请一存储空间,得到所述存储空间的地址后将第一个GEM帧净荷写入外部存储器指定地址空间,所述GEM帧净荷的尾部剩余字节长度如果不是所述外部存储器最小操作单位的整数倍,则添加无效字节补齐一并写入所述外部存储器,对于后续所述端口标识符的GEM帕净荷,如果判定上一个GEM帧尾部有无效字节写入,则将后续GEM帧净荷覆盖前一个GEM帧尾部的无效字节后,将净荷依次写入外部存储器后续地址空间,以恢复出完整的以太网数据包。本发明所述系统,其中,所述系统还包括查重组表模块,所述GEM帧头处理模块,还用于读取所述GEM帧头后,得到其净荷长度指示符;所述净荷重组处理模块,还用于在保存每个GEM帧净荷后,根据其净荷长度指示符更新重组表,包括更新当前数据包存储的地址、当前数据包的包长;所述查重组表模块,用于所述净荷重组处理模块进行净荷重组时,根据所述端口标识符开始查找重组表,得到当前以太网数据包的中间变量,包括当前数据包存储的地址、当前重组好的数据包的包长和循环冗余校验。进一步地,所述GEM帧头处理模块,还用于读取所述GEM帧头后,得到其净荷类型指示符;所述净荷重组处理模块,还用于根据GEM帧的净荷类型指示符判断当前数据包如果已经重组完成,则将相应端口标识符在所述重组表中对应的表项内容复位。本发明所述系统,其中,所述净荷重组处理模块,用于采用数据块操作的方式将GEM帧净荷写入外部存储器。本发明所述系统,其中,所述外部存储器为双数据传输模式同步动态随机存储器DDR2SDRAM。本发明还提供一种实现吉比特无源光网络封装模式帧重组的方法,包括如下步骤(1)GEM帧头处理模块收到GEM帧后,读取所述GEM帧头,得到其端口标识符;(2)所述净荷重组处理模块在外部存储器中为同一个所述端口标识符的GEM帧申请一存储空间,得到所述存储空间的地址后将第一个GEM帧净荷写入外部存储器指定地址空间,所述GEM帧净荷的尾部剩余字节长度如果不是所述外部存储器最小操作单位的整数倍,则添加无效字节补齐一并写入所述外部存储器,对于后续所述端口标识符的GEM帧净荷,如果判定上一个GEM帧尾部有无效字节写入,则将后续GEM帧净荷覆盖前一个GEM帧尾部的无效字节后,将净荷依次写入外部存储器后续地址空间,以恢复出完整的以太网数据包。进一步地,步骤(l)中,所述GEM帧头处理模块读取所述GEM帧头后,还得到其净荷长度指示符和净荷类型指示符。进一步地,步骤(2)中,所述净荷重组处理模块在保存每个GEM帧净荷后,根据其净荷长度指示符更新重组表,包括更新当前数据包存储的地址、当前数据包的包长,并进行循环冗余校验;再有所述端口标识符的GEM帧净荷重组时,查重组表模块根据所述端口标识符开始查找所述重组表,得到当前数据包存储的地址后采用数据块操作的方式进行GEM帧净荷写入。进一步地,步骤(2)中,所述净荷重组处理才莫块根据GEM帧的净荷类型指示符判断当前数据包如果已经重组完成,则将相应端口标识符在所述重组表中对应的表项内容复位。进一步地,所述外部存储器为双数据传输模式同步动态随机存储器DDR2SDRAM。釆用本发明所述方案,能够以最少的资源实现GEM帧基于PortID的重组,并支持不同PortID的数据间插发送,实现了对随机长度的数据碎片进行重组,具有一定的通用性。图1是GTC帧的格式;图2是GEM帧头和帧结构;图3是完整的以太网数据包封装到GEM的方式示意图;图4是本发明实施例实现GEM巾贞重组的系统结构示意图;图5是本发明应用实例实现GEM帧重组的方法流程图;图6是本发明实施例实现GEM帧重组的方法示意图。具体实施例方式以下结合附图和具体实施方式对本发明所述技术方案进行详细描述。如图4所示,是本发明实施例实现GEM帧重组的系统结构示意图,所述系统包括GEM帧头处理模块、净荷重组处理模块、查重组表模块,其中所述GEM帧头处理模块,用于收到GEM帧后,读取所述GEM帧头,得到其端口标识符(PortID)、净荷长度指示符(PLI)和净荷类型指示符(PTI);所述查重组表模块,用于所述净荷重组处理模块进行净荷重组时,根据所述端口标识符开始查找重组表(如下表1所示),得到当前以太网数据包的中间变量,包括当前数据包存储的地址、当前重组好的数据包的包长和CRC(循环冗余校验);<table>tableseeoriginaldocumentpage9</column></row><table>表1重组表上述重组表以PortID为索引地址,地址0到地址4095依次对应PortIDO到PortlD4095;所述净荷重组处理才莫块,用于在外部存储器中为同一个所述端口标识符的GEM帧申请一存储空间,得到所述存储空间的地址后将第一个GEM帧净荷采用数据块操作的方式写入外部存储器指定地址空间,所述GEM帧净荷的尾部剩余字节长度如果不是所述外部存储器最小操作单位的整数倍,则添加无效字节补齐一并写入所述外部存储器,对于后续所述端口标识符的GEM帧净荷,如果判定上一个GEM帧尾部有无效字节写入,则将后续GEM帧净荷覆盖前一个GEM帧尾部的无效字节后,将净荷依次写入外部存储器后续地址空间,以恢复出完整的以太网数据包;还用于在保存每个GEM帧净荷后,根据其净荷长度指示符更新重组表,包括更新当前数据包存储的地址、当前数据包的包长;还用于根据GEM帧的净荷类型指示符判断当前数据包如果已经重组完成,则将相应端口标识符在所述重组表中对应的表项内容复位。上述外部存储器为DDR2SDRAM。GEM帧头处理模块在收到帧头后,提取出GEM帧描述符,包括PortID,净荷长度指示符PLI,净荷类型指示符PTI等信息。然后查重组表模块根据PortID开始查找重组表,得到当前包的中间变量。净荷重组处理模块判断当前包重组好的长度是否为0,如果为0,则表示当前GEM帧是数据包的第一个分片,需要在外部存储器DDR2SDRAM中为它申请一个新的存储空间,得到存储空间的地址后才可以进行净荷的重组处理采用数据块操作的方式将净荷依次写入外部存储器指定地址空间,尾部剩余字节长度如果不是外部存储器最小操作单位的整数倍,则添加无效字节补齐一并写入外部存储器;如果不为0,则根据实际重组好的长度判断该数据包的前一个GEM帧是否有无效字节写入,没有无效字节写入,则如前面所述对净荷进行重组处理,否则,当前GEM帧的第一个净荷数据块写入的时候,地址跟前面一帧尾部重叠一个最小操作单位,有效净荷数据后移到无效字节起始的位置,前10面填充新的无效字节,写入的时候屏蔽掉这些新的无效字节,当前GEM帧后面的数据块处理同第一帧,这样就可以将同属于一个数据包的GEM帧净荷完整地重组起来了。根据PTI判断当前包是否已经重组完成,如果完成,则将相应PortID在重组表中对应的表项内容复位。如图5所示,是本发明应用实例实现GEM帧重组的方法流程图,重组开始之前需要对重组表做初始化,除CRC域的32个比特初始化成全,T,外,其它域全部初始化成"0",所述方法包括如下步骤步骤501,GEM帧头处理才莫块读取GEM帧头,得到PortID,净荷长度指示符PLI以及净荷类型指示符PTI等信息;步骤502,查重组表模块根据PortID查找重组表,提取出对应的表项的内容;步骤503,净荷重组处理;漠块判断重组好的长度是否为0:如果为0,则表示该GEM帧是上述PortID数据包的第一个分片,转步骤504;如果不为0,则转步骤506;步骤504,净荷重组处理模块在外部存储器DDR2SDRAM中为数据包申请一个存储空间,重组好的数据将緩存在其中,得到存储空间的地址;步骤505,按照数据块操作方式将GEM帧净荷写入外部存储器指定地址空间,同时进行CRC验证并更新重组表,然后转步骤508;如果帧尾剩余的数据长度不满足外部存储器最小操作单位M(字节)整数倍的要求,则用无效字节补齐,都写入外部存储器中,但无效字节个数不在重组好的长度中计数;步骤506,根据重组好的长度判断上一帧尾部是否有无效字节写入外部存储器如果没有,则转步骤505;如果有N个无效字节写入,N介于0和外部存储器的最小操作单位M之间,则转步骤507;步骤507,用GEM帧净荷覆盖无效字节,按块操作方式存储净荷数据如图6所示,当前该GEM帧的第一个净荷数据块写入外部存储器时,在有效数据前面添加(M-N)个新的无效字节,这样有效数据就会后移(M-N)个字节的位置,写入外部存储器的地址与该包的上一GEM帧尾部地址重叠M个字节,屏蔽掉前面(M-N)个无效字节,这样就把同一数据包相邻两帧的有效数据重组到一起了,该帧后面的净荷数据写入方式如同步骤505,之后转步骤508;步骤508,根据PTI判断是否是顿尾如果是,则转步骤509;如果不是,则转步骤501;步骤509,帧尾处理,根据剩余净荷长度判断是否需要填充无效字节;步骤510,将重组表表项复位,上述所述PortID的以太网数据包恢复完整,流程结束。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。权利要求1、一种实现吉比特无源光网络封装模式帧重组的系统,其特征在于,所述系统包括吉比特无源光网络封装模式GEM帧头处理模块、净荷重组处理模块,其中所述GEM帧头处理模块,用于收到GEM帧后,读取所述GEM帧头,得到其端口标识符;所述净荷重组处理模块,用于在外部存储器中为同一个所述端口标识符的GEM帧申请一存储空间,得到所述存储空间的地址后将第一个GEM帧净荷写入外部存储器指定地址空间,所述GEM帧净荷的尾部剩余字节长度如果不是所述外部存储器最小操作单位的整数倍,则添加无效字节补齐一并写入所述外部存储器,对于后续所述端口标识符的GEM帧净荷,如果判定上一个GEM帧尾部有无效字节写入,则将后续GEM帧净荷覆盖前一个GEM帧尾部的无效字节后,将净荷依次写入外部存储器后续地址空间,以恢复出完整的以太网数据包。2、如权利要求1所述系统,其特征在于,所述系统还包括查重组表模块,所述GEM帧头处理模块,还用于读取所述GEM帧头后,得到其净荷长度指示符;所述净荷重组处理模块,还用于在保存每个GEM帧净荷后,根据其净荷长度指示符更新重组表,包括更新当前数据包存储的地址、当前数据包的包长;所述查重组表模块,用于所述净荷重组处理模块进行净荷重组时,根据所述端口标识符开始查找重组表,得到当前以太网数据包的中间变量,包括当前数据包存储的地址、当前重组好的凄t据包的包长和循环冗余校验。3、如权利要求2所述系统,其特征在于,所述GEM帧头处理模块,还用于读取所述GEM帧头后,得到其净荷类型指示符;所述净荷重组处理模块,还用于根据GEM帧的净荷类型指示符判断当前数据包如果已经重组完成,则将相应端口标识符在所述重组表中对应的表项内容复位。4、如权利要求1所述系统,其特征在于,所述净荷重组处理模块,用于采用数据块操作的方式将GEM帧净荷写入外部存储器。5、如权利要求14任一项所述系统,其特征在于,所述外部存储器为双数据传输模式同步动态随机存储器DDR2SDRAM。6、一种实现吉比特无源光网络封装模式帧重组的方法,其特征在于,包括如下步骤(1)GEM帧头处理模块收到GEM帧后,读取所述GEM帧头,得到其端口标识符;(2)所述净荷重组处理模块在外部存储器中为同一个所述端口标识符的GEM帧申请一存储空间,得到所述存储空间的地址后将第一个GEM帧净荷写入外部存储器指定地址空间,所述GEM帧净荷的尾部剩余字节长度如果不是所述外部存储器最小操作单位的整数倍,则添加无效字节补齐一并写入所述外部存储器,对于后续所述端口标识符的GEM帧净荷,如果判定上一个GEM帧尾部有无效字节写入,则将后续GEM帧净荷^篁盖前一个GEM帧尾部的无效字节后,将净荷依次写入外部存储器后续地址空间,以恢复出完整的以太网数据包。7、如权利要求6所述方法,其特征在于,步骤(l)中,所述GEM帧头处理模块读取所述GEM帧头后,还得到其净荷长度指示符和净荷类型指示符。8、如权利要求7所述方法,其特征在于,步骤(2)中,所述净荷重组处理模块在保存每个GEM帧净荷后,根据其净荷长度指示符更新重组表,包括更新当前数据包存储的地址、当前数据包的包长,并进行循环冗余校验;再有所述端口标识符的GEM帧净荷重组时,查重组表模块根据所述端口标识符开始查找所述重组表,得到当前数据包存储的地址后采用数据块操作的方式进4于GEM帧净荷写入。9、如权利要求8所述方法,其特征在于,步骤(2)中,所述净荷重组处理模块根据GEM帧的净荷类型指示符判断当前数据包如果已经重组完成,则将相应端口标识符在所述重组表中对应的表项内容复位。10、如权利要求69任一项所述方法,其特征在于,所述外部存储器为双数据传输模式同步动态随机存储器DDR2SDRAM。全文摘要本发明公开了一种实现GEM帧重组的系统,包括GEM帧头处理模块、净荷重组处理模块。还公开了一种实现GEM帧重组的方法,包括1)GEM帧头处理模块收到GEM帧后,读GEM帧头,得到其端口标识符;2)净荷重组处理模块在外部存储器中为同一个端口标识符的GEM帧申请一存储空间,将第一个GEM帧净荷写入外部存储器指定地址空间,对于后续所述端口标识符的GEM帧净荷,如果判定上一个GEM帧尾部有无效字节写入,则将后续GEM帧净荷覆盖前一个GEM帧尾部的无效字节后,将净荷依次写入外部存储器后续地址空间。本发明方案能够以最少的资源实现GEM帧基于PortID的重组,并支持不同PortID的数据间插发送。文档编号H04Q11/00GK101552931SQ20081008973公开日2009年10月7日申请日期2008年4月3日优先权日2008年4月3日发明者吕舒予,娄本刚申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1