Protocoles de communication des appareils - AWS IoT Core

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Protocoles de communication des appareils

AWS IoT Core prend en charge les appareils et les clients qui utilisent les protocoles MQTT et MQTT over WebSocket Secure (WSS) pour publier des messages et s'y abonner, ainsi que les appareils et clients qui utilisent le HTTPS protocole pour publier des messages. Tous les protocoles prennent en charge IPv4 etIPv6. Cette section décrit les différentes options de connexion pour les appareils et les clients.

TLS1.2 et TLS 1.3

AWS IoT Core utilise les TLSversions 1.2 et TLS1.3 pour chiffrer toutes les communications. Lorsqu'ils connectent des appareils à AWS IoT Core, les clients peuvent envoyer l'extension Server Name Indication (SNI), qui n'est pas obligatoire mais fortement recommandée. Pour utiliser des fonctionnalités telles que l'enregistrement multi-comptes, les domaines personnalisés et les VPCpoints de terminaison, vous devez utiliser l'SNIextension. Pour plus d'informations, consultez la section Sécurité du transport dans AWS IoT.

Le AWS IoT Appareil SDKs support MQTT WSS et MQTT le support aux exigences de sécurité des connexions client. Nous vous recommandons d'utiliser le AWS IoT Appareil SDKs pour connecter les clients à AWS IoT.

Protocols, port mappings, and authentication (Protocoles, mappages de ports et authentification)

La manière dont un appareil ou un client se connecte au agent de messages à l'aide d'un point de terminaison dépend du protocole utilisé. Le tableau suivant répertorie les protocoles pris en charge par les points de terminaison de l' AWS IoT appareil ainsi que les méthodes d'authentification et les ports qu'ils utilisent.

Protocoles, authentification et mappages de port
Protocole Opérations prises en charge Authentification Port ALPNnom du protocole

MQTTterminé WebSocket

Publier, S'abonner Signature Version 4 443

N/A

MQTTterminé WebSocket

Publier/s'abonner Authentification personnalisée 443

N/A

MQTT

Publier, S'abonner

Certificat de client X.509

443

x-amzn-mqtt-ca

MQTT Publier, S'abonner Certificat de client X.509 8883 N/A

MQTT

Publier/s'abonner

Authentification personnalisée

443

mqtt

HTTPS

Publier uniquement

Signature Version 4

443

N/A

HTTPS

Publier uniquement

Certificat de client X.509

443

x-amzn-http-ca

HTTPS Publier uniquement Certificat de client X.509 8443 N/A
HTTPS Publier uniquement Authentification personnalisée 443 N/A
Négociation du protocole de la couche application (ALPN)

Les clients qui se connectent sur le port 443 avec l'authentification par certificat client X.509 doivent implémenter l'TLSextension Application Layer Protocol Negotiation (ALPN) et utiliser le nom du ALPN protocole indiqué dans le ClientHello message ALPN ProtocolNameList envoyé par le client.

Sur le port 443, le point de terminaison IoT:data- est compatible ALPN x-amzn-http-ca HTTP, mais pas le point de ATS terminaison IoT:Jobs.

Sur le port 8443 HTTPS et le port 443 MQTT avec ALPN x-amzn-mqtt-ca, l'authentification personnalisée ne peut pas être utilisée.

Les clients se connectent aux terminaux Compte AWS de leurs appareils. Consultez la section AWS IoT données de l'appareil et points de terminaison de service pour plus d'informations sur la façon de trouver les points de terminaison de l'appareil de votre compte.

Note

AWS SDKsJe n'ai pas besoin de l'intégralitéURL. Ils ont uniquement besoin du nom d'hôte du point de terminaison, tel que l'pubsub.pyexemple pour AWS IoT Device SDK for Python on GitHub. La transmission de l'intégralité URL comme indiqué dans le tableau suivant peut générer une erreur telle qu'un nom d'hôte non valide.

Connexion à AWS IoT Core

Protocole

Endpoint ou URL

MQTT

iot-endpoint

MQTTterminé WSS

wss://iot-endpoint/mqtt

HTTPS

https://iot-endpoint/topics

Choix d'un protocole pour la communication de votre appareil

Pour la plupart des communications entre appareils IoT via les points de terminaison de l'appareil, vous devez utiliser les protocoles MQTT ou MQTT via les WSS protocoles ; toutefois, les points de terminaison de l'appareil sont également compatibles. HTTPS Le tableau suivant compare l' AWS IoT Core utilisation des deux protocoles pour la communication entre appareils.

AWS IoT protocoles de l'appareil side-by-side

Fonctionnalité

MQTT

HTTPS

Assistance pour la publication/abonnement

Publication et d'abonnement

Publier uniquement

SDKsoutien

AWS SDKsSupport des appareils MQTT et WSS protocoles

Aucune SDK assistance, mais vous pouvez utiliser des méthodes spécifiques à la langue pour faire des demandes HTTPS

Prise en charge de la qualité de service

MQTTNiveaux de QoS 0 et 1

La QoS est prise en charge en transmettant un paramètre de chaîne de requête ?qos=qos dont la valeur peut être 0 ou 1. Vous pouvez ajouter cette chaîne de requête pour publier un message avec la valeur de QoS souhaitée.
Les messages de réception peuvent-ils être manqués lorsque l'appareil était hors ligne Oui Non

Soutien sur le terrain clientId

Oui

Non

Détection de déconnexion de l'appareil

Oui

Non

Communications sécurisées

Oui. Consultez Protocols, port mappings, and authentication (Protocoles, mappages de ports et authentification).

Oui. Consultez Protocols, port mappings, and authentication (Protocoles, mappages de ports et authentification).

Définitions de rubriques

Application définie

Application définie

Format des données des messages

Application définie

Application définie

Surcharge de protocole Inférieur Supérieur
Consommation d’énergie Inférieur Supérieur

Limites de durée de connexion

HTTPSil n'est pas garanti que les connexions dureront plus longtemps que le temps nécessaire pour recevoir et répondre aux demandes.

MQTTla durée de la connexion dépend de la fonctionnalité d'authentification que vous utilisez. Le tableau suivant répertorie la durée maximale de connexion dans des conditions idéales pour chaque fonctionnalité.

MQTTdurée de connexion par fonction d'authentification

Fonctionnalité

Durée maximum *

Certificat de client X.509

1 à 2 semaines

Authentification personnalisée

1 à 2 semaines

Signature Version 4

Jusqu'à 24 heures

* Non garanti

Avec les certificats X.509 et l'authentification personnalisée, la durée de connexion n'est pas limitée, mais elle peut être aussi courte que quelques minutes. Ces erreurs peuvent se produire pour diverses raisons. La liste suivante contient certaines des raisons les plus courantes.

  • Interruptions de disponibilité du Wi-Fi

  • Interruptions de connexion du fournisseur d'accès à Internet (ISP)

  • Correctifs de service

  • Déploiements de services

  • Service Auto Scaling

  • Service hôte non disponible

  • Problèmes et mises à jour de l'équilibreur de charge

  • Erreurs côté du client

Vos appareils doivent mettre en œuvre des stratégies pour détecter les déconnexions et les reconnexions. Pour plus d'informations sur les événements de déconnexion et des conseils sur la façon de les gérer, consultez Événements de connexion/déconnexion àÉvénements du cycle de vie.