-
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. 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) ).
Currently, the project is pre-alpha. The code is not usable for any realistic simulation yet. We're diligently pounding our keyboards and should have the first release soon. The first release will have this functionality:
- Implement the CCNx layer 3 protocol.
- Implement the IRTF ICNRG standard forwarded, as described in irtf-icnrg-ccnx-semantics and irtf-icnrg-ccnx-messages, but without caching (the content store).
- Implement a basic distance vector routing protocol that supports multiple anchors for the same prefix and equal cost multipath.
- An example consumer/producer application.
- A layer 4 "portal" implementation, similar to the Portal API used in the Linux code distribution. The CCNxPortal follows similar model to the NS3 Socket APIs with a portal factory aggregated to the NS3 node, so one can use the run time type identification system to instantiate portals.
- A CCNx stack helper and routing helpers to make instantiating networks in C++ scripts easy.
- Several simple examples to show how to use specific features.
- One large network example.
- Lots of unit tests and code coverage.
- Extensive use of the NS3 memory model (
ns3::Ptrsmart pointer) and run time type identification (ns3::Object).
There are lots of additional features planned for subsequent releases. The initial release has a low feature count so we can get it out as soon as possible, but it still be useful and functional.
- [Getting Started](Getting Started)
- [CCNx NS3 Node Architecture](Node Architecture)
Copyright (c) 2016, Xerox Corporation (Xerox) and Palo Alto Research Center (PARC). All rights reserved.