0

jstun ライブラリ (hxxp://jstun.javawi.de/) を使用して Java アプリケーションを開発しており、パブリック IP をカーネルによって選択されたものと比較する必要があります (ワイルドカード アドレス - hxxp://java.sun .com/j2se/1.5.0/docs/api/java/net/DatagramSocket.html#DatagramSocket() ) udp ソケットを作成するとき。

私が理解できないのは、nated ネットワークのローカル IP が 192.168.1.x の形式である場合、なぜ 10.xxx などの IP を取得するのですか?

この 2 つがまったく無関係である特定の理由はありますか? 私nat の背後にいなければ、カーネルはソケットを私の公開アドレスにバインドしますか?

どうもありがとう!非対称

4

2 に答える 2

1

送信ソケットの場合、送信元 IP は宛先 IP に従ってホスト ルーティング テーブルによって決定されます。ソケットを受信する場合、宛先IPは取得したものです。ピアが見る「パブリック」IP は、あなたからのパケットの送信元アドレスであり、内部アドレスが変換されたものになるように NAT によって書き換えられます。

于 2009-05-26T12:51:38.230 に答える
0

私はかなり重要なことについて言及しませんでした:私はAndroid用に開発していて、Androidエミュレーターでコードを実行しています。これは10.xxxアドレスのことを説明しています。

私はそれをもっと深く掘り下げる必要があります..助けてくれてありがとう!

興味のある方へ:hxxp://developer.android.com/guide/developing/tools/emulator.html#networkaddresses

于 2009-05-26T14:17:35.780 に答える