MQTT建立连接
MQTT协议的两个主要组件是客户端和代理。
MQTT客户端可以是任何运行MQTT库并通过网络连接到MQTT代理的设备。
MQTT代理负责接收、过滤以及向已订阅的客户端发送消息,并处理客户端身份验证和授权。
专注于工业物联网行业数据采集,嵌入式Linux系统裁剪,5G智慧网关软件开发等
MQTT协议的两个主要组件是客户端和代理。
MQTT客户端可以是任何运行MQTT库并通过网络连接到MQTT代理的设备。
MQTT代理负责接收、过滤以及向已订阅的客户端发送消息,并处理客户端身份验证和授权。
发布/订阅(Pub/Sub)架构提供了一种灵活的、可伸缩的方式来构建能够处理许多连接的客户端的分布式系统。
MQTT基于发布/订阅架构,支持持久会话与服务质量QoS功能,实现了发布者与订阅者在空间、时间以及同步等方面的解耦。
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一个基于C/S架构的发布/订阅模式的消息传输协议。
目的是在带宽和连接有限的不可靠网络的环境下发送少量数据,设计思想是轻量、开放、简单并且易于实现。
这些特性使得MQTT非常适合在受限的环境的环境中使用,比如机器对机器(M2M)通信和物联网(IoT)。
“密码学家的工具箱”中一共包含了6种基本的密码技术。分别是对称密码、公钥密码、单向散列函数、消息认证码、数字签名以及伪随机数生成器。
比特币是一种虚拟货币,也叫密码学货币。
比特币可以脱离物理介质,仅通过互联网就可以流通。
SSL/TLS是使用最广泛的加密通信方法。
SSL/TLS中广泛运用了对称密码、消息认证码、公钥密码、数字签名、伪随机数生成器等密码技术。
SSL(Secure Socket Layer)与TLS(Transport Layer Security)是不同的,TLS相当于是SSL的后续版本。
SSL/TLS可以通过切换密码套件来使用强度更高的密码算法。
PGP | 说明 |
---|---|
时间 | 1990年 |
作者 | 菲利普·齐默曼 |
全称 | Pretty Good Privary |
用途 | 商业密码软件 |
支持平台 | Windows、Mac OS X、Linux |
版本 | 商用版、免费版 |
GnuPG | GNU Privacy Guard,遵循OpenGPG规范编写的密码软件。 |
PGP设计目的是在连国家都不可信的情况下仍然能够使用,因此并不关心有没有可信的认证机构,而是采用了“由用户自己来决定信任谁”的设计。
条目 | 说明 |
---|---|
库名 | paho.mqtt.c |
版本 | 1.3.12 |
github | https://github.com/eclipse/paho.mqtt.c.git |
问题 | 启用cleansession 和automaticReconnect 后,连接中断恢复之后无法收到之前订阅的主题的消息。 |
在密码技术中,随机数被用来生成密码。
随机数的性质分为三类:随机性、不可预测性和不可重现性。
线性同余法是很多库函数所采用的生成伪随机数的方法,但不可以用于密码技术。
用于密码技术的伪随机数生成器,需要使用单向散列函数和密码技术确保不可预测性。
主机和网关(路由器)的本质区别在于主机从不把数据报从一个接口转发到另一个接口,而网关(路由器)则要转发数据报。
当今大多数用户系统,IP层既可以配置为网关(路由器)的功能,也可以配置为主机的功能。
在Linux中,resolver(域名解析器)是一组进行域名转换函数组成的库。
具体来说,就是通过查询DNS(Domain Name Server)将域名转换为IP地址。
/etc/resolv.conf是域名解析器的配置文件。