详情
WoT 的成年仪式-通讯协定技术变革
作者:本站采编
时间:2015-08-04 11:50:54
WoT 成为成熟市场前,势必经历通讯协定技术变革的过程。
关键词: Stacks tcp/ip WoT 物联网

  WoT 成为成熟市场前,势必经历通讯协定技术变革的过程。物联网的发展,进入到衔接 web(over HTTP)的阶段后,典型的通讯协定堆叠(Protocol Stacks)开始产生变化。更进一步的话,物联网在 2015 年开始,进入通讯协定技术变革的时代。过去使用的通讯协定技术,开始有了改良版本。几个知名的例子:Google 提倡的 SPDY 协定、专为 Constrained Device 所设计的 CoAP,以及 QUIC 改良传统的 UDP。

   WoT 的成年仪式-通讯协定技术变革

  未来,当 IoT 装置大量布署后,届时网路上将有十亿,甚致百亿计的 IoT 装置,这个总数,绝对比纯 web 时代时的 web server 还要更多。

  上述所提的例子,最终都想针对 HTTP 协定进行改造。HTTP 是应用层通讯协定(Application Layer Protocol),现在的 IoT 架构,发展重心就是使用 HTTP(Web)来交连(interoperate),这个 IoT + Web 的架构,称为 WoT(Web of Things)。不只是 WoT 架构,从通讯协定的角度来看,物联网正进入应用层通讯协定技术变革的时代。

  TCP/IP Stacks 是网路协定的基础,其中有一层称为传输层(Transport Layer),传输层包含 TCP 与 UDP 二个协定。UDP 协定比 TCP 更轻量化,但因为 TCP 的可靠性佳高,因此,知名的应用层协定“HTTP”,就基于 TCP 协定来发展。基于 TCP 的 HTTP(或称为 HTTP over TCP)的特色就是 Client/Server 间会进行资料传输的确认(ACK),因此可靠度高。然而,这个确认的动作对物联网装置来说,可能会形成一个问题。这个问题在于,确认的动作需要花费较多的硬体资源(运算能力、记忆体等),对硬体资源较缺乏的装置(称为 Constrained Device),这个 TCP 的确认过程,就成为一个很大的负担。

  HTTP(Hypertext Transfer Protocol)是一种 request-response 形式的协定。就像我们所知道的,它已经完全融入我们的生活之中。HTTP 在 PC 时代,已经改变人们接收资讯的方式与习惯,到了 Mobile 的时代,HTTP 更再次影响与改变人类的社会文化。到了物联网时代,HTTP 将继续影响与改变人类的生活习惯,物联网已经开始受到 HTTP 的影响,这就是 Web of Things。HTTP 属于 application-level 的协定,HTTP 的传输层就是使用 TCP。

  一个开放式且符合 Web of Things 设计原则的 IoT Cloud 架构,应该以 application-level 的协定为主,因此 HTTP 成为自然当选人。但物联网硬体本身,有它的局限性,例如:低功耗、运算频率较低、主记忆体较少等,当软体在这样受局限的硬体环境上运作时,就需要一个比 HTTP 更适合的应用层协定-CoAP(Contrained Application Protocol)就因应而生。

  CoAP 并不是要取代 HTTP,它是针对 Constrained Device 的 HTTP 需求。CoAP(Constrained Application Protocol)是更简单且轻量化的 HTTP 技术,简单的意思是,CoAP 简化了 HTTP 的内容,轻量化的意思是,CoAP 采用 UDP 进行传输。简单来说,CoAP 可以看做是一个 HTTP over UDP 的技术。CoAP 是物联网的重要技术,它让 Constrained Device 都能具备 HTTP 的能力。大部份的 MCU 装置都是 Constrained Device,因此,就也像是 MCU + HTTP。

  从实作的角度来看,CoAP 并非直接采用 HTTP 标准,而是透过转换(translate)的方式将讯息对应成标准的 HTTP。CoAP 采纳了 REST 架构,并且也是采取 request/response 的模式。因此,要将 CoAP 转换为 HTTP,或是将 HTTP 转换为 CoAP,其实是非常容易的。实际上,CoAP 只对 request/response 的部份做转换,也就是 CoAP 的 request 都能转换为 HTTP request headers;response 的部份亦同。

  除了 CoAP 外,HTTP/2.0 未来也可能在物联网应用上,扮演重要角色。HTTP over TCP 的 ACK 会造成的一些负担,因此如果让 HTTP over UDP 的话,就可以解决这个问题。Google 所提出的 QUIC(Quick UDP Internet Connection)就是这样的技术。QUIC 可以让 HTTP 基于 UDP 传输层,就是 HTTP + QUIC + UDP。

  解决了传输层的问题,再回到应用层来看 HTTP。因为 HTTP request/response headers 设计上的一些缺点,让 HTTP 的网路传输效能无法提升。为解决这些问题,Google 便提出了 SPDY 协定。SPDY 协定后来成为 HTTP/2(HTTP 2.0)的基础。IETF 在 2015 年 5 月正式发布 HTTP/2 标准(RFC 7540)。HTTP/2 是基于 TCP 协定,因此要让物联网装置使用 HTTP over UDP 的话,目前仍必须使用 HTTP + QUIC + UDP 的堆叠。

  因为 HTTP/2 标准就是 SPDY 的内容,如果有意在物联网装置上使用 HTTP/2 的特性,就要采用 HTTP + SPDY + QUIC + UDP 的堆叠。不过,Google 未来有意将 HTTP/2 over QUIC 提交给 IETF,到时就能舍弃 HTTP + SPDY + QUIC + UDP 的做法,毕竟这只是过渡时期的解决方案。

  从 IoT 装置的角度来看,在一个硬体很受限的环境里,HTTP over TCP 的过程不但消耗硬体资源,也考验硬体的运算能力。同时,这个过程因为 handshake 的过程繁复,也可能造成“response time”过长。CoAP、HTTP over UDP 或是 HTTP/2 over QUIC 则是修改了 handshake 的过程,解决了包含 response time 在内的各种问题。

  未来,当 IoT 装置大量布署后,届时网路上将有十亿,甚致百亿计的 IoT 装置,这个总数,绝对比纯 web 时代时的 web server 还要更多。当这些 IoT 装置彼此间,发出大量且频繁的 HTTP request/response 时,这些 TCP 连线就会累积出非常可怕的“连线负载”。未来迎接 IoT 的时代,降低 ACK 封包,并设计更适合的通讯协定,就成了重要的基础研究。或许,在通讯协定技术完成技术变革后,WoT 才会真正成为成熟市场。

上一篇:云计算“落地”寻求新动能 下一篇:2015年大数据展望和市场预测