An apparatus for sharing a transmission control protocol (TCP) port by a plurality of applications, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, causes the apparatus to carry out the steps of:
- receiving, by a transmission controller from a client, a first TCP packet that includes an indication of a new TCP connection for a TCP port;
- determining, by the transmission controller, an origination of the first TCP packet;
- identifying, by the transmission controller, a TCP sequence number range associated with the determined origination, wherein the TCP sequence number range comprises one of a plurality of TCP sequence number ranges;
- selecting, by the transmission controller, an initial sequence number (ISN) within the identified TCP sequence number range;
- and
- sending, by the transmission controller to the client, a second TCP packet that includes the selected ISN.