3. Terminologia
Le parole chiave "deve (MUST)", "non deve (MUST NOT)", "richiesto (REQUIRED)", "deve (SHALL)", "non deve (SHALL NOT)", "dovrebbe (SHOULD)", "non dovrebbe (SHOULD NOT)", "raccomandato (RECOMMENDED)", "può (MAY)" e "opzionale (OPTIONAL)" in questo documento devono essere interpretate come descritto nella RFC 2119 [RFC2119].
I lettori dovrebbero avere familiarità con [RFC5389] e i termini ivi definiti.
I seguenti termini sono utilizzati in questo documento:
TURN: Il protocollo utilizzato tra il client TURN e il server TURN. È un'estensione del protocollo STUN [RFC5389]. Il protocollo consente a un client di allocare e utilizzare un indirizzo di trasporto inoltrato.
Client TURN (TURN client): Un client STUN che implementa questa specifica.
Server TURN (TURN server): Un server STUN che implementa questa specifica. Inoltra i dati tra un client TURN e i suoi peer.
Peer: Un host con cui il client TURN desidera comunicare. Il server TURN inoltra il traffico tra il client TURN e i suoi peer. Il peer non interagisce con il server TURN utilizzando il protocollo definito in questo documento; piuttosto, il peer riceve i dati inviati dal server TURN e il peer invia dati verso il server TURN.
Indirizzo di trasporto (Transport Address): La combinazione di un indirizzo IP e una porta.
Indirizzo di trasporto host (Host Transport Address): Un indirizzo di trasporto su un client o un peer.
Indirizzo di trasporto riflesso dal server (Server-Reflexive Transport Address): Un indirizzo di trasporto sul lato "pubblico" di un NAT. Questo indirizzo è allocato dal NAT per corrispondere a un indirizzo di trasporto host specifico.
Indirizzo di trasporto inoltrato (Relayed Transport Address): Un indirizzo di trasporto sul server TURN che viene utilizzato per inoltrare i pacchetti tra il client e un peer. Un peer invia dati a questo indirizzo sul server TURN, e i dati vengono quindi inoltrati al client.
Indirizzo di trasporto del server TURN (TURN Server Transport Address): Un indirizzo di trasporto sul server TURN utilizzato per inviare messaggi TURN al server. Questo è l'indirizzo di trasporto che il client utilizza per comunicare con il server.
Indirizzo di trasporto del peer (Peer Transport Address): L'indirizzo di trasporto del peer come visto dal server. Quando il peer è dietro un NAT, questo è l'indirizzo di trasporto riflesso dal server del peer.
Allocazione (Allocation): Un indirizzo di trasporto inoltrato concesso a un client tramite una richiesta Allocate, insieme allo stato correlato, come permessi e timer di scadenza.
5-tupla (5-tuple): La combinazione (indirizzo IP e porta del client, indirizzo IP e porta del server, e protocollo di trasporto (attualmente uno tra UDP, TCP o TLS)) utilizzata per comunicare tra il client e il server. La 5-tupla identifica in modo univoco questo flusso di comunicazione. La 5-tupla identifica anche in modo univoco l'allocazione sul server.
Canale (Channel): Un numero di canale e un indirizzo di trasporto peer associato. Una volta che un numero di canale è associato all'indirizzo di trasporto di un peer, il client e il server possono utilizzare il messaggio ChannelData più efficiente in termini di larghezza di banda per scambiare dati.
Permesso (Permission): L'indirizzo IP e il protocollo di trasporto (ma non la porta) di un peer autorizzato a inviare traffico al server TURN e a far inoltrare quel traffico al client TURN. Il server TURN inoltrerà il traffico al suo client solo da peer che corrispondono a un permesso esistente.
Realm: Una stringa utilizzata per descrivere il server o un contesto all'interno del server. Il realm indica al client quale combinazione di nome utente e password utilizzare per autenticare le richieste.
Nonce: Una stringa scelta casualmente dal server e inclusa nel digest del messaggio. Per prevenire attacchi di replay, il server dovrebbe cambiare il nonce periodicamente.