江先亮 (jiangxianliang@nbu.edu.cn),博士,毕业于浙江大学。现为宁波大学计算机系教师、研究生导师。从事操作系统、无线网络技术、计算机网络等课程教学和相关领域科学研究,在IEEE、Elsevier和国内知名期刊及会议发表学术论文20余篇。主持国家自然科学基金、浙江省自然科学基金、国家重点实验室开放基金、宁波市自然科学基金等多个项目,取得了一批研究成果。
金光 (jinguang@nbu.edu.cn),博士,毕业于浙江大学。现为宁波大学计算机系教授、研究生导师。长期从事计算机网络和无线网络领域教学、科研工作,在《中国计算机协会通讯》和国内外知名期刊及会议发表学术论文40余篇,在国内较早开展无线网络技术课程教学改革,主持研发相关的物联网和无线网络教学实验仪器,曾获市级和校级教学成果奖、教学创新奖。
无线网络实验教学服务群QQ:627673170
欢迎各位授课老师加入。
教材简介
本书是《无线网络技术》的配套实验教材,帮助读者提升无线网络与物联网相关实践动手能力。全书分 15 章,实验内容涉及:仿真实验环境构建、无线局域网隐藏和暴露终端、无线局域网视频传输、无线自组网路由协议、低速无线个域网、无线自组网攻防、低轨卫星通信、蜂窝网数据传输、车联网、信号测量、无线室内外定位应用、无线短距离数据传输、无线传感 网组网、低功耗广域物联网数据传输、无线体域网健康监测等。
本书突出实践特色,电子资源丰富。配套实验教学视频,便于读者反复观看学习。
本书可作为网络工程、物联网、计算机、通信、电子、自动化、信息安全、网络空间安全等专业的本科生、研究生相关实验课程教学用书,也可供相关领域工程技术人员参考。
实验目录
第 1 章 无线网络与物联网仿真环境搭建 1.1 预备知识 1.1.1 VirtualBox 软件 1.1.2 Ubuntu Linux 系统 1.1.3 NS-2 网络模拟器 1.2 实验环境 1.3 实验步骤 1.3.1 安装 VirtualBox 虚拟机 1.3.2 安装 Ubuntu 系统 1.3.3 安装 NS-2 环境 1.3.4 仿真环境测试 1.4 扩展练习 |
介绍无线网络与物联网仿真实验环境搭建,包括 VirtualBox 6.1.50 和 Ubuntu 20.04.1 的虚拟机环境、NS-2 安装等。 在 Windows 11 上利用 VirtualBox(6.1.50)和 Ubuntu(20.04.1,内核版本 5.4)构建仿真实验环境,完成网络协议微观原理性分析。为保证流畅运行该实验环境,建议物理主机最低配置为:4GB 及以上内存、主频 2.0GHz 及以上双核 CPU、40GB 及以上的空闲(物理)磁盘空间。实验环境包含的软件:VirtualBox 6.1.50、Ubuntu 20.04.1、ns-allinone-2.35(修复部分Bug)。 |
第 2 章 无线局域网隐藏和暴露终端仿真 2.1 预备知识 2.1.1CSMA/CA 机制 2.1.2 隐藏终端问题 2.1.3 暴露终端问题 2.2 实验环境 2.3 实验步骤 2.3.1 隐藏终端问题实验 2.3.2 暴露终端问题实验 2.4 扩展练习 | 介绍无线局域网隐藏和暴露终端基本原理,并进行仿真分析。读者将了解无线局域网中RTS/CTS的工作过程,并利用NS-2工具分析隐藏和暴露终端问题。 在隐藏终端问题仿真实验中,构建了如图所示的拓扑,包含 3 个节点且相互间隔 50米。其中,节点 0 向节点 1 发送数据(CBR/UDP)、节点 2 向节点 1 发送数据(CBR/UDP)。利用threshold工具计算得到50米的 CSThresh_和 RXThresh_值为 7.69113e-08。 ![]() 在暴露终端问题仿真实验中,包含 4 个节点且相邻距离 50米。其中,节点 1 向节点 0 发送数据(CBR/UDP)、节点 2 向节点 3 发送数据(CBR/UDP)。利用threshold 工具计算得到 50 米的 RXThresh_值为 7.69113e-08,载波侦听 100 米 的 CSThresh_值为 1.4268e-08。 |
第 3 章 无线局域网视频传输仿真 3.1 预备知识 3.1.1 H.264 视频编解码 3.1.2 IEEE 802.11e 协议 3.1.3 视频质量评价指标 3.2 实验环境 3.3 实验步骤 3.3.1 扩展 NS-2 仿真工具 3.3.2 视频处理流程 3.3.3 视频传输仿真 3.4 扩展练习 | 介绍无线局域网视频传输原理,包含视频编解码基本概念、IEEE 802.11e 协议基本原理以及常见的视频评价标准,让读者了解 H.264 编码工具使用,以及 IEEE 802.11e 协议对视频传输的影响,并能用 NS-2 工具进行分析。 EvalVid 框架由 Jirka Klaue 等提出,其提供了完整框架和相关工具集,以便于进行统一的视频传输质量评估。其具有模块化结构的特点,可根据实际需要替换底层传输协议、应用层视频编/解码器,支持不同格式视频。该框架可用于实测和仿真环境,且所有工具实现都采用 C语言。 EvalVid 的工作流程如图所示,更多详细内容可查阅文献。 ![]() |
第 4 章 无线自组网路由协议仿真 4.1 预备知识 4.1.1 无线自组网概述 4.1.2 无线自组网路由协议分类 4.1.3 AODV 工作过程 4.1.4 DSR 工作过程 4.1.5 SUMO 生成 NS-2 仿真场景 4.2 实验环境 4.3 实验步骤 4.3.1 路由协议设计 4.3.2 路由协议评价 4.3.3 AODV 协议分析 4.3.4 DSR 协议分析 4.4 扩展练习 | 分析无线自组网路由协议,包含路由协议设计思路和性能评价、基于真实地图生成仿真场景、AODV 和 DSR 的工作过程及性能分析等。 使用 NS-2 自带的 AODV 和 DSR 两个路由协议,不需扩展任何其他模块。实验环境为 Ubuntu 20.04.1+VirtualBox 6.1.50,采用下述地图生成的 NS-2 仿真场景,如图所示。 ![]() |
第 5 章 低速无线个域网仿真 5.1 预备知识 5.1.1 低速无线个域网 5.1.2 IEEE 802.15.4 5.2 实验环境 5.3 实验步骤 5.3.1 星状拓扑实验 5.3.2 P2P 拓扑实验 5.4 扩展练习 | 介绍低速无线个域网的基本特点、原理、应用场景等,利用 NS-2 仿真分析代表性的低速无线个域网标准。 构建如图所示的星状拓扑,包含 7 个节点,其中节点 0 为 PAN 协调器节点,开启 Beacon功能,节点 1~6 为终端节点。数据在节点 0~1 和节点 0~3 间传输,采用 TCP/FTP 应用。 ![]() P2P 实验拓扑,包含 11 个节点,其中节点 0 为WPAN 协调器节点,开启了 Beacon 功能,节点 1~5 为普通协调器节点,节点 6~10 为普通终端节点。8.3s 和 8.6s 节 点 1→6 和 4→10 产生 TCP/FTP 流,并在 100s 结束。 |
第 6 章 无线自组网攻击仿真 6.1 预备知识 6.1.1 黑洞攻击原理 6.1.2 灰洞攻击原理 6.2 实验环境 6.2.1 黑洞攻击的 NS-2 扩展 6.2.2 灰洞攻击的 NS-2 扩展 6.3 实验步骤 6.3.1 黑洞攻击实验 6.3.2 灰洞攻击实验 6.4 扩展练习 | 介绍无线自组网中黑洞/灰洞攻击的基本原理,以及 Watchdog 监测机制,并在 NS-2平台上基于 AODV 路由进行仿真和分析评价。 采用如图所示的拓扑。其中,节点 0 和 3 分别是发送和接收端,节点 1 和 2 为路由节点。总共仿真时长为 20s(可自行修改),在 6s 时,节点 1 开始黑洞/灰洞攻击,会出现数据包被大量丢弃。 ![]() |
第 7 章 低地球轨道卫星通信仿真 7.1 预备知识 7.1.1 低轨卫星网络发展 7.1.2 低轨卫星组网特点 7.1.3 Iridium 星座 7.1.4 Teledesic 星座 7.2 实验环境 7.3 实验步骤 7.3.1 Iridium 实验 7.3.2 Teledesic 实验 7.4 扩展练习 | 介绍低地球轨道卫星通信的发展和典型卫星系统,如 Iridium 和 Teledesic,并利用 NS-2仿真分析其数据传输性能。部分时延数据分析如图所示。 ![]() |
第 8 章 蜂窝通信网络数据传输仿真 8.1 预备知识 8.1.1 蜂窝通信发展 8.1.2 4G LTE 蜂窝通信 8.2 实验环境 8.3 实验步骤 8.3.1 NS-3 源码编译 8.3.2 蜂窝通信仿真实验代码解析 8.3.3 蜂窝通信仿真实验结果分析 8.4 扩展练习 | 介绍蜂窝网络通信技术(4G/5G/6G),重点利用 NS-3 分析 4G 网络的数据传输性能,特别是基站切换对数据传输的影响。 构建了如图所示的网络拓扑,其中拓扑范围(x2Distance 和 yDistanceForUe)、UE运动速度、基站切换方式等可通过命令行修改。传输文件大小为 200MB。 ![]() |
第 9 章 无线车联网仿真 9.1 预备知识 9.1.1 车联网概述 9.1.2 车联网技术标准 9.2 实验环境 9.3 实验步骤 9.3.1 Veins 环境构建 9.3.2 仿真地图制作 9.3.3 Veins 新地图加载 9.3.4 Veins 代码解析 9.4 扩展练习 | 介绍无线车联网的主要技术、组成及应用场景,并利用 SUMO、OMNeT++等工具构建无线车联网仿真环境,进行简单分析。 SUMO 路网文件包含道路、交叉口 ID 和位置信息、车道信息(数量、长度、最大速度、形状、功能等)、优先权信息、交通信号信息、交叉口信息等。如图所示。 ![]() |
第 10 章 无线网络信号测量实践 10.1 预备知识 10.1.1 接收信号强度 10.1.2 信道状态信息 10.1.3 无线局域网(Wi-Fi)信道划分 10.2 实验环境 10.3 实验步骤 10.3.1 Cellular-Z 查看无线网络 10.3.2 无线路由器配置 10.3.3 接收信号强度测量分析 10.3.4 信道状态信息测量分析 10.4 扩展练习 | 介绍无线网络接收信号强度和信道状态信息基本概念。利用开源工具和 Python 代码分析环境因素对信号强度的影响,利用 CSI 工具采集数据并进行分析和建模。 实验环境为带有无线网卡(台式机可使用 USB 无线网卡,如 TL-WN725N)并安装了Windows 11/Ubuntu 20.04.1系统的计算机。硬件包括 ESP32-S3 开发板 2块、ESP8266 开发板 1 块。烧录了接收端程序的 ESP32-S3 开发板与计算机连接如图所示。 ![]() 分析不同距离(如 1、4m)和不同障碍物情况下,对比分析 CSI 变化。 |
第 11 章 无线室内外定位应用实践 11.1 预备知识 11.1.1 室内定位概述 11.1.2 三角定位原理 11.1.3 Wi-Fi 指纹定位原理 11.1.4 卫星室外定位原理 11.2 实验环境 11.3 实验步骤 11.3.1 卫星定位 11.3.2 Wi-Fi 室内定位 11.4 扩展练习 | 介绍了无线室内外定位的基本原理和方法,并利用低成本硬件和国产定位模块进行室内外定位实践。 卫星定位实验如图所示。 ![]() Wi-Fi室内定位实验,由三块ESP8266开发板作为固定AP节点,一块ESP8266 开发板作为待测移动节点。 |
第 12 章 无线短距离数据传输实践 12.1 预备知识 12.1.1 射频识别 12.1.2 近场通信 12.1.3 蓝牙 12.1.4 星闪 12.2 实验环境 12.3 实验步骤 12.3.1 RFID 卡片读取与蓝牙传输 12.3.2 NFC 卡片读取 12.3.3 星闪 SLE 透传 12.4 扩展练习 | 介绍无线短距离通信的常见技术,如射频识别、近场通信、蓝牙和星闪,同时利用低成本硬件验证了不同短距离通信技术的数据传输。 实验所需主要硬件:计算机 1 台、Arduino Mega 2560 开发板 1 块、RC522 模块 1 个、RFID 卡 1 张、PN532 模块 1 个、NFC 标签 1 个、BT05 蓝牙模块 2 个、BearPi-Pico H3863 开发板 2 块、USB 转串口模块 1 个,分别如图所示。 ![]() ![]() ![]() ![]() ![]() ![]() |
第 13 章 无线传感网组网实践 13.1 预备知识 13.1.1 无线传感网概述 13.1.2 ZigBee 协议 13.2 实验环境 13.3 实验步骤 13.3.1 IAR EW 8051 安装 13.3.2 Z-Stack 安装 13.3.3 Smart Flash Programmer 安装 13.3.4 节点代码烧写 13.3.5 实测展示 13.4 扩展练习 | 介绍无线传感网的基本概念、ZigBee 协议及组网过程。在此基础上,利用 ZigBee C C2530 节点完成 3 节点多跳组网实践。硬件如图所示。 ![]() |
第 14 章 低功耗广域物联网数据传输实践 14.1 预备知识 14.1.1 长距离无线电 14.1.2 长距离广域网 14.1.3 应用场景 14.2 实验环境 14.3 实验步骤 14.3.1 节点代码烧写 14.3.2 实测分析 14.4 扩展练习 | 介绍低功耗广域物联网数据传输的基本原理和代表性技术,并利用低成本硬件进行了相关实践。 实验的主要硬件:计算机 1 台、Arduino UNO 开发板 2 块、LoRa模块 2 个、USB A 型转 B 型线两根。 LoRa通信实验测试场景如图所示。 ![]() |
第 15 章 无线体域网健康监测实践 15.1 预备知识 15.1.1 无线体域网 15.1.2 消息队列遥测传输 15.1.3 光电容积描记法 15.2 实验环境 15.3 实验步骤 15.3.1 搭建 MQTT 代理 15.3.2 连接 ESP32 和传感器 15.3.3 代码烧录与测试 15.3.4 实测展示 15.4 扩展练习 | 介绍了无线体域网的基本概念,以及物联网MQTT和Broker,探讨了基于PPG的血压估计。利用低成本硬件,完整实现一套健康监测系统。 本实验在 Windows 11 系统上完成,需计算机 1 台、ESP32 开发板 2 块、MAX30102 血氧心率传感器 1 个、Pulsesensor 脉搏传感器 1 个、电源线 2 根、网线 1 根、杜邦线若干。开发软件包括 Arduino、Mosquitto(v2.0.19)。如图所示。 ![]() |