KR100660123B1 - Vpn server system and vpn terminal for a nat traversal - Google Patents
Vpn server system and vpn terminal for a nat traversal Download PDFInfo
- Publication number
- KR100660123B1 KR100660123B1 KR1020050100883A KR20050100883A KR100660123B1 KR 100660123 B1 KR100660123 B1 KR 100660123B1 KR 1020050100883 A KR1020050100883 A KR 1020050100883A KR 20050100883 A KR20050100883 A KR 20050100883A KR 100660123 B1 KR100660123 B1 KR 100660123B1
- Authority
- KR
- South Korea
- Prior art keywords
- vpn
- client terminal
- server
- module
- network
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/2592—Translation of Internet protocol [IP] addresses using tunnelling or encapsulation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
도 1은 본 발명의 실시예에 따른 VPN(Virtual Private Network) 서버 시스템과 VPN 클라이언트 단말기가 포함되어 있는 VoIP 시스템 구성 예시도.1 is an exemplary configuration of a VoIP system including a VPN (Virtual Private Network) server system and a VPN client terminal according to an embodiment of the present invention.
도 2는 도 1에 도시한 시스템을 논리적 시스템으로 재도시한 도면.FIG. 2 is a diagram of the system shown in FIG. 1 as a logical system. FIG.
도 3은 도 1에 도시한 VPN 서버 시스템의 프로그램 모듈 구성 예시도.3 is an exemplary program module configuration of the VPN server system shown in FIG.
도 4는 도 1중 본 발명의 실시예에 따른 VPN 클라이언트 단말기의 프로그램 모듈 구성 예시도.4 is an exemplary program module configuration of a VPN client terminal according to an embodiment of the present invention in FIG.
도 5는 도 1에 도시한 VPN 서버와 VPN 클라이언트 단말기간에 VPN이 연결되는 과정을 설명하기 위한 도면.5 is a view for explaining a process of connecting a VPN between the VPN server and the VPN client terminal shown in FIG.
도 6은 도 1에 도시한 VPN 서버와 게이트키퍼를 중심으로 한 콜 시그널링 트랜스퍼(call signalling transfer) 예시도.FIG. 6 illustrates an example of call signaling transfer centering on the VPN server and gatekeeper shown in FIG. 1; FIG.
도 7은 본 발명의 또 다른 실시예에 따른 VPN 서버 시스템이 포함되어 있는 VoIP 시스템 구성 예시도.Figure 7 is an exemplary VoIP system configuration that includes a VPN server system according to another embodiment of the present invention.
도 8은 도 7에 도시한 시스템을 논리적 시스템으로 재도시한 도면.FIG. 8 is a diagram of the system shown in FIG. 7 as a logical system. FIG.
도 9는 도 7에 도시한 VPN 서버 시스템의 프로그램 모듈 구성 예시도.9 is an exemplary program module configuration of the VPN server system shown in FIG.
도 10은 도 7에 도시한 VPN 서버와 게이트키퍼를 중심으로 한 콜 시그널링 트랜스퍼(call signalling transfer) 예시도.FIG. 10 is a diagram illustrating call signaling transfer centering on the VPN server and gatekeeper shown in FIG. 7; FIG.
본 발명은 VoIP 시스템에 관한 것으로, 특히 NAT(Network Address Translation) 통과(traversal)를 위한 가상의 사설망(VPN)을 구축하기 위해 필요한 서버 시스템과 VPN 클라이언트 단말기에 관한 것이다.The present invention relates to a VoIP system, and more particularly, to a server system and a VPN client terminal necessary for establishing a virtual private network (VPN) for NAT (traversal) traversal.
IP 자원이 제한적이고 사용자의 입장에서 비용 증가 등의 이유로 NAT(Network Address Translation) 방식의 IP 공유기가 많이 이용되고 있다. 공유기를 사용하게 되면 하나의 공인 IP를 이용해서 다수의 단말이 IP망에 연결될 수 있기 때문에 소규모 기업이나 가정에서 많이 사용되고 있다.Network routers using NAT (Network Address Translation) are widely used because of limited IP resources and increased cost from the user's point of view. When the router is used, many terminals can be connected to the IP network by using one public IP, which is widely used in small businesses or homes.
그러나 NAT을 이용할 경우 일부 어플리케이션이 TCP/IP 응용 프로그램의 종류에 따라 NAT 방화벽에 의해 정상적으로 처리되지 않는 문제가 발생할 수 있다. 이는 NAT가 TCP/UDP 패킷의 헤더만 변경하므로 페이로드에 네트워크 접속정보를 전송하는 경우, 상대방에서 라우팅할 수 없는 사설 IP를 얻을 수 밖에 없기 때문이다. 이러한 프로토콜을 사용하는 대표적인 응용 프로그램으로 P2P방식의 파일 공유/전송 어플리케이션, 인터넷 게임, VoIP 또는 FTP와 같은 것들이 있다. 이중 FTP와 같이 널리 알려진 프로토콜은 IP 공유기에서 페이로드에 전송되는 접속정보를 변경하는 NAT Traversal을 실시하여 상술한 문제를 해결할 수 있다. 그러나 NAT Traversal과 같은 별도 처리 대상을 선정하기에는 어플리케이션의 수가 너무 많으 며, 언제나 새로운 어플리케이션이 만들어지고 있으므로, NAT 방화벽을 통과하지 못하는 어플리케이션이 항상 존재할 수 밖에 없다.However, when using NAT, some applications may not be processed properly by the NAT firewall depending on the type of TCP / IP application. This is because NAT only changes the header of the TCP / UDP packet, so when transmitting network access information in the payload, the private IP cannot be routed from the other party. Typical applications using these protocols include P2P file sharing / transfer applications, Internet games, VoIP or FTP. A well-known protocol such as FTP can solve the above-mentioned problem by performing NAT traversal to change the access information transmitted to the payload in the IP router. However, because there are too many applications to select separate processing targets such as NAT Traversal, and new applications are always being created, there are always applications that cannot pass through the NAT firewall.
한편 NAT 방화벽의 문제를 일부 해결하는 기능으로서, IP 공유기에서 내부 네트워크의 한 장치를 DMZ(DeMilitarized Zone) 서버로 지정하고, 상기 DMZ 서버로 지정된 네트워크 장치로부터의 패킷은 가급적 헤더의 포트번호를 바꾸지 않고 IP망으로 내보내며, 등록되지 않은 통로로 전송되는 외부로부터의 패킷은 버리지 않고 모두 DMZ로 보내는 방법이 있다. 이러한 방법은 DMZ가 비록 NAT 방화벽 내부에 존재하지만 IP망에 직접 연결된 것처럼 보이게 하여 외부로부터의 접근을 모두 허용하도록 한 것이다.On the other hand, as a function to solve some of the problems of NAT firewall, the IP router designates one device of the internal network as a DMZ (DeMilitarized Zone) server, and packets from the network device designated as the DMZ server are preferably changed without changing the port number of the header. There is a way to send all the packets from the outside to the DMZ without sending them out through the IP network. This approach allows the DMZ to appear to be directly connected to the IP network, even though it is inside the NAT firewall, allowing access from the outside.
그러나 DMZ를 사용하더라도 IP 공유기 내부의 네트워크 장치가 여전히 사설 IP를 사용하기 때문에, 상술한 NAT Traversal 처리에 대한 근본적인 문제를 해결할 수는 없다.However, even with the DMZ, since the network device inside the IP router still uses the private IP, it cannot solve the fundamental problem of the NAT traversal processing described above.
이에 본 발명의 목적은 상술한 문제점을 해결하기 위하여 창안된 것으로서, IP 폰들이 IP 공유기에 접속되어 있는 VoIP 시스템에서 NAT Traversal이 정상 처리되도록 하여 VoIP 통화가 이루어질 수 있는 VPN(Virtual Private Network) 서버 시스템 및 VPN 클라이언트 단말기를 제공함에 있다.Accordingly, an object of the present invention was devised to solve the above-mentioned problem, and a VPN (Virtual Private Network) server system capable of making a VoIP call by allowing NAT Traversal to be normally processed in a VoIP system in which IP phones are connected to an IP router. And a VPN client terminal.
상기 목적을 달성하기 위한 본 발명의 일실시예에 따른 VPN 서버 시스템은 사설 IP가 할당되어 있는 게이트키퍼와 이더넷 인터페이스부를 통해 접속 가능하 며, IP 공유기에 접속되는 다수의 VPN 클라이언트 단말들과 가상의 사설망(VPN)을 구축하기 위한 VPN(Virtual Private Network) 서버로서,VPN server system according to an embodiment of the present invention for achieving the above object is accessible via a gatekeeper and an Ethernet interface to which a private IP is assigned, and a plurality of VPN client terminals connected to an IP router As a virtual private network (VPN) server for building a private network (VPN),
VPN 네트워크에 접속하기 위해 필요한 정보들과 VoIP 통신을 수행하기 위해 필요한 정보들을 VPN 인터페이스부를 통해 상기 VPN 클라이언트 단말들에 제공하기 위한 컨피그(config) 모듈과;A config module for providing the VPN client terminals with information necessary for connecting to a VPN network and information necessary for performing VoIP communication;
접속 요청한 VPN 클라이언트 단말을 인증하기 위한 클라이언트 인증모듈과;A client authentication module for authenticating the VPN client terminal requesting access;
인증된 VPN 클라이언트 단말과 VPN 세션을 유지하며, 상기 VPN 인터페이스와 이더넷 인터페이스 상호간에 송수신되는 호 처리 패킷들을 릴레이하기 위한 터널 모듈과;A tunnel module for maintaining a VPN session with an authenticated VPN client terminal and for relaying call processing packets transmitted and received between the VPN interface and the Ethernet interface;
VPN 클라이언트 단말과 VPN을 구성하기 위한 가상의 드라이버를 제공하기 위한 VPN 레이어 모듈;을 포함함을 특징으로 한다.And a VPN layer module for providing a virtual driver for configuring a VPN with the VPN client terminal.
더 나아가 상기 VPN 인터페이스와 이더넷 인터페이스 상호간에 송수신되는 음성 데이터 패킷을 릴레이하기 위한 미디어 릴레이 모듈을 더 포함함을 또 다른 특징으로 한다.Furthermore, it further includes a media relay module for relaying voice data packets transmitted and received between the VPN interface and the Ethernet interface.
상술한 바와 같은 특징적 구성에 따르면, IP 공유기에 접속되어 있는 다수의 VPN 클라이언트는 우선적으로 VPN 서버와 가상의 사설망을 구축하게 되고, 구축된 가상의 사설망을 통해 게이트키퍼와 호 처리 관련 패킷을 자유롭게 송수신함으로서, 사설 IP를 가지는 VPN 클라이언트 단말들이 정상적으로 VoIP 통화를 수행할 수 있게 되는 것이다.According to the characteristic configuration as described above, a plurality of VPN clients connected to the IP router preferentially establishes a virtual private network with the VPN server, and freely transmits and receives the gatekeeper-related packets with the gatekeeper through the established virtual private network. By doing so, VPN client terminals having a private IP can normally perform VoIP calls.
한편 본 발명의 실시예에 따른 VPN 클라이언트 단말기는 VPN(Virtual Private Network) 서버와 가상의 사설망(VPN)을 구축할 수 있는 VoIP 단말기로서,Meanwhile, a VPN client terminal according to an embodiment of the present invention is a VoIP terminal capable of establishing a virtual private network (VPN) server and a virtual private network (VPN).
외부 단말과 VoIP 통화를 수행하기 위해 필요한 통신 프로토콜 스택 모듈과;A communication protocol stack module required for conducting a VoIP call with an external terminal;
VPN 네트워크에 접속하기 위해 필요한 정보 및 VoIP 통신을 수행하기 위해 필요한 정보들을 상기 서버로부터 제공받기 위한 컨피그 모듈과;A config module for receiving from the server information necessary for connecting to a VPN network and information necessary for performing VoIP communication;
상기 서버로부터 제공받은 인증정보를 이용하여 VPN에 가입하기 위한 인증절차를 수행하기 위한 인증 모듈과;;An authentication module for performing an authentication procedure for joining a VPN by using the authentication information provided from the server;
상기 VPN 서버와 VPN 세션을 유지하고, VPN 인터페이스와 이더넷 인터페이스 상호간에 송수신되는 호 처리 패킷들을 릴레이하기 위한 터널 모듈과;A tunnel module for maintaining a VPN session with the VPN server and for relaying call processing packets transmitted and received between the VPN interface and the Ethernet interface;
상기 VPN 서버와 VPN을 구성하기 위한 가상의 드라이버를 제공하기 위한 VPN 레이어 모듈; 및A VPN layer module for providing a virtual driver for configuring a VPN with the VPN server; And
상기 프로그램 모듈 및 응용 프로그램들을 관리하기 위한 시스템 운영체계(OS);를 포함함을 특징으로 한다.And a system operating system (OS) for managing the program modules and application programs.
이러한 클라이언트 단말기 역시 VPN 서버와 가상의 사설망을 구축하게 되고, 구축된 가상의 사설망을 통해 게이트키퍼와 호 처리 관련 패킷을 자유롭게 송수신함으로서 정상적인 VoIP 통화가 이루어질 수 있다.The client terminal also establishes a virtual private network with the VPN server, and a normal VoIP call can be made by freely transmitting and receiving a packet associated with a gatekeeper through the established virtual private network.
이하 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 관련된 공지 기능 혹은 구성에 대한 상세한 설명은 생략하기로 한다. 그리고 하기에서는 설명의 편의상 H.323 방식을 채용한 VoIP 시스템을 가정하여 본 발명의 실시예를 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In describing the present invention, a detailed description of related known functions or configurations will be omitted. In the following description, an embodiment of the present invention will be described on the assumption of a VoIP system employing the H.323 method for convenience of description.
우선 도 1은 본 발명의 실시예에 따른 VPN(Virtual Private Network) 서버 (120) 시스템과 IP 폰인 VPN 클라이언트 단말기(140)가 포함되어 있는 VoIP 시스템 구성을 예시한 것이다.First, FIG. 1 illustrates a configuration of a VoIP system including a VPN server 120 and a VPN client terminal 140 which is an IP phone according to an embodiment of the present invention.
도 1에 도시되어 있는 바와 같이 공인 IP를 가지는 일반 IP폰(150)들과 게이트키퍼(GK:110)는 IP망에 연결되어진다. 상기 게이트키퍼(GK:110)는 VoIP 단말을 관리하는 주체로서 호 관리는 물론 과금이나 사용자 관리 기능을 담당하는 것이 일반적이다. 이러한 일반적 기능과는 별도로 상기 게이트키퍼(110)는 본 발명의 구현을 위해서 사설 IP(172.18.0.4)가 할당되어지며 로컬 이더넷망을 통해 후술하는 VPN 서버(120) 시스템과 연결된다. 한편 사설 IP를 가지는 VPN 클라이언트 단말기(140)는 IP 공유기인 NAT 라우터(130)를 통해 IP망과 접속 가능하다. 하기 설명에서 VPN 클라이언트 단말기(140)는 VPN 클라이언트 기능이 포함된 IP폰과 같은 VoIP 단말을 의미하는 것으로 정의하기로 한다.As shown in FIG. 1,
상술한 VoIP 시스템에서 VPN 서버(120)는 NAT 라우터(130)에 접속되어 있는 다수의 VPN 클라이언트 단말들(140)과 가상의 사설망(VPN)을 구축한다. 이와 같이 VPN 서버(120)와 VPN 클라이언트 단말들(140)이 VPN을 구축하는 경우의 논리적 시스템 구성이 도 2에 도시되어 있다. 이하 도 2에 도시한 바와 같은 논리적 시스템 구성이 얻어지기 위한 VPN 서버(120)와 VPN 클라이언트 단말기(140)의 구성 및 동작을 순차적으로 부연 설명하기로 한다.In the above-described VoIP system, the VPN server 120 establishes a virtual private network (VPN) with a plurality of VPN client terminals 140 connected to the
우선 도 3은 도 1에 도시한 VPN 서버(120) 시스템의 프로그램 모듈 구성을 도시한 것으로, 컨피그(config) 모듈(121), 인증모듈(122), 터널(tunnel)모듈(123), VPN 레이어(layer) 모듈(125) 및 시스템 운영체계(OS) 모듈, 그리고 경우에 따라서는 미디어 릴레이 모듈(124)을 추가적으로 더 포함한다.First, FIG. 3 illustrates a program module configuration of the VPN server 120 system shown in FIG. 1, which includes a
상기 컨피그 모듈(121)은 VPN 네트워크에 접속하기 위해 필요한 정보들과 VoIP 통신을 수행하기 위해 필요한 정보들을 허가된 VPN 클라이언트 단말들(140)에 제공하는 역할을 담당한다. 컨피그 모듈(121)에 의해 제공되는 정보는, VPN 서버의 리얼 IP 어드레스 및 TCP 포트정보, 미디어 릴레이 서버의 리얼 IP 어드레스, VPN 클라이언트 단말의 VPN IP 어드레스, VPN 클라이언트의 ID 및 패스워드, VPN 네트워크의 마스크(mask) 어드레스, 게이트키퍼(110) IP 어드레스 및 VPN 네트워크에서 라우팅을 위한 정보, VPN 네트워크의 디폴트 게이트웨이 IP 어드레스를 포함한다. 이들 정보중 미디어 릴레이 서버를 대신할 수 있는 미디어 릴레이 모듈이 VPN 서버(120)의 프로그램 모듈로 구현되었다면 그 서버의 정보는 VPN 서버정보가 될 것이다.The
인증모듈(122)은 VPN에 접속 요청한 VPN 클라이언트 단말(140)과 TCP 연결 설정한후 그 클라이언트 단말을 인증하는 역할을 담당한다. 참고적으로 상기 인증모듈(122)은 상기 VPN 클라이언트의 ID와 패스워드를 통해 단말을 인증한다.The
그리고 터널 모듈(123)은 인증된 VPN 클라이언트 단말(140)과 VPN 세션을 유지하며, VPN 인터페이스와 이더넷 인터페이스 상호간에 송수신되는 호 처리 패킷들을 릴레이(relay)하는 역할을 담당한다.The
한편 VPN 레이어 모듈(125)은 VPN 클라이언트 단말(140)과 VPN을 구성하기 위한 가상의 드라이버를 제공하기 위한 모듈로서, 상기 터널 모듈(123)에 의해서 VPN 클라이언트 단말들로 전송되는 패킷과 세션 유지 패킷들은 상기 VPN 레이어 모 듈(125)이 제공하는 가상의 드라이버를 통해서 전달되는 것이다.Meanwhile, the
상술한 바와 같은 프로그램 모듈들을 포함하는 VPN 서버(120)는 기본적으로 상기 프로그램 모듈들을 관리하기 위한 시스템 운영체계(OS)를 더 포함하며,The VPN server 120 including the program modules as described above basically further includes a system operating system (OS) for managing the program modules.
경우에 따라서는 VPN 인터페이스와 이더넷 인터페이스 상호간에 송수신되는 음성 데이터 패킷(RTP)을 릴레이하기 위한 미디어 릴레이 모듈(124)을 더 포함할 수도 있다. 물론 외부 IP망에 구축되어 있는 미디어 릴레이 기능의 TURN 서버를 이용하는 경우라면 상기 미디어 릴레이 모듈은 불필요한 구성이 될 것이다.In some cases, it may further include a
이하 상술한 구성을 가지는 VPN 서버(120)와 VPN을 구축하는 VPN 클라이언트 단말기(140)의 프로그램 모듈 구성을 도 4를 참조하여 설명하기로 한다.Hereinafter, a program module configuration of the VPN server 120 having the above-described configuration and the VPN client terminal 140 establishing a VPN will be described with reference to FIG. 4.
도 4에 도시한 바와 같이 VPN 클라이언트 단말기(140)는 기본적으로 외부 단말과 VoIP 통화를 수행하기 위해 필요한 통신 프로토콜 스택 모듈(145)을 포함한다. 이러한 통신 프로토콜 스택 모듈로서 H.323 통신규약에 따라 통신 수행하는 H.323모듈을 들 수 있다.As shown in FIG. 4, the VPN client terminal 140 basically includes a communication
아울러 VPN 클라이언트 단말기(140)는 VPN 네트워크에 접속하기 위해 필요한 정보(VPN 접속정보라 함) 및 VoIP 통신을 수행하기 위해 필요한 정보들을 요청하여 상기 VPN 서버(120)로부터 제공받는 컨피그 모듈(141)과, 상기 서버(120)로부터 제공받은 정보를 이용하여 VPN 서버와 연결 설정하고 VPN에 가입하기 위한 인증절차를 수행하는 인증 모듈(142) 및 상기 VPN 서버(120)와 VPN 세션을 유지하고, VPN 인터페이스와 이더넷 인터페이스 상호간에 송수신되는 호 처리 패킷들을 릴레이하기 위한 터널 모듈(143), 그리고 상기 VPN 서버(120)와 VPN을 구성하기 위한 가상 의 드라이버를 제공하기 위한 VPN 레이어 모듈(144), STUN 서버와 메세지를 송수신하여 NAT을 프로브(probe)하기 위한 스턴(STUN) 모듈(146)과 상기 프로그램 모듈들을 관리하기 위한 시스템 운영체계(OS)(147)를 포함한다.In addition, the VPN client terminal 140 requests the information necessary for accessing the VPN network (referred to as VPN connection information) and the information required for performing VoIP communication, and receives the
이하 상술한 바와 같은 구성을 가지는 VPN 서버(120)와 VPN 클라이언트 단말기(140)가 VPN을 구축하는 과정을 도 5를 참조하여 설명하기로 한다.Hereinafter, a process of establishing a VPN by the VPN server 120 and the VPN client terminal 140 having the above-described configuration will be described with reference to FIG. 5.
우선 VPN 클라이언트 단말기(140) 사용자는 부여받은 전화번호(H.323 ID, E.164 ID)를 단말기에 설정 등록(S1)한다. 전화번호 설정 등록된 단말기가 재부팅되면, VPN 클라이언트 단말기(140)내 스턴 모듈(146)에 의해 NAT 프로브(probe) 절차(S2)가 이루어진다. 스턴(STUN)의 동작은 RFC 3489 20페이지에 이미 정의되어 있는 관계로 그에 대한 상세 설명은 생략하기로 한다.First, the user of the VPN client terminal 140 registers the set telephone numbers (H.323 ID, E.164 ID) with the terminal (S1). Phone Number Setting When the registered terminal is rebooted, a NAT probe procedure S2 is performed by the
상기 스턴 모듈(146)에 의해 클라이언트 단말기(140)가 NAT(IP 공유기)하(下)에 있는 것으로 판명되면, 단말기내 컨피그 모듈(141)은 사전 등록된 VPN 서버(120)의 IP 주소를 이용하여 VPN 서버(120)측으로 H.323 ID와 E.164 ID를 전송하여 VPN 접속정보의 전송을 요청(S3)한다.If the client terminal 140 is found under the NAT (IP router) by the
VPN 서버(120)의 컨피그 모듈(121)에 의해 상기 H.323 ID와 E.164 ID가 정상 ID로 판명(S4)되면, 서버(120)측 컨피그 모듈(121)은 VPN 접속정보들과 VoIP 통신을 수행하기 위해 필요한 정보들을 해당 VPN 클라이언트 단말기(140)측으로 전송(S5)함으로서, 단말기측(140) 컨피그 모듈(141)은 상기 정보들을 전달 받게 되는 것이다.When the H.323 ID and the E.164 ID are determined to be normal IDs (S4) by the
VPN 접속정보를 포함하는 일련의 정보를 전송받게 되면 VPN 클라이언트 단말 기(120)의 인증모듈(142)은 서버(120)측으로 SYN패킷 등을 전송하여 TCP 연결을 설정(S7)한다. 양자간 TCP 연결이 설정되면 VPN 클라이언트 단말기(120)의 인증모듈(142)은 인증정보(VPN ID, 패스워드)를 VPN 서버(120)측으로 전송(S8)하고, 서버(120)측 인증모듈(122) 역시 전송받은 인증정보의 진위여부를 판단(S9)하여 그 결과를 통보(S10)해 준다. 만약 VPN 클라이언트 단말기(140)의 인증이 정상적으로 완료되었다면 VPN 서버(120)와 클라이언트 단말기(140)간에는 하나의 VPN 연결이 정상적으로 설정된 것으로, 이후 양측은 주기적으로 keep Alive 패킷을 전송(S11)하여 VPN 연결상태를 확인하게 되는 것이다.Upon receiving a series of information including VPN access information, the
상술한 바와 같이 VPN 서버(120)와 클라이언트 단말기(140)간에 VPN 연결이 유지되면 이후 H.323 엔드포인트에 해당하는 VPN 클라이언트 단말기(140)는 도 6에 도시한 바와 같이 VPN 서버(120)측으로 위치정보 등록요구메세지(RRQ)를 전송한다. 이러한 위치정보 등록요구 메세지(RRQ)는 호 처리 패킷들을 릴레이하는 VPN 서버(120)의 터널모듈(123)에 의해 게이트키퍼(110)로 전달됨으로서, 결국 게이트키퍼(110)에는 VPN 클라이언트 단말기(140)들의 위치정보는 물론 외부 IP망에 접속되어 있는 IP폰들(150)의 위치정보 역시 등록되게 되는 것이다.As described above, when the VPN connection is maintained between the VPN server 120 and the client terminal 140, the VPN client terminal 140 corresponding to the H.323 endpoint is then moved to the VPN server 120 side as shown in FIG. 6. Send the location information registration request message (RRQ). The location information registration request message (RRQ) is transmitted to the
이와 같이 게이트키퍼(110)에 VPN 클라이언트 단말기(140)들과 IP폰(150)의 위치등록이 완료되면 이들 상호간에는 도 6에 도시한 바와 같은 일반적인 절차에 따라 호 시그널링 트랜스퍼(call signalling transfer) 과정이 이루어짐으로서 결과적으로 착신측과 발신측 단말기 사이에는 호 연결이 이루어질 수 있는 것이며, 호 연결상태에서 VPN 서버(120)의 미디어 릴레이 모듈(124) 혹은 TURN 서버(IETF의 Draft에 정의됨) 등에 의해 미디어(media) 데이터 등이 실시간으로 전송될 수 있게 되는 것이다.As such, when the location registration of the VPN client terminals 140 and the
보다 구체적으로 도 6에 도시한 바와 같이 VPN 클라이언트 단말기(140)를 호출하기 위한 ARQ 메세지가 발신측 IP폰(150)에서 게이트키퍼(110)로 전송되면, 게이트키퍼(110)는 ARQ 메세지 수신에 응답하는 ACF 메세지를 발신측 IP 폰(150)으로 전송한다. 이에 발신측 IP 폰(150)은 VPN 클라이언트 단말기(140)와 호 접속을 요청하는 셋업메세지를 다시 게이트키퍼(110)측으로 전송한다. 게이트키퍼(110)는 사설 IP할당되어 있는 로컬 이더넷망을 통해 상기 셋업메제지를 다시 VPN 서버(120)측으로 전송한다. 이러한 셋업메세지는 VPN 서버(120)의 터널모듈(123) 및 VPN 레이어 모듈(125)을 통해 VPN 연결되어 있는 VPN 클라이언트 단말기(140)로 전송된다.More specifically, as shown in FIG. 6, when an ARQ message for calling the VPN client terminal 140 is transmitted from the calling
한편 호 셋업메세지를 전송받은 VPN 클라이언트 단말(140)은 VPN 서버(120)를 통해 로컬 이더넷망에 연결된 게이트키퍼(110)와 H.323 프로토콜에 따라 ARQ/ACF/ALERT/CONNECT 메세지를 송수신하여 발신측 IP 폰(150)과 최종적으로 호를 연결하게 된다.Meanwhile, the VPN client terminal 140 receiving the call setup message transmits and receives ARQ / ACF / ALERT / CONNECT message according to the H.323 protocol with the
이와 같이 VPN 서버(120)와 게이트키퍼(110)를 매개로 하여 VPN 클라이언트 단말기(140)와 발신측 IP 폰(150) 사이에 호 연결이 이루어지면, VPN 서버(120)내 미디어 릴레이 모듈(124) 혹은 외부의 TURN 서버에 의해 양자간 음성 데이터는 RTP 데이터로 변환되어 전송됨으로서, NAT 방화벽에 의해 VoIP 통화가 정상적으로 이루어질 수 없는 사설 IP 폰들도 정상적으로 VoIP 통화를 수행할 수 있게 되는 것이 다.As such, when a call connection is made between the VPN client terminal 140 and the
이상의 실시예에서는 본 발명의 실시예에 따른 VPN 서버(120)를 게이트키퍼(110)와 로컬 이더넷망을 통해 연결하여 VoIP 시스템을 구축하는 경우를 예시하였다. 일반적인 게이트키퍼는 하나의 인터페이스만을 이용하도록 구성되어 있기 때문에, 일반 게이트키퍼의 수정 없이 NAT Traversal을 위한 VPN 시스템을 구축할 필요가 있다. 이러한 시스템이 도 7에 도시되어 있다.In the above embodiment, the VPN server 120 according to an embodiment of the present invention is connected to the
도 7은 본 발명의 또 다른 실시예에 따른 VPN 서버(160) 시스템이 포함되어 있는 VoIP 시스템 구성도를 예시한 것이며, 도 8은 도 7에 도시한 시스템을 논리적 시스템으로 재도시한 것이다.FIG. 7 illustrates a configuration of a VoIP system including a VPN server 160 system according to another embodiment of the present invention. FIG. 8 is a diagram illustrating a logical system of the system shown in FIG.
도 7에 도시되어 있는 바와 같이 공인 IP를 가지는 일반 IP폰(150)들과 게이트키퍼(110)는 IP망에 연결되어지며, 사설 IP를 가지는 VPN 클라이언트 단말기들(140)은 IP 공유기인 NAT 라우터(130)를 통해 IP망과 접속 가능하다. 그리고 VPN 서버(160)는 NAT 라우터(130)에 접속되어 있는 다수의 VPN 클라이언트 단말들(140)과 가상의 사설망(VPN)을 구축한다. 이와 같이 VPN 서버(160)와 VPN 클라이언트 단말들(140)이 VPN을 구축하는 경우의 논리적 시스템 구성이 도 8에 도시되어 있다. 이하 도 8에 도시한 바와 같은 논리적 시스템 구성이 얻어지기 위한 VPN 서버(160)의 구성 및 동작을 도 9와 도 10을 참조하여 순차적으로 부연 설명하기로 한다.As shown in FIG. 7,
참고적으로 도 7에 도시한 VPN 클라이언트 단말기(140)의 구성은 도 1에서 이미 설명된 VPN 클라이언트 단말기(140)의 구성과 동일하므로 생략하기로 한다.For reference, the configuration of the VPN client terminal 140 shown in FIG. 7 is the same as the configuration of the VPN client terminal 140 already described with reference to FIG.
우선 도 9는 도 7에 도시한 VPN 서버(160) 시스템의 프로그램 모듈 구성을 예시한 것으로, 상기 VPN 서버(160)는 ;First, FIG. 9 illustrates a program module configuration of the VPN server 160 system shown in FIG. 7, wherein the VPN server 160 includes;
VPN 네트워크에 접속하기 위해 필요한 VPN 접속정보들과 VoIP 통신을 수행하기 위해 필요한 정보들을 VPN 클라이언트 단말들(140)에 제공하기 위한 컨피그(config) 모듈(161)과;A
VPN에 접속 요청한 VPN 클라이언트 단말(140)과 TCP 연결 설정한후 그 클라이언트 단말을 인증하는 클라이언트 인증모듈(162)과;A
인증된 VPN 클라이언트 단말(140)과 VPN 세션을 유지하며, VPN 인터페이스와 이더넷 인터페이스 상호간에 송수신되는 호 처리 패킷들을 릴레이하기 위한 터널 모듈(163)과;A
VPN 클라이언트 단말(140)과 VPN을 구성하기 위한 가상의 드라이버를 제공하기 위한 VPN 레이어 모듈(165); 및A
상기 VPN 클라이언트 단말(140)로부터 전송된 시그널링 패킷 정보에 포함된 IP 어드레스와 포트정보를 자신의 IP 어드레스와 포트정보로 변경하여 게이트키퍼(110)로 전송하는 시그널링 프록시 모듈(164); 및 상기 프로그램 모듈들을 관리하기 위한 시스템 운영체계(OS);를 포함한다.A
이와 같은 구성을 가지는 VPN 서버(160)에서 시그널링 프록시 모듈(164)은 게이트키퍼(110) 입장에서 보면 하나의 VoIP 단말 처럼 동작하고, 클라이언트 단말(140) 입장에서 보면 게이트키퍼 처럼 동작한다.In the VPN server 160 having such a configuration, the
상술한 바와 같은 구성을 가지는 VPN 서버(160)와 VPN 클라이언트 단말기(140)가 VPN을 구축하는 과정 역시 이미 도 5에서 설명한 방법과 동일하다.The process of establishing the VPN by the VPN server 160 and the VPN client terminal 140 having the above-described configuration is also the same as the method described with reference to FIG. 5.
즉, VPN 클라이언트 단말기(140)는 스턴 모듈(146)을 통해 NAT 프로브(probe) 절차를 수행하고, 그 수행 결과에 따라 VPN 서버(160)측으로 H.323 ID와 E.164 ID를 전송하여 VPN 접속정보의 전송을 요청한다. VPN 서버(160)의 컨피그 모듈(161)에 의해 상기 H.323 ID와 E.164 ID가 정상 ID로 판명되면, 서버(160)측 컨피그 모듈(161)은 VPN 접속정보들과 VoIP 통신을 수행하기 위해 필요한 정보들을 해당 VPN 클라이언트 단말기(140)측으로 전송함으로서, 단말기측(140) 컨피그 모듈(141)은 상기 정보들을 전달 받게 되는 것이다.That is, the VPN client terminal 140 performs a NAT probe procedure through the
한편 상술한 정보들을 전송받게 되면 VPN 클라이언트 단말기(120)의 인증모듈(142)은 서버(160)와 TCP 연결을 설정한후 인증정보(VPN ID, 패스워드)를 VPN 서버(160)측으로 전송한다. 이에 서버(160)측 인증모듈(162) 역시 전송받은 인증정보의 진위여부를 판단하여 그 결과를 통보해 준다. 만약 VPN 클라이언트 단말기(140)의 인증이 정상적으로 완료되었다면 VPN 서버(160)와 클라이언트 단말기(140)간에는 하나의 VPN 연결이 정상적으로 설정된 것으로, 이후 양측은 주기적으로 keep Alive 패킷을 전송하여 VPN 연결상태를 확인하게 되는 것이다.On the other hand, if the above information is transmitted, the
상술한 바와 같이 VPN 서버(160)와 클라이언트 단말기(140)간에 VPN 연결이 유지되면 이후 H.323 엔드포인트에 해당하는 VPN 클라이언트 단말기(140)는 도 10에 도시한 바와 같이 VPN 서버(160)측으로 위치정보 등록요구메세지(RRQ)를 전송한다. 이러한 위치정보 등록요구 메세지(RRQ)는 호 처리 패킷들을 릴레이하는 VPN 서버(160)의 터널모듈(163)에 의해 게이트키퍼(110)로 전달됨으로서, 결국 게이트키퍼(110)에는 VPN 클라이언트 단말기(160)들의 위치정보는 물론 외부 IP망에 접속되 어 있는 IP폰들(150)의 위치정보 역시 등록되게 되는 것이다.As described above, when the VPN connection is maintained between the VPN server 160 and the client terminal 140, the VPN client terminal 140 corresponding to the H.323 endpoint is then moved to the VPN server 160 as shown in FIG. 10. Send the location information registration request message (RRQ). The location information registration request message (RRQ) is transmitted to the
이와 같이 게이트키퍼(110)에 VPN 클라이언트 단말기(140)들과 IP폰(150)의 위치등록이 완료되면 이들 상호간에는 도 10에 도시한 바와 같은 절차에 따라 호 시그널링 트랜스퍼(call signalling transfer) 과정이 이루어짐으로서 결과적으로 착신측과 발신측 단말기 사이에는 호 연결이 이루어질 수 있는 것이다.When the location registration of the VPN client terminals 140 and the
보다 구체적으로 도 10에 도시한 바와 같이 VPN 클라이언트 단말기(140)를 호출하기 위한 ARQ 메세지가 발신측 IP폰(150)에서 게이트키퍼(110)로 전송되면, 게이트키퍼(110)는 ARQ 메세지 수신에 응답하는 ACF 메세지를 발신측 IP 폰(150)으로 전송한다. 이에 발신측 IP 폰(150)은 VPN 클라이언트 단말기(140)와 호 접속을 요청하는 셋업메세지를 다시 게이트키퍼(110)측으로 전송하고, 게이트키퍼(110)는 다시 상기 셋업메제지를 VPN 서버(160)측으로 전송한다. 이러한 셋업메세지는 VPN 서버(160)의 터널모듈(163) 및 VPN 레이어 모듈(165)을 통해 VPN 연결되어 있는 VPN 클라이언트 단말기(140)로 전송된다.More specifically, as shown in FIG. 10, when an ARQ message for calling the VPN client terminal 140 is transmitted from the calling
한편 호 셋업메세지를 전송받은 VPN 클라이언트 단말(140)은 VPN 서버(160)와 H.323 프로토콜에 따라 ARQ/ACF/ALERT/CONNECT 메세지를 송수신하는데, 이때 서버(160)내 시그널링 프록시 모듈(164)은 시그널링 패킷 정보에 포함된 단말기의 IP 어드레스와 포트정보를 자신의 IP 어드레스와 포트정보로 변경하여 게이트키퍼(110)측으로 전송함으로서, 최종적으로 VPN 클라이언트 단말(140)과 발신측 IP 폰(150) 사이에는 호 연결이 이루어지게 된다.Meanwhile, the VPN client terminal 140 receiving the call setup message transmits and receives an ARQ / ACF / ALERT / CONNECT message according to the H.323 protocol with the VPN server 160. In this case, the
이와 같이 VPN 서버(160)와 게이트키퍼(110)를 매개로 하여 VPN 클라이언트 단말기(140)와 발신측 IP 폰(150) 사이에 호 연결이 이루어지면, 외부의 TURN 서버에 의해 양자간 음성 데이터는 RTP 데이터로 변환되어 전송됨으로서, NAT 방화벽에 의해 VoIP 통화가 정상적으로 이루어질 수 없는 사설 IP 폰들도 정상적으로 VoIP 통화를 수행할 수 있게 되는 것이다.As such, when a call connection is made between the VPN client terminal 140 and the calling
따라서 일반 게이트키퍼의 수정 없이 VPN 서버(160)내 시그널링 프록시 모듈을 구비하는 것만으로도 NAT Traversal을 위한 VPN 시스템을 정상적으로 구축할 수있게 되는 것이다.Therefore, simply providing a signaling proxy module in the VPN server 160 without modification of the general gatekeeper is able to normally build a VPN system for NAT Traversal.
상술한 바와 같이 본 발명은 IP 공유기에 접속되어 있는 다수의 VPN 클라이언트를 우선적으로 VPN 서버와 연결하여 VPN망을 구축하고 구축된 VPN망을 통해 게이트키퍼와 호 처리 관련 패킷들을 자유롭게 송수신함으로서, NAT 방화벽에 의해 VoIP 통화가 이루어질 수 없는 IP 폰들도 정상적으로 VoIP 통화를 수행할 수 있게 되는 장점이 있다.As described above, the present invention establishes a VPN network by first connecting a plurality of VPN clients connected to an IP router with a VPN server, and freely transmits and receives the gatekeeper and call processing related packets through the established VPN network, thereby providing a NAT firewall. There is an advantage that IP phones that can not make a VoIP call can normally perform a VoIP call.
한편 본 발명은 도면에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에 통상의 지식을 지닌자라면 이로부터 다양한 변형 및 균등한 타실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.On the other hand, the present invention has been described with reference to the embodiments shown in the drawings, which are merely exemplary, and those skilled in the art will understand that various modifications and equivalent other embodiments are possible therefrom. Therefore, the true technical protection scope of the present invention should be defined only by the appended claims.
Claims (7)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050100883A KR100660123B1 (en) | 2005-10-25 | 2005-10-25 | Vpn server system and vpn terminal for a nat traversal |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020050100883A KR100660123B1 (en) | 2005-10-25 | 2005-10-25 | Vpn server system and vpn terminal for a nat traversal |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100660123B1 true KR100660123B1 (en) | 2006-12-20 |
Family
ID=37815140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020050100883A KR100660123B1 (en) | 2005-10-25 | 2005-10-25 | Vpn server system and vpn terminal for a nat traversal |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100660123B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101263783B1 (en) | 2010-12-27 | 2013-05-13 | 삼성에스디에스 주식회사 | System and method for data transmission using relay server |
CN110581903A (en) * | 2019-09-16 | 2019-12-17 | 上海享途网络科技有限公司 | multilayer intranet penetration method, system and medium |
CN113949565A (en) * | 2021-10-15 | 2022-01-18 | 上海谋乐网络科技有限公司 | System and method for detecting vulnerability of intranet digital assets |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020124090A1 (en) | 2000-08-18 | 2002-09-05 | Poier Skye M. | Method and apparatus for data communication between a plurality of parties |
US20040024882A1 (en) | 2002-07-30 | 2004-02-05 | Paul Austin | Enabling authorised-server initiated internet communication in the presence of network address translation (NAT) and firewalls |
KR20040067885A (en) * | 2003-01-21 | 2004-07-30 | 삼성전자주식회사 | Gateway for supporting communication between network devices of different private networks |
US20050008006A1 (en) | 2003-07-02 | 2005-01-13 | Thomas Schimper | Method for operating a voice terminal connected to a remote private automatic branch exchange, communication arrangement and voice terminal |
KR20050040390A (en) * | 2003-10-28 | 2005-05-03 | 케이아이티밸리(주) | Multi-functional server system |
KR20060079515A (en) * | 2004-12-31 | 2006-07-06 | 주식회사 케이티 | Methode for settling account of one-phone data service and system thereof |
-
2005
- 2005-10-25 KR KR1020050100883A patent/KR100660123B1/en not_active IP Right Cessation
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020124090A1 (en) | 2000-08-18 | 2002-09-05 | Poier Skye M. | Method and apparatus for data communication between a plurality of parties |
US20040024882A1 (en) | 2002-07-30 | 2004-02-05 | Paul Austin | Enabling authorised-server initiated internet communication in the presence of network address translation (NAT) and firewalls |
KR20040067885A (en) * | 2003-01-21 | 2004-07-30 | 삼성전자주식회사 | Gateway for supporting communication between network devices of different private networks |
US20050008006A1 (en) | 2003-07-02 | 2005-01-13 | Thomas Schimper | Method for operating a voice terminal connected to a remote private automatic branch exchange, communication arrangement and voice terminal |
KR20050040390A (en) * | 2003-10-28 | 2005-05-03 | 케이아이티밸리(주) | Multi-functional server system |
KR20060079515A (en) * | 2004-12-31 | 2006-07-06 | 주식회사 케이티 | Methode for settling account of one-phone data service and system thereof |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101263783B1 (en) | 2010-12-27 | 2013-05-13 | 삼성에스디에스 주식회사 | System and method for data transmission using relay server |
CN110581903A (en) * | 2019-09-16 | 2019-12-17 | 上海享途网络科技有限公司 | multilayer intranet penetration method, system and medium |
CN113949565A (en) * | 2021-10-15 | 2022-01-18 | 上海谋乐网络科技有限公司 | System and method for detecting vulnerability of intranet digital assets |
CN113949565B (en) * | 2021-10-15 | 2023-10-27 | 上海谋乐网络科技有限公司 | System and method for detecting vulnerability of intranet digital assets |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114866521B (en) | Conference server | |
US8607323B2 (en) | Method for providing media communication across firewalls | |
EP3292675B1 (en) | Establishing media paths in real time communications | |
US7305546B1 (en) | Splicing of TCP/UDP sessions in a firewalled network environment | |
US8291116B2 (en) | Communications system | |
CN101841519B (en) | Multimedia communication session coordination across heterogeneous transport networks | |
US9307049B2 (en) | Voice-over-IP-(VoIP-) telephony computer system | |
US20060262916A1 (en) | Proxy server for internet telephony | |
US9015258B2 (en) | System and method for peer-to-peer media routing using a third party instant messaging system for signaling | |
TW201002018A (en) | Method for predicting port number of NAT apparatus based on two STUN server inquiry results | |
JP5216018B2 (en) | Streaming media services for mobile phones | |
WO2007036160A1 (en) | An apparatus, system and method for realizing communication between the client and the server | |
WO2011038637A1 (en) | Method for realizing end-to-end call, end-to-end call terminal and system | |
US9088542B2 (en) | Firewall traversal driven by proximity | |
US20070058617A1 (en) | Method for establishing and maintaining a connection | |
KR100660123B1 (en) | Vpn server system and vpn terminal for a nat traversal | |
WO2007121255A2 (en) | System and method for a communication system | |
US8576854B2 (en) | System for communication between private and public IP networks | |
US20200287868A1 (en) | Systems and methods for in-band remote management | |
JP2010252261A (en) | Vpn device, vpn networking method and storage medium | |
JP4728933B2 (en) | IP telephone communication system, IP telephone communication method, and program thereof | |
US20050177718A1 (en) | Systems and methods for video transport service | |
Mahbub | Study of Voice over Internet Protocol (VoIP) in an Enterprise Network Through Simulation | |
JP4381190B2 (en) | Registration of terminal identification from external network to server on intranet via DMZ | |
Asghar et al. | Security issues of SIP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |