![OCF技术原理及物联网程序开发指南/清华开发者书库](https://file.mhuoba.com/shop/3/100021/picture/book/20210601/12/20210601120249430.jpg)
出版社: 清华大学
原售价: 99.00
折扣价: 70.30
折扣购买: OCF技术原理及物联网程序开发指南/清华开发者书库
ISBN: 9787302511168
李永华 现执教于北京邮电大学,拥有超过10年的嵌入式开发经验,致力于物联网和智能硬件的研究开发工作。在教学中以兴趣为导向,激发学生的创造性;以素质为基础,提高自身教学水平;以科研为手段,促进教学理念转变。通过信息工程专业综合改革,探索了以“学生学为中心”的教学模式,营造生动活泼的学习方法,提高学生独立思考问题、发现问题、解决问题的能力,激发学生的创造激情。在研发及教学实践中指导学生实现200余个创新案例,并指导着一支物联网开发团队,曾在物联网、开源硬件等技术领域进行了多场学术报告,并且出版了《AllJoyn技术原理及物联网程序开发指南》《Arduino实战指南——游戏开发、智能硬件、人机交互、智能家居与物联网设计30例》《Arduino软硬件协同设计实战指南》等多部物联网技术方面的著作。
第5章 CHAPTER 5 网络连接及终端发现 OCF所处的物联网环境是由异构化的系统组成的。由于这些系统通常被定制成处理专用需求的系统,所以它们都是由非常多样的产品和服务组成的。这些产品的范围很广,既涉及有限的、只能依靠电池运行的设备,也涉及用户可以从市场上购买到的日常使用的科技设备。现阶段缺少并亟待创立一个全球化的标准,以使得致力于研究OCF的不同项目组可以在一个通用网络标准下进行精简操作。 IETF发现了市场的变化并意识到了IPv4已经不能满足使用需求。不只是新的科技领域需要新技术的支持,管理更多样的设备、日益复杂的多种子网、更高的安全和隐私要求也需要一系列新技术标准的出现。认识到物理层/数据链路层的存在需求后,IETF建立了专门的工作组来精简、提炼各种现有的网络层技术。根据这些市场的现实情况,这个规范也意味着可以充分利用现有的无线网(如蓝牙、WiFi或802.15.4),并集中研究网络层和由IETF所产生的相关协议。 5.1网络连接架构 IPv4中心网络已经发展到支持复杂的拓扑结构,其部署主要由单一的互联网服务提供商作为单一的网络提供。而常出现于家居住宅的更复杂的网络拓扑,大多是通过收购更多的家庭网络设备实现的,这依赖于技术的支持,如私有网络地址转换等。这些技术在搭建和设置时需要专业人员的帮助,并应避免在家庭网络中使用,因为它们经常导致路由结构、命名和发现等服务的故障。 多段生态系统的OCF地址,不仅会引发新设备和有关路由器的激增,同时也会增加那些引入额外边缘路由器的新服务。所有这些新的要求都需要先进的系统架构,以解决复杂的网络拓扑,如图51所示,深色的部分表示非OCF部分。 图51高层网络和连接架构 图51中所示的设备承担以下几个角色之一。 (1) IETF RFC 6434 CE路由器(用户端边缘路由器)中定义的IPv6节点,IPv6路由器。 (2) IPv6主机: 在IETF RFC 7084中具体定义。 (3) 6LN(6LoWPAN节点)、6LR(6LoWPAN路由器)、6LBR(6LoWPAN边界路由器),在IETF RFC 6775中定义。 (4) IPv6转换器,用以在IPv6网络、非IPv6网络间翻译和路由相关的设备,图51中的网关就是一个转换器的实例。 (5) 约束节点: 由于受约束的环境(有限的处理能力、存储器、非易失性存储介质和传输容量)需要IP网络层下的特别适配层,并需要专门的路由协议的节点。例如,在低功率下传输的设备、IEEE 802.14.5、ITU G9959、低功耗蓝牙和NFC等。 5.2IPv6网络层需求 预测表明,数百亿新的物联网终端及相关服务将在未来几年内联机。这些端点功能范围将从使用电池供电的具有有限的计算、存储和带宽的节点跨越到拥有更丰富的资源,通过以太网和WiFi链路工作的器件。 大约30年前部署的互联网IPv4已经成熟,并支持多种应用,如Web浏览、电子邮件、语音、视频和关键系统的监测和控制。但是,IPv4的能力濒临用尽,并不仅仅只是可用地址空间已被消耗的程度。 IETF开发IPv4的继任者IPv6。OCF建议在网络层使用IPv6。其原因如下。 (1) 更大的地址空间,大大减少网络接入转换的需要。 (2) 更灵活的地址结构,每个结构可以使用多个地址和类型,如本地链路、ULA、GUA和各种范围的组播地址等; 更好地支持多归属网络,拥有更好的重新编号能力等。 (3) 更强大的自动配置功能,如DHCPv6、SLAAC和路由器发现等。在技术约束节点上实现IP连接的操作也是基于IPv6的。 (4) 所有主流的消费者操作系统,如iOS、Android、Windows和Linux都已经支持IPv6。全球各地的主要服务提供商也都已经部署IPv6。 为了保证网络层服务从节点到节点的互操作性,在所有节点上强制统一公共网络层协议是至关重要的。该协议应使网络能够成为安全的、可管理的、可扩展的网络,并包括约束节点和自组网状节点。OCF建议使用IPv6作为公共的网络层协议,以保证所有OCF设备间的互操作性。本章将关注IPv6主机、约束主机和路由器的互操作需求。 IPv6节点应支持IPv6。若一个节点支持IPv6,则应该遵守以下在本地网络中通信的要求。 (1) 应支持IETF RFC 2460“IPv6规范”和类似IETF RFC 6434“IPv6节点要求”的相关更新。 (2) 应支持IETF RFC 4291“IPv6寻址体系结构”和类似IETF RFC 6434“IPv6节点要求”的相关更新。 (3) 应支持IETF RFC 4861“IPv6邻近发现”和IETF RFC 6434 “IPv6节点要求”。 (4) 应支持IETF RFC 1981“路径MTU发现”和IETF RFC 6434“IPv6节点要求”的相关更新。 (5) 应支持IETF RFC 1981“唯一本地IPv6单播地址”和相关更新。 (6) 应当支持IETF RFC 3810“组播监听发现版本2”和相关更新。 (7) IPv6路由器、IPv6主机应支持所有的节点需求。 5.3终端定义 终端的具体定义取决于正在使用的传输协议。对于通过IPv6的UDP上的CoAP示例,终端由IPv6地址和UDP端口号标识。 每个OCF设备至少应与一个可以与其交换请求和响应消息的终端相关联。当消息发送到终端时,它将被传递到与终端相关联的OCF设备。当请求消息传递到终端时,路径组件就有足够的能力找到目标资源。 OCF设备能与多个终端相关联。例如,一个OCF设备可以拥有几个IP地址或者端口号,它也可以同时支持HTTP协议和CoAP协议。 另外,当有一种方法能去清楚地用URI指定目标资源时,一个终端也可以被多个OCF设备共享。例如,当一个CoAP服务器端对托管于自身的资源使用了唯一不同路径,那么它就可以被多个OCF设备共享。然而,这对于OCF 1.0和OCF 1.1是不可能的,因为一些预定义URI(如“oic/d”)对于某些资源是强制性的。 终端由终端信息来表示。其中,终端信息是由“ep”和“pri”两个键值对组成。 1. “ep” “ep”表示传输协议和终端定位器,指定如下内容。 (1) 传输协议(例如CoAP + UDP + IPv6)的组合,可以与RESTful操作(即CRUDN)交换请求和响应消息。传输协议套件应由IANA注册方案表示,还允许供应商或OCF定义的方案(如“org.ocf.foo”或“com.samsung.bar”)。 (2) 终端定位器,通过该地址(如IPv6地址+端口号)可以将消息发送到终端,然后将相关联的OCF设备发送到该地址。“CoAP”“CoAPS”“CoAP+TCP”“CoAPS+TCP”“HTTP”和“HTTPS”的终端定位器应指定为“IP地址+端口号”。不应使用临时地址,因为终端定位器是为了接收传入的会话,而临时地址用于启动传出会话。此外,它包含在“/oic/res”中可能会导致隐私问题。 (3) “ep”应具有一个如方案组件所说明的传输协议的URI。例如,\"ep\":\"coap://[fe80::b1d6]:1111\"。 各传输协议中的“ep”值如表51所示。 《OCF技术原理及物联网程序开发指南》系统论述了OCF物联网协议及开源设计方法。书中以OCF核心资源为基础,由浅入深地描述了OCF协议的使用,并以案例的方式介绍了智能硬件在物联网中的应用。在物联网技术的开发过程中,使用OCF协议与平台,将事半功倍,极大提高效率。