Cicn

From fd.io
Jump to: navigation, search
CICN Facts

Project Lead: Luca Muscariello
Committers:

  • Luca Muscariello
  • Jim Gibson
  • Jordan Augé
  • Michele Papalini
  • Mauro Sardara
  • Alberto Compagno

Repository: git clone https://gerrit.fd.io/r/cicn
Mailing List: cicn-dev@lists.fd.io
Jenkins: jenkins silo
Gerrit Patches: code patches/reviews
Bugs: CICN bugs

Get Involved

Introduction

Information-centric networking (ICN) is an approach to evolve the Internet infrastructure to directly support data-centric and location independent communications by introducing uniquely named data as a core Internet principle. Data access becomes independent from location, application and storage, enabling in-network caching and and anchor-less mobility. The expected benefits are improved efficiency, better scalability with respect to information/bandwidth demand and better robustness in challenging communication scenarios. These concepts are known under different terms, including but not limited to: Content-Centric Networking (CCN), Named Data Networking (NDN), the network of information (Netinf) and Publish/Subscribe Networking (PSIRP).

In this project the focus is on the Content-Centric Networking implementation (CCNx 1.0) that is under specification in a number of documents of the IRTF ICN research group [1], [2]. The seminal papers describing the CCN architecture [3] and NDN [4] report in great detail the characteristics of the two systems. Differences among the two architectures, especially between CCNx 1.0 and NDN are minor and currently object of a converge effort at the IRTF [5]. The current project scope is on CCNx 1.0 in view of the evolutions driven by the harmonization effort. The architecture evolution is community driven and the implementation would focus on the harmonization work made by the community as a whole. The project will also provide a number of applications that can be used by the community to demonstrate the concept as well as run experiments at scale to evaluate the advantages and benefits of the ICN concept in concrete use cases like video delivery across 5G networks.

The project scope includes CCN network architecture implementation: packet processing as well as networking socket API. Packet processing will be made available through two main forwarders one based on the VPP framework and one based on sockets to deploy CCN in non VPP environments. The project will focus on the CCNx 1.0 specification [1] as a reference implementation, but would evolve by keeping track of the work done in the convergence group at the IRTF [5]. While the main focus is on the VPP plugin, the socket based forwarder will be used to enable end-to-end chains testing, supporting end devices that do not support VPP. Moreover, for the VPP forwarder, CCNx 1.0 packets will be transported using IPv4 encapsulation in the first place. This encapsulation will constitute the main focus for the VPP plugin while the socket-based forwarder could also support Ethernet encapsulation as an additional transport example.


In more detail, early releases would include:

  • 1. A VPP forwarder plugin,
  • 2. A socket-based forwarder,
  • 3. The consumer/producer API,
  • 4. A number of support libraries,
  • 5. Examples of CCN applications, including but not limited to an end-to-end example for HTTP ABR video delivery (player and server),
  • 6. Tools suitable to assist with development and testing.

References