14. STUN Usages (Utilisations STUN)
STUN en soi n'est pas une solution au problème de traversée NAT. Au contraire, STUN définit un outil qui peut être utilisé à l'intérieur d'une solution plus large. Le terme "utilisation STUN (STUN usage)" est utilisé pour toute solution qui utilise STUN comme composant.
Au moment de la rédaction, trois utilisations STUN sont définies : Interactive Connectivity Establishment (ICE) [MMUSIC-ICE], Client-initiated connections for SIP [SIP-OUTBOUND], et NAT Behavior Discovery [BEHAVE-NAT]. D'autres utilisations STUN peuvent être définies à l'avenir.
Une utilisation STUN définit comment STUN est réellement utilisé -- quand envoyer des requêtes, comment gérer les réponses, et quelles procédures optionnelles définies ici (ou dans une extension à STUN) doivent être utilisées. Une utilisation définirait également :
-
Quelles méthodes STUN sont utilisées.
-
Quels mécanismes d'authentification et d'intégrité des messages sont utilisés.
-
Les considérations autour de la dérivation manuelle versus automatique de clé pour le mécanisme d'intégrité, comme discuté dans [RFC4107].
-
Quels mécanismes sont utilisés pour distinguer les messages STUN des autres messages. Lorsque STUN est exécuté sur TCP, un mécanisme de tramage peut être requis.
-
Comment un client STUN détermine l'adresse IP et le port du serveur STUN.
-
Si la compatibilité descendante avec RFC 3489 est requise.
-
Quels attributs optionnels définis ici (tels que FINGERPRINT et ALTERNATE-SERVER) ou dans d'autres extensions sont requis.
De plus, toute utilisation STUN doit (must) considérer les implications de sécurité de l'utilisation de STUN dans cette utilisation. Un certain nombre d'attaques contre STUN sont connues (voir la section Considérations de sécurité dans ce document), et toute utilisation doit considérer comment de telles attaques sont contrecarrées ou atténuées.
Enfin, une utilisation doit (must) considérer si son utilisation de STUN est un exemple de l'approche Unilateral Self-Address Fixing pour la traversée NAT, et si c'est le cas, répondre aux questions soulevées dans RFC 3424 [RFC3424].