-
Notifications
You must be signed in to change notification settings - Fork 6
Home
This project is an NS3 module for simulating the CCNx 1.0 protocols (ccns3Sim). You can find more information about the CCNx 1.0 Protocols and about NS3 simulator.
The purpose of this project is to provide an open-source implementation of the CCNx protocols written specifically for NS3 in C++. We follow the NS3 coding conventions. Due to our BSD-like license, we cannot contribute the code directly to the NS3 project, but we have made it easy to integrate (see [Getting Started](Getting Started) ).
The CCNx NS3 implementation is a fresh NS3-specific implementation. This means it's C++ in the NS3 code style, using the NS3 smart pointers, and integrates with the NS3 documentation and manual. Most importantly you do not need to learn two systems. If you know NS3, you should be able to get started with the CCNx code right away. It is modeled on the NS3 Internet structure, so the terminology and APIs bear some resemblance. There are two main differences: we split the forwarder from the routing protocol, and we use the CCNxPortal
abstraction instead of ns3::Socket
. It is straightforward to add your own forwarder implementation, routing implementation, or modify forwarding behaviour by using your own Pending Interest Table (PIT) or Forwarding Information Base (FIB) or Content Store (CS). We have provided many Examples, a Tutorial and many [Unit Tests](Unit Tests) (all written in the NS3 unit test framework).
Our goal is to make the CCNx module easy to use, easy to modify, and easy to maintain. It works with the off-the-shelf NS3 code distribution, with only a few minor changes because CCNx uses a different EtherType (0x0801) than IPv4/IPv6, so we had to add that in.
Currently, the project is beta. The code is usable for many simulations now, though some security features of the CCNx protocol are not yet implemented.
See Features page for a description of what's in the code.
- [Getting Started](Getting Started)
- Developer Setup
- Tutorial
- [CCNx NS3 Node Architecture](Node Architecture)
- CCNx 1.0 Protocols
- NS3 simulator
Copyright (c) 2016, Xerox Corporation (Xerox) and Palo Alto Research Center (PARC). All rights reserved.