论文部分内容阅读
NDN(Named Data Networking)作为未来网络研究的一个方向,受到了越来越多人的关注,而CCN作为NDN的一个实例,也迅速成为了研究热点。在CCN中,网络中的一切都被看成是信息,整个网络是通过信息进行互联的,客户想获取信息时,不再需要像现在IP网这样,映射到该内容所在的终端设备,而是可以直接在储存有该内容的中间结点进行获取,这样使得数据的获取更加快捷,同时,对于数据的检索也更加有效。 但是由Van Jacobson等人提出的CCN并不完善,他只给出了CCN的基本架构和工作流程,并没有对拥塞控制、内容存储、内容检索、路由等领域进行详细阐述,特别是CCN中的拥塞控制机制。由于CCN是以内容为中心,那么,当多个客户通过同一个接入点请求的多个内容同时到达时,该接入点很有可能因为自身软硬件设备的限制而无法完全处理,就会出现丢包的情况;同样,当某条链路中存在多个内容同时传输时,链路负载过重,也会出现丢包现象。但是对于丢包这种情况,在CCN中并没有进行详细描述该如何进行有效处理。 本文首先根据CCN架构的特点,借鉴TCP网络中拥塞控制的方法,从理论上分析可能存在的CCN拥塞控制机制;其次仔细分析已有的关于CCN拥塞控制里面流量控制类的研究成果,对比分析几个有代表性的机制的优劣,结合前面分析的可能存在的拥塞控制机制,给出基于路由策略的流预知拥塞控制机制;然后,采用由美国麻省理工学院Eddie Kohler博士等人联合开发的一种新型软件架构Click,使用C++编程完成CCN各个组件模块,用实体机环境实现了一套基于Click的CCN架构;最后,在实现的基于Click的CCN架构实体机环境中,测试CS、客户端策略、中间路由结点策略对于网络拥塞的影响,并对本文提出的基于路由策略的流预知拥塞控制机制进行性能测试。 通过测试,本文不仅检验了所搭建的基于Click的CCN架构的可用性,也对影响 CCN拥塞的因素进行分析,而且,本文也证明了,使用本文提出的基于路由策略的流预知拥塞控制机制能够有效的控制网络拥塞。