M2M通信协议综述
WMMP协议采用同步方式进行报文交互, 每一个请求报文须有一个应答报文 作为应答。WMMP报文由报文头和报文体构成,其结构如图所示。
起始
结束
报文头(定长)(必选)
报文体(变长)(可选)
图2.3 WMMP协议报文结构图
(1) 报文头 报文头是每个WMMP报文必要的公共部分,它描述了每个WMMP报文的最 基本信息,其长度固定;而且其格式固定,依次为报文总长度、报文命令代码、 报文流水号、报文协议版本、报文安全标识、保留字、终端序列号等字段。 在通用M2M终端设备与M2M平台间协议的基础上通过扩展TLV的方式来定 义某一类机器间的通信语义。 TLV是带格式的的数字或不定长字符串或字节数组, 它被用来动态扩展消息交互中的数据及参数,TLV的结构如图所示。
M2M 通信协议综述
2014.12.17
中南大学信息科学与工程学院 通信工程专业
Байду номын сангаас
摘
要
近年来,物联网以其跨学科特色成为信息科技产业的研究热点,它是互联网 的延伸,前景无限,但现阶段物联网发展处于萌芽时期,各国均处于探索阶段, 涉及到的研究领域和关键技术众多,协议类型五花八门,在国际上没有统一的规 范和协议,这深深影响着 M2M 以及物联网的发展。物联网需要一个统一的接入 协议。 为了对不同移动终端进行安全管理, 无线 M2M 协议 (WMMP) 作为 M2M 系统的核心元素被主要移动运营商所提倡。本文在对物联网发展和 M2M 业务进 行分析的基础之上,对不同的 MAC 协议、WMMP 协议以及 MDMP 协议进行了 概括介绍,重点对 WMMP 协议的协议栈结构、报文结构、通信方式和安全机制 进行了深入研究阐述与分析。
2、������������������������协议研究与分析
2.1 WMMP协议背景
[������]
在WMMP协议提出之前,M2M技术采用如下两种方式实现: 1. 两台具有GPRS功能的M2M终端直接通讯, 双方通过无线方式接入核心网 后进行连续通讯; 2.将一台GPRS终端作为M2M终端,将一台电脑作为服务器放在Internet上 作为M2M应用,终端通过无线方式进行通讯。 第一种方式,整个系统过于简单,只要终端数量增加,相互问的逻辑关系就 会复杂到无法有条理地区分; 第二种方式则受到无线网内互联相关法规的约束而 发展缓慢。此外终端的合法性、终端产生通讯异常时候的处理、终端上报数据的 统计、终端与服务器之间通讯的协议也是当时M2M技术中难以解决的问题。 WMMP协议的提出解决了以上的问题,接下来进行详细的研究和分析。
图2.2 M2M终端与M2M平台之间的通信协议栈结构
在网络质量欠佳的情况下,优先采用UDP协议。因为GPRS网络带宽较窄, 延迟较大,不适于采用TCP协议进行通信。故采用GPRS作为接入方式时,则建 议采用UDP协议作为传输层协议。采用UDP方式通信,可以提高传输效率,减少 数据流量,节省网络带宽资源。但是同时,UDP是无连接的、面向消息的数据传 输协议, 与TCP协议相比较, 它有两个致命的缺点: 一是没有确认机制, 易丢包; 二是数据包无序。因此,为保证数据的可靠传输,M2M数据通信通过在UDP的 上层应用层的WMMP协议采用丢包重发机制来进行弥补,从而提高通信效率及 可靠性。根据实际经验发现,采用UDP方式传输,丢包率能控制在l%以下,能 够满足M2M应用的需要。 2.2.2WMMP协议的报文 1、 WMMP报文结构
内容体可以通过数据加密以保证其在传输过程中的安全性。对于内容体的加 密,既可以对整个内容体进行加密,也可以对某个或某几个TLV进行单独加密; 而加密结果也以特定的TLV在报文中表示。 (2)报文体 报文体是WMMP报文中承载交互数据的部分,其长度可变,格式不固定,甚 至可以缺省,一般由内容体和摘要体构成。内容体一般由固定参数部分和可变
图2.4 TLV结构
其中T为TAG,表示该字符串的定义标签;L为LENGTH,表示该TLV扩展的 有效数据或参数V的长度;V为VALUE,表示该数字或字符串或字节数组中有效 数据的数值。 TLV 与 TLV 组的区别如下:
表 2.1 TLV 与 TLV 组的区别 项目 TLV TLV组 说明 带格式的数字或不定长长字符串或字节数组 若干个首尾相连的TLV
2.2 WMMP协议概述
WMMP(Wireless M2M Protoc01)协议是为实现M2M业务中M2M终端与M2M 平台之间、M2M终端与终端之间、M2M终端与M2M应用平台之间的数据通信过 程而设计的应用层协议,其体系如下图所示:
图2.1 WMMP协议体系
WMMP协议是M2M架构中的一个协议泛称,它包括M2M终端和平台接口协 议,M2M终端与M2M终端接口协议,以及M2M终端和M2M应用接口协议。 其中,M2M终端和平台接口协议,完成M2M平台与M2M终端之间的数据通 信,以及M2M终端之间借助M2M平台转发、路由所实现的端到端数据通信,是 WMMP协议体系中最重要的部分。 2.2.1 WMMP协议栈结构 WMMP协议的核心是其可扩展的协议栈及报文结构,而在其外层是由 WMMP协议核心衍生的接入方式,与通信机制和安全机制不相关。在此基础之 上,由内向外依次为WMMP的M2M终端管理功能和WMMP的M2M应用扩展功 能。 WMMP协议建立在TCP/IP或UDP/IP协议、 SMS/USSD之上, 其协议栈结构如 图所示:
本论文围绕中国M2M发展现状和关键技术展开综述。 在中国,为了实现对各类终端的安全管理,运营商提出了一套完整的无线 M2M 通信协议 (Wireless M2M Protocol,简称 WMMP) , 它是 M2M 业务的核心。 从核心构成来说, 物联网由云计算的分布式中央处理单元、传输网络和感应识别 末梢组成。 就像互联网是由无数个局域网构成的一样,未来的物联网势必也是由 无数个 M2M 系统构成,就如人身体不同机能一样,不同的 M2M 系统会负责不 同的功能处理,通过中央处理单元协同运作,最终组成智能化的社会系统。
1、介绍
对物联网发展和 M2M 技术的概述, 主要从物联网全球发展现状, 中国 M2M 技术两方面进行阐述。 就物联网的全球发展现状来看,各个国家地区都提出了各自的物联网计划与 标准。而同时国家和地区信息化战略的共同点是:融合各种信息技术,突破互联 网的限制,将物体接入信息网络,实现“物联网”;在网络泛在的基础上,将信息 技术应用到各个领域,从而影响到国民经济和社会生活的方方面面。 在我国,政府提出“感知中国”的发展计划,各大运营商也将其看做未来发展 的重点,提出M2M等物联网技术。 虽然物联网的发展前景无限,但也存在多方面的问题,涉及到标准、安全、 规划、管理等多个领域,此处只重点说明在协议方面的问题:物联网是互联网的 延伸, 在物联网核心层面是基于P网络, 但在接入层面, 协议类别五花八门, GPRS、 短信、传感器、TD-SCDMA 、/WCDMA/、CDMA2000、有线等多种通道,所 以物联网需要一个统一的接入协议。
选择TCP协议作为传输方式。
[������]
4、WMMP协议的安全机制
WMMP协议的完整的安全交互流程如下所示: 1.M2M终端接收上、下行接入密码和基础密钥短信后,应立即发起首次登 录M2M平台流程。若超时未登录,则M2M平台认为该终端接收密钥失败,将自 动消除该终端的注册信息,等待该终端再次重新发起新注册流程。 2. 当需要对M2M终端与M2M平台之间的数据交互进行加密时, 由M2M终端 在登录报文中向M2M平台请求会话密钥。 3.M2M终端成功接收到会话密钥之后,通信双方可根据其业务需要决定是 否对其发送的报文进行加密, 但一次报文交互的请求报文与应答报文是否加密必 须一致。若加密,则本次报文交互的请求与应答都必须加密处理;反之,则都是 明文发送。但由于某些应答报文中不携带实际意义的数据,仅是报文头,因此针 对这些应答报文无须加密。为区分报文是否加密,必须在报文头的加密标识位上 进行标识。 WMMP协议的安全机制主要是在应用协议层解决SIM卡与终端被非法使用 和M2M终端与M2M平台的数据交互安全问题,同时尽可能的不依赖于具体的通 信方式。 由于M2M终端使用环境的安全性无法得到保证, 以及其它通信方式存在一定 的安全风险,因此,WMMP协议的安全机制中所涉及的所有密码、密钥如无特 别的声明,都是具有生命周期的,必须定期或不定期更新,并且必须由M2M平 台通过下发给M2M终端。此外,在WMMP协议的安全机制中,根据M2M终端的 处理能力和承载业务的需要,可由M2M平台为其设置不同的安全机制级别,默 认情况不使用M2M终端与SIM卡的双向安全认证机制和数据加密机制, 仅对基于 GPRS方式采用接入安全验证。 (1) M2M终端与SIM卡的双向安全认证机制 只有M2M终端拥有正确的PIN1码才能启用合法的SIM卡,从而通过SIM卡接 入到M2M业务系统;与之对应,只有对应的SIM卡才能启动合法M2M终端,从 而通过M2M终端使用M2M业务系统。 (2)终端与平台的数据交互安全 采用报文内容加密的方式, 通过对内容体中的数据进行加密, 以实现M2M终 端与M2M平台之间交互报文来源的身份验证并保证报文的完整性,从而保证报 文内容在传输过程中的安全性。
TLV/TLV部分组构成。固定参数部分的格式是各类报文所独有的,不同类型的报 文其固定参数部分也不完全相同,某些类型的报文甚至缺省固定参数部分。摘要 体是一个可选的TLV,用于报文完整性和来源身份合法性的验证。 2、 WMMP 报文分类 根据报文是否采用安全机制,可将WMMP报文为四类:普通报文、接入安全 验证报文、部分加密报文、完全加密报文。 普通报文,以明文方式传送的、未采用任何安全机制的、仅有报文头和报文 体中的内容体WMMP报文。 接入安全验证报文,以明文方式传送的,除报文头和内容体之外,在报文体 的最后携带了用于接入验证的摘要体的WMMP报文。 部分加密报文,对内容体中的某个或某几个TLV进行单独加密的,除报文头 和内容体之外, 在报文体的最后携带了用于接入安全验证的摘要体的WMMP 报文。 完全加密报文,对整个内容体进行加密的,除报文头和内容体之外,在报文 体的最后携带了用于接入安全验证的摘要体的WMMP报文。 3、 WMMP协议通信方式 WMMP协议中采用了逻辑连接(接下来简称为“连接‟‟)的概念。所谓逻辑连接 是指M2M终端与M2M平台一次完整的报文交互过程, M2M终端以登录请求报文 向M2M平台登录,其后M2M平台鉴权成功并发送登录应答报文为开始,以通信 双方一端发起退出请求, 另一端发出退出应答为结束,在逻辑连接中通信超时也 视为连接结束。在此交互过程中,通信形式可以是SMS、USSD、或基于GPRS 的TCP或UDP方式,也可以是混合模式,即通信方式可在逻辑连接中切换。但需 要注意的是,对于一对请求、应答,必须在同一通信方式下完成。 采用基于IP的通信方式做承载时, 根据M2M终端与M2M平台之间的IP链路连 接是否一直存在,可分两种连接方式:长连接和短连接。所谓长连接,指在一个 连接过程中可以连续发送多个数据报文,如果没有数据报文发送,需要M2M终 端发送心跳报文以维持此连接。 短连接是指通信双方有数据交互时,就建立一个 WMMP连接过程,数据发送完成后,则断开此WMMP连接过程。 M2M终端平时处于离线状态, 当本地需要传输数据或达到定时上线时间等相 关策略时,M2M终端作为客户端以“客户一服务器”方式建立WMMP连接,传送 数据完成后,结束该连接。短连接的操作流程与长连接基本一致,唯一的区别在 于M2M终端不需要通过心跳报文来维持与M2M平台通信的连接链路,而是在结 束与M2M平台的数据传输之后,立即向M2M平台请求退出登录状态。短连接适 用于数据量少,不需要一直在线的M2M应用或服务。 无论长连接,还是短连接,在采用口方式时,都可以根据实际网络通信质量 采用TCP或UDP方式。若网络通信质量较好时(下行速率大于2Mbps),可以优先