UPnP를 통하여 장치는 완전히 자동으로 네트워크에 동적으로 합류하고, IP주소를 확보하며, 기능을 전달하고, 다른 장치의 존재 및 기능을 확인할 수 있으므로 진정한 제로 구성(zero configuration) 네트워크를 구현합니다. 장치들은 지속적으로 다른 장치들과 직접적으로 통신하여 피어-투-피어 네트워킹 기능을 보다 강화합니다. UPnP 기능을 가진 네트워크로부터 혜택을 받을 수 있는 장치들은 매우 많으며, 예를 들면 지능형 제품, 무선 장치 및 모든 형태의 PC 제품 등이 있습니다. UPnP의 적용 범위는 홈 자동화, 인쇄 및 이미징, 오디오/비디오 오락, 부엌 용품, 자동차 네트워크 등 기존 분야 및 신규 분야 모두에 적용이 가능하므로 실로 대단히 광범위합니다. UPnP는 표준 TCP/IP 및 인터넷 프로토콜을 사용하므로 기존 네트워크에 매끄러운 통합이 가능합니다. 이러한 표준 프로토콜을 사용함으로써 UPnP는 다양한 경험과 지식을 활용할 수 있고 기본적으로 상호 운용성을 보장합니다. UPnP는 개방형 분산 네트워크 구조를 가지고 있고 사용하는 프로토콜에 의하여 정의되기 때문에 특정 운영체제나 프로그래밍 언어 또는 물리적 매체(인터넷 등)에 의존하지 않고 독립성을 유지합니다. UPnP는 어플리케이션이 사용할 API를 지정하지 않으므로 운영체제 공급자들은 자체 고객들의 필요에 맞는 API를 개발할 수 있습니다. 누가 UPnP를 정의하는가?"범용 플러그 앤 플레이 포럼"은 Microsoft가 공헌한 공통 장치 구조(Common Device Architecture)에 따라 'UPnP 장치 및 서비스 설명서' (원래 장치 제어 프로토콜 또는 DCPs라고 불렀음)를 정의합니다. 범용 플러그 앤 플레이 포럼은 UPnP 장치 및 서비스 사양을 작성하는데 있어서 선도적 역할을 하려는 회사 및 개인들이 속한 그룹을 말합니다. 1999년 10월 18일에 설립된 이 포럼은 업계에 속하는 340개 이상의 주요 공급업체들의 연합입니다. 이 포럼의 목적은 쉽게 연결할 수 있는 장치를 개발하고 가정 및 기업 환경에서 네트워크 구현 절차를 단순화시키는 것입니다. 그리고 이 포럼은 개방형 인터넷 기반 통신 표준을 기반으로 구현된 UPnP 장치 및 서비스 설명서를 정의하여 발행함으로써 그 목적을 달성하고 있습니다. 이 포럼의 웹 사이트 http://www.upnp.org/ 는 포럼이 개발하여 표준화한 스키마에 대한 중앙 저장소입니다. 또한 이 사이트는 장치 구조에 관한 문서, 장치와 서비스 설명에 필요한 템플릿, 장치 및 서비스 설명서 작성 지침 등을 포함하고 있습니다. UPnP.org 도 또한 이 포럼의 활동 및 진행 상황에 관한 정보를 제공합니다. UPnP의 책임UPnP는 제어 포인트와 장치 사이의 통신을 지원합니다. 네트워크 매체와 TCP/IP 프로토콜 및 HTTP는 기본적 네트워크 연결성 및 주소 지정 기능을 제공합니다. 이러한 개방형 표준 인터넷 기반 프로토콜을 토대로 하여 UPnP는 검색, 설명, 제어, 이벤트 및 프리젠테이션을 처리하기 위하여 일련의 HTTP 서버들을 정의합니다. 이 섹션에서는 문서의 앞 부분에서 정의한 프로토콜들이 이와 같은 필요성을 충족시키기 위하여 어떻게 활용되는 가에 대하여 설명합니다. UPnP 프로토콜 스택앞에서는 UPnP를 구현하기 위하여 사용하는 프로토콜을 설명하였습니다. 이제부터는 이러한 프로토콜을 보다 잘 이해할 수 있도록 다이어그램을 통해 살펴보도록 하겠습니다. "UPnP 장치 구조"는 모든 장치/서비스에 대한 장치 설명서 및 서비스 설명서를 작성하는데 필요한 스키마나 템플릿을 정의합니다. 따라서 개별적인 작업 위원회는 다양한 장치 및 서비스 형태를 표준화하고 각 장치나 서비스 형태에 대한 템플릿을 만듭니다. 마지막으로 공급업체들이 이 템플릿에 고유한 장치 정보 (장치 이름, 모델 번호, 제조업체 명, 서비스 설명서에 대한 URL)를 추가합니다. 그리고 나서 이 데이터를 "UPnP 장치 구조" 문서 ( 예: XML 장치 설명 템플릿)에 정의된 UPnP용 프로토콜에 포함시키게 됩니다. 필요한 UPnP 정보는 메시지가 SSDP, GENA, SOAP를 사용하여 포맷되기에 앞서 먼저 그 전에 모든 메시지에 삽입된 후 HTTP, HTTPU 또는 HTTPMU를 사용하여 전달됩니다. UPnP 네트워킹 단계주소 지정UPnP 네트워킹의 기반은 TCP/IP 프로토콜이며 이 프로토콜의 핵심은 주소지정(addressing)입니다. 각 장치는 DHCP (동적 호스트 구성 프로토콜) 클라이언트를 가지고 있어야 하며, 장치가 맨 처음 네트워크에 연결되면 DHCP 서버를 검색해야 합니다. 만약 DHCP 서버가 있으면 해당 장치는 반드시 할당된 IP 주소를 사용해야 합니다. 만약 사용 가능한 DHCP 서버가 없는 경우에는 장치는 주소를 확보하기 위하여 '자동 IP' (Auto IP)를 사용해야 합니다. 간단히 말하면, 자동 IP는 보관된 사설 주소 세트 중에서 장치가 IP 주소를 지능적으로 선택하는 방법, 그리고 관리 네트워크와 비관리 네트워크 (managed and unmanaged networks) 사이에서 쉽게 이동할 수 있도록 하는 방법을 정의한 것을 말합니다. 편리한 장치 이름을 사용하는 UPnP 외에도 상위 계층 프로토콜을 구현할 수도 있습니다. 이 경우에는 호스트(장비) 이름을 IP 주소로 해석하는 것이 반드시 필요합니다. 일반적으로 DNS(도메인 이름 서비스)가 이 작업에 활용됩니다. 이러한 기능이 필요한 장치에는 DNS 클라이언트가 포함될 수 있으며, 자신의 이름-주소 매핑을 위하여 동적 DNS 등록 기능을 가지고 있을 수 있습니다. 검 색 (Discovery)일단 장치가 네트워크에 연결되고 적절한 주소가 지정되면 검색 작업이 진행될 수 있습니다. 검색 작업은 앞서 설명한 것처럼 SSDP가 처리합니다. 장치가 네트워크에 추가되면 SSDP는 이 장치가 제공하는 서비스를 네트워크 상에 있는 제어 포인트에 알리도록 합니다. 이 두 가지 경우에 있어서 기본적인 교환 정보는 장치 또는 장치가 제공하는 서비스와 관련된 주요 정보(예: 형태, 식별자, XML 장치 설명서에 대한 포인터 등)를 포함하는 검색 메시지입니다. 설 명 (Description)UPnP 네트워킹의 다음 단계는 설명입니다. 제어 포인트가 장치를 검색하기는 했지만, 제어 포인트는 여전히 장치에 대하여 알고 있는 정보가 아주 적습니다. 이 제어 포인트가 장치 및 장치의 기능에 대한 정보를 자세하게 파악하여 상호작용을 하려면, 제어 포인트는 검색 메시지와 해당되는 장치가 제공하는 URL로부터 장치 설명 내용을 확인해야 합니다. 장치들은 다른 논리적 장치 및 서비스를 포함하고 있을 수 있습니다. 장치에 대한 UPnP 설명은 XML로 표현되어 있으며, 공급 업체 고유의 제조 정보(모델명, 일련번호, 제조업체 이름, 제조업체 URL등)를 포함하고 있습니다. 이 설명은 또한 제어, 이벤트 및 프리젠테이션을 위한 URL 뿐만 아니라 많은 내장된 장치 및 서비스에 관한 목록도 포함하고 있습니다. 제 어 (Control)제어 포인트는 장치 설명을 확보한 후에 장치 제어를 위한 필수적 작업을 수행합니다. 서비스를 보다 잘 파악하기 위하여 제어 포인트는 각 서비스의 구체적인 UPnP 설명서를 확보해야 합니다. 서비스에 대한 설명서도 XML로 작성되고 명령, 동작 및 각 동작에 대한 서비스 응답, 매개 변수, 독립 변수에 관한 목록을 포함하고 있습니다. 그리고 서비스 설명서는 또한 다양한 변수 목록을 포함하며, 이러한 변수들이 런타임에서의 서비스 상태를 정의하며, 이들 변수들은 데이터 형태, 범위, 이벤트 특성 등을 설명합니다. 장치를 제어하기 위하여 제어 포인트는 장치의 서비스에 동작 요청을 보냅니다. 그러기 위해서 제어 포인트는 적절한 제어 메시지를 해당 서비스에 대한 제어 URL(장치 설명서에 있음)로 보냅니다. 제어 메시지도 SOAP를 사용하여 XML로 표현됩니다. 해당 서비스는 이 제어 메시지에 대한 응답으로서 특정 동작 값이나 장애 코드를 제공합니다. 이벤트 작업 (Eventing)서비스에 대한 UPnP 설명서는 서비스가 응답하는 동작 목록 및 런타임에서 서비스의 상태를 모델화하는 변수들의 목록을 포함하고 있습니다. 서비스는 이러한 변수들이 변경되면 업데이트 항목을 발행하고 제어 포인트는 이 정보를 수신하기 위하여 등록할 수도 있습니다. 서비스는 이벤트 메시지를 송신하는 방식으로 업데이트 항목을 발행합니다. 이벤트 메시지는 한 개 이상의 상태 변수 이름 및 이들 변수들의 현재 값을 포함하고 있습니다. 이 메시지도 XML로 표현되고 GENA를 통하여 포맷됩니다. 초기 이벤트 메시지는 제어 포인트가 처음에 등록할 때 송신됩니다. 이 이벤트 메시지는 모든 이벤트 변수의 이름 및 값을 포함하고 있고 가입자들은 이를 활용하여 보유하고 있는 해당 서비스 상태 모델을 초기화합니다. 다수의 제어 포인트를 지원하기 위하여 전체 등록자들에게 모든 이벤트 메시지가 송신되며, 등록자들은 모든 이벤트화된 변수에 대한 이벤트 메시지를 수신하고, 이벤트 메시지들은 상태 변수의 변경 이유에 관계없이 송신됩니다. (이것은 동작 요청 또는 상태 변경에 대한 응답임) 프리젠테이션 (Presentation)만약 장치가 프리젠테이션용 URL을 가지고 있다면, 제어 포인트는 이 URL을 통하여 페이지를 검색할 수 있고 이 페이지를 브라우저에 로드할 수 있으며, 페이지의 특성에 따라서 사용자들은 장치를 제어하거나 장치 상태를 조회할 수 있습니다. 이 기능들을 수행할 수 있는 수준은 프리젠테이션 페이지 및 장치의 특정 기능에 달려있습니다. 요 약:- 인터넷과 마찬가지로 UPnP는 유선 프로토콜에 기반 하므로 (API를 기반으로 하지 않음) 다양한 매체 및 플랫폼에서 범용으로 수용할 수 있습니다.
- UPnP는 기존 표준을 기반으로 하므로 손쉬운 상호 운용이 가능합니다.
- UPnP는 업계의 전폭적인 지원을 받고 있으므로 성공을 보장합니다.
- 표준을 기반으로 하기는 하지만 UPnP는 현재 및 미래 네트워크 장비의 필요성을 충족시킬 수 있는 유연성을 가지고 있습니다.
|