第一章:现状与发展

一般认为短距离的无线低功率通信技术最适合传感器网络使用。

目前普遍接受的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路由算法。

无线传感器网络——读书笔记相关推荐

  1. 【深度学习(deep learning)】花书第10章 序列建模:循环和递归网络 读书笔记

    [深度学习(deep learning)]花书第10章 序列建模:循环和递归网络 读书笔记 第10章 序列建模:循环和递归网络 [深度学习(deep learning)]花书第10章 序列建模:循环和 ...

  2. (车载网络-读书笔记)Source Identification Using Signal Characteristics in Controller Area Networks

    目录 摘要 动机和相关的工作 CAN的模式和帧的格式 之前的来源识别方法 本文方法的背景 本文方法有关的前人的工作 信号处理工具 实验结果 A.来源识别 1.基于MSE进行分离 2.基于卷积分离 3. ...

  3. 《Linux系统和网络性能监测》读书笔记

    2019独角兽企业重金招聘Python工程师标准>>> <Linux系统和网络性能监测>读书笔记 性能调优是找出系统瓶颈并消除这些瓶颈的过程,很多系统管理员认为性能调优仅 ...

  4. 网络知识 | 《图解HTTP》读书笔记(上)

    [网络知识]| 作者 / Edison Zhou 这是EdisonTalk的第293篇原创内容 作为一个专业的IT技术人,一个Web应用开发者,不了解网络基础和协议,怎么能行?本文是我2016年阅读& ...

  5. 网络知识 | 《图解TCP/IP》读书笔记(下)

    [网络知识]| 作者 / Edison Zhou 这是EdisonTalk的第291篇原创内容 作为一个专业的IT技术人,一个Web应用开发者,不了解网络基础和协议,怎么能行?本文是我2016年阅读& ...

  6. 网络知识 | 《图解TCP/IP》读书笔记(上)

    [网络知识]| 作者 / Edison Zhou 这是EdisonTalk的第290篇原创内容 作为一个专业的IT技术人,一个Web应用开发者,不了解网络基础和协议,怎么能行?本文是我2016年阅读& ...

  7. UNIX网络编程--读书笔记

    会集中这段时间写UNIX网络编程这本书的读书笔记,准备读三本,这一系类的文章会不断更新,一直会持续一个月多,每篇的前半部分是书中讲述的内容,每篇文章的后半部分是自己的心得体会,文章中的红色内容是很重要 ...

  8. 《深入浅出DPDK》读书笔记(十四):DPDK应用篇(DPDK与网络功能虚拟化:NFV、VNF、IVSHMEM、Virtual BRAS“商业案例”)

    Table of Contents DPDK应用篇 DPDK与网络功能虚拟化 157.网络功能虚拟化 13.1.1起源 158.发展 159.OPNFV与DPDK NFV的部署 160.NFV的部署 ...

  9. 浏览器向服务器发送的消息称为,网络是怎样连接之浏览器的探索之旅读书笔记(一)...

    照例是写在前面的话,今天在这里想和自己说一些话,希望未来的自己能够记住,就像我在简书的签名里写下的,"希望自己能记得当下写下那段文字的初心!",学习其实是一件非常严肃的事情,它容不 ...

最新文章

  1. DL之LiRDNNCNN:利用LiR、DNN、CNN算法对MNIST手写数字图片(csv)识别数据集实现(10)分类预测
  2. python清除字符串中间空格的方法
  3. redis源码阅读(1)
  4. Spring Cloud构建微服务架构—服务网关过滤器
  5. 学习日志(一)安装PySide2遇到的问题及其解决办法
  6. latex sign_LATEX科研论文写作教程
  7. Java 实现导出excel表 POI
  8. iOS The binary you uploaded was invalid
  9. 查看Linux版本命令
  10. 解决cmd命令行乱码问题
  11. 科研ABC - 文献检索
  12. word 目录格式调整
  13. postgres链接太多(sorry, too many clients already)
  14. Android实现录音功能及播放语音功能
  15. RAID磁盘阵列之RAID 5
  16. WPF ContextMenu的使用
  17. 计算机网络-常用英文简写大全
  18. 路漫漫其修远兮,吾将上下而求“锁”​
  19. MySQL的analyze table和optimize table对表进行定期优化
  20. 【VBA】树控件TreeView的学习(二)

热门文章

  1. 门户网站java源码vue_vuetify-master
  2. 树莓派接USB鼠标用不了
  3. 如果需要你来测试淘宝的购物车,你会如何设计测试用例,需要从哪些方面来考虑。
  4. 腺样体肥大的症状表现有哪些?
  5. android 前言中不允许有内容,解决:gradle 前言中不允许有内容
  6. springBoot关于前言中不允许有内容的踩坑笔记
  7. 家用计算机启动过程 装载主引导记录,计算机启动过程详解
  8. 了解Vue框架的大致学习方向(第一课)
  9. [单片机芯片]基于CH32V307腾讯连连小程序的二氧化碳TVOC环境监测仪
  10. PostgreSQL创建空间数据库