# Universal Plug and Play

Universal Plug and Play ( UPnP ) és un conjunt de protocols de comunicació que permet a perifèrics en xarxa, com ordinadors personals, impressores, passarel·les d'Internet, punts d'accés Wi-Fi i dispositius mòbils, descobrir de manera transparent la presència d'altres dispositius a la xarxa i establir serveis de xarxa de comunicació, compartició de dades i entreteniment. UPnP està dissenyat principalment per a xarxes domèstiques sense dispositius d'àmbit empresarial.
El Fòrum UPnP és l'encarregat de promocionar l'ús de la tecnologia UPnP. És una iniciativa de la indústria informàtica per permetre una connectivitat simple i robusta entre els dispositius autònoms i ordinadors personals de diferents fabricants. El Fòrum UPnP està compost per més de vuit-cents fabricants de diferents àmbits que van des de l'electrònica de consum fins a les xarxes d'ordinadors.
El concepte UPnP és una extensió de plug-and-play, una tecnologia per connectar dispositius a un ordinador de manera directa i sense necessitat de configuració, encara que UPnP no està relacionada directament amb la tecnologia plug-and-play. Els dispositius UPnP són plug-and-play en el sentit que un cop connectats a una xarxa són capaços d'establir de manera automàtica comunicacions amb altres dispositius.

## Visió general

L'arquitectura UPnP permet la interconnexió entre dispositius com ordinadors personals, electrodomèstics, dispositius d'electrònica de consum i dispositius sense fil. És un protocol amb una arquitectura oberta i distribuïda que es basa en estàndards reconeguts com la Família de protocols d'Internet (TCP/IP), http, XML, i SOAP. Els punts de control UPnP són dispositius amb UPnP per controlar dispositius UPnP.
L'arquitectura UPnP suporta Zero Configuration Networking. Un dispositiu compatible amb UPnP de qualsevol fabricant que és capaç de connectar-se de manera dinàmica a una xarxa, obtenir una adreça IP, anunciar els seus serveis, comunicar les seves funcions a la carta i descobrir la presència i capacitats dels altres dispositius existents. Els servidors Dynamic Host Configuration Protocol (DHCP) i Domain Name System (DNS) són opcionals i només s'utilitzaran en cas que estiguin presents a la xarxa. Els dispositius es poden desconnectar de la xarxa de manera automàtica sense deixar cap informació d'estat.
El UPnP es va publicar el desembre de 2008 com un estàndard internacional compost per 73 parts.
El UPnP inclou altres característiques destacades com:

### Independència de format i dispositiu

    la tecnologia UPnP pot executar en molts mitjans que suporten IP incloent Ethernet, FireWire, IR (IrDA) i RF (Bluetooth, Wi-Fi). No són necessaris controladors especials, en el seu lloc s'utilitzen protocols de xarxa comuns.

### Control mitjançant interfície d'usuari (IU)

    l'arquitectura UPnP permet que els dispositius presentin una interfície d'usuari mitjançant un navegador web (vegeu més avall).

### Independència de sistema operatiu i llenguatge de programació

    es pot utilitzar qualsevol sistema operatiu i qualsevol llenguatge de programació per desenvolupar productes UPnP. UPnP no especifica o restringeix el disseny d'un API de les aplicacions que s'executen en els punts de control, els desenvolupadors de sistemes operatius poden crear APIs que s'ajustin a les necessitats dels seus usuaris.

### Extensibilitat

    Els productes UPnP poden tenir serveis específics per a aquest dispositiu en capes superiors a l'arquitectura bàsica UPnP. A més de combinar serveis definits pel Fòrum UPnP de múltiples formes, els fabricants poden definir tipus de serveis i dispositius propis, i poden estendre dispositius i serveis ja definits en l'estàndard per suportar accions, variables d'estat, elements d'estructures de dades i variables definides per ells mateixos.

## Components UPnP AV
### Servidor multimèdia

Un servidor multimèdia UPnP AV és el servidor UPnP (un dispositiu 'mestre') que proporciona informació sobre la seva biblioteca de mitjans i transmet informació multimèdia (com àudio/vídeos/imatges/fitxers) als clients UPnP de la xarxa. En altres paraules, és un dispositiu o una aplicació que emmagatzema contingut multimèdia, com fotografies, pel·lícules o música i el comparteix en xarxa.
Els servidors multimèdia UPnP AV proporcionen un servei als clients UPnP AV, denominats «punts de control», que els permet consultar els continguts multimèdia del servidor i sol·licitar l'enviament d'un fitxer per reproduir.
Els servidors multimèdia UPnP estan disponibles per a gairebé tots els sistemes operatius i moltes plataformes maquinari. Es poden catalogar tant com programari o maquinari, els servidors multimèdia programari es poden executar en un PC i els servidors multimèdia maquinari només serviran per al dispositiu per al qual es van desenvolupar com un NAS o Gravador de vídeo digital específic.
A la següent taula es compara la compatibilitat amb diferents sistemes operatius així com les funcions bàsiques de diversos Servidors multimèdia UPnP AV.
| Nom | Llicència | Preu | Mac OS X | Linux, Unix | MS Windows | Àudio | Imatges | Vídeo | Transcodificar A/V al vol | Interfície Web | Compatibilitat DLNA | Implementació |
| 360 Media Server | GPL | $00.00 Gratis | No | Sí | Sí | Sí | No | No | Sí | Sí | ? | Java |
| aVia Media Player Arxivat 2012-05-31 a Wayback Machine. | Prop. | $00.00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | Sí | No | Sí | ? |
| BRisa | MIT | $00.00 Gratis | Sí | Sí | No | Sí | Sí | Sí | Sí | Sí | ? | Python |
| Coherence Arxivat 2009-01-18 a Wayback Machine. | MIT | $00.00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Python |
| Elgato Eyeconnect | Prop. | $49.95 € | Sí | No | No | Sí | Sí | Sí | No | No | ? | ? |
| Foobar2000 | Prop. | $00.00 Gratis | No | No | Sí | Sí | No | No | Sí | No | ? | C++ |
| FUPPES | GPL | $00.00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Parcial | C++ |
| GeeXboX uShare | GPL | $00.00 Gratis | No | Sí | No | Sí | Sí | Sí | No | Sí | Sí | C |
| Gmediaserver | GPL | $00.00 Gratis | No | Sí | No | Sí | No | Sí | No | No | ? | C |
| iSedora DLNA Media Server | Prop. | $23.40 € | Sí | No | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Java |
| LXiMedia | GPL | $00.00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | Sí | No | Sí | C++ |
| Majestic Media Server Arxivat 2012-06-02 a Wayback Machine. | Prop. | $05.99 $ | Sí | No | No | Sí | Sí | Sí | Sí | No | ? | ? |
| MediaTomb Arxivat 2012-06-14 a Wayback Machine. | GPL | $ 00,00 Gratis | Sí | Sí | No | Sí | Sí | Sí | Sí | Sí | Sí | C++ |
| MiniDLNA | GPL/BSD | $ 00,00 Gratis | Parcial | Sí | Sí | Sí | Sí | Sí | Parcial | Parcial | Sí | C |
| Mezzmo | Prop | $ $ 29,95 | No | No | Sí | Sí | Sí | Sí | Sí | No | Sí | ? |
| myiHome | Prop | $ 00,00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | No | No | ? | Java |
| MythTV with uPnP | GPL | $ 00,00 Gratis | Sí | Sí | No | Sí | Sí | Sí | Sí | Sí | ? | C++ |
| Nullriver Medialink | Prop | $ $ 20,00 | Sí | No | No | Sí | Sí | Sí | Sí | No | ? | ? |
| Plex | GPL | $ 00,00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Python |
| PS3 Media Server | GPL | $ 00,00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Java |
| PyMedS Arxivat 2012-06-10 a Wayback Machine. | MIT | $ 00,00 Gratis | Sí | Sí | No | ? | ? | ? | Sí | No | ? | Python |
| Rygel | LGPLv2 | $ 00,00 Gratis | No | Sí | No | Sí | Sí | Sí | Sí | No | Sí | Vala |
| Rivet Arxivat 2009-11-24 a Wayback Machine. | Prop | $ 00,00 Gratis | Sí | No | No | Sí | Sí | Sí | No | No | ? | ? |
| Serviio | Prop | $ 00,00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Java |
| Skifta Arxivat 2012-05-13 a Wayback Machine. | Prop | $ 00,00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | Sí | No | Sí | Java |
| TVersity | Prop | $ 19,99 | No | No | Sí | Sí | Sí | Sí | Sí | Sí | Sí | ? |
| TVMOBiLi Arxivat 2011-01-29 a Wayback Machine. | Prop | $ 26 | Sí | Sí | Sí | Sí | Sí | Sí | No | Sí | Sí | C++ |
| TVShare | Prop | $ $ 14,95 | No | No | Sí | Sí | Sí | Sí | Sí | No | ? | Java |
| TwonkyServer | Prop | $ 14,95 | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | ? |
| Windows Media Connect | Prop | $ 00,00 Línia | No | No | Sí | Sí | Sí | Sí | Sí | No | ? | ? |
| Wild Media Server | Prop | $ $ 15 | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Sí | Delphi |
| PlayOn | Prop | $ $ 89,99 | No | No | Sí | ? | ? | Sí | ? | ? | ? | C # |
| XBMC Media Center | GPL | $ 00,00 Gratis | Sí | Sí | Sí | Sí | Sí | Sí | No | Sí | Sí | C++ |
| xupnpd | GPLv2 | $00.00 Gratis | No | Sí | No | Sí | ? | Sí | No | Sí | Sí | C++ |
| Yazsoft Playback Arxivat 2010-01-24 a Wayback Machine. | Prop. | $15.34 € | Sí | No | No | Sí | Sí | Sí | No | No | ? | ? |
| Nom | Llicència | Preu | Mac OS X | Linux, Unix | MS Windows | Àudio | Imatges | Vídeo | Transcodificar A/V al vol | Interfície Web | Compatibilitat DLNA | Implementació |

## Problemes d'UPnP

El protocol UPnP, per defecte, no implementa cap tipus d'autenticació, de manera que cada dispositiu ha d'implementar els seus propis mecanismes d'autenticació o el Device Security Service. Malauradament, moltes implementacions d'UPnP no tenen mecanismes d'autenticació i per defecte assumeixen que els sistemes locals i els seus usuaris són completament de confiança. En particular, els routers i tallafocs que utilitzen el protocol UPnP IGD són vulnerables a atacs, ja que els creadors d'IGD ometre un mètode estandarditzat d'autenticació. Per exemple, els programes Adobe Flash són capaços de generar peticions http específiques que permetrien controlar el router a qualsevol lloc web maliciós.

## Vegeu també

* Google TV

## Referències

* ↑ Using the UPnP Control Point API. Microsoft [Consulta: 2 març 2011].
* ↑ International Electrotechnical Commission, 2008.12.09. Consultat el 2009-05-07
* ↑ International Organization for Standardization " ISO/IEC estàndard on UPnP device architecture makes networking simple and easy ", 2008.12.10. Consultat el 2009-05-07.
* ↑ UPnP Forum, " UPnP Specifications Named International Standard for Device Interoperability for IP-based Network Devices ", 2009.02.05. Consultat el 2009-05-07
* 1 2 Trabajo en progreso
* ↑ Audio: usando gstreamer, Vídeo: trabajo en progreso
* ↑ Con el complemento foo_upnp
* ↑ GeeXboX se proporciona como una distribución Linux
* 1 2 3 Página Web: GeeXboX
* ↑ Compatibilitat amb Mac proporcionada pel projecte Fink a php/mediatomb
* ↑ pedaços disponibles a
* ↑ Consultar
* ↑ pedaços a
* ↑ Interfície Web suportada mitjançant mòdul Webmin, consulta
* ↑ S'està treballant en una interfície web a la biblioteca multimèdia opcional present en les últimes betes.
* ↑ Utilitza ffmpeg només per a vídeo
* ↑ Suport experimental disponible, consultar http://jensge.org/2010/04/1-21-gigawatts/ Arxivat 2012-03-21 a Wayback Machine.
* ↑ Versió de pagament interrompuda el 21 de juliol de 2011. Consultar Arxivat 2012-06-14 a Wayback Machine.. Encara hi ha una versió gratuïta, però sense suport.
* ↑ Mitjançant complements de tercers
* ↑ La versió Pro per a un sol PC costa 19,99 . També hi ha una versió Basic més limitada per 3,99 .
* ↑ Els 10 primers GBytes de cada mes són gratuïts. 26 llicència de per vida, possibilitat de pagament mensual per 1,30 /mes.
* ↑ Transcodificació suportada en TMS 5.0 i posteriors per a PC. Cal descarregar FFmpeg, VLC o altres motors de transcodificació de tercers per usar-lo
* ↑ Obligatori comprar una llicència de Microsoft Windows per utilitzar
* ↑ http://blogs.msdn.com/b/e7/archive/2009/05/12/media-streaming-with-windows-7.aspx
* ↑ La versió completa de per vida costa 89,99 $. Hi ha una versió gratuïta amb limitacions.
* ↑ Aquesta funció no està disponible en l'última versió estable de XBMC, però està disponible a les publicacions diàries.
* ↑ Device Security and Security Console V 1.0.
* ↑ Shorewall firewall author on UPnP security [Consulta: 30 setembre 2007].
* ↑ Linux-IGD authors on UPnP security [Consulta: 30 setembre 2007].
* ↑ Flash UPnP attack.

## Bibliografia

* Golden G. Richard: Service and Device Discovery: Protocols and Programming, McGraw-Hill Professional, ISBN 0-07-137959-2
* Michael Jeroni, Jack Weast: UPnP Design by Example: A Software Developer's Guide to Universal Plug and Play, Intel Press, ISBN 0-9717861-1-9

## Enllaços externs

* Foro UPnP Arxivat 2005-07-08 a Wayback Machine.
* ISO/IEC 29341-1:2011
* upnp-database.info Base de dades de dispositius UPnP/AV.