一种基于历史记录的信息中心网络的多径转发方法及系统的制作方法_3

文档序号:9814097阅读:来源:国知局
重值信息;若有,则执行步骤S307,否则,执行步骤S308;
[0079]S307、若有,则根据所述名称前缀所属的FIB记录中各端口的权重值信息,将所述兴趣包转发给第三ICN节点,并将所述兴趣包的名称和接收到所述兴趣包的接收端口存储到所述PIT表中;
[0080]S308、将所述兴趣包从接收到兴趣包外的端口外的其余各个端口转发,或丢弃所述兴趣包。
[0081]本发明在兼顾负载均衡的同时,考虑了网络缓存这一重要因素。本发明利用自身的历史记录来预判邻居缓存的信息,由此对后续兴趣包的转发进行指导,达到了一种协同的效果,提高了网络的缓存利用率,对于历史记录中没有的内容,通过ICN节点各端口的权重值指导转发请求(即兴趣包),以便保证对链路负载的均衡,减小网络的拥堵,即Fib-weight 策略。
[0082]FIB表中的权重值信息与【背景技术】中Fib-weight策略的计算方法相同,不再详述。
[0083]所述步骤S301之前,所述方法还包括:
[0084]S309、创建历史记录表,所述历史记录表中包括多条历史记录,其中每条历史记录包括:1CN节点接收到的数据包的名称、所述数据包的接收端口、所述数据包的接收时间和该条记录的生存时间。
[0085]初始时,历史记录表是空的,当ICN节点收到一个数据包时,按照下文的规则,在历史记录表中存储一条记录。
[0086]所述步骤S305中将所述兴趣包从目的端口转发给第三ICN节点之后,所述方法还包括:
[0087]S401、接收数据包;所述数据包中包括所述数据包的名称;
[0088]S402、根据所述数据包的名称判断所述预设的PIT表中是否有所述数据包的名称;若有,则执行步骤S403,否则,执行步骤S404;
[0089]S403、若有,则将所述数据包从目的返回端口转发,并在所述预设的PIT表中删除与所述数据包的名称对应的PIT记录;此时说明PIT表中记录的兴趣包请求的内容已经得到了满足,所以删除对应的PIT记录。
[0090]S404、若没有,则丢弃所述数据包。此时可能是恶意转发,而该数据包的内容并没有被请求过,所以直接丢弃,不再转发。
[0091 ]所述步骤S403之后,执行步骤S405; S405、根据预设的缓存规则判断是否缓存所述数据包,并根据预设的存储规则判断是否将所述数据包的名称、接收端口、接收时间和该条记录的生存时间作为一条历史记录存储到所述预设的历史记录表中;
[0092]所述目的返回端口为在所述预设的PIT表中记录的与所述名称对应的所有接收端
□O
[0093]本发明对于兴趣包的请求尽量的转发到历史记录中的出口,以便最大限度的利用历史的缓存,然而在仿真中发现如果使用ICN默认的缓存机制:每个地方都存(Leave CopyEverywhere,LCE)的放置算法+最近最少使用(Least Recently Used,LRU)的替换算法,缓存的内容经常被替换掉。这与缓存容量的设置以及节点的位置有关系。为了防止流行内容经常被替换掉,根据局部的流行度统计,提出了一个提升策略,叫限定LRU。
[0094]具体的,所述限定LRU在本发明中具体体现为:
[0095]所述步骤S405中根据预设的缓存规则判断是否缓存所述数据包,包括:
[0096]S501、判断所述数据包的大小是否小于等于所述第一 ICN节点的剩余缓存空间;若是,则执行步骤S502,否则,执行步骤S503 ;
[0097]S502、若是,则缓存所述数据包;
[0098]S503、若否,则判断所述数据包的名称的流行度是否大于等于预设流行度阈值;若大于等于,则执行步骤S504,否则,执行步骤S505;
[0099]S504、若大于等于,则判断所述第一 ICN节点中已缓存的各个数据包的名称的流行度是否小于所述预设流行度阈值;若小于,则执行步骤S506,否则,执行步骤S505;
[0100]S505、不缓存所述数据包;
[0101 ] S506、若小于,则判断可替换数据包和所述第一 ICN节点的剩余缓存空间的容量之和是否大于等于所述数据包的大小;所述可替换数据包为所述ICN节点中已缓存的、其名称的流行度小于所述预设流行度阈值的数据包;若大于等于,则执行步骤S507,否则,执行步骤S505;
[0102]S507、若大于等于,则用所述数据包替换所述可替换数据包。
[0103]值得说明的是:所述的剩余缓存空间即ICN节点的总的缓存空间减去已缓存数据包占用的空间的差。
[0104]本发明在缓存未满的情况下尽可能的存较多的内容,以扩大缓存的种类;当缓存满了之后需要发生缓存替换时,优先替换流行度较低的内容,保证流行度较高的内容尽可能长时间的存储在缓存中,以便为后续的请求进行服务,由此来提高缓存的利用率。
[0105]网络上的资源是无限的,倘若把所有的资源信息都添加到历史记录表里面,历史记录表就会变得非常庞大,占用系统较多的存储资源,而且增加了查询的时间,对于ICN这样要求线速转发的系统来说不太实用。根据网络流量的二八原则,也就是百分之八十的网络流量是由百分之二十的内容产生,所述步骤S405中根据预设的存储规则判断是否将所述数据包的名称、接收端口、接收时间和该条记录的生存时间作为一条历史记录存储到所述预设的历史记录表中,包括:
[0106]S601、计算所述预设的历史记录表中已存储的各名称的流行度,并进行排序;
[0107]S602、判断所述数据包的名称的流行度顺序是否小于等于预设值;若小于等于,则执行步骤S603,否则,执行步骤S604 ;
[0108]S603、若小于等于,则将所述数据包的名称、接收端口、接收时间和该条记录的生存时间作为一条历史记录存储到所述预设的历史记录表中。比如,将历史记录中所述名称的接收端口更新为接收到所述数据包的端口。
[0?09] S604、丢弃所述数据包,不存储记录。
[0110]通过该方法对于流行度比较低的内容在历史记录表里面不进行记录,对于流行度较高的内容,意味着该内容比较热,请求的比较多,将其记录在历史记录表里,从而可以为后续的请求进行服务,由此来提高缓存的利用率。流行度的统计计算可使用已知方法。
[0111]每条历史记录都有一个生存时间,自接收时间开始计时,若超过了生存时间,该历史记录会被视为无效而清除。
[0112]生存时间的设置具有一定的难度,生存时间设置的太大,则会对请求进行盲目的指导,历史记录中指示下一条有,但是经历了较长的时间下一条节点缓存的该内容已经被替换;相反,生存时间设置的太小起不到指导转发的作用。因此,为了更好地给用户提供服务,这个生存时间一般根据经验值来设定。
[0113]本发明中的ICN节点可以是转发路由器,第二ICN节点可以是终端,第三ICN节点可以是转发路由器,也可以是服务器。
[0114]本发明的方法采用的命名为CAMF策略。
[0115]为验证本方案的具体效果,本发明通过仿真进行说明。请参照图5所示的拓扑图,终端a通过三条路R1-R2-R5、R1-R3-R5、R1-R3-R5都可到达服务器“/a”。总的数据包为100个,大小均为IKB,每个节点缓存大小为5KB,在Rl上分别单独执行random策略、fib-weight策略和本发明的CAMF策略。请求速率为100个每秒,{R1、R2"_R5}之间的带宽相同且变化区间为[100kbps,450kbps],仿真时间为1000秒,对应的仿真结果为图7和图8。图7是仿真结束后终端a成功请求的数据包的数目,图8为成功请求的平均时延,可以看出本发明的方法有助于提高网络的性能,降低网络的时延。图7中横坐标为链路的带宽,纵坐标表示请求成功的数目,图8中横坐标表示链路带宽,纵坐标表示请求平均时延。
[0116]本文中的请求均指ICN构架中的兴趣包的请求。
[0117]图1、图2和图6中未区分名称和名称的前缀,具体请以文字叙述为主。
[0118]图9为本发明一实施例提供的基于历史记录的信息中心网络的多径转发系统的原理框图。
[0119]参照图9,一种基于历史记录的信息中心网络的多径转发系统,所述系统包括:
[0120]接收单元901,所述ICN架构中的第一ICN节点接收第二 ICN节点发送的兴趣包,所述兴趣包中包括所述兴趣包的名称;
[0121]第一判断单元902,判断预设的PIT表中是否有所述兴趣包的名称;所述PIT表中包括多条PIT记录,每条PIT记录中包括:待定兴趣包的名称、与所述名称对应的待定兴趣包的接收端口列表和该条PIT记录的生存时间,所述待定兴趣包为所述第一ICN节点已经转发但还未收到与所述兴趣包对应的数据包
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1