Comunicación en Red: Puertos, TCP, UDP y Conexiones

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,88 KB

Tipos de Puertos en Redes de Computadoras

Puertos Registrados

Los puertos registrados (números del 1024 al 49151) se asignan a procesos de usuario y aplicaciones. Estos procesos son principalmente aplicaciones individuales que un usuario ha optado por instalar, en lugar de las aplicaciones comunes que recibirían un puerto bien conocido.

  • Puerto 1812: Protocolo de autenticación RADIUS - Protocolo UDP
  • Puerto 1863: MSN Messenger - Protocolo TCP
  • Puerto 2000: SCCP - Protocolo UDP
  • Puerto 5004: Protocolo de transporte en tiempo real (RTP) - Protocolo UDP
  • Puerto 5060: Protocolo de inicio de sesión (SIP) - Protocolo UDP
  • Puerto 8008: HTTP alternativo - Protocolo TCP
  • Puerto 8080: HTTP alternativo - Protocolo TCP

Puertos Dinámicos o Privados

Los puertos dinámicos o privados (números del 49152 al 65535), también conocidos como puertos efímeros, se asignan normalmente de forma dinámica a las aplicaciones cliente al iniciar una conexión.

Uso de TCP y UDP

Algunas aplicaciones pueden utilizar tanto TCP como UDP. Por ejemplo:

  • Puerto 53: Aplicación DNS - Puerto común TCP/UDP conocido
  • Puerto 161: Aplicación SNMP - Puerto común TCP/UDP conocido
  • Puerto 531: Aplicación AOL, Instant Messenger, IRC - Protocolo TCP/UDP conocido
  • Puerto 1433: Aplicación MS SQL - Puerto común TCP/UDP registrado
  • Puerto 2948: Aplicación WAP - Puerto común TCP/UDP registrado

Comando Netstat para Monitorear Conexiones de Red

A veces es necesario saber cuáles son las conexiones TCP activas que están abiertas o ejecutándose en un host de red. El comando netstat es una importante utilidad de red que puede utilizarse para verificar dichas conexiones. Netstat muestra el protocolo en uso, la dirección local y el número de puerto, la dirección de destino y el número de puerto, y el estado de la conexión.

Las conexiones TCP inexplicadas pueden indicar que algo o alguien está conectado al host local, lo que es una importante amenaza de seguridad. Además, las conexiones TCP innecesarias pueden consumir valiosos recursos del sistema, reduciendo así el rendimiento del host.

Segmentación y Reensamblaje de Datos en Redes

Un segmento UDP se denomina datagrama. Un segmento TCP se denomina segmento. Una cabecera UDP proporciona el origen y el destino. Una cabecera TCP proporciona el origen y el destino, la secuenciación, los acuses de recibo y el control de flujo. En el host de destino, este proceso se invierte hasta que los datos pueden ascender hasta la aplicación.

Algunas aplicaciones transmiten grandes cantidades de datos; en algunos casos, varios gigabytes. Resultaría poco práctico enviar todos estos datos en una sola gran sección. No puede transmitirse ningún otro tráfico de red mientras se envían estos datos. Una gran sección de datos puede tardar minutos y hasta horas en enviarse. Además, si hubiera algún error, el archivo de datos completo se perdería o tendría que ser reenviado. Los dispositivos de red no cuentan con buffers de memoria lo suficientemente grandes como para almacenar esa cantidad de datos durante la transmisión o recepción. El límite varía en función de la tecnología de la red y del medio físico específico que se utiliza.

Dividir los datos de aplicación en secciones garantiza que los datos se transmitan dentro de los límites del medio y que los datos de distintas aplicaciones puedan ser multiplexados en el medio. TCP y UDP gestionan la segmentación de forma distinta.

En TCP, la cabecera de cada segmento contiene un número de secuencia. Este número de secuencia permite a las funciones de capa de transporte del host de destino reensamblar los segmentos en el orden en que se transmitieron.

Aunque los servicios que utilizan UDP también rastrean las conversaciones entre las aplicaciones, no se preocupan del orden en el que se transmite la información ni de mantener una conexión. La cabecera UDP no incluye un número de secuencia. UDP es un diseño sencillo y genera menos sobrecarga que TCP, lo que da lugar a una transferencia de datos más rápida.

La información puede llegar en un orden diferente al de transmisión porque los distintos paquetes pueden tomar rutas diferentes a través de la red. Una aplicación que utiliza UDP debe tolerar el hecho de que los datos no lleguen en el orden en el que se enviaron.

TCP: Comunicación con Fiabilidad

A veces se alude a TCP como protocolo orientado a la conexión, un protocolo que garantiza una entrega de datos fiable y ordenada del emisor al receptor.

Cómo Conseguir Conversaciones Fiables

La distinción clave entre TCP y UDP es la fiabilidad. La fiabilidad de la comunicación TCP se lleva a cabo utilizando sesiones orientadas a la conexión. Antes de que un host que utiliza TCP envíe datos a otro host, la capa de transporte inicia un proceso para crear una conexión con el destino. Esta conexión permite el rastreo de una sesión o stream de comunicación entre los hosts. Este proceso asegura que cada host tenga conocimiento de la comunicación y se prepare. Una conversación TCP completa requiere el establecimiento de una sesión entre los hosts en ambas direcciones.

Luego de establecida la sesión, el destino envía acuses de recibo al origen por los segmentos que recibe. Estos acuses de recibo forman la base de la confiabilidad dentro de la sesión TCP. Cuando el origen recibe un acuse de recibo, reconoce que los datos se han entregado con éxito y puede dejar de rastrearlos. Si el origen no recibe el acuse de recibo dentro de un tiempo predeterminado, retransmite esos datos al destino.

Parte de la carga adicional que genera el uso de TCP es el tráfico de red generado por los acuses de recibo y las retransmisiones. El establecimiento de las sesiones genera cargas en forma de segmentos adicionales intercambiados.

También existen cargas adicionales en los hosts individuales, generadas por la necesidad de mantener un seguimiento de los segmentos que esperan acuse de recibo y por el proceso de retransmisión.

Esta fiabilidad se logra contando con campos en el segmento TCP, cada uno con una función específica.

Procesos de Servidor TCP

Cada proceso de aplicación que se ejecuta en el servidor es configurado por el administrador del sistema para utilizar un número de puerto, de forma predeterminada o manual. Un servidor individual no puede tener dos servicios asignados al mismo número de puerto dentro de los mismos servicios de la capa de transporte. Un host que ejecuta una aplicación de servidor web y una de transferencia de archivos no puede configurar ambas para utilizar el mismo puerto (por ejemplo, el puerto TCP 8080).

Cuando una aplicación de servidor activa se asigna a un puerto específico, este puerto se considera "abierto" para el servidor. Esto significa que la capa de transporte acepta y procesa segmentos direccionados a ese puerto. Toda solicitud entrante de un cliente direccionada al socket correcto es aceptada y los datos se envían a la aplicación del servidor. Pueden existir varios puertos simultáneos abiertos en un servidor, uno para cada aplicación de servidor activa.

Una forma de mejorar la seguridad en un servidor es restringir el acceso al servidor a sólo aquellos puertos asociados con los servicios y las aplicaciones que deben ser accesibles a los solicitantes autorizados.

Establecimiento y Finalización de una Conexión TCP

Cuando dos hosts se comunican utilizando TCP, se establece una conexión antes de que se intercambien datos. Una vez completada la comunicación, las sesiones se cierran y la conexión finaliza. Los mecanismos de conexión y sesión habilitan la función de fiabilidad de TCP.

Entradas relacionadas: