Solo perché non c'è una buona risposta in cui volevo entrare.
Un modo per farlo sarebbe quello di aggiungere un'opzione IP che specifica l'estensione della porta. L'opzione deve essere progettata per adattarsi alla parte facoltativa dell'intestazione IP e verrebbe ignorata da hop sconosciuti.
Utilizzeresti questa opzione e le sue informazioni per estendere l'origine, la destinazione o entrambi i numeri di porta.
Le limitazioni non funzioneranno automaticamente nel software esistente semplicemente aggiungendo l'opzione in ogni caso, dovranno essere riscritte per sfruttare l'opzione indipendentemente dal modo in cui è implementata, il software esistente e i firewall ignoreranno il pacchetto o lo elaboreranno come al solito utilizzando il valore nei campi della porta di origine e di destinazione.
In breve, non è facile da fare e sarebbe meglio farlo usando un singolo listener riutilizzabile e i dati contenuti nel payload del pacchetto.
È inoltre possibile consentire più facilmente il riutilizzo delle porte nel software, il che può aiutare a superare questa limitazione riutilizzando le porte del server per più connessioni client.
Rtsp, ad esempio, può utilizzare l'intestazione SessionId insieme a varie altre intestazioni nel payload del pacchetto IP per determinare per quale connessione è stata emessa la richiesta e agire di conseguenza, ad esempio se il socket da cui è stato recapitato il messaggio non è lo stesso del socket indirizzo remoto a cui corrisponde la sessione, quindi è possibile consentire a una sessione di essere aggiornata con il nuovo socket per l'elaborazione, negare il messaggio o una varietà di altre azioni a seconda dell'applicazione.
Un server HTTP può anche fare questo o qualsiasi altro tipo di server.
La cosa fondamentale da ricordare quando si consente il riutilizzo delle porte è che è necessario prendere in considerazione anche l'indirizzo IP di origine.