专利名称:一种移动Ad hoc网络中数据传输方法、装置及系统的制作方法
技术领域:
本发明涉及通信技术领域,特别涉及一种移动Ad hoc网络中数据传输方法、装置 及系统。
背景技术:
移动Ad hoc网络是一种无线的、没有中心基础设施支持的移动网络,网络中的节 点均由移动终端构成。移动Ad hoc网络中的节点既是通信终端,又具有路由功能,并可自 由移动,数据以多跳的方式发送,无需固定基础设施的支持便可提供灵活方便的通信,拓宽 了移动通信的应用,可应用在军事、交通、教育等诸多领域,具有非常光明的应用前景。然 而,由于终端的移动性、网络拓扑结构的可变性、传输的多跳性、无线信道的不可靠性、网络 资源的有限性等众多移动Ad hoc网络独有的特性,使得安全问题已成为制约移动Ad hoc 网络应用的关键,由于网络层的路由协议负责提供关键的路由服务,因此路由协议的安全 性直接影响了移动Ad hoc网络的安全性和可用性,是移动Ad hoc网络安全研究中至关重 要的环节。为了保证网络在路由形成过程中的安全,需要将密码技术应用到已有的路由协 议中,以满足移动Ad hoc网络的安全需求,即设计可对抗攻击的安全路由协议。早期的Ad hoc网络路由协议,如动态源路由(Dynamic Source Routing,DSR)、 Ad hoc 网— 巨ι^ 足各由(Ad hoc On-Demand Distance Vectorrouting, A0DV)、目的 ^iS(n|fix^ (Destination-Sequenced DistanceVector routing, DSDV) ,肖 假设安全的网络环境,不能对抗针对路由的攻击,因此研究者在DSR、A0DV、DSDV等协议的 基础上通过应用密码技术提出了安全Ad hoc网距离矢量路由(Secure Efficient Ad hoc Distance vector routing, SEAD)、Ariadne、Ad hoc 网认证路由(Authenticated Routing for Ad hocNetworks,ARAN)、安全 Ad hoc 网按需距离矢量路由(Secure Ad hocOn-Demand Distance Vector routing, SA0DV)等安全路由协议。这些协议或机制能有效地抵制网络 的外部攻击,却无法预防内部攻击。移动Ad hoc网络中按攻击来源可将攻击分为外部攻击 和内部攻击,外部攻击指没有获得认证的网络节点对网络的攻击,而内部攻击指来自于内 部有授权的、得到认证的节点的攻击,内部攻击对网络的威胁更大,恶意节点获得网络的合 法密钥后可以向网络中其他节点广播错误的路由信息,被俘获而变节的节点也能发起各种 攻击。Byzantine攻击是内部攻击的典型代表,Byzantine攻击是在网络层由认证节点 发起的任何导致网络性能下降的行为,如截获、修改和伪造包、(选择性)丢包等。造成节 点Byzantine行为的原因是多样的物理链路失效,自私节点为了保存自身能量,或者是攻 击节点的恶意行为。由于Byzantine攻击对网络路由性能的破坏不容忽视,因此需要相应 的检测机制对是否存在Byzantine行为进行检测,并使用检测结果指导未来路由建立。Awerbuch 等人提出的按需安全抗 Byzantine 路由(On—Demand SecureByzantine Resilient Routing, 0DSBR)协议采用二分查找和聚集签名技术来发现导致Byzantine 错误的错误链接。在ODSBR协议中,一旦源节点确认在源节点和目的节点之间出现了Byzantine错误,就开始在传输路径上进行二分搜索以定位错误链接,具体如下源节点通 过在数据包中加入“必须发送数据确认包的中间节点列表”从而控制对错误链接的搜索;必 须回复数据确认包的节点叫做探测节点,探测节点集合附加在合法的数据包中,探测节点 集合定义了一个不相交间隔的集合,这些间隔覆盖了整条路径。每一个间隔包括了在两个 连续探测节点之间的子路径。当在间隔上检测到错误时,插入新的探测节点将间隔一分为 二。新的探测节点将附加在随后的数据包中。间隔不断分裂直到在一个链接上探测到错误。 路径分裂过程是每发现一次错误进行一次间隔的分裂操作。这样做的结果是一个错误链接 的检测是在Iogn次错误发生之后,其中,η是路径的长度。ODSBR的Byzantine错误检测基于二分查找法进行,当没有攻击时,源节点、目的 节点之间包含一个从源节点到目的节点的完好的间隔,以一条共有九个节点的路由为例进 行说明,该路由中除源节点和目的节点外,还包含七个中间节点。假设当第三个中间节点是 攻击节点致使Byzantine错误时,源节点登记该从源节点到目的节点的这条路径上存在一 个错误,开始错误检测。源节点为了定位错误链接,采用二分查找法开始在这条路径中搜索 错误链接,为此,要在发送的数据包中增加探测节点信息,此时探测节点是位于七个中间节 点的中间位置的节点,即第四个中间节点,第四个中间节点与源节点和目的节点之间分别 形成两个间隔。如果攻击节点在第四个中间节点之前,则攻击节点丢弃内嵌有探测节点的 数据包,将致使第四个中间节点无法回应确认包,此时,源节点确定错误链接出现在第四个 中间节点之前,即前半段链路中,则向前折半查找,将位于源节点和第四个中间节点的中间 位置的节点,即第二个中间节点作为探测节点加入探测节点序列,由于错误链接出现在第 二个中间节点之后,所以该节点将成功发送数据确认包,于是源节点确定错误链接出现在 第二个中间节点和第四个中间节点之间的链路上,则将位于这段链路中间的节点,即第三 个中间节点加入探测节点,该节点将无法发送确认包。这样,源节点可以确认错误链接位于 第二个节点和第三个节点之间。在现有的ODSBR协议中,当在数据传输的过程中,发现错误时,则转入检测模式, 在检测模式中通过控制探测节点来定位错误链接。在中间节点传输含有探测节点的数据包 时,每个中间节点都需要对数据包进行签名,采用聚集签名技术进行传输。在检测模式下发现的错误链接,将被源节点记录下来,作为下次传输数据之前选 择路由的依据。下面介绍一下现有技术中选择路由的过程。在数据传输之前,需要事先确定路由,如果源节点的路由表中存在到目的节点的 路由,则直接使用该路由,如果不存在到目的节点的路由,则要进行路由发现过程由源节 点向相邻节点广播路由请求消息,该消息中包含源节点和目的节点的地址,相邻节点收到 该消息后再把该消息广播给自身的相邻节点,直到目的节点收到该消息后,目的节点据此 构造路由应答消息,并通过广播的方式发送给源节点。源节点可能会收到多条到目的节点 的路由,这时,源节点根据在上次数据传输过程中定位的错误链接,计算每条路由的错误链 接因子的总和,路由中的每段链路都具有一个错误链接因子,当该段链路没有发现错误时, 错误链接因子为1,发现错误后,错误链接因子数值将增大,因此,采用路由的错误链接因子 总和来作为选择路由的依据,可以在一定程度上避免选择出现错误的路由,从而提高路由 的安全性。但是,基于ODSBR协议的数据传输方法仍然存在以下不足首先,采用该方法进行数据传输时,检测模式与数据传输模式分离在检测错误链接时,需要采用检测模式,由于 检测模式与纯数据传输模式不同,需要额外开销控制探测节点列表,因此Byzantine检测 无法长期进行,在持续一段时间后需要切换回正常的数据传输模式,对此,恶意节点可以进 行策略性攻击在检测阶段表现良好,进入正常数据传输模式后继续攻击;其次,该方法中 查找错误链接时,中间节点采用聚集签名的方式传输数据包,复杂度大,并不适用于资源受 限的Ad hoc网络;并且,在发现路由的过程中,采用路由的错误链接因子总和作为选择路 由的依据,当存在一条跳数少,但存在错误的路由,以及一条跳数多,但不存在错误的路由 时,后者可能会因错误链接因子总和较大而被淘汰,从而因为放弃了安全路由而选择跳数 少的不安全路由,导致数据传输失败,降低了路由的安全性。
发明内容
本发明提供一种移动Ad hoc网络中数据传输方法、装置及系统,用以解决数据传 输过程中无法同时进行错误检测的问题。一种移动Ad hoc网络中的数据传输方法,包括以下步骤源节点根据保存的错误链接信息,选择一条到目的节点的路由;所述源节点通过所述路由中的各个中间节点的依次转发,向目的节点发送数据 包,并接收目的节点收到所述数据包后通过所述路由中的各个中间节点依次转发返回的数 据确认包;其中,所述中间节点监测到自身转发的数据包数量和数据确认包数量的差值超 过设定阈值时向源节点发送数据错误包;所述源节点确定发送的数据包的数量和收到的数据确认包的数量的差值超过所 述设定阈值时,将距离源节点最近且没有发送数据错误包的中间节点中距离源节点最近的 中间节点与所述中间节点的上一跳节点之间的所在链路确定为错误链接,并保存在所述错 误链接信息中作为下次路由选择的依据,。其中,所述数据错误包是由中间节点监测到自身 转发的数据包数量和数据确认包数量的差值超过所述设定阈值时向源节点发送的。一种移动Ad hoc网络中的数据传输装置,包括路由选择单元,用于根据保存的错误链接信息,选择一条到目的节点的路由;发送单元,用于通过所述路由中的各个中间节点的依次转发,向目的节点发送数 据包;接收单元,用于接收目的节点收到所述数据包后通过所述路由中的各个中间节点 依次转发返回的数据确认包,其中,所述中间节点监测到自身转发的数据包数量和数据确 认包数量的差值超过设定阈值时向该数据传输装置发送数据错误包;;判定单元,用于确定发送的数据包的数量和收到的数据确认包的数量的差值超过 所述设定阈值时,将没有发送数据错误包的中间节点中距离该数据传输装置最近的中间节 点与所述中间节点的上一跳节点之间的链路确定为错误链接距离该数据传输装置最近且 没有发送数据错误包的中间节点所在链路确定为错误链接,并保存在所述错误链接信息中 作为下次路由选择的依据,其中,所述数据错误包是由中间节点监测到自身转发的数据包 数量和数据确认包数量的差值超过所述设定阈值时发送的。一种移动Ad hoc网络中的数据传输装置,包括转发单元,用于转发源节点向目的节点发送的数据包以及目的节点向源节点返回的数据确认包;监测单元,用于在监测到转发单元转发的数据包数量和数据确认包数量的差值超 过设定阈值时向源节点发送数据错误包。一种移动Ad hoc网络中的数据传输系统,包括源节点、目的节点和至少一个中 间节点,其中,源节点,用于根据保存的错误链接信息,选择一条到目的节点的路由;通过所述路 由中的各个中间节点依次转发,向目的节点发送数据包;接收目的节点收到所述数据包后 通过所述路由中的通过各个中间节点的依次转发返回的数据确认包;确定发送的数据包的 数量和收到的数据确认包的数量的差值超过设定阈值时,将没有发送数据错误包的中间节 点中距离源节点最近的中间节点与所述中间节点的上一跳节点之间的链路确定为错误链 接距离源节点最近且没有发送数据错误包的中间节点所在链路确定为错误链接,并保存在 所述错误链接信息中作为下次路由选择的依据;中间节点,用于转发源节点向目的节点发送的数据包以及目的节点向源节点返回 的数据确认包;在监测到自身转发的数据包数量和数据确认包数量的差值超过设定阈值时 向源节点发送数据错误包;目的节点,用于在接收到源节点发送的数据包时向源节点返回数据确认包。本发明实施例中实现移动Ad hoc网络中数据传输方法、装置及系统,在源节点确 定发送的数据包的数量和收到的数据确认包的数量的差值超过设定阈值时,将没有发送数 据错误包的中间节点中距离源节点最近的中间节点及其上一跳节点之间的链路确定为错 误链接,其中,数据错误包是由中间节点监测到自身转发的数据包数量和数据确认包数量 的差值超过所述设定阈值时向源节点发送的。通过源节点和中间节点分别检测自身转发 的数据包和数据确认包的数量差,来确定是否存在错误链接,可以在传输数据的同时进行 错误检测,从而可使错误检测的过程长时间进行,且无需额外开销控制探测节点列表。
图1为本发明实施例中实现移动Ad hoc网络中数据传输的方法流程图;图2为本发明实施例中检测错误包的示意图;图3为本发明一个实施例中实现移动Ad hoc网络中数据传输的装置结构图;图4为本发明另一个实施例中实现移动Ad hoc网络中数据传输的装置结构图;图5为本发明实施例中实现移动Ad hoc网络中数据传输的系统结构图。
具体实施例方式本发明实施例提供了一种实现移动Ad hoc网络中数据传输的方法、装置及系统, 可以在传输数据的同时进行错误检测,从而可使错误检测的过程长时间进行,且无需额外 开销控制探测节点列表。本发明实施例提供了一种移动Ad hoc网络中的数据传输方法,如图1所示,包括 以下步骤SlOl 源节点根据保存的错误链接信息,选择一条到目的节点的路由;S102 所述源节点通过所述路由中的各个中间节点的依次转发向目的节点发送数据包,并接收目的节点通过所述路由中的各个中间节点的依次转发返回的数据确认包;, 其中,所述中间节点监测到自身转发的数据包数量和数据确认包数量的差值超过设定阈值 时向源节点发送数据错误包;S103:所述源节点确定发送的数据包的数量和收到的数据确认包的数量的差值超 过设定阈值时,将没有发送数据错误包的中间节点中距离源节点最近的中间节点与所述 中间节点的上一跳节点之间的链路确定为错误链接,并保存在所述错误链接信息中。通过采用本发明实施例提供的方法,可在传输数据的同时,进行错误链接的检测, 不必额外开销控制探测节点列表。较佳的,所述源节点根据保存的错误链接信息,选择一条到目的节点的路由,具体 包括确定自身保存的路由表中不存在到目的节点的路由时,向目的节点发送路由请求消 息;根据目的节点接收到路由请求消息后返回的路由应答消息,确定到目的节点的可用路 由;确定存在多条可用路由时,根据保存的错误链接信息计算每条路由中所有链路的错误 链接因子的平均值,所述链路指所述路由中相邻的两个中间节点之间的链接所组成的链 路,所述错误链接因子为反映该链路出现错误的概率大小的数值;根据计算的每条路由的 错误链接因子的平均值,选择一条到目的节点的路由。通过采用路由中的错误链接因子的平均值作为路由选择的依据,可以优先选择安 全的路由。较佳的,所述根据计算的每条路由的错误链接因子的平均值,选择一条到目的节 点的路由,包括选择错误链接因子的平均值最小的路由,作为到目的节点的路由。较佳的,所述路由请求消息和路由应答消息采用基于身份的签名机制进行数字签 名。基于身份的签名方式既保证了数据的安全性,又减少了计算量和网络开销。较佳的,为了确保所选路由中的各个中间节点没有临时出现问题,更好的保障数 据的安全传输,所述通过所述路由中的各个中间节点向目的节点发送数据包的步骤之前, 进一步包括源节点通过所述路由中的各个中间节点的依次转发,向目的节点发送第一通 知包;所述目的节点收到所述第一通知包后通过所述路由中的各个中间节点的依次转发向 源节点返回第一确认包;所述源节点确定成功收到所述第一确认包时,说明所选路由中的 各个中间节点都做好了接收数据的准备,则确定触发通过所述路由中的各个中间节点向 目的节点发送数据包。当源节点没有接收到目的节点返回的第一确认包时,说明所选路由中的某段链路 出现了问题,则该方法进一步包括源节点确定没有接收到所述第一确认包时,查找所述路由中的错误链接,并将查 找到的所述路由中的错误链接保存在所述错误链接信息中,重新根据保存后的错误链接信 息,选择到目的节点的路由。其中,查找所述路由中的错误链接的步骤可以采用如下实现方式源节点通过所述路由中的各个中间节点向目的节点发送第二通知包,所述目的节 点收到所述第二通知包后通过各个中间节点的依次转发向源节点返回第二确认包,且所述 路由中的各个中间节点收到所述第二通知包后向源节点返回中间节点确认包,所述中间节 点确认包中包含自身转发的第一通知包和第二通知包的数量总和以及第一确认包和第二 确认包的数量总和;源节点确定未成功收到第二确认包时,则判断是否存在未返回中间节点确认包的中间节点,若存在,则将没有返回中间节点确认包的中间节点中距离源节点最 近的中间节点与所述中间节点的上一跳节点之间的链路确定为错误链接,若不存在,则将 目的节点与所述目的节点的上一跳节点所组成的链路确定为错误链接;源节点确定成功收 到第二确认包时,根据接收的中间节点确认包确定各中间节点转发的第一通知包和第二通 知包的数量总和以及第一确认包和第二确认包的数量总和,将转发的第一通知包和第二通 知包的数量总和,或第一确认包和第二确认包的数量总和小于其他中间节点的中间节点与 所述中间节点的上一跳节点之间的链路确定为错误链接。所述查找所述路由中的错误链接的步骤也可以采用如下实现方式所述路由中的中间节点监测到所在链路出现错误时,向源节点发送链路错误包; 所述源节点将发送链路错误包的中间节点所在链路确定为错误链接。该方式适用于中间节 点能够监测到链路错误的情况,例如,在链路断开时,中间节点可以检测到其与相邻节点 的链路因断开而无法传输数据,则中间节点会向源节点发送链路错误包。下面详细介绍一下本发明实施例中的数据传输方法中各个步骤的具体实现方式。步骤SlOl “源节点根据保存的错误链接信息,选择一条到目的节点的路由”的一 种实现过程具体包括以下步骤步骤一源节点S在发送数据之前需要选择一条到目的节点D的路由,源节点S查 询自身保存的路由表中是否存在到目的节点D的有效路由,如果存在,则选择这条有效路 由;如果不存在,则源节点S以广播的方式向相邻节点发送一个路由请求消息,开始路由建 立过程。该路由请求消息中包括路由请求(Route REQuest, RREQ)包,在该RREQ包中含有 源节点地址、目的节点地址、用于表示源节点发送消息的次数的源节点序列号以及源节点 在之前的数据传输过程中所保存的错误链接信息。如果源节点是第一次传输数据,则错误 链接信息可能为空,如果源节点不是第一次传输数据,则错误链接信息中应该至少包含上 次的数据传输过程中所检测到的错误链接。为了实现对路由请求消息进行基本的安全保护,同时减少计算量和网络开销,在 路由建立过程中传输路由请求消息时可以使用基于身份的数字签名机制,则源节点S 发 送的路由请求消息为S broadcast {RREQ 丨| Ns || IDs || {RREQ || ^}^1}其中,节点 S
ο
的公钥记为Ks ;节点S的私钥记为IV1 ;IDs是节点S的地址、标识符;NS表示节点S生成的 随机数;{M} IV1表示S使用私钥对消息M进行数字签名。步骤二 与源节点S相邻的中间节点A在收到路由请求消息后,中间节点A根据源 节点地址IDs计算源节点S的公钥Ks,然后利用Ks验证源节点的签名,如果验证失败,则丢 弃该路由请求消息;如果验证成功,则查看中间节点A是否处理过该路由请求消息,当且仅 当A没有处理过该路由请求消息或者有处理记录但当前接收的路由请求消息中的RREQ序 列号更大时,将路由请求消息以广播的方式转发给中间节点A的邻居节点。中间各节点依 次以广播方式转发收到的路由请求消息,直到目的节点D接收到该路由请求消息。步骤三当目的节点D首次接收到来自源节点S的路由请求消息时,验证源节点的 签名成功后生成路由应答消息,该路由应答消息包含路由应答(RouteREPly,RREP)包,在 RREP包中包含有源节点和目的节点的地址、用于表示目的节点接收消息次数的目的节点序 列号、跳数信息、RREQ包中包含的错误链接信息以及路径节点集合path_node,其中,跳数 信息为可变字段,在目的节点D生成路由应答消息时跳数信息为零,每当中间经过一个中间节点的转发,则跳数信息增加1,路径节点集合包括从目的节点D到源节点S的路径中所经 过的所有中间节点。目的节点D对路由应答消息采用自身的私钥签名后以广播的方式转发 该路由应答消息,该路由应答消息为D -> broadcast {RREP || Ns || IDd || {RREP || ^Vs
ο步骤四中间节点B收到路由应答消息后,计算发送该路由应答消息的节点的公 钥,验证路由应答消息中的签名是否有效,若验证有效则更新路由应答消息中的可变字段, 即将跳数信息增加1,并将自己加入到路径节点集合path_n0de,然后采用节点B的私钥对 可变字段,即跳数信息进行数字签名后附加在路由应答消息中,以广播的方式转发修改后 的路由应答消息。收到路由应答消息的各个中间节点都执行上述操作,即验证签名有效后, 更新可变字段的跳数信息并对跳数信息进行签名,将自身加入到路径节点集合后转发该路 由答应消息,直到源节点S收到路由答应消息。较佳的,为了减少网络开销,各个中间节点收到路由应答消息后,可以根据消息中 包含的源节点和目的节点地址以及目的节点序列号等信息,先判断之前是否处理过该路由 应答消息,若已经处理过该消息,则根据消息中所携带的错误链接信息计算当前节点与路 径节点集合中的各个节点到目的节点之间所形成路径的错误链接因子的平均值,计算方式 如下每两个节点之间形成一条链路,该链路具有一个错误链接因子,表示该链路出现错误 的可能性大小,错误链接因子越大表示这条链路出现错误的可能性越大,用当前节点到目 的节点的各个链路的错误链接因子之和除以链路的个数,得到错误链接因子的平均值,如 果所得的错误链接因子平均值小于根据以前收到的路由应答消息中的错误链接信息和路 径节点集合得到错误链接因子平均值,则中间节点将自身加入到路径节点集合中,更新收 到的路由应答消息中的可变字段,即跳数信息,对可变字段签名后附加在路由应答消息中 进行转发,否则,不处理该路由应答消息,这里,也可以采用其他参考因素,如错误链接因子 的总和来作为是否转发的依据。通过中间节点根据错误链接判断是否对重复收到的路由应 答消息进行转发,从而可以舍弃掉出错可能性大的路由,且大大减少了网络开销。步骤五当源节点S收到路由应答消息后,仍然需要做类似于中间节点的检查和 计算,验证通过的路由应答消息中所包含的路由为有效路由。如果源节点S收到多个有效 路由,可以优先选择错误链接因子平均值最小的路由,当错误链接因子平均值相同时,可以 优先选择跳数小的路由,如果链接错误因子平均值相同,且跳数相同,则源节点S可以根据 自身的选择策略从中选择出一个路由作为最终路由。以上就是步骤SlOl的一种具体实施方式
,通过上述步骤,在移动Ad hoc网络中成 功的建立了从源节点S到目的节点D的路由。通过该方式,利用计算量和网络开销较少的 基于身份的签名机制传输消息,减少了网络开销,简化了传输过程,同时,在选择路由时使 用错误链接因子平均值作为路由选择标准,比ODSBR协议中采用错误链接因子总和更为合 理,可以选择出错可能性最低的路由,从而大大提高了路由的安全性。下面介绍一下步骤S102中“所述源节点通过所述路由中的各个中间节点的依次 转发,向目的节点发送数据包,并接收目的节点通过所述路由中的各个中间节点的依次转 发返回的数据确认包”的一种具体实现过程,在执行该步骤之前,为了更好的确保所选路由 的安全性,可以事先对路由中的各节点进行通知,若通知成功则发送数据包,若通知失败, 则查找错误链接并保存,然后重新根据保存后的错误链接信息由步骤SlOl开始执行。对 路由中的各节点进行通知的步骤如下
12
步骤一源节点S通过所述路由中的各个中间节点向目的节点D发送第一通知包。当选择了从源节点S到目的节点D的路由后,在源节点S向目的节点D发送数 据包之前,为了确保数据包的传输安全,需要对所选路由中的各节点进行通知,告知各个 节点准备接收数据,通知过程为源节点S沿所选路径发送签名的第一通知包,即通知 (INFOmation, INFO)包,该INFO包包含所选路由的路径节点集合path_node,在路径节点集 合中存储着该路由中的各个节点,因此INFO包以单播方式发送,且接收到该INFO包的各节 点根据路径节点集合path_node,可以获知下一跳节点,从而继续单播该INFO包给下一跳 节点,通过这种方式,告知包括目的节点在内的所有节点准备接收数据。目的节点D接收到 INFO包之后,通过各个中间节点的转发,返回第一应答包,即INF0_ACK包给源节点S,告知 源节点S已经准备好接收数据。表 权利要求
一种移动Ad hoc网络中的数据传输方法,其特征在于,包括源节点根据保存的错误链接信息,选择一条到目的节点的路由;所述源节点通过所述路由中的各个中间节点的依次转发,向目的节点发送数据包,并接收目的节点收到所述数据包后通过所述路由中的各个中间节点依次转发返回的数据确认包,其中,所述中间节点监测到自身转发的数据包数量和数据确认包数量的差值超过设定阈值时向源节点发送数据错误包;所述源节点确定发送的数据包的数量和收到的数据确认包的数量的差值超过所述设定阈值时,将没有发送数据错误包的中间节点中距离源节点最近的中间节点与所述中间节点的上一跳节点之间的链路确定为错误链接,并保存在所述错误链接信息中。
2.如权利要求1所述的方法,其特征在于,所述源节点根据保存的错误链接信息,选择 一条到目的节点的路由,具体包括确定自身保存的路由表中不存在到目的节点的路由时,向目的节点发送路由请求消息;根据目的节点接收到路由请求消息后返回的路由应答消息,确定到目的节点的可用路由;确定存在多条可用路由时,根据保存的错误链接信息计算每条路由中所有链路的错 误链接因子的平均值,所述链路指所述路由中相邻的两个中间节点之间的链接所组成的链 路,所述错误链接因子为反映该链路出现错误的概率大小的数值;根据计算的每条路由的错误链接因子的平均值,选择一条到目的节点的路由。
3.如权利要求2所述的方法,其特征在于,所述根据计算的每条路由的错误链接因子 的平均值,选择一条到目的节点的路由,包括选择错误链接因子的平均值最小的路由,作为到目的节点的路由。
4.如权利要求2所述的方法,其特征在于,所述路由请求消息和路由应答消息采用基 于身份的签名机制进行数字签名。
5.如权利要求1所述的方法,其特征在于,所述通过所述路由中的各个中间节点向目 的节点发送数据包之前,进一步包括源节点通过所述路由中的各个中间节点向目的节点发送第一通知包; 所述目的节点收到所述第一通知包后通过各个中间节点向源节点返回第一确认包; 所述源节点确定成功收到所述第一确认包时,触发通过所述路由中的各个中间节点向 目的节点发送数据包。
6.如权利要求5所述的方法,其特征在于,进一步包括源节点确定没有接收到所述第一确认包时,查找所述路由中的错误链接,并将查找到 的所述路由中的错误链接保存在所述错误链接信息中,重新根据保存后的错误链接信息, 选择到目的节点的路由。
7.如权利要求6所述的方法,其特征在于,所述查找所述路由中的错误链接,具体包括源节点通过所述路由中的各个中间节点的依次转发,向目的节点发送第二通知包,所 述目的节点收到所述第二通知包后通过所述路由中的各个中间节点的依次转发向源节点 返回第二确认包,且所述路由中的各个中间节点收到所述第二通知包后向源节点返回中间节点确认包,所述中间节点确认包中包含自身转发的第一通知包和第二通知包的数量总和 以及第一确认包和第二确认包的数量总和;源节点确定未成功收到第二确认包时,则判断是否存在未返回中间节点确认包的中间 节点,若存在,则将没有返回中间节点确认包的中间节点中距离源节点最近的中间节点与 所述中间节点的上一跳节点之间的链路确定为错误链接,若不存在,则将目的节点与所述 目的节点的上一跳节点所组成的链路确定为错误链接;源节点确定成功收到第二确认包时,根据接收的中间节点确认包确定各中间节点转发 的第一通知包和第二通知包的数量总和以及第一确认包和第二确认包的数量总和,将转发 的第一通知包和第二通知包的数量总和,或第一确认包和第二确认包的数量总和小于相邻 中间节点的中间节点与所述中间节点的上一跳节点之间的链路确定为错误链接。
8.如权利要求6所述的方法,其特征在于,所述查找所述路由中的错误链接,具体包括所述路由中的中间节点监测到所在链路出现错误时,向源节点发送链路错误包; 所述源节点将发送链路错误包的中间节点所在链路确定为错误链接。
9.一种移动Ad hoc网络中的数据传输装置,其特征在于,包括路由选择单元,用于根据保存的错误链接信息,选择一条到目的节点的路由; 发送单元,用于通过所述路由中的各个中间节点的依次转发,向目的节点发送数据包;接收单元,用于接收目的节点收到所述数据包后通过所述路由中的各个中间节点依次 转发返回的数据确认包,其中,所述中间节点监测到自身转发的数据包数量和数据确认包 数量的差值超过设定阈值时向该数据传输装置发送数据错误包;判定单元,用于确定发送的数据包的数量和收到的数据确认包的数量的差值超过所述 设定阈值时,将没有发送数据错误包的中间节点中距离该数据传输装置最近的中间节点与 所述中间节点的上一跳节点之间的链路确定为错误链接,并保存在所述错误链接信息中作 为下次路由选择的依据,其中,所述数据错误包是由中间节点监测到自身转发的数据包数 量和数据确认包数量的差值超过所述设定阈值时发送的。
10.如权利要求9所述的装置,其特征在于,所述路由选择单元具体包括路由请求消息生成单元,用于确定自身保存的路由表中不存在到目的节点的路由时, 向目的节点发送路由请求消息;路由确定单元,用于根据目的节点接收到路由请求消息后返回的路由应答消息,确定 到目的节点的可用路由;计算单元,用于在路由确定单元确定存在多条可用路由时,根据保存的错误链接信息 计算每条路由中所有链路的错误链接因子的平均值,所述链路指所述路由中相邻的两个中 间节点之间的链接所组成的链路,所述错误链接因子为反映该链路出现错误的概率大小的 数值;选择单元,用于根据计算的每条路由的错误链接因子的平均值,选择一条到目的节点 的路由。
11.如权利要求10所述的装置,其特征在于,所述选择单元,用于根据计算的每条路由 的错误链接因子的平均值,选择错误链接因子的平均值最小的路由,作为到目的节点的路
12.如权利要求9所述的装置,其特征在于,所述装置进一步包括通知单元,用于在发送单元通过所述路由中的各个中间节点向目的节点发送数据包之 前,通过所述路由中的各个中间节点的依次转发,向目的节点发送第一通知包,并接收所述 目的节点收到所述第一通知包后返回的第一确认包;触发单元,用于在通知单元成功收到所述第一确认包时,触发发送单元通过所述路由 中的各个中间节点的依次转发,向目的节点发送数据包。
13.如权利要求12所述的装置,其特征在于,还包括查找单元,用于在所述通知单元没有接收到所述第一确认包时,查找所述路由中的错 误链接,并将查找到的所述路由中的错误链接保存在所述错误链接信息中;并通知路由选 择单元重新根据保存后的错误链接信息,选择到目的节点的路由。
14.如权利要求13所述的装置,其特征在于,所述查找单元,具体包括转发单元,用于通过所述路由中的各个中间节点的依次转发,向目的节点发送第二通 知包,并接收所述目的节点收到所述第二通知包后通过所述路由中的各个中间节点的依次 转发返回的第二确认包,及接收所述路由中的各个中间节点收到所述第二通知包后返回的 中间节点确认包,所述中间节点确认包中包含自身转发的第一通知包和第二通知包的数量 总和以及第一确认包和第二确认包的数量总和;第一错误链接确定单元,用于在转发单元确定未成功收到第二确认包时,判断是否存 在未返回中间节点确认包的中间节点,若存在,则将没有返回中间节点确认包的中间节点 中距离该数据传输装置最近的中间节点与所述中间节点的上一跳节点之间的链路确定为 错误链接,若不存在,则将目的节点与所述目的节点的上一跳节点所组成的链路确定为错 误链接;第二错误链接确定单元,在转发单元确定成功收到第二确认包时,根据接收的中间节 点确认包确定各中间节点转发的第一通知包和第二通知包的数量总和以及第一确认包和 第二确认包的数量总和,将转发的第一通知包和第二通知包的数量总和,或第一确认包和 第二确认包的数量总和小于相邻中间节点的中间节点所在链路确定为错误链接。
15.如权利要求13所述的装置,其特征在于,所述查找单元,具体用于根据所述路由中 的中间节点在监测到所在链路出现错误时发送的链路错误包,将发送所述链路错误包的中 间节点所在链路确定为错误链接。
16.一种移动Ad hoc网络中的数据传输装置,其特征在于,包括转发单元,用于转发源节点向目的节点发送的数据包以及目的节点向源节点返回的数 据确认包;监测单元,用于在监测到转发单元转发的数据包数量和数据确认包数量的差值超过设 定阈值时向源节点发送数据错误包。
17.如权利要求16所述的装置,其特征在于,所述转发单元,还用于转发源节点向目的 节点发送的路由请求消息和目的节点向源节点返回的路由应答消息。
18.如权利要求16所述的装置,其特征在于,所述转发单元,进一步用于转发源节点向目的节点发送的第一通知包以及目的节点向源节点返回的第一确认包。
19.如权利要求16所述的装置,其特征在于,所述转发单元还用于转发源节点向目的节点发送的第二通知包以及目的节点向源节点返回的第二确认包,并在收到所述第二通知 包时向源节点发送中间节点确认包,所述中间节点确认包中包含转发单元转发的第一通知 包和第二通知包的数量总和以及第一确认包和第二确认包的数量总和。
20.如权利要求16所述的装置,其特征在于,所述监测单元,还用于监测所在链路是否 出现错误,并在出现错误时,向源节点发送链路错误包。
21.—种移动Ad hoc网络中的数据传输系统,其特征在于,包括源节点、目的节点和 至少一个中间节点,其中,源节点,用于根据保存的错误链接信息,选择一条到目的节点的路由;通过所述路由中 的各个中间节点的依次转发,向目的节点发送数据包;接收目的节点收到所述数据包后通 过所述路由中的各个中间节点的依次转发返回的数据确认包;确定发送的数据包的数量和 收到的数据确认包的数量的差值超过设定阈值时,将没有发送数据错误包的中间节点中距 离源节点最近的中间节点与所述中间节点的上一跳节点之间的链路确定为错误链接,并保 存在所述错误链接信息中作为下次路由选择的依据;中间节点,用于转发源节点向目的节点发送的数据包以及目的节点向源节点返回的数 据确认包;在监测到自身转发的数据包数量和数据确认包数量的差值超过设定阈值时向源 节点发送数据错误包;目的节点,用于在接收到源节点发送的数据包时向源节点返回数据确认包。
全文摘要
本发明公开了一种移动Ad hoc网络中的数据传输方法、装置及系统,该方法包括源节点根据保存的错误链接信息,选择一条到目的节点的路由;源节点通过所述路由中的各个中间节点的依次转发,向目的节点发送数据包,并接收目的节点收到所述数据包后通过所述路由中的各个中间节点依次转发返回的数据确认包,其中,中间节点监测到自身转发的数据包数量和数据确认包数量的差值超过设定阈值时向源节点发送数据错误包;源节点确定发送的数据包的数量和收到的数据确认包的数量的差值超过所述设定阈值时,将没有发送数据错误包的中间节点中距离源节点最近的中间节点与其上一跳节点之间的链路确定为错误链接,并保存在错误链接信息中。
文档编号H04W40/02GK101969661SQ20101052753
公开日2011年2月9日 申请日期2010年10月27日 优先权日2010年10月27日
发明者邹力鹍 申请人:北京握奇数据系统有限公司