1.一种基于二分法的命名数据网络缓存方法,其特征在于,包括以下步骤:步骤1、内容请求者发起数据请求,将兴趣包通过所有可用转发接口向外发送;
步骤2、路由器接收兴趣包,并读取兴趣包的内容名称,根据内容名称检索内容存储器,若存在内容名称匹配的数据包,则将数据包中的缓存标志值CT设置为兴趣包跳数IH,将数据包从兴趣包的进入接口发送出去;若不存在内容名称匹配的数据包,则进入步骤3;
步骤3、路由器查询待定兴趣表,待定兴趣表包括内容名称和对应的进入接口,若待定兴趣表中匹配到相同的内容名称,则在待定兴趣表记录兴趣包的内容名称和对应进入接口,丢弃兴趣包;若没有匹配到相同的内容名称,则进入步骤4;
步骤4、路由器查询转发信息库,转发信息库包括名称前缀和对应的转发接口,若转发信息库中存在与兴趣包的内容名称匹配的名称前缀,则查找匹配的名称前缀对应的转发接口,将兴趣包的兴趣包跳数加1,并将兴趣包从本步骤查找的转发接口转发;若没有与兴趣包的内容名称匹配的名称前缀,则丢弃兴趣包;
步骤5、内容生产者解析兴趣包中内容名称以及兴趣包跳数,生成数据包并从兴趣包进入的进入接口发送回去,数据包中的缓存标志值CT设置为 ;
步骤6、路由器接收数据包,获得数据包的缓存标志值CT,若数据包的缓存标志值CT等于大于1,则数据包的缓存标志值CT减1;若数据包的缓存标志值CT等于1,则数据包的缓存标志值CT减1并缓存数据包;若数据包的缓存标志值CT等于0,则数据包的缓存标志值CT不变;
路由器在待定兴趣表PIT中与数据包对应兴趣包的所有的进入接口,并通过进入接口进行发送,
数据包发送完成后清除待定兴趣表PIT中对应的兴趣包的内容名称和进入接口,所述的步骤1包括以下步骤:
步骤1.1、内容请求者将需要请求的内容名称封装在兴趣包的内容名称字段中;
步骤1.2、内容请求者创建一个随机数封装在兴趣包的随机数字段中;
步骤1.3、内容请求者将兴趣包的兴趣包跳数字段初始为0;
步骤1.4、内容请求者封装兴趣包的其余字段;
步骤1.5、查询内容请求者所有可用转发接口;
步骤1.6、内容请求者将封装完毕的兴趣包从所有可用转发接口发送出去,所述的步骤6中缓存数据包包括以下步骤:路由器查找最久未使用的数据包,路由器将替换出的数据包的缓存标志值设置为1,通过查询转发信息库FIB获取该路由器通向上游路由器的转发接口,将替换出的数据包从通向上游路由器的转发接口转发出去,路由器将接收的数据包缓存在内容存储器CS中。