TR-069: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
aggiunto dettagli sulla comunicazione CPE - ACS
Riga 30:
*interrogazione di informazioni, diagnostica, stato, e capacità
*allarmi automatici controllati da processi.
 
== Comunicazioni ==
 
=== Transporto ===
Il CWMP è un protocollo basato su test. I comandi inviati tra il CPE e ACS sono trasportati su HTTP (o più frequentemente su HTTPS). A questo livello (HTTP) il CPE agisce come client e ACS com server HTTP. Questo essenzialmente significa che il controllo sul flusso della sessione di approvvigionamento (''provisioning session)'' è totalmente a carico del CPE.
 
=== Parametri di configurazione ===
Affichè il CPE possa connettersi al server, esso necessita che alcuni parametri siano configurati in precedenza. Questi parametri includono la URL del server a cui l'apparato vuole collegarsi e l'intervallo di tempo tra il quale l'apparato inizierà la sessione di approvviogionamento (''PeriodicInformInterval''). Inoltre, se l'autenticazione è necessaria per ragioni di sicurezza, informazioni come utente e password devono essere fornite.
 
=== Sessione di approvvigionamento (Provisioning session) ===
Tutte le comunicazioni e le operazioni vengono eseguite nell'ambito della sessione di fornitura. La sessione è sempre avviata dal dispositivo (CPE) e inizia con la trasmissione di un messaggio ''Inform'' (informare) .La sua ricezione e disponibilità del server per la sessione è indicata da un messaggio ''InformResponse'' (risposta al comando Inform). Questo conclude la fase di inizializzazione della sessione. L'ordine delle due fasi successive dipende dal valore del flag ''HoldRequests'' (Sospendere Richieste). Se il valore è falso (''false'') la fase di inizializzazione è seguita dalla trasmissione delle richieste del dispositivo, altrimenti vengono trasmessi prima gli ordini ACS. La seguente descrizione presuppone che il valore sia falso.
 
Nella seconda fase, gli ordini vengono trasmessi dal dispositivo all'ACS. Anche se il protocollo definisce più metodi che possono essere invocati dal dispositivo sull'ACS, ne viene comunemente trovato solo uno - ''TransferComplete'' (trasferimento completato) - che viene utilizzato per informare l'ACS del completamento di un trasferimento di file avviato da una richiesta di Download o Upload emessa in precedenza. Questa fase è finalizzata alla trasmissione di una richiesta ''HTTP-request'' (richiesta HTTP) vuota all'ACS.
 
Nella terza fase i ruoli cambiano a livello CWMP. La risposta HTTP (HTTP-response) per la richiesta HTTP vuota del dispositivo conterrà una richiesta CWMP (CWMP-request) dall'ACS. Questo sarà successivamente seguito da una richiesta HTTP contenente una risposta CWMP (CWMP-response) per la precedente richiesta CWMP. Più ordini possono essere trasmessi uno per uno. Questa fase (e l'intera sessione di provisioning) viene terminata da una risposta HTTP vuota dall'ACS che indica che non sono più in sospeso ordini.
 
==== Attivatori di sessione ====
Esistono determinati eventi che attiveranno la sessione di provisioning. Questi includono:
 
* Bootstrap: quando il dispositivo contatta il server per la prima volta, l'URL del server è cambiato o le impostazioni del dispositivo sono state ripristinate ai valori predefiniti;
* Periodico: il dispositivo è programmato per eseguire una sessione periodica, secondo le impostazioni PeriodicInformInterval;
* Richiesta di connessione: il dispositivo risponde alla richiesta di connessione del server;
* Modifica valore – il valore per un parametro che viene monitorato è cambiato;
* Boot: dopo che il dispositivo è stato ripristinato o ha perso l'alimentazione ed è stato ricollegato;
* Pianificato: quando il server ha precedentemente indicato al dispositivo di inizializzare una sessione aggiuntiva con il comando ScheduleInform;
* Trasferimento completato – dopo che il dispositivo ha terminato il download o il caricamento dei file richiesti dal server;
* Diagnostica completata: una volta che il dispositivo ha terminato una diagnostica.
 
==== Sicurezza e autenticazione ====
Poiché i dati vitali (come nomi utente e password) possono essere trasmessi al CPE tramite CWMP, è essenziale fornire un canale di trasporto sicuro e autenticare sempre il CPE rispetto all'ACS. Il trasporto sicuro e l'autenticazione dell'identità ACS possono essere facilmente forniti mediante l'utilizzo di HTTPS e la verifica del certificato ACS. L'autenticazione del CPE è più problematica. L'identità del dispositivo viene verificata in base a un segreto condiviso (password) a livello HTTP. Le password possono essere negoziate tra le parti (CPE-ACS) ad ogni sessione di provisioning. Quando il dispositivo contatta l'ACS per la prima volta (o dopo un ripristino di fabbrica) vengono utilizzate le password predefinite. Nelle reti di grandi dimensioni è responsabilità dell'approvvigionamento garantire che ogni dispositivo utilizzi credenziali univoche, il loro elenco viene consegnato con i dispositivi stessi e protetto.
 
=== Richiesta di connessione ===
L'inizializzazione e il controllo del flusso della sessione di provisioning è di esclusiva responsabilità del dispositivo, ma è possibile che l'ACS richieda l'avvio di una sessione dal dispositivo. Anche il meccanismo di richiesta di connessione è basato su HTTP. In questo caso il dispositivo (CPE) assume il ruolo di server HTTP. L'ACS richiede una connessione al dispositivo visitando un URL negoziato ed eseguendo l'autenticazione HTTP. Viene inoltre negoziato in anticipo un segreto condiviso con il dispositivo (ad es. sessione di provisioning precedente) per impedire l'utilizzo di CPE per attacchi DDoS sul server di provisioning (ACS). Dopo l'invio della conferma da parte del dispositivo, la sessione di provisioning deve essere avviata il prima possibile e non oltre 30 secondi dopo la trasmissione della conferma.
 
==== Richiesta di connessione su NAT ====
Il protocollo CWMP definisce anche un meccanismo per raggiungere i dispositivi che sono collegati dietro NAT (es. IP-Phones, Set-top box). Questo meccanismo, basato su STUN e UDP NAT traversal, è definito nel documento TR-069 Annex G (ex TR-111).
 
L'emendamento 5 del protocollo introduce un metodo alternativo di esecuzione della richiesta di connessione tramite NAT basato su XMPP (vedere l'allegato K dell'emendamento 5 TR-069 per i dettagli).
 
== Voci correlate ==