8. FINGERPRINT Mechanism (Meccanismo di impronta digitale)
Questa sezione descrive un meccanismo opzionale in STUN che aiuta a distinguere i messaggi STUN dai pacchetti di altri protocolli quando i due sono multiplexati sullo stesso indirizzo di trasporto. Questo meccanismo è opzionale e un utilizzo STUN deve (must) descrivere se e quando viene utilizzato. Il meccanismo FINGERPRINT non è retrocompatibile con RFC 3489 e non può essere utilizzato in ambienti in cui tale compatibilità è richiesta.
In alcuni utilizzi, i messaggi STUN sono multiplexati sullo stesso indirizzo di trasporto di altri protocolli, come il Real Time Transport Protocol (RTP). Per applicare l'elaborazione descritta nella Sezione 7, i messaggi STUN devono prima essere separati dai pacchetti di dati dell'applicazione.
La Sezione 6 descrive tre campi fissi nell'intestazione STUN che possono essere utilizzati per questo scopo. Tuttavia, in alcuni casi, questi tre campi fissi potrebbero non essere sufficienti.
Quando viene utilizzata l'estensione FINGERPRINT, un agente include l'attributo FINGERPRINT nei messaggi che invia a un altro agente. La Sezione 15.5 descrive il posizionamento e il valore di questo attributo. Quando un agente riceve ciò che ritiene essere un messaggio STUN, oltre ad altri controlli di base, l'agente verifica anche che il messaggio contenga l'attributo FINGERPRINT e che l'attributo contenga il valore corretto. La Sezione 7.3 descrive quando nell'elaborazione complessiva di un messaggio STUN viene eseguito il controllo FINGERPRINT. Questo controllo aggiuntivo aiuta l'agente a rilevare messaggi di altri protocolli che altrimenti sembrerebbero messaggi STUN.