Numerosos programas TCP/IP podem ser executados simultaneamente na Internet (pode, por exemplo, abrir vários navegadores simultaneamente ou navegar em páginas HTML tdescarregando ao mesmo tempo um ficheiro por FTP). Cada um destes programas trabalha com um protocolo, contudo o computador deve poder distinguir as diferentes fontes de dados.
Assim, para facilitar este processo, cada uma destas aplicações recebe um endereço único na máquina, codificada em 16 bits : uma porta (a combinação endereço IP + porta é então um endereço único no mundo, chamado socket).
O endereço IP serve então para identificar de maneira única um computador na rede enquanto o número de porta indica a aplicação à qual os dados se destinam. Desta maneira, quando o computador recebe informações destinadas a uma porta, os dados são enviados para a aplicação correspondente. Se se tratar de um pedido destinado à aplicação, esta chama-se aplicação servidor. Se se tratar de uma resposta, fala-se então de aplicação cliente.
O processo que consiste em permitir a circulação, numa ligação, de informações que provêm de diversas aplicações chama-se multiplexagem. Da mesma maneira, o facto de conseguir pôr em paralelo (e por conseguinte repartir nas diversas aplicações) o fluxo de dados chama-se desmultiplexagem.

Estas operações são realizadas graças à porta, quer dizer, um número associado a um tipo de aplicação que, combinado com um endereço IP, permite determinar de maneira única uma aplicação que funciona numa dada máquina.
Existem milhares de portas (estas são codificadas em 16 bits, há por conseguinte, 65536 possibilidades), é por isso que uma atribuição standard foi criada pelo IANA (Internet Assigned Numbers Authority), para ajudar à configuração das redes.
Eis algumas das portas reconhecidas mais usadas:
| Porta | Serviço ou Aplicação |
|---|---|
| 21 | FTP |
| 23 | Telnet |
| 25 | SMTP |
| 53 | Domain Name System |
| 63 | Whois |
| 70 | Gopher |
| 79 | Finger |
| 80 | HTTP |
| 110 | POP3 |
| 119 | NNTP |
Assim, um servidor (um computador que contactamos que propõe serviços como FTP, Telnet, ...) possui números de portas fixos aos quais o administrador rede associa serviços. Assim, as portas de um servidor estão compreendidas geralmente entre 0 e 1023 (intervalo de valores associados a serviços conhecidos).
Do lado do cliente, a porta é escolhida aleatoriamente entre as disponíveis pelo sistema de exploração. Assim, as portas do cliente nunca serão compreendidas entre 0 e 1023, porque este intervalo de valores representa as portas conhecidas.