네트워킹에서 각각의 단계들이 언제 어떻게 실행되는지 그 원리를 더 잘 이해하기 위해서, 몇 개의 장치로만 구성된 소규모 네트워크를 정의해 보겠습니다. 그리고 나서 이들 장치가 기능과 관련하여 어떻게 상호 작용하는지를 설명할 수 있습니다.

아래의 그림 6번은 다음의 구현 장치들을 포함하는 네트워크를 보여줍니다:

  • 인터넷 게이트웨이. 이 장치는 독립 실행형 게이트웨이 장치 또는 게이트웨이 역할을 하는 PC일 수 있습니다. 이 장치는 제어 포인트( point)가 될 수도 있고 그렇지 않을 수도 있습니다. 이 장치를 사용하면 인터넷 액세스, DHCP(동적 호스트 구성 프로토콜) 서버, DNS 프록시 및 저장소 등의 서비스를 받을 수 있습니다. 또한 이 게이트웨이는 여러 가정의 LAN 미디어에 연결되기도 하고, 관련된 미디어들에 대한 브리지 기능을 수행하기도 합니다. 사용되는 미디어로는 무선 IEEE 802.11 , 전선 네트워크, 전화선 네트워크 및 IEEE 1394 등이 있습니다.
  • 다수의 스마트 가전기기. 아래 그림에서, 네트워크에는 기능을 가진 가정용 기기들을 포함할 될 수 있습니다. 즉 라디오 시계, 커피포트 및 전자 렌지 오븐 등 전선 네트워크에 연결할 할 수 있는 기구들 및 전화선 네트워크에 연결된 프린터도 포함 할 수 있습니다.
  • 가정 오락 시스템. 가정 오락 시스템에는 IEEE1394 또는 방화벽과 게이트웨이 장치에 함께 연결된 여러 장비들이 포함됩니다. 이 시스템의 구성 요소들은 튜너를 장착한 스테레오 시스템, 리시버 및 CD 주크박스 플레이어, TV 및 VCR, 비디오나 디지털 카메라와 같은 부가적인 A/V 장치와의 연결 등을 포함합니다. 또한 새로운 DVD 주크박스 플레이어도 이 네트워크에 추가할 수 있습니다.
  • 무선 랩톱. 어떤 사람들은 직장에서 무선 네트워크 어댑터를 장착한 랩톱 컴퓨터를 사용하여 일을 하고, 때때로 못다한 작업을 마무리 하기 위하여 이 컴퓨터를 가정으로 가져 오기도 합니다.

다양한 구성 요소들이 네트워크에 포함될 수 있지만, 여기에서는 비교적 간단한 네트워크의 예를 들어 운영 원리를 쉽게 설명하였습니다.

UPnP 네트워크의 예

네트워크의 예

시나리오의 시작

이 시나리오는 랩톱과 DVD 재생장치를 제외하고는 위의 네트워크에 포함되는 모든 구성 요소들이 작동 중이며, 프로토콜을 사용하여 각각의 장비가 서로를 인식하고 있는 상황을 전제로 시작합니다.

이 시나리오에 등장하는 가족은 몇 주 전 저녁식사 시간에 비디오 시장에서의 DVD 열풍에 대하여 이야기 하면서, 왜 자신들은 아직까지 비디오 카세트 플레이어만을 사용하면서 고화질 영상을 보지 못하고 있는지에 대하여 이야기 하였습니다.

어머니는 어느 날 DVD 클럽에 가입하라는 광고메일을 받았습니다. 그날 가족들은 모여 앉아 각자가 원하는 DVD를 몇 개 선택하였습니다. 오늘 어머니는 아버지의 직장에 전화를 걸어 주문한 DVD가 도착했다고 합니다. 그러나 정작 가장 중요한 DVD 플레이어를 주문하는 것은 잊고 있었습니다.

이러한 제품 구입에 있어서 전문가인 아버지는 퇴근길에 전자제품 대리점을 방문하여 기능을 가진 제품인지 확인한 후 최신 DVD 주크박스 플레이어를 구입하였습니다.

아버지가 집에 도착하자마자 식구들은 제품 포장을 열고 이 새 플레이어를 IEEE 1394를 사용하는 오락 시스템에 연결하였습니다. 기능이 있으므로, 장치가 연결만 되면 홈 네트워크에 있는 모든 장치들은 새로운 장치가 연결되었음을 인식합니다.

장치의 주소지정

새로운 DVD 플레이어가 해야 할 첫번째 작업은 네트워크에 참여하기 위한 주소를 확보하는 것입니다. 각각의 장치는 DHCP 클라이언트를 가지고 있어서, 장치가 네트워크에 처음 연결됐을 때 DHCP 서버를 검색합니다.

만약 DVD 플레이어의 DHCP 클라이언트가 서버로부터 응답을 받지 못하면, 서버가 응답할 수 있는지 확인하기 위하여 다시 시도합니다. 만약 네트워크가 DHCP 서버를 운영하지 않는다면, DVD 플레이어는 알맞은 주소를 선택하기 위하여 자동 IP 주소지정(Auto-IP) 기능을 사용할 것입니다.

Auto-IP 기능을 사용하여, 장치는 169.254/16 범위 내에서 IP 주소를 자동으로 선택합니다. 이 범위내의 처음과 마지막 256 주소들은 계속 유지되어야 하며 사용되어서는 안됩니다. 주소가 선택된 다음에는 이미 그 주소가 사용 중인지 아닌지를 검사합니다. 만약 주소가 다른 장치용으로 사용 중이면, 다른 주소를 선택하여 테스트합니다.

만약 네트워크가 사용 가능한 DHCP 서버를 가지고 있다면, 이러한 모든 절차를 완료하는데 1초도 채 걸리지 않을 것입니다. 그러나 만약 네트워크가 DHCP 서버를 가지고 있지 않다면, Auto-IP 기능을 사용할 수 있는 장치가 필요하고 절차도 조금 더 오래 걸립니다. 만약 Auto-IP기능을 사용하여 주소를 지정하면, DVD 플레이어는 장치들과의 연결을 계속 유지하기 위하여, 네트워크 상의 DHCP 서버가 사용 가능한지 정기적으로 검사할 것입니다.

이 때, DVD 플레이어는 DHCP 서버에 의하여 할당된 주소를 받든지 (네트워크의 모든 기타 장치들은동일 서브넷에 주소를 가짐) 아니면 Auto-IP 주소를 가지게 됩니다. 어느 경우에도 DVD 플레이어는 TCP/IP를 사용하여 네트워크 상의 다른 장치들과 통신할 수 있습니다.

DVD 플레이어가 적합한 네트워크용 IP 주소를 가지게 되면, 그 주소를 통해서 네트워크상에서 검색 및 조회가 가능합니다. 최종 사용자가 장치를 찾아 확인해야 할 경우도 있습니다. 이 경우에는 IP 주소보다는 편한 이름으로 장치를 설정하는 것이 사용하기에 훨씬 용이합니다. 그러나 이름을 사용하여 매핑 주소를 지정하기 위해서 DNS를 사용하는 것은 기능 범주에 속하지 않습니다.

검색 - 알림(Discovery - Advertisement)

새로운 장치에 주소가 부여되었고 네트워크 상에서 통신이 가능하므로 이것을 제어 포인트에 알려야 합니다. 이것이 에서의 검색의 한 형태입니다. 장치가 네트워크에 추가되면 검색 프로토콜을 사용하여 장치는 자신의 서비스를 네트워크에 있는 제어 포인트들에 알립니다.

새로운 장치가 네트워크에 추가되면 이 장치는 보유한 장치 및 서비스를 알리는 검색 메시지를 멀티캐스트 합니다. 해당되는 모든 제어 포인트는 새로운 서비스의 사용이 가능하다는 통보를 송신할 표준형 멀티캐스트용 주소를 수신하게 됩니다.

이 DVD 플레이어가 송신할 검색 메시지는 알림 내용을 유효하게 유지할 기간을 나타내는 타임 스탬프(time stamp)를 포함할 것입니다. 이 시간이 만료되기 전에 DVD 플레이어는 알림 내용을 다시 전송해야 합니다. 그렇지 않으면 제어 포인트는 이 장비가 더 이상 유효하지 않다고 인식합니다. DVD 플레이어는 또한 오프라인 상태로 전환할 경우에는 사전에 네트워크 연결을 끊는다는 메시지도 반드시 전송해야 합니다.

아래 그림에서 나타내는 프로토콜 스택은 알림을 송수신할 때 사용됩니다.


UPnP 네트워크의 예

검색 알림을 위한 프로토콜 스택

우리의 DVD 플레이어는 네트워크에 연결되면 보유한 장치나 서비스에 대한 GENA 알림 내용을 전송하여 자신의 존재를 널리 알립니다. 이러한 메시지들은 신뢰성이 떨어지는 UDP를 통하여 전달되므로 해당되는 제어 포인트들이 반드시 수신할 수 있도록 몇 번에 걸쳐서 송신됩니다.

검색 (Discovery - )

DVD 플레이어에 대한 연결 작업을 마쳤으므로, 아버지는 랩톱을 가지고 월요일에 발표할 프리젠테이션 작업을 끝내려고 합니다.

아버지의 랩톱도 기능이 구현되어 있기 때문에 검색 및 알림 작업엔 새로운 DVD 플레이어와 동일한 작업 방식이 적용됩니다. 아버지는 추가적인 구성작업 없이 홈 네트워크의 일부로서 일을 시작합니다. 금요일 저녁이기 때문에 아직 저녁 먹을 시간은 한 시간이나 남아있고 월요일 프리젠테이션 작업에는 많은 시간이 남아 있으므로, 아버지는 새로운 게임을 하려고 합니다.

아버지는 좋아하는 DVD 영화를 보고 새로운 게임의 작동 방법도 알아보려고 합니다. 물론 그는 플레이어와 함께 제공되는 새로운 원격 조작 방법도 시험하여 파악할 수 있지만, 이미 아버지는 소파에서 랩톱으로 작업을 하고 있었고 또한 DVD도 네트워크 상에서 사용할 수 있으므로 굳이 움직일 필요가 없습니다.

아버지는 랩톱에서 비디오 제어 어플리케이션을 시작합니다. 이 어플리케이션을 시작하면 새로운 제어 포인트가 네트워크에 나타납니다. 네트워크 상의 모든 비디오 장치가 표시되고 아버지는 DVD 플레이어를 선택합니다. 그런 후에 듣고 싶은 디스크를 선택하여 재생합니다. 또한 아버지는 비디오 제어 어플리케이션을 사용하여 TV를 켤 수도 있습니다.

네트워킹에 있어서 일부 다른 단계들이 막 시작되었습니다. 먼저 새로운 제어 포인트가 네트워크 상에 나타납니다. 새로운 제어 포인트가 네트워크에 추가되면 이것은 SSDP 검색 메시지를 멀티캐스트하여 원하는 장치 및 서비스를 검색합니다. 모든 장치들이 이 메시지에 대한 표준 멀티케스트용 주소를 수신해야 하며, 그들의 내장 장치나 서비스 중에서 검색 메시지의 검색조건에 일치하는 것이 있으면 반드시 응답을 해야 합니다. 특히 아버지가 시작하는 비디오 제어 어플리케이션은 비디오 소스 장치를 검색합니다.

이러한 검색 메시지 용으로 사용되는 프로토콜 스택은 다음과 같습니다:


UPnP 네트워크의 예

검색(Discovery )용 프로토콜 스택

이러한 검색 메시지는 특정 공급업체 정보( 장치나 서비스 형태 및 식별자 등)를 포함합니다. 이러한 장치의 형태에 대하여 작업 위원회가 정의한 장치나 서비스의 형태 ( 이 예에서는 비디오 소스 장치)도 추가됩니다. 이 정보는 HTTPMU를 사용하여 전송되는 SSDP 요청에 캡슐화 됩니다. 이러한 검색 요청에 대한 응답은 SSDP 헤더를 가진 유니캐스트 UDP를 사용하여 전송됩니다.

이 요청에 대한 응답은 검색 알림에 포함되어 있는 정보와 동일한 내용을 포함하고 있습니다. 해당 응답은 검색을 시작하는 제어 포인트의 IP 주소(이 경우에는 아버지의 랩톱)로 전송됩니다.

설명 (Description)

아버지의 랩톱에서 운영되는 새로운 제어 포인트는 이제 네트워크에 있는 모든 비디오 소스 장비에 대한 정보를 확보하고 있습니다. 그리고, 이 시나리오에서 우리는 처음으로 하나의 장치에 대한 추가 정보가 필요한 상황에 놓여 있으며, 따라서 설명 단계로 넘어가겠습니다.

검색 요청과 관련하여 수신한 응답은 장치 설명서를 제공한 URL을 포함하고 있습니다.

장치 설명을 받기 위하여 제어 포인트는 검색 메시지(discovery message)를 통하여 URL에 관한 HTTP GET 요청을 발행하고, 장치는 장치 설명서 보내줍니다. 서비스 설명에 대한 URL은 장치 설명의 일부이며, 따라서 서비스 설명도 동일한 방법으로 검색이 가능합니다. 설명 단계에서 사용되는 프로토콜 스택은 다음과 같습니다:

UPnP 네트워크의 예

설명용 프로토콜 스택

장치에 대한 설명은 XML 문서로서 공급업체와 관련된 정보, 포함되어 있는 장치에 대한 정의, 장치 공급 URL, 제공하는 모든 서비스 내용, 제품 제어 및 이벤트용 URL 등에 관한 정보를 포함하고 있습니다. 관련 제품 공급업체는 표준형 장치 및 서비스 설명서를 확장하여 추가적인 상태 변수, 동작 및 전체 서비스까지도 포함할 수 있습니다. 이러한 방법으로 는 기본적 표준을 준수하면서도 유연성을 제공합니다. 장치 및 서비스 설명서 샘플은 장치 구조 문서에 포함되어 있습니다.

프리젠테이션

아버지의 랩톱에서 운영되는 어플리케이션은 제공할 장치 및 서비스의 대상 및 제공 방법을 결정할 수 있습니다. 다른 방법으로는 만약 DVD 플레이어가 프리젠테이션 웹 페이지를 호스팅하고 있는 경우에 이 HTML 페이지를 다운로드 하여 장치를 제어하는데 활용하는 것도 가능합니다.

프리젠테이션 페이지에 대한 URL은 장치 설명서에 포함되어 있습니다. 이 페이지를 검색하려면 프리젠테이션 URL로 HTTP GET 요청을 발행할 제어 포인트가 필요합니다. 그러면 장치가 프리젠테이션 페이지 정보를 반환합니다. 이 때 사용되는 프로토콜 스택은 다음과 같습니다.


UPnP 네트워크의 예

프리젠테이션용 프로토콜 스택

Device Architecture 문서는 이 페이지를 HTML로 작성해야 한다고 명시하고 있습니다. 이 과정에서는 아버지가 제어를 위하여 장치를 조회한다는 점을 제외하고는 웹 브라우징 기법과 비슷합니다.

프리젠테이션 페이지의 기능은 전적으로 제품 공급업체 의하여 지정됩니다. 프리젠테이션 페이지를 구현하기 위하여 제품 공급업체는 장치의 기존 기능을 최대한 활용하면서 제어 기능 및 이벤트를 위한 기능을 사용하기 원할 것입니다. 프리젠테이션과 관련하여 정의된 Forum 구성요소는 전혀 없고 전적으로 공급업체에 의하여 결정된다는 점에 유의하십시오.

제어

아버지는 DVD 플레이어를 제어하고 DVD 영화를 선택하고, 플레이어를 재생시키려고 합니다. 이 작업을 위해서는 프리젠테이션 페이지나 일반적 비디오 제어 어플리케이션을 사용할 수도 있습니다.

일단 제어 포인트가 장치 및 장치의 서비스를 인식하였으면, 이것은 그러한 서비스에 대한 동작을 실행하고 반환 값을 받습니다. 동시에, 제어 포인트는 서비스 상태 변수 값을 확인하기 위하여 서비스들을 폴링할 수도 있습니다.

동작을 실행시키는 것은 일종의 원격 프로시저 호출입니다. 즉, 제어 포인트가 동작을 장치의 서비스로 전송하고, 동작이 완료되면( 또는 실패하면) 서비스가 모든 결과 값 및 오류 내용을 반환합니다. 제어 포인트는 또한 상태 변수의 값을 폴링하는 것도 가능합니다.

DVD 플레이어를 제어하기 위하여 아버지의 랩톱은 제어 메시지를 DVD 서비스용 제어 URL( 장치 설명서에 포함되어 있음)로 보냅니다. DVD 플레이어 서비스는 동작의 모든 결과 및 오류 내역을 반환합니다. 동작의 효과는 서비스의 상태 변수의 변경을 통해서도 감시할 수 있습니다. 이러한 상태 변수의 변경은 이벤트 부분에서 설명한 것처럼 모든 관련 제어 포인트로 통보되지만, 이 상태 변수 값들에 대한 쿼리가 가능하고, 이는 제어 요청의 한 유형이라고 할 수 있습니다.

다음의 프로토콜 스택이 제어용으로 사용됩니다.


UPnP 네트워크의 예

제어용 프로토콜 스택

제어 메시지에 포함된 공급업체 관련 정보는 독립변수를 포함합니다. Forum 작업 위원회는 동작 이름(action names)과 이 메시지에 포함된 독립변수 이름(argument names) 및 변수(variables)를 정의합니다. 이들 정보는 용 포맷으로 캡슐화 되고 SOAP를 사용하여 포맷된 후, TCP/IP를 통한 HTTP를 사용하여 전송됩니다.

장치는 반드시 제어 요청에 30초 이내에 응답해야 합니다. 이 응답은 동작이 아직 보류 상태에 있지만 곧 완료된다는 것을 의미합니다.

또한 여기서의 제어 어플리케이션은 또한 특정 서비스 변수의 상태를 질의할 수도 있습니다. 예를 들어 DVD 플레이어 서비스는 특정 DVD 런타임을 포함하는 상태 변수를 알려주는 서비스를 가지고 있을 수 있습니다. 아버지는 이 변수를 파악하고 저녁 밥을 먹기 전에 어느 정도 영화를 볼 수 있을 것인지 알 수 있을 것입니다. 그러나 각각의 쿼리에 대해서 하나의 변수만이 전송됩니다.

검색, 설명, 제어에 대한 재차 설명

이제 DVD가 재생되고 아버지는 프리젠테이션 작업을 시작합니다. 새로 받은 자료를 보면서 시계가 깜박거리는 것을 확인합니다. 그 뿐만 아니라 VCR의 시계도 깜박거립니다. 그는 간단히 생각해서 자기 테이프를 가져와서 옛날에 하던 방식으로 깜박거리는 것을 중지시키려고 하지만, 어머니가 오후에 잠깐 전기가 나갔기 때문에 전자 레인지, 커피 포트 및 자명종 시계 모두가 맞지 않다고 말합니다.

아버지는 인터넷 게이트웨이와 함께 시계 설정 어플리케이션이 제공되었다는 사실을 기억해냅니다. 지금이 이것을 시험해보는 절호의 기회입니다. 그는 그 어플리케이션을 랩톱에 로드하는데, 두 가지 요소가 이 어플리케이션을 찾아 실행하는 절차를 아주 간단하게 합니다.

먼저, 게이트웨이는 홈 네트워크에 스토리지 서비스를 제공합니다. 이것은 네트워크상에서 디스크 공간을 확보할 수 있도록 하는 스토리지 서비스를 가지고 있습니다. 이 시간 설정 어플리케이션은 게이트웨이와 공유하는 디스크에서 사용할 수 있습니다. 이 어플리케이션을 쉽게 운영할 수 있도록 하는 두 번째 사항은 아버지의 랩톱에 있는 운영체제가 기능을 가지고 있으며 파일 브라우저를 포함하고 있다는 점입니다. 브라우저는 자동으로 파일 스토리지 서비스를 제공하는 장치용 네트워크를 검색하고, 게이트웨이 장치에 있는 스토리지가 나타납니다.

아버지가 시간 설정 어플리케이션을 클릭하면 어플리케이션은 다음과 같은 작업을 수행합니다:

  • 인터넷 연결을 찾아서 공식적인 시간을 파악하기 위하여 인터넷에서 시간 소스에 연결합니다.
  • 검색 기능을 활용하여 시간 서비스를 제공하는 네트워크 상의 모든 장치를 검색합니다.
  • 각 장치의 시간 서비스에 "설정 (set)" 동작을 전송합니다.

아주 간단합니다. 아버지는 좀더 내용을 파악하고서는 시간 어플리케이션은 제어 포인트 역할을 하는 게이트웨이에서 주기적으로 실행되도록 설정할 수 있다는 것을 알았습니다. 따라서 이 어플리케이션이 매일 아침 4시에 실행되도록 설정하였으므로 시간 맞추는 일에 대하여 다시 걱정할 필요가 없어졌습니다.

이벤트 작업

저녁 식사 시간이 가까워지고 아버지는 프리젠테이션 작업을 마칩니다. 아버지는 작업 내용을 인쇄하여 저녁 식사하면서 검토하고자 합니다. 프린터는 부엌에 있는 전화선 네트워크에 연결되어 있으므로 랩톱에서 사용하는 것이 가능합니다.

아버지는 랩톱을 통하여 이 프린터로 출력하려고 하는데 프린터의 잉크가 떨어졌다는 메시지가 나타납니다. 아버지는 아들에게 전화를 걸어 잉크 카트리지를 변경해달라고 말했는데, 아들이 와서는 문제가 이미 해결되었다고 말합니다. 아들이 자기 방에서 PC로 숙제를 하는 동안 아들의 PC에도 같은 통보가 전송되었기 때문입니다. 이벤트에 등록된 네트워크 상의 모든 제어 포인트는 이 통보를 받습니다.

서비스 설명에서 언급했던 상태 변수도 이벤트화가 가능합니다. 이 서비스는 상태가 변경되면 업데이트를 발행합니다. 제어 포인트(여기서는 프린트 브라우저)가 구독 등록 메시지를 전송할 경우, 이 정보를 정기적으로 받아보거나 더 이상 필요가 없는 경우에는 정보 수신 구독을 취소하는 것도 가능합니다.

다음의 프로토콜 스택이 이벤트 작업 시에 사용됩니다:


UPnP 네트워크의 예

이벤트용 프로토콜 스택

구독용 URL, 구독기간, 특정 변수 값 및 변수 이름들은 GENA를 사용하여 포맷되고 TCP/IP를 사용하여 전송됩니다.

요약

이제는 컴퓨팅 파워가 보다 작고 일반적인 장치에서도 구현되고 있으며, 저렴한 범용 네트워킹 매체 기술이 실현되고 있는 추세입니다. 네트워킹 비용은 하락하고, 컴퓨팅 파워는 더욱 강해지고 있습니다

컴퓨팅 기능과 구성/사용이 편리한 일상 생활용품이 결합되어 새로운 많은 장점과 혜택을 제공합니다. 즉, 일상 업무의 수행방법이 매우 쉬워졌으며, 사람들은 보다 높은 수준의 생활을 누리게 되었습니다. 그리고 사람들은 그 어느 때보다도 세계 여러 장소로 연결이 가능하며 또한 사람들을 압도할 수 있는 기술에도 연결이 가능합니다. 따라서 작업 수행 방식은 용이하게 구현되어 사람들이 효율적으로 사용할 수 있어야 합니다.

범용 플러그 앤 플레이 기능은 기존의 표준, 기존의 기술 및 기존의 지식을 활용하고 재정의하여 네트워크 세계에 새로운 약속과 기회를 창출하고자 하는 첫걸음이라 할 수 있습니다. 표준 기반, 소형 장치에서도 구현 가능한 단순성, 전세계 인터넷으로 확장될 수 있는 강력한 기능, 그리고 인터넷 프로토콜에 대한 입증된 접근 방식을 기반으로 한다는 특징을 가진 는 한 차원 높은 접근 방식인 동시에 이미 그 기능이 검증된 접근 기법입니다.






facebook posting twit

  • OWL(One World Language)의 다른 종류
  • OWL(One World Language)은 무엇인가?
  • 온톨로지(ontology)란 무엇인가?
  • 웹페이지 속도 빠르게 하는 방법 10가지
  • UTF-8로 인코딩된 문자열을 EUC-KR로 바꾸는 방법
  • UPnP 프로토콜 개요
  • UPnP 네트워크의 구성요소
  • UPnP의 작동 방법
  • DLNA, UPnP 개요
  • 원격 부팅(Wake on-LAN : WOL)
    Tagged on:                             
  • Leave a Reply