| 검색 | ?

Difference between r1.1 and the current

@@ -1,4 +1,5 @@
#keywords upnp,ssdp,zero,configuration,ip,udp,dhcp,http,SOAP,GENA,UUID,XML,RootDevice,universal,plug,play,discovery,SSDP
#title uPnP (Universal Plug and Play)
[wiki:Home 대문] / [wiki:CategoryNetwork 네트웍], [wiki:CategoryProgramming 프로그래밍] / [wiki:uPnP uPnP (Universal Plug and Play)]
----
== [wiki:uPnP uPnP (Universal Plug and Play)] ==
@@ -9,12 +10,10 @@
2011년 6월 9일 : 처음씀

[[TableOfContents]]
== 개요 ==
[wiki:uPnP uPnP (Universal Plug and Play)]는 오늘날 IPv4기반의 Network상황에서 Home networking을 위해서 많이 활용되고 있습니다. 그리고 DLNA의 수단으로써 좀더 강력한 사용자 접근성을 발휘합니다. 이 페이지는 그러한 [wiki:uPnP uPnP (Universal Plug and Play)]에 대해서 간략히 정리해보고자 합니다.

이 문서는 표준을 엄격히 서술하는 것이 아니며 통상적인 범용구현을 위하여 나름 재해석한 내용을 담고 있습니다. 표준과 다른 부분도 있을수 있으니 이점 유념하도록 합니다.
== 이 글을 읽기전에 필요한 선행지식 요소 ==
* 용어정의
* Action: Service 에 요청하는 명령. 하나 이상의 입력 또는 출력 인수를 사용할 수 있으며 반환 값도 가질 수 있습니다.
@@ -33,7 +32,6 @@
* [wiki:SimpleServiceDiscoveryProtocol SSDP(Simple Service Discovery Protocol)]
* [^http://www.w3.org/TR/soap/ SOAP (Simple Object Access Protocol)]
* GENA (General Event Notification Architecture)
== 개략적인 흐름 ==
* Protocol stack
|||||||| [wiki:uPnP uPnP (Universal Plug and Play)] Vendor ||
@@ -54,7 +52,6 @@
* Step3: Control Point 가 Device로 적절한 명령 및 이벤트를 하달하는 단계.
* Step4: Device가 제공하는 상태변화를 Control Point 가 인지하는 단계.
* Step5: Device들의 사용자 Interface를 표시하는 단계.
== 개발요소 ==
* DHCP Server
* dhcpd
@@ -70,32 +67,24 @@
* [wiki:SimpleServiceDiscoveryProtocol SSDP(Simple Service Discovery Protocol)]
* SOAP
* GENA (General Event Notification Architecture)
== 동작요소 ==
=== Addressing ===
* [wiki:uPnP uPnP (Universal Plug and Play)]의 가장 첫 단추는 주소체계(Addressing)의 이해와 구현이 선행되어야 합니다.
* [wiki:uPnP uPnP (Universal Plug and Play)]는 IP기반의 Network상에서 구현되므로 IP주소가 필요합니다.
* [wiki:uPnP uPnP (Universal Plug and Play)]의 Control Point 와 Device는 DHCP server를 구현할 필요는 없지만 DHCP client 에 대응하는 일련의 DHCP network 주소체계 및 AutoIP 를 확보할수 있어야 합니다.
* [wiki:uPnP uPnP (Universal Plug and Play)]와 DLNA는 IPv4기반하에 동작하는게 기본적인 사항입니다. 그러나 IPv6호환성이 고려됩니다.
=== Discovery ===
[attachment:DiscoveryArchitecture.png UPnP Device Architecture 1.1 문서에서 인용]
* [wiki:SimpleServiceDiscoveryProtocol SSDP(Simple Service Discovery Protocol)]를 사용하여 장비를 탐색합니다.
* Control point는 장비를 탐색하는데 적극적이고 장비들은 이러한 탐색에 응답하게 됩니다.
=== Description ===
* Control point는 장비를 탐색후 장비에 대한 제한적인 정보만을 가지고 있게 되는데 Description을 통해서 장치로부터 좀더 세부적인 정보를 XML형태로 취득합니다.
=== Control ===
* 장비들에게 XML로 표현되는 형태의 SOAP으로 명령을 내릴 수 있습니다.
=== Event ===
* 장비의 상태변화를 Control point에게 XML로 표현되는 형태의 GENA로 통지합니다.
=== Presentation ===
* 장비가 URL을 제공하여 Control point가 이를 이용하여 특정 내용을 가져올 수 있도록 제공합니다. 내용에 따라서 사용자에게 제어할 수 있도록 Interface를 제공합니다.
== 참고자료 ==
* [^http://www.upnp.org/]
* [^http://www.dlna.org/]
@@ -112,5 +101,4 @@
* [^http://opentools.homeip.net/dev-tools-for-upnp]
* [^http://developer.lgappstv.com/TV_HELP/index.jsp?topic=%2Flge.tvsdk.references.book%2Fhtml%2FUDAP%2FUDAP%2FLG+UDAP+2+0+Protocol+Specifications.htm LG UDAP]
* [^https://tools.ietf.org/id/draft-cohen-gena-client-00.txt GENA - General Event Notification Architecture Base: Client to Arbiter]




대문 / 네트웍, 프로그래밍 / uPnP (Universal Plug and Play)

uPnP (Universal Plug and Play)

2. 개요

uPnP (Universal Plug and Play)는 오늘날 IPv4기반의 Network상황에서 Home networking을 위해서 많이 활용되고 있습니다. 그리고 DLNA의 수단으로써 좀더 강력한 사용자 접근성을 발휘합니다. 이 페이지는 그러한 uPnP (Universal Plug and Play)에 대해서 간략히 정리해보고자 합니다.

이 문서는 표준을 엄격히 서술하는 것이 아니며 통상적인 범용구현을 위하여 나름 재해석한 내용을 담고 있습니다. 표준과 다른 부분도 있을수 있으니 이점 유념하도록 합니다.

3. 이 글을 읽기전에 필요한 선행지식 요소

  • 용어정의
    • Action: Service 에 요청하는 명령. 하나 이상의 입력 또는 출력 인수를 사용할 수 있으며 반환 값도 가질 수 있습니다.
    • Control point: Device 및 Service 의 제공정보를 검색하고 이에 맞는 이벤트를 수집 및 제어를 수행를 담당하는 부분
    • Device: 논리적인 개념의 장치로 정의되며 또 다른 논리적인 개념의 Device 및 Service를 포함할수 있으며 Network 에 자신의 존재를 알리는 일련의 행위를 주도합니다.
    • RootDevice: 어떠한 논리적 Device에 속하지 않은 최상위의 Device를 말합니다.
    • Service: 논리적인 개념의 기능 단위로 정의되며 제어에 있어서 가장 작은 단위를 말합니다. Action과 Model들에게 상태 변수와 물리적 장치의 상태를 제공 할 수 있습니다.
  • IPv4, IPv6
  • UDP, TCP
  • [http]RFC2616: Hypertext Transfer Protocol -- HTTP/1.1[]
  • [http]XML(Extensible Markup Language). W3C recommendation.[]
  • DNS (Domain Name System)
  • DHCP (Dynamic Host Configuration Protocol)
  • [http]RFC2279: UTF-8, a transformation format of ISO 10646[]
  • UUID (Universally Unique IDentifier)
  • SSDP(Simple Service Discovery Protocol)
  • [http]SOAP (Simple Object Access Protocol)[]
  • GENA (General Event Notification Architecture)

4. 개략적인 흐름

  • Protocol stack
    uPnP (Universal Plug and Play) Vendor
    uPnP (Universal Plug and Play) Forum
    uPnP (Universal Plug and Play) Device Architecture
    SSDP Multicast events SOAP GENA
    HTTP
    UDP TCP
    IP

  • 탐색 및 제어의 흐름
    ControlPointandDeviceInteraction.png
    [PNG image (25.2 KB)]


  • UPnP 의 실현단계
    • Step0: Device 와 Control Point 들간에 적절한 Network 주소체계를 부여하여 검색이 가능한 Network주소를 이용할수 있도록 하는 단계.
    • Step1: Control Point가 적절한 Device 를 찾고 이를 정돈하는 단계.
    • Step2: Device 의 자세한 기능을 Control Point가 수집하는 단계.
    • Step3: Control Point 가 Device로 적절한 명령 및 이벤트를 하달하는 단계.
    • Step4: Device가 제공하는 상태변화를 Control Point 가 인지하는 단계.
    • Step5: Device들의 사용자 Interface를 표시하는 단계.

5. 개발요소

  • DHCP Server
    • dhcpd
  • DHCP Client
    • dhclient, dhcpcd
  • HTTP Server (v1.1 support)
    • Apache
  • HTTP Client
    • cURL, wget
  • XML parser
  • UUID Generator
    • util-linux
  • SSDP(Simple Service Discovery Protocol)
  • SOAP
  • GENA (General Event Notification Architecture)

6. 동작요소

6.1. Addressing

6.2. Discovery

UPnP Device Architecture 1.1 문서에서 인용
[PNG image (40.14 KB)]
  • SSDP(Simple Service Discovery Protocol)를 사용하여 장비를 탐색합니다.
  • Control point는 장비를 탐색하는데 적극적이고 장비들은 이러한 탐색에 응답하게 됩니다.

6.3. Description

  • Control point는 장비를 탐색후 장비에 대한 제한적인 정보만을 가지고 있게 되는데 Description을 통해서 장치로부터 좀더 세부적인 정보를 XML형태로 취득합니다.

6.4. Control

  • 장비들에게 XML로 표현되는 형태의 SOAP으로 명령을 내릴 수 있습니다.

6.5. Event

  • 장비의 상태변화를 Control point에게 XML로 표현되는 형태의 GENA로 통지합니다.

6.6. Presentation

  • 장비가 URL을 제공하여 Control point가 이를 이용하여 특정 내용을 가져올 수 있도록 제공합니다. 내용에 따라서 사용자에게 제어할 수 있도록 Interface를 제공합니다.

7. 참고자료



Copyright ⓒ MINZKN.COM
All Rights Reserved.