CCN-lite的安装及场景实现
来源:互联网 发布:17173剑三捏脸数据站 编辑:程序博客网 时间:2024/05/29 15:08
CCN-lite是CCN的一个轻量实现。
网站:http://www.ccn-lite.net/
最新源码:https://github.com/cn-uofbasel/ccn-lite/releases/tag/0.3.0
Ubuntu下的安装:
1.需要openssl的库支持:
sudo apt-get install libssl-dev
2.设置环境变量
export CCNL_HOME="`pwd`/ccn-lite"export PATH=$PATH:"$CCNL_HOME/bin"
其中pwd是ccn-lite的上层目录。
这里利用export设置的环境变量是临时的,一旦关机重启失效,可以利用修改profile文件永久保存该环境变量,具体方法自行百度。
3.编译安装
cd $CCNL_HOME/src make clean all
CCN-lite实际运行:
场景:
场景分析:
需要三台pc,分别作为client, relayA,relayB。content store存在relayB的内存中。其中relayA需要双网卡支持,分别连接client和relay
B,可以看出relayA作为路由转发。
client配置:设置静态IP,修改interfaces文件即可。假设IP为192.168.0.6
relayB配置:设置静态IP: 192.168.0.10
relayA配置:两个网口设置dhcp而不是静态IP,然后利用brctl命令建立网桥,将eth0和eth2连接在一起,并设置网桥的IP:192.168.0.100
relayA interfaces文件配置:
auto eth0iface eth0 inet dhcpauto eth2iface eth2 inet dhcp
网桥搭建:
sudo brctl addbr br0sudo brctl addif br0 eth0sudo brctl addif br0 eth2sudo ifconfig br0 192.168.0.100 netmask 255.255.255.0 up
以上就是准备工作。
接下来是利用ccn命令实现数据传输:
relayB:
1.建立content store:
$CCNL_HOME/bin/ccn-lite-mkC -s ndn2013 "/ndn/test/mycontent" > $CCNL_HOME/test/ndntlv/mycontent.ndntlv
2.开启relay模式:
$CCNL_HOME/bin/ccn-lite-relay -v trace -s ndn2013 -u 9999 -x /tmp/mgmt-relay-b.sock \ -d $CCNL_HOME/test/ndntlv
这里的-u 9999表示9999端口作为UDP监听端口,也就是A发送interest给B时要输入9999端口号。
relayA:
1.开启relay模式:
$CCNL_HOME/bin/ccn-lite-relay -v trace -s ndn2013 -u 9998 -x /tmp/mgmt-relay-a.sock
2.添加转发规则
FACEID=`$CCNL_HOME/bin/ccn-lite-ctrl -x /tmp/mgmt-relay-a.sock newUDPface any 192.168.0.10 9999 \ | $CCNL_HOME/bin/ccn-lite-ccnb2xml | grep FACEID | sed -e 's/^[^0-9]*\([0-9]\+\).*/\1/'`
这里的newUDPface是 要发往下一跳的IP和端口,也就是relayB的IP和端口号9999.
client:
1.发送interest to A
$CCNL_HOME/bin/ccn-lite-peek -s ndn2013 -u 192.168.0.100/9998 "/ndn/test/mycontent" \ | $CCNL_HOME/bin/ccn-lite-pktdump这里的-u就是A的IP和端口。与上面的类似。
以上就是本人对于CCN的场景的实现,转载请说明出处。
- CCN-lite的安装及场景实现
- Sourcery CodeBech Lite安装及使用
- Navicat Lite for MySQL安装及使用说明
- Sourcery CodeBech Lite安装及使用
- 免费软电话 — X-Lite 的安装及配置向导
- KVO的实现原理及使用场景
- base64加密算法的实现及应用场景
- Sourcery CodeBech Lite安装及使用
- Sourcery CodeBech Lite安装及使用
- call的实现原理及一个很好的应用场景
- std::vector实现原理及特定场景下的改进
- 观察者模式的应用场景及实现方式
- JavaScript模板引擎的应用场景及实现原理
- Android中实现IPC的方式及使用场景
- JavaScript模板引擎的应用场景及实现原理
- X-lite安装
- ehlib在delphi 10 lite上的安装方法
- delphi 10 lite安装 Activex控件的变通方法
- LeetCode:Reverse Integer
- 算法设计课作业系列5——Reverse Pairs
- 机器学习PAI通过声音分辨男女(含语音特征提取相关数据和代码)
- 第一个树莓派驱动程序-helloword(五)
- (4). hdfs数据写过程概述
- CCN-lite的安装及场景实现
- 《高性能SQL调优精要与案例解析》一书谈主流关系库SQL调优(优化&TUNING)技术精髓之——执行计划获取及理解
- java截取JSON报文的方法
- list转String的几种方法
- QT 快捷键
- Elasticsearch.5.4.1+kibana5.4.1+IK分词集群搭建
- 如何开始使用 Java 机器学习
- 大数据早报:阿里巴巴升级操作系统战略 谷歌医疗广告竞价黑幕(9.28)
- 大数据早报:微软宣布推出新Azure机器学习工具 这个机器人可以像人类一样自然地行走(9.27)