대문 / 프로그래밍 / uPnP (Universal Plug and Play)

uPnP (Universal Plug and Play)

개요

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

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

  • IPv4, IPv6
  • UDP, TCP
  • HTTP (Hypertext Transfer Protocol)
  • XML (Extensible Markup Language)
  • DNS (Domain Name System)
  • DHCP (Dynamic Host Configuration Protocol)
  • UTF-8
  • UUID (Universally Unique IDentifier)
  • SSDP (Simple Service Discovery Protocol)
  • SOAP (Simple Object Access Protocol)
  • GENA (General Event Notification Architecture)

개략적인 장치와 제어부분간의 흐름

ControlPointandDeviceInteraction.png


개발요소

  • 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)

동작요소


Addressing

  • uPnP는 IP기반의 Network상에서 구현되므로 IP주소가 필요합니다.
  • DHCP, AutoIP
  • uPnP와 DLNA는 IPv4기반하에 동작하는게 기본적인 사항입니다. 그러나 IPv6호환성이 고려됩니다.

Discovery

  • SSDP를 사용하여 장비를 탐색합니다.
  • Control point는 장비를 탐색하는데 적극적이고 장비들은 이러한 탐색에 응답하게 됩니다.

Description

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

Control

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

Event

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

Presentation

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

참고자료


/*
End of page
(RemoteIP=38.107.179.241:34409)
Copyright © HWPORT.COM
All Rights Reserved.
*/