KR20140093042A - Communication method and device thereof - Google Patents

Communication method and device thereof Download PDF

Info

Publication number
KR20140093042A
KR20140093042A KR1020130005323A KR20130005323A KR20140093042A KR 20140093042 A KR20140093042 A KR 20140093042A KR 1020130005323 A KR1020130005323 A KR 1020130005323A KR 20130005323 A KR20130005323 A KR 20130005323A KR 20140093042 A KR20140093042 A KR 20140093042A
Authority
KR
South Korea
Prior art keywords
client
address
message
connection request
information
Prior art date
Application number
KR1020130005323A
Other languages
Korean (ko)
Other versions
KR101435931B1 (en
Inventor
박교영
Original Assignee
주식회사 시큐아이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 시큐아이 filed Critical 주식회사 시큐아이
Priority to KR1020130005323A priority Critical patent/KR101435931B1/en
Publication of KR20140093042A publication Critical patent/KR20140093042A/en
Application granted granted Critical
Publication of KR101435931B1 publication Critical patent/KR101435931B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2517Translation of Internet protocol [IP] addresses using port numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

The present invention relates to a method and an apparatus for communication between a plurality of devices. The apparatus receives a message from at least one device; converts address information contained in the received message if the received message is a request for connection to other devices which are disposed in an external network; and sends the message containing the converted address to the other device. In other words, the apparatus of present invention converts the address information of the sender whenever there is a new session request, thereby enabling to prevent intrusion from the outside.

Description

통신 방법 및 장치{COMMUNICATION METHOD AND DEVICE THEREOF}[0001] COMMUNICATION METHOD AND DEVICE THEREOF [0002]

본 발명은 통신 방법 및 장치에 관한 것으로서, 특히, 인가되지 아니한 외부 네트워크로부터의 홀 펀칭과 같은 무단 침입을 차단 하기 위한 방법 및 장치에 관한 것이다.The present invention relates to a communication method and apparatus, and more particularly, to a method and apparatus for blocking unauthorized intrusion, such as hole punching from an unauthorized external network.

NAT(Network Address Translator)는 IP 고갈을 완화하기 위한 방법 중의 한 가지로서, 사설 네트워크(Private Network)를 글로벌 네트워크(Global Network)로 사용할 수 있게 해주는 주소 변환 기능이다. 인터넷의 공인 IP(Public Internet Protocol) 개수는 한정되어 있기 때문에 가급적 이를 많은 클라이언트 장치 또는 서버에서 공유하기 위한 방법이 필요하며, NAT를 이용하여 사설 IP를 공인 IP로 변환해서 사용함으로써 다수의 장치가 공인 IP 를 공유할 수 있도록 한다. 실제로 사설 IP 클러스터 안의 시스템들은 일반적으로 사설 IP를 사용하여 통신하다가, 글로벌 네트워크에 접속할 필요가 생길 때, NAT를 통해 자신의 사설 IP를 NAT가 미리 확보하고 있던 공인 IP 중 하나로 변환시킴으로써, 사설네트워크의 상태를 유지하면서 글로벌 네트워크와도 통신할 수 있는 방법을 제공받는 것이다.Network Address Translator (NAT) is one of the ways to mitigate IP exhaustion, and it is an address translation function that allows the use of a private network as a global network. Since the number of Public Internet Protocols (IPs) of the Internet is limited, it is necessary to have a method for sharing them as many client devices or servers as possible. By converting private IP to public IP using NAT, IP sharing. Indeed, systems in private IP clusters generally communicate using private IP, and when it becomes necessary to connect to a global network, by translating their private IP through NAT into one of the public IPs previously secured by NAT, And to provide a way to communicate with the global network while maintaining the state.

한편, NAT는 VoIP(Voice over Internet Protocol), 온라인 게임, P2P 파일 공유 등 클라이언트 간의 일대일 통신이 필요한 경우에 문제가 된다. 이 경우, 일대일 통신을 원하는 클라이언트 이외의 다른 제3자의 도움을 받아 NAT 환경에서 1:1 통신을 가능하게 할 수 있다. NAT 트래버설(Network Address Tranlation Traversal)은 제3 자의 도움을 통하여 포스트간 1:1 통신을 할 수 있도록 한다.On the other hand, NAT is a problem when one-to-one communication between clients such as Voice over Internet Protocol (VoIP), online game, P2P file sharing is required. In this case, it is possible to enable 1: 1 communication in a NAT environment with the help of a third party other than a client desiring one-to-one communication. Network Address Tranlation Traversal allows post-to-post 1: 1 communication with the help of a third party.

이 중 NAT 트래버설과 같은 클라이언트 장치들의 중계 방법 중 하나로서 홀 펀칭(Hole Punching)이 있다. 홀 펀칭은 단순히 NAT를 이용하는 것보다 훨씬 적극적인 방법의 시스템 수준 중계이다. NAT는 사설 네트워크 내부로부터의 클라이언트의 요청은 허용해도, 외부로부터의 다른 클라이언트 연결 요청은 차단하는 것이 일반적이지만 홀펀칭은 NAT의 작동 원리를 활용하여 외부 네트워크로부터 내부 네트워크로의 접속을 허용할 수 있도록 한다.Of these, hole punching is one of the relay methods of client devices such as NAT traversal. Hole punching is a much more aggressive system-level relay than simply using NAT. Although NAT allows clients from inside the private network to be allowed, it also blocks other client connection requests from the outside, but hole punching allows the connection from the external network to the internal network by utilizing the working principle of NAT. do.

이에 따라 홀 펀칭을 이용하면 외부 시스템들도 클러스터 내부의 시스템에 바로 접근할 수 있다.Hole punching allows external systems to directly access the system inside the cluster.

도 1은 두 클라이언트 장치가 홀 펀칭을 이용하여 통신하는 네트워크에 대한 개념도이다. 도 1을 참조하면, 클라이언트1 및 클라이언트2가 서로 다른 NAT 장비 A, B 가 각각 관리하는 내부 네트워크 내에 존재하고 이들 사이에 외부 네트워크에서 이들을 중계하는 서버(10)가 존재한다. 서버(10), NAT A 및 NAT B 는 동일한 대역의 외부 네트워크에 존재할 수 있고 홀 펀칭을 위해 서버(10) 및 클라이언트 1, 2 간에는 이미 세션이 연결되어 있을 수 있다.1 is a conceptual diagram of a network in which two client devices communicate using hole punching; Referring to FIG. 1, the client 1 and the client 2 exist in an internal network managed by different NAT devices A and B, respectively, and a server 10 exists between them in an external network. The server 10, NAT A and NAT B may exist in an external network of the same band, and a session may already be connected between the server 10 and the clients 1 and 2 for hole punching.

홀 펀칭을 이용한 통신에 있어서, 클라이언트1이 먼저 서버(10)에 접속 요청한다. 이 경우 NAT A는 클라이언트1의 사설 IP(Private IP)를 외부 네트워크(100)에서 통용되는 공용 IP(Public IP)로 변환하게 된다. 접속 요청을 수신한 서버(10)는 클라이언트1의 사설 IP 및 공용 IP 뿐만 아니라 클라이언트1의 포트 정보도 알게 된다. 또한, 서버(10)는 클라이언트2로부터의 접속 요청도 수신한다. NAT B는 클라이언트2의 사설 IP를 공용 IP 로 변환하게 되고, 서버(10)는 클라이언트2의 공용 IP 및 사설 IP 뿐만 아니라 클라이언트2의 포트 정보도 알 수 있다. 서버(10)는 클라이언트1에게 클라이언트2의 공용 IP 및 포트 정보를 전송하고, 클라이언트2에게 클라이언트1의 공용 IP 및 포트 정보를 전송한다. 이에 따라 클라이언트1,2는 통신을 시도할 수 있다. 예컨대, 클라이언트1이 먼저 접속 요청을 클라이언트2에 전송하는 경우 NAT A 는 클라이언트1로부터 클라이언트2 로 향한 주소 변환 테이블을 생성한다. 한편, NAT B 는 클라이언트1로부터의 접속 요청을 수신하더라도 해당하는 주소 변환 정보가 NAT B 의 테이블에 존재하지 아니하므로 해당 메시지를 차단한다. 즉, 클라이언트2가 접속 요청을 클라이언트1에 전송하고자 하는 경우, NAT B 는 클라이언트1로부터 클라이언트2 로의 주소변환 정보를 테이블에 저장할 수 있고, NAT A는 클라이언트1 및 클라이언트2 간에 기 생성된 주소 변환 정보가 이미 저장되어 있으므로 클라이언트2 로부터의 접속 요청을 차단하지 않고 정상적으로 변환되어 클라이언트1로 전달할 수 있다. 이에 따라 클라이언트1 및 2 간의 홀펀칭에 의한 통신이 수행될 수 있다. 이러한 홀 펀칭의 과정은 주소 변환 정보 및 포트를 할당하는 방식으로 네트워크 구성에 따라 다양한 변화가 생길 수 있고, 서버(10) 및 클라이언트 간의 프로그램 및 통신 환경에 따라 다른 방식에 의해 수행될 수 있다. 서버(10)는 랑데부 서버(Rendezvous Server)일 수 있다.In the communication using the hole punching, the client 1 requests the server 10 to make a connection first. In this case, the NAT A converts the private IP of the client 1 into a public IP that is used in the external network 100. The server 10 which has received the connection request not only knows the private IP and public IP of the client 1 but also the port information of the client 1. In addition, the server 10 also receives a connection request from the client 2. The NAT B converts the private IP of the client 2 into the public IP, and the server 10 can know not only the public IP and the private IP of the client 2 but also the port information of the client 2. [ The server 10 transmits the public IP and port information of the client 2 to the client 1 and transmits the public IP and the port information of the client 1 to the client 2. [ Accordingly, the clients 1 and 2 can try to communicate. For example, when Client 1 first transmits a connection request to Client 2, NAT A creates an address translation table from Client 1 to Client 2. On the other hand, even if the NAT B receives the connection request from the client 1, the NAT B blocks the corresponding message since the corresponding address translation information does not exist in the NAT B table. That is, when the client 2 wants to transmit a connection request to the client 1, the NAT B can store the address conversion information from the client 1 to the client 2 in the table, and the NAT A can store the address conversion information generated between the client 1 and the client 2 The connection request from the client 2 is not intercepted and can be normally converted and transmitted to the client 1. Accordingly, the communication by the hole punching between the clients 1 and 2 can be performed. The hole punching process is a method of allocating address conversion information and ports, and various changes may occur depending on the network configuration, and may be performed by other methods depending on the program and communication environment between the server 10 and the clients. The server 10 may be a Rendezvous Server.

그러나 일반적인 NAT 방식은 외부 네트워크로 전송되는 패킷에 대해 포트를 변경하지 않고 IP 주소 만을 변경하여 세션이 연결된다. 이에 따라 외부 도달지의 클라이언트 장치가 상이하더라도 세션이 구별되므로 포트 정보가 그대로인 채 전송될 수 있다. 예컨대, NAT A 가 관리하는 내부 네트워크(101) 내의 클라이언트1의 IP 주소(포트번호)가 1.1.1.1(1000)이고, 클라이언트1이 통신하고자 하는 클라이언트2의 IP 주소(포트번호)가 2.2.2.1(1000)인 경우, 클라이언트1은 클라이언트2에 대한 접속 요청 메시지를 전송할 수 있다. 이 경우, 클라이언트2에게 도달된 클라이언트1의 IP 주소(포트번호)는 NAT A에 의해 3.3.3.1(1000)로 변환될 수 있다. 이로 인해 클라이언트1의 접속 정보인 1.1.1.1(1000) -> 3.3.3.1(1000)가 서버(10)에게 인지될 수 있고, 클라이언트2의 요청이 있는 경우 서버(10)는 이 정보를 전달함으로써 홀 펀칭이 가능하다. 즉, 주소 변환 시 주소 정보만이 변환되고 포트 번호는 변화되지 않는 것을 이용하여 홀펀칭이 가능하게 된다. 즉, 서버(10)는 클라이언트1 및 클라이언트2의 IP 주소 및 포트 번호의 변환 정보를 각각 저장하여 두었다가 클라이언트1 및 클라이언트2 간의 세션을 형성하도록 보조한다. 이 때, NAT A 및 NAT B에 의하여 외부 네트워크 및 내부 네트워크에 통용되는 IP 어드레스의 변환이 생기더라도 포트 정보는 유지가 되기 때문에 서버(10)는 이를 이용하여 홀 펀칭을 수행할 수 있는 것이다. 홀 펀칭은 클라이언트 장치 간의 일대일 통신의 효율성 측면에서는 유리하지만, 외부의 검증되지 아니한 디바이스로부터의 침입에 무방비 상태가 초래되게 된다.However, in the normal NAT method, the session is connected by changing only the IP address of the packet transmitted to the external network without changing the port. Accordingly, even if the client apparatuses of the external destination are different, the session information can be transmitted while the port information remains unchanged. For example, if the IP address (port number) of the client 1 in the internal network 101 managed by the NAT A is 1.1.1.1 (1000) and the IP address (port number) of the client 2 to which the client 1 wants to communicate is 2.2.2.1 (1000), the client 1 can transmit a connection request message to the client 2. In this case, the IP address (port number) of Client 1 reached to Client 2 can be converted to 3.3.3.1 (1000) by NAT A. Accordingly, the connection information of the client 1, 1.1.1.1 (1000) -> 3.3.3.1 (1000) can be recognized by the server 10, and when there is a request from the client 2, the server 10 transmits this information Hole punching is possible. That is, hole punching can be performed by using only the address information is converted and the port number is not changed during address conversion. That is, the server 10 stores conversion information of the IP address and the port number of the client 1 and the client 2, respectively, and assists in forming a session between the client 1 and the client 2. At this time, even if the conversion of the IP address commonly used in the external network and the internal network occurs due to NAT A and NAT B, the port information is maintained, so that the server 10 can perform the hole punching by using it. Hole punching is advantageous in terms of efficiency of one-to-one communication between client devices, but it results in an unprotected state from intrusion from outside unauthorized devices.

본 발명은 상술한 문제점을 해결하기 위하여, 홀 펀칭과 같은 외부 침입을 방지하기 위해 새로운 세션의 패킷이 네트워크 주소 변환 장치를 거쳐가는 경우 포트 정보까지도 변경할 수 있는 통신 방법을 제공하도록 한다.In order to solve the above-described problems, the present invention provides a communication method capable of changing port information even when packets of a new session pass through a network address translation device in order to prevent external intrusion such as hole punching.

본 발명의 일 실시예에 따른 복수의 디바이스 간의 통신 방법은, 제1 디바이스로부터 메시지를 수신하는 단계; 상기 수신된 메시지가 외부 네트워크에 존재하는 제2 디바이스로의 접속 요청인 경우 상기 수신된 메시지에 포함된 상기 주소 정보를 변환하는 단계; 및 상기 변환된 주소를 포함한 메시지를 상기 제2 디바이스로 전송하는 단계를 포함한다.A communication method between a plurality of devices according to an embodiment of the present invention includes: receiving a message from a first device; Converting the address information included in the received message if the received message is a connection request to a second device existing in an external network; And transmitting the message including the converted address to the second device.

본 발명의 일 실시예에 따른 복수의 디바이스 간의 통신을 수행하는 장치는,복수의 디바이스 중 제1 디바이스로부터 메시지를 수신하는 단계; 상기 수신된 메시지가 외부 네트워크에 존재하는 제2 디바이스로의 접속 요청인 경우 상기 수신된 메시지에 포함된 상기 주소 정보를 변환하는 단계; 및 상기 변환된 주소를 포함한 메시지를 상기 제2 디바이스로 전송하는 단계를 수행한다.An apparatus for performing communication between a plurality of devices according to an embodiment of the present invention includes: receiving a message from a first one of a plurality of devices; Converting the address information included in the received message if the received message is a connection request to a second device existing in an external network; And transmitting the message including the converted address to the second device.

본 발명에 따르면 외부 침입이 차단되어 신뢰성 있는 통신이 가능하도록 한다.According to the present invention, external intrusion is blocked, thereby enabling reliable communication.

도 1은 두 클라이언트 장치가 홀 펀칭을 이용하여 통신하는 네트워크에 대한 개념도이다.
도 2는 본 발명의 일 실시예에 따른 통신 방법에 대한 디바이스간 데이터 흐름을 나타낸다.
1 is a conceptual diagram of a network in which two client devices communicate using hole punching;
2 shows a data flow between devices for a communication method according to an embodiment of the present invention.

이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the detailed description of known functions and configurations incorporated herein will be omitted when it may unnecessarily obscure the subject matter of the present invention.

도 2는 본 발명의 일 실시예에 따른 통신 방법에 대한 디바이스1 간 데이터 흐름을 나타낸다. 도 2를 참조하면, 클라이언트1 및 디바이스1은 동일한 사설 네트워크 내에 존재하고 디바이스1은 클라이언트1의 네트워크 주소 변환을 수행한다. 디바이스1은, 본 발명의 일 실시예에 따라 외부 네트워크로부터의 홀 펀칭을 차단할 수 있는 네트워크 인터페이스 컨트롤러 또는 네트워크 인터페이스 카드일 수 있으며, 본 발명의 통신 장치로 예시될 수 있다. FIG. 2 shows a data flow between device 1 for a communication method according to an embodiment of the present invention. Referring to FIG. 2, the client 1 and the device 1 are in the same private network, and the device 1 performs the network address translation of the client 1. The device 1 may be a network interface controller or a network interface card capable of blocking hole punching from an external network according to an embodiment of the present invention and may be exemplified by the communication device of the present invention.

단계(1)에서, 클라이언트1은 외부 네트워크에 존재하는 클라이언트2에 대한 접속 요청 메시지를 전송한다. 접속 요청한 메시지는 클라이언트1의 주소 정보(포트 번호)인 1.1.1.1(1000) 및 도달지의 클라이언트2 주소 정보인 2.2.2.1(100)를 포함할 수 있고, 내부 네트워크에 존재하는 주소 변환 장치인 디바이스1에 도달한다. In step (1), the client 1 transmits a connection request message to the client 2 existing in the external network. The message requested to be connected may include 1.1.1.1 (1000) which is the address information (port number) of the client 1 and 2.2.2.1 (100) which is the client 2 address information of the destination, 1 < / RTI >

단계(2)에서, 디바이스1은 수신된 메시지에 포함된 주소 정보를 변환할 수 있다. 이 경우, 메시지를 전송한 클라이언트1에 관한 주소 정보를 1.1.1.1(1000) 로부터 3.3.3.1(4000)로 포트 정보까지 모두 변환할 수 있다. 또한, 디바이스1은 주소 변환에 관한 정보를 주소변환테이블에 저장할 수 있다. 디바이스1의 주소 정보 변환은 클라이언트 장치1로부터 새로운 접속 요청이 생길 때마다 수행될 수 있다. 이에 따라, 디바이스1의 주소 변환 정보를 인지하는 랑데부 서버가 있더라도, 해당 주소 변환 정보만을 가지고 외부 네트워크 내의 임의의 디바이스로부터 클라이언트1에 접속하는 것이 불가능하게 된다.In step (2), the device 1 can convert the address information contained in the received message. In this case, address information about the client 1 that transmitted the message can be converted from 1.1.1.1 (1000) to 3.3.3.1 (4000) to port information. In addition, the device 1 can store the address conversion information in the address conversion table. The address information conversion of the device 1 can be performed each time a new connection request is made from the client device 1. Thus, even if there is a rendezvous server that recognizes the address conversion information of the device 1, it is impossible to access the client 1 from any device in the external network using only the address conversion information.

다음에 단계(3)에서, 변환된 메시지 정보는 외부 네트워크를 통하여 클라이언트2에 수신될 수 있다. Next, in step (3), the converted message information can be received by the client 2 via the external network.

단계(4)에서, 클라이언트2가 기 생성된 클라이언트1의 주소 정보인 3.3.3.1(4000)을 가지고 클라이언트1에 대해 접속요청을 수행할 수 있다. 클라이언트2로부터의 접속 요청은 단계(1)의 접속 요청 메시지에 해당하는 응답 메시지이고, 디바이스1에 이미 클라이언트1 및 클라이언트2 간의 통신을 위한 주소 변환 정보가 저장되어 있으므로 디바이스1은 클라이언트2로부터의 메시지를 통과시킨다. 이 때 클라이언트1의 외부 주소(3.3.3.1(4000))은 디바이스1에 의해 내부 주소(1.1.1.1(1000))로 변환될 수 있다. 이러한 방식에 의해 이후의 클라이언트1 및 클라이언트2 간의 통신은 가능하다. In step (4), the client 2 can perform the connection request to the client 1 with the address information of the pre-generated client 1 of 3.3.3.1 (4000). Since the connection request from the client 2 is a response message corresponding to the connection request message of the step (1), and the address conversion information for communication between the client 1 and the client 2 is already stored in the device 1, . At this time, the external address (3.3.3.1 (4000)) of the client 1 can be converted to the internal address (1.1.1.1 (1000)) by the device 1. By this way, subsequent communication between the client 1 and the client 2 is possible.

한편, 단계(5)에서 클라이언트1 및 클라이언트 2 간의 접속 시의 주소 변환 정보를 알고 있는 도 1의 서버(10), 예컨대 랑데부 서버가 다른 클라이언트3에게 주소 변환 정보(3.3.3.1(4000)->2.2.2.1(1000))를 중계할 수 있다. 1, for example, the rendezvous server recognizes the address translation information (3.3.3.1 (4000) -> Rendezvous server) to the other client 3, which knows the address translation information at the time of connection between the client 1 and the client 2, 2.2.2.1 (1000)).

한편, 단계(5) 이전에, 클라이언트3이 클라이언트1과 통신을 위해 랑데부 서버에 클라이언트1의 주소 및 포트 정보를 요청하고, 랑데부 서버는 클라이언트1에게 클라이언트3의 주소 및 포트 정보를 전달하여 클라이언트1이 클라이언트3으로 세션 연결을 유도할 수 있다. 이 경우, 클라이언트1에서 클라이언트3으로의 세션 연결이 시도되어, 디바이스1에 이들간의 세션 변환 테이블이 생성될 수 있다.
Prior to step (5), the client 3 requests the address and port information of the client 1 to the rendezvous server for communication with the client 1, and the rendezvous server transmits the address and port information of the client 3 to the client 1, This can lead to session 3 connection to client 3. In this case, a session connection from the client 1 to the client 3 is attempted, and a session conversion table between them can be created in the device 1.

단계(6)에서, IP주소(포트 번호)가 2.2.2.2(1000)인 클라이언트3이 랑데부 서버에게 전달받은 주소 변환 정보를 가지고 클라이언트1에게 접속 요청을 시도한다. 종래 기술에서는, 랑데부 서버로부터 전달받은 주소 변환 정보가 유효하므로 클라이언트 1, 3 간에 세션이 바로 연결될 수 있다. 그러나, 본발명의 홀펀칭 차단 기능에 의해 디바이스1이 주소 및 포트 정보를 모두 변환했으므로 랑데부 서버가 클라이언트3으로 중계한 주소/포트는 디바이스 1이 이전에 생성한 세션테이블 상의 주소 및 포트 정보와 일치하지 않으므로 세션은 연결되지 않을 것이다.
In step (6), the client 3 having the IP address (port number) of 2.2.2.2 (1000) tries to access the client 1 with the address translation information delivered to the rendezvous server. In the prior art, since the address translation information received from the rendezvous server is valid, the session can be directly connected between the clients 1 and 3. However, since the device 1 has converted both the address and port information by the hole punching blocking function of the present invention, the address / port relayed by the rendezvous server to the client 3 matches the address and port information on the session table previously created by the device 1 The session will not be connected.

단계(7)에서, 디바이스1은 클라이언트3으로부터의 접속 요청 메시지를 수신하면 세션 테이블에 있지 아니한 주소임을 확인하고 메시지를 차단한다. 즉, 클라이언트3이 클라이언트1 의 주소 변환 정보를 알고 있더라도 클라이언트1로부터 접속요청이 먼저 시도되지 않는 이상, 클라이언트3으로부터의 모든 접속 요청은 차단된다. In step 7, when the device 1 receives the connection request message from the client 3, it confirms that the address is not in the session table and blocks the message. That is, even if the client 3 knows the address translation information of the client 1, all connection requests from the client 3 are blocked unless the connection request is first tried from the client 1.

즉, 본발명의 일 실시예에 따른 통신 방법 등에서는 내부 네트워크의 클라이언트1로부터 외부 네트워크로의 접속 요청은 허용하여도, 외부 네트워크로부터 내부의 클라이언트1 로의 접속 요청은 어떠한 경우라도 차단한다. 이를 위해 주소변환을 수행하는 디바이스1은 클라이언트1로부터의 접속 요청 메시지에 포함된 클라이언트1의 주소 변환에 있어서 포트 정보까지 모두 변환시키고 있다. 따라서, 외부의 새로운 클라이언트3이 디바이스1에 저장된 주소 변환 정보를 알고 있더라도 클라이언트3으로부터 클라이언트1로의 접속 요청을 차단할 수 있다.
That is, in the communication method and the like according to the embodiment of the present invention, even if the client 1 of the internal network requests the connection to the external network, the external network intercepts the connection request to the client 1 in any case. To this end, the device 1 performing the address conversion converts all the port information in the address translation of the client 1 included in the connection request message from the client 1. [ Thus, even if an external new client 3 knows the address translation information stored in the device 1, it can block the connection request from the client 3 to the client 1.

이상 본 발명의 일 실시예에 따른 통신 방법 등에 대해 설명하였다. 본 발명은, 본 발명의 통신 방법을 기록한 전자적 기록 코드를 컴퓨터상에서 실행하기 위한 컴퓨터 판독 가능한 기록 매체에 대해서도 적용될 수 있다. 또한 본 발명의 범위는 본 발명의 통신 방법이 수행 가능한 NIC(Network Interface Card), 컴퓨터, 라우터 등과 같은 임의의 디바이스에 대해서도 적용된다. The communication method according to the embodiment of the present invention has been described above. The present invention can also be applied to a computer-readable recording medium for executing an electronic recording code recording the communication method of the present invention on a computer. Also, the scope of the present invention is also applicable to any device such as a NIC (Network Interface Card), a computer, a router, etc. on which the communication method of the present invention can be performed.

이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 설명하였다. 그러나, 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것으로, 본 발명의 범위가 상기의 실시예에 한정되는 것은 아니며, 여러 가지 다른 형태로 변형이 가능함은 물론이다.
The preferred embodiments of the present invention have been described above. It is to be understood, however, that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and alternative arrangements included within the spirit and scope of the appended claims. Of course.

Claims (8)

복수의 디바이스 간의 통신 방법에 있어서,
제1 디바이스로부터 메시지를 수신하는 단계;
상기 수신된 메시지가 외부 네트워크에 존재하는 제2 디바이스로의 접속 요청인 경우 상기 수신된 메시지에 포함된 상기 주소 정보를 변환하는 단계; 및
상기 변환된 주소를 포함한 메시지를 상기 제2 디바이스로 전송하는 단계를 포함하는 통신 방법.
In a communication method between a plurality of devices,
Receiving a message from a first device;
Converting the address information included in the received message if the received message is a connection request to a second device existing in an external network; And
And transmitting a message including the translated address to the second device.
제1항에 있어서,
상기 주소 정보를 변환하는 단계는 상기 접속 요청 메시지에 포함된 상기 제1 디바이스의 IP 어드레스 및 포트 번호를 변환하는 단계를 포함하는 통신 방법.
The method according to claim 1,
Wherein the converting the address information comprises converting an IP address and a port number of the first device included in the connection request message.
제2항에 있어서,
상기 주소 정보의 변환은 상기 제1 디바이스로부터 새로운 접속 요청 메시지가 수신될 때마다 수행되는 통신 방법.
3. The method of claim 2,
Wherein the conversion of the address information is performed each time a new connection request message is received from the first device.
제5항에 있어서,
주소 변환 정보를 저장하는 단계를 더 포함하고,
외부 네트워크로부터 상기 접속 요청 메시지와 동일한 세션에 의한 메시지를 수신하는 경우 상기 저장된 주소 변환 정보를 기반으로 상기 제1 디바이스로 수신된 메시지를 전송하는 통신 방법.
6. The method of claim 5,
Further comprising storing address translation information,
And when receiving a message from the external network in the same session as the connection request message, transmitting the message to the first device based on the stored address translation information.
복수의 디바이스 간의 통신을 수행하는 장치에 있어서,
복수의 디바이스 중 제1 디바이스로부터 메시지를 수신하는 단계;
상기 수신된 메시지가 외부 네트워크에 존재하는 제2 디바이스로의 접속 요청인 경우 상기 수신된 메시지에 포함된 상기 주소 정보를 변환하는 단계; 및
상기 변환된 주소를 포함한 메시지를 상기 제2 디바이스로 전송하는 단계를 수행하는 장치.
An apparatus for performing communication between a plurality of devices,
Receiving a message from a first one of the plurality of devices;
Converting the address information included in the received message if the received message is a connection request to a second device existing in an external network; And
And transmitting a message including the converted address to the second device.
제5항에 있어서,
상기 주소 정보를 변환하는 단계는 상기 접속 요청 메시지에 포함된 상기 제1 디바이스의 IP 어드레스 및 포트 번호를 변환하는 단계를 포함하는 통신을 수행하는 장치.
6. The method of claim 5,
Wherein the converting the address information comprises converting an IP address and a port number of the first device included in the connection request message.
제2항에 있어서,
상기 주소 정보의 변환은 새로운 접속 요청 메시지가 수신될 때마다 랜덤으로 수행되는 통신을 수행하는 장치.
3. The method of claim 2,
Wherein the conversion of the address information is carried out randomly each time a new connection request message is received.
제5항에 있어서,
상기 통신 장치는, 상기 주소 변환에 따른 주소 변환 정보를 저장하고,
외부 네트워크로부터 상기 접속 요청 메시지와 동일한 세션에 의한 메시지를 수신하는 경우 상기 저장된 주소 변환 정보를 기반으로 상기 제1 디바이스로 수신된 메시지를 전송하는 통신을 수행하는 장치.
6. The method of claim 5,
The communication device stores address conversion information according to the address conversion,
When receiving a message by the same session as the connection request message from the external network, transmits the message received by the first device based on the stored address translation information.
KR1020130005323A 2013-01-17 2013-01-17 Communication method and device thereof KR101435931B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130005323A KR101435931B1 (en) 2013-01-17 2013-01-17 Communication method and device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130005323A KR101435931B1 (en) 2013-01-17 2013-01-17 Communication method and device thereof

Publications (2)

Publication Number Publication Date
KR20140093042A true KR20140093042A (en) 2014-07-25
KR101435931B1 KR101435931B1 (en) 2014-09-01

Family

ID=51739406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130005323A KR101435931B1 (en) 2013-01-17 2013-01-17 Communication method and device thereof

Country Status (1)

Country Link
KR (1) KR101435931B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100667732B1 (en) * 1999-10-01 2007-01-11 삼성전자주식회사 Internet protocol apparatus for communicating with private network from outsidenetwork
KR100757881B1 (en) * 2006-09-20 2007-09-11 삼성전자주식회사 Automatic tunneling method and system using network address translation
KR101225185B1 (en) * 2009-10-23 2013-01-22 한국전자통신연구원 Method for converting network address

Also Published As

Publication number Publication date
KR101435931B1 (en) 2014-09-01

Similar Documents

Publication Publication Date Title
US20170034174A1 (en) Method for providing access to a web server
CN111131448B (en) Edge management method, edge proxy equipment and computer readable storage medium for ADSL Nat operation and maintenance management
KR101240552B1 (en) System and method for managing media keys and for transmitting/receiving peer-to-peer messages using the media keys
CN105391813A (en) Protocol for sessions traversal across firewall securely (SOKS) transparent proxy method and SOKS transparent proxy device
US20160308826A1 (en) Renat systems and methods
AU2021269297A1 (en) Systems and methods for providing a ReNAT communications environment
US11716222B2 (en) Communications bridge
TW201606520A (en) Private cloud routing server, private network service and smart device client architecture without utilizing a public cloud based routing server
KR101435931B1 (en) Communication method and device thereof
JP2019050628A5 (en)
CN104994178A (en) Network address translation method and device
KR20190110719A (en) Apparatus and method for concealing network
US20120047271A1 (en) Network address translation device and method of passing data packets through the network address translation device
JP4648436B2 (en) Packet distribution device, communication system, packet processing method, and program
JP4401302B2 (en) Communication management system, communication management method, and communication management program
JP2010157857A (en) Vpn connection device, packet control method, and program
CN106027689B (en) Communication method and communication device
JP2014165560A (en) Server and program
KR20150089894A (en) Network Address Translation apparatus with cookie proxy function and method for NAT supporting cookie proxy function
JP5758461B2 (en) Communication method, external information processing apparatus, internal information processing apparatus, and program
KR101082851B1 (en) System and method for p2p connection based on udp
JP2010157858A (en) Vpn connection device, dns packet control method, and program
TW201616845A (en) Network communication system with Peer-to-Peer connection through symmetrical NAT
KR20120108466A (en) Nat traversal network having a function for immediately returning turn allocation and controlling method therefore

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20180802

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190801

Year of fee payment: 6