상기 일 목적을 달성하기 위한 본 발명의 일 실시예에 따른 게이트 웨이는 센싱 데이터를 갖는 인터넷 프로토콜 유비쿼터스 센서 네트워크(Internet Protocol Ubiquitous Sensor Network : 이하 “IP-USN”이라 함) 망과 접속하는 제1 접속부, 어플리케이션 데이터를 갖는 단순 네트워크 관리 프로토콜(Simple Network Management Protocol : 이하 “SNMP”이라 함) 망과 접속하는 제2 접속부, 상기 센싱 데이터 및/또는 상기 어플리케이션 데이터를 저장하기 위한 메모리부 및 상기 메모리부에 저장된 데이터들을 상기 IP-USN 및/또는 상기 SNMP 망을 대신하여 상기 제1 접속부 및/또는 상기 제2 접속부로 전송하고, 상기 메모리부에 저장되지 않은 데이터들을 상기 IP-USN 및/또는 상기 SNMP 망으로부터 데이터를 전송받아 데이터 목록을 갱신한 다음 상기 제1 접속부 및/또는 상기 제2 접속부로 전송하는 프록시부를 포함한다.
본 발명의 일 실시예에 따르면, 상기 IP-USN은 인터넷 프로토콜 버전4(이하, "IPv4”라고 함) 또는 인터넷 프로토콜 버전6(이하, “IPv6”이라 함)에 기반을 둔다. 한편, 상기 IP-USN이 상기 IPv6에 기반을 둔 경우에는 상기 IP-USN은 인터넷 프로토콜 버전6 기반의 저전력 무선 개인 영역 네트워크(IPv6 over Low Wireless Personal Area Networks : 이하 “6LoWPAN”이라 함)를 포함한다.
본 발명의 일 실시예에 따르면, 상기 SNMP 망은 인터넷 프로토콜 버전4(이 하, “IPv4”라고 함) 또는 인터넷 프로토콜 버전6(이하, “IPv6”이라 함)에 기반을 둔다.
본 발명의 일 실시예에 따르면, 상기 프록시부는 매핑 테이블(mapping table)에 의해 상기 메모리부에 저장된 데이터를 상기 제1 접속부 및/또는 상기 제2 접속부로 전송한다.
본 발명의 일 실시예에 따르면, 상기 메모리부에 저장된 데이터는 상기 네트워크에서 고정된(fixed) 데이터를 포함하고, 상기 메모리부에 저장되지 않은 데이터는 상기 네트워크에서 주기적으로 변하는 데이터 및 상기 네트워크에서 불규칙적으로 변하는 데이터를 포함한다.
본 발명의 일 실시예에 따르면, 상기 게이트웨이는 상기 IP-USN과 상기 SNMP 망에 사용되는 각각의 프로토콜을 각 네트워크에 대응하는 프로토콜로 변환하여 상기 제1 접속부 및/또는 상기 제2 접속부로 전송하는 프로토콜 변환부를 더 포함한다. 또한, 상기 프로토콜 변환부는 상기 SNMP 망에 사용되는 프로토콜을 단편화(fragmentation)하여 상기 제1 접속부로 전송하고, 상기 IP-USN에 사용되는 프로토콜을 조립화(defragmentation)하여 상기 제2 접속부로 전송한다.
본 발명의 일 실시예에 따르면, 상기 게이트웨이는 상기 제2 접속부로 전송되는 패킷들을 압축하는 패킷 압축부를 더 포함한다.
상기 일 목적을 달성하기 위한 본 발명의 다른 실시예에 따른 게이트 웨이는 센싱 데이터를 갖는 인터넷 프로토콜 유비쿼터스 센서 네트워크(Internet Protocol Ubiquitous Sensor Network : 이하 “IP-USN”이라 함) 망과 접속하는 제1 접속부, 어플리케이션 데이터를 갖는 단순 네트워크 관리 프로토콜(Simple Network Management Protocol : 이하 “SNMP”이라 함) 망과 접속하는 제2 접속부, 상기 센싱 데이터 및/또는 상기 어플리케이션 데이터를 저장하기 위한 메모리부, 상기 메모리부에 저장된 데이터들을 상기 IP-USN 및/또는 상기 SNMP 망을 대신하여 상기 제1 접속부 및/또는 상기 제2 접속부로 전송하고, 상기 메모리부에 저장되지 않은 데이터들을 상기 IP-USN 및/또는 상기 SNMP 망으로부터 데이터를 전송받아 데이터 목록을 갱신한 다음 상기 제1 접속부 및/또는 상기 제2 접속부로 전송하는 프록시부, 상기 IP-USN과 상기 SNMP 망에 사용되는 각각의 프로토콜을 각 네트워크에 대응하는 프로토콜로 변환하여 상기 제1 접속부 및/또는 상기 제2 접속부로 전송하는 프로토콜 변환부 및 상기 제2 접속부로 전송되는 패킷들을 압축하는 패킷 압축부를 포함한다.
본 발명의 일 실시예에 따르면, 상기 IP-USN 및/또는 상기 SNMP 망은 인터넷 프로토콜 버전4(이하, "IPv4”라고 함) 또는 인터넷 프로토콜 버전6(이하, “IPv6”이라 함)에 기반을 둔다.
본 발명의 일 실시예에 따르면, 상기 IP-USN이 상기 IPv6에 기반을 둔 경우에는 상기 IP-USN은 인터넷 프로토콜 버전6 기반의 저전력 무선 개인 영역 네트워크(IPv6 over Low Wireless Personal Area Networks : 이하 “6LoWPAN”이라 함)를 포함한다.
상기 다른 목적을 달성하기 위한 본 발명의 일 실시예에 따른 인터넷 프로토콜 유비쿼터스 센서 네트워크와 단순 네트워크 관리 프로토콜 망과의 상호 연동 방 법은 센싱 데이터를 수집하는 센싱 노드에 대한 매핑정보를 갖고 있는 인터넷 프로토콜 유비쿼터스 센서 네트워크(Internet Protocol Ubiquitous Sensor Network : 이하 “IP-USN”이라 함) 망에 대한 제1 매핑 테이블 및 어플리케이션 데이터를 갖는 단순 네트워크 관리 프로토콜(Simple Network Management Protocol : 이하 “SNMP”이라 함) 망에 대한 제2 매핑 테이블을 형성하는 단계, 패킷 전송을 요구하는 신호가 발생하면, 메모리부에 저장된 데이터들에 대한 신호인 경우에는 상기 제1 매핑 테이블 또는 상기 제2 매핑 테이블을 참조하여 상기 IP-USN 또는 상기 SNMP 망에 상기 패킷을 전송하는 단계, 및 상기 메모리부에 저장되지 않은 데이터들에 대한 신호인 경우에는 상기 IP-USN 또는 상기 SNMP 망으로부터 상기 데이터들을 전송받아 상기 메모리부의 데이터 목록을 갱신한 다음 상기 제1 매핑 테이블 또는 상기 제2 매핑 테이블을 참조하여 상기 IP-USN 또는 상기 SNMP 망에 상기 패킷을 전송하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 상기 방법은 상기 IP-USN에 상기 패킷을 전송하는 경우에는 상기 IP-USN에 사용되는 프로토콜을 조립화(defragmentation)하여 상기 패킷을 전송하고, 상기 SNMP 망에 상기 패킷을 전송하는 경우에는 상기 SNMP 망에 사용되는 프로토콜을 단편화(fragmentation)하여 상기 패킷을 전송하는 단계를 더 포함한다.
본 발명의 일 실시예에 따르면, 상기 방법은 상기 IP-USN에 상기 패킷을 전송하는 경우에 상기 패킷을 압축하는 단계를 더 포함한다.
이와 같이, 인터넷 프로토콜 유비쿼터스 센서 네트워크와 단순 네트워크 관 리 프로토콜 망을 상호 연동하기 위한 게이트웨이 및 인터넷 프로토콜 유비쿼터스 센서 네트워크와 단순 네트워크 관리 프로토콜 망과의 상호 연동 방법에 따르면, 인터넷 프로토콜 유비쿼터스 센서 네트워크와 단순 네트워크 관리 프로토콜 망 사이의 통신을 게이트 웨이를 통하여 전송함으로써, 전송을 효율적으로 할 수 있을 뿐 아니라, 개별적으로 센서 노드에 중재기를 설치하여야 하는 부담을 제거할 수 있다.
본문에 개시되어 있는 본 발명의 실시예들에 대해서, 특정한 구조적 내지 기능적 설명들은 단지 본 발명의 실시예를 설명하기 위한 목적으로 예시된 것으로, 본 발명의 실시예들은 다양한 형태로 실시될 수 있으며 본문에 설명된 실시예들에 한정되는 것으로 해석되어서는 아니 된다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 본문에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위로부터 이탈되지 않은 채 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않 는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
한편, 어떤 실시예가 달리 구현 가능한 경우에 특정 블록 내에 명기된 기능 또는 동작이 순서도에 명기된 순서와 다르게 일어날 수도 있다. 예를 들어, 연속하는 두 블록이 실제로는 실질적으로 동시에 수행될 수도 있고, 관련된 기능 또는 동작에 따라서는 상기 블록들이 거꾸로 수행될 수도 있다.
이하 본 발명의 실시예들을 도면과 함께 설명하고자 한다.
도 1은 본 발명의 일 실시예에 따른 전체 네트워크를 간략하게 도시한 구성도이고, 도 2는 도 1에 도시된 게이트웨이를 구체적으로 설명하기 위한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 일 실시예에 따른 네트워크는 단순 네트워크 관리 프로토콜(Simple Network Management Protocol : 이하 “SNMP”이라 함) 망(100), 인터넷 프로토콜 유비쿼터스 센서 네트워크(Internet Protocol Ubiquitous Sensor Network : 이하 “IP-USN”이라 함)(200) 및 게이트웨이(300)를 포함한다.
SNMP 망(100)은 표준화된 메시징을 사용하여 다양한 장치들의 관리 정보를 수집할 수 있도록 하는 네트워크 관리 프레임워크를 의미한다. 본 발명의 일 실시예에 따르면, SNMP 망(100)은 네트워크를 관리하기 위한 SNMP 매니저(도시되지 않음) 및 SNMP 에이전트(도시되지 않음)를 포함한다. SNMP 매니저는 다양한 장치들의 정보를 관리하는 역할을 하기 위한 SNMP Request 메시지를 생성하고, 생성된 SNMP Request 메시지를 SNMP 에이전트에 전송한다. SNMP 에이전트는 SNMP 매니저에 걸리 는 부하를 분산시키기 위하여, SNMP 에이전트가 장치로부터 일정한 관리 정보를 수집, 목록 정리 및 갱신 등의 역할 수행한다.
본 발명의 일 실시예에 따르면, SNMP 망(100)은 인터넷 프로토콜 버전4(이하, “IPv4”라고 함) 또는 인터넷 프로토콜 버전6(이하, “IPv6”이라 함)에 기반을 둘 수 있다. 따라서, SNMP 망(100)은 IPv4 프로토콜에 따라 IPv4 패킷을 전송할 수 있는 장치들로 이루어질 수 있고, 이와 달리, IPv6 프로토콜에 따라 IPv6 패킷을 전송할 수 있는 장치들로 이루어질 수 있다.
IP-USN(200)은 센싱 대상이 되는 모든 사물에 IP를 부여하여 이를 통하여 사물의 인식 정보는 물론 주변의 환경 정보가지 센싱한다. 이에 센싱한 결과를 실시간으로 네트워크에 연결하여 정보를 관리한다.
본 발명의 일 실시예에 따르면, IP-USN(200)은 인터넷 프로토콜 버전4(이하, “IPv4”라고 함) 또는 인터넷 프로토콜 버전6(이하, “IPv6”이라 함)에 기반을 둘 수 있다. 이 때, IP-USN(200)은 예를 들어, IPv6에 기반을 둔 저전력 무선 개인 영역 네트워크(IPv6 over Low Wireless Personal Area Networks : 이하 “6LoWPAN”이라 함)를 포함한다.
예를 들어, 6LoWPAN의 장치들은 IEEE 802.15.4의 완전한 프로토콜 셋을 구현한 전기능 디바이스(Full Function Device:FFD)와, 라우터 기능을 가지지 않은 부분기능 디바이스(Reduced Function Device:RFD)로 구분되는데, PAN 코디네이터(도시되지 않음)와 코디네이터들(도시되지 않음)은 FFD 디바이스이고, 종단장치(도시 되지 않음)은 RFD 디바이스이다.
그리고 IEEE 802.15.4 규격에 따른 LoWPAN의 디바이스들은 네트워크상에서 부모 디바이스와 자식 디바이스로 연결되는데, 자식 디바이스는 연관(Association)을 통해 부모 디바이스로부터 16비트의 짧은 주소를 동적으로 할당받는다. 즉, IEEE 802.15.4 장치는 부모장치라고도 불리는 이웃장치(또는 코디네이터)와의 연관(association) 동작 중에 16비트의 짧은 주소를 동적으로 할당받을 수 있고, 이 할당받은 짧은 주소만을 가지고 부모 또는 자식과 통신을 할 수 있다. 디어소시에이션(Disassociation)은 이웃 장치와의 존재하는 연관(association)을 제거하는 절차이다.
PAN 코디네이터는 6LoWPAN의 가장 중요한 관리자가 되는 full-function device(FFD)로서, 비콘(beacon)의 전송을 통해 전체 6LoWPAN의 동기를 초기화할 수 있다. 종단장치는 코디네이터에 연결되어 다른 코디네이터에 연결된 종단장치와 통신할 수 있고, 코디네이터는 종단장치 혹은 다른 코디네이터로부터 수신된 패킷을 라우팅한다.
게이트웨이(300)는 IP-USN(200)과 SNMP 망(100)의 사이에 배치되어 예를 들어, IP-USN(200)에서 사용되는 프로토콜과 SNMP 망(100) 간의 프로토콜 변환을 수행한다.
게이트웨이(300)는 센싱 데이터를 갖는 IP-USN과 접속하는 제1 접속부(310), 어플리케이션 데이터를 갖는 SNMP 망(100)과 접속하는 제2 접속부(320), 상기 센싱 데이터 및/또는 상기 어플리케이션 데이터를 저장하기 위한 메모리부(330), 프록시부(340), 프로토콜 변환부(350) 및 패킷 압축부(360)를 포함한다.
프록시부(340)는 메모리부(330)에 저장된 상기 데이터들을 제1 접속부(310)를 통하여 IP-USN(200)으로 전송하거나 제2 접속부(320)를 통하여 SNMP 망(100)으로 전송한다. 예를 들어, 프록시부(340)는 SNMP 망(100)에 배치된 SNMP 매니저(도시되지 않음)를 대신하여 어플리케이션 데이터를 IP-USN(200)으로 전송한다. 또한, 프록시부(340)는 IP-USN(200)에 배치된 복수개의 센서 노드(210)들을 대신하여 센싱 데이터를 SNMP 망(100)으로 전송한다.
또한, 프록시부(340)는 메모리부(330)에 저장되지 않은 데이터에 대한 전송 요구를 받는 경우, IP-USN(200) 및/또는 SNMP 망(100)으로부터 상기 데이터를 전송받아 메모리부(330)가 데이터 목록을 갱신하도록 지시한다. 그 후, 프록시부(340)는 갱신된 데이터 목록으로부터 데이터를 제1 접속부(310)를 통하여 IP-USN(200)으로 전송하거나 제2 접속부(320)를 통하여 SNMP 망(100)으로 전송한다.
이와 달리, 프록시부(340)는 신속한 데이터 전송을 위하여 데이터 목록을 갱신하기 전에, 메모리부(330)에 데이터를 저장한 후, 데이터를 제1 접속부(310)를 통하여 IP-USN(200)으로 전송하거나 제2 접속부(320)를 통하여 SNMP 망(100)으로 전송한다. 이에 데이터가 전송된 후, 프록시부(340)는 메모리부(330)에 데이터를 갱신하도록 지시한다.
한편, 메모리부(330)에 저장된 데이터라 함은 IP-USN(200) 및/또는 SNMP 망(100)에 고정된(fixed) 데이터를 포함한다. 예를 들어, 고정된 데이터는 센스 노드(210)의 IP 주소 등을 포함한다. 또한, 메모리부(330)에 저장되지 않은 데이터라 함은 IP-USN(200) 및/또는 SNMP 망(100)에서 주기적으로 변하는 데이터 및/또는 불 규칙적으로 변하는 데이터 등을 포함한다. 예를 들어, 주기적으로 변하는 데이터는 센서 노드(210)가 대상물을 센싱하기 위하여 이동하는 경로에 대한 데이터 등을 포함한다. 또한, 불규칙적으로 변하는 데이터는 센싱 노드(210)가 센싱한 센싱 데이터 등을 포함한다.
한편, 프록시부(340)는 데이터를 IP-USN(200) 및/또는 SNMP 망(100)으로 전송하기 위하여 매핑 테이블(mapping table)을 사용한다. 예를 들어, 인터넷 프로토콜(Internet Protocol : 이하 “IP”라고 함))이 상이한 두 네트워크, IP-USN(200)과 SNMP 망(100) 간에 데이터를 전송하기 위하여, 프록시부(340)는 상기 매핑 테이블을 이용한다. 상기 매핑 테이블에 관하여는 도 9 및 도 10을 통하여 상세하게 설명하기로 한다.
또한, 게이트웨이(300)는 프로토콜 변환부(340)를 더 포함한다.
프로토콜 변환부(340)는 SNMP 망(100)과의 통신을 위한 프로토콜 스택과 IP-USN(200)과의 통신을 위한 프로토콜 스택을 구비하여 프로토콜 변환을 수행한다.
일반적으로, IP의 크기는 SNMP 망(100)에 사용되는 IP가 더 크므로, 프로토콜 변환부(340)는 SNMP 망(100)에 사용되는 프로토콜을 단편화(fragmentation)하여 제1 접속부(310)를 통하여 IP-USN(200)에 전송한다. 또한, 프로토콜 변환부(340)는 IP-USN(200)에 사용되는 프로토콜을 조합화(defragmentation)하여 제2 접속부(320)를 통하여 SNMP 망(100)에 전송한다.
또한, 게이트웨이(300)는 패킷 압축부(350)를 더 포함한다. 패킷 압축부(350)는 IPv4 패킷의 압축(compression) 및 압축 풀기(decompression) 및/또는 IPv6 패킷의 압축(compression) 및 압축 풀기(decompression)를 수행한다. 예를 들어, SNMP 망(100)이 IPv6에 기반을 두고, IP-USN(200)이 6LoWPAN 인 경우, 압축은 IEEE 802.15.4를 위한 EUI-64 식별자(identifier)를 얻기 위해 외부 IPv6 네트워크로부터 온 IPv6 패킷의 목적지 주소로부터 64비트 프리픽스(prefix)를 떼어내는 작업을 한다. 압축 풀기는 압축의 반대되는 과정을 수행하게 된다.
이와 같이, 게이트웨이(300)가 프록시부(340), 프로토콜 변환부(340) 및 패킷 압축부(350)를 구비하여 프록시(proxying) 기능, 프로토콜 변환(translation) 기능 및 패킷 압축(compression) 기능을 수행한다. 따라서, 별도의 센서 노드(210) 각각에 SNMP 망(100)과 통신을 위한 중재기가 설치되는 경우와 비교하여, 데이터 전송 효율을 향상시킬 수 있다. 또한, 센서 노드(210)에 중재기를 설치하는 비용 및 부담을 감소시킬 수 있다.
도 3은 본 발명의 다른 실시예에 따른 전체 네트워크를 간략하게 도시한 구성도이고, 도 4는 본 발명의 또 다른 실시예에 따른 전체 네트워크를 간략하게 도시한 구성도이다. 본 발명의 다른 실시예 및 또 다른 실시예에 따른 전체 네트워크는 적용되는 IP-USN과 게이트웨이의 개수들을 제외하고, 상술한 본 발명의 일 실시예에 따른 전체 네트워크와 동일한 구성을 가짐으로 그 중복된 설명은 생략하기로 하며, 동일한 구성 요소에 대해서는 동일한 참조 부호 및 명칭을 사용하기로 한다.
도 3을 참조하면, 본 발명의 다른 실시예에 따른 전체 네트워크는 하나의 SNMP 망(100)과 복수개의 IP-USN(200a, 200b, 200c, 200d) 간의 데이터 전송을 위한 복수개의 게이트웨이(300a, 300b, 300c, 300d)들을 포함한다. 예를 들어, 센싱 대상 및 환경이 복수개가 존재하는 경우, 하나의 게이트웨이(300)가 중재 역할을 하기에는 그 효율이 떨어질 가능성이 있다. 따라서, 본 발명의 일 실시예에 따르면, IP-USN(200)이 복수개인 경우, 게이트웨이(300)가 IP-USN(200)의 개수에 대응하여 복수개가 존재할 수 있다. 따라서, IP-USN(200)의 개수에 대응하여 게이트웨이(300)의 개수가 증감할 수 있으므로, 데이터 전송 효율 등이 크게 향상된다.
도 4를 참조하면, 본 발명의 다른 실시예에 따른 전체 네트워크는 하나의 SNMP 망(100)과 IP-USN(200) 간의 데이터 전송을 위한 복수개의 게이트웨이(300a, 300b, 300c, 300d)들을 포함한다. 예를 들어, 하나의 IP-USN(200)에 배치된 센서 노드(210)의 개수 및 SNMP 망(100)의 통신량과 비교하여 하나의 게이트웨이(300)가 중재 역할을 하기에 그 효율이 떨어지는 경우, 복수개의 게이트웨이(300)가 배치될 수 있다. 따라서, IP-USN(200)에 배치된 센서 노드(210)의 개수에 대응하여 게이트웨이(300)의 개수가 증감할 수 있으므로, 데이터 전송 효율 등이 크게 향상된다. 즉, 다중(multiple) 게이트웨이를 통하여 부하(load)를 분산시켜 효율을 향상시킬 수 있을 것이다. 예를 들어, 게이트웨이(300)간의 터널링(tunneling)에 의하여 분산시킬 수 있을 것이다.
도 5는 일반적인 IPv6의 헤더 포맷을 나타내는 도면이고, 도 6은 본 발명이 적용되는 LoWPAN에서 MAC/PHY 계층의 데이터 프레임 포맷을 나타내는 도면이다. 도 5 및 도 6은 IP-USN이 6LoWPAN인 경우, SNMP 망이 IPv6인 경우를 예를 들어 설명하기로 한다.
도 5 및 도 6을 참조하면, 본 발명의 일 실시예에 따른 IPv6 헤더 포맷은 도 3에 도시된 바와 같이, 10행 x 32비트= 40옥텟의 크기를 갖고 있고, 버전, 우선순위, 흐름레벨, 유료부하길이, 다음 헤더, 홉 제한, 128비트의 소스 주소, 128비트의 목적지 주소로 이루어진다.
또한 IEEE 802.15.4-2003 규격에 따른 프레임은 코디네이터에서 비콘을 송신하기 위한 비콘 프레임과, 데이터를 전송하기 위한 데이터 프레임, 프레임을 성공적으로 수신하면 이를 상대방에 알려주는 응답 프레임, MAC 커맨드 프레임으로 구분되는데, 데이터 프레임은 도 6에 도시된 바와 같이 물리계층의 패킷 포맷이 프리앰블(Preamble Sequence)과 프레임 시작 식별자(Start of Frame Delimiter), 프레임길이(Frame Length), MAC계층 데이터 유닛(MPDU)으로 이루어지고, 매체접근제어 계층의 패킷 포맷은 프레임 제어(Frame Control), 시퀀스번호(Sequence Number), 어드레싱 필드(Addressing Field), 데이터 페이로드(Data Payload), 프레임 체크 시퀀스(FCS)로 이루어진다.
도 7은 본 발명의 일 실시예에 따른 전체 네트워크의 상호 연동 방법을 나타내는 순서도이고, 도 8은 본 발명에 따른 프로토콜 변환 절차를 도시한 순서도이다.
도 7 및 도 8을 참조하면, 본 발명의 일 실시예에 따른 전체 네트워크의 상호 연동 방법은 센싱 데이터를 수집하는 센싱 노드에 대한 매핑정보를 갖고 있는 IP-USN(200)에 대한 제1 매핑 테이블 및 어플리케이션 데이터를 갖는 SNMP 망(100)에 대한 제2 매핑 테이블을 형성한다(S100). 그 후, 패킷 전송을 요구하는 신호가 발생하는 지 여부를 판단한다(S200). 이에 패킷 전송을 요구하는 신호가 발생하면, 프록시부(340)가 상기 패킷에 대응하는 데이터가 메모리부(330)에 저장된 데이터인지 여부를 판단한다(S300).
판단한 결과, 메모리부(330)에 저장된 데이터들에 대한 신호인 경우에는 상기 제1 매핑 테이블 또는 상기 제2 매핑 테이블을 참조하여 IP-USN(200) 또는 SNMP 망(100)에 패킷을 전송한다(S400).
판단한 결과, 메모리부(330)에 저장되지 않은 데이터들에 대한 신호인 경우에는 IP-USN(200) 또는 SNMP 망(100)으로부터 상기 데이터들을 전송할 것을 요구한다(S500). 상기 데이터들을 전송받아 메모리부(330)의 데이터 목록을 갱신한 다음(S600), 상기 제1 매핑 테이블 또는 상기 제2 매핑 테이블을 참조하여 IP-USN(200) 또는 SNMP 망(100)에 패킷을 전송한다(S400).
앞에서 언급한 바와 같이, 전송을 요구하는 데이터들이 게이트웨이(300)의 메모리부(330)에 저장된 데이터들인 경우, 프록시부(340)가 IP-USN(200) 및/또는 SNMP 망(100)을 대신하여 데이터들을 전송할 것을 지시한다. 따라서, 데이터들의 전송 속도가 높아지고, 전송 효율이 향상된다. 또한, IP-USN(200)에 배치된 각각의 센서 노드(210)에 SNMP 망(100)에 호환하여 전송하기 위한 장치를 구비하고자 하는 경우와 비교하여, 게이트웨이(300)가 일괄적으로 데이터들을 수집, 처리하는 것이 비용 절감 및 여유 공간 창출 면에서 효율적이다.
한편, IP-USN(200) 또는 SNMP 망(100)에 패킷을 전송하는 단계에서 각 네트워크에서 사용되는 프로토콜의 차이로 인하여, 프로토콜을 변환하여 전송하여야 한다. 즉, 게이트웨이(300)가 IP-USN(200)에 상기 패킷을 전송하는 경우에는 IP- USN(200)에 사용되는 프로토콜을 조립화(defragmentation)하여 상기 패킷을 전송하고, 또한, SNMP 망(100)에 상기 패킷을 전송하는 경우에는 SNMP 망(100)에 사용되는 프로토콜을 단편화(fragmentation)하여 상기 패킷을 전송한다. 또한, 게이트웨이(300)는 상기 패킷을 압축하여 전송한다. 이는 SNMP 망(100)에 사용되는 프로토콜이 IP-USN(200)에 사용되는 프로토콜에 비해서 그 크기가 크기 때문이다.
이하에서는 상기 데이터들을 IP-USN(200) 및/또는 SNMP 망(100)에 전송하는 과정, 즉 게이트웨이(300)에서 프로토콜을 변환하여 패킷을 전송하는 과정을 도 8을 참조하여 구체적으로 설명하기로 한다. 특히, IP-USN(200) 및/또는 SNMP 망(100)은 IPv6에 기반을 둔 경우를 예로 설명하기로 한다.
언급한 바와 같이, 게이트웨이(300)는 먼저 전송 요구를 받은 데이터가 메모리부(330)에 저장된 데이터인지 여부를 판단한다. 그 후, 데이터를 전송하고자 하는 경우, 데이터의 종류에 따라 확장 및/또는 압축을 하여 전송할지 여부를 결정한다.
게이트웨이(300)는 데이터 종류를 판별하여 외부망인 SNMP 망(100)으로부터 IP-USN(200)으로 들어오는 인바운드(inbound) 데이터이면, IP 헤더를 압축하고, 패킷을 분해한 후 IP-USN(200)D로 전송한다(S420 ~ S450).
또한, 게이트웨이(3000는 데이터 종류를 판별하여 내부망인 IP-USN(200)으로부터 SNMP 망(100)으로 들어오는 아웃바운드(outbound) 데이터이면, 압축된 IP 헤더를 확장하고, 패킷을 조립한 후 외부의 SNMP 망(100)으로 전송한다(S460 ~ S490).
이와 같이 본 발명에 따른 IP-USN(200)과 SNMP 망(100)의 상호 운용성을 보장하기 위한 게이트웨이(300)는 외부 네트워크(external network)인 SNMP 망(100)으로부터 IP-USN(200)으로 오가는 IPv6 패킷을 위한 sub-IP 상에서의 단편화(fragmentation)와 조립(defragmentation)을 한다. 단편화와 조립의 주요 기능은 외부 IPv6 네트워크로부터 오가는 트래픽을 제외하고, IETF 인터넷 드래프트 "montenegro-lowpan-ipv6-over-802.15.4"와 같다.
게이트웨이(300)는 IP-USN(200)과 SNMP 망(100) 사이에서의 IPv6 패킷의 압축(compression) 및 압축 풀기(decompression)를 해야 한다. 압축은 IEEE 802.15.4를 위한 EUI-64 식별자(identifier)를 얻기 위해 SNMP 망(100)으로부터 온 IPv6 패킷의 목적지 주소로부터 64비트 프리픽스(prefix)를 떼어내는 작업을 한다. 압축 풀기는 압축의 반대되는 과정을 수행하게 된다.
또한, 게이트웨이(300)는 IP-USN(200)과 SNMP 망(100) 각각에 대해 16비트 짧은(short) 주소를 매핑하여 IPv6 패킷을 압축할 수도 있다. 게이트웨이(300)는 이것을 위해서 매핑 테이블을 유지한다. 이 매핑 테이블의 기입 사항이 IP-USN(200)과 SNMP 망(100)이 서로 다르지만, 매핑은 두 네트워크에 대해 모두 적용된다. 다만, 주의할 것은 IP-USN(200)의 16비트 짧은 주소의 매핑은 128비트 IPv6 주소로 하는 것이 아니고 64비트 식별자로 행해진다.
본 발명에서는 도 9 및 도 10에 나타낸 바와 같이, IP-USN(200)과 SNMP 망(100)에 대한 두 가지 매핑 테이블 타입을 정의한다. 즉, SNMP 망(100)과 통신할 때는 두 가지 가능한 트래픽이 있다. SNMP 망(100)에서 IP-USN(200)으로 들어 오는 트래픽(inbound)과 IP-USN(200)에서 SNMP 망(100)으로 나가는 트래픽(outbound)이 그것이다.
[들어오는 트래픽] (inboud)
들어오는 IPv6 패킷의 목적지 주소에 대해 게이트웨이(300)는 목적지 주소의 인터페이스 식별자(Interface identifier)에 해당하는 16비트 짧은 주소를 IP-USN 장치 주소 매핑 테이블을 사용해서 매핑한다. 본 발명에서는 인터페이스 식별자에 대한 16비트 짧은 주소 할당에 대해 다루진 않는다. 출발지 주소에 대해서 게이트웨이(300)는 SNMP 망 장치 주소 매핑 테이블에서 16비트 짧은 주소를 할당하고 매핑한다. SNMP 망에 대한 짧은 주소는 이하에서 설명할 만료 시간(expiration time)이 지난 후에 삭제된다.
[나가는 트래픽] (outbound)
SNMP 망(100)으로 나가는 트래픽은 다음 두 가지로 분류할 수 있다. 첫 번째는 위에 언급한 들어오는 트래픽에 대한 응답 트래픽이다. 이 경우에는 IP-USN(200)에 적용되는 장치가 목적지와 출발지 주소 둘 다에 대해 16비트 짧은 주소를 사용할 수 있다. 이때에는 당연히 SNMP 망 장치 주소 매핑 테이블에는 응답 트래픽에 대해 할당되어 있는 SNMP 망 짧은 주소가 있다. 나가는 트래픽은 외부의 짧은 주소의 만료 시간이 다 되기 전에 게이트웨이(300)에 도착해야 한다. 두 번째는 처음으로 나가는 트래픽이다. 이 경우에는 SNMP 망(100)의 목적지에 대해 매핑된 외부 짧은 주소가 없으므로 목적지에 대해 압축을 할 수 없다.
게이트웨이(300)는 IP-USN(200)의 모든 장치에 대한 매핑된 16비트 짧은 주 소를 담고 있는 IP-USN 장치 매핑 테이블을 유지한다. 이 테이블을 셋업하기 위해 등록하는 과정이 필요하다.
도 9는 도 10에 도시된 IP-USN 장치 주소 매핑 테이블을 나타내는 도면이고, 도 10은 도 1에 도시된 SNMP 망 장치 주소 매핑 테이블을 나타내는 도면이다. 도 9에 도시된 매핑 테이블은 IP-USN이 6LoWPAN인 경우, 도 10에 도시된 매핑 테이블은 SNMP 망이 IPv6인 경우를 예를 들어 설명하기로 한다.
도 9 및 도 10을 참조하면, 게이트웨이(300)는 SNMP 망(100)과 IP-USN(200)에 배치된 장치 주소 매핑 테이블을 포함한다.
도 9를 참조하면, 게이트웨이(300)에 포함된 IP-USN(200) 장치 주소 매핑 테이블은 64비트 인터페이스 식별자(IID)와 16비트 짧은 주소(short address)로 구성되어 있다. 이 테이블은 6LoWPAN에 있는 모든 장치에 대한 매핑 정보를 담고 있다. 따라서, 매핑 테이블의 최대 사이즈는 예를 들어, 218개의 엔트리(entry)를 수용할 수 있는 정도의 크기가 될 수 있다.
한편, 상기 인터페이스 식별자는 각 6LoWPAN에 있는 장치에 할당된 64비트 인터페이스 식별자이고, 상기 짧은 주소는 각 6LoWPAN에 있는 장치에 할당된 16비트 짧은 주소이다.
도 10을 참조하면, SNMP 망(100) 장치 주소 매핑 테이블은 128비트 IPv6 주소와 16비트 짧은 주소, 만료시간(expiration time)으로 이루어져 있다. 한편, IPv6 주소는 외부 네트워크 장치의 IPv6 주소이고, 상기 짧은 주소는 외부 장치의 IPv6 주소에 대한 16비트 짧은 주소이며, 상기 만료 시간은 해당 값의 만료 시간으로 만료 시간이 지나면 해당 값은 무효가 된다.
이와 같이, 게이트웨이(300)가 IP-USN(200)과 SNMP 망(100) 사이에서 데이터 통신을 중재하는 기능, 즉 프록시 기능, 프로토콜 변환 기능 및 패킷 압축 기능을 수행한다. 따라서, IP-USN(200)의 모든 장치에 게이트웨이 역할을 하는 중재기를 설치하는 경우와 비교하여, 비용절감 및 공간 창출 면에서 효율성이 크게 향상된다. 또한, 데이터 통신에 있어서, 게이트웨이(300)가 프록시 기능을 수행함으로써 데이터 통신의 속도가 향상된다.