Demonstration de UPnP par TV et Telecommande

On a utilisé Wireshark pour analyser les messages échangés entre la télévision et la télécommande.

Les étapes sont les suivantes :

  1. lancement de la capture de wireshark
  2. lancement de la commande de contrôle
  3. lancer de la télévision par la commande
  4. fermer de la télévision par la commande
  5. débranchement de la commande

Étape 1 : Adressage

Les points de contrôles et les périphériques cherchent un serveur DHCP pour se procurer une adresse IP. Si aucun serveur DHCP n’est disponible, Auto-IP est utilisé pour obtenir une adresse.

Les équipements envoient un message DHCPDISCOVER via DHCP. Si un DHCPOFFER est reçu les équipements continuent le processus d’obtention dynamique d’uneadresseIP, sinon, ceux-ci doivent utiliser un Auto-IP.

Étape 2 : Découverte

upnp_discovery_phase

Dans la découverte, le périphérique fait ce qu’on peut appeler de la publicité. Il envoie un message NOTIFY à tous les points de contrôles en utilisant UDP.

Après cela, le point de contrôle recherche le périphérique ou le service.

Il envoie un message M-SEARCH.

3-M-SEARCH-discover

Et pour finir le périphérique envoie un message de réponse au point de contrôle (HTTP/1.1 200 OK) si le paramètre NT correspond à ST.

9-HTTP-200-OK

Les 2 requêtes utilisent le protocole SSDP.

Étape 3 : Description

À partir de l’argument LOCATION qui contient l’URL du périphérique, le point de contrôle peut accéder à un fichier XML qui contient plusieurs informations sur le périphérique et sur ses services. Il y a deux parties dans la description d’un périphérique : la description physique et la description logique.

La description de services informe sur les capacités du périphérique.

Obtenir la description du périphérique est simple : le point de contrôle envoie une requête HTTP GET à l’URL contenu dans le message de découverte (idem pour avoir la description du service).

Les documents de description doivent être envoyés en utilisant l’adresse IP contenue dans la réponse à la requête HTTP GET.

Si un périphérique a besoin de changer certaines de ses descriptions, il doit quitter la publicité et republier ensuite.

Par conséquent, le point de contrôle peut détecter un changement de description suite à l’apparition d’un périphérique dans le réseau ; il suffit pour cela qu’il vérifie la présence de la variable CONFIGID.UPNP.ORG dans la publicité.

Un message HTTP GET :

10-desc

Étape 4 : Contrôle

Un point de contrôle envoie l’action au service du périphérique. Lorsque l’action a été exécutée (ou lorsqu’elle a échoué), le service retourne des résultats ou éventuellement des erreurs.

Il envoie un message de contrôle à l’URL de contrôle présente dans la description du périphérique. Le service retourne des résultats. Les effets de l’action changent les variables d’états du service. Quand ces variables changent, des événements sont publiés à tous les points de contrôle qui sont intéressés.

Invocation de message:

12-POST-CONTROL

Réponse à l’action :

13-resp

Étape 5 : Événement

Pour souscrire au serveur d’événement, le point de contrôle envoie un message de souscription qui contient l’URL du périphérique, l’identificateur du service et une URL pour la délivrance des messages.

Si la souscription est acceptée, le périphérique répond avec une durée et un identificateur unique pour la souscription. La durée de souscription doit être choisie en fonction de la présence du point de contrôle dans le réseau.

Pour garder la souscription active, le point de contrôle doit renouveler la souscription avant qu’elle n’expire. Dans ce cas, le message de renouvellement ne contient plus l’URL de délivrance mais l’identificateur de souscription. La réponse est la même que pour celle du message de souscription.

Si le point de contrôle n’a plus besoin d’être informé des événements, il doit envoyer un message « cancel » pour quitter la souscription.

Si ce message n’est pas émis par le point de contrôle dans un délai de 30 secondes, le périphérique abandonne l’envoi de la notification mais conserve la souscription active pour une future notification d’événement.

Étape 6 : Présentation

Pour ouvrir la page de présentation, le point de contrôle envoie un message HTTP GET et le périphérique répond avec un message HTTP Response

Yasser ROUGUI
Alexandre PASCAULT
Zhichuan JIN
Haoyue CHEN
Yuancheng PENG

Ce contenu a été publié dans L'Internet des Objets. Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *