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


这里的-u 9998表示9998端口作为UDP监听端口,也就是client发送interest给A时要输入9998端口号。


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的场景的实现,转载请说明出处。


阅读全文
1 0
原创粉丝点击