상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 사설IP 단말기들이 UDP 중계서버에 사설IP 주소-공인IP 주소 정보를 등록하는 제1 단계; UDP통신을 필요로 하는 발신 사설IP 단말기가 상기 UDP 중계서버에 착신 사설IP 단말기의 공인IP 주소를 획득하는 제2 단계; 상기 착신 사설IP 단말기의 공인IP 주소를 획득한 발신 사설IP 단말기가 공인IP 주소로 UDP 데이터 패킷을 전송하는 제3 단계; 및 착신 사설IP 단말기가 상기 UDP 데이터 패킷을 수신하면, 수신된 UDP 데이터 패킷의 출발지 주소를 획득하여 해당 주소로 응답 데이터 패킷을 전송하는 제4 단계를 구비한 것을 특징으로 한다.
또한, 상기와 같은 목적을 달성하기 위하여 본 발명의 시스템은 제1 네트워크에 속해 제1 사설IP를 사용하는 제1 사설IP 단말기; 상기 제1 사설IP를 제1 공인IP로 매핑하기 위한 제1 네트워크 어드레스 변환기; 제2 네트워크에 속해 제2 사설IP를 사용하는 제2 사설IP 단말기; 상기 제2 사설IP를 제2 공인IP로 매핑하기 위한 제2 네트워크 어드레스 변환기; 및 서로 다른 네트워크에 속하는 상기 사설IP 단말기들 사이에 UDP 통신을 위해 UDP 채널 정보를 유지관리하고 있는 UDP 중계서버로 구성되는 것을 특징으로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.
[발명의 개념]
도 1은 본 발명에 따라 사설IP를 사용하여 통신하는 개념을 도시한 개략도로서, (가)는 사설 네트워크(102)에 속하는 사설IP 단말기(110-1)가 다른 사설 네트워크(104)에 속하는 사설IP 단말기(110-2)와 UDP 채널을 통해 통신하는 것을 나타내고, (나)는 사설IP 네트워크(102)의 사설IP 단말기(110-1)와 리얼 IP 네트워크(106)의 공인IP 단말기(120) 사이에 UDP 채널을 통해 통신하는 것을 나타낸다. 즉, 종래에는 도 1의 (가) 및 (나)와 같은 통신환경에서는 UDP를 사용할 수 없었으나 본 발명에서는 사설IP 주소를 공인IP 주소로 변환해주는 UDP 중계서버 및 라우터의 NAT 기능을 이용하여 도 1의 (가) 및 (나)와 같은 통신환경에서도 UDP에 따른 통신을 가능하게 한 것이다.
[제 1 실시예]
도 2는 본 발명에 따른 사설IP망 간의 UDP 통신환경을 도시한 전체 구성도이 다.
도 2를 참조하면, 제1 사설망(102)에는 사설IP 주소를 사용하는 다수의 사설IP 단말기(110-1)들이 연결되어 내부 망(102)에서 사설IP 주소를 이용하여 통신하고 있고, 제1 사설망(102)의 라우터(210-1)는 공인IP 주소를 이용하여 인터넷(202)을 통해 다른 공인IP 서버 및 단말들과 접속할 수 있도록 되어 있다. 또한 다른 사설망인 제2 사설망(104)에는 사설IP 주소를 사용하는 다수의 사설IP 단말기(110-2)들이 연결되어 내부 망(104)에서 사설IP 주소를 이용하여 통신하고 있고, 제2 사설망(104)의 라우터(210-2)는 공인IP 주소를 이용하여 인터넷(202)을 통해 다른 공인IP 서버 및 단말기들과 접속할 수 있도록 되어 있다. 여기서, 사설IP 주소란 사적으로 규정되어 사설망 내부에서만 유일성이 보장되는 IP주소로서, 공인IP 주소와는 달리 공개된 망에서의 유일성이 보장되지 않는 IP 주소이다. 따라서 사설IP 주소를 공개된 망에서 사용하기 위해서는 사설IP 주소를 공인IP 주소로 변환하는 네트워크 어드레스 변환(NAT: Network Address Translation) 기능이 필요한데, 본 발명의 실시예에서 라우터들은 NAT 기능을 포함하는 의미로 사용한다.
그리고 인터넷(202)에는 다수의 공인IP 단말기(220)나 서비스 서버들이 연결될 수 있으며, 본 발명에 따라 사설IP 주소를 이용하여 UDP 통신을 할 수 있도록 하는 UDP 중계서버(230)도 인터넷(202)에 연결되어 있다.
이러한 통신환경에서 각 서버나 단말기들은 고유의 IP 주소를 할당받아 통신하는데, 공인IP 주소의 경우에는 IETF에서 규정된 IPv4 프로토콜에 따라 다음 표1 과 같은 포맷으로 통신한다.
상기 표 1에서와 같이 인터넷 프로토콜에 따르면 IP 패킷은 발신자의 주소인 출발지 주소(Source address)와 착신자의 주소인 목적지 주소(Destination address)가 있어, 패킷이 해당 목적지로 가는 최적의 경로를 찾아 전달되는데, 사설IP 주소의 경우에는 공인IP 주소로 변환되어야만 개방된 네트워크을 통해 전달될 수 있다.
본 발명의 실시예에서 도 2에 도시된 각 단말 및 서버에 할당된 IP 주소가 다음 표 2와 같다고 하자.
단말/서버명칭 |
IP종류 |
IP주소 |
포트번호 |
사설IP1 단말기 |
사설IP |
IP#1 |
$1 |
라우터1 |
공인IP |
IP#3 |
$3 |
사설IP2 단말기 |
사설IP |
IP#2 |
$2 |
라우터2 |
공인IP |
IP#4 |
$4 |
공인IP 단말기 |
공인IP |
IP#7 |
$6 |
UDP 중계서버 |
공인IP |
IP#5 |
$5 |
통상, 네트워크 어드레스 변환기(NAT)는 소수의 공인 IP 주소를 가지고 있으므로 다수의 사설IP 주소를 외부와 연결(매핑)하기 위하여 공인 IP 주소와 포트 정보를 사용한다. 본 발명의 실시예에서 상기 표 2에서와 같이 IP번호는 "#" 다음에 표시하고, 포트번호는 "$" 뒤에 표시하기로 한다.
도 3은 도 2에 도시된 통신환경에서 서로 다른 네트워크에 있는 두 사설 IP 단말간의 UDP 패킷 전송 과정을 도시한 순서도이다.
도 3을 참조하면, 제1 사설망(102)의 제1 사설IP 단말기(110-1)와 제2 사설망(104)의 제2 사설IP 단말기(110-2) 사이의 UDP 통신과정이 UDP 중계서버(230)에 각 사설IP 단말기들의 '사설IP 주소-공인IP 주소'쌍을 등록하는 등록과정과, UDP 중계서버(230)에서 상대방의 공인IP 주소정보를 획득하는 UDP채널 설정과정, UDP 패킷 교환과정으로 크게 구분되어 각 통신노드 사이의 신호흐름으로 도시되어 있다. 본 발명에서는 사설망의 단말기들이 사설IP 주소를 사용하고 있으므로 개방형 네트워크에서 유일성이 보장되는 공인IP 주소로 변환하여 관리할 필요가 있다. 이를 위해 각 사설망의 라우터(210-1,210-2)는 NAT 기능을 포함하여 내부의 사설IP 주소를 공인IP 주소로 매핑해주고, UDP 중계서버(230)는 사설IP 주소들에 대응하는 공인IP 주소들의 중계 테이블을 관리하여 사설IP 주소로 공인IP 주소를 찾을 수 있게 한다.
먼저, 각 사설IP 단말기들(110-1,110-2)은 로그온시 혹은 주기적으로 자신의 사설IP 주소와 대응하는 공인IP 주소를 UDP 중계서버(230)의 중계 테이블에 등록할 필요가 있다. 이를 위해 제1 사설IP 단말기(110-1)는 출발지 주소가 자신의 사설IP 주소와 포트번호(즉, 사설 IP#1-$1)이고, 목적지 주소가 중계서버(230)의 주소와 포트번호(즉, 공인 IP#5-$5)인 UDP 패킷을 형성하여 제1 라우터(210-1)를 통해 UDP등록을 요구한다(301-1).
제1 라우터(210-1)는 단말기(110-1)로부터 UDP 패킷을 수신하고, 수신된 패킷으로부터 출발지의 사설IP 주소와 포트번호(사설 IP#1-$1) 정보를 추출한다. 이때 제1 라우터(210-1)는 여분의 외부 포트(예컨대, $3)를 할당하고, 내부 단말기의 사설IP주소 및 포트번호(사설IP#1-$1)와 외부 포트($3)를 다음 표 3와 같이 매핑 테이블에 저장한다(302-1). 이어 제1 라우터(210-1)는 자신의 공인IP주소(공인 IP#3)와 포트($3)로 패킷의 출발지 주소(Source Address)를 변경하여 패킷의 목적지(Destination Address)(공인 IP#5-$5)인 중계서버(230)로 UDP등록요구 패킷을 재전송한다(303-1). 이때 UDP등록요구 패킷에는 해당 사설IP 단말기(110-1)의 사설IP 주소(사설 IP#1-$1) 및/또는 사용자 아이디(ID)가 페이로드(payload)에 포함되어 전송되어야 한다.
이러한 과정은 다른 사설망의 제2 사설IP 단말기(110-2)에 대해서도 동일하게 수행되고, 제2 라우터(210-2)는 다음 표 4와 같은 매핑 테이블을 유지한다(30-2~03-2).
매핑정보 |
내부주소(사설IP) |
외부주소(공인IP) |
IP:#1 Port:$1 |
IP:#3 Port:$3 |
매핑정보 |
내부주소(사설IP) |
외부주소(공인IP) |
IP:#2 Port:$2 |
IP:#4 Port:$4 |
이에 따라 UDP 중계서버(230)는 각 사설IP 단말기(110-1,110-2)로부터 수신 된 패킷을 분해하여 해당 단말기의 사설IP 주소와 공인IP 주소에 대한 중계 테이블을 생성하여 다음 표 5와 같이 관리한다(304).
중계 테이블 |
사용자 ID |
사설IP 주소 |
공인IP 주소 |
A |
IP#1-$1 |
IP#3-$3 |
B |
IP#2-$2 |
IP#4-$4 |
C |
--- |
---- |
이와 같은 등록과정이 끝난 후, 제1 사설IP 단말기(110-1)가 제2 사설IP 단말기(110-2)와 음성통신(VoIP)을 위해 UDP 통신이 필요한 경우, 제1 사설IP 단말기(110-1)는 출발지 주소가 자신의 사설IP주소와 포트번호(사설 IP#1-$1)이고, 목적지 주소가 중계서버(230)의 주소와 포트번호(공인 IP#5-$5)인 UDP 패킷을 형성하여 제1 라우터(210-1)를 통해 UDP 채널을 요구한다(305). 이때 페이로드에는 UDP통신할 상대방의 사설IP 주소 및/또는 사용자 아이디를 포함하고 있어야 한다.
이에 따라 제1 라우터(210-1)는 매핑 테이블을 이용하여 제1 사설IP 단말기(110-1)의 UDP 패킷에서 사설 IP#1-$1에 대응하는 공인 IP주소(IP#3-$3)를 할당하여 출발지의 사설IP 주소를 공인IP 주소로 변환한 후 목적지인 UDP 중계서버(230)로 UDP 채널 요구 패킷을 전송한다(306).
UDP 중계서버(230)는 제1 라우터(210-1)로부터 수신된 패킷에서 상대방의 사설IP 주소(IP#2-$2)나 사용자 아이디(B)를 추출한 후 중계 테이블을 검색하여 상대방에 대한 공인IP 주소(IP#4-$4)를 찾아 다시 제1 라우터(210-1)로 전송해준다(307,308). 제1 라우터(210-1)는 UDP 중계서버(230)로부터 받은 상대방 공인IP 주소(IP#4-$4)가 포함된 패킷을 해당 제1 사설IP 단말기(110-1)로 전달한 다(309).
이와 같은 절차를 통해 사설IP 주소를 갖는 상대방에 대한 공인IP 주소를 획득한 후 제1 사설IP 단말기(110-1)는 목적지 주소가 공인IP 주소이고 출발지 주소가 자신의 사설IP 주소인 UDP 데이터 패킷을 생성하여 제1 라우터(210-1)를 통해 상대방측으로 전송한다(310).
제1 라우터(210-1)는 앞서와 동일한 절차에 따라 제1 사설IP 단말기(110-1)의 UDP 데이터 패킷에서 사설 IP#1-$1에 대응하는 공인 IP주소(IP#3-$3)를 할당하여 사설IP 주소를 공인IP 주소로 변환한 후, 목적지인 상대방의 공인IP 주소(IP#4-$4)로 UDP 데이터 패킷을 전송한다(311).
제2 라우터(210-2)는 UDP 데이터 패킷을 수신하면, 자신의 매핑 테이블에서 공인IP 주소(IP#4-$4)에 대응하는 사설IP 주소(IP#2-$2)를 찾아 이 사설IP 주소로 수신된 UDP 데이터 패킷을 전달한다(312).
제2 사설IP 단말기(110-2)는 수신된 UDP 데이터 패킷을 분해하여 데이터를 수신함과 아울러 수신된 패킷의 출발지 주소란에서 상대방의 공인IP 주소(IP#1-$1)를 획득하고, 응답할 필요가 있으면 획득된 공인IP 주소(IP#1-$1)를 목적지 주소로 하고 자신의 사설IP 주소(IP#2-$2)를 출발지 주소로 하는 UDP 데이터 패킷을 생성하여 제2 라우터(210-2)를 통해 상대방측으로 전송한다(313).
제2 라우터(210-2)는 제2 사설IP 단말기(110-2)로부터 수신된 UDP 데이터 패킷에서 출발지의 사설IP 주소(IP#2-$2)를 매핑 테이블을 이용하여 공인IP 주소(IP#4-$4)로 변환하여 목적지 주소(IP#3-$3)인 상대방측으로 UDP 데이터 패킷 을 전송한다(314).
이에 따라 제1 라우터(210-1)는 UDP 데이터 패킷을 수신하면 자신의 매핑 테이블에서 공인IP 주소(IP#3-$3)에 대응하는 사설IP 주소(IP#1-$1)를 찾아 이 사설IP 주소로 수신된 UDP 데이터 패킷을 전달한다(315).
이와 같이 하여 제1 사설IP 단말기(110-1)와 제2 사설IP 단말기(110-2) 사이에 UDP 방식으로 통신할 수 있다.
도 4는 도 2에 도시된 통신환경에서 사설 IP 단말기와 공인 IP 단말기 사이의 UDP 통신 과정을 도시한 순서도이다.
도 4를 참조하면, 사설IP 단말기들은 로그온시나 주기적으로 자신의 사설IP 주소(혹은 사용자 아이디)와 대응하는 공인IP 주소를 UDP 중계서버(230)의 중계 테이블에 등록할 필요가 있다. 이를 위해 제1 사설IP 단말기(110-1)가 제1 라우터(210-1)를 통해 중계서버(230)에 UDP 등록하는 절차는 앞서 설명과 동일하다(301-1~304).
이와 같은 상태에서 제1 사설IP 단말기(110-1)로부터 공인IP 단말기(220)로의 UDP 패킷 전송은 상대방이 공인IP 주소를 사용하므로 통상의 절차에 따라 간단히 이루어질 수 있으므로 공인IP 단말기(220)로부터 제1 사설IP 단말기(110-1)로 가는 데이터 전송에 대해 설명한다.
공인IP 단말기(220)는 사설IP 주소를 사용하는 상대방의 공인IP 주소를 알기 위하여 먼저 UDP 중계서버(230)에 접속하여 UDP 채널을 요구한다(401). 이때 UDP 패킷의 출발지 주소는 자신의 공인IP 주소이고, 목적지 주소는 UDP 중계서버의 주 소이며, 페이로드에 상대방의 사설IP 주소(혹은 사용자 아이디)가 실려 있다.
이에 따라 UDP 중계서버(230)는 수신된 패킷에서 상대방의 사설IP 주소(혹은 사용자 아이디)를 추출한 후 중계 테이블을 검색하여 상대방에 대한 공인IP 주소를 찾아 전송해준다(402,403).
상대방에 대한 공인IP를 획득한 공인IP 단말기(220)는 출발지 주소를 자신의 공인IP 주소로 하고 목적지 주소를 상대방 공인IP 주소로 한 UDP 데이터 패킷을 생성하여 상대방 제1 라우터(210-1)로 전송한다(404).
제1 라우터(210-1)는 UDP 데이터 패킷을 수신하면 자신의 매핑 테이블에서 공인IP 주소에 대응하는 사설IP 주소를 찾아 이 사설IP 주소로 수신된 UDP 데이터 패킷을 전달한다(405).
제1 사설IP 단말기(110-1)는 필요할 경우 공인IP 단말기(220)의 공인IP 주소로 UDP 데이터 패킷을 전송한다(406,407).
이와 같이 하여 제1 사설IP 단말기(110-1)와 공인IP 단말기(220) 사이에는 UDP 방식으로 통신할 수 있다.
[제2 실시예]
도 5는 본 발명에 따라 TCP 채널을 이용하여 UDP 채널을 설정하는 통신환경을 도시한 전체 구성도이다.
도 5를 참조하면, 제1 사설망(102)에는 사설IP 주소를 사용하는 다수의 사설IP 단말기(110-1)들이 연결되어 내부 망(102)에서 사설IP 주소를 이용하여 통 신하고 있고, 제1 사설망(102)의 라우터(210-1)는 공인IP 주소를 이용하여 인터넷(202)을 통해 다른 공인IP 서버 및 단말들과 접속할 수 있도록 되어 있다. 또한 다른 사설망인 제2 사설망(104)에는 사설IP 주소를 사용하는 다수의 사설IP 단말기(110-2)들이 연결되어 내부 망(104)에서 사설IP 주소를 이용하여 통신하고 있고, 제2 사설망(104)의 라우터(210-2)는 공인IP 주소를 이용하여 인터넷(202)을 통해 다른 공인IP 서버 및 단말들과 접속할 수 있도록 되어 있다. 그리고 인터넷(202)에는 다수의 공인IP 단말(220)이나 서비스 서버들이 연결될 수 있으며, 본 발명에 따라 사설IP 주소를 이용하여 UDP 통신을 할 수 있도록 하는 UDP 중계서버(230)와, TCP에 따른 서비스를 제공하는 TCP 서비스 서버(510)도 인터넷(202)에 연결되어 있다.
도 6은 본 발명에 따라 TCP 채널을 이용하여 UDP 채널을 설정하는 과정을 도시한 순서도이다.
도 6을 참조하면, 제1 사설IP 단말기(110-1)와 제2 사설IP 단말기(110-2) 사이에는 TCP 서비스 서버(510)에 의해 이미 TCP 채널이 접속되어 있는 것으로 가정한다(601). 그리고 각 사용자(사설IP 단말기)는 먼저 UDP등록요구를 통해 UDP 중계서버(230)에 사설IP에 매핑된 공인IP 정보를 테이블에 저장하고 있다(602~606). 즉, 제1 사설IP 단말기(110-1)는 출발지 주소가 자신의 사설IP 주소와 포트번호(사설 IP#1-$1)이고, 목적지 주소가 중계서버(230)의 주소와 포트번호(공인 IP#3-$5)인 UDP 패킷을 형성하여 제1 라우터(210-1)를 통해 중계서버(230)로 전송하고(602), 제1 라우터(210-1)는 제1 사설IP 단말기(110-1)의 UDP 패킷에서 사 설IP 주소에 대응하는 공인 IP주소를 할당하여 매핑 테이블을 유지함과 아울러 사설IP주소를 공인IP주소로 변환한 후 목적지인 UDP 중계서버(230)로 UDP 등록요구 패킷을 전송한다(604). 이때 UDP등록요구 패킷에는 해당 사설IP 단말기의 사설IP주소 및/또는 사용자 아이디가 페이로드에 포함되어 전송되어야 한다. 제2 사설IP 단말기(110-2)도 동일한 과정을 통해 UDP 중계서버(230)의 테이블에 사설IP에 매핑된 공인IP를 등록한다(603,605).
이와 같은 상태에서 UDP 채널로 전환하여 다른 서비스를 받고자할 경우에, 제1 사설IP 단말기(110-1)는 제1 라우터(210-1)를 통해 UDP 중계서버(230)에 접속하여 자신의 공인IP 주소를 요구한다(607,608). 즉, 사설IP 주소에 대응하는 공인IP 주소는 제1 라우터(210-1)의 매핑 테이블에 의해 관리됨과 아울러 중계서버(230)의 중계 테이블에 유지되고 있으므로 UDP 중계서버(230)에 자신의 공인IP 주소를 요구한다.
UDP 중계서버(230)는 수신된 패킷에서 해당 사설IP 주소(혹은 사용자 아이디)를 추출한 후 중계 테이블을 검색하여 해당 사설IP 주소에 대한 공인IP 주소를 찾아 전송해준다(609,610). 제1 라우터(210)는 중계서버(230)로부터 받은 공인IP 주소가 포함된 패킷을 해당 사설IP 단말기(110-1)로 전달한다(611).
아와 같이 하여 자신의 사설IP 주소에 대한 공인IP 주소를 획득한 후 제1 사설IP 단말기(110-1)는 이미 형성된 TCP 채널을 통해 상대방에게 UDP를 위한 자신의 공인IP 주소를 전송함과 아울러 UDP로의 전환을 요구한다(612).
이에 따라 제2 사설IP 단말기(110-2)는 앞서 제1 사설IP 단말기(110-1)가 중 계서버(230)에서 공인IP 주소를 획득하는 과정을 동일하게 수행하여 자신의 공인IP주소를 획득하고, 이미 형성된 TCP 채널로 UDP로의 전환에 대해 응답함과 아울러 자신의 공인IP 주소를 전달한다(613~618).
이에 따라 양측 사설IP 단말기(110-1,110-2)는 UDP 채널로 전환하여 UDP 데이터 패킷을 교환할 수 있다(619). UDP 데이터 패킷의 구체적인 전송과정은 앞서 설명한 제1 실시예의 UDP 데이터 패킷 전송절차와 동일하므로 더 이상의 자세한 설명은 생략한다.
도 7은 본 발명에 따라 UDP 채널 정보를 획득한 후, 이 정보를 다른 프로그램에서 그대로 사용하는 예를 도시한 도면이다.
앞서 살펴본 바와 같이, UDP 채널을 설정하는 방법은 제1 실시예에서와 같이 주기적으로 사용자가 중계서버(230)에게 보고를 하여 UDP 중계서버(230)에서 사용자의 UDP 채널 정보를 유지하는 방법과, 제2 실시예에서와 같이 UDP 채널 외에 상시 연결 채널(예컨대, TCP채널)을 통하여 요구 메시지를 전달하여 서로 채널을 설정하는 방법이 있다.
제1 실시예의 방법은 각 사용자 A, B, C가 주기적으로 UDP 중계서버(230)에 UDP 패킷을 전송함으로써 자신의 상태를 보고하고 라우터의 정보를 갱신하는 것이다. 이 방법은 특별한 요청 채널 없이 상호간에 UDP 채널을 활용한 통신을 할 수 있다. 예를 들어, 사용자 A가 사용자 B에게 UDP 패킷 전송을 원하는 경우, 사용자 A는 사용자 B를 지정하여 UDP 중계서버(230)에게 UDP 초기화 메시지를 전송한다. UDP 중계서버(230)는 UDP 채널 리스트(중계 테이블)로부터 사용자 B의 채널 정보를 검색한 후 검색된 사용자 B 정보를, 요청한 사용자 A에게 되돌려 준다. 동시에 사용자 B에게 사용자 A의 정보를 초기화 메시지와 함께 전송한다. 이렇게 함으로써 사용자 A와 사용자 B는 서로 상호간의 공인IP 정보를 획득할 수 있고, 상호간에 UDP 패킷 전송이 가능하다.
한편, 제2 실시예에서와 같이 TCP 채널을 활용한 서비스 채널이 형성되어 있다면, TCP 채널을 활용하여 요청에 의해 UDP 채널 설정이 가능하다. TCP 채널을 활용한 UDP 채널 설정은 사용자 A가 서비스 채널을 활용하여 사용자 B에게 채널 설정을 요구한다. 사용자 B는 사용자 A에게 응답 메시지를 전송한다. 이후 사용자 A와 사용자 B는 TCP채널을 통해 상대방의 UDP 채널 정보(공인 IP정보 등)를 획득하고, 상호간의 UDP 통신 채널을 설정한다.
상기 제1 실시예나 제2 실시예를 통하여 상대방의 UDP 채널 정보를 획득하였다면, 해당 정보를 다른 응용 프로그램에 전달함으로써 다른 응용 프로그램에서 해당 정보를 활용할 수 있다.
도 7을 참조하면, 제1 사설망(102)의 제1 사설IP 단말기(110-1)는 제1 라우터(210-1)를 통해 인터넷(202)에 연결되어 있고, 제2 사설망(104)의 제2 사설IP 단말기(110-2)는 제2 라우터(210-2)를 통해 인터넷(202)에 연결되며, 인터넷(202)에는 UDP 중계서버(230)와 TCP 서비스 서버(510), 공인IP 단말기(220)가 연결되어 있다. 그리고 제1 사설IP 단말기(110-1)에는 본 발명에 따라 획득된 UDP 정보(상대방 IP주소, IP#4-$4)를 이용하기 위한 UDP 응용모듈(예컨데, 인터넷 폰)(710-1)이 연결되어 있고, 제2 사설IP 단말기(110-2)에는 본 발명에 따라 획득된 UDP 채널 정 보(상대방 IP주소, IP#3-$3)를 이용하기 위한 UDP 응용모듈(예컨데, 인터넷 폰)(710-2)이 연결되어 있다.
본 발명에서는 이와 같이 사설IP 단말기(110-1,110-2)에 의해 획득된 UDP 채널 정보를 다른 응용모듈(710-1,710-2)에 전달함으로써 해당 응용모듈은 획득된 UDP 채널 정보를 활용하여 UDP 패킷 통신을 할 수 있다. 통상 TCP의 경우 연결된 상대를 인식하고 순서번호를 패킷에 지정하여 연결을 공유할 수 없지만, UDP의 경우 IP 주소와 포트 정보로 통신이 가능하다. 따라서 도 7에서와 같이 다른 응용모듈(710-1,710-2)에서도 단말기(110-1,110-2)에 의해 이미 설정된 IP 주소와 포트번호를 그대로 이용하여 응용모듈간에 상호 UDP 통신이 가능하다.
도 8은 본 발명에 따라 다수의 사설IP 망이 연결된 UDP 통신환경을 도시한 예이다.
도 8을 참조하면, 인터넷(202)에는 많은 사설망(102-1~102-4)이 연결되어 있고, 각 사설망(102-1~102-4)에는 다수의 사설IP 단말기(110-1~110-4)가 연결되어 있다. 인터넷(202)에 연결된 모든 사설IP 단말기(110-1~110-4)는 라우터(210-1~210-4)의 공인 IP정보와 사설IP를 결합하여 유일성이 보장된다. 이렇게 인터넷(202)에 연결되어 있는 사설IP 단말기(110-1,110-2)는 주기적으로 UDP 중계서버(230)에 자신의 정보를 등록함으로써 필요할 때 중계서버(230)에게 ID정보를 이용하여 공인정보(IP주소,포트)를 요청하고, 중계서버(230)는 매핑 테이블을 검색하여 ID에 해당하는 공인정보를 제공한다.
도 8에 의하면, 공인정보 등록과정에서 모든 사설IP 단말기(110-1~110-4)는 주기적으로 자신의 ID정보(유일성을 보장하는 정보; 예컨데, MAC, 사용자 서비스 ID)와 함께 자신의 공인접속번호(IP주소, 포트)를 중계서버(230)에 등록한다. 이 과정을 통하여 사설 IP 단말기(110-1~110-4)는 중계서버(230)에 자신의 정보를 등록할 수 있다. 중계서버(230)에 등록된 사용자가 ID를 이용하여 사용자의 UDP접속정보를 요청할 경우, 중계서버(230)는 매핑 테이블을 검색하여 해당 정보를 제공한다. 이러한 본 발명의 시스템을 이용하면 DNS(Domain Name Service)처럼 사설 IP주소를 공인IP주소로 변환하여 인터넷(202)에 연결된 모든 사설IP 단말기를 공인 IP 단말기처럼 활용할 수 있다.