Tienda internacional de EBRC Publisher UK - ¡Envíos a todo el mundo!



¿Escuchan realmente los puertos? ¿Qué pasa realmente cuando se abren y cierran los puertos? De puertos, sockets, y TCP

Publicado por Eugenia Bahit en

En ciencias informáticas es habitual escuchar frases como puerto a la escucha, abrir un puerto o cerrar un puerto. Pero ¿tienes idea qué son realmente los puertos y qué significan realmente estas frases? En este artículo te lo cuento.

Un puerto es un proceso1 a la espera de ser invocado, el cual se activa al recibir una solicitud. Por ello, la frase puerto a la escucha es una metáfora que se refiere a un proceso en memoria que se reactivará al recibir una orden de ejecución.

Las frases abrir el puerto n y cerrar el puerto n, son también metáforas. Cuando se habla de abrir un puerto en realidad se hace referencia a cargar el proceso al que se conoce como puerto n, en la memoria, y al hablar de cerrar el puerto, de eliminar dicho proceso de la memoria.

Y ¿en qué se utilizan los puertos y por qué llamarlos puertos?

Para responder a esta pregunta, mejor comenzar hablando del protocolo TCP.

TCP es un protocolo que permite el envío de paquetes de datos fiables a través de diferentes configuraciones de red. Para lograr esto, el servicio TCP requiere entidades —a ambos extremos, tanto del emisor como del receptor— que acepten el flujo de datos, lo procesen localmente, lo dividan en pequeñas partes, y las envíen como datagramas separados, a fin de cumplir con las especificaciones del protocolo TCP/IP. Estas entidades TCP, se implementan a modo de servicios en los sistemas informáticos.

TCP requiere servicios que implementen las reglas establecidas por el protocolo TCP/IP (tanto en el ordenador que emite el mensaje como en el ordenador que lo recibe).

El protocolo TCP especifica reglas, mientras que el servicio TCP, como parte de un programa informático, las aplica.

El servicio de transporte TCP, a ambos extremos (receptor y emisor), requiere de la creación de nodos (endpoint) denominados sockets. Un socket es una interfaz a través de la cual se reciben las solicitudes TCP y se transfieren los datos.

La interfaz se compone por un número de socket (dirección IP del host) y un número local de 16 bits, denominado puerto. El puerto es el punto de acceso al servicio de transporte TCP.

Los puertos por debajo del puerto 256 se encuentran reservados a servicios estándar definidos por la Internet Assigned Numbers Authority (IANA). Algunos de ellos se muestran en la siguiente tabla:

Puerto

Nombre

Servicio

21

ftp

Servicio de transferencia de archivos FTP

22

ssh

Secure Shell (SSH)

23

telnet

Servicio de Telnet

25

smtp

Simple Mail Transfer Protocol (SMTP)

80

http

Protocolo de transferencia de hipertexto (HTTP) para servicios World Wide Web (www)

88

kerberos

Servicio de autenticación en red Kerberos

110

pop3

Versión 3 del protocolo post office (POP3)

115

sftp

Servicio seguro de transferencia de archivos (SFTP)

143

imap

Servicio del protocolo de acceso a mensajes de internet (IMAP)

194

irc

Internet Relay Chat (IRC)

443

https

Protocolo seguro de transferencia de hipertexto (HTTPS) para servicios World Wide Web (www)

873

rsync

Servicio de sincronización remota de archivos rsync

993

imaps

Servicio del protocolo de acceso seguro a mensajes de internet (IMAPS)

995

pop3s

Versión 3 del protocolo seguro post office (POP3S)

 

Un punto de acceso es un proceso a la espera que se activa cuando recibe una solicitud de transferencia de datos vía TCP. Se trata de un proceso que se activa al ser invocado por un proceso remoto.

Todas las conexiones TCP son ambos sentidos, es decir, desde y hacia ambos nodos (receptor y emisor), y por consiguiente, requieren indefectiblemente de la existencia de ambos nodos. Los datos que se transportan en TCP son flujos de bytes. Al tratarse de flujo de bytes, lo que se pretende es que los emisores no sobrepasen la capacidad de recepción de bytes de los receptores.

Podrás encontrar más sobre puertos y redes informáticas, en el libro «Fundamentos de Ciencias Informáticas para el abordaje de la programación» disponible en PDF, en papel, o ambos.

 

 

1 Un proceso es un programa en memoria, es decir, un programa en ejecución.

1 comentario


  • Alfredo Álvarez en

    Muy buen artículo! Muchas gracias Eugenia!
    Entonces los programas como nmap qué reportan sobre los puertos. ¿Te dicen si los programas están en la memoria?

    (Comentario ID #129594261751)

Dejar un comentario