一种基于软件定义的内容中心网络路由方法与流程

文档序号:12135452阅读:220来源:国知局
一种基于软件定义的内容中心网络路由方法与流程
本发明涉及内容中心网络路由领域,特别是一种基于软件定义的内容中心网络路由方法。
背景技术
:CCN(ContentCentricNetwork)通过对内容资源的直接命名,以及基于内容名称的路由来进行内容的分发和获取,其网络节点除了具有传统网络节点所具有的路由和转发能力外,还具备存储内容资源及服务内容请求的功能,节点性能较高。CCN有两种基本的包格式,即兴趣包(InterestPacket)和数据包(DataPacket)。兴趣包是请求者发出的内容请求包;数据包是内容服务节点(内容发布者或者网络缓存)将内容传输给请求者的内容包。每个路由节点都需要维护3类信息表,即转发信息表(ForwardingInformationBase,FIB)、待定兴趣表(PendingInterestTable,PIT)和内容存储表(ContentStore,CS)。FIB保存了内容名称前缀和到达此前缀代表的内容的下一跳端口;PIT记录了兴趣包的输入端口,该信息表为数据包提供回传路径;CS缓存流经该节点的内容资源并为后续内容请求提供服务。内容发布者以洪泛的方式向网络发布内容资源的注册信息,路由节点依据接收到的注册信息中的内容名称前缀以及注册信息的到达端口建立FIB,路由节点通过查询FIB来决定兴趣包的转发端口。由于初始的FIB采用泛洪的方式建立,并使用广播含有内容名字的链路状态数据包的方式更新FIB中的条目,因此对于同一个提供者会有多条路径到达,体现在FIB中就是同一个内容名称前缀对应多个转发端口。在原始CCN路由设计中,当路由节点在FIB中查找到关于某个内容名称前缀存在多个转发端口时,将会向所有的转发端口转发兴趣包,这种全转发方式会使网络中流量增多进而容易造成网络的拥塞,降低网络传输效率。其他常用的转发机制有随机转发机制和最短路径转发机制。随机转发机制的路由节点会在FIB对应条目中随机选择转发端口进行兴趣包的转发,这种方法虽然能有效的减少网络中的冗余流量、降低网络开销,但无法保证用户能稳定、快速地从最优的路径上获取资源,服务质量很难保证。为了解决如何为CCN中的兴趣包选择路径进行路由,国内外学者进行了大量研究。面向内容名称的CCN路由方案:命名数据链路状态路由(Named-dataLinkStateRouting,NSLR)通过广播链路状态声明LSA(LinkStateAdvertisement)来建立网络拓扑和传播内容名称前缀的可达性。当链路发生故障或者故障恢复时,以及本地内容提供者注册的内容名称前缀发生变化时,内容路由器都会向网络中广播LSA。NLSR广播的LSA包含两种,即邻接LSA和前缀LSA。邻接LSA用来声明和某内容路由器相连的所有链路,前缀LSA用来声明在某内容路由器上注册的某一个内容名称前缀。每个内容路由器都会周期性的刷新它要广播的LSA每一个内容路由器维持一个LSD(LinkStateDatabase),来存储收到的所有LSA。当某一内容名称前缀有多个下一跳接口时,对于该内容名称前缀的所有下一跳接口,先保留某一个接口,删除其他所有接口,然后使用Dijkstra算法计算利用这个接口到达某个目标节点的代价。对该内容名称前缀的所有下一跳接口都重复上面的过程,计算出利用每个接口到达某个目标节点的代价。之后,利用上面计算出每个下一跳接口到达某个目标节点的代价,对所有下一跳接口进行排序。对于每一个目标节点再重复以上过程,直至到达内容提供者。该路由机制可以有效减少网络中冗余流量,但是每个内容路由器对每个下一跳接口均需要逐一计算相应的代价,当下一跳端口较多或路由路径较长时,复杂度较大。面向网内缓存的CCN路由方案:CATT(CacheAwareTargetidenTification)将一个或多个CATT节点CATN(CacheAwareTargetNode)部署在自治域的边缘,CATN的数量由自治域的大小决定。在一个自治域内的所有用户均知道其本地CATN的位置,并将自己的内容资源发布到CATN上。任何请求首先都被转发到其自治域内的本地CATN上,收到请求的CATN首先查找其本地缓存中是否存在相应内容资源,如果存在,迅速响应请求;如果不存在,CATN将请求转发到相邻的CATN中。CATT采用了将内容提供者的初始内容资源和网内缓存中的所有缓存副本整合进路由过程中,提高了网内缓存的可用性。同时该机制还为内容缓存提供了一种自适应的査找机制和基于内容的临近程度及内容质量的路由选择机制。该路由机制能够获得一个近似最佳的路由性能,但是路由过程较复杂。面向服务质量的CCN路由方案:SoCCeR(ServicesoverContent-CentricRouting)通过在CCN的网络层上增加了一个探测层实现该路由机制。SoCCeR基于蚁群优化算法(AntConleyOptimal,ACO)。ACO算法模拟了妈蚁觅食的过程,利用蚂蚁每次寻路觅食时留下的信息素把通往同一觅食地点的不同方向觅食的蚂蚁收敛到一条路径上,SoCCeR利用ACO的这一特性,扩展了CCN网络中内容请求路由选择。CCN的FIB将一个内容名称前缀映射到几个可提供服务的下一跳端口,路由的选择问题是从这几个可提供服务的端口中选出一个最佳的端口完成这次内容请求。选择端口时考虑负载、路径拥塞、带宽、抖动等因素。SoCCeR增加了一个信息素表,这个表关联了内容名称前缀,可提供服务的端口,以及各个服务端口的信息素值。FIB表选取信息素值最高的端口作为唯一路由端口。SoCCeR会周期性释放探测包地收集各服务端口的状态信息。该算法能够优化路由到负载较轻的转发端口,使服务请求有选择性的路由,并且对网络和服务的状态变化有较高适应性,但周期释放探测包增加了网络的开销因此,需要一种基于软件定义的内容中心网络路由方法。技术实现要素:本发明的目的之一是提出一种基于软件定义的内容中心网络路由方法,解决现有内容中心网络的全转发方式带来的内容分发效率低,冗余数据多及网络开销较大等一系列问题。该方法通过控制器收集网络状态,并在控制器端计算各转发端口的转发概率,并将兴趣包转发到转发概率最大的转发概率的端口的路由方法。本发明的目的是通过以下技术方案来实现的:本发明提供的基于软件定义的内容中心网络路由方法,包括控制器、请求者和提供者;包括以下步骤:首先,收集网络状态信息:控制器通过控制信道动态地收集网络状态信息,并根据网络状态信息利用转发概率更新算法动态地更新各内容路由器的匹配端口的转发概率;所述网络状态信息包括数据包从当前节点到达服务器的传输时延、当前路由节点下一跳的负载和该路径上的服务器节点负载;其次,更新端口转发概率:所述转发概率更新算法,输入所述网络状态信息和各个端口的当前的转发概率,输出为更新后的各个端口的转发概率;最后,根据兴趣包在内容路由器中的存在状态进行将兴趣包转发至端口转发概率最大的端口。进一步,在收集网络状态信息的过程中,如果出现以下两种情况时,网络元件会主动向控制器报告状态:(1)节点或链路故障:当节点或链路故障时,通往该节点的所有端口的转发概率将被置零,设为不可达,当链路故障时,该链路所连接的两端端口的转发概率将被置零,设为不可达;(2)新的内容提供者加入:当有新的内容提供者加入时,会在连接该提供者的内容路由器的转发信息表中增加一个转发端口并将当前的转发概率置零,等待下一次更新。进一步,所述转发概率更新算法过程中的步骤具体如下:利用加权方法按照以下公式计算各个端口的状态综合参数:其中,α,β,γ和分别表示T(i),H(i),LR(i)和LS(i)的权重;T(i)表示从端口i到内容提供者的时延;H(i)表示从端口i到内容提供者的路径长度;LR(i)表示端口i下一跳内容路由器的负载;LS(i)表示端口i所对应的内容提供者的负载;对状态综合参数按照以下公式进行归一化处理得到增长概率:其中,ρ是网络状态的权重;按照以下公式进行更新转发概率:Pnew(i)=(1-ρ)*Pold(i)+ρ*ΔP(i);其中,Pnew(i)表示端口i更新前的转发概率;Pold(i)表示端口i更新后的转发概率。进一步,所述更新端口转发概率具体步骤如下:首先根据收集的网络状态利用加权方法计算各个端口的状态综合参数,然后对该参数进行归一化处理得到增长概率,最后根据归一化的增长概率和当前的转发概率利用加权方法得到更新后的转发概率;得到各端口的转发概率之后,控制器将从中选择转发概率最大的端口下发指令,数据平面的路由节点将会依据指令执行相应的转发机制。进一步,所述转发兴趣包的转发机制包括两种情况:一是当兴趣包在内容路由器中存在匹配项时,则将兴趣包转发至端口转发概率最大的端口,该端口已由控制器指定;二是如果兴趣包在内容路由器中不存在匹配项时,则兴趣包将被转发至控制器,由控制器选择一条最短路径进行转发。本发明的目的之二是通过以下技术方案来实现的:由于采用了上述技术方案,本发明具有如下的优点:本发明提供的基于软件定义的内容中心网络路由方法,利用控制器动态收集网络状态信息,并利用收集的状态信息动态更新内容路由器中的各个匹配端口的转发概率。随后,控制器从匹配端口中选择转发概率最大的端口作为兴趣包的转发端口,并通过控制信道向内容路由器下发指令。后续的兴趣包到达内容路由器并匹配到转发端口后,会往控制器指定的转发概率最大的端口转发兴趣包。本方法可以降低内容请求的平均时延,可以降低网络中传输的兴趣包数,还可以降低网络带宽开销。本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。附图说明本发明的附图说明如下。图1为进行网络开销仿真时所使用的14节点网络拓扑图;图2为当网络负载变化时,四种机制的平均请求时延的对比;图3为平均包到达速率变化时,四种机制的网络中流通的兴趣包数的对比;图4为请求者数量变化时,四种机制的传输带宽开销的对比;图5为在本发明SD-STAR实施例实现流程图。具体实施方式下面结合附图和实施例对本发明作进一步说明。实施例1如图所示,本实施例提供的基于软件定义的内容中心网络路由方法,包括控制器、请求者和提供者,请求者是服务需求者,它通过向网络发出兴趣包表达自己的内容需求,而提供者是服务提供者,它通过返回数据包响应请求者的内容请求,控制器是网络的管理者,它通过收集网络的状态信息来规划兴趣包和兴趣包的路由路径;包括以下步骤:首先,收集网络状态信息:控制器通过控制信道动态地收集网络状态信息,并根据网络状态信息利用转发概率更新算法动态地更新各内容路由器的匹配端口的转发概率;所述网络状态信息包括数据包从当前节点到达服务器的传输时延、当前路由节点下一跳的负载和该路径上的服务器节点负载;其次,更新端口转发概率:所述转发概率更新算法,输入所述网络状态信息和各个端口的当前的转发概率,输出为更新后的各个端口的转发概率;在收集网络状态信息的过程中,如果出现以下两种情况时,网络元件会主动向控制器报告状态:(1)节点或链路故障:当节点或链路故障时,通往该节点的所有端口的转发概率将被置零,设为不可达,当链路故障时,该链路所连接的两端端口的转发概率将被置零,设为不可达;(2)新的内容提供者加入:当有新的内容提供者加入时,会在连接该提供者的内容路由器的转发信息表中增加一个转发端口并将当前的转发概率置零,等待下一次更新。最后,根据兴趣包在内容路由器中的存在状态进行将兴趣包转发至端口转发概率最大的端口。所述转发兴趣包的转发机制包括两种情况:一是当兴趣包在内容路由器中存在匹配项时,则将兴趣包转发至端口转发概率最大的端口,该端口已由控制器指定;二是如果兴趣包在内容路由器中不存在匹配项时,则兴趣包将被转发至控制器,由控制器选择一条最短路径进行转发。所述转发概率更新算法过程中的步骤具体如下:利用加权方法按照以下公式计算各个端口的状态综合参数:其中,α,β,γ和分别表示T(i),H(i),LR(i)和LS(i)的权重;T(i)表示从端口i到内容提供者的时延;H(i)表示从端口i到内容提供者的路径长度;LR(i)表示端口i下一跳内容路由器的负载;LS(i)表示端口i所对应的内容提供者的负载;对状态综合参数按照以下公式进行归一化处理得到增长概率:其中,ρ是网络状态的权重;按照以下公式进行更新转发概率:Pnew(i)=(1-ρ)*Pold(i)+ρ*ΔP(i);其中,Pnew(i)表示端口i更新前的转发概率;Pold(i)表示端口i更新后的转发概率。所述更新端口转发概率具体步骤如下:首先根据收集的网络状态利用加权方法计算各个端口的状态综合参数,然后对该参数进行归一化处理得到增长概率,最后根据归一化的增长概率和当前的转发概率利用加权方法得到更新后的转发概率;得到各端口的转发概率之后,控制器将从中选择转发概率最大的端口下发指令,数据平面的路由节点将会依据指令执行相应的转发机制。实施例2本实施例提供的更新端口转发概率,当一个周期内的网络状态信息收集完毕后,控制器将会根据收集的网络状态更新各转发端口的转发概率。不失一般性,假设需要更新某个路由器上的端口i,下表中列出使用的参数的含义:参数含义T(i)从端口i到内容提供者的时延H(i)从端口i到内容提供者的路径长度LR(i)端口i下一跳内容路由器的负载LS(i)端口i所对应的内容提供者的负载Pold(i)端口i更新前的转发概率Pnew(i)端口i更新后的转发概率对于某个内容路由器中某个内容名称前缀所对应的所有匹配转发端口,它们的转发概率和为1。假设P(i)表示端口i的转发概率,N是该内容路由器中某个内容名称前缀所对应的匹配转发端口数目,则有:首先控制器根据收集的网络状态利用加权方法计算各个端口的状态综合参数:其中α,β,γ和分别表示T(i),H(i),LR(i)和LS(i)的权重,α,β,γ和的值可以依据不同的网络需求进行调整。这里只列举四个网络状态因子,所以四个因子的权重和为1,即然后对该参数进行归一化处理得到增长概率:考虑网络的突变性,我们采用加权的方法更新端口的转发概率,ρ是网络状态的权重,如果ρ越接近0,则表示更新后的转发概率越接近更新前的转发概率,受网络状态的影响较小;如果ρ越接近1,则表示更新后的转发概率受网络状态的影响较大,更新公式如下:Pnew(i)=(1-ρ)*Pold(i)+ρ*ΔP(i)需要注意的是,当出现以下两种情况时,路由方法将执行如下操作:(1)节点或链路故障:当节点或链路故障时,控制器将通往该节点的所有端口的转发概率将被置零,设为不可达;当链路故障时,控制器将该链路所连接的两端端口的转发概率将被置零,设为不可达。(2)新的内容提供者加入:当有新的内容提供者加入时,控制器将会在连接该提供者的内容路由器的转发信息表中增加一个转发端口并将当前的转发概率置零,等待下一次更新。最后根据归一化的增长概率和当前的转发概率利用加权方法得到更新后的转发概率。得到各端口的转发概率之后,控制器将从中选择转发概率最大的端口下发指令,数据平面的路由节点将会依据指令执行相应的转发机制。本实施例提供的转发机制包括两种情况:当兴趣包在内容路由器中存在匹配项时,则将兴趣包转发至端口转发概率最大的端口,该端口已由控制器指定;如果兴趣包在内容路由器中不存在匹配项时,该兴趣包将会被转发至控制器,由控制器为其选择一条最短路径进行转发。转发兴趣包:当一个兴趣包到达内容路由器时,内容路由器会从该兴趣包中提取内容名称并在内容存储表中查找是否有相应的内容,如果有,则直接将内容返回给请求者,并将兴趣包丢弃。如果没有,则继续查找待定兴趣表中是否相应的记录,如果有,则将兴趣包丢弃,并在待定兴趣表中的相关条目中加入兴趣包的输入端口。如果没有,则在待定兴趣表中增加条目记录输入端口,并在转发兴趣表中查找是否有匹配项,如果有,则将兴趣包转发至控制器指定的转发端口,该转发端口具有最大的转发概率。如果没有,则将兴趣包转发给控制器,由控制器为其指定一条最短转发路径。实施例3本实施例通过实验仿真说明技术效果,仿真拓扑如图1所示,仿真参数设置:链路带宽100Gbps,请求者数目3000,用户带宽需求服从泊松分布,平均需求为40Mbps,总请求频率100-1000次每秒,T(i),H(i),LR(i)和LS(i)的权重α,β,γ和分别设为0.4,0.2,0.2和0.2,网络状态的权重ρ设为0.5。并在同等环境下将本方法与传统的随机转发机制,最短路径转发机制和全转发机制进行对比。本实施例可以降低内容请求的平均时延。如图2所示,随着网络负载的增大,四种路由机制的内容请求平均时延逐渐增加。这是由于随着网络负载的增加,网络发生拥塞的可能性增加,导致网络的时延增加。对比分析可以看出,四种路由机制中,平均时延最小的是基于软件定义的内容中心网络路由方法SD-STAR。这是因为SD-STAR在选择路由路径时是优先选择转发概率最大的端口进行转发,而转发概率的大小反映的是该路径的网络状态的优劣,所以其内容请求平均时延最小。本实施例还可以降低网络中传输的兴趣包数。如图3所示,随着平均包到达速率的增加,四种路由机制的网络流通兴趣包的数量均逐渐增大。这是因为随着平均包到达速率的增加,单位时间内到达网络兴趣包数增多。对比分析可以看出,四种路由机制中,网络流通的兴趣包数量最少的是最短路径转发机制SPF,其次是基于软件定义的内容中心网络路由方法SD-STAR,且两者非常接近;SD-STAR选择网络状态最优的路径进行转发,此路径可能不是跳数最少,而SPF是选择跳数最少的端口转发兴趣包,故运行SD-STAR的网络中流通的兴趣包数比要比SPF多。本数量还可以降低网络带宽开销。如图4所示,随着用户数量的增加,四种路由机制的网络带宽总开销均逐渐增大,而当用户数量达到一定时,带宽开销趋于平稳。这是因为网络的链路带宽是一定的,当用户的总带宽需求达到链路带宽阈值时,带宽开销将趋于最大值。对比分析,四种路由策略的带宽开销最小的是最短路径转发机制SPF,其次是基于软件定义的内容中心网络路由方法SD-STAR,且两者非常接近。SPF选择跳数最少的路径进行转发,占用的链路资源最少,带宽开销也最小;SD-STAR选择网络状态最优的路径进行转发,此路径可能不是跳数最少的,故其所占用的链路资源比SPF多,带宽开销比SPF大,但二者非常接近。本实施例提供的控制信息的传输选择带外链接,如图5所示,图5为基于软件定义的内容中心网络路由方法的具体流程图,具体步骤如下:步骤501:网络初始时,在内容注册阶段,内容提供者1发布内容Content可达性信息,该信息在网络中进行广播,各内容路由器A、B、C和D据此在建立各自的转发信息表FIB,控制器为同一个内容路由器上的FIB中Content的列出所有转发端口赋予相同的转发概率。步骤502:控制器收集网络状态信息(5.1,5.2,5.3,5.4,5.5,5.6),并根据这些状态信息在控制器端更新各个端口的转发概率,并得到各个内容路由器中转发概率最大的端口,通过控制信道下发指令(5.7,5.8,5.9,5.10)。步骤503:当请求者1和2发出请求内容Content的兴趣包后(5.11,5.12),当兴趣包到达内容路由器A后,先检索CS中是否有内容Content,若有则返回数据,并丢弃兴趣包,若没有则检索PIT中是否有该兴趣包的记录,若有则将该兴趣包的输入端口记录在PIT相应条目中,并丢弃兴趣包,若没有则创建一个新条目,记录该兴趣包输入端口。当检索完PIT后,将将检索FIB。当FIB中存在内容Content的条目时,会将该兴趣包从控制器指定的转发端口转发出去,该端口具有最大的转发概率,在本实施例中,内容交换机A中控制器指定的转发端口为PortA-C,内容交换机C中控制器指定的转发端口为PortC-提供者1,兴趣包将会逐跳转发至提供者1(5.13,5.14)。步骤504:内容提供者1收到请求内容Content的兴趣包后会发出包含内容Content的数据包。该数据包依据内容路由器C和A的PIT一路回传至请求者1和请求者2处(5.15,5.16,5.17,5.18),完成了一次内容请求。最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的保护范围当中。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1