基于Android手机的移动自组网系统及其构建方法

文档序号:7856287阅读:272来源:国知局
专利名称:基于Android手机的移动自组网系统及其构建方法
技术领域
本发明涉及移动自组(Ad-Hoc)网络系统,通过安装在Android手机上的Wi-Fi网卡ad-hoc模式管理器、自动IP地址分配管理器和网络拓扑管理器,将多部Android手机组建成一个互联的移动自组网系统。用户在多部Android手机上启动并运行以上管理器后,即可将这些手机组成ー个Ad-Hoc网络 系统,并且可实现彼此通信。该系统支持节点IP地址的自动分配和节点移动状态下网络拓扑的变化,同时能够保证同一个网络中每个手机节点的IP地址唯一性。
背景技术
随着移动互联网技术的迅猛发展,人们日常使用的手机处理能力和通信需求也在逐渐的增长。现在手机主要是通过移动运营商网络通信及通过Wi-Fi网卡与无线AP实现相互通信。实际上,手机的Wi-Fi网卡普遍具有ad-hoc模式进行点对点通信的功能,因此多个手机在无AP的情况下可以通过ad-hoc模式组成Ad-Hoc网络进行通信和数据共享,但是目前尚未见有关这方面的报道。

发明内容
本发明所要解决的技术问题是提供ー种将若干Android手机构建成的ー个Ad-Hoc网络系统,该系统支持节点IP地址的自动分配和节点移动状态下网络拓扑的变化,同时能够保证同一个网络中每个手机节点的IP地址唯一性。此外,本发明还提供该系统的构建方法。本发明所述的ー种基于Android手机的移动自组网系统,包括若干个具有Wi-Fi网卡的Android手机作为通信节点,在姆个手机上都构建有
Wi-Fi网卡ad-hoc模式管理器用来管理手机Wi-Fi网卡的ad-hoc模式的开启和关
闭;
自动IP地址分配管理器为每个开启ad-hoc模式后的手机分配ー个通信IP地址,并保证该IP地址在构建后的Ad-Hoc网络中的唯一性;
网络拓扑管理器节点移动状态下,实现对网络分割和融合的检测,并对网络中的节点IP地址做出调整,保证手机IP地址的唯一性;
在这些Android手机启动并运行以上管理器后,即可组成ー个Ad-Hoc网络系统,实现彼此通信。此外,本发明还提供了所述基于Android手机的移动自组网系统的构建方法,其包括以下步骤
DWi-Fi网卡ad-hoc模式管理,其具体步骤包括
11)将Linux环境下wireless tools移植到Android系统源代码中,编译Android系统源代码,生成iwconfig和ifconfig ニ进制可执行文件;
12)在ad-hoc模式管理器安装过程中,将步骤11)中生成的两个可执行文件拷贝到Android手机通信节点中;
13)在ad-hoc模式管理器启动时,判断和记录Wi-Fi网卡当前状态,如Wi-Fi网卡处于开启状态则关闭Wi-Fi网卡;
14)调用步骤12)中的可执行文件,添加參数,启动Wi-Fi网卡的ad-hoc模式;
15)在ad-hoc模式管理器关闭时,调用步骤121)中的可执行文件,关闭Wi-Fi网卡的ad-hoc丰臭式。16)根据步骤13)记录的Wi-Fi网卡状态,还原Wi-Fi网卡状态;
2)自动IP地址分配管理在通信节点启动Wi-Fi网卡的ad-hoc模式之后,通过UDP通信的方式向所在网络索取可用IP地址,网络中的已有通信节点在收到IP地址请求时回复可用IP地址,新的通信节点使用IP地址后向网络发送IP地址使用通告,若新的通信节点在规定时间内未获得可用IP地址的回复,则初始化IP地址为网络IP起始地址;
3)网络拓扑管理在节点移动的情况下,对两个独立ad-hoc网络的融合和ad-hoc网络的分割做出检测和处理,并保证在ー个ad-hoc网络中,节点IP地址的唯一性。上述步骤2)流程是
21)新的节点ad-hoc模式启动之后,初始化自身IP地址为网段最大IP地址;
22)广播IP地址请求消息即IP地址_REQUEST,广播之后进行延时等待;
23)延时过程中,若已有其他节点加入网络,网络中的节点收到IP地i_REQUEST之后,会向IP地址请求节点发送IP地址请求回复即IP地址_REQUEST_REPLY,消息中附带自身节点记录的全局IP地址信息;
24)延时结束之后,查看是否收到IP地址_REQUEST_REPLY;
25)若收到IP地址_REQUEST_REPLY消息,从消息中附带的全局IP地址信息中取出可用IP地址设置为新的IP地址,并记录所有回复IP地址_REQUEST_REPLY的通信节点,作为直连节点,重启ad-hoc模式;若没有收到IP地i_REQUEST_REPLY消息,则认为目前网络中没有节点,重新设置IP地址为网段中最小IP地址,重启ad-hoc模式;
26)重启之后,向直连节点发送IP地址确认消息,即IP_C0NFIRM;
27)网络中其他通信节点收到IP_C0NFIRM之后,更新全局IP地址信息,并向直连节点转发该消息;
28)当通信节点退出网络时,发送IP地址回收消息,即IP_RELEASE,关闭ad-hoc模式,还原Wi-Fi状态;
29)网络中其他通信节点收到IP_RELEASE之后,更新全局IP地址信息,并向直连节点转发该消息。上述步骤3)包括以下内容
31)直连节点管理每个通信节点加入网络之后,开启ー个广播线程,定时发送ー个直连节点探索消息即DIRLINK_SEARCH和ー个直连节点确认消息即DIRLINK_C0NFIRM,并为所有直连节点初始化ー个boolean类型的列表REPLY_LIST,标记是否收到相应节点的回复;延时等待之后,将REPLY_LIST中值为false的节点移出直连节点列表;节点收到DIRLINK_SEARCH吋,更新直连节点列表;收到DIRLINK_C0NFIRM吋,向发送节点回复直连节点确认回复即 DIRLINK_CONFIRM_REPLY ;收到 DIRLINK_CONFIRM_REPLY 时,将 REPLY_LIST 相应位置值为true ;
32)网络MAC值管理网络中,采用IP地址最小节点的MAC值作为网络的MAC值,同时在网络MAC为自身节点MAC的节点退出的情况下,对网络MAC做出更新;
33)网络融合管理在节点移动的情况下,对两个通信范围原本不相交的两个网络出现通信范围的交叉时,把两个单独的ad-hoc网络融合成ー个网络进行处理,以避免IP地址冲关。34)网络分割管理在节点移动或退出网络的状态下,使得一个网络分割成两个网络时,能够回收节点的IP地址进行重用,具体操作方法是每个节点为网络中的已有IP地址维护ー张有效时间表,并进行IP地址有效时间的计时;其中对于自身IP地址有效时间为T,其他节点IP地址有效时间为T+网络flooding时间;当自身IP地址有效时间结束时,向 网络flooding —个IP地址续约消息即IP地址_ALIVE,并重新设置时间;当其他节点有效时间结束吋,修改全局IP地址信息,将该IP地址回收。当节点收到IP地址_ALIVE消息时,会重新设置该IP地址的有效时间。上述步骤32)的具体流程是
321)第一个节点加入网络是即设置网络MAC为自身MAC,
322)新的节点加入网络时,收到的IP地址_REQUEST_REPLY中会附带网络MAC值即NET_MAC,新节点加入网络后采用这个值作为网络MAC ;
323)收到某个节点的IP地址_RELEASE消息之后或在某个节点IP地址有效期计时结束后,判断该节点的MAC值是否为网络MAC值,若是网络MAC值,则查询全局IP地址信息,查看自身IP地址是否为最小IP地址;若是,则flooding —个网络MAC声明消息即NETW0RK_MAC,内容为自身节点MAC,并将网络MAC值改为自身MAC ;若不是,则网络转入LOCK状态;若不是网路MAC值,IP地址正常回收。上述步骤33)的具体流程是
331)网络融合情况的判断网络融合的判断,通过对消息中附帯的网络MAC信息进行检测来完成,网络需要在两种情况下来判断和处理融合新节点的加入和直连节点的探索,具体步骤如下
3311)新节点的加入节点在收到IP地址_REQUEST_REPLY消息之后,将消息中附带的NET_MAC和全局IP地址信息以键值对的形式存储,最后判断若存在两个键则新节点的加入可以使两个网络融合;
3312)直连节点的探索节点在搜到DIRLINK_SEARCH消息之后,判断消息中附带的NET_MAC和自身节点存储的NET_MAC是否相等,若不相等,说明有新的节点移动到了自身网络的覆盖范围,可以使两个网络融合;
332)网络融合情况的处理判断两个网络可以融合之后,flooding—个网络锁定消息,NET_L0CK消息,将网络中所有节点锁定,此时网络中节点暂停数据传输,新节点请求响应和直连节点探測;然后,对网络中的IP地址和网络MAC进行调整,保证同一个网络中IP地址的唯一性;IP地址调整时以改动IP地址的节点数目尽可能小为原则;具体步骤如下
3321)新节点加入引起网络融合时,从收到的来自两个网络,设为网络A和网络B,的消息中取出两个网络的全局IP地址信息,判断A和B中的节点数目;3322)若A>B,对B网络的IP地址进行调整,具体步骤如下
33221)从A和B的全局IP地址信息中计算出网络需要使用的新的IP地址信息和自身节点的可用IP地址;
33222)清除收到IP_REQUEST_REPLY消息时记录的直连节点列表;
33223)广播IP地址调整消息即IP_COORDINAT,消息中,网络MAC为网络A的NET_MAC,附帯A网络的全局IP地址信息和步骤221)中计算出的B网络的全局IP地址信息和需要调整的网络的NET_MAC即网络B的MAC,以便B网络节点收到该消息后,判断出是自己网络中的节点需要进行IP地址调整;
33224)A和B网络中的节点收到IP_COORDINAT消息后,flooding这个消息。A网络中节点根据消息中的A和B网络的全局IP地址信息更新节点保存的全局IP地址信息,使得该IP地址信息覆盖A和B融合之后的新网络A+B ;B网络中的节点收到IP_C00RDINAT消息后,flooding这个消息;然后,根据消息中附帯的B网络的新的全局IP地址信息计算出自 身节点的新IP地址,同时根据消息中的A和B网络的全局IP地址信息更新节点保存的全局IP地址信息,使得该IP地址信息覆盖A和B融合之后的新网络A+B ;最后以新的IP地址重新启动节点;
33225)新加入的节点,并从步骤25)往下执行;
3323)若A〈B,然后按照步骤22)中的具体步骤对应处理;
3324)若A=B,不能通过节点数目判断需要调整哪个网络中的IP地址时,比较A和B两个网络的NET_MAC,选NET_MAC值较小的网络进行IP地址调整。调整过程同步骤22)和步骤23 ;
3325)直连节点的探索引起网络的融合时,A和B网络中节点收到来自B和A网络的DIRLINK_SEARCH消息后;对A和B网络中的NET_MAC值进行比较,由NET_MAC值较大的一方节点进行处理,处理过程重复步骤3322),3323),3324)。本发明采用UDP通信技术,通过多个手机通信节点的协作通信,可以将多个手机通信节点自动的组织成ー个Ad-Hoc网络,并且在节点移动的状态下,对网络的拓扑的变化进行实时的监控和处理。上述手机通信节点组成的Ad-Hoc网络为手机之间的数据通信提供了一种新的网络平台,可以为多种手机通信应用提供网络基础。


图I系统场景结构图,
图2新节点的加入处理流程,
图3网络融合处理流程,
图4直连节点检测处理流程,
图5节点离开网络的处理流程。
具体实施例方式下面结合附图对本发明进行详细说明。图I是系统的场景图,是由多部Android手机组成的自组织网络。每个手机上都装有相同的本发明所设计的Wi-Fi网卡ad-hoc模式管理器、自动IP地址分配管理器和网络拓扑管理器。当ー个手机启动并运行以上管理器之后,会和周围一定范围内(Wi-Fi网卡ad-hoc模式的通信范围)其他启动并运行了相同管理器的手机组成Ad-Hoc网络。节点启动并运行以上管理器之后的具体操作步骤包括新节点加入,直连节点检测和維持以及节点的离开。新节点的加入过程中,节点除了要获得自身节点在网络中的可用IP地址之外,还需要检测自身节点的加入之后,是否可以使两个网络融合成ー个网络。新节点加入的处理过程如下
当一个节点加入时,其操作流程如图2所示。新的节点初始化ー个最大IP地址,然后广播IP地址请求消息,来检测周围是否已经存在ー个网络。如果不存在网络的话,新的节点在延时等待后不会收到IP地址请求回复,因此认为自己是网络中的第一个节点,从而修改自身IP地址为最小IP地址,自身作为第一个节点加入网络。如果存在网络的话,新的节点会从网络中的已有节点接收到IP地址请求回复。节点收到IP地址请求的回复之后会检测IP地址请求的回复是否来自于同一个网络。如果IP地址请求回复是来自同一个网络, 则节点从IP地址请求回复消息中附帯的全局IP地址信息中得到自身节点的可用IP地址,重置IP地址后加入网络。如果IP地址请求回复不是来自同一个网络,说明自身节点的加入可以使得两个网络融合成一个网络,这时需要转入网络融合的处理过程。网络融合的处理流程如下
当两个网络可以融合成ー个网络时,其操作流程如图3所示。网络融合的处理节点分别取得两个网络A和B的网络MAC和全局IP地址信息,然后通过全局IP地址信息比较A和B中已有节点的数目来判断需要改动哪个网络的节点IP地址,以求需要改动IP地址的节点尽可能的少。通过节点数目比较,若A>B时,需要修改B网络中节点的IP地址。此时网络融合的处理节点通过A和B的全局IP地址信息,计算出B网络的新的全局IP地址信息和网络MAC,然后flooding—个IP地址调整的消息给A和B。消息中会附带A和B网络的两个全局IP地址信息,以及需要调整IP地址的网络的MAC,一起融合后新网络的MAC。A网络中的节点收到该消息后,通过判断消息中附帯的需要调整IP地址的网络的MAC值判断到自身节点不需要更改IP地址,然后通过消息中附帯的B网络的新的全局IP地址信息,将自身节点记录的A网络的全局IP地址信息更新为融合后网络A+B的全局IP地址信息。B网络中的节点收到消息后判断到自身节点需要调整IP地址,然后通过比对自身节点保存的旧的全局IP地址信息和消息中的新的IP地址信息,取得自身节点的新IP地址和更新全局IP地址信息,然后重置IP地址,重启节点。若〈B时的处理过程与A>B时类似。若A=B时,此时不能通过节点数目来判断A和B需要调整哪个网络中的节点IP地址。此时按照比较A和B网络的网络MAC值大小来处理,MAC值小的网络来调整IP地址,处理过程同样和上述过程类似。图4展示了直连节点的检测和維持处理过程。节点加入网络后,需要开启ー个线程。周期性的检测可以与自身节点直接通信的节点,然后把这些节点的IP地址记录成直连节点的列表,以便用于消息的转发和上层路由协议的设计。直连节点的检测和維持处理过程如下
新节点加入网络后,开启ー个直连节点的检测和维持线程。线程每2秒广播一次直连节点探索消息(DIRLINK_SEARCH),然后向直连节点列表中的节点发送ー个直连节点确认消息(DIRLINK_CONFIRM)。发送DIRLINK_CONFIRM消息之前,节点需要为直连节点列表中的节点初始化ー个boolean类型的列表,用来标记是否收到相应节点对于DIRLINK_CONFIRM消息的回复。其他节点收到DIRLINK_SEARCH消息后,判断直连节点列表中是否已有该节点,有则忽略,无则添加;收到DIRLINK_CONFIRM后,回复DIRLINK_CONFIRM_REPLY消息。节点在发送完DIRLINK_CONFIRM消息后,进行延时等待,然后检查预先设置的boolean类型的列表,判断哪些节点没有回复该消息,然后将这些节点移除出直连节点列表。节点收到DIRLINK_SEARCH消息后,还需要将消息中附带的网络MAC和自身节点存储的网络MAC进行比较,若发现网络MAC值不同,则说明有其他网络的节点移动到了自身网络的通信范围。此时两个网络可以融合成一个网络,需要转入图3所示网络融合的处理流程。图5展示了节点离开时的两种处理流程,一种是节点退出ad-hoc网络,由收到来自节点的IP_RELEASE消息得到。一种是节点移出当前网络,节点移出网络是通过节点的IP 地址有效时间超过之后,没有收到来自节点的IP_ALIVE消息得到。这两种节点离开网络的方式,都可能造成当前网络断裂成两个不相交的网络,这时候会造成网络的分割。网络分割的处理最主要的目的是为了在网络断裂成两个不想交的网络之后,能够使得ー个网络回收另外ー个网络中的IP地址,使得IP地址能够重用,避免使得网络经过多次的分割后,由于没有回收IP地址,使得网络最終只能变成容量很小的多个独立网络。另外,在节点离开网络时,网路还需要判断离开的节点MAC是否为网络MAC。如果是的话,节点会转入锁定状态,暂停用户数据传输,直连节点操作和新节点的请求响应操作,等待新的网络MAC声明。新的网络MAC声明由节点离开之后,网络中IP地址最小的节点做出。网络中的节点在判断出有MAC值为网络MAC的节点离开之后,会判断自身IP地址是否为网络中的最小IP地址。如果是则flooding —个网络MAC声明,将自己的MAC值声明为网络MAC,如果不是的话,转入锁定状态等待其他节点的网络MAC声明。本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。
权利要求
1.一种基于Android手机的移动自组网系统,其特征在于,包括若干个具有Wi-Fi网卡的Android手机作为通信节点,在姆个手机上都构建有 Wi-Fi网卡ad-hoc模式管理器用来管理手机Wi-Fi网卡的ad-hoc模式的开启和关闭; 自动IP地址分配管理器为每个开启ad-hoc模式后的手机分配ー个通信IP地址,并保证该IP地址在构建后的Ad-Hoc网络中的唯一性; 网络拓扑管理器节点移动状态下,实现对网络分割和融合的检测,并对网络中的节点IP地址做出调整,保证手机IP地址的唯一性; 在这些Android手机启动并运行以上管理器后,即可组成ー个Ad-Hoc网络系统,实现彼此通信。
2.—种权利要求I所述基于Android手机的移动自组网系统的构建方法,其特征在于包括以下步骤 DWi-Fi网卡ad-hoc模式管理,其具体步骤包括 11)将Linux环境下wirelesstools移植到Android系统源代码中,编译Android系统源代码,生成iwconfig和ifconfig ニ进制可执行文件; 12)将步骤11)中生成的两个可执行文件拷贝到Android手机通信节点中; 13)在ad-hoc模式管理器启动时,判断和记录Wi-Fi网卡当前状态,如Wi-Fi网卡处于开启状态则关闭Wi-Fi网卡; 14)调用步骤12)中的可执行文件,添加參数,启动Wi-Fi网卡的ad-hoc模式; 15)在ad-hoc模式管理器关闭时,调用步骤121)中的可执行文件,关闭Wi-Fi网卡的ad-hoc 模式; 16)根据步骤13)记录的Wi-Fi网卡状态,还原Wi-Fi网卡状态; 2)自动IP地址分配管理在通信节点启动Wi-Fi网卡的ad-hoc模式之后,通过UDP通信的方式向所在网络索取可用IP地址,网络中的已有通信节点在收到IP地址请求时回复可用IP地址,新的通信节点使用IP地址后向网络发送IP地址使用通告,若新的通信节点在规定时间内未获得可用IP地址的回复,则初始化IP地址为网络IP起始地址; 3)网络拓扑管理在节点移动的情况下,对两个独立ad-hoc网络的融合和ad-hoc网络的分割做出检测和处理,并保证在ー个ad-hoc网络中,节点IP地址的唯一性。
3.根据权利要求2所述的基于Android手机的移动自组网系统的构建方法,其特征在于步骤2)流程是 21)新的节点ad-hoc模式启动之后,初始化自身IP地址为网段最大IP地址; 22)广播IP地址请求消息即IP地址_REQUEST,广播之后进行延时等待; 23)延时过程中,若已有其他节点加入网络,网络中的节点收到IP地i_REQUEST之后,会向IP地址请求节点发送IP地址请求回复即IP地址_REQUEST_REPLY,消息中附带自身节点记录的全局IP地址信息; 24)延时结束之后,查看是否收到IP地址_REQUEST_REPLY; 25)若收到IP地址_REQUEST_REPLY消息,从消息中附带的全局IP地址信息中取出可用IP地址设置为新的IP地址,并记录所有回复IP地址_REQUEST_REPLY的通信节点,作为直连节点,重启ad-hoc模式;若没有收到IP地址_REQUEST_REPLY消息,则认为目前网络中没有节点,重新设置IP地址为网段中最小IP地址,重启ad-hoc模式; 26)重启之后,向直连节点发送IP地址确认消息,即IP_CONFIRM; 27)网络中其他通信节点收到IP_CONFIRM之后,更新全局IP地址信息,并向直连节点转发该消息; 28)当通信节点退出网络时,发送IP地址回收消息,即IP_RELEASE,关闭ad-hoc模式,还原Wi-Fi状态; 29)网络中其他通信节点收到IP_RELEASE之后,更新全局IP地址信息,并向直连节点转发该消息。
4.根据权利要求2或3所述的基于Android手机的移动自组网系统的构建方法,其特征在于,步骤3)包括以下内容 31)直连节点管理每个通信节点加入网络之后,开启ー个广播线程,定时发送ー个直连节点探索消息即DIRLINK_SEARCH和ー个直连节点确认消息即DIRLINK_CONFIRM,并为所有直连节点初始化ー个boolean类型的列表REPLY_LIST,标记是否收到相应节点的回复;延时等待之后,将REPLY_LIST中值为false的节点移出直连节点列表;节点收到DIRLINK_SEARCH吋,更新直连节点列表;收到DIRLINK_CONFIRM吋,向发送节点回复直连节点确认回复即 DIRLINK_CONFIRM_REPLY ;收到 DIRLINK_CONFIRM_REPLY 时,将 REPLY_LIST 相应位置值为true ; 32)网络MAC值管理网络中,采用IP地址最小节点的MAC值作为网络的MAC值,同时在网络MAC为自身节点MAC的节点退出的情况下,对网络MAC做出更新; 33)网络融合管理在节点移动的情况下,对两个通信范围原本不相交的两个网络出现通信范围的交叉时,把两个单独的ad-hoc网络融合成ー个网络进行处理,以避免IP地址冲关; 34)网络分割管理在节点移动或退出网络的状态下,使得一个网络分割成两个网络时,能够回收节点的IP地址进行重用,具体操作方法是每个节点为网络中的已有IP地址维护ー张有效时间表,并进行IP地址有效时间的计时;其中对于自身IP地址有效时间为T,其他节点IP地址有效时间为T+网络flooding时间;当自身IP地址有效时间结束时,向网络flooding—个IP地址续约消息即IP地i_ALIVE,并重新设置时间;当其他节点有效时间结束时,修改全局IP地址信息,将该IP地址回收; 当节点收到IP地址_ALIVE消息时,会重新设置该IP地址的有效时间。
5.根据权利要求4中所述的基于Android手机的移动自组网系统的构建方法,其特征在于,步骤32)的具体流程是 321)第一个节点加入网络是即设置网络MAC为自身MAC, 322)新的节点加入网络时,收到的IP地址_REQUEST_REPLY中会附带网络MAC值即NET_MAC,新节点加入网络后采用这个值作为网络MAC ; 323)收到某个节点的IP地址_RELEASE消息之后或在某个节点IP地址有效期计时结束后,判断该节点的MAC值是否为网络MAC值,若是网络MAC值,则查询全局IP地址信息,查看自身IP地址是否为最小IP地址;若是,则flooding —个网络MAC声明消息即NETW0RK_MAC,内容为自身节点MAC,并将网络MAC值改为自身MAC ;若不是,则网络转入LOCK状态;若不是网路MAC值,IP地址正常回收。
6.根据权利要求4中所述的基于Android手机的移动自组网系统的构建方法,其特征在于,步骤33)的具体流程是 331)网络融合情况的判断网络融合的判断,通过对消息中附帯的网络MAC信息进行检测来完成,网络需要在两种情况下来判断和处理融合新节点的加入和直连节点的探索,具体步骤如下 3311)新节点的加入节点在收到IP地址_REQUEST_REPLY消息之后,将消息中附带的NET_MAC和全局IP地址信息以键值对的形式存储,最后判断若存在两个键则新节点的加入可以使两个网络融合; 3312)直连节点的探索节点在搜到DIRLINK_SEARCH消息之后,判断消息中附带的NET_MAC和自身节点存储的NET_MAC是否相等,若不相等,说明有新的节点移动到了自身网络的覆盖范围,可以使两个网络融合; 332)网络融合情况的处理判断两个网络可以融合之后,flooding—个网络锁定消息,NET_L0CK消息,将网络中所有节点锁定,此时网络中节点暂停数据传输,新节点请求响应和直连节点探測;然后,对网络中的IP地址和网络MAC进行调整,保证同一个网络中IP地址的唯一性;IP地址调整时以改动IP地址的节点数目尽可能小为原则;具体步骤如下 3321)新节点加入引起网络融合时,从收到的来自两个网络,设为网络A和网络B,的消息中取出两个网络的全局IP地址信息,判断A和B中的节点数目; 3322)若A>B,对B网络的IP地址进行调整,具体步骤如下 33221)从A和B的全局IP地址信息中计算出网络需要使用的新的IP地址信息和自身节点的可用IP地址; 33222)清除收到IP_REQUEST_REPLY消息时记录的直连节点列表; 33223)广播IP地址调整消息即IP_C00RDINAT,消息中,网络MAC为网络A的NET_MAC,附帯A网络的全局IP地址信息和步骤221)中计算出的B网络的全局IP地址信息和需要调整的网络的NET_MAC即网络B的MAC,以便B网络节点收到该消息后,判断出是自己网络中的节点需要进行IP地址调整; 33224)A和B网络中的节点收到IP_C00RDINAT消息后,flooding这个消息;A网络中节点根据消息中的A和B网络的全局IP地址信息更新节点保存的全局IP地址信息,使得该IP地址信息覆盖A和B融合之后的新网络A+B ;B网络中的节点收到IP_C00RDINAT消息后,flooding这个消息;然后,根据消息中附帯的B网络的新的全局IP地址信息计算出自身节点的新IP地址,同时根据消息中的A和B网络的全局IP地址信息更新节点保存的全局IP地址信息,使得该IP地址信息覆盖A和B融合之后的新网络A+B ;最后以新的IP地址重新启动节点; 33225)新加入的节点,并从步骤25)往下执行; 3323)若A〈B,然后按照步骤22)中的具体步骤对应处理; 3324)若A=B,不能通过节点数目判断需要调整哪个网络中的IP地址时,比较A和B两个网络的NET_MAC,选NET_MAC值较小的网络进行IP地址调整,调整过程重复步骤22)和步骤23 ; 3325)直连节点的探索引起网络的融合时,A和B网络中节点收到来自B和A网络的DIRLINK_SEARCH消息后;对A和B网络中的NET_MAC值进行比较,由NET_MAC值较大的一方节点进行处理,处理过程重复步骤3322),332 3),3324)。
全文摘要
本发明公开了一种基于Android手机的移动自组网系统及其构建方法,该系统主要包括多部Android手机和安装在手机上的Wi-Fi网卡ad-hoc模式管理器、自动IP地址分配管理器和网络拓扑管理器。构建方法包括手机Wi-Fi的ad-hoc模式的开启,网络中节点IP地址的自动分配和节点移动状态下网络拓扑的融合。用户在多部Android手机上启动并运行以上管理器后,即可将这些手机组成一个Ad-Hoc网络系统。该系统支持移动网络拓扑环境下Android手机IP地址自动分配,能保证同一个网络中每个手机节点的IP地址唯一性。
文档编号H04W84/18GK102790963SQ201210251730
公开日2012年11月21日 申请日期2012年7月20日 优先权日2012年7月20日
发明者叶保留, 王尧, 陆桑璐 申请人:南京大学镇江高新技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1