西安邮电大学
(计算机学院)
课内实验报告
实验名称:无线传感网仿真(一)-S-MAC协议
专业:
班级:
姓名:
学号:
指导教师:
日期:2017年6月21日
一.实验目的
理解 S-MAC 协议的工作机制。
二.实验环境
VirtualBox + Ubuntu + NS2
三.实验内容
1.S-MAC协议
Sensor MAC(S-MAC)是一种基于竞争的 MAC 层协议,主要适于节点空闲时间较长、可容忍较大时延的场合。 S-MAC 以 802.11 为基础,提供了良好的扩展性,设计重点是有效节能,适应网络规模、节点密度及拓扑结构的变化,而把其它性能(如平等性、吞吐量、带宽利用率等)作次要考虑。
2.仿真拓扑
定义一个含 14 个 WSN 节点的仿真拓扑。发送方为节点0,通过UDP传输CBR数据,接收方为节点5。
四.实验过程及分析
1.阅读并解释仿真代码(SMAC.tcl),描述仿真设置;
创建节点
设置节点坐标
设置报文的发送大小等节点参数
2.运行仿真脚本;
1)仿真开始时,节点之间未建立路由,此时无数据传输,所有节点为绿色。
2)从1s 开始,节点0 与节点5 建立UDP/CBR 的数据传输,需要注意,在传输数据前,节点0 先要通过RREQ/RREP 建立到节点5 的路由。
3)数据传输过程中,由于节点能量的消耗,较高负载的节点会出现颜色变化(如21s 左右,节点0、6、2、3、12、5 开始变黄)。
3.利用 NAM 动画观察并解释实验过程,理解S-MAC协议的工作过程。
当节点进入工作时:先侦听一段固定时间:
1)如果在侦听的这段时间,接收到其他节点的调度信息,则将自己的调度信息调整和其他相邻节点一致,经过一段随机的时间广播自己的调度信息;
2)当节点在侦听这段时间收到众多的邻居节点的调度信息都不一致时,可选择将自己的调度信息调整为和第一个接收到的邻居节点的调度信息一致,并记录其他邻居节点的调度信息。
3)如果在侦听的这段时间没有接收到任何节点发送来的调度信息,则自己产生一个调度信息,并进行广播;
具有相同调度的节点形成虚拟簇,边界节点记录两个或多个调度。在WSN网络中形
成众多的虚拟簇,使得S-MAC具有良好的扩展性。
五.问题回答
(1)SMAC 如何主要为解决什么问题设计的?为什么不能直接采用802.11 协
议?
答:为了达到良好的可扩展能力和碰撞回避能力,为了实现能量效率,尽量降低能量是SMAC协议。
(2)SMAC 和其它同类协议的性能比较有何不同?
答:S-MAC很好的通过周期性的侦听与睡眠机制解决了无线传感网络中的能量问题:高负载:当信道处于高负载的时候,侦听阶段得意充分利用;低负载:睡眠阶段更好的节省了能量。,使用CSMA协议中的RTS/CTS,DATA/ACK消息传递机制,有效避免了冲突;
六.总结
对设计及调试过程的心得体会。
通过这次试验发现,S-MAC采用周期性的侦听和睡眠,网络中所有的节点同步使用相同的睡眠和唤醒方式,所有的节点均已相同的占空比进行工作,使用同步帧发送机制,确保所有节点同时唤醒和同时睡眠,但所有节点都处于唤醒状态时,才进行侦听,以判断是否要发送或者接受数据,当所有节点都处于睡眠状态时,会自动关闭射频收发器以节省能量。