CCN中的数据包不再需要指定源地址与目标地址,取而代之的是直接采用内容对消息进行命名。在CCN中,内容名字是内容的唯一标识。从用户请求开始,内容就作为请求的对象,内容名字必然作为请求分组的一个重要字段。路由过程中,内容名字成为寻址的唯一标识。传输过程也是基于内容名字进行传输。内容命名应该满足四类性质,即可聚合性、持久性、自我验证性和全局唯一性。
(1)可聚合性:是指内容名字可实现汇聚,如IP地址以地址前缀方式聚合。可聚合性是内容命名的重要特性,内容是海量的、规模庞大的,若内容名字不能聚合,则路由表的膨胀速度将远远超过IP网络,会导致CCN网络可扩展能力更差。因此,可聚合性可大大减少路由表项数,保证可扩展性。
(2)持久性:是指无论内容所在主机或主机所在位置如何改变,内容名字始终保持一致。在IP网络中,若主机位于不同的自治系统(Automation System,AS)内,则其分配到的IP地址与AS所属的地址段相关。IP网络中主机发生移动时,相应的IP地址也要发生改变,导致了移动性问题。在CCN中,内容命名在设计时必须考虑移动性问题,因此提出了持久性的性质要求。一般而言,持久性要求内容名字具有扁平性,如以哈希值的形式存在,因此,可聚合性和持久性是一对矛盾,如何合理整合这对矛盾是内容命名的重要研究内容。
(3)自我验证性:是指内容名字本身具有安全验证功能,通过与其他数据的计算,可验证内容是否完整、真实、安全,从而更快速、简洁地实现内容的安全性验证。IP网络是针对主机的,即主机可能是安全的,但内容不一定安全。而在CCN网络中,安全性是直接针对于内容本身的,CCN安全性验证更加合理。
(4)全局唯一性:是命名的最基本的性质,是指内容名字是内容的唯一标识,一条内容具有一个内容名字,一个内容名字定义一条内容。与IP地址类似,内容名字是ICN传输和寻址的标志,若出现不唯一的情况,则必然造成网络传输的冲突和混乱。
CCN修改了对内容文件命名的方法,目前主要存在以下三种命名方式。
(1)层次命名(Hierarchical Naming):便于理解、记忆,加密算法变化时名字可以保持不变。这种命名方式与URL相似,并且是可聚合的,能够方便地与URL相匹配,这意味着在当前网络环境上较为容易部署,但是安全性较弱。
(2)扁平命名(Flat Naming):格式是P:L,P是内容发布者公钥的加密哈希,L是内容标签。这种形式的命名是没有语义的哈希串,具有较好的稳定性和唯一性,但也带来了不便于理解记忆,以及加密算法升级后名字将发生变化等问题。
(3)属性命名(Attribute-based Naming):是指根据内容文件的一系列属性值对对文件内容、文件位置进行判定和识别。