Explique cómo vincular un servicio a una IP y un puerto

Explique cómo vincular un servicio a una IP y un puerto

Ayer tuve una discusión sobre cómo ejecutar el mismo servicio, por ejemplo SMTP, en el mismo puerto de un servidor. Creo que esto es posible asignando múltiples direcciones IP al servidor y vinculando el servicio a cada combinación de IP/puerto. Sin embargo, terminamos en una discusión y llegamos a la conclusión de que nos perdimos el fundamento teórico.

Nos quedamos estancados en la metáfora de que el servidor es la casa, accesible mediante múltiples direcciones (ip) y los puertos son las habitaciones. Las habitaciones tienen números, pero solo hay una habitación por número. Esto significaría que sea cual sea la dirección utilizada para llegar a la casa, siempre terminarás en la misma habitación.

Creo que no funciona de esa manera, la combinación de ip/puerto de la solicitud hace que la solicitud sea única. El sistema operativo puede manejar múltiples servicios en el mismo número de puerto siempre que el servicio esté vinculado a una dirección IP.

No se trata de cómo ejecutar dos servidores web tipo X en el puerto 80 en un sistema operativo tipo Y. Me gustaría saber cómo funciona esto a nivel conceptual para poder entenderlo y explicárselo a otra persona.

[EDITAR]

Quizás mi pregunta sea un pocolanoso. La pregunta es: ¿Es posible tener varias direcciones IP en un servidor y dividir el tráfico por dirección IP y, por lo tanto, tener varios puertos 25 en un servidor?

Y si es así, ¿cómo se lo explico a alguien que no lo cree? ¿Quizás una buena metáfora?

Respuesta1

Creo que la metáfora "cada servidor es una casa" debe corregirse porque "cada dirección IP es una casa". Por ejemplo, digamos que su servidor tiene 2 direcciones IP de esa manera.teóricamentetiene 2 * (2^16) combinaciones únicas de 131072 sockets de servidor disponibles.

Como tiene diferentes combinaciones de IP:Puerto disponibles, puede configurar Sendmail (IP_Address_1:25) y Postfix en el mismo servidor (IP_Address_2:25).

Respuesta2

Cada dirección IP de un sistema tendrá todos los puertos disponibles para su uso.

Se pueden configurar muchos servicios para escuchar en uno o más pares de IP:puerto. Si un servicio escucha en todas las IP:25, entonces la carga podría dividirse entre cada una.

Sin embargo, lo que falta es ¿cómo sabe el dispositivo conectado dónde conectarse? Es posible que se pueda utilizarOperación por turnos de DNSpara proporcionar diferentes direcciones IP o en el caso de SMTP (puerto 25) igualmente ponderadasRegistros MX.

En realidad, cuanto más intento responder a tu pregunta, más me doy cuenta de que es necesario mejorar tu falta de comprensión, así que te remitiré nuevamente al excelenteguía TCP/IP

información relacionada