私はネットワークの読み書きができませんが、自宅のネットワーク上のサーバーに、友人の自宅のネットワーク上のクライアントとインターネットを介して通信させようとしています。私の友人も私も静的パブリックIPを持っていないため、クライアントとサーバー用に静的IPを購入するつもりはありません。
以下のセットアップの図: ServerClientWAN
ルーターでポート転送を設定し、パブリックIPアドレスへの特定のポートの通信がサーバーのローカルIPに転送されるようにしました。この設定では、サーバーはクライアントを確認し、クライアントから着信メッセージを受信できますが、何らかの理由で、友人のホームネットワークからローカルIPアドレスのクライアントにメッセージを送信しようとします。サーバーとクライアントは独自のTCP / IPプロトコルを使用しています。次の図に示すように、サーバーはクライアントのIPアドレスを192.168.0.Xとして認識します。私たちが間違っている可能性についてのアイデアはありますか?クライアントからのコミュニケーションは友人のパブリックIPから来ると思っていただろうか?プロトコルメッセージがローカルIPで受信され、サーバーがそれらのメッセージを解析して、クライアントのローカルIPのエンドポイントで応答する場合があります。この場合、
制約は、サーバーとクライアントが「ロックされた」デバイスであるため、OS / Appレベルの変更を避けたいということです。ある種のVPNまたはVLANをセットアップできるかもしれません(それはインターネット上のものですか)。別の言い方をすれば、私たちの好みはこの問題に対するネットワークソリューションを考え出すことです。これを解決するために、サーバーとクライアント以外のデバイスをネットワークに追加できますが、プロトコルメッセージをルーティングする新しいアプリケーションを「プログラム」したくないでしょう。