首页 理论教育 RPL边界路由器在物联网操作系统Contiki中的应用

RPL边界路由器在物联网操作系统Contiki中的应用

时间:2023-11-20 理论教育 版权反馈
【摘要】:成功执行此命令后,将创建名为udp-client.sky的文件,该文件将用于编程Cooja仿真器中的其余节点,这些节点将形成一个以RPL边界路由器作为根的DAG。图12-14RPL网络然后,在Cooja上仿真的RPL 网络和本地机器之间建立一个桥接,这可以通过右键单击被编程为边界路由器的微尘来完成。图12-15侦听UDP端口3.Tunslip程序边界路由器的功能是将一个网络连接到另一个网络。

RPL边界路由器在物联网操作系统Contiki中的应用

边界路由器是可以在网络边缘找到的路由器,它们的功能是将一个网络连接到另一个网络。本节说明如何使用Contiki 操作系统中的边界路由器,下面的例子讨论边界路由器——RPL 路由器用于无线传感器网络(RPL 网络)和外部IP网络之间路由数据,网络结构如图12-13所示。

图12-13 网络结构

1.程序说明

本例将使用如下几个程序,文件夹examples/ipv6/rpl-border-router/下的border-router.c、httpd-simple.c 和slip-bridge.c 程序,以及前面例子介绍的examples/ipv6/rpl-udp文件下的udp-client.c程序。运行udp-client.c程序的节点将构建一个以边界路由器为根的RPL DAG,边界路由器将通过串行接口协议(Seial Line Interface Protocol,SLIP)连接接收前缀信息,并且把接收到的信息发送到RPL网络中的其他节点。

下面的代码是border-router.c 中的代码片段,在这段代码中配置为边界路由器的节点等待设置前缀,一旦接收到前缀信息,边界路由器就被设置为DAG的根,之后它设置网络中其余节点的前缀。

默认情况下,边界路由器托管一个简单的网页,但是,可以通过定义WEBSERVER 来禁用此功能,如下面的代码片段所示。在浏览器中输入边界路由器的IPv6地址时,将显示此网页,下面是文件httpd-simple.c中的代码段。

编译在sky 平台上运行的边界路由器程序border-router.c 的命令,是在该程序所在文件夹下执行命令make TARGET=sky,成功执行此命令后,将创建名为border-router.sky 的文件,该文件用于将网络中的sky 微尘编程为Cooja 上的边界路由器。当然,该命令可根据使用的平台不同而改变。

为了演示边界路由器的功能,本例将创建一个以边界路由器为根的网络。为了创建这样的网络,将使用udp-client.c 代码。同样,在examples/ipv6/rpludp 文件夹下执行命令make TARGET=sky 编译边界路由器的代码。成功执行此命令后,将创建名为udp-client.sky的文件,该文件将用于编程Cooja仿真器中的其余节点,这些节点将形成一个以RPL边界路由器作为根的DAG。

2.仿真实验

首先,建立如图12-14所示的RPL网络,在节点1上运行rpl-border-router.sky文件,在其他节点上运行udp-client.sky文件。

图12-14 RPL网络

然后,在Cooja上仿真的RPL 网络和本地机器之间建立一个桥接,这可以通过右键单击被编程为边界路由器的微尘(即本例中的节点1)来完成。选择“More tools for sky1”,然后选择“Serial Socket(Server)”。成功完成此步骤后,将在消息窗口上显示如图12-15所示消息。

图12-15 侦听UDP端口

3.Tunslip程序

边界路由器的功能是将一个网络连接到另一个网络。本例中,边界路由器用于在RPL 网络和外部网络之间路由数据,现在可用创建的RPL 网络模拟RPL 网络连接到外部网络的场景。为此,本例将使用Contiki 操作系统提供的Tunslip 实用程序,Tunslip 工具在RPL 网络和本地计算机之间建立桥接。Tunslip 工具程序文件tunslip6.c 在文件夹tools 下,编译tunslip6.c 代码的命令如下:(www.xing528.com)

make tunslip6

然后,在RPL网络和本地计算机间建立连接的命令如下:

sudo./tunslip6-a 127.0.0.1 aaaa::1/64

成功执行该命令时会显示如图12-16所示的信息:

图12-16 设置前缀

回到Cooja仿真GUI界面会看到如图12-17所示消息对话框:

图12-17 连接成功

可以使用ping命令验证为边界路由器设置的地址,如图12-18所示:

图12-18 测试边界路由器

也可以ping 网络中的其他节点之一,如ping 节点7 的结果如图12-19所示:

图12-19 测试RPL网络节点

可以利用浏览器软件查看RPL网络建立的路由信息,如图12-20所示:

图12-20 RPL路由

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈