KR20050078325A - Tcp packet communication method and system for private ip terminals - Google Patents
Tcp packet communication method and system for private ip terminals Download PDFInfo
- Publication number
- KR20050078325A KR20050078325A KR1020040005720A KR20040005720A KR20050078325A KR 20050078325 A KR20050078325 A KR 20050078325A KR 1020040005720 A KR1020040005720 A KR 1020040005720A KR 20040005720 A KR20040005720 A KR 20040005720A KR 20050078325 A KR20050078325 A KR 20050078325A
- Authority
- KR
- South Korea
- Prior art keywords
- private
- address
- tcp
- public
- terminal
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/169—Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- 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/10—Mapping addresses of different types
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 사설 IP(Internet Protocol) 주소를 사용하는 통신단말장치와 공인 IP 주소를 사용하는 통신단말장치가 연결되어 있는 인터넷에서 공인 IP 통신단말장치에서 사설 IP 통신단말장치 방향으로 TCP 채널을 설정하는 방법과 서로 다른 망의 사설 IP 주소를 사용하는 통신단말장치 사이에 TCP 채널을 설정하는 방법에 관한 것으로써, 라우터가 내부 사설 IP 주소와 포트를 라우터의 포트 정보와 매핑 시켜놓도록 하여 사설 IP 주소를 사용하여 공인 IP처럼 사용하는 방법과, 중계서버에서 서로 다른 통신단말장치의 정보를 상호 교환 전달함으로써 통신단말장치 사이에 양방향 TCP 패킷 전송이 가능하도록 하는 것이다. 본 발명의 방법은, 사설IP 단말기들이 TCP 중계서버에 사설IP 주소-공인 IP 주소와 포트를 등록하는 제1 단계; TCP통신을 필요로 하는 발신 사설IP 단말기가 상기 TCP 중계서버에 착신 사설IP 단말기의 공인IP 주소와 포트 정보를 획득하는 제2 단계; 상기 착신 사설IP 단말기의 공인IP 주소와 포트정보를 획득한 발신 사설IP 단말기가 공인IP 주소와 포트로 TCP 연결을 시도하는 제3 단계; 및 착신 사설IP 단말기가 상기 TCP 연결 요청을 수신하고 이에 응답함으로써 TCP 채널을 설정하는 제4 단계를 구비한다.The present invention provides a method for establishing a TCP channel from a public IP communication terminal device to a private IP communication terminal device in the Internet in which a communication terminal device using a private IP (Internet Protocol) address and a communication terminal device using a public IP address are connected. Method of establishing a TCP channel between a communication terminal device using a private IP address of a different network, and having a router map an internal private IP address and a port with the router's port information. By using the public IP as a method, and the relay server to transfer the information of different communication terminal devices to each other to enable the bidirectional TCP packet transmission between the communication terminal devices. The method of the present invention comprises the steps of: private IP terminals registering a private IP address-approved IP address and port with a TCP relay server; A second step of obtaining, by the calling private IP terminal requiring TCP communication, the public IP address and port information of the called private IP terminal from the TCP relay server; A third step of attempting a TCP connection to the public IP address and port by the calling private IP terminal having obtained the public IP address and port information of the incoming private IP terminal; And a fourth step in which the called private IP terminal establishes a TCP channel by receiving and responding to the TCP connection request.
Description
본 발명은 인터넷 프로토콜(Internet Protocol: IP)을 이용한 패킷 통신기술에 관한 것으로, 더욱 상세하게는 서로 다른 사설 네트워크(Private Network) 상의 사설 IP 단말기 간에 티씨피(Transmission Control Protocol; 이하 TCP라 칭함) 규약을 이용하여 통신하는 방법 및 시스템에 관한 것이다.The present invention relates to a packet communication technology using the Internet Protocol (IP), and more particularly, to a TCP protocol between private IP terminals on different private networks. It relates to a method and system for communication using.
일반적으로, 인터넷의 사용자가 증가함에 따라 한정된 인터넷 프로토콜 주소(IP Address)의 고갈 문제를 해결하고 보다 많은 사람이 인터넷 망에 접속할 수 있도록 하기 위하여 고안된 사설IP 주소는, 보안 및 로드 밸런싱(Load Balancing)과 같은 부가적인 효과를 위해서도 많이 사용되고 있다. 그런데 이러한 사설 IP 주소는 인터넷에 연결된 많은 시스템이 중복되게 사용하고 있으므로 인터넷에서 유일성을 보장할 수 없다. 즉, 중복된 IP는 서로 구분할 수 없어 상호간의 직접적인 데이터 전송이 불가능하기 때문에 기존의 망에서는 공인 IP 주소를 갖는 통신 단말장치간이나 사설 IP 통신단말에서 공인 IP 통신단말장치 방향으로, 그리고 동일 사설망 내부의 통신단말장치간에서만 TCP 연결이 가능하였다.In general, private IP addresses designed to solve the problem of depletion of limited Internet Protocol addresses as more and more users of the Internet and to allow more people to access the Internet are secure and load balancing. It is also widely used for additional effects such as However, these private IP addresses are redundantly used by many systems connected to the Internet and thus cannot be guaranteed uniqueness on the Internet. In other words, since duplicate IPs cannot be distinguished from each other and direct data transmission between each other is impossible, in the existing network, between communication terminal devices having public IP addresses or private IP communication terminals in the direction of public IP devices and inside the same private network. TCP connection was possible only between communication terminal devices.
따라서 종래에는 공인 IP 주소 단말장치에서 사설 IP 주소 단말장치 방향으로의 연결 설정이나 서로 다른 네트워크에 위치하는 사설 IP 주소의 단말장치 사이의 TCP 연결이 불가능한 문제점이 있었다. Therefore, in the related art, there is a problem in that a connection setting from a public IP address terminal device to a private IP address terminal device or a TCP connection between terminal devices having private IP addresses located in different networks is impossible.
본 발명은 상기한 종래 기술의 문제점을 해결하기 위하여 안출된 것으로서, 네트워크 어드레스 변환(Network Address Translation; 이하 NAT라 칭함) 및 중계서버를 사용하여 서로 다른 네트워크의 사설 IP 단말장치 간에 TCP 통신을 할 수 있게 하는 사설 IP를 사용하는 통신 단말장치간 TCP 연결 설정 방법 및 시스템을 제공하는데 그 목적이 있다. SUMMARY OF THE INVENTION The present invention has been made to solve the above problems of the prior art, and can perform TCP communication between private IP terminal devices of different networks using a network address translation (NAT) and a relay server. It is an object of the present invention to provide a method and system for establishing a TCP connection between communication terminal devices using a private IP.
상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 사설IP 단말기들이 TCP 중계서버에 사설IP 주소-공인IP 주소 정보를 등록하는 제1 단계; TCP 통신을 필요로 하는 발신 사설IP 단말기가 상기 TCP 중계서버에 착신 사설IP 단말기의 공인IP 주소를 획득하는 제2 단계; 상기 착신 사설IP 단말기의 공인IP 주소를 획득한 발신 사설IP 단말기가 공인IP 주소로 TCP d연결을 요청하는 제3 단계; 및 착신 사설IP 단말기가 상기 TCP 연결 요청을 수락하고, 상호간에 TCP 채널을 설정한 후 기존의 TCP 연결처럼 데이터를 송??수신하는 제4 단계를 구비한 것을 특징으로 한다.In order to achieve the above object, a method of the present invention includes a first step of registering private IP address-approved IP address information in a TCP relay server by private IP terminals; A second step of obtaining, by the originating private IP terminal requiring TCP communication, the public IP address of the called private IP terminal from the TCP relay server; A third step of requesting a TCP d connection to a public IP address by a calling private IP terminal having obtained the public IP address of the called private IP terminal; And a fourth step in which the called private IP terminal accepts the TCP connection request, establishes a TCP channel with each other, and then transmits and receives data like a conventional TCP connection.
또한, 상기와 같은 목적을 달성하기 위하여 본 발명의 시스템은 제1 네트워크에 속해 제1 사설IP를 사용하는 제1 사설IP 단말기; 상기 제1 사설IP를 제1 공인IP로 매핑하기 위한 제1 네트워크 어드레스 변환기; 제2 네트워크에 속해 제2 사설IP를 사용하는 제2 사설IP 단말기; 상기 제2 사설IP를 제2 공인IP로 매핑하기 위한 제2 네트워크 어드레스 변환기; 및 서로 다른 네트워크에 속하는 상기 사설IP 단말기들 사이에 TCP 통신을 위해 TCP 채널 정보를 유지관리하고 있는 TCP 중계서버로 구성되는 것을 특징으로 한다.In addition, to achieve the above object, the system of the present invention includes a first private IP terminal using a first private IP belonging to the first network; A first network address translator for mapping the first private IP to a first public IP; A second private IP terminal belonging to the second network and using a second private IP; A second network address translator for mapping the second private IP to a second public IP; And a TCP relay server which maintains TCP channel information for TCP communication between the private IP terminals belonging to different networks.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
[발명의 개념][Concept of invention]
도 1은 본 발명에 따라 사설IP를 사용하여 통신하는 개념을 도시한 개략도로서, (가)는 사설 네트워크(102)에 속하는 사설IP 단말기(110-1)가 다른 사설 네트워크(104)에 속하는 사설IP 단말기(110-2)와 TCP 채널을 통해 통신하는 것을 나타내고, (나)는 리얼 IP 네트워크(106)의 공인IP 단말기(120)가 사설IP 네트워크(102)의 사설IP 단말기(110-1) 방향으로 TCP 채널 연결을 설정하고 통신하는 것을 나타낸다. 즉, 종래에는 도 1의 (가) 및 (나)와 같은 통신환경에서는 TCP 연결을 설정할 수 없었으나 본 발명에서는 사설IP 주소를 공인IP 주소로 변환해주는 TCP 중계서버 및 라우터의 NAT 기능을 이용하여 도 1의 (가) 및 (나)와 같은 통신환경에서도 TCP 연결을 가능하게 한 것이다.1 is a schematic diagram illustrating a concept of communicating using a private IP according to the present invention, wherein (a) is a private IP terminal 110-1 belonging to the private network 102 belonging to another private network 104; The IP terminal 110-2 communicates with the user through a TCP channel, and (b) the public IP terminal 120 of the real IP network 106 is connected to the private IP terminal 110-1 of the private IP network 102. Direction to establish and communicate a TCP channel connection. In other words, in the conventional communication environment such as (a) and (b) of FIG. 1, the TCP connection could not be established, but in the present invention, the NAT function of the TCP relay server and the router converts the private IP address into a public IP address. In the communication environment as shown in (a) and (b) of FIG. 1, the TCP connection is enabled.
[제 1 실시예][First Embodiment]
도 2는 본 발명에 따른 사설IP망 간의 TCP 통신환경을 도시한 전체 구성도이다.2 is an overall configuration diagram showing a TCP communication environment between private IP networks according to the present invention.
도 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 기능을 포함하는 의미로 사용한다.Referring to FIG. 2, a plurality of private IP terminals 110-1 using a private IP address are connected to the first private network 102 to communicate using a private IP address in an internal network 102. The router 210-1 of the private network 102 can connect with other public IP servers and terminals through the Internet 202 using a public IP address. In addition, a plurality of private IP terminals 110-2 using a private IP address are connected to the second private network 104, which is another private network, and communicates using the private IP address in the internal network 104. The router 210-2 of 104 may be connected to other public IP servers and terminals through the Internet 202 using a public IP address. Here, the private IP address is an IP address that is defined privately and guarantees uniqueness only in the private network. Unlike a public IP address, the private IP address is an IP address that does not guarantee uniqueness in the public network. Therefore, in order to use a private IP address in a public network, a network address translation (NAT) function for converting a private IP address into a public IP address is required. In the embodiment of the present invention, routers include a NAT function. Used as.
그리고 인터넷(202)에는 다수의 공인IP 단말기(220)나 서비스 서버들이 연결될 수 있으며, 본 발명에 따라 사설IP 주소를 이용하여 TCP 통신을 할 수 있도록 하는 TCP 중계서버(230)도 인터넷(202)에 연결되어 있다. In addition, a plurality of public IP terminals 220 or service servers may be connected to the Internet 202, and the TCP relay server 230 for allowing TCP communication using a private IP address according to the present invention may also be connected to the Internet 202. Is connected to.
이러한 통신환경에서 각 서버나 단말기들은 고유의 IP 주소를 할당받아 통신하는데, 공인IP 주소의 경우에는 IETF에서 규정된 IPv4 프로토콜에 따라 다음 표1과 같은 포맷으로 통신한다.In this communication environment, each server or terminal is assigned a unique IP address and communicates. In the case of a public IP address, it communicates in the format shown in Table 1 according to the IPv4 protocol specified by IETF.
상기 표 1에서와 같이 인터넷 프로토콜에 따르면 IP 패킷은 발신자의 주소인 출발지 주소(Source address)와 착신자의 주소인 목적지 주소(Destination address)가 있어, 패킷이 해당 목적지로 가는 최적의 경로를 찾아 전달되는데, 사설IP 주소의 경우에는 공인IP 주소로 변환되어야만 개방된 네트워크을 통해 전달될 수 있다.According to the Internet protocol, as shown in Table 1, the IP packet has a source address, which is the sender's address, and a destination address, which is the recipient's address. For example, private IP addresses must be translated into public IP addresses before they can be delivered over an open network.
본 발명의 실시예에서 도 2에 도시된 각 단말 및 서버에 할당된 IP 주소가 다음 표 2와 같다고 하자.In the embodiment of the present invention, it is assumed that IP addresses assigned to each terminal and server shown in FIG. 2 are shown in Table 2 below.
본 발명의 실시예에서 상기 표 2에서와 같이 IP번호는 "#" 다음에 표시하고, 포트번호는 "$" 뒤에 표시하기로 한다. 통상, 네트워크 어드레스 변환기(NAT)는 소수의 공인 IP 주소를 가지고 있으므로 다수의 사설IP 주소를 외부와 연결(매핑)하기 위하여 공인 IP 주소와 포트 정보를 사용한다. In the embodiment of the present invention, as shown in Table 2, the IP number is displayed after "#", and the port number is displayed after "$". In general, since a network address translator (NAT) has a few public IP addresses, it uses public IP address and port information to connect (map) a plurality of private IP addresses to the outside.
도 3은 도 2에 도시된 통신환경에서 서로 다른 네트워크에 있는 두 사설 IP 단말간의 TCP 연결 설정 과정을 도시한 순서도이다.FIG. 3 is a flowchart illustrating a process of establishing a TCP connection between two private IP terminals in different networks in the communication environment shown in FIG. 2.
도 3을 참조하면, 제1 사설망(102)의 제1 사설IP 단말기(110-1)와 제2 사설망(104)의 제2 사설IP 단말기(110-2) 사이의 TCP 통신과정이 TCP 중계서버(230)에 각 사설IP 단말기들의 '사설IP 주소:Port-공인IP 주소:Port'쌍을 등록하는 등록과정과, TCP 중계서버(230)에서 상대방의 공인IP 주소정보를 획득하는 TCP채널 설정 과정, TCP 패킷 교환과정으로 크게 구분되어 각 통신노드 사이의 신호흐름으로 도시되어 있다. 본 발명에서는 사설망의 단말기들이 사설IP 주소를 사용하고 있으므로 개방형 네트워크에서 유일성이 보장되는 공인IP 주소로 변환하여 관리할 필요가 있다. 이를 위해 각 사설망의 라우터(210-1,210-2)는 NAT 기능을 포함하여 내부의 사설IP 주소와 포트를 공인IP 주소의 포트로 매핑해주고, TCP 중계서버(230)는 사설IP 주소들에 대응하는 공인IP 주소들의 중계 테이블을 관리하여 사설IP 주소로 공인IP 주소를 찾을 수 있게 한다. 이때 사설 IP를 주소를 구분하기 위해서는 유일 성을 보장하는 ID 체계로 매핑하여 관리하여야만 한다.Referring to FIG. 3, the TCP communication process between the first private IP terminal 110-1 of the first private network 102 and the second private IP terminal 110-2 of the second private network 104 is performed by a TCP relay server. A registration process of registering a 'private IP address: Port-authorized IP address: Port' pair of each private IP terminal at 230 and a TCP channel setting process of acquiring the public IP address information of the other party from the TCP relay server 230 The TCP flow is divided into TCP packet exchange processes and is shown as a signal flow between communication nodes. In the present invention, since the terminals of the private network use the private IP address, it is necessary to convert and manage the public IP address to ensure the uniqueness in the open network. To this end, routers 210-1 and 210-2 of each private network map a private IP address and a port to a port of a public IP address including a NAT function, and the TCP relay server 230 corresponds to the private IP addresses. It manages the relay table of public IP addresses so that public IP addresses can be found as private IP addresses. At this time, in order to classify private IP address, it must manage by mapping with ID system that guarantees uniqueness.
먼저, 각 사설IP 단말기들(110-1,110-2)은 로그온시 혹은 주기적으로 자신의 사설IP 주소와 대응하는 공인IP 주소를 TCP 중계서버(230)의 중계 테이블에 등록할 필요가 있다. 이를 위해 제1 사설IP 단말기(110-1)는 출발지 주소가 자신의 사설IP 주소와 포트번호(즉, 사설 IP#1-$1)이고, 목적지 주소가 중계서버(230)의 주소와 포트번호(즉, 공인 IP#5-$5)인 TCP 패킷을 형성하여 제1 라우터(210-1)를 통해 TCP 연결을 요청한다(301-1).First, each of the private IP terminals 110-1 and 110-2 needs to register a public IP address corresponding to its private IP address in the relay table of the TCP relay server 230 at logon or periodically. To this end, the first private IP terminal 110-1 has a source address of its own private IP address and a port number (ie, private IP # 1- $ 1), and a destination address of the relay server 230. That is, it forms a TCP packet of public IP # 5- $ 5) and requests a TCP connection through the first router 210-1 (301-1).
제1 라우터(210-1)는 단말기(110-1)로부터 TCP 패킷을 수신하고, 수신된 패킷으로부터 출발지의 사설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)로 TCP 연결 요청 패킷을 재전송한다(303-1). The first router 210-1 receives a TCP packet from the terminal 110-1, and extracts a private IP address and a port number (private IP # 1-$ 1) information of a source from the received packet. At this time, the first router 210-1 allocates an extra external port (for example, $ 3) and assigns a private IP address and port number (private IP # 1- $ 1) and an external port ($ 3) of the internal terminal. It is stored in the mapping table as shown (302-1). Subsequently, the first router 210-1 changes the source address of the packet to its own public IP address (authorized IP # 3) and port ($ 3), so that the destination address of the packet (authorized IP # 5) is changed. -$ 5) retransmits the TCP connection request packet to the relay server 230 (303-1).
이러한 과정은 다른 사설망의 제2 사설IP 단말기(110-2)에 대해서도 동일하게 수행되고, 제2 라우터(210-2)는 다음 표 4와 같은 매핑 테이블을 유지한다(30-2~03-2). This process is similarly performed for the second private IP terminal 110-2 of another private network, and the second router 210-2 maintains a mapping table as shown in Table 4 below (30-2 to 03-2). ).
이렇게 TCP 중계 서버와 연결이 된 후, 각 단말은 사설IP 단말기(110-1)의 사설IP 주소(사설 IP#1-$1) 및/또는 사용자 아이디(ID)를 정보를 전송하여 중복되는 사설 IP 체계를 유일성이 보장되는 ID 체계 재구성할 수 있다. 이에 따라 TCP 중계서버(230)는 각 사설IP 단말기(110-1,110-2)로부터 수신된 패킷을 분해하여 해당 단말기의 사설IP 주소와 공인IP 주소에 대한 중계 테이블을 생성하여 다음 표 5와 같이 관리한다(304).After the connection with the TCP relay server, each terminal transmits the private IP address (private IP # 1- $ 1) and / or user ID (ID) of the private IP terminal 110-1 to duplicate the private IP. The system can be reconfigured with a unique ID system. Accordingly, the TCP relay server 230 decomposes the packets received from the respective private IP terminals 110-1 and 110-2 to generate a relay table for the private IP address and the public IP address of the corresponding terminal, and manage them as shown in Table 5 below. (304)
이와 같은 등록과정이 끝난 후, 제1 사설IP 단말기(110-1)가 제2 사설IP 단말기(110-2)와 TCP 통신이 필요한 경우, 제1 사설IP 단말기(110-1)는 출발지 주소를 자신의 사설IP주소와 포트번호(사설 IP#1-$1)로 하고, 목적지 주소를 중계서버(230)의 주소와 포트번호(공인 IP#5-$5)로 하여 TCP 연결을 요청한다.After the registration process is completed, when the first private IP terminal 110-1 needs TCP communication with the second private IP terminal 110-2, the first private IP terminal 110-1 provides a starting address. It uses its own private IP address and port number (private IP # 1- $ 1), and requests a TCP connection with the destination address as the relay server 230's address and port number (authorized IP # 5- $ 5).
이에 따라 제1 라우터(210-1)는 매핑 테이블을 이용하여 제1 사설IP 단말기(110-1)의 TCP 패킷에서 사설 IP#1-$1에 대응하는 공인 IP주소(IP#3-$3)를 할당하여 출발지의 사설IP 주소를 공인IP 주소로 변환한 후 목적지인 TCP 중계서버(230)로 상대의 공인 정보를 요청하는 요구 패킷을 전송한다(306). 이렇게 하여 서버와 TCP 채널이 형성되었을 경우, 형성된 TCP 채널을 통하여 상대의 TCP 연결 정보를 요구한다. 이때 페이로드에는 TCP 통신할 상대방의 유일성을 나타낼 수 있는 정보(사용자 아이디)를 포함하고 있어야 한다.Accordingly, the first router 210-1 uses the mapping table to select a public IP address (IP # 3-$ 3) corresponding to private IP # 1-$ 1 from the TCP packet of the first private IP terminal 110-1. After converting the private IP address of the source to the public IP address by assigning the transmission request packet for requesting the public information of the opponent to the destination TCP relay server 230 (306). When a TCP channel is established with the server in this way, the TCP connection information of the other party is requested through the TCP channel. At this time, the payload should include information (user ID) that can indicate the uniqueness of the counterpart for TCP communication.
TCP 중계서버(230)는 제1 라우터(210-1)로부터 수신된 패킷에서 요구된 상대방의 사설IP 주소(IP#2-$2)나 사용자 아이디(B)를 추출한 후 중계 테이블을 검색하여 상대방에 대한 공인IP 주소(IP#4-$4)를 찾아 TCP 채널을 통하여 다시 제1 라우터(210-1)로 전송해준다(307,308). 제1 라우터(210-1)는 TCP 중계서버(230)로부터 받은 상대방 공인IP 주소(IP#4-$4)가 포함된 패킷을 해당 제1 사설IP 단말기(110-1)로 전달한다(309).The TCP relay server 230 extracts the requested private IP address (IP # 2- $ 2) or the user ID (B) from the packet received from the first router 210-1, and then searches the relay table for the counterpart. It finds the public IP address (IP # 4- $ 4) and transmits it back to the first router 210-1 through the TCP channel (307,308). The first router 210-1 transmits the packet including the other party's public IP address (IP # 4- $ 4) received from the TCP relay server 230 to the corresponding first private IP terminal 110-1 (309). .
이와 같은 절차를 통해 사설IP 주소를 갖는 상대방에 대한 공인IP 주소를 획득한 후 제1 사설IP 단말기(110-1)는 목적지 주소가 공인IP 주소이고 출발지 주소가 자신의 사설IP 주소인 TCP 연결 요청 패킷을 생성하여 제1 라우터(210-1)를 통해 상대방측으로 전송한다(310). After acquiring a public IP address for the other party having a private IP address through the same procedure, the first private IP terminal 110-1 requests a TCP connection in which the destination address is a public IP address and the source address is its own private IP address. The packet is generated and transmitted to the other party through the first router 210-1 (310).
제1 라우터(210-1)는 앞서와 동일한 절차에 따라 제1 사설IP 단말기(110-1)의 TCP 데이터 패킷에서 사설 IP#1-$1에 대응하는 공인 IP주소(IP#3-$3)를 할당하여 사설IP 주소를 공인IP 주소로 변환한 후, 목적지인 상대방의 공인IP 주소(IP#4-$4)로 TCP 데이터 패킷을 전송한다(311). The first router 210-1 obtains a public IP address (IP # 3- $ 3) corresponding to private IP # 1- $ 1 in the TCP data packet of the first private IP terminal 110-1 according to the same procedure as described above. After allocating the private IP address to the public IP address, the TCP data packet is transmitted to the public IP address (IP # 4- $ 4) of the destination counterpart (311).
제2 라우터(210-2)는 TCP 데이터 패킷을 수신하면, 자신의 매핑 테이블에서 공인IP 주소(IP#4-$4)에 대응하는 사설IP 주소(IP#2-$2)를 찾아 이 사설IP 주소로 수신된 TCP 데이터 패킷을 전달한다(312). When the second router 210-2 receives the TCP data packet, the second router 210-2 searches for a private IP address (IP # 2- $ 2) corresponding to the public IP address (IP # 4- $ 4) in its mapping table. In step 312, the received TCP data packet is forwarded.
제2 사설IP 단말기(110-2)는 수신된 TCP 데이터 패킷을 분해하여 데이터를 수신함과 아울러 수신된 패킷의 출발지 주소란에서 상대방의 공인IP 주소(IP#1-$1)를 획득하고, 응답할 필요가 있으면 획득된 공인IP 주소(IP#1-$1)를 목적지 주소로 하고 자신의 사설IP 주소(IP#2-$2)를 출발지 주소로 하는 TCP 연결 응답 패킷을 생성하여 제2 라우터(210-2)를 통해 상대방측으로 전송한다(313).The second private IP terminal 110-2 receives the data by decomposing the received TCP data packet and acquires the public IP address (IP # 1- $ 1) of the counterpart from the source address field of the received packet and responds. If present, the second router 210-2 generates a TCP connection response packet using the obtained public IP address (IP # 1- $ 1) as the destination address and its own private IP address (IP # 2- $ 2) as the source address. Transmit to the other side through the (313).
제2 라우터(210-2)는 제2 사설IP 단말기(110-2)로부터 수신된 TCP 데이터 패킷에서 출발지의 사설IP 주소(IP#2-$2)를 매핑 테이블을 이용하여 공인IP 주소(IP#4-$4)로 변환하여 목적지 주소(IP#3-$3)인 상대방측으로 TCP 데이터 패킷을 전송한다(314). The second router 210-2 uses the mapping table to convert the private IP address (IP # 2- $ 2) of the source from the TCP data packet received from the second private IP terminal 110-2 using the public IP address (IP #). 4- $ 4) and transmits the TCP data packet to the other party having the destination address (IP # 3- $ 3) (314).
이에 따라 제1 라우터(210-1)는 TCP 데이터 패킷을 수신하면 자신의 매핑 테이블에서 공인IP 주소(IP#3-$3)에 대응하는 사설IP 주소(IP#1-$1)를 찾아 이 사설IP 주소로 수신된 TCP 데이터 패킷을 전달한다(315).Accordingly, when the first router 210-1 receives the TCP data packet, the first router 210-1 finds the private IP address (IP # 1- $ 1) corresponding to the public IP address (IP # 3- $ 3) in its mapping table. Forward the received TCP data packet to the address (315).
이와 같은 절차를 통해 제1 사설IP 단말기(110-1)와 제2 사설 IP 단말기(110-2) 사이에는 TCP 연결이 설정되고 채널 설정후 상기 단말들은 공인 IP 단말간의 TCP 연결처럼 데이터를 전송할 수 있다(316,317.) 이와 같이 하여 제1 사설IP 단말기(110-1)와 제2 사설IP 단말기(110-2) 사이에 TCP 방식으로 통신할 수 있다.Through this procedure, a TCP connection is established between the first private IP terminal 110-1 and the second private IP terminal 110-2, and after the channel is established, the terminals can transmit data as a TCP connection between public IP terminals. In this way, the first private IP terminal 110-1 and the second private IP terminal 110-2 can communicate in a TCP manner.
도 4는 도 2에 도시된 통신환경에서 사설 IP 단말기와 공인 IP 단말기 사이의 UDP 통신 과정을 도시한 순서도이다.4 is a flowchart illustrating a UDP communication process between a private IP terminal and a public IP terminal in the communication environment shown in FIG. 2.
도 4를 참조하면, 사설IP 단말기들은 로그온시나 주기적으로 자신의 사설IP 주소(혹은 사용자 아이디)와 대응하는 공인IP 주소를 TCP 중계서버(230)의 중계 테이블에 등록할 필요가 있다. 이를 위해 제1 사설IP 단말기(110-1)가 제1 라우터(210-1)를 통해 중계서버(230)에 TCP 등록하는 절차는 앞서 설명과 동일하다(301-1~304).Referring to FIG. 4, private IP terminals need to register their private IP addresses (or user IDs) and public IP addresses corresponding to their private IP addresses in the relay table of the TCP relay server 230 periodically. To this end, the procedure for TCP registration of the first private IP terminal 110-1 to the relay server 230 through the first router 210-1 is the same as described above (301-1 to 304).
공인IP 단말기(220)는 사설IP 주소를 사용하는 상대방의 공인IP 주소를 알기 위하여 먼저 TCP 중계서버(230)에 접속하여 TCP 채널 정보를 요구한다(401). 채널 요구 패킷의 페이로드에는 상대방의 사설IP 주소(혹은 사용자 아이디)가 실려 있다.In order to know the public IP address of the counterpart using the private IP address, the public IP terminal 220 first connects to the TCP relay server 230 and requests TCP channel information (401). The payload of the channel request packet contains the private IP address (or user ID) of the other party.
이에 따라 TCP 중계서버(230)는 수신된 패킷에서 상대방의 사설IP 주소(혹은 사용자 아이디)를 추출한 후, 중계 테이블을 검색하여 상대방에 대한 공인IP 주소를 찾아 전송해준다(402,403).Accordingly, the TCP relay server 230 extracts the other party's private IP address (or user ID) from the received packet, searches the relay table, and finds and transmits the public IP address for the other party (402, 403).
상대방에 대한 공인IP를 획득한 공인IP 단말기(220)는 출발지 주소를 자신의 공인IP 주소로 하고 목적지 주소를 상대방 공인IP 주소로 한 TCP 연결 요청 패킷을 생성하여 상대방 제1 라우터(210-1)로 전송한다(404).The public IP terminal 220, which has obtained the public IP for the other party, generates a TCP connection request packet having a starting address as its own public IP address and a destination address as the other public IP address, thereby creating the other party's first router 210-1. 404.
제1 라우터(210-1)는 TCP 데이터 패킷을 수신하면 자신의 매핑 테이블에서 공인IP 주소에 대응하는 사설IP 주소를 찾아, 이 사설IP 주소로 수신된 TCP 데이터 패킷을 전달한다(405).When the first router 210-1 receives the TCP data packet, the first router 210-1 finds the private IP address corresponding to the public IP address in its mapping table, and delivers the received TCP data packet to the private IP address (405).
제1 사설IP 단말기(110-1)는 필요할 경우 상대방의 연결 요청에 대하여 연결 허락의 응답 패킷을 공인IP 단말기(220)의 공인IP 주소로 TCP 데이터 패킷을 전송한다(406,407).If necessary, the first private IP terminal 110-1 transmits a TCP data packet to the public IP address of the public IP terminal 220, in response to the connection request of the other party, to the public IP address of the public IP terminal 220 (406 and 407).
이와 같이 하여 제1 사설IP 단말기(110-1)와 공인IP 단말기(220) 사이에는 TCP 연결이 설정되고, 이후 기존의 TCP 채널처럼 데이터를 전송할 수 있다(408, 409).In this way, a TCP connection is established between the first private IP terminal 110-1 and the public IP terminal 220, and then data can be transmitted like a conventional TCP channel (408, 409).
[제2 실시예]Second Embodiment
도 5는 본 발명에 따라 서비스 서버를 이용하여 TCP 채널을 설정하는 통신환경을 도시한 전체 구성도이다.5 is an overall configuration diagram illustrating a communication environment for establishing a TCP channel using a service server according to the present invention.
도 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 주소를 이용하여 TCP 통신을 할 수 있도록 하는 TCP 중계서버(230)와, 각 단말에게 임의의 서비스를 제공하는 서비스 서버(510)도 인터넷(202)에 연결되어 있다.Referring to FIG. 5, a plurality of private IP terminals 110-1 using a private IP address are connected to the first private network 102 to communicate using a private IP address in an internal network 102. The router 210-1 of the private network 102 can connect with other public IP servers and terminals through the Internet 202 using a public IP address. In addition, a plurality of private IP terminals 110-2 using a private IP address are connected to the second private network 104, which is another private network, and communicates using the private IP address in the internal network 104. The router 210-2 of 104 may be connected to other public IP servers and terminals through the Internet 202 using a public IP address. In addition, a plurality of public IP terminals 220 or service servers may be connected to the Internet 202, and a TCP relay server 230 for allowing TCP communication using a private IP address according to the present invention, and to each terminal. A service server 510 that provides any service is also connected to the Internet 202.
도 6은 본 발명에 따라 서비스 서버를 이용하여 TCP 채널을 설정하는 과정을 도시한 순서도이다.6 is a flowchart illustrating a process of establishing a TCP channel using a service server according to the present invention.
도 6을 참조하면, 제1 사설IP 단말기(110-1)와 제2 사설IP 단말기(110-2) 사이에는 서비스 서버(510)에 의해 이미 통신 채널이 설정되어 있는 것으로 가정한다(601-1, 601-2). 이를 위해 단말기들은 주기적으로 반복하여 라우터에 TCP 등록을 요구하고(301-1,301-2), 라우터는 매핑 테이블을 이용하여 TCP 중계서버(230)에 TCP 등록을 요구한다(302-1,302-2,303-1,303-2). 이에 따라 TCP 중계서버는 TCP 중계테이블에 등록하여 관리한다(304).Referring to FIG. 6, it is assumed that a communication channel is already established between the first private IP terminal 110-1 and the second private IP terminal 110-2 by the service server 510 (601-1). , 601-2). To this end, terminals repeatedly request TCP registration to the router (301-1,301-2), and the router requests TCP registration from the TCP relay server 230 using a mapping table (302-1,302-2,303-1,303). -2). Accordingly, the TCP relay server registers and manages the TCP relay table (304).
이와 같은 상태에서 TCP 채널로 전환하여 다른 서비스를 받고자 할 경우에, 제1 사설IP 단말기(110-1)는 제1 라우터(210-1)를 통해 TCP 중계서버(230)에 접속하여 TCP 연결을 요청한다(602). 즉, 사설IP 주소에 대응하는 공인IP 주소는 제1 라우터(210-1)의 매핑 테이블에 의해 관리됨과 아울러 중계서버(230)의 중계 테이블에 유지되고 있으므로 TCP 중계서버(230)에 자신의 공인IP 주소를 요구한다. 이를 위해 제1 사설IP 단말기(110-1)는 출발지 주소가 자신의 사설IP 주소와 포트번호(사설 IP#1-$1)이고, 목적지 주소가 중계서버(230)의 주소와 포트번호(공인 IP#3-$5)인 TCP 연결 요청패킷을 형성하여 제1 라우터(210-1)를 통해 중계서버(230)로 전송한다.In this state, when switching to the TCP channel and receiving another service, the first private IP terminal 110-1 accesses the TCP relay server 230 through the first router 210-1 to establish a TCP connection. Request 602. That is, since the public IP address corresponding to the private IP address is managed by the mapping table of the first router 210-1 and maintained in the relay table of the relay server 230, the public IP address corresponding to the private IP address is authorized to the TCP relay server 230. Request an IP address. To this end, the first private IP terminal 110-1 has a source address of its own private IP address and a port number (private IP # 1- $ 1), and a destination address of the relay server 230. TCP connection request packet # 3- $ 5) is formed and transmitted to the relay server 230 through the first router 210-1.
TCP 중계 서버(230)는 제1 사설 IP 단말기(110-1)의 연결 요청에 TCP 연결을 수락하고 채널을 설정한다(603). The TCP relay server 230 accepts a TCP connection to the connection request of the first private IP terminal 110-1 and establishes a channel (603).
채널이 설정되면 제1 사설 IP 단말기(110-1)는 제2 사설 IP의 공인 정보를 TCP 중계서버에게 요청하는 패킷을 전송한다(604). TCP 중계서버(230)는 등록과정(301~304)을 거쳐 등록된 등록 테이블을 이용하여 요청된 제2 사설 IP 단말기(110-2)를 검색한다(605). TCP 중계서버(230)는 검색된 제2 사설 IP 단말기(110-2)의 정보를 제1 사설 IP단말기(110-1)에게 되돌려 준다(606).When the channel is established, the first private IP terminal 110-1 transmits a packet requesting the TCP relay server for public information of the second private IP (604). The TCP relay server 230 searches for the requested second private IP terminal 110-2 by using the registration table registered through the registration processes 301 to 304 (605). The TCP relay server 230 returns the retrieved information of the second private IP terminal 110-2 to the first private IP terminal 110-1 (606).
요청한 제2 사설 IP 단말기(110-2)의 정보를 획득한 제1 사설 IP 단말기(110-1)은 서비스 채널을 사용하여 제2 사설 IP 단말기(110-2)에게 연결을 요청한다(607). 연결 요청을 받은 제2 사설 IP 단말기(110-2)는 수락을 할 경우, 수신 포트를 TCP 중계서버(230)에 등록한 포트로 할당하고 소켓을 리슨한 후 상대(110-1)에게 TCP 연결 수락 패킷를 보낸다(608, 609). The first private IP terminal 110-1 having obtained the requested information of the second private IP terminal 110-2 requests a connection to the second private IP terminal 110-2 using a service channel (607). . When the second private IP terminal 110-2 receiving the connection request is accepted, the second private IP terminal 110-2 assigns a receiving port to a port registered in the TCP relay server 230, listens for a socket, and accepts the TCP connection to the counterpart 110-1. Send a packet (608, 609).
상대방으로부터 연결 수락 패킷을 받은 제1 사설 IP 단말기(110-1)은 TCP 중계 서버(230)로부터 받은 상대방 공인 정보를 이용하여 TCP 연결을 시도한다(610). 연결 요청을 받은 제2 사설 IP 단말기(110-2)는 자신이 리슨하고 있던 포트로 요청 상대와 연결함으로 제1 사설 IP 단말기(110-1)와 TCP 채널을 설정한다(611). TCP 채널이 설정된다면, 이후 모든 데이터는 공인 IP의 TCP 연결과 동일하게 사용할 수 있다. 이에 따라 양측 사설IP 단말기(110-1,110-2)는 TCP 채널로 전환하여 TCP 데이터 패킷을 교환할 수 있다(612). The first private IP terminal 110-1 receiving the connection acceptance packet from the other party attempts a TCP connection using the other party's authorized information received from the TCP relay server 230 (610). Upon receiving the connection request, the second private IP terminal 110-2 establishes a TCP channel with the first private IP terminal 110-1 by connecting to the request counterpart through the port on which it is listening (611). If a TCP channel is established, then all data can be used the same as the public IP TCP connection. Accordingly, both private IP terminals 110-1 and 110-2 may switch to a TCP channel to exchange TCP data packets (612).
TCP 데이터 패킷의 구체적인 전송과정은 앞서 설명한 제1 실시예의 TCP 데이터 패킷 전송절차와 동일하므로 더 이상의 자세한 설명은 생략한다.Since the detailed transmission process of the TCP data packet is the same as the TCP data packet transmission procedure of the first embodiment described above, further description thereof will be omitted.
도 7은 본 발명에 따라 TCP 채널 정보를 획득한 후, 이 정보를 다른 프로그램에서 그대로 사용하는 예를 도시한 도면이다.7 is a diagram illustrating an example in which TCP channel information is obtained and then used as it is in another program according to the present invention.
앞서 살펴본 바와 같이, TCP 채널을 설정하는 방법은 주기적으로 사용자가 중계서버(230)에게 보고를 하여 TCP 중계서버(230)에서 사용자의 TCP 채널 정보를 유지하여 연결을 지원할 수 있다.As described above, in the method of establishing a TCP channel, the user may periodically report to the relay server 230 to support the connection by maintaining the TCP channel information of the user in the TCP relay server 230.
상기 방법에서 각 사용자 A, B, C가 주기적으로 TCP 중계서버(230)에 TCP 연결을 설정하여 자신의 상태를 보고하고 라우터의 정보를 갱신하는 것이다. 이렇게 함으로써 TCP 연결을 요청하는 모든 사용자는 항시 자신의 연결 정보를 외부 공인 IP 시스템인 중계서버(230)에 등록한다. 등록이 성공적이라면 사용자 A가 사용자 B에게 접속을 요구할 경우, 중계 서버(230)에게 상대방의 TCP 정보를 요청하고, 서비스 채널을 활용하여 사용자에게 접속요청 메시지를 전송한다. 사용자 B는 요청을 수락하고 기존에 등록되어 있던 TCP 정보를 바탕으로 해당 포트를 리슨한다. 사용자 A는 중계서버(230)로부터 받은 정보를 이용하여 사용자 B에게 접속을 시도한다. 이렇게 함으로써 사용자 A와 사용자 B 사이에는 TCP 채널이 설정된다. TCP 채널이 설정되었다면 이 채널은 기존의 TCP 채널과 동일하게 데이터 전송에 활용할 수 있다.In the above method, each of users A, B, and C periodically establishes a TCP connection to the TCP relay server 230 to report its status and update the router information. By doing so, all users requesting a TCP connection always register their connection information in the relay server 230 which is an external public IP system. If the registration is successful, when the user A requests the user B to connect, the relay server 230 requests the counterpart's TCP information, and transmits a connection request message to the user using the service channel. User B accepts the request and listens on the port based on the TCP information already registered. User A attempts to connect to user B using the information received from relay server 230. This establishes a TCP channel between user A and user B. Once a TCP channel has been established, it can be used for data transmission just like a traditional TCP channel.
도 7을 참조하면, 제1 사설망(102)의 제1 사설IP 단말기(110-1)는 제1 라우터(210-1)를 통해 인터넷(202)에 연결되어 있고, 제2 사설망(104)의 제2 사설IP 단말기(110-2)는 제2 라우터(210-2)를 통해 인터넷(202)에 연결되며, 인터넷(202)에는 TCP 중계서버(230)와 서비스 서버(510), 공인IP 단말기(220)가 연결되어 있다. 그리고 제1 사설IP 단말기(110-1)에는 본 발명에 따라 획득된 TCP 정보(상대방 IP주소, IP#4-$4)를 이용하기 위한 TCP 응용모듈(예컨데, 파일 전송 프로그램)(710-1)이 연결되어 있고, 제2 사설IP 단말기(110-2)에는 본 발명에 따라 획득된 TCP 채널 정보(상대방 IP주소, IP#3-$3)를 이용하기 위한 TCP 응용모듈(예컨데, 파일전송 프로그램)(710-2)이 연결되어 있다.Referring to FIG. 7, the first private IP terminal 110-1 of the first private network 102 is connected to the Internet 202 through the first router 210-1, and the second private network 104 is connected to the Internet 202. The second private IP terminal 110-2 is connected to the Internet 202 through the second router 210-2, and the Internet 202 has a TCP relay server 230, a service server 510, and a public IP terminal. 220 is connected. In the first private IP terminal 110-1, a TCP application module (for example, a file transfer program) 710-1 for using TCP information (relative IP address, IP # 4- $ 4) obtained according to the present invention. Is connected, and the second private IP terminal 110-2 has a TCP application module (for example, a file transfer program) for using the TCP channel information (relative IP address, IP # 3- $ 3) obtained according to the present invention. 710-2 is connected.
본 발명에서는 이와 같이 사설IP 단말기(110-1,110-2)에 의해 획득된 TCP 채널 정보를 다른 응용모듈(710-1,710-2)에 전달함으로써 해당 응용모듈은 획득된 TCP 채널 정보를 활용하여 TCP 패킷 통신을 할 수 있다. TCP 채널 정보를 획득하는 방법은 도 6과 도 7에 명시하였다. 도 7에서와 같이 다른 응용모듈(710-1,710-2)에서도 단말기(110-1,110-2)들에 의하여 등록된 정보를 활용하여 등록된 포트를 중복하여 사용하지 않는다면 번갈아 가면서 연결 채널을 활용하여 응용모듈간에 상호 TCP 통신이 가능하다.In the present invention, by transmitting the TCP channel information obtained by the private IP terminals 110-1 and 110-2 to the other application modules 710-1 and 710-2, the corresponding application module utilizes the acquired TCP channel information to generate a TCP packet. You can communicate. The method of acquiring TCP channel information is specified in FIGS. 6 and 7. In other application modules 710-1 and 710-2, as shown in FIG. 7, if the ports registered by the terminals 110-1 and 110-2 are not overlapped with each other, the applications can be alternately used by using connection channels. TCP communication is possible between modules.
도 8은 본 발명에 따라 인터넷에 연결된 다수의 사설망과 다수의 TCP 중계 서버에 의하여 사설 IP망과 공인 IP 망이 통합된 전체 구성도이다.8 is an overall configuration diagram in which a private IP network and a public IP network are integrated by a plurality of private networks and a plurality of TCP relay servers connected to the Internet according to the present invention.
도 8을 참조하면, 인터넷(202)에는 라우터(210-1~210-5)를 통해 많은 사설망(102-1~102-5)이 연결되어 있고, 각 사설망에는 다수의 사설 IP 단말기가 연결되어 있다. 인터넷(202)에 연결된 모든 사설 IP 단말기는 라우터의 공인 IP 정보와 사설 IP를 결합하여 유일성이 보장된다. 공인 정보 등록과정에서 모든 사설 IP 단말기는 주기적으로 자신의 ID 정보(유일성을 보장하는 정보; 예:MAC, 사용자 서비스 ID)와 함께 자신의 공인 접속정보(IP 주소, 포트)를 해당 중계 서버(230-1,230-2)에 등록한다. 이 과정을 통하여 사설 IP 단말기는 중계서버(230-1,230-2)에 자신의 정보를 등록할 수 있다. 이 정보는 중계 서버(230-1,230-2)에 등록된 사용자가 ID를 이용하여 사용자의 TCP 접속 정보를 요청할 경우, 중계서버(230-1,230-2)는 매핑 테이블을 검색하여 요청 대상의 IP 주소와 포트 번호 정보를 제공한다.8, many private networks 102-1 to 102-5 are connected to the Internet 202 through routers 210-1 to 210-5, and a plurality of private IP terminals are connected to each private network. have. All private IP terminals connected to the Internet 202 are guaranteed uniqueness by combining the public IP information of the router with the private IP. In the process of registering public information, all private IP terminals periodically transmit their own public access information (IP address, port) together with their own ID information (eg, information guaranteeing uniqueness; for example, MAC and user service ID). -1,230-2). Through this process, the private IP terminal may register its information with the relay servers 230-1 and 230-2. This information is when the user registered in the relay server (230-1, 230-2) requests the user's TCP connection information using the ID, the relay server (230-1, 230-2) searches the mapping table to the IP address of the request target And port number information.
상기 시스템을 이용하면 DNS(Domain Name Service)처럼 사설 IP 주소를 공인 IP 주소로 변환하여 인터넷에 연결된 모든 사설 IP 단말기를 공인 IP 단말기처럼 활용할 수 있다. 단지, 사설 IP 주소 단말기는 중계 서버(230-1,230-2)에 자신의 TCP 연결 정보를 등록하기만 하면 된다. 이때 중복된 사설 IP 정보에 대한 유일성 정보로 매핑되어 저장되면 전체적으로 유일성이 보장되므로 어떠한 사용자라도 상호 연결이 가능하다.Using this system, all private IP terminals connected to the Internet can be used as public IP terminals by converting private IP addresses to public IP addresses such as DNS (Domain Name Service). The private IP address terminal only needs to register its TCP connection information with the relay servers 230-1 and 230-2. At this time, if unique data is mapped and stored as duplicated private IP information, uniqueness is guaranteed as a whole, and any user can be interconnected.
이상에서 설명한 바와 같이, 종래에는 사설 IP를 가진 시스템이 기존 인터넷에 직접 접속할 수 없어 TCP를 이용한 서버 구성 및 서로 다른 망의 사설 IP 단말기 간의 통신이 불가능하였으나 본 발명에서는 사설IP를 가진 시스템도 기존 인터넷의 공인 IP 시스템과 동일하게 TCP를 이용하여 통신할 수 있다. 더욱이, 인터넷의 서비스가 다양해지면서 각 서비스 마다 원하는 전송특성이 다양한데, 본 발명은 사설IP를 가진 시스템도 모든 상황에서 TCP를 이용할 수 있도록 함으로써 그동안 최적의 서비스를 할 수 없었던 분야에서 보다 효율적인 통신을 가능하게 한다. As described above, in the related art, a system having a private IP cannot directly access an existing Internet, and thus a server configuration using TCP and communication between private IP terminals of different networks are not possible. It can communicate using TCP like public IP system of. Moreover, as the services of the Internet are diversified, the desired transmission characteristics are varied for each service. The present invention enables a system having a private IP to use TCP in all situations, thereby enabling more efficient communication in the field where optimal service was not possible. Let's do it.
상기에서는 본 발명의 바람직한 실시 예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the above has been described with reference to a preferred embodiment of the present invention, those skilled in the art will be variously modified and changed within the scope of the present invention without departing from the spirit and scope of the invention described in the claims below. I can understand that you can.
도 1은 본 발명에 따라 사설IP를 사용하여 TCP 통신하는 개념을 도시한 개략도,1 is a schematic diagram illustrating a concept of TCP communication using a private IP according to the present invention;
도 2는 본 발명에 따라 사설IP 망 간의 TCP 통신환경을 도시한 전체 구성도,2 is an overall configuration diagram showing a TCP communication environment between private IP networks according to the present invention;
도 3은 도 2에 도시된 통신환경에서 서로 다른 네트워크에 있는 두 사설 IP 단말간의 TCP 패킷 전송 과정을 도시한 순서도,3 is a flowchart illustrating a TCP packet transmission process between two private IP terminals in different networks in the communication environment shown in FIG.
도 4는 도 2에 도시된 통신환경에서 사설IP 단말과 공인IP 단말 사이의 TCP 통신 과정을 도시한 순서도,4 is a flowchart illustrating a TCP communication process between a private IP terminal and a public IP terminal in the communication environment shown in FIG. 2;
도 5는 본 발명에 따라 서비스 서버에 각 통신단말이 연결되어 있을 경우 TCP 채널을 설정하는 통신환경을 도시한 전체 구성도,5 is an overall configuration diagram illustrating a communication environment for establishing a TCP channel when each communication terminal is connected to a service server according to the present invention;
도 6은 본 발명에 따라 서비스 서버에 각 통신단말이 연결되어 있을 경우 TCP 채널을 설정하는 과정을 도시한 순서도,6 is a flowchart illustrating a process of setting a TCP channel when each communication terminal is connected to a service server according to the present invention.
도 7은 본 발명에 따라 TCP 채널 정보를 획득한 후 이 정보를 다른 프로그램에서 그대로 사용하는 예를 도시한 도면,7 is a view showing an example of using the information as it is in another program after acquiring TCP channel information according to the present invention;
도 8은 본 발명에 따라 인터넷에 연결된 다수의 사설망와 다수의 TCP 중계 서버에 의하여 사설 IP망과 공인 IP 망이 통합된 전체 구성도.8 is an overall configuration diagram in which a private IP network and a public IP network are integrated by a plurality of private networks and a plurality of TCP relay servers connected to the Internet according to the present invention.
*도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
102,104: 사설망 110-1,110-2: 사설IP 단말기102,104: Private network 110-1,110-2: Private IP terminal
210-1,210-2: 라우터 202: 인터넷210-1,210-2: Router 202: Internet
220: 공인IP 단말기 230: TCP 중계서버220: public IP terminal 230: TCP relay server
510: 서비스 서버 510: service server
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040005720A KR20050078325A (en) | 2004-01-29 | 2004-01-29 | Tcp packet communication method and system for private ip terminals |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040005720A KR20050078325A (en) | 2004-01-29 | 2004-01-29 | Tcp packet communication method and system for private ip terminals |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050078325A true KR20050078325A (en) | 2005-08-05 |
Family
ID=37265494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040005720A KR20050078325A (en) | 2004-01-29 | 2004-01-29 | Tcp packet communication method and system for private ip terminals |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20050078325A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100785307B1 (en) * | 2006-02-01 | 2007-12-12 | 삼성전자주식회사 | Redirection transport system and method in internet protocol private branch exchange |
-
2004
- 2004-01-29 KR KR1020040005720A patent/KR20050078325A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100785307B1 (en) * | 2006-02-01 | 2007-12-12 | 삼성전자주식회사 | Redirection transport system and method in internet protocol private branch exchange |
US9420112B2 (en) | 2006-02-01 | 2016-08-16 | Samsung Electronics Co., Ltd. | Data redirection system and method using internet protocol private branch exchange |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4303244B2 (en) | Address resolution apparatus, address resolution method, and communication system using the same | |
US8295285B2 (en) | Method and apparatus for communication of data packets between local networks | |
EP1819134B1 (en) | Symmetric network adress translation system using STUN technique and method for implementing the same | |
US7558249B2 (en) | Communication terminal, and communication method | |
US9407495B2 (en) | Combining locally addressed devices and wide area network (WAN) addressed devices on a single network | |
US20100014521A1 (en) | Address conversion device and address conversion method | |
KR101381701B1 (en) | Data message processing method, system and access service node | |
US20030169766A1 (en) | Communications apparatus and network system | |
WO2011032447A1 (en) | Method, system and communication terminal for implementing inter-communication between new network and internet | |
JP3666654B2 (en) | Internet communication method {MethodforanInternetCommunication} | |
KR100582254B1 (en) | UDP packet communication method and system for private IP terminals | |
KR100231705B1 (en) | Structure and method of the hybrid gateway to support public and private IP address | |
CN112887452B (en) | Communication method and system between local area networks and NAT gateway | |
CN102457582B (en) | A kind of realize communicating between main process equipment method and network equipment | |
WO2005043848A1 (en) | Udp packet communication method and system for private ip terminals | |
KR20050078325A (en) | Tcp packet communication method and system for private ip terminals | |
WO2011124121A1 (en) | Inter-network data communication system and method | |
US10735316B2 (en) | Receiver directed anonymization of identifier flows in identity enabled networks | |
KR20030057095A (en) | Method of different IP-address attaching for gatekeeper and NAT-PT | |
KR100233840B1 (en) | Structure of the hub in satellite network to support public and private ip address and operating method thereof | |
JP5322875B2 (en) | COMMUNICATION METHOD, COMMUNICATION DEVICE, AND COMMUNICATION SYSTEM | |
KR20030050905A (en) | Home Network Communication Method using Network Address Translation | |
JP2003018221A (en) | Network communication system, gateway device for use in this system and address resoluting server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E601 | Decision to refuse application |