8. FINGERPRINT Mechanism (フィンガープリントメカニズム)
本セクションでは、STUNのオプションメカニズムについて説明します。このメカニズムは、2つのプロトコルが同じトランスポートアドレスで多重化されている場合に、STUNメッセージを他のプロトコルのパケットと区別するのに役立ちます。このメカニズムはオプションであり、STUN使用法では、このメカニズムを使用するかどうか、また、いつ使用するかを記述しなければなりません (must)。FINGERPRINTメカニズムはRFC 3489との後方互換性がなく、このような互換性が必要な環境では使用できません。
一部の使用法では、STUNメッセージは、リアルタイムトランスポートプロトコル (Real Time Transport Protocol, RTP) などの他のプロトコルと同じトランスポートアドレスで多重化されます。セクション7で説明されている処理を適用するには、まずSTUNメッセージをアプリケーションデータパケットから分離する必要があります。
セクション6では、この目的に使用できるSTUNヘッダー内の3つの固定フィールドについて説明しています。ただし、場合によっては、これらの3つの固定フィールドでは不十分な場合があります。
FINGERPRINT拡張が使用される場合、エージェントは他のエージェントに送信するメッセージにFINGERPRINT属性を含めます。セクション15.5では、この属性の配置と値について説明しています。エージェントがSTUNメッセージであると考えられる内容を受信した場合、他の基本的なチェックに加えて、エージェントはメッセージにFINGERPRINT属性が含まれているか、また、その属性に正しい値が含まれているかもチェックします。セクション7.3では、STUNメッセージの全体的な処理のどの時点でFINGERPRINTチェックが実行されるかについて説明しています。この追加チェックは、エージェントが他のプロトコルのメッセージを検出するのに役立ちます。これらのメッセージは、そうでなければSTUNメッセージのように見える可能性があります。