KR100901790B1 - IPv4 네트워크 기반 IPv6 서비스 제공시스템에서의 제어 터널 및 다이렉트 터널 설정 방법 - Google Patents

IPv4 네트워크 기반 IPv6 서비스 제공시스템에서의 제어 터널 및 다이렉트 터널 설정 방법 Download PDF

Info

Publication number
KR100901790B1
KR100901790B1 KR20070077503A KR20070077503A KR100901790B1 KR 100901790 B1 KR100901790 B1 KR 100901790B1 KR 20070077503 A KR20070077503 A KR 20070077503A KR 20070077503 A KR20070077503 A KR 20070077503A KR 100901790 B1 KR100901790 B1 KR 100901790B1
Authority
KR
South Korea
Prior art keywords
terminal
tunnel
network
ipv6
ipv4
Prior art date
Application number
KR20070077503A
Other languages
English (en)
Other versions
KR20080050973A (ko
Inventor
김선철
홍성백
이경호
전경표
이상화
Original Assignee
한국전자통신연구원
주식회사 모바일컨버전스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원, 주식회사 모바일컨버전스 filed Critical 한국전자통신연구원
Priority to PCT/KR2007/006151 priority Critical patent/WO2008069504A1/en
Priority to JP2009540139A priority patent/JP4819953B2/ja
Priority to US12/517,550 priority patent/US8457014B2/en
Publication of KR20080050973A publication Critical patent/KR20080050973A/ko
Application granted granted Critical
Publication of KR100901790B1 publication Critical patent/KR100901790B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/686Types of network addresses using dual-stack hosts, e.g. in Internet protocol version 4 [IPv4]/Internet protocol version 6 [IPv6] networks

Abstract

본 발명은, IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 및 다이렉트 터널을 설정하기 위한 방법에 관한 것으로서, IPv6 서비스를 제공하기 위해 초기화 시 상기 포털 서버로부터 다운로드 받은 서비스 정보를 이용하여 상기 제어서버로 터널 요청 메시지를 전송한 후 상기 제어 서버로부터 터널 응답 메시지를 수신하면, 단말이 위치하는 네트워크에 따라 상이한 타입으로 상기 제어 서버와의 제어 터널을 설정 및 등록을 수행하고, 상기 제어 터널 설정 과정에서 획득한 단말 정보 즉, 네트워크 위치 정보 및 상태 정보를 이용하여 상대 단말과 다이렉트 터널 요청 및 응답 메시지를 송수신하여 다이렉트 터널을 설정함으로써, IPv4 기반의 IPv6 터널링을 사용하여 IPv6 통신을 하기 때문에 현재 활성화 되어 있지 않은 IPv6 응용서비스들의 확산을 쉽게 유도할 수 있으며, 기존의 네트워크 장비를 변경하지 않고 각 단말과 제어서버의 소프트웨어만 변경하면 되므로 서비스 제공자의 비용 부담을 최소화할 수 있는 효과가 있다.
IPv4 기반 네트워크, IPv6 서비스, 제어 터널, 다이렉트 터널, 사설 네트워크, 공용 네트워크, 네트워크 주소 번역기(NAT).

Description

IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 및 다이렉트 터널 설정 방법{CONTROL TUNNEL AND DIRECT TUNNEL CONFIGURATION METHOD IN IPv6 SERVICE PROVIDE SYSTEM BASED IPv4 NETWORK}
본 발명은 IPv4 기반의 네트워크 환경에서 터널링 기술을 이용한 IPv6 서비스 제공 시스템에 관한 것으로서, 특히 IPv6 단말-대-단말, 단말-대-네트워크 통신 서비스 제공을 위한 제어터널 및 다이렉트 터널을 설정하기 위한 방법에 관한 것이다.
일반적으로 터널링 기술은 IPv6 망에서 IPv4 망을 거쳐서 IPv6 망으로 이동할 시 IPv4 망에 터널을 만들어 IPv6 패킷이 지나갈 수 있도록 하는 개념을 의미한다. IPv4/IPv6 듀얼 스택 호스트와 라우터는 IPv6 데이터그램을 IPv4 패킷에 캡슐화하여 IPv4 라우팅 토폴로지 영역을 통해 터널링 할 수 있다.
이와 같은 터널링 기술은 IPv6 도입 초기에는 소규모 섬 형태의 IPv6 망들이 먼저 나타날 것이기 때문에 많이 활용될 것이다. 이에 따라 전환기술 중에서도 터 널링 기술에 대한 표준화 활동이 가장 활발히 진행됐으며, 그 결과 현재까지 다양한 터널링 기술이 표준으로 제안되었다. 이러한 터널링 기술중 대표적인 기술을 살펴보면, `Configured tunnel', `6to4', `6over4', `ISATAP'(Intra-Site Automatic Tunnel Addressing Protocol), `Teredo', `IPv6 over MPLS' 등이 있다.
한편, 각 IPv4 네트워크에 위치한 단말들 상호간에 IPv6 통신을 제공하기 위해서는 제어 터널과 다이렉트 터널을 사용한다. 상기 제어터널은 기존의 Tunnel Broker나 Teredo 방법과 유사하지만 사용자그룹관리 모듈을 두어 현재 많이 사용하고 있는 MSN이나 SkyPe 같은 Peer-2-Peer 데이터 통신을 할 수 있게 한다. 이러한 상기 제어 터널은 각 단말 간 다이렉트 터널을 제공하여 서버를 경유하는 데이터를 직접적으로 상호 단말 간에 통신하기 때문에 데이터 전송 차원에 매우 큰 장점이 있다.
상기 다이렉트 터널을 설정하기 위한 가장 중요한 변수는 네트워크 주소 변역기(Network Address Translator 이하, NAT이라 칭함)의 유무 여부이다. 현재 단말들이 네트워크에 위치하는 경우에는 인터넷 서비스 제공자(Internet Service Provider 이하, ISP라 칭함)로부터 공용 인터넷 프로토콜(Internet Protocol 이하, IP라 칭함)을 할당받아 사용하는 방법과, NAT로부터 사설 IP를 받아 사용하는 방법이 있다. 이러한 NAT은 부족한 IP를 해결하기 위하여 사용하는 소스 NAT(SNAT), 운용하고자 하는 서버를 특정 사설 망 내부에 위치시키고 이를 알고 있는 특정 사용자만 접근가능 하도록 사용하는 DNAT-포트 포워딩, TCP/UDP 트래픽의 부하를 내부 망에 있는 여러 개의 서버로 분산시키기 위한 DNAT-부하분산을 사용한다. 이러한 NAT는 ISP로부터 할당받은 공인 IP를 외부 네트워크로 연결하고, 연결된 각 단말에게 사설 IP를 할당하고, 사설IP / Port를 외부 망의 IP/Port와 매핑 정보를 유지함으로써 통신을 가능하게 한다. 여기서 상기 DNAT의 경우는 특정한 목적으로 사용하기 위하여 NAT를 사전에 제어해야 하기 때문에 일반적인 네트워크 운용에 사용하지 않는 기능이다.
상기 NAT는 사용자가 ISP로부터 할당받은 한 개의 공인 IP인 100.100.100.50을 사용하여 192.168.2.0로 구성된 자신의 사설망에 있는 단말 호스트(Host)-A와 호스트(Host)-B를 동시에 외부 망에 접속시킬 수 있도록 한다. 이를 위하여, NAT 라우터를 디폴트 게이트웨이로 설정한 단말 A와 단말 B에서 외부 망으로 송신한 IP 패킷을 수신한 NAT 라우터는 목적지가 외부 망에 있다는 사실을 라우팅 기능에 의해 알게 되면, 송신측 단말의 IP와 포트번호를 매핑 테이블에 기록한 다음 이 패킷의 송신측 IP 주소와 포트번호를 각각 공인 IP 주소인 100.100.100.50과 60000번 이상의 새로운 포트번호로 갱신하여 ISP로 송신한다. 이러한 패킷을 수신한 ISP의 라우터는 이 패킷들이 모두 동일한 단말 100.100.100.50의 상이한 두 개의 프로세스들에서 송신한 패킷들로 간주하기 때문에 문제없이 다른 인터넷으로 전달할 수 있다.
또한, ISP로부터 수신되는 모든 패킷들에 대하여, NAT라우터는 이전에 기록한 포트 번호와 내부 망 주소 매핑 테이블을 참조하여, 단말로의 IP 주소와 포트 번호를 찾아, 대치하여 전달하기 때문에 사설망에 있는 여러 개의 단말은 ISP가 제공한 하나의 IP 주소를 공유하여 공중망을 사용할 수 있다.
상기 SNAT 방법은 사설 망 내부의 클라이언트들이 외부에 있는 서버들에 접근할 때에만 가능하다. 반면, 사설 망 내부에 ftp 서버를 설치한 경우, 외부의 단말들은 내부 망에 있는 서버의 IP 주소를 모르므로 NAT에 할당된 공인 IP 주소와 well-known ftp포트[20번과 21번]을 사용한 패킷을 송신할 것이다. 이러한 패킷을 수신한 NAT 라우터는 수신된 패킷의 목적지 IP와 포트번호가 NAT 자신의 내부에 설치된 ftp 서버에 대한 것으로 간주할 수 있기 때문에, 상기 수신된 패킷을 사설 망 내부의 다른 ftp 서버로는 전달하지 않을 수 있다.
만약, 외부의 사용자가 사설망에 특정 ftp 서버가 있음을 알고 있다면, 이 사용자는 ftp용 well-known 포트번호인 21번을 사용하는 것이 아니라, 내부 망의 ftp 서버에 의도적으로 할당된 포트번호 3000번을 목적지로 한 패킷을 송신하도록 한다. 즉, 이 패킷의 해당 목적지 IP 주소는 NAT의 공인 IP 주소인 반면에, 목적지 포트번호는 ftp의 well-known 포트번호가 아닌 3000번 포트가 사용된다.
따라서 NAT 라우터는 알고 있는 포트번호 3000번 ftp 패킷이 수신되면, 자신의 사설망에 설치된 ftp 서버의 IP 주소로 변환하고, 상기 패킷의 목적지 포트번호를 21번으로 수정하여 전달함으로써, 외부 망에 있는 클라이언트들이 사설 망 내부의 ftp 서버에 접근 가능하도록 한다.
하지만, 상기 특정 서버의 특정 포트번호를 모르는 외부 일반 사용자는 이러한 기능을 활용할 수 없을 뿐만 아니라 이러한 기능을 위하여 정보들이 사전에 NAT 설정되어 있어야 하는 단점이 존재한다.
한편, 현재의 통신 서비스는 IPv4 기반으로 이루어지고 있고, 앞으로 IPv6 기반의 서비스로 진화하려는 많은 노력이 이루어지고 있지만, 현재 IPv6로 제공되는 서비스는 거의 이루어지고 있지 않고 있기 때문에 IPv6로 진화하기 위한 중간단계의 기술이 필요하다. 이를 위하여 종래에 많은 기술들이 소개되고 있지만 이러한 종래 기술들은 네트워크상에 존재하는 장비들에 대한 변경이 많은 문제점이 있다.
따라서 본 발명의 목적은 기존의 네트워크상에 존재하는 장비들 및 기술을 변경하지 않고 제어서버와 각 단말의 소프트웨어 변경만을 통하여 IPv6 서비스를 제공하기 위한 제어터널 및 다이렉트 터널의 설정 방법을 제공함에 있다.
본 발명의 다른 목적은 IPv4네트워크에 IPv6 터널을 설정하고 IPv6 루트를 터널에 설정함으로써 IPv6 통신을 하기 위해 단말과 제어서버 간의 제어터널을 설정하고, 단말이 직접적으로 다이렉트 터널을 설정하기 위한 방법을 제공함에 있다.
본 발명의 또 다른 목적은 효율적인 단말-대-단말 IPv6 서비스를 가능하게 할 뿐 아니라 IPv6 게이트웨이와 연계하여 단말-대-네트워크 통신을 위해 각 단말의 네트워크상에 위치하는 관계에 따라서 사설네트워크에 위치하든 공용 네트워크에 위치하든 상관없이 두 단말 간에 다이렉트 터널을 설정하기 위한 방법을 제공함에 있다.
상기 이러한 본 발명의 목적들을 달성하기 위한 제1 실시예에 따른 방법은, 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 포털 서버 및 제어 서버를 갖는 IPv4 네트워크 기반 인터넷 프로토콜 버전 6(IPv6) 서비스 제공 시스템에서, 상기 각 단말이 IPv6 단말-대-단말 통신 서비스를 위한 제어 터널을 설정하는 방법으로서, 초기화 시 상기 포털 서버로부터 다운로드 받은 서비스 정보를 이용하여 상기 제어서버로 터널 요청 메시지를 전송한 후 상기 제어 서버로부터 터널 응답 메시지를 수신하면, 단말이 위치하는 네트워크에 따라 상이한 타입으로 상기 제어 서버와의 제어 터널을 설정하는 과정; 상기 설정된 제어 터널을 통해 상기 제어 서버로 등록 요청 메시지를 전송하는 과정; 상기 제어 서버로부터 등록 응답 메시지를 수신하면 상기 제어 터널 설정 및 등록 완료를 통보하는 과정을 포함하여 상기 각 단말이 IPv6 단말-대-단말 통신 서비스를 제공하는 것을 특징으로 한다.
상기 본 발명의 목적들을 달성하기 위한 제1 실시예에 따른 다른 방법은, 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 포털 서버 및 제어 서버를 갖는 IPv4 네트워크 기반 인터넷 프로토콜 버전 6(IPv6) 서비스 제공 시스템에서, 상기 제어 서버가 IPv6 단말-대-단말 통신 서비스를 위한 제어 터널을 설정하는 방법으로서, 상기 각 단말로부터 터널 요청 메시지를 수신하는 과정; 상기 터널 요청 메시지의 IPv4 헤더 상에 설정된 IPv4 공용 주소와 상기 터널 요청 메시지에 포함된 단말의 IPv4 할당 주소를 확인하는 과정; 상기 IPv4 공용 주소와 IPv4 할당 주소를 비교하여 상기 각 단말이 위치하는 네트워크를 판단하고, 상기 각 단말이 위치하는 네트워크에 따라 상이한 타입으로 상기 각 단말과의 제어 터널을 설정하는 과정; 및 상기 설정된 제어 터널을 통해 상기 각 단말로부터 등록 요청 메시지를 수신하면 상기 각 단말을 등록하는 과정을 포함하여 상기 제어 서버가 IPv6 단말-대-단말 통신 서비스를 제공하는 것을 특징으로 한다.
상기 본 발명의 목적들을 달성하기 위한 제2 실시예에 따른 방법은, 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 제어 서버를 갖는 IPv4 네트워크 기반 인터넷 프로토콜 버전 6(IPv6) 서비스 제공 시스템에서, 임의의 요청 단말이 상대 단말과의 IPv6 통신 서비스를 위한 다이렉트 터널을 설정하는 방법으로서, 상기 제어 서버와 제어 터널을 미리 설정하는 과정; 상기 상대 단말을 등록하고 상기 상대 단말의 상태를 실시간적으로 획득하는 과정; 상기 획득한 단말 정보를 이용하여 상기 상대 단말로 다이렉트 터널 요청 메시지를 전송하는 과정; 상기 상대 단말로부터 다이렉트 터널 응답 메시지를 수신하면, 상기 요청 단말과 상기 상대 단말이 위치하는 네트워크 사이의 위치 관계에 따라 상이한 타입으로 상기 상대 단말과의 다이렉트 터널을 설정하는 과정; 및 상기 설정된 다이렉트 터널을 통해 IPv6 데이터 전송이 가능한지를 확인하는 과정을 포함하여 임의의 요청 단말이 상대 단말과의 IPv6 통신 서비스를 제공하는 것을 특징으로 한다.
상기 본 발명의 목적들을 달성하기 위한 제2 실시예에 따른 다른 방법은, 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 제어 서버를 갖는 IPv4 네트워크 기반 인터넷 프로토콜 버전 6(IPv6) 서비스 제공 시스템에서, 다이렉트 터널 요청을 받는 임의의 상대 단말이 IPv6 통신 서비스를 위한 다이렉트 터널을 설정하는 방법으로서, 요청 단말로부터 상기 다이렉트 터널 요청을 위한 메시지를 수신하는 과정; 상기 메시지에 포함된 상기 요청 단말의 단말 정보를 검색하는 과정; 상기 검색된 단말 정보를 이용하여 상기 요청 단말과 상기 다이렉트 터널을 설정할 수 있는지를 확인하는 과정; 상기 다이렉트 터널을 설정할 수 있는 경우 상기 검색된 단말 정보를 이용하여 상기 상대 단말과 상기 요청 단말이 위치하는 네트워크 사이의 위치 관계를 판단하는 과정; 상기 판단된 네트워크 사이의 위치 관계에 따라 다이렉트 터널 응답 메시지를 생성하여 생성된 다이렉트 터널 응답 메시지를 상기 요청 단말로 전송하는 과정; 및 상기 판단된 네트워크 사이의 위치 관계에 따라 상이한 타입으로 상기 다이렉트 터널을 설정하는 과정 포함하여 다이렉트 터널 요청을 받는 임의의 상대 단말에서의 IPv6 통신 서비스를 제공하는 것을 특징으로 한다.
상기 본 발명의 목적들을 달성하기 위한 제3 실시예에 따른 방법은, 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 포탈 서버, 제어 서버 및 인터넷 프로토콜 버전 6(IPv6) 게이트웨이를 갖는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서, 상기 각 단말이 IPv6 단말-대-네트워크 통신 서비스를 위한 제어 터널 및 다이렉트 터널을 설정하는 방법으로서, 초기화 시 상기 포털 서버로부터 다운로드 받은 서비스 정보를 이용하여 상기 제어 서버로 터널 요청 메시지를 전송한 후 상기 제어 서버로부터 터널 응답 메시지를 수신하면, 단말이 위치하는 네트워크에 따라 상이한 타입으로 상기 제어 서버와의 제어 터널을 설정하는 과정; 상기 설정된 제어 터널을 통해 상기 제어 서버로 상기 단말과 상기 IPv6 게이트웨이를 등록하는 과정; 상기 IPv6 게이트웨이를 내부의 상대 단말 목록에 상대 단말로 등록시키는 과정; 상기 IPv6 게이트웨이와 단말 정보 요청 메시지 및 단말 정보 응답 메시지를 송수신하여 상기 IPv6 게이트웨이가 연결하는 네트워크의 주소를 확인하는 과정; 상기 네트워크 주소를 이용하여 IPv6 게이트웨이로의 다이렉트 터널을 설정하는 과정; 및 상기 설정된 다이렉트 터널을 통해 상기 IPv6 게이트웨에 연결된 IPv6 네트워크 내에 존재하는 IPv6 단말들과 통신을 수행하는 과정을 포함하여 상기 각 단말이 IPv6 단말-대-네트워크 통신 서비스를 제공하는 것을 특징으로 한다.
상술한 바와 같이 본 발명은 IPv6 서비스를 제공함에 있어서 기존의 네트워크 장비를 변경할 필요 없이 각 단말과 제어서버의 소프트웨어만 변경하면 되므로 서비스 제공자의 비용 부담을 최소화하고, 기존의 IPv4 네트워크를 그대로 사용할 수 있으며, IPv4 기반의 IPv6 터널링을 사용하여 IPv6 통신을 하기 때문에 현재 활성화되어 있지 않은 IPv6 응용서비스들의 확산을 쉽게 유도할 수 있는 효과가 있다.
이하, 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 발명의 실시예에서는 기존의 인터넷 프로토콜 버전 6(IPv6) 서비스를 제공하는 방법상에서 네트워크 장비의 변경을 최소화하기 위하여 제어서버와 각 단말들로 이루어진 서버-클라이언트 구조를 갖는 인터넷 프로토콜 버전 4(IPv4) 기반 IPv6 서비스 제공 시스템을 제시하며, 이러한 시스템에서 각 단말 간에 이루어지는 IPv6 통신을 위하여 제어터널과 다이렉트 터널을 설정을 하기 위한 장치 및 방법에 대해 설명하기로 한다.
우선, IPv4 네트워크 기반 IPv6 서비스 제공 시스템 구조 및 이러한 시스템 에서의 단말이 서비스 포탈 서버로 가입하고 서비스 정보를 다운로드 받는 과정에 대해 첨부된 도 1을 참조하여 설명하기로 한다.
상기 도 1을 참조하면, 상기 IPv4 네트워크 기반 IPv6 서비스 제공 시스템은 IPv4 네트워크(또는 공용 네트워크(Public Network))를 통해 단말(10), 포탈 서버(20) 및 제어 서버(30)가 연동하는 구조를 갖으며, IPv6 P2P 서비스를 실현하기 위하여 제어터널과 다이렉트 터널이 설정된다. 여기서 상기 제어서버(30)는 단말(10)과의 제어 터널 설정을 위하여 공용네트워크상에 존재해야 하고, 단말(10)은 공용네트워크상에 위치하거나 네트워크 주소 번역기(Network Address Translator 이하, NAT이라 칭함)를 사용하는 사설네트워크상에 위치할 수 있다.
상기 단말(10)은 서비스에 가입하기 위하여 상기 포털 서버(20)에 가입하고 클라이언트 소프트웨어와 제어정보를 다운로드 받고, 다운로드 받은 소프트웨어와 제어정보를 이용하여 제어 서버(30)와 제어 터널을 각각 설정하여 설정된 제어 터널을 통하여 데이터 통신을 수행한다. 그리고 단말(10)은 다이렉트 터널을 생성하여 사용하는 경우 상대 단말(도시되지 않음)과의 다이렉트 터널을 생성하여 데이터를 전송한다. 이러한 상기 제어 터널은 단말이 ON-LINE 상태에서는 항상 존재하는 터널이고, 상기 다이렉트 터널은 VoIP나 파일 전송과 같은 애플리케이션이 사용하고 싶을 때 마다 생성/삭제되는 유동적인 터널이다.
상기 제어 서버(30)는 단말(10)의 요청에 따른 제어터널 설정 및 등록 기능을 수행하고, 제어 터널을 이용하는 단말-대-단말 통신을 가능하도록 IPv6 패킷 포워딩 기능을 수행한다.
이와 같은 구조를 갖는 상기 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서 각 단말(가입자)이 포탈 서버에 접속하여 서비스에 가입하여 서비스 정보를 다운로드 받는 과정을 설명하기로 한다.
상기 서비스 정보는 단말의 IPv6 주소 및 사용자 이름 및 제어서버의 IPv4주소와 IPv6 주소이다.
상기 단말의 IPv6 주소는 서비스에 등록한 단말(10)이 IPv6 통신을 위한 주소이고, 상기 사용자 이름은 서비스에 등록한 단말에 대하여 사용자 그룹 관리 모듈이 통신하고자 하는 상대 단말을 관리하는 이름이 될 수 있다. 상기 서버의 IPv4 주소는 단말(10)이 제어 터널을 설정할 때 프로토콜 메시지를 송수신하기 위한 제어서버(30)의 IPv4 주소이고, 상기 서버의 IPv6 주소는 단말(10)이 제어터널을 설정 후 제어서버로 등록하는 단계에서 프로토콜 메시지를 송수신하기 위한 제어서버(30)의 IPv6 주소이다. 여기서 상기 단말의 IPv4 주소는 포탈서버(20)에서 다운받지 않고 단말(10)이 위치한 네트워크에서 DHCP에 의한 다이나믹(Dynamic) 또는 사용자에 의한 정적인(Static) 방법에 의해 설정하여 사용한다.
다시 도 1을 참조하면, 51단계 및 52단계에서 단말(10)은 DHCP 서버(도시되지 않음)로부터 IPv4 주소를 할당받는다. 이는 사용자에 의해 Static 하게 설정할 수 있다.
그런 다음 53단계에서 단말(10)은 서비스에 등록하기 위한 상기 포탈서버(20)로 가입 요청 메시지를 전송한다. 그러면 54단계에서 상기 포탈서버(20)는 제어 서버(30)로 단말(10)이 상기 제어서버(30)를 사용할 것을 알려준다.
55단계에서 제어서버(30)는 단말(10)이 자신을 사용할 것임을 판단/관리한 후 상기 포탈서버(20)로 응답 메시지를 전송한다. 이에 따라 56단계에서 포탈서버(20)는 서비스를 받기 위한 클라이언트 소프트웨어 및 서비스 정보를 응답 메시지에 포함하여 단말(10)로 전송한다.
다음으로 상기 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서 제어 터널 및 다이렉트 터널의 종류 및 이들을 설정하기 위한 방법에 대해 첨부된 도면들을 참조하여 구체적으로 설명하기로 한다.
IPv4 기반의 네트워크 내의 각 단말은 최초 IPv4 메시지의 송수신을 통하여 제어터널을 설정하고, IPv6 메시지의 송수신을 통하여 제어 서버에 등록하게 된다. 이와 같이 제어터널을 설정한 후 생성된 터널에 IPv6 라우터(Route)를 설정함으로써 각 단말간은 IPv6 통신을 할 수 있게 된다. 이러한 제어 서버와 단말 간에 설정되는 터널의 종류는 IPv6-UDP-IPv4 타입과 IPv6-IPv4 타입이 가능하다. 여기서 상기 IPv6-UDP-IPv4 타입은 단말이 사설 네트워크상에 위치할 때 설정하여 사용하며, 단말이 공용네트워크 상에 위치할 때는 IPv6-UDP-IPv4 타입과 IPv6-IPv4 타입을 모두 설정하여 사용할 수 있으나, 데이터 송수신의 효율성을 위하여 IPv6-IPv4 타입으로 설정하여 사용한다.
한편, 단말 간 다이렉트 터널을 설정은 각 단말이 제어 터널의 설정 과정에서 획득한 자신의 NAT를 경유하면서 변경된 IPv4 공용 주소 및 UDP 소스 포트 정보를 이용하여 다이렉트 터널 요청 및 응답 메시지를 송수신하여 이루어진다. 이러한 다이렉트 터널 설정은 단말이 위치한 경우에 따라서 4 종류의 경우의 수가 발생하게 되며, 각 경우에 따라 2 종류의 터널 타입을 설정하여 사용할 수 있다. 상기 제어 터널이든 다이렉트 터널이든 IPv6-UDP-IPv4 타입으로 설정한 터널에 대해서는 사설네트워크에 위치한 단말이 NAT에 존재하는 매핑 테이블의 생존 시간(Life Time)을 갱신하기 위하여 Keep-Alive 메시지를 주기적으로 전송한다. 이러한 다이렉트 터널을 설정을 요청한 단말은 상기 다이렉트 터널을 설정하기 위해 "상대 단말의 네트워크 위치정보를 획득하는 기능"과 "상대 단말의 실시간적인 ON/OFF 라인 상태 관리 기능", 그리고 "사설 네트워크에 위치한 단말의 다이렉트 터널 설정 가능성을 확인하는 기능"을 고려하여 상기 IPv6 P2P 서비스를 가능하도록 한다.
이와 같은 IPv6 P2P 서비스를 제공하기 위해 설정되는 제어 터널 및 다이렉트 터널의 종류 즉, 네트워크에 위치한 각 단말간의 위치에 따른 관계성을 첨부된 도 2를 참조하여 설명하기로 한다. 이러한 각 단말간의 위치에 따른 관계성은 4 종류로 구분될 수 있다.
첫 번째는 사설 네트워크와 사설 네트워크(동일 네트워크) 간(61) 위치 관계로서, 이는 동일 NAT(40)에 위치한 두 단말(10) 간의 관계를 나타내며, 설정 가능한 다이렉트 터널은 IPv6-IPv4 타입과, IPv6-UDP-IPv4 타입을 사용할 수 있다. 하지만 IPv6-UDP-IPv4 타입은 불필요하게 UDP 헤더를 사용하기 때문에 패킷 전송에 있어 효율이 떨어질 수 있으므로 IPv6-IPv4 터널을 사용한다.
두 번째는 사설 네트워크와 사설 네트워크(다른 네트워크) 간(62) 위치 관계 로서, 이는 두 단말(10) 모두 자신의 NAT(40)에 위치하며, 상이한 사설 네트워크에 위치하는 경우를 나타낸다. 설정 가능한 다이렉트 터널은 IPv6-UDP-IPV4 타입만 가능하며, 각 단말(10)은 NAT(40)에 생성된 테이블을 갱신하기 위하여 설정한 UDP 포트 번호를 이용하여 NAT Keep Alive 메시지를 주기적으로 전송해야 한다.
세 번째는 공용네트워크와 공용네트워크 간(63) 위치 관계로서, 이는 두 단말(10)이 모두 공용네트워크 상에 위치하는 경우이며, 설정 가능한 다이렉트 터널은 IPv6-IPv4 타입과, IPv6-UDP-IPv4 타입을 사용할 수 있다. 하지만 IPv6-UDP-IPv4 타입은 불필요하게 UDP 헤더를 사용하기 때문에 패킷 사용에 있어 효율이 떨어지기 때문에 IPv6-IPv4 터널을 사용한다.
네 번째는 공용 네트워크와 사설 네트워크 간(64) 위치 관계로서 이는 임의의 한 단말(10)이 공용 네트워크상에 위치하고, 다른 단말(10)이 NAT(40)에 위치하는 경우를 나타내며, 설정 가능한 다이렉트 터널은 IPv6-IPv4 타입은 사용할 수 없고 IPv6-UDP-IPv4 타입으로만 설정 가능하다. 또한, NAT(40)에 위치한 단말(10)은 NAT(40)에 형성된 테이블을 갱신하기 위하여 설정한 UDP 포트 번호를 이용하여 NAT Keep Alive 메시지를 주기적으로 전송해야 한다.
제어 터널 및 다이렉트 터널 설정 장치는 사용자 그룹 관리부(110), 인터페이스 관리부(120), 제1 및 제2 단말 프로토콜부(130a, 130b) 및 제어 서버 프로토콜부(140)로 구성될 수 있다.
상기 사용자 그룹 관리부(110)는 최초 단말(10)이 제어 서버(30)에 등록하고 제어 터널을 설정한 이후에 통신하고자 하는 각 상대 단말(10)들의 정보를 관리한 다.
상기 인터페이스 관리부(120)는 단말(10)에 위치한 인터페이스 정보를 결정하는 모듈로서 최초실행 시 사용 가능한 단말(10)의 인터페이스 정보{IPv4 할당주소, IPv6 주소, 단말 이름}를 확인하고, 제어 서버(30)와 통신하기 위한 정보{IPv4 주소, IPv6 주소}를 관리하고 단말 프로토콜부(130a, 130b)로 이러한 정보를 제공한다.
상기 제1 및 제2 단말 프로토콜부(130a, 130b)는 단말에 위치하여 제어 서버프로토콜부(140)와 프로토콜 메시지의 송수신을 통하여 제어터널 설정 및 단말의 등록 그리고 터널의 생존 시간(Life-Time)을 갱신하는 역할 및 각 상대 단말의 프로토콜 모듈과의 메시지 송수신을 통하여 다이렉트 터널을 설정하는 기능을 수행한다.
상기 제어 서버 프로토콜부(140)는 제어서버(30)에 위치하여 각 단말(10)의 등록과 터널 설정 요청 및 생존 시간(Life-Time) 갱신 등의 요청에 따른 제어 동작을 수행한다.
상술한 바와 같은 네트워크에 위치한 각 단말 간의 위치에 따른 관계성에 따라 최초 단말이 제어 서버에 등록할 때 설정하는 터널의 종류는 첨부된 도 3에 도시된 바와 같다.
단말(10) 공용 네트워크(71) 상에 위치한다면 IPv6-IPv4 타입의 터널을 설정하여 사용하고, 단말(10)이 사설 네트워크(72) 상에 위치한다면 IPv6-UDP-IPv4 타 입의 터널을 설정하여 사용한다. 이때, 단말(10)이 사설 네트워크에 위치한 경우에는 NAT Keep-Alive 메시지를 주기적으로 전송하여 NAT(40)의 매핑 테이블(Mapping Table)을 갱신한다.
그러면 터널의 종류에 따라 제어서버와 단말 간 최초에 이루어지는 등록 및 제어터널의 설정하기 위한 과정을 첨부된 도면을 참조하여 구체적으로 설명하기로 한다.
도 4는 본 발명의 실시예에 따른 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서 단말과 서버 간에 제어터널을 설정하기 위한 과정을 도시한 도면이다.
상기 도 4를 참조하면, 상기 IPv4 네트워크 기반 IPv6 서비스 제공 시스템은 제어 터널을 위해 사용자 그룹 관리부(110)와, 인터페이스 관리부(120)와, 제1 및 제2 단말 프로토콜부(130a, 130b) 및 제어 서버(30) 내의 제어 서버 프로토콜부(140)로 이루어진 터널 설정 시스템을 구성할 수 있다. 여기서 상기 제1 단말 프로토콜부(130a)는 요청 단말(3ffe::111)의 프로토콜부이며, 제2 단말 프로토콜부(130b)는 상대 단말(3ffe::222)의 프로토콜부이다.
다시 상기 도 4를 참조하면, 201단계에서 인터페이스 관리부(120)는 요청 단말의 인터페이스 정보 및 서비스 정보를 결정한 후, 202단계에서 요청 단말의 등록 및 제어 터널을 설정하도록 상기 제1 단말 프로토콜부(130a)로 터널 설정 요청 메시지를 전송한다. 이에 따라 203단계에서 상기 제1 단말 프로토콜부(130a)는 인터페이스 관리부(120)로부터 터널 설정 요청 메시지를 통해 받은 정보를 이용하여 상기 제어 서버 프로토콜부(140)로 터널 요청 메시지를 전송한다. 이때, 상기 터널요 청 메시지는 NAT의 사설네트워크 상에 위치하는 경우를 고려하여 특정 포트 번호를 같은 IPv4-UDP 패킷으로 전송하며, 자신의 IPv4 주소와 IPv6 주소 및 기타 정보를 포함하여 전송한다.
그러면 상기 제어 서버 프로토콜부(140)는 204단계에서 수신된 터널요청 메시지(IPv4, UDP 메시지)의 정보를 확인하여 정당한 단말임을 확인한 후 요청 단말로의 터널을 설정한다. 그런 다음 상기 제어 서버 프로토콜부(140)는 205단계에서 터널 응답 메시지를 제1 단말 프로토콜부(130a)로 전송한다. 이때, 상기 제어 서버 프로토콜부(140)는 수신된 메시지의 IPv4 헤더 상에 설정된 요청 단말의 IPv4 주소(단말의 IPv4 공용주소)와 메시지에 포함된 IPv4 주소(단말의 IPv4 할당주소)를 확인하여 두 주소가 상이한 경우 요청 단말이 NAT를 경유하는 사설네트워크에 위치하였음을 확인한다. 여기서 상기 터널 응답 메시지에는 NAT에 위치하였음을 나타내는 정보가 포함될 수 있으며, 요청 단말의 IPv4 할당주소와 IPv4 공용주소 및 변경된 UDP 포트 번호가 포함된다. 이러한 정보를 통하여 상기 제어 서버 프로토콜부(140)에서는 네트워크 내에 존재하는 각 단말이 제어 터널을 설정할 때 NAT를 경유하는 사설 네트워크 상에 위치하는지 공용네트워크에 위치하는지를 판단할 수 있으며, 설정할 터널 종류를 결정할 수 있게 된다.
그러면 상기 제1 단말 프로토콜부(130a)는 206단계에서 상기 수신된 터널 응답 메시지를 수신한 후 자신이 요청한 메시지에 해당하는 응답 메시지임을 확인한 후 제어 서버로의 터널을 설정한다. 이때, 상기 제1 단말 프로토콜부(130a)는 NAT를 경유하는 경우 IPv6-UDP-IPV4 타입으로 터널을 설정하고, 공용 네트워크에 위치 하는 경우에는 IPv6-IPv4 타입으로 터널을 설정한 후 만일, NAT를 경유하는 IPv6-UDP-IPv4 타입으로 터널을 설정하였다면 NAT 장비의 매핑(Mapping) 테이블을 갱신하기 위하여 NAT Keep-Alive 메시지를 주기적으로 전송한다.
이와 같이 제어 터널을 설정한 후 제1 단말 프로토콜부(130a)는 207단계에서 요청 단말의 등록을 위하여 제어서버 프로토콜부(140)로 등록 요청 메시지를 전송한 후 208단계에서 등록 응답 메시지를 상기 설정된 제어 터널을 통하여 수신한다. 이러한 두 메시지는 IPv6 메시지 타입으로 사용해야 한다.
그러면 제1 단말 프로토콜부(130a)는 209단계에서 IPv6(-UDP)-IPv4 터널 상에 IPv6 데이터가 송수신 가능한 상태임을 확인하는 기능과 터널의 생존 시간(Life Time)을 갱신하는 메시지를 송/수신하고, 210단계에서 제1 단말(3ffe::111)의 제어 터널을 설정하여 등록을 종료한다. 이후, 211단계에서 제1 단말 프로토콜부(130a)는 사용자 그룹 관리부(110)로 초기화 과정이 완료되었음을 통보한다.
상기 제1 단말 프로토콜부(130a)로부터 제어 터널의 설정 및 단말의 등록이 완료되었음을 통보받으면, 상기 사용자 그룹 관리부(110)는 기존에 통신하고 있던 상대 단말의 사용자 그룹정보가 있는 경우 또는 새로운 상대 단말을 등록하는 경우 각 상대 단말 정보를 추가한다. 이는 상기 제1 단말 프로토콜부(110)가 각 상대 단말의 ON/OFF 상태 관리를 수행하도록 하기 위함이다. 이에 따라 상기 사용자 그룹 관리부(110)는 상기 제1 단말 프로토콜부(130a)에서 획득되는 다수로 이루어진 상대 단말들의 상태 정보를 실시간적으로 획득할 수 있으며, 획득한 상대 단말의 상태 정보를 응용프로그램과 연계하여 IPv6 데이터 통신을 가능하게 한다.
이와 같이 각 단말은 최초에 상술한 과정을 수행함으로써 제어 서버로의 제어터널을 설정 및 등록하게 된다. 따라서 221단계 내지 227단계에서 제2 단말 프로토콜부(130b)는 상기 제어 서버 프로토콜부(140)와 상기 203단계 및 211단계와 같은 절차를 수행함으로써 제2 단말(3ffe::222)의 제어 터널을 설정 및 등록한다. 이에 따라 230단계에서 등록된 요청 단말 및 상대 단말 간에는 제어 터널을 통한 요청 IPv6 통신이 가능해진다.
이와 같은 제어 터널 설정 과정에서 제어터널을 설정하기 위한 각 단말 내의 단말 프로토콜부의 동작을 첨부된 도 5a를 참조하여 좀 더 구체적으로 설명하기로 한다.
301단계에서 단말 프로토콜부(130)는 제어 서버로 터널 요청 메시지를 전송하고, 제어 서버로부터 해당 터널 응답 메시지를 수신한다. 이에 따라 302단계에서 단말 프로토콜부(130)는 단말이 사설 또는 공용 네트워크상에 위치하는지를 판단하기 위하여 터널 응답 메시지에 포함된 정보들을 추출하고, 추출된 정보를 이용하여 NAT 플래그(Flag)가 설정되었는지, IPv4 공용 주소와 IPv4 할당 주소가 동일한지 또는 UDP 소스 포토 번호가 변경되었는지를 확인한다. 여기서 IPv4 할당 주소는 단말에 할당된 IPv4 주소이고, IPv4 공용 주소는 NAT를 경유하는 과정에서 IP 헤더에서 변경된 소스(Source) 주소, 즉 공용 네트워크로 연결된 NAT 장비의 인터페이스 IPv4 주소이며, 변경된 포트 번호는 터널 요청 메시지에 사용하는 UDP 소스 포트(Source Port)가 NAT를 경유하면서 변경된 소스 포트(Source Port) 번호이다.
이후, 303단계에서 단말 프로토콜부(130)는 단말이 NAT를 경유하는지를 판단한다. 판단 결과, NAT을 경유하는 즉, 사설네트워크에 위치하게 되면 304단계에서 단말 프로토콜부(130)는 IPv6-UDP-IPv4 타입의 터널을 설정한 후 305단계에서 주기적인 NAT Keep-Alive 메시지를 전송한 후 동작을 종료한다. 반면, 306단계에서 단말 프로토콜부(130)는 공용네트워크 상에 위치하게 되면 데이터 효율성 측면에서 IPv6-IPv4 타입의 터널을 설정한 후 동작을 종료한다.
다음으로 각 단말과의 제어터널을 설정하기 위한 제어서버 프로토콜부의 동작을 첨부된 도 5b를 참조하여 좀 더 구체적으로 설명하기로 한다.
401단계에서 제어서버 프로토콜부(140)는 단말 프로토콜부(130)로부터 터널 요청 메시지를 수신하고, 402단계에서 수신된 메시지의 IPv4 헤더 상에 설정된 단말의 IPv4 주소(NAT를 경유하는 경우 NAT의 IPv4 공용주소)와 메시지에 포함된 IPv4 주소(단말의 IPv4 할당주소)를 추출한다. 그런 다음 403단계에서 상기 추출한 두 주소가 동일한지를 확인하여 다른 경우에는 404단계에서 제어 서버 프로토콜부(140)는 단말이 NAT을 경유하는 사설 네트워크에 위치한 단말로 판단하여 IPv6-UDP-IPv4 타입으로 상기 단말과의 제어 터널을 설정한다.
그런 다음 405단계에서 제어 서버 프로토콜부(140)는 상기 IPv6-UDP-IPv4 터널을 설정한 후 터널 응답 메시지를 전송할 때 메시지 내에 단말이 NAT를 경유하고 있음을 나타내는 정보를 포함하고, 사설 네트워크에 위치하였음을 표시하는 "NAT Present Flag"를 사용하거나, 해당 단말의 IPv4 할당 주소와 IPv4 공용 주소 및 변경된 UDP 포트 번호를 상기 터널 응답 메시지에 포함시킨다. 여기서 IPv4 할당 주 소는 단말에 할당된 IPv4 주소이고, IPv4 공용 주소는 NAT를 경유하는 과정에서 IP 헤더에서 변경된 소스 주소, 즉 공용 네트워크로 연결된 NAT 장비의 인터페이스 IPv4 주소이며, 변경된 포트 번호는 터널요청 메시지에 사용하는 UDP 소스 포트가 NAT를 경유하면서 변경된 소스 포토 번호이다.
반면, 상기 두 주소가 동일한 경우 단말은 공용네트워크에 위치한 단말로서, 406단계에서 제어서버 프로토콜부(140)는 IPv6-UDP-IPv4 타입 및 IPv6-IPv4 타입 모두 설정할 수 있지만 데이터 효율성 측면에서 IPv6-IPv4 타입으로 제어 터널을 설정한다. 그런 다음 407단계에서 제어서버 프로토콜부(140)는 "NAT Present Flag"를 플래시(False)로 표시하고, IPv4 사설 주소와 IPv4 공용 주소 값을 동일하게 하고, 변경되지 않은 UDP 포트 번호를 터널 응답 메시지에 포함한다.
상기 405단계 및 407단계를 수행한 후 제어 서버 프로토콜부(140)는 해당 단말로 터널 응답 메시지를 전송한 후 동작을 종료한다.
상술한 바와 같은 본 발명의 제1 실시예에서는 각 응용 서비스가 IPv6 통신을 하고자 할 때 제어 터널을 설정하는 방법에 대해 설명하였으나, 이하, 본 발명의 제2 실시예에서는 각 응용 서비스가 IPv6 통신을 하고자 할 때 다이렉트 터널을 설정하기 위한 방법에 대해 설명하기로 한다.
각 단말이 네트워크에 위치하는 경우에 따른 설정 가능한 터널 타입은 첨부된 도 6a에 도시된 바와 같으며, P2P 다이렉트 터널을 설정하기 위하여 요청 단말과 상대 단말의 네트워크 위치 관계는 상기 도 2에 도시된 바와 같은 4가지 경우의 수가 있을 수 있다.
첫 번째(501)는 공용 네트워크 간(63) 위치 관계로서, 이러한 경우에 설정할 수 있는 다이렉트 터널은 IPv6-UDP-IPv4 타입과 IPv6-IPv4 타입 모두 설정 가능하지만, 데이터 효율성 차원에서 IPv6-IPv4 터널을 설정하여 사용한다.
두 번째(502)는 공용 네트워크와 사설 네트워크 간(64) 위치 관계로서, 이러한 경우에 설정할 수 있는 다이렉트 터널은 IPv6-UDP-IPv4 타입으로 설정한다.
세 번째(503)는 사설 네트워크 간(동일 네트워크)(61) 위치 관계로서, 이러한 경우에 설정할 수 있는 다이렉트 터널은 IPv6-UDP-IPv4 타입과 IPv6-IPv4 타입 모두 설정 가능하지만, 데이터 효율성 차원에서 IPv6-IPv4 터널을 설정하여 사용한다.
네 번째(504)는 사설 네트워크 간(다른 네트워크)(62) 위치 관계로서, 이러한 경우에 설정할 수 있는 P2P 다이렉트 터널은 IPv6-UDP-IPv4 타입으로 설정한다.
이와 같은 경우들에서 IPv6-UDP-IPv4 타입으로 설정한 터널에 있어서 요청 단말이 사설 네트워크에 위치한 경우 NAT Keep-Alive 메시지를 주기적으로 전송하여 NAT 장비에 설정되어 있는 매핑 테이블(Mapping Table)을 갱신한다. 4가지 타입 중 IPv6-UDP-IPv4 타입의 다이렉트 터널을 설정하는 두 종류는 단말이 NAT를 경유하기 때문에 발생하는 {Source IP 주소, UDP Source Port}의 변경에 대한 사항을 고려하여 터널링해야 한다.
그러면 IPv6-UDP-IPv4 타입의 다이렉트 터널을 설정하는 두 종류에 대해 첨부된 도 6b 및 도 6c를 참조하여 구체적으로 설명하기로 한다.
우선, 공용 네트워크에 위치한 단말과 사설 네트워크에 위치한 단말간의 터널설정에 대한 실 예를 설명하기로 한다.
상기 도 6b를 참조하면, 제1 단말(10a)은 공용 네트워크에 위치하고, 제2 단말(10b)은 사설 네트워크에 위치하는 경우, 먼저 제2 단말(10b)이 최초 터널 설정 및 등록 과정에서 제어 서버(30)로부터 변경된 {Source IP 주소, UDP Source Port}정보를 획득한다. 이후, 상기 도 4의 사용자 등록 과정에서와 같이 제1 단말(10a)은 제2 단말(10b)의 네트워크 위치 정보로부터 변경된 {Source IP 주소, UDP Source Port}를 획득하고, 제2 단말(10b)은 제1 단말(10a)이 공용 네트워크에 위치함을 획득한다.
이후, 제1 단말(10a) 또는 제2 단말(10b)의 사용자 그룹 관리부나 애플리케이션에 의한 다이렉트 터널 요청이 있을 때 제1 단말(10a) 또는 제2 단말(10b)의 프로토콜부는 상대 단말로 다이렉트 터널요청 메시지를 송신하고, 상대 단말로부터 다이렉트 터널 응답 메시지를 수신한다. 이에 따라 제1 단말(10a)은 획득된 정보를 토대로 "Src IP(20.20.20.20) Src UDP Port(50000) Dst IP(10.10.10.10) UDP Dst Port(1024)"로 터널을 설정하게 된다. 여기서 획득된 정보는 사용하는 UDP Source Port == 50000, UDP Destination Port == 50000로 가정한다. 그리고 "Dst IP(10.10.10.10)"는 제2 단말이 NAT를 경유하면서 변경된 IP 주소이고, "UDP Dst Port(1024)"는 변경된 UDP 소스 포트(Source Port) 값이다. 또한, 제2 단말(10b)에서 설정하는 터널은 "Src IP(192.168.1.10) Src UDP Port(50000) Dst IP(20.20.20.20) UDP Dst Port(50000)"으로 설정하게 된다. 이렇게 설정된 후 상호 두 단말은 IPv4 NAT 환경에서 자유롭게 IPv6 통신을 수행할 수 있다.
다음으로 다른 사설네트워크에 위치한 두 단말간의 터널 설정에 대한 실 예를 설명하기로 한다.
도 6c를 참조하면, 제1 단말(10a)은 사설 네트워크에 위치하고 있고, 최초 제어터널 설정 및 등록과정에서 변경된 소스(Source) IP 가 30.30.30.30이고, 변경된 UDP 소스 포트가 2048임을 제어서버(30)로부터 획득한다. 제2 단말(10b)은 사설 네트워크에 위치하기 때문에 최초 제어 터널 설정 및 등록 과정에서 변경된 소스 IP가 10.10.10.10이고, 변경된 소스 UDP 포트가 1024임을 획득하게 된다.
이후, 제1 단말(10a)은 제2 단말(10b)의 네트워크 위치 정보로부터 변경된 {Source IP 주소, UDP Source Port}를 획득하고, 제2 단말(10b)은 제1 단말(10a)이 공용 네트워크에 위치함을 획득한다. 이를 통하여 각 단말은 상호간에 다른 사설 네트워크에 위치하게 됨을 획득하게 되며, 터널을 설정하기 위한 다이렉트 터널 요청 메시지, 다이렉트 터널 응답 메시지를 송/수신한 후, 제1 단말(10a)은 제2 단말(10b)이 경유하는 NAT(40)로부터 변경된 IP 주소와 UDP 소스 포트(Source Port)값을 이용하여 "Src IP(192.168.1.11) Src UDP Port(50000) Dst IP(10.10.10.10) UDP Dst Port(1024)" 와 같이 설정한다. 제2 단말(10b)은 제2 단말(10a)이 경유하는 NAT(40)로부터 변경된 IP 주소와 UDP 소스 포트 값을 이용하여 "Src IP(192.168.1.10) Src UDP Port(50000) Dst IP(30.30.30.30) UDP Dst Port(2048)"와 같이 설정하게 된다. 이렇게 설정된 후 상호 두 단말은 서로 다른 NAT 환경에서 자유롭게 IPv6 통신을 수행할 수 있다.
이와 같은 상기 다이렉트 터널을 설정하기 위하여 각 단말 프로토콜부에서 주도적으로 다수의 상대 단말을 발견하고 그 상태(ON/OFF)를 획득하기 위한 절차에 대해 첨부된 도면을 다시 구체적으로 설명하기로 한다.
도 7은 본 발명의 제2 실시예에 따라 다이렉트 터널을 설정하기 이전에 다수의 상대 단말의 발견 및 상태를 획득하기 위한 과정을 도시한 도면이다.
상기 도 7을 참조하면, 본 발명의 제2 실시예에 따른 상기 IPv4 네트워크 기반 IPv6 서비스 제공 시스템은 다이렉트 터널 설정을 위해 사용자 그룹 관리부(110)와, 제1 내지 제3 단말 프로토콜부(130a, 130b, 130c) 및 제어 서버 내의 제어서버 프로토콜부(140)로 이루어진 터널 설정 시스템을 구성할 수 있다. 여기서 상기 제1 단말 프로토콜부(130a)는 요청 단말(3ffe::111)의 프로토콜부이고, 제2 단말 프로토콜부(130b)는 제1 상대 단말(3ffe::112)의 프로토콜부이고, 제3 단말 프로토콜부(130c)는 제2 상대 단말(3ffe::113)의 프로토콜부이다.
상기 사용자 그룹 관리부(110)는 각 단말 간 통신을 위하여 등록해 놓는 상대 단말 목록을 관리하는 모듈로서, 현재 엠에스엔(MSN)이나 Sky-pe와 같은 서비스의 그룹 또는 친구 목록과 같은 상대 단말의 목록 정보를 관리(추가/삭제)하는 역할을 수행한다. 또한, 사용자 그룹 관리부(110)는 각 IPv6 응용 서비스가 상대 단말과 데이터 통신을 하고자 할 때 상태 정보(상대단말의 온/오프라인(ON/OFF LINE))를 제공하거나, 사용하고자 하는 터널이 다이렉트 터널인 경우에 터널의 설정/삭제를 요청하는 기능을 수행한다.
상기 상대 단말의 목록 정보를 제1 단말 프로토콜부(130a)의 상대 단말 목록 에 추가하게 되면 제1 단말 프로토콜부(130a)는 각각의 상대 단말의 제2 및 제3 프로토콜부(130b, 130c)와 상태 관리 메시지를 송/수신하여 실시간적으로 상태 관리 기능을 수행한다. 또한, 사용자 그룹관리부(110) 또는 응용 서비스가 ON-LINE된 상대 단말과의 다이렉트 터널을 요청하게 되면 제1 단말 프로토콜부(130a)는 상대 단말로 다이렉트 터널 요청메시지 및 다이렉트 터널 응답메시지를 송/수신하여 다이렉트 터널을 제공하는 기능을 수행한다.
이와 같은 절차는 각각의 상대 단말의 네트워크 위치정보 및 ON/OFF-LINE 상태를 실시간적으로 얻기 위하여 상대 단말을 등록하는 상대 단말 추가 과정, 송수신 메시지의 유실이나 다른 이유에서 실시간적으로 상태 정보를 상대 단말로 송/수신하지 못하게 되는 경우를 위한 주기적으로 상태정보 확인하는 상태관리 과정 및 각 단말이 이상 상황 발생 시 목록에 존재하는 상태 단말로 OFF-LINE 상태를 알려주는 종료 과정으로 크게 구분될 수 있다.
600단계와 같이 각 단말들은 단말 프로토콜부(130)와 제어서버 프로토콜부(140)간 등록 및 제어터널이 사전에 설정되어 있음을 알 수 있다.
601단계에서 사용자 그룹관리부(110)는 상대 단말을 등록하고, 상태를 OFF-LINE으로 설정한 후 602단계에서 등록하고자 하는 상대 단말 정보를 제1 단말 프로토콜부(130a)로 알려준다. 이에 따라 603단계에서 제1 단말 프로토콜부(13Oa)는 내부 자료구조의 목록에 등록하고자 하는 상대 단말 정보를 추가하고, 604단계에서 상대 단말의 네트워크 위치 정보 및 ON/OFF 상태를 확인하기 위하여 제1 단말 프로토콜부(130b)로 단말 정보 요청 메시지를 전송한다. 이때, 605단계에서 제1 단말 프로토콜부(130a)는 타이머를 설정하여 특정 시간 간격마다 상기 단말 정보 요청 메시지를 재전송한다.
이에 따라 606단계에서 각각의 상대 단말의 단말 프로토콜부(130b, 103c)는 상기 단말 정보 요청 메시지를 수신하는 즉시 요청 단말의 네트워크 위치 정보를 갱신하고 ON-LINE임을 확인한 후 607단계에서 자신의 네트워크 위치 정보를 담은 단말 정보 응답 메시지를 해당 요청 단말 즉, 제1 단말 프로토콜부(130a)로 전송한다.
그러면 608단계에서 상기 제1 단말 프로토콜부(130a)는 요청 단말이 응답 메시지를 수신하게 되면 상대단말의 네트워크 위치 정보를 갱신하고 ON-LINE 상태임을 확인하여 상대 단말(3ffe::112) 상태를 ON-LINE으로 설정한 후, 609단계에서 사용자 그룹 관리부(110)로 ON-LINE 상태를 알린다. 여기서 사용하는 모든 메시지는 제어 터널을 사용하는 IPv6 패킷 포맷을 사용하게 된다. 특히 각 단말이 NAT를 경유하는 사설 네트워크에 위치하였다면 단말 정보 요청 메시지에는 요청 단말이 최초 제어 터널 설정 및 등록 단계에서 획득한 IPv4 공용 주소와 변경된 UDP 소스 포트 번호를 포함하고, 단말 정보 응답 메시지에는 응답 단말이 최초 제어터널 설정 및 등록 단계에서 획득한 IPv4 공용 주소와 변경된 UDP 소스 포트 번호를 포함해야 한다. 이러한 두 정보는 다이렉트 터널을 설정할 때 NAT를 통과하기 위한 정보이다.
상술한 바와 같은 상대 단말 추가 과정에서 602단계 내지 609단계는 제3 단말 프로토콜(3ffe::113)(130c)도 동일하게 적용되어 이러한 상대 단말 추가 과정을 수행한다.
이와 같은 정상적인 상대 단말 등록 및 삭제 단계 및 이상 상황 발생을 처리하는 단계에서 조차 판단 할 수 없는 경우, 제1 단말 프로토콜부(130a)는 대비책으로 주기적으로 상태 정보를 다수의 상대 단말들과 교환함으로써 상태 관리 과정을 수행한다. 이러한 상태 관리 과정을 다시 도 7을 참조하여 구체적으로 설명하기로 한다.
610단계에서 제1 단말 프로토콜부(130a)는 특정 시간 간격으로 프로세서를 시작하고, 611단계에서 타임아웃을 체크하고, 타임아웃 시간 내 수신된 응답 메시지가 없으면 OFF-LINE으로 판단하고, 612단계에서 상기 사용자 그룹 관리부(110)로 상기 OFF-LINE 상태를 알린다.
그런 다음 613단계에서 제1 단말 프로토콜부(130a)는 최초 상대 단말을 등록할 때 요청한 단말 정보 요청 메시지를 특정 시간 간격으로 다수의 상대 단말로 전송한다. 이에 따라 614단계에서 제2 단말 프로토콜(130b)은 요청 단말(3ffe::111)의 상태를 ON-LINE으로 설정한다.
이후, 615단계에서 제1 단말 프로토콜부(130a)는 타이머를 시작하고, 616단계에서 제2 단말 프로토콜부(130b)로부터 단말정보 응답 메시지를 수신한다. 그런 다음 617단계에서 제1 단말 프로토콜부(130a)는 네트워크 위치 정보를 갱신하고, 상대 단말(3ffe::112)의 상태가 ON-LINE 상태인지를 판단하여 상대 단말의 상태를 ON-LINE으로 설정하고, 타임아웃 값을 변경한다. 이때, 응답 메시지가 특정시간(타임아웃) 동안 없는 경우 제1 단말 프로토콜부(130a)는 OFF-LINE으로 판단한다.
그런 다음 618단계에서 제1 단말 프로토콜부(130a)는 사용자 그룹 관리부(110)로 ON-LINE 상태를 알린다.
한편, 각 단말이 이상 상황 발생 시 목록에 존재하는 상대 단말로 OFF-LINE 상태를 알려주는 단계는 단말의 사용자에 의한 시스템 종료나 프로세스 종료와 같이 OFF-LINE 상태로 변화될 때 이를 미리 감지하여 620단계와 같이 목록상에 있는 상대 단말로 즉각 NOTIFY_OFF_LINE_STATUS를 단말상태 변경 메시지를 통해 전송한다. 그러면 해당 단말이 OFF-LINE 상태로 변경될 것임을 즉시 알 수 있게 하기 위해 각 상대 단말 즉, 제2 및 제3 단말 프로토콜부(130b, 130c)는 상대 노드 상태를 OFF-LINE으로 설정하고, 이를 사용자그룹 관리 모듈로 알린다. 이때, 제1 단말 프로토콜부(130a)는 시스템 또는 프로세스를 종료한다.
다음으로 본 발명의 제2 실시예에 따라 각 단말 간 다이렉트 터널을 설정하기 위한 절차를 첨부된 도 8을 참조하여 구체적으로 설명하기로 한다.
710단계와 같이 단말 초기화 시점 시 다이렉트 터널을 설정하기 위하여 각 단말은 서로 간 제어 터널이 사전에 설정되고, 단말 등록이 이루어져 있으며, 요청 단말(3ffe::111)과 상대 단말(3ffe::222)은 제어 터널을 통하여 데이터 통신이 가능한 상태이다.
720단계에서 사용자 그룹 관리부(110)는 상대 단말의 등록을 통하여 상대 단말의 네트워크 위치 정보와 ON-LINE 상태도 사전에 알고 있어야 하므로 제1 단말 프로토콜부(3ffe::111)(130a)로 상대 노드 추가 요청 메시지를 전송한다. 이에 따 라 제1 단말 프로토콜부(3ffe::111)(130a)는 상대 단말의 프로토콜부(3ffe::222)(130b)로 단말 정보 요청 메시지를 전송하고, 이에 대한 응답 메시지를 수신한다.
이후, 730단계에서 사용자 그룹 관리부(110)는 또는 기타 IPv6 응용프로그램은 필요한 시점에 제1 단말 프로토콜모듈(3ffe::111)(130a)로 다이렉트 터널을 요청 즉, 상대 노드 추가 요청을 한다. 이에 따라 제1 단말 프로토콜부(3ffe::111)(130a)는 제2 단말 프로토콜부(3ffe::222)(130b)로 다이렉트 터널 요청 메시지를 전송한다. 그러면 제2 단말 프로토콜부(3ffe::222)(130b)는 다이렉트 터널 응답 메시지를 제1 단말 프로토콜부(130a)로 전송한 후 다이렉트 터널을 설정한다. 이때, 제1 단말 프로토콜부(130a)는 응답 메시지를 수신하여 다이렉트 터널을 설정함으로써 두 단말 간에 다이렉트 터널을 설정한다. 이러한 다이렉트 터널 요청 메시지 및 응답 메시지는 데이터의 송수신 보장을 위하여 기존에 설정되어 있는 제어터널을 사용한다.
그런 다음 740단계에서 제1 단말 프로토콜부(130a)는 설정한 터널에 IPv6 데이터 전송이 가능한가를 확인하기 위하여 다이렉트 터널을 설정한 후 다이렉트 터널 확인 요청 메시지를 IPv6 패킷 형태로 상대 단말의 프로토콜부(130b)로 전송하고, 이에 따른 다이렉트 터널 확인 응답 메시지를 수신하여 설정한 다이렉트 터널이 사용 가능한가를 확인한다. 만일, 상기 확인 메시지의 송/수신이 안 된다면 설정한 다이렉트 터널에 문제가 있으므로 설정한 제어터널을 각각 삭제하고, 이후부터 상호 두 단말은 제어 터널을 이용하여 IPv6 통신을 하게 한다.
그러면 각 단말이 상기 도 7의 상대 단말의 상태 정보 및 네트워크 위치 정보를 획득하는 과정에서 상대 단말과의 네트워크 위치 관계를 판단하여 적당한 타입을 결정하여 다이렉트 터널을 설정하는 과정에 대해 첨부된 도 9를 참조하여 구체적으로 설명하기로 한다.
801단계에서 상기 단말 정보 요청 메시지 및 단말 정보 응답 메시지의 송수신 시 요청 단말은 단말 정보 응답 메시지를 수신하고, 응답 단말 즉, 상대 단말은 단말 정보 요청 메시지를 수신한다. 이때, 각 단말은 최초로 제어 서버로 제어터널의 설정 및 등록단계에서 획득한 자신의 네트워크 위치 정보 즉, NAT를 경유하는 경우에 변경되는 {Source IP 주소, UDP Source Port} 정보를 이미 획득한 상태이며, 획득된 정보를 각 메시지의 송수신 시 해당 메시지 내에 포함시킨다.
그러면 802단계에서 각 단말은 해당 메시지를 수신하면, NAT를 경유하는가를 확인하여 경유하지 않는다면 803단계에서 상대단말이 NAT를 경유하는가를 확인한다. 확인 결과, 상대 단말도 NAT를 경유하지 않으면 804단계에서 상대 단말과의 위치 관계가 공용 네트워크에서 공용 네트워크(63) 위치 관계이므로 각 단말은 IPv6-IPv4 타입으로 결정한 후 811단계를 수행한다. 반면, 상대단말이 NAT를 경유한다면 상대 단말과의 위치 관계가 공용 네트워크와 사설 네트워크 간(64) 위치 관계이므로 805단계에서 각 단말은 IPv6-UDP-IPv4 타입으로 결정한 후 811단계를 수행한다.
한편, 802단계에서 확인한 결과, 요청 단말이 NAT를 경유하지 하는 경우 806 단계에서 각 단말은 상대 단말이 NAT 경유하는가를 확인한다. 확인 결과, 상대 단말이 NAT를 경유하지 않는다면 상대 단말과의 위치 관계가 공용 네트워크와 사설 네트워크 간(64) 위치 관계이므로 807단계에서 각 단말은 IPv6-UDP-IPv4 타입으로 터널을 설정한다. 반면, 상대단말이 NAT를 경유한다면 808단계에서 각 단말은 변경된 IPv4 공용 주소와 자기단말의 IPv4 공용 주소를 비교하여 동일한지를 비교한다. 비교한 결과, 동일한 경우 상대 단말과의 위치 관계가 사설 네트워크 간(동일 네트워크)(61) 위치 관계이므로 809단계에서 각 단말은 IPv6-IPv4 타입으로 결정한 후 811단계를 수행한다. 반면, 동일하지 않으면 사설 네트워크 간(다른 네트워크)(62)위치 관계이므로 810단계에서 IPv6-UDP-IPv4 타입으로 결정한 후, 811단계에서 상기 결정된 해당 타입으로 터널을 설정한다.
다음으로 상기 도 8의 다이렉트 터널 설정 시 다이렉트 터널을 요청하는 요청 단말에서의 수행 절차에 대해 첨부된 도 10을 참조하여 구체적으로 설명하기로 한다.
901단계에서 요청 단말 즉, 제1 단말 프로토콜부(130a)는 사용자 그룹 관리부(110) 또는 애플리케이션으로부터 다이렉트 터널 요청을 받으면, 902단계에서 제1 단말 프로토콜부(130a)는 기존의 상대 단말 등록 과정에서 이미 얻어진 상대 단말의 네트워크 위치정보와 ON-LINE 상태 정보를 확인한다.
903단계에서 제1 단말 프로토콜부(130a)는 상대 단말이 다이렉트 터널을 설정할 수 있는가를 확인하여 설정할 수 없는 단말인 경우 904단계에서 사용자 그룹 관리부(110) 또는 애플리케이션으로 설정할 수 없음을 통보한다.
반면, 설정할 수 있으면 905단계에서 제1 단말 프로토콜부(130a)는 다이렉트 터널 요청 메시지를 생성하여 상대 단말 즉, 제2 단말 프로토콜부(130b)로 전송한다. 이때 제1 단말 프로토콜부(130a)는 요청 단말의 네트워크 위치 정보를 메시지에 포함한다. 이후, 906단계에서 제1 단말 프로토콜부(130a)는 다이렉트 터널 응답메시지를 상기 제2 프로토콜부(130b)로부터 수신하여 907단계에서 정당한 응답 메시지임을 상대단말 목록에서 검사하고, 정당한 메시지이면 다음 단계를 수행하고, 정당하지 않은 메시지인 경우 무시한다.
908단계에서 제1 단말 프로토콜부(130a)는 수신한 메시지 및 저장하고 있는 상대 단말의 네트워크 위치 정보와 요청 단말의 위치 정보에 따라 네트워크 위치 관계를 판단한다. 즉, IPv6-IPv4 타입인지를 판단한다. 판단결과, IPv6-IPv4 타입이 아닌 경우 909단계에서 제1 단말 프로토콜부(130a)는 IPv6-UDP-IPv4로 터널을 설정하고, 910단계에서 주기적으로 NAT Keep-Alive 메시지를 전송하여 NAT 장비에 설정되어 있는 매핑 테이블을 갱신한다. 반면, IPv6-IPv4 타입인 경우 911단계에서 제1 단말 프로토콜부(130a)는 IPv6-IPv4 타입으로 터널을 설정한다.
다음으로 상기 도 8의 상기 다이렉트 터널 설정 시 상대 단말에서의 수행 절차를 첨부된 도 10b를 참조하여 구체적으로 설명하기로 한다.
1001단계에서 상대 단말 즉, 제2 단말 프로토콜부(130b)는 다이렉트 터널 요청메시지를 수신하면, 1002단계에서 요청 단말이 사용자 그룹 관리부(110)에 의해 등록된 단말임을 확인하기 위해 상대 노드 정보를 검색한다.
이후, 1003단계에서 제2 단말 프로토콜부(130b)는 다이렉트 터널을 설정할 수 있는지를 확인한다. 확인 결과, 설정 가능하지 않은 경우 1004단계에서 제2 단말 프로토콜부(130b)는 요청 단말로 터널을 설정할 수 없음을 알리기 위하여 다이렉트 터널 에러 메시지로 전송하여 다이렉트 터널 설정이 불가능함을 알린다.
반면, 설정이 가능한 경우 1005단계에서 제2 단말 프로토콜부(130b)는 상대 단말 정보 또는 수신한 메시지의 정보를 기반으로 두 단말 간 네트워크 위치 관계를 확인한다. 그런 다음 1006단계에서 제2 단말 프로토콜부(130b)는 확인한 위치 관계가 IPv6-IPv4 타입인지를 확인하여 아닌 경우 1007단계에서 요청 단말로 다이렉트 터널 응답 메시지를 전송한다. 그런 다음 1008단계에서 제2 단말 프로토콜부(130b)는 IPv6-UDP-IPv4 타입으로 터널을 설정한 후 1009단계에서 주기적으로 자기 NAT Keep-Alive 메시지를 주기적으로 전송하여 NAT 장비에 설정되어 있는 매핑 테이블을 갱신한다.
반면, 상기 1006단계에서 확인한 결과 IPv6-IPv4 타입인 경우 1010단계에서 제2 단말 프로토콜부(130b)는 요청 단말로 다이렉트 터널 응답 메시지를 전송하고, 1011단계에서 IPv6-IPv4 타입으로 터널을 설정한다.
한편, 각 단말이 네트워크 위치관계에 따라 다이렉트 터널을 설정/사용할 수 있는 가능성을 판단하는 과정에 대해 첨부된 도 12를 참조하여 설명하기로 한다.
다이렉트 터널을 설정하는 경우 두 단말의 위치 관계가 공용 네트워크 간(63)의 위치 관계이거나 사설 네트워크 간(동일 네트워크)(61) 위치 관계인 경우에는 IPv6-IPv4 터널을 사용하기 때문에 항상 다이렉트 터널을 설정 사용할 수 있다. 그러나 공용 네트워크와 사설 네트워크 간(64) 위치 관계나 사설 네트워크 간(다른 네트워크)(62) 위치 관계인 경우에는 IPv6-UDP-IPv4 터널을 설정 사용해야 하는데, 이러한 경우 NAT장비의 종류에 따라 다이렉트 터널을 설정 사용할 수 없는 경우가 존재한다.
이와 같이 다이렉트 터널을 사용할 수 없는 두 단말은 제어 터널을 이용하여 데이터 통신을 한다. 따라서 각 단말은 제어 서버에 등록하는 과정과 제어 터널을 설정하는 과정에서 자신이 사설 네트워크에 위치하고 있는 경우 사설 네트워크를 구성하는 NAT 장비가 소스 NAT로 동작하고 있음을 획득한다. 만일 소스 NAT로 동작하지 않는다면 요청 단말은 상대 단말로 다이렉트 터널을 요청하지 말아야 하며, 상대 단말이 요청 단말로 다이렉트 터널을 요청하는 경우 요청 단말은 다이렉트 터널을 사용할 수 없음을 상대 단말로 알려준다. 이러한 경우 다이렉트 터널을 사용할 수 없는 두 단말은 데이터 통신을 위하여 제어터널을 사용한다.
이와 같은 다이렉트 터널을 설정하여 사용할 수 있는지를 판단하기 위하여 본 발명의 제2 실시예에서는 상기 도 11에 도시된 바와 같이 제어 서버를 주 제어서버(31)와 보조 제어 서버(32)로 구성할 수 있다.
상기 주 제어서버(31)는 제어터널 및 각 단말10)의 등록 그리고 IPv6 패킷 포워딩 기능을 수행한다.
상기 보조 제어서버(32)는 각 단말이 소스 NAT로 동작하는지 여부를 확인하 기 위하여 전송한 NAT 확인 요청 메시지를 수신하고, 이에 대한 NAT 확인 응답메시지를 각 요청 단말로 전송하는 기능을 수행한다. 이때, 상기 보조 제어서버(32)는 각 요청 단말로부터 수신된 UDP 메시지의 소스 포트 번호를 확인하여 NAT 확인 응답메시지 내에 포함해야 한다.
상기 도 11을 참조하면, 상술한 바와 같은 제어터널을 설정 및 단말을 등록하는 과정에서 단말(10)은 1101단계에서 주제어서버(31)로 IPv4 UDP 패킷 형태의 터널 요청 메시지를 전송한다. 이때, 사용하는 UDP 포트의 소스 포트와 목적지 포트(Destination Port)는 동일한 포트를 사용한다. 이에 따라 주 제어서버(31)는 1102단계에서 NAT(40)를 경유하며, 변경된 소스 포트 번호를 확인하여 이를 터널 응답 메시지에 포함시켜 단말(10)로 전송한다.
만일, 단말(10)이 NAT(40)를 경유한다면, 1103단계에서 보조 제어서버(32)로 NAT 확인 요청 메시지를 전송한다. 이때 사용하는 UDP 포트의 소스 포트와 목적지 포트(Destination Port) 번호는 터널 요청 메시지에서 사용하였던 번호를 그대로 사용해야 한다. 이에 따라 보조 제어서버(32)는 1104단계에서 NAT 확인 요청 메시지를 수신하여 변경된 UDP 소스 포트를 확인하여 변경된 UDP 소스 포트 포함한 NAT 확인 응답 메시지를 단말(10)로 전송한다.
이와 같은 상기 도 11 절차에서 NAT장비가 소스 NAT로 동작하는지를 판단하기 위한 동작을 첨부된 도 12를 참조하여 설명하기로 한다.
상기 도 12를 참조하면, 1201단계에서 단말(10)은 초기화 시 IPv4 패킷 형태의 터널 요청 메시지를 주 제어서버(31)로 전송하고, 주 제어서버(31)로부터 IPv4 패킷 형태의 터널 응답 메시지를 수신한다.
1202단계에서 단말(10)은 상기 터널 응답 메시지에 포함된 정보를 이용하여 사설네트워크에 위치하는지 공용네트워크에 위치하는지를 판단한다. 만약, 공용네트워크에 위치하는 경우 상기 도 2에 도시된 바와 같은 과정을 수행한다.
반면, 사설네트워크에 위치하는 경우 1203단계에서 단말(10)은 보조 제어서버(32)로 동일한 소스 포트를 사용하는 IPv4 UDP 패킷 형태의 NAT 확인 요청메시지를 송신하고, 보조 제어서버(32)로부터 NAT 확인 응답메시지를 수신한다. 여기서 NAT 확인 요청메시지는 UDP 소스 포트와 목적지 포트(Destination Port) 번호를 터널 요청 메시지에 사용한 값과 동일하게 사용해야 한다.
1204단계에서 각 단말(10)은 주 제어서버(31)와 보조 제어서버(32)로부터 수신한 터널 응답메시지와 NAT 확인 응답메시지의 변경된 소스 포트 번호를 비교한다.
상기 비교 결과, 두 개의 변경된 소스 포트가 동일하면, 해당 NAT가 소스 NAT로 동작하고 있으므로 1205단계에서 단말(10)은 다이렉트 터널을 설정 및 사용할 수 있게 된다. 반면, 동일하지 않으면 소스 NAT로 동작하지 않으므로 1206단계에서 다이렉트 터널을 사용할 수 없음을 판단한다.
한편, 상술한 바와 같은 본 발명의 제1 및 제2 실시예에서는 단말 간 IPv6 단말-대-단말 통신을 제공하는 경우의 제어 터널 및 다이렉트 터널 설정에 대해 설명하였다. 하지만, 본 발명의 제3 실시예에서는 이와 동시에 단말-대-네트워크 통신도 제공할 수 있으므로 이러한 경우의 IPv4 기반의 네트워크 구조를 첨부된 도면 을 참조하여 설명하기로 한다.
도 13은 본 발명의 제3 실시예에 따른 단-대-네트워크 IPv6 통신을 위한 네트워크 구성 및 동작을 도시한 도면이다.
상기 도 13을 참조하면, 본 발명의 제3 실시예에 따른 IPv4 기반 네트워크의 IPv6 서비스 제공 시스템에는 IPv6 게이트웨이(60)가 새로 추가되며, 이러한 IPv6 게이트웨이(80)는 IPv4 네트워크(40)로 IPv4 통신 및 IPv6 터널링을 수행하고, IPv6 네트워크의 게이트웨이(Gateway)로서의 기능을 수행한다. 따라서 IPv6 게이트웨이(80)는 IPv4 네트워크(40)에 위치한 각각의 단말과 연계하여 IPv6네트워크 내의 단말들과 통신을 가능하게 한다.
단말(10)과 IPv6 게이트웨이(60)는 포탈 서버(20)에 서비스 가입하고, 1301 및 1302 단계에서의 메시지 송/수신에 의하여 제어터널 설정과 등록과정을 수행한다. 이때, 단말(10)과 IPv6 게이트웨이(80)는 제어터널에 의하여 IPv6 메시지를 송수신할 수 있다.
1303단계에서 단말(10)은 사용자 그룹 관리부에 의하여 단말 추가 요청을 받으면, IPv6 게이트웨이(80)를 상대 단말 목록에 상대 단말로 등록시키는 과정을 수행한다. 이에 따라 IPv6 게이트웨이(80)는 해당 단말(10)이 IPv6 네트워크(3ffe:200::/64)로 접근함을 허용할 것을 등록하게 된다. 이때, 단말(10)은 IPv6 게이트웨이(80)와 단말 정보 요청 메시지 및 단말 정보 응답 메시지를 송수신하여 IPv6 네트워크를 연결하는 게이트웨이 노드임을 확인한다. 여기서 상기 단말 정보 요청 메시지 및 단말 정보 응답 메시지는 각각 요청 단말 타입에 대한 정보를 포함 한다. 예를 들어, 각 일반 단말은 "Mobile Node", IPv6 네트워크를 연결하는 노드는 "Gateway" 등과 같이 각 노드의 역할을 포함한다. 이렇게 게이트웨이(Gateway)인 경우에는 단말과의 메시지 송수신 시 게이트웨이가 연결해주는 네트워크 주소를 포함한다.
1304단계에서 사용자 그룹 관리부 또는 애플리케이션이 IPv6 네트워크로 통신하고자 하는 경우, 단말(10)의 단말 프로토콜부에서는 네트워크 주소를 이용하여 IPv6 게이트웨이(3ffe::200)(80)로 다이렉트 터널 요청 메시지를 전송한다. 이에 따라 1305단계에서 IPv6 게이트웨이(80)는 해당 단말에 대한 다이렉트 터널을 설정하고 다이렉트 터널 응답 메시지를 전송한다. 이때 다이렉트 터널 응답 메시지에는 IPv6 게이트웨이(80)가 연결하는 IPv6 네트워크(3ffe:200::/64) 주소가 포함된다.
그러면 1306단계에서 단말(10)은 다이렉트 터널 응답 메시지를 수신하여 IPv6 게이트웨이(80)까지 터널을 설정(3ffe::200)하고, 메시지에 포함된 정보를 설정한 터널에 IPv6 라우터 정보(3ffe:200::/64)로 추가한다.
이와 같은 과정을 거친 후 단말(10)은 IPv6 게이트웨이(80)가 제공하는 IPv6 네트워크 내의 모든 IPv6 단말들과 통신할 수 있게 된다.
상술한 바에 따라 본 발명은 IPv6 서비스 제공함에 있어서, 현재 확산되어 있는 IPv4 네트워크 기반에 IPv6 터널링을 사용하여 네트워크 구간의 그 어떤 장비의 변경 및 교체 없이 제어 서버 및 단말의 소프트웨어 교체만을 통해 효율적이고 저렴한 IPv6 서비스를 가능하게 할 수 있다.
또한, 본 발명의 실시예들에 따른 다이렉트 터널은 두 단말 간 IPv6 P2P 통신을 하는 경우에 서버를 경유하지 않고 직접적으로 연결되기 때문에 데이터 송수신에 있어서 매우 효율적이며, 각종 사설네트워크에 위치한 단말 간에도 터널을 제공할 수 있다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시 예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 발명청구의 범위뿐 만 아니라 이 발명청구의 범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 실시예들에 따라 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서 포탈 서버에 가입하여 서비스 정보를 다운로드 받는 과정을 도시한 도면,
도 2는 본 발명의 제1 및 제2 실시예에 따른 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서 설정되는 제어터널 및 다이렉트 터널의 종류를 도시한 도면,
도 3은 본 발명의 제1 실시예에 따라 최초 단말이 제어 서버에 등록할 때 설정하는 터널의 종류를 도시한 도면,
도 4는 본 발명의 제1 실시예에 따른 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서 단말과 서버 간에 제어터널을 설정하기 위한 과정을 도시한 도면,
도 5a는 상기 도 4의 제어 터널 설정 과정에서 제어터널을 설정하기 위한 단말 프로토콜부의 동작을 도시한 도면,
도 5b는 상기 도 4의 제어 터널 설정 과정에서 제어터널을 설정하기 위한 제어 서버 프로토콜부의 동작을 도시한 도면,
도 6a는 본 발명의 제2 실시예에 따른 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서 다이렉트 터널 설정 시 네트워크 위치 관계에 따른 터널의 타입을 도시한 도면,
도 6b는 본 발명의 제2 실시예에 따라 공용네트워크에 위치한 단말과 사설네트워크에 위치한 단말간의 터널설정에 대한 실 예를 도시한 도면,
도 6c는 본 발명의 제2 실시예에 따라 다른 사설네트워크에 위치한 두 단말간의 터널설정에 대한 실 예를 도시한 도면,
도 7은 본 발명의 제2 실시예에 따라 다이렉트 터널을 설정하기 이전에 다수의 상대 단말의 발견 및 상태를 획득하기 위한 과정을 도시한 도면,
도 8은 본 발명의 제2 실시예에 따라 각 단말 간 다이렉트 터널을 설정하기 위한 절차를 도시한 도면,
도 9는 상기 도 7의 상대 단말의 상태 정보 및 네트워크 위치정보를 획득하는 과정에서 상대 단말과의 네트워크 위치관계를 판단하여 적당한 타입을 결정하여 다이렉트 터널을 설정하는 단말의 동작을 도시한 도면,
도 10a는 상기 도 8의 다이렉트 터널 설정 시 요청 단말의 프로토콜 처리를 위한 동작을 도시한 도면,
도 10b는 상기 도 8의 다이렉트 터널 설정 시 응답 단말의 프로토콜 처리를 위한 동작을 도시한 도면,
도 11은 본 발명의 제2 실시예에 따라 다이렉트 터널을 설정하여 사용할 수 있는지를 판단하기 위한 동작을 도시한 도면,
도 12는 본 발명의 제2 실시예에 따라 해당 단말이 상대 단말과 다이렉트 터널을 사용할 수 있는 지를 판단하기 위한 동작을 도시한 도면,
도 13은 본 발명의 제3 실시예에 따른 단-대-네트워크 IPv6 통신을 위한 네트워크 구성 및 동작을 도시한 도면.

Claims (38)

  1. 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 포털 서버 및 제어 서버를 갖는 IPv4 네트워크 기반 인터넷 프로토콜 버전 6(IPv6) 서비스 제공 시스템에서, 상기 각 단말이 IPv6 단말-대-단말 통신 서비스를 위한 제어 터널을 설정하는 방법에 있어서,
    초기화 시 상기 포털 서버로부터 다운로드 받은 서비스 정보를 이용하여 상기 제어 서버로 터널 요청 메시지를 전송한 후 상기 제어 서버로부터 터널 응답 메시지를 수신하면, 단말이 위치하는 네트워크에 따라 상이한 타입으로 상기 제어 서버와의 제어 터널을 설정하는 과정;
    상기 설정된 제어 터널을 통해 상기 제어 서버로 등록 요청 메시지를 전송하는 과정; 및
    상기 제어 서버로부터 등록 응답 메시지를 수신하면 상기 제어 터널 설정 및 등록 완료를 통보하는 과정을 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  2. 제1항에 있어서,
    상기 제어 서버와 상기 설정된 제어 터널 상에 IPv6 데이터가 송수신 가능한 상태인지를 주기적으로 확인하는 과정; 및
    상기 제어 서버와 상기 단말의 생존 시간을 갱신하기 위한 갱신 메시지를 주기적으로 송/수신하는 과정을 더 포함하여 상기 각 단말이 IPv6 단말-대-단말 통신 서비스를 제공하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  3. 제1항에 있어서, 상기 제어 서버와의 제어 터널을 설정하는 과정은,
    상기 수신된 터널 응답 메시지에 포함된 정보를 추출하는 단계;
    상기 추출된 정보를 이용하여 사설 네트워크의 네트워크 주소 번역기를 경유하는지를 판단하는 단계; 및
    상기 네트워크 주소 번역기를 경유하는 경우 IPv6-UDP-IPv4 타입으로 제어 터널을 설정하는 단계를 포함하며,
    상기 터널 응답 메시지에 포함된 정보는 네트워크 주소 번역기 플래그, UDP 소스 포트 번호, IPv4 공용주소 및 IPv4 할당주소를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  4. 제3항에 있어서, 상기 제어 서버와의 제어 터널을 설정하는 과정은,
    상기 IPv6-UDP-IPv4 타입으로 설정된 제어 터널을 통해 네트워크 주소 번역기의 연결 유지(Keep-Alive) 메시지를 주기적으로 송/수신하는 단계; 및
    상기 네트워크 주소 번역기 내의 매핑 테이블을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  5. 제3항에 있어서, 상기 제어 서버와의 제어 터널을 설정하는 과정은,
    상기 네트워크 주소 번역기를 경유하지 않고 공용 네트워크상에 위치하는 경우 IPv6-IPv4 타입으로 제어 터널을 설정하는 단계를 더 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  6. 제3항에 있어서,
    상기 추출된 정보를 이용하여 사설 네트워크의 네트워크 주소 번역기를 경유하는지를 판단하는 단계는, 상기 추출된 정보를 파악하여 네트워크 주소 번역기 플래그가 설정된 경우, UDP 소스 포트 번호가 변경된 경우 또는 IPv4 공용 주소 및 IPv4 할당 주소가 동일한 경우에 상기 네트워크 주소 번역기를 경유하는 것을 판단함을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  7. 제1항에 있어서,
    상기 서비스 정보는 상기 제어 서버와 프로토콜 수행을 위한 단말의 IPv6 주소 및 사용자 이름과, 상기 제어 터널 설정 시 이용되는 제어서버의 IPv4 및 상기 제어 터널 설정 후 상기 제어 서버로의 등록을 위해 이용되는 제어 서버의 IPv6 주소를 포함함을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  8. 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 포털 서버 및 제어 서버를 갖는 IPv4 네트워크 기반 인터넷 프로토콜 버전 6(IPv6) 서비스 제공 시스템에서, 상기 제어 서버가 IPv6 단말-대-단말 통신 서비스를 위한 제어 터널을 설정하는 방법에 있어서,
    상기 각 단말로부터 터널 요청 메시지를 수신하는 과정;
    상기 터널 요청 메시지의 IPv4 헤더 상에 설정된 IPv4 공용 주소와 상기 터널 요청 메시지에 포함된 단말의 IPv4 할당 주소를 확인하는 과정;
    상기 IPv4 공용 주소와 IPv4 할당 주소를 비교하여 상기 각 단말이 위치하는 네트워크를 판단하고, 상기 각 단말이 위치하는 네트워크에 따라 상이한 타입으로 상기 각 단말과의 제어 터널을 설정하는 과정; 및
    상기 설정된 제어 터널을 통해 상기 각 단말로부터 등록 요청 메시지를 수신하면 상기 각 단말을 등록하는 과정을 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  9. 제8항에 있어서,
    상기 각 단말과 설정된 상기 제어 터널 상에 IPv6 데이터가 송수신 가능한 상태인지를 주기적으로 확인하는 과정; 및
    상기 각 단말의 생존 시간을 갱신하기 위한 갱신 메시지를 주기적으로 송/수신하는 과정을 더 포함하여 상기 제어 서버가 IPv6 단말-대-단말 통신 서비스를 제공하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  10. 제8항에 있어서, 상기 각 단말간의 제어 터널을 설정하는 과정은,
    상기 IPv4 공용 주소와 IPv4 할당 주소가 동일하지 않은 경우 상기 각 단말이 네트워크 주소 번역기를 경유하는 사설 네트워크에 위치하는 것으로 판단하는 단계;
    IPv6-UDP-IPv4 타입으로 상기 각 단말과의 제어 터널을 설정하는 단계; 및
    터널 응답 메시지를 생성하여 상기 설정된 제어 터널을 통해 상기 각 단말로 상기 생성된 터널 응답 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  11. 제10항에 있어서,
    상기 생성된 터널 응답 메시지는 네트워크 주소 번역기 플래그를 설정하고, 단말 정보인 변경된 IPv4 공용 주소 및 변경된 UDP 소스 포트 정보를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  12. 제8항에 있어서, 상기 각 단말과의 제어 터널을 설정하는 과정은,
    상기 IPv4 공용 주소 및 IPv4 할당 주소가 동일한 경우 해당 단말이 공용 네트워크에 위치한 단말로 판단하는 단계;
    IPv6-IPv4 타입으로 상기 각 단말과의 제어 터널을 설정하는 단계; 및
    터널 응답 메시지를 생성하여 상기 각 단말로 상기 생성된 터널 응답 메시지를 전송하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  13. 제12항에 있어서,
    상기 생성된 터널 응답 메시지는 변경되지 않은 네트워크 주소 번역기 플래그를 설정하지 않고, 변경되지 않은 IPv4 공용 주소 및 변경되지 않은 UDP 소스 포트 정보를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 설정 방법.
  14. 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 제어 서버를 갖는 IPv4 네트워크 기반 인터넷 프로토콜 버전 6(IPv6) 서비스 제공 시스템에서, 임의의 요청 단말이 상대 단말과의 IPv6 통신 서비스를 위한 다이렉트 터널을 설정하는 방법에 있어서,
    상기 제어 서버와의 제어 터널을 설정 및 등록하는 과정;
    상기 상대 단말을 등록하고 상기 상대 단말의 상태를 실시간적으로 획득하는 과정;
    상기 획득한 단말 정보를 이용하여 상기 상대 단말로 다이렉트 터널 요청 메시지를 전송하는 과정;
    상기 상대 단말로부터 다이렉트 터널 응답 메시지를 수신하면, 상기 요청 단말과 상기 상대 단말이 위치하는 네트워크 사이의 위치 관계에 따라 상이한 타입으로 상기 상대 단말과의 다이렉트 터널을 설정하는 과정; 및
    상기 설정된 다이렉트 터널을 통해 IPv6 데이터 전송이 가능한지를 확인하는 과정을 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  15. 제14항에 있어서,
    상기 획득한 단말 정보는 요청 단말의 위치 정보 및 상태 정보와, 상대 단말의 위치 정보 및 상태 정보임을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  16. 제14항에 있어서, 상대 단말을 등록하고 상기 상대 단말의 상태를 실시간적으로 획득하는 과정은,
    상기 상대 단말을 발견하면 내부의 상대 단말 목록에 상기 상대 단말을 추가하는 단계;
    상기 상대 단말 목록에 존재하는 상대 단말들의 상태를 주기적으로 확인하여 관리하는 단계;
    이상 상황 발생 시 상기 상대 단말 목록에 존재하는 상대 단말들로 상기 요청 단말의 상태 변경을 알려주는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  17. 제16항에 있어서, 상기 상대 단말 목록에 상기 상대 단말을 추가하는 단계는,
    상기 상대 단말 목록에 추가되는 상기 상대 단말의 상태를 오프라인으로 설정하는 단계;
    상기 상대 단말로 단말 정보 요청 메시지를 전송하는 단계;
    미리 설정된 시간 간격으로 타이머를 설정하여 상기 단말 정보 요청 메시지를 상기 미리 설정된 시간 간격마다 재전송하는 단계;
    상기 상대 단말에서 상기 상대 단말의 상태를 온 라인으로 설정한 후 전송한 단말 정보 응답 메시지를 수신하는 단계; 및
    상기 단말 정보 응답 메시지에 포함된 정보를 이용하여 상기 상대 단말의 위치 정보를 갱신하고, 상기 상대 단말의 상태를 온 라인으로 설정하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  18. 제16항에 있어서, 상기 상대 단말 목록에 존재하는 상대 단말들의 상태를 주기적으로 확인하여 관리하는 단계는,
    미리 설정된 시간 간격으로 프로세서를 시작하는 단계;
    상기 미리 설정된 시간의 타임아웃 내에 상기 상대 단말로부터 응답이 없으면 상기 상대 단말의 상태를 오프라인으로 판단하는 단계;
    상기 상대 단말로 단말정보 요청 메시지를 전송하는 단계;
    상기 상대 단말에서 상기 상대 단말의 상태를 온 라인으로 설정한 후 전송한 단말 정보 응답 메시지를 수신하는 단계;
    상기 단말 정보 응답 메시지에 포함된 정보를 이용하여 상기 상대 단말의 위치 정보를 갱신하고, 상기 상대 단말의 상태를 온 라인으로 설정하는 단계; 및
    상기 타임아웃의 값을 변경하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  19. 제17항 또는 제18항에 있어서,
    상기 단말 정보 요청 메시지는 상기 제어 터널을 사용하는 IPv6 패킷 포맷을 사용하며, 상기 각 단말이 네트워크 주소 번역기를 경유하는 사설 네트워크에 위치하면 상기 각 단말이 상기 제어 터널 설정 및 등록 시 획득한 IPv4 공용주소와, 변경된 UDP 소스 포트 번호를 포함함을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  20. 제17항 또는 제18항에 있어서,
    상기 단말 응답 요청 메시지는 상기 제어 터널을 사용하는 IPv6 패킷 포맷을 사용하며, 상기 각 단말이 네트워크 주소 번역기를 경유하는 사설 네트워크에 위치하면 상기 상대 단말이 상기 제어 터널 설정 및 등록 시 획득한 IPv4 공용주소와, 변경된 UDP 소스 포트 번호를 포함함을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  21. 제16항에 있어서, 이상 상황 발생 시 상기 상대 단말 목록에 존재하는 상대 단말들로 상기 요청 단말의 상태 변경을 알려주는 단계는,
    상기 요청 단말이 이상 상황이 발생하여 상기 요청 단말의 상태가 오프라인으로 변경되었는지를 감지하는 단계;
    상기 오프라인으로 변경된 경우 상기 상대 단말 목록에 존재하는 상기 상대 단말들로 단말 상태 변경 메시지를 전송하는 단계; 및
    상기 요청 단말의 시스템 또는 프로세서를 종료하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  22. 제14항에 있어서,
    상기 획득한 단말 정보를 이용하여 상기 상대 단말과의 상기 다이렉트 터널 설정을 위한 터널 타입을 결정하는 과정을 더 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  23. 제22항에 있어서, 상기 상대 단말과의 상기 다이렉트 터널 설정을 위한 터널 타입을 결정하는 과정은,
    상기 획득한 단말 정보를 이용하여 상기 요청 단말이 제1 네트워크 주소 번역기를 공유하는지를 확인하는 단계;
    상기 요청 단말이 네트워크 주소 번역기를 공유하지 않는 경우 상기 상대 단말이 상기 네트워크 주소 번역기를 공유하는지를 확인하는 단계;
    상기 상대 단말이 상기 네트워크 주소 번역기를 공유하는 경우 공용 네트워크간의 터널 설정으로 판단하여 상기 터널 타입을 IPv6-IPv4 타입으로 결정하는 단계; 및
    상기 상대 단말이 상기 네트워크 주소 번역기를 공유하지 않는 경우 공용 네트워크와 사설 네트워크간의 터널 설정으로 판단하여 상기 터널 타입을 IPv6-UDP-IPv4 타입으로 결정하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  24. 제23항에 있어서, 상기 상대 단말과의 상기 다이렉트 터널 설정을 위한 터널 타입을 결정하는 과정은,
    상기 요청 단말이 상기 네트워크 주소 번역기를 공유하는 경우 상기 상대 단말이 상기 네트워크 주소 번역기를 공유하는지를 확인하는 단계;
    상기 상대 단말이 상기 네트워크 주소 번역기를 공유하지 않는 경우 공용 네트워크와 사설 네트워크간의 터널 설정으로 판단하여 상기 터널 타입을 IPv6-UDP-IPv4 타입으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  25. 제22항에 있어서, 상기 상대 단말과의 상기 다이렉트 터널 설정을 위한 터널 타입을 결정하는 과정은,
    상기 상대 단말과 교환한 단말 정보를 이용하여 상기 요청 단말이 네트워크 주소 번역기를 공유하는지를 확인하는 단계;
    상기 요청 단말이 네트워크 주소 번역기를 공유하는 경우 상기 상대 단말이 상기 네트워크 주소 번역기를 공유하는지를 확인하는 단계;
    상기 상대 단말이 상기 네트워크 주소 번역기를 공유하는 경우 상기 교환한 단말 정보에서 상기 요청 단말의 IPv4 공용 주소와 상대 단말의 IPv4 공용 주소를 비교하는 단계;
    상기 요청 단말의 IPv4 공용 주소와 상기 상대 단말의 IPv4 공용 주소가 동일한 경우 서로 다른 사설 네트워크간 터널 설정으로 판단하여 상기 터널 타입을 IPv6-UDP-IPv4 타입으로 결정하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  26. 제25항에 있어서, 상기 상대 단말과의 상기 다이렉트 터널 설정을 위한 터널 타입을 결정하는 과정은,
    상기 요청 단말의 IPv4 공용 주소와 상기 상대 단말의 IPv4 공용 주소가 동일하지 않은 경우 동일한 사설 네트워크 간 터널 설정으로 판단하여 상기 터널 타입을 IPv6-IPv4 타입으로 결정하는 단계를 더 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  27. 제14항에 있어서, 상기 상대 단말로 다이렉트 터널 요청 메시지를 전송하는 과정은,
    상기 상대 단말과의 다이렉트 터널 요청을 받으면 상기 상대 단말의 단말 정보인 네트워크 위치 정보 및 상태 정보를 확인하는 단계;
    상기 확인된 네트워크 위치 정보 및 상태 정보를 이용하여 상기 상대 단말이 다이렉트 터널을 설정할 수 있는지 확인하는 단계;
    상기 상대 단말이 다이렉트 터널을 설정할 수 있는 경우 상기 다이렉트 터널 요청 메시지를 생성하는 단계; 및
    상기 생성된 다이렉트 터널 요청 메시지를 상기 상대 단말로 전송하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  28. 제14항에 있어서, 상기 상대 단말로부터 다이렉트 터널 응답 메시지를 수신하면 상기 상대 단말과의 다이렉트 터널을 설정하는 과정은,
    상기 상대 단말로부터 다이렉트 터널 응답 메시지를 수신하는 단계;
    내부의 상대 단말 목록을 이용하여 상기 다이렉트 터널 응답 메시지가 정당한 메시지임을 확인하는 단계;
    상기 다이렉트 터널 응답 메시지가 정당한 메시지이면, 상기 다이렉트 터널 응답 메시지를 통해 얻은 상대 단말의 위치 정보와, 상기 요청 단말의 위치 정보에 따라 네트워크 위치 관계를 판단하는 단계; 및
    상기 판단된 네트워크 위치 관계에 따라 해당 터널 타입으로 상기 다이렉트 터널을 설정하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  29. 제28항에 있어서, 상기 상대 단말로부터 다이렉트 터널 응답 메시지를 수신하면 상기 상대 단말과의 다이렉트 터널을 설정하는 과정은,
    상기 요청 단말이 사설 네트워크에 위치하는 경우 네트워크 주소 번역기 Keep-Alive 메시지를 주기적으로 전송하는 단계; 및
    상기 네트워크 주소 번역기 내의 매핑 테이블을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  30. 제14항에 있어서,
    상기 제어 터널을 설정 시 상기 요청 단말 또는 상대 단말이 사설 네트워크에 위치하는 경우 상기 사설 네트워크 내의 네트워크 주소 번역기가 소스 네트워크 주소 번역기로 동작하는지 판단하는 과정을 더 포함하여 임의의 요청 단말이 상대 단말과의 IPv6 통신 서비스를 제공하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  31. 제30항에 있어서, 상기 사설 네트워크 내의 네트워크 주소 번역기가 소스 네트워크 주소 번역기로 동작하는지 판단하는 과정은,
    상기 제어 서버 내의 주 제어 서버로 터널 요청 메시지를 전송하는 단계;
    상기 주 제어부로부터 변경된 제1 소스 포트 정보를 포함하는 터널 응답 메시지를 수신하는 단계;
    상기 터널 응답 메시지에 포함된 정보를 확인하여 상기 네트워크 주소 번역기를 경유하고 있는 경우 상기 제어 서버 내의 보조 제어 서버로 네트워크 주소 번역기 확인 요청 메시지를 전송하는 단계;
    상기 보조 제어 서버로부터 변경된 제2 소스 포트 정보를 포함하는 네트워크 주소 번역기 확인 응답 메시지를 수신하는 단계; 및
    상기 제1 소스 포트 및 제2 소스 포트 정보의 동일 여부를 확인하여 동일한 경우 상기 다이렉트 터널을 사용 가능한 상기 소스 네트워크 주소 번역기인 것으로 판단하는 단계;
    상기 제1 소스 포트 및 제2 소스 포트 정보가 동일하지 않은 경우 상기 다이렉트 터널을 사용하지 못하는 네트워크 주소 번역기인 것으로 판단하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  32. 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 제어 서버를 갖는 IPv4 네트워크 기반 인터넷 프로토콜 버전 6(IPv6) 서비스 제공 시스템에서, 다이렉트 터널 요청을 받는 임의의 상대 단말이 IPv6 통신 서비스를 위한 다이렉트 터널을 설정하는 방법에 있어서,
    요청 단말로부터 상기 다이렉트 터널 요청을 위한 메시지를 수신하는 과정;
    상기 메시지에 포함된 상기 요청 단말의 단말 정보를 검색하는 과정;
    상기 검색된 단말 정보를 이용하여 상기 요청 단말과 상기 다이렉트 터널을 설정할 수 있는지를 확인하는 과정;
    상기 다이렉트 터널을 설정할 수 있는 경우 상기 검색된 단말 정보를 이용하여 상기 상대 단말과 상기 요청 단말이 위치하는 네트워크 사이의 위치 관계를 판단하는 과정;
    상기 판단된 네트워크 사이의 위치 관계에 따라 다이렉트 터널 응답 메시지를 생성하여 생성된 다이렉트 터널 응답 메시지를 상기 요청 단말로 전송하는 과정; 및
    상기 판단된 네트워크 사이의 위치 관계에 따라 상이한 타입으로 상기 다이렉트 터널을 설정하는 과정 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  33. 제32항에 있어서,
    상기 다이렉트 터널을 설정할 수 없는 경우 상기 요청 단말로 다이렉트 터널 에러 메시지를 전송하는 과정을 더 포함하여 다이렉트 터널 요청을 받는 임의의 상대 단말에서 IPv6 통신 서비스를 제공하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  34. 제32항에 있어서, 상기 검색된 단말 정보를 이용하여 상기 상대 단말과 상기 요청 단말이 위치하는 네트워크 사이의 위치 관계를 판단하는 과정은,
    상기 검색된 단말 정보에 포함된 상기 요청 단말의 위치 정보 및 상기 상대 단말의 위치 정보를 확인하여 상기 상대 단말이 사설 네트워크에 위치하는 경우 IPv6-UDP-IPv4 타입으로 상기 다이렉트 터널을 설정하는 단계; 및
    상기 요청 단말 및 상기 상대 단말이 동일한 사설 네트워크에 위치하는 경우 IPv6-IPv4 타입으로 상기 다이렉트 터널을 설정하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  35. 제32항에 있어서, 상기 검색된 단말 정보를 이용하여 네트워크 위치 관계를 판단하는 과정은,
    상기 검색된 단말 정보에 포함된 상기 요청 단말의 위치 정보 및 상기 상대 단말의 위치 정보를 확인하여 상기 상대 단말이 공용 네트워크에 위치하고, 상기 요청 단말이 사설 네트워크에 위치하는 경우 IPv6-UDP-IPv4 타입으로 상기 다이렉트 터널을 설정하는 단계; 및
    상기 요청 단말 및 상기 상대 단말이 모두 상기 공용 네트워크에 위치하는 경우 IPv6-IPv4 타입으로 상기 다이렉트 터널을 설정하는 단계를 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  36. 제35항에 있어서,
    상기 요청 단말이 상기 사설 네트워크에 위치한 경우 주기적으로 네트워크 주소 연결 지속(Keep-Alive) 메시지를 주기적으로 전송하는 단계; 및
    상기 네트워크 주소 번역기 내의 매핑 테이블을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 다이렉트 터널 설정 방법.
  37. 적어도 둘 이상의 단말과 인터넷 프로토콜 버전 4(IPv4) 네트워크를 통해 연동하는 포탈 서버, 제어 서버 및 인터넷 프로토콜 버전 6(IPv6) 게이트웨이를 갖는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서, 상기 각 단말이 IPv6 단말-대-네트워크 통신 서비스를 위한 제어 터널 및 다이렉트 터널을 설정하는 방법에 있어서,
    초기화 시 상기 포털 서버로부터 다운로드 받은 서비스 정보를 이용하여 상기 제어서버로 터널 요청 메시지를 전송한 후 상기 제어 서버로부터 터널 응답 메시지를 수신하면, 단말이 위치하는 네트워크에 따라 상이한 타입으로 상기 제어 서버와의 제어 터널을 설정하는 과정;
    상기 설정된 제어 터널을 통해 상기 제어 서버로 상기 단말과 상기 IPv6 게이트웨이를 등록하는 과정;
    상기 IPv6 게이트웨이를 내부의 상대 단말 목록에 상대 단말로 등록시키는 과정;
    상기 IPv6 게이트웨이와 단말 정보 요청 메시지 및 단말 정보 응답 메시지를 송수신하여 상기 IPv6 게이트웨이가 연결하는 네트워크의 주소를 확인하는 과정;
    상기 네트워크 주소를 이용하여 IPv6 게이트웨이로의 다이렉트 터널을 설정하는 과정; 및
    상기 설정된 다이렉트 터널을 통해 상기 IPv6 게이트웨이에 연결된 IPv6 네트워크 내에 존재하는 IPv6 단말들과 통신을 수행하는 과정을 포함하는 것을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 및 다이렉트 터널 설정 방법.
  38. 제37항에 있어서,
    상기 서비스 정보는 상기 제어 서버와 프로토콜 수행을 위한 단말의 IPv6 주소 및 사용자 이름과, 상기 제어 터널 설정 시 이용되는 제어서버의 IPv4 및 상기 제어 터널 설정 후 상기 제어 서버로의 등록을 위해 이용되는 제어 서버의 IPv6 주소를 포함함을 특징으로 하는 IPv4 네트워크 기반 IPv6 서비스 제공 시스템에서의 제어 터널 및 다이렉트 터널 설정 방법.
KR20070077503A 2006-12-04 2007-08-01 IPv4 네트워크 기반 IPv6 서비스 제공시스템에서의 제어 터널 및 다이렉트 터널 설정 방법 KR100901790B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/KR2007/006151 WO2008069504A1 (en) 2006-12-04 2007-11-30 Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
JP2009540139A JP4819953B2 (ja) 2006-12-04 2007-11-30 IPv4ネットワークベースのIPv6サービス提供システムにおける制御トンネル及びダイレクトトンネルの設定方法
US12/517,550 US8457014B2 (en) 2006-12-04 2007-11-30 Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20060121831 2006-12-04
KR1020060121831 2006-12-04

Publications (2)

Publication Number Publication Date
KR20080050973A KR20080050973A (ko) 2008-06-10
KR100901790B1 true KR100901790B1 (ko) 2009-06-11

Family

ID=39806123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20070077503A KR100901790B1 (ko) 2006-12-04 2007-08-01 IPv4 네트워크 기반 IPv6 서비스 제공시스템에서의 제어 터널 및 다이렉트 터널 설정 방법

Country Status (3)

Country Link
US (1) US8457014B2 (ko)
JP (1) JP4819953B2 (ko)
KR (1) KR100901790B1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100960112B1 (ko) 2007-12-14 2010-05-27 한국전자통신연구원 IPv6 Over IPv4 터널링 기반의 이종망간 심리스 핸드오버 제어 방법 및 장치
US8073959B2 (en) * 2008-03-28 2011-12-06 Microsoft Corporation Automatically detecting whether a computer is connected to a public or private network
EP2448184A1 (en) * 2008-11-17 2012-05-02 Qualcomm Incorporated Remote access to local network via security gateway
US9345065B2 (en) 2008-11-17 2016-05-17 Qualcomm Incorporated Remote access to local network
KR101210388B1 (ko) 2008-12-08 2012-12-10 한국전자통신연구원 Ip 터널링 기술을 이용한 폐쇄 사용자 네트워크 구성 방법 및 폐쇄 사용자 네트워크 시스템
WO2012046390A1 (ja) * 2010-10-07 2012-04-12 パナソニック株式会社 通信装置、通信方法、集積回路、およびプログラム
CN102571892B (zh) * 2010-12-30 2016-02-24 腾讯科技(深圳)有限公司 基于浏览器的数据通讯方法、客户端和数据交互系统
EP2675117A4 (en) * 2011-04-08 2014-03-26 Huawei Tech Co Ltd METHOD AND DEVICE FOR ROUTING FOR A HOST IN A MULTI-HOMING SITE
US20120296743A1 (en) * 2011-05-19 2012-11-22 Yahoo! Inc. Method and System for Personalized Search Suggestions
US9258272B1 (en) * 2011-10-21 2016-02-09 Juniper Networks, Inc. Stateless deterministic network address translation
US9178846B1 (en) 2011-11-04 2015-11-03 Juniper Networks, Inc. Deterministic network address and port translation
US9014189B2 (en) * 2012-01-19 2015-04-21 Comcast Cable Communications, Llc Address translation
JP2014135592A (ja) * 2013-01-09 2014-07-24 Sony Corp 情報処理装置、情報処理方法及び情報処理システム
US9391881B2 (en) * 2013-02-20 2016-07-12 Ip Technology Labs, Llc System and methods for dynamic network address modification
CN103401800B (zh) * 2013-07-31 2016-08-03 杭州华三通信技术有限公司 一种链路负载均衡方法和设备
KR102013862B1 (ko) 2014-01-13 2019-08-23 한국전자통신연구원 네트워크 연속성 보장 방법 및 장치
KR102123415B1 (ko) * 2014-10-31 2020-06-26 에스케이텔레콤 주식회사 메시지 처리 방법, 이를 위한 접속 장치 제어 서버 및 클라우드 접속 장치 제어 시스템
US20160253708A1 (en) * 2015-02-26 2016-09-01 Dropbox, Inc. Method and system for efficiently serving upsell content based on complex user archetypes
US10129207B1 (en) 2015-07-20 2018-11-13 Juniper Networks, Inc. Network address translation within network device having multiple service units
US10469446B1 (en) 2016-09-27 2019-11-05 Juniper Networks, Inc. Subscriber-aware network address translation
US11656992B2 (en) 2019-05-03 2023-05-23 Western Digital Technologies, Inc. Distributed cache with in-network prefetch
US11765250B2 (en) 2020-06-26 2023-09-19 Western Digital Technologies, Inc. Devices and methods for managing network traffic for a distributed cache
US11675706B2 (en) 2020-06-30 2023-06-13 Western Digital Technologies, Inc. Devices and methods for failure detection and recovery for a distributed cache
US11736417B2 (en) 2020-08-17 2023-08-22 Western Digital Technologies, Inc. Devices and methods for network message sequencing
US11870876B2 (en) * 2021-04-29 2024-01-09 Arris Enterprises Llc Enhanced DOCSIS packet classification for tunneled traffic having IPV4 and IPV6 rules mixed in a single upstream (US) and/or downstream (DS) traffic classifier
CN116074038B (zh) * 2022-11-29 2023-08-22 杭州海兴电力科技股份有限公司 一种用于IPv6数据安全传输的网关系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050057886A (ko) * 2003-12-11 2005-06-16 한국전자통신연구원 IPv4/IPv6 터널 브로커 시스템
KR20080050238A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 제어 서버의 성능 향상을 위한 IPv6-IPv4 전환방법 및 시스템

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6690669B1 (en) * 1996-11-01 2004-02-10 Hitachi, Ltd. Communicating method between IPv4 terminal and IPv6 terminal and IPv4-IPv6 converting apparatus
WO2002073907A1 (fr) * 2001-03-13 2002-09-19 Nec Corporation Systeme de gestion de noeud mobile dans un reseau de mobiles
WO2003084184A1 (en) * 2002-03-27 2003-10-09 British Telecommunications Public Limited Company Tunnel broker management
CA2393547A1 (en) * 2002-07-15 2004-01-15 Hexago Inc. Method and apparatus for connecting ipv6 devices through an ipv4 network using a tunneling protocol
US20040088385A1 (en) * 2002-11-01 2004-05-06 Hexago Inc. Method and apparatus for connecting IPV4 devices through an IPV6 network using a tunnel setup protocol
CN1729673A (zh) * 2002-12-20 2006-02-01 皇家飞利浦电子股份有限公司 用于在多机种ip网络中的客户机与服务器之间建立通信的系统和方法
US7305481B2 (en) * 2003-01-07 2007-12-04 Hexago Inc. Connecting IPv6 devices through IPv4 network and network address translator (NAT) using tunnel setup protocol
US7031328B2 (en) * 2003-03-10 2006-04-18 Cisco Technology, Inc. Arrangement for traversing an IPv4 network by IPv6 mobile routers
US7277453B2 (en) * 2003-05-30 2007-10-02 Motorola, Inc. Inter private network communications between IPv4 hosts using IPv6
US20050099976A1 (en) 2003-09-23 2005-05-12 Shu Yamamoto Enabling mobile IPv6 communication over a network containing IPv4 components using a tunnel broker model
US7052355B2 (en) * 2003-10-30 2006-05-30 General Electric Company Organic electro-optic device and method for making the same
KR20050065131A (ko) 2003-12-24 2005-06-29 한국전자통신연구원 IPv6 호스트 장치, 동적 터널링 인터페이스(DTI)장치, IPv6 in IPv6 터널링 수행 방법
JP2007519339A (ja) * 2004-01-15 2007-07-12 インタラクティブ ピープル アンプラグド アクチボラグ IPv6ネットワークからのIPv4モビリティを実現する方法
EP1699185A1 (en) 2004-01-30 2006-09-06 Matsushita Electric Industries Co., Ltd. Communication system, information processing system, information processing apparatus, tunnel management apparatus, information processing method, tunnel management method, and program
KR20050079420A (ko) * 2004-02-05 2005-08-10 삼성전자주식회사 터널링 서비스 방법 및 시스템
JP4260659B2 (ja) * 2004-03-12 2009-04-30 エヌ・ティ・ティ・コミュニケーションズ株式会社 パケットのnat透過機能を有する端末装置及びそのプログラム
KR20060009676A (ko) * 2004-07-26 2006-02-01 삼성전자주식회사 자동으로 터널을 설정하는 방법 및 장치
KR100636186B1 (ko) * 2004-10-28 2006-10-19 삼성전자주식회사 양방향 터널 설정 방법 및 시스템
WO2006071055A1 (en) * 2004-12-28 2006-07-06 Samsung Electronics Co., Ltd. A system and method for providing secure mobility and internet protocol security related services to a mobile node roaming in a foreign network
GB2423439B (en) * 2005-02-17 2007-10-24 Motorola Inc Packet data transmission
CN1870568A (zh) * 2005-05-23 2006-11-29 华为技术有限公司 实现网络地址转换/防火墙穿越的方法
JP4607998B2 (ja) 2005-06-03 2011-01-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 異なるアドレス空間におけるモバイルIPv6のルート最適化
US20070006295A1 (en) * 2005-06-24 2007-01-04 Henry Haverinen Adaptive IPsec processing in mobile-enhanced virtual private networks
US7810149B2 (en) * 2005-08-29 2010-10-05 Junaid Islam Architecture for mobile IPv6 applications over IPv4
US20070189219A1 (en) * 2005-11-21 2007-08-16 Mruthyunjaya Navali Internet protocol tunneling on a mobile network
KR100757881B1 (ko) * 2006-09-20 2007-09-11 삼성전자주식회사 Nat를 이용한 자동 터널링 방법 및 그 시스템
WO2009005212A1 (en) 2007-07-04 2009-01-08 Electronics And Telecommunications Research Institute Ipv6 over ipv4 transition method and apparatus for improving performance of control server
US7796594B2 (en) * 2007-02-14 2010-09-14 Marvell Semiconductor, Inc. Logical bridging system and method
JP4697895B2 (ja) * 2007-03-03 2011-06-08 Kddi株式会社 Ims/mmdネットワークへの代理接続方法、アダプタ及びプログラム
KR101057815B1 (ko) * 2008-12-04 2011-08-19 한국전자통신연구원 터널링 기반 이동성 지원 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050057886A (ko) * 2003-12-11 2005-06-16 한국전자통신연구원 IPv4/IPv6 터널 브로커 시스템
KR20080050238A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 제어 서버의 성능 향상을 위한 IPv6-IPv4 전환방법 및 시스템

Also Published As

Publication number Publication date
KR20080050973A (ko) 2008-06-10
US8457014B2 (en) 2013-06-04
US20100008260A1 (en) 2010-01-14
JP2010512092A (ja) 2010-04-15
JP4819953B2 (ja) 2011-11-24

Similar Documents

Publication Publication Date Title
KR100901790B1 (ko) IPv4 네트워크 기반 IPv6 서비스 제공시스템에서의 제어 터널 및 다이렉트 터널 설정 방법
US10154005B2 (en) System and methods for direct connections between previously unconnected network devices across one or more unknown networks
US9705844B2 (en) Address management in a connectivity platform
CN101822026B (zh) 经由网络地址转换单元在面向分组的通信终端设备之间建立连接的方法和装置
GB2446951A (en) Enabling Peer to Peer (P2P) communication in the presence of Network Address Translators (NATs)
JP2007096826A (ja) 情報処理システム、トンネル通信装置、及びトンネル通信方法
KR100882355B1 (ko) 제어 서버의 성능 향상을 위한 IPv6-IPv4 전환방법 및 시스템
JP2006086800A (ja) ソースアドレスを選択する通信装置
US20110270996A1 (en) Method for configuring closed user network using ip tunneling mechanism and closed user network system
KR20120045515A (ko) 가상 네트워크 환경에서 네트워크 단위의 통신 방법
KR20130052240A (ko) 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치
EP3459228A1 (en) Local break-out in mobile ip networks
US8873569B2 (en) User centric virtual network and method of establishing the same
US20140372499A1 (en) Methods and Systems for Enabling NAT Traversal
JP4292897B2 (ja) 中継装置とポートフォワード設定方法
WO2009005212A1 (en) Ipv6 over ipv4 transition method and apparatus for improving performance of control server
EP2052514B1 (en) Pervasive inter-domain dynamic host configuration
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
US9480090B2 (en) Method and system for optimising routing between two network nodes, at least one of which is mobile
KR101124635B1 (ko) IPv4/IPv6 연동 게이트웨이
US20140379785A1 (en) Server Communication
JP2004135108A (ja) 通信制御方法、通信端末、ルータ、通信端末の制御プログラム、およびルータの制御プログラム
JP7370066B2 (ja) 通信方法
JP2010157857A (ja) Vpn接続装置、パケット制御方法、及びプログラム
KR20080050199A (ko) 인터넷 프로토콜 버전 4 네트워크의 서버에서터널네트워크인터페이스 구축 및 터널네트워크인터페이스를이용한 패킷 송/수신 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130527

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140520

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150527

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170529

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190527

Year of fee payment: 11