簇内通信方法和簇内通信装置与流程

文档序号:16131623发布日期:2018-12-01 00:23阅读:379来源:国知局
本发明涉及通信领域,具体涉及一种簇内通信方法和簇内通信装置。
背景技术
在形成稳定的簇型拓扑后,一般来说一个簇内包括簇头节点和成员节点,簇头节点和成员节点进行正常的数据包传输,成员节点发送数据包给簇头节点,以使簇头节点对该数据包进行转发。数据包中包括发送节点标识(即成员节点标识),接收节点标识(即簇头节点标识)和数据负载(即数据内容)。在存在恶意节点的情况下,恶意节点会截获数据包并提取其中的节点标识信息,然后冒充该节点占领信道(时隙)发送数据包,簇内通信一般通过时分复用信道来完成数据传输。一些恶意节点窃取包头字段后,会和簇成员节点同时在单信道发送数据包,这将引起发送冲突,如果恶意节点冒充大量簇内节点来发送数据包,将会长期占领信道,扰乱正常的簇内通信。因此,如何防止恶意节点占领信道,以防止恶意节点影响簇内通信是亟待解决的技术问题。技术实现要素:本发明旨在至少解决现有技术中存在的技术问题之一,提出了一种簇内通信方法和簇内通信装置,以防止恶意节点占领信道,从而防止恶意节点影响正常的簇内通信。为了实现上述目的,本发明提供一种簇内通信方法,应用于包括簇头节点和成员节点的簇内,所述簇内通信方法包括:为各成员节点分配时隙,并向各成员节点下发令牌函数,以供各成员节点根据所述令牌函数计算各自在本次通信周期的令牌号;所述令牌函数为本次通信周期与前一次通信周期令牌号的关系函数,且同一成员节点在不同通信周期的令牌号不同;接收所述成员节点所计算的令牌号;根据预存的令牌号与时隙之间的第一对应关系,确定接收到所述成员节点所计算的令牌号的时隙所对应的令牌号;判断接收的令牌号与根据所述第一对应关系确定的令牌号是否相同;若是,则使所述成员节点占用信道;否则,对所述成员节点进行拦截。优选地,所述为各成员节点分配时隙,并向各成员节点下发令牌函数的步骤中,还向各成员节点下发节点标识函数,以供所述成员节点根据所述节点标识函数计算函数值;在所述判断接收的令牌号与根据所述第一对应关系确定的令牌号是否相同的步骤之后,还包括:接收所述成员节点发送的数据包;根据所述第一对应关系,确定接收到所述数据包的时隙所对应的令牌号;并根据预存的节点标识、节点标识函数的函数值和时隙之间的第二对应关系,确定接收到数据包的时隙所对应的节点标识函数的函数值;解析所述数据包,以获取所述数据包包头中携带的、由所述成员节点所计算得出的函数值和令牌号;判断从所述数据包获取的函数值与根据所述第二对应关系确定的函数值是否一致,并判断从所述数据包获取的令牌号与根据所述第一对应关系确定的令牌号是否一致,若至少一者不一致,则丢弃所述数据包。优选地,所述令牌函数为:ni=mod[(ni-1+1)/n总]+1;其中,i>1,ni为本次通信周期的令牌号,ni-1为上一次通信周期的令牌号,n总为令牌号的总个数;第一次通信周期中的令牌号n1=mod[(t1+1)/n总]+1,t1为第一次通信周期中的时隙号。优选地,所述节点标识包括多位数值,所述节点标识函数为对节点标识的各位数值求和。优选地,所述簇内通信方法还包括:根据预设的更新周期更新所述令牌函数和/或所述节点标识函数。相应地,本发明还提供一种簇内通信装置,包括簇头节点和令牌验证单元,所述簇头节点包括:分配模块,用于为各成员节点分配时隙;发送模块,用于为各成员节点下发令牌函数,以供各成员节点根据所述令牌函数计算各自在本次通信周期的令牌号;所述令牌函数为本次通信周期与前一次通信周期令牌号的关系函数,且同一成员节点在不同通信周期的令牌号不同;所述令牌验证单元包括;第一接收模块,用于接收所述成员节点所计算的令牌号;第一存储模块,用于存储令牌号与时隙之间的第一对应关系;第一确定模块,用于根据所述第一对应关系,确定接收到所述成员节点所计算的令牌号的时隙所对应的令牌号;第一判断模块,用于判断所述第一接收模块接收的令牌号与所述第一确定模块确定的令牌号是否相同;第一处理模块,用于在所述第一判断模块的判断结果为是时,使所述成员节点占用信道;在所述第一判断模块的判断结果为否时,对所述成员节点进行拦截。优选地,所述发送模块还用于向各成员节点下发节点标识函数,以供所述成员节点根据所述节点标识函数计算函数值;所述簇头节点还包括:第二接收模块,用于接收所述成员节点发送的数据包;第二存储模块,用于存储所述第一对应关系以及节点标识、节点标识函数的函数值和时隙之间的第二对应关系;第二确定模块,用于根据所述第一对应关系,确定接收到所述数据包的时隙所对应的令牌号;并根据所述第二对应关系,确定接收到数据包的时隙所对应的节点标识函数的函数值;解析模块,用于解析所述数据包,以获取所述数据包包头中携带的、由所述成员节点所计算得出的函数值和令牌号;第二判断模块,用于判断所述解析模块获取的函数值与所述第二确定模块确定的函数值是否一致,并判断所述解析模块获取的令牌号与所述第二确定模块确定的令牌号是否一致;第二处理模块,用于在所述第二判断模块的至少一个判断结果为否时,丢弃所述数据包。优选地,所述令牌函数为:ni=mod[(ni-1+1)/n总]+1;其中,i>1,ni为本次通信周期的令牌号,ni-1为上一次通信周期的令牌号,n总为令牌号的总个数;第一次通信周期中的令牌号n1=mod[(t1+1)/n总]+1,t1为第一次通信周期中的时隙号。优选地,所述节点标识包括多位数值,所述节点标识函数为对节点标识的各位数值求和。优选地,所述簇头节点还包括:更新模块,用于根据预设的更新周期更新所述令牌函数和/或所述节点标识函数。在本发明中,簇头节点会为各成员节点下发令牌函数,成员节点可以根据该令牌函数计算一个令牌号,在进行通信时,如果某成员节点计算的令牌号不正确(即,与根据第一对应关系所确定出的令牌号不同),则表明该簇头节点为恶意节点伪装而成,从而对该节点进行拦截。本发明的这种通过发送令牌函数并通过令牌号验证的通信方法中,当存在恶意节点时,由于恶意节点不知道令牌函数,因此不能提供正确的令牌号;即使恶意节点伪造了正确的令牌号,由于所述令牌函数是本次通信周期与前一次通信周期令牌号的关系函数,以使同一成员节点在不同通信周期的令牌号会发生调整,因此,在下一通信周期中,恶意节点如果出示上一通信周期的令牌号,同样会受到拦截,不能占用信道,从而减少了恶意节点长期占用信道的情况,保证了正常的簇内通信。附图说明附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:图1是本发明实施例一提供的簇内通信方法的流程图;图2是本发明实施例二提供的簇内通信方法的流程图;图3是本发明实施例二提供的簇内通信方法中的簇拓扑结构示意图;图4是本发明实施例三提供的簇内通信装置的结构示意图。其中,附图标记为:10、簇头节点;101、分配模块;102、发送模块;103、第二接收模块;104、第二存储模块;105、第二确定模块;106、解析模块;107、第二判断模块;108、第二处理模块;109、更新模块;20、令牌验证单元;201、第一接收模块;202、第一存储模块;203、第一确定模块;204、第一判断模块;205、第一处理模块;30、成员节点。具体实施方式以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。实施例一图1是本发明实施例一提供的簇内通信方法的流程图,所述簇内通信方法应用于包括簇头节点和成员节点的簇内。如图1所示,所述簇内通信方法包括:s11、为各成员节点分配时隙,并向各成员节点下发令牌函数,以供各成员节点根据所述令牌函数计算各自在本次通信周期的令牌号;所述令牌函数为本次通信周期与前一次通信周期令牌号的关系函数,且同一成员节点在不同通信周期的令牌号不同。步骤s11由簇头节点执行。s12、接收所述成员节点所计算的令牌号,该令牌号记作第一令牌号。s13、根据预存的令牌号与时隙之间的第一对应关系,确定接收到所述成员节点所计算的令牌号(即,第一令牌号)的时隙所对应的令牌号(该令牌号记作第二令牌号)。令牌号与时隙之间的第一对应关系可以由簇头节点预先设置并发送给令牌验证单元,第二令牌号的由令牌验证单元根据所述第一对应关系来确定。所述第一对应关系具体可以为时隙与令牌号的对照表,表1为一具体实例中的第一对应关系。表1时隙号令牌号132132425361718293s14、判断接收的令牌号(即,上述第一令牌号)与根据所述第一对应关系确定的令牌号(即,上述第二令牌号)是否相同;若是,则使所述成员节点占用信道;否则,对所述成员节点进行拦截。通过上述步骤s11~s14可以看出,在本实施例中,簇头节点会为各成员节点下发令牌函数,成员节点可以根据该令牌函数计算一个令牌号,在进行通信时,如果某成员节点计算的令牌号不正确(即,与根据第一对应关系所确定出的令牌号不同),则表明该簇头节点为恶意节点伪装而成,从而对该节点进行拦截。本发明的这种通过发送令牌函数并通过令牌号验证的通信方法中,当存在恶意节点时,由于恶意节点不知道令牌函数,因此不能提供正确的令牌号;即使恶意节点伪造了正确的令牌号,由于所述令牌函数是本次通信周期与前一次通信周期令牌号的关系函数,以使同一成员节点在不同通信周期的令牌号会发生调整,因此,在下一通信周期中,恶意节点如果出示上一通信周期的令牌号,同样会受到拦截,不能占用信道,从而减少了恶意节点长期占用信道的情况,保证了正常的簇内通信。实施例二图2是本发明实施例二提供的簇内通信方法的流程图。在实施例二中,簇头节点内可以存储有令牌号与时隙之间的第一对应关系,还存有节点标识id、节点标识函数的函数值hash(id)和时隙之间的第二对应关系。簇头节点和成员节点的节点标识均包括多位数值;所述节点标识函数为与节点标识id相关的函数,节点标识函数可以为哈希函数hash,具体为对节点标识的各位数值求和,得到的函数值为各位数值之和。第一对应关系可以为与前文表1相同或类似的对照表;表2为一具体实例中的第二对应关系。表2节点标识id节点标识函数的函数值hash(id)时隙1567191,4,71678222,5,81247143,6,9如图2所示,所述簇内通信方法包括:s21、为各成员节点分配时隙;并向各成员节点下发令牌函数和节点标识函数,以供各成员节点根据所述令牌函数计算各自在本次通信周期的令牌号、以及根据所述节点标识函数计算函数值。其中,所述令牌函数为本次通信周期与前一次通信周期令牌号的关系函数。该步骤s21由簇头节点执行。具体地,令牌函数为:ni=mod[(ni-1+1)/n总]+1(1)其中,i>1,ni为本次通信周期的令牌号,ni-1为上一次通信周期的令牌号,n总为令牌号的总个数。而在第一次通信周期中,令牌号n1为n1=mod[(t1+1)/n总]+1(2)其中,t1为第一次通信周期中的时隙号。s22、接收所述成员节点所计算的令牌号,该令牌号记作第一令牌号。s23、根据预存的令牌号与时隙之间的第一对应关系,确定接收到所述成员节点所计算的令牌号的时隙所对应的令牌号,该令牌号记作第二令牌号。s24、判断接收的第一令牌号与确定的第二令牌号是否相同,若是,则使成员节点占用信道;否则,判定该成员节点为恶意节点,并对其进行拦截。其中,步骤s23和s24可以由设置在信道上的令牌验证单元执行。之后,未受到拦截的成员节点向簇头节点发送数据包,进行通信。为了进一步提高通信的安全性,步骤s24之后还包括以下步骤:s25、接收所述成员节点发送的数据包。数据包结构如下:其中,发送节点的函数值hash(id)为与发送节点的标识有关的节点标识函数的函数值,该函数值为发送节点的节点标识的各位数值之和,接收节点的函数值hash(id)为与接收节点的节点标识有关的节点标识函数的函数值,该函数值为接收节点的节点标识的各位数值之和。发送节点即为发送数据包的成员节点,接收节点记作簇头节点。所述数据结构中的两个函数值均由成员节点计算所得,发送节点的函数值记作第一函数值,接收节点的函数值记作第二函数值。s26、根据所述第一对应关系,确定接收到所述数据包的时隙所对应的令牌号(即上述第二令牌号);并根据预存的节点标识、节点标识函数的函数值和时隙之间的第二对应关系,确定接收到数据包的时隙所对应的节点标识函数的函数值。该步骤s26由簇头节点执行。其中,数据包的结构中包括发送节点的函数值和接收节点的函数值,相对应地,根据第二对应关系所确定的函数值也包括:根据第二对应关系确定的对应于发送节点的函数值(记作第三函数值)以及根据第二对应关系确定的对应于接收节点的函数值(记作第四函数值)。s27、解析所述数据包,以获取所述数据包包头中携带的、由所述成员节点所计算得出的函数值和令牌号。s28、判断从所述数据包获取的函数值与根据所述第二对应关系确定的函数值是否一致,并判断从所述数据包获取的令牌号与根据所述第一对应关系确定的令牌号是否一致,若至少一者不一致,则丢弃所述数据包;若两者均一致,则接收数据包中的数据内容。如上所述,数据包包头中携带第一函数值和第二函数值,步骤s26中确定出第三函数值和第四函数值,此时,步骤s28中“判断从所述数据包获取的函数值与根据所述第二对应关系确定的函数值是否一致”即,判断第一函数值是否与第三函数值一致,第二函数值是否与第四函数值一致,当二者均一致时,判定从所述数据包获取的函数值与根据所述第二对应关系确定的函数值一致。在实施例二的簇内通信方法中,除了在开始通信时对令牌号进行判断验证之外,在接收到数据包后,还对数据包中的令牌号和成员节点所计算的节点标识函数同时进行验证,当数据包中节点标识函数的函数值与根据第二对应关系所确定的函数值不一致时,和/或,当数据包中令牌号与根据第一对应关系所确定的令牌号不一致时,均判定成员节点为恶意节点,从而丢弃数据包,进一步保证了通信的安全性。需要说明的是,为了进一步提高安全性,防止节点标识函数和/或令牌函数被非法获取,簇头节点还可以根据预设的更新周期更新所述令牌函数和/或所述节点标识函数。更新周期可以是多个通信周期,节点标识函数和令牌函数的更新周期可以相同,也可以不同。下面结合实例对本发明的簇内通信方法进行介绍。在图3所示的簇拓扑结构中,包括簇头节点10、令牌验证单元20和三个成员节点30,簇头节点10的节点标识为1253;三个成员节点30的节点标识分别为1567,1678和1247。簇头节点10下发hash函数和令牌函数给各成员节点,且下发第一对应关系给令牌验证单元20,所述第一对应关系为上文表1中的关系表。簇头节点10为上述三个成员节点分配时隙,具体地,为标识为1567的成员节点30分配1,4,7的时隙,为标识为1678的成员节点30分配2,5,8的时隙,为标识为1247的成员节点30分配3,6,9的时隙。并且,簇头节点10根据以上公式(1)(2)的令牌函数确定每个成员节点在各时隙的令牌号,从而生成第一对应关系和第二对应关系,第一对应关系和第二对应关系可以相关联,形成如表3所示的关系表。hash函数值为节点标识各位数值之和,令牌函数参考上述公式(1)(2)。表3节点标识hash函数值令牌号时隙1567193,2,11,4,71678221,3,22,5,81247142,1,33,6,9在开始准备通信时,各成员节点30首先根据令牌函数计算自己的令牌号(即,第一令牌号),令牌验证单元20接收到成员节点30发送的第一令牌号时,根据表3确定接收到第一令牌号的时隙所对应的第二令牌号,若第一令牌号与第二令牌号相同,则通过验证,使成员节点占用该时隙的信道;否则对成员节点进行拦截。通过验证的成员节点30向簇头节点10发送数据包,簇头节点10接收簇内成员节点30发送的数据包后,确定接收数据包的时隙,并根据时隙查找表3,确定出成员节点30的函数值、簇头节点10的函数值以及令牌号。簇头节点10解析数据包,以获取包头中携带的成员节点的函数值、簇头节点的函数值和令牌号。将通过查找表3得到的成员节点的函数值与从数据包中获取到的成员节点的函数值相比较,以及,将通过查找表3得到的簇头节点的函数值与从数据包中获取到的簇头节点的函数值相比较,并且,将通过查找表3得到的令牌号与从数据包中获取的令牌号相比较,若至少一个不同,则确定发送该数据包的成员节点为伪装簇内节点,并丢弃该数据包。实施例三本发明实施例三提供一种簇内通信装置,结合图3和图4所示,簇内通信装置包括簇头节点10和令牌验证单元20。簇头节点10包括分配模块101、发送模块102;令牌验证单元30包括第一接收模块201、第一存储模块202、第一确定模块203、第一判断模块204和第一处理模块205。其中,分配模块101,用于为各成员节点30分配时隙。发送模块102,用于为各成员节点30下发时隙、令牌函数,以供各成员节点30根据所述令牌函数计算各自在本次通信周期的令牌号;所述令牌函数为本次通信周期与前一次通信周期令牌号的关系函数,且同一成员节点在不同通信周期的令牌号不同。第一接收模块201,用于接收成员节点30所计算的令牌号。第一存储模块202,用于存储令牌号与时隙之间的第一对应关系。该第一对应关系可以为发送模块102向第一存储模块202发送的。第一确定模块203,用于根据所述第一对应关系,确定接收到所述成员节点30所计算的令牌号的时隙所对应的令牌号。第一判断模块204,用于判断第一接收模块201接收的令牌号与第一确定模块203确定的令牌号是否相同。第一处理模块205,用于在第一判断模块204的判断结果为是时,使成员节点30占用信道;在第一判断模块204的判断结果为否时,对成员节点30进行拦截。进一步地,发送模块102还用于向各成员节点30下发节点标识函数,以供成员节点30根据所述节点标识函数计算函数值。所述节点标识包括多位数值,所述节点标识函数为对节点标识的各位数值求和。簇头节点10还包括第二接收模块103、第二存储模块104、第二确定模块105、解析模块106、第二判断模块107、第二处理模块108和更新模块109,其中:第二接收模块103,用于接收所述成员节点30发送的数据包。第二存储模块104,用于存储所述第一对应关系以及节点标识、节点标识函数的函数值和时隙之间的第二对应关系。第二确定模块105,用于根据第一对应关系,确定接收到所述数据包的时隙所对应的令牌号;并根据所述第二对应关系,确定接收到数据包的时隙所对应的节点标识函数的函数值。解析模块106,用于解析所述数据包,以获取所述数据包包头中携带的、由所述成员节点所计算得出的函数值和令牌号。第二判断模块107,用于判断解析模块106获取的函数值与第二确定模块105确定的函数值是否一致,并判断解析模块106获取的令牌号与第二确定模块105确定的令牌号是否一致。第二处理模块108,用于在所述第二判断模块107的至少一个判断结果为否时,丢弃所述数据包。更新模块109,用于根据预设的更新周期更新所述令牌函数和/或所述节点标识函数。其中,令牌函数为:ni=mod[(ni-1+1)/n总]+1(1)其中,i>1,ni为本次通信周期的令牌号,ni-1为上一次通信周期的令牌号,n总为令牌号的总个数。而在第一次通信周期中,令牌号n1为n1=mod[(t1+1)/n总]+1(2)其中,t1为第一次通信周期中的时隙号。可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1