快捷搜索:  汽车  科技

物联网的架构的四层模型(物联网应用层协议介绍)

物联网的架构的四层模型(物联网应用层协议介绍)2.2 网络架构XMPP协议模型如下,是基于TCP/IP的应用层协议。XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。2.XMPP技术简介2.1 XMPP协议栈

物联网应用层协议主要有CoAP MQTT XMPP HTTP等,本文我们再来介绍下XMPP协议。

物联网的架构的四层模型(物联网应用层协议介绍)(1)

1.什么是XMPP?

XMPP(Extensible Messageing and Presence Protocol:可扩展消息与存在协议)是目前主流的四种IM(IM:instant messaging 即时消息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。

XMPP是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测。XMPP允许因特网用户向因特网上的其他任何人发送即时消息,即使其操作系统和浏览器不同。

XMPP的前身是Jabber,一个开源形式组织产生的网络即时通信协议。XMPP目前被IETF国际标准组织完成了标准化工作。

2.XMPP技术简介

2.1 XMPP协议栈

XMPP协议模型如下,是基于TCP/IP的应用层协议。

2.2 网络架构

XMPP定义了3个角色客户端(Client)、服务器(server)、网关(Gateway)。通信能够在这三者的任意两个之间双向发生。

  • 服务器同时承担了客户端信息记录、连接管理和信息的路由功能 。

  • 网关承担着与异构即时通信系统的 互联互通,异构系统可以包括SMS (短信),MSN,ICQ等。

  • 客户端利用xmpp(基于TCP/IP)访 问server,传输的是XML。

物联网的架构的四层模型(物联网应用层协议介绍)(2)

基本的网络形式是单客户端通过TCP/IP连 接到单服务器,然后在之上传输 XML。

2.3 工作原理

  • 所有从一个client到另一个client的消息和数据都要通过xmpp server

  • client连接到server

  • server利用本地目录系统的证书对其认证

  • client制定目标地址,让server告知目标状态

  • server查找,连接并进行相互认证

  • client间进行交互

3.XMPP协议特点

  • XMPP 协议是公开的,由JSF开源社区组织开发。XMPP 协议并不属于任何的机构和个人,而是属于整个社区,这一点从根本上保证了其开放性。

  • XMPP 协议具有良好的扩展性。在XMPP 中,即时消息和到场信息都是基于XML的结构化信息,这些信息以XML节(XML Stanza)的形式在通信实体间交换。XMPP 发挥了XML结构化数据的通用传输层的作用,它将出席和上下文敏感信息嵌入到XML结构化数据中,从而使数据以极高的效率传送给最合适的资源。基于XML建立起来的应用具有良好的语义完整性和扩展性。

  • 分布式的网络架构。XMPP 协议都是基于C/S架构,但是XMPP协议本身并没有这样的限制。网络的架构和电子邮件十分相似,但没有结合任何特定的网络架构,适用范围非常广泛。

  • XMPP 具有很好的弹性。XMPP 除了可用在即时通信的应用程序,还能用在网络管理、内容供稿、协同工具、档案共享、游戏、远端系统监控等。

  • 安全性。XMPP在Client-to-Server通信,和Server-to-Server通信中都使用TLS (Transport Layer Security)协议作为通信通道的加密方法,保证通信的安全。任何XMPP服务器可以独立于公众XMPP网络(例如在企业内部网络中),而使用SASL及TLS等技术更加增强了通信的安全性。

  • 不内置支持二进制数据的传输。XMPP 的核心部分没有包含对二进制数据传输的支持,这使得XMPP的基本数据限定在文本文件范围内。XMPP 社区认为,XMPP应该用于传输meta信息,辅助其他应用进行协议握手,XMPP本身不应负担海量信息的传输。从当前流行的轻量化观点来看,XMPP把二进制数据传输的协议移入核心栈,是符合了最小核心的需求,但同时却为实际应用中XMPP客户端传输二进制数据增加了开发扩展协议的负担。

  • 缺乏旗舰应用。XMPP是开放的,任何个人和组织都可以使用XMPP。但同时产生的副作用是每个组织使用XMPP的目的不同,侧重点不同,导致XMPP所开发的应用实际上导致了各个厂商各自为政,比如Cisco将XMPP用于设备通信,游戏厂商用于游戏内的简易聊天。即时通讯中只有Google Gtalk和Fackbook Chat较出名,但都没有作为这两家企业的核心产品作为推广。XMPP 的应用中并没有旗舰应用。

建议:中小型IM程序建议使用XMQQ,标准已经考虑的很完善,上手及开发过程快;大型IM程序则一般使用私有协议,实现更加个性和强大的功能。

猜您喜欢: