Virtual circuit multiplexing or VC-MUX is one of the two (the other being LLC encapsulation) mechanisms for identifying the protocol carried in ATM Adaptation Layer 5 (AAL5) frames specified by RFC 2684, Multiprotocol Encapsulation over ATM.
With virtual circuit multiplexing, the communicating hosts agree to send only one packets belonging to a single high-level protocol on any given ATM virtual circuit, and multiple virtual circuits may need to be set up. It has the advantage of not requiring additional protocol-identifying information in a packet, which minimizes the overhead. For example, if the hosts agree to transfer IP, a sender can pass each datagram directly to AAL5 to transfer, nothing needs to be sent besides the datagram and the AAL5 trailer. This reduction in overhead tends to further improve efficiency (e.g., an IPv4 datagram containing a TCP ACK-only packet with neither IP nor TCP options exactly fits into a single ATM cell). The chief disadvantage of such a scheme lies in duplication of virtual circuits: a host must create a separate virtual circuit for each high-level protocol if more than one protocol is used. Because most carriers charge for each virtual circuit, customers try to avoid using multiple circuits because it adds unnecessary cost.
It is commonly used in conjunction with PPPoA which is used in various xDSL implementations.