[发明专利]一种基于TCP协议的自适应网络控制传输方法和系统无效
| 申请号: | 201110169536.2 | 申请日: | 2011-06-22 |
| 公开(公告)号: | CN102209079A | 公开(公告)日: | 2011-10-05 |
| 发明(设计)人: | 李挥;宋思聪;潘凯;李硕彦;樊旭东;李锐源 | 申请(专利权)人: | 北京大学深圳研究生院;深圳市利德嘉实业有限公司 |
| 主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L1/00 |
| 代理公司: | 深圳市科吉华烽知识产权事务所 44248 | 代理人: | 黄晓笛 |
| 地址: | 518052 广东省深圳*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 tcp 协议 自适应 网络 控制 传输 方法 系统 | ||
1.一种基于TCP协议的自适应网络控制传输方法,包括在网络传统的TCP/IP协议体系结构中的发送端和接收端的传输层和网络层中间分别添加网络编码层,其特征在于:在网络编码层中给编码包和ACK应答包添加包含特定变量的网络编码包头,利用编码包和ACK应答包将所述特定变量在接收端和发送端之间传递并更新,并利用所述特定变量在发送端网络编码层调整冗余系数。
2.根据权利要求1所述的基于TCP协议的自适应网络控制传输方法,其特征在于所述给编码包和ACK应答包添加包含特定变量的网络编码包头,利用编码包和ACK应答包将这些变量在接收端和发送端之间传递并更新,是按照如下方法进行:
在发送端,在网络编码层给网络编码包头中加入特定的变量包括:生成编码包的线性系数向量γ和变量pktID,该变量信息被接收端的网络编码层提取,其中,所述生成编码包的线性系数向量γ被交予解码模块用于原始包的解码,所述变量pktID被赋值给接收端网络编码层中的变量echo_pktID;
在接收端,在网络编码层给ACK应答包的网络编码包头加入特定的变量包括:变量echo_pktID和变量loss,loss = pktID – id,其中echo_pktID用以表示导致此ACK包产生的编码包的唯一编码序号,loss值表示编码包的pktID序号和最新看见的原始包序号id之间的差值,依靠ACK应答包将这两个变量传回发送端;
当发送端的网络编码层收到ACK应答包时,剥去ACK应答包的网络编码包头,提取变量信息echo_pktID和loss;
所述在发送端网络编码层调整冗余系数R是指在发送端的网络编码层中还添加了如下变量: R_old表示当前冗余系数;W表示上一次调整冗余系数R值时echo_pktID的理论最小值, 若echo_pktID满足等于或者第一次大于W + 10*R_old值这两个条件之一时,则进行调整冗余系数R值:
利用从ACK包头里提取出的loss值计算得出当前发送端网络编码层中变量diff_loss_new的值,即diff_loss_new = loss – loss_old;其中loss_old表示上一次调整冗余系数R时收到的ACK包中loss的值,diff_loss_new表示相邻两次调整冗余系数R值时收到ACK包中loss值的差值;利用变量diff_loss_new计算得出新的冗余系数R_new的值,即R_new = R_old+2*(diff_loss_new/10)+ (diff_loss_old/10);其中diff_loss_old表示上一次调整冗余系数R时得出的diff_loss_new的值;更新发送端网络编码层中的参数变量,即R_old = R_new, loss_old = loss, diff_loss_old = diff_loss_new, W = W + 10*R_new。
3.一种基于TCP协议的自适应网络控制传输系统,包括发送端和接收端,该系统分别在发送端和接收端的传输层和网络层中间设置了网络编码层,其特征在于:
发送端的网络编码层包含的两个控制传输模块:一个模块用于处理从发送端TCP传输层送来的数据包或者管理链接的包,该控制传输模块给数据包进行网络编码并加入特定的变量在网络编码包头中,所述特定变量包含:生成编码包的线性系数向量γ和变量pktID,该变量信息被接收端网络编码层的用于处理从发送端传来的编码数据包的控制传输模块提取,其中,所述生成编码包的线性系数向量γ被用于原始包的解码;所述变量pktID被赋值给接收端网络编码层中的变量echo_pktID;
另一个控制传输模块用于处理从接收端传来的ACK应答包,该模块对来自发送端下层网络层传来的ACK应答包剥去网络编码包头,提取包头中的变量 echo_pktID,根据提取出的变量echo_pktID值判断此时是否应该更新冗余系数R值,若echo_pktID等于W + 10*R_old或者echo_pktID第一次大于W + 10*R_old,则开始更新冗余系数R值:从ACK应答包的网络编码包头中提取变量loss值,利用从ACK包头里提取出的loss值计算得出当前发送端网络编码层中变量diff_loss_new的值,即diff_loss_new = loss – loss_old; 其中loss_old表示上一次调整冗余系数R时收到的ACK包中loss的值,diff_loss_new表示相邻两次调整冗余系数R值时收到ACK包中loss值的差值;利用变量diff_loss_new计算得出新的冗余系数R_new的值,即R_new = R_old + 2*(diff_loss_new/10) + (diff_loss_old/10);其中diff_loss_old表示上一次调整冗余系数R时得出的diff_loss_new的值,更新发送端网络编码层中的参数变量,即R_old = R_new, loss_old = loss, diff_loss_old = diff_loss_new, W = W + 10*R_new;
接收端的网络编码层包含的两个控制传输模块:一个模块用于处理从接收端TCP传输层送来的ACK包,该模块判断从接收端TCP传输层送来的ACK包是否是将建立链接的控制包,若是则交付给接收端下层网络层,若不是,则将其丢弃并返回等待状态;
另一个控制传输模块用于处理从发送端传来的编码数据包,该模块若收到来自下层网络层交付的数据包,则剥去数据包中的网络编码包头,提取编码系数向量γ和变量pktID,进行解码操作,得到原始包,并生成一个新的添加网络编码包头的ACK应答包,所添加的网络编码包头中包含变量loss和变量echo_pktID,将新生成的ACK应答包交付予下层网络层。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学深圳研究生院;深圳市利德嘉实业有限公司,未经北京大学深圳研究生院;深圳市利德嘉实业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110169536.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:液体喷射头以及液体喷射装置
- 下一篇:半导体装置





