无线传感器网络——读书笔记
第一章:现状与发展
一般认为短距离的无线低功率通信技术最适合传感器网络使用。
目前普遍接受的WSN定义:大规模、无线、自组织、多跳、无分区、无基础设施支持的网络。其中的节点是同构的,成本较低、体积较小、大部分节点不移动、被随意撒布在工作区域,要求网络系统尽可能长的工作。
第二章:路由协议
路由器提供了异构网互联的机制,实现将一个网络的数据包发送到另一个网络。路由就是指导IP数据包发送的路径信息。路由协议是在路由指导IP数据包发送过程中事先约定好的规定和标准。它工作在网络层。
2.2.以数据为中心的路由协议
2.2.1 SPIN算法:
基本思想:
节点只广播其他节点没有的数据以减少冗余数据。
元数据是原始数据的一个映射,用来描述原始感知数据,但所需的数据位小。——数据压缩
SPIN协议采用三次握手协议。第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。连接建立后,客户端和服务器就可以开始进行数据传输了。
协议运行过程中使用三种报文数据:ADV、REQ、DATA。ADV用于数据的广播,当某一个节点有数据可以共享时,可以用ADV数据包通知其邻居节点。REQ用于请求发送数据,当某一个受到ADV的节点希望接收DATA数据包时,发送REQ数据包。DATA为原始感知数据包,里面装载了原始感知数据。
SPIN协议有两种工作模式:SPIN 1 和 SPIN 2。
SPIN 1:
SPIN 2:考虑了节点剩余能量值,当节点剩余能量低于阈值就不再参与任何报文的转发,仅能接收来自其他邻居节点的报文和发出REQ报文。
SPIN协议下,节点不需要维护邻居节点的信息,一定程度上能适应节点移动的情况。耗能比传统模式减少一半以上。不过,该算法不能确保数据一定能到达目标节点,尤其不适用于高密度节点分布的情况。
总结:
解决内爆和重叠现象。SPIN协议支持数据融合。数据融合操作可以在MAC层实现,也可以在路由器或者应用层中实现。本章讨论的数据融合操作都是指在路由层。SPIN协议是一种不需要了解网络拓扑结构的路由协议,因此该协议也适合在节点可以移动的WSN中使用。SPIN协议通过使用协商机制和能量自适应机制,节省了能量,解决了内爆的问题,且通过元数据进行数据压缩,减少数据的传输量。但是存在多个节点向同一个节点同时发送REQ的情况,有关的退避机制需要考虑。
2.2.2 DD算法:
基本思想:
是一种基于查询的路由协议。整个过程分为兴趣扩散、梯度建立、路径加强三个阶段。Sink节点采用泛洪的方式将“兴趣”信息(Sink需要收集什么样的信息)扩散到网络中的所有节点。在“兴趣”传播过程中,协议逐跳地在每个传感器节点上建立反向的从数据源到Sink节点的梯度场,梯度场的建立根据成本最小化和能量自适应原则。“兴趣”扩散完成后,梯度建立过程也完成了。传感器节点采集到相关的匹配数据后,向所有感兴趣的邻居节点转发这个数据,如果邻居节点不是Sink节点,采取同样的方法转发该数据。这样,Sink节点会受到从不同路径上传送过来的相同的数据,然后Sink节点选择一条最优的路径作为强化路径,后续的数据沿着这条路径传输。
关键问题:
DD路由协议的核心问题是:解决兴趣扩散阶段的梯度建立过程、强化路径的选择和建立过程,路由的维护过程。
兴趣扩散阶段:Sink节点周期性的向邻居节点广播兴趣消息。每个节点都有一个兴趣Cache。兴趣Cache中每个兴趣表项包括:时间字段、梯度字段、持续时间字段。当一个节点收到一个兴趣,按照下面三个原则处理:
(1)Cache中没有相同兴趣表项,创建一个新的兴趣表项,包括梯度与数据传输率。
(2)有相同兴趣表项,没有兴趣来源的梯度信息,增加梯度域,更新时间信息和持续时间字段。
(3)有相同兴趣表项和兴趣来源梯度信息,更新时间信息和持续时间字段。
一个兴趣表项可能有多个梯度域,梯度域对应一个和该兴趣有联系的邻居节点。如果一个节点收到的兴趣消息和刚才转发的一样,则丢弃该兴趣消息。兴趣扩散完成后,对于某个时间的梯度也在网络中建立起来了。
当传感器节点采集到兴趣匹配数据是,将数据发送给对应梯度域中的邻居节点。节点受到数据后,如果Cache中没有匹配兴趣表项,则丢弃该数据。若有匹配表项,检查最近是否接受过相同数据,若没有接收则将数据加到数据Cache中,否则丢弃。
节点的接收数据传输率小于等于梯度域中记录的传输率时,接收节点将自己收到的数据传给梯度域中对应的邻居节点。否则,按照梯度域的传输率发送数据。这种方法下,同一个数据包会经过多条路径到达Sink节点,Sink节点根据一定标准,选择最优路径强化。
路径加强信息中,包含新设定的较高的发送速率值。收到信息的邻居节点,通过分析确定是一个已有的兴趣只是增加了发送速率,断定是一条路径强化消息,从而更新表项中的数据发送速率。然后按照同样规则选择强化路径的下一跳邻居节点。这个过程基于局部最优的贪婪算法。
DD算法中数据融合采用的是抑制副本的方法。
扩展分析:
不能用于大规模的网络,该算法主要用于大量查询而只有少量事件的应用场景,如果网络拓扑结构变化频繁,性能将大幅度下降。
2.3 集群结构路由协议
一种分层结构的路由协议。每个簇由一个簇头和多个簇成员构成。可再次进行分簇,形成更高一级的网络。簇头负责簇内成员的管理,簇内信息的收集、融合,簇间数据的转发。优点是可扩展性好,可用于大规模的WSN。典型的分层路由协议有LEACH、PEGASIS、TEEN、APTEEN和基于虚拟网络的路由协议TTDD。
2.3.1 LEACH路由算法
网络周期性的随机选择簇头结点,其他节点就近原则加入相应的簇头,簇头进行数据融合,转发给Sink节点。
关键问题:
簇头结点选择书上有公式。
扩展分析:
它需要网络协议和硬件频射功率的自适应和动态调整,其次,协议无法保证簇头结点能遍及整个网络,簇头结点可能集中于网络某一区域的现象。有许多改进协议,具体见书35页。
2.3.2 TEEN和APTEEN路由算法。
无线传感器网络——读书笔记相关推荐
- 【深度学习(deep learning)】花书第10章 序列建模:循环和递归网络 读书笔记
[深度学习(deep learning)]花书第10章 序列建模:循环和递归网络 读书笔记 第10章 序列建模:循环和递归网络 [深度学习(deep learning)]花书第10章 序列建模:循环和 ...
- (车载网络-读书笔记)Source Identification Using Signal Characteristics in Controller Area Networks
目录 摘要 动机和相关的工作 CAN的模式和帧的格式 之前的来源识别方法 本文方法的背景 本文方法有关的前人的工作 信号处理工具 实验结果 A.来源识别 1.基于MSE进行分离 2.基于卷积分离 3. ...
- 《Linux系统和网络性能监测》读书笔记
2019独角兽企业重金招聘Python工程师标准>>> <Linux系统和网络性能监测>读书笔记 性能调优是找出系统瓶颈并消除这些瓶颈的过程,很多系统管理员认为性能调优仅 ...
- 网络知识 | 《图解HTTP》读书笔记(上)
[网络知识]| 作者 / Edison Zhou 这是EdisonTalk的第293篇原创内容 作为一个专业的IT技术人,一个Web应用开发者,不了解网络基础和协议,怎么能行?本文是我2016年阅读& ...
- 网络知识 | 《图解TCP/IP》读书笔记(下)
[网络知识]| 作者 / Edison Zhou 这是EdisonTalk的第291篇原创内容 作为一个专业的IT技术人,一个Web应用开发者,不了解网络基础和协议,怎么能行?本文是我2016年阅读& ...
- 网络知识 | 《图解TCP/IP》读书笔记(上)
[网络知识]| 作者 / Edison Zhou 这是EdisonTalk的第290篇原创内容 作为一个专业的IT技术人,一个Web应用开发者,不了解网络基础和协议,怎么能行?本文是我2016年阅读& ...
- UNIX网络编程--读书笔记
会集中这段时间写UNIX网络编程这本书的读书笔记,准备读三本,这一系类的文章会不断更新,一直会持续一个月多,每篇的前半部分是书中讲述的内容,每篇文章的后半部分是自己的心得体会,文章中的红色内容是很重要 ...
- 《深入浅出DPDK》读书笔记(十四):DPDK应用篇(DPDK与网络功能虚拟化:NFV、VNF、IVSHMEM、Virtual BRAS“商业案例”)
Table of Contents DPDK应用篇 DPDK与网络功能虚拟化 157.网络功能虚拟化 13.1.1起源 158.发展 159.OPNFV与DPDK NFV的部署 160.NFV的部署 ...
- 浏览器向服务器发送的消息称为,网络是怎样连接之浏览器的探索之旅读书笔记(一)...
照例是写在前面的话,今天在这里想和自己说一些话,希望未来的自己能够记住,就像我在简书的签名里写下的,"希望自己能记得当下写下那段文字的初心!",学习其实是一件非常严肃的事情,它容不 ...
最新文章
- DL之LiRDNNCNN:利用LiR、DNN、CNN算法对MNIST手写数字图片(csv)识别数据集实现(10)分类预测
- python清除字符串中间空格的方法
- redis源码阅读(1)
- Spring Cloud构建微服务架构—服务网关过滤器
- 学习日志(一)安装PySide2遇到的问题及其解决办法
- latex sign_LATEX科研论文写作教程
- Java 实现导出excel表 POI
- iOS The binary you uploaded was invalid
- 查看Linux版本命令
- 解决cmd命令行乱码问题
- 科研ABC - 文献检索
- word 目录格式调整
- postgres链接太多(sorry, too many clients already)
- Android实现录音功能及播放语音功能
- RAID磁盘阵列之RAID 5
- WPF ContextMenu的使用
- 计算机网络-常用英文简写大全
- 路漫漫其修远兮,吾将上下而求“锁”​
- MySQL的analyze table和optimize table对表进行定期优化
- 【VBA】树控件TreeView的学习(二)
热门文章
- 门户网站java源码vue_vuetify-master
- 树莓派接USB鼠标用不了
- 如果需要你来测试淘宝的购物车,你会如何设计测试用例,需要从哪些方面来考虑。
- 腺样体肥大的症状表现有哪些?
- android 前言中不允许有内容,解决:gradle 前言中不允许有内容
- springBoot关于前言中不允许有内容的踩坑笔记
- 家用计算机启动过程 装载主引导记录,计算机启动过程详解
- 了解Vue框架的大致学习方向(第一课)
- [单片机芯片]基于CH32V307腾讯连连小程序的二氧化碳TVOC环境监测仪
- PostgreSQL创建空间数据库