[发明专利]一种面向连接的命名数据网络数据传输方法有效

专利信息
申请号: 201911029796.2 申请日: 2019-10-28
公开(公告)号: CN110753123B 公开(公告)日: 2020-10-23
发明(设计)人: 安建平;欧阳巧琳;李彤;刁文澜 申请(专利权)人: 北京理工大学
主分类号: H04L29/08 分类号: H04L29/08;H04L1/18;H04L12/801;H04L12/46;H04L29/06
代理公司: 北京正阳理工知识产权代理事务所(普通合伙) 11639 代理人: 王民盛
地址: 100081 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明涉及一种面向连接的数据传输方法,属于网络数据传输技术领域。包括消费者A及生产者B创建套接字;消费者A发送连接请求兴趣包,生产者B持续接收并连接请求数据包回复;生产者B发送连接确认兴趣包,消费者A持续接收并连接确认数据包回复;消费者A发送询问兴趣包,生产者B回复告知数据包;消费者A发送数据请求兴趣包,生产者B回复数据内容数据包;消费者A发送释放兴趣包,生产者B回复并发送释放兴趣包,消费者A回复释放数据包;生产者B定期发送检测兴趣包及消费者A回复;消费者A定期发送检测兴趣包,生产者B回复检测数据包及消费者A与生产者B定期检测重传计时器并重发。所述方法实现了数据的可靠传输。
搜索关键词: 一种 面向 连接 命名 数据 网络 数据传输 方法
【主权项】:
1.一种面向连接的命名数据网络数据传输方法,其特征在于:包括数据传输操作及数据传输异常操作,包括以下步骤:/n步骤1、消费者A及生产者B分别创建各自的套接字,包括如下子步骤:/n1.1生产者B选定其与消费者进行交互的端口b,并创建代表交互端点的套接字(B,b),再在端口b上监听;/n1.2消费者A选定其与生产者进行交互的端口a,并创建代表交互端点的套接字(A,a),再在端口a上监听;/n步骤2、消费者A发送连接请求兴趣包,生产者B持续接收,直至收到并回复该连接请求数据包,包括如下子步骤:/n步骤2.1消费者A发送内容名称为“TCP/B/b/A/a/t/x/”的连接请求兴趣包,记录该兴趣包发送时间为t1,设置估计的平均往返时间SRTT_a初值为一适值,设置超时重传时间RTO_a初值,并使RTO_a的值略大于SRTT_a,设置重传定时器T1=RTO_a并开始计时,设置消费者A检测到的往返时间变化RTTVAR初值为(RTO_a-SRTT_a)/4;/n其中,内容名称“TCP/B/b/A/a/t/x/”中的“TCP”代表了该包是一个与面向连接操作相关的兴趣包;“t”代表该兴趣包用于建立连接;x为一随机数;/n其中,RTTVAR_a的初值设置依据了TCP协议内重传参数计算式内体现出的”往返时间变化”、“重传时间”、“平均往返时间”三个量之间的关系;/n重传定时器T1的设置是为了当兴趣包在网络中丢失时进行重传;/n步骤2.2生产者B接收到消费者A发送的连接请求兴趣包,若生产者同意本次连接,则回复数据内容为“同意本次连接”的连接请求数据包,若生产者不同意本次连接,则回复数据内容为“不同意本次连接”的连接请求数据包;/n步骤2.3消费者A接收到生产者B回复的连接请求数据包,销毁重传计时器T1,获取该数据包的到达时间t2,获得本次往返时间R=t2-t1,并利用公式(1)更新RTO_a,消费者A根据连接请求数据包数据内容部分判断生产者B是否同意本次连接,若生产者不同意则通知上层应用连接失败,清除与本次连接相关的数据,停止执行并结束本方法,若生产者接受,则跳至步骤3;/nSRTT_a=α_aSRTT_a+(1-α)R (1)/nRTTVAR_a=β_aRTTVAR_a+(1-β)|SRTT_a-R1|/nRTO_a=SRTT_a+4×RTTVAR_a/n其中,α_a是计算平均往返时间时的平滑因子;其中,β_a是计算往返时间变化的平滑因子;/n步骤3、生产者B发送连接确认兴趣包,消费者A持续接收,直至收到并以连接确认数据包回复,具体包括如下子步骤:/n步骤3.1生产者B产生一个内容名称为“/TCP/A/a/B/b/t/x+1/”的连接确认兴趣包,记录该兴趣包发送时间为t3,设置估计的平均往返时间SRTT_b初值为一适值,设置超时重传时间RTO_b初值,并使其值略大于SRTT_b,设置重传定时器T2=RTO_b并开始计时,将生产者B检测到的往返时间变化RTTVAR_b初值设置为(RTO_b-SRTT_b)/4;/n步骤3.2消费者A接收到消费者B发送的连接确认兴趣包,若消费者A同意本次连接,则回复数据内容为“同意本次连接”的连接确认数据包,设置消费者端的保活计时器Tlivea为一较长时间,并开始计时,若消费者A不同意本次连接,则回复数据内容为“不同意本次连接”的连接确认数据包,并清除与本次连接相关的数据;/n步骤3.3生产者B接收到消费者A发送的连接确认数据包,销毁重传计时器T2,获取该数据包的到达时间t4,获得本次往返时间R=t4-t3,并利用公式(2)更新RTO_b,生产者B根据连接请求数据包数据内容部分判断消费者A是否同意本次连接,若消费者不同意则清除与本次连接相关的数据,停止执行并结束本方法,若消费者接受,则设置生产者B的保活计时器Tliveb为一较长时间并开始计时,并跳至步骤4;/nSRTT_b=α_bSRTT_b+(1-α_b)R (2)/nRTTVAR_b=β_bRTTVAR+(1-β_b)|SRTT_b-R|/nRTO_b=SRTT_b+4×RTTVAR_b/n其中,α_b是计算平均往返时间时的平滑因子;β_b是计算往返时间变化的平滑因子;/n保活计时器Tlivea、Tliveb的设置是为了当连接空闲时间较长时,查看连接对方是否仍存在,避免资源的浪费;/n步骤4、消费者A发送询问兴趣包以及生产者B回复告知数据包,具体包括如下子步骤:/n步骤4.1消费者A产生一个内容名称为“/TCP/B/b/A/a/r/请求内容名称/”的询问兴趣包,记录该兴趣包发送时间为t5,设置重传计时器T3=RTO_a并开始计时;/n其中,询问兴趣包内容名称“/TCP/B/b/A/a/r/请求内容名称/”中的“r”代表了这是一个询问兴趣包;/n步骤4.2生产者B接收到询问兴趣包,重置保活计时器Tliveb并判断是否可以给消费者A发送其请求的数据,若判断可以给消费者A发送数据,则回复数据内容为“同意发送数据内容/datasize”的告知数据包,否则回复数据内容为“不同意发送数据内容”的告知数据包;/n其中,datasize为消费者A所请求的数据内容所包含的字节数;/n步骤4.3消费者A接收到告知数据包,销毁重传计时器T3,获取该数据包的到达时间t6,获得本次往返时间R=t6-t5,并利用公式(1)更新RTO_a,若从告知数据包中获知生产者B不同意发送数据内容且消费者A还想请求其他数据内容,则转置步骤4.1,若从告知数据包中获知生产者B不同意发送数据内容且消费者A不想请求其他内容,则转至步骤6,若从告知数据包中获知生产者B同意发送数据内容则转置步骤5;/n步骤5、消费者A发送数据请求兴趣包以及生产者B回复数据内容数据包,具体包括如下子步骤:/n步骤5.1消费者A发送内容名称为“/TCP/B/b/A/a/d/申请的数据包内容名称/st/en/”的数据请求兴趣包,记录该兴趣包发送时间为t7,设置重传计时器T4=RTO_a并开始计时;/n其中,数据请求兴趣包内容名称“/TCP/B/b/A/a/d/申请的数据包内容名称/st/en/”中的“d”代表了这是一个数据请求兴趣包;/n其中,st为申请数据包片段的起始字节,其取值为0~datasize中的任意整数;/n其中,en为申请数据包片段的终止字节,其取值为st~datasize中的任意整数;/n步骤5.2生产者B接收到数据请求兴趣包,重置保活计时器Tliveb,并回复数据内容为所请求数据内容的数据内容数据包;/n步骤5.3消费者A收到生产者B所发送的数据内容数据包,重置保活计时器Tlivea;销毁重传计时器T4,获取该数据包的到达时间t8,获得本次往返时间R=t8-t7,并利用公式(1)更新RTO_a;/n步骤5.4重复步骤5直至获取到所请求数据内容的所有数据内容片段;/n步骤6、消费者A发送释放兴趣包以及生产者B回复释放数据包,具体包括如下子步骤:/n步骤6.1当消费者A希望断开连接时,消费者A发送内容名称为“/TCP/B/b/A/a/e/”的释放兴趣包,设置重传计时器T5=RTO_a,并开始计时;/n其中,释放兴趣包内容名称“/TCP/B/b/A/a/e/”中的“e”代表了这是一个释放兴趣包;/n步骤6.2生产者B收到释放兴趣包,重置保活计时器Tliveb,回复数据内容为空的释放数据包;/n步骤6.3消费者A接收到释放数据包,销毁重传计时器T5;/n步骤7、生产者B发送释放兴趣包以及消费者A回释放数据包,具体包括如下子步骤:/n步骤7.1当生产者B发送释放数据包并发送完成所有消费者A之前请求过的数据内容后,发送内容名称为“/TCP/A/a/B/b/e/”的释放兴趣包,设置重传计时器T6=RTO_b,并开始计时;/n步骤7.2消费者A收到释放兴趣包,则回复数据内容为空的释放数据包,清除本次连接相关数据;/n步骤7.3生产者B接收到释放数据包,销毁重传计时器T6,释放连接;/n至此,从步骤1到步骤7,结束了一种面向连接的命名数据网络数据传输方法中的数据传输操作,以下是数据传输异常操作;/n步骤8、生产者B定期发送连接检测兴趣包以及消费者A回复连接检测数据包,具体包括如下子步骤:/n步骤8.1当保活计时器Tliveb变为0的时候,生产者B发送内容名称为“/TCP/A/a/B/b/keepalive/”的检测兴趣包,并重置保活计时器Tliveb,令Tleft=TOb,设置重传计时器T7=RTO_b并开始计时;/n其中,检测兴趣包内容名称“/TCP/A/a/B/b/keepalive/”中的“keepalive”代表了这是一个检测兴趣包;/n其中,TOb为生产者允许重传次数的最大值,其取值可为任意自然数;/n步骤8.2当消费者A接收到检测兴趣包时,重置保活计时器Tlivea,并回复一个数据内容为空的检测数据包;/n步骤8.3若生产者B接收到检测数据包时,重置保活计时器Tliveb,销毁重传计时器T7;/n步骤9、消费者A定期发送连接检测兴趣包以及生产者B回复连接检测数据包,具体包括如下子步骤:/n步骤9.1当保活计时器Tlivea变为0的时候,消费者A发送内容名称为“/TCP/B/b/A/a/keepalive/”的检测兴趣包,设置重传计时器T8=RTO_a并开始计时,重置保活计时器Tlivea,令Tleft=TOa;/n步骤9.2当生产者B接收到检测兴趣包时,重置保活计时器Tliveb,并回复一个数据内容为空的检测数据包;/n步骤9.3消费者A接收到检测数据包,重置保活计时器Tlivea,销毁重传计时器T8;/n其中,TOa为消费者允许重传次数的最大值,其取值可为任何自然数;/n步骤10、消费者A与生产者B定期检测重传计时器是否到时并进行重发,当任一重传计时器到时为0,若重传计时器超时且处于步骤8或步骤9中且Tleft=0,则断开连接,否则重传计时器超时且处于步骤8或步骤9中且TTleft≠0则重发对应的兴趣包,并令Tleft=Tleft-1,若重传计时器超时且不处于步骤8或步骤9中,则重发对应的兴趣包。/n
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201911029796.2/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top