Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Protocolli di dispositivo di comunicazione
AWS IoT Core supporta dispositivi e client che utilizzano i protocolli MQTT e MQTT over WebSocket Secure (WSS) per pubblicare e sottoscrivere messaggi e dispositivi e client che utilizzano il HTTPS protocollo per pubblicare messaggi. Tutti i protocolli supportano IPv4 eIPv6. In questa sezione vengono descritte le diverse opzioni di connessione per dispositivi e client.
TLSversioni del protocollo
AWS IoT Core utilizza TLS
Il AWS IoT Dispositivo SDKs supporto MQTT WSS e MQTT oltre i requisiti di sicurezza delle connessioni client. Si consiglia di utilizzare il AWS IoT Dispositivo SDKs per connettere i client a AWS IoT.
Protocolli, mappature delle porte e autenticazione
Il modo in cui un dispositivo o un client si connette al broker di messaggi è configurabile utilizzando un tipo di autenticazione. Per impostazione predefinita o quando non viene inviata alcuna SNI estensione, il metodo di autenticazione si basa sul protocollo dell'applicazione, sulla porta e sull'TLSestensione Application Layer Protocol Negotiation (ALPN) utilizzati dai dispositivi. La tabella seguente elenca l'autenticazione prevista in base a porta, porta eALPN.
Protocollo | Operazioni supportate | Autenticazione | Porta | ALPNnome del protocollo |
---|---|---|---|---|
MQTTfinita WebSocket |
Pubblicazione, sottoscrizione | Signature Version 4 | 443 |
N/D |
MQTTsopra WebSocket |
Pubblicazione, sottoscrizione | Autenticazione personalizzata | 443 |
N/D |
MQTT |
Pubblicazione, sottoscrizione |
Certificato client X.509 |
443† |
|
MQTT | Pubblicazione, sottoscrizione | Certificato client X.509 | 8883 | N/D |
MQTT |
Pubblicazione, sottoscrizione |
Autenticazione personalizzata |
443† |
|
HTTPS |
Solo pubblicazione |
Signature Version 4 |
443 |
N/D |
HTTPS |
Solo pubblicazione |
Certificato client X.509 |
443† |
|
HTTPS | Solo pubblicazione | Certificato client X.509 | 8443 | N/D |
HTTPS | Solo pubblicazione | Autenticazione personalizzata | 443 | N/D |
Negoziazione del protocollo a livello di applicazione () ALPN
† Quando si utilizzano configurazioni endpoint predefinite, i client che si connettono alla porta 443 con l'autenticazione tramite certificato client X.509 devono implementare l'TLSestensione Application Layer Protocol Negotiation (ALPN)ClientHello
I client si connettono agli endpoint dei Account AWS propri dispositivi. Consulta AWS IoT dati del dispositivo e endpoint di servizio per informazioni su come trovare gli endpoint del dispositivo dell'account.
Nota
AWS SDKsnon richiedono il tuttoURL. Richiedono solo il nome host dell'endpoint, ad pubsub.py
esempio per AWS IoT Device for SDK Python on
Protocollo |
Endpoint o URL |
---|---|
MQTT |
|
MQTTfinita WSS |
|
HTTPS |
|
Scelta di un protocollo applicativo per la comunicazione del dispositivo
Per la maggior parte delle comunicazioni dei dispositivi IoT attraverso gli endpoint del dispositivo, ti consigliamo di utilizzare i protocolli Secure MQTT o MQTT over WebSocket Secure (WSS); tuttavia, supportano anche gli endpoint del dispositivo. HTTPS
La tabella seguente confronta il modo in cui AWS IoT Core vengono utilizzati i due protocolli di alto livello (MQTTeHTTPS) per la comunicazione tra dispositivi.
Funzionalità |
||
---|---|---|
Supporto pubblicazione/sottoscrizione |
Pubblicazione e sottoscrizione |
Solo pubblicazione |
Supporto di SDK |
AWS SDKsSupporto MQTT e WSS protocolli dei dispositivi |
Nessun SDK supporto, ma puoi utilizzare metodi specifici della lingua per effettuare richieste HTTPS |
Supporto Qualità del servizio |
QoS è supportato passando un parametro di stringa di query ?qos=qos dove il valore può essere 0 o 1. È possibile aggiungere questa stringa di query per pubblicare un messaggio con il valore QoS desiderato. |
|
È possibile ricevere messaggi mancanti mentre il dispositivo era offline | Sì | No |
Supporto del campo |
Sì |
No |
Rilevamento disconnessione dispositivo |
Sì |
No |
Sicurezza delle comunicazioni |
Sì. Consulta Protocolli, mappature delle porte e autenticazione |
Sì. Consulta Protocolli, mappature delle porte e autenticazione |
Definizioni degli argomenti |
Applicazione definita |
Applicazione definita |
Formato dei dati del messaggio |
Applicazione definita |
Applicazione definita |
Sovraccarico del protocollo | Più basso | Più alto |
Consumo energetico | Più basso | Più alto |
Scelta di un tipo di autenticazione per la comunicazione con il dispositivo
Puoi configurare il tipo di autenticazione per il tuo endpoint IoT utilizzando endpoint configurabili. In alternativa, utilizza la configurazione predefinita e determina in che modo i dispositivi si autenticano con la combinazione di protocollo applicativo, porta ed estensione. ALPN TLS Il tipo di autenticazione scelto determina il modo in cui i dispositivi si autenticheranno durante la connessione durante la connessione a. AWS IoT Core Esistono cinque tipi di autenticazione:
certificato X.509
Autentica i dispositivi utilizzando i certificati client X.509, che AWS IoT Core convalidano l'autenticazione del dispositivo. Questo tipo di autenticazione funziona con Secure MQTT (MQTTover) e protocolli. TLS HTTPS
Certificato X.509 con autorizzatore personalizzato
Autentica i dispositivi utilizzando certificati client X.509 ed esegui azioni di autenticazione aggiuntive utilizzando un autorizzatore personalizzato, che riceverà le informazioni sul certificato client X.509. Questo tipo di autenticazione funziona con Secure MQTT (over) e protocolli. MQTT TLS HTTPS Questo tipo di autenticazione è possibile solo utilizzando endpoint configurabili con autenticazione personalizzata X.509. Non vi è alcuna opzione ALPN.
AWS Signature versione 4 (SigV4)
Autentica i dispositivi utilizzando Cognito o il tuo servizio di backend, supportando la federazione sociale e aziendale. Questo tipo di autenticazione funziona con MQTT WebSocket Secure (WSS) e protocolli. HTTPS
Autorizzatore personalizzato
Autentica i dispositivi configurando una funzione Lambda per elaborare le informazioni di autenticazione personalizzate inviate a. AWS IoT Core Questo tipo di autenticazione funziona con i protocolli Secure MQTT (MQTToverTLS) e MQTT over WebSocket Secure (WSS). HTTPS
Impostazione predefinita
Autentica i dispositivi in base alla porta e/o all'estensione del protocollo di negoziazione a livello di applicazione (ALPN) utilizzata dai dispositivi. Alcune opzioni di autenticazione aggiuntive non sono supportate. Per ulteriori informazioni, consulta Protocolli, mappature delle porte e autenticazione.
La tabella seguente mostra tutte le combinazioni supportate di tipi di autenticazione e protocolli applicativi.
Tipo di autenticazione | Sicuro MQTT (MQTTfinitoTLS) | MQTTsu WebSocket Secure (WSS) | HTTPS | Predefinita |
---|---|---|---|---|
certificato X.509 | ✓ | ✓ | ||
Certificato X.509 con autorizzatore personalizzato | ✓ | ✓ | ||
AWS Signature versione 4 (SigV4) | ✓ | ✓ | ||
Autorizzatore personalizzato | ✓ | ✓ | ✓ | |
Impostazione predefinita | ✓ | ✓ |
Limiti di durata della connessione
HTTPSNon è garantito che le connessioni durino più a lungo del tempo necessario per ricevere e rispondere alle richieste.
MQTTla durata della connessione dipende dalla funzionalità di autenticazione utilizzata. La tabella seguente elenca la durata massima della connessione nelle condizioni ideali per ciascuna caratteristica.
Funzionalità |
Durata massima * |
---|---|
Certificato client X.509 |
1—2 settimane |
Autenticazione personalizzata |
1—2 settimane |
Signature Version 4 |
Fino a 24 ore |
* Non garantito
Con i certificati X.509 e l'autenticazione personalizzata, la durata della connessione non ha limiti rigidi, ma può durare pochi minuti. Per vari motivi si possono verificare interruzioni di connessione. L'elenco seguente contiene alcuni dei motivi più comuni.
-
Interruzioni di disponibilità Wi-Fi
-
interruzioni della connessione del provider di servizi Internet (ISP)
-
Patch di servizi
-
Implementazioni di servizi
-
Scalabilità automatica del servizio
-
Host del servizio non disponibile
-
Problemi e aggiornamenti del bilanciamento del carico
-
Errori lato client
I dispositivi devono implementare strategie per rilevare le disconnessioni e la riconnessione. Per informazioni sulla disconnessione di eventi e indicazioni su come gestirli, consulta Eventi di connessione/disconnessione in Eventi del ciclo di vita.