The invention relates to a named data network continuous data push method for data slicing, belonging to the technical field of computer network data transmission. It includes a) setting the name and location information of each node in NDN and the connection link between nodes b) informing each other of the link state and establishing the link state database C) exchanging the link state database information of each node and summarizing the link state information of the whole network D) informing the whole network of the name of the data content held by the data source node E) calculating the optimal path to other nodes and obtaining the data content of each node and writing it into the FIB table F) data source sends push request interest package and user reply push response data package g) user sends data request interest package and data source reply push data package h) user counts and receives push data package I) user checks and verifies push data package and sends retransmission request interest package and data source retransmission part push data package. It realizes the continuous push of data packets and reduces the link and bandwidth consumption.
【技术实现步骤摘要】
一种针对数据分片的命名数据网络连续数据推送方法
本专利技术涉及一种针对数据分片的命名数据网络连续数据推送方法,尤其涉及命名数据网络NDN(NamedDataNetworking)中一种针对数据分片的连续数据推送方法,属于计算机网络数据传输
技术介绍
命名数据网络NDN是一种以命名数据为主要通信对象的网络体系,是信息中心网络的一种实现方案。在NDN中,通过对数据内容命名并根据数据包的名字信息进行寻址,改变了目前网络基于IP地址的寻址方式,实现了数据内容和主机地址的分离,数据通信模式从“端到端”转变为“端到网络”。NDN中的通信由数据请求者驱动,即数据请求者需要首先发送数据请求,数据发布者根据所请求数据内容的名称将相应的数据内容回复给数据请求者。NDN中包含两种格式的包,分别是兴趣包(InterestPacket)和数据包(DataPacket),其中兴趣包是用户即数据请求者为请求数据而发送的包含所需数据内容的名字的请求包,数据包是数据源即数据发布者为响应兴趣包而回复的,包含用户所需数据内容的包,并且数据包和相应兴趣包的内容名称相同,命名也一致。由于NDN中的兴趣包不携带目的地址信息,所有兴趣包均被路由器以逐跳转发的方式进行处理。NDN中按照兴趣包的流动方向,定义结点中兴趣包流入的接口为“下游接口”,兴趣包流出的接口为“上游接口”。NDN中每个路由器包含三种表结构,分别是转发信息表FIB(ForwardingInformationBase)、待定请求表PIT(PendingInterestTable)和 ...
【技术保护点】
1.一种针对数据分片的命名数据网络连续数据推送方法,其特征在于:即数据包的传输“推”模式;包括以下几部分:a)设置命名数据网络中各结点的名称和位置信息及结点间连接链路、b)相邻结点互相通告链路状态及各结点建立链路状态数据库、c)相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息、d)数据源结点向全网结点通告该结点持有数据内容的名称、e)各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表、f)数据源发送推送请求兴趣包以及用户回复推送应答数据包、g)用户发送数据请求兴趣包以及数据源回复推送数据包、h)用户计数并接收推送数据包、i)用户清点校验推送数据包并根据校验结果发送重传请求兴趣包以及数据源重传部分推送数据包;/n具体包括以下步骤:/n步骤1、设置命名数据网络中各结点的名称和位置信息及结点间连接链路,具体包括如下子步骤:/n步骤1.1设置命名数据网络NDN中各通信结点的名称和结点位置;/n步骤1.2在命名数据网络NDN中,用有线链路或无线链路连接相邻结点的通信接口,使之构成可通信的命名数据网络;/n其中,通信接口指硬件接口,简称接口,主机或路由器通过该接口接入其他硬件设 ...
【技术特征摘要】
1.一种针对数据分片的命名数据网络连续数据推送方法,其特征在于:即数据包的传输“推”模式;包括以下几部分:a)设置命名数据网络中各结点的名称和位置信息及结点间连接链路、b)相邻结点互相通告链路状态及各结点建立链路状态数据库、c)相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息、d)数据源结点向全网结点通告该结点持有数据内容的名称、e)各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表、f)数据源发送推送请求兴趣包以及用户回复推送应答数据包、g)用户发送数据请求兴趣包以及数据源回复推送数据包、h)用户计数并接收推送数据包、i)用户清点校验推送数据包并根据校验结果发送重传请求兴趣包以及数据源重传部分推送数据包;
具体包括以下步骤:
步骤1、设置命名数据网络中各结点的名称和位置信息及结点间连接链路,具体包括如下子步骤:
步骤1.1设置命名数据网络NDN中各通信结点的名称和结点位置;
步骤1.2在命名数据网络NDN中,用有线链路或无线链路连接相邻结点的通信接口,使之构成可通信的命名数据网络;
其中,通信接口指硬件接口,简称接口,主机或路由器通过该接口接入其他硬件设备;所述其他硬件设备是指除本结点主机或路由器以外的硬件设备;
步骤2、相邻结点互相通告链路状态及各结点建立链路状态数据库,具体包括如下子步骤:
步骤2.1NDN中每两个相邻结点互相向对方发送一次问候兴趣包;
其中,相邻结点指的是NDN中任意两个通过一条链路直接相连的结点;
步骤2.2NDN各结点建立本结点的链路状态数据库,根据收到的来自所有相邻结点的问候兴趣包,记录本结点所有相邻结点的名字及对应链路路由代价;
步骤3、相邻结点交换链路状态数据库信息及各结点汇总全网链路状态信息,具体包括如下子步骤:
步骤3.1NDN中各结点向所有相邻结点发送链路状态兴趣包;
步骤3.2NDN各结点将收到的来自所有相邻结点的链路状态数据库信息与本结点现有链路状态数据库信息进行对比,若收到的所有链路状态数据库信息与本结点现有的链路状态数据库信息均一致,则执行3.2.1;否则,执行3.2.2;
3.2.1若收到的来自所有相邻结点的链路状态数据库信息均与本结点现有的链路状态数据库信息一致,表明各结点均已记录NDN所有结点名字与链路状态,各结点关于NDN全网的链路状态数据库已经建立,跳至步骤4;
3.2.2若收到的来自相邻结点的链路状态数据库信息与本结点现有的链路状态数据库信息存在差异,则NDN结点根据相邻结点的链路状态数据库信息,补充本结点链路状态数据库中缺少的链路状态信息,跳至步骤3.1;
步骤4、数据源结点向全网结点通告该结点持有数据内容的名称,具体包括如下子步骤:
步骤4.1NDN中数据源结点向所有相邻结点发送内容兴趣包;
其中,内容兴趣包的内容:“数据源结点的名称及其持有数据内容的名称”;
步骤4.2NDN中收到内容兴趣包的结点,首先记录数据源名称及其持有的数据内容的名称,然后向本结点中除接收接口以外的所有接口转发内容兴趣包;
其中,接收接口即本结点的通信接口,此处特指收到内容兴趣包的接口;
所述步骤4用于通知NDN所有结点数据源结点持有的数据内容的名称;
步骤5、各结点计算到达其他结点和获取数据内容的最优路径并写入FIB表,具体包括如下子步骤:
步骤5.1NDN各结点根据本结点记录的关于NDN全网的链路状态数据库,利用Dijkstra算法计算从本结点到其他结点的最优路径并添加FIB表条目1;
所述FIB表条目1的内容:“结点名称以及从本结点到该结点的最优路径上的下一转发结点名称”;
步骤5.2NDN各结点查询链路状态数据库确定网络中数据源结点的位置,利用Dijkstra算法计算从本结点到数据源结点的最优路径并添加FIB条目2;
其中,FIB条目2的内容:“数据源结点持有的数据内容的名称以及从本结点到数据源结点的最优路径上的下一转发结点名称”;
所述步骤5用于为NDN结点间的数据通信提供数据转发依据;
为方便表述下文中“数据源结点”简称“数据源”,“用户结点”简称“用户”;
步骤6、数据源发送推送请求兴趣包以及用户回复推送应答数据包,具体包括如下子步骤:
步骤6.1数据源向用户发送推送请求兴趣包,并在数据源的PIT表中记录推送请求兴趣包条目,设置并启动数据源PIT表条目定时器T1;
其中,推送请求兴趣包的内容:“推送数据内容的名称和数据包数量N”;
数据源PIT表中记录推送请求兴趣包条目的内容:“推送请求兴趣包的名称,以及推送请求兴趣包对应的下游接口”;
当T1定时到期时,数据源PIT表中记录的推送请求兴趣包条目将被擦除;
步骤6.2用户收到推送请求兴趣包,查看得知数据源意图推送的数据内容的名称和数据包数量N;用户查看本结点中内容存储表CS的剩余空间R,根据剩余空间R的大小决定是否接受数据包推送,以及接受推送的数据包数量M;
其中,用户是否接受推送数据包的判定依据为:
若数据源意图推送的数据内容不是用户所必需的数据内容,且用户CS剩余空间R小于等于N,则拒绝数据包推送;
若数据源意图推送的数据内容不是用户所必需的数据内容,且用户CS剩余空间R大于N,则接受数据包推送,且接受推送的数据包数量M=N;
若数据源意图推送的数据内容是用户所必需的数据内容,且用户的CS剩余空间R大于等于N,则接受数据包推送,且接受推送的数据包数量M=N;
若数据源意图推送的数据内容是用户所必需的数据内容,且用户的CS剩余空间R小于N,则用户从CS缓存的数据包中,按照缓存时间先后和使用频率,将最先缓存的K个数据包中使用次数最少的(N-R)个数据包丢弃,使CS的剩余空间达到N,然后接受数据包推送,且接受推送的数据包数量M=N;
其中,K的取值范围为500到2000,用户所必需的数据内容指的是NDN用户进行通信所必需的数据内容,包括网络配置信息、网络拓扑信息以及网络更新信息;
步骤6.3用户向数据源发送推送应答数据包,若用户拒绝数据包推送,则推送应答数据包的内容是“用户拒绝数据包推送”;若用户接受数据包推送,则推送应答数据包的内容是“用户接受数据包推送,接受推送的数据包数量为M”;
其中,推送应答数据包与推送请求兴趣包的命名相同,推送应答数据包将按照推送请求兴趣包转发的反向路径,经多个结点转发到达数据源;
步骤6.4数据源收到推送应答数据包,首先查看PIT表,寻找与推送应答数据包匹配的推送请求兴趣包条目,若存在匹配的PIT条目,则执行步骤6.5;若不存在匹配的PIT条目,则数据源丢弃推送应答数据包,结束所述命名数据网络连续数据推送过程;
步骤6.5数据源查看推送应答数据包的内容,若推送应答数据包的内容是“用户拒绝数据包推送”,则执行6.5.1;若推送应答数据包内容是“用户接受数据包推送,接受推送的数据包数量为M”,则执行6.5.2;
6.5.1若推送应答数据包的内容是“用户拒绝数据包推送”,则数据源将PIT表中的推送请求兴趣包条目擦除,并丢弃推送应答数据包,结束所述命名数据网络连续数据推送过程;
6.5.2若推送应答数据包的内容是“用户接受数据包推送,接受推送的数据包数量为M”,则数据源将PIT表中的推送请求兴趣包条目擦除,在准备推送的所有数据包中,将数据包序号S为1~M的数据包,按序放入数据包推送队列;
其中,数据包序号S为组成数据文件的多个数据分片按照数据组成顺序的标号,标号方式为1,2,3……N,一个数据分片聚合为一个数据包;
所述数据包推送队列用于放置数据源将要推送的所有数据包;
步骤7、用户发送数据请求兴趣包以及数据源回复推送数据包,具体包括如下子步骤:
步骤7.1用户向数据源发送数据请求兴趣包,并在用户PIT表中记录数据请求兴趣包条目,设置并启动用户PIT表条目定时器T2;
其中,数据请求兴趣包的内容:“请求推送的数据内容名称,以及请求推送的数据包数量M”,PIT表中数据请求兴趣包条目内容:“数据请求兴趣包的名称,以及数据请求兴趣包对应的下游接口”;
所述用户PIT表条目定时器T2用于规定用户PIT表中记录条目的生存时间,此处规定的是数据请求兴趣包条目的生存时间,其时间取值范围为1s~100s,当T2定时到期时,用户PIT表中记录的数据请求兴趣包条目将被擦除;
步骤7.2数据源收到数据请求兴趣包,向用户连续发送推送数据包;
具体为:数据源设置并启动推送定时器T3,当T3定时到期时,数据源将数据包推送队列中首个推送数据包发送给用户,将T3清零并再次启动T3定时,即每隔T3时间数据源向用户发送一个推送数据包直到M个推送数据包全部按序发送,所有推送数据包均按照数据请求兴趣包的反向转发路径转发到达用户;
其中,推送定时器T3的时间取值范围为1ms~100ms,T3用于设置推送数据包的发送频率,推送数据包即数据包推送队列中的所有数据包,且所有推送数据包均与步骤7.1中数据请求兴趣包的命名相同;
步骤7.3推送数据包发送完毕,数据源向用户发送完结数据包;
具体为:数据源将推送定时器T3清零并再次启动T3开始定时,当T3定时到期时,数据源向用户发送一个完结数据包,然后将T3清零并再次启动T3开始定时,T3定时到期时再向用户发送一个完结数据包,如此循环H次,即数据源在推送数据包发送结束后,每隔T3时间向用户发送一个完结数据包,共发送H个完结数据包;
其中,H的取值范围为1~...
【专利技术属性】
技术研发人员:安建平,刁文澜,李彤,胡晗,张宇,于季弘,范戎飞,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。