Universal Plug and Play

ensemble de protocoles réseau

L’Universal Plug and Play (UPnP) est un ensemble de protocole réseau promulgué par l'UPnP Forum.

Le but de l'UPnP est de permettre à des périphériques de se connecter aisément et de simplifier la mise en œuvre de réseaux à la maison (partages de fichiers, communications, divertissements) ou dans les entreprises. UPnP le permet en définissant et en publiant les protocoles de commande UPnP au-dessus des standards de communication d'Internet.

Le terme UPnP est dérivé de Plug and Play, une technologie pour attacher dynamiquement les périphériques à l'ordinateur.

La compatibilité de matériels avec l'UPnP s'est développé durant les années 2000. Par exemple en France, chez le fournisseur d'accès à internet Orange, c'est à partir de la Livebox 2, sortie en 2009, que la box de ce FAI a inclus la fonction UPnP[1].

Présentation modifier

L'architecture UPnP[2] permet une mise en réseau poste à poste d'ordinateurs personnels, d'appareils réseaux et de périphériques sans fil. C'est une architecture ouverte, distribuée, basée sur les protocoles TCP/IP, UDP et HTTP.

UPnP permet la communication entre deux dispositifs quelconques sur le réseau local. Parmi ses possibilités :

Aucun pilote spécifique n'est utilisé, des protocoles communs leur sont préférés.

  • Contrôle par interface utilisateur (UI Control). L'architecture d'UPnP permet le contrôle des dispositifs par une interface utilisateur visible depuis un navigateur web.
  • Indépendance vis-à-vis du système d'exploitation et du langage de programmation. Tout système d'exploitation et tout langage de programmation peut être utilisé pour créer des produits UPnP. UPnP ne spécifie ni ne contraint d'API pour les applications exécutées sur des points de contrôle ; les fournisseurs de systèmes d'exploitation peuvent créer les API dont les clients ont besoin.
  • Basé sur les technologies internet : entre autres IP, TCP, UDP, HTTP et XML.
  • Contrôle applicatif. L'architecture d'UPnP permet également un contrôle par des applications conventionnelles, des programmes.
  • Extensibilité. Chaque produit UPnP peut implémenter des services spécifiques à ses périphériques au-dessus de l'architecture de base.

L'architecture UPnP supporte la zéro configuration, le « réseau invisible » et la découverte automatique pour plusieurs catégories de périphériques. Chaque périphérique peut joindre dynamiquement un réseau, obtenir une adresse IP, annoncer son nom, préciser ses possibilités sur simple demande et interroger les autres périphériques sur leur présence et leurs capacités. Les serveurs DHCP et DNS sont facultatifs et ne sont utilisés que s'ils sont présents sur le réseau. Les périphériques peuvent se déconnecter du réseau automatiquement sans laisser d'informations erronées.

La base du réseau UPnP est l'adressage IP. Chaque périphérique doit avoir un client DHCP et rechercher un serveur DHCP quand il est connecté pour la première fois au réseau. Si aucun serveur DHCP n'est disponible, c'est-à-dire que le réseau n'est pas géré, le périphérique s'assigne lui-même une adresse. Si, durant les transactions DHCP, le périphérique obtient un nom de domaine, par exemple, par un serveur DNS ou via le DNS forwarding, le périphérique devrait utiliser ce nom pour chaque opération réseau sinon il doit utiliser son adresse IP.

Le protocole modifier

Découverte (« Discovery ») modifier

Pour une adresse IP donnée, la première étape de la gestion d'un réseau UPnP est la découverte de services.

Quand un périphérique est connecté au réseau, le protocole de découverte d'UPnP permet à ce dispositif de prévenir les points de contrôle du réseau de ses services. Parallèlement, quand un point de contrôle est connecté au réseau, le protocole de découverte permet à ce point de contrôle de rechercher les dispositifs intéressants sur le réseau. Les échanges fondamentaux dans ces deux cas, sont des messages contenant les informations spécifiques essentielles sur le dispositif et un de ses services, comme son type, son identifiant ou un pointeur vers des informations plus détaillées. Le protocole de découverte UPnP est basé sur SSDP.

Description modifier

L'étape suivante dans un réseau UPnP est la description. Quand un point de contrôle a découvert un dispositif, il ne lui connaît que peu d'informations.

Pour qu'un point de contrôle puisse en apprendre davantage sur le dispositif et ses possibilités, ou pour interagir avec celui-ci, il doit récupérer la description du dispositif depuis l'URL fournie par celui-ci dans le message de découverte.

La description UPnP d'un dispositif est exprimée en XML et comprend des informations spécifiques au fournisseur du dispositif comme le nom du modèle, le numéro de série ou le nom du fournisseur, des URL vers les sites web des fournisseurs. Ces descriptions incluent également une liste des dispositifs embarqués ou services ainsi que les URL pour les commandes, les contrôles ou les présentations. Pour chaque service, la description inclut une liste de commandes ou d'actions auxquelles le service répond et les paramètres ou arguments pour chacune de ces actions.

La description de service inclut également la liste des variables décrivant l'état de ce service pendant son exécution en termes de types de données, de plage de valeurs ou de caractéristiques d'évènements.

Contrôle (« Control ») modifier

L'étape suivante est le contrôle. Après qu'un point de contrôle a reçu une description du dispositif, celui-ci peut envoyer des actions au service d'un dispositif.

Pour cela, un point de contrôle envoie un message de contrôle approprié à l'URL de contrôle du service (fournie par la description du dispositif). Les messages de contrôle sont également décrits en XML en utilisant SOAP. Comme tout appel de fonction, en réponse aux messages de contrôle, les services renvoient des valeurs spécifiques aux actions. Les effets de ces actions, le cas échéant, sont visibles par le changement des variables qui décrivent l'état d'exécution du service.

Notification d'événements (« Event notification ») modifier

Après le contrôle vient la notification d'évènement. Une description de service UPnP inclut une liste d'actions auxquelles le service répond et une liste des variables qui caractérisent le service à l'exécution. Quand ses variables changent, le service publie des mises à jour.

Les mises à jour sont des messages XML de type GENA (en) contenant le nom des variables et leurs valeurs. Les points de contrôles peuvent s'abonner pour les recevoir : un message initial particulier est envoyé quand un point de contrôle s'inscrit, ce message contient les noms et les valeurs de toutes les variables pour permettre à l'abonné de s'initialiser. Pour supporter les scénarios de réseaux à plusieurs points de contrôle, la notification est prévue pour que tous les points de contrôles soient informés uniformément des effets de chaque action. En conséquence, tout abonné reçoit des messages d'évènements pour toutes les variables « notifiantes » qui ont changé et des messages d'événements sont envoyés, quelle que soit la raison pour laquelle l'état de la variable a changé (que le changement soit le résultat d'une action ou parce que l'état du service a changé).

Présentation modifier

La dernière étape d'un réseau UPnP est la présentation. Si un dispositif a une URL de présentation, un point de contrôle peut recevoir une page depuis cette URL, charger la page dans un navigateur web et, selon les capacités de la page, permettre à un utilisateur de contrôler le dispositif et/ou de voir l'état d'un dispositif. Les possibilités d'une telle page peuvent changer en fonction des capacités du périphérique qui présente la page à l'utilisateur.

Standards audio et vidéo (« UPnP AV standards ») modifier

UPnP AV (pour UPnP Audio and Video) est un groupe à l'intérieur du standard UPnP supervisé par la DLNA (anciennement : Digital Home Working Group), qui est un regroupement de constructeurs et vendeurs de l'industrie du divertissement à la maison (home entertainment) proposant le label « DLNA CERTIFIED » (« Certifié DLNA ») pour les produits qui respectent leur guide d'interopérabilité pour périphériques réseau.

Les membres du forum DLNA « partagent une vision de l'interopérabilité sur les réseaux câblés et sans-fils des ordinateurs personnels (PC, Mac et autres), des matériels électroniques (Consumers Electronics - CE) et des périphériques mobiles à la maison permettant un environnement transparent (pour l'utilisateur) de partage et d'extension des nouveaux médias et des services de contenu » et « DLNA est attaché à fournir un cadre d'interopérabilité des guides de conception basés sur les standards ouverts de l'industrie pour compléter la convergence numérique. »

Le , le Forum UPnP a annoncé la disponibilité des « Spécifications étendues AV », cette réalisation est la version 2 des spécifications Audio et Vidéo[3], avec de nouvelles classes MediaServer version 2.0 et un MediaRenderer version 2.0. Ces perfectionnements sont créés par l'ajout de possibilités aux classes de dispositifs MediaServer et MediaRenderer permettant un meilleur niveau d'interopérabilité entre les MediaServers et MediaRenderers de différents constructeurs.

Les composants audio et vidéo d'UPnP AV modifier

  • UPnP MediaServer DCP : le serveur UPnP (un dispositif « esclave ») qui partage ses médias (comme l'audio, la vidéo, des images) avec les clients UPnP du réseau.
  • UPnP MediaServer ControlPoint : le client UPnP (un dispositif « maitre ») qui peut détecter automatiquement les serveurs UPnP du réseau pour rechercher et visionner leurs fichiers.
  • UPnP MediaRenderer DMR : dispositif « esclave » pouvant afficher du contenu.
  • UPnP MediaRenderer DMP : dispositif pouvant afficher du contenu, mais pas en mode esclave.
  • UPnP RenderingControl DCP : dispositif permettant de contrôler les paramètres de rendu d'un contenu : volume, brillance ...
  • UPnP Remote User Interface (RUI) client/server : clients et serveurs UPnP qui peuvent envoyer des commandes sur le réseau (comme enregistrer, programmer, lecture, pause, stop, etc.).
    • Web4CE (CEA 2014) for UPnP Remote UI[4] - Standard CEA-2014 conçu par le Home Network Committee R7 de la Consumer Electronics Association. Protocole basé sur des pages web pour les Remote User Interfaces des réseaux UPnP et Internet (Web4CE). Ce standard permet à un réseau résidentiel UPnP de fournir son interface (affichage et points de contrôles) comme une page web pour l'afficher sur n'importe quel périphérique connecté. C'est-à-dire que vous pouvez contrôler les périphériques du réseau résidentiel avec n'importe quelle méthode de communication basée sur la navigation web pour les dispositifs CE sur un réseau résidentiel utilisant ethernet et une version spéciale de HTML appelé CE-HTML (en).
  • QoS (Quality of Service) - La QoS est un service important (mais non obligatoire) pour l'utilisation d'UPnP AV. QoS se réfère au contrôle des mécanismes proposant différentes priorités aux différents utilisateurs des flux de données, ou garantit un certain niveau de performance à un flux de données en accord avec les requêtes des applications. Étant donné que l'UPnP AV est généralement utilisé pour délivrer des médias en lecture en continu, les garanties QoS sont spécialement importantes si le réseau a une capacité limitée comme les réseaux publics comme l'Internet.
    • QoS pour l'UPnP consiste en services de Sink Device (dispositif client récepteur) et Source Device (dispositif source émetteur). Avec des classes comme Traffic Class qui indique le type de trafic dans le flux de données (par exemple : audio ou vidéo). Traffic identifier (TID) qui identifie les paquets uniques de données dans le flux. Traffic Specification (TSPEC) qui contient les paramètres définissant les caractéristiques du trafic du flux (par exemple les opérations requises et l'ordonnancement). Traffic Stream (TS) qui est un flux unidirectionnel de données qui prend son origine à la source et se termine aux récepteurs d'un ou plusieurs dispositifs (sinks).

Traduction des adresses modifier

UPnP utilise le protocole Internet Gateway Device (en) (IGD) pour la traduction des adresses réseaux (NAT traversal). Cette traduction permet aux paquets UPnP de passer à travers un routeur ou un pare-feu sans problème et sans interaction de l'utilisateur (si le routeur ou le pare-feu supporte NAT).

Problèmes d'UPnP modifier

  • UPnP utilise HTTP par-dessus UDP (aussi connu sous les sigles HTTPU et HTTPMU pour l'unicast et le multicast) bien que cette spécification ne soit pas standardisée et que son brouillon ait expiré en 2001.
  • UPnP n'intègre pas de protocole léger d'authentification, les protocoles de sécurités disponibles sont complexes.

En conséquence, beaucoup de dispositifs sont implicitement déconnectés pour des questions de sécurité.

Développements futurs modifier

Le standard Devices Profile for Web Services (DPWS) est un candidat à la succession d'UPnP. Il résout plusieurs problèmes d'UPnP et est notamment inclus dans Microsoft Windows Vista comme partie des technologies Windows Rally (en).

Serveurs de médias UPnP modifier

Les serveurs de médias UPnP (UPnP AV MediaServers) enregistrent et partagent des médias électroniques comme des photographies, des films ou de la musique. Des serveurs de médias sont disponibles sur la plupart des systèmes d'exploitation et sur beaucoup de matériels. Les serveurs de médias sont logiciels ou matériels. Les serveurs logiciels peuvent tourner sur ordinateur personnel surtout sous Microsoft Windows, Linux, BSD, UNIX ou MacOS. Les serveurs matériels peuvent tourner sous tous dispositif de stockage réseau (NAS) ou sur tout dispositif matériel spécifique pour délivrer des médias, comme les enregistreurs vidéo personnels. Actuellement[Quand ?], il existe plus de serveurs logiciels que matériels, mais il est possible que le rapport change dans le futur[réf. nécessaire].

Serveurs de médias UPnP logiciels modifier

Logiciels propriétaires modifier

Logiciels libres ou gratuits modifier

  • [6]Plex Media Server (en) ce serveur multimédia basé sur une architecture client/serveur, disponible pour de nombreuses plateformes, a ajouté depuis la version v0.9.6.1 () un serveur UPnP/DLNA. Il fonctionne sous Windows, Mac et Linux.
  • Rygel : un serveur UPnP capable de se comporter comme un Media Renderer
  • FreeMi UPnP Media Server ce serveur UPnP est un serveur très simple, très léger pour la FreeBox. Il fonctionne sous Windows, Mac et Linux. Développé avec le Framework 2.0 .Net (Mono pour Linux).
  • oShare ce serveur DLNA est un serveur léger, très simple à installer et à utiliser. Il fonctionne sous Windows et prend en charge la musique, les photos et les vidéos (MKV inclus).
  • Kodi, un lecteur multimédia/Media Center libre et gratuit pour la console de jeux Xbox de Microsoft, ainsi que sur MacOS, Windows et Linux. (Suppression de la fonction server UPnP AV depuis la version 9.11).
  • Home Player un logiciel gratuit, facile d'installation et qui intègre en même temps la technologie Freeplayer de Free.
  • FreeNAS un système d'exploitation libre permettant de transformer un ordinateur (basé sur x86) en périphérique de stockage réseau (NAS). Le code du serveur UPnP est tiré du projet Portable Universal Plug and Play (UPnP) SDK
  • MythTV, un HTPC et PVR pour Linux avec un serveur de médias incorporé
  • PyMedS un serveur de médias libre en Python pour Windows/MacOS/Linux/UNIX
  • GeeXboX un media center léger libre pour Linux
  • MediaTomb un serveur de médias libre et gratuit pour Linux, MacOS, FreeBSD et Cygwin qui peut aussi lancer des services NAS
  • MiniDLNA un serveur de médias libre et gratuit pour Linux intégré dans certains NAS et aux Samsung LE40B650, Sony Bravia 46W4500, compatible PS3
  • Fuppes serveur de médias libre et gratuit, supporte l'encodage de divers formats audio en mp3
  • SimpleCenter est un serveur de médias en Java
  • Philips Media Manager est un serveur de médias gratuit pour Windows basé sur Streamium
  • Coherence un framework python UPnP/DLNA offrant également un serveur de médias libre. Disponible pour BSD/Linux/Windows
  • Opera Unite un serveur web gratuit inclus dans le navigateur web Opera. Disponible pour BSD/Linux/Solaris/Windows/MacOS/…
  • Media Server est un serveur UPnP/DLNA (sous licence GNU) écrit en Java et originellement destiné à la console de jeux PS3. Il intègre des possibilités de transcodage permettant de lire tous types de médias sur un renderer DLNA (TV, console de jeux, ...).
  • Serviio est un serveur UPnP/DLNA écrit en Java. Il est disponible pour Linux, Windows et MacOS. Il permet le transcodage de tous types de médias sur un renderer DLNA (TV, console de jeux, ...).
  • Samsung PC Share Manager est un serveur UPnP/DLNA fourni par Samsung lors de l'achat d'un téléviseur de la même marque, il possède une interface graphique simple d'utilisation.

Serveurs de médias UPnP matériels modifier

  • Ve-hotech VHS-4 Home Server UPnP AV intégrant Mediatomb et MiniDLNA.
  • Xbox console de jeux avec Xbox Media Center
  • ICY BOX IB-NAS1000 NAS avec 30 jours d'essai de TwonkyMedia (peut être activé)
  • ICY BOX IB-NAS2000 NAS avec 30 jours d'essai de TwonkyMedia (peut être activé)
  • NSLU2 avec une version modifiée de ushare
  • HP Media Vault un NAS d'HP avec un serveur Audio/Vidéo
  • UPnP Home Automation system domotique UPnP
  • NETGEAR ReadyNAS une gamme de NAS de NetGear (ex Infrant Technologies) supportant l'UPnP AV
  • DLink - DNS-323 et DSM-G600 des NAS de D-Link supportant l'UPnP AV
  • Linksys WRTSL54GS un routeur 'tout-en-un'
  • Linksys WRT350N un routeur Wifi avec la particularité d'être équipé d'un switch Gigabit
  • Synology Disk Station les NAS de Synology supportent l'UPnP AV depuis le firmware DSM 2.1
  • Maxtor Shared Storage Plus lecteur incluant un serveur UPnP Mediabolic, le serveur UPnP Twonky est aussi disponible pour ce lecteur
  • WESTERN DIGITAL My Book World Disque dur externe réseau incluant un serveur UPnP (TwonkyMedia)
  • Cybervia Serveur média HDTV (incluant le serveur UPnP mediatomb).
  • NAS Qnap Gamme de NAS de tailles diverses incluant le serveur Twonky.
  • Mediadisk LNX HD & ZX HD MEMUP Gamme de Mediadisk MEMUP de diverses tailles incluant un serveur UPnP-AV.

Clients UPnP AV (points de contrôle) modifier

Les points de contrôle UPnP MediaServer sont des clients UPnP qui fonctionnent comme lecteurs audio/vidéo. Ils peuvent détecter automatiquement les serveurs UPnP sur le réseau pour naviguer et récupérer leurs fichiers/données multimédia.

Points de contrôles et lecteurs logiciels modifier

Points de contrôles matériels modifier

  • Freebox, boîte du fournisseur d'accès à internet Free depuis le [7]
  • Philips RC9800i
  • Philips Streamium
  • Logik IR100

Afficheur de média matériels modifier

  • Archos 70 Internet Tablet par le moyen de Samba utilise l'UPnP
  • La box de SFR intègre le support de l'UPnP et de l'UPnP-AV
  • Freebox v5 HD, équipement ADSL réservé aux abonnés de Free[8] depuis le firmware 1.5.11, menu « Magneto »
  • iPhone ou iPod touch, avec l'Apps PlugPlayer (Howard Abrams)[9] ou iMediaSuite (Cyber Garage)
  • Nokia 770, tablette internet avec le lecteur MediaStreamer
  • PlayStation 3, console de jeux avec le firmware 1.8 ou supérieur avec XrossMediaBar
  • Xbox, console de jeux avec Kodi, un lecteur multimédia gratuit et libre
  • Xbox 360, console de jeux avec le Xbox 360 Dashboard
  • Loewe Connect, téléviseur avec Media Center intégré
  • Livebox 2 et Livebox TV (Orange) : support de l'UPnP pour lire ses fichiers multimédias stockés sur l'ordinateur (avec par exemple le logiciel Serveur Media d'Orange)

Lecteurs multimédia en réseau :

  • Asus O!Play (HDP-R1)[10] (depuis le firmware 1.17)
  • LinkTheater de Buffalo Technology
  • MediaLounge de D-Link
  • GoVideo D2730 Networked DVD
  • Gamme Helios
  • Netgear Digital Entertainer HD EVA8000
  • Netgear Digital Entertainer ELITE EVA9150
  • Roku SoundBridge
  • Wyplayer, disque dur multimédia enregistreur à double décodeur TNT HD, réseau Wifi et HDMI
  • Zensonic Z500
  • Ziova
  • Philips SLM5500[11]
  • Noxon Players
  • CFULLHDMAi, de Conceptronic, lecteur multimédia Full HD (vendu notamment par Cybervia SAS)
  • DVICO TVIX M-6500A (attention le nouveau XROID A1, malgré le label sur le boîtier, n'est pas UPnP)
  • Xstreamer Prodigy
  • Western Digital Live TV hub

Technologies similaires ou associées modifier

Associées :

Références modifier

  1. « Orange : nouvelle Livebox avec Wi-Fi n et support UPnP », sur Génération-NT (consulté le ).
  2. Architecture UPnP - upnp.org (fichier compressé de 55 Mo) [zip]
  3. (en) UPnP Forum Releases Enhanced AV Specifications Taking Home Network to the Next Level - upnp.org, 12 juillet 2006 [PDF]
  4. (en) CEA: Technology & Standards - Consumer Electronics Association
  5. « Accueil - AwoX - Connecting Things for a Smarter Home », sur AwoX (consulté le ).
  6. PS3 Média Server Pour PS3 et Xbox mais fonctionne avec de très nombreux matériel UPnP/DLNA. Installation simple mais nombreux réglages possibles (Choix des dossiers, possibilités de conversion pour les vidéos...). http://www.ps3mediaserver.org/
  7. Free simplifie la diffusion des contenus numériques sur la télévision - Iliad, 14 mai 2009 [PDF]
  8. Support UPnP AV - Free
  9. PlugPlayer (Howard Abrams)
  10. Asus O!Play (HDP-R1)
  11. (en) Philips Streamium Wireless Multimedia Adapter SLM5500 - Philips

Annexes modifier

Articles connexes modifier

Liens externes modifier