[发明专利]一种移动ad-hoc网络中的路由方法有效
申请号: | 201610845237.9 | 申请日: | 2016-09-24 |
公开(公告)号: | CN106413023B | 公开(公告)日: | 2019-07-02 |
发明(设计)人: | 孙雨泓;刘轩;刘宇鹏;朱洁;王思阳 | 申请(专利权)人: | 陕西尚品信息科技有限公司 |
主分类号: | H04W40/02 | 分类号: | H04W40/02;H04W40/24;H04W84/18 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 710065 陕西省西安*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种移动ad‑hoc网络中的路由方法。具体实现方案是:首先给网络中所有节点分配一个唯一固定的n(n为正整数)比特地址前缀,并根据地址前缀将节点划分不同级别和不同颜色;当节点加入网络后,先创建到同级邻居节点的连接,连接级别从1开始,最大可到(n‑1);再根据建立连接的级别融合必要邻居节点的信息生成节点的各级路由表,其中包含必要邻居节点的地址前缀和通过这些邻居节点到其它节点的必要路径;当节点向其它节点发送消息时,根据路由表确定合适的路径。本发明解决了现有协议不能保证未直连节点间通信的问题,同时降低通信开销。 | ||
搜索关键词: | 一种 移动 ad hoc 网络 中的 路由 方法 | ||
【主权项】:
1.一种移动ad‑hoc网络中的路由方法,其特征在于,包括:(1)分配节点的地址前缀:(1‑1)、在每个节点接入网络前随机为该节点分配唯一不变的n比特地址前缀,n≥5,n为正整数,地址前缀附在节点IP地址之前;(1‑2)、比较网络中两个节点的地址前缀,从第一位起连续相同的前缀称为两节点的共用前缀,从第一位起连续相同的所有前缀称为两节点的最大共用前缀,用p、q表示网络中任意两个节点,p和q的地址前缀长度为n比特,用len(p,q)表示p和q地址前缀的最大共用前缀长度,p和q的地址前缀分别是01100和01000,则len(01100,01000)=2,因为最大共用前缀是01;(1‑3)、len(p,q)=i,0≤i<n,i为整数,表示p和q地址前缀的最大共用前缀长度,则网络中的所有节点q组成关于p的i级网络,同时称p的i级网络中的节点为p的i级节点,每个节点的地址前缀唯一不变,当len(p,q)=n时,p和q为同一个节点,因此p最多有n‑1级节点;(1‑4)、根据节点地址前缀将节点分为黑白两色的方式描述网络,具体方法是,i级节点的第i+1位地址前缀为0,则将此节点标为白节点,i级节点的第i+1位地址前缀为1,则将此节点标为黑节点;(2)建立节点与邻居节点的连接:网络中节点的地址前缀长度为n比特,在未对节点进行具体分级前,网络中所有节点性质相同,针对一个节点讨论所得结果可应用于网络中所有节点,用a代表当前节点,用b表示a的任一邻居节点,a加入网络后,a将a的地址前缀发给网络中与a相邻的所有节点,a的邻居节点b收到a的地址前缀后向a回复b的地址前缀,a收到b的地址前缀后根据len(a,b)将b分级,若len(a,b)=i,0≤i<n,i为整数,则b为a的i级节点,当a将a所有的邻居节点分级后,a与a的1级节点建立1级连接,并向上顺延与a的第2级、第3级……第n‑1级节点建立相应级别的连接,即a与a的i级节点建立的连接的级别为i;若a向b发送a所有i级邻居节点的信息,同时b向a发送b所有i级邻居节点的信息,i级邻居节点的信息包括i级邻居节点的地址前缀以及通过这些i级邻居节点到达网络中其它节点的路径,则a与其i级节点b连接;(3)建立节点a的i级路由表:当a和a的i级邻居节点连接后,a将从与a连接的所有i级邻居节点处收到节点的信息,生成新表G,即a的i级路由表,由上述得a的i级路由表中包括a的i级邻居节点的信息,具体是a的i级邻居节点的地址前缀和通过这些i级邻居节点到达网络中其它节点的路径,确定a的i级路由表,按如下步骤进行:(3‑1)、在a的邻居节点中确定必须与a连接的节点,若b为黑节点,则将b添加为a的i+1级邻居;若b为白节点,则建立b的黑色邻居节点间的各级连接,连接级别从1开始,最大到n‑1,但未必每一级连接都存在,建立b黑色邻居节点间的各级连接:(3‑1‑1)、用集合S表示节点b的所有黑色邻居节点,确定S中每个节点的1级邻居节点,并建立节点与该节点的1级邻居节点间的连接,由S中每个节点与其i级节点建立连接的级别为i得,此时建立的是1级连接,用m(1≤m≤n‑1,m为整数)表示已建连接的级别,则此时m为1;(3‑1‑2)、将S中的节点分为black和white两个集合,如果节点的第m+1位地址前缀为0,则此节点属于white,如果节点的第m+1位地址前缀为1,则此节点属于black;(3‑1‑3)、如果white或者black中没有节点,说明节点集合S中没有节点在m+1级连接,则执行步骤(3‑2),否则执行(3‑1‑4);(3‑1‑4)、取white中的节点和black中的节点两个一组按位对地址前缀进行异或运算,异或运算值为n位二进制比特串,比较得到的所有异或运算值得到异或运算值最小的一组节点,异或运算值最小的节点可能不止一组,对所有使得异或运算值最小的节点组都按后文叙述的方法操作,用w表示两节点中属于white的节点,用y表示两节点中属于black的节点,异或运算的算法是:0和0异或为0,1和1异或为0,1和0异或为1,0和1异或为1,对两节点地址前缀按位进行异或运算,异或运算值越小说明两节点地址的最大共用前缀越长;(3‑1‑5)、若a的第m+1位地址为0,则先判断,w是a,则将y添加为a的m+1级邻居节点,w不是a,则不将y添加为a的m+1级邻居,然后将S中的节点更新为white中的节点,m更新为m+1,重新进行步骤(3‑1‑2);若a的第m+1位地址为1,则先判断,y是a,则将w添加为a的m+1级邻居节点,y不是a,则不将w添加为a的m+1级邻居,将S中的节点更新为black中的节点,m更新为m+1,重新进行步骤(3‑1‑2);(3‑2)、G中的所有路径g=a‑b‑c1‑c2‑…‑ck‑d,k为正整数,G为a的i级路由表,cj为a的i级节点,1≤j≤k,j为整数,d为网络中a、b、c以外的其他节点,路径g表示G中确定的从a开始经由邻居节点b到达网络中任意节点d的路径,若同时满足d为黑节点、b和cj为白节点、cj无黑色邻居节点,将d添加为a的i+1级节点,用f表示G中任意一个节点,对于任意cj,不存在f使得f到cj的距离小于g中cj到d的距离或cj到a的距离;(3‑3)、任意选择b的一个黑色邻居节点e1和ck的一个黑色邻居节点e2,对e1和e2的地址前缀按位进行异或运算,如果异或运算值最小,则e1为a;(4)确定节点a的i级路由表中包含的路径;(5)建立节点间的通信路由。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于陕西尚品信息科技有限公司,未经陕西尚品信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610845237.9/,转载请声明来源钻瓜专利网。