4.1. AVP Header
I campi nell'intestazione AVP DEVONO essere inviati in ordine di byte di rete. Il formato dell'intestazione è:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| AVP Code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V M P r r r r r| AVP Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Vendor-ID (opt) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Data ...
+-+-+-+-+-+-+-+-+
AVP Code
L'AVP Code, combinato con il campo Vendor-Id, identifica l'attributo in modo univoco. I numeri AVP da 1 a 255 sono riservati per il riutilizzo degli attributi RADIUS, senza impostare il campo Vendor-Id. I numeri AVP 256 e superiori sono utilizzati per Diameter, che sono allocati dall'IANA (vedere Sezione 11.1.1).
AVP Flags
Il campo AVP Flags informa il ricevitore su come deve essere gestito ciascun attributo. Le nuove applicazioni Diameter NON DOVREBBERO definire bit AVP Flag aggiuntivi. Tuttavia, si noti che le nuove applicazioni Diameter POSSONO definire bit aggiuntivi all'interno dell'intestazione AVP, e un bit non riconosciuto DOVREBBE essere considerato un errore. Il mittente dell'AVP DEVE impostare i bit 'R' (riservati) a 0 e il ricevitore DOVREBBE ignorare tutti i bit 'R' (riservati). Il bit 'P' è stato riservato per l'uso futuro della sicurezza end-to-end. Al momento della scrittura, non ci sono meccanismi di sicurezza end-to-end specificati; pertanto, il bit 'P' DOVREBBE essere impostato a 0.
Il bit 'M', noto come bit Mandatory, indica se il ricevitore dell'AVP DEVE analizzare e comprendere la semantica dell'AVP, incluso il suo contenuto. L'entità ricevente DEVE restituire un messaggio di errore appropriato se riceve un AVP che ha il bit M impostato ma non lo comprende. Si applica un'eccezione quando l'AVP è incorporato in un AVP raggruppato. Vedere Sezione 4.4 per dettagli. Gli agenti di relay e redirect Diameter NON DEVONO rifiutare messaggi con AVP non riconosciuti.
Il bit 'M' DEVE essere impostato secondo le regole definite nella specifica dell'applicazione che introduce o riutilizza questo AVP. All'interno di una determinata applicazione, l'impostazione del bit M per un AVP è definita per tutti i tipi di comando o per ciascun tipo di comando.
Gli AVP con il bit 'M' cancellato sono solo informativi; un ricevitore che riceve un messaggio con tale AVP che non è supportato, o il cui valore non è supportato, PUÒ semplicemente ignorare l'AVP.
Il bit 'V', noto come bit Vendor-Specific, indica se il campo opzionale Vendor-ID è presente nell'intestazione AVP. Quando impostato, l'AVP Code appartiene allo spazio di indirizzi del codice fornitore specifico.
AVP Length
Il campo AVP Length è di tre ottetti e indica il numero di ottetti in questo AVP, inclusi il campo AVP Code, il campo AVP Length, il campo AVP Flags, il campo Vendor-ID (se presente) e il campo AVP Data. Se viene ricevuto un messaggio con una lunghezza di attributo non valida, il messaggio DEVE essere rifiutato.