CN109347983B - 一种基于网络编码的命名数据网络中多路径转发方法 - Google Patents
一种基于网络编码的命名数据网络中多路径转发方法 Download PDFInfo
- Publication number
- CN109347983B CN109347983B CN201811452766.8A CN201811452766A CN109347983B CN 109347983 B CN109347983 B CN 109347983B CN 201811452766 A CN201811452766 A CN 201811452766A CN 109347983 B CN109347983 B CN 109347983B
- Authority
- CN
- China
- Prior art keywords
- message
- cache
- router
- content
- interest
- 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/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- 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/1607—Details of the supervisory signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于网络编码的命名数据网络中多路径转发方法,该方法包括探索路径外缓存内容以及利用路径外缓存内容两个阶段,在获取数据内容代的初始探索阶段,路由表正常转发兴趣报文外,还会转发兴趣报文到其他可用接口来主动探索路径外网络节点缓存的该代数据内容的可用性,并根据返回的报文为路径外缓存内容建立可达性信息;路由器一方面根据路由表将兴趣报文转发到原始数据源,另一方面根据探索阶段建立的路径外缓存内容的可达性信息将兴趣报文转发到路径外缓存节点来寻求响应,返回的报文又会进一步更新缓存内容的可达性信息。本发明能够利用路径外的缓存内容,充分发挥命名数据网络多路径传输和网络内缓存的优势,提升网络的传输性能。
Description
技术领域
本发明属于未来网络体系结构技术领域,具体涉及一种基于网络编码的命名数据网络中多路径转发方法。
背景技术
命名数据网络(NDN)是最有希望的未来网络体系结构之一。NDN以内容名称对报文进行标识以及路由,它支持网络内缓存和多路径转发。NDN中通信由数据请求者驱动,请求者发送携带内容名称的兴趣报文请求其所需内容,中间路由器利用多路径对兴趣报文进行转发,数据源或者已缓存了相应数据报文的路由器均可响应用户的请求。返回的数据报文根据兴趣报文的传输路径进行反向传输并根据缓存方法缓存在途经路由器中,被缓存的数据报文可响应将来用户的相同请求。因此,网络内缓存和多路径传输使得NDN具有高效传输数据内容的潜力。
但是,NDN通信并未有效利用兴趣报文传输路径外的缓存内容。目前利用路径外缓存内容的方法为在路由系统通告缓存内容的可达性信息或为经过的数据报文建立缓存痕迹。然而,由于缓存内容的高度动态性,以上以数据报文粒度维护缓存内容的可达性信息会给网络带来很大负担。因此,目前NDN中路由器只是采取最佳路由或者洪泛转发方法来转发兴趣报文,而兴趣报文通过多路径转发所带回的是相同的数据报文,造成网络中数据传输冗余,而且以上方法没有利用路径外缓存内容。
作为对NDN的扩展,支持网络编码的NDN(NC-NDN)可更有效地利用多路径转发与网络内缓存。在NC-NDN中,数据内容以“代”进行传送。每代数据内容以统一的名称进行标识并包含多个大小相同的数据块。数据源可对数据块进行编码,称为编码数据块。请求者发送的兴趣报文包含所请求的数据内容代的名称信息,即请求者请求的是数据内容代中某一编码块而不是特定的数据块,中间路由器若缓存有该代数据内容且其缓存编码块的数量不少于请求者已有的该代数据内容线性无关编码块的数量,则可将缓存的编码数据块进行再编码返回给请求者。请求者只需接收到数量与代大小相同的线性无关编码块即可解码得到原始数据内容。在NC-NDN中,兴趣报文通过多路径转发很大可能带回的是多个线性无关编码块,另外,缓存节点仅需提供该代数据内容编码块数量信息给其他节点即可提供缓存内容的可用性,因此,NC-NDN中可以以数据内容代的粒度维护缓存内容的可达性信息。与NDN相比,NC-NDN可以一种经济有效的方式利用路径外缓存内容,但是目前还没有相关工作的研究。
发明内容
发明目的:本发明提供一种基于网络编码的命名数据网络中多路径转发方法,能充分发挥命名数据网络多路径传输和网络内缓存的优势,提升网络的传输性能。
技术方案:本发明所述的一种基于网络编码的命名数据网络中多路径转发方法,包括以下步骤:
(1)多路径转发兴趣报文探索路径外缓存内容并建立缓存内容的可达性信息;
(2)根据路由表以及缓存内容的可达性信息并行转发兴趣报文。
所述步骤(1)包括以下步骤:
(101)内容请求者发送兴趣报文,指定请求的数据内容代的名称以及已有的该代内容线性无关编码块的数量Expected Rank;
(102)路由器处理兴趣报文,若缓存中有多于Expected Rank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,转步骤(111),否则核实是否存在可聚合的PIT表项,若存在,则将该兴趣报文聚合到PIT表项中,否则转步骤(103);
(103)路由器判断该报文是否为探索兴趣报文以及其传输范围是否达到设定阈值,若以上条件均满足,转步骤(104),否则,转步骤(108);
(104)路由器返回记录该代内容缓存信息的NACK报文给用户,并丢弃该兴趣报文;
(105)中间路由器接收NACK报文,根据报文中记录的缓存信息建立或更新该代数据内容在临近节点的缓存痕迹;
(106)中间路由器在本地查找匹配的PIT条目,若有,则将NACK报文的到达接口“打标签”,转步骤(107);否则,丢弃该NACK报文并结束;
(107)中间路由器检查该匹配PIT条目所记录的兴趣报文的发出接口,若所有接口均返回NACK报文,则根据本地记录的缓存信息创建新的NACK报文并转发到下一跳,删除该PIT条目;
(108)路由器在本地FIB表中寻找名称前缀相匹配的表项,若存在匹配的FIB表项,则根据该表项所示下一跳转发兴趣报文,转步骤(109);若不存在,直接转步骤(109);
(109)路由器查找除兴趣报文到达接口以及FIB表项中接口的其他接口,并转发兴趣报文到这些可用接口探索缓存内容的可达性信息;
(110)兴趣报文转发到数据源或路由器中的CS,数据源或者路由器中的CS若能提供响应该兴趣报文的编码数据块,则返回该数据内容代的编码报文;
(111)中间路由器接收编码报文,根据其记录的缓存信息建立缓存痕迹并缓存该编码报文;
(112)中间路由器检查是否有匹配该编码报文的PIT条目,若有,转步骤(113);否则丢弃该编码报文并结束;
(113)中间路由器判断是否需要更新编码报文记录的缓存信息,若需要,则对报文中缓存信息进行更新并转发该报文到下游节点,删除匹配PIT条目;若不需要,则直接转发该报文到下游节点并删除匹配PIT条目;
(114)编码报文转发到用户。
所述步骤(2)包括以下步骤:
(201)内容请求者发送兴趣报文,指定请求的数据内容代的名称以及已有的该代内容线性无关编码块的数量Expected Rank;
(202)路由器处理兴趣报文,若缓存中有多于Expected Rank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,转步骤(206),否则核实是否存在可聚合的PIT表项,若存在,则将该兴趣报文聚合到PIT表项中,否则转步骤(203);
(203)若该兴趣报文不满足步骤(103)中被丢弃的条件,则按照FIB所示接口进行转发,然后检查本地是否有匹配该报文的缓存痕迹,若有,则转步骤(204);否则转发兴趣报文到除FIB所示接口之外的其他可用接口探索缓存内容的可达性信息,下一跳路由器接收探索报文后按照步骤(102)至步骤(113)进行处理;
(204)路由器检查匹配该兴趣报文的每一条缓存痕迹,若缓存痕迹记录的该代数据内容编码块数量大于兴趣报文Expected Rank值,或兴趣报文剩余可走路由跳数大于该路由器到缓存痕迹所指示的节点的距离,则根据缓存痕迹记录接口转发兴趣报文;若不满足以上条件,则不转发兴趣报文;
(205)上游缓存节点接收根据缓存痕迹转发的兴趣报文,若其CS中有多于Expected Rank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,转步骤(206);否则继续转发该报文在剩余传输范围进行探索,下一跳路由器接收探索报文后按照步骤(102)至步骤(113)进行处理;
(206)中间路由器接收编码报文,并根据其记录的缓存信息更新缓存痕迹;
(207)中间路由器检查是否有匹配该编码报文的PIT条目,若有,转步骤(208);否则丢弃该编码报文并结束;
(208)中间路由器判断是否需要更新编码报文记录的缓存信息,若需要,则对报文中缓存信息进行更新并转发该报文到下游节点,删除匹配PIT条目;若不需要,则直接转发该报文到下游节点并删除匹配PIT条目;
(209)编码报文返回到用户。
步骤(104)和(111)中所述的缓存信息包括报文记录的其返回路径上该代数据内容缓存编码块的最大值和报文到该缓存节点的路由跳数。
步骤(113)中所述的编码报文缓存信息在路由器缓存中的代数据内容编码块大于编码报文记录的代内容缓存编码块数量时进行更新。
有益效果:与现有技术相比,本发明的有益效果为:1、有效利用路径外节点的缓存内容;即使兴趣报文在探索阶段出现探索失败的现象,沿着路由表中所示路径转发的兴趣报文也会获得可响应的编码数据块,因此探索失败不会影响报文的正常传输;如果探索成功,兴趣报文发往路径外缓存节点会获取到线性无关编码块,该编码块缓存在经过节点中也会进一步增加节点以缓存编码块响应兴趣报文的能力;2、网络节点以数据内容代的粒度存储路径外节点的缓存信息,与其他方法相比所需开销较小,对于路径外节点缓存信息的探索只有在开始请求该代内容时才进行,无需一直维护路径外节点的缓存信息,所需的维护开销也较小。
附图说明
图1为本发明流程图;
图2为NDN路由器对兴趣报文的处理流程图;
图3为NDN路由器对数据报文和NACK报文的处理流程图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
缓存痕迹记录路径外节点缓存内容的可达性信息。缓存痕迹被定义为一个五元组:(ContentName,Face,NumBlock,HopCount,TimeLastUpdated)。各字段具体含义如下:ContentName指路径外节点缓存的编码数据块的名称信息;Face指兴趣报文在探索阶段的发出接口;NumBlock指兴趣报文从Face接口探索到的缓存最多的该代内容编码块的数量信息;HopCount指路由器到缓存最多数量该代内容编码块的路径外节点的路由跳数信息;TimeLastUpdated指缓存痕迹最近被更新的时间信息,该字段初始值为缓存痕迹的创建时间,路由器会定期清除在一定时间阈值内未更新的缓存痕迹。
兴趣报文除了有所请求的数据内容代的名称信息,Selector,Nonce值之外,还需要记录以下字段信息:Expected Rank,ExploreFlag,Scope以及TraversedHops。ExpectedRank记录该请求者已有的该代内容线性无关编码块的数量,路由器依据该字段决定是否可以用缓存内容响应该兴趣报文。ExploredFlag标识该兴趣报文是正常转发的报文还是探索报文,本发明中将发往除FIB中所示接口的其他接口的兴趣报文称为探索报文。Scope字段限制探索报文的转发范围。TraversedHops记录探索报文已走的路由跳数,该字段随着兴趣报文的转发不断更新。
数据报文除了有内容名称信息,签名信息,编码系数和编码报文之外,还需记录以下字段的信息:NumBlock和HopInfo。NumBlock记录数据报文在返回路径上缓存最多的该代内容编码块的数量信息。HopInfo则记录数据报文距缓存有最多该代内容编码块的节点的路由跳数,该字段随数据报文的转发不断更新。
NACK报文除了有内容名称信息,Selector和Nonce之外,还需记录NumBlock和HopInfo字段信息,其字段含义与数据报文中相应字段含义相同。
CS表记录缓存数据内容报文的相关信息,每个表项主要包括两部分内容:数据内容代名称以及缓存的该代编码数据块。其中内容名字是查询CS表时所使用的关键字,若该表项记录的缓存编码块数量多于请求者已有的线性无关编码块数量,则CS可将缓存的该代编码块进行再编码生成新编码块响应请求者的请求。
PIT表记录已向上游转发但尚未有数据报文返回的兴趣报文的相关信息,每个表项记录兴趣报文的内容名字、Expected Rank值、nonce字段值列表、兴趣报文到达的接口列表和兴趣报文转发出去的接口列表信息。
FIB表存储如何转发兴趣报文的决策信息,每个表项记录名称前缀和下一跳接口列表信息。在转发兴趣报文时,当FIB表项记录的内容名称与兴趣报文中所指定的内容名称相匹配时,才可以依据该FIB表项转发兴趣报文。
图1为本发明的流程图,本发明主要包括两部分,第一步是多路径转发兴趣报文探索路径外缓存内容并建立缓存内容的可达性信息,包括以下步骤:
(1)内容请求者发送兴趣报文,指定请求的数据内容代的名称以及请求者已有的该代内容线性无关编码块的数量Expected Rank;
(2)路由器处理兴趣报文,若缓存中有多于Expected Rank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,新编码块记录该节点的该代数据内容缓存编码块数量NumBlock,转步骤(11),否则路由器检查是否存在可聚合的PIT表项,即有其他请求者发送的请求同代数据内容编码块,且其Expected Rank值不小于该兴趣报文的Expected Rank,若存在,则将该兴趣报文聚合到PIT表项中,否则转步骤(3);
(3)路由器依据ExploreFlag判断该报文是否为探索兴趣报文以及依据Scope字段判该报文的传输范围是否达到设定阈值,若以上条件均满足,转步骤(4),否则,转步骤(8);
(4)路由器返回记录该代内容缓存信息的NACK报文给用户,即NACK报文的NumBlock字段记录该节点缓存的该代内容线性无关编码数量,并丢弃该兴趣报文;
(5)中间路由器接收NACK报文,根据Numblock,HopInfo字段以及NACK报文的到达接口建立或更新该代数据内容在临近节点的缓存痕迹;
(6)中间路由器在本地查找匹配的PIT条目,若有,则将NACK报文的到达接口“打标签”,转步骤(7);否则,丢弃该NACK报文并结束;
(7)中间路由器检查该匹配PIT条目所记录的兴趣报文的发出接口,若所有接口均返回NACK报文,则根据本地记录的该代内容的缓存痕迹以及自身的缓存信息创建新的NACK报文并转发到下一跳,删除该PIT条目;
(8)路由器在本地FIB表中寻找名称前缀相匹配的表项,若存在匹配的FIB表项,则根据该表项所示下一跳转发兴趣报文,转步骤(9);若不存在匹配的FIB表项,直接转步骤(9);
(9)路由器查找除兴趣报文到达接口以及FIB表项中接口的其他接口,筛选出可用接口,并转发兴趣报文到这些可用接口探索缓存内容的可达性信息;
(10)兴趣报文转发到数据源或路由器中的CS,数据源以该代内容的编码块响应,路由器若缓存了不小于兴趣报文Expected Rank值的线性无关编码块,则对这些报文进行再编码响应兴趣报文。返回的数据报文均记录其发出节点的缓存信息;
(11)中间路由器接收编码报文,根据其记录的NumBlock,HopInfo字段以及编码报文的到达接口建立缓存痕迹并缓存该编码报文;
(12)中间路由器检查是否有匹配该编码报文的PIT条目,若有,转步骤(13);否则丢弃该编码报文并结束;
(13)中间路由器判断是否需要更新编码报文记录的缓存信息,即本地缓存的该代线性无关编码块数量是否多于编码报文的NumBlock值,若是,则将报文中的缓存信息更新为本节点的缓存信息,并转发该报文到下游节点,删除匹配PIT条目;
(14)编码报文转发到用户。
路由器转发兴趣报文到路径外节点对该代内容的缓存信息进行探索。响应该兴趣报文的数据报文或是NACK报文均携带其返回路径上的该代内容的缓存信息。路由器依据数据报文或NACK报文携带的缓存信息建立该代内容的缓存痕迹。后续请求该代内容的兴趣报文则可依据已建立的缓存痕迹转发到路径外节点实现内容的快速获取。
第二步是根据路由表以及缓存内容的可达性信息并行转发兴趣报文,若路径外节点的缓存内容可响应该兴趣报文,则返回该代内容的编码报文,若无法响应,即其缓存内容由于缓存替换无法向请求者提供线性无关编码块,则转发兴趣包到探索范围内的更远的节点进行探索。返回的报文均携带其路径上的该代内容的缓存信息,路由器依据这些信息进一步更新相应的缓存痕迹。第二步包括以下步骤:
(1)内容请求者发送兴趣报文,指定请求的数据内容代的名称以及已有的该代内容线性无关编码块的数量Expected Rank;
(2)路由器处理兴趣报文,若缓存中有多于Expected Rank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,转步骤(8),否则核实是否存在可聚合的PIT表项,若存在,则将该兴趣报文聚合到PIT表项中,否则转步骤(3);
(3)路由器依据ExploreFlag判断该报文是否为探索兴趣报文以及依据Scope字段判该报文的传输范围是否达到设定阈值,若该兴趣报文不满足以上条件则按照FIB所示接口进行转发,没有匹配FIB表项则转步骤(4);若满足以上条件则按照第一部分步骤(4)-(7)进行处理;
(4)路由器检查本地是否有匹配该报文的缓存痕迹,若有,则转步骤(5),否则转发兴趣报文到除FIB所示接口之外的其他可用接口探索缓存内容的可达性信息,下一跳路由器接收探索报文后按照第一部分中步骤(2)-(13)进行处理;
(5)路由器对匹配该兴趣报文的每一条缓存痕迹执行步骤(6);
(6)若缓存痕迹记录的该代数据内容编码块数量大于兴趣报文Expected Rank值,或兴趣报文剩余可走路由跳数多于该路由器到缓存痕迹所指示的节点的距离,则根据缓存痕迹记录接口转发兴趣报文;若不满足以上条件,则不转发兴趣报文;
(7)上游缓存节点接收根据缓存痕迹转发的兴趣报文,若其CS中有多于ExpectedRank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,转步骤(8),否则继续转发该报文在剩余传输范围进行探索,下一跳路由器接收探索报文后按照第一部分中步骤(2)-(13)进行处理;
(8)中间路由器接收编码报文,并根据其记录的NumBlock,HopInfo字段以及编码报文的到达接口更新缓存痕迹;
(9)中间路由器检查是否有匹配该编码报文的PIT条目,若有,转步骤(10);否则丢弃该编码报文并结束;
(10)中间路由器判断是否需要更新编码报文记录的缓存信息,即本地缓存的该代线性无关编码块数量是否多于编码报文的NumBlock值,若是,则将报文中的缓存信息更新为本节点的缓存信息,并转发该报文到下游节点,删除匹配PIT条目;否则直接转发该报文到下游节点并删除匹配PIT条目;
(11)编码报文返回到用户。
图2为NDN路由器对兴趣报文的处理流程图。当兴趣报文到达时,路由器首先查询CS表,若CS表中有名称匹配的表项,且缓存的该代内容线性无关编码块数量多于兴趣报文中的Expected Rank值,则路由器对这些编码块进行再编码并返回给请求者。若CS中无匹配表项,路由器查询PIT表,若有来自于其他请求者的请求同代内容的兴趣报文且其ExpectedRank值大于新收到的兴趣报文的Expected Rank值,则将该报文聚合到已有条目中。若PIT表中无可聚合的条目,则路由器按照本发明提出的方法对兴趣报文进行处理。如果该兴趣报文为探索报文,即ExploreFlag为true值,且该报文已转发路由跳数超过设定的Scope值,则路由器返回一个NACK报文给下游节点并丢弃该报文。返回的NACK报文携带本地匹配缓存痕迹中最优的缓存内容的可达性信息,即缓存痕迹中NumBlock的最大值。收到该NACK报文的下游节点则可根据NACK报文中信息建立相应的缓存痕迹。若该报文不是探索报文或传输范围没有超过Scope值,则路由器根据匹配的FIB表项中所示接口转发该报文并开始探索或利用路径外缓存内容。一方面,如果该节点没有匹配的缓存痕迹,即该代数据内容处于内容获取的初级阶段,则路由器将该兴趣报文转发到除FIB中所示接口和到达接口以外的其他接口探索路径外缓存内容。另一方面,如果路由器记录了与该代数据内容名称相匹配的缓存痕迹且其NumBlock值不小于兴趣报文的Expected Rank值,则路由器将该报文转发到缓存痕迹所记录的接口。另外,对于名称相匹配的缓存痕迹,但是其NumBlock值小于兴趣报文的ExpectedRank,则路由器会根据缓存痕迹的HopCount值决定是否转发兴趣报文。具体的说,如果该兴趣报文剩余可走路由跳数大于HopCount,则路由器可转发该兴趣报文进一步探索更远节点的缓存信息。否则,则预示着在兴趣报文剩余的传输范围内,没有网络节点可以以其CS中的缓存内容响应该报文,因此也没有必要继续探索该代内容的缓存信息。
图3为NDN路由器对数据报文和NACK报文的处理流程图,路由器首先判断报文的到达接口是否是兴趣报文的探索接口,若是,则路由器检查本地是否有记录该代数据内容在报文到达接口的缓存痕迹,若有,则对匹配的缓存痕迹进行更新从而提供该代数据内容在路径外节点的最新缓存信息,即以报文中的NumBlock和HopInfo值替换缓存痕迹中的NumBlock和HopCount字段;若没有匹配的缓存痕迹,路由器则根据报文记录的信息新建缓存痕迹。之后,路由器判断该报文的类型。如果到达的报文为数据报文,路由器首先按照缓存方法对报文进行缓存。路由器进而检查本地的PIT表,如果有匹配的PIT表项,路由器先判断是否需要对数据报文记录的缓存信息进行更新,如果本地缓存的该代数据内容线性无关编码块的数量不小于数据报文中的NumBlock,则将数据报文中的NumBlock和HopInfo字段更新为本地缓存的该代线性无关编码块的数量和0。也就是说,与上游节点相比,该节点更有可能响应将来同代数据内容的请求。之后,路由器按照PIT表项中接口转发数据报文,并删除相应PIT表项。如果到达的报文是NACK报文,路由器首先检查是否有匹配的PIT表项,如果有,则给到达接口“打标签”,标志发往该接口的请求无法得到新的线性无关编码块的响应,如果匹配PIT表项中记录的该兴趣报文的所有发出接口全部返回的是NACK报文,则路由器根据本地节点的缓存痕迹创建一个新的NACK报文,并根据PIT表项中记录返回给下游节点然后删除该PIT表项。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。
Claims (4)
1.一种基于网络编码的命名数据网络中多路径转发方法,其特征在于,包括以下步骤:
(1)多路径转发兴趣报文探索路径外缓存内容并建立缓存内容的可达性信息;
(2)根据路由表以及缓存内容的可达性信息并行转发兴趣报文;
所述步骤(1)包括以下步骤:
(101)内容请求者发送兴趣报文,指定请求的数据内容代的名称以及已有的该代内容线性无关编码块的数量Expected Rank;
(102)路由器处理兴趣报文,若缓存中有多于Expected Rank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,转步骤(111),否则核实是否存在可聚合的PIT表项,若存在,则将该兴趣报文聚合到PIT表项中,否则转步骤(103);
(103)路由器判断该报文是否为探索兴趣报文以及其传输范围是否达到设定阈值,若以上条件均满足,转步骤(104),否则,转步骤(108);
(104)路由器返回记录该代内容缓存信息的NACK报文给用户,并丢弃该兴趣报文;
(105)中间路由器接收NACK报文,根据报文中记录的缓存信息建立或更新该代数据内容在临近节点的缓存痕迹;
(106)中间路由器在本地查找匹配的PIT条目,若有,则将NACK报文的到达接口“打标签”,转步骤(107);否则,丢弃该NACK报文并结束;
(107)中间路由器检查该匹配PIT条目所记录的兴趣报文的发出接口,若所有接口均返回NACK报文,则根据本地记录的缓存信息创建新的NACK报文并转发到下一跳,删除该PIT条目;
(108)路由器在本地FIB表中寻找名称前缀相匹配的表项,若存在匹配的FIB表项,则根据该表项所示下一跳转发兴趣报文,转步骤(109);若不存在,直接转步骤(109);
(109)路由器查找除兴趣报文到达接口以及FIB表项中接口的其他接口,并转发兴趣报文到这些可用接口探索缓存内容的可达性信息;
(110)兴趣报文转发到数据源或路由器中的CS,数据源或者路由器中的CS若能提供响应该兴趣报文的编码数据块,则返回该数据内容代的编码报文;
(111)中间路由器接收编码报文,根据其记录的缓存信息建立缓存痕迹并缓存该编码报文;
(112)中间路由器检查是否有匹配该编码报文的PIT条目,若有,转步骤(113);否则丢弃该编码报文并结束;
(113)中间路由器判断是否需要更新编码报文记录的缓存信息,若需要,则对报文中缓存信息进行更新并转发该报文到下游节点,删除匹配PIT条目;若不需要,则直接转发该报文到下游节点并删除匹配PIT条目;
(114)编码报文转发到用户。
2.根据权利要求1所述的一种基于网络编码的命名数据网络中多路径转发方法,其特征在于,所述步骤(2)包括以下步骤:
(201)内容请求者发送兴趣报文,指定请求的数据内容代的名称以及已有的该代内容线性无关编码块的数量Expected Rank;
(202)路由器处理兴趣报文,若缓存中有多于Expected Rank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,转步骤(206),否则核实是否存在可聚合的PIT表项,若存在,则将该兴趣报文聚合到PIT表项中,否则转步骤(203);
(203)若该兴趣报文不满足步骤(103)中被丢弃的条件,则按照FIB所示接口进行转发,然后检查本地是否有匹配该报文的缓存痕迹,若有,则转步骤(204);否则转发兴趣报文到除FIB所示接口之外的其他可用接口探索缓存内容的可达性信息,下一跳路由器接收探索报文后按照步骤(102)至步骤(113)进行处理;
(204)路由器检查匹配该兴趣报文的每一条缓存痕迹,若缓存痕迹记录的该代数据内容编码块数量大于兴趣报文Expected Rank值,或兴趣报文剩余可走路由跳数大于该路由器到缓存痕迹所指示的节点的距离,则根据缓存痕迹记录接口转发兴趣报文;若不满足以上条件,则不转发兴趣报文;
(205)上游缓存节点接收根据缓存痕迹转发的兴趣报文,若其CS中有多于ExpectedRank值的线性无关编码块,则将这些编码块进行重编码,生成新的编码块返回给用户,转步骤(206);否则继续转发该报文在剩余传输范围进行探索,下一跳路由器接收探索报文后按照步骤(102)至步骤(113)进行处理;
(206)中间路由器接收编码报文,并根据其记录的缓存信息更新缓存痕迹;
(207)中间路由器检查是否有匹配该编码报文的PIT条目,若有,转步骤(208);否则丢弃该编码报文并结束;
(208)中间路由器判断是否需要更新编码报文记录的缓存信息,若需要,则对报文中缓存信息进行更新并转发该报文到下游节点,删除匹配PIT条目;若不需要,则直接转发该报文到下游节点并删除匹配PIT条目;
(209)编码报文返回到用户。
3.根据权利要求1所述的一种基于网络编码的命名数据网络中多路径转发方法,其特征在于,步骤(104)和(111)中所述的缓存信息包括报文记录的其返回路径上代数据内容缓存编码块的最大值和报文到缓存节点的路由跳数。
4.根据权利要求1所述的一种基于网络编码的命名数据网络中多路径转发方法,其特征在于,步骤(113)中所述的编码报文缓存信息在路由器缓存中的代数据内容编码块大于编码报文记录的代内容缓存编码块数量时进行更新。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811452766.8A CN109347983B (zh) | 2018-11-30 | 2018-11-30 | 一种基于网络编码的命名数据网络中多路径转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811452766.8A CN109347983B (zh) | 2018-11-30 | 2018-11-30 | 一种基于网络编码的命名数据网络中多路径转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109347983A CN109347983A (zh) | 2019-02-15 |
CN109347983B true CN109347983B (zh) | 2021-02-26 |
Family
ID=65319843
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811452766.8A Active CN109347983B (zh) | 2018-11-30 | 2018-11-30 | 一种基于网络编码的命名数据网络中多路径转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109347983B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110572320B (zh) * | 2019-08-30 | 2022-03-15 | 湖南科技大学 | 基于ndn的命名数据单源多路径路由方法、系统及介质 |
CN111107000B (zh) * | 2019-12-13 | 2021-09-07 | 东南大学 | 一种基于网络编码的命名数据网络中内容缓存方法 |
CN111050300B (zh) * | 2019-12-16 | 2022-03-22 | 重庆邮电大学 | 一种基于命名数据网络的车联网路由方法 |
CN114071638B (zh) * | 2020-11-26 | 2023-08-22 | 北京航空航天大学 | 内容标识与节点标识相结合的无人机自组网的按需路由机制 |
US12081841B2 (en) | 2020-12-16 | 2024-09-03 | Dolby Laboratories Licensing Corporation | Multisource media delivery systems and methods |
CN112866144B (zh) * | 2020-12-31 | 2022-09-06 | 网络通信与安全紫金山实验室 | 一种网络通信模型的预缓存方法、装置、设备及存储介质 |
CN114244919B (zh) * | 2021-12-17 | 2024-01-26 | 哈尔滨工业大学 | 一种基于协议无感知转发的ndn模态实现方法 |
CN114222007B (zh) * | 2022-02-22 | 2022-07-01 | 北京凌云创想科技有限公司 | 一种混合云通信方法和系统 |
CN115834574B (zh) * | 2023-02-16 | 2023-05-09 | 鹏城实验室 | 数据编码传输方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103873602A (zh) * | 2014-02-21 | 2014-06-18 | 北京邮电大学 | 一种网络资源命名方法与生成装置 |
CN104025555A (zh) * | 2011-07-12 | 2014-09-03 | 华为技术有限公司 | 在命名数据网络中使用多路径路由和内容缓存的无缝移动方案 |
CN105391515A (zh) * | 2014-08-27 | 2016-03-09 | 帕洛阿尔托研究中心公司 | 用于内容中心网络的网络编码 |
CN108574690A (zh) * | 2018-02-12 | 2018-09-25 | 东南大学 | 一种缓解命名数据网络中内容毒害攻击的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10148721B2 (en) * | 2016-12-06 | 2018-12-04 | Futurewei Technologies, Inc. | Video stream network coding in information centric networks |
-
2018
- 2018-11-30 CN CN201811452766.8A patent/CN109347983B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104025555A (zh) * | 2011-07-12 | 2014-09-03 | 华为技术有限公司 | 在命名数据网络中使用多路径路由和内容缓存的无缝移动方案 |
CN103873602A (zh) * | 2014-02-21 | 2014-06-18 | 北京邮电大学 | 一种网络资源命名方法与生成装置 |
CN105391515A (zh) * | 2014-08-27 | 2016-03-09 | 帕洛阿尔托研究中心公司 | 用于内容中心网络的网络编码 |
CN108574690A (zh) * | 2018-02-12 | 2018-09-25 | 东南大学 | 一种缓解命名数据网络中内容毒害攻击的方法 |
Non-Patent Citations (1)
Title |
---|
"基于网络编码的命名数据网络研究";胡晓艳等;《通信学报》;20180930;206-211 * |
Also Published As
Publication number | Publication date |
---|---|
CN109347983A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347983B (zh) | 一种基于网络编码的命名数据网络中多路径转发方法 | |
KR101567385B1 (ko) | 콘텐츠 중심 네트워크에 대한 협동 캐싱 방법 | |
CN105721311B (zh) | 一种用于更新链路状态信息的方法及系统 | |
CN111107000B (zh) | 一种基于网络编码的命名数据网络中内容缓存方法 | |
JP2017069950A (ja) | スモールマルチパス又はシングルパス転送状態による情報中心ネットワーキング | |
CN110149274B (zh) | 基于位置信息和内容推送的命名数据网络综合路由方法 | |
CN109905480B (zh) | 基于内容中心性的概率缓存内容放置方法 | |
CN106973303B (zh) | 一种基于网络编码的d2d视频分发和预缓存方法 | |
KR20140067881A (ko) | 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법 | |
CN112039781B (zh) | 一种基于流控制的命名数据网络转发方法 | |
CN113783779B (zh) | 命名数据网络中分级随机缓存方法 | |
CN105656788A (zh) | 基于流行度统计的ccn内容缓存方法 | |
CN105072030A (zh) | 一种基于内容聚类的命名数据网络路由系统及其聚类查询方法 | |
CN103401795A (zh) | 一种内容中心网络中传输内容冗余的消除方法 | |
Zhang et al. | Cache-aware named-data forwarding in internet of things | |
CN110461018A (zh) | 基于可计算ap的机会网络路由转发方法 | |
CN108769252A (zh) | 一种基于请求内容关联性的icn网络预缓存方法 | |
CN110072196B (zh) | 为命名数据网络提供面向区块链应用的通信方法及系统 | |
CN114025020B (zh) | 一种基于二分法的命名数据网络缓存方法 | |
KR101384794B1 (ko) | 메시지 라우팅 플랫폼 | |
Chaudhary et al. | eNCache: Improving content delivery with cooperative caching in Named Data Networking | |
Yang et al. | Providing cache consistency guarantee for ICN-based IoT based on push mechanism | |
CN112688880B (zh) | 命名数据网络中一种降低冗余数据包传输方法 | |
CN113382053B (zh) | 基于节点半局部中心性和内容热度的内容主动推送方法 | |
CN111262785B (zh) | 一种命名数据网络中的多属性概率缓存方法 |
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 |