Solo porque no hay una buena respuesta, quería intervenir.
Una forma de hacerlo sería agregar una opción de IP que especifique la extensión del puerto. La opción debe estar diseñada para caber dentro de la porción opcional del encabezado IP y debería ser saltada por saltos desconocidos.
Usaría esta opción y su información de información para ampliar el origen, el destino o ambos números de puerto.
Las limitaciones no van a funcionar automáticamente en el software existente simplemente agregando la opción de todos modos, tendrán que reescribirse para aprovechar la opción sin importar cómo se implemente, el software y los firewalls existentes ignorarán el paquete o lo procesarán como de costumbre. utilizando el valor en los campos de puerto de origen y destino.
En resumen, no es fácil de hacer y sería mejor hacerlo utilizando un único oyente reutilizable y los datos contenidos en la carga útil del paquete.
También puede permitir más fácilmente la reutilización de puertos en el software, lo que puede ayudar a superar esta limitación al reutilizar los puertos del servidor para múltiples conexiones de clientes.
Rtsp, por ejemplo, puede usar el encabezado SessionId junto con varios otros encabezados en la carga útil del paquete IP para determinar para qué conexión se emitió la solicitud y actuar en consecuencia, por ejemplo, si el socket desde el que se entregó el mensaje no es el mismo que el del socket dirección remota a la que corresponde la sesión, entonces uno puede permitir que una sesión se actualice con el nuevo socket para procesar, negar el mensaje o una variedad de otras acciones dependiendo de la aplicación.
Un servidor Http también puede hacer este o cualquier otro tipo de servidor.
La clave para recordar al permitir la reutilización de puertos es que también debe tener en cuenta la dirección IP de origen.