私は、さまざまなマシン上で動作し、よく知られているIPアドレスとポートを受信している多くのサーバーを持っています。 よく知られているIPAddress/portのペアに基づいて、サーバー間の接続を確立して(最初に試してみてください)、呼び出し元を認証します。ソケットリスナーサーバー間の接続を確立する
新しい接続を開始するためにリスナーポートを再利用することができないため、この認証はできません(後で通信インスタンスパラメータによって接続ソケットが一意に識別されても問題ありません)。
私はパートナー間で対称性を保ちたいと思います(ノードを調整する 'マスター'のようなものはありません)。 この問題の解決策はありますか?
[私が知っているように、SO_REUSEADDRは、このためのものではなかった...]
更新: 私はちょうどたIPAddressとポート番号のペアを含む、いくつかの設定を定義しました。アイデアは、これらのペアを使って接続を確立することです。したがって、構成を持つ当事者は、着信接続を容易にチェックすることができる。 後ですべてをxinetdの背後に置き、受信アドレス/ポートの組み合わせを確認させたいと思います。
要約: イベント理論的には、マシン固有の(IPAddress、port)ペアを使用してネットワークを確立することができれば、同等の通信ノードで実現する可能性はありません( '半分'はクライアント、他の半サーバー)。 私はそうですか? [我々はまた、問題の背後にある動機を議論することができますが、これはない質問です]私はIPアドレスに依存すると言わなければならない
サーバがリッスンしているのと同じポートを使用する代わりに、発信接続を別の指定ポートにバインドしてみてはどうでしょうか?一般的な例は 'listening_port_number + 1'です。 –
...すべてのネットワークノードでこれを続けますか?それはほとんど許可されることはできません... – BenSteven
あなたは**よく知られているIPアドレスとポート**の意味を明確にすることはできますか? SMTPのような標準サービスの場合、SMTPの上にあるip-portペアに基づいて認証サービスを追加する方法は? – tuxuday