NDN网络路由演示
\准备工作:**
- 五台机器:编译安装NFDC转发模块
具体操作:1、 进入NFDC文件目录下,执行make clean, make, make install 命令
2、进入tools文件目录,执行make, make clean, make install命令
- 四台节点机器:编译安装ndn-netmgmt-server
网管机器:编译安装ndn-netmgmt-client(新环境下需要更改topology.txt文件,根据环境建立拓扑)
topology.txt是为了确定不同的结点在网络拓扑中的位置以及连接方式的。
\具体操作:**
进入所在目录,执行./waf configure, ./waf命令
- 节点四与节点一:编译安装ndn-file
具体操作:进入所在目录,执行./waf configure, ./waf命令
- 五台机器:配置route.sh和start.sh文件,route.sh根据网络中相邻节点名称配置,-r后接远端接口MAC地址,-l后接本地端口号,start.sh中选择需要运行的程序
route.sh的主要作用:为该节点创建端口,建立路由。
1 | faceid1 = `sudo nfdc-face create -r ether://00:e0:4c:36:00:93 -l dev://eno2 | cut -d , -f 1 | cut -d " " -f 4` #创建端口 |
最终配置的路由表为:
节点名称 | 路由表 |
---|---|
Node0 | 创建一个接口1,远端接口为Node4,其他所有节点的数据包都走这个接口。 |
Node1 | 创建2个端口,接口1(对应远端接口Node2),接口2(对应远端接口Node3),Node2节点走接口1,其他的节点走接口2. |
Node2 | 创建2个端口,接口1(对应远端接口Node1),接口2(对应远端接口Node3),所有节点发包都可以走接口1和接口2. |
Node3 | 创建3个端口,接口1(对应远端接口Node1),接口2(对应远端接口Node2),接口3(对应远端接口Node4),Node1发包走接口1,Node2发包走接口1或2(为之后把电缆更换路由准备),Node4和Node0发包走节点3 |
Node4 | 创建两个接口1(对应远端接口Node3)和接口2(对应远端接口Node0),Node0发包走接口2,其他走接口1 |
Start.sh配置:主要包括以下几个部分:
1 | 启动nfd-c转发进程 |
\演示流程:**
1、 按照4、3、2、1、0的节点顺序在机器上执行bash start.sh命令
2、 在1号节点上上传下载文件
3、 拔掉2号节点和3号节点间的网线,看Node0上的拓扑图
注意事项:
- 上传的文件如果不是Node4的file_server中有的会出现权限问题,会提示一个关于xml的报错,这有待进一步的改进。
- 为了使断开时a,b都能ping通,a和b的兴趣包前缀必须不同。此外,还要加上detector模块。
- 注意网络经常会断,如果没有出现no route报错很可能是断网了。