ssl - 是否可以通过 mqtt 通信只进行一次 3way 握手?
问题描述
我正在使用 mosquitto_pub 使用主题使用 TLS 发布数据。我正在使用 mosquitto_sub 从 mosquitto_pub 订阅主题。
每当我触发 mosquitto_pub 时,我注意到wireshark 每次都能检测到3 次握手。我现在的问题是,蚊子是否有可能只进行一次 3 次握手?只是为了尽量减少发送数据和接收数据到另一端的时间。
我的意思是在第一次触发 mosquitto_pub 时保持握手状态,然后在后续发布消息时,它只会发送 TLS 数据,而不是每次都一遍又一遍地进行 3 次握手。
解决方案
您所描述的是 SSL/TLS 会话恢复。
代理支持会话恢复,但不支持mosquitto
命令行工具。
这是因为他们需要在每次执行之间存储会话 ID 密钥。这看起来已经在这个mosquitto-dev 邮件列表线程中讨论过,但由于没有需求而没有实现。
如果代理支持,您可以通过将 Clean Session 标志设置为 false 来使用 Paho C 库的 TLS 会话恢复(我仍然认为 MQTT 会话和 TLS 会话的概念应该保持分开)。
推荐阅读
- python - 如何解决安装 Dlib 的错误?
- typescript - Typescript 在多个文件中断时扩展和实现一起使用
- python - 为什么我的限制不适用于 if 语句,因为当我明确告诉它不要让 NA 通过时它仍然打印 NA
- python - 将行转置为pyspark中的列
- apache-kafka-streams - 延迟 Kafka 处理器从源主题读取
- python - 如何降低循环大量次数的程序的时间复杂度?
- gradle - 从子项目运行 Gradle 根项目任务
- azure - 通过 Oracle12c 的消息未发送到 DLQ Azure ServiceBus 队列
- python - 在 Numpy Ndarray 中查找唯一三元组的计数
- velo - 如何在 Wix Corvid/Code IDE 中附加Child