In order for multiplexing over TCP to be useful, it must be better than opening another TCP connection. This document explains why it is better to use DGHMux than to open another TCP connection.
A good reason to use DGHMux is for better security. One way to do this is to use SSL/TLS to encrypt and authenticate servers and users. However it is only one connection, so if you want to have several connections to the server, the client could open another SSL/TLS connection and re-login. On the server side, this new connection must be matched with the existing connection so that they can share information. It does not have to be this difficult or wasteful. With DGHMux you can use the existing SSL/TLS connection and send multiple streams of data.
Most protocols never make another TCP connection to the client from the server, because there are clients that are behind a NAT router. A NAT router is not able to connect a server to a client so this prevents this type of connection. (There are some NAT routers that can make FTP connections from the server to the client, but only because the NAT router has intiment knowledge of the FTP protocol. If you are making your own protocol, NAT routers will not know how to handle your traffic.
Many may be aware that there are two types of FTP: Active and Passive. Active was the original FTP protocol. It made a connection from the server to the client to send a file. This worked fine for many years, but then IP addresses became scarce, and NAT routers began to appear. They modified the FTP protocol (to Passive) to make connections from the client to the server to transfer the file.
Multiplexing over TCP allows connections to and from the server that works with NAT routers, since the TCP connection are generally made from the client to the server.
An easy way to setup a firewall is to block all traffic except for a few ports. With some protocols, they use multiple port numbers. So an administrator must learn about the various protocol such as FTP. This makes it more difficult to setup and administer firewalls. With DGHMux you can design a protocol that uses one port number and make firewall administrators lives easier.