[发明专利]一种网络设备以及解包输出报文的方法有效
申请号: | 201310746676.0 | 申请日: | 2013-12-30 |
公开(公告)号: | CN103746940B | 公开(公告)日: | 2018-03-06 |
发明(设计)人: | 杨升;王长宏 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L12/879 | 分类号: | H04L12/879;H04L12/747 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙)44285 | 代理人: | 唐华明 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络设备 以及 输出 报文 方法 | ||
技术领域
本发明涉及计算机网络领域,特别涉及一种网络设备以及解包输出报文的方法。
背景技术
随着网络芯片的带宽不断增加,很多外部端口使用多组数据总线拼包的模式进行数据传输。因此,网络芯片通常会同时收到多组报文段,同时收到的多组报文段可能属于同一个报文,也可能属于不同的多个报文。然而,由于网络芯片不支持同时对多个报文进行处理,因此,需要将所收到的多组报文段进行解包,每次输出属于同一个报文的1个或多个报文段。
目前,主要采用队列式缓存对报文段进行缓存,通过流水推送的机制进行报文段的解包和输出。所谓流水推送的机制是指,总是从队列式缓存的保存有有效报文段的最后一组寄存器后开始写入所收到的报文段,其中,一组报文段写入一组寄存器,相当于解包,总是从队列式缓存的第一组寄存器开始输出属于同一报文的报文段,当有报文被输出后,需要将其他未输出的报文段向第一组寄存器方向顺序移动,从而使得最后一个有效报文段向前移动以增加新的空闲存储空间去接受新写入的报文段,保证输出时可以简单地遵循地址顺序输出正确的报文,同时可以根据第一组寄存器以及最后一组有效报文段简单地找到正确的读/写位置。
但是,由于这种流水推送的机制需要在队列式缓存中进行大量的移动操作,因此,效率较低。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种网络设备以及解包输出报文的方法以实现网络设备在解包输出报文时无需进行数据移动操作,从而提高效率的目的。
为了解决以上技术问题,本发明实施例采取的技术方案是:
第一方面,本发明实施例提供了一种网络设备,所述网络设备包括:
环状缓存,用于保存写指针寄存器写入的报文段;
写指针寄存器,用于保存环状缓存的起始写地址,当需要将网络设备所接收到的至少一组报文段进行缓存时,从所述起始写地址开始,按所述环状缓存的地址顺序将所接收的报文段逐组写入所述环状缓存,其中,一个地址写入一组报文段;根据第一加法器计算出的更新的起始写地址,对保存的起始写地址进行更新;
第一加法器,用于根据写指针寄存器写入所述环状缓存的报文段的组数量计算出更新的起始写地址;
读指针寄存器,用于保存环状缓存的起始读地址,当需要输出报文时,从所述环状缓存的起始读地址开始按所述地址顺序,从所述环状缓存读出属于同一报文的报文段,输出所读出的报文段,根据第二加法器计算出的更新的起始读地址,对保存的起始读地址进行更新;
第二加法器,用于根据读指针寄存器所读出的报文段的组数量计算出更新的起始读地址。
在第一方面的第一种可能的实现方式中,所述写指针寄存器,具体用于当需要在当前时钟周期内将网络设备在当前时钟周期所接收到的N组报文段进行缓存时,从所述起始写地址开始,按所述环状缓存的地址递增的顺序将所接收的N组报文段逐组写入所述环状缓存,其中,N大于等于1;
所述第一加法器,用于根据更新的起始写地址等于所述环状缓存的起始写地址开始递增N个地址,计算出所述更新的起始写地址;
且还包括:
第一比较器,用于判断所述当前时钟周期之前,所述环状缓存所保存的一个报文段是否包含报文尾标志;
第二比较器,用于每当读指针寄存器从一个地址读出报文段时,判断该地址的报文段是否包含报文尾标志;
其中,所述读指针寄存器,具体用于如果第一比较器判断出所述当前时钟周期之前,所述环状缓存所保存的一个报文段包含报文尾标志,在所述当前时钟周期内从环状缓存的所述起始读地址开始逐个递增地址读出报文段,每当从一个地址读出报文段时,如果第二比较器判断出该地址的报文段包含报文尾标志,当前时钟周期的读操作结束;
所述第二加法器,具体用于根据所述更新的起始读地址等于所述环状缓存的起始读地址开始递增M个地址,计算出更新的起始读地址,所述M为所述读指针寄存器在所述当前时钟周期内所读出的报文段的组数量。
在第一方面的第二种可能的实现方式中,所述写指针寄存器,具体用于当需要在当前时钟周期内将网络设备在当前时钟周期所接收到的N组报文段进行缓存时,从所述起始写地址开始,按所述环状缓存的地址递减的顺序将所接收的N组报文段逐组写入所述环状缓存,其中,N大于等于1;
所述第一加法器,具体用于根据所述更新的起始写地址等于所述环状缓存的起始写地址开始递减N个地址,计算出更新的起始写地址;
且,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310746676.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双柱车铣复合加工中心
- 下一篇:一种组播报文的转发方法及装置