さまざまなマシンで実行されている多くのサーバーがあり、それらの既知の IP アドレスとポートをリッスンしています。サーバー間の接続を確立し (最初に勝つ)、よく知られている IP アドレスとポートのペアに基づいて発信者を認証したいと考えています。
私が抱えている問題は、新しい接続を開始するためにリスナーポートを再利用できないことです-したがって、この認証は不可能です(後で通信インスタンスパラメーターによって接続ソケットが一意に識別可能であっても)。
パートナー間の対称性を維持したいと思います (ノードを調整する「マスター」のようなものはありません)。この問題の解決策はありますか?
[私が知っているように、SO_REUSEADDR はこのためのものではありませんでした ...]
更新: IPAddress とポート番号のペアを含む構成を定義しました。アイデアは、これらのペアを正確に使用して接続を確立することです。そのため、構成を持つ当事者は、着信接続を簡単に確認できます。後で、すべてを xinetd の背後に配置して、着信アドレス/ポートの組み合わせを確認させたいと思います。
概要: マシン固有の (IP アドレス、ポート) ペアを使用してネットワークを確立することが理論的に可能である場合、同等の通信ノードでそれを実現する可能性はありません (それらの「半分」はクライアントである必要があり、残りの半分はサーバーである必要があります)。私は正しいですか?[問題の背後にある動機についても議論できますが、これは問題ではありません]