Re: [mqtt] MQTT 3.1.1 partial connect packets over TCP

From
Andy Stanford-Clark <>
Date
2017-05-17T12:26:59+00:00
ID
Thread
Re: [mqtt] MQTT 3.1.1 partial connect packets over TCP
Hi Alex

The fact that it's in the variable header
doesn't make it optional... the 'MQTT' "eye catcher" is there
for exactly that purpose of differentiating protocols in a multi-protocol
server (and for helping a server know that the client that's connected
is not talking MQTT).

So if a client library doesn't send
all the elements that are specified in the Variable Header section of the
spec, then it's malformed... 

Maybe there should be some more "MUST"s
in the spec??

Andy

Andy Stanford-Clark

Distinguished Engineer, Internet of Things

Master Inventor, Member IBM Academy of Technology, Fellow BCS

Honorary Professor University of East Anglia, Visiting Professor University
of Newcastle, Adjunct Professor University of Southampton.

Tel: +44 (0)7801 787096 [internal: 37 277624]   twitter: @andysc

From:      
 "Kritikos, Alex"
<>

To:      
 ""
<>

Date:      
 17/05/2017 11:52

Subject:    
   [mqtt] MQTT
3.1.1 partial connect packets over TCP

Sent by:    
   <>

Hello everyone,

 

Apologies if this has been answered
before but I could not find a definitive answer so far. 

When using a TCP transport, is
a client library sending a partial connect packet (2 byte fixed header
only) while connecting to an MQTT broker conforming to the specification?

 

I understand that it may not be
a problem for an MQTT only broker but what about multi protocol brokers,
packet inspectors, load balancers? The specification only has a non normative
comment on line 395:

 

Packet inspectors, such as firewalls,
could use the Protocol Name to identify MQTT traffic. 

 

 

In the above case though, the protocol
name is not sent as it resides in the variable header of the packet.

 

Any assistance would be greatly
appreciated.

 

Thanks,

 

Alex Kritikos

 

This communication
contains information which is confidential and may also be privileged.
It is for the exclusive use of the intended recipient(s). If you are not
the intended recipient(s), please note that any distribution, copying,
or use of this communication or the information in it, is strictly prohibited.
If you have received this communication in error please notify us by e-mail
and then delete the e-mail and any copies of it.

Software AG (UK) Limited
Registered in England & Wales 1310740 - http://www.softwareag.com/uk

Unless stated otherwise above:

IBM United Kingdom Limited - Registered in England and Wales with number
741598. 

Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU