Page 346 - 《软件学报》2021年第9期
P. 346
2970 Journal of Software 软件学报 Vol.32, No.9, September 2021
Table 1 INTEREST routing algorithm
表 1 INTEREST 路由算法
算法 1. 收到 INTEREST 包.
1: if 缓存未命中 and 未匹配到 PIT 表项 then
2: if 到达目标节点 then
3: 转发至内容源
4: else
5: 转发至哈希映射所得目标节点
6: end if
7: else
8: 返回 DATA 包
9: end if
表 2 中,节点收到 Data 数据分为两类:一类是普通的 Data,另一类是其他节点 RawCache 中替换出的内容重
新组装成的 Data.若是普通 Data(第 14 行),则按照 RawCache 上采用的 On-path 缓存策略对其进行处理,同时,如
果在缓存的过程中发生了内容替换,则节点将内容本身及其所对应的 PT 表项封装为新的 Data,转发至哈希映射
所得目标节点,转发过程中的途经节点不再对其进行处理(第 12 行).当目标节点收到其他节点发送来的 Data 时
(第 2 行),则将其缓存至 HashCache 中并按照公式(2)更新 PT 表项.HashCache 中替换出的内容会被移动至该节
点的 RawCache 中,而不会直接丢弃.
Table 2 DATA routing algorithm
表 2 DATA 路由算法
算法 2. 收到 DATA 包.
1: if Data 是 RawCache 中替换出的内容 then
2: if 到达目标节点 and Data.popularity>min(PT.popularity) then
3: if 该节点 RawCache 已有该内容 then
4: 移动至 HashCache and 更新 PT.popularity
5: else
6: 缓存至 HashCache and 更新 PT.popularity
7: end if
8: if 替换掉了其他内容 then
9: 将替换出的内容移动至该节点 RawCache
10: end if
11: else
12: 转发至下一跳
13: end if
14: else if 是普通 DATA 包 and 匹配到 PIT 表项 then
15: 执行 On-path 缓存策略处理该内容
16: if 替换掉了内容 and hit>阈值 then
17: 将替换掉的内容连同所对应 PT 表项组装为 DATA 包
18: 直接转发至哈希映射所得目标节点
19: end if
20: 转发普通 DATA 包至下一跳
21: end if
3 仿真实验
为了评估 CSTC 的缓存效果与性能,我们基于 ccnSim [28] 设计实现了缓存仿真实验,将 CSTC 与多种现有缓
存方案进行了对比分析实验,并探究了各缓存因素对缓存性能的影响.本节将从实验环境与配置、对比方案与
性能指标、仿真结果与分析这 3 个方面详细阐述仿真实验与结果.
3.1 实验环境与配置
考虑到一个请求域的大小,我们选择了美国爱荷华州的一个真实拓扑结构 [29] 作为仿真拓扑网络,该拓扑共
有 30 个节点、38 条边.为了合理模拟真实网络状态,当内容在域内未命中时,我们设置的出域路由的请求跳数
为 10 跳.每个节点都连接有一组用户,不间断地连续模拟发起内容请求,用户请求服从泊松分布.仿真实验中共
有 100 万个不同的内容,我们假设内容整体上服从参数为α的 Zipf 分布,也就是说,排名第 k 的热门内容的请求