一种信息中心网络中转发端口的确定方法及装置与流程

文档序号:20884147发布日期:2020-05-26 17:22阅读:264来源:国知局
本申请涉及计算机
技术领域
:,尤其涉及一种信息中心网络中转发端口的确定方法及装置。
背景技术
::传输控制协议/因特网互联(transmissioncontrolprotocol/internetprotocol,tcp/ip)协议凭借其简洁的分层结构、良好的网络性能以及可拓展性等优点,在过去一直作为互联网的核心标准主机协议。而随着互联网的快速发展,用户的使用需求以及背景都已经发生了很大的变化,导致传统的tcp/ip协议架构在拓展性、移动性、安全性等方面显示出诸多不便。为了解决tcp/ip协议架构下存在的诸多问题,现有技术中提出了信息中心网络(informationcentricnetwork,icn),而命名数据网络(nameddatanetworking,ndn),更是信息中心网络中的主流方案。路由和转发是网络协议的核心部分,优秀的路由和转发策略有利于提高网络的传输性能。在ndn的转发表中,一个信息名称可以对应着多个输出端口,这为多播传输提供了直接支持,然而若选择从所有的端口进行转发,无疑增加了冗余数据的传输,容易造成网络拥塞。而在现有的网络协议中转发策略往往只能根据端口是否故障以及人为设置的端口优先等级,来确定选择哪些端口来进行转发。由此可见,在基于ndn架构的网络中利用现有的这种转发策略,很容易出现针对一条请求选择多个端口进行转发的情况,从而很容易造成网络阻塞。因而,目前亟需一种能够根据当前网络状态的变化,动态调整转发端口的ndn网络转发方法,以使得ndn在进行转发时,选择端口更具有自适应性,以避免网络拥塞的出现。技术实现要素:本申请实施例提供一种信息中心网络中转发端口的确定方法,用以解决在信息中心网络中由于现有的转发策略无法根据当前网络状态的变化来确定转发端口,从而导致可能出现网络阻塞的问题。本申请实施例还提供一种信息中心网络中转发端口的确定装置,用以解决在信息中心网络中由于现有的转发策略无法根据当前网络状态的变化来确定转发端口,从而导致可能出现网络阻塞的问题。本申请实施例采用下述技术方案:第一方面,一种信息中心网络中转发端口的确定方法,包括:在待定兴趣表中确定与第一请求内容对应的兴趣表项;其中,所述兴趣表项中保存有接收到的、与所述第一请求内容对应的兴趣包的端口信息;根据所述兴趣表项中保存的端口信息,创建与所述第一请求内容对应的请求队列;确定与所述第一请求内容对应的最大往返时延,并根据所述最大往返时延构建报酬函数;根据所述报酬函数、所述请求队列以及所述最大往返时延构建最优化问题;根据李雅普诺夫函数对所述最优化问题进行计算,得到李雅普诺夫漂移,并根据所述李雅普诺夫漂移确定与所述第一请求内容对应转发端口。第二方面,一种信息中心网络中转发端口的确定装置,包括:兴趣表项确定单元,用于在待定兴趣表中确定与第一请求内容对应的兴趣表项;其中,所述兴趣表项中保存有接收到的、与所述第一请求内容对应的兴趣包的端口信息;队列创建单元,用于根据所述兴趣表项中保存的端口信息,创建与所述第一请求内容对应的请求队列;报酬函数构建单元,用于确定与所述第一请求内容对应的最大往返时延,并根据所述最大往返时延构建报酬函数;最优化问题构建单元,用于根据所述报酬函数、所述请求队列以及所述最大往返时延构建最优化问题;转发端口确定单元,用于根据李雅普诺夫函数对所述最优化问题进行计算,得到李雅普诺夫漂移,并根据所述李雅普诺夫漂移确定与所述第一请求内容对应转发端口。由以上本申请实施例提供的技术方案可见,本申请实施例方案至少具备如下一种技术效果:采用本申请所提供的信息中心网络中转发端口的确定方法,由于在确定转发端口时,首先会在待定兴趣表中确定与第一请求内容对应的兴趣表项,以根据兴趣表项中保存的端口信息,创建与第一请求内容对应请求队列,确定与所述第一请求内容对应最大往返时延,并根据所述最大往返时延构建报酬函数,进而根据所述报酬函数、所述请求队列以及所述最大往返时延构建最优化问题,通过李雅普诺夫函数对所述最优化问题进行计算,得到李雅普诺夫漂移,并根据所述李雅普诺夫漂移确定与所述第一请求内容对应转发端口。采用这样的转发端口确定方法,在确定转发端口的过程中,通过引入报酬函数以及李雅普诺夫方法,从而可以从待选择的转发端口中确定出往返时延最短的转发端口,进而可以在很大程度上避免由于转发端口选择不当而导致网络拥塞的问题。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种基于命名数据网络的兴趣包处理流程示意图;图2为本申请实施例提供的一种命名数据网络中pit表的存储结构示意图;图3为本申请实施例提供的一种基于命名数据网络的数据包处理流程示意图;图4是本申请实施例提供的一种信息中心网络中转发端口的确定方法的具体流程示意图;图5是本申请实施例提供的一种信息中心网络中转发端口的确定装置的具体结构示意图。具体实施方式为了使本
技术领域
:的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。以下结合附图,详细说明本申请各实施例提供的技术方案。本申请实施例提供一种信息中心网络中转发端口的确定方法,用以解决在信息中心网络中由于现有的转发策略无法根据当前网络状态的变化来确定转发端口,从而导致可能出现网络阻塞的问题。而其中,命名数据网络(nameddatanetworking,ndn)作为信息中心网络(informationcentricnetwork,icn)的实例之一,凭借先进的理念、方案的可行性和诸多实质性进展,目前已经成为信息中心网络的主流方案。在ndn中,主要有两种类型的数据包:兴趣包(interestpacket)和数据包(datapacket)。其中,兴趣包中写入了用户所请求的内容名称,而数据包中则写入了用户所请求的内容本身。基于ndn的请求处理流程如图1所示,当用户需要通过ndn请求内容时,用户首先可以向服务器发送兴趣包,当兴趣包抵达ndn节点后,该ndn节点中内容缓存(contentstore,cs)表首先被查询,其目的是检查本地是否已经缓存了与兴趣包所请求内容对应的数据。若检测到本地已缓存,则ndn节点会将检测到的匹配数据包会从该兴趣包的入口端口转出,同时将该兴趣包丢弃。否则,ndn节点将会继续查询待定兴趣(pendinginteresttable,pit)表。在pit表中根据所请求内容的不同,分别记录着不同请求内容分别对应的转入转出端口信息,例如假设ndn节点接收到了来着a、b、c、d、e五个用户分别发送的五个兴趣包a、b、c、d、e,其中兴趣包a、b、c所请求的内容均为1,而兴趣包d、e所请求的内容均为2,则在pit表中,将按照如图2所示的形式,请求内容与兴趣包的端口信息进行记录,如图2所示,其中请求内容1这一表项中记载有兴趣包a、b、c的端口信息,请求内容2这一表项中记载有兴趣包d、e的端口信息。这里端口信息是指兴趣包的发送端口的端口号等信息,以使得ndn节点可以根据该端口号将查询到的包含用户请求内容的数据包原路返回给该用户。则当ndn节点接收到用户发来的兴趣包后,且在cs表中未查找到与该兴趣包匹配的数据后,ndn节点会进一步根据该兴趣包对应的请求内容,在pit表中查找有没有与该请求内容对应的表项,若pit表的中存在与兴趣包中请求内容对应的表项,则兴趣包的端口信息将会被添加到相应表项中,并将该兴趣包丢弃;若没有查找到与兴趣包中请求内容对应的表项,则在该pit表中新建一个与该兴趣包中请求内容对应的表项,同时,ndn节点会对转发表(forwardinginformationbase,fib)进行查询。fib表类似于传统网络中的路由表,fib表提供了请求内容对应可转发端口信息。若某请求内容在fib表中没有匹配的表项,则包含该请求内容的兴趣包将被丢弃或者返回否定数据包(nack包),否则ndn节点将会从fib提供的多个可转发端口中选择一个或多个端口中转出该兴趣包。由上述处理流程可知,当ndn同时收到针对相同请求内容的多个兴趣包时,ndn节点只会对其中一份兴趣包进行转发,并在pit表中记录接收到的所有兴趣包的转入端口。与兴趣包的处理过程相比,数据包的处理以较简易的方式被完成。当ndn节点收到数据包时,ndn节点会在pit表中查询与该数据包中请求内容对应的表项,并按照该表项中记录的端口信息,将数据包从记录的所有转出端口中转出,并在所有转发完成后,将该表项从pit表中移除,数据包的转发处理流程如图3所示。下文以信息中心网络中的ndn为例,根据上文介绍的ndn转发流程,对本方案所提供的转发端口确定方法进行详细介绍,该方法的具体实现流程示意图如图4所示,主要包括下述步骤:步骤11,在待定兴趣表中确定与第一请求内容对应的兴趣表项;其中,所述兴趣表项中保存有接收到的、与所述第一请求内容对应的兴趣包的端口信息。ndn节点接收到的用户发送的兴趣包后,通过查询cs表确定本地并没有缓存该兴趣包所对应的请求内容后,ndn节点会进一步地对pit表进行查询,以查找该pit表中是否存在与该兴趣包中请求内容所对应的兴趣表项,并在存在该表项时,将该兴趣包的端口信息填写在该表项中。同时,当ndn节点需要确定该兴趣包对应的转发端口时,ndn节点首先会在pit表中确定与该兴趣包中请求内容对应的兴趣表项,以便根据该表项中的记录相关信息来确定转发端口。步骤12,根据通过执行步骤11确定的兴趣表项中保存的端口信息,创建与所述第一请求内容对应请求队列;由前文介绍可知,在pit表中,每个请求内容所对应的所有兴趣包的端口信息均保存在一个兴趣表项中,则当ndn节点需要确定其中某个请求内容对应的兴趣包的转发端口时,首先会将pit表中该请求内容对应的兴趣表项中记录的端口信息提取出来,并依据该些端口信息创建一个请求队列。步骤13,确定与第一请求内容对应最大往返时延,并根据所述最大往返时延构建报酬函数;由于不同请求内容重要程度的不同,因而用户对不同请求内容所能容忍的最大延迟时间也是不同的,为了可以使得ndn所提供的服务能更加符合用户的需求,在一种实施方式中,ndn可以针对不同的请求内容分别设置不同的最大往返时延(round-triptime,rtt),进而ndn节点可以按照该最大往返时延为不同的请求内容设置不同的计时器,该计时器从ndn接收到兴趣包开始计时,如果计时器超过该最大往返时延后,ndn还没有收到对应的数据包返回,则ndn节点会丢弃该兴趣包,并在pit表中删除与该兴趣包中包含的请求内容对应的兴趣表项,从而避免了超时请求对网络处理资源的占用。进而当ndn节点需要确定某请求内容对应的转发端口时,ndn节点首先可以确定预先针对该请求内容设置的最大往返时延,并按照以下公式[1]来构建报酬函数:其中,rttc,max表示与所述第一请求内容对应的最大往返时延,表示t时段内与所述第一请求内容对应的平均往返时延,βc表示针对所述第一请求内容预先设置的权重因子,该权重因子也可以是根据请求内容的重要程度,预先设置的。步骤14,根据所述报酬函数、所述请求队列以及所述最大往返时延构建最优化问题;需要说明的是,李雅普诺夫(lyapunov)漂移理论是用来证明队列系统稳定性并设计稳定性控制算法的数学工具,它的基本思想是直接通过李雅普诺夫函数及函数变化率函数判定系统的稳定性及趋向于稳定性的速度。李雅普诺夫偏移理论在1992被首次设计为一个用来控制多跳数据无线网络稳定性的通用算法,然后提出了最大加权匹配(maximumweightedmatching)的概念,从此李雅普诺夫偏移理论被用到了队列网络的动态控制领域,也被扩展成了李雅普诺夫优化理论。因而在本申请中,可以将ndn节点选择到最小往返时延的转发端口作为该通信系统的稳定状态,进而可以利用李雅普诺夫偏移理论以及李雅普诺夫优化理论实现系统的最优时延性能,以根据结果确定转发端口。由此可见,在基于李雅普诺夫方法确定ndn的转发端口时,首先可以根据当前网络状况构建最优化问题,进而通过李雅普诺夫方法对该最优化问题求解,以确定转发端口。在本申请实施例中,可以以通过执行步骤13得到的报酬函数取值最大化为目标,以通过执行步骤12构建的请求队列以及所述最大往返时延为限制条件构建最优化问题。由公式[1]可知,报酬函数的取值与t时段内的往返时延以及最大往返时延有关,而当t时段内的往返时延越短时,报酬函数的取值越大,且往返时延越短,则用户的使用体验越佳,因而在本申请实施例中,在构建最优化问题时,可以将报酬函数取值最大化作为目标。具体地,在本申请实施例中,可以按照如下公式[2]构建最优化问题:4)f(t)∈{1,2,...,f};[2]其中,表示以所述报酬函数取值最大化为目标,表示所述请求队列长度,itemmax表示所述请求队列所允许的最大长度,则表示限制条件为请求队列长度不能超过所述请求队列所允许的最大长度;表示平均往返时延,rttc,max表示与所述第一请求内容对应的最大往返时延,则表示限制条件为平均往返时延不能超过所述最大往返时延;表示链路容量,单位为比特(bit),表示最大链路容量,则表示限制条件为链路容量不能超过最大链路容量;f(t)表示待选择的转发端口,f(t)∈{1,2,...,f}表示待选择的转发端口的范围。其中,q(t)=q(t-1)+a(t-1)-b(t-1),q(t)表示t时刻的请求队列,q(t-1)表示t-1时刻的请求队列,a(t-1)表示t-1时刻接收到的兴趣包,b(t-1)表示t-1时刻接收到的数据包,由图1和图2可知,接收到的兴趣包会导致请求队列增长,而接收到的数据包会导致请求队列的减少,因而可以用a(t-1)-b(t-1)表示在t-1时刻请求队列的变化。而timerc(t)=timerc(t-1)+1,timerc(t)表示t时刻的往返时延,timerc(t-1)表示t-1时刻的往返时延。而上述限制条件中其中,bc(t-1,f)表示t-1时刻从ndn节点转出的数据包,bc(t-1,f)′表示t-1时刻到达ndn节点的数据包,由图2可知,数据包到达ndn节点后,ndn节点在查询到该数据包对应的转入端口后,即可按照该端口将该数据包返回给用户,同时由于兴趣包内数据量极小,相比于数据包所包含的数据量,在确定ndn节点的链路容量时,可以忽略ndn节点接收到兴趣包,因而在一段时间内,ndn节点的链路容量就等于前一时段的链路容量加上该段时间内流入的数据包减去这段时间内流出的数据包。步骤15,根据李雅普诺夫函数对通过执行步骤14构建的最优化问题进行计算,得到李雅普诺夫漂移,并根据计算得到的李雅普诺夫漂移确定与第一请求内容对应转发端口;这里需要说明的是,由于在使用李雅普诺夫函数进行最优化问题计算时,需要将最优化问题中的限制条件转化为在李雅普诺夫函数中可用的标准队列,因而在步骤15中,在使用李雅普诺夫函数前首先需要按照标准队列形式对通过执行步骤14得到的最优化问题中的限制条件进行转化,在一种实施方式中,具体可以按照以下公式[3],将限制条件转化为李雅普诺夫函数中的标准队列:u(t+1)=max[u(t)+q(t)-itemmax,0]zc(t+1)=max[zc(t)+timerc(t)-rttc,max,0]hf(t+1)=max[hf(t)+capf(t)-capmax,0][3]且根据李雅普诺夫优化理论,当上述公式[3]中u(t)、zc(t)、hf(t)均为平均速率稳定时,通过执行步骤14得到的不等式限制条件成立。这里假设θ(t)=[u(t),z(t),h(t)],则可以定义李雅普诺夫函数如下公式[4]:并根据以下公式[5]定义李雅普诺夫漂移:进而在计算出李雅普诺夫漂移后,可以根据以下公式[6],来确定可选择的端口:根据上述公式[6],通过穷举与第一请求内容对应的可转发端口,确定出可以使公式[6]取值最小的转发接口,并将该转发接口作为与第一请求内容对应转发端口,进而后续可以通过该转发端口对包含第一请求内容的兴趣包进行转发。采用本申请所提供的信息中心网络中转发端口的确定方法,由于在确定转发端口时,首先会在待定兴趣表中确定与第一请求内容对应的兴趣表项,以根据兴趣表项中保存的端口信息,创建与第一请求内容对应请求队列,确定与所述第一请求内容对应最大往返时延,并根据所述最大往返时延构建报酬函数,进而根据所述报酬函数、所述请求队列以及所述最大往返时延构建最优化问题,通过李雅普诺夫函数对所述最优化问题进行计算,得到李雅普诺夫漂移,并根据所述李雅普诺夫漂移确定与所述第一请求内容对应转发端口。采用这样的转发端口确定方法,在确定转发端口的过程中,通过引入报酬函数以及李雅普诺夫方法,从而可以从待选择的转发端口中确定出往返时延最短的转发端口,进而可以在很大程度上避免由于转发端口选择不当而导致网络拥塞的问题。此外,本申请实施例还提供了一种信息中心网络中转发端口的确定装置,用以解决在信息中心网络中由于现有的转发策略无法根据当前网络状态的变化来确定转发端口,从而导致可能出现网络阻塞的问题。该装置的具体结构示意图如图5所示,包括:兴趣表项确定单元51、队列创建单元52、报酬函数构建单元53、最优化问题构建单元54以及转发端口确定单元55。其中,兴趣表项确定单元51,用于在待定兴趣表中确定与第一请求内容对应的兴趣表项;其中,所述兴趣表项中保存有接收到的、与所述第一请求内容对应的兴趣包的端口信息;队列创建单元52,用于根据所述兴趣表项中保存的端口信息,创建与所述第一请求内容对应的请求队列;报酬函数构建单元53,用于确定与所述第一请求内容对应的最大往返时延,并根据所述最大往返时延构建报酬函数;最优化问题构建单元54,用于根据所述报酬函数、所述请求队列以及所述最大往返时延构建最优化问题;转发端口确定单元55,用于根据李雅普诺夫函数对所述最优化问题进行计算,得到李雅普诺夫漂移,并根据所述李雅普诺夫漂移确定与所述第一请求内容对应转发端口。在一种实施方式中,所述报酬函数构建单元53,具体用于:根据以下公式,利用最大往返时延构建报酬函数:其中,rttc,max表示与所述第一请求内容对应的最大往返时延,表示t时段内与所述第一请求内容对应的平均往返时延,βc表示针对所述第一请求内容预先设置的权重因子。在一种实施方式中,所述最优化问题构建单元54,具体用于:根据以下公式,构建以所述报酬函数取值最大化为目标,以所述请求队列以及所述最大往返时延为限制条件的最优化问题:4)f(t)∈{1,2,...,f};其中,表示以所述报酬函数取值最大化为目标,表示所述请求队列长度,itemmax表示所述请求队列所允许的最大长度,则表示限制条件为请求队列长度不能超过所述请求队列所允许的最大长度;表示平均往返时延,rttc,max表示与所述第一请求内容对应的最大往返时延,则表示限制条件为平均往返时延不能超过所述最大往返时延;表示链路容量,表示最大链路容量,则表示限制条件为链路容量不能超过最大链路容量;f(t)表示待选择的转发端口,f(t)∈{1,2,...,f}表示待选择的转发端口的范围。在一种实施方式中,所述转发端口确定单元55,具体用于:根据以下公式将所述最优化问题中的限制条件转化为虚拟化队列:u(t+1)=max[u(t)+q(t)-itemmax,0]zc(t+1)=max[zc(t)+timerc(t)-rttc,max,0]hf(t+1)=max[hf(t)+capf(t)-capmax,0];根据以下公式构造李雅普诺夫函数:其中,l(θ(t))表示θ(t)的李雅普诺夫函数,θ(t)表示t时刻接收到的请求数量,θ(t)=[u(t),z(t),h(t)];根据以下公式计算李雅普诺夫漂移:其中,δ(θ(t))表示θ(t)的李雅普诺夫漂移。采用本申请所提供的信息中心网络中转发端口的确定方法,由于在确定转发端口时,首先会在待定兴趣表中确定与第一请求内容对应的兴趣表项,以根据兴趣表项中保存的端口信息,创建与第一请求内容对应请求队列,确定与所述第一请求内容对应最大往返时延,并根据所述最大往返时延构建报酬函数,进而根据所述报酬函数、所述请求队列以及所述最大往返时延构建最优化问题,通过李雅普诺夫函数对所述最优化问题进行计算,得到李雅普诺夫漂移,并根据所述李雅普诺夫漂移确定与所述第一请求内容对应转发端口。采用这样的转发端口确定方法,在确定转发端口的过程中,通过引入报酬函数以及李雅普诺夫方法,从而可以从待选择的转发端口中确定出往返时延最短的转发端口,进而可以在很大程度上避免由于转发端口选择不当而导致网络拥塞的问题。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1