Sólo quería saber qué son los puertos. ¿Puede alguien explicarme qué es un puerto?
Sólo quería saber qué son los puertos. ¿Puede alguien explicarme qué es un puerto?
En la computación en red, un puerto es una subdirección. Es como un número de habitación en un hotel: el hotel tiene una dirección (por ejemplo, 42 Washington Street, Austin, Texas) y se subdivide en habitaciones, cada una con su propio número (por ejemplo, la habitación 317). Si desea llegar a una habitación específica, debe conocer la dirección (para que pueda encontrar el hotel) y el número de habitación (porque el hotel tiene varias habitaciones).
De manera similar, cuando una máquina A en Internet quiere hablar con otra máquina B en Internet, intenta abrir un TCP conexión a B en un puerto específico : la conexión está marcada con la dirección IP de B, y un número de puerto. Los puertos permiten que dicha máquina "B" mantenga varios servicios distintos de manera simultánea: por ejemplo, B será un servidor web que espera conexiones en el puerto 80 y un servidor de correo electrónico que espera conexiones en el puerto 25. Cuando algún cliente abre una conexión B, B sabrá a qué servicio se dirige la conexión gracias al puerto: si la conexión es para el puerto 80, es Web; si es para el puerto 25, es correo electrónico.
Los puertos son un concepto, expresado como un número, que permite que un servicio (programa) en una computadora se conecte e intercambie tráfico con un servicio en particular en otra computadora.
Muchos servicios usan convencionalmente números de puertos bien definidos, por ejemplo, un servidor web usaría y escucharía en el puerto 80 el tráfico http y el puerto 443 para el tráfico https. Los números de puerto inferiores a 1024 se consideran "especiales" porque un programa requiere permisos elevados para usarlos. Cualquier puerto en el que esté escuchando un servicio es potencialmente vulnerable a un ataque si el servicio que escucha el tráfico en el puerto no está diseñado con cierto cuidado.
Por ejemplo, el servicio puede comportarse mal si recibe demasiadas conexiones y / o tráfico a una velocidad mayor de la que puede manejar. Los servicios a menudo esperan que el tráfico se ajuste a un conjunto restringido de datos y puede comportarse mal si se envían datos que no saben cómo manejar. La inundación de tráfico puede dar como resultado una denegación de servicio, donde no se pueden recibir más conexiones y, posiblemente, la máquina deja de responder y requiere un reinicio o un ciclo de alimentación.
Dependiendo de los privilegios de los que goza el servicio, el mal comportamiento también puede significar que un atacante puede realizar operaciones en la computadora que no debería poder hacer, lo que podría representar un riesgo para la seguridad.
En un intento de seguridad, es posible que algunos servicios comiencen a usar números de puerto no convencionales sobre la base de que un pirata informático no sabría de inmediato qué servicio escuchaba en el puerto, sin embargo, como los servicios a menudo identifican qué son cuando están conectados a , y otros pueden ser identificados por el comportamiento cuando se envían los datos, esto es débil. Una mejor práctica de seguridad requiere que el acceso a los puertos esté restringido solo a aquellas computadoras que necesitan acceso a esos servicios.
Hay puertos phyiscal y virtuales.
Los puertos de red físicos permiten la conexión de cables a computadoras, por ejemplo:
También existe el concepto de puertos virtuales, en el que probablemente esté pensando. Si encuentra un buen tutorial aquí que detalla los conceptos básicos de las redes.
Como usted sabe, cada computadora o dispositivo en Internet debe tener una número único asignado a él llamado la dirección IP. Esta dirección IP es utilizado para reconocer su computadora particular de los millones de Otras computadoras conectadas a internet. Cuando se envía información a través de Internet a su computadora, ¿cómo su computadora acepta que ¿información? Acepta esa información mediante el uso de puertos TCP o UDP.
Una forma fácil de entender los puertos es imaginar que su dirección IP es una la caja de cable y los puertos son los diferentes canales en esa caja de cable. La compañía de cable sabe cómo enviar el cable a su caja de cable en función de un número de serie único asociado con esa casilla (Dirección IP), y luego recibe los programas individuales en diferentes canales (puertos).
Los puertos funcionan de la misma manera. Tienes una dirección IP, y luego muchos puertos en esa dirección IP. Cuando digo muchos, me refiero a muchos. Puedes 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 que envía datos a una dirección IP y un puerto específico en la computadora remota, y recibe los datos en un puerto generalmente aleatorio en su propia computadora. Si se utiliza el protocolo TCP para enviar y recibir los datos, entonces lo hará Conectar y enlazarse a un puerto TCP. Si usa el protocolo UDP para enviar y recibir datos, utilizará un puerto UDP. La figura 1, abajo, es una Representación de una dirección IP dividida en sus numerosos puertos TCP y UDP. Tenga en cuenta que una vez que una aplicación se une a un puerto en particular, El puerto no puede ser utilizado por ninguna otra aplicación. Es el primero que llega, primero servido.
Es probable que todo esto todavía te parezca confuso, y no hay nada. mal en eso, ya que este es un concepto complicado de entender. Por lo tanto, Te daré un ejemplo de cómo funciona esto en la vida real para que puedas tener una mejor comprensión Usaremos servidores web en nuestro ejemplo como todos ustedes saben que un servidor web es una computadora que ejecuta una aplicación que permite que otras computadoras se conecten y recuperen la web páginas almacenadas allí.
Para que un servidor web acepte conexiones desde computadoras remotas, como usted, debe vincular la aplicación del servidor web a un local Puerto. A continuación, utilizará este puerto para escuchar y aceptar conexiones. desde ordenadores remotos. Los servidores web normalmente se unen al puerto TCP 80, que es lo que el protocolo http usa por defecto, y luego esperará y escucha las conexiones desde dispositivos remotos. Una vez que un dispositivo es conectado, enviará las páginas web solicitadas al dispositivo remoto, y cuando termines desconecta la conexión.
Por otro lado, si eres el usuario remoto que se conecta a una web Servidor funcionaría a la inversa. Su navegador web elegiría un azar Puerto TCP de un cierto rango de números de puerto, e intento de conexión al puerto 80 en la dirección IP del servidor web. Cuando la conexion es establecido, el navegador web enviará la solicitud de un determinado página web y recibirla del servidor web. Entonces ambas computadoras desconecte la conexión.
Ahora, ¿qué pasa si desea ejecutar un servidor FTP, que es un servidor que le permite transferir y recibir archivos desde computadoras remotas, en la mismo servidor web Los servidores FTP utilizan los puertos TCP 20 y 21 para enviar y Recibe información, para que no tengas ningún conflicto con la web. servidor que se ejecuta en el puerto TCP 80. Por lo tanto, la aplicación del servidor FTP cuando se inicie se enlazará 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. Tú Puede ver una lista de las aplicaciones y los puertos que utilizan en la IANA. Registro. Con los desarrolladores registrando los puertos que usan sus aplicaciones. con IANA, las posibilidades de que dos programas intenten usar el mismo puerto, y por lo tanto causando un conflicto, disminuirá.
Lea otras preguntas en las etiquetas ports