一种基于多播物理地址进行Wi-Fi报文长度的信息传输方法

文档序号:7798925阅读:511来源:国知局
一种基于多播物理地址进行Wi-Fi报文长度的信息传输方法
【专利摘要】本发明公开了一种基于多播物理地址进行Wi-Fi报文长度的信息传输方法,其特点是将传输的信息以IEEE802.11数据包中的多播物理地址表示,采用UDP作为数据发送的协议,利用Wi-Fi网络向一个以上的Wi-Fi网外设备发送UDP数据包进行信息的传输,接收方将接收的数据包解析后重新组合,准确地还原出传输的信息。本发明与现有技术相比具有不影响数据发送方当前的Wi-Fi网络连接,同时向多个Wi-Fi网络外的设备发送数据,在不改变Wi-Fi标准通讯协议的基础上,使需要通讯的两个Wi-Fi设备不组建网络就可以进行信息的传输,也可应用于其它加密的无线网络中的设备向网络之外的设备发送数据,而且数据包可以被双频无线路由器所转发,不受发送方所使用的无线频段的限制。
【专利说明】一种基于多播物理地址进行W1-Fi报文长度的信息传输方法
[0001]
【技术领域】
[0002]本发明涉及无线通信【技术领域】,尤其是一种基于IEEE 802.11协议的多播物理地址进行W1-Fi报文长度的信息传输方法。
【背景技术】
[0003]W1-Fi无线通讯技术在电脑、智能手机和平板电脑领域已经得到了非常广泛的应用,随着物联网技术的逐步发展,各种类型的嵌入式计算机系统,如传感器,玩具,医疗设备等,已开始使用W1-Fi技术来实现无线网络通讯和互联网接入。W1-Fi网络使用共享网络媒体,只有拥有同样的网络名称和数据加密方式的设备才能够互相通讯。但是人们却常常需要对W1-Fi网络之外的设备传递数据,比如,向没有加入当前W1-Fi网络的设备发送组网信息,使他们能够加入网络,而直接通过W1-Fi网内的数据传输是无法实现的。这是因为大部分W1-Fi网内传递的数据包中的数据是加密的,没有获得密钥的网外设备无法正常解析,而且W1-Fi数据包的传递是按照网络地址传递的,网络外的设备不能获取合法的网络地址,所以数据包不能通过一般的方式传递到这些设备。
[0004]现有技术一般采用增加其它通讯设备或组建网络,实现与W1-Fi网外设备的信息传输。如采用蓝牙则大大增加设备的成本,组建网络虽然不会增加设备费用,但操作非常繁琐,它需要将当前使用的W1-Fi网络断开后与需要通讯的设备联网,然后将数据传输后重新恢复原先的W1-Fi网络,使得当前正常使用W1-Fi网络的数据传输完全中断。

【发明内容】

[0005]本发明的目的是针对现有技术的不足而设计的一种基于多播物理地址进行W1-Fi报文长度的信息传输方法,将需要传输的信息以IEEE 802.11数据包中的多播物理地址表示,采用UDP作为数据发送的协议,利用W1-Fi网络向一个以上的W1-Fi网外设备发送UDP数据包进行信息的传输,接收方将接收的多播物理地址转换成整个传递数据中的序号进行重新组合,准确还原出传输的信息,以IEEE 802.11多播数据包的非加密部分进行数据的传递,使得多播数据包有区别于其他数据包的明显特征,降低接收方识别W1-Fi报文的难度,从而使得传递的数据能够被其他没有加入同一个W1-Fi网络的设备所识别和可靠地接收,在不改变W1-Fi标准通讯协议IEEE 802.11的基础上,使需要通讯的两个W1-Fi设备不组建网络就可以向多个W1-Fi网络外的设备发送数据进行信息传输,而不影响数据发送方当前的W1-Fi网络连接,利用无线路由器可将多播数据包转发到所有的W1-Fi频段,突破了普通无线通讯接收者只能和发送方使用同一个无线频段的限制,也可应用于其他加密的无线网络中的设备向网络之外的设备发送数据,使用非常方便。
[0006]本发明的目的是这样实现的:一种基于多播物理地址和W1-Fi报文长度的信息传输方法,其特点是将IEEE 802.11数据包中的多播物理地址表示传输的信息,以UDP报文中数据段长度表示数据的位置,采用UDP为数据发送的协议,利用W1-Fi网络向一个以上的W1-Fi网外设备发送W1-Fi报文进行信息的传输,将接收和解析的数据包重新组合后重构原始数据,其具体操作步骤如下:
(1)、构建多播IP地址
在原始数据的字节中添加表示数据长度的字节后作为传输数据,采用IPv4中用于多播的D类地址对传输数据构建统一的多播IP地址序列;所述D类地址范围为:224.0.0.0-239.255.255.255 ;所述多播 IP 地址为:IPBytel.1PByte2.1PByte3.1PByte4 ;
(2)、构建UDP多播数据包
以多播IP地址为目的地址,将多播IP地址的序号为数据包长度构建一组m)P多播报文的数据包; (3)、数据包的发送
将多播IP地址转换成IEEE 802.11数据包的多播物理地址,采用计算机系统的TCP/IP协议栈将上述Μ)Ρ多播报文的数据包通过IEEE 802.11网络接口以W1-Fi无线射频发送;所述物理地址为:Bytel-Byte2-Byte3-Byte4-Byte5_Byte6 ;所述多播IP地址按Bytel=0x01 ;Byte2 = 0x00 ;Byte3 = 0x5e ;Byte4 = IPByte2 & 0x7f ;Byte5 = IPByte3 ;Byte6=IPByte4转换成IEEE 802.11数据包的多播物理地址;所述IEEE 802.11数据包的包长度=UDP 数据包长度 + UDP Header (8) + IP Header (20) + MAC Base Header (24) +FCS (4) + MAC Extra Length ;
(4)、数据包的接收和解析
接收方按顺序监听每一个W1-Fi频段来获取数据,接收并解析IEEE 802.11频段上的所有数据包,获取发送的无线频段和该频段上的多播数据包,根据多播物理地址前四个字节为固定的特征对获取的IEEE 802.11多播数据包进行过滤,获得所发送的多播数据包,如当前频段上没有找到这些特征的数据包,切换到下一个无线频段继续接收所有的数据包并进行分析,以获取传递的数据包;
(5)、重构原始数据
提取上述获得的多播数据包中多播物理地址的后两个字节作为原始的传输数据,将多播数据包中传输的UDP报文长度作为这两个字节在整个传递数据中的序号进行数据的重新组合,准确地还原出发送的所有原始数据;所述数据的序号=IEEE 802.11数据包的长度-UDP Header-1P Header- MAC Base Header- FCS- MAC Extra Length — Q。
[0007]本发明与现有技术相比传输的数据包具有明确的特征,可方便接收者在大量的无线数据包中进行识别,传输的速度高,数据包可以被双频无线路由器转发,从而不受发送方所使用的无线频段的限制,不影响数据发送方当前的W1-Fi网络连接,可以同时向多个W1-Fi网络外的设备发送数据,在不改变W1-Fi标准通讯协议的基础上,使需要通讯的两个W1-Fi设备不组建网络就可以进行信息的传输,也可应用于其它加密的无线网络中的设备向网络之外的设备发送数据。
【专利附图】

【附图说明】
[0008]图1为本发明工作流程图。【具体实施方式】
[0009]实施例1
参阅附图1,本发明以传输数据编码为0x01、0x02、0x03和0x04的4个字节数据为例对本发明作进一步的详细说明,具体操作如下:
(I)、构建多播IP地址
将传输信息的0X01、0X02、0X03和0x04四个字节中添加一个表示数据长度的字节为传输数据:0x04、0x01、0x02、0x03 和 0x04,将 0x04、0x01、0x02、0x03 和 0x04 采用 IPv4 中用于多播的D类地址,构建1: 239.126.4.1、2: 239.126.2.3和239.126.4.0三个多播IP地址。在IPv4中一种类型的IP地址,它的范围从224.0.0.0?239.255.255.255被称为D类地址,D类地址用于多播,所述多播IP地址为:IPBytel.1PByte2.1PByte3.1PByte4。将传输的字节存放在D类地址的后两个字节,前两个字节在允许的范围内任意选取,但必须保证构建的一系列多播地址的统一,由于需要传输的字节数是奇数个,所以最后一个字节用O来替代。
[0010](2)、构建UDP多播数据包
采用UDP报文数据的长度为多播IP地址的序号,以多播IP地址为目的地址,将多播IP地址的序号为数据包长度构建一组Μ)Ρ多播报文的数据包。上述构建的1: 239.126.4.1、2: 239.126.2.3和239.126.4.0三个多播IP地址对应的UDP多播报文的数据包长度分别为0、1和2。
[0011]由于在无线传输中存在乱序问题,需要对每一个传输的内容标明它在整个数据块中的位置,以便接收者重组原始数据,但是在实际网络传输中,IEEE 802.11的报文有一个最小报文长度的规定,会对小于该最小长度的数据包进行补全操作,为了 IEEE 802.11网络不改变实际传输的数据包长度,发送的数据包长度应大于IEEE 802.11协议允许的最短数据包长度,需要将数据的长度统一增加一个Q值,如Q值选取为20,上述三个多播IP地址所对应的Μ)Ρ多播报文的数据包长度分别为20、21和22,其数据包的UDP报文1:的目的地址为239.126.4.1,数据长度为20个字节;UDP报文2:的目的地址为239.126.2.3,数据长度为21个字节;UDP报文3:的目的地址为239.126.4.0,数据长度为22个字节。
[0012](3)、数据包的发送
将多播IP地址转换成IEEE 802.11数据包的多播物理地址,采用计算机系统的TCP/IP协议栈将上述Μ)Ρ多播报文的数据包通过IEEE 802.11网络接口以W1-Fi无线射频发送;所述物理地址为:Bytel-Byte2-Byte3-Byte4-Byte5_Byte6 ;所述多播IP地址按Bytel=0x01 ;Byte2 = 0x00 ;Byte3 = 0x5e ;Byte4 = IPByte2 & 0x7f ;Byte5 = IPByte3 ;Byte6=IPByte4转换成IEEE 802.11数据包的多播物理地址;所述IEEE 802.11数据包的包长度=UDP 数据包长度 + UDP Header (8) + IP Header (20) + MAC Base Header (24) +FCS (4) + MAC Extra Length ;
根据IEEE 802.11协议将UDP多播地址转换成在无线频段上传输的IEEE 802.11数据包的内容如下:
IEEE 802.11报文1:多播物理地址为01-00-5E-7E-04-01 ;数据包长度为76+ MACExtra Length ;IEEE 802.11报文2:多播物理地址为01-00-5E-7E-02-03 ;数据包长度为77+ MACExtra Length ;
IEEE 802.11报文3:多播物理地址为01-00-5E-7E-04-00 ;数据包长度为78+ MACExtra Length。
[0013]这样,需要传输的数据包就出现在了 W1-Fi的无线信道上,虽然传递的数据包的内容是加密的,但是数据包的多播物理地址和报文的长度包含了需要传输的信息,接收方的任务就是从无线信道上获得这些数据包并且分析出原始数据。
[0014](4)、数据包的接收和解析
接收方按顺序监听每一个W1-Fi频段来获取数据,接收并解析IEEE 802.11频段上的所有数据包,以获取发送的无线频段和该频段上的多播数据包,根据多播物理地址前四个字节为固定的特征对获取的IEEE 802.11多播数据包进行过滤,获得所发送的多播数据包,如当前频段上没有找到这些特征的数据包,切换到下一个无线频段继续接收所有的数据包并进行分析,以获取传递的数据包。
[0015](5)、重构原始数据
提取上述获得的多播数据包中多播物理地址的后两个字节作为原始的传输数据,将多播数据包中传输的UDP报文长度作为这两个字节在整个传递数据中的序号进行数据的重新组合,准确还原出发送的原始数据;所述数据的序号=IEEE 802.11数据包的长度-UDP Header-1P Header- MAC Base Header- FCS- MAC Extra Length — Q。
[0016]其中MAC Extra Length字段的长度随着加密方式和QOS是否开启而变化,需分析IEEE 802.11数据包的首部相关信息来确定,其变化如下:
(1)、QOS开启:MAC Extra Length 增加 2 ;
(2)、WEP加密:MAC Extra Length 增加 8 ;
(3)、CCMP加密:MAC Extra Length 增加 16 ;
(4)、TKIP加密:MAC Extra Length 增加 20。
[0017]由于Q = 20是发送者在发送数据时定义的一个常量,通过分析这些IEEE 802.11数据包可以确定:数据0x04、0x01的序号是O ;数据0x02、0x03的序号是I ;数据0x04、0x00的序号是2。接收到的数据是0x04、0x01、0x02、0x03和0x04,由于第一个字节表示传输的数据量,因此接收到了符合长度字段定义个字节数后,就表示已经完成了所有数据的接收了,准确地还原出发送的原始数据为:0x01、0x02、0x03和0x04。
[0018]本发明在MXCHIP的W1-Fi模块EMW3161上增加了使用W1-Fi报文长度编码的数据接收方式,在iPhone 5手机上编写软件将64个字节的数据进行W1-Fi报文长度编码并且持续循环发送。经测试EMW3161模块从开始扫描信道到接收到数据不超过3秒钟,顺利地实现了数据的传输,如果发送信道能够固定,则可以大大加快数据的接收速度。
[0019]本发明在MXCHIP的无线模块EMW316X上实现无线网络配置信息的接收,并在iPhone5手机上编写软件将64个字节的数据(32个字节的网络名称和32个字节的网络密码)进行编码并且循环发送。经测试EMW316X模块从开始扫描信道到接收完整的数据不超过2秒钟,顺利地实现了数据的传输,如果发送信道能够固定,则数据的接收速度还可大大加快。
[0020]以上只是对本发明作进一步的说明,并非用以限制本专利,凡为本发明等效实施,均应包含于本专利的权利要求范围之内。
【权利要求】
1.一种基于多播物理地址进行W1-Fi报文长度的信息传输方法,其特征在于将IEEE802.11数据包中的多播物理地址表示传输的信息,以UDP报文中数据段长度表示数据的位置,采用UDP为数据发送的协议,利用W1-Fi网络向一个以上的W1-Fi网外设备发送W1-Fi报文进行信息的传输,将接收和解析的数据包重新组合后重构原始数据,其具体操作步骤如下: (1)、构建多播IP地址 在原始数据的字节中添加表示数据长度的字节后作为传输数据,采用IPv4中用于多播的D类地址对传输数据构建统一的多播IP地址序列;所述D类地址范围为:224.0.0.0-239.255.255.255 ;所述多播 IP 地址为:IPBytel.1PByte2.1PByte3.1PByte4 ; (2)、构建UDP多播数据包 以多播IP地址为目的地址,将多播IP地址的序号为数据包长度构建一组m)P多播报文的数据包; (3)、数据包的发送 将多播IP地址转换成IEEE 802.11数据包的多播物理地址,采用计算机系统的TCP/IP协议栈将上述Μ)Ρ多播报文的数据包通过IEEE 802.11网络接口以W1-Fi无线射频发送;所述物理地址为:Bytel-Byte2-Byte3-Byte4-Byte5_Byte6 ;所述多播IP地址按Bytel=0x01 ;Byte2 = 0x00 ;Byte3 = 0x5e ;Byte4 = IPByte2 & 0x7f ;Byte5 = IPByte3 ;Byte6=IPByte4转换成IEEE 802.11数据包的多播物理地址;所述IEEE 802.11数据包的包长度=UDP 数据包长度 + UDP Header (8) + IP Header (20) + MAC Base Header (24) +FCS (4) + MAC Extra Length ; (4)、数据包的接收和解析 接收方按顺序监听每一个W1-Fi频段来获取数据,接收并解析IEEE 802.11频段上的所有数据包,获取发送的无线频段和该频段上的多播数据包,根据多播物理地址前四个字节为固定的特征对获取的IEEE 802.11多播数据包进行过滤,获得所发送的多播数据包,如当前频段上没有找到这些特征的数据包,切换到下一个无线频段继续接收所有的数据包并进行分析,以获取传递的数据包; (5)、重构原始数据 提取上述获得的多播数据包中多播物理地址的后两个字节作为原始的传输数据,将多播数据包中传输的UDP报文长度作为这两个字节在整个传递数据中的序号进行数据的重新组合,准确地还原出发送的所有原始数据;所述数据的序号=IEEE 802.11数据包的长度-UDP Header-1P Header- MAC Base Header- FCS- MAC Extra Length — Q。
【文档编号】H04W84/12GK103841523SQ201410094995
【公开日】2014年6月4日 申请日期:2014年3月14日 优先权日:2014年3月14日
【发明者】徐炜, 杨海波 申请人:上海庆科信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1