Los números de puerto están comprendidos entre 0 y 65535. Los números del 1 al 1023 se asignan a los servicios y del 1024 al 65535 son puertos efímeros que se utilizan para identificar un origen. El puerto 0 lo asigna la Autoridad de Números Asignados de Internet (IANA) como "reservado".
¿Qué son los puertos y cómo funcionan?
En la presentación anterior, analizamos las direcciones IP y cómo los routers toman decisiones basadas en la parte del prefijo de la dirección para dirigir paquetes desde los hosts de origen a los de destino. Utilizamos una analogía del servicio postal para ver que el prefijo es como un código postal y el resto de la dirección IP es como una dirección postal.
Ahora bien, continuando con nuestra analogía postal, ¿qué pasa con el nombre del destinatario? Cuando ponemos la dirección en una carta, incluimos el nombre del destinatario, por ejemplo, Lucille Ball. Por supuesto, el servicio postal no tiene que mirar el nombre del destinatario, pero una vez que la carta llega a la dirección de destino, alguien tiene que mirar el nombre del destinatario y dar la carta a esa persona. Después de todo, varias personas pueden vivir en la misma dirección.
Lo mismo ocurre con los hosts de Internet. Los hosts ejecutan varios procesos o aplicaciones. Por ejemplo, un servidor puede ejecutar varios servicios, como web y correo electrónico. Y los dispositivos de usuario, como los portátiles, pueden ejecutar varios clientes, como navegadores web y lectores de correo electrónico. Entonces, cuando un paquete llega a un host, ¿cómo podemos determinar a qué proceso se debe entregar? Ese es el trabajo del TCP y el UDP.
El protocolo de control de transmisión (TCP) y el protocolo de datagrama de usuario (UDP):
- ¿Forman parte del conjunto de protocolos de Internet (IP), a veces denominado TCP/IP?
- Forman lo que se denomina capa de transporte y definen la comunicación proceso a proceso.
- El TCP y el UDP identifican los terminales de comunicación con números de puerto. Un número de puerto es análogo al nombre del destinatario en una carta.
Comprendamos el protocolo TCP con un poco más de detalle. El TCP se utiliza para enviar una secuencia de bytes del remitente al receptor. Garantiza una entrega fiable en orden del flujo de bytes. Tenga en cuenta que la IP por sí sola no garantiza la realización de pedidos ni la entrega. Los paquetes IP se pueden descartar y se descartan. El TCP proporciona una entrega en orden garantizada al dividir el flujo en segmentos y, a continuación, entregar cada segmento en un paquete IP con un número de secuencia. El receptor envía una confirmación de los segmentos recibidos de vuelta al remitente, que vuelve a transmitir los segmentos que no se han confirmado después de un tiempo de espera.
Pasemos al UDP. El UDP se utiliza para enviar un datagrama del remitente al receptor. Un datagrama se entrega en un paquete IP. Los datagramas UDP no proporcionan garantías de entrega. La única diferencia importante entre un datagrama UDP y un paquete IP son los números de puerto.
Los procesos se comunican a través de puertos identificados por números (de 16 bits). Los números de puerto de origen y destino se agregan a cada paquete IP. Los números de puerto se escriben a menudo añadiendo :<port-number> a la dirección IP.
Cada host mantiene una tabla que asigna los números de puerto a los procesos, por lo que cuando un paquete llega a un host, el host puede utilizar esta tabla para enrutar el paquete al proceso correcto. En este ejemplo, el puerto de destino 443 coincide con la segunda fila, por lo que el paquete se entregará al servidor web.
Entonces, ¿cómo determinamos los números de puerto? En el caso de los servidores, la respuesta es que los servicios escuchan en números de puerto conocidos (entre 1 y 1023). Por ejemplo:
- Web (HTTP) es el puerto 80,
- Web segura (HTTPS) es el puerto 443, y
- DNS es el puerto 43.
El cliente elige el número de puerto de destino correspondiente al servicio solicitado. En nuestro ejemplo, nos comunicamos con un servicio HTTPS, por lo que el número de puerto de destino es 443.
En cuanto al número de puerto de origen, el cliente inicia la comunicación desde lo que se denomina un puerto efímero (en el intervalo 1024-65535). Elige cualquier número de puerto de ese intervalo que no esté en uso actualmente. En este ejemplo, el cliente eligió el número de puerto 12627, de modo que es el número de puerto de origen.
Cuando el servidor responde, simplemente gira el origen y el destino.
Pero, ¿cómo determinamos esas direcciones IP? La respuesta es un servicio de nombres, ese será el tema de la próxima presentación.
Pero antes de terminar con el tema de la dirección, resumiremos repasando la analogía del servicio postal. El número de puerto es como el nombre del destinatario. De la misma manera que solo los residentes tienen que mirar el nombre del destinatario, solo el host tiene que mirar el número de puerto. Al mirar la dirección IP, la dividimos en un prefijo que es como el código postal, y el resto de la dirección IP que es como la dirección de la calle. En nuestro ejemplo, así como solo la oficina postal 90210 tiene que mirar la dirección de la calle, solo los routers de la red MIT tienen que mirar la dirección IP completa. Y al igual que fuera de 90210 solo se necesita el código postal para dirigir la carta, fuera del MIT, solo se necesita el prefijo para enrutar el paquete.
Recapitulación: Los mensajes de la aplicación, por ejemplo, las solicitudes y respuestas web, se incluyen en paquetes IP. A menudo están cifrados. Los paquetes IP se dirigen con direcciones IP de origen y destino y números de puerto.
Se utiliza una dirección de protocolo de Internet o dirección IP para entregar datos a través de las conexiones de red. Esta dirección consta de una cadena de números que actúan como un identificador único. Los números de puerto son un número entero sin signo de 16 bits que se añade a esta cadena, separados por dos puntos, por ejemplo, 17.253.207.54: 443. Este número añadido se denomina "número de puerto" y se utiliza para dirigir el tráfico de Internet cuando llega a un servidor. El protocolo de control de transmisión (TCP) y el protocolo de datagrama de usuario (UDP) se utilizan para enrutar un paquete de datos al proceso correcto. Hay numerosos números de puerto, y son una parte esencial de cómo funciona Internet.
¿Cómo funcionan los puertos?
Los puertos informáticos han existido desde los albores de la informática. La Red de Agencias de Proyectos de Investigación Avanzados (ARPANET) originó el concepto de números de puerto.
Los puertos se utilizan para identificar un terminal de conexión y dirigir datos a un servicio. Hay puertos virtuales y físicos: Un puerto USB es un ejemplo de un puerto físico y, a menudo, el que viene a la mente cuando se piensa en puertos de ordenador. Sin embargo, los puertos virtuales son mucho más comunes y aquí es donde los puertos entran en nuestra historia de cómo funciona Internet. Los puertos forman parte de la Capa 4, la capa de transporte, del modelo OSI de Internet.
Para explicar cómo funcionan los puertos, necesitamos volver a la analogía de una carta dirigida a "Lucille Ball, 1000 Roxbury Drive, Beverly Hills, CA 90210", en nuestro post sobre direcciones IP, esta analogía ayuda a explicar cómo en la dirección virtual equivalente a la carta, una dirección IP enruta la carta al destino. En la analogía postal, una vez que una carta llega a la dirección final, el nombre de la carta identifica específicamente a quién va dirigida la carta; a este respecto, un puerto es el equivalente del nombre Lucille Ball.
Hay muchos puertos virtuales, con números de puerto que van del 0 al 65535. Los protocolos de Internet TCP y UDP deciden a qué proceso se envía el paquete de datos, esto se basa en un esquema servidor-cliente, como se ve en nuestras otras páginas sobre HTTP (Protocolo de transferencia de hipertexto) y HTTPS.
¿Qué es un host?
Un host, como un servidor, suele ejecutar varios procesos o aplicaciones, como la web y el correo electrónico. Cada host mantiene una tabla que asigna los números de puerto a los procesos; cuando un paquete de datos llega a un host, el host utiliza esta tabla para enrutar el paquete al proceso o servicio correcto. Los dispositivos de terminal, como los portátiles, suelen ejecutar varios clientes, como navegadores web y lectores de correo electrónico. TCP y UDP son los protocolos que deciden a dónde enviar un paquete de datos una vez que llega a su dirección de destino. Sin embargo, mientras que ambos dirigen el tráfico, tienen características diferentes.
¿Qué es el TCP?
El TCP, o Protocolo de control de transmisión, utiliza una secuencia de bytes para enviar datos del remitente al receptor. La característica principal del TCP es su capacidad para garantizar una entrega fiable en orden del flujo de bytes. Esto es necesario porque los paquetes IP pueden descartarse en ruta. El TCP proporciona una entrega en orden garantizada al dividir el flujo en segmentos y, a continuación, entregar cada segmento en un paquete IP con un número de secuencia; el destinatario confirma la recepción de una secuencia de paquetes IP. Si una secuencia de paquetes IP no se confirma como recibida, el remitente retransmite los segmentos no recibidos después de un tiempo de espera.
¿Qué es el UDP?
La principal diferencia entre UDP y TCP es que la entrega no está garantizada. El UDP se utiliza para enviar un datagrama del remitente al receptor. Un datagrama se entrega en un paquete IP. Los números de puerto son la única diferencia significativa entre un datagrama UDP y un paquete IP. Sin embargo, debido a esta falta de garantía de entrega, los puertos TCP son la elección para los servicios que requieren una transmisión de datos segura y fiable, como correos electrónicos y sitios web.
Ejemplos de números de puerto para servicios
Hay 65 535 números de puerto posibles. Los servicios escuchan en números de puerto conocidos en el rango 1–1023. Algunos de los números de puerto de servicio más utilizados son:
- Puerto 80: Web (HTTP)
- Puerto 443: Web segura (HTTPS)
- Puerto 43: Sistema de nombres de dominio (DNS)
- Puerto 3389: Protocolo de escritorio remoto (RDP)
- Puerto 21: Protocolo de transferencia de archivos (FTP)
- Puerto 22: Comunicaciones seguras (SSH), un protocolo de túnel utilizado para crear conexiones de red seguras
En nuestro ejemplo de dirección IP, 17.253.207.54: 443, la comunicación se realiza a través de HTTPS, es decir, el puerto 443.
Números de puerto de origen
Los números de puerto de origen utilizan un "puerto efímero" en el intervalo 1024–65535. Se puede elegir cualquier número de puerto de ese intervalo que no esté en uso actualmente.
La Autoridad de Números Asignados de Internet (IANA) mantiene una lista de números de puerto. El puerto 0 está asignado como reservado por IANA y no está disponible para su uso.
Akamai, puertos y prevención de ataques online
Los ciberataques basados en la nube son omnipresentes. Akamai se dedica a erradicar los ataques web procedentes de Internet que utilizan los hackers y los ciberdelincuentes. La pérdida de paquetes IP puede deberse a ataques distribuidos de denegación de servicio (DDoS) contra un servidor web. Los puertos desprotegidos o los puertos que permiten aprovechar vulnerabilidades son vectores de ataque bien conocidos. Nuestra infraestructura dedicada proporciona prevención DDoS para detener los ataques en la nube antes de que lleguen a las aplicaciones, los centros de datos y las infraestructuras de Internet: públicas o privadas. La arquitectura exclusiva de Akamai segmenta los recursos de DNS en nubes dedicadas que no se superponen. Akamai cuenta con más de 225 especialistas del SOCC de primera línea; nuestra solución totalmente gestionada filtra el tráfico de ataque y detiene incluso los ataques más importantes, lo que libera a sus defensores para que se centren en programas de seguridad de alta prioridad. Akamai protege a la empresa moderna de las vulnerabilidades introducidas por la nube y los equipos de trabajo dispersos a nivel geográfico.
Akamai y la ciberseguridad
La autoridad de Akamai en ciberseguridad se creó basándose en un profundo conocimiento del funcionamiento de protocolos como IP, HTTP, HTTPS y puertos. Además de la seguridad, Akamai optimiza el cloud computing con nuestro conjunto de soluciones de cloud computing; proporciona seguridad, escalabilidad y visibilidad, y es independiente del proveedor de servicios en la nube. Nuestro paquete de productos de cloud computing incluye la línea de productos Download Delivery que optimiza las descargas de archivos HTTP de gran tamaño de forma impecable, en todo momento y a escala global.
Preguntas frecuentes
Los puertos son virtuales o físicos y se utilizan para identificar dónde comienza y termina una red. A un puerto virtual se le asigna un número único de 16 bits que se utiliza para identificar un terminal de conexión y dirigir los datos a un servicio o proceso específico. Se utilizará un puerto para dirigir los diferentes tipos de tráfico a medida que entran en un dispositivo, por ejemplo, correos electrónicos y páginas web.
Los puertos utilizan dos tipos de protocolos: TCP (protocolo de control de transmisión) y UDP (protocolo de datagramas del usuario). El TCP ofrece un servicio más fiable, ya que utiliza la entrega en orden del flujo de bytes, dividiendo los paquetes en flujos; cualquier flujo cuya recepción no se confirme se vuelve a enviar.
Los atacantes pueden analizar los puertos y buscar puertos abiertos de los que se puedan aprovechar. Los firewalls bloquean o permiten el tráfico en función de las reglas de seguridad. Los hackers intentan aprovechar los puertos abiertos para distribuir tráfico malicioso. Los firewalls bloquean el tráfico a todos los puertos excepto a algunos servicios esenciales, como el puerto 25 para el correo electrónico, el 80 para el tráfico web HTTP y el 443 para el tráfico web HTTPS seguro. El puerto 3389 para el tráfico RDP es un vector de ataque bien conocido donde los hackers buscarán vulnerabilidades en RDP y las utilizarán para ataques de ransomware y otros ataques.
Un host, como un servidor, suele ejecutar varios procesos o aplicaciones, como la web y el correo electrónico. Cada host mantiene una tabla que asigna los números de puerto a los procesos; cuando un paquete de datos llega a un host, el host utiliza esta tabla para enrutar el paquete al proceso o servicio correcto. Los dispositivos de terminal, como los portátiles, suelen ejecutar varios clientes, como navegadores web y lectores de correo electrónico. TCP y UDP son los protocolos que deciden a dónde enviar un paquete de datos una vez que llega a su dirección de destino. Sin embargo, mientras que ambos dirigen el tráfico, tienen características diferentes.
El TCP, o Protocolo de control de transmisión, utiliza una secuencia de bytes para enviar datos del remitente al receptor. La característica principal del TCP es su capacidad para garantizar una entrega fiable en orden del flujo de bytes. Esto es necesario porque los paquetes IP pueden descartarse en ruta. El TCP proporciona una entrega en orden garantizada al dividir el flujo en segmentos y, a continuación, entregar cada segmento en un paquete IP con un número de secuencia; el destinatario confirma la recepción de una secuencia de paquetes IP. Si una secuencia de paquetes IP no se confirma como recibida, el remitente retransmite los segmentos no recibidos después de un tiempo de espera.
La principal diferencia entre UDP y TCP es que la entrega no está garantizada. El UDP se utiliza para enviar un datagrama del remitente al receptor. Un datagrama se entrega en un paquete IP. Los números de puerto son la única diferencia significativa entre un datagrama UDP y un paquete IP. Sin embargo, debido a esta falta de garantía de entrega, los puertos TCP son la elección para los servicios que requieren una transmisión de datos segura y fiable, como correos electrónicos y sitios web.
Por qué los clientes eligen Akamai
Akamai es la empresa de ciberseguridad y cloud computing que potencia y protege los negocios online. Nuestras soluciones de seguridad líderes en el mercado, nuestra inteligencia ante amenazas consolidada y nuestro equipo de operaciones globales proporcionan una defensa en profundidad para proteger los datos y las aplicaciones empresariales. Las soluciones integrales de cloud computing de Akamai garantizan el rendimiento y una buena relación calidad-precio en la plataforma más distribuida del mundo. Las grandes empresas confían en Akamai, ya que les ofrece una fiabilidad, una escalabilidad y una experiencia inigualables en el sector, idóneas para crecer con seguridad.