Nur weil es keine gute Antwort gibt, wollte ich mitmachen.
Eine Möglichkeit hierfür ist das Hinzufügen einer IP-Option, die die Porterweiterung angibt. Die Option muss so konzipiert sein, dass sie in den optionalen Teil des IP-Headers passt und von unbekannten Hops übersprungen wird.
Sie würden diese Option und ihre Informationen verwenden, um die Quell-, Ziel- oder beide Portnummern zu erweitern.
Die Einschränkungen werden in vorhandener Software nicht automatisch wirksam, wenn die Option hinzugefügt wird. Sie müssen neu geschrieben werden, um die Option zu nutzen, unabhängig davon, wie sie implementiert ist. Vorhandene Software und Firewalls ignorieren das Paket oder verarbeiten es wie gewohnt Verwenden Sie den Wert in den Feldern für den Quell- und Zielport.
Kurz gesagt, dies ist nicht einfach und sollte besser mit einem einzigen wiederverwendbaren Listener und den in der Nutzlast des Pakets enthaltenen Daten durchgeführt werden.
Sie können die Wiederverwendung von Ports in der Software auch einfacher zulassen. Dies kann dazu beitragen, diese Einschränkung zu überwinden, indem Sie die Ports des Servers für mehrere Clientverbindungen wiederverwenden.
Rtsp kann beispielsweise den SessionId-Header in Verbindung mit verschiedenen anderen Headern in der Nutzlast des IP-Pakets verwenden, um zu bestimmen, für welche Verbindung die Anforderung ausgegeben wurde, und entsprechend zu handeln, z. B. wenn der Socket, von dem die Nachricht zugestellt wurde, nicht mit dem Socket identisch ist entfernte Adresse, der die Sitzung entspricht, dann kann man entweder zulassen, dass eine Sitzung mit dem neuen Socket zur Verarbeitung aktualisiert wird, die Nachricht ablehnen oder eine Vielzahl anderer Aktionen je nach Anwendung ausführen.
Ein HTTP-Server kann auch diesen oder einen anderen Servertyp ausführen.
Wenn Sie die Wiederverwendung von Ports zulassen, ist es wichtig, dass Sie auch die Quell-IP-Adresse berücksichtigen.