이하, 첨부된 도면을 참조하여 본 발명의 실시예를 설명하면 다음과 같다.
도 1 은 이종망간 핸드오버에 대한 이동단말의 네트워크 접속 종류를 설명하기 위해 참조되는 도이다.
도 1을 참조하면, 이동단말(100)은 복수의 네트워크(N2, N3, N4)에 대하여, 무선신호를 감지하고, 감지되는 무선신호 중 어느 하나를 선택하여 접속함으로써, 인터넷(N1)에 연결하여 소정의 데이터를 송수신한다. 또한, 감지되는 무선신호 중 어느 하나를 선택하여 핸드오버 한다. 이때, 서비스를 이용하는 이동단말(100)과 서비스를 제공하는 제어서버(200)간에 IPv6-Over-IPv4 터널을 사용한다.
예를 들어, 이동단말(100)은 무선랜(WiFi)(N2), 와이브로(Wibro)(N3), 고속패킷망(HSDPA)(N4) 중 적어도 하나에 대해 무선신호를 감지하고, 이동 중 감지되는 적어도 하나의 무선신호 중 소정 조건을 만족하는 무선신호를 선택하여, 해당 네트워크에 접속하고, 이를 통해 인터넷(N1)에 연결됨으로써, 소정의 데이터 서비스 또는 실시간 서비스를 이용하게 된다.
또한, 이동단말(100)은 최초, 하나의 무선신호를 선택하여 소정의 네트워크를 사용하고 있는 상태에서, 동시에 상기와 같은 네트워크(N2, N3, N4)에 대한 무선신호를 감지하여, 이동에 따른 핸드오버를 수행한다.
예를 들어, 이동단말(100)이 무선랜(WiFi)(N2)의 액세스포인터(410)로부터 무선신호를 감지하여, 액티브(Active)로 설정하고, 무선랜(WiFi)(N2)에 접속하여 소정의 서비스를 제공받는 상태에서, 와이브로(WiBro)(N3)와 고속패킷망(HSDPA)(N4) 중 적어도 하나의 무선신호를 지속적으로 감지한다. 또한, 와이브로(WiBro)(N3)를 액티브(Active)로 하여 소정의 서비스를 제공받는 상태에서는 와이파이(WiFi)(N2)와 고속패킷망(HSDPA)(N4)의 무선신호를 지속적으로 감지한다.
이동단말(100)은 상기와 같이 액티브로 어느 하나의 네트워크에 접속한 상태에서 다른 네트워크의 무선신호를 감지함으로, 이동단말(100)의 이동에 대응하여 다른 네트워크로의 핸드오버를 수행한다. 즉, 이동단말(100)은 무선랜(WiFi)(N2)와 와이브로(WiBro)(N3), 무선랜(WiFi)(N2)와 고속패킷망(HSDPA)(N4), 와이브로(WiBro)(N3)와 고속패킷망(HSDPA)(N4) 사이에서, 이종의 네트워크로 핸드오버 할 수 있다.
이동단말(100)이 다른 네트워크로 핸드오버 하는 경우(H01, H02, H03), 이동단말(100)은 이동단말(100) 및 제어서버(200) 간에 설정된 터널을 이용하여 핸드오 버하고, 핸드오버 시에도 이용중인 서비스가 연속적으로 제공되도록 한다.
제어서버(100)는 이동단말에 소정의 서비스가 제공되도록 데이터를 전송하는 터널을 설정 및 관리하고, 이동단말이 상이한 네트워크로 핸드오버 가능하도록 함과 동시에, 핸드오버시 제공되는 서비스의 데이터가 끊김 없이 전송되도록 한다. 이때, 제어서버(100)는 자체 구비되는 컨텐츠를 이동단말에 제공하거나, 또는 포털서버 등과 같은 컨텐츠 제공 서버와 연결되어, 포털서버의 데이터가 설정된 터널을 통해 전송되도록 하여, 이동단말로 소정의 서비스가 제공되도록 한다.
여기서, 이동단말(100)과 제어서버(200)간에 설정되는 터널은, IPv4네트워크 환경을 기반으로 동작하므로 “NAT Traversal” 기능을 포함하며, IPv6-UDP-IPv4 터널을 지원한다. 여기서 IPv6-over-IPv4, IPv6-UDP-IPv4는 IPv4 기반의 네트워크에 터널을 형성하여 IPv6의 패킷이 전송될 수 있도록 하는 것이다.
제어서버(200)는 IPv4 기반의 네트워크에 연결된 이동단말(100)에 IPv6의 패킷을 전송할 수 있도록 이동단말(100) 에 터널을 설정한다.
이렇게 이동단말(100)과 제어서버(200)간 터널링이 가능한 상태에서, 이종망간 심리스 핸드오버(Seamless Handover)를 실현하기 위하여, 이동단말(100)과 제어서버(200)는 액티브터널(Active Tunnel)과 스탠바이터널(Standby Tunnel)을 설정한다.
이때, 이동단말(100)은 액티브 터널 또는 스탠바이 터널에 대한 각각의 인터페이스에서 발견되는 무선신호의 품질에 따라 터널의 절체 시점을 결정하고 제어서버(200)와 터널 절체 절차를 수행하여 심리스 핸드오버를 실현한다. 여기서, 심리 스 핸드오버(Seamless Handover)는 핸드오버 전의 서비스 품질(QoS)을 유지하면서 핸드오버가 이루어지도록 하는 것을 뜻한다.
액티브 터널(Active Tunnel)은 이동단말과 제어서버간에 제어 메시지뿐만 아니라 일반 데이터 트래픽 즉 실질적인 데이터 송수신에 사용하는 터널이다. 스탠바이 터널(Standby Tunnel)은 실질적인 데이터 송수신에 개입하지 않으며 주기적으로 제어메시지를 송수신하는 보조 터널로써, 터널 절체 시 데이터 손실을 없애기 위하여 제어서버와 이동단말 간에 미리 준비해 놓는 터널이다.
이때, 스탠바이 터널을 설정하는 과정에서 NAT(Network Address Translator, 이하 NAT)가 발견된다면 NAT 장비의 맵핑 테이블을 갱신해야 하기 때문에 이동단말(100)은 터널설정에 사용했던 동일한 메시지를 주기적으로(30초) 제어서버로 전송 한다.
여기서 이동단말(100)은 네트워크에 위치하는 경우, 인터넷 서비스 제공자(Internet Service Provider, 이하 ISP)로부터 공용 IP를 받아 사용하는데, 경우에 따라 NAT로부터 사설 IP를 받아 사용할 수도 있다. NAT는 ISP로부터 할당 받은 공용 IP를 외부 네트워크로 연결하고, 연결된 각 이동단말에 사설 IP를 할당하며, 사설IP 및 포트 정보를 외부의 IP 및 포트 정보를 맵핑(mapping)하여, 이동단말이 통신 가능하도록 한다. NAT 장치는 하나의 공용IP를 이용하여 복수의 이동단말이 외부 네트워크에 접속할 수 있도록 한다. 따라서, 이동단말(100)이 NAT을 통해 소정의 네트워크에 접속되어 제어서버(200)에 연결되는 경우, 상기와 같이 맵핑 테이블 갱신이 동반되어야 한다.
도 2 은 도1 의 이동단말 및 제어서버의 구성 설명을 위해 참조되는 블록도이다.
이동단말(100)은 유/무선 인터페이스 및 신호 품질을 감시 관리하는 인터페이스 관리모듈(170), 제어서버(200)와 터널링 절차를 처리하는 터널링 프로토콜모듈(180), 그리고 터널을 설정/삭제하고 터널링 데이터를 송수신 하기 위한 터널링 드라이버모듈(190)을 포함한다.
또한, 이동단말(100)은 소정의 데이터를 입력받는 입력모듈(140), 데이터를 출력하는 출력모듈(150), 데이터가 저장되는 데이터모듈(160), 이동단말의 동작에 다른 제반 사항을 제어하는 제어모듈(130)을 포함한다. 또한, 이동단말(100)은 복수의 네트워크(N1 내지 N4)에 접속하기 위한 접속모듈을 포함한다. 예를 들어, 이동단말(100)은, 이동통신망, 무선랜(WiFi)(N2), 와이브로(Wibro)(N3), 고속패킷망(HSDPA)(N4) 등과 같은 네트워크에 접속하는 각각의 접속모듈을 포함한다.
입력모듈(140)는 적어도 하나의 입력수단을 포함하여, 입력수단의 조작에 의해 입력되는 신호를 제어모듈(130)로 인가함으로써, 소정의 데이터를 입력 받는다. 이때, 출력모듈(150)는 입력모듈(140)을 통해 입력되는 데이터에 대응하여, 제어모듈(130)에 의해 실행되는 소정의 동작에 대한 정보를 출력한다. 또한, 이동단말(100)이 네트워크 접속을 통해 소정의 서비스를 제공받는 경우, 그에 대한 데이터를 출력한다. 이때, 출력모듈(150)은 디스플레이수단, 음향출력수단과 같은 출력수단을 적어도 하나 포함한다. 데이터모듈(160)은 송수신되는 데이터, 이동단말(100)의 동작에 따른 제어데이터, 네트워크 접속에 따른 이동단말(100)의 접속정 보가 저장된다.
여기서, 이동단말(100)은 기존에 설정한 액티브 터널을 통해 데이터 송수신이 이루어지는 동시에, 스탠바이터널을 설정하고 제어하기 위한 제어메시지를 전송하기 위하여, 제어서버(200)에 제어메시지 송수신을 위한 인터페이스로써 주 인터페이스와 보조 인터페이스를 갖는다.
인터페이스 관리모듈(170)은 이동단말의 인터페이스 정보, 예를 들어 IPv4 주소, IPv6주소, 이름과 같은 정보를 확인 하고, 제어서버(200)와 통신 하기 위한 제어서버의 IPv4, IPv6s 주소 등을 관리한다. 또한, 인터페이스 관리모듈(170)은 액티브 터널과 스탠바이 터널을 통해 데이터를 전송하기 위한 인터페이스인, 액티브인터페이스와, 스탠바이인터페이스를 관리한다.
인터페이스 관리모듈(170)은 제어서버(200)로 액티브터널 또는 스탠바이터널의 설정을 요청하고, 설정된 터널의 유지를 위해 데이터를 전송하는 경우, 또는 이동단말(100)의 서비스이용에 따른 데이터의 전송을 위해 액티브 인터페이스와, 스탠바이인터페이스 중 어느 하나를 선택하고, 이동단말(100)에 설정된 루트정보를 참조하여, 선택된 인터페이스를 이용하여 제어서버(200)로 데이터가 전송되도록 터널링 프로토콜모듈(180) 및 터널링 드라이브모듈(190)에 정보를 제공한다.
터널링 프로토콜모듈(180)은 제어모듈(130)의 터널설정에 대한 제어명령에 따라, 인터페이스 관리모듈(170)에 의해 선택된 인터페이스를 통해, 제어서버(200)로 액티브 터널 또는 스탠바이 터널의 설정을 요청하는 제어 메시지를 전송한다. 이때, 제어서버(200)는 주 인터페이스(Base Interface)와 보조 인터페이스(Prepare Interface)를 설정하여 동작하는데 이때 이동단말(100)은 둘 중 하나의 인터페이스를 통해 터널 설정을 요청하게 된다.
즉, 이동단말(100)은 터널 설정 시, 인터페이스 관리모듈(170)을 통해 액티브 인터페이스와, 스탠바이인터페이스 중 어느 하나가 선택되면, 제어서버(200)가 준비하고 있는 주 인터페이스(base) 또는 보조(prepare) 인터페이스 중 하나를 선택하여 터널링 프로토콜모듈(180)을 통해, 터널설정을 요청하는 메시지를 전송함으로써, 터널을 설정한다. 이때, 이동단말(100)은 스탠바이 터널을 설정하는 경우, 제어서버(200)의 두 인터페이스 중 액티브 터널 생성에 사용되지 않은 다른 인터페이스를 선택하여 제어메시지를 전송한다. 이때 이동단말(100)은 32비트 풀 마스킹(Full Masking) 루트 정보를 이동단말의 루트 테이블에 설정하여 전송한다.
이동단말(100)의 터널 설정 요청에 따른 제어서버(200)의 응답이 수신되면, 터널링 드라이버모듈(190)은 제어서버(200)의 응답메시지에 대응하여, 이동단말(100) 에서의 터널설정을 완료하고, 터널 테이블을 작성한다.
이동단말(100)은 상기와 같이 액티브터널과 스탠바이 터널을 설정한 후, 이동단말의 이동에 따라 감지되는 소정의 네트워크에 대하여, 스탠바이 터널로의 터널 절체를 위한 제어메시지를 제어서버(200)와 송수신함으로써 이종망으로 핸드오버 한다.
이때, 터널링 드라이버모듈(190)은 이동단말(100)이 스탠바이 터널을 액티브로 변경하여 터널 절체를 이용한 핸드오버를 수행한 경우, 기존의 액티브 터널의 삭제를 제어서버(200)로 요청하고, 기존의 액티브 터널을 삭제한다.
한편, 제어서버(200)는 이동단말(100)로부터 요청되는 터널링 요청 메시지에 따라 터널을 제어하는 서버 터널링 프로토콜모듈(220)과, 터널을 설정/삭제하고 터널링 데이터를 포워딩하기 위한 서버 터널링 드라이버모듈(230)을 포함한다. 또한, 이동단말의 서비스이용에 따른 데이터, 및 적어도 하나의 이동단말에 대한 정보가 저장되는 이동단말정보모듈(250), 적어도 하나의 이동단말에 설정된 터널에 대한 정보가 저장되는 터널정보모듈(240), 제어서버의 동작 전반을 제어하는 서버제어모듈(210)을 포함한다.
제어서버(200)는 이동단말과 상호간에 액티브 터널과 스탠바이 터널을 설정하여 사용함으로써, 이동단말에 실시간 서비스를 제공하고, 이동단말이 이종망으로의 핸드오버를 수행하도록 한다. 이때, 액티브터널과 스탠바이 터널을 이용한 터널의 절체를 통해, 핸드오버 시에도 이동단말이 서비스를 연속적으로 제공받을 수 있도록 한다.
이하, 이동단말(100)이 무선랜(Wifi)(N2)으로부터 와이브로(Wibro)(N3)으로 핸드오버(H01)하는 것을 예로 하여 그 동작을 설명하면 다음과 같다.
도 3 은 이동단말이 최초 네트워크에 접속하여 액티브(Active) 인터페이스를 선택하고 액티브터널(Active Tunnel)을 설정하는 과정을 설명하기 위해 참조되는 도이고, 도 4 는 도 3 의 액티브터널 설정에 따른 이동단말 및 제어서버의 동작방법을 설명하기 위해 참조되는 흐름도이다.
도 3 및 도 4를 참조하면, 이동단말(100)은 적어도 하나의 무선신호를 감지하고(S500), 감지된 무선신호에 대한 적어도 하나의 네트워크 중 어느 하나를 액티 브로 선택하여(S510) 액티브 인터페이스를 결정한다(S520). 이때, 이동단말(100)의 인터페이스 관리모듈(170)은 감지되는 복수의 무선신호 중 어느 하나를 선택하여, 액티브 인터페이스를 결정하고, 결정한 인터페이스로 IPv4 기본 루트를 설정한다(S530).
이동단말(100)은 액티브 인터페이스를 통해 제어서버(200)로 액티브터널(Active Tunnel)의 설정을 요청한다(301)(S540). 이때, 터널링 프로토콜모듈(180)이 제어서버(200)로 액티브 터널의 설정을 요청한다. 예를 들어, 이동단말(100)은 무선랜(Wifi)(N2)를 액티브로 설정하고, 액티브 인터페이스를 통해 액세스 포인트(410)를 통해 접속되는 무선랜(Wifi)(N2)에 대하여, 액티브 터널의 설정을 제어서버(200)로 요청한다.
또한, 제어서버(200)는 이동단말로부터 액티브 터널 설정 요청 메시지(301)를 수신하고, 이동단말에 대한 터널을 설정한다(S545). 이때, 제어서버(200)의 서버 터널링 드라이버모듈(230)이 터널을 설정하고 터널아이디를 할당한다. 이때, 제어서버(200)는 주 인터페이스(Base Interface)(129.254.197.158/48702)와 보조 인터페이스(Prepare Interface)(129.254.190.65/48702)를 설정하여 동작 하는데, 이동단말(100)은 터널 설정 요청 시, 주 인터페이스와 보조 인터페이스 중 어느 하나를 터널의 종단점으로 하여, 터널설정을 요청한다.
여기서, 이동단말(100)의 IP는 192.168.1.101 이고, UDP 포트는 48702, IPv6은 5ffe::101 이며, 제어서버(200)는 주 인터페이스(Base Interface)인 129.254.197.158로 이동단말(100)에 대한 액티브 터널을 설정하고 그에 대한 터널 아이디를 110으로 할당한다. 터널 아이디는 이동단말에 복수의 터널이 할당되는 경우, 각 터널을 구분하기 위한 값이다.
또한 제어서버(200)는 이동단말(100)의 128 비트 Prefix 루트 정보를 해당 터널에 설정한다(S550). 제어서버(200)는 터널 할당에 대한 응답메시지를 이동단말(100)로 전송한다(302)(S555).
이동단말(100) 간의 터널 설정에 있어서, 제어서버(200)는 NAT 장비가 개입되어 있는 경우, 이동단말의 Source IP 주소와 UDP Port 번호를 변경하고, 터널 테이블에서, 터널의 데스티네이션 정보 (Destination)를 변경된 정보(100.100.100.10/1024)로 설정한다.
이때, NAT 장비가 개입된 경우, 제어서버 및 이동단말에 설정되는 터널 테이블은 다음과 같다.
|
Destination IPv6 |
Role |
Tunnel ID |
Source |
Destination |
IP Address |
UDP Port |
IP Address |
UDP Port |
제어서버 |
5ffe::101 |
Active |
110 |
129.254.197.158 |
48702 |
100.100.100.10 |
1024 |
Standby |
- |
- |
- |
- |
- |
이동단말 |
::/0 |
Active |
110 |
192.168.1.101 |
48702 |
129.254.197.158 |
48702 |
Standby |
- |
- |
- |
- |
- |
이동단말(100)은 제어서버(200)로부터 액티브 터널(Active Tunnel) 설정에 따른 응답메시지를 수신하여, 터널링 드라이버모듈(190)을 통해 표 1과 같이 터널을 설정하고, IPv6 기본 루트 정보를 액티브 터널에 설정한다(S560).
이동단말(100)은 IPv6 등록을 요청하는 메시지를 제어서버(200)로 전송하여, 설정한 액티브 터널이 진정한 액티브 터널임을 확인시킨다(S570). 이동단말(100)은 상기와 같이 IPv6 기본루트정보를 설정하고, IPv6을 제어서버(200)로 등록함으로써, 액티브 터널로 IPv6 데이터 트래픽을 송수신 할 수 있게 된다(S580). 또한, 이동단말(100)은 주기적으로 메시지를 전송하여, 전송하여 제어서버(200)의 터널 정보의 Lifetime을 갱신한다(303)(S590).
제어서버(200)는 이동단말(100)로부터 IPv6 등록 메시지를 주기적으로 수신하여, 서버 터널링 프로토콜모듈(220)을 통해 터널정보의 Lifetime을 갱신한다(304)(S595).
도 5 는 이동단말에 액티브 터널이 설정된 후, 다른 네트워크의 신호를 감지하여 스탠바이터널을 설정하는 과정을 설명하기 위해 참조되는 도이고, 도 6 은 도 5 의 스탠바이터널 설정에 따른 이동단말 및 제어서버의 동작방법을 설명하기 위해 참조되는 흐름도이다.
도 5 및 도 6을 참조하면, 이동단말(100)의 액티브 터널 설정이 완료된 후, 이동단말(100)의 인터페이스 관리 모듈(170)이 새로운 무선신호를 선택하여 스탠바이 인터페이스로 결정하고 터널링 프로토콜모듈(180)을 통해 제어서버(200)로 스탠바이 터널의 설정을 요청하여, 스탠바이 터널을 설정한다.
여기서, 이동단말(100)은 스탠바이 터널을 설정하기 위한 제어메시지 송수신과 스탠바이 터널의 데스티네이션 IP(Destination IP) 주소가 액티브 터널을 설정할 때와 다른 IPv4 주소를 사용한다. 이는 이동단말(100)이 원하는 인터페이스로 스탠바이 터널을 설정하기 위하여, 제어서버(200)의 주 인터페이스 또는 보조 인터페이스로 제어메시지를 전송해야 하는데, 제어메시지를 전송할 때 마다 32비트 IPv4 루트 정보를 루트 테이블에 설정하여 제어메시지를 전송하고, 제어서버(200)로부터 응답이 수신되면 루트테이블의 IPv4의 루트정보를 삭제하는 과정을 반복해야 한다.
여기서, 이동단말(100)이 기 설정된 액티브 터널을 통해, 제어메시지를 송수신하는 경우와, 스탠바이 터널을 생성하는 경우, 동일한 IPv4 주소를 사용하게 된다면, 스탠바이 인터페이스로 제어 메시지를 송수신하는 동안, 일시적으로 일반 데이터 트패픽도 스탠바이 터널을 사용하게 된다. 스탠바이 터널은 일반데이터를 송수신하기 위한 것이 아니라 제어메시지의 송수신을 위한 것으로, 스탠바이 터널 설정 후, 설정된 스탠바이 터널을 유지하기 위해 제어메시지를 송수신하는 경우 사용되나, 상기와 같이 일반 데이터가 전송되게 된다. 그에 따라, 제어서버(200)는 스탠바이 터널을 통해 일반 데이터가 전송되지 않도록 주 인터페이스와, 보조 인터페이스를 유지한다.
즉, 이동 단말(100)이 스탠바이 터널을 설정하기 위하여 제어메시지를 전송할 때, 기존 액티브 터널에 사용했던 제어메시지의 목적지 IPv4 주소와 스탠바이 터널의 목적지 IPv4 주소를 다르게 하여, 이동단말(100)에서 32비트 IPv4 루트정보를 루트 테이블에 설정하여 Standby 인터페이스로 제어메시지를 전송할 때 일반 데이터 트래픽이 스탠바이 터널을 사용하지 않고, 기존 액티브 터널을 그대로 사용하게 한다.
이동단말(100)은 기 설정된 액티브 터널(320)을 통해 데이터를 송수신하고(320)(S600), 현재 연결된 네트워크 이외에도 다른 네트워크에 대한 무선신호를 지속적으로 감지한다(610).
이동단말(100)의 인터페이스 관리모듈(170)은 감지되는 무선신호 중 어느 하나를 선택하고, 선택된 무선신호의 네트워크에 대한 인터페이스를 결정한다. 예를 들어, 무선랜(Wifi)(N2) 접속에 따른 액티브 터널이 설정된 상태에서, 와이브로(Wibro)(N3)를 선택하여 스탠바이 인터페이스를 설정할 수 있다.
이때, 이동단말(100)의 터널링 프로토콜모듈(180)은 스탠바이인터페이스로 제어메세지를 전송하기 위해 새로운 IPv4주소를 설정한다(S620). 제어서버(200)의 IPv4주소 중, 액티브 터널 설정에 사용하지 않은 IPv4주소 인, 보조인터페이스의 주소, 129.254.190.65를 터널의 종단점으로 설정하고, 32비트 IPv4 루트 정보를 루트테이블에 설정한다(S620).
이동단말(100)은 스탠바이 인터페이스를 통해 제어서버(200)로 스탠바이 터널의 설정을 요청한다(311)(S630).
제어서버(200)는 이동단말(100)의 스탠바이 터널 설정 요청에 대응하여, 스탠바이 터널을 설정하고, 새로 생성된 스탠바이 터널에 대한 새로운 터널 아이디(120)를 할당한다(S635). 또한, 제어서버(200)는 스탠바이 터널 설정 완료에 따른 응답메시지를 이동단말(100)로 전송한다(312). 이때, 제어서버(200)의 서버 터널링 드라이버모듈(230)에 의해 스탠바이 터널이 생성된다.
여기서, 제어서버(200)는 스탠바이 터널 설정 시, NAT를 경유하는 경우에는 액티브 터널 설정 시와 같이, 이동단말의 소스(Source) IP와 UDP포트 번호를 변경하고, 변경된 정보(200.200.200.20/2024)를 터널의 데스티네이션 정보로 설정하여 NAT Traversal기능을 수행하게 된다.
이동단말(100)은 제어서버(200)로부터 응답메시지를 수신하여, 터널을 설정하고, NAT를 경유하는 경우 주기적인 메시지를 제어서버(200)로 전송하여 스탠바이 터널의 NAT 맵핑 테이블을 갱신하도록 한다(S640).
이동단말(100)은 상기와 같이 스탠바이 터널에 대한 응답메시지를 수신한 후, 스탠바이 인터페이스로 설정한 32비트 IPv4 루트 정보를 루트테이블로부터 삭제한다(S650).
여기서, 액티브 터널과, 스탠바이 터널 설정에 따른, 이동단말(100)과 제어서버(200)의 터널 테이블은 다음과 같다.
|
Destination IPv6 |
Role |
Tunnel ID |
Source |
Destination |
IP Address |
UDP Port |
IP Address |
UDP Port |
제어서버 |
5ffe::101 |
Active |
110 |
129.254.197.158 |
48702 |
100.100.100.10 |
1024 |
Standby |
120 |
129.254.190.65 |
48702 |
200.200.200.20 |
2024 |
이동단말 |
::/0 |
Active |
110 |
192.168.1.101 |
48702 |
129.254.197.158 |
48702 |
Standby |
120 |
125.168.10.23 |
48702 |
129.254.190.65 |
48702 |
그에 따라, 이동단말은 현재 접속된 네트워크와 다른 네트워크로의 이동에 대한 준비를 완료하게 된다. 여기서, 이동단말(100)은 기존의 액티브 터널 설정 시와는 상이한 데스티네이션 IPv4 주소를 사용하므로, 액티브 터널을 통해 송수신되는 일반 IPv6 데이터 트래픽에는 영향을 주지 않는다.
도 7 은 이동단말이 액티브터널과 스탠바이터널을 이용하여 다른 네트워크로 핸드오버하는 과정을 설명하기 위해 참조되는 도이고, 도 8 은 도 7 의 이동단말의 핸드오버에 따른 동작방법을 설명하기 위해 참조되는 흐름도이다.
도 7을 참조하면, 도 5 및 도 6에서와 같이, 액티브 터널과, 스탠바이 터널이 설정되면, 이동단말(100)의 인터페이스 관리모듈(170)은 액티브 인터페이스와, 스탠바이 인터페이스의 각각의 무선신호를 비교하여, 신호 품질이 우수하고 안정적인 인터페이스에 대한 터널의 절체를 통해 심리스 핸드오버를 수행한다.
예를 들어, 이동단말(100)은 액티브 터널을 통해 송수신되는, 액티브 인터페이스의 무선랜(Wifi)(N2) 무선신호와, 스탠바이 터널을 통해 송수신되는, 스탠바이 인터페이스의 와이브로(Wibro)(N3)의 무선신호를 비교하여, 신호의 강도 및 신호 품질에 따라, 스탠바이 인터페이스의 무선신호가 액티브 인터페이스의 무선신호보다 신호품질이 우수하고 안정적인 경우, 터널 절체 과정을 통해, 스탠바이 터널을 액티브터널로 변경하여 와이브로(Wibro)(N3)로 핸드오버 한다(H01).
도 8을 참조하면, 이동단말(100)은 기 설정된 액티브 터널(320)을 통해 데이터를 송수신하고(S700), 스탠바이터널(330)을 유지하고 있다.
이때, 이동단말(100)의 인터페이스 관리모듈(170)은 액티브 인터페이스의 무선신호와, 스탠바이 인터페이스의 무선신호를 비교하여(S710), 스탠바이 터널(330)을 액티브터널로 변경하기 위한 터널의 절체 시점을 결정하고, 터널링 프로토콜모듈(180)은 스탠바이 터널(330)을 통해 제어서버(200)로 터널의 절체를 요청한다(313)(S720). 인터페이스 관리 모듈(170)은 스탠바이 터널의 신호품질이 우수하고 안정적인 것으로 판단되는 경우, 터널이 절체 되도록 한다. 이때, 이동단말(200)은 터널 절체 요청 시, 기존의 IPv6 터널 등록 요청메시지(터널 아이디, 120)를 그대로 사용하여, 스탠바이 터널의 절체를 요청한다.
제어서버(200)는 이동단말(100)의 터널 절체 요청을 수신하기 전, 이동단말(100)로부터 수신되는 액티브 터널 확인 메시지를 통해, 기 설정된 액티브 터널(320)의 라이프 타임을 갱신하고 유지하는데(S715), 이동단말(100)로부터 스탠바이 터널(330)을 통해 터널 절체 요청이 수신되면(S725), 스탠바이 터널을 액티브로 변경하여, 이동단말이 핸드오버 되도록 한다(S735). 즉, 제어서버(200)는 기존의 스탠바이터널(330)을 새로운 액티브 터널(340, 터널아이디 120)로 변경하여 터널 절체를 수행하고, 그에 대한 응답메시지를 이동단말(100)로 전송한다.
이동단말(100)은 제어서버(200)의 응답메시지에 따라, 스탠바이터널(330)을 액티브로 설정함으로써, 새로운 액티브 터널(340, 터널아이디 120)로 전환한다(S730).
기존의 스탠바이 터널(330)이 액티브 터널(340)로 변경됨으로써, 제어서버(200)는 기존의 액티브터널(320)을 통해 이동단말(100)에 제공되는 서비스가 새로운 액티브 터널(340)을 통해 전송되도록 서비스를 이전하고(S740), 이동단말(200)은 기존의 액티브 터널(320)을 통해 수신되는 서비스를, 새로운 액티브 터널(340, 터널아이디 120)(기존의 스탠바이 터널, 330)을 통해 수신하게 된다(S745).
이동단말(100)은 서비스 이전이 완료되면, 인터페이스관리모듈(170)이 기존의 액티브 터널(320)의 삭제를 제어서버(200)로 요청하고, 제어서버(200)는 이동단말(100)의 요청에 대응하여 기존의 액티브 터널(320)을 삭제한다. 이때, 이동단말(100)은 기존의 액티브 터널(320)의 삭제가 완료되기 전까지, 기존의 액티브터널(320)의 정보를 유지한다. 즉, 이동단말(100)은 서비스 이전이 완료되고, 제어서버(200)에 의한 기존의 액티브 터널(320)의 삭제되기 전까지, 두 개의 터널 정보를 유지하여, 제어메시지 송수신 구간에 패킷왕복시간(RTT) 동안 발생할 수 있는 데이터의 유실을 방지한다.
스탠바이터널의 액티브 전환 및 이동단말의 핸드오버에 따른 이동단말(100)과 제어서버(200)의 터널 테이블은 다음과 같다.
|
Destination IPv6 |
Role |
Tunnel ID |
Source |
Destination |
IP Address |
UDP Port |
IP Address |
UDP Port |
제어서버 |
5ffe::101 |
Active |
120 |
129.254.190.65 |
48702 |
200.200.200.20 |
2024 |
Standby |
- |
- |
- |
- |
- |
이동단말 |
::/0 |
Active |
120 |
125.168.10.23 |
48702 |
129.254.190.65 |
48702 |
Standby |
- |
- |
- |
- |
- |
상기 표 3과 같이, 이동단말의 기존의 스탠바이 터널(330, 터널아이디 120)은 액티브로 전환되어 새로운 액티브 터널(340, 터널아이디 120)로 설정되고, 기존의 액티브 터널(320)은 삭제된다. 그에 따라 이동단말(100)은 새로운 액티브 터널(340)을 통해 데이터를 송수신함으로써, 연석적인 서비스를 수신이 가능하게 된다.
이후 이동단말은 전술한 도 5 및 6과 같이 새로운 무선신호를 감지하여, 새로운 스탠바이 터널을 설정하게 되고, 감지되는 무선신호의 품질에 따라 심리스 핸드오버를 수행하게 된다. 이렇게 하여 Active/Standby 터널을 설정한 후 이종망으로의 이동을 감지하여 이동해야 하는 경우 Standby 터널로 절체를 위한 제어메시지를 송수신한다. 상기 방법은 때문에 절체 시점에서의 데이터 손실이 발생하지 않는 매우 효율적인 구조이다.
따라서, 본 발명은 상기와 같이, 이동단말(100)과 제어서버(200)간에 액티브 터널과 스탠바이 터널을 설정하고, 이동단말에 설정된 액티브 터널과 스탠바이 터널이 모두 사용 가능한 상태에서, 각 터널의 무선신호의 품질에 대응하여 터널이 절체되도록 함으로써, 이동단말이 이종망간 이동 시에도 데이터 손실이 발생하지 않게 되고, 그에 따라 실시간 데이터 통신 서비스에서 서비스 연속성을 보장할 수 있게 된다.
이상과 같이 본 발명에 의한 IPv6 Over IPv4 터널링 기반의 이종망간 심리스 핸드오버 제어 장치 및 방법을 예시된 도면을 참조로 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 이에 한정되지 않고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 응용될 수 있다.