【技术实现步骤摘要】
一种基于字节编号的命名数据网络数据分片可靠传输方法
本专利技术涉及命名数据网络NDN(NamedDataNetworking)中一种基于字节编号的数据分片可靠传输方法,属于计算机网络数据传输
技术介绍
命名数据网络NDN保留了TCP/IP网络的沙漏模型,不同的是,NDN用内容块(ContentChunk)代替了IP包,从网络的角度看,NDN用对数据内容命名代替了对物理实体命名,用户所交换的数据内容与位置无关。NDN中数据报文分为兴趣包和数据包两类,兴趣包和数据包中都含有一个内容名称来标识内容请求者想要获取的数据内容或数据包负载的数据内容,数据包还包含所要交换的数据内容及其内容发布者的签名。NDN通过内容请求者发送兴趣包驱动内容发布者回复数据包的方式进行数据通信。NDN中路由节点均具备缓存功能来缓存经过本节点的数据包,数据包独立于其位置而存在,因此缓存的数据包可以用于响应将来相同的数据内容请求。NDN路由节点通过3种重要的数据结构完成数据内容的转发,分别是转发信息库FIB(ForwardingInformat ...
【技术保护点】
1.一种基于字节编号的命名数据网络数据分片可靠传输方法,其特征在于:包括以下步骤:/n步骤1、内容发布者将每项数据内容按字节进行编号;/n具体为:NDN中内容发布者对持有的每项数据内容按字节进行编号;/n其中,每项数据内容的字节长度为N+1,将每项数据内容的第一个字节编号为A,第二个字节编号为A+1,第三个字节编号为A+2……字节编号按照自然数递增,最后一个字节编号为A+N;/n步骤2、内容请求者发送询问兴趣包并比较转发路径上各路由节点的最大传输单元MTU记录最小值,具体包括如下子步骤:/n步骤2.1NDN内容请求者发送询问兴趣包,在内容请求者的PIT表中记录询问兴趣包条目 ...
【技术特征摘要】
1.一种基于字节编号的命名数据网络数据分片可靠传输方法,其特征在于:包括以下步骤:
步骤1、内容发布者将每项数据内容按字节进行编号;
具体为:NDN中内容发布者对持有的每项数据内容按字节进行编号;
其中,每项数据内容的字节长度为N+1,将每项数据内容的第一个字节编号为A,第二个字节编号为A+1,第三个字节编号为A+2……字节编号按照自然数递增,最后一个字节编号为A+N;
步骤2、内容请求者发送询问兴趣包并比较转发路径上各路由节点的最大传输单元MTU记录最小值,具体包括如下子步骤:
步骤2.1NDN内容请求者发送询问兴趣包,在内容请求者的PIT表中记录询问兴趣包条目,设置并启动内容请求者PIT表条目定时器T1;
其中,询问兴趣包的内容是:“内容请求者想要获取的数据内容的内容名称,以及询问兴趣包转发路径上各路由节点的MTU的最小值M”;
所述最大传输单元,简写为MTU,是MaximumTransmissionUnit的缩写,指的是某个NDN节点一次数据发送或数据接收过程能够传输的最大字节数;
其中,此处询问兴趣包中M记录的是内容请求者的MTU;内容请求者PIT表中询问兴趣包条目的内容是:“询问兴趣包中的内容名称,以及询问兴趣包对应的下游接口”;
所述内容请求者PIT表条目定时器T1用于规定内容请求者PIT表中记录条目的生存时间,该生存时间的取值范围为1s到100s;此处规定了询问兴趣包条目的生存时间,当T1定时到期时,擦除内容请求者PIT表中的询问兴趣包条目;
步骤2.2询问兴趣包经过多个中继节点转发到达内容发布者,并比较转发路径上各路由节点的MTU记录最小值;
具体为:询问兴趣包转发过程中,转发路径上每个中继节点收到询问兴趣包,首先查看询问兴趣包中记录的路由节点MTU最小值M,若本节点MTU小于M,则将本节点MTU的值赋值给M,否则不更改M的取值;然后中继节点根据询问兴趣包中的内容名称查询FIB表,选择匹配的转发接口将询问兴趣包转发到下一中继节点,并在本节点的PIT表中记录询问兴趣包条目,设置并启动中继节点PIT表条目定时器T2;
其中,中继节点PIT表中询问兴趣包条目的内容是:“询问兴趣包中的内容名称,以及询问兴趣包对应的下游接口”;中继节点PIT表条目定时器T2用于规定中继节点PIT表中记录条目的生存时间,该生存时间的取值范围为1s到100s,此处T2规定了询问兴趣包条目的生存时间,当T2定时到期时,擦除中继节点PIT表中的询问兴趣包条目;
步骤3、内容发布者回复应答数据包告知数据内容的字节长度和起始字节编号及整个链路的最大传输单元;
其中,整个链路即询问兴趣包从内容请求者转发到内容发布者的转发路径;
步骤3具体包括如下子步骤:
步骤3.1内容发布者收到询问兴趣包,首先根据询问兴趣包中的内容名称查询相应数据内容,统计数据内容的字节长度和起始字节编号;然后查看询问兴趣包中记录的路由节点MTU最小值M,若内容发布者的MTU小于M,则将内容发布者MTU的值赋值给M,否则不更改M的取值;接着内容发布者封装应答数据包回复给内容请求者,应答数据包与询问兴趣包中的内容名称设置相同;
其中,应答数据包的内容是:“内容请求者想要获取的数据内容的字节长度是N+1,起始字节编号是A,转发路径上整个链路的最大传输单元是M”;
步骤3.2应答数据包按照询问兴趣包转发的反向路径经过多个中继节点转发到达内容请求者;
具体为:应答数据包转发过程中转发路径上每个中继节点收到应答数据包,首先根据应答数据包中的内容名称查询PIT表,若存在相同名称的询问兴趣包条目,则将应答数据包从该条目记录的下游接口转发出去,然后擦除该项PIT条目,将中继节点PIT表条目定时器T2清零;若不存在相同名称的询问兴趣包条目,则丢弃应答数据包,等待T2定时到期,当T2定时到期时,擦除中继节点PIT表中的询问兴趣包条目;
步骤3.3内容请求者等待接收应答数据包,若内容请求者收到应答数据包,首先根据应答数据包中的内容名称查询PIT表,若PIT表中存在相同名称的询问兴趣包条目,则执行步骤4;否则丢弃应答数据包,等待T1定时到期,当T1定时到期时,擦除内容请求者PIT表中的询问兴趣包条目,跳至步骤2;
步骤4、内容请求者发送请求兴趣包包含想要获取的数据内容的内容名称和字节编号范围,具体包括如下子步骤:
步骤4.1内容请求者查看应答数据包,记录数据内容的字节长度N+1,起始字节编号A,以及转发路径上整个链路的最大传输单元M;然后擦除内容请求者PIT表中的询问兴趣包条目,将内容请求者PIT表条目定时器T1清零;
步骤4.2内容请求者封装请求兴趣包,封装完成后将请求兴趣包复制一份,将复制的请求兴趣包存储在内容请求者CS中;
其中,请求兴趣包的内容是:“内容请求者想要获取的数据内容的内容名称,以及想要获取的数据内容的字节编号范围是A到A+K;”
K用于保证获取数据内容的字节长度小于请求兴趣包转发路径上整个链路的最大传输单元M,从而避免链路拥塞;
步骤4.3NDN内容请求者发送请求兴趣包,在内容请求者的PIT表中记录请求兴趣包条目,启动内容请求者PIT表条目定时器T1;
其中,内容请求者PIT表中请求兴趣包条目的内容是:“请求兴趣包中的内容名称及请求兴趣包对应的下游接口”,此处T1规定了请求兴趣包条目的生存时间;
步骤4.4请求兴趣包按照与步骤2.2中的询问兴趣包相同的转发路径,经过多个中继节点转发到达内容发布者,在此转发过程中,各中继节点在本节点的PIT表中记录请求兴趣包条目,启动中继节点PIT表条目定时器T2,此处T2规定了请求兴趣包条目的生存时间;
步骤5、内容发布者收到请求兴趣包后将相应字节的数据内容封装为内容数据包回复给内容请求者,具体包括如下子步骤:
步骤5.1内容发布者收到请求兴趣包,首先根据请求兴趣包中的内容名称找到相应数据内容,然后对内容请求者想要获取的相应字节编号的数据内容进行复制,生成数据内容副本,将数据内容副本封装为一个内容数据包,将内容数据包按照请求兴趣包转发的反向路径发送出去,且内容数据包与请求兴趣包中的内容名称设置相同;
步骤5.2转发路径上每个中继节点收到内容数据包,首先根据内容数据包中的内容名称查询PIT表,若PIT表中存在相同名称的请求兴趣包条目,则执行步骤5.3;否则丢弃内容数据包,等待T2定时到期,当T2定时到期时,中继节点PIT表中请求兴趣包条目被擦除,跳至步骤6;
步骤5.3中继节点对内容数据包进行CRC校验,校验内容数据包中的数据内容是否正确,若数据内容校验正确,则将内容数据包复制一份保存在本节点的CS中,然后将内容数据包从相应PIT条目记录的下游接口转发出去,接着擦除PIT表条目,将中继节点PIT表条目定时器T2清零;若内容数据包经CRC校验错误,则丢弃内容数据包,擦除PIT表的请求兴趣包条目,将中继节点PIT表条目定时器T2清零;...
【专利技术属性】
技术研发人员:安建平,刁文澜,李彤,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。