[发明专利]网络编码层对数据包的编解码方法有效
申请号: | 201310103344.0 | 申请日: | 2013-03-28 |
公开(公告)号: | CN103200192A | 公开(公告)日: | 2013-07-10 |
发明(设计)人: | 唐鼎;周旭;秦小伟;覃毅芳;赵志军;慈松;谭红艳 | 申请(专利权)人: | 中国科学院声学研究所 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04W80/06 |
代理公司: | 北京亿腾知识产权代理事务所 11309 | 代理人: | 陈霁 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网络 编码 数据包 解码 方法 | ||
1.一种网络编码层对发送的数据包进行编码的方法,所述网络编码层应用于发送端的TCP协议与IP协议之间,其特征在于,所述方法包括:
步骤1,初始化网络编码层,设置用于对发送的数据包进行编码的两个或两个以上的编码矩阵,每个编码矩阵的大小为W,选择所述两个或两个以上的编码矩阵中的第一编码矩阵作为当前编码矩阵,所述W即该编码矩阵的所有矩阵元素的个数之和;
步骤2,网络编码层收到传输控制协议TCP层发送给接收端的数据包时,判断当前编码矩阵的剩余空间是否大于零,如果是,进入步骤4,否则进入步骤3,所述当前编码矩阵的剩余空间即该编码矩阵中未存数据包的矩阵元素数目;
步骤3,选择两个或两个以上的编码矩阵中的第二编码矩阵作为当前矩阵,返回步骤2;
步骤4,将数据包p放入当前编码矩阵,并对编码矩阵中的所有n个数据包按式子进行线性编码,其中系数a1∈Fq,其中Fq是大小为q的有限域,产生一个线性编码组合包,组合包的包头中包括本次线性编码的系数、编码矩阵的索引号,以及所述数据包的序号。
2.根据权利要求1的方法,其特征在于,所述步骤2还包括:如果收到与所述发送端对应的接收端反馈的确认包则进入步骤5;所述方法中还包括:步骤5,从所述确认包中提取矩阵索引和数据包序号,根据矩阵索引号获得相应的编码矩阵,根据数据包序号获得矩阵中相应的数据包,最后从编码矩阵中删除该数据包。
3.根据权利要求1的方法,其特征在于,所述步骤3还包括:如果所述两个或两个以上的编码矩阵中的所有编码矩阵被选为当前矩阵时,其未存数据包的矩阵元素数目均小于1,则将欲发送的数据包缓存,暂缓对该数据包的编码。
4.根据权利要求1的方法,其特征在于,所述方法还包括:查看是否有暂缓发送的数据包,如果有则判断当前编码矩阵的剩余空间是否大于零,如果是,进入步骤4,否则进入步骤3。
5.根据权利要求1所述的方法,其特征在于,所述步骤3中选择两个或两个以上的编码矩阵中的第二编码矩阵作为当前矩阵,具体为,从所述两个或两个以上的编码矩阵中的除所述第一编码矩阵以外的其余所有或部分编码矩阵中随机或者按照次序选择一个作为当前矩阵。
6.一种网络编码层对接收到的数据包进行解码的方法,所述网络编码层应用于接收端的TCP协议与IP协议之间,其特征在于,所述方法包括:
步骤1,初始化网络编码层,设置用于对接收到的数据包进行解码的两个或两个以上的解码矩阵,每个编码矩阵的大小为W,所述两个或两个以上的解码矩阵与发送端对数据包进行编码的两个或两个以上的编码矩阵相对应,所述W为该解码矩阵的所有矩阵元素的个数之和;
步骤2,接收端的网络编码层接收到发送端发送的经过编码矩阵编码过的数据包时,从该数据包中提取矩阵索引号,根据索引号获得对应的解码矩阵;
步骤3,如果所述解码矩阵的剩余空间大于零,进入步骤4,否则释放该编码包,返回步骤2,所述解码矩阵的剩余空间为该解码矩阵中未存数据包的矩阵元素数目;
步骤4,将所述数据包放入获得的所述解码矩阵中使用高斯消元迭代方法进行解码。
7.根据权利要求6所述的方法,其特征在于,所述步骤4包括:通过高斯消元迭代计算判断所述数据包是否能够增加所述解码矩阵的秩,如果能,进入步骤5;否则释放该数据包,返回步骤2;所述方法包括步骤5,产生一个用于反馈给发送端的确认包,所述确认包中包括所述解码矩阵的序号。
8.根据权利要求7所述的方法,其特征在于,所述,所述序号为所述获得的所述解码矩阵中第一个未确认数据包的序号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院声学研究所,未经中国科学院声学研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310103344.0/1.html,转载请声明来源钻瓜专利网。