Skip to content


TCP Multiplexing

Multiplexing is the process of combining two or more data streams into a single connection. TCP provides multiplexing facilities by using source and destination port numbers. These port numbers allow TCP to set up a number of virtual connections over a physical connnection and multiplex the data stream through that connection.

Typically, a transmitting host will attempt to connect to a well-known port number at the destination host. A few examples of 'well known ports' of protocols that ride on top of TCP are:

  25 - Simple Mail Transport Protocol (SMTP)
  21 - File Transfer Protocol
  22 - Secure Shell
  23 - Telnet
  80 - HTTP
443 - HTTPS

The transmitting station will use a source port that is some arbitrary number above 1023. Each source and destination port pairing identifies a separate virtual connection, allowing multiple connections to share one physical network connection.

Practical Example

  1. Launch your web browser
  2. Type in a web page address
  3. The browser opens a connection to download the web page at that address.
  4. The browser opens a second connection for an image in that web page.
  5. The browser opens a third connection for the external style sheet for that page.
  6. Each of the three connections uses a different set of virtual ports.
  7. The web page, the image and the stylesheet all download simultaneously.
  8. The page is rendered by your browser.