MQTT 5.0, QUIC and flow control

431 views
Skip to first unread message

mik...@dvide.com

unread,
Mar 26, 2017, 11:47:58 AM3/26/17
to MQTT
I have not carefully read the 5.0 spec, but it addresses several important points such as RPC, load balancing, and flow control, to mention a few.

I was wondering if anyone has considered MQTT over QUIC, and how MQTT flow control might interact with QUIC streams?


For those who are not familiar with QUIC, it is roughly TLS 1.3 + TCP over UDP with multiple ordered streams and more resilient N/ACK handling.

Each stream has its own window based flow control, and all streams respect the overall connections flow control.
moves somes core concepts out of its own framing and into QUIC. It is in this light I think it may be worthwhile considering how QUIC might interact with MQTT in the future.

A key aspect of the QUIC protocol is its ability to lose packets in one stream or more streams and still have speedy delivery over other streams during retransmission.

I do not intend to propose any specifics here, my aim is only to ask about status and possibly raise awareness. But for illustration some possible adaptions could be tighter integration with authentication, splitting subscriptions over multiple channels, maintaning control channels, and considering how response channel are defined for RPC - e.g. it could be a specific stream for all responses, or a stream id numerically tied to the publish channel, or it could be the same channel.

Another consideration, which I believe MQTT designers is already well aware of, is the use of MQTT in large message flow systems and the need for throttling. I am not involved in Akka actor streams, but I have similar concerns, and the following slide discuss some of the challenges. I believe MQTT and possible MQTT/QUIC is a good solution for integrating different systems, especialy because of security and per stream flow control.


Mikkel
Reply all
Reply to author
Forward
0 new messages