具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
术语“AP”:Access Point的缩写,即访问接入点,相当于一个连接有线网和无线网的桥梁,其主要作用是将各个无线网络客户端连接到一起,然后将无线网络接入以太网。
术语“网关”:包括AP、路由器、交换机等。
术语“特征数据”:一种标识符,通过判断特征数据来确定特征数据指示的数据是否为需要的数据,例如特征数据可以是有着特殊长度的MAC帧。
术语“索引号”:将网络配置信息的值分为2个以上的部分后,依次为每一部分分配该索引号,用于标识每一部分在网络配置信息的值中所处的位置。
现在参照图1,图1表示根据一些说明性实施例的基于组播技术发送网络配置信息的wifi终端的示意图。
如图1所示,在一些说明性实施例中的基于组播技术发送网络配置信息的wifi终端100包括:地址模块101和发送模块102。地址模块101用于根据网络配置信息生成含有至少一个组播地址的地址列表。发送模块102用于连续发送至少一个MAC帧;其中:每一个MAC帧的帧头中的目的地址与地址列表中的一个组播地址一一对应;网络配置信息用于接收方接入网络。
在一些说明性实施例中,wifi终端100通过生成包含网络配置信息的至少一个组播地址,使得作为接收方的wifi终端不仅能通过组播地址这一特征确认该组播地址中包含网络配置信息,还能从该组播地址中获取到部分或者全部的网络配置信息,作为发送方的wifi终端100不需要断开网络,加速了作为接收方的wifi终端接入网络的速度。
在一些说明性实施例中,发送模块102包括:第一发送模块1021。第一发送模块1021用于在连续发送至少一个MAC帧之前,发送第一MAC帧。第一MAC帧的帧头中的目的地址所对应的组播地址中包含特征数据;其中,特征数据用于向接收方指示:后续接收到的MAC帧的帧头中目的地址所对应的组播地址中至少部分比特用于指示网络配置信息的至少部分值。这些实施例中,通过第一发送模块1021发送包含特征数据的第一MAC帧,使得接收方可以对收到的MAC帧进行预判,提高接收网络配置信息的准确性和效率。
在一些说明性实施例中,wifi终端100还包括:特征数据模块103。特征数据模块103用于存储特征数据并将特征数据发送给地址模块101,并指示地址模块101接收所述特征数据并使生成的每一个组播地址中均包含所述特征数据。其中,特征数据用于向接收方指示:组播地址中至少部分比特用于指示所述网络配置信息的至少部分值。
在一些说明性实施例中,地址模块101用于根据网络配置信息生成一个组播地址;其中,组播地址中的至少部分比特用于指示网络配置信息的值。这些实施例中,通过一个MAC帧就可以将网络配置信息全部传送完毕。其中,特征数据用于向接收方指示,每一个组播地址中至少部分比特用于指示至少一部分的网络配置信息的值。这些实施例中,通过设置特征数据模块103使得接收方能快速和准确地判断收到的组播地址是否包含网络配置信息。
在一些说明性实施例中,地址模块101用于将网络配置信息的值分为2个以上的部分后,根据网络配置信息生成两个以上的组播地址。其中,每一部分的网络配置信息的值由一个组播地址中的至少部分比特指示,每一个组播地址中的至少部分比特用于指示至少一部分的网络配置信息的值。这些实施例中,网络配置信息通过多个组播地址发送。这种方式特别适用于网络配置信息包含的信息较多,无法通过一个MAC帧发送完毕的情况。这些说明性实施例中,地址模块101生成的两个以上的组播地址中的每一个组播地址中可以均包含特征数据。
在一些说明性实施例中,wifi终端100还包括:索引号模块104。在地址模块101将网络配置信息的值分为2个以上的部分后,索引号模块104用于按照每一部分在网络配置信息的值中所处的位置,依次为每一部分的网络配置信息的值分配索引号。此时,地址模块101在根据网络配置信息生成地址列表的过程中,对于地址列表中包含的每一个组播地址,该组播地址所指示的部分网络配置信息的索引号由该组播地址中的部分比特来指示。这些实施例中,便于接收方识别接收到的每一部分的网络配置信息的值在网络配置信息的值中所处的位置,从而将收到的每一部分网络配置信息快速组合得到完整的网络配置信息。
在一些说明性实施例中,wifi终端100还包括:网络配置信息的值的长度模块105。在地址模块101根据网络配置信息生成地址列表的过程中,对于地址列表中的每一个组播地址,网络配置信息的值的长度模块105用于由该组播地址中的部分比特、或者由该组播地址所在MAC帧中包含的数据包的长度来指示该组播地址所指示的部分网络配置信息的值的长度或者网络配置信息的值的长度。该至少部分网络配置信息的值的长度用于指示:组播地址中至少部分比特用于指示网络配置信息的至少部分值。这些实施例中,通过设置该模块使得发送的网络配置信息使组播地址中包含网络配置信息的值的长度的信息。
在一些说明性实施例中,wifi终端100还包括:数据包长度模块106。数据包长度模块106用于使组播地址所在MAC帧中包含的数据包的长度表示网络配置信息的一个值。这些实施例中,一个MAC帧除了通过组播地址携带网络配置信息的值,还可以通过数据包长度来表示网络配置信息的值,使得一个MAC帧可以携带更多的网络配置信息的值。wifi终端100可以通过协议或者算法使数据包长度表示网络配置信息的值,相应地,接收方通过预置该协议或者算法以便解析该帧长代表的含义。
在一些说明性实施例中,wifi终端100还包括:第一算法模块107。在地址模块101根据网络配置信息生成地址列表的过程中,对于地址列表中的每一个组播地址,算法模块107用于由该组播地址所指示的网络配置信息的至少部分值结合特定参数计算得到该组播地址中用于指示所述网络配置信息的至少部分值的比特的值。其中,特定参数包括:特征数据、该组播地址所指示的至少部分网络配置信息的值的长度及该组播地址所指示的部分网络配置信息的索引号中的任意一个或任意组合。这些实施例中,网络配置信息通过与特定参数之间建立算法得到组播地址的比特的值来编码网络配置信息,使网络配置信息不采用明文的方式传送,增加了网络配置信息传送安全性。
在一些说明性实施例中,wifi终端100还包括:第二算法模块108。在地址模块101根据网络配置信息生成地址列表的过程中,第二算法模块108用于使网络配置信息的至少部分值、特征数据、该组播地址所指示的网络配置信息的至少部分值的长度和该组播地址所指示的部分网络配置信息的索引号中的至少两个之间具有算法关系。这些实施例中,通过设置第二算法模块108可以使网络配置信息和其他参数之间具有算法关系,便于接收方对收到的网络配置信息进行预判,以确定其是否是需要的网络配置信息。
在一些说明性实施例中,wif终端100还包括:发送方地址模块109和网关地址模块110。发送方地址模块109用于在每一个MAC帧的帧头中添加发送方的MAC地址。网关地址模块110用于在每一个MAC帧中添加网关的MAC地址。这些实施例中,添加的发送方的MAC地址便于接收方过滤接收到的MAC帧,使接收方只接收包含发送方的MAC地址的数据帧。添加网关的MAC地址使得接收方可以识别应加入网关的SSID。
在一些说明性实施例中,wif终端100还包括:反馈模块111。反馈模块111用于接收该接收方在根据获取到的网络配置信息接入网络后所反馈的接入成功的消息。这些实施例中,通过该模块,wifi终端100可以获知接收方是否已经接入网络,从而使wifi终端100在对方接入网络后停止发送数据包,节省网络空间。
在一些说明性实施例中,网络配置信息包括无线网的密码和/或者SSID。当环境中只有一个网络时,可以只发送无线网的密码就能使接收方接入网络。当环境中包含多个网络时,为了便于接收方快速接入网络,可以同时发送无线网密码和SSID,避免接收方对每一个网络尝试接入。当接收方中已经预置了密码,可以只发送SSID,以使接收方识别该密码可加入的网络。
在一些说明性实施例中,wifi终端100可以为例如具有人机交互界面和wifi功能的家电设备、PC、台式计算机、移动计算机、膝上型计算机、笔记本计算机、平板计算机(tablet computer)、服务器计算机、手持计算机、手持装置、PDA装置、手持PDA装置、板载装置、板外装置、混合装置(例如将蜂窝电话功能性与PDA装置功能性组合)、消费装置、车载装置、非车载装置、移动或便携式装置、非移动或非便携式装置、蜂窝电话、PCS装置、结合无线通信装置的PDA装置、移动或便携式GPS装置、DVB装置、较小计算装置、非台式计算机、“尺寸更小性能更高”(CSLL)装置、超移动装置(UMD)、超移动PC(UMPC)、移动因特网装置(MID)、“Origami”装置或计算装置、支持可动态组成计算(Dynamically Composable Computing,DCC)的装置、上下文感知装置、视频装置、音频装置、A/V装置、机顶盒(STB)、蓝光盘(BD)播放器、BD记录器、数字视频盘(DVD)播放器、高清晰度(HD)DVD播放器、DVD记录器、HD DVD记录器、个人视频记录器(PVR)、广播HD接收器、视频源、音频源、视频接收机(video sink)、音频接收机、立体声调谐器、广播无线电接收器、平板显示器、个人媒体播放器(PMP)、数字摄像机(DVC)、数字音频播放器、扬声器、音频接收器、音频放大器、游戏装置、数据源、数据接收机、数字照相机(DSC)、媒体播放器、智能电话、电视机、音乐播放器等等。
优选的,wifi终端100为手机或平板电脑。
在一些说明性实施例中,接收方接入的网络可以是有线网络,则wifi终端100需要发送的网络配置信息可以包括IP地址、DNS服务器地址、网关地址等。
现在参照图2,图2表示根据一些说明性实施例的基于组播技术接收网配络置信息的wifi终端的示意图。
在一些说明性实施例中,该wifi终端200包括:接收模块201、信息判断模块202和第一提取模块207。接收模块201用于连续接收至少一个MAC帧,其中:每一个MAC帧的帧头中的目的地址与所述地址列表中的一个组播地址一一对应。信息判断模块202,用于判断接收到的至少一个MAC帧中是否对应于一个组播地址。第一提取模块207,如果信息判断模块202判断出接收到的至少一个MAC帧的帧头中的目的地址对应于一个组播地址,则第一提取模块207用于从组播地址中提取用于接入网络的网络配置信息。
在一些说明性实施例中,wifi终端200通过接收包含网络配置信息的至少一个MAC帧,使得wifi终端200不仅能通过组播地址这一特征确认该MAC帧中包含有网络配置信息,还能从MAC帧的组播地址中获取到部分或者全部的网络配置信息,作为发送方的wifi终端不需要断开网络,加速了wifi终端200接入网络的速度。
在一些说明性实施例中,通过接收一个组播地址就可以将网络配置信息全部接收完毕。但是,在一些说明性实施例中,信息判断模块202如果判断出多个MAC帧的帧头中的目的地址分别对应于多个组播地址,则第一提取模块207分别提取每个MAC帧的目的地址所对应的组播地址中包含的网络配置信息的至少部分值。此时,wifi终端200还包括:组合模块205。组合模块205用于将提取到的多个网络配置信息的至少部分值组合得到网络配置信息。这些实施例中,通过设置组合模块205可以适用于网络配置信息的值包含在多个MAC帧中的情况。这种方式特别适用于网络配置信息包含的内容较多,无法通过一个MAC帧传完毕的情况。
在一些说明性实施例中,wifi终端200还包括:特征数据提取模块203,用于如果判断出组播地址中包含特征数据,则指示第一提取模块207从组播地址中提取所述网络配置信息。其中,特征数据用于指示:组播地址中至少部分比特用于指示网络配置信息的至少部分值。这些实施例中,通过确认组播地址中包含特征数据,使得wifi终端200能快速和准确地判断收到的组播地址是否包含网络配置信息。
在一些说明性实施例中,wifi终端200还包括:索引号提取模块204。对于每个MAC帧中的目的地址对应的组播地址,索引号模块204用于从其中部分比特提取出该组播地址所包含的网络配置信息的至少部分值在网络配置信息的值中所处的位置对应的索引号,并指示组合模块205将提取到的每一部分的网络配置信息按照索引号指示的该部分网络配置信息在网络配置信息的值中所处的位置组合得到网络配置信息。这些实施例中,wifi终端200可以快速、准确地组合收到的网络配置信息。
在一些说明性实施例中,wifi终端200还包括帧长模块206。帧长模块206用于提取MAC帧的帧长并识别帧长所代表的网络配置信息的一个值。这些实施例中,发送方可以通过协议或者算法使MAC帧的帧长表示网络配置信息的值,相应地,wifi终端200通过预置该协议或者算法以便解析识别该帧长代表的含义。
在一些说明性实施例中,wifi终端200还包括:第一算法解码模块208。第一算法解码模块208用于根据特定参数、每一个组播地址中用于指示所述网络配置信息的至少部分值的比特的值和所指示的网络配置信息之间的算法关系,解码得到网络配置信息;其中,特定参数包括:特征数据、该组播地址所指示的至少部分网络配置信息的值的长度及该组播地址所指示的部分网络配置信息的索引号中的任意一个或任意组合。这些实施例中,通过解码算法才能得到网络配置信息,网络配置信息不采用明文的方式传送,增加了网络配置信息传送安全性。
在一些说明性实施例中,wifi终端200还包括:第二算法判断模块216。第二算法判断模块216用于如果判断出在网络配置信息的至少部分值、特征数据、该组播地址所指示的网络配置信息的至少部分值的长度和该组播地址所指示的部分网络配置信息的索引号中的至少两个之间符合特定算法关系,则确认至少部分网络配置信息的值为用于接入网络的至少部分网络配置信息的值。第二算法判断模块216通过解析网络配置信息的至少部分值和其他特定参数之间或者特定参数之间存在的算法关系,从而使得wifi终端200能更准确地判断是否接收到所需的网络配置信息。wifi终端200可以通过预置该算法的方式使其能够解析该算法。
在一些说明性实施例中,该wifi终端200还包括:第二提取模块209、网络确定模块214和接入模块210。第二提取模块209,用于提取组播地址中携带的网关的MAC地址。网络确定模块214用于确定网关的MAC地址所对应的网络的SSID。接入模块210,用于根据网关的MAC地址所对应的网络的SSID和网络配置信息接入网络。这些实施例中,当接收方无法通过其他方式获得应加入网络的SSID的时候,通过网络确定模块214可以使wifi终端200获得应加入的网络的SSID,以便接入网络。
在一些说明性实施例中,wifi终端200包括:第一接收模块211和第一判断模块212。第一接收模块211用于在连续接收至少一个MAC帧之前,接收第一MAC帧。第一判断模块212用于如果判断出第一MAC帧的帧头中的目的地址所对应的组播地址中包含特征数据,则指示接收模块201继续接收后续的MAC帧。其中,特征数据用于指示:后续接收到的MAC帧的帧头中目的地址所对应的组播地址中至少部分比特用于指示网络配置信息的至少部分值。这些实施例中,通过第一接收模块211和第一判断模块212,使得wifi终端200可以对收到的MAC帧进行预判,提高接收网络配置信息的准确性和效率。
在一些说明性实施例中,该wifi终端200还包括:过滤模块213。过滤模块213用于在第二提取模块209提取网关的MAC地址之前,提取发送方的MAC地址,过滤不符合发送方MAC地址的MAC帧。如果该MAC地址不是发送方的MAC地址,则将这些数据帧抛弃,避免在无用的MAC帧上耗费资源。如果该MAC地址是发送方的MAC地址,则进行后续步骤。
在一些说明性实施例中,该wifi终端200还包括:反馈模块215。反馈模块215用于在接入网络之后,向MAC帧的发送方反馈接入成功的消息。这些实施例中,通过设置反馈模块215可以使发送方知道网络连接情况,从而停止发送数据包。
在一些说明性实施例中,网络配置信息包括无线网的密码和/或者SSID。当环境中只有一个网络时,可以只接收无线网的密码就能使wifi终端200接入网络。当环境中包含多个网络时,为了便于wifi终端200快速接入网络,可以同时接收无线网密码和SSID,避免wifi终端200对每一个网络尝试接入。当wifi终端200中已经预置了密码,可以只接收SSID,以使wifi终端200识别该密码可加入的网络。
在一些说明性的实施例中,wifi终端200为不具有人机交互界面,但具有wifi功能的移动终端、家电设备、PC、台式计算机、移动计算机、膝上型计算机、笔记本计算机、平板计算机(tablet computer)、服务器计算机、手持计算机、手持装置、PDA装置、手持PDA装置、板载装置、板外装置、混合装置(例如将蜂窝电话功能性与PDA装置功能性组合)、消费装置、车载装置、非车载装置、移动或便携式装置、非移动或非便携式装置、蜂窝电话、PCS装置、结合无线通信装置的PDA装置、移动或便携式GPS装置、DVB装置、较小计算装置、非台式计算机、“尺寸更小性能更高”(CSLL)装置、超移动装置(UMD)、超移动PC(UMPC)、移动因特网装置(MID)、“Origami”装置或计算装置、支持可动态组成计算(Dynamically Composable Computing,DCC)的装置、上下文感知装置、视频装置、音频装置、A/V装置、机顶盒(STB)、蓝光盘(BD)播放器、BD记录器、数字视频盘(DVD)播放器、高清晰度(HD)DVD播放器、DVD记录器、HD DVD记录器、个人视频记录器(PVR)、广播HD接收器、视频源、音频源、视频接收机(video sink)、音频接收机、立体声调谐器、广播无线电接收器、平板显示器、个人媒体播放器(PMP)、数字摄像机(DVC)、数字音频播放器、扬声器、音频接收器、音频放大器、游戏装置、数据源、数据接收机、数字照相机(DSC)、媒体播放器、智能电话、电视机、音乐播放器等等。
该wifi终端200需要接入的网络还可以是有线网络,则接收的网络配置信息还可以包括IP地址、DNS服务器地址、网关地址等。
现在参照图3,图3表示根据一些说明性实施例的基于组播技术发送网络配置信息的方法的流程图。
如图3所示,在一些说明性实施例中,该方法用于发送方侧,包括如下具体步骤:
步骤S301:开始;
步骤S302:根据网络配置信息生成含有至少一个组播地址的地址列表;
步骤S305:连续发送至少一个MAC帧;其中:每一个MAC帧的帧头中的目的地址与所述地址列表中的一个组播地址一一对应;所述网络配置信息用于接收方接入网络;
步骤S307:结束。
在一些说明性实施例中,通过步骤S302生成包含网络配置信息的至少一个组播地址,接收方能从该组播地址中获取到部分或者全部的网络配置信息,发送方不需要断开网络,加速了作为接收方接入网络的速度。
在一些说明性实施例中,在步骤S304之前,进行步骤S303。
步骤S303:发送第一MAC帧,第一MAC帧的帧头中的目的地址所对应的组播地址中包含特征数据;其中,特征数据用于向接收方指示:后续接收到的MAC帧的帧头中目的地址所对应的组播地址中至少部分比特用于指示网络配置信息的至少部分值;
在一些说明性实施例中,通过步骤S303发送包含特征数据的第一MAC帧,使得接收方可以对收到的MAC帧进行预判,提高接收网络配置信息的准确性和效率。
在一些说明性实施例中,步骤S302可以具体包括:根据网络配置信息生成至少一个组播地址,且生成的每一个组播地址中均包含特征数据;其中,特征数据用于向接收方指示:组播地址中至少部分比特用于指示网络配置信息的至少部分值。这些实施例中,通过特征数据可以使接收方判断接收到的MAC帧是否包含网络配置信息。
在一些说明性实施例中,步骤S302还可以具体包括:根据网络配置信息生成一个组播地址;其中,组播地址中的至少部分比特用于指示网络配置信息的值。这些实施例中,通过一个数据包就可以将网络配置信息全部传送完毕。
在一些说明性实施例中,步骤S302还可以具体包括:将网络配置信息的值分为2个以上的部分;根据网络配置信息生成两个以上的组播地址;其中,每一部分的网络配置信息的值由一个组播地址中的至少部分比特指示,每一个组播地址中的至少部分比特用于指示至少一部分的网络配置信息的值。这些实施例中,网络配置信息通过多个组播地址发送。这种方式特别适用于网络配置信息包含的内容较多,无法通过一个MAC帧发送完毕的情况。
在一些说明性实施例中,将网络配置信息的值分为2个以上的部分后,按照每一部分在网络配置信息的值中所处的位置,依次为每一部分的网络配置信息的值分配索引号;此时,在步骤S302的过程中,对于地址列表中包含的每一个组播地址,该组播地址所指示的部分网络配置信息的索引号由该组播地址中的部分比特来指示。这些实施例中,通过步骤S302便于接收方识别接收到的每一部分在网络配置信息的值中所处的位置,从而将收到的网络配置信息快速组合得到完整的网络配置信息。
在一些说明性实施例中,在步骤S302的过程中,对于地址列表中的每一个组播地址,该组播地址所指示的部分网络配置信息的值的长度由该组播地址中的部分比特来指示、或者由该组播地址所在MAC帧中包含的数据包的长度来指示。该至少部分网络配置信息的值的长度用于指示:组播地址中至少部分比特用于指示网络配置信息的至少部分值。在一些说明性实施例中,在步骤S302的过程中,对于地址列表中的每一个组播地址,该组播地址所指示的网络配置信息的值的长度由该组播地址中的部分比特来指示、或者由该组播地址所在MAC帧中包含的数据包的长度来指示。
在一些说明性实施例中,组播地址所在MAC帧中包含的数据包的长度用于表示网络配置信息的一个值。这些实施例中,一个MAC帧可以携带更多的网络配置信息的值。发送方可以通过协议或者算法使数据包长度表示网络配置信息的值,相应地,接收方通过预置该协议或者算法以便解析识别该帧长代表的含义。
在一些说明性实施例中,在步骤S302的过程中,对于地址列表中的每一个组播地址,该组播地址中用于指示网络配置信息的至少部分值的比特的值是由该组播地址所指示的网络配置信息的至少部分值结合特定参数计算得到的;其中,特定参数包括:特征数据、该组播地址所指示的网络配置信息的至少部分值的长度及该组播地址所指示的部分网络配置信息的索引号中的任意一个或任意组合。这些实施例中,网络配置信息通过与特定参数之间建立算法得到组播地址的比特的值来编码网络配置信息,网络配置信息不是通过明文的方式传送,提高了网络配置信息传送的安全性。
在一些说明性实施例中,在步骤S302的过程中,在网络配置信息的至少部分值、特征数据、该组播地址所指示的网络配置信息的至少部分值的长度和该组播地址所指示的部分网络配置信息的索引号中的至少两个之间具有算法关系。这些实施例中,使接收方通过解析算法能更准确地判断是否接收到所需的网络配置信息。
在一些说明性实施例中,网络配置信息包括无线网的密码和/或者SSID。当环境中只有一个网络时,可以只发送无线网的密码就能使接收方接入网络。当环境中包含多个网络时,为了便于接收方快速接入网络,可以同时发送无线网密码和SSID,避免接收方对每一个网络尝试连接。当接收方中已经预置了密码,可以只发送SSID,以使接收方识别该密码可加入的网络。
在一些说明性实施例中,地址列表中的每一个组播地址为IP组播地址,此时步骤S305之前还包括:
步骤S304:将每一个IP组播地址一一映射为MAC组播地址后,将各MAC组播地址作为目的地址分别添加到每一个MAC帧的帧头中。
在一些说明性实施例中,地址列表中的每一个组播地址为MAC组播地址,此时,
步骤S304包括:将每一个MAC组播地址作为目的地址分别添加到每一个MAC帧的帧头中。
这些实施例中,步骤S304提供了在两种组播地址中添加目的地址的方式,使得该方法的实现方式更多元。
在一些说明性实施例中,步骤S305之后还包括:
步骤S306:接收该接收方在根据获取到的网络配置信息接入网络后所反馈的接入成功的消息。
这些实施例中,通过步骤S306可以获知接收方是否已经接入网络,从而使发送方在对方接入网络后停止发送数据包,节省网络空间。
在一些说明性实施例中,发送方为wifi终端,其可以是wifi终端100;接收方也为wifi终端。其可以是wifi终端200。
该发送网络配置信息的方法还可以用于发送有线网络的网络配置信息,则该网络配置信息包括IP地址、DNS服务器地址、网关地址等。
现在参照图4,图4表示根据一些说明性实施例的基于组播技术接收网络配置信息的方法的流程图。
如图4所示,在一些说明性实施例中,该方法用于接收方侧,包括如下具体步骤:
步骤S401:开始;
步骤S404:连续接收至少一个MAC帧,连续接收至少一个MAC帧,其中:每一个MAC帧的帧头中的目的地址与地址列表中的一个组播地址一一对应;该地址列表为该MAC帧的发送方根据网络配置信息生成的含有至少一个组播地址的地址列表;
步骤S405:判断接收到的至少一个MAC帧的帧头中的目的地址是否对应于一个组播地址;
步骤S406:如果判断出接收到的至少一个MAC帧的帧头中的目的地址对应于一个组播地址,则从该组播地址中提取用于接入网络的网络配置信息;
步骤S412:结束。
在一些说明性实施例中,接收方通过接收包含网络配置信息的至少一个组播地址,可以使得接收方不仅能根据组播地址这一特征确认该组播地址中包含网络配置信息,还能从中获取到部分或者全部的网络配置信息,发送方不需要断开网络,加速了接收方接入网络的速度。
在一些说明性实施例中,步骤S406的过程包括:如果判断出接收到的一个MAC帧中的目的地址对应于一个组播地址,则从该组播地址中提取网络配置信息。这些实施例中,通过接收一个MAC帧就可以将网络配置信息全部接收完毕。
在一些说明性实施例中,步骤S406的过程还可以包括:如果判断出连续接收到的多个MAC帧中的目的地址分别对应于多个组播地址,则分别提取每个MAC帧的目的地址所对应的组播地址中包含的网络配置信息的至少部分值,并将提取到的多个网络配置信息的至少部分值组合得到网络配置信息。这种方式特别适用于网络配置信息包含的内容较多,无法通过一个MAC帧传送完的情况。
在一些说明性实施例中,如果每一个组播地址中均包含特征数据,步骤S406的过程还可以包括:如果判断出组播地址中包含特征数据,则从组播地址中提取网络配置信息;其中,特征数据用于指示:组播地址中至少部分比特用于指示网络配置信息的至少部分值。这些实施例中,使得接收方能快速和准确地判断收到的组播地址是否包含网络配置信息。
在一些说明性实施例中,步骤S406的过程还包括:对于每个MAC帧中的目的地址对应的组播地址,从其中部分比特提取出该组播地址所包含的网络配置信息的至少部分值在网络配置信息的值中所处的位置对应的索引号,将提取到的每一部分的网络配置信息按照索引号指示的该部分网络配置信息在网络配置信息的值中所处的位置组合得到网络配置信息。这些实施例中,便于接收方识别接收到的每一部分在网络配置信息的值中所处的位置,从而将接收到的网络配置信息快速组合成完整的网络配置信息。
在一些说明性实施例中,当MAC帧的帧长用于表示网络配置信息的一个值时,步骤S406的过程还包括:提取MAC帧的帧长作为网络配置信息的一个值。这些实施例中,发送方可以通过协议或者算法使MAC帧的帧长表示网络配置信息的值,相应地,接收方通过预置该协议或者算法以便解析识别该帧长代表的含义。
在一些说明性实施例中,步骤S406的过程还包括:根据特定参数、每一个组播地址中用于指示网络配置信息的至少部分值的比特的值和所指示的网络配置信息之间的算法关系,解码得到网络配置信息;其中,特定参数包括:特征数据、该组播地址所指示的至少部分网络配置信息的值的长度及该组播地址所指示的部分网络配置信息的索引号中的任意一个或任意组合。这些实施例中,需要通过解码算法来得到网络配置信息,网络配置信息不是采用明文的方式传送,提高了网络配置信息传送的安全性。
在一些说明性实施例中,步骤S406的过程还包括:如果判断出在网络配置信息的至少部分值、特征数据、该组播地址所指示的网络配置信息的至少部分值的长度和该组播地址所指示的部分网络配置信息的索引号中的至少两个之间符合特定算法关系,则确认至少部分网络配置信息的值为用于接入网络的至少部分网络配置信息的值。这些实施例中,接收方能更准确地判断是否接收到所需的网络配置信息,如果判断出算法关系正确,才进行后续的步骤。该算法可以预置在接收方中,使接收方能够解析该算法。
在一些说明性实施例中,步骤S404之前包括:
步骤S402:接收第一MAC帧;
步骤S403:如果判断出所述第一MAC帧的帧头中的目的地址所对应的组播地址中包含特征数据,则继续接收后续的MAC帧;其中,特征数据用于指示:后续接收到的MAC帧的帧头中目的地址所对应的组播地址中至少部分比特用于指示所述网络配置信息的至少部分值。
这些实施例中,通过步骤S402和S403接收包含特征数据的第一MAC帧,使得接收方可以对收到的MAC帧进行预判,提高接收网络配置信息的准确性和效率。
在一些说明性实施例中,该方法还包括:
步骤S408:提取网关的MAC地址;
步骤S409:根据网关的MAC地址确定该网关的MAC地址所对应的网络的SSID,以便根据SSID加入对应的网络;
步骤S410:根据网关的MAC地址和网络配置信息接入网络。
这些实施例中,当接收方无法通过其他方式获得应加入网络的SSID的时候,通过步骤S409可以使接收方获得应加入的网络的SSID,以便接入网络。
在一些说明性实施例中,在步骤S408之前,包括:
步骤S407:提取MAC帧的发送方的MAC地址,如该地址符合预设的发送方的MAC地址,则提取网关的MAC地址。
这些实施例中,通过设置步骤S407可以使接收方选择合适的MAC帧进行判断,避免在无用的MAC帧上耗费资源。
在一些说明性实施例中,在步骤S410之后还包括:
步骤S411:向MAC帧的发送方反馈接入成功的消息。
这些实施例中,通过设置步骤S411可以使发送方知道网络连接情况,从而停止发送数据包。
在一些说明性实施例中,网络配置信息包括无线网的密码和/或者SSID。当环境中只有一个网络时,可以只发送无线网的密码就能使接收方接入网络。当环境中包含多个网络时,为了便于接收方快速接入网络,可以同时发送无线网密码和SSID,避免接收方对每一个网络尝试连接。当接收方中已经预置了密码,可以只发送SSID,以使接收方识别该密码可加入的网络。
在一些说明性实施例中,发送方为wifi终端,其可以是wifi终端100;接收方也为wifi终端。其可以是wifi终端200。
在一些说明性实施例中,该接收网络配置信息的方法还可以用于接收有线网络的网络配置信息,则网络配置信息包括IP地址、DNS服务器地址、网关地址等。
现在参照图5,图5表示基于组播技术配置网配置信息的方法的流程图一。
如图5所示,在一些说明性实施例中,以接入的网络为无线网络举例,该方法的具体步骤如下:
步骤S501:开始
步骤S502:作为接收方的第一wifi终端扫描无线网络信息,获取周围所有无线网络的SSID、无线网络的网关的MAC地址、以及无线网络的加密方式,并维护无线网络的信息列表。
步骤S503:作为发送方的第二wifi终端根据无线网的密码生成包含多个IP组播地址的组播地址列表,且生成的每一个组播地址中均包含特征数据;其中,特征数据用于向第一wifi终端指示,组播地址中至少部分比特用于指示密码的至少部分值。如图6所示,该密码为1234,在根据密码生成地址列表的过程中,将密码的值分为“1”、“2”、“3”和“4”四个部分后,分别包含在数据包2、3、4和5中,按照每一部分在密码的值中所处的位置,依次为每一部分分配索引号“1”、“2”、“3”和“4”。对于地址列表中包含的每一个组播地址,该组播地址所指示的部分密码的索引号由该组播地址中的部分比特来指示。Fi表示特征数据,取值为0-127;Ni表示密码索引号,Vi为第i位的密码值;i的取值为0<=i<=L,i=0时V0为密码的长度。在密码的每个值、特征数据、索引号中的至少两个之间具有算法关系,即该预置的算法可以为:Fi=f(Ni,Vi),或者可以是三个变量Fi、Ni、Vi中两两之间的函数关系。此外,如图6中的数据包1所示,第二wifi终端生成包含数据包1的第一MAC帧,第一MAC帧包含的数据包的组播地址中包含特征数据,用来提示第一wifi终端将收到包含数据包1的MAC帧在内的共5个MAC帧。以Fi=Ni mod127为例,以密码1234来说,密码长度L=4,需要发送5个MAC帧来传输这些信息。
步骤S504:第二wifi终端发送包含数据包1的第一MAC帧。
步骤S505:第二wifi终端周期按照组播地址列表中的组播地址连续发送MAC帧,其中,每一个MAC帧的帧头中的目的地址与地址列表中的一个组播地址一一对应。
步骤S506:第一wifi终端接收第一MAC帧。如果判断出第一MAC帧的帧头中的目的地址所对应的组播地址中包含特征数据,则继续接收后续的MAC帧。
步骤S507:第一wifi终端接收后续MAC帧。
步骤S508:第一wifi终端如果判断出后续MAC帧的帧头中的目的地址对应于组播地址,则再判断组播地址中至少部分密码的值、密码索引号和特征数据的至少两个之间是否符合特定算法设定。如果符合设定,则确认密码为所需的密码,并按照索引号将获取的密码的每一个值组合得到完整的密码。然后获取第二wifi终端的MAC地址和无线网络的网关的MAC地址。第二wifi终端MAC地址用于过滤MAC帧(即只接收第二wifi终端发送的MAC帧)以及在成功加入无线网络后向第二wifi终端通告加入成功,而无线网络的网关的MAC地址用于从无线网络列表中找到要加入的无线网络的SSID。第一wifi终端停留在该信道上,继续侦听。
步骤S509:第一wifi终端加入无线网络并向第二wifi终端通告加入成功。
步骤S510:第二wifi终端停止发送配置信息。
步骤S511:结束。
现在参照图7,图7表示基于组播技术配置无线网配置信息的方法的流程图二。
如图7所示,在一些说明性实施例中,以接入的网络为无线网络举例,该方法的具体步骤如下:
步骤S701:开始。
步骤S702:作为接收方的第一wifi终端扫描无线网络信息,获取周围所有无线网络的SSID、无线网络的MAC地址、以及无线网络的加密方式,并维护无线网络信息列表。
步骤S703:作为发送方的第二wifi终端根据无线网络的密码生成IP组播地址列表,且生成的每一个组播地址中均包含特征数据;其中,特征数据用于向第一wifi终端指示,组播地址中至少部分比特用于指示密码的至少部分值。在根据密码生成地址列表的过程中,对于地址列表中的每一个组播地址,该组播地址所指示的部分密码的值的长度由该组播地址所在数据包的数据包长度来指示。按照密码的每一部分在密码的值中所处的位置,依次为每一部分分配索引号。在密码的每个值、特征数据、索引号和至少部分密码的值的长度中的至少两个之间具有算法关系。与实施例1相比,该实施例中增加了参数:至少部分密码的值长度Mi,则该预置的算法可以包括Fi,Ni,Vi,Mi之间的函数关系或这四个参数任意两个、三个之间的函数关系。
步骤S704:第二wifi终端周期按照组播地址列表中的组播地址连续发送包含特定长度的数据包的MAC帧,每一个MAC帧的帧头中的目的地址与地址列表中的一个组播地址一一对应。该长度的数据包在MAC层封装到MAC帧的数据部分中,MAC帧包括帧头、数据部分和帧尾。帧头和帧尾具有固定的长度,则特定长度的数据包在MAC层变为具有特定长度的MAC帧。
步骤S705:第一wifi终端接收MAC帧。
步骤S706:第一wifi终端如果判断出MAC帧的帧头中的目的地址对应于组播地址,则判断组播地址中的至少部分密码的值、密码索引号、特征数据以及至少部分密码的值长度是否符合的特定算法设定。如果符合设定,则确认密码为所需的密码,并按照索引号将获取的密码的每一个值组合得到完整的密码。然后获取第二wifi终端MAC地址和无线网络的网关的MAC地址。第二wifi终端MAC地址用于过滤数据帧(即只接收第二wifi终端发送的数据帧)以及在成功加入无线网络后向第一wifi终端通告加入成功,而无线网络的网关的MAC地址用于从无线网络列表中找到要加入的无线网络的SSID。第一wifi终端停留在该信道上,继续侦听。
步骤S707:第一wifi终端加入无线网络并向第二wifi终端通告加入成功。
步骤S708:第二wifi终端停止发送配置信息。
步骤S709:结束。
现在参照图8,图8表示基于组播技术配置无线网配置信息的方法的流程图三。
如图8所示,在一些说明性实施例中,以接入的网络为无线网络举例,该方法的具体步骤如下:
步骤S801:开始。
步骤S802:作为接收方的第一wifi终端扫描无线网络信息,获取周围所有无线网络的SSID、无线网络的MAC地址、以及无线网络的加密方式,并维护无线网络信息列表。
步骤S803:作为发送方的第二wifi终端根据无线网络的密码生成IP组播地址列表,且生成的每一个组播地址中均包含特征数据;其中,特征数据用于向第一wifi终端指示,组播地址中至少部分比特用于指示密码的至少部分值。在根据密码生成地址列表的过程中,对于地址列表中的每一个组播地址,该组播地址所指示的部分密码的值的长度由该组播地址所在数据包的数据包长度来指示。按照密码的每一部分在密码的值中所处的位置,依次为每一部分分配索引号。在密码的每个值、特征数据、索引号和至少部分密码的值的长度中的至少两个之间具有算法关系。
步骤S804:第二wifi终端周期按照组播地址列表中的组播地址连续发送包含特定长度的数据包的MAC帧,其中,每一个MAC帧的帧头中的目的地址与地址列表中的一个组播地址一一对应。该长度的数据包在MAC层封装到MAC帧的数据部分中,MAC帧包括帧头、数据部分和帧尾。帧头和帧尾具有固定的长度,则特定长度的数据包在MAC层变为具有特定长度的MAC帧。与实施例2相比,数据包长度也可以作为一个密码值,则MAC帧长也代表一个密码值。一个MAC帧中组播地址已包含多个密码值,因此上述情况下,一个MAC帧可以传输多个密码值。第二wifi终端可以通过设置协议或者算法对该帧长的含义进行编码。
步骤S805:第一wifi终端接收MAC帧。
步骤S806:第一wifi终端如果判断出MAC帧的帧头中的目的地址对应于组播地址,则判断MAC组播地址中的至少部分密码的值、密码索引号、特征数据以及至少部分密码的值长度是否符合预置的算法设定。如果符合,则确认密码为所需的密码,同时,第一wifi终端也通过预置MAC帧长含义的协议或者算法将MAC帧长所代表的的密码的值解析出来,并按照索引号将获取的密码的每一个值组合得到完整的密码。然后获取第二wifi终端MAC地址和无线网络的网关MAC地址。第二wifi终端MAC地址用于过滤MAC帧(即只接收第二wifi终端发送的MAC帧)以及在成功加入无线网络后向第二wifi终端通告加入成功,而无线网络的网关MAC地址用于从无线网络列表中找到要加入的无线网络的SSID。第一wifi终端停留在该信道上,继续侦听。
步骤S807:第一wifi终端加入无线网络并向第二wifi终端通告加入成功。
步骤S808:第二wifi终端停止发送配置信息。
步骤S809:结束。
现在参照图9,图9表示基于组播技术配置无线网配置信息的方法的流程图四。
如图9所示,在一些说明性实施例中,以接入的网络为无线网络举例,该方法的具体步骤如下:
步骤S901:开始。
步骤S902:作为接收方的第一wifi终端设备扫描无线网络信息,获取周围所有无线网络的SSID、无线网络的MAC地址、以及无线网络的加密方式,并维护无线网络信息列表。
步骤S903:作为发送方的第二wifi终端根据无线网络的网络配置信息生成IP组播地址列表,且生成的每一个组播地址中均包含特征数据;其中,特征数据用于向第一wifi终端指示,组播地址中至少部分比特用于指示网络配置信息的至少部分值。该网络配置信息除包括无线网络的密码和无线网络的SSID。在根据网络配置信息生成地址列表的过程中,对于地址列表中的每一个组播地址,该组播地址所指示的部分网络配置信息的值的长度由该组播地址所在数据包的数据包长度来指示。按照网络配置信息的每一部分在网络配置信息的值中所处的位置,依次为每一部分分配索引号。在网络配置信息的每个值、特征数据、索引号和至少部分网络配置信息的值的长度中的至少两个之间具有算法关系。
步骤S904:第二wifi终端周期按照组播地址列表中的组播地址连续发送MAC帧,其中,每一个MAC帧的帧头中的目的地址与地址列表中的一个组播地址一一对应。
步骤S905:第一wifi终端接收MAC帧。
步骤S906:第一wifi终端如果判断出MAC帧的帧头中的目的地址对应于组播地址,则判断MAC组播地址中的特征数据、至少部分网络配置信息的值的长度、至少部分网络配置信息的值和索引号是否符合预先的算法设定。如果符合设定,则确认网络配置信息的值为所需的网络配置信息,并按照索引号将获取的网络配置信息的每一个值组合得到完整的网络配置信息。然后获取第二wifi终端MAC地址。第二wifi终端MAC地址用于过滤数据帧(即只接收第二wifi终端发送的数据帧)以及在成功加入无线网络后向第二wifi终端通告加入成功。第一wifi终端停留在该信道上,继续侦听。
步骤S907:第一wifi终端加入无线网络并向第二wifi终端通告加入成功。
步骤S908:第二wifi终端停止发送配置信息。
步骤S909:结束。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。