通信方法和系统及信息发送和接收装置与流程

文档序号:15405230发布日期:2018-09-11 19:20阅读:211来源:国知局

本发明涉及通信技术领域,特别是涉及一种通信方法和系统及信息发送/接收装置。



背景技术:

随着移动互联网与物联网技术的发展,越来越多的设备具有了无线网络的接入能力。但是,如何便捷的向一台与外界没有建立实质性连接的接收端传递信息,却是一个难题。



技术实现要素:

基于此,有必要针对如何向与外界没有任何实质性连接而又具有网络接入能力的接收端发送信息的问题,提供一种通信方法和系统及信息发送/接收装置。

一种通信方法,包括:

获取待发送的传输数据;

将所述传输数据编码在编码字段上而生成数据包,所述编码字段为所述数据包中可直接监听内容的字段;

发送所述数据包。

一种通信方法,包括:

接收将传输数据编码在编码字段上而生成的数据包,所述编码字段为所述数据包中可直接监听内容的字段;

解码所述编码字段获得所述传输数据。

一种通信方法,包括:

获取待发送的传输数据;

将所述传输数据编码在编码字段上而生成数据包,所述编码字段为所述数据包中可直接监听内容的字段;

发送所述数据包;

接收所述数据包;

解码所述编码字段获得所述传输数据。

一种信息发送装置,包括:

获取模块,用于获取待发送的传输数据;

编码模块,用于将所述传输数据编码在编码字段上而生成数据包,所述编码字段为所述数据包中可直接监听内容的字段;

发送模块,用于发送所述数据包。

一种信息接收装置,包括:

接收模块,用于接收将传输数据编码在编码字段上而生成的数据包,所述编码字段为所述数据包中可直接监听内容的字段;

解码模块,用于解码所述编码字段获得所述传输数据。

一种通信系统,包括:

获取模块,用于获取待发送的传输数据;

编码模块,用于将所述传输数据编码在编码字段上而生成数据包,所述编码字段为所述数据包中可直接监听内容的字段;

发送模块,用于发送所述数据包;

接收模块,用于接收所述数据包;

解码模块,用于解码所述编码字段获得所述传输数据。

上述通信方法和系统及信息发送/接收装置,利用数据包中的可直接监听内容的编码字段,编码上传输数据并发送出去由接收端接收。通过上述方法,由于传输数据被编码的编码字段是可直接监听到内容的,即使数据包的其他字段被加密而无法获知内容,仍然可以获得传输数据,从而实现向接收端发送信息并由接收端接收获得信息,接收端无需事先进行设置与外界建立实质性连接,仅通过监听即可接收传输数据。

附图说明

图1为一实施例通信方法的流程图;

图2为如图1所示通信方法中的802.2SNAP格式数据包示意图;

图3为如图1所示通信方法中的生成数据包的流程图;

图4为如图3所示通信方法中的链路层数据结构示意图;

图5为如图3所示通信方法中的magic code字段的数据结构示意图;

图6为如图3所示通信方法中的序列首字段的数据结构示意图;

图7为如图3所示通信方法中的序列字段的数据结构示意图;

图8为如图3所示通信方法中的数据发送顺序的示意图;

图9为又一实施例通信方法的流程图;

图10为图3、图9所示实施例中的Length字段的转义表;

图11为图3、图9所示实施例的纠错能力分析表;

图12为又一实施例通信方法中的Ethernet802.2格式数据包的示意图;

图13为又一实施例通信方法中的Ethernet802.3格式数据包的示意图;

图14为又一实施例通信方法的流程图;

图15为一实施例信息发送装置的示意图;

图16为一实施例信息接收装置的示意图;

图17为一实施例通信系统的示意图。

具体实施方式

为了便于理解本发明,下面将参照相关附图对通信方法和系统及信息发送/接收装置进行更全面的描述。附图中给出了通信方法和系统及信息发送/接收装置的首选实施例。但是,通信方法和系统及信息发送/接收装置可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对通信方法和系统及信息发送/接收装置的公开内容更加透彻全面。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在通信方法和系统及信息发送/接收装置的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

图1为一实施方式的通信方法,本实施例具体可适用于与处于混杂模式监 听空间中的无线信号的接收端进行无线通信,尤其适用于向未与其他设备建立实质性连接的接收端传送信息。如图1所示,本实施例的通信方法的具体步骤如下:

S120,获取待发送的传输数据。传输数据是进行无线通信需要发送至接收端的用户数据,而非系统自动生成的用于传输过程的传输控制数据。传输数据例如可以是无线接入时所需的服务集标识(Service Set Identifier,缩写为ssid)和密码、智能空调的调整参数等等。传输数据可以接收用户输入的方式获取,也可以通过网络获取,还可以从发送端的本地存储器中获取。

S140,将传输数据编码在编码字段上而生成数据包,编码字段为数据包中可直接监听内容的字段。可直接监听内容的编码字段是指无线传输过程中,暴露具体内容的字段。即使没有获得无线通信的密码,只要在信号覆盖的范围内,具备该无线传输功能的接收端都能够获得该编码字段的具体内容。在很多无线通信方式中,数据包内存在一些不需要保密的信息,这些不需要保密的信息是直接暴露的,例如无线局域网用到的802.2SNAP格式数据包中的长度字段等。传输数据可以明文传送,也可以另行加密,加密信道密码和加密传输数据的密码是不同的密码。若传输数据加密,接收端可以相应解密,还是可以直接获得传输数据的内容,不受加密信道的影响。

S160,发送数据包。生成数据包后,按照无线通信的要求,例如采用设定的频率、功率等进行数据包的发送。如果发送数据包的信道已经加密,通过加密信道发送数据包。

上述通信方法,利用数据包中的可直接监听内容的编码字段,编码上传输数据并发送出去由接收端接收。通过上述方法,由于传输数据被编码的编码字段是可直接监听到内容的,即使数据包的其他字段被加密而无法获知内容,仍然可以获得传输数据,从而实现向接收端发送信息并由接收端接收获得信息,接收端无需事先进行设置与外界建立连接,仅通过监听即可接收传输数据。

本实施例在信号载体方面,可采用wifi无线信号进行信息传递,较优的,可1至14全信道支持。利用数据包中可直接监听内容的编码字段编码传送数据,接收端可以处于混杂模式监听空间中的无线信号,从而能够监听到可直接监听 内容的编码字段,解码编码字段即可得到传输数据。本实施例的方法较适合传输少量的数据,可应用于具有无线发送能力的手机、平板电脑等无线终端向智能设备上的物联网智能控制芯片发送服务集标识和密码。步骤S160中,数据包为广播包,通过无线访问接入点转发给接收端。无线访问接入点具有较大的功率,经其转发可增大无线通信信号物理空间上的覆盖范围。

在其中一个实施例中,编码字段为普通应用程序可直接控制的字段。由于移动终端的操作系统的限制(比如IOS或者Android),有些可直接监听内容的字段的控制需要很高的控制权限,负责编码的应用程序一般是很难控制。编码字段选择普通应用程序可直接控制的字段,则执行本实施例的应用程序不需要具有很高的控制权限,不仅方便使用,而且也不会影响系统的安全性。作为一个实施例,数据包为802.2SNAP格式,编码字段为802.2SNAP格式数据包中的长度字段。802.11是IEEE制定的无线局域网协议,802.11以802.2的逻辑链路控制封装来携带IP封包,因此能够以802.2SNAP格式接收无线网络数据。如果开启wifi芯片的混杂模式监听空间中的无线信号,并以802.2SNAP格式从数据链路层截取数据,就会得到如图2所示的数据包。

图2中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,LLC字段表示LLC头(LLC是Logical Link Control的缩写,是指逻辑链路控制),SNAP字段包括3字节的厂商代码和2字节的协议类型标识。DATA区(数据区)为负载,对于加密信道来说是密文,接收端在获得加密信道的密码之前,是无法获得数据区的具体内容的。FCS字段表示帧检验序列。从无线信号监听方,即接收端的角度来说,不管无线信道有没有加密,DA、SA、Length、LLC、SNAP、FCS字段总是暴露的,可以直接监听内容,但从执行本实施例的方法的发送端的角度来说,由于操作系统的限制(比如IOS或者Android),DA、SA、LLC、SNAP、FCS五个字段的控制需要很高的控制权限,发送端负责编码的应用程序一般是很难控制。因此利用可直接监听内容且普通应用程序可直接控制的Length字段,发送端负责编码的应用程序可以通过改变其所需要发送数据包的长度进行很方便的控制。

在其中一个实施例中,数据包基于用户数据报协议(User Datagram Protocol, 缩写为UDP)。可利用UDP广播包作为信息的载体,发送端发送一系列的UDP广播包,其中每一包的长度(即Length字段)都进行编码,接收端利用混杂模式监听空间中的无线信号,并从数据链路层截取802.2SNAP格式数据包,便可得到已编码的Length字段,并解码得到传输数据。当然数据包也可以是基于传输控制协议(Transmission Control Protocol,TCP)的数据包。

在其中一个实施例中,由于受到最大传输单元(Maximum Transmission Unit,缩写为MTU)的限制,Length字段最大可编码位数为10bit。但实际测试过程中发现,UDP包长度与丢包率成正比,当Length字段编码位数达到9bit,即发送UDP包的长度大于256时,UDP广播包的丢包率就会明显升高,而且包与包之间也会发生乱序。因此Length字段编码位数限制在8bit之内,即UDP广播包的发送长度不大于256,因此每一个UDP广播包所能携带的信息量刚好为一个字节,所以较优的,本实施例的方法采用单字节方式发送信息。

由于每个数据包可承载的数据较少,作为一个实施例,通过多个数据包组成的数据包组完成一次传输数据的发送,参见图3,步骤S140包括:

S142,根据传输数据生成用于被识别的控制字段和用于装载传输数据的数据字段。

S144,将控制字段和数据字段顺序编码在多个数据包的编码字段上而生成多个数据包。通过控制字段和数据字段,可以在单个数据包传输数据量有限的情况下,通过数据包组实现大于单个数据包数据量的数据传输。

通信方法的链路层数据结构示意图请参见图4。链路层数据结构分为两类,control字段(即控制字段)与data字段(即数据字段)。magic code field(即识别字段)、prefix code field(即前缀字段)、sequence header field(即序列首字段)属于控制字段,data field(即序列字段)属于数据字段。在控制字段中,识别字段用于被识别,前缀字段与识别字段完全相同,在序列首字段之前发送,作用是表示多个序列的正式开始。序列首字段用于装载校验数据的校验码。在数据字段中,序列字段用于装载传输数据。控制字段与数据字段的字节以第7bit位加以区别,该位为1表示数据字段,为0表示control字段。在其他实施例中,控制字段和数据字段的字节可以以任意其他bit位为控制位,控制字段和数据字 段的字节的控制位的代码不相同。bit位可以是0bit位至7bit位中的任一。当然也可以0表示数据字段,1表示control字段。magic code与序列首字段通过第6bit位加以区分,该位为1表示序列首字段,为0表示识别字段。在其他实施例中,也可以用其他bit位进行区分。当然也可以0表示序列首字段,1表示识别字段。

参见图5,识别字段包括magic code(即识别字节),识别字节包括用于被识别的magic(即识别代码)和用于装载信息的information(即信息代码)。具体的,识别字段包括4字节(bytes),每个字节的高4位为识别代码,低四位为信息代码。前两个字节的信息代码分别装载要发送数据长度的高4位和低4位,后面两个字节的信息代码分别装载要发送ssid的crc8(循环冗余校验码)值的高4位和低4位。在该通信方法用于传输wifi的ssid和密码时,在控制字段传输ssid的crc8字段是对整个传输过程的优化。接收端接收数据之前先对无线访问接入点(Access Point,缩写为AP)进行扫描,通过获取的信标可以得知无线环境中所有非隐藏AP的ssid、rssi(received signal strength indicator,接收信号强度显示)以及信道。在传输过程中,接收端先从识别字段中获取目标AP的ssidcrc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中接收端就不用再接收ssid信息,可大大缩短传输的时间。

在其中一个实施例中,首先需要发送预定数目的识别字段,例如20个。接收端处于的无线网络环境有可能较为复杂,很有可能在同一个空间中存在多个AP,而这些AP又分布在相同或者不同的信道上,这样接收端开始时无法得知发送端在1至14中的哪一个信道上发送信息,而且同一个信道上也可能会有很多设备在发送UDP广播包。在这种情况下,接收端监听到的数据包是海量的。为了从海量的数据信息中定位出发送端所在的信道和发送端的物理地址(即mac地址),在发送其他信息之前,发送端可发送20个识别字段,这些识别字段均由4个字节组成,并且很容易被识别出来,接收端就能定位发送端的mac地址与所处的信道,便于在之后的信息监听过程中对海量信息进行有效的过滤。

参见图6,序列首字段包括sequence crc8(即序列循环冗余校验码)和 sequence index(即序列索引)。序列字段包括序列字节,用于装载传输数据。一个序列首字段和一个序列字段组成一个sequence(即序列),可以通过多个序列传送传输数据。本实施例中,把待发送的传输数据以4为粒度进行划分(如果传输数据的长度不能被4整除要用0进行补齐),每4个序列字节组成一个序列字段,以序列为单位进行数据的发送。并且,为了纠错而重复执行预定次数的传输数据发送时,在第一次发送传输数据后,即第一次发送完包含上述传输数据的N个序列之后,重新开始N个序列的发送之前,发送一次前缀字段,表示N个序列的开始。即在重复发送时,数据包由前缀字段、序列首字段和数据字段组成,可以没有识别字段。序列首字段由两个字节组成,第一个字节的低六位装载的是从序列索引开始到本序列结束发送的所有数据的crc8,在接收完一个序列的数据之后,需进行crc8值的效验,如果不相同,证明该序列的数据接收出错,应该丢弃。

参见图7,序列字段由4字节组成,每个字节的第7bit位为控制位,固定为1,其余的7位用于装载传输数据。传输数据包括ssid和ssid的密码,以及用于确认接收到传输数据的随机数。其中随机数的作用是,当数据接收端连上AP之后,立即发送以该随机数为内容的UDP广播包,当发送端收到该广播包后就能确认接收端已经准确接收到所有传输数据。随机数大小为一个字节,且其大小小于127。密码和ssid都’\0’结尾,并且可以通过字典法加密,相应的接收端用可以用相同的字典解密。传输数据的发送顺序为先发送密码,再发送随机数,最后发送ssid,参见图8。如果接收端在识别字段中获取目标AP的ssid crc8值,与事先扫描所得到的ssid的crc8值进行比对,且发现相同值,则可不接收在后发送的ssid信息,可大大缩短传输的时间。

图9为一实施方式的通信方法,本实施例具体可适用于处于混杂模式监听空间中的无线信号的接收端与具有无线发送能力的手机、平板电脑等无线终端进行无线通信,尤其适用于在未与其他设备建立实质性连接的情况下接收信息。如图9所示,本实施例的通信方法的具体步骤如下:

S220,接收将传输数据编码在编码字段上而生成的数据包,编码字段为数 据包中可直接监听内容的字段。本步骤与S160对应,不再赘述。对于采用了加密信道传输的数据包,通过加密信道取得数据包。

S240,解码编码字段获得传输数据。按照与编码相应的格式进行解码,即可获得传输数据。对于采用了加密信道传输的数据包,虽然数据区加密而无法获得具体内容,但是编码字段为数据包中可直接监听内容的字段,不受加密信道的影响,仍然能够获得其中的内容而进行解码。

本实施例的接收端可基于wifi无线通信协议,较适合接收少量的数据,可应用于物联网智能控制芯片接收ssid和密码。比如智能开关,由于不具备输入ssid的按键或触摸屏,通过这种接收方式可以便捷的获得ssid和密码。上述的数据包可以为广播包,通过接收无线访问接入点转发获得。无线访问接入点具有较大的功率,经其转发可增大无线通信信号物理空间上的覆盖范围。接收端通过混杂模式监听状态监听空间中的无线信号,执行步骤S220。步骤S220为从数据链路层截取数据,得到数据包。

数据包及编码字段可参见图1至图8所示的实施例。数据包被发送前经IP层和数据链路层封装,并加密。所以步骤S240包括将长度字段转义的步骤。作为一个实施例,数据包作为UDP广播包发送,一个UDP层的数据包,要经过IP层、数据链路层的封装,并且通过加密(加密方式包括WPA2、WPA和WEP)后才会被发送出去,所以发送端发送UDP广播包的长度与接收端最后监听到的Length字段值存在差异,因此需要进行转义。通过研究发现,只要UDP广播包的长度在MTU的限制范围内(即UDP包不分割),那么发送端发送UDP广播包的长度与接收端最后监听到的Length字段值的差值为一个定值,且该定值不随UDP广播包的长度变化而变化,只与WIFI对信道的加密方式有关。因此只要找出该差值在不同加密方式下的值,接收端就能对Length字段进行转义。

通过一系列的实验,得到如图10所示的转义表。AES为Advanced Encryption Standard的缩写,是指高级加密标准。TKIP为Temporal Key Integrity Protocol的缩写,是指临时密钥完整性协议。RC4是指密钥长度可变的流加密算法。如果WIFI加密方式为WPA2(AES),接收端通过监听,在链路层截获一个802.2SNAP格式的UDP广播包,其Length字段的值152,接收端转义可得到发送端 发送的内容为152-52=100。因此将长度字段转义的步骤可以是长度字段的值减去预设的转义值。

在其中一个实施例中,通过接收多个数据包组成的数据包组完成一次传输数据的接收,步骤S240包括:解码多个数据包,获得顺序编码在多个数据包的编码字段上的用于被识别的控制字段和用于装载传输数据的数据字段。控制字段包括识别字段及序列首字段,识别字段用于识别,序列首字段用于解码获得校验数据的校验码。数据字段包括序列字段,序列字段用于解码获得传输数据。序列首字段包括序列循环冗余校验码,以及序列索引。序列字段包括序列字节,用于解码获得传输数据。接收一个数据包组后,通过序列循环冗余校验码,进行校验,若校验失败,则证明该序列的数据接收出错,丢弃该数据包组。

在其中一个实施例中,具体的,一个序列首字段和一个序列字段组成一个序列,可以通过多个序列传送传输数据。序列首字段由两个字节组成,第一个的低六位装载的是从序列索引开始到本序列结束发送的所有数据的crc8,在接收完一个序列的数据之后,需进行crc8值的效验,如果不相同,证明该序列的数据接收出错,应该丢弃。

在每次接收到装载传输数据的N个序列之前,会接收到前缀字段,解码可得到用于解码获得ssid的ssid crc8。本实施例的通信方法还包括扫描环境中的AP,获得环境服务集标识。通过ssid crc8校验环境服务集标识,若校验成功,则放弃接收ssid。接收端接收数据之前先对AP进行扫描,通过获取的信标可以得知无线环境中所有非隐藏AP的ssid、rssi(received signal strength indicator,接收信号强度显示)以及信道。在传输过程中,接收端先从识别字段中获取目标AP的ssid crc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中接收端就不用再接收ssid信息,可大大缩短传输的时间。

上述实施例中的通信模型可以抽象为错误率为0-5%的单向的信道,所需要传递信息的最大长度为68字节。在这种情况下,如果不采用纠错算法,就很难保证在有限次数内完成信息的发送。作为一个实施例,采用了累积纠错算法来保证在有限次内完成传输过程。累积纠错算法的理论基础为:多轮数据发送过 程中,在同一位数据上发生错误的概率是很低的。因此可以累积多轮的数据传递结果进行分析,其中一轮中某一位错误数据有很大的概率能在其它轮中找到其对应的正确值,这样就能保证在有限次内完成信息的发送。

假定需要传递信息的长度为68字节,计算在最坏的情况下,使用累积纠错算法与不使用累积纠错算法信息发送成功的概率与发送次数的关系,结果如图11所示。假定每传递一个字节的错误率是5%,如果需要传递68字节的数据,那么一次传递成功的概率为:(1-0.05)68=3%。在采用了上述纠错算法的情况下,一次传递成功的概率同上为3%,n次传递成功的概率为:(1-0.05n)68

本实施例的传输速率取决于发送端UDP广播包的发送速率,目前广播包的发送频率为5ms发送一个,因此其传输速率为200bytes/s。在不计算识别字段的情况下,负载效率为66.7%。如果发送信息长度为最长的68字节,那么在最坏情况下,最多需要5次就可以完成信息发送,最大的传输时间需要68/66.7×5/200=2.549s。

在其他实施例中,数据包还可以是Ethernet802.2格式,如图12所示为Ethernet802.2格式数据包的示意图,编码字段为Ethernet802.2格式数据包中的长度字段,其他与数据包为Ethernet802.2SNAP格式的实施例相同。图12中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,LLC字段表示LLC头,数据字段为负载,FCS字段表示帧检验序列。

数据包还可以是Ethernet802.3格式,如图13所示为Ethernet802.3格式数据包的示意图,编码字段为Ethernet802.3格式数据包中的长度字段,其他与数据包为Ethernet802.2SNAP格式的实施例相同。图13中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,数据字段为负载,FCS字段表示帧检验序列。

数据包还可以是Ethernet802.3SNAP格式,参见图2,Ethernet802.3SNAP格式数据包的示意图与数据包为Ethernet802.2SNAP格式的实施例相同,编码字段为Ethernet802.3SNAP格式数据包中的长度字段。

图14为一实施方式的通信方法,本实施例具体可适用于处于混杂模式监听空间中的无线信号的接收端与具有无线发送能力的手机、平板电脑等无线终端进行无线通信,尤其适用于在未与其他设备建立实质性连接的情况下接收信息。如图14所示,本实施例的通信方法的具体步骤如下:

S320,获取待发送的传输数据。传输数据是进行无线通信需要发送至接收端的用户数据,而非系统自动生成的用于传输过程的传输控制数据。传输数据例如可以是无线接入时所需的服务集标识(Service Set Identifier,缩写为ssid)和密码、智能空调的调整参数等等。传输数据可以接收用户输入的方式获取,也可以通过网络获取,还可以从发送端的本地存储器中获取。

S340,将传输数据编码在编码字段上而生成数据包,编码字段为数据包中可直接监听内容的字段。可直接监听内容的编码字段是指无线传输过程中,暴露具体内容的字段。即使没有获得无线通信的密码,只要在信号覆盖的范围内,具备该无线传输功能的接收端都能够获得该编码字段的具体内容。在很多无线通信方式中,数据包内存在一些不需要保密的信息,这些不需要保密的信息是直接暴露的,例如无线局域网用到的802.2SNAP格式数据包中的长度字段等。

S360,发送数据包。生成数据包后,按照无线通信的要求,例如采用设定的频率、功率等进行数据包的发送。如果发送数据包的信道已经加密,通过加密信道发送数据包。

S380,接收数据包。本步骤与S360对应,对于采用了加密信道传输的数据包,通过加密信道取得数据包。

S390,解码编码字段获得传输数据。按照与编码相应的格式进行解码,即可获得传输数据。对于采用了加密信道传输的数据包,虽然数据区加密而无法获得具体内容,但是编码字段为数据包中可直接监听内容的字段,不受加密信道的影响,仍然能够获得其中的内容而进行解码。

上述通信方法,利用数据包中的可直接监听内容的编码字段,编码上传输数据并发送出去由接收端接收。通过上述方法,由于传输数据被编码的编码字段是可直接监听到内容的,即使数据包的其他字段被加密而无法获知内容,仍然可以获得传输数据,从而实现向接收端发送信息并由接收端接收获得信息, 接收端无需事先进行设置与外界建立连接,仅通过监听即可接收传输数据。

本实施例在信号载体方面,可采用wifi无线信号进行信息传递,较优的,可1至14全信道支持。利用数据包中可直接监听内容的编码字段编码传送数据,接收端可以处于混杂模式监听空间中的无线信号,从而能够监听到可直接监听内容的编码字段,解码编码字段即可得到传输数据。本实施例的方法较适合传输少量的数据,可应用于具有无线发送能力的手机、平板电脑等无线终端向智能设备上的物联网智能控制芯片发送服务集标识和密码。步骤S360中,数据包为广播包,通过无线访问接入点转发给接收端。无线访问接入点具有较大的功率,经其转发可增大无线通信信号物理空间上的覆盖范围。

在其中一个实施例中,编码字段为普通应用程序可直接控制的字段。由于移动终端的操作系统的限制(比如IOS或者Android),有些可直接监听内容的字段的控制需要很高的控制权限,负责编码的应用程序一般是很难控制。编码字段选择普通应用程序可直接控制的字段,则执行本实施例的应用程序不需要具有很高的控制权限,不仅方便使用,而且也不会影响系统的安全性。作为一个实施例,数据包为802.2SNAP格式,编码字段为802.2SNAP格式数据包中的长度字段。802.11是IEEE制定的无线局域网协议,802.11以802.2的逻辑链路控制封装来携带IP封包,因此能够以802.2SNAP格式接收无线网络数据。如果开启wifi芯片的混杂模式监听空间中的无线信号,并以802.2SNAP格式从数据链路层截取数据,就会得到如图2所示的数据包。

图2中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,LLC字段表示LLC头(LLC是Logical Link Control的缩写,是指逻辑链路控制),SNAP字段包括3字节的厂商代码和2字节的协议类型标识。DATA区(数据区)为负载,对于加密信道来说是密文,接收端在获得加密信道的密码之前,是无法获得数据区的具体内容的。FCS字段表示帧检验序列。从无线信号监听方,即接收端的角度来说,不管无线信道有没有加密,DA、SA、Length、LLC、SNAP、FCS字段总是暴露的,可以直接监听内容,但从执行本实施例的方法的发送端的角度来说,由于操作系统的限制(比如IOS或者Android),DA、SA、LLC、SNAP、FCS五个字 段的控制需要很高的控制权限,发送端负责编码的应用程序一般是很难控制。因此利用可直接监听内容且普通应用程序可直接控制的Length字段,发送端负责编码的应用程序可以通过改变其所需要发送数据包的长度进行很方便的控制。

在其中一个实施例中,数据包基于用户数据报协议(User Datagram Protocol,缩写为UDP)。可利用UDP广播包作为信息的载体,发送端发送一系列的UDP广播包,其中每一包的长度(即Length字段)都进行编码,接收端利用混杂模式监听空间中的无线信号,并从数据链路层截取802.2SNAP格式数据包,便可得到已编码的Length字段,并解码得到传输数据。当然数据包也可以是基于传输控制协议(Transmission Control Protocol,TCP)的数据包。

在其中一个实施例中,由于受到最大传输单元(Maximum Transmission Unit,缩写为MTU)的限制,Length字段最大可编码位数为10bit。但实际测试过程中发现,UDP包长度与丢包率成正比,当Length字段编码位数达到9bit,即发送UDP包的长度大于256时,UDP广播包的丢包率就会明显升高,而且包与包之间也会发生乱序。因此Length字段编码位数限制在8bit之内,即UDP广播包的发送长度不大于256,因此每一个UDP广播包所能携带的信息量刚好为一个字节,所以较优的,本实施例的方法采用单字节方式发送信息。

由于每个数据包可承载的数据较少,作为一个实施例,通过多个数据包组成的数据包组完成一次传输数据的发送,步骤S340包括:

根据传输数据生成用于被识别的控制字段和用于装载传输数据的数据字段。

将控制字段和数据字段顺序编码在多个数据包的编码字段上而生成多个数据包。

通过控制字段和数据字段,可以在单个数据包传输数据量有限的情况下,通过数据包组实现大于单个数据包数据量的数据传输。

通信方法的链路层数据结构示意图请参见图4。链路层数据结构分为两类,control字段(即控制字段)与data字段(即数据字段)。magic code field(即识别字段)、prefix code field(即前缀字段)、sequence header field(即序列首字段)属于控制字段,data field(即序列字段)属于数据字段。在控制字段中,识别字段用于被识别,前缀字段与识别字段完全相同,在序列首字段之前发送,作用 是表示多个序列的正式开始。序列首字段用于装载校验数据的校验码。在数据字段中,序列字段用于装载传输数据。控制字段与数据字段的字节以第7bit位加以区别,该位为1表示数据字段,为0表示control字段。在其他实施例中,控制字段和数据字段的字节可以以任意其他bit位为控制位,控制字段和数据字段的字节的控制位的代码不相同。bit位可以是0bit位至7bit位中的任一。当然也可以0表示数据字段,1表示control字段。magic code与序列首字段通过第6bit位加以区分,该位为1表示序列首字段,为0表示识别字段。在其他实施例中,也可以用其他bit位进行区分。当然也可以0表示序列首字段,1表示识别字段。

参见图5,识别字段包括magic code(即识别字节),识别字节包括用于被识别的magic(即识别代码)和用于装载信息的information(即信息代码)。具体的,识别字段包括4字节(bytes),每个字节的高4位为识别代码,低四位为信息代码。前两个字节的信息代码分别装载要发送数据长度的高4位和低4位,后面两个字节的信息代码分别装载要发送ssid的crc8(循环冗余校验码)值的高4位和低4位。在该通信方法用于传输wifi的ssid和密码时,在控制字段传输ssid的crc8字段是对整个传输过程的优化。接收端接收数据之前先对无线访问接入点(Access Point,缩写为AP)进行扫描,通过获取的信标可以得知无线环境中所有非隐藏AP的ssid、rssi(received signal strength indicator,接收信号强度显示)以及信道。在传输过程中,接收端先从识别字段中获取目标AP的ssid crc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中接收端就不用再接收ssid信息,可大大缩短传输的时间。

在其中一个实施例中,首先需要发送预定数目的识别字段,例如20个。接收端处于的无线网络环境有可能较为复杂,很有可能在同一个空间中存在多个AP,而这些AP又分布在相同或者不同的信道上,这样接收端开始时无法得知发送端在1至14中的哪一个信道上发送信息,而且同一个信道上也可能会有很多设备在发送UDP广播包。在这种情况下,接收端监听到的数据包是海量的。为了从海量的数据信息中定位出发送端所在的信道和发送端的物理地址(即mac 地址),在发送其他信息之前,发送端可发送20个识别字段,这些识别字段均由4个字节组成,并且很容易被识别出来,接收端就能定位发送端的mac地址与所处的信道,便于在之后的信息监听过程中对海量信息进行有效的过滤。

参见图6,序列首字段包括sequence crc8(即序列循环冗余校验码)和sequence index(即序列索引)。序列字段包括序列字节,用于装载传输数据。一个序列首字段和一个序列字段组成一个sequence(即序列),可以通过多个序列传送传输数据。本实施例中,把待发送的传输数据以4为粒度进行划分(如果传输数据的长度不能被4整除要用0进行补齐),每4个序列字节组成一个序列字段,以序列为单位进行数据的发送。并且,为了纠错而重复执行预定次数的传输数据发送时,在第一次发送传输数据后,即第一次发送完包含上述传输数据的N个序列之后,重新开始N个序列的发送之前,发送一次前缀字段,表示N个序列的开始。即在重复发送时,数据包由前缀字段、序列首字段和数据字段组成,可以没有识别字段。序列首字段由两个字节组成,第一个字节的低六位装载的是从序列索引开始到本序列结束发送的所有数据的crc8,在接收完一个序列的数据之后,需进行crc8值的效验,如果不相同,证明该序列的数据接收出错,应该丢弃。

参见图7,序列字段由4字节组成,每个字节的第7bit位为控制位,固定为1,其余的7位用于装载传输数据。传输数据包括ssid和ssid的密码,以及用于确认接收到传输数据的随机数。其中随机数的作用是,当数据接收端连上AP之后,立即发送以该随机数为内容的UDP广播包,当发送端收到该广播包后就能确认接收端已经准确接收到所有传输数据。随机数大小为一个字节,且其大小小于127。密码和ssid都’\0’结尾,并且可以通过字典法加密,相应的接收端用可以用相同的字典解密。传输数据的发送顺序为先发送密码,再发送随机数,最后发送ssid,参见图8。如果接收端在识别字段中获取目标AP的ssid crc8值,与事先扫描所得到的ssid的crc8值进行比对,且发现相同值,则可不接收在后发送的ssid信息,可大大缩短传输的时间。

本实施例的接收端可基于wifi无线通信协议,较适合接收少量的数据,可应用于物联网智能控制芯片接收ssid和密码。比如智能开关,由于不具备输入 ssid的按键或触摸屏,通过这种接收方式可以便捷的获得ssid和密码。上述的数据包可以为广播包,通过接收无线访问接入点转发获得。无线访问接入点具有较大的功率,经其转发可增大无线通信信号物理空间上的覆盖范围。接收端通过混杂模式监听状态监听空间中的无线信号,执行步骤S380。步骤S380为从数据链路层截取数据,得到数据包。

数据包被发送前经IP层和数据链路层封装,并加密。所以步骤S390包括将长度字段转义的步骤。作为一个实施例,数据包作为UDP广播包发送,一个UDP层的数据包,要经过IP层、数据链路层的封装,并且通过加密(加密方式包括WPA2、WPA和WEP)后才会被发送出去,所以发送端发送UDP广播包的长度与接收端最后监听到的Length字段值存在差异,因此需要进行转义。通过研究发现,只要UDP广播包的长度在MTU的限制范围内(即UDP包不分割),那么发送端发送UDP广播包的长度与接收端最后监听到的Length字段值的差值为一个定值,且该定值不随UDP广播包的长度变化而变化,只与WIFI对信道的加密方式有关。因此只要找出该差值在不同加密方式下的值,接收端就能对Length字段进行转义。

通过一系列的实验,得到如图10所示的转义表。AES为Advanced Encryption Standard的缩写,是指高级加密标准。TKIP为Temporal Key Integrity Protocol的缩写,是指临时密钥完整性协议。RC4是指密钥长度可变的流加密算法。如果WIFI加密方式为WPA2(AES),接收端通过监听,在链路层截获一个802.2SNAP格式的UDP广播包,其Length字段的值152,接收端转义可得到发送端发送的内容为152-52=100。因此将长度字段转义的步骤可以是长度字段的值减去预设的转义值。

在其中一个实施例中,通过接收多个数据包组成的数据包组完成一次传输数据的接收,步骤S390包括:解码多个数据包,获得顺序编码在多个数据包的编码字段上的用于被识别的控制字段和用于装载传输数据的数据字段。控制字段包括识别字段及序列首字段,识别字段用于识别,序列首字段用于解码获得校验数据的校验码。数据字段包括序列字段,序列字段用于解码获得传输数据。序列首字段包括序列循环冗余校验码,以及序列索引。序列字段包括序列字节, 用于解码获得传输数据。接收一个数据包组后,通过序列循环冗余校验码,进行校验,若校验失败,则证明该序列的数据接收出错,丢弃该数据包组。

在其中一个实施例中,具体的,一个序列首字段和一个序列字段组成一个序列,可以通过多个序列传送传输数据。序列首字段由两个字节组成,第一个的低六位装载的是从序列索引开始到本序列结束发送的所有数据的crc8,在接收完一个序列的数据之后,需进行crc8值的效验,如果不相同,证明该序列的数据接收出错,应该丢弃。

在每次接收到装载传输数据的N个序列之前,会接收到前缀字段,解码可得到用于解码获得ssid的ssid crc8。本实施例的通信方法还包括扫描环境中的AP,获得环境服务集标识。通过ssid crc8校验环境服务集标识,若校验成功,则放弃接收ssid。接收端接收数据之前先对AP进行扫描,通过获取的信标可以得知无线环境中所有非隐藏AP的ssid、rssi(received signal strength indicator,接收信号强度显示)以及信道。在传输过程中,接收端先从识别字段中获取目标AP的ssid crc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中接收端就不用再接收ssid信息,可大大缩短传输的时间。

上述实施例中的通信模型可以抽象为错误率为0-5%的单向的信道,所需要传递信息的最大长度为68字节。在这种情况下,如果不采用纠错算法,就很难保证在有限次数内完成信息的发送。作为一个实施例,采用了累积纠错算法来保证在有限次内完成传输过程。累积纠错算法的理论基础为:多轮数据发送过程中,在同一位数据上发生错误的概率是很低的。因此可以累积多轮的数据传递结果进行分析,其中一轮中某一位错误数据有很大的概率能在其它轮中找到其对应的正确值,这样就能保证在有限次内完成信息的发送。

假定需要传递信息的长度为68字节,计算在最坏的情况下,使用累积纠错算法与不使用累积纠错算法信息发送成功的概率与发送次数的关系,结果如图11所示。假定每传递一个字节的错误率是5%,如果需要传递68字节的数据,那么一次传递成功的概率为:(1-0.05)68=3%。在采用了上述纠错算法的情况下,一次传递成功的概率同上为3%,n次传递成功的概率为:(1-0.05n)68

本实施例的传输速率取决于发送端UDP广播包的发送速率,目前广播包的发送频率为5ms发送一个,因此其传输速率为200bytes/s。在不计算识别字段的情况下,负载效率为66.7%。如果发送信息长度为最长的68字节,那么在最坏情况下,最多需要5次就可以完成信息发送,最大的传输时间需要68/66.7×5/200=2.549s。

在其他实施例中,数据包还可以是Ethernet802.2格式,如图12所示为Ethernet802.2格式数据包的示意图,编码字段为Ethernet802.2格式数据包中的长度字段,其他与数据包为Ethernet802.2SNAP格式的实施例相同。图12中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,LLC字段表示LLC头,数据字段为负载,FCS字段表示帧检验序列。

数据包还可以是Ethernet802.3格式,如图13所示为Ethernet802.3格式数据包的示意图,编码字段为Ethernet802.3格式数据包中的长度字段,其他与数据包为Ethernet802.2SNAP格式的实施例相同。图13中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,数据字段为负载,FCS字段表示帧检验序列。

数据包还可以是Ethernet802.3SNAP格式,参见图2,Ethernet802.3SNAP格式数据包的示意图与数据包为Ethernet802.2SNAP格式的实施例相同,编码字段为Ethernet802.3SNAP格式数据包中的长度字段。

图15为一实施方式的信息发送装置100,本实施例具体可适用于与处于混杂模式监听空间中的无线信号的接收端进行无线通信,尤其适用于向未与其他设备建立实质性连接的接收端传送信息。如图15所示,本实施例的信息发送装置100包括:

获取模块120,用于获取待发送的传输数据。传输数据是进行无线通信需要发送至接收端的用户数据,而非系统自动生成的用于传输过程的传输控制数据。传输数据例如可以是无线接入时所需的服务集标识(Service Set Identifier,缩写为ssid)和密码、智能空调的调整参数等等。传输数据可以接收用户输入的方式 获取,也可以通过网络获取,还可以从信息发送装置100的本地存储器中获取。

编码模块140,用于将传输数据编码在编码字段上而生成数据包,编码字段为数据包中可直接监听内容的字段。可直接监听内容的编码字段是指无线传输过程中,暴露具体内容的字段。即使没有获得无线通信的密码,只要在信号覆盖的范围内,具备该无线传输功能的接收端都能够获得该编码字段的具体内容。在很多无线通信方式中,数据包内存在一些不需要保密的信息,这些不需要保密的信息是直接暴露的,例如无线局域网用到的802.2SNAP格式数据包中的长度字段等。传输数据可以明文传送,也可以另行加密,加密信道密码和加密传输数据的密码是不同的密码。若传输数据加密,接收端可以相应解密,还是可以直接获得传输数据的内容,不受加密信道的影响。

发送模块160,用于发送数据包。生成数据包后,按照无线通信的要求,例如采用设定的频率、功率等进行数据包的发送。如果发送数据包的信道已经加密,通过加密信道发送数据包。

上述信息发送装置100,利用数据包中的可直接监听内容的编码字段,编码上传输数据并发送出去由接收端接收。通过信息发送装置100,由于传输数据被编码的编码字段是可直接监听到内容的,即使数据包的其他字段被加密而无法获知内容,仍然可以获得传输数据,从而实现向接收端发送信息并由接收端接收获得信息,接收端无需事先进行设置与外界建立连接,仅通过监听即可接收传输数据。

本实施例在信号载体方面,可采用wifi无线信号进行信息传递,较优的,可1至14全信道支持。利用数据包中可直接监听内容的编码字段编码传送数据,接收端可以处于混杂模式监听空间中的无线信号,从而能够监听到可直接监听内容的编码字段,解码编码字段即可得到传输数据。信息发送装置100较适合传输少量的数据,可应用于具有无线发送能力的手机、平板电脑等无线终端向智能设备上的物联网智能控制芯片发送服务集标识和密码。发送模块160中,数据包为广播包,通过无线访问接入点转发给接收端。无线访问接入点具有较大的功率,经其转发可增大无线通信信号物理空间上的覆盖范围。

在其中一个实施例中,编码字段为普通应用程序可直接控制的字段。由于 移动终端的操作系统的限制(比如IOS或者Android),有些可直接监听内容的字段的控制需要很高的控制权限,负责编码的应用程序一般是很难控制。编码字段选择普通应用程序可直接控制的字段,则执行本实施例的应用程序不需要具有很高的控制权限,不仅方便使用,而且也不会影响系统的安全性。作为一个实施例,数据包为802.2SNAP格式,编码字段为802.2SNAP格式数据包中的长度字段。802.11是IEEE制定的无线局域网协议,802.11以802.2的逻辑链路控制封装来携带IP封包,因此能够以802.2SNAP格式接收无线网络数据。如果开启wifi芯片的混杂模式监听空间中的无线信号,并以802.2SNAP格式从数据链路层截取数据,就会得到如图2所示的数据包。

图2中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,LLC字段表示LLC头(LLC是Logical Link Control的缩写,是指逻辑链路控制),SNAP字段包括3字节的厂商代码和2字节的协议类型标识。DATA区(数据区)为负载,对于加密信道来说是密文,接收端在获得加密信道的密码之前,是无法获得数据区的具体内容的。FCS字段表示帧检验序列。从无线信号监听方,即接收端的角度来说,不管无线信道有没有加密,DA、SA、Length、LLC、SNAP、FCS字段总是暴露的,可以直接监听内容,但信息发送装置100,由于操作系统的限制(比如IOS或者Android),DA、SA、LLC、SNAP、FCS五个字段的控制需要很高的控制权限,信息发送装置100负责编码的应用程序一般是很难控制。因此利用可直接监听内容且普通应用程序可直接控制的Length字段,信息发送装置100负责编码的应用程序可以通过改变其所需要发送数据包的长度进行很方便的控制。

在其中一个实施例中,数据包基于用户数据报协议(User Datagram Protocol,缩写为UDP)。可利用UDP广播包作为信息的载体,信息发送装置100发送一系列的UDP广播包,其中每一包的长度(即Length字段)都进行编码,接收端利用混杂模式监听空间中的无线信号,并从数据链路层截取802.2SNAP格式数据包,便可得到已编码的Length字段,并解码得到传输数据。当然数据包也可以是基于传输控制协议(Transmission Control Protocol,TCP)的数据包。

在其中一个实施例中,由于受到最大传输单元(Maximum Transmission Unit, 缩写为MTU)的限制,Length字段最大可编码位数为10bit。但实际测试过程中发现,UDP包长度与丢包率成正比,当Length字段编码位数达到9bit,即发送UDP包的长度大于256时,UDP广播包的丢包率就会明显升高,而且包与包之间也会发生乱序。因此Length字段编码位数限制在8bit之内,即UDP广播包的发送长度不大于256,因此每一个UDP广播包所能携带的信息量刚好为一个字节,所以较优的,信息发送装置100采用单字节方式发送信息。

由于每个数据包可承载的数据较少,作为一个实施例,通过多个数据包组成的数据包组完成一次传输数据的发送,将传输数据编码在编码字段上而生成数据包,编码字段为数据包中可直接监听内容的字段的步骤具体包括:根据传输数据生成用于被识别的控制字段和用于装载传输数据的数据字段。将控制字段和数据字段顺序编码在多个数据包的编码字段上而生成多个数据包。通过控制字段和数据字段,可以在单个数据包传输数据量有限的情况下,通过数据包组实现大于单个数据包数据量的数据传输。

信息发送装置100发送的信息的链路层数据结构示意图请参见图4。链路层数据结构分为两类,control字段(即控制字段)与data字段(即数据字段)。magic code field(即识别字段)、prefix code field(即前缀字段)、sequence header field(即序列首字段)属于控制字段,data field(即序列字段)属于数据字段。在控制字段中,识别字段用于被识别,前缀字段与识别字段完全相同,在序列首字段之前发送,作用是表示多个序列的正式开始。序列首字段用于装载校验数据的校验码。在数据字段中,序列字段用于装载传输数据。控制字段与数据字段的字节以第7bit位加以区别,该位为1表示数据字段,为0表示control字段。在其他实施例中,控制字段和数据字段的字节可以以任意其他bit位为控制位,控制字段和数据字段的字节的控制位的代码不相同。bit位可以是0bit位至7bit位中的任一。当然也可以0表示数据字段,1表示control字段。magic code与序列首字段通过第6bit位加以区分,该位为1表示序列首字段,为0表示识别字段。在其他实施例中,也可以用其他bit位进行区分。当然也可以0表示序列首字段,1表示识别字段。

参见图5,识别字段包括magic code(即识别字节),识别字节包括用于被 识别的magic(即识别代码)和用于装载信息的information(即信息代码)。具体的,识别字段包括4字节(bytes),每个字节的高4位为识别代码,低四位为信息代码。前两个字节的信息代码分别装载要发送数据长度的高4位和低4位,后面两个字节的信息代码分别装载要发送ssid的crc8(循环冗余校验码)值的高4位和低4位。在信息发送装置100用于传输wifi的ssid和密码时,在控制字段传输ssid的crc8字段是对整个传输过程的优化。接收端接收数据之前先对无线访问接入点(Access Point,缩写为AP)进行扫描,通过获取的信标可以得知无线环境中所有非隐藏AP的ssid、rssi(received signal strength indicator,接收信号强度显示)以及信道。在传输过程中,接收端先从识别字段中获取目标AP的ssid crc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中接收端就不用再接收ssid信息,可大大缩短传输的时间。

在其中一个实施例中,首先需要发送预定数目的识别字段,例如20个。接收端处于的无线网络环境有可能较为复杂,很有可能在同一个空间中存在多个AP,而这些AP又分布在相同或者不同的信道上,这样接收端开始时无法得知信息发送装置100在1至14中的哪一个信道上发送信息,而且同一个信道上也可能会有很多设备在发送UDP广播包。在这种情况下,接收端监听到的数据包是海量的。为了从海量的数据信息中定位出信息发送装置100所在的信道和信息发送装置100的物理地址(即mac地址),在发送其他信息之前,信息发送装置100可发送20个识别字段,这些识别字段均由4个字节组成,并且很容易被识别出来,接收端就能定位信息发送装置100的mac地址与所处的信道,便于在之后的信息监听过程中对海量信息进行有效的过滤。

参见图6,序列首字段包括sequence crc8(即序列循环冗余校验码)和sequence index(即序列索引)。序列字段包括序列字节,用于装载传输数据。一个序列首字段和一个序列字段组成一个sequence(即序列),可以通过多个序列传送传输数据。本实施例中,把待发送的传输数据以4为粒度进行划分(如果传输数据的长度不能被4整除要用0进行补齐),每4个序列字节组成一个序列字段,以序列为单位进行数据的发送。并且,为了纠错而重复执行预定次数的传 输数据发送时,在第一次发送传输数据后,即第一次发送完包含上述传输数据的N个序列之后,重新开始N个序列的发送之前,发送一次前缀字段,表示N个序列的开始。即在重复发送时,数据包由前缀字段、序列首字段和数据字段组成,可以没有识别字段。序列首字段由两个字节组成,第一个字节的低六位装载的是从序列索引开始到本序列结束发送的所有数据的crc8,在接收完一个序列的数据之后,需进行crc8值的效验,如果不相同,证明该序列的数据接收出错,应该丢弃。

参见图7,序列字段由4字节组成,每个字节的第7bit位为控制位,固定为1,其余的7位用于装载传输数据。传输数据包括ssid和ssid的密码,以及用于确认接收到传输数据的随机数。其中随机数的作用是,当数据接收端连上AP之后,立即发送以该随机数为内容的UDP广播包,当信息发送装置100收到该广播包后就能确认接收端已经准确接收到所有传输数据。随机数大小为一个字节,且其大小小于127。密码和ssid都’\0’结尾,并且可以通过字典法加密,相应的接收端用可以用相同的字典解密。传输数据的发送顺序为先发送密码,再发送随机数,最后发送ssid,参见图8。如果接收端在识别字段中获取目标AP的ssidcrc8值,与事先扫描所得到的ssid的crc8值进行比对,且发现相同值,则可不接收在后发送的ssid信息,可大大缩短传输的时间。

图16为一实施方式的信息接收装置200,本实施例的信息接收装置200具体可适用于处于混杂模式监听空间中的无线信号,信息接收装置200可以与具有无线发送能力的手机、平板电脑等无线终端进行无线通信,尤其适用于在未与其他设备建立实质性连接的情况下接收信息。如图16所示,本实施例的信息接收装置200包括:

接收模块220,用于接收将传输数据编码在编码字段上而生成的数据包,编码字段为数据包中可直接监听内容的字段。本步骤与发送模块160对应,不再赘述。对于采用了加密信道传输的数据包,通过加密信道取得数据包。

解码模块240,用于解码编码字段获得传输数据。按照与编码相应的格式进行解码,即可获得传输数据。对于采用了加密信道传输的数据包,虽然数据区 加密而无法获得具体内容,但是编码字段为数据包中可直接监听内容的字段,不受加密信道的影响,仍然能够获得其中的内容而进行解码。

信息接收装置200可基于wifi无线通信协议,较适合接收少量的数据,可应用于物联网智能控制芯片接收ssid和密码。比如智能开关,由于不具备输入ssid的按键或触摸屏,通过这种接收方式可以便捷的获得ssid和密码。上述的数据包可以为广播包,通过接收无线访问接入点转发获得。无线访问接入点具有较大的功率,经其转发可增大无线通信信号物理空间上的覆盖范围。接收模块220通过混杂模式监听状态监听空间中的无线信号,从数据链路层截取数据,得到数据包。

数据包及编码字段可参见图1至图8所示的实施例。数据包被发送前经IP层和数据链路层封装,并加密。所以解码编码字段获得传输数据的步骤包括将长度字段转义的步骤。作为一个实施例,数据包作为UDP广播包发送,一个UDP层的数据包,要经过IP层、数据链路层的封装,并且通过加密(加密方式包括WPA2、WPA和WEP)后才会被发送出去,所以发送端发送UDP广播包的长度与信息接收装置200最后监听到的Length字段值存在差异,因此需要进行转义。通过研究发现,只要UDP广播包的长度在MTU的限制范围内(即UDP包不分割),那么发送端发送UDP广播包的长度与信息接收装置200最后监听到的Length字段值的差值为一个定值,且该定值不随UDP广播包的长度变化而变化,只与WIFI对信道的加密方式有关。因此只要找出该差值在不同加密方式下的值,信息接收装置200就能对Length字段进行转义。

通过一系列的实验,得到如图10所示的转义表。AES为Advanced Encryption Standard的缩写,是指高级加密标准。TKIP为Temporal Key Integrity Protocol的缩写,是指临时密钥完整性协议。RC4是指密钥长度可变的流加密算法。如果WIFI加密方式为WPA2(AES),接收端通过监听,在链路层截获一个802.2SNAP格式的UDP广播包,其Length字段的值152,信息接收装置200转义可得到发送端发送的内容为152-52=100。因此将长度字段转义的步骤可以是长度字段的值减去预设的转义值。

在其中一个实施例中,通过接收多个数据包组成的数据包组完成一次传输 数据的接收,解码模块240解码多个数据包,获得顺序编码在多个数据包的编码字段上的用于被识别的控制字段和用于装载传输数据的数据字段。控制字段包括识别字段及序列首字段,识别字段用于识别,序列首字段用于解码获得校验数据的校验码。数据字段包括序列字段,序列字段用于解码获得传输数据。序列首字段包括序列循环冗余校验码,以及序列索引。序列字段包括序列字节,用于解码获得传输数据。接收一个数据包组后,通过序列循环冗余校验码,进行校验,若校验失败,则证明该序列的数据接收出错,丢弃该数据包组。

在其中一个实施例中,具体的,一个序列首字段和一个序列字段组成一个序列,可以通过多个序列传送传输数据。序列首字段由两个字节组成,第一个的低六位装载的是从序列索引开始到本序列结束发送的所有数据的crc8,在接收完一个序列的数据之后,需进行crc8值的效验,如果不相同,证明该序列的数据接收出错,应该丢弃。

在每次接收到装载传输数据的N个序列之前,会接收到前缀字段,解码可得到用于解码获得ssid的ssid crc8。接收模块220还用于扫描环境中的AP,获得环境服务集标识。通过ssid crc8校验环境服务集标识,若校验成功,则放弃接收ssid。信息接收装置200接收数据之前先对AP进行扫描,通过获取的信标可以得知无线环境中所有非隐藏AP的ssid、rssi(received signal strength indicator,接收信号强度显示)以及信道。在传输过程中,信息接收装置200先从识别字段中获取目标AP的ssid crc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中信息接收装置200就不用再接收ssid信息,可大大缩短传输的时间。

上述实施例中的通信模型可以抽象为错误率为0-5%的单向的信道,所需要传递信息的最大长度为68字节。在这种情况下,如果不采用纠错算法,就很难保证在有限次数内完成信息的发送。作为一个实施例,采用了累积纠错算法来保证在有限次内完成传输过程。累积纠错算法的理论基础为:多轮数据发送过程中,在同一位数据上发生错误的概率是很低的。因此可以累积多轮的数据传递结果进行分析,其中一轮中某一位错误数据有很大的概率能在其它轮中找到其对应的正确值,这样就能保证在有限次内完成信息的发送。

假定需要传递信息的长度为68字节,计算在最坏的情况下,使用累积纠错算法与不使用累积纠错算法信息发送成功的概率与发送次数的关系,结果如图11所示。假定每传递一个字节的错误率是5%,如果需要传递68字节的数据,那么一次传递成功的概率为:(1-0.05)68=3%。在采用了上述纠错算法的情况下,一次传递成功的概率同上为3%,n次传递成功的概率为:(1-0.05n)68

本实施例的传输速率取决于发送端的UDP广播包的发送速率,目前广播包的发送频率为5ms发送一个,因此其传输速率为200bytes/s。在不计算识别字段的情况下,负载效率为66.7%。如果发送信息长度为最长的68字节,那么在最坏情况下,最多需要5次就可以完成信息发送,最大的传输时间需要68/66.7×5/200=2.549s。

在其他实施例中,数据包还可以是Ethernet802.2格式,如图12所示为Ethernet802.2格式数据包的示意图,编码字段为Ethernet802.2格式数据包中的长度字段,其他与数据包为Ethernet802.2SNAP格式的实施例相同。图12中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,LLC字段表示LLC头,数据字段为负载,FCS字段表示帧检验序列。

数据包还可以是Ethernet802.3格式,如图13所示为Ethernet802.3格式数据包的示意图,编码字段为Ethernet802.3格式数据包中的长度字段,其他与数据包为Ethernet802.2SNAP格式的实施例相同。图13中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,数据字段为负载,FCS字段表示帧检验序列。

数据包还可以是Ethernet802.3SNAP格式,参见图2,Ethernet802.3SNAP格式数据包的示意图与数据包为Ethernet802.2SNAP格式的实施例相同,编码字段为Ethernet802.3SNAP格式数据包中的长度字段。

图17为一实施方式的通信系统,本实施例具体可适用于处于混杂模式监听空间中的无线信号的接收端与具有无线发送能力的手机、平板电脑等无线终端进行无线通信,尤其适用于在未与其他设备建立实质性连接的情况下接收信息。 如图17所示,本实施例的通信系统包括:

获取模块120,用于获取待发送的传输数据。传输数据是进行无线通信需要发送至接收端的用户数据,而非系统自动生成的用于传输过程的传输控制数据。传输数据例如可以是无线接入时所需的服务集标识(Service Set Identifier,缩写为ssid)和密码、智能空调的调整参数等等。传输数据可以接收用户输入的方式获取,也可以通过网络获取,还可以从发送端的本地存储器中获取。

编码模块140,用于将传输数据编码在编码字段上而生成数据包,编码字段为数据包中可直接监听内容的字段。可直接监听内容的编码字段是指无线传输过程中,暴露具体内容的字段。即使没有获得无线通信的密码,只要在信号覆盖的范围内,具备该无线传输功能的接收端都能够获得该编码字段的具体内容。在很多无线通信方式中,数据包内存在一些不需要保密的信息,这些不需要保密的信息是直接暴露的,例如无线局域网用到的802.2SNAP格式数据包中的长度字段等。

发送模块160,用于发送数据包。生成数据包后,按照无线通信的要求,例如采用设定的频率、功率等进行数据包的发送。如果发送数据包的信道已经加密,通过加密信道发送数据包。

接收模块220,用于接收数据包。与发送模块160对应,接收发送模块160发送的数据包。对于采用了加密信道传输的数据包,通过加密信道取得数据包。

解码模块240,用于解码编码字段获得传输数据。按照与编码相应的格式进行解码,即可获得传输数据。对于采用了加密信道传输的数据包,虽然数据区加密而无法获得具体内容,但是编码字段为数据包中可直接监听内容的字段,不受加密信道的影响,仍然能够获得其中的内容而进行解码。

上述通信系统,利用数据包中的可直接监听内容的编码字段,编码上传输数据并发送出去由接收端接收。通过上述通信系统,由于传输数据被编码的编码字段是可直接监听到内容的,即使数据包的其他字段被加密而无法获知内容,仍然可以获得传输数据,从而实现向接收端发送信息并由接收端接收获得信息,接收端无需事先进行设置与外界建立连接,仅通过监听即可接收传输数据。

本实施例在信号载体方面,可采用wifi无线信号进行信息传递,较优的, 可1至14全信道支持。利用数据包中可直接监听内容的编码字段编码传送数据,接收端可以处于混杂模式监听空间中的无线信号,从而能够监听到可直接监听内容的编码字段,解码编码字段即可得到传输数据。本实施例的通信系统较适合传输少量的数据,可应用于具有无线发送能力的手机、平板电脑等无线终端向智能设备上的物联网智能控制芯片发送服务集标识和密码。发送模块160发送的数据包为广播包,通过无线访问接入点转发给接收端。无线访问接入点具有较大的功率,经其转发可增大无线通信信号物理空间上的覆盖范围。

在其中一个实施例中,编码字段为普通应用程序可直接控制的字段。由于移动终端的操作系统的限制(比如IOS或者Android),有些可直接监听内容的字段的控制需要很高的控制权限,负责编码的应用程序一般是很难控制。编码字段选择普通应用程序可直接控制的字段,则执行本实施例的应用程序不需要具有很高的控制权限,不仅方便使用,而且也不会影响系统的安全性。作为一个实施例,数据包为802.2SNAP格式,编码字段为802.2SNAP格式数据包中的长度字段。802.11是IEEE制定的无线局域网协议,802.11以802.2的逻辑链路控制封装来携带IP封包,因此能够以802.2SNAP格式接收无线网络数据。如果开启wifi芯片的混杂模式监听空间中的无线信号,并以802.2SNAP格式从数据链路层截取数据,就会得到如图2所示的数据包。

图2中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,LLC字段表示LLC头(LLC是Logical Link Control的缩写,是指逻辑链路控制),SNAP字段包括3字节的厂商代码和2字节的协议类型标识。DATA区(数据区)为负载,对于加密信道来说是密文,接收端在获得加密信道的密码之前,是无法获得数据区的具体内容的。FCS字段表示帧检验序列。从无线信号监听方,即接收端的角度来说,不管无线信道有没有加密,DA、SA、Length、LLC、SNAP、FCS字段总是暴露的,可以直接监听内容,但从执行本实施例的通信系统的发送端的角度来说,由于操作系统的限制(比如IOS或者Android),DA、SA、LLC、SNAP、FCS五个字段的控制需要很高的控制权限,发送端负责编码的应用程序一般是很难控制。因此利用可直接监听内容且普通应用程序可直接控制的Length字段,发送 端负责编码的应用程序可以通过改变其所需要发送数据包的长度进行很方便的控制。

在其中一个实施例中,数据包基于用户数据报协议(User Datagram Protocol,缩写为UDP)。可利用UDP广播包作为信息的载体,发送端发送一系列的UDP广播包,其中每一包的长度(即Length字段)都进行编码,接收端利用混杂模式监听空间中的无线信号,并从数据链路层截取802.2SNAP格式数据包,便可得到已编码的Length字段,并解码得到传输数据。当然数据包也可以是基于传输控制协议(Transmission Control Protocol,TCP)的数据包。

在其中一个实施例中,由于受到最大传输单元(Maximum Transmission Unit,缩写为MTU)的限制,Length字段最大可编码位数为10bit。但实际测试过程中发现,UDP包长度与丢包率成正比,当Length字段编码位数达到9bit,即发送UDP包的长度大于256时,UDP广播包的丢包率就会明显升高,而且包与包之间也会发生乱序。因此Length字段编码位数限制在8bit之内,即UDP广播包的发送长度不大于256,因此每一个UDP广播包所能携带的信息量刚好为一个字节,所以较优的,本实施例的通信系统采用单字节方式发送信息。

由于每个数据包可承载的数据较少,作为一个实施例,通过多个数据包组成的数据包组完成一次传输数据的发送,将传输数据编码在编码字段上而生成数据包,编码字段为数据包中可直接监听内容的字段的步骤具体包括:根据传输数据生成用于被识别的控制字段和用于装载传输数据的数据字段。将控制字段和数据字段顺序编码在多个数据包的编码字段上而生成多个数据包。通过控制字段和数据字段,可以在单个数据包传输数据量有限的情况下,通过数据包组实现大于单个数据包数据量的数据传输。

通信系统的链路层数据结构示意图请参见图4。链路层数据结构分为两类,control字段(即控制字段)与data字段(即数据字段)。magic code field(即识别字段)、prefix code field(即前缀字段)、sequence header field(即序列首字段)属于控制字段,data field(即序列字段)属于数据字段。在控制字段中,识别字段用于被识别,前缀字段与识别字段完全相同,在序列首字段之前发送,作用是表示多个序列的正式开始。序列首字段用于装载校验数据的校验码。在数据 字段中,序列字段用于装载传输数据。控制字段与数据字段的字节以第7bit位加以区别,该位为1表示数据字段,为0表示control字段。在其他实施例中,控制字段和数据字段的字节可以以任意其他bit位为控制位,控制字段和数据字段的字节的控制位的代码不相同。bit位可以是0bit位至7bit位中的任一。当然也可以0表示数据字段,1表示control字段。magic code与序列首字段通过第6bit位加以区分,该位为1表示序列首字段,为0表示识别字段。在其他实施例中,也可以用其他bit位进行区分。当然也可以0表示序列首字段,1表示识别字段。

参见图5,识别字段包括magic code(即识别字节),识别字节包括用于被识别的magic(即识别代码)和用于装载信息的information(即信息代码)。具体的,识别字段包括4字节(bytes),每个字节的高4位为识别代码,低四位为信息代码。前两个字节的信息代码分别装载要发送数据长度的高4位和低4位,后面两个字节的信息代码分别装载要发送ssid的crc8(循环冗余校验码)值的高4位和低4位。在该通信系统用于传输wifi的ssid和密码时,在控制字段传输ssid的crc8字段是对整个传输过程的优化。接收端接收数据之前先对无线访问接入点(Access Point,缩写为AP)进行扫描,通过获取的信标可以得知无线环境中所有非隐藏AP的ssid、rssi(received signal strength indicator,接收信号强度显示)以及信道。在传输过程中,接收端先从识别字段中获取目标AP的ssidcrc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中接收端就不用再接收ssid信息,可大大缩短传输的时间。

在其中一个实施例中,首先需要发送预定数目的识别字段,例如20个。接收端处于的无线网络环境有可能较为复杂,很有可能在同一个空间中存在多个AP,而这些AP又分布在相同或者不同的信道上,这样接收端开始时无法得知发送端在1至14中的哪一个信道上发送信息,而且同一个信道上也可能会有很多设备在发送UDP广播包。在这种情况下,接收端监听到的数据包是海量的。为了从海量的数据信息中定位出发送端所在的信道和发送端的物理地址(即mac地址),在发送其他信息之前,发送端可发送20个识别字段,这些识别字段均 由4个字节组成,并且很容易被识别出来,接收端就能定位发送端的mac地址与所处的信道,便于在之后的信息监听过程中对海量信息进行有效的过滤。

参见图6,序列首字段包括sequence crc8(即序列循环冗余校验码)和sequence index(即序列索引)。序列字段包括序列字节,用于装载传输数据。一个序列首字段和一个序列字段组成一个sequence(即序列),可以通过多个序列传送传输数据。本实施例中,把待发送的传输数据以4为粒度进行划分(如果传输数据的长度不能被4整除要用0进行补齐),每4个序列字节组成一个序列字段,以序列为单位进行数据的发送。并且,为了纠错而重复执行预定次数的传输数据发送时,在第一次发送传输数据后,即第一次发送完包含上述传输数据的N个序列之后,重新开始N个序列的发送之前,发送一次前缀字段,表示N个序列的开始。即在重复发送时,数据包由前缀字段、序列首字段和数据字段组成,可以没有识别字段。序列首字段由两个字节组成,第一个字节的低六位装载的是从序列索引开始到本序列结束发送的所有数据的crc8,在接收完一个序列的数据之后,需进行crc8值的效验,如果不相同,证明该序列的数据接收出错,应该丢弃。

参见图7,序列字段由4字节组成,每个字节的第7bit位为控制位,固定为1,其余的7位用于装载传输数据。传输数据包括ssid和ssid的密码,以及用于确认接收到传输数据的随机数。其中随机数的作用是,当数据接收端连上AP之后,立即发送以该随机数为内容的UDP广播包,当发送端收到该广播包后就能确认接收端已经准确接收到所有传输数据。随机数大小为一个字节,且其大小小于127。密码和ssid都’\0’结尾,并且可以通过字典法加密,相应的接收端用可以用相同的字典解密。传输数据的发送顺序为先发送密码,再发送随机数,最后发送ssid,参见图8。如果接收端在识别字段中获取目标AP的ssid crc8值,与事先扫描所得到的ssid的crc8值进行比对,且发现相同值,则可不接收在后发送的ssid信息,可大大缩短传输的时间。

本实施例的接收端可基于wifi无线通信协议,较适合接收少量的数据,可应用于物联网智能控制芯片接收ssid和密码。比如智能开关,由于不具备输入ssid的按键或触摸屏,通过这种接收方式可以便捷的获得ssid和密码。上述的数 据包可以为广播包,通过接收无线访问接入点转发获得。无线访问接入点具有较大的功率,经其转发可增大无线通信信号物理空间上的覆盖范围。接收模块220通过混杂模式监听状态监听空间中的无线信号,执行接收数据包的步骤,接收模块220从数据链路层截取数据,得到数据包。

数据包被发送前经IP层和数据链路层封装,并加密。解码模块240还用于将长度字段转义。作为一个实施例,数据包作为UDP广播包发送,一个UDP层的数据包,要经过IP层、数据链路层的封装,并且通过加密(加密方式包括WPA2、WPA和WEP)后才会被发送出去,所以发送端发送UDP广播包的长度与接收端最后监听到的Length字段值存在差异,因此需要进行转义。通过研究发现,只要UDP广播包的长度在MTU的限制范围内(即UDP包不分割),那么发送端发送UDP广播包的长度与接收端最后监听到的Length字段值的差值为一个定值,且该定值不随UDP广播包的长度变化而变化,只与WIFI对信道的加密方式有关。因此只要找出该差值在不同加密方式下的值,接收端就能对Length字段进行转义。

通过一系列的实验,得到如图10所示的转义表。AES为Advanced Encryption Standard的缩写,是指高级加密标准。TKIP为Temporal Key Integrity Protocol的缩写,是指临时密钥完整性协议。RC4是指密钥长度可变的流加密算法。如果WIFI加密方式为WPA2(AES),接收端通过监听,在链路层截获一个802.2SNAP格式的UDP广播包,其Length字段的值152,接收端转义可得到发送端发送的内容为152-52=100。因此将长度字段转义的步骤可以是长度字段的值减去预设的转义值。

在其中一个实施例中,通过接收多个数据包组成的数据包组完成一次传输数据的接收,解码模块240解码多个数据包,获得顺序编码在多个数据包的编码字段上的用于被识别的控制字段和用于装载传输数据的数据字段。控制字段包括识别字段及序列首字段,识别字段用于识别,序列首字段用于解码获得校验数据的校验码。数据字段包括序列字段,序列字段用于解码获得传输数据。序列首字段包括序列循环冗余校验码,以及序列索引。序列字段包括序列字节,用于解码获得传输数据。接收一个数据包组后,通过序列循环冗余校验码,进 行校验,若校验失败,则证明该序列的数据接收出错,丢弃该数据包组。

在其中一个实施例中,具体的,一个序列首字段和一个序列字段组成一个序列,可以通过多个序列传送传输数据。序列首字段由两个字节组成,第一个的低六位装载的是从序列索引开始到本序列结束发送的所有数据的crc8,在接收完一个序列的数据之后,需进行crc8值的效验,如果不相同,证明该序列的数据接收出错,应该丢弃。

在每次接收到装载传输数据的N个序列之前,会接收到前缀字段,解码可得到用于解码获得ssid的ssid crc8。本实施例的通信系统还包括扫描环境中的AP,获得环境服务集标识。通过ssid crc8校验环境服务集标识,若校验成功,则放弃接收ssid。接收端接收数据之前先对AP进行扫描,通过获取的信标可以得知无线环境中所有非隐藏AP的ssid、rssi(received signal strength indicator,接收信号强度显示)以及信道。在传输过程中,接收端先从识别字段中获取目标AP的ssid crc8值,然后再和事先扫描所得到的ssid的crc8值进行比对,如果发现相同值,那么在接下来的接收过程中接收端就不用再接收ssid信息,可大大缩短传输的时间。

上述实施例中的通信模型可以抽象为错误率为0-5%的单向的信道,所需要传递信息的最大长度为68字节。在这种情况下,如果不采用纠错算法,就很难保证在有限次数内完成信息的发送。作为一个实施例,采用了累积纠错算法来保证在有限次内完成传输过程。累积纠错算法的理论基础为:多轮数据发送过程中,在同一位数据上发生错误的概率是很低的。因此可以累积多轮的数据传递结果进行分析,其中一轮中某一位错误数据有很大的概率能在其它轮中找到其对应的正确值,这样就能保证在有限次内完成信息的发送。

假定需要传递信息的长度为68字节,计算在最坏的情况下,使用累积纠错算法与不使用累积纠错算法信息发送成功的概率与发送次数的关系,结果如图11所示。假定每传递一个字节的错误率是5%,如果需要传递68字节的数据,那么一次传递成功的概率为:(1-0.05)68=3%。在采用了上述纠错算法的情况下,一次传递成功的概率同上为3%,n次传递成功的概率为:(1-0.05n)68

本实施例的传输速率取决于发送端UDP广播包的发送速率,目前广播包的 发送频率为5ms发送一个,因此其传输速率为200bytes/s。在不计算识别字段的情况下,负载效率为66.7%。如果发送信息长度为最长的68字节,那么在最坏情况下,最多需要5次就可以完成信息发送,最大的传输时间需要68/66.7×5/200=2.549s。

在其他实施例中,数据包还可以是Ethernet802.2格式,如图12所示为Ethernet802.2格式数据包的示意图,编码字段为Ethernet802.2格式数据包中的长度字段,其他与数据包为Ethernet802.2SNAP格式的实施例相同。图12中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,LLC字段表示LLC头,数据字段为负载,FCS字段表示帧检验序列。

数据包还可以是Ethernet802.3格式,如图13所示为Ethernet802.3格式数据包的示意图,编码字段为Ethernet802.3格式数据包中的长度字段,其他与数据包为Ethernet802.2SNAP格式的实施例相同。图13中的Length字段表示后面数据的长度,即上述的长度字段。DA字段表示目标mac地址,SA字段表示源mac地址,数据字段为负载,FCS字段表示帧检验序列。

数据包还可以是Ethernet802.3SNAP格式,参见图2,Ethernet802.3SNAP格式数据包的示意图与数据包为Ethernet802.2SNAP格式的实施例相同,编码字段为Ethernet802.3SNAP格式数据包中的长度字段。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的程序,可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。

以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1