
L’Universal Plug and Play (UPnP) est un ensemble de protocoles 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 (FAI) Orange, c'est à partir de la Livebox 2, sortie en 2009, que la box de ce FAI a inclus la fonction UPnP.
L'architecture UPnP 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.
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.
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.
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.
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.
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é).
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.
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, 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.
UPnP utilise le protocole Internet Gateway Device (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).
En conséquence, beaucoup de dispositifs sont implicitement déconnectés pour des questions de sécurité.
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).
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].
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.
Lecteurs multimédia en réseau :
Associées :