以命名数据为中心的物联网通信方法_4

文档序号:8514553阅读:来源:国知局
应的更新来适应周围网络变化,提高路由的鲁棒性,因而本系统设计了路由的维护机制。
[0080]本通信系统的路由维护策略核心是保证局部网络数据通信的稳定,即确保转发条目中的下一跳节点是可达的。具体策略是:节点每隔一段时间发送通用路由信息包,周围节点收到路由信息包后启动一个计时器,计时器超时则清除建立到本节点的转发条目。计时器的额定时间为本节点的路由信息广播周期的3倍,如果周围节点在3个广播周期内都没有收到本节点的路由广播信息,则认为这个链路失效了,清除相应的转发条目。系统中计时器是软件复用的,一个计时器可供多个条目计时使用,效率较高。
[0081]下面以图4中所述[3]号节点为例,对本发明所述的方法进一步详细说明。本发明提供的是一种以信息为中心的物联网通信方法,具体包括如下步骤:
[0082]步骤⑴节点的上电初始化过程;
[0083]步骤⑵节点之间交互路由信息,进行转发表FIB的初始化;
[0084]步骤(3) SINK节点收到来自网关的数据请求包,根据命名数据进行路由查找,并发往下一跳节点;
[0085]步骤(4)数据请求包找到存有数据的节点,按照请求路径把数据内容返回给SINK节点。
[0086]所述步骤(I)进一步包括下列操作内容:
[0087](11)系统所有节点上电,初始化CS、PIT、FIB表;节点初始状态下的所述三个表都是空的。
[0088](12)设置本节点的路由能力和数据内容名字。本节点会根据程序预设信息进行无线通信模块的初始化,节点[3]设置自己的路由能力为” t3/6”,能够生产以” t3/6”为前缀的数据内容(如t3/6/t、t3/6/l等)ο
[0089](13)发送上电路由信息包,进入路由初始化过程。本节点发送“上电类型”的路由信息包,仅在上电过程过发送一次,广播节点自身的路由能力信息(包含路由能力字段和节点号)。以节点[3]为例就是广播”t3/6”路由能力和”3”这个节点号。本节点无线信号覆盖范围内的节点都能收到路由信息包。
[0090]所述步骤(2)进一步包括下列操作内容:
[0091](21)周围节点周期性发送路由信息广播包,路由信息包中标明周围节点的“路由能力”。网络中所有上电的节点除了在上电过程中发送一个“上电类型”的路由信息包,还需要以一定周期发送“普通类型”路由信息包,包中内容同样包含路由能力和节点号。
[0092](22)本节点收到路由信息广播包,进行匹配“路由能力”,判断本节点是否能够提供相应路由。
[0093]以节点[3]为例,当本节点收到路由信息包时,判断信息包里的“路由能力”字段是否与本节点的路由能力匹配;节点[3]的路由能力为”t3/6”,如果收到节点[7]的路由能力为”t3/6/32”的路由信息包,即该节点[7]的路由能力是节点[3]的路由能力在子集,那么说明能够匹配,并提供到节点[7]的路由。如果收到的路由信息包的路由能力不以”t3/6”为前缀,则节点[3]不能提供相应路由。如果收到的是”上电类型”的路由信息包,则不论是否匹配,都立刻发送一个”普通类型”的路由信息包,以便快速与新上电节点交换路由信息。
[0094](23)如果本节点能够提供相应路由,则在转发表FIB中记录一条转发条目(路由条目);否则不添加。例如图4所示在节点[3]的FIB中添加一个条目,并设置路由前缀以及请求出口的node ido
[0095](24)通过设置生存时间和计时器,来维护FIB表的更新。
[0096]添加转发条目的同时,设置计时器来标识此转发条目的生存时间。如果再次收到这个节点发来的路由信息包,则重置其生存时间;否则计时器时间耗尽,此条目删除,表示这条路由不再有效。
[0097]所述步骤(3)进一步包括下列操作内容:
[0098](31) SINK节点收到来自网关的数据请求数据包,查找自己的FIB条目,转发向下一个节点。假设数据请求的内容是“t3/6/32/l”的内容,通过[I]号节点转发到[3]号节点。
[0099](32)下一个节点首先判断自己是否有所请求的数据,有则回应内容包,否则查找内容缓存CS。例如,节点[3]收到数据请求后,首先查找本节点是否有其请求的数据;然后查询自己的内容库CS是否有对应的数据内容。第一次请求,CS缓存还是空的;如果是后续请求,则可能找到对应缓存并直接返回数据。
[0100](33)如果CS中有对应命名数据的数据缓存,则回应数据包,否则查找请求等待列表 PITo
[0101](34)如果PIT中有对应命名数据的请求,则表明这是重复请求丢弃即可,否则查找转发表FIB。
[0102]例如节点[3]查询完CS之后,查询PIT表。PIT表记录的是节点[3]转发出的尚未得到回应的请求包,如果找到相应条目,则表示请求重复,直接丢弃;如果找不到,则继续查询FIB表。
[0103](35)如果FIB中有对应命名数据的条目,则把数据请求转发到相应的下一跳并把请求记录在pit中(同时在PIT中记录请求来源节点的节点号),否则丢弃数据请求。
[0104]例如节点[3]查找其FIB表,用数据请求的名字在FIB表中查询,找到相应的路由前缀,就把请求包转发向请求出口 node id指向的节点;否则,丢弃数据请求包。
[0105]所述步骤(4)进一步包括下列操作内容:
[0106](41)如果数据请求包找到了数据内容,则按照步骤(3)所记录的路径返回数据响应包.
[0107]例如,如果按照步骤(3)把请求包转发至节点[12],在节点[12]的本地查询中找到对应数据,则按照传输路径返回给节点[7];节点[7]转发给节点[3]。下面还是以节点
[3]为例说明回应流程。
[0108](42)中间节点收到数据响应包之后,首先判断自己的PIT中是否有此条请求记录;例如节点[3]收到“t3/6/32/l”的内容回应包后,判断节点的PIT中是否有对应的请求记录,此例中应当记录节点[I]发来的请求。
[0109](43)如果PIT中有对应命名数据的请求,则根据PIT条目记录的请求来源节点号转发数据响应包,同时在CS中缓存本数据响应包中的数据内容和对应的命名数据;如果PIT中没有,则不处理。
[0110](44)经过中间节点的转发,内容回应包到达SINK节点并转发给网关节点,物联网中的通信流程结束。
[0111]综上所述,本发明从物联网的体系结构上寻找通信机制的突破点是解决问题的关键,本发明所采用的通信方法既能解决内容分发方面的效率问题,又能适应移动的无线网络环境,这种特性决定了其用在物联网的场景中有较好的效果。本发明所述的方法就是将以信息为中心的网络架构构建物联网,并针对物联网的强弱网元共存,数据为中心等特点做相应的优化,使物联网和互联网能够在网络层无缝连接;同时在物联网中基于命名数据实现一个完善的通信机制,并提出了基于命名数据的路由方法。基于本发明的方法在无线传感器节点(Telosb)节点上开发了物联网内通信的系统原型,实现了一个物联网互连模型验证系统。
[0112]具体的,本发明的物联网通信方法可以在互联网的任何地方对数据进行请求,并可以获取最及时和真实的数据,同时利用合理的缓存策略减小对网络的通信压力。而且,本发明基于命名数据建立树状的网状拓扑,并根据路由能力建立各自节点的路由表;根据数据请求的命名数据进行路径的查找,寻找下一跳的路由节点,从而提高了物联网内部的数据通信效率。
[0113]为了表明本发明通信机制的优点,申请人采用先使用Telosb传感器节点实际运行测试了这个通信系统;并使用TOSSIM进行程序仿真,并测试了其主要性能岁参数的变化情况。
[0114]真模拟采用TOSS頂仿真器,TOSS頂是一个支持基于TinyOS的应用在PC机上运行的仿真器,TOSSIM将TinyOS环境下的nesC代码直接编译为可在PC环境下运行的可执行文件,提供了不用将程序下载到真实的节点上就可以对程序进行测试的一个平台
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1