CCN is a new networking paradigm. The routing is based on the information itself, so as to find sources that can deliver the requested content without having an a priori location for the content.
The communication is then largely different from the IP model, where a communication path between two end hosts is established first before the actual exchange of information. In CCN, there is no connection, and any node (source or caches) having the content can provide it; the decision is just based on the content names.
This approach can present a great opportunity for the Internet of Things (IoT) networks, where the main goal is to collect information provided by some IoT objects (say, sensors for temperature, pollution, heart rate, metering, etc.).
In IoT, the end-user wants to know what the value of some parameter is and have a network which follows similar principles can then offer ease to gather this information.
In CCN, information objects are hierarchically named so that they can be aggregated into prefixes.
The main motivation for hierarchical naming is that forwarding content by name can be performed by using concepts similar to IP forwarding based on longest prefix matching lookups. Names are hierarchically organized in a lexicographic ordered tree data structure.
With the hierarchical naming scheme, the trust establishment between content publishers and content consumers in CCN can also be hierarchically structured by using the SDSI/SPKI model and authorization at one level of the namespace can be granted by a key certified at a higher level.
CCN communications are based on two packet types: Interest and Data. A consumer asks for content by broadcasting over the network an Interest in that content.
Any host hearing this Interest forwards it to its neighbors unless it locally holds the queried content and can immediately serve the consumer with a Data message.
The latter case means that the name in the Interest is a prefix of the content name in the Data packet. As Interest and Data packets are identified by the full or relative name of queried content, any CCN node involved in the communication can cache data or use the Interest to update its Forwarding Information Base (FIB).
CCN forwarding is actually similar to the IP forwarding plane for fast lookup of content names in the Interest packets.
The figure describes the functional parts of a CCN node: the FIB to find the appropriate interface(s) to which arriving Interest packets should be forwarded to reach the providers of queried content, a Content A store that is the buffer memory for content caching (typically using an LRU policy to keep new content), and a Pending Interest Table (PIT) to keep track of the inbound interfaces of received Interest packets so that a Data packet sent back as a response to an Interest registered in the table will be delivered to the right interface(s).