注:本文是根据大连理工大学研究生课程《高级计算机网络》整理的笔记,非常全面和详细,通俗易懂,对于您考试或者面试都会有很大的帮助,如果对您有用,请点个赞吧!!
WSN : Wireless Sensor Networks
三个基本要素:传感器,感知对象,观察者
基本功能:感知,处理和传输
(了解)解释1:无线传感网络是由一组传感器以特定方式构成的无线网络,其目的是协作地感知、采集和处理网络覆盖的地理区域中感知对象的信息,并发布给观察者。
(了解)解释2:无线传感网络是大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络。目的是协作地感知,采集,处理和传输
(挑自己容易理解的记住)
WSN
Ad Hoc
包括sensor field监测区域,sensor node 传感器节点, sink node 汇聚节点
在监测区域覆盖传感器节点,然后传输到汇聚节点,汇聚节点通过卫星等上传到网络。
sensor node 传感器节点 包括:
(重要:可能需要你文字描述下图)
传感器模块, 处理模块, 无线通信模块和能量供应模块。
ADC是进行AD转换的,将模拟信号转为数字信号
物理层,数据链路层,网络层,传输层,应用层
以及每一层包括:能源管理平台,移动管理平台和任务管理平台。(重要)
(大概知道一些即可)
CPS cyber physical system 是计算与物理过程的综合,实际上也可以叫物联网 信息物理融合系统
CPS的目标是突破传统嵌入式系统的框架,使物理系统具有计算,通信,精准控制,远程合作和自治能力。通过互联网组成各种响应自治控制系统和信息服务系统,实现被动数据——》主动信息——》可靠服务。
(了解)
互联网的环境特征
无线传感网的特征
比较
传感器节点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机制
两种算法优点
缺点
sensor protocol for information via negotiation 基于信息协商的传感器协议
(所谓广告:可以理解为对即将要发送的数据的描述)
一句话描述:先发广告(ADV),接收到广告的节点如果感兴趣则回发请求(REQ),然后再给他发数据DATA。此时该节点也拥有了这个数据,则它也发广告给自己的邻居,以此类推。所以可能会导致信息中断的问题,即中间某节点不感兴趣,没有数据,也不会转发广告。
解释这个图:
(a)A 节点有数据准备发送到汇聚节点,先发广告给邻居节点(B)
(b)邻居节点B对这个数据很感兴趣,于是发REQ(数据请求包)给A
© A收到REQ,发数据DATA给B
(d)此时B节点也有了这个数据,发广告给自己的邻居
(e)如果某位邻居对此数据感兴趣,也发REQ给B
(f)B 对发送REQ的邻居都发一份这个数据给他们
优点
缺点
参考:定向扩散路由协议——CSDN
directed diffussion routing protocol of wireless sensor networks
SPIN会广播所有信息,但并不是所有信息都需要进行广播和通告,很多事件是条件驱动的。
描述DD算法:该算法比较适合事件驱动类型的,例如现在我需要知道哪些地区的温度高于30度,”高于30度“即查询消息,汇聚节点(sink node)将这条消息洪泛出去。经过中间节点的数次转发之后就会到达那些温度高于30度的源节点。中间节点转发的过程会缓存这条查询是什么,它从哪里来的。然后源节点逆向返回数据就可以到达汇聚节点。完成了一次数据传输的过程。
过程:先查询,后应答,即兴趣扩散,建立梯度(路径),传输数据。(数据是从源节点(传感器)到汇聚节点(sink node),然后汇聚节点再通过什么方式传输到后端)
特征:以信息为核心进行数据传输,支持信息融合
网络元素:网关,汇聚节点(sink),源节点
优点
缺点
应用举例:例如需要查询温度大于30度的区域,即兴趣消息为“T>30",sink node汇聚节点将这个消息进行扩散,接收到消息的节点将消息进行缓存(消息,谁发来的),然后继续扩散,直到满足条件的源节点(可能不止一个)接收到该查询消息之后,将数据往回传送。
rumor 谣言,传闻
针对:DD路由开销大,需要维护路径,更新失效路径
特点:查询和事件汇报同时进行
基于原理:欧式平面图上任意两条曲线交叉几率大
基本过程
查询消息(sink node)和代理消息(sensor node)都进行随机扩散,直到相遇,一拍即合,即确定了路径。
优点:能耗小,简单
缺点:如果事件非常多,维护事件表和收发代理信息开销会很大以及延迟无法保证
一句话总结:将节点分为功能节点和簇头节点,功能节点将信息定时发送给簇头节点,由簇头节点进行统一转发。
Low Energy Adaptive Clustering Hierarchy 低功耗自适应分簇路由协议
将节点分为簇头节点和功能节点,功能节点只负责感知,定时将信息传送给簇头节点。
簇头节点一直工作,一方面收集功能节点数据,另一方面负责数据的转发。
优点:
缺点:
一句话总结: 形成汇聚链,终点是簇头,从起点开始,中间节点将信息融合然后转发到下一个节点,最终汇聚到簇头,簇头进行转发。
问题和动机
进一步优化簇内信息汇报的能量效率
设计假设
实际上不是严格意义上的簇。
Power-Efficient GAthering in Sensor Information Systems
DD结合地理信息:只向特定区域发布兴趣。
考虑到了延迟,尽量降低延迟。
优点
缺点
有点类似贪心算法。
多路径的
问题和动机
设计思想
建立代价
汇聚数据
优点
缺点
也是多路径的
disjoint 关节脱离,不相交的
多路径路由协议
优点
缺点
多路径的变种
braid 辫子,麻花辫
是一个IP协议和LEACH(分簇路由协议)的混合缩减版
就是一个标准协议。
优点
缺点
数据链路层分为逻辑链路层LLC和媒体访问控制层MAC
带有冲突检测的载波侦听多路访问 CSMA/CD
carrier sense multiple access with collision detection
先听后发,边听边发
一旦冲突,立即停发
等待时机,然后再发
(1多点接入。即作用在总线型网络,许多计算机以多点接入的方法连接在一根总线上
(2.载波监听。即监听信道,检测总线上有没有其他计算机在传输数据,发送前后每个主机都
必须不停地检测信道
(3.碰撞检测。即边发送边监听,适配器边发送数据边检测信道上的信号电压变化情况,以此
判断是否有别人在发送数据。若没有检测到电压,即信道为“空闲”状态,可以
发送数据。若检测到极大或极小的电压,就说明有两个及以上主机的信号发生
了碰撞(电磁波相遇),此时适配器就会立即停止发送。
(理解之后随便写写)
设计考虑的因素有:节省能量,可扩展性,网络效率(三大考虑因素)
对于无线传感网来说,每个节点能量有限,所以需要优先考虑如何节省能量。
能量浪费因素
节能策略
分类根据
在无线传感网络中,MAC协议决定无线信道的使用方式,在传感器节点之间分配有限的无线通信资源,用来构建传感器网络系统的底层基础结构。是保证无线传感网高校通信的关键网络协议之一。
多点通信在局部范围内需要MAC协议协调无线信道分配,在整个网络范围内需要路由协议选择通信路径。
在设计无线传感网络MAC协议时,需要考虑:
1.节省能量 2.可扩展性 3.网络效率(包括网络的公平性,实时性,网络吞吐量以及带宽利用率等)
MAC协议面临的问题:
1.空闲监听
因为不知道数据何时到来,需要始终保持自己的射频部分处于接受模式,形成空闲监听,造成能量损耗。
2.冲突碰撞
如果两个节点同时发送,产生干扰,则发送包被丢弃。
3.控制开销
为了保证可靠传输,协议将使用一些控制分组,如RTS、CTS
4.串扰,串音
无线信道为共享介质,节点可能接收到的不是到达自己的数据包,然后丢弃,这样会造成能量的浪费。
基于竞争的MAC协议有如下优点
DCF就是基于竞争的,还有另外一个PCF(相当于VIP,走直达通道)。
MAC协议部分内容太多了,改成问答总结的形式
从低到高: 物理层,数据链路层,网络层,传输层,会话层,应用层
其中数据链路层分为LLC和MAC子层,即逻辑链路层和媒体介质访问层medium access control
LLC:逻辑链路层 logic link control MAC:medium access control
带有冲突访问的载波监听多路访问 carrier sensor multiple access with collection detection
工作流程:先监听到信道空闲,然后再发送数据,一旦检测到冲突,则立即停止发送,等待信道空闲之后再次发送。
无线网络MAC性能严重受物理层的影响:通信范围小,信号衰减,隐藏终端问题。
物理层,数据链路层,网络层,传输层和应用层(没有会话层)
以及能量管理平台,移动管理平台和任务管理平台
这几种MAC协议的参考博客: https://blog.csdn.net/weixin_46112690/article/details/121488659
基本思想:允许多个节点同时访问信道,发送时主动抢占信道,CSMA方式(载波侦听多路访问),按需分配
优点:网络流量和规模变化之后能够自适应,算法比较简单
典型协议:SMAC,TMAC
协议功能:可靠的数据传输;公平的数据发送; 数据保护
主要机制:CSMA/CA; 主动确认机制(接收到数据之后立即主动确认);预留机制(实际上应该就是随机退让/随机退避random backoff,能够解决隐藏终端问题);能量管理;
CSMA:carrier sensing 载波侦听
监听到信道忙:不进行数据发送; 监听到信道空闲:可以进行数据发送;
但是对于无线网络来说:还需要RTS和CTS即request to send/ clear to send 请求发送,和清除发送
collision detection CD不适合无线网络,因为流量之间有很强的相关性,容易和邻居节点产生冲突,需要使用CA(collision avoiding)
过程:
还有一个 PIFS(点协调IFS):中等长度的IFS,优先级居中,在PCF操作中使用。
另外一种信道忙的情况:
PCF point coordinate function 点协调功能,是可选的方式。即分配固定的时间段使用。
DCF Distributed coordinate function 分布式协调功能,媒体介入的方法是CSMA/CA ,是基本的方式,通过竞争来使用媒体介质。
在802.11 MAC协议的基础上针对传感网的设计
假设:
因为CSMA协议的一个假设是网络流量是随机产生的,但是传感网中的网络流量具有很大的相关性,使得多个相邻的节点竞争使用信道。
所以采用CSMA/CA 载波侦听多路访问,冲突避免
典型的802.11 wireless MAC协议
冲突避免:
载波侦听多路访问:
规则:信道忙:不传输; 信道空闲:可以传输。
但是对无线网来说不一定适用,还需要RTS和CTS,即request to send 和 clear to send
典型的拓扑结构:总线型,树形,网状,层次,环形,星型。
无线通信的特点:共享介质,通信容易受到干扰
影响无线网络拓扑的因素:位置(确定性部署和随即部署,即静止的或者移动的),功率(功率决定发送距离上限),架构(有没有基础架构infrastructure),环境(建筑物,干扰物,野外)。
无线蜂窝网络:正六边形是使用最少的节点覆盖最大面积的结构,如果两个蜂窝距离足够远就可以使用相同频率进行通信。(距离远互不干扰)
自己想一想,随便说一说即可。
在满足网络覆盖度和连通度的前提下,通过功率控制和骨干网节点选择,形成一个数据转发的优化网络结构。
以延长网络生命周期,降低网络干扰,提高吞吐率。
主要机制
CDS connected dominating set 连通支配集
节点度:节点单跳邻居节点的个数
通过动态调整节点的发送功率,使得节点的度在需求的上限和下限之间。
两种基于节点度的算法:本地平均算法和本地邻居平均算法
local mean algorithm LMA 是基于节点度的算法
核心思想就是统计邻居节点的个数,然后调整功率大小来动态增加或者减少邻居数量。
给定邻居上下限min 和 max
算法流程(通俗理解):
local mean of neighbors algorithm LMN
和LMA类似的,区别在于第二步,邻居节点收到消息后,回复的确认消息包含了自己的邻居个数。
最后这个节点将邻居的邻居进行平均作为自己的邻居个数,然后适当调整功率。
例如:一个节点A,有邻居B和C,B节点有邻居5,C节点有邻居3个。
功率大,传输距离远,可能的邻居就多。功率小,传输距离近,可能的邻居就少
支配集 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距离远,等待时间段,迟迟等不到黑色节点消息,于是自己成为了黑色节点。
三色算法特点:利用颜色标记里陆良你找到簇头节点,利用与传输距离成反比的延时,使得一个黑色节点的覆盖范围更大。
评价:可以使节点在密集部署的传感网中快速形成分簇,并建立树形关系。
缺点就是缺乏灵活性,执行算法开销过大,也没有考虑节点的剩余能量问题。
这是一个分簇算法,可以应用在路由协议中,也可以应用在拓扑网络中。
和前面类似,分为两个阶段
建立阶段如何选举簇头?
需要周期性更换簇头,以平衡能量,否则簇头节点能量很快就耗光了。如果一个节点在最近几个周期还没成为簇头,那么在新一个周期成为簇头的概率增大。如果已经当过簇头,那么再次当选的概率很低。具体操作为:
节点生成随机数来决定。
这是一个基于位置的分簇算法。算法很简单,即把整个网络区域划分为无数个子区域,然后在子区域里以某种方式选取簇头。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0nwxV6pX-1653401183780)(typora-user-images\image-20220524134048262.png)]
基于距离的定位:用实际距离来计算未知节点的未知
距离无关的定位 :用节点的估计距离(相对距离,例如跳数)来计算
递增式的定位:从已知节点逐渐扩散计算周围未知节点的未知
并发式的定位:整个空间同时计算未知节点的未知(这需要均匀分布的大量的信标)
基于信标的定位:用信标的位置来计算
无信标节点的定位:没有信标,网络中的未知节点之间只能知道相对位置。(该网络可以整体移动,一旦确定一个节点位置,则能确定所有位置)
ToA:time of arrive到达时间
前提:需要知道信号的传播速度,根据到达时间来计算距离。同时也要非常高精度的时间同步机制。
即A发消息给B节点,已知道A节点的位置,计算B节点到A节点的距离:
A发过去的信息中包含着发送起始时间,B节点只需要根据TOA和传播速度即可计算距离。
所以要求:
D:difference
即time difference of arrive 到达时间的时间差分定位机制
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rfLkWUfD-1653401183781)(typora-user-images\image-20220524135558653.png)]
同时发送两种不同传播速度的信号。根据到达时间的不同来计算距离。
AOA:angle of arrive 到达角度
根据到达角度,然后用三角测量方法来计算。
接收节点通过天线阵列或多个超声波接收机感知发射节点信号的到达方向,计算接收节点和发射节点之间的相对方位或者角度,再通过三角测量方法计算出节点的位置。