2016-04-27 12 views
1

WebRTCで少し動いている間に、私は獣がNATとSTUNであることを学びました。私は自分の理解力をテストする途中でした。パブリックIPとポートを取得

ここにはlinkがあります。あなたのローカルアドレスと一緒にリモートアドレスとポートを取得できます。例えば

: 私のローカルIP:ポートは

192.168.1.2:4500 

私のインターネットプロバイダが

209.200.1.2:14500 

にそれを翻訳し、

|209.200.1.2:14500|192.168.1.2:4500| 

のような変換テーブルを格納しますし、接続が209.200.1.2:14500になると効果的です192.168.1.2:4500へのded。

NATを正しく理解していると仮定すると、ポート4500(ローカル)で着信接続をlistenするように設定すると、209.200.1.2:14500経由で接続できる人もいますが、そうではありません起こっている(接続できない)WHY?

あなたの助けにたくさんのThx。

答えて

3

NATは、発信接続でのみ動作するように設計されています。 NATルータは、ポート上でリッスンを開始するプライベートIP上のマシンを自動的に認識することはなく、通常、NATルータのパブリックIPポートとプライベートIPポートの間の保証された対応はありません。また、NATルータは着信tcp/ip接続パケット(SYN)をプライベートIPに正しく中継することは不可能です。なぜなら、どのプライベートIPが意図されているか全く分からないからです。

しかし、実質的に動作することができるhole-punchingという技術があります。通常、2つのエンドポイント間で仲介するために、NAT以外のアドレスを持つサードパーティのサーバが接続をセットアップする必要があります。その後、元の2つのホスト間でtcp/ipの大部分が交換されます。

関連する問題