¿Cuál es el propósito de las direcciones de puerto en una computadora?

Suponiendo que se refiere a los puertos de red TCP / IP:

El tráfico TCP / IP llega al host de destino al enrutarse a la dirección del host. Una vez que los datos están en el host, el número de puerto se utiliza para enrutar el tráfico a una instancia de aplicación única, dentro del host. Es algo análogo a un número de departamento u oficina dentro de un edificio que tiene múltiples suites. Todos comparten una dirección común, pero el correo se dirige a suites individuales dentro del edificio. El sistema operativo asigna los puertos por orden de llegada. Una aplicación utiliza el sistema operativo para obtener tráfico IP destinado a un puerto particular en el host que se enviará a la aplicación. Esto se conoce como ‘escucha’ en el puerto especificado, y cuando hay un proceso escuchando en un puerto, se dice que el puerto está ‘abierto’, en términos comunes de monitoreo de red y seguridad. En TCP / IP, solo un proceso puede estar escuchando en cualquier puerto especificado.

Pero es posible que se refiera a los puertos de E / S de hardware, especialmente en arquitecturas de CPU x86:

La E / S en una computadora se realiza asignando hardware al espacio de direcciones de la CPU. En las CPU x86, y en algunas otras, hay un espacio de direcciones separado dedicado a IO, mientras que en la mayoría de las arquitecturas, los dispositivos de IO de hardware comparten espacio en el mapa de direcciones de memoria. En cualquier caso, se accede a cualquier dispositivo a través de una dirección única o con frecuencia una serie de direcciones. Estas direcciones a menudo se llaman ‘puertos’. Ese término parece estar quedando en el camino, a favor del término más general ‘registro’, pero creo que este es un término que describe más de cerca el hardware, mientras que el término ‘puerto’ describe el método de acceso al registro. En CPU y SoC altamente integrados, la distinción se vuelve un poco borrosa.

Con una dirección MAC, puede llegar a un destino en su subred local. (En escenarios de ethernet)

Con una dirección IP, puede llegar a cualquier destino (si tiene una ruta en su nodo y los saltos intermedios)

Con una dirección de puerto puede llegar al servicio que se ejecuta en el destino.

Digamos, por ejemplo, que estás tratando de llegar a http://www.quora.com . Es un servicio web seguro (https). Entonces, en la capa de transporte, su número de puerto de origen será un número de puerto aleatorio, por ejemplo 60000, y el puerto de destino será 443.

Uso:

Con el nombre del sitio web http://www.quora.com en el navegador, su PC se pondrá en contacto con su DNS y resolverá el nombre en una dirección IP.

Con esta dirección IP, puede llegar al servidor Quora de destino, pero ¿cómo sabe a qué servicio llegar en ese servidor? Este servidor de Quora con la dirección IP 54.84.216.68 en mi caso (puede / habrá muchas otras IP asignadas a Quora.com) puede ejecutar muchos servicios, por ejemplo, además de actuar como un servidor web, también puede actuar como un servidor de correo, servidor FTP, etc. (que no es el caso habitual). Ahora, después de llegar al servidor de Quora con la dirección IP que tiene, ¿cómo le dice que desea que se acceda al servicio web? El número de puerto sirve para ese propósito. El servidor de quora al ver el número de puerto 443 entiende que está solicitando el contenido web y le sirve con el mismo en el puerto 60000.

Nota: Cuando escribe http://www.quora.com , el puerto es 80 y la red de Quora lo redirigirá a 443. Esa es otra historia por completo.

Las direcciones de puerto se usan particularmente para diferenciar los paquetes de datos para diversas aplicaciones, de modo que la PC sepa qué aplicación debe procesar el paquete. Por ejemplo, el puerto 80 se usa para paquetes http, el puerto 21 para el protocolo de transferencia de archivos (FTP). Además, también se usa para diferenciar entre varias sesiones de la misma aplicación (por ejemplo, se abren dos ventanas del navegador al mismo tiempo que tienen diferentes puertos).

More Interesting

¿Cómo saben los conmutadores si una solicitud ARP solicita su propia dirección MAC, si solo pueden funcionar en la capa 2 y no pueden ver la IP de destino?

¿Cuántos BITS tenemos en una dirección IPv4 y por qué?

¿Hay alguna forma práctica de acceder externamente (ssh) a un servidor (ejecutado como VM) sin usar una dirección IP estática?

¿Debería preocuparme la seguridad en mi Mac después de ver un mensaje de que 'otro dispositivo en la red está usando la dirección IP de [mi] computadora'?

¿Puedo hacer un SSH remoto en un servidor Linux con su nombre de dominio en lugar de una dirección IP?

¿Por qué no podemos simplemente agregar otro número entero a la dirección IP, cuáles son las restricciones?

Tengo varios dispositivos conectados a mi enrutador / conmutadores, incluidos los almacenamientos. Tengo una lista de direcciones IP asignadas a los dispositivos y se supone que debo verificarlas. ¿Cómo es eso posible?

¿Cuál es el propósito de las direcciones de puerto en una computadora?

¿Rogers está tomando prestadas direcciones IP del Departamento de Defensa de los Estados Unidos?

¿Cómo ocultan los hackers su dirección IP mientras piratean?

Cómo obtener la dirección IP de la actividad del historial de búsqueda de Google

Cómo mostrar el nombre de mi empresa mientras busca las direcciones IP de nuestros servidores dedicados en los sitios web de ubicación de IP

¿Cómo puede el MIT vender su espacio de direcciones IPv4 por millones de dólares cuando teóricamente no 'poseen' las direcciones?

¿Ha habido casos de piratería de la computadora de alguien basada solo en la dirección IP?

¿Por qué mi IP es diferente la mayor parte del tiempo cuando inicio sesión en un sitio web?