0

さまざまなマシンで実行されている多くのサーバーがあり、それらの既知の IP アドレスとポートをリッスンしています。サーバー間の接続を確立し (最初に勝つ)、よく知られている IP アドレスとポートのペアに基づいて発信者を認証したいと考えています。

私が抱えている問題は、新しい接続を開始するためにリスナーポートを再利用できないことです-したがって、この認証は不可能です(後で通信インスタンスパラメーターによって接続ソケットが一意に識別可能であっても)。

パートナー間の対称性を維持したいと思います (ノードを調整する「マスター」のようなものはありません)。この問題の解決策はありますか?

[私が知っているように、SO_REUSEADDR はこのためのものではありませんでした ...]

更新: IPAddress とポート番号のペアを含む構成を定義しました。アイデアは、これらのペアを正確に使用して接続を確立することです。そのため、構成を持つ当事者は、着信接続を簡単に確認できます。後で、すべてを xinetd の背後に配置して、着信アドレス/ポートの組み合わせを確認させたいと思います。

概要: マシン固有の (IP アドレス、ポート) ペアを使用してネットワークを確立することが理論的に可能である場合、同等の通信ノードでそれを実現する可能性はありません (それらの「半分」はクライアントである必要があり、残りの半分はサーバーである必要があります)。私は正しいですか?[問題の背後にある動機についても議論できますが、これは問題ではありません]

4

1 に答える 1

0

IP アドレスに依存することは、真のセキュリティではないと言わざるを得ません。ただし、それを行うことを選択した場合は、次のいずれかを実行できます。

  • TCP の代わりに UDP を使用します。同じポートからメッセージを簡単に送受信できます。
  • TCP 用のポートのペアを使用します。1 つは送信用、もう 1 つは受信用です。
于 2012-04-24T07:50:21.150 に答える