[发明专利]基于块状链表结构的6lowpan数据包重装缓存方法有效
申请号: | 201210580981.2 | 申请日: | 2012-12-28 |
公开(公告)号: | CN103023808A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 孙知信;骆冰清 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;H04L29/06 |
代理公司: | 南京经纬专利商标代理有限公司 32200 | 代理人: | 朱小兵 |
地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于块状链表结构的6lowpan数据包重装缓存方法,针对sk-buff结构的存储方式,考虑到轻量级的IPV6网络数据包应用环境与存储内容的不同,采用块状链表结构实现其缓存机制,利用数组与链表相结合的方式对6lowpan数据包分片进行存储与重装。包括基于块状链表结构的数据缓存方法,以及采用基于块状链表结构的数据缓存方法对6lowpan数据包进行分片处理的方法。本发明解决6lowpan实现过程中,对于多节点并发发送数据包时,由于单一缓存机制的限制导致的数据包丢包情况,且块状链表由于数组大小固定,且存储顺序不受限制,不会因数据问题而导致链表退化。 | ||
搜索关键词: | 基于 块状 结构 lowpan 数据包 重装 缓存 方法 | ||
【主权项】:
一种基于块状链表结构的6lowpan数据包缓存方法,其特征在于,在基于6lowpan的无线传感器网络中,根据接收节点对于接收到数据包分片时缓存的状态分为以下A、B、C三种情况处理:A、当链表为空链表,即不存在其他已经缓存的数据包分片,此时对所接收到的数据包分片处理过程如下:A1、读取数据包分片的首部,根据首部字段size的值判断该数据包负载的总大小,然后根据该数据包负载的总大小建立缓冲区,同时根据首部字段tag的值判断该数据包分片所属于的数据包标示信息; A2、为6lowpan分片数据包建立由next、scis、tag、size、Ip‑len组成的五元组;其中各字段定义如下:next代表下一节点指针,在每个节点中所表示的意义相同;scis为指向所分配缓冲区的开端的指针;tag用于标示属于同一数据包的一组分片;size代表缓冲区的大小,与整个数据包大小一致;Ip‑len表示已经处理过的数据包分片长度,其随着处理数据包分片的数量的增加而增加;A3、将scis指针指向缓冲区地址;将next指针指向链表的头指针,插入五元组;A4、继续接收其他数据包分片,返回步骤A1;B、当链表为非空链表,即存在其他已经缓存的数据包分片,此时对所接收的数据包分片处理过程如下:B1、读取数据包分片的首部,根据首部字段size的值判断该数据包负载的总大小,根据首部字段tag的值判断该数据包分片所属于的数据包标示信息;B2、根据B1中所读取的tag的值,在链表中查找是否已存在相同tag值的链表节点,若存在相同tag值的链表节点,则转B3;若不存在相同tag值的链表节点,则转B4;B3、根据所查找到的链表节点中的scis指针,将该数据包分片存储至已分配好的缓冲区;B4、为该6lowpan分片数据包建立由next、scis、tag、size、Ip‑len组成的五元组,根据size的大小建立缓冲区,scis指针指向缓冲区地址;将该节点插入到上一节点后,保存指针;B5、返回步骤B1继续接收其他数据包分片;C、当链表的最后一个节点已存储了正在接收的数据包分片信息,则丢弃该数据包分片。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201210580981.2/,转载请声明来源钻瓜专利网。
- 上一篇:模拟RGB信号的控制显示方法和系统
- 下一篇:多路静电释放保护器件的加工方法