Passa al contenuto principale

3. Classes of Constrained Devices (Classi di dispositivi vincolati)

3. Classes of Constrained Devices (Classi di dispositivi vincolati)

Nonostante la schiacciante varietà di dispositivi connessi a Internet, potrebbe essere utile avere una terminologia succinta per diverse classi di dispositivi vincolati.

In questo documento, le designazioni di classe nella tabella 1 possono essere utilizzate come indicazioni approssimative delle capacità dei dispositivi:

NomeDimensione dei dati (es., RAM)Dimensione del codice (es., Flash)
Class 0<< 10 KiB<< 100 KiB
Class 1~ 10 KiB~ 100 KiB
Class 2~ 50 KiB~ 250 KiB

Tabella 1: Classi di dispositivi vincolati (KiB = 1024 byte)

Al momento della stesura di questo documento, queste caratteristiche corrispondono a cluster distinguibili di chip e core di progettazione disponibili commercialmente per dispositivi vincolati. Sebbene si preveda che i confini di queste classi si sposteranno nel tempo, la legge di Moore tende ad essere meno efficace nello spazio embedded che nei dispositivi di personal computing: i guadagni resi disponibili dagli aumenti nel numero e nella densità dei transistor sono più probabilmente investiti in riduzioni di costi e requisiti di potenza piuttosto che in aumenti continui nella potenza di calcolo.

I dispositivi di classe 0 sono mote molto vincolati simili a sensori. Sono così severamente vincolati in memoria e capacità di elaborazione che molto probabilmente non avranno le risorse necessarie per comunicare direttamente con Internet in modo sicuro (rare implementazioni eroiche e attentamente elaborate a parte). I dispositivi di classe 0 parteciperanno alle comunicazioni Internet con l'aiuto di dispositivi più grandi che agiscono come proxy, gateway o server. I dispositivi di classe 0 generalmente non possono essere protetti o gestiti in modo completo nel senso tradizionale. Molto probabilmente saranno preconfigurati (e verranno riconfigurati raramente, se mai) con un set di dati molto piccolo. A scopi di gestione, potrebbero rispondere ai segnali di keepalive e inviare indicazioni di accensione/spegnimento o di salute di base.

I dispositivi di classe 1 sono abbastanza vincolati nello spazio di codice e nelle capacità di elaborazione, tanto che non possono facilmente comunicare con altri nodi Internet utilizzando uno stack di protocolli completo come l'uso di HTTP, Transport Layer Security (TLS) e protocolli di sicurezza correlati e rappresentazioni di dati basate su XML. Tuttavia, sono abbastanza capaci di utilizzare uno stack di protocolli specificamente progettato per i nodi vincolati (come il Constrained Application Protocol (CoAP) su UDP [COAP]) e partecipare a conversazioni significative senza l'aiuto di un nodo gateway. In particolare, possono fornire supporto per le funzioni di sicurezza richieste su una grande rete. Pertanto, possono essere integrati come peer completamente sviluppati in una rete IP, ma devono essere parsimoniosi con la memoria di stato, lo spazio di codice e spesso il consumo di energia per l'uso di protocolli e applicazioni.

I dispositivi di classe 2 sono meno vincolati e fondamentalmente capaci di supportare la maggior parte degli stessi stack di protocolli utilizzati su notebook o server. Tuttavia, anche questi dispositivi possono beneficiare di protocolli leggeri e ottimizzati per l'efficienza e dal consumo di meno larghezza di banda e risorse di rete. Inoltre, l'utilizzo di meno risorse per il networking lascia più risorse disponibili per le applicazioni. Pertanto, l'utilizzo degli stack di protocolli definiti per dispositivi più vincolati su dispositivi di classe 2 potrebbe ridurre i costi di sviluppo e aumentare l'interoperabilità.

Esistono dispositivi vincolati con capacità significativamente superiori ai dispositivi di classe 2. Sono meno impegnativi dal punto di vista dello sviluppo degli standard poiché possono in gran parte utilizzare i protocolli esistenti senza modifiche. Il presente documento quindi non fa alcun tentativo di definire classi vincolate oltre la classe 2. Questi dispositivi possono comunque essere vincolati da una fornitura di energia limitata.

Per quanto riguarda l'esame delle capacità dei nodi vincolati, in particolare per i dispositivi di classe 1, è importante capire che tipo di applicazioni sono in grado di eseguire e quali meccanismi di protocollo sarebbero più adatti. A causa delle limitazioni di memoria e di altro tipo, ogni specifico dispositivo di classe 1 potrebbe essere in grado di supportare solo alcune funzioni selezionate necessarie per il suo funzionamento previsto. In altre parole, l'insieme di funzioni che possono effettivamente essere supportate non è statico per tipo di dispositivo: dispositivi con vincoli simili potrebbero scegliere di supportare funzioni diverse. Anche se i dispositivi di classe 2 hanno alcune funzionalità più disponibili e potrebbero essere in grado di fornire un insieme più completo di funzioni, devono ancora essere valutati per il tipo di applicazioni che eseguiranno e le funzioni di protocollo di cui avrebbero bisogno. Per poter derivare requisiti, i casi d'uso e il coinvolgimento dei dispositivi nell'applicazione e nella rete devono essere analizzati. I casi d'uso possono combinare dispositivi vincolati di più classi così come nodi Internet più tradizionali.