CN109451080B - 一种无线场景下ndn兴趣包可靠传输方法 - Google Patents
一种无线场景下ndn兴趣包可靠传输方法 Download PDFInfo
- Publication number
- CN109451080B CN109451080B CN201910030145.9A CN201910030145A CN109451080B CN 109451080 B CN109451080 B CN 109451080B CN 201910030145 A CN201910030145 A CN 201910030145A CN 109451080 B CN109451080 B CN 109451080B
- Authority
- CN
- China
- Prior art keywords
- interest packet
- packet
- interest
- downstream node
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/04—Error control
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
本发明公开的一种无线场景下NDN兴趣包可靠传输方法,属于通信技术领域。本发明通过重新定义RTT的测量作为设置超时重传定时器的依据,在下游节点转发兴趣包后启动超时重传定时器,上游节点收到兴趣包后对兴趣包进行处理或转发,对下游节点回复确认报文,实现兴趣包应答机制。如果在超时重传定时器到期前下游节点收到确认报文,下游节点根据确认报文获知上游节点对兴趣包的处理信息及链路状况;如果链路故障导致在超时定时器到期前下游节点未收到确认报文,下游节点决定是否在当前节点直接重传兴趣包,增加兴趣包传输的可靠性。本发明具有RTT测量准确,丢包处直接重传兴趣包延迟低、效率高的特点,适用于链路不稳定、兴趣包重传率高的无线传输环境。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种无线场景下NDN兴趣包可靠传输方法。
背景技术
ICN(Information-Centric Internet,信息中心网络)是近年来提出的一种全新的网络体系架构,它的提出是为了适应互联网应用由发送者驱动的端对端通信模式向接收者驱动的内容获取模式的转变,同时增强网络对安全性、业务质量、移动性、可扩展性等方面的支持。
NDN(Named Data Networking,命名数据网络)是一种典型的信息中心网络,它以命名数据取代IP,直接以内容名字进行路由。NDN中的报文有两种格式:兴趣包(InterestPacket)和数据包(Data Packet)。NDN采用请求端驱动的通信模式,整个通信过程完全由数据请求端控制。数据请求端被称为消费者,数据发布端被称为生产者。具体地,消费者发出的兴趣包到达某个路由节点时,该路由节点在内容存储库(Content Store,CS)中查找该兴趣包请求的数据包,如果CS中存在该兴趣包请求的数据包,则向消费者返回该数据包;如果CS中不存在该数据包,则在待定兴趣表(Pending Interest Table,PIT)中查询是否已经有相似兴趣包(如果两个兴趣包具有相同的名称和相同的选择器,则它们是相似的)的请求条目,如果查询结果为是,就在相似兴趣包的请求条目中记录该兴趣包的来源接口,将该兴趣包聚合到相似兴趣包的请求条目且终止转发出去,并更新该条目的生存周期至当前时间;如果查询结果为否,将该兴趣包的名称及其来源接口等记录到PIT表,产生一个新的条目。同时,路由节点根据路由协议、转发策略等选择接口将兴趣包转发出去,并将转发信息记录在转发信息表(Forwarding Information Base,FIB)中。兴趣包在NDN中被不断转发,直到该兴趣包被转发到CS中存在该兴趣包对应的数据包的路由节点,由该路由节点向消费者返回数据包;或者直到该兴趣包被转发到能够提供该兴趣包对应的数据包的生产者,由生产者向消费者返回数据包。路由节点根据PIT对应条目中记录的兴趣包的来源接口,返回兴趣包所请求的数据包。
在这种通信机制下,为实现数据可靠传输,若请求端发送一个请求而在超时重传时间(简称RTO)内没有收到所请求的数据包,它需要重新发送兴趣包。超时重传时间通常根据数据往返时间(Round Trip Time,RTT)进行设置,比RTT稍长一些。RTT指的是从请求端发出一个兴趣包Interest,到相应的匹配Data包返回至请求端经历的时长。在NDN网络中,由于Data包可能被存储在传输路径的任何一个节点中,也可能存储在最初的数据生产者节点,因此NDN网络中一对Interest/Data之间的RTT的取值具有不确定性和波动的特点。
现有方法对RTT取最大值会导致请求端等待时延过长;对RTT取最小值会在网络中产生较多的重传兴趣包,易造成网络拥塞的问题。可见RTT取值或大或小都会影响传输效率。
在无线环境下,链路不稳定、时断时续等原因造成兴趣包的丢包率高。中间节点丢失兴趣包时需要从请求端重传,因此请求端重传兴趣包的频率变高,导致兴趣包传输延迟高、传输效率低。
发明内容
NDN在无线传输环境下存在下述缺点:无线链路不稳定、时断时续会造成的兴趣包Interest丢包率高,进而请求端重传兴趣包频率变高,导致兴趣包传输延迟高,且一对Interest/Data之间的往返时间RTT(Round Trip Time,RTT)测量不准确影响兴趣包传输效率。本发明公开的一种无线场景下NDN兴趣包可靠传输方法要解决的技术问题是:针对NDN在无线传输环境下存在的上述缺点,降低上述缺点导致的NDN兴趣包的请求端重传率,降低兴趣包传输延迟,提高兴趣包传输效率。
本发明的目的是通过下述技术方案实现的。
本发明公开的一种无线场景下NDN兴趣包可靠传输方法,通过重新定义RTT的测量作为设置超时重传定时器的依据,并在下游节点转发兴趣包后启动超时重传定时器,上游节点收到兴趣包后对兴趣包进行处理或转发,并对下游节点回复确认报文,实现兴趣包应答机制。如果在超时重传定时器到期前下游节点收到确认报文,下游节点根据确认报文获知上游节点对兴趣包的处理信息及链路状况;如果由于链路故障导致在超时定时器到期前下游节点未收到确认报文,下游节点决定是否在当前节点直接重传兴趣包,增加兴趣包传输的可靠性。本发明具有RTT测量准确,丢包处直接重传兴趣包延迟低、效率高的特点,适用于链路不稳定、兴趣包重传率高的无线传输环境。
本发明公开的一种无线场景下NDN兴趣包可靠传输方法,包括如下步骤:
步骤一:定义兴趣包应答机制,用于对传输的兴趣包进行确认。在每一跳传输链路上定义转发兴趣包的节点是下游节点,收到兴趣包的节点是上游节点。在两个相邻节点之间,下游节点转发兴趣包给上游节点,上游节点在收到下游节点转发的兴趣包后,对下游节点回复确认报文,即建立兴趣包应答机制。
步骤一所述的对下游节点回复确认报文包括①与兴趣包名称匹配的Data;②新定义的确认信息包,又称Ack-Information。Ack代表兴趣包已到达上游节点;Information代表上游节点对当前兴趣包的处理信息。Ack-Information采用“Ack-Information标头+兴趣包”的格式,上游节点把对当前兴趣包的处理信息添加在Ack-Information标头中,并通过当前兴趣包的来源接口将构建的Ack-Information发送给下游节点。
步骤一所述的对下游节点回复确认报文的实现方法为:
步骤1.1:下游节点向上游节点转发兴趣包,为转发的兴趣包建立HPIT条目并设置超时重传定时器。
步骤1.1所述的HPIT是在NDN网络设备中新增的逐跳未确认兴趣包表项HPIT(Hop-PIT,HPIT),HPIT条目存储已转发的兴趣包、转发接口、已转发的兴趣包的重传次数。同时,在每个HPIT条目上设置超时重传定时器。
步骤1.1所述的超时重传定时器以重新定义的RTT为依据。重新定义每个下游节点向上游节点发送报文并得到上游节点的回复确认报文所经历的时间为相邻节点间的RTT。每个下游节点在向上游转发兴趣包后,以新定义的RTT值为转发的兴趣包设置超时重传定时器。
步骤1.2:上游节点收到兴趣包后,首先在内容存储库CS(Content Store,CS)中查找是否有与当前兴趣包名称匹配的数据Data。如果CS中有匹配的Data,则直接将匹配的Data从当前兴趣包的来源接口发送给下游节点;如果CS中没有匹配的Data,在待定兴趣表PIT(Pending Interest Table,PIT)中查找是否有相似的兴趣包。
步骤1.3:在PIT中查找是否有与当前兴趣包相似的兴趣包。如果PIT中有相似兴趣包,根据PIT中的随机数Nonce检查当前兴趣包,根据检查结果分如下三种情况处理:
情况①:检查到当前兴趣包是重复的,对下游节点回复标头携带“兴趣包重复”信息的Ack-Information,即对下游节点回复确认报文;
情况②:检查到当前兴趣包是合法重传的,对下游节点回复标头携带“兴趣包合法重传”信息的Ack-Information,即对下游节点回复确认报文;
情况③:除情况①②之外,在匹配的PIT条目上聚合当前兴趣包,对下游节点回复标头携带“兴趣包聚合”信息的Ack-Information,即对下游节点回复确认报文。
如果PIT中没有相似兴趣包,创建新的PIT条目记录当前兴趣包及其来源接口,并在转发信息表FIB(Forwarding Information Base,FIB)中查找与当前兴趣包名称匹配的路由。
步骤1.4:在FIB中查找与当前兴趣包名称匹配的路由,如果FIB中有与当前兴趣包名称匹配的路由,根据转发策略把当前兴趣包从对应接口转发出去,同时在HPIT中添加新条目记录当前兴趣包及其转发接口并设置超时重传定时器,然后对下游节点回复标头携带“兴趣包已转发”信息的Ack-Information,即对下游节点回复确认报文;如果FIB中没有与当前兴趣包名称匹配的路由,对下游节点回复标头携带“兴趣包无转发接口”信息的Ack-Information,即对下游节点回复确认报文,然后丢弃当前兴趣包。
步骤二:下游节点根据步骤一收到的不同类型的Ack-Information或Data,执行相应的动作,在链路稳定未丢包情况下实现无线场景下NDN兴趣包可靠传输。
步骤二所述的收到的不同类型的Ack-Information或Data包括如下六种情况:
情况一:下游节点收到标头为“兴趣包重复”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况二:下游节点收到标头为“兴趣包合法重传”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况三:下游节点收到标头为“兴趣包聚合”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况四:下游节点收到标头为“兴趣包已转发”的Ack-Information后,延长对应的PIT条目生存周期、删除对应的HPIT条目、取消超时重传定时器、更新FIB接口排序;
情况五:下游节点收到标头为“兴趣包无转发接口”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器、更新FIB接口排序。
情况六:下游节点根据步骤一收到Data包后,查找PIT中是否请求过该数据。如果PIT中请求过该数据,将Data包缓存在CS,删除对应的HPIT条目、取消超时重传定时器,然后将Data包继续向下游转发出去;如果PIT中没有请求过该数据,直接丢弃Data包。
还包括步骤三:当在无线场景下出现丢包情况时,根据HPIT条目上兴趣包的重传次数是否达到最大值,确定是否在当前节点直接重传步骤1.1中的兴趣包,进而降低丢包导致的NDN兴趣包的请求端重传率,降低兴趣包传输延迟,提高兴趣包传输效率。
当在无线场景下出现丢包情况时,下游节点在超时重传定时器到期前未从上游节点收到所请求的Data包或Ack-Information包,查看已转发兴趣包对应的HPIT条目上兴趣包的重传次数是否达到最大值,如果对应的HPIT条目上兴趣包的重传次数未达到最大值,下游节点利用HPIT条目中存储的兴趣包直接重传步骤1.1中的兴趣包,并更新步骤1.1中建立的HPIT条目中的重传次数和超时重传定时器,不必等待兴趣包超时后从请求端重传此兴趣包,进而降低丢包导致的NDN兴趣包的请求端重传率,降低兴趣包传输延迟,提高兴趣包传输效率;如果对应的HPIT条目上兴趣包的重传次数已达到最大值,不再对兴趣包进行重传,直接删除对应的HPIT条目,并在对应FIB条目中降低转发接口排名,绕过故障链路。
更新步骤1.1中建立的HPIT条目中的重传次数即通过对当前的重传次数加一的方法。
有益效果:
1、本发明公开的一种无线场景下NDN兴趣包可靠传输方法,将请求端需要测量的一对Interest/Data之间的RTT简化为测量相邻节点间的RTT,以新定义的RTT作为设置兴趣包超时重传定时器的依据,新定义的RTT测量更简单精确,能够提高兴趣包的重传效率。
2、本发明公开的一种无线场景下NDN兴趣包可靠传输方法,对兴趣包传输增加应答机制,上游节点收到兴趣包后,对下游节点回复Data或Ack-Information。下游节点转发兴趣包请求Data后,会得到①返回的Data、②返回的Ack-Information或③说明包丢失的超时反馈三种结果之一。所述反馈在一个新定义的RTT内到达,因此下游节点可以更快速地检测网络问题,减少兴趣包重传的等待时间。
3、本发明公开的一种无线场景下NDN兴趣包可靠传输方法,对兴趣包传输增加应答机制,在链路稳定未丢包情况下,下游节点根据步骤一收到的Data或不同类型的Ack-Information,执行相应的动作,实现无线场景下NDN兴趣包的可靠传输,提高兴趣包传输的可靠性。
4、本发明公开的一种无线场景下NDN兴趣包可靠传输方法,能够实现故障链路精准定位,在链路不稳定出现丢包情况下,下游节点在超时重传定时器到期时收到包丢失的超时反馈,确定故障发生在当前节点的上游链路。
5、本发明公开的一种无线场景下NDN兴趣包可靠传输方法,下游节点在收到超时反馈后,查看已转发兴趣包对应的HPIT条目上兴趣包的重传次数是否达到最大值,如果对应的HPIT条目上兴趣包的重传次数未达到最大值,下游节点利用HPIT条目中存储的兴趣包直接重传步骤1.1中的兴趣包,不必等待兴趣包超时后从请求端重传此兴趣包,进而降低丢包导致的NDN兴趣包的请求端重传率,降低兴趣包传输延迟,提高兴趣包传输效率;如果对应的HPIT条目上兴趣包的重传次数已达到最大值,不再对兴趣包进行重传,直接删除对应的HPIT条目,并在对应FIB条目中降低转发接口排名,绕过故障链路。
6、本发明公开的一种无线场景下NDN兴趣包可靠传输方法,充分利用NDN逐跳通信和数据缓存模块的优点,能够实现上述方案,进而有效提高无线网络环境下NDN网络兴趣包传输的可靠性,对无线网络环境下NDN的部署提供支持。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例提供的一种命名数据网络的网络架构示意图;
图2是本发明实施例提供的一种NDN中路由节点的内部组成结构;
图3是本发明实施例提供的一种步骤一中的Ack-Information包的结构;
图4是本发明实施例提供的一种步骤一中兴趣包的处理流程图;
图5是本发明实施例提供的一种步骤二中Ack-Information包的处理过程;
图6是本发明实施例提供的一种步骤二中Data包的处理过程。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了验证本发明方法的可行性,本实施例的NDN网络包括多个路由节点(R1—R5),消费者101基于所需数据的名字构建兴趣包并发送至网络,网络中的路由节点(R1—R5)基于兴趣包中内容名字向生产者方向转发兴趣包,在转发过程中路由节点(R1—R5)收到兴趣包后要向下游节点回复确认信息包。如果兴趣包到达缓存有请求数据的生产者102,生产者102就发出对应的数据包进行响应,而数据包将沿着兴趣包转发路径的相反方向返回到消费者101。数据包在返回过程中缓存在它经过的路由节点(R1、R3、R4、R5)的CS之中。图1中虚线代表通信信道是无线信道。链路R1-R2是故障链路。
图2示出了本发明实施例的路由节点的内部组成结构:CS、PIT、FIB及HPIT。
具体地,CS201是NDN节点的数据存储部件,其主要用于缓存经过该路由节点的数据包,其存储模式是数据包的名字+数据。
PIT202主要用于存储收到的兴趣包的名字以及兴趣包的来源接口,其存储模式是兴趣包的名字+接口列表。每个PIT条目由兴趣包标识,多个相似的兴趣包共享相同的PIT条目。
FIB203主要用于路由转发,用于存储不同兴趣包名字前缀对应的转发接口,其存储模式为兴趣包名字前缀+排好序的接口列表。在FIB表中,设置了接口的三种状态:绿色、黄色、红色。绿色代表接口可以正常工作;黄色代表接口不确定是否可以有效工作;红色则表示接口不能工作。
HPIT204是本发明实施例定义的一个包含HPIT条目的数据结构。用于存储已经被转发但未收到确认信息的兴趣包名字、该兴趣包的转发接口及对应接口下的重传次数。并在条目上设置超时重传定时器。超时重传定时器时间根据新定义的RTT设定。例如,路由节点R1收到消费者101转发的兴趣包并向节点R2、R3转发兴趣包时,分别根据测量的路由节点R1-R2、R1-R3的RTT,作为不同转发接口下的兴趣包超时重传定时器。
为了防止路由节点在失效链路上无限制重传兴趣包,对兴趣包重传次数进行限制。重传次数最大值的设置和网络中的RTT相关,
当兴趣包重传次数已达到最大值且没有收到确认报文时,不再对兴趣包进行重传,直接删除对应的HPIT条目,并在对应FIB条目中降低转发接口排名。
HPIT204由<兴趣包的名字,转发接口>进行索引,支持通常的插入和删除操作。
在图1所示的命名数据网络中,兴趣包是用来请求与之对应的数据包,兴趣包和对应的数据包通常拥有相同的名字。
图3是本发明实施例提供的一种Ack-Information包的结构,使用Ack-Information标头和收到的兴趣包构建Ack-Information包,为了尽可能减少对网络带宽资源和路由节点缓存资源的占用,Ack-Information包的体积应该尽可能小。
下述实施例中采用的Ack-Information包的结构包括:
标头(当前节点对兴趣包的分类处理情况)301,是Ack-Information包的重要部分。在网络中被提前定义,当回复确认信息时,路由节点调用适合的标头即可。
本发明实施例中定义了五种不同的标头反馈路由节点对兴趣包的处理信息:兴趣包重复、兴趣包合法重传、兴趣包聚合、兴趣包已转发、兴趣包无转发接口。
兴趣包302,是Ack-Information包的唯一标识,用来定义该Ack-Information包是对对应兴趣包的回复,具体包括如下三个字段,
①所请求数据的名称(Name),是兴趣包的必填字段和重要标识;
②选择选项(Selectors),是兴趣包的保留字段,用于确定内容的优先顺序、发布者过滤以及范围等具体要求来满足用户的不同需求,如果两个兴趣包具有相同的名称和相同的选择选项,则它们是相似的;
③随机数(Nonce),是兴趣包的必填字段和重要标识。根据随机数可以判断是否收到重复的兴趣包。
实施例1:
本实施例公开的一种无线场景下NDN兴趣包可靠传输方法,具体实现步骤如下:
步骤一:定义兴趣包应答机制,用于对传输的兴趣包进行确认。在每一跳传输链路上定义转发兴趣包的节点是下游节点,收到兴趣包的节点是上游节点。在两个相邻节点之间,下游节点转发兴趣包给上游节点,上游节点在收到下游节点转发的兴趣包后,对下游节点回复确认报文,即建立兴趣包应答机制。
步骤一所述的对下游节点回复确认报文实现方法为:
步骤1.1:下游节点向上游节点转发名字为/BIT/ZhanLang/2/2.MP4的兴趣包,为转发的兴趣包建立HPIT条目如图2所示,并设置超时重传定时器。
步骤1.2、1.3、1.4如图4所示。
步骤1.2:上游节点收到兴趣包后的处理方法。在图4中分为两步:
S1.2.1:上游节点接收兴趣包。
该兴趣包是消费者产生的,用于向生产者请求特定数据内容。该兴趣包在转发过程中由消费者或某个下游节点转发给当前节点,在以下实施例中被称为当前兴趣包。
S1.2.2:在CS中查找是否有与当前兴趣包名称匹配的Data。
上游节点收到兴趣包后,在当前节点的CS中查找是否有与当前兴趣包名称匹配的数据Data,如果CS中有匹配的Data,直接将匹配的Data包从当前兴趣包的来源接口发送给下游节点并丢弃收到的兴趣包;如果CS中没有匹配的Data,转到步骤1.3。
步骤1.3:在PIT中查找是否有与当前兴趣包相似的兴趣包。在图4中分为四步:
S1.3.1:在PIT中查找是否有相似的兴趣包。
如果两个兴趣包具有相同的名称和相同的选择选项,则它们是相似的。多个相似的兴趣包共享相同的PIT条目。如果在不同接口发现相同Nonce的兴趣包,则是由于循环或多路径产生了兴趣包循环,将新收到的兴趣包视为重复。如果在相同接口发现相同Nonce的兴趣包,将新收到的兴趣包视为合法重传。
如果PIT中有相似兴趣包,执行步骤S1.3.2;如果PIT中没有相似兴趣包,执行步骤S1.3.4。
S1.3.2:根据PIT中的随机数Nonce检查当前兴趣包,检查结果分为三种情况。
检查匹配的PIT条目的Nonce是否与当前兴趣包的Nonce相同。如果检查到Nonce值相同,执行步骤S1.3.3;如果检查到Nonce值不同,说明当前兴趣包是合法的,为情况③,在匹配的PIT条目上聚合当前兴趣包即添加当前兴趣包的来源接口到匹配的PIT条目,然后在当前兴趣包的来源接口对下游节点回复标头携带“兴趣包聚合”信息的Ack-Information,即对下游节点回复确认报文。
S1.3.3:检查兴趣包的来源接口是否相同。
当S1.3.2检查到Nonce值相同,对Nonce值相同的相似兴趣包进一步检查其来源接口是否与当前兴趣包相同。
如果相似兴趣包的来源接口与当前兴趣包相同,将当前兴趣包视为合法重传,为情况②,在当前兴趣包的来源接口对下游节点回复标头携带“兴趣包合法重传”信息的Ack-Information,即对下游节点回复确认报文,然后丢弃当前兴趣包;
如果相似兴趣包的来源接口与当前兴趣包不同,将当前兴趣包视为重复,为情况①,在当前兴趣包的来源接口对下游节点回复标头携带“兴趣包重复”信息的Ack-Information,即对下游节点回复确认报文,然后丢弃当前兴趣包。
S1.3.4:创建新的PIT条目。
如果在步骤1.3中未查找到相似的兴趣包,说明当前兴趣包是一个新请求的兴趣包,则为当前兴趣包创建新的PIT条目,记录兴趣包的名字及来源接口。之后执行步骤1.4。
步骤1.4:在FIB中查找与当前兴趣包名称匹配的路由。在图4中为S1.4。
S1.4:查找FIB中是否有转发接口。
在FIB中查找兴趣包的转发接口时,采用最长前缀匹配方式进行查询。例如,对于名字为/BIT/ZhanLang/2/2.mp4的兴趣包,如果FIB中名字前缀包括/BIT/ZhanLang和/BIT/ZhanLang/2,则确定名字前缀/BIT/ZhanLang/2对应的接口为转发接口。
根据最长前缀匹配机制,如果FIB有与当前兴趣包名称匹配的路由,根据转发策略把当前兴趣包从对应接口转发出去,同时在HPIT中添加新条目记录当前兴趣包及其转发接口并设置超时重传定时器,然后对下游节点回复标头携带“兴趣包已转发”信息的Ack-Information,即对下游节点回复确认报文;
如果FIB没有与当前兴趣包名称匹配的路由,丢弃当前兴趣包,在当前兴趣包的来源接口对下游节点回复标头携带“兴趣包无转发接口”信息的Ack-Information,即对下游节点回复确认报文。
步骤二:下游节点根据步骤一收到的不同类型的Ack-Information或Data,执行相应的动作,在链路稳定未丢包情况下实现无线场景下NDN兴趣包可靠传输。如图5、图6所示。
步骤二所述的收到的不同类型的Ack-Information或Data包括如下六种情况:
收到不同类型的Ack-Information可以被概括为一种Ack-Information包的处理过程,该方法由下游节点执行,如图5所示,该方法包括:
S501:接收确认信息包。
该Ack-Information由收到兴趣包的上游节点发送,用于向下游节点反馈关于上游的问题。
S502:解析确认信息包标头,获取有关上游节点对兴趣包的处理情况的信息。
其中Ack-Information携带的上游节点对兴趣包的处理情况分为五类,分别是:兴趣包重复、兴趣包合法重传、兴趣包聚合、兴趣包已转发、兴趣包无转发接口,对应情况一到情况五。
S503:根据反馈的信息更新PIT、HPIT及FIB表的相关条目。分为五种情况:
情况一:下游节点收到标头为“兴趣包重复”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况二:下游节点收到标头为“兴趣包合法重传”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况三:下游节点收到标头为“兴趣包聚合”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况四:下游节点收到标头为“兴趣包已转发”的Ack-Information后,延长对应的PIT条目生存周期、删除对应的HPIT条目、取消超时重传定时器、更新FIB接口排序;
更新FIB接口排序的具体方法为,如果一个接口当前是绿色状态,出现兴趣包超时重传计时器到期或者没有可以满足兴趣包的数据时,状态就会变成黄色;如果一个接口当前是黄色状态,收到兴趣包对应的确认信息包或数据包时,则调整状态为绿色;如果接口当前是绿色或者黄色状态,出现链路故障的情况时,则调整状态为红色。
情况五:下游节点收到标头为“兴趣包无转发接口”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器、更新FIB接口排序。
情况六:下游节点根据步骤一收到Data包后,查找PIT中是否请求过该数据。如果PIT中请求过该数据,将Data包缓存在CS,删除对应的HPIT条目、取消超时重传定时器,然后将Data继续向下游转发出去;如果PIT中没有请求过该数据,直接丢弃Data包。如图6所示。
图6是本发明实施例提供的一种Data包的处理过程,和原本的NDN架构下的处理方法类似。不同的是:
当上游节点的CS直接命中兴趣包所请求的数据内容时,上游节点直接返回匹配的Data包。下游节点收到Data包后对CS、HPIT表、FIB表和PIT表进行更新。具体地,将Data插入CS中,删除HPIT表中的匹配条目,更新FIB表中匹配条目的接口状态或排序,删除匹配的PIT条目;根据PIT表中记录的数据请求接口将Data转发出去。
还包括步骤三:当在无线场景下出现丢包情况时,根据HPIT条目上兴趣包的重传次数是否达到最大值,确定是否在当前节点直接重传步骤1.1中的兴趣包,进而降低丢包导致的NDN兴趣包的请求端重传率,降低兴趣包传输延迟,提高兴趣包传输效率。
当在无线场景下出现丢包情况时,下游节点在超时重传定时器到期前未从上游节点收到所请求的Data包或Ack-Information包,查看已转发兴趣包对应的HPIT条目上兴趣包的重传次数是否达到最大值,如果对应的HPIT条目上兴趣包的重传次数未达到最大值,下游节点利用HPIT条目中存储的兴趣包直接重传步骤1.1中的兴趣包,并更新步骤1.1中建立的HPIT条目中的重传次数和超时重传定时器,不必等待兴趣包超时后从请求端重传此兴趣包,进而降低丢包导致的NDN兴趣包的请求端重传率,降低兴趣包传输延迟,提高兴趣包传输效率;如果对应的HPIT条目上兴趣包的重传次数已达到最大值,不再对兴趣包进行重传,直接删除对应的HPIT条目,并在对应FIB条目中降低转发接口排名,绕过故障链路。
本发明的核心在于相邻节点在进行兴趣包传输时,下游节点转发兴趣包之后,创建HPIT条目存储已发送的兴趣包,并根据与相邻节点的RTT设定超时重传定时器;上游节点收到兴趣包要对下游节点回复Ack-Information包或Data包;当下游节点在超时重传定时器到期前未收到回复报文,并且HPIT条目上该兴趣包的重传次数未达到最大值,下游节点执行兴趣包重传。本发明的兴趣包应答机制实现了NDN兴趣包的可靠传输。作为一种替换,本领域的技术人员也能想见其他的对收到的兴趣包回复确认报文的方式,此种变换都属于本发明的保护范畴,后续不做赘述。
以上所述的具体描述,对发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种无线场景下NDN兴趣包可靠传输方法,其特征在于:包括如下步骤,
步骤一:定义兴趣包应答机制,用于对传输的兴趣包进行确认;在每一跳传输链路上定义转发兴趣包的节点是下游节点,收到兴趣包的节点是上游节点;在两个相邻节点之间,下游节点转发兴趣包给上游节点,上游节点在收到下游节点转发的兴趣包后,对下游节点回复确认报文,即建立兴趣包应答机制;
步骤一所述的对下游节点回复确认报文包括①与兴趣包名称匹配的Data;②新定义的确认信息包,又称Ack-Information;Ack代表兴趣包已到达上游节点;Information代表上游节点对已到达兴趣包的处理信息;Ack-Information采用“Ack-Information标头+兴趣包”的格式,上游节点把对当前兴趣包的处理信息添加在Ack-Information标头中,并通过当前兴趣包的来源接口将构建的Ack-Information发送给下游节点;
步骤一所述的对下游节点回复确认报文的实现方法为:
步骤1.1:下游节点向上游节点转发兴趣包,为转发的兴趣包建立HPIT条目并设置超时重传定时器;
步骤1.1所述的HPIT是在NDN网络设备中新增的逐跳未确认兴趣包表项HPIT,HPIT条目存储已转发的兴趣包、转发接口、已转发的兴趣包的重传次数;同时,在每个HPIT条目上设置超时重传定时器;
步骤1.1所述的超时重传定时器以重新定义的RTT为依据;重新定义每个下游节点向上游节点发送报文并得到上游节点的回复报文所经历的时间为相邻节点间的RTT;每个下游节点在向上游转发兴趣包时,以新定义的RTT值为转发的兴趣包设置超时重传定时器;
步骤1.2:上游节点收到兴趣包后,首先在内容存储库CS中查找是否有与当前兴趣包名称匹配的数据Data;如果CS中有匹配的Data,则直接将匹配的Data从当前兴趣包的来源接口发送给下游节点;如果CS中没有匹配的Data,在待定兴趣表PIT中查找是否有与当前兴趣包相似的兴趣包;如果两个兴趣包具有相同的名称和相同的选择选项,则它们是相似的;
步骤1.3:在PIT中查找是否有与当前兴趣包相似的兴趣包;如果PIT中有相似兴趣包,根据PIT中的随机数Nonce检查当前兴趣包,根据检查结果分如下三种情况处理:
情况①:检查到当前兴趣包是重复的,对下游节点回复标头携带“兴趣包重复”信息的Ack-Information,即对下游节点回复确认报文;
情况②:检查到当前兴趣包是合法重传的,对下游节点回复标头携带“兴趣包合法重传”信息的Ack-Information,即对下游节点回复确认报文;
情况③:除情况①②之外,在匹配的PIT条目上聚合当前兴趣包,对下游节点回复标头携带“兴趣包聚合”信息的Ack-Information,即对下游节点回复确认报文;
如果PIT中没有相似兴趣包,创建新的PIT条目记录当前兴趣包及其来源接口,并在转发信息表FIB中查找与当前兴趣包名称匹配的路由;
步骤1.4:在FIB中查找与当前兴趣包名称匹配的路由,如果FIB中有与当前兴趣包名称匹配的路由,根据转发策略把当前兴趣包从对应接口转发出去,同时在HPIT中添加新条目记录当前兴趣包及其转发接口并设置超时重传定时器,然后对下游节点回复标头携带“兴趣包已转发”信息的Ack-Information,即对下游节点回复确认报文;如果FIB中没有与当前兴趣包名称匹配的路由,对下游节点回复标头携带“兴趣包无转发接口”信息的Ack-Information,即对下游节点回复确认报文,然后丢弃当前兴趣包;
步骤二:下游节点根据步骤一收到的不同类型的Ack-Information或Data,执行相应的动作,在链路稳定未丢包情况下实现无线场景下NDN兴趣包可靠传输。
2.如权利要求1所述的一种无线场景下NDN兴趣包可靠传输方法,其特征在于:步骤二所述的收到的不同类型的Ack-Information或Data包括如下六种情况:
情况一:下游节点收到标头为“兴趣包重复”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况二:下游节点收到标头为“兴趣包合法重传”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况三:下游节点收到标头为“兴趣包聚合”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器;
情况四:下游节点收到标头为“兴趣包已转发”的Ack-Information后,延长对应的PIT条目生存周期、删除对应的HPIT条目、取消超时重传定时器、更新FIB接口排序;
情况五:下游节点收到标头为“兴趣包无转发接口”的Ack-Information后,删除对应的HPIT条目、取消超时重传定时器、更新FIB接口排序;
情况六:下游节点根据步骤一收到Data包后,查找PIT中是否请求过该数据;如果PIT中请求过该数据,将Data包缓存在CS,删除对应的HPIT条目、取消超时重传定时器,然后将Data包继续向下游转发出去;如果PIT中没有请求过该数据,直接丢弃Data包。
3.如权利要求1或2所述的一种无线场景下NDN兴趣包可靠传输方法,其特征在于:还包括步骤三,
当在无线场景下出现丢包情况时,根据HPIT条目上兴趣包的重传次数是否达到最大值,确定是否在当前节点直接重传步骤1.1中的兴趣包,进而降低丢包导致的NDN兴趣包的请求端重传率,降低兴趣包传输延迟,提高兴趣包传输效率。
4.如权利要求3所述的一种无线场景下NDN兴趣包可靠传输方法,其特征在于:步骤三具体实现方法为,
当在无线场景下出现丢包情况时,下游节点在超时重传定时器到期前未从上游节点收到所请求的Data包或Ack-Information包,查看已转发兴趣包对应的HPIT条目上兴趣包的重传次数是否达到最大值,如果对应的HPIT条目上兴趣包的重传次数未达到最大值,下游节点利用HPIT条目中存储的兴趣包直接重传步骤1.1中的兴趣包,并更新步骤1.1中建立的HPIT条目中的重传次数和超时重传定时器,不必等待兴趣包超时后从原请求端重传此兴趣包,进而降低丢包导致的NDN兴趣包的请求端重传率,降低兴趣包传输延迟,提高兴趣包传输效率;如果对应的HPIT条目上兴趣包的重传次数已达到最大值,不再对兴趣包进行重传,直接删除对应的HPIT条目,并在对应FIB条目中降低转发接口排名,绕过故障链路。
5.如权利要求4所述的一种无线场景下NDN兴趣包可靠传输方法,其特征在于:更新步骤1.1中建立的HPIT条目中的重传次数即通过对当前的重传次数加一的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910030145.9A CN109451080B (zh) | 2019-01-14 | 2019-01-14 | 一种无线场景下ndn兴趣包可靠传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910030145.9A CN109451080B (zh) | 2019-01-14 | 2019-01-14 | 一种无线场景下ndn兴趣包可靠传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109451080A CN109451080A (zh) | 2019-03-08 |
CN109451080B true CN109451080B (zh) | 2020-12-08 |
Family
ID=65544099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910030145.9A Active CN109451080B (zh) | 2019-01-14 | 2019-01-14 | 一种无线场景下ndn兴趣包可靠传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109451080B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112825510A (zh) * | 2019-11-21 | 2021-05-21 | 华为技术有限公司 | 一种更新映射关系的方法以及装置 |
CN111314223A (zh) * | 2020-02-25 | 2020-06-19 | 北京工业大学 | 一种ndn中基于路由接口排名的转发方法 |
CN111817886B (zh) * | 2020-06-29 | 2023-12-26 | 新华三信息安全技术有限公司 | 一种获取管理对象数据的方法及设备 |
CN112866106B (zh) * | 2020-12-31 | 2023-04-18 | 网络通信与安全紫金山实验室 | 一种兴趣包缓存方法、装置、设备及存储介质 |
CN115276919B (zh) * | 2021-04-29 | 2024-07-05 | 维沃移动通信有限公司 | 上行传输方法、装置及终端 |
CN114039932A (zh) * | 2021-11-08 | 2022-02-11 | 北京工业大学 | 命名数据manet网络中一种降低冗余数据包传输方法 |
CN115766519A (zh) * | 2022-10-24 | 2023-03-07 | 株洲华通科技有限责任公司 | 便携通信设备的数据传输方法及系统 |
CN117376136B (zh) * | 2023-10-16 | 2024-04-05 | 中南民族大学 | 一种支持服务质量的光命名数据网络数据冲突解决方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179037A (zh) * | 2012-12-13 | 2013-06-26 | 清华大学 | 基于内容的数据中心网络的数据传输方法 |
CN108848032A (zh) * | 2018-05-18 | 2018-11-20 | 湖南科技大学 | 一种支持多兴趣类型处理的命名对象网络实现方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9270598B1 (en) * | 2013-12-13 | 2016-02-23 | Cisco Technology, Inc. | Congestion control using congestion prefix information in a named data networking environment |
CN105072657B (zh) * | 2015-07-23 | 2018-11-27 | 西北大学 | 基于数据命名为中心的无线传感器网络异步休眠调度方法 |
CN105682046B (zh) * | 2016-03-10 | 2018-12-28 | 重庆邮电大学 | 车载命名数据网络中基于数据属性的兴趣包转发方法 |
CN106878310B (zh) * | 2017-02-22 | 2020-02-14 | 吉林大学 | 命名数据网络下一种实时流数据分发的方法 |
-
2019
- 2019-01-14 CN CN201910030145.9A patent/CN109451080B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179037A (zh) * | 2012-12-13 | 2013-06-26 | 清华大学 | 基于内容的数据中心网络的数据传输方法 |
CN108848032A (zh) * | 2018-05-18 | 2018-11-20 | 湖南科技大学 | 一种支持多兴趣类型处理的命名对象网络实现方法 |
Non-Patent Citations (3)
Title |
---|
"Preventing unnecessary interests retransmission in named data networking";S.Mejri etc.;《IEEE 2016 International Symposium on Networks,Computers and Communications》;20160513;全文 * |
"Session persistence for dynamic web applications in Named Data Networking";Xiuquan Qiao;《Journal of Network and Computer Applications》;20190101;全文 * |
《基于NDN网络的V2X通信转发与缓存策略研究》;谢小明;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20180430;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109451080A (zh) | 2019-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109451080B (zh) | 一种无线场景下ndn兴趣包可靠传输方法 | |
EP3035638A1 (en) | Interest acknowledgements for information centric networking | |
US8238288B2 (en) | Duplicate detection method for ad hoc network | |
US6816471B1 (en) | Data unit sending means and control method | |
KR101506849B1 (ko) | 정보 중심 네트워크를 위한 일반화된 듀얼 모드 데이터 포워딩 플레인 | |
Speakman et al. | PGM reliable transport protocol specification | |
Johnson et al. | RFC 4728: The dynamic source routing protocol (DSR) for mobile ad hoc networks for IPv4 | |
EP3035611B1 (en) | System and method for distance-based interest forwarding | |
Li et al. | OTERS (On-tree efficient recovery using subcasting): A reliable multicast protocol | |
Compagno et al. | To NACK or not to NACK? negative acknowledgments in information-centric networking | |
JP3665622B2 (ja) | ソースアドレス選択システム、ルータ装置、通信ノード及びソースアドレス選択方法 | |
KR20170037818A (ko) | 작은 다중 경로 또는 단일 경로 포워딩 상태를 이용한 정보 중심 네트워킹 | |
JP2007527160A (ja) | 拡張eMFCを用いたアドホックメッシュネットワークのための高信頼メッセージ配信方法 | |
Abu et al. | Interest packets retransmission in lossy CCN networks and its impact on network performance | |
CN106331117A (zh) | 一种数据传输方法 | |
JP3377994B2 (ja) | データ配信管理装置およびデータ配信管理方法 | |
Garcia-Luna-Aceves | A fault-tolerant forwarding strategy for interest-based information centric networks | |
Garcia-Luna-Aceves et al. | Enabling correct interest forwarding and retransmissions in a content centric network | |
Garcia-Luna-Aceves et al. | A light-weight forwarding plane for content-centric networks | |
Gopinath et al. | An experimental study of the cache-and-forward network architecture in multi-hop wireless scenarios | |
Garcia-Luna-Aceves et al. | Content-centric networking using anonymous datagrams | |
JP2009089197A (ja) | 中継装置 | |
Gupta et al. | Fast interest recovery in content centric networking under lossy environment | |
JP2009010575A (ja) | マルチキャスト通信のための中継装置、並びに端末装置 | |
Garcia-Luna-Aceves | Eliminating undetected interest looping in content-centric networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |