注:本文是根据大连理工大学研究生课程《高级计算机网络》整理的笔记,非常全面和详细,通俗易懂,对于您考试或者面试都会有很大的帮助,如果对您有用,请点个赞吧!!
- 《高级计算机网络》之移动自组网——大连理工大学研究生课程整理笔记(非常详细,通俗易懂)
- 《高级计算机网络》之无线传感网——大连理工大学研究生课程整理笔记(非常详细,通俗易懂)
- 《高级计算机网络》之物联网——大连理工大学研究生课程整理笔记(非常详细,通俗易懂)
无线传感网络WSN
WSN : Wireless Sensor Networks
三个基本要素:传感器,感知对象,观察者
基本功能:感知,处理和传输
(了解)解释1:无线传感网络是由一组传感器以特定方式构成的无线网络,其目的是协作地感知、采集和处理网络覆盖的地理区域中感知对象的信息,并发布给观察者。
(了解)解释2:无线传感网络是大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络。目的是协作地感知,采集,处理和传输
WSN和Ad Hoc的区别
(挑自己容易理解的记住)
WSN
- 节点数量更为庞大
- 多数节点为静止
- 节点分布更为密集
- 能量约束
- 节点更容易出错
- 拓扑结构变化频繁(节点休眠或者节点出错频繁)
Ad Hoc
- 几十至上百个节点局域网
- 节点全移动
- 结构变化(移动)
- 能量可连续提供
- 点到点通信
WSN的网络结构
包括sensor field监测区域,sensor node 传感器节点, sink node 汇聚节点
在监测区域覆盖传感器节点,然后传输到汇聚节点,汇聚节点通过卫星等上传到网络。
sensor node 传感器节点 包括:
(重要:可能需要你文字描述下图)
传感器模块, 处理模块, 无线通信模块和能量供应模块。
ADC是进行AD转换的,将模拟信号转为数字信号
WSN协议栈
物理层,数据链路层,网络层,传输层,应用层
以及每一层包括:能源管理平台,移动管理平台和任务管理平台。(重要)
WSN应用
(大概知道一些即可)
- 军事应用
- 监视,侦察,定位,通信,计算,指挥
- 环境科学
- 大气,土壤,森林,海洋,气候,动植物,自然灾害等
- 医疗健康
- 病人监护,药物管理,远程医疗
- 空间探索
- 借助航天器撒布传感网络进行星球探测
- 工业和交通管理
- 生产过程监测,控制,仓库管理,车辆检测跟踪
- 商业应用
- 智能居家环境,体育比赛裁判,交互式博物馆
CPS cyber physical system 是计算与物理过程的综合,实际上也可以叫物联网 信息物理融合系统
CPS的目标是突破传统嵌入式系统的框架,使物理系统具有计算,通信,精准控制,远程合作和自治能力。通过互联网组成各种响应自治控制系统和信息服务系统,实现被动数据——》主动信息——》可靠服务。
无线传感器网络路由协议
(了解)
互联网的环境特征
- 全球统一的IP地址
- 带宽大且稳定
- 基础资源充足
- 拓扑稳定
- 数据由少数服务器流向众多的终端
无线传感网的特征
- 不是通用的系统,面向应用设计
- 部署的灵活性需求
- 基础设施缺乏
- 电池供电,有限能量
- 低功耗,短距离传输,带宽有限
- 自组织成网能力
- 无线通信不可靠
- 以数据为中心,不以节点为访问目标
- 数据从海量的终端节点流向后端的数据服务器
比较
传感网路分析常用概念
-
传感器节点sensor node
-
簇头节点cluster node
-
网关节点 gateway
-
汇聚节点 sink node
注:网关节点是早期名词,和汇聚节点其实是一个意思。
传感器网络的典型应用模式
- 时间驱动
- 周期性报告:例如周期性报告一个监测区域的情况
- 能量,带宽,随即部署,自适应
- 事件驱动
- 监测(突发事件监测,目标追踪):例如监测森林防火,动物保护等
- 能量,可靠性,延迟
- 现实系统往往是混合驱动
经典传感网络路由协议
(非常重要:如下做了梳理)
最原始的一种数据传输方式 flooding(向所有邻居都转发)
减少开销的改进gossiping(找一个邻居转发)
先传广告 SPIN(源节点发广告,感兴趣的才发数据) sensor protocol for information negotiation
用户定向询问 DD定向路由协议(反过来,汇聚节点发查询,满足条件的源节点就发数据) directed difussion(扩散)
用户周期性查询耗费高 Rumor(双向奔赴,能否相遇全凭缘分) rumor谣言,传闻。
选一个代表来专门发信息 LEACH分簇路由协议 (选一个代表,方便管理)低功耗自适应分簇路由协议Low Energy Adaptive Clustering Hierarchy
增加距离不如增多跳数 PEGSIS 形成一条链,链尾是簇头。
结合地理信息 GEAR:结合地理信息DD版本,汇聚节点只向特定区域发布查询。但是可能会导致空洞问题。
SPEED协议:考虑到了延迟,每一个节点都向传输速率最快的下一个节点进行转发。(适用于监测类型的无线传感网)
**GRAB健壮梯度广播协议:**减少了ADV的洪泛,建立梯度过程每个节点都有一个最小代价,源节点设置了代价门限,随着数据的转发,门限会越来越低,若最小代价比门限高则不进行数据的转发。(这样就不是单一路径,而是多路径,好处是更具有鲁棒性,最后会形成一个纺锤体)
**Disjoint:**不相交的多条路径(也可以理解为平行的)
Braid:相互缠绕的多条路径,主路径和辅助路径。
flooding 和 gossiping
-
flooding机制
- **内爆:**节点几乎同时从邻接点收到多份相同数据
- 交叠:节点会转发同一区域内同一信息的多份拷贝
- 能量低效,带宽利用率低,不考虑自身资源限制
-
gossiping机制
- 随机选择一个邻接点来发送数据
- 避免了内爆,但是增加了时延
-
两种算法优点
- 简单,不需要维护路由信息,也不需要任何算法
-
缺点
- 扩展性很差
SPIN
sensor protocol for information via negotiation 基于信息协商的传感器协议
(所谓广告:可以理解为对即将要发送的数据的描述)
一句话描述:先发广告(ADV),接收到广告的节点如果感兴趣则回发请求(REQ),然后再给他发数据DATA。此时该节点也拥有了这个数据,则它也发广告给自己的邻居,以此类推。所以可能会导致信息中断的问题,即中间某节点不感兴趣,没有数据,也不会转发广告。
- 定义三种类型的消息:ADV,REQ,DATA 信息通告,数据请求和数据
- 先进行ADV的扩散,ADV描述了即将发布的信息是什么样子的。如果有节点对数据感兴趣则发送数据请求,紧接着将数据传送给该节点。同时该节点也可以将信息通告进行扩散。如果别的节点对信息感兴趣,它负责将数据转发。
解释这个图:
(a)A 节点有数据准备发送到汇聚节点,先发广告给邻居节点(B)
(b)邻居节点B对这个数据很感兴趣,于是发REQ(数据请求包)给A
© A收到REQ,发数据DATA给B
(d)此时B节点也有了这个数据,发广告给自己的邻居
(e)如果某位邻居对此数据感兴趣,也发REQ给B
(f)B 对发送REQ的邻居都发一份这个数据给他们
优点
- 先发广告,按需传送数据,减轻了内爆问题
- 信息命名解决了交叠问题
- 根据自身资源决定是否发布信息通告,避免了资源利用盲目问题
缺点
- 当产生或收到数据的节点的所有邻接节点都不需要该数据时,导致数据不能传播
- 虽然减轻了内爆,但是在较大规模网络中,广告消息依然存在内爆问题
DD(directed diffussion)定向扩散路由
directed diffussion routing protocol of wireless sensor networks
SPIN会广播所有信息,但并不是所有信息都需要进行广播和通告,很多事件是条件驱动的。
描述DD算法:该算法比较适合事件驱动类型的,例如现在我需要知道哪些地区的温度高于30度,”高于30度“即查询消息,汇聚节点(sink node)将这条消息洪泛出去。经过中间节点的数次转发之后就会到达那些温度高于30度的源节点。中间节点转发的过程会缓存这条查询是什么,它从哪里来的。然后源节点逆向返回数据就可以到达汇聚节点。完成了一次数据传输的过程。
过程:先查询,后应答,即兴趣扩散,建立梯度(路径),传输数据。(数据是从源节点(传感器)到汇聚节点(sink node),然后汇聚节点再通过什么方式传输到后端)
特征:以信息为核心进行数据传输,支持信息融合
网络元素:网关,汇聚节点(sink),源节点
- 兴趣扩散:汇聚节点洪泛查询消息
- 兴趣消息:比如任务性质,数据采集,时间戳等
- 中间节点:记录(邻居节点和兴趣内容),转发兴趣给邻居节点,相当于扩散、洪泛兴趣消息。
- 梯度建立:从汇聚点到网络中的节点之间按照跳数距离建立梯度
- 初始信息汇报
- 节点沿着兴趣梯度定向洪泛数据
- 中间节点对信息进行记录和转发
- 汇聚点接受数据进行存储和融合
- 路劲增强
- 汇聚节点根据需求从汇聚点再发起一次路劲增强的洪泛过程,延迟最小的一条路劲作为主路劲
优点
- 以数据为中心,不管理节点
- 数据传输更有目的性
- 路径加强机制可显著提高数据传输质量
- 反应式路由:能量的均衡消耗
缺点
- 周期性的洪泛机制——能量和事件开销都比较大
- 节点需要维护一个兴趣消息列表,存储代价较大
应用举例:例如需要查询温度大于30度的区域,即兴趣消息为“T>30",sink node汇聚节点将这个消息进行扩散,接收到消息的节点将消息进行缓存(消息,谁发来的),然后继续扩散,直到满足条件的源节点(可能不止一个)接收到该查询消息之后,将数据往回传送。
Rumor协议
rumor 谣言,传闻
针对:DD路由开销大,需要维护路径,更新失效路径
特点:查询和事件汇报同时进行
基于原理:欧式平面图上任意两条曲线交叉几率大
基本过程
- 事件区域中的传感器节点产生代理消息,代理消息沿随机路径向外扩散
- 同时汇聚节点发送查询消息也随机扩散
- 二者相遇就形成一条节点到事件区域的完整路径
- 通过跳数控制范围,如果范围内不相交,改成flooding查询
查询消息(sink node)和代理消息(sensor node)都进行随机扩散,直到相遇,一拍即合,即确定了路径。
优点:能耗小,简单
缺点:如果事件非常多,维护事件表和收发代理信息开销会很大以及延迟无法保证
LEACH分簇路由协议
一句话总结:将节点分为功能节点和簇头节点,功能节点将信息定时发送给簇头节点,由簇头节点进行统一转发。
Low Energy Adaptive Clustering Hierarchy 低功耗自适应分簇路由协议
将节点分为簇头节点和功能节点,功能节点只负责感知,定时将信息传送给簇头节点。
簇头节点一直工作,一方面收集功能节点数据,另一方面负责数据的转发。
- 簇头选取
- 相邻节点周期性动态自动形成簇并基于概率产生
- 信息收集和融合
- 簇内节点发数据给簇头
- 簇头进行数据融合后发给汇聚节点(sink gateway)
- 簇头切换和维护
- 防止簇头耗能过多而死亡,需要更换簇头
优点:
- 工作节点可以长期休眠,能耗极低
- 簇头切换可以使节点能量消耗更加均衡
- 更容易克服传感器节点移动带来的问题:只需要加入新的簇即可
缺点:
- 簇头选取过程需要定期进行,增加额外开销
PEGASIS线性分簇协议
一句话总结: 形成汇聚链,终点是簇头,从起点开始,中间节点将信息融合然后转发到下一个节点,最终汇聚到簇头,簇头进行转发。
-
问题和动机
进一步优化簇内信息汇报的能量效率
-
设计假设
- 无线通信的功耗随着距离的增加呈现平方增长(即该假设认为距离的增加不如跳数的增加,因为长距离的功耗更大)
- 通信距离越短,能耗越小
- 加大通信距离,不如增加跳数
实际上不是严格意义上的簇。
Power-Efficient GAthering in Sensor Information Systems
- 首先以距离为参数使用贪心算法在簇内形成一组汇聚链,每条链的终点是簇头
- 每次数据汇报从链的起点开始,中间节点将信息融合后转发到下一个节点
- 汇聚到簇头,再由簇头进行转发
GEAR地理信息路由
DD结合地理信息:只向特定区域发布兴趣。
- 传感网信息与地理位置有关,结合地理信息进行兴趣的发布,可以大大降低使用洪泛建立梯度的能耗。
- 直接利用地理信息发布兴趣和查询
- 前提假设
- 节点了解自身位置信息和剩余能量
- 节点间无线链路是对称的
- GEAR是在DD的基础上提出的但由于GEAR只考虑向某个特定区域发送兴趣而不是象DD那样发布到整个网络,因此GEAR相对DD更加节省能量。
- 当节点收到数据包时,首先要检查是否有邻居节点比它更接近目标区域。如果有,就选择距离目标区域最近的节点作为数据传递的下一跳节点。如果相对该节点来说,所有邻居都比它更远离目标区域,这就意味着该节点存在洞现象。
SPEED(QoS)协议
考虑到了延迟,尽量降低延迟。
- 问题和动机
- 传感网的典型应用——报警
- 要求事件汇报延迟不能超过阈值,因此必须考虑具有延迟保障的协议
- 传感网的典型应用——报警
- 基本思想
- 估计信息到达sink节点的时间,结合事件发生时间和延迟阈值,作为发送队列调度和选路的依据
- 协议过程
- 系统设定一个传输速率S,节点到每一个邻接节点i都有一个一跳传输延迟估计HopDelayi
- 一跳的传输速率 = 一跳的距离/HopDelayi
- 所有一跳传输速率大于阈值S的作为下一跳,速率越大选中的概率越高
- 如果没有节点满足要求,按照一定的概率选择是丢弃还是转发分组
优点
- 考虑端到端传输事件,具有一定的延迟保障能力
- 考虑了节点能量因素,均衡了能量消耗
缺点
- 仅支持一种速率的QoS控制,现实中报警级别的传输速率通常是不同的
有点类似贪心算法。
GRAB健壮梯度广播协议
多路径的
-
问题和动机
- 单路劲路由依靠重传提高端到端的抵达率,但是一条质量不好的链路上反复重传会耗尽一个节点的所有能量
-
设计思想
- 采用受限的洪泛机制进行数据转发,提高一次传输成功的概率
建立代价
- 从sink节点洪泛一条ADV消息,并宣称到达sink的代价为0
- 中间节点收到ADV之后,估计一跳的链路代价加上前一跳的到达sink的代价作为当前节点到达sink节点的代价
- 如果节点收到多个**ADV包,**取最小代价的邻居节点进行广播,那么每一个节点都有一个最小代价
汇聚数据
- 源节点设定总体的代价门限T,向sink洪泛
- 中间节点收到消息后,将代价门限T减掉当前链路的代价,得到继续洪泛的代价门限,如果超过了第一阶段计算得到的最小代价,则该节点不再洪泛信息
- 洪泛过程形成一个纺锤体
优点
- 代价可以任意定义,可以用延迟,跳数,剩余能量等
- 源节点可以通过一个参数控制梯度广播的范围,控制了信息传播的能耗
缺点
- 是一种梯度广播协议,没有ACK机制,可以提高健壮性,但是不能提供端到端的可靠保障
Disjoint路由协议
也是多路径的
disjoint 关节脱离,不相交的
多路径路由协议
- 采用多条不相交的路径同时传送数据
优点
- 提高了一次传送的成功率,减小了延迟
- 提高了网络的负载平衡
缺点
- 难以确定最优的路径数量
- 分离多路径几乎不能提高能量效率
Braid路由协议
多路径的变种
braid 辫子,麻花辫
- 让路径以一种相互缠绕的方式,当一个节点发生随机故障,其他节点可以替代该节点完成数据转发
- 优点:采用主路径发送,辅助路径仅在主路径故障时发送,提高效率,减少延迟
- 缺点:不能应对区域性永久故障
ZigBee标准路由协议
是一个IP协议和LEACH(分簇路由协议)的混合缩减版
就是一个标准协议。
优点
- 工业化协议,比较完备
- 入网控制,安全性高
- 标准化,兼容性好
- 传感器能够以低功耗运行
- 在网络内支持点到点的路由
缺点
- 没有链路质量估计
- 路由表驱动,协议栈复杂
- 路由表更新代价比较高
- 结构非对称,不适合野外随机部署应用
无线传感网MAC协议
LAN的MAC层(传统的MAC协议)
数据链路层分为逻辑链路层LLC和媒体访问控制层MAC
带有冲突检测的载波侦听多路访问 CSMA/CD
carrier sense multiple access with collision detection
先听后发,边听边发
一旦冲突,立即停发
等待时机,然后再发
(1多点接入。即作用在总线型网络,许多计算机以多点接入的方法连接在一根总线上
(2.载波监听。即监听信道,检测总线上有没有其他计算机在传输数据,发送前后每个主机都
必须不停地检测信道
(3.碰撞检测。即边发送边监听,适配器边发送数据边检测信道上的信号电压变化情况,以此
判断是否有别人在发送数据。若没有检测到电压,即信道为“空闲”状态,可以
发送数据。若检测到极大或极小的电压,就说明有两个及以上主机的信号发生
了碰撞(电磁波相遇),此时适配器就会立即停止发送。
WSN MAC协议的功能
(理解之后随便写写)
- 建立传感器网络的基础结构
- 在不同节点之间合理使用带宽等网络资源
- 错误控制,节能模式操作
设计考虑的因素有:节省能量,可扩展性,网络效率(三大考虑因素)
对于无线传感网来说,每个节点能量有限,所以需要优先考虑如何节省能量。
能量浪费因素
- 碰撞重传
- 串音 overhearing(消息重叠导致消息无效)
- 空闲侦听
- 控制消息(太多)
节能策略
- 尽量让传感器节点处于睡眠状态
- 减少接收到不需要接收的数据分组
- 减少碰撞
- 减少控制消息的开销
分类根据
- 分布式还是集中式
- 使用单一共享信道还是使用多个信道:基于单信道,基于双信道和基于多信道三类
- 随机访问信道还是时分复用信道
- 根据MAC协议分配信道方式分为为:按需分配,固定分配以及混合
- 按网络类型:同步,异步两类协议
典型的WSN MAC协议
在无线传感网络中,MAC协议决定无线信道的使用方式,在传感器节点之间分配有限的无线通信资源,用来构建传感器网络系统的底层基础结构。是保证无线传感网高校通信的关键网络协议之一。
多点通信在局部范围内需要MAC协议协调无线信道分配,在整个网络范围内需要路由协议选择通信路径。
在设计无线传感网络MAC协议时,需要考虑:
1.节省能量 2.可扩展性 3.网络效率(包括网络的公平性,实时性,网络吞吐量以及带宽利用率等)
MAC协议面临的问题:
1.空闲监听
因为不知道数据何时到来,需要始终保持自己的射频部分处于接受模式,形成空闲监听,造成能量损耗。
2.冲突碰撞
如果两个节点同时发送,产生干扰,则发送包被丢弃。
3.控制开销
为了保证可靠传输,协议将使用一些控制分组,如RTS、CTS
4.串扰,串音
无线信道为共享介质,节点可能接收到的不是到达自己的数据包,然后丢弃,这样会造成能量的浪费。
基于竞争
基于竞争的MAC协议有如下优点
- 基于竞争的是按需分配信道,能更好地应对节点数量和网络负载的变化。
- 能更好地适应网络拓扑结构地变化
- 不需要复杂地时间同步或者集中控制调度算法
DCF就是基于竞争的,还有另外一个PCF(相当于VIP,走直达通道)。
MAC协议部分内容太多了,改成问答总结的形式
有线网络的MAC协议
从低到高: 物理层,数据链路层,网络层,传输层,会话层,应用层
其中数据链路层分为LLC和MAC子层,即逻辑链路层和媒体介质访问层medium access control
LLC:逻辑链路层 logic link control MAC:medium access control
CSMA/CD
带有冲突访问的载波监听多路访问 carrier sensor multiple access with collection detection
工作流程:先监听到信道空闲,然后再发送数据,一旦检测到冲突,则立即停止发送,等待信道空闲之后再次发送。
无线网络的MAC和有线网络相比有什么区别
无线网络MAC性能严重受物理层的影响:通信范围小,信号衰减,隐藏终端问题。
传感器的网络协议栈
物理层,数据链路层,网络层,传输层和应用层(没有会话层)
以及能量管理平台,移动管理平台和任务管理平台
WSN MAC协议的功能
- 建立传感网络的基础结构
- 在不同节点之间合理使用带宽等网络资源
- 差错控制,节能模式等操作
WSN MAC协议需要考虑的因素
- 能量供应:节省能量
- 可扩展性
- 网络效率
能量浪费因素
- 碰撞冲突之后重传
- 串音 overhearing
- 空闲侦听
- 控制消息太多
节能策略
- 尽量让传感器处于睡眠状态
- 减少接收到不必要的数据分组
- 减少碰撞
- 减少控制消息的开销
WSN的MAC协议有哪些
- 基于竞争的MAC协议
- 时分复用的MAC协议
- 混合的MAC协议
这几种MAC协议的参考博客: https://blog.csdn.net/weixin_46112690/article/details/121488659
竞争型的MAC协议
基本思想:允许多个节点同时访问信道,发送时主动抢占信道,CSMA方式(载波侦听多路访问),按需分配
优点:网络流量和规模变化之后能够自适应,算法比较简单
典型协议:SMAC,TMAC
简述802.11 MAC协议
协议功能:可靠的数据传输;公平的数据发送; 数据保护
主要机制:CSMA/CA; 主动确认机制(接收到数据之后立即主动确认);预留机制(实际上应该就是随机退让/随机退避random backoff,能够解决隐藏终端问题);能量管理;
CSMA:carrier sensing 载波侦听
监听到信道忙:不进行数据发送; 监听到信道空闲:可以进行数据发送;
但是对于无线网络来说:还需要RTS和CTS即request to send/ clear to send 请求发送,和清除发送
collision detection CD不适合无线网络,因为流量之间有很强的相关性,容易和邻居节点产生冲突,需要使用CA(collision avoiding)
- random backoff 随机退让,产生冲突之后进行随机退让
- priority ack protocol 优先确认机制:确认信息和发送信息发生冲突,先发确认信息。
过程:
- 发送者:如果在DIFS时间内监听到信道空闲(DIFS distributed inter-frame spacing 分布式帧间间隙,最长的IFS,优先级最低,用于异步帧竞争访问的时延),发送RTS
- 接收方:接收到TRS,发送CTS帧
- 发送方:传输数据
- 接收方:如果接收到,经过SIFS之后,发送ACK确认报文(Short inter-frame space 短帧间间隔,是最小的帧间间隔)之后
还有一个 PIFS(点协调IFS):中等长度的IFS,优先级居中,在PCF操作中使用。
另外一种信道忙的情况:
- 发送方:在DIFS时间内侦听到信道空闲,则发送RTS
- 如果信道忙,则
- 如果在DIFS结束前没有监听到其他节点的发送,则计算一个随机退避时间,若退避时间接收后信道仍然空闲则开始发送数据。
- 如果没有收到ACK,增加随机退让时间,重新等待。
什么是PCF和DCF
PCF point coordinate function 点协调功能,是可选的方式。即分配固定的时间段使用。
DCF Distributed coordinate function 分布式协调功能,媒体介入的方法是CSMA/CA ,是基本的方式,通过竞争来使用媒体介质。
什么是SMAC协议
在802.11 MAC协议的基础上针对传感网的设计
假设:
- 传感网络的数据传输量少
- 节点协作完成共同的任务
- 网内处理减少数据通信量
- 网络能够容忍一定程度的通信延迟
为什么现有CSMA协议不适合WSN
因为CSMA协议的一个假设是网络流量是随机产生的,但是传感网中的网络流量具有很大的相关性,使得多个相邻的节点竞争使用信道。
所以采用CSMA/CA 载波侦听多路访问,冲突避免
典型的802.11 wireless MAC协议
冲突避免:
- 随机退让 random backoff
- 优先确认机制 priority ack protocol
载波侦听多路访问:
规则:信道忙:不传输; 信道空闲:可以传输。
但是对无线网来说不一定适用,还需要RTS和CTS,即request to send 和 clear to send
无线传感网的拓扑控制
典型的拓扑结构:总线型,树形,网状,层次,环形,星型。
无线通信的特点:共享介质,通信容易受到干扰
影响无线网络拓扑的因素:位置(确定性部署和随即部署,即静止的或者移动的),功率(功率决定发送距离上限),架构(有没有基础架构infrastructure),环境(建筑物,干扰物,野外)。
无线蜂窝网络:正六边形是使用最少的节点覆盖最大面积的结构,如果两个蜂窝距离足够远就可以使用相同频率进行通信。(距离远互不干扰)
拓扑控制的重要性?为什么要设计拓扑结构
自己想一想,随便说一说即可。
- 无序的部署会很快耗尽节点的能量
- 无序的部署会导致相互之间的干扰,传输失败率增加,冲突频繁,网络质量降低,降低网络的吞吐率。
- 无序的部署会导致存在大量的边,从而导致网络拓扑信息量大,计算复杂,浪费宝贵的计算资源。
什么是拓扑控制
在满足网络覆盖度和连通度的前提下,通过功率控制和骨干网节点选择,形成一个数据转发的优化网络结构。
以延长网络生命周期,降低网络干扰,提高吞吐率。
主要机制
- 控制节点功率:调节网络中节点的发射功率,将能量均衡
- 睡眠调度:控制节点工作和睡眠的切换,形成一个虚拟的骨干网,骨干网的节点工作,非骨干休眠,节省网络能量。
- 层次型拓扑结构:让一些节点成为控制节点/簇头节点。类似上面形成的骨干网。
- 不重要的链路可以剔除,把通信限制在重要链路上
- 可以减少活动节点的数目,比如周期性关闭剩余能量较少的节点(极限省电模式)
- 明确角色和功能:骨干节点,普通节点。类似分簇路由协议中的功能节点和簇头节点。
什么是连通支配集DS(dominate set)
CDS connected dominating set 连通支配集
什么是基于节点度的算法
节点度:节点单跳邻居节点的个数
通过动态调整节点的发送功率,使得节点的度在需求的上限和下限之间。
两种基于节点度的算法:本地平均算法和本地邻居平均算法
什么是本地平均算法
local mean algorithm LMA 是基于节点度的算法
核心思想就是统计邻居节点的个数,然后调整功率大小来动态增加或者减少邻居数量。
给定邻居上下限min 和 max
算法流程(通俗理解):
- 先以相同的功率发送消息给所有的邻居
- 能接收到这个消息的就是它的邻居,然后回复一条消息说我收到了
- 这个节点根据受到的确认消息计数,知道该功率下发射周围有多少邻居能接收到
- 如果这个数量小于min则加大功率,大于max则减小功率,直到数量在min和max之间。
什么是本地邻居平均算法
local mean of neighbors algorithm LMN
和LMA类似的,区别在于第二步,邻居节点收到消息后,回复的确认消息包含了自己的邻居个数。
最后这个节点将邻居的邻居进行平均作为自己的邻居个数,然后适当调整功率。
例如:一个节点A,有邻居B和C,B节点有邻居5,C节点有邻居3个。
- 首先A节点以相同的功率发送一条消息LifeMsg
- 邻居节点B和C都受到了,B和C回复LifeAckMsg,消息中包含了自己的邻居个数5和3
- 节点A收到了两条确认消息,计算自己的邻居个数 = (5+3)/2 = 4
- 判断4是否满足给定的上下限,动态调整下次发送功率的大小。
功率大,传输距离远,可能的邻居就多。功率小,传输距离近,可能的邻居就少
支配集和连通支配集
支配集 dominate set DS 连通支配集 connected Dominate set CDS
V的子集S是V的支配集:V中的节点要么在S中,要么是S中的节点的相邻节点。(有点类似通信子网和资源子网的概念)
即S中的节点是控制节点,不在S中的节点称为受控节点。
通俗的理解就是把网络中的节点,或者一个区域中的节点分为两部分:一部分是控制节点(领导),另一部分是受控节点(小兵)。
连通支配集:如果V的子集C是支配集,同时能从C导出连通的子图,则C是连通支配集。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-94rleGfa-1653401183778)(typora-user-images\image-20220524131801737.png)]
如上图,方形黑色节点是控制节点,方形粉色节点是连接节点,黑点是普通节点。每一个圈表示一个连通支配集。每一个连通支配集中都有一个簇头。
什么是三色算法
首先要明确:三色算法是用来找网络中的虚拟主干网的。 也叫 top discovery algorithm
参考这个链接:
https://zhuanlan.zhihu.com/p/386180624
用三种颜色来表示网络中节点的三种状态:
黑色——控制节点
灰色——普通节点
白色——未被发现的节点
算法流程:
刚开始都是白色,全部是未被发现的节点,初始化任选一个节点作为开始,标记为黑色。然后开始扩散:
- 初始节点(黑色)发送消息给自己的邻居,邻居是白色节点,邻居收到黑色节点的消息之后变成灰色(意思是大哥叫你入伙,黑色是大哥)
- 灰色节点等待一段时间(这段时间和它与黑色节点的距离成反比),然后也广播消息(自己也想找小弟)
- 当白色节点收到灰色节点的查询消息,先等待一段时间(等待时间和它与灰色节点的距离成反比)如果这段时间有收到黑色节点的消息,则立即变成灰色(黑色是大哥),否则变成黑色(自己做大哥)。
- 当节点已经是黑色(大哥)或者灰色(别人的小弟)的时候,就不再改变颜色(忠心耿耿)。
为什么等待时间和距离成反比?
答:例如第二步中,灰色要等待一段时间再广播查询,距离黑色越近,等待时间越长,这说明这个灰色节点周围的节点实际上离黑色节点也很近,应该让他们也成为灰色节点(即黑色节点的小弟),兔子不吃窝边草,也不能抢大哥的小弟。
第三步中,白色节点先收到灰色节点的查询消息,距离灰色节点越近,等待时间越长,说明它实际上离黑色节点也很近,它应该也成为黑色节点的小弟。但是如果等了很久还是没收到黑色节点的消息,那就只能自己做大哥了。
经过算法执行之后,网络中的所有节点实际上要么是黑色,要么是灰色,各自形成簇。(这个算法也可以应用在别的需要形成簇的地方)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YllHGZM8-1653401183780)(typora-user-images\image-20220524132923669.png)]
如上图的例子:刚开始大家都是白色节点。现在初始化随机选一个节点a为黑色节点。
a开始广播查询消息给自己的邻居b和c,b 和c只收到黑色节点的消息,那么立即变成黑色。成为a的附庸。
等待一段时间之后,其中b等待的时间短,c等待的时间长。b和c也开始广播自己的消息给邻居。
也就是b广播消息给e和d,e和d收到一个灰色节点的消息,先不动,等待一段时间看是否会收到黑色节点的消息。
其中d等待的时间段,e等待的时间长。e等的时间长,距离又短,很快a的消息也传到了e,于是e 变成了灰色,成为a的附庸。
而d距离远,等待时间段,迟迟等不到黑色节点消息,于是自己成为了黑色节点。
三色算法特点:利用颜色标记里陆良你找到簇头节点,利用与传输距离成反比的延时,使得一个黑色节点的覆盖范围更大。
评价:可以使节点在密集部署的传感网中快速形成分簇,并建立树形关系。
缺点就是缺乏灵活性,执行算法开销过大,也没有考虑节点的剩余能量问题。
什么是LEACH算法
这是一个分簇算法,可以应用在路由协议中,也可以应用在拓扑网络中。
和前面类似,分为两个阶段
- 建立阶段
- 网络形成区域面积大小不同的簇
- 稳定阶段
- 簇内节点发数据给簇头
- 簇头负责整理融合,发送给基站。
建立阶段如何选举簇头?
需要周期性更换簇头,以平衡能量,否则簇头节点能量很快就耗光了。如果一个节点在最近几个周期还没成为簇头,那么在新一个周期成为簇头的概率增大。如果已经当过簇头,那么再次当选的概率很低。具体操作为:
节点生成随机数来决定。
什么是GAF算法
这是一个基于位置的分簇算法。算法很简单,即把整个网络区域划分为无数个子区域,然后在子区域里以某种方式选取簇头。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0nwxV6pX-1653401183780)(typora-user-images\image-20220524134048262.png)]
无线传感器的定位机制
计算节点位置的基本方法
- 三边测量算法:已知三个点的坐标以及他们和未知点的距离,解方程可以得到未知点的坐标。
- 三角测量算法:已知三个点的坐标以及他们和未知点的角度,可以转为三边测量算法求解,这个是在空间中。
- 最大似然:已知道n(n>=3)个点和未知点距离
定位算法的分类
-
基于距离的定位:用实际距离来计算未知节点的未知
-
距离无关的定位 :用节点的估计距离(相对距离,例如跳数)来计算
-
递增式的定位:从已知节点逐渐扩散计算周围未知节点的未知
-
并发式的定位:整个空间同时计算未知节点的未知(这需要均匀分布的大量的信标)
-
基于信标的定位:用信标的位置来计算
-
无信标节点的定位:没有信标,网络中的未知节点之间只能知道相对位置。(该网络可以整体移动,一旦确定一个节点位置,则能确定所有位置)
简述基于TOA的定位机制
ToA:time of arrive到达时间
前提:需要知道信号的传播速度,根据到达时间来计算距离。同时也要非常高精度的时间同步机制。
即A发消息给B节点,已知道A节点的位置,计算B节点到A节点的距离:
A发过去的信息中包含着发送起始时间,B节点只需要根据TOA和传播速度即可计算距离。
所以要求:
- 精度高,节点间时间同步精确
- 对传感器节点的硬件和功耗有较高的要求
简述基于TDOA的定位机制
D:difference
即time difference of arrive 到达时间的时间差分定位机制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rfLkWUfD-1653401183781)(typora-user-images\image-20220524135558653.png)]
同时发送两种不同传播速度的信号。根据到达时间的不同来计算距离。
简述基于AOA的定位机制
AOA:angle of arrive 到达角度
根据到达角度,然后用三角测量方法来计算。
接收节点通过天线阵列或多个超声波接收机感知发射节点信号的到达方向,计算接收节点和发射节点之间的相对方位或者角度,再通过三角测量方法计算出节点的位置。
简述基于RSSI的定位机制
- 基本思想
- 信号传输会有损耗,根据损耗来计算距离。
距离无关的定位算法
- 质心定位算法
- 距离向量-跳段定位算法DV-hop
- 自组织定位算法
- 近似的点再三角形中定位算法