Often used in Industrial IoT for moving data from the field directly to a cloud service, MQTT does not traverse a DMZ very well because it cannot ensure data consistency across daisy-chained servers. Tunnelling solves that problem. The both firewalls closed scenario is typically used.