A nivel de capa de transporte la dirección usada se denomina puertos. Los dos protocolos usados en esta capa trabajan con puertos.
Un puerto es un número de 16 bits, por lo que existen 65536 puertos. Las aplicaciones utilizan estos puertos para recibir y transmitir mensajes.
Los números de puerto de las aplicaciones cliente son asignados dinámicamente y suelen ser superiores al 1024. Cuando una aplicación cliente quiere comunicarse con un servidor, busca un número de puerto libre y lo utiliza. En cambio, las aplicaciones servidoras utilizan unos números de puerto prefijados: son los llamados puertos well-known ("bien conocidos"). Puertos conocidos son 80 (http), 21 (ftp), 23 (telnet).
Socket
El número de puerto de la capa de Transporte y de la dirección IP de la capa de Red asignada al equipo identifican de manera exclusiva un proceso o programa en particular que se ejecuta en un dispositivo (es decir, un puerto TCP + la IP del equipo, identifican un programa en el equipo). Esta combinación se denomina Socket. Un par de sockets, que consiste en las direcciones IP y los números de puerto de origen y de destino, también es exclusivo e identifica la conversación entre dos equipos.
Conexiones | |
Socket 1 | Socket 2 |
111.111.111.111:11111 | 11.11.11.11:80 |
222.222.222.222:2222 | 11.11.11.11:80 |
222.222.222.222:2223 | 22.22.22.22:80 |
En este gráfico hay tres conexiones abierta entre dos PCs que están visitando dos Web. El PC1 tiene el navegador abierto visualizando la página web del servidor1. El PC2 tiene abierto un navegador (puerto 2222) visitando la web del servidor1 y otro navegador abierto (puerto 2223) visitando la web del servidor2. Cuando el PC2 recibe una respuesta web mira el puerto de destino y envía a ese navegador la respuesta.