# Protocollo di base DIAMETER: RFC 6733 spiegato

> DIAMETER (IETF RFC 6733) è il protocollo AAA e di segnalazione per LTE, IMS e l'interlavoro 5G. Trasporta coppie comando richiesta/risposta — ciascuna un header da 20 byte più AVP — su SCTP o TCP con TLS. I peer negoziano le capacità con CER/CEA, monitorano la vitalità con DWR/DWA e chiudono in modo ordinato con DPR/DPA.

- URL canonico: https://www.broadnet.me/it/reference/diameter-base-protocol
- Lingua: it
- Ultimo aggiornamento: 2026-07-18
- Editore: BroadNet (https://www.broadnet.me)

Come funziona il protocollo di base DIAMETER secondo RFC 6733: l'header del messaggio da 20 byte, i command code e i flag R/P/E/T, lo scambio di capacità CER/CEA, il watchdog DWR/DWA e la disconnessione DPR/DPA, su SCTP o TCP/TLS.

## Che cos'è DIAMETER

DIAMETER è il protocollo di base per autenticazione, autorizzazione e accounting (AAA) definito dall'IETF nella RFC 6733, ed è il trasporto scelto da 3GPP per il piano di controllo di LTE e IMS. Ha sostituito RADIUS nelle grandi reti degli operatori ed è, sul lato a pacchetto, il corrispettivo di SS7/MAP sul lato legacy — trasportando la gestione della sottoscrizione e della mobilità (S6a verso l'HSS), policy e charging (Gx, Gy) e la registrazione IMS (Cx/Dx). Tutto avviene come coppie di comandi richiesta/risposta tra peer identificati da una Diameter Identity (un FQDN) e raggruppati in realm.

## L'header del messaggio

Ogni messaggio DIAMETER inizia con un header fisso di 20 ottetti seguito da un elenco variabile di AVP. L'header contiene una Version (sempre 1), una Message Length a 24 bit, un ottetto di Command Flags, un Command Code a 24 bit, un Application-Id a 32 bit che nomina l'applicazione a cui appartiene il messaggio e due identificatori. L'Hop-by-Hop Identifier associa una richiesta alla sua risposta tra due peer adiacenti e viene riscritto da ogni proxy; l'End-to-End Identifier è impostato dall'originatore, preservato inalterato lungo tutto il percorso e usato per rilevare i duplicati.

*Header del messaggio DIAMETER RFC 6733 (20 ottetti)*

```text
0                   1                   2                   3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|  Version=1    |            Message Length (24)             |
| Command Flags |            Command Code (24)               |
|                    Application-Id (32)                     |
|                 Hop-by-Hop Identifier (32)                 |
|                 End-to-End Identifier (32)                 |
|  AVPs ...                                                  |
Command Flags:  R P E T r r r r
```

## Command flags e command code

Un Command Code più l'Application-Id nominano l'operazione; la risposta riutilizza lo stesso command code con il bit Request azzerato. Quattro command flags trasportano la semantica del messaggio. R (Request) distingue una richiesta da una risposta. P (Proxiable) indica che il messaggio può essere inoltrato via proxy, relay o redirect anziché gestito localmente. E (Error) contrassegna una risposta di errore di protocollo. T (potenzialmente ritrasmesso) contrassegna una richiesta re-inviata dopo un failover di collegamento, così il ricevente può difendersi dai duplicati. Il protocollo di base definisce i comandi di servizio; applicazioni come S6a, Gx e Cx definiscono i propri command code al di sopra.

*Command code di base di DIAMETER (RFC 6733)*

| Comando | Codice | Scopo |
|---|---|---|
| CER / CEA | 257 | Capabilities-Exchange — negozia le applicazioni supportate alla connessione |
| DWR / DWA | 280 | Device-Watchdog — liveness del peer / keepalive (RFC 3539) |
| DPR / DPA | 282 | Disconnect-Peer — chiusura ordinata della connessione |
| RAR / RAA | 258 | Re-Auth: il server chiede al client di riautorizzare una sessione |
| STR / STA | 275 | Session-Termination — il client termina una sessione autorizzata |
| ASR / ASA | 274 | Abort-Session — il server forza la chiusura della sessione |
| ACR / ACA | 271 | Accounting-Request/Answer (accounting di base) |

## Scambio di capacità: CER / CEA

Immediatamente dopo l'apertura di una connessione di trasporto, i due peer si scambiano un Capabilities-Exchange-Request e Answer (comando 257, Application-Id 0). Ciascun lato annuncia il proprio Origin-Host e Origin-Realm, il proprio Host-IP-Address, un Vendor-Id e — punto cruciale — l'insieme delle applicazioni che supporta tramite gli AVP Auth-Application-Id, Acct-Application-Id e Vendor-Specific-Application-Id. Se i peer non condividono alcuna applicazione comune la connessione viene rifiutata. CER/CEA è il modo con cui un nodo apprende se il peer sa parlare S6a, Gx o Cx prima che scorra qualsiasi traffico applicativo, e avviene esattamente una volta per connessione.

## Keepalive e chiusura: DWR / DPR

DIAMETER usa il watchdog della RFC 3539 per rilevare un peer morto più rapidamente di quanto farebbe il trasporto da solo. Quando una connessione è inattiva, un peer invia un Device-Watchdog-Request (comando 280) e attende un Device-Watchdog-Answer entro l'intervallo di watchdog; mancanze ripetute portano il peer in uno stato di guasto e il traffico viene reinstradato verso un'alternativa. Per chiudere deliberatamente una connessione — per manutenzione o riconfigurazione — un peer invia un Disconnect-Peer-Request (comando 282) che trasporta un Disconnect-Cause (REBOOTING, BUSY o DO_NOT_WANT_TO_TALK_TO_YOU), lasciando all'altro lato la decisione se riconnettersi.

## Trasporto: SCTP e TCP con TLS

La RFC 6733 impone il supporto sia di SCTP (RFC 4960) sia di TCP, con SCTP preferito per la segnalazione perché il suo multi-streaming evita il blocco head-of-line e il suo multi-homing offre ridondanza di percorso. La porta nota è la 3868. La sicurezza è fornita da TLS su TCP o DTLS su SCTP; all'interno di un dominio operatore fidato molti dispiegamenti usano invece IPsec a livello di rete. DIAMETER non dispone di un'autenticazione dei messaggi in-band propria, ed è per questo che contano la sicurezza del trasporto e il filtraggio ai bordi discussi in Sicurezza del roaming DIAMETER.

## Domande frequenti

### Che cos'è il protocollo di base DIAMETER?

È il protocollo AAA e di segnalazione definito nella IETF RFC 6733, usato come trasporto del piano di controllo per LTE, IMS e l'interlavoro 5G. Trasporta coppie comando richiesta/risposta — un header da 20 byte più AVP — su SCTP o TCP con TLS, e definisce lo scambio di capacità, il keepalive di watchdog e la disconnessione ordinata.

### Cosa significano i flag R, P, E e T?

R contrassegna una Request (azzerato nella risposta). P contrassegna il messaggio come Proxiable — può essere instradato via relay, proxy o redirect. E contrassegna una risposta di Error. T contrassegna una richiesta come potenzialmente ritrasmessa dopo un failover, così il ricevente può rilevare un duplicato usando l'End-to-End Identifier.

### Qual è la differenza tra Hop-by-Hop ed End-to-End Identifier?

L'Hop-by-Hop Identifier associa una richiesta alla sua risposta tra due peer adiacenti e viene riscritto da ogni proxy. L'End-to-End Identifier è impostato una sola volta dall'originatore, preservato inalterato lungo l'intero percorso e usato per rilevare i messaggi duplicati dopo una ritrasmissione.

### A cosa serve lo scambio CER/CEA?

Il Capabilities-Exchange-Request/Answer (comando 257) avviene una volta all'apertura di una connessione. I peer annunciano la propria identità e le applicazioni DIAMETER che supportano (Auth-Application-Id, Vendor-Specific-Application-Id). Se non viene condivisa alcuna applicazione la connessione viene rifiutata, così entrambi i lati sanno in anticipo se possono parlare S6a, Gx o Cx.

### Quale porta e trasporto usa DIAMETER?

DIAMETER usa la porta nota 3868 su SCTP o TCP, con SCTP preferito per la segnalazione grazie a multi-streaming e multi-homing. La sicurezza è TLS su TCP o DTLS su SCTP; all'interno di un dominio operatore fidato è invece comune IPsec a livello di rete.

### Come rileva un peer DIAMETER che il proprio partner è caduto?

Usa il device watchdog della RFC 3539: su una connessione inattiva un peer invia un Device-Watchdog-Request (comando 280) e attende un Device-Watchdog-Answer entro l'intervallo di watchdog. Risposte ripetutamente mancate portano il peer in uno stato di guasto e il traffico viene reinstradato verso un peer alternativo.

## Fonti

- [IETF RFC 6733 — Diameter Base Protocol](https://datatracker.ietf.org/doc/html/rfc6733)
- [IETF RFC 3539 — AAA Transport Profile (watchdog)](https://datatracker.ietf.org/doc/html/rfc3539)

## Correlati

- [AVP DIAMETER e formato del messaggio](https://www.broadnet.me/it/reference/diameter-avps-and-message-format)
- [DIAMETER vs RADIUS](https://www.broadnet.me/it/reference/diameter-vs-radius)
- [DIAMETER S6a/S6d verso l'HSS](https://www.broadnet.me/it/reference/diameter-s6a-s6d-hss)
- [SS7 vs SIGTRAN](https://www.broadnet.me/it/reference/ss7-vs-sigtran)
- [Piattaforma di segnalazione e CDR](https://www.broadnet.me/it/platforms/signaling-cdr)
