回答:
アドレスにSTUNサーバーとアドレスにstun_addr
サーバーがあるとしますsrv_addr
。STUNを使用すると、通常は次のようになります。
stun_addr
NATデバイスを介してSTUNサーバーに接続します。NATデバイスは送信元アドレスを次のように変換しますnatted_addr_1
natted_addr_1
srv_addr
NATデバイスを介してサーバーに接続しnatted_addr_1
、クライアントに到達する必要がある場合に使用するように外部システムに通知しますnatted_addr_1
これは、NATデバイスnatted_addr_1
がSTUNサーバーと他の外部システムの両方の通信に使用する場合にのみ機能します。具体的には、NATデバイスがステップ4で到着したパケットをクライアントに配信する場合にのみ機能します。
対称NATデバイスは、トラフィックの宛先アドレスが異なるため、手順1と3で異なる変換を使用します。ステップ3では、サーバーへのパケットのソースアドレスが他のアドレスに変換されますnatted_addr_2
。
NATデバイスは、送信元アドレスと宛先アドレスのこれらの組み合わせについてのみ認識しており、これらを戻すことのみを許可します。
stun_addr
へnatted_addr_1
srv_addr
へnatted_addr_2
残念ながら、サーバーは使用するように指示されてnatted_addr_1
いますが、srv_addr
宛先がからのパケットnatted_addr_1
は、NATアドレス:ポートの制限があるため、NATデバイスによって拒否されます。
より正確に言うと、NATデバイスはIPアドレスとポート番号の組み合わせで動作するため、この回答では「アドレス」を「アドレス/ポート」に置き換える必要があります。