8. FINGERPRINT Mechanism (Mécanisme d'empreinte digitale)
Cette section décrit un mécanisme optionnel dans STUN qui aide à distinguer les messages STUN des paquets d'autres protocoles lorsque les deux sont multiplexés sur la même adresse de transport. Ce mécanisme est optionnel, et une utilisation STUN doit (must) décrire si et quand il est utilisé. Le mécanisme FINGERPRINT n'est pas rétrocompatible avec RFC 3489 et ne peut pas être utilisé dans des environnements où une telle compatibilité est requise.
Dans certaines utilisations, les messages STUN sont multiplexés sur la même adresse de transport que d'autres protocoles, tels que le Real Time Transport Protocol (RTP). Afin d'appliquer le traitement décrit dans la Section 7, les messages STUN doivent d'abord être séparés des paquets de données d'application.
La Section 6 décrit trois champs fixes dans l'en-tête STUN qui peuvent être utilisés à cette fin. Cependant, dans certains cas, ces trois champs fixes peuvent ne pas être suffisants.
Lorsque l'extension FINGERPRINT est utilisée, un agent inclut l'attribut FINGERPRINT dans les messages qu'il envoie à un autre agent. La Section 15.5 décrit l'emplacement et la valeur de cet attribut. Lorsqu'un agent reçoit ce qu'il croit être un message STUN, en plus des autres vérifications de base, l'agent vérifie également que le message contient l'attribut FINGERPRINT et que l'attribut contient la valeur correcte. La Section 7.3 décrit quand, dans le traitement global d'un message STUN, la vérification FINGERPRINT est effectuée. Cette vérification supplémentaire aide l'agent à détecter les messages d'autres protocoles qui autrement apparaîtraient comme des messages STUN.