物联网通讯技术

物联网生态系统的核心组成部分是硬件的连接和通讯。物联网使远程和分散物体(设备,传感器节点,网关单元,云服务器)之间的交互成为可能。

一、物联网硬件通讯协议

1、蓝牙

蓝牙是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换,蓝牙可连接多个设备,克服了数据同步的难题。蓝牙技术最初由电信巨头爱立信公司于1994年创制。如今蓝牙由蓝牙技术联盟管理,蓝牙技术联盟在全球拥有超过25,000家成员公司,它们分布在电信、计算机、网络、和消费电子等多重领域。

蓝牙技术的特点包括采用跳频技术,抗信号衰落;快跳频和短分组技术能减少同频干扰,保证传输的可靠性;前向纠错编码技术可减少远距离传输时的随机噪声影响;用FM调制方式降低设备的复杂性等。其中蓝牙核心规格是提供两个或以上的微微网连接以形成分布式网络,让特定的设备在这些微微网中自动同时地分别扮演主和从的角色。蓝牙主设备最多可与一个微网中的七个设备通讯, 设备之间可通过协议转换角色,从设备也可转换为主设备。

2、ZibBee

与蓝牙技术不同,ZigBee技术是一种短距离、低功耗、便宜的无线通信技术,它是一种低速短距离传输的无线网络协议。这一名称来源于蜜蜂的八字舞,由于蜜蜂是靠飞翔和“嗡嗡”(zig)地抖动翅膀(bee)的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络。

ZigBee的特点是近距离、低复杂度、自组织、低功耗、低数据速率,ZigBee协议从下到上分别为物理层、媒体访问控制层、传输层、网络层、应用层等,其中物理层和媒体访问控制层遵循IEEE 802.15.4标准的规定。ZigBee技术适合用于自动控制和远程控制领域,可以嵌入各种设备。

3、WiFi

Wi-Fi在我们的生活中非常常见,一线城市的几乎所有公共场所均设有无线网络,这是由于它的低成本和传输特性决定的。Wi-Fi是一种允许电子设备连接到一个无线局域网的技术,通常使用2.4G UHF或5G SHF ISM 射频频段,连接到无线局域网通常是有密码保护的;但也可是开放的,这样就允许任何在WLAN范围内的设备可以连接上。

WiFi方案的优势是技术成熟,单独的产品就可以接入公网,成本也是相对较低。缺点则是WiFi设备一般功耗较大,在物联网领域中,供电是一个问题;WiFi接入数量相对有限,一个家庭路由器一般只能接入几十个设备。当然,WiFi方案在物联网初级阶段有较大优势,单独的WiFi模块依托路由器即可入网,优势明显,虽然接入数量不多,但是在物联网、智能家居未大规模普及的情况下,也可以满足大多数需求。

4、LiFi

LiFi也叫可见光无线通信,它是一种利用可见光波谱进行数据传输的全新无线传输技术,由英国爱丁堡大学电子通信学院移动通信系主席、德国物理学家哈拉尔德?哈斯教授发明。LiFi是运用已铺设好的设备,通过在灯泡上植入一个微小的芯片形成类似于WiFi热点的设备,使终端随时能接入网络。

该技术最大的特点是通过改变房间照明光线的闪烁频率进行数据传输,只要在室内开启电灯,无需WiFi也便可接入互联网,未来在智能家居中有着广泛的应用前景。

LiFi相比WiFi有两大优势,主要在于这两点:

第一,安全性强。WiFi的传输主要是利用无线电波传输,无线电有一个频率,这个频率是可以破解的。但是LiFi是利用可见光进行信息传输,光的成分复杂,具有波粒二象性。简单来说,就是用光传播的LiFi更加安全。可以避免建筑外的WiFi盗用,室内的信息不会泄露到室外。

第二,速度快。世界上传播速度最快的光速,LiFi是利用可见光进行信息传输,而WiFi是无线电传播。因此LiFi的传播速度比WiFi更快。

LiFi技术仍不够成熟

虽然LiFi比WiFi更安全,也更快。但是现在的LiFi技术依然有着种种局限。

第一,反向通信。目前LiFi技术最大的局限应该是反向通信,从LED灯泡可以发射信号到终端上,但是如何确保终端反射信号回LED灯泡并没有得到完美解决。

第二,通信距离。虽然LiFi的速度更快,但是传输距离并没有保证。现在WiFi的传输距离也是有限的。如何保证用一套LiFi设备满足全家的LiFi需求仍然是科学家们目前急需解决的问题。

第三,干扰环境。LiFi主要依靠可见光进行数据传输,虽然LED灯可以将光线调制人眼看不见的范围,但如果光线过亮也会影响LiFi的正常传输。当信噪比(正常电子信号与设备额外产生的信号之比)过小时,信息的传输就会失真,正常的信息传输将会被弱化。

5、GPRS

GPRS我们可以说非常熟悉了,它是GSM移动电话用户可用的一种移动数据业务,属于第二代移动通信中的数据传输技术。GPRS可说是GSM的延续,GPRS和以往连续在频道传输的方式不同,是以封包式来传输,因此使用者所负担的费用是以其传输资料单位计算,并非使用其整个频道,理论上较为便宜。

GPRS是介于2G和3G之间的技术,也被称为2.5G,它为实现从GSM向3G的平滑过渡奠定了基础。随着移动通信技术发展,3G、4G、5G技术均被研发出来,GPRS也逐渐被这些技术所取代。

6、4G

在无线远距离通讯中目前主要采用的就是4G技术。4G模块是连接物与物的重要载体,是终端设备接入互联网的核心部件,许多新兴市场对4G通信模块的需求都在日益扩大,4G通信模块把频率接收器和信号增幅器等部件全都整合在一起,实现了一体化。

4G通讯主要是采用AT指令进行,AT 指令的格式如下

1) 每个 AT 指令行以 AT 字符开头(注:部分以“+”开头),以作为结束;

2) 每个指令行可以有多个指令组成,相互之间以“;”隔开;

3) 标准 AT 指令符合 GSM Rec. 07.07、 07.05、 3GPP TS 27.005、 27.007 和 ITU-T Rec. V25ter标准;

4) 每个扩展指令都提供了一个测试指令,以检测该指令是否存在及参数的类型或范围;

5) 带参数的指令一般都提供了一个读取指令以读取参数的当前值;

6) 设置指令用来设置参数及完成相应的功能。

7、Z-Wave

Z-Wave是一种新兴的基于射频的、低成本、低功耗、高可靠、适于网络的短距离无线通信技术,由丹麦公司Zensys所一手主导的无线组网规格。工作频带为908.42MHz(美国)~868.42MHz(欧洲),采用FSK(BFSK/GFSK)调制方式,数据传输速率为9.6 kbps,适合于窄宽带应用场合。

随着通信距离的增大,设备的复杂度、功耗以及系统成本都在增加,相对于现有的各种无线通信技术,Z-Wave技术将是最低功耗和最低成本的技术,有力地推动着低速率无线个人区域网。

8、射频433

射频433也叫无线收发模组,采用射频技术,由全数字科技生产的单IC 射频前段与ATMEL的AVR单片机组成,可高速传输数据信号的微型收发信机,无线传输的数据进行打包﹑检错﹑纠错处理。

射频433技术的应用范围包括无线POS机、PDA等无线智能终端、安防、机房设备无线监控、门禁系统。交通、气象、环境数据采集、智能小区、楼宇自动化、PLC、物流追踪、仓库巡检等领域。

9、RFID/NFC

NFC是一种新兴的技术,使用了NFC技术的设备可以在彼此靠近的情况下进行数据交换,是由非接触式射频识别(RFID)及互连互通技术整合演变而来,通过在单一芯片上集成感应式读卡器、感应式卡片和点对点通信的功能,利用移动终端实现移动支付、门禁、身份识别等应用。

近场通信技术实现了电子支付、身份认证、票务、数据交换、防伪、广告等多种功能,它改变了用户使用移动电话的方式,使用户的消费行为逐步走向电子化。

RFID是射频识别技术,它主要是通过无线电讯号识别特定目标,并可读写数据,但仅仅是单向的读取。

RFID有低频(几mm的传输距离)、高频(13.56Mhz)、超高频、微波频段等,频段不同,导致功率不同,导致传输的距离不同。

NFC是近距离无线通讯技术,芯片具有相互通信能力,并有计算能力。NFC可以看作是RFID的子集,用的是RFID的高频(13.56MHz)的标准,但却是双向过程。

10、UWB

UWB是一种无载波通信技术,利用纳秒至微秒级的非正弦波窄脉冲传输数据。UWB在早期被用来应用在近距离高速数据传输,近年来国外开始利用其亚纳秒级超窄脉冲来做近距离精确室内定位。

与蓝牙和WLAN等带宽相对较窄的传统无线系统不同,UWB能在宽频上发送一系列非常窄的低功率脉冲。较宽的频谱、较低的功率、脉冲化数据,意味着UWB引起的干扰小于传统的窄带无线解决方案,并能够在室内无线环境中提供与有线相媲美的性能。

11、LoRa

LoRa是一种远距离的调制技术,由法国的Cycleo公司研发,后来被美国的Semtech(升特)收购。其特点是具备较长的传输距离,它是基于线性扩频(CSS)的一个变种,具备向前就纠错的(FEC)的能力,同时具备较高的接收灵敏度和抗噪声能力。在国内LoRa是运行在免费的频段470~510MHz之间。

LoRaWAN是基于LoRa的一种通讯协议,相比LoRa它除了包含物理层的定义还包含了数据链路层的定义,LoRa可以通过扩频因子(SF)调节通讯速率和距离,扩频因子越大传输速率就越小,但传输距离就会越远。这就好比同样油量的摩托车可以跑得快、跑得远,但是载重很小,而货车就可以带很多东西,但是跑得就会比较慢且距离很短。因此在设置扩频因子时就需要个根据数据量和传输距离做取舍。

LoRaWAN的单通道实际速率大约0.3~11kbps

LoRaWAN具有A类、B类、C类的通讯模式。

终端双向通讯(A类):

节点随时可以发送信息给网关,发送后会打开两个持续时间很短的接收窗口用于接收网关的下行数据,通过这种方式实现上下行的通讯。这种方式节点会在需要时随时发送信息给网关,并不会与网关沟通确认发送信息的时机。这种方式其优点是通讯逻辑简单,不会因为与网关确定数据上报时间而增加通讯次数导致电量的消耗,但这种方式会遇到数据碰撞的问题。此类方式适用于仅做数据上报、不需要精准的执行指令操作、对电量消耗比较敏感,且能接受一定数量数据丢失的传感器,适用与电池供电设备。

具备特定时间接收窗口的双向通讯(B类):

B类方式在A类方式的基础上增加了更多的接收窗口用于接收数据,B类方式会通过接收网关发来的信标来完成时间同步,基于时钟同步会按照设定在特定的时间开启更多的接收窗口,网关基于开启的窗口时间就可以主动给节点发送数据了。这种方式适用于除了被动的接收数据下发数据之外还需要在特定的时间下发数据被节点。

最大接收窗口通讯(C类):

C类方式除了在发送数据时,其他时间接收窗口是一直处于开启中。这种方式功耗最大的,不过服务器可以随时下发数据,数据延迟最小。通常这种方式适用于有源设备或随时需要接收数据和指令的执行器。

LoRaWAN是一种覆盖范围广(无遮挡十几公里,有遮挡几公里)、功耗低、传输速率在十几kbps、免费可搭建私有网络的通讯技术,结合这些特点我们可以分析出其大多是应用在那些数据量小、设备所在区域较广、需要搭建私有网络的场景,比如农业监控、环境数据采集、市政设备状态的上报等行业。

12、NB-IOT

NB-IOT是一种低功耗、覆盖广的物联网通信技术,它是构建于现有的蜂窝网络之上,占用200KHz频段。只要开辟出200KHz频段即可直接部署在GSM网络、UMTS网络和LET网上。

联通和移动部署在900MHz、1800MHz频段,电信部署在800MHz。传输速率大于160kbps,小于250kbps,采用双半工模式。覆盖范围与LoRa基本无异郊区可达到十几公里,市区可达几公里,

其低功耗方面主要在通讯协议上做了优化,较少不必要的通讯数据,同时采用休眠机制节省电量消耗。NB-IOT属于授权频段无法搭建私有网络,因此我也没有太细致的去了解其功耗和实际通讯速率。

由于NB-IOT可部署在现有的蜂窝网络上,所以目前一二线城市基本全部覆盖。NB-IOT的比较适用于数据量小、要求低功耗、设备区域较广、设备移动性强的场景,OFO就使用NB-IOT通讯,正好满足其数据量小、低功耗、设备区域光数量多、且不断移动位置的需求。

13、ZETA

ZETA是上海纵行推出的非授权频段的LPWAN(低功耗广域网)标准。该标准是使用UNB(超窄带)的多信道通信,在传统LPWAN的穿透性能基础上,进一步通过分布式接入机制实现快速部署。网上相关ZETA的资料比较少,我是去拜访过一次,了解到其特点是2KHz超低频段(如果我没记错的话),除了低功耗之外在通讯协议上有点类似LoRa和ZigBee的结合,可以实现多跳自组网,以及分配确认通讯时间等机制,中继设备可以通过电池供电实现超过1年的工作时间。

14、Weightless

Weightless 也是作为低功耗广域网(LPWAN)的一种无线连接技术。与其他 LPWAN 计算一样使用了 Sub-GHz 频段,低功耗、低速率、通信距离远等特点。不同于专有或专利的无线连接技术,Weightless 是一个开放的标准。开放的标准也是 Weightless SIG 宣传的一个特点,开放意味着更多的公司或组织可以参与其中,众多的供应商也可以保证低成本、低风险,并且可以可以持续更新和发展。

Weightless 技术全新设计,从基础开始到以便宜的价格提供优化的性能,避免了任何旧系统或向后兼容的问题。Weightless-P 支持所有传送需要的完全全应答通信。一些 LPWAN 替代技术提供限于很小一部分传送的下行链路,这意味着可靠性和 QoS 是妥协了的。Weightless-P 还支持应答和非应答的单播和多播的传送。为了提升资源利用,它提供一个灵活的应答管理机制,包括递延和组合应答。

Weightless 是低于 1GHz 的未授权频谱中唯一的真正开放的标准。Weightless 有三种版本针对不同的应用场景:

Weightless-W:暂未使用(授权 TV 频段中的未使用的本地频谱)

Weightless-N:由 NWave 技术诞生的未授权频谱窄带协议

Weightless-P:由 M2COMM 的 Platanus 技术诞生的双向协议

尽管 Weightless-W 具有更低的功耗,Weightless-N 和 Weightless-P 依然更受欢迎一些。

15、Sub-1GHz

Sub-1GHz是指小于1GHz的无线电频率,在Sub-1GHz频段中有很多频段是免授权使用的,如国际电联(ITU)分配的ISM(Industrial、Scientific、Medical)频段(如6.780MHz,13.560MHz、27.120MHz、40.68MHz、433.92MHz、915MHz等)。基于Sub-1GHz的各种无线技术业已广泛应用于各行各业,如RFID、NFC、无线M-BUS等。无线电技术的发展促进了物联网应用的发展,Sub-1GHz无线技术在物联网应用中使用有一定的优势。

与有线技术相比,无线连接技术安装方便、使用便捷。而相比于2.4GHz频段,Sub-1GHz传输距离远、障碍物穿透能力强等特点。下表是一个Sub-1GHz和2.4GH简单的比较:ISM频段就是各国挪出某一段频段主要开放给工业,科学和医学机构使用。应用这些频段无需许可证或费用,只需要遵守一定的发射功率(一般低于1W),并且不要对其它频段造成干扰即可。

16、有线通讯

①ETH:

以太网结构分两大层:

PHY—物理层,主要作用是把数字信号变成在可支持的传输媒介上传输的模拟信号。它定义了数据传输的电气信号、符号、线的状态和时钟要求、数据编码和数据传输的连接器。

MAC—Media Access Control,媒介存取控制,它对应OSI7层模型的是数据链路层。数据链路层是由两部分组成MAC(介质存取控制)和LLC(逻辑链路控制)。MAC是负责发送和接受数据。对数据传输进行同步、识别错误及控制数据的流向。

②RS-232:

RS232是个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。

对于RS232来说它是串行通信,是全双工的发送形式,可以进行同时收发。但是是一对一的通信,采用电平方式,通信距离虽然理论值是20m左右,但是实际上大约在7-8米。

③RS-485:

智能仪表随着80年代初单片机技术的成熟而发展起来,世界仪表市场基本被智能仪表所垄断,这归结于企业信息化的需要,而企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。最初是数据模拟信号输出简单过程量,后来仪表接口是RS232接口,这种接口可以实现点对点的通信方式,但这种方式不能实现联网功能,随后出现的RS485解决了这个问题。

rs485是半双工的,某一时刻只能收或只能发数据,否则,总线将瘫痪。

并且RS-485采用的是平衡传输中的差分传输方式。传输距离理论值是1200m,实际上在300-500左右。支持多站点的传输形式。

【差分传输方式:在两根线上都进行信号的传输,只是传输的振幅相同,但是相位相反,信号接收端比较电压的差值来判断发送端发送的逻辑状态。】

④:M-Bus(Meter Bus):

仪表总线,它是一种专门为消耗测量仪器和计数器传送信息的数据总线设计的。M-Bus在建筑物和工业能源消耗数据采集有多方面的应用。例如

M-Bus的最大传输距离为1000m,且M-Bus可为现场设备供电,无需再布设电源线,总线供电能力为5A,节点功率需小于0.65mA。

M-Bus总线的提出满足了公用事业仪表的组网和远程抄表的需要,同时它还可以满足远程供电或电池供电系统的特殊要求。M-Bus串行通信方式的总线型拓扑结构非常适合公用事业仪表的可靠、低成本的组网要求,可以在几公里的距离上连接几百个从设备。

例如用于测量家里面气和水的消耗。MBus仪表总线可以满足由电池供电或远程供电的计量仪表的特殊要求。当计量仪表收到数据发送请求时,将当前测量的数据发送到主站,(主站可以是手持设备、计算机、或其他终端)。主站定期读取某栋建筑物中安装的计量仪表的数据。MBus在家庭电子系统中的其他应用有:报警系统、智能照明、热能控制。

⑤PLC(Power Line Communication,电力线通信):

PLC是一种利用电力线传输数据的通信方式,按频段可分为窄带、中频带和宽带技术。窄带电力通信技术是最早用在配电网络中的PLC 技术,有一系列国际标准,如G3-PLC、PRIME、IEEE 1901.2等,载波频带主要分布在3~500 kHz,主要用于远程抄表。并且,中频带PLC技术发源于中国,基于国家电网公司HPLC 规范的中频带技术,广泛用于国内用电信息采集领域,并于2018年在 IEEE完成标准化,发布了IEEE 1901.1 国际标准。

以前对于PLC技术从未进入大规模应用的最大的原因是电网环境复杂、噪声干扰强,以及变化大。但是在华为推出的PLC-IoT(融合HPLC/IEEE1901.1),有效解决电力线路信号干扰、衰减问题,支持IP化通信能力,这才实现了,有电的地方就有网络,让智慧真正意义上触达了边缘联接。

不同的场景和需求使用不同的通讯技术,在选型的时候可以先列出硬性指标,然后再这个范围内做有限的调研和选择。

二、物联网平台协议

1、MQTT协议

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)最早是IBM开发的一个即时通讯协议,MQTT协议是为大量计算能力有限且工作在低带宽、不可靠网络的远程传感器和控制设备通讯而设计的一种协议。基于轻量级代理发布/订阅模式的消息传输协议,运行在TCP协议栈之上。

该协议提供有序、可靠、双向连接的网络连接保证,特别适合于带宽低、网络延迟高、网络通信不稳定等受限环境的消息分发,属于物联网消息传输当中一个标准传输协议。

在工作方式上该协议采用代理发布/订阅模式,实现了发布和订阅解耦,因此在该协议中存在三种角色:

代理服务器;发布者客户端;订阅者客户端。

MQTT协议的优势是可以支持所有平台,它几乎可以把所有的联网物品和互联网连接起来。特别适合于网络代价昂贵,带宽低、不可靠的环境。能在处理器和内存资源有限的嵌入式设备中运行。

使用发布/订阅消息模式,提供一对多的消息发布,从而解除应用程序耦合。

使用 TCP/IP 提供网络连接。

提供Last Will 和 Testament 特性通知有关各方客户端异常中断的机制。

对消息中间件,估计大家不得不关心的就是消息的可靠性,也就是消息的发布服务质量,可喜的是,MQTT支持三种消息发布服务质量(QoS):

“至多一次”(QoS==0),消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。

“至少一次”(QoS==1),确保消息到达,但消息重复可能会发生。

“只有一次”(QoS==2),确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量。

支持一对多的消息订阅

MQTT协议,支持一对多的基于消息主题(Topic)的消息订阅,也就是一个MQTT的客户端,发送一条特定主题的消息,

能同时支持多个订阅者同时订阅。

MQTT的发布/订阅消息模式

2、CoAP协议

CoAP:Constrained Application Protocol协议是为物联网中资源受限的设备制定的应用层协议,即简化版的基于UDP的HTTP协议。其核心内容为资源抽象、REST式交互可扩展的头选项等。应用程序通过URI标志来获取服务器上的资源,使其可以像HTTP协议一样对资源进行GET、PUT、POST和DELETE等操作。C/S架构,功耗低不能反向控制。适用于需要通过标准互联网网络进行远程控制或监控的小型低功率传感器,开关,阀门和类似的组件,服务器对不支持的类型可以不响应

CoAP协议自身拥有如下特点:

1)报头压缩,数据包小

包含一个紧凑的二进制报头和扩展报头,它只有短短的4B的基本报头。

2)方法和URIs

为了实现客户端访问服务器上的资源,这是Web架构的主要特点。

3)传输层使用UDP协议,适用于非安全性数据场合

CoAP协议是建立在UDP协议之上,以减少开销(TCP需要三次握手)和支持组播功能。

4)支持异步通信

HTTP协议对M2M通信不适用,这是由于事务总是由客户端发起的。CoAP协议支持异步通信,这对M2M通信应用来说是常见的休眠/唤醒机制。

5)支持资源发现

为了自主地发现和使用资源,它支持内置的资源发现格式,用于发现设备上的资源列表,或者用于设备向服务目录公告自己的资源。

6)支持缓存

CoAP协议支持资源描述的缓存以优化其性能。

3、LwM2M

LwM2M的全称是Lightweight Machine-To-Machine,它的名称里面包含了这么两个重要含义:1)这个协议是轻量级的;2)这个协议适用于物联网设备。

LwM2M协议是由OMA(Open Mobile Alliance)提出并定义的。OMA这个组织专注于移动通讯以及物联网产业的标准开发,给自己的定位是“规范大工厂”。随着“万物皆可联”概念的兴起,物联网终端数目急剧膨胀,也不再局限于智能手机这样的强力大块头。有很多设备,要么电量有限,要么内存有限,要么可使用带宽有限,之前那些适于强劲终端设备管理的协议对它们来说有些太重了难以承受,因此,为了照顾到这些资源有限的小个子设备们,LwM2M协议在2013年底诞生了。目前的成熟版本号依然是1.0,OMA的专家们正在努力整1.1版。

概括地说:LwM2M是适用于资源有限的终端设备管理的轻量级物联网协议。

LwM2M协议的基本架构图

LwM2M协议拥有如下特点:

1)协议基于REST架构。

2)协议的消息传递是通过CoAP协议来达成的。

3)协议定义了一个紧凑高效又不乏扩展性的数据模型

4)协议最主要的实体包括LwM2M Server和LwM2M Client。

LwM2M Serve作为服务器,部署在M2M服务供应商处或网络服务供应商处。

LwM2M Client作为客户端,部署在各个LwM2M设备上。

4、UDP 用户数据报协议(UDP,User Datagram Protocol) 传输层协议

1)是无连接的,即发送数据之前不需要建立连接。

2)尽最大努力交付,即不保证可靠交付

3)传输效率高,适用于对高速传输和实时性有较高的通信或广播通信。

4)支持一对一,一对多,多对一和多对多的交互通信。

5、TCP传输控制协议(TCP,Transmission Control Protocol) 传输层协议

1)TCP面向连接(如打电话要先拨号建立连接)。

2)提供可靠的服务,

3)通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达。传输效率相对较低。

4)连接只能是点到点、一对一的

6、HTTP

HTTP(HyperText Transfer Protocol)即超文本传输协议,是一种详细规定了浏览器和万维网服务器之间互相通信的规则,它是万维网交换信息的基础,它允许将HTML(超文本标记语言)文档从Web服务器传送到Web浏览器。

HTTP协议目前最新版的版本是1.1,HTTP是一种无状态的协议,无状态是指Web浏览器与Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(Response),连接就被关闭了,在服务器端不保留连接的有关信息。也就是说,HTTP请求只能由客户端发起,而服务器不能主动向客户端发送数据。

HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。

HTTP三点注意事项:

HTTP是无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。

HTTP是媒体独立的:这意味着,只要客户端和服务器知道如何处理的数据内容,任何类型的数据都可以通过HTTP发送。客户端以及服务器指定使用适合的MIME-type内容类型。

HTTP是无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。

这种通信方式的特点就是一请求一响应,总是要客户端向服务器发出请求,服务器才给予响应。服务器从来都不会主动给客户端发消息,而且在客户端发出请求后,服务器也只是回复一次。这种HTTP单向通信方式在互联网领域发挥巨大的作用,就是服务器端可以是无状态的,极大地简化了服务器的服务流程,提高效率。但在物联网领域,我们要求的是双向的通信能力。服务端要能主动给设备端或者手机发出消息。

7、Websocket

Websocket是HTML5支持的一种新的协议,它能够真正支持浏览器和服务器之间进行双向通信。Tomcat7及以上版本也已经支持Websocket API。

1)为了能够兼容浏览器HTTP协议,Websocket规定在第一次发起请求时依然要发出符合HTTP协议规范的Header,但其Connection域的值是Upgrade,并增加Upgrade域,值是socket,即告知服务器,即将建立的通信是Websocket双向通信。服务器如果接受,会返回101给客户端进行协议切换。

2)接下来的通信将不再以HTTP作为传输协议,而是使用Websocket规定的数据格式进行通信,其分为控制帧和数据帧。控制帧是发出心跳帧(ping),而服务器响应pong,还有结束帧;数据帧就是真实数据格式,其格式头只有6个字节(2个字节头和4个字节的掩码),后面就是真实的数据(经过掩码转换)。比HTTP格式头的长度要小多了。

3)客户端和服务器之间是一直保持连接,直到close,当前期间要发发2个字节的3字节的ping帧。

可见Websocket比HTTP有了极大的改进。其不仅省掉经常要连接握手,还简化的协议的格式,最重要的是实时性得到保证,因为双方是真正的全双工通信。