UPnP 프로토콜 개요

31399 
Created at 2007-05-27 19:37:09 
177   0   0   0  

UPnP 용 네트워킹 매체

UPnP는 표준 IP 프로토콜을 활용함으로써 다양한 네트워크 매체를 활용할 수 있습니다. UPnP 네트워크 상의 상치들은 무선 주파수(RF, 무선), 전화선, 전선, IrDA, Ethernet 및 IEEE 1394 등 모든 통신 매체를 사용하여 연결하는 것이 가능합니다. 달리 말하면, 장치들을 네트워크로 서로 연결시키는데 활용할 수 있는 모든 매체가 UPnP 기능을 구현할 수 있습니다. 유일한 문제는 사용되는 매체가 필요한 대역을 지원할 수 있느냐 하는 것입니다.

UPnP는 TCP/IP, HTTP , XML 같은 개방형 표준 프로토콜을 사용합니다. 그러나 비용 요건, 기술 요건 및 레거시 시스템에 대한 지원 등 여러 가지 이유로 인하여 네트워크에 다른 기술들이 사용될 수도 있습니다. 여기에는 HAVi, CeBus, LonWorks, EIB 또는 X10 같은 네트워킹 기술들이 포함됩니다. 또한 이 기술들을 UPnP 브리지나 프록시를 통하여 UPnP 네트워킹에 활용할 수 있습니다. 브리지 장비를 포함한 UPnP 네트워크는 다음과 같은 모습을 띠고 있을 수 있습니다.


UPnP 프로토콜 개요

브리지된 UPnP 네트워크

UPnP가 사용하는 프로토콜

UPnP는 기존의 많은 표준 프로토콜을 사용합니다. 그러한 표준 프로토콜을 사용함으로써 다양한 공급업체들이 제공하는 제품들 간의 상호 운용성을 보장합니다. UPnP를 구현하기 위하여 사용되는 프로토콜은 인터넷이나 LAN 등 어디에서나 사용되고 있습니다. 이렇게 광범위하게 사용되고 있기 때문에 범용 프로토콜을 사용한 솔루션의 개발 및 구현 방식을 많은 사람들이 이해할 수 있습니다.

UPnP를 구현하는데 사용되는 일부 프로토콜들에 대하여 지금부터 설명하겠습니다.


UPnP 프로토콜 개요

UPnP 프로토콜 스택

UPnP 에 사용되는 프로토콜

UPnP 관련 공급업체, UPnP 포럼 작업 위원회 및 'UPnP 장치 구조' 문서는 UPnP를 구현하는데 사용되는 상위 계층 프로토콜을 정의합니다. 장치 구조를 기반으로 해서 작업 위원회는 VCR, HVAC 시스템, 식기 세척기 등과 같은 특정 장치 형태에 대한 사양을 정의합니다. 그리고, UPnP 장치 공급업체들은 모델 명, URL과 같이 자신들이 개발한 제품에 대한 데이터를 추가시킵니다.

TCP/IP

TCP/IP 네트워킹 프로토콜 스택은 나머지 모든 UPnP 프로토콜을 구축하는 기반 역할을 합니다. 널리 사용되는 이 표준 TCP/IP 프로토콜을 사용함으로써 UPnP는 다른 물리적 매체를 수용하는 능력을 최대한 활용하여 다양한 공급자들이 제공하는 제품들 사이의 상호 운용성을 보장합니다.

UPnP 장치들은 TCP/IP 서비스(DHCP, DNS 등) 뿐만 아니라 TCP, UDP, IGMP, ARP , IP 등 TCP/IP 스택에 있는 많은 프로토콜을 사용합니다. 이 섹션에서 다른 프로토콜들에 대해서도 설명하고 다음 섹션에서 UPnP의 작동원리를 설명하면, 여러분들은 UPnP에 기능 구현을 위하여 이들 프로토콜이나 서비스를 사용하는 방법을 명확하게 이해할 수 있을 것입니다.

TCP/IP는 가장 널리 사용되는 네트워킹 프로토콜이므로 UPnP 기능을 가진 제품을 개발하거나 찾아서 검토하기가 비교적 쉽습니다.

이 문서는 독자가 TCP/IP 프로토콜의 기본 사항은 이해하고 있음을 전제로 하고 작성되었습니다. TCP/IP에 관한 자세한 정보를 원하시면 이 문서 끝에 있는 참고 문헌을 확인하십시오.

HTTP, HTTPU, HTTPMU

TCP/IP는 UPnP 장치들 간의 네트워크 연결성을 제공하는 기본적 프로토콜 스택을 제시합니다. 인터넷의 성공에 엄청난 기여를 한 HTTP도 물론 UPnP의 핵심적 부분입니다. UPnP의 모든 측면은 HTTP 및 이의 파생 프로토콜 기반 위에서 구축되었습니다. HTTPU (HTTPMU 포함)는 HTTP의 파생 프로토콜로서 TCP/IP가 아닌 UDP/IP를 기반으로 한 메시지 전달을 위하여 정의된 것입니다.

이 프로토콜들은 SSDP가 활용하며, 이 내용은 나중에 설명합니다. 이들 프로토콜이 사용하는 기본적 메시지 포맷은 HTTP 메시지 포맷을 따르며, 이 포맷은 멀티캐스트 통신을 하는 경우, 그리고 메시지 전달 시에 신뢰성과 관련된 오버헤드를 요구하지 않을 경우에 모두 사용됩니다.

높은 수준의 프로토콜 및 UPnP의 활용 기법에 대한 설명 내용은 여러분이 HTTP 프로토콜에 대한 기본 사항은 파악하고 있음을 전제로 합니다. HTTP에 관한 자세한 정보를 원하시면 이 문서 끝에 있는 참고 문헌을 확인하십시오.

SSDP

SSDP(Simple Service Discovery Protocol)는 네트워크 서비스를 네트워크 상에서 검색하는 방법을 정의합니다. SSDP는 HTTPU 및 HTTPMU 기반 위에 구축되며, 제어 포인트가 네트워크 상에서 원하는 리소스를 검색하는 방법 및 장치들이 네트워크상에서 자신들이 가용상태에 있음을 알리는 방법을 정의합니다. 검색 요청 및 가용성 알리는 방법을 정의함으로써 SSDP는 이 두 가지 방법 중에서 하나만 사용할 경우에 요구되는 오버헤드를 없애줍니다. 그 결과, 네트워크 상의 모든 제어 포인트는 네트워크 트래픽을 많이 발생시키지 않으면서도 네트워크 상태에 관한 정보를 완벽하게 파악하게 됩니다.

제어 포인트 및 장치 모두가 SSDP를 사용합니다. UPnP 제어 포인트는 부팅이 되자마자 SSDP 검색 요청(HTTPMU을 사용함)을 보내서 네트워크에서 활용 가능한 장치와 서비스를 검색합니다. 제어 포인트는 검색 결과 데이터를 정리하여 단지 특정 장치(예, VCR), 특정 서비스 또는 특정 장치만을 원하는 대로 선별할 수도 있습니다.

UPnP 장치는 멀티캐스트 포트 정보를 수신합니다. 검색 요청을 수신하자마자 장치는 일치 여부를 확인하기 위하여 검색 조건을 점검합니다. 만약 일치된 것이 발견되면 유니캐스트 SSDP (HTTPU를 사용) 응답이 제어 포인트로 전송됩니다.

이와 유사하게, 장치는 네트워크에 연결되자마자 지원하는 서비스의 사용 여부를 알리기 위하여 여러 개의 SSDP presence announcements(가용 상태 알림 정보)를 전송합니다.

presence announcements(가용 상태 알림 정보) 및 유니캐스트 장치 응답 메시지는 모두 장치 설명서의 위치 포인터를 포함하며, 여기에는 이 장치의 기본정보 및 제공 서비스에 관한 정보가 들어 있습니다.

위에서 설명한 검색 능력 외에도 SSDP는 장치 및 장치 관련 서비스가 네트워크와의 연결을 원활하게 끊는 방법을 포함하고 있으며, 또한 자체적인 문제 해결을 위하여 유해 정보를 정화하는데 사용되는 캐시 타임아웃(cache timeouts)을 포함하고 있습니다.

GENA

GENA (Generic Event Notification Architecture)는 TCP/IP를 통한 HTTP 및 멀티캐스트 UDP를 사용하여 통보(notifications)를 송수신하는 기능을 제공하기 위하여 정의되었습니다. 또한 GENA은 이벤트 실행을 위하여 가입자 및 통보 발행자의 개념을 정의합니다.

UPnP는 GENA 포맷을 사용하여 존재 발표 내용을 생성한 후에 SSDP 프로토콜을 통하여 전송하고 UPnP 이벤트 작업의 서비스 상태 변화를 신호로 알려주는 기능을 합니다. 이벤트 통보를 수신 받고자 하는 제어 포인트는 원하는 서비스, 이벤트 송신 위치 및 이벤트 통보 구독 시간을 포함하는 요청을 송신함으로써 이벤트 소스에 가입합니다.

가입 내용은 주기적으로 갱신되어 지속적으로 통보되며, GENA를 사용하여 가입을 취소하는 것도 가능합니다.

SOAP

SOAP (Simple Object Access Protocol)는 XML 및 HTTP의 용법을 정의하여 원격 프로시저 호출을 실행합니다. 이것은 인터넷을 통한 RPC 기반 통신의 표준이 되어가는 추세이며, 기존의 인터넷 인프라를 통하여 방화벽 및 프록시에서 아주 효율적인 기능을 수행합니다. SOAP는 또한 보안용으로 SSL (Secure Sockets Layer)을 활용하고 HTTP의 연결 관리 기능을 활용함으로써 인터넷을 통한 분산형 통신을 웹 페이지에 접속하는 것 만큼이나 쉽게 만듭니다.

원격 프로시저 호출과 유사하게, UPnP는 SOAP를 사용하여 제어 메시지를 장치들로 전송하며 그 결과 및 오류 내역을 제어 포인트로 반환합니다.

각 UPnP 제어 요청은 실행할 동작 및 일련의 매개 변수를 포함하는 SOAP 메시지 입니다. 그 응답도 또한 SOAP 메시지이며 상태, 반환 값(return value) 및 모든 반환 매개 변수를 포함하고 있습니다.

XML

XML(Extensible Markup Language)은 웹 상의 구조화된 데이터를 위한 범용 포맷을 말합니다. 달리 표현하면 XML을 사용하면 거의 모든 형태의 구조화된 데이터를 텍스트 파일로 만들 수 있습니다.

XML은 태그와 특성(tags, attributes)을 사용한다는 측면에서 보면 HTML과 유사한 점이 많습니다. 하지만, XML은 그러한 태그와 특성들이 일반적으로 정의된 것이 아니라 사용되는 컨텍스트 내에서 해석된다는 관점에서 보면 상당히 다릅니다. XML의 이러한 특징 때문에 다양한 문서 형태에 적합한 스키마를 정의하는데 아주 적합하다는 것입니다. 스키마 언어로서의 XML 사용법은 W3C에 의하여 정의되었습니다.

XML은 장치 및 서비스 설명서, 제어 메시지 및 이벤트에 사용되는 UPnP의 핵심적 부분입니다.



Tags: GENA HTTP HTTPMU HTTPU SOAP SSDP UPnP XML 윈도우즈 Share on Facebook Share on X

◀ PREVIOUS
UPnP 네트워크의 구성요소
▶ NEXT
UPnP 네트워크의 예
  댓글 0
로그인을 하시면 댓글을 등록 할 수 있습니다.
SIMILAR POSTS

UPnP 네트워크의 구성요소 (created at 2007-05-27)

UPnP 네트워크의 예 (created at 2007-05-27)

UPnP의 작동 방법 (created at 2007-05-27)

UPnP 구현 시나리오 (created at 2007-05-27)

DLNA, UPnP 개요 (created at 2007-05-27)

원격 부팅(Wake on-LAN : WOL) (created at 2007-05-27)

유즈 케이스(Use Case)를 활용한 UML 표기법 입문 (created at 2007-05-26)

UTF-8로 인코딩된 문자열을 EUC-KR로 바꾸는 방법 (created at 2007-05-29)

백줄 글보다 낫다「다이어그램 작성 프로그램」 (created at 2007-05-26)

UML은 무엇을 위해 있는 것일까? (created at 2007-05-26)

타임아웃 시간줄이기 (created at 2007-05-18)

XP 윈도우 창 속도 높이기 (created at 2007-05-18)

Windows XP에서 윈도우 창이 뜨는 속도를 높이는 방법 (created at 2007-05-18)

Windows XP Shutdown(윈도우종료) 빠르게 하기 (created at 2007-05-18)

내컴퓨터의 <공유문서>를 보이지 않게 하려면? (created at 2007-05-18)

자신의 Windows XP 정품 인증 확인 방법 (created at 2007-05-18)

프로그램 목록에서 지워지지 않는 목록 지우기 (created at 2007-05-18)

PC가 점점 느려지고 있다면 바탕화면에 있는 단축 아이콘이 점유하는 메모리 용량을 되찾아라 (created at 2007-05-18)

폴더 창 실행 속도 끌어올리기 (created at 2007-05-18)

윈도의 묵묵부답! '무응답 시간' 단축하기 (created at 2007-05-18)

리아(RIA)가 온다...리아를 주목하라... (created at 2007-05-16)

초창기 윈도우즈 (created at 2007-05-16)

WindowsXP 부팅시 부팅 로고 안나오게 하는 방법 (created at 2007-05-14)

노턴 고스트 2005 (9.0) 설치 및 사용방법 (created at 2007-05-13)

특정 폴더의 특정 파일만 파일명으로 지우기 (created at 2007-05-07)

ShellExecuteEx를 이용한 커맨드라인 기반 어플리케이션 실행 (created at 2007-05-07)

웹페이지 속도 빠르게 하는 방법 10가지 (created at 2007-06-21)

온톨로지(ontology)란 무엇인가? (created at 2007-07-11)

OWL(One World Language)은 무엇인가? (created at 2007-07-11)

OWL(One World Language)의 다른 종류 (created at 2007-07-11)

OTHER POSTS IN THE SAME CATEGORY

Exchange Server 인증서 때문에 Windows Mobile 디바이스와 ActiveSync가 되지 않는 경우 해결법 (created at 2007-07-24)

PC 부팅할때 Num Lock 키 해제하는 방법 (created at 2007-07-21)

MFC에서 디스크 포멧(Disk Format)하기 (created at 2007-07-20)

소켓을 생성하여 CSocket에 Attach하는 방법 (created at 2007-07-19)

소켓 프로그래밍 기본 흐름 - Socket Programming Basic Flow (created at 2007-07-16)

Java로 구현하는 간단한 Client & Server 프로그램 (created at 2007-07-16)

OWL(One World Language)의 다른 종류 (created at 2007-07-11)

OWL(One World Language)은 무엇인가? (created at 2007-07-11)

온톨로지(ontology)란 무엇인가? (created at 2007-07-11)

시간 알아내는 함수 gmtime (created at 2007-06-27)

웹페이지 속도 빠르게 하는 방법 10가지 (created at 2007-06-21)

글자 깜빡이게 하기 (created at 2007-06-05)

PHP에서 URL Open시 에러가 날때 (created at 2007-06-05)

UTF-8로 인코딩된 문자열을 EUC-KR로 바꾸는 방법 (created at 2007-05-29)

UPnP 네트워크의 예 (created at 2007-05-27)

UPnP 네트워크의 구성요소 (created at 2007-05-27)

UPnP의 작동 방법 (created at 2007-05-27)

DLNA, UPnP 개요 (created at 2007-05-27)

원격 부팅(Wake on-LAN : WOL) (created at 2007-05-27)

유즈 케이스(Use Case)를 활용한 UML 표기법 입문 (created at 2007-05-26)

백줄 글보다 낫다「다이어그램 작성 프로그램」 (created at 2007-05-26)

UML은 무엇을 위해 있는 것일까? (created at 2007-05-26)

타임아웃 시간줄이기 (created at 2007-05-18)

XP 윈도우 창 속도 높이기 (created at 2007-05-18)

Windows XP에서 윈도우 창이 뜨는 속도를 높이는 방법 (created at 2007-05-18)

Windows XP Shutdown(윈도우종료) 빠르게 하기 (created at 2007-05-18)

내컴퓨터의 <공유문서>를 보이지 않게 하려면? (created at 2007-05-18)

자신의 Windows XP 정품 인증 확인 방법 (created at 2007-05-18)

프로그램 목록에서 지워지지 않는 목록 지우기 (created at 2007-05-18)

PC가 점점 느려지고 있다면 바탕화면에 있는 단축 아이콘이 점유하는 메모리 용량을 되찾아라 (created at 2007-05-18)

UPDATES

입사 후 1년도 되지 않은 회사에서 구조조정에 의한 퇴직 불응에 따른 해고 처리시 대응 가능한 방법 (updated at 2024-04-20)

한고은님의 옛날 사진 (updated at 2024-04-20)

소녀대 - Bye Bye Girl (updated at 2024-04-13)

대한민국 날씨 근황 (created at 2024-04-13)

성일종 인재육성 강조하며 이토 히로부미 언급 - 인재 키운 선례? (updated at 2024-04-13)

일제강점기가 더 살기 좋았을지도 모른다는 조수연 국민의힘 후보 - 친일파? (updated at 2024-04-13)

Marshall Ha님의 샤오미 SU7 시승기 - 테슬라의 일론 머스크님이 긴장할만한 느낌 (updated at 2024-04-09)

윙크하는 귀염둥이 반려견들 (created at 2024-04-08)

달콤 살벌한 고백 (created at 2024-04-08)

북한 최정예 공수부대 훈련 모습 (updated at 2024-04-02)

맛있었던 친구 어머니의 주먹밥이 먹고 싶어요 (created at 2024-04-02)

자리 마음에 안든다고 6급 공무원 패는 농협 조합장 (created at 2024-03-26)

85세 딸 짜장면 사주는 102세 어머니 (created at 2024-03-26)

1990년대 감각파 도둑 (created at 2024-03-26)

치매에 걸린 69살의 브루스 윌리스가 전부인 데미무어를 보고 한 말 (updated at 2024-03-22)

경제는 대통령이 살리는 것이 아닙니다 라던 윤석열대통령 - 상황 안좋아지자 여러 전략을 펼쳤지만, 부작용 속출했던 2024년의 봄 (updated at 2024-03-13)

극빈의 생활을 하고 배운것이 없는 사람은 자유가 뭔지도 모를 뿐 아니라 왜 개인에게 필요한지에 대한 필요성을 못느낀다는 윤석열 대통령 (updated at 2024-03-08)

조선일보를 안본다는 사람들이 말하는 그 이유 - 천황폐하, 전두환 각하, 김일성 장군 만세? (created at 2024-03-07)

광폭타이어를 장착하면 성능이 좋아질거라는 착각 (updated at 2024-03-03)

면허시험장에서 면허갱신하면 하루만에 끝나나? (updated at 2024-03-03)

신한은행/신한투자증권 금융거래 종합보고서 다운로드 방법 (updated at 2024-02-26)

100년 된 일본 장난감 회사가 내놓은 변신 기술에 난리난 과학계 (created at 2024-02-26)

알리에서 발견한 한글 지원하는 가성비 쩌는 무선 기계식키보드 (updated at 2024-02-25)

쌍팔년도가 1988년인줄 알았던 1인 (updated at 2024-02-23)

이쁜 색으로 변신한 테슬라 사이버트럭 (created at 2024-02-23)

2024년 카타르 아시안컵 4강전 전날 한국 대표팀 내부에 있었던 이강인의 폭주 (updated at 2024-02-21)

강릉 맛집 지도 (updated at 2024-02-20)

간이 안좋을 때 나타나는 증상 20가지 (updated at 2024-02-20)

배설물을 이용하여 일본에 저항했던 독립운동가 조명하 (updated at 2024-02-20)

요건 몰랐지롱? 이순신을 사랑한 외국인 (created at 2024-02-20)