Introducción
En este tutorial discutiremos el concepto de puertos y cómo funcionan con direcciones IP. Si no ha leído nuestro artículo sobre direcciones IP y necesita un repaso, puede encontrar el artículo aquí. Si comprende los conceptos de direcciones IP, pasemos a los puertos TCP y UDP y cómo funcionan.
Los dispositivos y ordenadores conectados a Internet utilizan un protocolo llamado TCP / IP para comunicarse entre sí. Cuando una computadora en Nueva York quiere enviar un dato a una computadora en Inglaterra, debe conocer la dirección IP de destino a la que le gustaría enviar la información. Esa información se envía con mayor frecuencia a través de dos métodos, UDP y TCP.
Los dos caballos de batalla de Internet: UDP y TCP
UDP? ¿TCP? Sé que te estás confundiendo, pero te prometo que te explicaré esto en términos muy básicos para que puedas entender este concepto.
TCP significa Protocolo de Control de transmisión. Con este método, la computadora que envía los datos se conecta directamente a la computadora a la que está enviando los datos y permanece conectada durante la transferencia. Con este método, los dos ordenadores pueden garantizar que los datos han llegado de forma segura y correcta, y luego desconectan la conexión. Este método de transferencia de datos tiende a ser más rápido y confiable, pero pone una carga más alta en el equipo, ya que tiene que monitorear la conexión y los datos que lo atraviesan. Una comparación de la vida real con este método sería levantar el teléfono y llamar a un amigo. Tienen una conversación y cuando termina, ambos cuelgan, liberando la conexión.
UDP significa Protocolo de Datagramas de Usuario. Usando este método, la computadora que envía los datos empaqueta la información en un pequeño paquete agradable y la libera en la red con la esperanza de que llegue al lugar correcto. Lo que esto significa es que UDP no se conecta directamente a la computadora receptora como lo hace TCP, sino que envía los datos y confía en los dispositivos entre la computadora que envía y la computadora receptora para obtener los datos donde se supone que deben ir correctamente. Este método de transmisión no garantiza que los datos que envíe lleguen a su destino. Por otro lado, este método de transmisión tiene una sobrecarga muy baja y, por lo tanto, es muy popular para usar para servicios que no son tan importantes para trabajar en el primer intento. Una comparación que puede usar para este método es el antiguo Servicio Postal de los Estados Unidos. Usted coloca su correo en el buzón y espera que el Servicio Postal lo lleve a la ubicación adecuada. La mayoría de las veces lo hacen, pero a veces se pierde en el camino.
Ahora que entiende lo que son TCP y UDP, podemos comenzar a discutir los puertos TCP y UDP en detalle. Pasemos a la siguiente sección donde podemos describir mejor el concepto de puertos.
Puertos TCP y UDP
Como sabe, cada computadora o dispositivo en Internet debe tener un número único asignado llamado dirección IP. Esta dirección IP se utiliza para reconocer su computadora en particular entre los millones de otras computadoras conectadas a Internet. Cuando se envía información a través de Internet a su computadora, ¿cómo acepta su computadora esa información? Acepta esa información mediante el uso de puertos TCP o UDP.
Una manera fácil de entender los puertos es imaginar que su dirección IP es una caja de cable y los puertos son los diferentes canales en esa caja de cable. La compañía de cable sabe cómo enviar cable a su caja de cable en función de un número de serie único asociado con esa caja (dirección IP), y luego recibe los programas individuales en diferentes canales (Puertos).Los puertos
funcionan de la misma manera. Tiene una dirección IP, y luego muchos puertos en esa dirección IP. Cuando digo muchos, quiero decir muchos. Puede tener un total de 65.535 puertos TCP y otros 65.535 puertos UDP. Cuando un programa en su computadora envía o recibe datos a través de Internet, envía esos datos a una dirección ip y a un puerto específico en la computadora remota, y recibe los datos en un puerto generalmente aleatorio en su propia computadora. Si utiliza el protocolo TCP para enviar y recibir los datos, se conectará y se vinculará a un puerto TCP. Si utiliza el protocolo UDP para enviar y recibir datos, utilizará un puerto UDP. La Figura 1, a continuación, es una representación de una dirección IP dividida en sus muchos puertos TCP y UDP. Note that once an application binds itself to a particular port, that port can not be used by any other application. It is first come, first served.
<>
0 | 1 | 2 | 3 | 4 | 5 | .. | .. | .. | .. | .. | .. | .. | .. | 65531 | 65532 | 65533 | 65534 | 65535 |
Probablemente todo esto todavía te parezca confuso, y no hay nada de malo en eso, ya que es un concepto complicado de entender. Por lo tanto, les daré un ejemplo de cómo funciona esto en la vida real para que puedan tener una mejor comprensión. Usaremos servidores web en nuestro ejemplo, ya que todos saben que un servidor web es un equipo que ejecuta una aplicación que permite que otros equipos se conecten a él y recuperen las páginas web almacenadas allí.
Para que un servidor web acepte conexiones de equipos remotos, como usted, debe vincular la aplicación de servidor web a un puerto local. A continuación, utilizará este puerto para escuchar y aceptar conexiones desde equipos remotos. Los servidores web normalmente se enlazan al puerto TCP 80, que es lo que el protocolo http usa de forma predeterminada, y luego esperarán y escucharán conexiones desde dispositivos remotos. Una vez que un dispositivo está conectado, enviará las páginas web solicitadas al dispositivo remoto y, cuando termine, desconectará la conexión.
Por otro lado, si usted es el usuario remoto que se conecta a un servidor web, funcionará a la inversa. Su navegador web elegiría un puerto TCP aleatorio de un cierto rango de números de puerto e intentaría conectarse al puerto 80 en la dirección IP del servidor web. Cuando se establece la conexión, el navegador web enviará la solicitud de una página web en particular y la recibirá del servidor web. A continuación, ambos ordenadores desconectarán la conexión.
Ahora, qué pasaría si quisiera ejecutar un servidor FTP, que es un servidor que le permite transferir y recibir archivos desde equipos remotos, en el mismo servidor web. Los servidores FTP utilizan los puertos TCP 20 y 21 para enviar y recibir información, por lo que no tendrá ningún conflicto con el servidor web que se ejecuta en el puerto TCP 80. Por lo tanto, la aplicación del servidor FTP cuando se inicie se vinculará a los puertos TCP 20 y 21, y esperará conexiones para enviar y recibir datos.
La mayoría de las aplicaciones principales tienen un puerto específico en el que escuchan y registran esta información en una organización llamada IANA. Puede ver una lista de aplicaciones y los puertos que utilizan en el Registro de IANA. Con los desarrolladores registrando los puertos que sus aplicaciones usan con IANA, disminuirán las posibilidades de que dos programas intenten usar el mismo puerto y, por lo tanto, causen un conflicto.
Lawrence Abrams
Tutorial de Conceptos Avanzados de Internet de Computadora que Bleeping
BleepingComputer.com: Soporte informático & Tutoriales para el usuario inicial del equipo.