14. STUN Usages (Utilizzi STUN)
STUN di per sé non è una soluzione al problema dell'attraversamento NAT. Piuttosto, STUN definisce uno strumento che può essere utilizzato all'interno di una soluzione più ampia. Il termine "utilizzo STUN (STUN usage)" viene utilizzato per qualsiasi soluzione che utilizza STUN come componente.
Al momento della stesura, sono definiti tre utilizzi STUN: Interactive Connectivity Establishment (ICE) [MMUSIC-ICE], Client-initiated connections for SIP [SIP-OUTBOUND] e NAT Behavior Discovery [BEHAVE-NAT]. Altri utilizzi STUN possono essere definiti in futuro.
Un utilizzo STUN definisce come viene effettivamente utilizzato STUN -- quando inviare richieste, come gestire le risposte e quali procedure opzionali definite qui (o in un'estensione a STUN) devono essere utilizzate. Un utilizzo definirebbe anche:
-
Quali metodi STUN vengono utilizzati.
-
Quali meccanismi di autenticazione e integrità dei messaggi vengono utilizzati.
-
Le considerazioni sulla derivazione manuale versus automatica delle chiavi per il meccanismo di integrità, come discusso in [RFC4107].
-
Quali meccanismi vengono utilizzati per distinguere i messaggi STUN da altri messaggi. Quando STUN viene eseguito su TCP, potrebbe essere richiesto un meccanismo di framing.
-
Come un client STUN determina l'indirizzo IP e la porta del server STUN.
-
Se è richiesta la compatibilità con le versioni precedenti di RFC 3489.
-
Quali attributi opzionali definiti qui (come FINGERPRINT e ALTERNATE-SERVER) o in altre estensioni sono richiesti.
Inoltre, qualsiasi utilizzo STUN deve (must) considerare le implicazioni di sicurezza dell'utilizzo di STUN in tale utilizzo. Sono noti diversi attacchi contro STUN (vedere la sezione Considerazioni sulla sicurezza in questo documento), e qualsiasi utilizzo deve considerare come tali attacchi vengono contrastati o mitigati.
Infine, un utilizzo deve (must) considerare se il suo utilizzo di STUN è un esempio dell'approccio Unilateral Self-Address Fixing all'attraversamento NAT, e in tal caso, affrontare le questioni sollevate in RFC 3424 [RFC3424].