Universal Plug and Play

Universal Plug and Play ( UPnP ) er et sett med kommunikasjonsprotokoller som lar, som personlige datamaskiner, skrivere, Internett-gatewayer, Wi -Fi- tilgangspunkter og mobile enheter, transparent oppdage tilstedeværelsen av andre enheter i nettverket. og etablere nettverkstjenester for kommunikasjon, datadeling og underholdning. UPnP er først og fremst designet for hjemmenettverk uten bedriftsenheter.

UPnP-forumet er ansvarlig for å fremme bruken av UPnP-teknologi. Det er et dataindustriinitiativ for å muliggjøre enkel og robust tilkobling mellom frittstående enheter og personlige datamaskiner fra forskjellige produsenter. UPnP-forumet består av mer enn åtte hundre produsenter fra forskjellige felt, fra forbrukerelektronikk til datanettverk .

Konseptet med UPnP er en utvidelse av Plug and play , en teknologi for å koble enheter direkte og uten konfigurasjon til en datamaskin, selv om UPnP ikke er direkte relatert til plug-and-play-teknologi. UPnP-enheter er "plug-and-play" i den forstand at når de er koblet til et nettverk, er de i stand til automatisk å etablere kommunikasjon med andre enheter.

Oversikt

UPnP-arkitekturen muliggjør sammenkobling mellom enheter som personlige datamaskiner , husholdningsapparater , forbrukerelektronikkenheter og trådløse enheter . Det er en protokoll med en åpen og distribuert arkitektur som er basert på anerkjente standarder som Internet Protocol Family (TCP/IP), HTTP , XML og SOAP . UPnP -kontrollpunkter er enheter som bruker UPnP til å kontrollere UPnP-enheter. [ 1 ]

UPnP-arkitekturen støtter Zero Configuration Networking . En UPnP-aktivert enhet fra enhver produsent er i stand til dynamisk å koble til et nettverk, skaffe en IP-adresse, annonsere for tjenestene sine, kommunisere funksjonene på forespørsel og oppdage tilstedeværelsen og mulighetene til andre eksisterende enheter. Dynamic Host Configuration Protocol (DHCP) og Domain Name System (DNS)-servere er valgfrie og vil bare bli brukt hvis de er tilstede på nettverket . Enheter kan kobles automatisk fra nettverket uten å legge igjen statusinformasjon .

UPnP ble publisert i desember 2008 som en internasjonal standard bestående av 73 deler. [ 2 ]​ [ 3 ]​ [ 4 ]

UPnP inkluderer andre bemerkelsesverdige funksjoner som:

Uavhengig av format og enhet UPnP-teknologi kan kjøre på mange medier som støtter IP, inkludert Ethernet , FireWire , IR ( IrDA ) og RF ( Bluetooth , Wi-Fi ). Ingen spesielle drivere kreves , vanlige nettverksprotokoller brukes i stedet. Kontroll via brukergrensesnitt (UI) UPnP-arkitekturen lar enheter presentere et brukergrensesnitt gjennom en nettleser (se presentasjon nedenfor). Uavhengighet av operativsystem og programmeringsspråk ethvert operativsystem og hvilket som helst programmeringsspråk kan brukes til å utvikle UPnP-produkter. UPnP spesifiserer eller begrenser ikke API -designet til applikasjoner som kjører på kontrollpunkter; Operativsystemutviklere kan lage APIer som passer til brukernes behov. Utvidbarhet UPnP-produkter kan ha tjenester spesifikke for den enheten i lag over den grunnleggende UPnP-arkitekturen. I tillegg til å kombinere tjenester definert av UPnP Forum på flere måter, kan leverandører definere sine egne tjenestetyper og enheter, og kan utvide enheter og tjenester som allerede er definert i standarden til å støtte handlinger, tilstandsvariabler, datastrukturelementer og variabler. alene.

UPnP bruker UDP-port 1900 og TCP -port 2869. [ 5 ]

Adressering

Grunnlaget for UPnP er IP-adressering: hver enhet må implementere en DHCP-klient og vil se etter en DHCP-server så snart den først kobles til nettverket. Hvis ingen DHCP-server er tilgjengelig, må enheten tildele seg selv en adresse. Prosessen der en UPnP-enhet tildeler seg selv en adresse kalles AutoIP. I versjon 1.0 av UPnP-arkitekturspesifikasjonen, [ 6 ] er selve AutoIP-spesifikasjonen inkludert ordrett; i versjon 1.1, [ 7 ] refererer AutoIP-spesifikasjonen til IETF RFC 3927 RFC 3927 . [ 8 ]​ Hvis enheten under DHCP-transaksjonen får et domenenavn, for eksempel gjennom en DNS-server eller gjennom DNS-videresending, må enheten bruke dette navnet i påfølgende nettverksoperasjoner; ellers må enheten bruke sin egen IP-adresse.

Discovery

Når en enhet har etablert en IP-adresse, er neste trinn i UPnP oppdagelse. UPnP-oppdagelsesprotokollen kalles Simple Service Discovery Protocol (SSDP). SSDP lar enheter som nettopp har blitt lagt til et nettverk, annonsere for tjenestene sine for å kontrollere punkter på nettverket. Når et kontrollpunkt legges til nettverket, lar SSDP deg også søke etter enhetene du er interessert i å kontrollere. Den grunnleggende utvekslingen i begge tilfeller er en oppdagelsesmelding som inneholder grunnleggende data om enheten eller en av dens tjenester, for eksempel dens type, identifikator og en lenke til en URL for å få mer detaljert informasjon.

Beskrivelse

Etter at et sjekkpunkt har oppdaget en enhet, har den fortsatt svært lite informasjon om den. Kontrollpunktet må hente enhetsbeskrivelsen fra URL-en som er oppgitt av enheten i oppdagelsesmeldingen for bedre å forstå dens evner og for å kunne samhandle med den. En enhetsbeskrivelse er kodet i XML og inkluderer produsentspesifikk informasjon som modellnavn og nummer, serienummer , produsentnavn, URL-er til produsentspesifikke nettsteder osv. Beskrivelsen inkluderer også en liste over innebygde enheter eller tjenester, samt kontroll, hendelseshåndtering og visningsadresser. For hver tjeneste inkluderer beskrivelsen en liste over kommandoene , eller handlingene , som tjenesten vil svare på, og parametere, eller argumenter , for hver handling; beskrivelsen av en tjeneste inkluderer også en liste over variabler ; disse variablene modellerer tilstanden til tjenesten ved kjøring , og er beskrevet i form av datatype, rekkevidde og egenskapene til hendelsene.

Kontroller

Ved å få enhetsbeskrivelsen kan sjekkpunktet sende handlinger til en enhets tjenester. For å gjøre dette sender kontrollpunktet en passende kontrollmelding til tjenestekontroll-URLen (gitt i enhetsbeskrivelsen). Kontrollmeldinger er også kodet i XML ved hjelp av Simple Object Access Protocol (SOAP). Tjenesten vil svare med en kontrollmelding med resultatene av handlingen som ligner på et funksjonskall . Effektene av handlingen, hvis noen, vil bli modellert gjennom endringer i variablene som beskriver tilstanden til tjenesten.

Hendelsesvarsel

En tilleggsfunksjon til UPnP er hendelsesvarsling eller hendelse . Hendelsesvarslingsprotokollen definert i UPnP-arkitekturen er kjent som General Event Notification Architecture (GENA). UPnP-beskrivelsen av en tjeneste inkluderer en liste over handlingene som tjenesten reagerer på og en liste over variabler som modellerer tilstanden til tjenesten ved kjøring. Tjenesten vil sende oppdateringer når slike variabler endres til eventuelle sjekkpunkter som har abonnert på å motta slik informasjon. Tjenesten publiserer oppdateringer ved å sende XML-kodede hendelsesmeldinger som inneholder navnene på en eller flere tilstandsvariabler og gjeldende verdi av disse variablene. Når et sjekkpunkt først abonnerer, sendes en spesiell hendelsesmelding til det; som inneholder navnet og verdiene til alle variabler som genererer hendelser og lar abonnenten vite den nåværende tilstanden til tjenesten. UPnP-hendelsesvarsling er utformet for å holde alle kontrollpunkter like informert om virkningene av enhver handling, og dermed tillate støtte for scenarier med flere kontrollpunkter. Dermed sendes hendelsesmeldinger til alle abonnenter, abonnenter mottar meldinger for alle variabler som har endret seg som de har abonnert på, og meldinger sendes uavhengig av hvorfor tilstandsvariabelen endret seg (enten som svar på en forespørsel, for eksempel ved å endre den interne tilstanden til tjenesten).

Presentasjon

Det siste trinnet i UPnP er presentasjonen. Hvis en enhet har en visnings-URL, vil kontrollpunktet kunne hente en side fra den URL-en, vise den i en nettleser og, avhengig av egenskapene til siden, la brukeren kontrollere enheten og/eller spørre dens status. Graden av kontroll som kan oppnås er svært avhengig av enheten og interaktiviteten i presentasjonsgrensesnittet.

UPnP AV-standarder

UPnP AV er en lyd- og videoutvidelse til UPnP. UPnP Forum publiserte versjon 2 av spesifikasjonen 12. juli 2006, [ 9 ] med en versjon 2.0 av MediaServer og MediaRenderer-klassene. Forbedringen besto av å legge til funksjoner til enhetene i MediaServer- og MediaRenderer-klassen som muliggjorde en høyere grad av interoperabilitet mellom MediaServere og MediaRenderers fra forskjellige leverandører.

UPnP AV-standardene tjener som grunnlag for spesifikasjoner publisert av andre organisasjoner som Digital Living Network Alliances Networked Device Interoperability Guidelines , [ 10 ] International Electrotechnical Commissions IEC 62481-1 , [ 11 ] og CableLabs' OpenCable-protokoll. [ 12 ]

UPnP AV-komponenter

Medieserver

En UPnP AV-medieserver er UPnP-serveren (en 'master'-enhet) som gir informasjon om mediebiblioteket ditt og overfører medieinformasjon (som lyd/videoer/bilder/filer) til UPnP-klienter på nettverket. Det er med andre ord en enhet eller en applikasjon som lagrer multimedieinnhold, som bilder, filmer eller musikk, og deler det på nettverket.

UPnP AV-medieservere tilbyr en tjeneste til UPnP AV-klienter, kalt kontrollpunkter , som lar dem konsultere medieinnholdet på serveren og be om at en fil sendes for avspilling.

UPnP-medieservere er tilgjengelige for nesten alle operativsystemer og mange maskinvareplattformer. De kan klassifiseres som både programvare eller maskinvare; programvaremedieservere kan kjøres på en PC og maskinvaremedieservere vil kun betjene enheten de ble utviklet for, for eksempel en NAS eller en spesifikk digital videoopptaker .

Tabellen nedenfor sammenligner kompatibiliteten med forskjellige operativsystemer, så vel som de grunnleggende funksjonene til forskjellige UPnP AV-medieservere .

Navn Tillatelse Pris Mac OSX Linux, Unix MS-Windows Lyd Bilder Video Kod om A/V i farten nettgrensesnitt DLNA- kompatibilitet Gjennomføring
360 Media Server GPL $00,00Gratis Nei Nei Ja Ja Ja Ja Ja Ja Nei Nei Nei Nei Ja Ja Ja Ja ? Java
aVia Media Player Rekvisitt. $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei Ja Ja ?
Bris MIT $00,00Gratis Ja Ja Ja Ja Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja [ 13 ] Ja Ja ? python
Sammenheng MIT $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja [ 14 ] Ja Ja [ 13 ] Ja Ja python
Elgato Eye Connect Rekvisitt. $€49,95 Ja Ja Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Nei Nei Nei Nei ? ?
Foobar2000 [ 15 ] Rekvisitt. $00,00Gratis Nei Nei Nei Nei Ja Ja Ja Ja Nei Nei Nei Nei Ja Ja Nei Nei ? C++
FUPPES GPL $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Delvis Delvis C++
GeeXboX uShare GPL $00,00Gratis Nei Nei Ja Ja [ 16 ] Nei Nei Ja Ja [ 17 ] Ja Ja [ 17 ] Ja Ja [ 17 ] Nei Nei Ja Ja Ja Ja C
gmediaserver GPL $00,00Gratis Nei Nei Ja Ja Nei Nei Ja Ja Nei Nei Ja Ja Nei Nei Nei Nei ? C
iSedora DLNA Media Server Rekvisitt. $€23,40 Ja Ja Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Java
LXiMedia GPL $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei Ja Ja C++
Majestic MediaServer Rekvisitt. $0$5,99 Ja Ja Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei ? ?
MediaTomb GPL $00,00Gratis Ja Ja [ 18 ] Ja Ja Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja C++
MiniDLNA GPL/BSD $00,00Gratis Delvis Delvis [ 19 ] Ja Ja Ja Ja [ 20 ] Ja Ja Ja Ja Ja Ja Delvis Delvis [ 21 ] Delvis Delvis [ 22 ] Ja Ja C
Mezzmo Rekvisitt. $$29,95 Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei Ja Ja ?
myiHome Rekvisitt. $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei Nei Nei ? Java
MythTV med uPnP GPL $00,00Gratis Ja Ja Ja Ja Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja ? C++
Nullriver Medialink Rekvisitt. $$20,00 Ja Ja Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei ? ?
Plex GPL $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja python
PS3 MediaServer GPL $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja [ 23 ] Ja Ja Java
SMBer MIT $00,00Gratis Ja Ja Ja Ja Nei Nei ? ? ? Ja Ja [ 24 ] Nei Nei ? python
Rygel LGPLv2 $00,00Gratis Nei Nei Ja Ja Nei Ikke [ 25 ] Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei Ja Ja Vala
Rivette [ 26 ] Rekvisitt. $00,00Gratis Ja Ja Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Nei Nei Nei Nei ? ?
Service Rekvisitt. $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja [ 27 ] Ja Ja Java
Skifta Rekvisitt. $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei Ja Ja Java
tversitet Rekvisitt. $€ 19,99 [ 28 ] Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja ?
TVMOBiLi Rekvisitt. $€26 [ 29 ] Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei Ja Ja Ja Ja C++
TVShare Rekvisitt. $$14,95 Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Nei Nei ? Java
TwonkyServer Rekvisitt. $€14,95 Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja [ 30 ] Ja Ja Ja Ja ?
Windows Media Connect Rekvisitt. $00,00Gratis [ 31 ] Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja [ 32 ] Nei Nei ? ?
vill medieserver Rekvisitt. $$15 Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja Delphi
spill videre Rekvisitt. $$89,99 [ 33 ] Nei Nei Nei Nei Ja Ja ? ? Ja Ja ? ? ? C#
Kodi GPL $00,00Gratis Ja Ja Ja Ja Ja Ja Ja Ja Ja Ja [ 34 ] Ja Ja Nei Nei Ja Ja Ja Ja C++
xupnpd GPLv2 $00,00Gratis Nei Nei Ja Ja Nei Nei Ja Ja ? Ja Ja Nei Nei Ja Ja Ja Ja C++
Yazsoft avspilling Rekvisitt. $€15,34 Ja Ja Nei Nei Nei Nei Ja Ja Ja Ja Ja Ja Nei Nei Nei Nei ? ?
Navn Tillatelse Pris Mac OSX Linux, Unix MS-Windows Lyd Bilder Video Kod om A/V i farten nettgrensesnitt DLNA- kompatibilitet Gjennomføring

Andre komponenter

NAT-gjennomgang

UPnP implementerer som en løsning for å krysse NAT , den såkalte Internet Gateway Device Protocol (IGD Protocol). Mange rutere og brannmurer avslører seg selv som Internet Gateway Devices (IGDs), som lar ethvert UPnP-kontrollpunkt utføre ulike handlinger, for eksempel å skaffe den eksterne IP-en til enheten, liste opp eksisterende porttilordninger og legge til/fjerne porttilordninger. Ved å legge til portkartlegging kan et hvilket som helst UPnP-kontrollpunkt bak en IGD tillate tilgang til interne nettverksklienter fra en hvilken som helst ekstern adresse.

UPnP-problemer

Mangel på autentisering

UPnP-protokollen implementerer som standard ingen type autentisering , så hver enhet må implementere sine egne autentiseringsmekanismer eller Device Security Service . [ 36 ] Dessverre mangler mange UPnP-implementeringer autentiseringsmekanismer og antar som standard at lokale systemer og deres brukere er fullt ut klarert. [ 37 ] ​[ 38 ]​ Spesielt er rutere og brannmurer som bruker UPnP IGD-protokollen sårbare for angrep siden skaperne av IGD utelot en standardisert metode for autentisering. For eksempel er Adobe Flash- programmer i stand til å generere spesifikke HTTP -forespørsler som lar ethvert ondsinnet nettsted kontrollere ruteren. [ 39 ]

Se også

Bibliografi

Referanser

  1. ^ "Bruke UPnP Control Point API" . Microsoft . Hentet 2. mars 2011 . 
  2. International Electrotechnical Commission , 2008-12-09. Hentet 2009-05-07.
  3. International Organization for Standardization "ISO/IEC-standard på UPnP-enhetsarkitektur gjør nettverksbygging enkelt og enkelt" , 2008-12-10. Hentet 2009-05-07.
  4. UPnP-forum "UPnP-spesifikasjoner kalt internasjonal standard for enhetsinteroperabilitet for IP-baserte nettverksenheter" , 2009-02-05. Hentet 2009-05-07.
  5. "Hvordan Windows-brannmur påvirker UPnP-rammeverket i Windows XP Service Pack 2" . Microsoft . Hentet 14. mai 2012 . 
  6. UPnP Forum , UPnP Device Architecture versjon 1.0 , 2008-04-24
  7. UPnP Forum , UPnP Device Architecture versjon 1.1 , 2008-10-15
  8. Stuart Cheshire, et al , IETF RFC 3927 , "Dynamisk konfigurasjon av IPv4 Link-Local Addresses", mai 2005
  9. ^ "UPnP Forum gir ut forbedrede AV-spesifikasjoner som tar hjemmenettverket til neste nivå" (PDF) . 12. juli 2006 . Hentet 14. mai 2012 . 
  10. Digital Living Network Alliance , DLNA Networked Device Interoperability Guidelines , 2006-10
  11. International Electrotechnical Commission , IEC 62481-1 "Digital Living Network Alliance (DLNA) interoperabilitetsretningslinjer for hjemmenettverk - Del 1: Arkitektur og protokoller", 2007-08-30
  12. Cable Television Laboratories, OpenCable Home Networking Protocol , 2006-06-30
  13. a b Arbeid pågår
  14. Lyd: ved hjelp av gstreamer, Video: arbeid pågår
  15. Med plugin foo_upnp
  16. GeeXboX leveres som en Linux-distribusjon
  17. a b c Nettsted: GeeXboX
  18. Mac-støtte levert av Finkhttp://pdb.finkproject.org/pdb/package.php/mediatomb
  19. Patcher tilgjengelig på [1]
  20. Se [2]
  21. Patcher ved [3]
  22. Webgrensesnitt støttet av Webmin -modulen , se [4]
  23. Det arbeides med et nettgrensesnitt i det valgfrie mediebiblioteket som finnes i de siste betaversjonene.
  24. Bruk ffmpeg kun for video
  25. Eksperimentell støtte tilgjengelig, se http://jensge.org/2010/04/1-21-gigawatts/
  26. Betalt versjon avviklet 21. juli 2011. Se [5] . En gratisversjon er fortsatt tilgjengelig, men uten støtte.
  27. Via tredjeparts plugins
  28. Pro-versjonen for en enkelt PC koster €19,99. Det er også en mer begrenset Basic-versjon for €3,99.
  29. De første 10 GByte hver måned er gratis. Livstidslisens på €26, mulighet for månedlig betaling på €1,30/måned.
  30. Transkoding støttes i TMS 5.0 og nyere for PC. Må laste ned FFmpeg, VLC eller andre tredjeparts transkodingsmotorer for å bruke den
  31. ↑ Nødvendig for å kjøpe en Microsoft Windows -lisens for å bruke
  32. http://blogs.msdn.com/b/e7/archive/2009/05/12/media-streaming-with-windows-7.aspx
  33. Hele levetidsversjonen koster $89,99. Det er en gratisversjon med begrensninger.
  34. Denne funksjonen er ikke tilgjengelig i den siste stabile versjonen av XBMC, men er tilgjengelig i de daglige utgivelsene.
  35. "R07 WG09 Enhanced UPnP Remote User Interface" . Arkivert fra originalen 2012-07-31 . Hentet 3. juni 2012 . 
  36. ^ "Enhetssikkerhet og sikkerhetskonsoll V1.0" . 
  37. ^ "Shorewall-brannmurforfatter på UPnP-sikkerhet" . Hentet 30. september 2007 . 
  38. ^ "Linux-IGD-forfattere om UPnP-sikkerhet" . Hentet 30. september 2007 . 
  39. ^ "Flash UPnP-angrep" . 

Eksterne lenker