论文部分内容阅读
在学会走路之前就能熟练上网的一代人,或许已经出现了。对他们而言,上网就像呼吸一样自然。一直以来,人们都希望自己面前的互联网未来可以变得更加精准、快速和安全。全球互联网发展的脚步从未停止,推动其“向前走”的新技术能提供保障。其中,有一些技术已经在部署中,但是仍然需要时间才能最终走向实际应用。
扩展当前IP地址的IPv6已经发展了许多年,可以确保网址真实可靠性的域名系统安全扩展(Domain Name System Security Extensions)也需要几年的普及时间。北极地区西北通道的新海底光缆已经在规划之中,预计建成之后,访问地球另一侧服务器的网址响应时间将会缩短60ms。不过,铺设更多的光缆并不是将不断增长的数据推送到网民面前的高效解决方案。从数据中心到浏览器涉及到不同级别的软件技术,才能确保网络负载达到最优化。明年,将会有哪些新技术和标准“站”出来推进互联网向前发展呢?
更好地控制数据流
快速地处理和传送PB(250,1024TB)级别的数据,除了硬件要做好准备之外,软件也要有所改变。Google为我们示范了应该怎么做。
据国际电信联盟(ITU)发布的报告,2011年全世界有1/3的人口会经常上网。网络的平均带宽总额达到了每秒90 000GB,也就是正好每月30EB,而且仍在不断增长中。目前的技术要点就是如何高效地管理和控制如此大规模的数据流。Google公司已经为大型网络设备供应商思科和华为做出了示范。根据Arbor Network公司发布的报告,Google的数据中心与用户之间的数据流动占据了全球互联网数据流量的近6%~10%。在4月份举行的“开放网络峰会”上,Google透露了自己管理数据中心之间流量的方案。非常令人震惊的是,Google大胆地放弃了传统的网络基础架构,引入了自己的最新技术。
为了提高自己的网络负载能力,从网络设备供应商那里购买硬件和相应的配套软件,对传统的网络接入服务提供商来说再平常不过了。但是Google采取了不同的做法,它们直接与中国的网络设备生产厂进行探讨,利用“软件定义网络”(Software-Define Network,SDN)这种新型的网络架构连接路由器和交换机。SDN由OpenFlow协议控制,而OpenFlow协议的功能与路由器和交换机的固件相互独立,它允许管理员更好地集中控制数据包的传播路径,避免拥塞。因此,如果需要的话,它可以为备份、email流量和视频流提供优先通过权。由于Google的内部网络经常需要快速转移几个PB的数据,因此Google需要更灵活的网络流量控制方式。相信未来,SDN将会接管所有的网络接入服务提供商。
谁拥有世界上最好的文件系统?
除了数据流,互联网还需要处理不断增长的任务量,主要是云服务和云存储的应用。例如:亚马逊的EC2弹性计算云,总共占据了全球互联网流量的1%。去年,它一共存储了7 620亿个文件,每秒钟需要处理500 000个任务。只有高级的文件系统才可以在高负荷运转之下确保数据的完整性,并且管理好文件的元数据(名称、大小和日期等),与文件本身的内容分开处理。Facebook、雅虎和亚马逊EC2弹性计算云所采用的Hadoop分布式文件系统(HDFS)可以自动为文件创建几个副本,并且在每个网络节点都有专门的服务器,用于存储文件的元数据。因此,HDFS文件系统可以高效地并行处理PB级别的数据,开源的HDFS文件系统是目前世界上最优秀的文件系统之一。
预测:网络流量稳定增长
来自思科的可视化网络指数(VNI)是描述网络流量最准确的参考数据。它预测,在接下来的3年中,网络的流量将会翻番,其中很大一部分是来自移动设备的网络数据。
OpenFlow:构建Google的新网络
OpenFlow负责调控Google数据中心之间的信息流量。与传统的路由器和交换机软件相比,这项开源的技术可以更高效地调配巨大的数据流量。
HDFS:针对大数据的文件系统
只有HDFS这样的分布式文件系统才能有效地处理大量数据的并行访问需求,并且分配专门的服务器进行文件管理。
存储文件时,主控服务器会保存它的元数据(文件名、大小等数据),文件本身的内容会存储在数据服务器上。之后,主控服务器发送指令,将文件备份到另一个机架上的服务器中。
可靠的连接协议
没有HTTP协议,浏览器就无法访问网站。但是“老迈”的HTTP协议并不高效,它的继任者可以将网络速度提高最多50%。
超文本传输协议(HTTP)是互联网通讯的基石,但是它已经过时了。最新的版本HTTP 1.1是13年前就开始采用的技术。传输控制协议(TCP)负责将文件分割为数据包,作为TCP协议的上层,HTTP协议负责从服务器上请求一个网站的内容,并且规定网站元素的发送规则。HTTP 1.1允许每个TCP连接完成一个访问请求(request),因此所有的网站元素(文本、图片、JavaScript代码等)都必须一个接一个地发送。现代浏览器虽然通过引入新技术绕过了这个限制,可以建立至多6个并行的TCP连接,但是仍然不够高效,因为服务器处理每个“额外”的连接时都需要500ms的延迟。每个连接都会增加新的不必要的HTTP头信息,这不仅传送了过多的冗余数据,而且不支持信息压缩。更重要的是,HTTP协议只允许由客户端发起请求,即使服务器需要发送更多数据到客户端,也必须等到客户端发出请求后才可以执行。此外,HTTP协议也不提供加密功能,这就是为什么SSL这样的加密协议备受关注的原因。
微软和Google推进HTTP 2.0
互联网工程任务组(IETF)希望解决HTTP 1.1的众多缺陷,明年可以引进HTTP 2.0版作为新的网络标准协议。今年,IETF将会决定具体采用哪些技术。Google和微软各自制定了自己的协议,它们被视为最热门的两个候选。Google已经使用SPDY协议两年多的时间,该协议是HTTP 1.1的修正版和补充版。Firefox、Chrome和Kindle上的Silk浏览器都已经集成了SPDY协议。同样,所有的Google服务、亚马逊、Twitter和Apache Web服务器都支持这项技术。SPDY允许HTTP包并行发送并能够实现数据压缩,还可以提供强制性的SSL加密。研究报告称,经过SPDY加速后最多可以提高50%的传输速度。 从微软的角度看,Google提出的SPDY忽视了智能移动设备应用程序的联网需求。微软希望通过自己的“HTTP Speed+Mobility”解决这些问题。它使用了跟SPDY技术同样的并行处理技术,但是同时允许灵活的加密和压缩选项,因为这两项功能需要消耗额外的计算力,并且会减少电池的续航时间。微软的“HTTP Speed+Mobility”方案规定使用WebSocket协议,能够建立客户端与服务器之间的持续双向连接。这个概念可以满足手机应用程序的需求,因为App需要不断地发送数据到服务器,并且接收用户数据进行进一步的处理。
HTTP 2.0:两个通向新标准的路线图
明年,新的互联网协议就将诞生。目前有两套HTTP 1.1协议的优化方案,分别来自Google和微软,它们是最热门的候选。
Firefox 13:支持HTTP 2.0候选协议
借助由Google主导的SPDY协议,我们可以更快地浏览网络。在Chrome和Firefox 13中,对该协议的支持是默认激活的。用户可以在isspdyenabled.com网站进行SPDY协议测试。
更快的浏览器引擎
网站开始像应用程序一样功能越来越丰富。所以网站代码的执行速度也必须加快,才能符合用户的预期。
HTML和JavaScript在设计之初主要是用于呈现静态网站页面的。但是这两种语言现在都已经被用于编写软件,例如流行的电脑游戏“愤怒的小鸟”或者智能手机App的许多功能都是用JavaScript来编写的。然而,这样的做法产生了一些性能瓶颈。由于所有打开的网站均依赖同一个JavaScript线程,所以浏览器无法同时执行几个JavaScript脚本。用户与网站之间的每一次互动,例如鼠标点击,都可能会引起延迟。因此,HTML5标准引入了名为“Web Workers”的多线程解决方案。它是一个浏览器的编程接口,允许复杂的JavaScript代码在独立的线程中运行。网站的程序人员必须确保“Web Worker”中的代码独立于用户的交互动作之外,然后“Web Worker”线程中的代码的运行结果将最终与JavaScript主线程相结合,用于呈现网站内容。
为更多设备优化网页
HTML 5中的“Web Worker”方案可以更好地优化脚本语言在多核CPU环境下的执行效率。可是,IE浏览器在10.0版本才会引入对该方案的支持,移动设备上的Android浏览器尚未支持它。另外,“Web Worker”也无法提供无限制的并行线程,更强大的并行支持需要引入开源的Fabric Engine计划,实现脚本语言的高性能编程与执行。Fabric Engine可以使网页代码执行起来像C++代码一样快速,它的秘诀就是引入带编译器的脚本语言引擎,该引擎负责高性能脚本计算的部分。它同时引入了新的编写语言——Fabric KL,作为JavaScript的扩展。英特尔的River-Trail计划也采用了类似的解决方案。但是与“Web Worker”不同,这些方法都不是网络标准的一部分。
GPU加速的效果有时候比多核CPU更有成效,因为图形核心计算动画的执行速度超过了CPU,因此网站也会形成不一样的风格。WebGL技术可以利用图形显示卡,为网页带来复杂的图形效果,加速交互式3D计算的性能。Adobe的ActionScript是目前的首选编程语言,但是它的性能和安全性不尽如人意。开放的标准WebGL和HTML 5技术从长期来看,极有可能取代私有的Flash。其实,Adobe也提供了Flash转到HTML 5的方案,即CreateJS项目。不幸的是,WebGL技术的发展刚刚开始,在移动设备上被支持的程度并不高。目前,只有索尼搭载了Android 4.0以上系统的Xperia支持WebGL技术。苹果的iOS 5系统需要通过破解的方式才能实现对WebGL的支持。
浏览器的硬件支持
有3种让多核CPU高效运行JavaScript的方式:Web Worker、Fabric Engine和River Trail。WebGL使用图形显示卡计算动画内容,但并非所有浏览器都支持它。
Fabric Engine加速Web代码执行
使用多线程,Fabric引擎可以像用C++编写的PC软件一样快速地执行JavaScript代码。下面的基准测试显示了“蒙特卡洛”仿真方法的运行结果。
WebGL:创造交互式3D网络内容
WebGL提供了GPU与浏览器之间的接口。我们可以访问
www.ro.me网站,找到里面逼真的3D画面,测试自己的显示卡是否可以流畅地运行。
更多设备接入互联网
几年之后,接入互联网设备的数量就将超过人类的数量。这些物联网设备的数据流量在传输时将采用不同于传统网络的标准和协议。
网民眼中的互联网是一个相对简单的模型:台式电脑、笔记本电脑或者智能手机连接到服务器上,人们通过这些设备访问网站或者与朋友聊天。但是同时,数量不断增长的物理设备已经开始在网上互相交换数据。E-plus的研究结果表明,2010年,德国一共发行了230万张专门供设备直接进行数据通信的SIM卡。明年,这个数据将会增长到500万。发送短信是机器与机器通信(M2M)的最简单方式。在工业领域甚至政府体系中已经有很多物联网研究项目正在进行,例如欧洲电信标准协会(ETSI)定义了专门为物联网通讯进行设计的新通讯协议,避免人类之间和机器之间的通讯相互发生不必要的干扰。
根据芯片设计公司ARM首席技术官(CTO)迈克?穆勒的说法,到2020年,将有约1 000亿部设备接入互联网。而另一个知名调查公司Gartner的分析师预测的数据则是600亿。未来,每一部汽车、自行车和电器都将装配网络接入模块,目前已经有一些城市的照明系统通过互联网控制。物联网设备必须包含一个负责控制和通信的微处理器,例如分配了IPv6地址的灯泡或者心脏起搏器。ARM最近揭开了“Cortex-MO+”架构的设计蓝图,基于该架构的最小32位处理器只有1mm?。相信未来,我们将可以通过更小的芯片控制机器。
为机器保留的通信信道
通常来说,目前的物联网设备都不具备很强的计算能力。它们内置的微处理器仍然是8位或16位的,可以执行的任务基本停留在Windows 95时代的水平。因此只需提供符合它们自身需求的受限通讯协议即可,而不是直接沿用目前的传统互联网协议。例如,联网的城市路灯上集成的微型传感器,只需要完成每天两次的测量数据发送任务就可以了。消息队列遥测传输(MQTT)协议是IBM已经开发出的机器间(Machine to Machine)即时通信协议,它与HTTP协议相似,但是协议头的数据量更小,因此更适合低功耗的RFID芯片传输数据。目前,物联网尚未形成统一的技术标准,业内仍在就物联网无线通信的频带分配进行争论。最大的问题是M2M通讯是否有必要工作在3G网络频段。不过从长远来看,3G和4G(LTE)频段应该为人类保存,因为大部分的机器只需要通过2G(GSM)网络进行通信即可。
集成城市照明系统的网络
飞利浦的“City Touch”室外照明控制系统可以通过Web页面控制城市的照明系统,它将所有的路灯都连接进了网络。而且这个系统已经在伦敦和布拉格进行了部署。
可以联网的微型设备
互联网无处不在:配置网络地址的灯泡被JN5148-001型超低功耗无线微控制器操控;名为HRV011的LifeTouch传感器可以测量心率,并且直接向医院传输数据。
传感器的传输协议
物联网设备通过专门的协议进行通讯,新协议更符合这些设备的需求,不需要很高的计算能力。下面是4个主要的协议:
RoLL:低功耗路由算法RoLL(Routing over Low power and Lossy networks)是为连接到网络中的微型传感器传递设备状态信息而开发的协议。
6LOWPAN:只需要很小的花销,就可以利用6LOWPAN(低功耗无线自组织网络)协议,为设备分配IPv6地址,从而可以将其接入到现有的网络中。
CoAP:受限应用协议(CoAP)为低计算能力(100KB的ROM和10KB的RAM)的8位微控制器——例如电器设备中的热传感器,它提供了数据传输标准。
MQTT:消息队列遥测传输(MQTT)是IBM开发的即时通讯协议,也适合射频识别(RFID)芯片传输消息。
扩展当前IP地址的IPv6已经发展了许多年,可以确保网址真实可靠性的域名系统安全扩展(Domain Name System Security Extensions)也需要几年的普及时间。北极地区西北通道的新海底光缆已经在规划之中,预计建成之后,访问地球另一侧服务器的网址响应时间将会缩短60ms。不过,铺设更多的光缆并不是将不断增长的数据推送到网民面前的高效解决方案。从数据中心到浏览器涉及到不同级别的软件技术,才能确保网络负载达到最优化。明年,将会有哪些新技术和标准“站”出来推进互联网向前发展呢?
更好地控制数据流
快速地处理和传送PB(250,1024TB)级别的数据,除了硬件要做好准备之外,软件也要有所改变。Google为我们示范了应该怎么做。
据国际电信联盟(ITU)发布的报告,2011年全世界有1/3的人口会经常上网。网络的平均带宽总额达到了每秒90 000GB,也就是正好每月30EB,而且仍在不断增长中。目前的技术要点就是如何高效地管理和控制如此大规模的数据流。Google公司已经为大型网络设备供应商思科和华为做出了示范。根据Arbor Network公司发布的报告,Google的数据中心与用户之间的数据流动占据了全球互联网数据流量的近6%~10%。在4月份举行的“开放网络峰会”上,Google透露了自己管理数据中心之间流量的方案。非常令人震惊的是,Google大胆地放弃了传统的网络基础架构,引入了自己的最新技术。
为了提高自己的网络负载能力,从网络设备供应商那里购买硬件和相应的配套软件,对传统的网络接入服务提供商来说再平常不过了。但是Google采取了不同的做法,它们直接与中国的网络设备生产厂进行探讨,利用“软件定义网络”(Software-Define Network,SDN)这种新型的网络架构连接路由器和交换机。SDN由OpenFlow协议控制,而OpenFlow协议的功能与路由器和交换机的固件相互独立,它允许管理员更好地集中控制数据包的传播路径,避免拥塞。因此,如果需要的话,它可以为备份、email流量和视频流提供优先通过权。由于Google的内部网络经常需要快速转移几个PB的数据,因此Google需要更灵活的网络流量控制方式。相信未来,SDN将会接管所有的网络接入服务提供商。
谁拥有世界上最好的文件系统?
除了数据流,互联网还需要处理不断增长的任务量,主要是云服务和云存储的应用。例如:亚马逊的EC2弹性计算云,总共占据了全球互联网流量的1%。去年,它一共存储了7 620亿个文件,每秒钟需要处理500 000个任务。只有高级的文件系统才可以在高负荷运转之下确保数据的完整性,并且管理好文件的元数据(名称、大小和日期等),与文件本身的内容分开处理。Facebook、雅虎和亚马逊EC2弹性计算云所采用的Hadoop分布式文件系统(HDFS)可以自动为文件创建几个副本,并且在每个网络节点都有专门的服务器,用于存储文件的元数据。因此,HDFS文件系统可以高效地并行处理PB级别的数据,开源的HDFS文件系统是目前世界上最优秀的文件系统之一。
预测:网络流量稳定增长
来自思科的可视化网络指数(VNI)是描述网络流量最准确的参考数据。它预测,在接下来的3年中,网络的流量将会翻番,其中很大一部分是来自移动设备的网络数据。
OpenFlow:构建Google的新网络
OpenFlow负责调控Google数据中心之间的信息流量。与传统的路由器和交换机软件相比,这项开源的技术可以更高效地调配巨大的数据流量。
HDFS:针对大数据的文件系统
只有HDFS这样的分布式文件系统才能有效地处理大量数据的并行访问需求,并且分配专门的服务器进行文件管理。
存储文件时,主控服务器会保存它的元数据(文件名、大小等数据),文件本身的内容会存储在数据服务器上。之后,主控服务器发送指令,将文件备份到另一个机架上的服务器中。
可靠的连接协议
没有HTTP协议,浏览器就无法访问网站。但是“老迈”的HTTP协议并不高效,它的继任者可以将网络速度提高最多50%。
超文本传输协议(HTTP)是互联网通讯的基石,但是它已经过时了。最新的版本HTTP 1.1是13年前就开始采用的技术。传输控制协议(TCP)负责将文件分割为数据包,作为TCP协议的上层,HTTP协议负责从服务器上请求一个网站的内容,并且规定网站元素的发送规则。HTTP 1.1允许每个TCP连接完成一个访问请求(request),因此所有的网站元素(文本、图片、JavaScript代码等)都必须一个接一个地发送。现代浏览器虽然通过引入新技术绕过了这个限制,可以建立至多6个并行的TCP连接,但是仍然不够高效,因为服务器处理每个“额外”的连接时都需要500ms的延迟。每个连接都会增加新的不必要的HTTP头信息,这不仅传送了过多的冗余数据,而且不支持信息压缩。更重要的是,HTTP协议只允许由客户端发起请求,即使服务器需要发送更多数据到客户端,也必须等到客户端发出请求后才可以执行。此外,HTTP协议也不提供加密功能,这就是为什么SSL这样的加密协议备受关注的原因。
微软和Google推进HTTP 2.0
互联网工程任务组(IETF)希望解决HTTP 1.1的众多缺陷,明年可以引进HTTP 2.0版作为新的网络标准协议。今年,IETF将会决定具体采用哪些技术。Google和微软各自制定了自己的协议,它们被视为最热门的两个候选。Google已经使用SPDY协议两年多的时间,该协议是HTTP 1.1的修正版和补充版。Firefox、Chrome和Kindle上的Silk浏览器都已经集成了SPDY协议。同样,所有的Google服务、亚马逊、Twitter和Apache Web服务器都支持这项技术。SPDY允许HTTP包并行发送并能够实现数据压缩,还可以提供强制性的SSL加密。研究报告称,经过SPDY加速后最多可以提高50%的传输速度。 从微软的角度看,Google提出的SPDY忽视了智能移动设备应用程序的联网需求。微软希望通过自己的“HTTP Speed+Mobility”解决这些问题。它使用了跟SPDY技术同样的并行处理技术,但是同时允许灵活的加密和压缩选项,因为这两项功能需要消耗额外的计算力,并且会减少电池的续航时间。微软的“HTTP Speed+Mobility”方案规定使用WebSocket协议,能够建立客户端与服务器之间的持续双向连接。这个概念可以满足手机应用程序的需求,因为App需要不断地发送数据到服务器,并且接收用户数据进行进一步的处理。
HTTP 2.0:两个通向新标准的路线图
明年,新的互联网协议就将诞生。目前有两套HTTP 1.1协议的优化方案,分别来自Google和微软,它们是最热门的候选。
Firefox 13:支持HTTP 2.0候选协议
借助由Google主导的SPDY协议,我们可以更快地浏览网络。在Chrome和Firefox 13中,对该协议的支持是默认激活的。用户可以在isspdyenabled.com网站进行SPDY协议测试。
更快的浏览器引擎
网站开始像应用程序一样功能越来越丰富。所以网站代码的执行速度也必须加快,才能符合用户的预期。
HTML和JavaScript在设计之初主要是用于呈现静态网站页面的。但是这两种语言现在都已经被用于编写软件,例如流行的电脑游戏“愤怒的小鸟”或者智能手机App的许多功能都是用JavaScript来编写的。然而,这样的做法产生了一些性能瓶颈。由于所有打开的网站均依赖同一个JavaScript线程,所以浏览器无法同时执行几个JavaScript脚本。用户与网站之间的每一次互动,例如鼠标点击,都可能会引起延迟。因此,HTML5标准引入了名为“Web Workers”的多线程解决方案。它是一个浏览器的编程接口,允许复杂的JavaScript代码在独立的线程中运行。网站的程序人员必须确保“Web Worker”中的代码独立于用户的交互动作之外,然后“Web Worker”线程中的代码的运行结果将最终与JavaScript主线程相结合,用于呈现网站内容。
为更多设备优化网页
HTML 5中的“Web Worker”方案可以更好地优化脚本语言在多核CPU环境下的执行效率。可是,IE浏览器在10.0版本才会引入对该方案的支持,移动设备上的Android浏览器尚未支持它。另外,“Web Worker”也无法提供无限制的并行线程,更强大的并行支持需要引入开源的Fabric Engine计划,实现脚本语言的高性能编程与执行。Fabric Engine可以使网页代码执行起来像C++代码一样快速,它的秘诀就是引入带编译器的脚本语言引擎,该引擎负责高性能脚本计算的部分。它同时引入了新的编写语言——Fabric KL,作为JavaScript的扩展。英特尔的River-Trail计划也采用了类似的解决方案。但是与“Web Worker”不同,这些方法都不是网络标准的一部分。
GPU加速的效果有时候比多核CPU更有成效,因为图形核心计算动画的执行速度超过了CPU,因此网站也会形成不一样的风格。WebGL技术可以利用图形显示卡,为网页带来复杂的图形效果,加速交互式3D计算的性能。Adobe的ActionScript是目前的首选编程语言,但是它的性能和安全性不尽如人意。开放的标准WebGL和HTML 5技术从长期来看,极有可能取代私有的Flash。其实,Adobe也提供了Flash转到HTML 5的方案,即CreateJS项目。不幸的是,WebGL技术的发展刚刚开始,在移动设备上被支持的程度并不高。目前,只有索尼搭载了Android 4.0以上系统的Xperia支持WebGL技术。苹果的iOS 5系统需要通过破解的方式才能实现对WebGL的支持。
浏览器的硬件支持
有3种让多核CPU高效运行JavaScript的方式:Web Worker、Fabric Engine和River Trail。WebGL使用图形显示卡计算动画内容,但并非所有浏览器都支持它。
Fabric Engine加速Web代码执行
使用多线程,Fabric引擎可以像用C++编写的PC软件一样快速地执行JavaScript代码。下面的基准测试显示了“蒙特卡洛”仿真方法的运行结果。
WebGL:创造交互式3D网络内容
WebGL提供了GPU与浏览器之间的接口。我们可以访问
www.ro.me网站,找到里面逼真的3D画面,测试自己的显示卡是否可以流畅地运行。
更多设备接入互联网
几年之后,接入互联网设备的数量就将超过人类的数量。这些物联网设备的数据流量在传输时将采用不同于传统网络的标准和协议。
网民眼中的互联网是一个相对简单的模型:台式电脑、笔记本电脑或者智能手机连接到服务器上,人们通过这些设备访问网站或者与朋友聊天。但是同时,数量不断增长的物理设备已经开始在网上互相交换数据。E-plus的研究结果表明,2010年,德国一共发行了230万张专门供设备直接进行数据通信的SIM卡。明年,这个数据将会增长到500万。发送短信是机器与机器通信(M2M)的最简单方式。在工业领域甚至政府体系中已经有很多物联网研究项目正在进行,例如欧洲电信标准协会(ETSI)定义了专门为物联网通讯进行设计的新通讯协议,避免人类之间和机器之间的通讯相互发生不必要的干扰。
根据芯片设计公司ARM首席技术官(CTO)迈克?穆勒的说法,到2020年,将有约1 000亿部设备接入互联网。而另一个知名调查公司Gartner的分析师预测的数据则是600亿。未来,每一部汽车、自行车和电器都将装配网络接入模块,目前已经有一些城市的照明系统通过互联网控制。物联网设备必须包含一个负责控制和通信的微处理器,例如分配了IPv6地址的灯泡或者心脏起搏器。ARM最近揭开了“Cortex-MO+”架构的设计蓝图,基于该架构的最小32位处理器只有1mm?。相信未来,我们将可以通过更小的芯片控制机器。
为机器保留的通信信道
通常来说,目前的物联网设备都不具备很强的计算能力。它们内置的微处理器仍然是8位或16位的,可以执行的任务基本停留在Windows 95时代的水平。因此只需提供符合它们自身需求的受限通讯协议即可,而不是直接沿用目前的传统互联网协议。例如,联网的城市路灯上集成的微型传感器,只需要完成每天两次的测量数据发送任务就可以了。消息队列遥测传输(MQTT)协议是IBM已经开发出的机器间(Machine to Machine)即时通信协议,它与HTTP协议相似,但是协议头的数据量更小,因此更适合低功耗的RFID芯片传输数据。目前,物联网尚未形成统一的技术标准,业内仍在就物联网无线通信的频带分配进行争论。最大的问题是M2M通讯是否有必要工作在3G网络频段。不过从长远来看,3G和4G(LTE)频段应该为人类保存,因为大部分的机器只需要通过2G(GSM)网络进行通信即可。
集成城市照明系统的网络
飞利浦的“City Touch”室外照明控制系统可以通过Web页面控制城市的照明系统,它将所有的路灯都连接进了网络。而且这个系统已经在伦敦和布拉格进行了部署。
可以联网的微型设备
互联网无处不在:配置网络地址的灯泡被JN5148-001型超低功耗无线微控制器操控;名为HRV011的LifeTouch传感器可以测量心率,并且直接向医院传输数据。
传感器的传输协议
物联网设备通过专门的协议进行通讯,新协议更符合这些设备的需求,不需要很高的计算能力。下面是4个主要的协议:
RoLL:低功耗路由算法RoLL(Routing over Low power and Lossy networks)是为连接到网络中的微型传感器传递设备状态信息而开发的协议。
6LOWPAN:只需要很小的花销,就可以利用6LOWPAN(低功耗无线自组织网络)协议,为设备分配IPv6地址,从而可以将其接入到现有的网络中。
CoAP:受限应用协议(CoAP)为低计算能力(100KB的ROM和10KB的RAM)的8位微控制器——例如电器设备中的热传感器,它提供了数据传输标准。
MQTT:消息队列遥测传输(MQTT)是IBM开发的即时通讯协议,也适合射频识别(RFID)芯片传输消息。