第11章-物联网通信协议_第1页
第11章-物联网通信协议_第2页
第11章-物联网通信协议_第3页
第11章-物联网通信协议_第4页
第11章-物联网通信协议_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

|第11章物联网通信协议|本章知识点学习完本章后,应当掌握如下知识:

11.1TCP/IP体系

11.2物联网协议体系结构

11.3CoAP协议

11.1TCP/IP体系TCP/IP体系计算机网络是非常复杂的系统,为了使不同体系结构的计算机网络之间实现互联,国际标准化组织(ISO)于1977年成立专门机构研究该问题,最终提出使各种计算机网络在世界范围内互联互通的标准框架,即开放系统互联参考模型OSI/RM(OpenSystemsInterconnectionReferenceModel),简称OSI。TCP/IP体系如图所示,OSI模型结构具有七层,对应的TCP/IP结构是五层。并且,由于互联网采用的TCP/IP在OSI提出之前已经获得可观的市场,因此,TCP/IP常被认为是事实上的国际标准。OSI和TCP/IP体系结构物理层:物理层(PhysicalLayer)上传输数据的单位是比特。物理层的任务就是透明地传输比特流,即发送方发送1(或0)时,接收方应当收到1(或0),而不是0(或1)。因此,物理层要考虑用多大的电压代表1(或0),以及接收方如何识别出发送方所发送的比特。物理层还要确定连接电缆的插头应当有多少个引脚以及各引脚应如何连接。物理媒介是第0层。物理媒介就是把计算机连接起来的物理手段,常见的物理媒介有光纤、双绞线及无线电波,其决定了电信号(0和1)的传输方式。物理媒介的不同决定了电信号的传输带宽、速率、传输距离及抗干扰性等各有不同。TCP/IP体系物理层:当通过HTTP发起一个请求时,应用层、传输层、网络层和数据链路层的相关协议依次对该请求进行封装并携带对应的首部,最终在数据链路层上生成以太网数据包,以太网数据包通过物理媒介传输给对方主机,对方接收到数据包以后,再一层一层地采用对应的协议进行拆包,最后把应用层数据交给应用程序处理。TCP/IP体系TCP/IP数据流数据链路层:数据链路层(DataLinkLayer)简称为链路层。两个主机之间的数据需要在一段段的链路上连续传输,每条链路的两个相邻结点(主机和路由器,或两个路由器)采用点对点的方式传输数据。此时需要提供数据链路层协议约定相邻结点之间的交互,以实现在两个相邻结点链路上“透明”地传输数据帧。每一帧数据包括有效数据字段和必要的控制信息,如同步信息、地址信息和差错控制等。数据链路层的主要工作就是对电信号进行分组并形成具有特定意义的数据帧,再以广播的形式通过物理媒介将数据帧发送给接收方。TCP/IP体系数据链路层:整个数据帧由首部、数据和尾部三部分组成,首部固定为14字节,包含了目的MAC地址、源MAC地址和类型;数据最短为46字节,最长为1500字节,如果需要传输的数据很长,则必须将其分割成多个帧进行发送;尾部固定为4字节,表示数据帧校验序列,用于确定数据包在传输过程中是否出现了损坏。因此,以太网协议对电信号进行分组并形成数据帧,再通过物理媒介把数据帧发送给接收方。TCP/IP体系以太网数据包示例网络层:网络层(NetworkLayer)负责为分组交换网上的不同主机提供通信服务。在发送数据时,网络层把传输层产生的报文段或用户数据报封装为分组或包进行传输。在TCP/IP体系结构中,由于网络层使用互联网协议(InternetProtocol,IP),因此分组也叫作IP数据报,简称为数据报。网络层负责选择合适的路由,使得源主机传输层的分组通过网络中的路由器找到目的主机。互联网由大量的异构网络通过路由器相互连接起来,网络层协议可选择IP或其他多种路由协议,故网络层也被称为网际层或IP层。综上,网络层的主要工作是定义网络地址、区分网段、寻找子网内的MAC地址,以及对不同子网的数据包进行路由。TCP/IP体系传输层:传输层(TransportLayer)负责向两个主机中的进程之间提供通信服务。由于一个主机可同时运行多个进程,因此传输层具有复用和分用的功能。其中,复用是指多个应用层可同时使用传输层的服务,分用是指传输层将收到的信息分别交付给应用层中的对应进程。传输层主要使用以下两种协议。(1)传输控制协议(TransmissionControlProtocol,TCP):面向连接的,数据传输的单位是报文段(Segment),能够提供可靠的交付。(2)用户数据报协议(UserDatagramProtocol,UDP):无连接的,数据传输的单位是用户数据报,不保证提供可靠的交付,只能提供“尽最大努力交付”。TCP/IP体系传输层:数据链路层定义了主机的身份,即MAC地址,而网络层定义了IP地址,明确了主机所在的网段,有了这两个地址,数据包就可以从一个主机发送到另一个主机。实际上,数据包是从一个主机的某个应用程序发出,并由对方主机的应用程序接收的,而每台计算机都有可能同时运行着多个应用程序,所以当数据包被发送到主机上以后,是无法确定哪个应用程序要接收这个包的。因此,传输层引入了UDP来解决这个问题,为了给每个应用程序标识身份,UDP定义了端口,同一个主机上的每个应用程序都需要指定唯一的端口号,并规定网络中传输的数据包必须加上端口信息。这样,当数据包到达主机以后,可以根据端口号找到对应的应用程序。TCP/IP体系传输层:UDP定义的数据包叫作UDP数据包,其结构如图所示。TCP/IP体系UDP数据包的结构传输层:在TCP/IP体系结构中,UDP层位于网络层之上。应用程序访问UDP层并使用网络层传输数据报。IP数据报的数据部分即为UDP数据报。网络层的报头指明了源主机和目的主机地址,而UDP层的报头指明了主机上的源端口和目的端口。UDP传输的段由8字节的报头和有效载荷字段构成。UDP报头由4个域组成,其中每个域各占用2字节,包括源端口号、目的端口号、数据报长度、校验和。UDP整个数据包的长度最大可为65535字节。TCP/IP体系传输层:为了保证传输的可靠性,TCP在UDP的基础之上建立了3次对话的确认机制,也就是说,在正式收发数据前,必须和对方建立可靠的连接。由于建立过程较为复杂,这里给出以下示例。主机A:我想发数据给你,可以吗?主机B:可以,你什么时候发?主机A:我马上发,你接着!经过类似于上面的3次对话之后,主机A才会向主机B发送正式数据,而UDP是面向非连接的协议,它不与对方建立连接,而是直接发送数据包。TCP能够保证数据包在传输过程中不被丢失,因此相对于UDP,TCP实现过程复杂,消耗连接资源多,传输速率相对较慢。TCP/IP体系应用层:应用层(ApplicationLayer)是TCP/IP体系结构中的最高层,它直接为用户的应用进程提供服务。这里的进程指的就是正在运行的程序。理论上讲,有了以上四层的支持,数据已经可以从一台主机上的应用程序传输到另一台主机上的应用程序,但此时传输的数据是字节流,不能很好地被程序识别,操作性差。因此,应用层定义了各种各样的协议来规范数据格式,常见的有HTTP、FTP、SMTP等,HTTP是一种比较常用的应用层协议,主要用于B/S架构之间的数据通信。TCP/IP体系11.2物联网协议体系结构物联网协议体系结构物联网(IoT)协议体系结构如图所示。物联网协议体系结构物联网协议体系结构物联网中常见的网络拓扑结构是星形和网状拓扑结构。在星形拓扑结构中,每个物联网设备直接与一个中央集线器(网关)相连,该集线器会传输来自上游连接设备的数据。在网状拓扑结构中,设备与传输距离内的其他设备及网络中的结点相连,这些设备可充当简单的传感器结点,也可充当路由流量的传感器结点,或者充当网关结点。网状拓扑结构比星形拓扑结构的网络更为复杂,但优势在于结点支持路由功能,网络故障恢复能力更强,因为它们不依赖于单个中央网关。网络接口层:网络接口层主要包括蜂窝网、IEEE802.15.4、Wi-Fi和Ethernet(以太网)等,以及更专业的解决方案,如LPWAN、蓝牙低功耗、ZigBee和RFID等。物联网协议体系结构网络层:网络层主要负责识别和路由数据包。物联网在该层通常采用的技术包括IPv6、6LoWPAN和RPL等。(1)IPv6网络层设备由IP地址标识,如IPv4和IPv6。IPv4被限定为32位地址,总共提供约43亿个地址,因此对海量物联网设备接入有制约影响。IPv6采用128位地址,可提供2128个地址。除了以公共地址的方式进行管理外,针对未来部署于私有网络的物联网设备,私有网络可给物联网设备分配私有地址,此时物联网设备可通过网关与外部网络的相关设备进行通信。物联网协议体系结构网络层:(2)6LoWPANIPv6低功耗无线个域网(6LoWPAN)标准允许在IEEE802.15.4无线网络中使用IPv6。6LoWPAN可用于无线传感器网络,用于家庭自动化设备的Thread协议也在6LoWPAN协议上运行。(3)RPLRPL协议是距离矢量路由协议。RPL通过根结点构建有向无环图,网络中的每个结点都有一条到达根结点的路径。结点与根结点的相对距离通过层级(Rank)来表示,结点的层级沿着根结点到叶子结点的方向严格递增。RPL使用目标函数来计算结点到根结点的路径成本,从而选取最优路径。由于RPL协议将路由转发、处理和路由路径的优化分离开来,因此RPL针对不同的应用场景具有很高的灵活性。物联网协议体系结构应用层:HTTP和HTTPS在互联网应用中随处可见,在物联网中也是如此,物联网中广泛部署了RESTfulHTTP和HTTPS接口。MQTT、AMQP和XMPP等消息协议常用于物联网应用中,而CoAP(ConstrainedApplicationProtocol,受限应用协议)是一种轻量级HTTP,也常与基于UDP的6LoWPAN结合使用。物联网协议体系结构11.3CoAP协议CoAP协议概述传统的HTTP过于复杂,对终端资源要求较高。IETF应用领域工作组之一的受限RESTful环境(ConstrainedRestfulEnvironments,CoRE)小组希望针对资源受限的结点和网络,实现基于REST架构的一种合理的通用Web协议,其主要设计目标是满足受限环境的特殊需求,以便很好地适用于M2M应用。目前,国际上研究CoAP的组织除了IETF外,还有IEEE、ZigBee等。CoAP在应用终端间提供请求/响应的交互模式,支持内置的资源发现等。CoAP类似于HTTP,但不是简单地对HTTP进行压缩,而是重新实现了一个类似HTTP的REST子集,以适应受限环境。CoAP协议栈:CoAP在网络协议中的位置等同于HTTP,基于UDP传输,可明显降低开销,并可满足CoAP请求的多播传递,而多播对于M2M应用而言是最重要的需求之一。CoAP采用的是双层结构,消息(Messages)层处理结点间的信息交换,同时提供对多播和拥塞控制的支持;请求/响应(Requests/Responses)层传输对资源进行操作的请求和相应信息。但是CoAP实际上是单一的协议,消息传输和响应只是CoAP包头的特征。CoAP协议CoAP协议栈:CoAP栈结构如图所示。CoAP协议CoAP栈结构CoAP工作机制:CoAP的消息格式如图所示。CoAP消息的消息头后面通常会携带Option字段,之后就是消息的Payload。请求和响应消息都采用了这种消息结构。CoAP协议CoAP消息格式CoAP请求/响应:CoAP可靠消息传输和不可靠消息传输的示例流程如图所示,其中,CON表示有确认消息;NON表示无确认消息;ACK表示确认消息。CON消息要求接收方发送ACK消息以进行确认,而NON消息不要求接收方进行确认。图中方括号内的信息表示消息的ID,即消息序号。CoAP协议可靠消息传输的示例流程不可靠消息传输的示例流程CoAP业务发现:业务发现是指客户端主动发现服务器和服务器所提供的服务。如果一个客户端知道了一个指向服务器资源的URI地址,那么该客户端就知道了服务器的地址,即发现了这个服务器。此

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论