《SPIN协议简单介绍》由会员分享,可在线阅读,更多相关《SPIN协议简单介绍(9页珍藏版)》请在金锄头文库上搜索。
1、SPINSPIN协议简单介绍协议简单介绍SPIN协议(sensor protocol for information via negotiation)SPIN是最早的以数据为中心的自适应路由协议,通过协商机制来解决洪泛算法中的“内爆”和“重叠”问题,节省了能量的消耗。a.为了避免出现扩散法的信息爆炸问题和部分重叠现象,传感器节点在传送数据之前彼此进行协商,协商制度可确保传输有用数据。b.节点间通过发送元数据(即描述传感器节点采集的数据属性的数据,meta-data),而不是采集的整个数据进行协商。由于元数据大小小于采集的数据,所以,传输元数据消耗的能量相对较少。为避免盲目使用资源,所有传感器节
2、点必须监控各自的能量变化情况。c.在传输或接收数据之前,每个节点都必须检查各自可用的能量状况,如果处于低、能量水平,必须中断一些操作,比如充当路由器的角色,停止对其他节点的一些数据转发操作。d. SPIN有3种数据包类型,即ADV、REQ和DATA.节点用ADV宣布有数据发送,用REQ请求希望接收数据,用DATA封装数据。ADV:用于新数据广播。当一个节点有数据可共享时,它可用ADV数据包(包含元数据)对外广播。REQ:用于请求发送数据。当一个节点希望接收DATA数据包时,发送REQ数据包。DATA:包含附上元数据头(meta-data header)的传感器采集的数据的数据包。SPIN协议簇
3、有协议簇有4种不同的形式:种不同的形式:SPIN-PP(A 3-Stage Handshake Protocol for Point-to-Point Media): 适合点对点信道SPIN-EC(SPIN-PP with a Low-Energy Threshold): 在SPIN-PP基础上增加了能量限制SPIN-BC(A 3-Stage Handshake Protocol for Broadcast Media): 适合于广播信道SPIN-RL(SPIN-BC for Lossy Network):考虑信道上存在分组丢失SPIN-PP采用点到点的通信模式,并假定两节点间的通信不受其他节
4、点的干扰,分组不会丢失,功率没有任何限制1.在发送一个DATA数据包之前,一个传感器节点首先对向邻居节点广播ADV数据包;2.如果一个邻居节点在收到ADV后有意愿接收该DATA数据包,那么它向该节点发送 一个REQ数据包,接着节点向该邻居节点发送DATA数据包。3.类似地进行下去,DATA数据包可被传输到远方汇节点或基站。每个结点都拥有一个唯一的地址,称为结点的自身地址。当结点A自身随机采集到有效数据m的时候,A立即生成与数据m相匹配的元数据,并将元数据和自身的地址封装成adv数据包,将其向外广播。当A的邻居结点B收到adv数据包后,它首先提取adv数据包的元数据域,查看其元数据是否为自身需要
5、的数据属性,如果不需要,则销毁adv数据包;如果需要,则提取adv数据包中的A结点的地址作为目的地址,将其和元数据以及自身地址封装成相应的req数据包向外广播。这样结点A又收到了req数据包。首先,A要提取req数据包中的目的地址,判断其是否和自身的地址相同。不相同则表示此req不是自身需要的,则销毁req数据包。相同则表明此数据包是发给自身的。提取其源地址作为目的地址,提取其元数据域,找到与元数据相匹配的自身数据一同封装生成相应的data包向外广播。邻居结点B收到data包之后,也同样的通过检查其目的地址来判断其是否为自身所需要的data包。相符则存储数据,否则销毁数据包。当数据真正的存储到
6、了B结点之后,也就完成了一个数据的转移。此时,结点B可以发送adv数据包,通知其他邻居结点,结点B拥有这个数据,从而达到将数据传播数据传播出去的目的。SPIN-EC在SPIN-PP的基础上考虑了节点的功耗,只有能够顺利完成所有任务且能量不低于设定阈值的节点才可参与数据交换。SPIN-BC设计了广播信道,使所有在有效半径内的节点可以同时完成数据交换。为了防止产生重复的REQ请求,节点在听到ADV消息以后,设定一个随机定时器来控制REQ请求的发送,其他节点听到该请求,主动放弃请求权利。SPIN-RL它是对SPIN-BC的完善,主要考虑如何恢复无线链路引入的分组差错与丢失。记录ADV消息的相关状态,如果在确定时间间隔内接收不到请求数据,则发送重传请求,重传请求的次数有一定的限制。SPIN协议的优点:1.小ADV消息减轻了内爆问题;2.通过数据命名解决了交叠问题;3.节点根据自身资源和应用信息决定是否进行ADV通告,避免了资源利用盲目问题,有效地节约了能量。结束结束