一种基于Wi-Fi的P2P无线通信系统
技术领域
本发明涉及无线通信技术领域,尤其是指一种基于Wi-Fi的P2P无线通信系统。
背景技术
随着Wi-Fi技术的日益发展,Wi-Fi的应用越来越广泛。目前,Wi-Fi的无线通信已逐步深入到传统的有线通信领域中:在铺设有线网络过程中,会碰到有些地方因为各种原因不能布线,或布线代价太高,这些地方往往只有十几米或一两百米。这时需要一套设备把有线的信号转变成无线信号,在另一端,再把无线转成有线,进行透明传输。为了确保无缝对接,这套设备不仅要求传输速率快,还要安装方便,不需要现场配置。
Wi-Fi有两种模式支持P2P通信:ad-hoc模式 和Wi-Fi direct。802.11 协议很早就支持ad-hoc 模式,但由于ad-hoc模式配置复杂,需要有些专业知识,使用起来比较麻烦,所以不太常用。而对Wi-Fi direct来说,由于Wi-Fi direct标准推出时间不长,支持Wi-Fi direct 设备不多,兼容性也不是很好,所以Wi-Fi direct模式离它成熟到普遍应用还需要一定时间。另一个方面,这两种P2P模式,都是基于Wi-Fi协议的有连接的传输,在真正数据传送之前,两个无线设备必须进行一系列的管理包的交互,只有一方被认证关联以后,数据通信才能开始。但在短途的基于有线与有线之间的无线通信中还要求先认证关联后通信的方式就显得没有必要。
中国专利公开号CN101772136A,公开日2010年7月7日,名称为“在特定模式无线网络中的P2P通信”的发明专利中公开了一种无线装置,其包含:至少一个处理器,其经配置以基于至少一个无线装置的至少一个用户特定识别码来确定服务设定识别码,和使用所述SSID来发现用于P2P通信的一个或一个以上无线装置;以及存储器,其耦合到所述至少一个处理器。无线装置可基于其用户特定识别码和/或所述目标无线装置的用户特定识别码来得到用于识别所述特定模式无线网络的服务设定识别码。所述无线装置也可使用所述目标无线装置的用户特定识别码来执行IP地址发现。该发明不足之处在于,通信过程仍需要秘钥来识别进行通信,通信过程较为繁琐且需要的设备仍较为复杂,且该发明的通信局限性较大,只能支持P2P通信,不能支持点对多的通信。
发明内容
本发明的目的是克服现有技术中P2P通信不适合在短途的基于有线与有线之间的无线通信,需要现场配置、安装复杂、传输速率较慢的缺陷,提供一种基于Wi-Fi的P2P无线通信系统,该无线通信系统不需要认证和关联、通信效率高。
本发明的目的是通过下述技术方案予以实现:
一种基于Wi-Fi的P2P无线通信系统,无线通信系统包括两个基于Wi-Fi通信协议的软件框架,软件框架的MAC层上设有一个P2P数据处理层,P2P数据处理层上设有虚拟以太网接口层,MAC层、P2P数据处理层和虚拟以太网接口层通过管理模块进行管理;两个软件框架的虚拟以太网接口层间通过发送接收数据帧相互通信。
Wi-Fi遵循IEEE802.11 标准,而这个标准最核心的部分就是它定义的MAC层规范。802.11通过采用CSMA/CA机制来控制对传输媒介的访问,再结合DCF,就成功地将Ethernet类型的网络应用到无线链路上来,让周围的无线设备共享空中无线信道,进行有效的数据通信。802.11标准除了描述MAC的规范以外,还化大量篇幅详细描述管理协议、设备认证和数据加密及QOS等规范,但真正控制数据发送接收的部分就是它的MAC层,也就是说,上层应用完全可以抛开Wi-Fi的协议层来传递数据。本发明P2P无线通信系统取消了Wi-Fi协议栈层,并在MAC层上增加了一个P2P数据处理层代替Wi-Fi协议栈层,P2P数据处理层直接和MAC层通信。传统的Wi-Fi协议栈层需要进行管理包的交互,以确保传输的安全性和协调性,但是在本发明设定的场合即短途的基于有线与有线之间的无线通信的场合中,由于通信两端的无线设备包括硬件和软件完全一样,Wi-Fi的信道事先也设置成一样,在这种情况下,还要求先认证关联后通信的方式就显得没有必要,因此MAC层控制P2P数据处理层,通信时只需识别P2P数据处理层的信息便可确认进行通信,去除了繁冗的认证关联过程。
作为一种优选方案,软件框架还包括应用层、TCP/UDP层、IP协议栈层、逻辑链路控制层和物理层,物理层设在MAC层下,虚拟以太网接口层上设有逻辑链路控制层、逻辑链路控制层上设有IP协议栈层、IP协议栈层上设有TCP/UDP层,TCP/UDP层上设有应用层,应用层、TCP/IP层、IP协议栈层、逻辑链路控制层、虚拟以太网接口层、P2P数据处理层、MAC层和物理层都可以通过管理模块进行管理。相比于IEEE 802.11的软件框架,在基于Wi-Fi通信协议的软件框架中,P2P数据处理层代替了Wi-Fi协议栈层,实现过程较为简单。
作为一种优选方案,数据帧包括P2P header通信报文,P2P header通信报文用于P2P数据处理层识别是否为P2P的数据帧。本发明设定P2P通信设备只处理带有P2P header的数据报文,除此以外的所有其他报文全部丢弃。
作为一种优选方案,P2P header通信报文包括1字节的eid、4字节的marker、2字节的length和1字节的rsvd。eid和marker字段一起用来标示为P2P数据通信报文。
作为一种优选方案,P2P数据帧的BSSID是广播地址。由于数据帧的BSSID是广播地址,所以每一个点对点设备都能收到。基于这个特点,这种P2P设备不仅支持P2P通信,还支持点对多点通信,且多点的数目不受任何限制。
作为一种优选方案,软件框架的虚拟以太网接口与LAN接口桥接。
本发明的有益效果是:
1.通信两端设备除了信道和发射功率需要配置以外,不需要其他配置,使用起来非常方便;
2.由于不需要认证关联和Wi-Fi协议栈的处理,数据通信的延迟很小;
3. 不仅支持P2P通信,还支持点对多点通信,且多点的数目不受任何限制。
附图说明
图1是本发明的基于Wi-Fi通信协议的软件框架的示意图;
图2是IEEE 802.11的软件框架的示意图;
图3是P2P数据帧格式的示意图;
图4是数据帧内P2P header通信报文的示意图。
具体实施方式
下面结合附图和实施例对本发明进一步描述。
实施例1:一种基于Wi-Fi的P2P无线通信系统,无线通信系统包括两个基于Wi-Fi通信协议的软件框架,其软件框架的示意图如图1所示,软件框架的包括应用层、TCP/IP层、IP协议栈层、逻辑链路控制层、虚拟以太网接口层、P2P数据处理层、MAC层和物理层,物理层设在MAC层下,MAC层设在P2P数据处理层,P2P数据处理层上设有虚拟以太网接口层,虚拟以太网接口层上设有逻辑链路控制层、逻辑链路控制层上设有IP协议栈层、IP协议栈层上设有TCP/IP层,TCP/IP层上设有应用层,应用层、TCP/IP层、IP协议栈层、逻辑链路控制层、虚拟以太网接口层、P2P数据处理层、MAC层和物理层通过管理模块进行管理。P2P数据帧格式的示意图如图3所示,数据帧保留了IEEE802.11 数据帧头部分24个字节,同时嵌入一个8字节的 P2P header,数据帧的帧头部分24个字节定义如下:
Frame control: 0x08
Duration: 0x00
Dst mac : 0xFFFFFFFF
Src mac: source mac address
BSSID: 0xFFFFFFFF
Seq-frag: 0x00
P2P header通信报文的示意图如图4所示,包括1个字节的eid、4个字节的marker、2个字节的length和1个字节的rsvd,具体的定义如下:
eid: 0x55
marker: P2PC
length: data length
rsvd: 0x00
eid字段和marker字段一起用来标示点对点数据通信报文。
本发明通过软件框架进行数据通信的流程如下:
发送方向(下行):把用户数据包加上IEEE802.11数据帧头24个字节及P2P header 8个字节,封装成点对点数据帧,发给MAC层;
接收方向(上行):接收底层MAC层送上来的帧,检查是否是点对点的数据帧,若是,送给上层虚拟以太网接口层,若不是,丢弃。
实施例2:一种基于Wi-Fi的P2P无线通信系统,其原理和实施方法与实施例1基本相同,区别之处在于,无线通信系统包括4个基于Wi-Fi通信协议的软件框架,3个软件框架与1个软件框架进行通信,当1个软件框架对应的主计算机通过VLC媒体播放器播放高清电影时,通过以太网口向特定网段串流广播输出,3个软件框架分别对应的3个计算机上通过网络串流方式接收,3个计算机上均能看到主计算机上播放的高清电影。