.
TCP permite que múltiplos programas de aplicação numa determinada máquina se comuniquem concorrentemente . TCP se encarrega de demultiplexar o tráfego TCP entrante entre os programas de aplicação.
TCP usa número de portas para identificar o último destino numa máquina. A cada porta é associado um número inteiro pequeno para identificá-lo.
TCP foi construído sobre a abstração de CONEXÃO, na qual os objetos a serem identificados são conexões de circuitos virtuais e não portas individuais. As conexões são identificadas por um par de "endpoints". Uma conexão consiste de um circuito virtual entre dois programas de aplicações, então pode-se assumir um programa de aplicação como a conexão entre os endpoints, mas isto não é certo, TCP define um endpoint como um par de inteiros (host,port), onde host é o endereço IP para um computador e Port é uma porta TCP nesse computador.
Exemplo: 128.10.2.3.25 especifica a porta TCP número 25 na máquina como o endereço IP 128.10.2.3.
Uma conexão está definida por dois endpoints, assim que se há uma conexão entre as máquinas 192.107.104.12 (na Universidade Nacional de Ingenieria, Nicaragua) e 143.54.2.99 (na Universidade Federal do Rio Grande do Sul, Brasil), a conexão deve ser definida pelos endpoints seguintes:
(192.107.104.12,1069) e (143.54.2.99,25).
Já que TCP identifica uma conexão por um par de endpoints, um número de porta pode ser compartilhado por múltiplas conexões na mesma máquina.