CN102790963A - 基于Android手机的移动自组网系统及其构建方法 - Google Patents
基于Android手机的移动自组网系统及其构建方法 Download PDFInfo
- Publication number
- CN102790963A CN102790963A CN201210251730XA CN201210251730A CN102790963A CN 102790963 A CN102790963 A CN 102790963A CN 201210251730X A CN201210251730X A CN 201210251730XA CN 201210251730 A CN201210251730 A CN 201210251730A CN 102790963 A CN102790963 A CN 102790963A
- Authority
- CN
- China
- Prior art keywords
- network
- address
- node
- message
- mac
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于Android手机的移动自组网系统及其构建方法,该系统主要包括多部Android手机和安装在手机上的Wi-Fi网卡ad-hoc模式管理器、自动IP地址分配管理器和网络拓扑管理器。构建方法包括手机Wi-Fi的ad-hoc模式的开启,网络中节点IP地址的自动分配和节点移动状态下网络拓扑的融合。用户在多部Android手机上启动并运行以上管理器后,即可将这些手机组成一个Ad-Hoc网络系统。该系统支持移动网络拓扑环境下Android手机IP地址自动分配,能保证同一个网络中每个手机节点的IP地址唯一性。
Description
技术领域
本发明涉及移动自组(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手机的移动自组网系统的构建方法,其包括以下步骤:
1)Wi-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地址_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地址信息,并向直连节点转发该消息。
上述步骤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地址_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声明消息即NETWORK_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_LOCK消息,将网络中所有节点锁定,此时网络中节点暂停数据传输,新节点请求响应和直连节点探测;然后,对网络中的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_COORDINAT消息后,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网络为手机之间的数据通信提供了一种新的网络平台,可以为多种手机通信应用提供网络基础。
附图说明
图1 系统场景结构图,
图2 新节点的加入处理流程,
图3 网络融合处理流程,
图4 直连节点检测处理流程,
图5 节点离开网络的处理流程。
具体实施方式
下面结合附图对本发明进行详细说明。
图1是系统的场景图,是由多部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声明。
本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。
Claims (6)
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.一种权利要求1所述基于Android手机的移动自组网系统的构建方法,其特征在于包括以下步骤:
1)Wi-Fi网卡ad-hoc模式管理,其具体步骤包括:
11)将Linux环境下wireless tools移植到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地址_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地址_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声明消息即NETWORK_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_LOCK消息,将网络中所有节点锁定,此时网络中节点暂停数据传输,新节点请求响应和直连节点探测;然后,对网络中的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_COORDINAT消息后,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)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210251730.XA CN102790963B (zh) | 2012-07-20 | 2012-07-20 | 基于Android手机的移动自组网系统及其构建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210251730.XA CN102790963B (zh) | 2012-07-20 | 2012-07-20 | 基于Android手机的移动自组网系统及其构建方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102790963A true CN102790963A (zh) | 2012-11-21 |
CN102790963B CN102790963B (zh) | 2015-05-27 |
Family
ID=47156244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210251730.XA Active CN102790963B (zh) | 2012-07-20 | 2012-07-20 | 基于Android手机的移动自组网系统及其构建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102790963B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103228065A (zh) * | 2013-04-09 | 2013-07-31 | 天脉聚源(北京)传媒科技有限公司 | 基于Wi-Fi的移动设备及其进行自组网的方法、系统 |
WO2014161494A1 (zh) * | 2013-09-25 | 2014-10-09 | 中兴通讯股份有限公司 | 数据处理方法、设备和计算机存储介质 |
WO2014173186A1 (en) * | 2013-04-23 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and terminal device for data transmission of a wi-fi network |
CN104540180A (zh) * | 2014-12-12 | 2015-04-22 | 于卫波 | 一种无需根权限的安卓多跳路由实现方法 |
CN104582008A (zh) * | 2015-01-19 | 2015-04-29 | 西安电子科技大学 | 一种Android手机自组织网系统的建立方法 |
CN104780588A (zh) * | 2014-01-10 | 2015-07-15 | 中国电信股份有限公司 | 用于控制传感节点加入的方法和汇聚节点 |
WO2016015195A1 (en) * | 2014-07-28 | 2016-02-04 | Motorola Solutions, Inc. | Methods and systems for presenting alert when leaving direct-mode coverage area |
CN105592520A (zh) * | 2016-01-07 | 2016-05-18 | 云南民族大学 | 一种ZigBee终端节点自动组网方法 |
CN105744563A (zh) * | 2016-05-10 | 2016-07-06 | 南京大学 | 一种基于蓝牙协作的adhoc网络多信道通信方法 |
CN105764107A (zh) * | 2016-02-24 | 2016-07-13 | 北京众享比特科技有限公司 | 一种无线终端以及无线终端之间的通讯方法 |
CN106376009A (zh) * | 2016-10-31 | 2017-02-01 | 金陵科技学院 | 自组网宽带无线通讯网组 |
CN107528721A (zh) * | 2017-06-05 | 2017-12-29 | 北京理工大学 | 一种Android移动终端中利用MAC地址自动组网及数据转发方法 |
CN110139399A (zh) * | 2019-04-25 | 2019-08-16 | 中国科学院上海微系统与信息技术研究所 | 一种移动多跳自组网及其组网方法 |
CN110392074A (zh) * | 2018-04-19 | 2019-10-29 | 贵州白山云科技股份有限公司 | 一种基于动态加速的调度方法及装置 |
CN111541795A (zh) * | 2020-04-17 | 2020-08-14 | 深圳市三旺通信股份有限公司 | 地址的分配方法、装置、设备及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101600156A (zh) * | 2009-06-03 | 2009-12-09 | 南京邮电大学 | 一种移动自组织网络地址自动分配方法 |
CN101702791A (zh) * | 2009-01-13 | 2010-05-05 | 广州市香港科大霍英东研究院 | 基于Ad Hoc组网技术的手机即时通讯与文件共享系统 |
CN102201846A (zh) * | 2011-05-27 | 2011-09-28 | 珠海市魅族科技有限公司 | 基于soft AP技术的无线数据传输系统及其方法 |
-
2012
- 2012-07-20 CN CN201210251730.XA patent/CN102790963B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702791A (zh) * | 2009-01-13 | 2010-05-05 | 广州市香港科大霍英东研究院 | 基于Ad Hoc组网技术的手机即时通讯与文件共享系统 |
CN101600156A (zh) * | 2009-06-03 | 2009-12-09 | 南京邮电大学 | 一种移动自组织网络地址自动分配方法 |
CN102201846A (zh) * | 2011-05-27 | 2011-09-28 | 珠海市魅族科技有限公司 | 基于soft AP技术的无线数据传输系统及其方法 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103228065B (zh) * | 2013-04-09 | 2016-05-18 | 天脉聚源(北京)传媒科技有限公司 | 基于Wi-Fi的移动设备及其进行自组网的方法、系统 |
CN103228065A (zh) * | 2013-04-09 | 2013-07-31 | 天脉聚源(北京)传媒科技有限公司 | 基于Wi-Fi的移动设备及其进行自组网的方法、系统 |
WO2014173186A1 (en) * | 2013-04-23 | 2014-10-30 | Tencent Technology (Shenzhen) Company Limited | Method, apparatus and terminal device for data transmission of a wi-fi network |
WO2014161494A1 (zh) * | 2013-09-25 | 2014-10-09 | 中兴通讯股份有限公司 | 数据处理方法、设备和计算机存储介质 |
US9414385B2 (en) | 2013-09-25 | 2016-08-09 | Zte Corporation | Data processing method, device and computer storage medium |
CN104780588A (zh) * | 2014-01-10 | 2015-07-15 | 中国电信股份有限公司 | 用于控制传感节点加入的方法和汇聚节点 |
GB2542534B (en) * | 2014-07-28 | 2019-08-07 | Motorola Solutions Inc | Methods and systems for presenting alert when leaving direct-mode coverage area |
CN106537958A (zh) * | 2014-07-28 | 2017-03-22 | 摩托罗拉解决方案公司 | 用于当离开直接模式覆盖区时呈现报警的方法和系统 |
WO2016015195A1 (en) * | 2014-07-28 | 2016-02-04 | Motorola Solutions, Inc. | Methods and systems for presenting alert when leaving direct-mode coverage area |
CN106537958B (zh) * | 2014-07-28 | 2019-06-04 | 摩托罗拉解决方案公司 | 用于当离开直接模式覆盖区时呈现报警的方法和系统 |
US9961179B2 (en) | 2014-07-28 | 2018-05-01 | Motorola Solutions, Inc. | Methods and systems for presenting an alert when leaving a direct-mode coverage area |
GB2542534A (en) * | 2014-07-28 | 2017-03-22 | Motorola Solutions Inc | Methods and systems for presenting alert when leaving direct-mode coverage area |
CN104540180A (zh) * | 2014-12-12 | 2015-04-22 | 于卫波 | 一种无需根权限的安卓多跳路由实现方法 |
CN104540180B (zh) * | 2014-12-12 | 2017-10-24 | 于卫波 | 一种无需根权限的安卓多跳路由实现方法 |
CN104582008B (zh) * | 2015-01-19 | 2017-12-19 | 西安电子科技大学 | 一种Android手机自组织网系统的建立方法 |
CN104582008A (zh) * | 2015-01-19 | 2015-04-29 | 西安电子科技大学 | 一种Android手机自组织网系统的建立方法 |
CN105592520A (zh) * | 2016-01-07 | 2016-05-18 | 云南民族大学 | 一种ZigBee终端节点自动组网方法 |
CN105764107A (zh) * | 2016-02-24 | 2016-07-13 | 北京众享比特科技有限公司 | 一种无线终端以及无线终端之间的通讯方法 |
CN105744563B (zh) * | 2016-05-10 | 2019-01-11 | 南京大学 | 一种基于蓝牙协作的adhoc网络多信道通信方法 |
CN105744563A (zh) * | 2016-05-10 | 2016-07-06 | 南京大学 | 一种基于蓝牙协作的adhoc网络多信道通信方法 |
CN106376009A (zh) * | 2016-10-31 | 2017-02-01 | 金陵科技学院 | 自组网宽带无线通讯网组 |
CN107528721A (zh) * | 2017-06-05 | 2017-12-29 | 北京理工大学 | 一种Android移动终端中利用MAC地址自动组网及数据转发方法 |
CN107528721B (zh) * | 2017-06-05 | 2020-10-09 | 北京理工大学 | 一种Android移动终端中利用MAC地址自动组网及数据转发方法 |
CN110392074A (zh) * | 2018-04-19 | 2019-10-29 | 贵州白山云科技股份有限公司 | 一种基于动态加速的调度方法及装置 |
CN110392074B (zh) * | 2018-04-19 | 2022-05-17 | 贵州白山云科技股份有限公司 | 一种基于动态加速的调度方法及装置 |
CN110139399A (zh) * | 2019-04-25 | 2019-08-16 | 中国科学院上海微系统与信息技术研究所 | 一种移动多跳自组网及其组网方法 |
CN111541795A (zh) * | 2020-04-17 | 2020-08-14 | 深圳市三旺通信股份有限公司 | 地址的分配方法、装置、设备及计算机可读存储介质 |
CN111541795B (zh) * | 2020-04-17 | 2023-02-14 | 深圳市三旺通信股份有限公司 | 地址的分配方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102790963B (zh) | 2015-05-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102790963A (zh) | 基于Android手机的移动自组网系统及其构建方法 | |
CN109041136B (zh) | 一种插入smf的方法及amf实体 | |
US20220046088A1 (en) | Systems and methods for distributing partial data to subnetworks | |
US6982960B2 (en) | Protocol for self-organizing network using a logical spanning tree backbone | |
US10264468B1 (en) | Method and apparatus of supporting wireless femtocell clusters | |
EP3046351B1 (en) | Method and system for realizing a walkie-talkie function over wifi | |
US20130003654A1 (en) | Mesh Node Role Discovery and Automatic Recovery | |
CN105391637B (zh) | 用于通信的方法、网络节点和计算机可读存储介质 | |
CN105744579A (zh) | 终端在ap间切换的方法、切换控制装置及接入装置 | |
CN103516531A (zh) | 一种自动发现网元的方法及对应网元、网管装置 | |
CN102651860B (zh) | 一种设备管理方法及装置 | |
US9294970B1 (en) | Self-healing algorithm to overcome handover failure due to out-of-date neighbor list | |
CN111886843B (zh) | 低功耗蓝牙网络维护方法、电子设备、蓝牙网络和介质 | |
CN104219727A (zh) | 多出口异构无线网络及路由方法 | |
CN103139081A (zh) | 分布式哈希表路由表更新方法及节点 | |
KR100825735B1 (ko) | 지그비 네트워크 상의 통신 불가 노드에 대한 주소 공간관리 방법 | |
CN114448866B (zh) | 网络域的管控方法、网络系统、设备及存储介质 | |
US20080008201A1 (en) | Communication terminal, a method for communication, and a program strorage medium storing a program thereof | |
CN104618931A (zh) | 一种建立小区参数映射关系的方法、传输方法及设备 | |
US9980088B2 (en) | Distributed geospatial communications system | |
US9301218B1 (en) | Overcoming handover failure due to out-of-date neighbor list | |
CN103458474B (zh) | 多自组织网络管理方法和装置 | |
CN105049259A (zh) | 网络设备及用于网络设备的服务器、系统及方法 | |
JP6074828B2 (ja) | 自動的にx2構成を削除するための方法、基地局、及びネットワークシステム | |
CN108123814B (zh) | 一种为小基站分配网络参数的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |