CCNx调研

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hahachenchen789/article/details/88787258

CCNx是ICN中的CCN提案的一种实现。主要运行在Linux的一些发行版上,比如Ubuntu,Debian,Macos。

在2014年前后,CCNx的官方网站为:http://www.ccnx.org

但目前,CCNx项目已经交给Linux基金会,作为其子项目运行,项目名称也由CCNx改为Cicn。

官方网站为:https://wiki.fd.io/view/Cicn

cicn在CCNx的基础上,添加了对Linux基金会另一个子项目:VPP网络框架的支持。

项目将把重点放在CCNx 1.0规范作为参考实现上,但是将通过跟进IRTF聚合组中所做的工作来演进。虽然项目主要关注VPP网络框架的支持,但基于socket的转发器将用于支持端到端的测试,以支持那些不支持VPP的终端设备。此外,对于VPP转发器,首先将使用IPv4封装传输CCNx 1.0包。这种封装将成为VPP插件的主要关注点,而基于套接字的转发器也可以支持以太网封装。

概括一下,该项目主要包括如下功能插件:

1.VPP 转发器插件

2.基于socket的转发器

3.消费者/生产者的API

4.一些支持库

5.CCN应用程序的示例,包括但不限于HTTP ABR视频传输(播放器和服务器)的端到端示例

6.适合于协助开发和测试的工具

项目源码由几个不同的子项目源码组合而成:

1.cicn-plugin:VPP forwarder:https://github.com/FDio/cicn/blob/cicn-plugin/master/README.md

2.socket-based forwarder:https://github.com/FDio/cicn/blob/sb-forwarder/master/README.md,包含了路由转发策略

3.libicnet:socket接口API,https://github.com/FDio/cicn/tree/libicnet/master

4.libparc:PARC c语言库:https://github.com/FDio/cicn/blob/cframework/master/libparc/README.md

5.longbow:https://github.com/FDio/cicn/blob/cframework/master/longbow/README.md

6.ccnx-common:CCNx common 库:https://github.com/FDio/cicn/blob/ccnxlibs/master/libccnx-common/README.md

7.ccnx-portal:CCNx API:https://github.com/FDio/cicn/blob/ccnxlibs/master/libccnx-portal/README.md

8.Libccnx-transport-rta:https://github.com/FDio/cicn/blob/ccnxlibs/master/libccnx-transport-rta/README.md

9.http-server:http服务器,用于CCN的应用程序:https://wiki.fd.io/view/Http-server

10.Viper: video player for CCN:https://wiki.fd.io/view/Viper

11.Vicn:vICN是一个数据模型驱动的管理系统,还为大规模ICN部署提供无线信道(WiFi和LTE)的编排服务和仿真。https://wiki.fd.io/view/Vicn

如何管理这些不同的子项目

建议在不同的工作空间中克隆每个子项目分支,以避免容易出错的操作。

git clone -b cicn-plugin/master  https://gerrit.fd.io/r/cicn cicn-plugin;
git clone -b sb-forwarder/master https://gerrit.fd.io/r/cicn sb-forwarder;
git clone -b libicnet/master     https://gerrit.fd.io/r/cicn libicnet;
git clone -b cframework/master   https://gerrit.fd.io/r/cicn cframework;
git clone -b ccnxlibs/master     https://gerrit.fd.io/r/cicn ccnxlibs;
git clone -b http-server/master  https://gerrit.fd.io/r/cicn http-server;
git clone -b viper/master        https://gerrit.fd.io/r/cicn viper;
git clone -b vicn/master         https://gerrit.fd.io/r/cicn vicn;
git clone -b android-sdk/master  https://gerrit.fd.io/r/cicn android-sdk;

此外,CICN提供Ubuntu16.04和Centos 7的二进制应用程序,直接下载运行即可:

 code source repositories https://git.fd.io/cicn 
 apt repository: Ubuntu 16.04LTS https://nexus.fd.io/content/repositories/fd.io.master.ubuntu.xenial.main/
 yum repository: CentOS 7 https://nexus.fd.io/content/repositories/fd.io.master.centos7/

关于CCNx的操作命令,可以参考该笔记:

https://github.com/jinpf/CCN_Note

猜你喜欢

转载自blog.csdn.net/hahachenchen789/article/details/88787258