14. STUN Usages (STUN使用法)
STUN自体は、NATトラバーサル問題の解決策ではありません。むしろ、STUNはより大きなソリューション内で使用できるツールを定義します。「STUN使用法 (STUN usage)」という用語は、STUNをコンポーネントとして使用するあらゆるソリューションに使用されます。
本稿執筆時点では、3つのSTUN使用法が定義されています: インタラクティブ接続確立 (Interactive Connectivity Establishment, ICE) [MMUSIC-ICE]、SIPのクライアント開始接続 (Client-initiated connections for SIP) [SIP-OUTBOUND]、およびNATビヘイビア発見 (NAT Behavior Discovery) [BEHAVE-NAT]。将来、他のSTUN使用法が定義される可能性があります。
STUN使用法は、STUNが実際にどのように利用されるかを定義します。つまり、いつリクエストを送信するか、レスポンスをどのように処理するか、ここで定義されているどのオプション手順(またはSTUNの拡張)を使用するかを定義します。使用法は次のことも定義します:
-
どのSTUNメソッドが使用されるか。
-
どの認証およびメッセージ完全性メカニズムが使用されるか。
-
[RFC4107]で議論されているように、完全性メカニズムの手動対自動鍵導出に関する考慮事項。
-
STUNメッセージを他のメッセージと区別するために使用されるメカニズム。STUNがTCP上で実行される場合、フレーミングメカニズムが必要になる場合があります。
-
STUNクライアントがSTUNサーバーのIPアドレスとポートをどのように決定するか。
-
RFC 3489との後方互換性が必要かどうか。
-
ここで定義されているどのオプション属性(FINGERPRINTやALTERNATE-SERVERなど)または他の拡張の属性が必要か。
さらに、すべてのSTUN使用法は、その使用法でSTUNを使用することのセキュリティへの影響を考慮しなければなりません (must)。STUNに対する多くの攻撃が知られており(本ドキュメントのセキュリティに関する考慮事項セクションを参照)、すべての使用法は、そのような攻撃がどのように阻止または軽減されるかを考慮しなければなりません。
最後に、使用法は、STUNの使用がNATトラバーサルへの単方向自己アドレス修正 (Unilateral Self-Address Fixing) アプローチの例であるかどうかを考慮し、そうである場合は、RFC 3424 [RFC3424]で提起された質問に対処しなければなりません (must)。