KR20120116238A - System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof - Google Patents

System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof Download PDF

Info

Publication number
KR20120116238A
KR20120116238A KR1020110033858A KR20110033858A KR20120116238A KR 20120116238 A KR20120116238 A KR 20120116238A KR 1020110033858 A KR1020110033858 A KR 1020110033858A KR 20110033858 A KR20110033858 A KR 20110033858A KR 20120116238 A KR20120116238 A KR 20120116238A
Authority
KR
South Korea
Prior art keywords
communication
address
ttl
network device
communication system
Prior art date
Application number
KR1020110033858A
Other languages
Korean (ko)
Other versions
KR101253025B1 (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 KR1020110033858A priority Critical patent/KR101253025B1/en
Publication of KR20120116238A publication Critical patent/KR20120116238A/en
Application granted granted Critical
Publication of KR101253025B1 publication Critical patent/KR101253025B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • 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/256NAT traversal
    • H04L61/2575NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

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

Abstract

PURPOSE: A system for transmitting UDP(User Datagram Protocol) push data and a control method thereof and a communication terminal included in the system and a control method thereof are provided to prevent unnecessary packets from being transmitted to the outside by including an optimal TTL(Time-To-Live) value in a hole punching induction signal. CONSTITUTION: A communication address is allocated through a request to a communication system performing NAT(Network Address Translation). Its own external awareness communication address recognized in a corresponding external server is identified through a request to the external server. The allocated communication address is compared with the external awareness communication address. An echo request signal is transmitted to the communication system. A network device transmitting a TTL excess message is determined as a final address translator. UDP hole punching in the communication system is induced by transmitting the UDP hole punching inductive signal to the communication system.

Description

UDP 푸시 데이터 전송 시스템 및 그 제어방법과, 그 시스템에 포함되는 통신 단말기 및 그 제어방법{SYSTEM FOR TRANSMITTING UDP PUSH DATA AND CONTROL METHOD THEREOF, COMMUNICATION APPARATUS COMPRISED IN THE SYSTEM AND CONTROL METHOD THEREOF}GPD push data transmission system and control method thereof, communication terminal included in the system and control method thereof

본 발명은 UDP 푸시 데이터 전송 시스템 및 그 제어방법과, 그 시스템에 포함되는 통신 단말기 및 그 제어방법에 관한 것으로, 보다 상세하게는 네트워크상의 소정의 서버에서 사설 네트워크 주소를 가지는 통신 단말기에 UDP 푸시 데이터를 전송할 수 있도록 구성된 UDP 푸시 데이터 전송 시스템 및 그 제어방법과, 그 시스템에 UDP 홀 펀칭을 유도시키는 통신 단말기 및 그 제어방법에 관한 것이다.The present invention relates to a UDP push data transmission system, a control method thereof, a communication terminal included in the system, and a control method thereof, and more particularly, UDP push data to a communication terminal having a private network address from a predetermined server on a network. The present invention relates to a UDP push data transmission system and a control method configured to transmit a signal, a communication terminal for inducing UDP hole punching in the system, and a control method thereof.

네트워크 주소의 부족과 관리상 이유로 많은 통신 단말기들이 NAT(Network Address Translation) 환경하에서 사설 네트워크 주소를 제공받아 동작하고 있다. 즉, 소정의 통신망을 경유하여 통신을 하기 위해서는 각 통신 단말기가 네트워크 주소를 가지고 있어야 하는데 이러한 네트워크 주소에는 공인 네트워크 주소와 사설 네트워크 주소가 있다.Due to the lack of network addresses and administrative reasons, many communication terminals are provided with a private network address under a NAT (Network Address Translation) environment. That is, in order to communicate through a predetermined communication network, each communication terminal must have a network address. These network addresses include a public network address and a private network address.

공인 네트워크 주소는 외부에서 직접 접속할 수 있는 주소를 의미하고, 사설 네트워크 주소는 외부에서는 직접 접속할 수 없고 자체 구축된 서버 등을 통해 주소 변환이 이루어져야만 통신 가능한 주소를 의미한다.The public network address refers to an address that can be directly accessed from the outside, and the private network address refers to an address that can be communicated only after address translation is performed through a built-in server, such as that cannot be directly accessed from the outside.

이들은 예를 들어 TCP/IP(Transmission Control Protocol/Internet Protocol)를 이용하는 통신망에서는 각각 공인 IP와 사설 IP로 불리운다.These are called, for example, public IP and private IP respectively in a communication network using TCP / IP (Transmission Control Protocol / Internet Protocol).

이처럼 사설 아이피는 외부에서는 직접 접속할 수 없기 때문에 만약 통신 단말기에 공인 아이피가 할당된 경우에는 상관없지만 사설 아이피가 할당된 경우에는 외부의 소정 서버로부터 특정 푸시 데이터를 해당 통신 단말기에 전송하는데 어려움이 발생하게 된다. 즉, 이 경우 통신 단말기와 소정 서버 사이에는 사설 아이피를 공인 아이피로 변환시키는 주소 변환 장치(NAT 장치)가 구비되어야 하는 것이다.Since private IP is not directly accessible from the outside, it does not matter if a public IP is assigned to a communication terminal. However, if a private IP is allocated, it is difficult to transmit specific push data to a corresponding communication terminal from an external server. do. That is, in this case, an address translation device (NAT device) for converting a private IP into a certified IP should be provided between the communication terminal and a predetermined server.

한편, 외부 서버가 소정의 푸시 데이터를 통신 단말기에 전송하는 방안으로는 TCP(Transmission Control Protocol)에 의하거나 UDP(User Datagram Protocol)에 의할 수 있는데, TCP에 따른 푸시 데이터의 전송방법은 통신 단말기가 미리 외부 서버와 TCP에 기반한 소켓 통신을 수행하여 서로 연결을 유지시키고, 그 연결에 의해 외부 서버가 해당 통신 단말기에 데이터를 전송하는 것으로서 TCP의 특성상 네트워크 및 서버 부하가 커서 단말 수용에 투자비가 많이 소요된다는 문제점이 있다.On the other hand, the external server may transmit a predetermined push data to the communication terminal by TCP (Transmission Control Protocol) or UDP (User Datagram Protocol), the method of transmitting push data according to TCP is a communication terminal Maintains connection with external server by performing socket communication based on TCP in advance, and external server transmits data to the corresponding communication terminal by the connection. Due to the characteristics of TCP, the network and server load is large, so the investment cost is high. There is a problem.

반면에 UDP에 기초한 푸시 데이터의 전송 방법은 TCP에 비해 서버가 많은 단말을 수용하는데 유용하기는 하지만, 외부 서버로부터 전송된 푸시 데이터가 통신 단말기에 접속하기 위해서는 NAT 장치를 경유해야 하고 이를 위해 NAT 장치에는 홀 펀칭이 이루어져야 하는데, 홀 펀칭이 이루어지도록 하기 위한 별도의 패킷이 적절한 관리 없이 무분별하게 발생하는 경우에는 이 역시 서버 및 네트워크에 큰 부하를 야기하게 된다.On the other hand, the UDP-based push data transmission method is useful for accommodating a large number of terminals compared to TCP, but push data transmitted from an external server must pass through a NAT device in order to access a communication terminal. Hole punching must be performed. If a separate packet for the hole punching is indiscriminately generated without proper management, this also causes a large load on the server and the network.

본 발명은 상기한 종래의 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 외부 서버로부터 사설 아이피를 가진 통신 단말기에 UDP 푸시 데이터가 전달되도록 하기 위해 NAT 장치에 홀 펀칭을 유도하면서도 네트워크 및 서버 부하를 최소로 하는 UDP 푸시 데이터 전송 시스템 및 그 제어방법과, 그 시스템에 포함되는 통신 단말기 및 그 제어방법을 제공하는 것이다. SUMMARY OF THE INVENTION The present invention has been made to solve the above-mentioned conventional problems, and its object is to induce hole punching in a NAT device so that UDP push data can be transmitted from an external server to a communication terminal having a private IP, while reducing network and server load. It is to provide a minimal UDP push data transmission system, a control method thereof, a communication terminal included in the system, and a control method thereof.

상기한 목적을 달성하기 위해 본 발명에 따른 에코 요청 신호가 수신된 경우 자신이 상기 에코 요청 신호의 최종 목적지에 해당하지 않으면 그 수신된 에코 요청 신호에 포함된 TTL 값에 따라 기본 증감 값을 차감하여 통신 경로 상의 다음 네트워크 장치로 에코 요청 신호를 전달하거나 TTL 초과 메시지를 반송하는 적어도 하나의 네트워크 장치를 포함하여 구성된 통신 시스템과 통신하고, 에코 요청 신호가 수신된 경우 자신이 상기 에코 요청 신호의 최종 목적지에 해당하면 에코 응답 신호를 반송하는 외부 서버와 상기 통신 시스템을 경유하여 통신하는 통신 단말기가 UDP 홀 펀칭 유도 신호를 전송하는 방법은, NAT(Network Address Translation) 기능을 수행하는 상기 통신 시스템에 요청하여 통신 주소를 할당받는 단계와; 상기 할당받은 통신 주소를 이용하여 통신을 수행하고, 상기 외부 서버에 요청하여 해당 외부 서버에서 인식되는 자신의 외부 인식 통신 주소를 확인하는 단계와; 상기 할당받은 통신 주소와 상기 외부 인식 통신 주소를 비교한 결과 서로 다른 경우 기 정의된 최소값으로 설정된 TTL 값을 포함하고 상기 외부 서버 주소를 최종 목적지 주소로 하는 에코 요청 신호 신호를 상기 통신 시스템으로 전송하는 단계와; 상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지가 수신되면 그 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 상기 단계에서 확인된 자신의 외부 인식 통신 주소를 비교하고, 비교결과 일치하는 경우 그 TTL 초과 메시지를 전송한 네트워크 장치를 최종 주소 변환 장치로 판단하는 단계와; 상기 최종 주소 변환 장치의 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함되었던 TTL 값에서 상기 기본 증감 값만큼 증가된 값을 TTL 값으로 가지는 UDP 홀 펀칭 유도 신호를 상기 통신 시스템으로 전송하여 상기 통신 시스템에서의 UDP 홀 펀칭을 유도하는 단계를 포함하여 이루어진다.In order to achieve the above object, if an echo request signal according to the present invention is received and the user does not correspond to the final destination of the echo request signal, the basic increase / decrease value is subtracted according to the TTL value included in the received echo request signal. Communicate with a communication system comprising at least one network device that forwards an echo request signal to a next network device on a communication path or conveys a TTL over message and, when an echo request signal is received, is the final destination of the echo request signal. In this case, a method for transmitting a UDP hole punching induction signal by an external server carrying an echo response signal and a communication terminal communicating through the communication system may include requesting the communication system performing a network address translation (NAT) function. Receiving a communication address; Performing communication using the assigned communication address, and requesting the external server to confirm its own external recognized communication address recognized by the external server; Comparing the allocated communication address with the externally recognized communication address and transmitting an echo request signal signal to the communication system including a TTL value set to a predetermined minimum value and using the external server address as a final destination address. Steps; When a TTL excess message is received from a predetermined network device of the communication system, the address of the network device which has transmitted the TTL excess message is compared with its own externally recognized communication address identified in the above step, and if the comparison result matches, the TTL excess is exceeded. Determining the network device that transmitted the message as the final address translation device; Transmitting a UDP hole punching induction signal having a TTL value increased by the basic increase / decrease value from the TTL value included in the echo request signal that is the basis of the TTL excess message of the final address translator to the communication system; Inducing UDP hole punching in the.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 UDP 푸시 데이터 전송 시스템의 제어방법은, 통신 단말기가 SIP(Session Initiation Protocol)에 따라 통신 시스템에 사용 등록을 요청하는 단계와; 상기 통신 시스템이 상기 통신 단말기에 대한 SIP에 따른 호 처리 세션을 설정하여 사용 등록을 처리하고, 상기 통신 단말기가 기 가입한 외부 서버를 확인하여 상기 외부 서버에 사용 등록을 요청하는 단계와; 상기 외부 서버가 가입자 인증 과정을 거쳐 상기 통신 단말기의 사용 등록을 처리하는 단계와; 상기 통신 단말기가 상기 설정된 호 처리 세션을 이용하여 UDP 홀 펀칭 유도 신호를 상기 통신 시스템에 전송하는 단계와; 상기 통신 시스템이 상기 UDP 홀 펀칭 유도 신호에 따라 UDP 홀 펀칭 처리를 수행하여 UDP 홀을 형성하는 단계와; 상기 외부 서버가 상기 통신 시스템에 형성된 UDP 홀을 통과하여 상기 통신 단말기에 UDP 푸시 데이터를 전송하는 단계를 포함하여 이루어진다.In addition, in order to achieve the above object, a control method of a UDP push data transmission system according to the present invention includes the steps of: requesting, by a communication terminal, usage registration to a communication system according to a Session Initiation Protocol (SIP); Setting up a call processing session according to the SIP for the communication terminal to process the use registration, checking the external server to which the communication terminal has already subscribed, and requesting the use registration from the external server; Processing, by the external server, registration of use of the communication terminal through a subscriber authentication process; Transmitting, by the communication terminal, a UDP hole punching guidance signal to the communication system using the established call processing session; Forming a UDP hole by performing, by the communication system, a UDP hole punching process according to the UDP hole punching induction signal; And sending, by the external server, UDP push data to the communication terminal through a UDP hole formed in the communication system.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 에코 요청 신호가 수신된 경우 자신이 상기 에코 요청 신호의 최종 목적지에 해당하지 않으면 그 수신된 에코 요청 신호에 포함된 TTL 값에 따라 기본 증감 값을 차감하여 통신 경로 상의 다음 네트워크 장치로 에코 요청 신호를 전달하거나 TTL 초과 메시지를 반송하는 적어도 하나의 네트워크 장치를 포함하는 통신 시스템과 통신하고, 에코 요청 신호가 수신된 경우 자신이 상기 에코 요청 신호의 최종 목적지에 해당하면 에코 응답 신호를 반송하는 외부 서버와 상기 통신 시스템을 경유하여 통신하는 통신 단말기는, NAT(Network Address Translation) 기능을 수행하는 상기 통신 시스템에 요청하여 통신 주소를 할당받는 통신 주소 할당부와; 상기 통신 주소 할당부가 할당받은 통신 주소를 이용하여 통신을 수행하는 통신 수행부와; 상기 통신 수행부를 통해 상기 외부 서버에 요청하여 해당 외부 서버에서 인식되는 자신의 외부 인식 통신 주소를 확인하는 외부 인식 통신 주소 확인부와; 상기 통신할당부가 할당받은 통신 주소와 상기 외부 인식 통신 주소 확인부가 확인한 외부 인식 통신 주소를 비교한 결과 서로 다른 경우 기 정의된 최소값으로 설정된 TTL 값을 포함하고 상기 외부 서버 주소를 최종 목적지 주소로 하는 에코 요청 신호를 상기 통신 수행부를 통해 상기 통신 시스템으로 전송하는 에코 요청 신호 전송부와; 상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지를 수신하거나 상기 외부 서버로부터 에코 응답 신호를 수신하는 수신부와; 상기 수신부에 수신된 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 자신의 외부 인식 통신 주소를 비교하는 비교부와; 상기 비교부의 비교결과 서로 일치하는 경우 해당 TTL 초과 메시지를 전송한 네트워크 장치를 최종 주소 변환 장치로 판단하는 판단부와; 상기 최종 주소 변환 장치의 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함되었던 TTL 값에서 상기 기본 증감 값만큼 증가된 값을 TTL 값으로 가지는 UDP 홀 펀칭 유도 신호를 상기 통신 수행부를 통해 상기 통신 시스템으로 전송하는 UDP 홀 펀칭 유도 신호 전송부를 포함하여 구성된다.In addition, in order to achieve the above object, when the echo request signal according to the present invention is received, if the echo request signal does not correspond to the final destination of the echo request signal, the default increase / decrease value is determined according to the TTL value included in the received echo request signal. Communicate with a communication system comprising at least one network device subtracted to transmit an echo request signal to a next network device on a communication path or to return a TTL excess message, and if an echo request signal is received, the end of the echo request signal The communication terminal for communicating with the external server carrying the echo response signal via the communication system if the destination corresponds to the destination, the communication address allocator for requesting the communication system performing a network address translation (NAT) function to be assigned a communication address. Wow; A communication performing unit for performing communication using a communication address assigned by the communication address allocating unit; An external recognition communication address confirming unit requesting the external server through the communication execution unit to confirm its external recognition communication address recognized by the external server; When the communication allocator assigns a communication address allocated by the communication allocator and the external recognition communication address checked by the external recognition communication address checker, the echoes include a TTL value set to a predetermined minimum value and an echo indicating the external server address as the final destination address. An echo request signal transmitting unit for transmitting a request signal to the communication system through the communication performing unit; A receiving unit for receiving a TTL excess message from a predetermined network device of the communication system or receiving an echo response signal from the external server; A comparison unit for comparing an address of the network device that has transmitted the TTL excess message received to the reception unit with its externally recognized communication address; A determination unit that determines, as a result of comparison between the comparison unit, a network device that has transmitted the corresponding TTL excess message as a final address translation device; A UDP hole punching induction signal having a TTL value increased by the basic increase / decrease value from the TTL value included in the echo request signal that is the basis of the TTL excess message of the final address translator to the communication system through the communication performing unit. It is configured to include a UDP hole punching induction signal transmitter for transmitting.

또, 상기한 목적을 달성하기 위해 본 발명에 따른 UDP 푸시 데이터 전송 시스템은, SIP(Session Initiation Protocol)에 따라 통신 시스템에 사용 등록을 요청하고, 상기 통신 시스템에 의해 설정된 호 처리 세션을 이용하여 UDP 홀 펀칭 유도 신호를 상기 통신 시스템에 전송하는 통신 단말기와; 상기 통신 단말기의 사용 등록 요청이 수신되면 SIP에 따른 호 처리 세션을 설정하여 사용 등록을 처리하고, 상기 통신 단말기가 기 가입한 외부 서버를 확인하여 상기 외부 서버에 사용 등록을 요청하며, 상기 통신 단말기의 UDP 홀 펀칭 유도 신호에 따라 UDP 홀 펀칭 처리를 수행하여 UDP 홀을 형성하는 통신 시스템과; 상기 통신 시스템의 요청에 따라 가입자 인증 과정을 거쳐 상기 통신 단말기의 사용 등록을 처리하고, 상기 통신 시스템에 형성된 UDP 홀을 통과하여 상기 통신 단말기에 UDP 푸시 데이터를 전송하는 외부 서버를 포함하여 구성된다.In addition, in order to achieve the above object, the UDP push data transmission system according to the present invention requests a usage registration from a communication system according to a Session Initiation Protocol (SIP), and uses a call processing session established by the communication system to provide a UDP. A communication terminal for transmitting a hole punching guidance signal to the communication system; When the use registration request of the communication terminal is received, a call processing session according to the SIP is used to process the use registration, the external server to which the communication terminal subscribes to request the use registration to the external server, and the communication terminal A communication system for forming a UDP hole by performing a UDP hole punching process according to the UDP hole punching induction signal of the communication system; And an external server configured to process the use registration of the communication terminal through a subscriber authentication process at the request of the communication system and transmit UDP push data to the communication terminal through a UDP hole formed in the communication system.

이상 설명한 바와 같이 본 발명에 따르면, NAT 장치의 홀 펀칭 유도를 위해 통신 단말기가 필요한 홀 펀칭 유도 신호를 전송할 때 최적의 TTL 값을 포함시켜 전송함으로 불필요한 패킷이 외부 네트워크로 무분별하게 송출되는 것을 방지할 수 있다.As described above, according to the present invention, an optimal TTL value is included when a communication terminal transmits a hole punching guidance signal required for hole punching induction of a NAT device, thereby preventing unnecessary packets from being sent out to an external network. Can be.

또한, 통신 단말기의 SIP 세션을 형성할 때 통신망에서는 자동으로 해당 통신 단말기에 할당된 서버를 찾아 자동으로 사용 등록을 시켜줌으로써 통신 단말기 사용자에 의한 별도의 사용 등록 과정이 필요 없다.In addition, when establishing a SIP session of a communication terminal, the communication network automatically finds a server assigned to the corresponding communication terminal and automatically registers the use of the communication terminal, thereby eliminating a separate use registration process by the user of the communication terminal.

도 1은 본 발명의 일 실시예에 따른 UDP 푸시 데이터 전송 시스템의 개략 구성도이고,
도 2는 도 1의 통신 단말기의 기능 블록도이고,
도 3은 도 1의 통신 단말기가 사용 등록을 요청하고 SIP에 따른 세션을 설정하는 과정을 나타낸 도면이고,
도 4는 도 1의 통신 단말기의 제어 흐름도이고,
도 5 및 도 6은 본 발명의 일 실시예에 따른 UDP 푸시 데이터 전송 시스템의 전체 신호 흐름도이다.
1 is a schematic structural diagram of a UDP push data transmission system according to an embodiment of the present invention;
2 is a functional block diagram of the communication terminal of FIG. 1,
3 is a diagram illustrating a process in which the communication terminal of FIG. 1 requests usage registration and establishes a session according to SIP;
4 is a control flowchart of the communication terminal of FIG. 1;
5 and 6 are an overall signal flow diagram of the UDP push data transmission system according to an embodiment of the present invention.

이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 일 실시예에 따른 UDP 푸시 데이터 전송 시스템은 도 1에 도시된 바와 같이 통신 단말기(100), 통신 시스템(200), 외부 서버(300)(푸시 서버)를 포함하여 구성된다.UDP push data transmission system according to an embodiment of the present invention is configured to include a communication terminal 100, a communication system 200, an external server 300 (push server), as shown in FIG.

통신 시스템(200)은 NAT(Network Address Translation) 기능을 수행하여 통신 단말기(100)에 사설 아이피(즉, 사설 네트워크 주소)를 할당함과 아울러 주소 변환을 통해 통신 단말기(100)와 외부의 소정 서버가 통신할 수 있도록 하는 기능을 수행한다.The communication system 200 performs a network address translation (NAT) function to allocate a private IP (that is, a private network address) to the communication terminal 100 and to convert the communication terminal 100 and an external server through address translation. Performs a function that enables the user to communicate.

이러한 통신 시스템(200)에는 적어도 하나의 네트워크 장치가 포함되어 있는데, 이러한 네트워크 장치는 수신되는 패킷의 최종 목적지와 그 패킷에 포함된 TTL(Time To Live) 값에 따라 해당 패킷의 처리를 수행한다.The communication system 200 includes at least one network device, and the network device performs processing of the packet according to the final destination of the received packet and the time to live (TTL) value included in the packet.

여기서 통신 시스템(200)에 포함되는 네트워크 장치는 통신 단말기(100)에 사설 아이피를 할당하고 공인 아이피로의 주소 변환을 처리하는 NAT 장치(즉, 주소 변환 장치)에 해당할 수도 있고, 단지 패킷의 전달만을 수행하는 라우터에 해당할 수도 있다. 이 밖에도 통신 시스템(200)은 SIP에 따른 세션을 설정하여 호 처리를 수행하거나 통신 단말기(100)의 가입자 정보를 관리하는 각종 장치들이 포함될 수 있는데, 도 1에서는 그 각각의 장치에 대한 세부 도시는 생략하였다.The network device included in the communication system 200 may correspond to a NAT device (that is, an address translation device) which allocates a private IP to the communication terminal 100 and handles address translation to a public IP, It may also correspond to a router that performs only forwarding. In addition, the communication system 200 may include various devices for establishing a session according to SIP to perform call processing or managing subscriber information of the communication terminal 100. In FIG. Omitted.

TTL 값은 각 패킷 전송 경로에 대한 무한 루프가 형성되지 않도록 하기 위한 것으로서 소정의 시간(네트워크 장치 경유 횟수)이 경과하면 자동으로 해당 패킷이 소멸되도록 하기 위해 정의된 값을 의미한다.The TTL value is to prevent an infinite loop for each packet transmission path. The TTL value is a value defined to automatically destroy a packet after a predetermined time (the number of times passing through the network device).

이러한 기능이 수행되도록 하기 위해 통신 시스템(200)에 포함된 각 네트워크 장치들은 수신된 패킷을 처리함에 있어서 상술한 바와 같이 TTL 값을 고려하도록 구성되어야 한다.In order to perform this function, each network device included in the communication system 200 should be configured to consider the TTL value as described above in processing the received packet.

예를 들어 각 네트워크 장치는 자신이 통신 단말기(100)로부터 수신된 에코 요청 신호의 최종 목적지에 해당하지 않고 그 수신된 에코 요청 신호에 포함된 TTL 값이 기 정의된 최소값에 해당하는 경우에는 TTL 초과 메시지를 생성하여 통신 단말기(100)에 전송하고, 그 수신된 에코 요청 신호에 포함된 TTL 값이 기 정의된 최소값에 해당하지 않는 경우에는 해당 TTL 값에 소정의 기본 증감 값을 차감하여 통신 경로 상의 다음 네트워크 장치로 에코 요청 신호를 전달한다.For example, each network device exceeds the TTL when the TTL value included in the received echo request signal does not correspond to the final destination of the echo request signal received from the communication terminal 100 and corresponds to a predefined minimum value. A message is generated and transmitted to the communication terminal 100. If the TTL value included in the received echo request signal does not correspond to a predetermined minimum value, a predetermined basic increase / decrease value is subtracted from the corresponding TTL value on the communication path. It sends an echo request signal to the next network device.

예를 들어 기 정의된(또는 설정 저장된) 최소값이 '1'이고, 기본 증감 값이 '1'이라고 한다면, TTL=2인 에코 요청 신호가 수신되면 네트워크 장치는 그 수신된 에코 요청 신호의 TTL 값이 기 정의된 최소값 즉, '1'에 해당하지 않으므로 해당 패킷의 TTL 값을 기본 증감 값인 '1'만큼 차감하여 통신 경로 상의 다음 네트워크 장치로 전달한다. 이러한 차감에 따라 통신 경로 상의 다음 네트워크 장치로 전달되는 에코 요청 신호의 TTL 값은 '1'이 된다.For example, if the predefined (or stored) minimum value is '1' and the default increase / decrease value is '1', when an echo request signal with TTL = 2 is received, the network device receives the TTL value of the received echo request signal. Since it does not correspond to the predefined minimum value, that is, '1', the TTL value of the packet is deducted by '1', which is a basic increase / decrease value, and transferred to the next network device on the communication path. As a result of this deduction, the TTL value of the echo request signal transmitted to the next network device on the communication path becomes '1'.

그러면 TTL=1인 에코 요청 신호를 수신된 다음 네트워크 장치는 그 수신된 에코 요청 신호의 TTL 값이 기 정의된 최소값 즉, '1'에 해당하므로 해당 패킷을 버려 해당 패킷이 무한 루프에 빠지지 않도록 함과 아울러 해당 패킷의 전달이 중단되었음을 의미하는 TTL 초과 메시지를 생성하여 통신 단말기(100)에 전송한다.Then, after receiving the echo request signal with TTL = 1, the network device discards the packet because the TTL value of the received echo request signal corresponds to a predefined minimum value of '1' so that the packet does not enter an infinite loop. In addition, a TTL excess message, which indicates that the transmission of the corresponding packet is stopped, is generated and transmitted to the communication terminal 100.

상술한 과정은 하나의 예에 불과하고 각 네트워크 장치는 수신된 패킷의 TTL 값에서 1만큼 차감을 먼저하고 그 차감된 값에 기초하여 해당 패킷에 대한 처리를 수행할 수 있다.The above-described process is just an example, and each network device may first subtract 1 from the TTL value of the received packet and perform processing on the corresponding packet based on the subtracted value.

이처럼 통신 단말기(100)가 에코 요청 신호를 전송하고, 그에 따라 통신 시스템(200)의 네트워크 장치들이 수행하는 것은 예를 들어 ICMP(Internet Control Message Protocol)에 따른 통신일 수 있다. 즉, 통신 단말기(100)가 ICMP에 따른 에코 요청 패킷을 전송하면 통신 시스템(200)의 네트워크 장치들은 수신된 ICMP의 TTL 값을 기초로 다른 네트워크 장치에 전달하거나 TTL 필드의 만료를 의미하는 시간초과 응답 신호를 통신 단말기(100)에 전송한다.As such, the communication terminal 100 transmits an echo request signal, and thus, performed by the network devices of the communication system 200 may be, for example, communication according to the Internet Control Message Protocol (ICMP). That is, when the communication terminal 100 transmits the echo request packet according to the ICMP, the network devices of the communication system 200 transmit the time to the other network device based on the received TMP value of the ICMP or the timeout means the expiration of the TTL field. The response signal is transmitted to the communication terminal 100.

본 실시예에서 에코 요청 신호는 ICMP에 따른 패킷 신호에 국한되는 것은 아니고, TTL정보를 포함할 수 있는 포맷의 신호라면 모두 해당될 수 있다.In the present embodiment, the echo request signal is not limited to a packet signal based on ICMP, and may correspond to any signal having a format that may include TTL information.

상술한 바와 같은 통신 시스템(200)과 통신 단말기(100)간의 통신은 SIP(Session Initiation Protocol)에 따라 이루어질 수 있다.The communication between the communication system 200 and the communication terminal 100 as described above may be performed according to the Session Initiation Protocol (SIP).

이를 위해 통신 시스템(200)(보다 정확히는 SIP 처리 시스템)은 통신 단말기(100)의 SIP에 따른 사용 등록 요청이 수신되면 SIP에 따른 호 처리 세션을 설정하여 사용 등록을 처리할 수 있다. 이때 통신 시스템(200)은 통신 단말기(100)가 기 가입한 외부 서버(300)를 확인하여 외부 서버(300)에 사용 등록을 요청할 수 있다. 여기서 외부 서버(300)에의 사용 등록은 예를 들어 통신 단말기(100)가 외부 서버(300)로부터 소정 데이터를 주기적으로 전송받기 위해 해당 외부 서버(300)에 통신 단말기(100)의 로그인 상태 또는 전원 켜짐 상태 등을 알리는 과정에 해당하는 것으로서, 경우에 따라 통신 단말기(100) 또는 통신 단말기(100) 사용자는 외부 서버(300)에 미리 회원으로 가입되어 있어야 사용자 등록을 할 수 있다.To this end, the communication system 200 (or more precisely, the SIP processing system) may set up a call processing session according to the SIP and process the usage registration when the use registration request according to the SIP of the communication terminal 100 is received. In this case, the communication system 200 may check the external server 300 to which the communication terminal 100 has previously subscribed and request the use of the external server 300 for registration. Here, the registration of the use of the external server 300 is, for example, the login state or the power of the communication terminal 100 to the corresponding external server 300 so that the communication terminal 100 periodically receives predetermined data from the external server 300. It corresponds to a process of notifying the on state, etc. In some cases, the user of the communication terminal 100 or the communication terminal 100 must be previously registered as a member of the external server 300 to register a user.

이처럼 통신 단말기(100)에 대한 외부 서버(300)에의 사용자 등록을 통신 시스템(200)이 해당 통신 단말기(100)에 대한 SIP 세션 처리와 함께 처리하는 경우, 통신 단말기(100) 사용자는 별도로 해당 외부 서버(300)에 사용 등록을 요청할 필요가 없어 사용자 편의성이 증대된다.As such, when the communication system 200 processes the user registration to the external server 300 with respect to the communication terminal 100 together with the SIP session processing for the communication terminal 100, the user of the communication terminal 100 is separately external. There is no need to request usage registration from the server 300, thereby increasing user convenience.

예를 들어 전원을 켬과 동시에 통신 시스템(200)과 통신하여 SIP에 따른 호 연결을 위해 세션을 형성하는 통신 단말기(100)의 사용자는 미리 가입하였던 외부 서버(300)에 별도의 사용 등록을 요청하지 않더라도 SIP 세션을 처리하는 통신 시스템(200)에 의해 자동으로 사용 등록이 이루어질 수 있는 것이다.For example, a user of a communication terminal 100 that establishes a session for call connection according to SIP by communicating with the communication system 200 at the same time of turning on a power, requests a separate use registration from an external server 300 that has been previously subscribed. If not, the usage registration can be made automatically by the communication system 200 that processes the SIP session.

한편, 통신 시스템(200)은 통신 단말기(100)의 UDP 홀 펀칭 유도 신호에 따라 UDP 홀 펀칭 처리를 수행하여 UDP 홀을 형성하는 기능을 수행한다.Meanwhile, the communication system 200 performs a UDP hole punching process according to the UDP hole punching guidance signal of the communication terminal 100 to form a UDP hole.

여기서 UDP 홀은 UDP 데이터가 통과될 수 있도록 하는 일종의 논리적인 통로에 해당하며, 예를 들어 주소 변환 장치의 라우팅 테이블 등에 주소 매핑을 해두는 것을 의미할 수 있고, 이에 따라 외부 서버(300)에서 전송된 UDP 데이터가 주소 변환 장치를 경유하여 통신 단말기(100)에 도달될 수 있게 되는 것이다.Here, the UDP hole corresponds to a kind of logical passage that allows UDP data to pass through. For example, the UDP hole may mean address mapping to a routing table of an address translation apparatus, and thus transmitted from an external server 300. UDP data can be reached via the address translation apparatus to the communication terminal 100.

즉, 통신 단말기(100)에 사설 아이피가 설정되어 있는 경우에는 외부 서버(300)로부터 전송된 데이터가 해당 통신 단말기(100)에 도달하는 것이 용이하지 않은데, 주소 변환 장치에 해당 통신 단말기(100)와 외부 서버(300)에 대하여 UDP 홀 펀칭이 이루어져 있는 경우, 외부 서버(300)는 주소 변환 장치에 형성된 UDP 홀을 경유하여 통신 단말기(100)에 소정의 데이터를 전송할 수 있는 것이다.That is, when the private IP is set in the communication terminal 100, it is not easy for data transmitted from the external server 300 to reach the corresponding communication terminal 100. And when the UDP hole punching is made to the external server 300, the external server 300 is able to transmit predetermined data to the communication terminal 100 via the UDP hole formed in the address translation apparatus.

통신 시스템(200)의 주소 변환 장치에서 UDP 홀 펀칭이 수행되고 이용되는 과정의 몇 가지 예들을 간략히 살펴보면 다음과 같다.Some examples of a process in which UDP hole punching is performed and used in the address translation apparatus of the communication system 200 will be briefly described as follows.

첫 번째로 통신 단말기(100)에서 UDP 데이터를 주소 변환 장치(일 예로 IP 공유기) 밖으로 보낼 때 그 주소 변환 장치는 해당 통신 단말기(100)의 IP와 포트 정보를 기억하고 주소 변환 장치의 포트와 매핑을 해주며, 그 매핑된 포트로 데이터가 오면 출발지 IP와 포트 정보를 상관하지 않고 해당 통신 단말기(100)로 포워딩을 해주는 경우가 있을 수 있고,First, when the communication terminal 100 sends UDP data out of an address translator (for example, an IP router), the address translator stores IP and port information of the corresponding communication terminal 100 and maps the port to the port of the address translator. When the data comes to the mapped port, there may be a case of forwarding to the corresponding communication terminal 100 regardless of the source IP and the port information,

두 번째로 통신 단말기(100)에서 UDP 데이터를 주소 변환 장치 밖으로 보낼 때 주소 변환 장치는 해당 통신 단말기(100)의 IP와 포트 정보, 목적지 IP를 기억하고 주소 변환 장치의 포트와 매핑을 해주고, 그 매핑된 주소 변환 장치의 해당 포트로 데이터가 오면 출발지 IP정보를 비교하여 주소 변환 장치에 기록된 목적지 IP와 같으면 해당 통신 단말기(100)로 포워딩을 해주는 경우가 있을 수 있으며,Secondly, when the communication terminal 100 sends UDP data out of the address translation apparatus, the address translation apparatus stores IP and port information and destination IP of the corresponding communication terminal 100 and maps the port of the address translation apparatus. When data comes to the corresponding port of the mapped address translation device, the source IP information may be compared and the same as the destination IP recorded in the address conversion device may be forwarded to the corresponding communication terminal 100.

세 번째로 통신 단말기(100)에서 UDP 데이터를 주소 변환 장치 밖으로 보낼 때 주소 변환 장치는 해당 통신 단말기(100)의 IP와 포트 정보, 목적지 IP, 포트 정보를 기억하고 주소 변환 장치의 포트와 매핑을 해주고, 그 매핑된 주소 변환 장치의 해당 포트로 데이터가 오면 출발지 IP 정보를 비교하여 주소 변환 장치에 기록된 목적지 IP, Port 가 같으면 해당 통신 단말기(100)에 포워딩을 해주는 경우가 있을 수 있다.Third, when the communication terminal 100 sends UDP data out of the address translation apparatus, the address translation apparatus stores IP and port information, destination IP, and port information of the corresponding communication terminal 100, and maps the port and mapping of the address translation apparatus. If the data comes to the corresponding port of the mapped address translation device, the destination IP information may be compared and the destination IP and port recorded in the address conversion device may be forwarded to the corresponding communication terminal 100.

이처럼 통신 시스템(200)의 소정의 장치 즉, 주소 변환 장치에 데이터 홀(hole)이 형성되고 그 형성된 홀을 통해 데이터가 전달되는 과정은 기 공지된 것에 불과하므로 보다 자세한 설명은 생략한다.As described above, since a data hole is formed in a predetermined device of the communication system 200, that is, an address translation device, and data is transmitted through the formed hole, a detailed description thereof will be omitted.

한편, 통신 시스템(200)은 형성된 홀을 기 설정된 시간 동안만 유지하고, 해당 시간이 경과하면 홀을 없앨 수 있다. 홀이 없어지는 것을 방지하기 위해 후술하는 바와 같이 통신 단말기(100)는 홀 펀칭 유도 신호를 주기적으로 통신 시스템(200)으로 전송할 수 있다.Meanwhile, the communication system 200 may maintain the formed hole only for a preset time and eliminate the hole when the corresponding time elapses. As described below, the communication terminal 100 may periodically transmit a hole punching guidance signal to the communication system 200 to prevent the hole from disappearing.

한편, 외부 서버(300)는 통신 시스템(200)을 경유하여 통신 단말기(100)에 UDP 데이터를 전송하는 기능을 수행하는 것으로서, 도 1에는 도시하지 않았지만 통신 단말기(100)에 전송할 UDP 데이터를 생성하여 외부 서버(300)에 전송하면서 통신 단말기(100)로의 전송을 요청하는 별도의 장치(예를 들어 PROVIDER 서버)가 더 구비될 수도 있다. 이 경우 외부 서버(300)는 그 UDP 데이터를 생성하는 장치(PROVIDER 서버)의 요청에 따라 해당 UDP 데이터를 통신 단말기(100)로 전송할 수 있다. 물론 외부 서버(300)는 자체 알고리즘에 따라 주기적으로 UDP 데이터를 통신 단말기(100)에 전송할 수도 있음은 물론이다.Meanwhile, the external server 300 performs a function of transmitting UDP data to the communication terminal 100 via the communication system 200. Although not shown in FIG. 1, the external server 300 generates UDP data to be transmitted to the communication terminal 100. A separate device (for example, PROVIDER server) for requesting transmission to the communication terminal 100 while transmitting to the external server 300 may be further provided. In this case, the external server 300 may transmit the corresponding UDP data to the communication terminal 100 at the request of the apparatus (PROVIDER server) generating the UDP data. Of course, the external server 300 may also transmit UDP data to the communication terminal 100 periodically according to its own algorithm.

이때 외부 서버(300)로부터 통신 단말기(100)로 전송되는 UDP 데이터는 상술한 바와 같이 통신 시스템(200)(보다 정확히는 통신 시스템(200)의 주소 변환 장치)에 형성된 UDP 홀을 통해 전달될 수 있다.In this case, UDP data transmitted from the external server 300 to the communication terminal 100 may be transmitted through a UDP hole formed in the communication system 200 (more precisely, the address translation apparatus of the communication system 200) as described above. .

이렇게 소정의 UDP 데이터 통신의 전송을 위해 외부 서버(300)는 먼저 통신 단말기(100)의 사용 등록을 처리할 수 있는데, 이는 통신 시스템(200)의 요청에 따라서도 이루어질 수도 있는 것이다.In order to transmit the predetermined UDP data communication, the external server 300 may first process the use registration of the communication terminal 100, which may be made even at the request of the communication system 200.

한편, 외부 서버(300)는 통신 단말기(100)로부터 에코 요청 신호가 수신되는 경우 자신이 그 수신된 에코 요청 신호의 최종 목적지에 해당하면 에코 응답 신호를 통신 단말기(100)로 전송할 수 있다.Meanwhile, when the echo request signal is received from the communication terminal 100, the external server 300 may transmit an echo response signal to the communication terminal 100 when the echo server receives the echo request signal as the final destination of the received echo request signal.

예를 들어 통신 단말기(100)가 ICMP의 '타입 8'에 해당하는 에코 요청 신호를 전송하는 경우 외부 서버(300)는 그 에코 요청 신호의 최종 목적지 주소가 자신에 해당하면 ICMP '타입 0'에 해당하는 에코 응답 신호를 통신 단말기(100)에 전송하는 것이다.For example, when the communication terminal 100 transmits an echo request signal corresponding to 'type 8' of the ICMP, the external server 300 transmits to the ICMP 'type 0' if the final destination address of the echo request signal corresponds to itself. The echo response signal is transmitted to the communication terminal 100.

또한 외부 서버(300)는 통신 단말기(100)로부터의 요청이 있는 경우 수신된 패킷의 출발지 주소를 별도의 필드에 포함하는 응답 신호를 전송할 수도 있는데, 이에 대한 보다 상세한 설명은 후술토록 한다.In addition, when there is a request from the communication terminal 100, the external server 300 may transmit a response signal including the source address of the received packet in a separate field, which will be described later.

한편, 통신 단말기(100)는 통신 시스템(200)으로부터 사설 아이피(즉, 사설 네트워크 주소)를 할당받고 그 할당받은 사설 아이피를 이용하여 통신하는 장치로서 컴퓨터, 이동통신 단말기 등을 모두 포함하는 것이다.Meanwhile, the communication terminal 100 is a device that receives a private IP (ie, a private network address) from the communication system 200 and communicates using the assigned private IP, and includes a computer, a mobile communication terminal, and the like.

여기서 통신 단말기(100)는 SIP(Session Initiation Protocol)에 따라 세션을 형성하고 그 형성된 세션을 이용하여 통신할 수 있는데, 이를 위해 통신 단말기(100)는 먼저 통신 시스템(200)에 사용 등록을 요청하고 필요한 인증 등의 과정을 거쳐 통신을 위한 세션을 설정할 수 있다.Herein, the communication terminal 100 may establish a session according to a Session Initiation Protocol (SIP) and communicate using the formed session. For this purpose, the communication terminal 100 first requests a registration of usage of the communication system 200. A session for communication can be established through the necessary authentication process.

또한 통신 단말기(100)는 외부 서버(300)로부터 UDP 데이터를 수신하는 기능도 수행한다.In addition, the communication terminal 100 performs a function of receiving UDP data from the external server 300.

이때 사설 아이피가 할당된 통신 단말기(100)가 외부 서버(300)로부터 UDP 데이터를 수신하기 위해서는 상술한 바와 같이 통신 시스템(200)에 UDP 홀이 형성되어야 하는데, 이를 위해 통신 단말기(100)는 -예를 들어 주기적으로- UDP 홀 펀칭 유도 신호를 통신 시스템(200)에 전송한다. 이에 따라 통신 시스템(200)에 구비된 주소 변환 장치는 UDP 홀을 형성하게 되고 결과적으로 외부 서버(300)로부터의 UDP 데이터가 통신 단말기(100)로 그 형성된 UDP 홀을 통해 전달될 수 있다.In this case, in order for the communication terminal 100 allocated with the private IP to receive UDP data from the external server 300, a UDP hole should be formed in the communication system 200 as described above. For example, periodically-a UDP hole punching guidance signal is sent to the communication system 200. Accordingly, the address translation apparatus provided in the communication system 200 forms a UDP hole, and as a result, UDP data from the external server 300 can be transmitted to the communication terminal 100 through the formed UDP hole.

이처럼 통신 단말기(100)는 UDP 홀 펀칭 유도 신호를 통신 시스템(200)에 전송하게 되는데, UDP 홀 펀칭 유도 신호가 어떠한 TTL 값을 갖는가는 상당히 중요하다.As such, the communication terminal 100 transmits a UDP hole punching guidance signal to the communication system 200. It is very important to determine which TTL value the UDP hole punching guidance signal has.

왜냐하면 UDP 홀 펀칭 유도 신호는 통신 시스템(200)에 포함되는 각 네트워크 장치들 중에서 실제 홀 펀칭이 필요한 네트워크 장치(예를 들어 주소 변환 장치)가 인식하기만 하면 되는 것인데, TTL 값이 너무 작은 경우에는 그 주소 변환 장치까지 해당 UDP 홀 펀칭 유도 신호가 전달되지 않게 되고, TTL 값이 너무 큰 경우에는 UDP 홀 펀칭 유도 신호가 그 주소 변환 장치를 지나서도 한참동안 불필요하게 네트워크를 떠돌아다니게 되는 것이다.This is because UDP hole punching induction signal needs only to be recognized by a network device (for example, an address translator) that requires actual hole punching among respective network devices included in the communication system 200. When the TTL value is too small, The UDP hole punching induction signal is not transmitted to the address translator, and when the TTL value is too large, the UDP hole punching induction signal wanders the network unnecessarily for a long time even after passing through the address translator.

불필요한 패킷이 네트워크 내에 돌아다니는 것은 망 부하를 가중시키는 것이고, 이는 통신 단말기(100)가 UDP 홀 펀칭 유도 신호를 주기적으로 반복해서 전송하는 경우에 더욱 그러하다.Unnecessary packets running around in the network add to the network load, especially when the communication terminal 100 repeatedly transmits a UDP hole punching induction signal.

따라서 주소 변환 장치가 UDP 홀 펀칭을 수행할 수 있게 하는 최적의 TTL 값을 찾는 것이 매우 중요하다.Therefore, it is very important to find the optimal TTL value that enables the address translator to perform UDP hole punching.

최적의 TTL 값을 산출하는 보다 구체적인 과정은 도 2 에 도시된 통신 단말기(100)의 기능 블록에 대한 설명과 함께 하도록 한다.A more detailed process of calculating the optimal TTL value will be described with reference to the functional block of the communication terminal 100 shown in FIG. 2.

도 2에 도시된 바와 같이 통신 단말기(100)는 통신 주소 할당부(110), 통신 수행부(120), 외부 인식 통신 주소 확인부(140), 에코 요청 신호 전송부(130)와, 수신부(150), 비교부(160), 판단부(170), UDP 홀 펀칭 유도 신호 전송부(180)를 포함하여 구성될 수 있다.As shown in FIG. 2, the communication terminal 100 includes a communication address allocator 110, a communication performer 120, an external recognition communication address checker 140, an echo request signal transmitter 130, and a receiver ( 150, the comparison unit 160, the determination unit 170, and the UDP hole punching induction signal transmission unit 180 may be configured.

통신 주소 할당부(110)는 NAT(Network Address Translation) 기능을 수행하는 통신 시스템(200)에 요청하여 통신 주소를 할당받는 기능을 수행한다. 이때 통신 시스템(200)(더 구체적으로는 주소 변환 장치)에서 통신 단말기(100)에 할당하는 주소는 사설 아이피일 수 있고, 이하에서는 통신 주소 할당부(110)가 할당받은 주소는 사설 아이피인 것을 일 예로 한다.The communication address assignment unit 110 requests a communication system 200 that performs a NAT (Network Address Translation) function and performs a function of receiving a communication address. In this case, the address assigned to the communication terminal 100 by the communication system 200 (more specifically, the address translation apparatus) may be a private IP, and hereinafter, the address assigned by the communication address allocator 110 is a private IP. As an example.

통신 수행부(120)는 통신 주소 할당부(110)가 할당받은 통신 주소를 이용하여 통신을 수행한다. 즉, 통신 주소 할당부(110)가 할당받은 주소가 사설 아이피인 경우 통신 단말기(100)의 통신 수행부(120)는 항상 그 할당받은 사설 아이피를 이용하여 통신을 수행한다.The communication performing unit 120 performs communication using the communication address allocated by the communication address allocating unit 110. That is, when the address allocated by the communication address assignment unit 110 is a private IP, the communication performing unit 120 of the communication terminal 100 always performs communication using the allocated private IP.

이처럼 통신 단말기(100)에서 이루어지는 모든 통신은 통신 수행부(120)를 거쳐 이루어지는 것이므로 이하의 설명에서는 통신 수행부(120)에 대한 반복적인 언급을 생략할 수 있다.As described above, all the communication in the communication terminal 100 is performed through the communication performing unit 120, and thus, repeated description of the communication performing unit 120 may be omitted in the following description.

외부 인식 통신 주소 확인부(140)는 외부 서버(300)에 요청하여 해당 외부 서버(300)에서 인식되는 자신(통신 단말기(100))의 외부 인식 통신 주소를 확인하는 기능을 수행한다. 상술한 바와 같이 통신 단말기(100)에 사설 아이피가 할당된 경우에는 통신 단말기(100)로부터 통신 시스템(200) 밖으로 전송되는 패킷은 그 통신 시스템(200)에 포함된 소정의 주소 변환 장치에 의해 그 출발지 주소가 공인 아이피로 변환하게 되고, 통신 단말기(100)의 패킷을 수신한 외부 서버(300)가 해당 패킷의 출발지로 인식하는 아이피는 실제 통신 단말기(100)의 사설 아이피가 아니라 통신 시스템(200)의 주소 변환 장치에 의해 변환된 공인 아이피가 되는 것이다.The external recognition communication address checking unit 140 checks the external recognition communication address of the self (communication terminal 100) recognized by the external server 300 by requesting the external server 300. As described above, when the private IP is allocated to the communication terminal 100, the packet transmitted from the communication terminal 100 to the outside of the communication system 200 is transferred by a predetermined address translation apparatus included in the communication system 200. The starting address is converted into an authorized IP, and the IP recognized by the external server 300 receiving the packet of the communication terminal 100 as the origin of the packet is not the private IP of the actual communication terminal 100 but the communication system 200. It becomes the authorized IP which was converted by the address translation apparatus of).

이처럼 외부 서버(300)가 인식하는 주소는 실제 통신 단말기(100)에 할당된 주소와 다를 수 있고 외부 인식 통신 주소 확인부(140)는 이처럼 외부에서 인식되는 자신 즉, 통신 단말기(100)에 대한 주소를 확인하는 것이다.As such, the address recognized by the external server 300 may be different from the address assigned to the actual communication terminal 100, and the externally recognized communication address checking unit 140 may recognize the externally recognized address, that is, the communication terminal 100. To check the address.

외부 인식 통신 주소부가 자신의 외부 인식 통신 주소를 확인하는 과정은 다양하게 구현이 가능한데, 예를 들어 외부 인식 통신 주소 확인부(140)는 외부 서버(300)에 수신한 패킷의 출발지 주소를 별도의 필드에 포함시킨 반송 패킷을 전송해 줄 것을 요청하여, 그 반송 패킷의 내용을 확인함으로써 자신의 외부 인식 통신 주소를 확인할 수 있다.The process of verifying the externally recognized communication address of the externally recognized communication address unit may be variously implemented. For example, the externally recognized communication address confirming unit 140 may separate the source address of the packet received by the external server 300. It is possible to confirm its externally recognized communication address by requesting to transmit the carrier packet included in the field and confirming the contents of the carrier packet.

보다 구체적인 예를 든다면 다음과 같다.More specific examples are as follows.

통신 단말기(100)에 할당된 사설 아이피가 192.168.0.10이고, 통신 시스템(200)을 경유하면서 변환되는 공인 아이피(이 변환되는 공인 아이피는 주소 변환 장치의 아이피에 해당할 수 있음)가 210.0.0.10이며, 외부 서버(300)의 공인 아이피가 61.0.0.10이라고 가정하면, 통신 단말기(100)로부터 전송되는 패킷의 "출발지 주소:목적지 주소"는 "192.168.0.10:61.0.0.10"가 되고, 이 패킷은 통신 시스템(200)을 경유하면서 출발지 주소가 변환되어 "출발지 주소:목적지 주소"가 "210.0.0.10:61.0.0.10"인 패킷이 되며, 이에 따라 외부 서버(300)는 수신된 패킷의 출발지 주소를 210.0.0.10으로 인식한다.The private IP assigned to the communication terminal 100 is 192.168.0.10, and the authorized IP which is converted while passing through the communication system 200 (this converted official IP may correspond to the IP of the address conversion device) is 210.0.0.10. Assuming that the public IP of the external server 300 is 61.0.0.10, the "originating address: destination address" of the packet transmitted from the communication terminal 100 becomes "192.168.0.10:61.0.0.10", and this packet is The source address is converted via the communication system 200, the packet is "originating address: destination address" is "210.0.0.10:61.0.0.10", the external server 300 is the source address of the received packet Is recognized as 210.0.0.10.

이 상태에서 외부 서버(300)는 "출발지 주소:목적지 주소"가 "61.0.0.10:210.0.0.10"인 반송 패킷을 형성하는데 이때 별도의 필드에 앞서 인식한 주소인 "210.0.0.10"을 포함시킨다. 즉, 외부 서버(300)는 "출발지 주소:목적지 주소(별도 필드)"가 "61.0.0.10:210.0.0.10(via 210.0.0.10)"인 반송 패킷을 형성하여 통신 시스템(200)으로 전송하고, 통신 시스템(200)은 NAT 기능을 수행하여 목적지 주소를 통신 단말기(100) 주소로 변환시킨 "61.0.0.10:192.168.0.10(via 210.0.0.10)"패킷을 통신 단말기(100)로 전송하게 된다.In this state, the external server 300 forms a return packet having a "originating address: destination address" is "61.0.0.10:210.0.0.10", and includes the recognized address "210.0.0.10" in a separate field. . That is, the external server 300 forms a return packet having a "originating address: destination address (separate field)" "61.0.0.10:210.0.0.10 (via 210.0.0.10)" and transmits it to the communication system 200, The communication system 200 transmits a packet “61.0.0.10:192.168.0.10 (via 210.0.0.10)” which converts a destination address into an address of the communication terminal 100 by performing a NAT function, to the communication terminal 100.

따라서 통신 단말기(100)는 수신된 패킷의 별도 필드에 포함된 "210.0.0.10" 주소가 자신의 외부 인식 통신 주소라고 판단할 수 있다.Therefore, the communication terminal 100 may determine that the address "210.0.0.10" included in the separate field of the received packet is its externally recognized communication address.

상술한 예에서 통신 시스템(200)의 NAT 기능은 아이피 뿐만 아니라 통신 포트도 변경할 수 있는데, 설명의 편의상 포트에 대한 내용은 생략하였다.In the above-described example, the NAT function of the communication system 200 may change not only IP but also communication port. For convenience of description, the description of the port is omitted.

에코 요청 신호 전송부(130)는 통신할당부가 할당받은 통신 주소와 외부 인식 통신 주소 확인부(140)가 확인한 외부 인식 통신 주소를 비교한 결과 서로 다른 경우 소정의 값으로 설정된 TTL 값을 포함하고 외부 서버 주소를 최종 목적지 주소로 하는 에코 요청 신호를 통신 시스템(200)으로 전송하는 기능을 수행한다.The echo request signal transmitter 130 includes a TTL value set to a predetermined value when the communication allocator differs from a communication address allocated by the communication allocator and an external recognition communication address checked by the external recognition communication address checker 140, and the external value includes a TTL value set to a predetermined value. The echo request signal having the server address as the final destination address is transmitted to the communication system 200.

이때 에코 요청 신호에 포함되는 TTL 값은 상황에 따라 변하게 되는데, 우선은 기 정의된 최소값으로 설정될 수 있다. 여기서 기 정의된 최소값은 "1"일 수 있다. 즉, 에코 요청 신호 전송부(130)는 우선 TTL=1을 포함하는 에코 요청 신호를 생성하여 통신 시스템(200)에 전송할 수 있고, 그 에코 요청 신호에 대응하여 수신되는 패킷에 따라 TTL 값을 증가 시킨 에코 요청 신호를 다시 전송할 수 있다. TTL 값을 증가시키는 과정에 대해서는 다른 구성 요소들의 기능과 함께 아래에서 설명토록 한다.In this case, the TTL value included in the echo request signal changes according to a situation. First, the TTL value may be set to a predefined minimum value. Here, the predefined minimum value may be "1". That is, the echo request signal transmitter 130 may first generate an echo request signal including TTL = 1 and transmit the echo request signal to the communication system 200, and increase the TTL value according to the packet received corresponding to the echo request signal. Can send the echo request signal again. The process of increasing the TTL value is described below along with the functionality of the other components.

한편, 수신부(150)는 통신 시스템(200)의 소정의 네트워크 장치로부터 TTL 초과 메시지를 수신하거나 외부 서버(300)로부터 에코 응답 신호를 수신하는 기능을 수행한다. TTL 초과 메시지와 에코 응답 신호는 앞서 설명한 바와 같으므로 반복된 설명은 생략한다.Meanwhile, the receiver 150 performs a function of receiving a TTL excess message from a predetermined network device of the communication system 200 or an echo response signal from an external server 300. Since the TTL over message and the echo response signal are as described above, repeated descriptions are omitted.

비교부(160)는 수신부(150)에 수신된 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 자신의 외부 인식 통신 주소를 비교하는 기능을 수행한다. 즉, TTL 초과 메시지의 출발지 주소를 확인하여 그 출발지 주소와 자신의 외부 인식 통신 주소를 비교하는 것이다.The comparator 160 performs a function of comparing the address of the network device that has transmitted the TTL excess message received to the receiver 150 with its externally recognized communication address. That is, it checks the source address of the TTL over-message and compares the source address with its externally recognized communication address.

비교부(160)의 비교 결과에 따라 증가된 TTL 값을 가지는 에코 요청 신호의 전송이 이루어질 수 있다. 즉, 에코 요청 신호 전송부(130)는 비교부(160)의 비교 결과 서로 일치하지 않는 경우, 기본 증감 값 즉, '1'만큼 증가된 TTL 값을 가지는 에코 요청 신호를 통신 시스템(200)으로 다시 전송할 수 있는데, 이러한 에코 요청 신호의 재전송 과정은 해당 에코 요청 신호에 대응하여 자신의 외부 인식 통신 주소와 동일한 주소를 가지는 네트워크 장치로부터 TTL 초과 메시지가 수신되거나 외부 서버(300)로부터 에코 응답 신호가 수신될 때까지 반복적으로 이루어질 수 있다.According to the comparison result of the comparator 160, an echo request signal having an increased TTL value may be transmitted. That is, when the echo request signal transmitter 130 does not match each other as a result of the comparison by the comparator 160, the echo request signal 130 transmits an echo request signal having a basic increment value, that is, a TTL value increased by '1' to the communication system 200. The echo transmission signal may be retransmitted. In response to the echo request signal, a TTL exceeding message may be received from a network device having the same address as its own external communication address, or an echo response signal may be received from the external server 300 in response to the echo request signal. It can be done repeatedly until received.

판단부(170)는 비교부(160)의 비교결과 서로 일치하는 경우 해당 TTL 초과 메시지를 전송한 네트워크 장치를 최종 주소 변환 장치로 판단한다. 여기서 최종 주소 변환 장치로 판단한다는 것은 후술하는 바와 같이 최적의 TTL 값을 산출하는 기준이 되는 주소 변환 장치로 판단한다는 것을 의미한다.The determination unit 170 determines that the network device that transmits the corresponding TTL excess message as the final address translator when the comparison unit 160 matches with each other. In this case, the determination as the final address translation apparatus means that the determination is made as an address translation apparatus that is a reference for calculating an optimal TTL value, as will be described later.

다른 관점으로 설명하면 사설 아이피를 갖는 통신 단말기(100)의 패킷에 대해 자신의 주소에 해당하는 공인 아이피로의 변환을 처리하는 NAT 장치 즉, 주소 변환 장치는 당연히 자신의 주소를 출발지 주소로 하는 TTL 초과 메시지를 전송하게 되고, 따라서 통신 단말기(100)의 판단부(170)는 그 수신된 TTL 초과 메시지 패킷의 출발지 주소와 자신의 외부 인식 통신 주소(공인 아이피)가 동일한 경우 해당 네트워크 장치가 주소 변환 장치에 해당됨을 알 수 있고 더 나아가 주소 변환 장치가 네트워크 경로 상의 몇 번째에 위치한 네트워크 장치인지를 판단할 수 있는 것이다.In other terms, a NAT device that handles the conversion of a packet of a communication terminal 100 having a private IP to a public IP corresponding to its own address, that is, a TTL of which an address is a source address, of course, is a TTL. The determination unit 170 of the communication terminal 100 transmits the excess message, and thus, when the source address of the received TTL excess message packet is identical to its externally recognized communication address (authorized IP), the corresponding network device converts the address. It can be seen that it corresponds to the device, and furthermore, it can be determined to which network device the address translator is located on the network path.

비교부(160)의 비교결과 TTL 초과 메시지를 전송하는 통신 시스템(200)의 어떠한 네트워크 장치도 자신의 외부 인식 통신 주소와 동일한 주소를 가지지 않고 외부 서버(300)로부터 에코 응답 신호가 수신된 경우, 판단부(170)는 TTL 초과 메시지를 전송해온 통신 시스템(200)의 네트워크 장치 중 에코 요청 신호가 가장 마지막으로 경유하는 네트워크 장치를 판단하고, 그 판단된 가장 마지막으로 경유하는 네트워크 장치로부터 시작하여 경유 루트 상의 역순으로 확인한 결과 자신의 외부 인식 통신 주소와 동일한 서브네트워크의 주소를 가지는 것으로 가장 먼저 확인되는 네트워크 장치를 최종 주소 변환 장치로 판단한다.When any network device of the communication system 200 that transmits the TTL excess message as a result of the comparison by the comparison unit 160 does not have the same address as its own externally recognized communication address, and an echo response signal is received from the external server 300, The determination unit 170 determines the network device via which the echo request signal is last passed among the network devices of the communication system 200 that has transmitted the TTL excess message, and starts from the last network device that has passed the determination. As a result of checking in the reverse order on the route, the network device first identified as having the same subnetwork address as its externally recognized communication address is determined as the final address translator.

가장 마지막으로 경유하는 네트워크 장치는 예를 들어 외부 서버(300)에 도달하기 우해 경유하는 통신 시스템(200)의 네트워크 장치 중 가장 마지막에 위치한 네트워크 장치일 수 있다.The last passing network device may be, for example, the last network device located among the network devices of the communication system 200 passing through to reach the external server 300.

여기서 판단부(170)는 TTL 초과 메시지를 전송한 각 네트워크 장치들에 대해 해당 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함시켰던 TTL 값에 따라 통신 시스템(200)의 각 네트워크 장치의 경유 순서를 판단할 수 있고, 이에 따라 가장 마지막으로 경유하는 네트워크 장치 역시 판단할 수 있다.In this case, the determination unit 170 determines the pass-through order of each network device of the communication system 200 according to the TTL value included in the echo request signal that is the basis of the TTL excess message for each network device that has transmitted the TTL excess message. In this case, the network device which passes through last can be determined accordingly.

예를 들어 TTL=1인 에코 요청 신호에 대해 TTL 초과 메시지를 전송한 네트워크 장치는 TTL=2인 에코 요청 신호에 대해 TTL 초과 메시지를 전송한 네트워크 장치보다 통신 단말기(100)를 기점으로 더 가까운 위치에 있는 것이다.For example, a network device that has sent a TTL excess message for an echo request signal with TTL = 1 is closer to the communication terminal 100 than a network device that has sent a TTL excess message for an echo request signal with TTL = 2. It is in

UDP 홀 펀칭 유도 신호 전송부(180)는 최종 주소 변환 장치로부터 수신된 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함되었던 TTL 값에서 기본 증감 값만큼 증가된 값을 TTL 값으로 가지는 UDP 홀 펀칭 유도 신호를 통신 시스템(200)으로 전송한다. 여기서 기본 증감 값은 '1'이라고 가정한다.The UDP hole punching induction signal transmitter 180 may induce a UDP hole punching in which a TTL value is increased by a default increase / decrease value from the TTL value included in the echo request signal that is the basis of the TTL excess message received from the final address translation apparatus. Send a signal to the communication system 200. It is assumed here that the default increase / decrease value is '1'.

예를 들어 "TTL=2"인 에코 요청 신호에 대응하여 수신되는 TTL 초과 메시지의 출발지 주소가 자신의 외부 인식 통신 주소와 동일한 경우 UDP 홀 펀칭 유도 신호 전송부(180)는 TTL 값이 기본 증감 값만큼 증가된 "TTL=3"을 포함하는 UDP 홀 펀칭 유도 신호를 통신 시스템(200)으로 전송한다.For example, if the source address of the TTL over-message received in response to the echo request signal with "TTL = 2" is the same as its externally recognized communication address, the UDP hole punching induction signal transmitter 180 may use the TTL value as the default increase / decrease value. A UDP hole punching guidance signal comprising " TTL = 3 " increased by about to the communication system 200.

이렇게 되면 TTL=3을 갖는 UDP 홀 펀칭 유도 신호는 최종 주소 변환 장치를 경유한 바로 다음 번째의 장치에서 TTL=1이 되어 소멸하게 된다. 이는 최종 주소 변환 장치에서의 UDP 홀 펀칭을 유도하면서도 불필요한 패킷의 이동을 방지하는 효과를 동시에 달성하는 것이다.In this case, the UDP hole punching induction signal having TTL = 3 is extinguished with TTL = 1 in the next device through the final address translator. This induces UDP hole punching in the final address translation apparatus while simultaneously achieving an effect of preventing unnecessary packet movement.

UDP 홀 펀칭 유도 신호 전송부(180)는 상술한 UDP 홀 펀칭 유도 신호를 통신 시스템(200)에 기 설정된 시간 간격으로 반복하여 전송할 수 있다.The UDP hole punching guidance signal transmitter 180 may repeatedly transmit the above-described UDP hole punching guidance signal to the communication system 200 at predetermined time intervals.

이하에서는 도 3을 참조하여 통신 단말기(100)가 통신 시스템(200)과 통신하여 SIP에 따른 세션 설정을 수행하는 과정을 설명한다.Hereinafter, referring to FIG. 3, a process in which the communication terminal 100 communicates with the communication system 200 to perform session establishment according to SIP will be described.

우선 본 실시예를 설명함에 있어서 통신 시스템(200)에 SIP 처리 서버와 가입자 관리 서버로 이루어져 있다고 가정한다. 여기서 SIP 처리 서버는 P-CSCF(Proxy Call State Control Function), I-CSCF(Interrogating Call State Control Function), S-CSCF(Serving Call State Control Function) 등과 같이 SIP에 따른 호 처리를 수행하는 서버를 모두 포함하는 것에 해당하고, 가입자 관리 서버는 HSS(Home Subscriber Server)와 같이 가입자 정보(위치정보, 인증정보, 서비스 정보 등)를 관리하는 서버이다.First, in describing the present embodiment, it is assumed that the communication system 200 includes a SIP processing server and a subscriber management server. Here, the SIP processing server includes all servers that perform call processing according to SIP, such as a proxy call state control function (P-CSCF), an interrogating call state control function (I-CSCF), and a serving call state control function (S-CSCF). The subscriber management server is a server that manages subscriber information (location information, authentication information, service information, etc.), such as a home subscriber server (HSS).

우선 통신 단말기(100)는 SIP 처리 서버에 사용 등록을 요청한다(단계 S1). 이러한 사용 등록은 SIP에 따른 통신을 위해 사용 등록을 요청하는 것일 수 있다.First, the communication terminal 100 requests usage registration from the SIP processing server (step S1). Such usage registration may be requesting usage registration for communication according to SIP.

SIP 처리 서버는 가입자 관리 서버에 가입자 정보를 요청하고(단계 S3), 가입자 관리 서버는 가입자의 위치 정보는 물론 기 가입한 서비스 정보를 제공한다(단계 S5).The SIP processing server requests subscriber information from the subscriber management server (step S3), and the subscriber management server provides the subscriber's location information as well as pre-subscribed service information (step S5).

SIP 처리 서버는 수신된 가입자 정보를 기초로 외부 서버(300)에 사용 등록 요청이 필요한지 여부를 판단하고(단계 S7), 필요하다고 판단하는 경우 통신 단말기(100) 사용자가 기 가입한 외부 서버(300)에 사용 등록을 요청한다(단계 S9).The SIP processing server determines whether a usage registration request is required for the external server 300 based on the received subscriber information (step S7), and when determined to be necessary, the external server 300 to which the user of the communication terminal 100 has already subscribed. Request usage registration (step S9).

외부 서버(300)는 해당 통신 단말기(100)에 대한 사용 등록을 처리하고(단계 S11), 확인 응답 신호를 전송한다(단계 S13). 여기서 외부 서버(300)가 일종의 푸시 데이터 전송 서버인 경우에는 사용 등록이 처리된 통신 단말기(100)로 주기적으로 푸시 데이터를 전송할 수 있다.The external server 300 processes the usage registration for the communication terminal 100 (step S11) and transmits an acknowledgment signal (step S13). In this case, when the external server 300 is a kind of push data transmission server, the push data may be periodically transmitted to the communication terminal 100 where the usage registration is processed.

SIP 처리 서버는 사용 등록 완료 메시지를 통신 단말기(100)에 전송하고(단계 S15), 통신 단말기(100)는 SIP 세션을 설정하여 추후 통신에서는 설정된 세션을 이용하여 통신하게 된다(단계 S17). 즉, 이하에서 설명하는 통신 단말기(100)의 신호 전송은 모두 기 설정된 SIP 세션을 이용하여 이루어질 수 있는 것이다.The SIP processing server transmits a usage registration completion message to the communication terminal 100 (step S15), and the communication terminal 100 establishes a SIP session to communicate using the established session in later communication (step S17). That is, the signal transmission of the communication terminal 100 to be described below can all be made using a preset SIP session.

상술한 과정은 통신 단말기(100) 뿐만 아니라 실제 UDP 데이터의 전송을 외부 서버(300)에 요청하는 소정 장치(PROVIDER 서버)의 세션 설정 과정에 해당할 수도 있다.The above-described process may correspond to a session setting process of a predetermined device (PROVIDER server) requesting the external server 300 to transmit actual UDP data as well as the communication terminal 100.

이하에서는 도 4를 참조하여 통신 시스템(200)과 통신하는 통신 단말기(100)에서의 제어 흐름을 설명한다.Hereinafter, a control flow in the communication terminal 100 communicating with the communication system 200 will be described with reference to FIG. 4.

통신 단말기(100)는 우선 통신 시스템(200)으로부터 통신 주소를 할당받아 설정하여 통신을 수행한다(단계 S21).The communication terminal 100 first receives and sets a communication address from the communication system 200 to perform communication (step S21).

이어서 외부 서버(300) 등과의 통신을 통해 자신의 외부 인식 통신 주소를 확인하고(단계 S23), 할당받은 통신 주소와 외부 인식 주소가 동일하지 않은 경우(단계 S25), TTL=1을 포함하면서 외부 서버 주소를 목적지 주소로 하는 에코 요청 신호를 전송한다(단계 S27)Subsequently, it checks its own external recognition communication address through communication with the external server 300 (step S23), and if the assigned communication address and the external recognition address are not the same (step S25), the external device includes TTL = 1. The echo request signal is transmitted with the server address as the destination address (step S27).

에코 요청 신호에 대응하여 TTL 초과 메시지가 수신되면(단계 S29) 통신 단말기(100)는 외부 인식 통신 주소와 TTL 초과 메시지 패킷의 출발지 주소를 비교하여 동일하다면(단계 S31) 그 TTL 초과 메시지를 전송한 장치가 주소 변환 장치라고 판단한다(단계 S37).If the TTL excess message is received in response to the echo request signal (step S29), the communication terminal 100 compares the externally recognized communication address with the source address of the TTL excess message packet and transmits the TTL excess message if it is the same (step S31). It is determined that the device is an address translation device (step S37).

만일 자신의 외부 인식 통신 주소와 TTL 초과 메시지 패킷의 출발지 주소가 동일하지 않다면(단계 S31) 통신 단말기(100)는 TTL 값을 1만큼 증가시킨 에코 요청 신호를 전송한다(단계 S33, S35).If its externally recognized communication address and the source address of the TTL excess message packet are not the same (step S31), the communication terminal 100 transmits an echo request signal in which the TTL value is increased by one (steps S33 and S35).

한편, 에코 요청 신호에 대응하여 외부 서버(300)로부터 에코 응답 신호가 수신되면(단계 S39), 가장 원격지의 네트워크 장치를 선정하고(단계 S41), 그 선정된 네트워크 장치 주소의 서브넷과 자신의 외부 인식 통신 주소의 서브넷이 동일한지 판단하며(단계 S43), 동일한 경우 해당 네트워크 장치를 주소 변환 장치로 판단한다(단계 S47).On the other hand, when the echo response signal is received from the external server 300 in response to the echo request signal (step S39), the network device of the remote location is selected (step S41), and the subnet of the selected network device address and its external device are received. It is determined whether the subnets of the recognized communication addresses are the same (step S43), and if so, the corresponding network device is determined as the address translation device (step S47).

만일 그 선정된 네트워크 장치 주소의 서브넷과 자신의 외부 인식 통신 주소의 서브넷이 동일하지 않은 경우(단계 S43), 통신 단말기(100)는 통신 경로 상의 역순으로 네트워크 장치를 순차적으로 선정하여(단계 S45) 가장 먼저 동일한 서브넷을 가지는 장치를 최종 주소 변환 장치로 판단한다(단계 S47).If the subnet of the selected network device address and the subnet of its externally recognized communication address are not the same (step S43), the communication terminal 100 sequentially selects the network devices in the reverse order on the communication path (step S45). First, the device having the same subnet is determined as the final address translation device (step S47).

이렇게 주소 변환 장치를 판단한 경우 통신 단말기(100)는 그 주소 변환 장치에 해당하는 TTL 값에서 1만큼 증가된 TTL 값을 가지는 UDP 홀 펀칭 유도 신호를 통신 시스템(200)에 주기적으로 전송한다(단계 S49, S51).When the address translation apparatus is determined as described above, the communication terminal 100 periodically transmits a UDP hole punching guidance signal having a TTL value increased by 1 from a TTL value corresponding to the address translation apparatus to the communication system 200 (step S49). , S51).

이하에서는 상술한 과정을 수행하는 통신 단말기(100)를 포함하는 전체 UDP 푸시 데이터 전송 시스템의 신호 흐름을 설명한다.Hereinafter, the signal flow of the entire UDP push data transmission system including the communication terminal 100 performing the above-described process will be described.

우선, 도 5를 참조하여 통신 시스템(200)의 주소 변환 장치가 통신 단말기(100)의 패킷에 대해 자신의 아이피와 동일한 아이피로 주소 변환을 수행하는 경우를 설명한다.First, referring to FIG. 5, a case in which the address conversion apparatus of the communication system 200 performs address conversion on the same IP as its own IP on the packet of the communication terminal 100 will be described.

본 실시예에서 통신 시스템(200)에는 다수의 네트워크 장치 즉, Hop_1, Hop_2, Hop_3 을 포함하고 있고, 이중 통신 단말기(100)에 대해 주소 변환을 처리하는 주소 변환 장치는 Hop_2인 것을 일 예로 한다.In the present embodiment, the communication system 200 includes a plurality of network devices, namely, Hop_1, Hop_2, Hop_3, and the address translation device that processes address translation for the dual communication terminal 100 is Hop_2 as an example.

그리고 본 실시예를 설명함에 있어서 패킷의 출발지는 'src'로 패킷의 도착지는 'dst'로 표현하기로 하고, 설명의 편의를 위해 통신 단말기(100)의 주소는 A, Hop_1의 주소는 B, NAT(주소 변환 장치)의 주소는 C, Hop_3의 주소는 D, 외부 서버(300)의 주소는 E이라고 가정한다.In the description of the present embodiment, the packet origin is represented by 'src' and the packet destination is represented by 'dst'. For convenience of description, the address of the communication terminal 100 is A, the address of Hop_1 is B, Assume that the address of NAT (address translation device) is C, the address of Hop_3 is D, and the address of external server 300 is E.

먼저 통신 단말기(100)는 외부 서버(300)로 등록 요청 신호(src:A, dst:E)를 전송한다(단계 S61). 여기서 통신 단말기(100)의 등록 요청 신호는 일종의 자신의 외부 주소를 확인하기 위한 더미 신호에 해당할 수도 있다.First, the communication terminal 100 transmits registration request signals src: A and dst: E to the external server 300 (step S61). In this case, the registration request signal of the communication terminal 100 may correspond to a dummy signal for identifying a kind of external address thereof.

통신 단말기(100)로부터 전송된 패킷을 수신한 주소 변환 장치(즉, Hop_2)는 주소 변환 과정을 거쳐 외부 서버(300)로 등록 요청 신호(src:C, dst:E)를 전송한다(단계 S63).The address translation apparatus (that is, Hop_2) receiving the packet transmitted from the communication terminal 100 transmits a registration request signal (src: C, dst: E) to the external server 300 through an address translation process (step S63). ).

외부 서버(300)는 이러한 등록 요청 신호에 대응하여 등록 응답 신호(src:E, dst:C, via:C)를 전송하는데(단계 S65), 여기서 "via:C"는 수신된 패킷의 출발지 주소인 "C"를 별도의 필드에 포함시킨 것이다.The external server 300 transmits a registration response signal (src: E, dst: C, via: C) in response to this registration request signal (step S65), where "via: C" is a source address of the received packet. Is included in a separate field.

주소 변환 장치는 수신된 등록 응답 신호에서 도착지 주소를 변경한 등록 응답 신호(src:E, dst:A, via:C)를 통신 단말기(100)에 전송한다(단계 S67).The address translation apparatus transmits, to the communication terminal 100, the registration response signals src: E, dst: A, via: C whose destination addresses are changed from the received registration response signals (step S67).

이에 따라 통신 단말기(100)는 수신된 패킷의 별도의 필드를 참조하여 자신의 외부 인식 통신 주소가 "C"라는 것을 확인하게 된다(단계 S69).Accordingly, the communication terminal 100 checks that its externally recognized communication address is "C" by referring to a separate field of the received packet (step S69).

이어서 통신 단말기(100)는 TTL=1인 값을 갖고 목적지가 외부 서버(300)인 에코 요청 신호(src:A, dst:E, TTL=1)를 전송한다(단계 S71). 이 에코 요청 신호는 TTL 값이 '1'이므로 통신 시스템(200)의 첫 번째 네트워크 장치인 Hop_1은 TTL 초과 메시지(src:B, dst:A)를 생성하여 통신 단말기(100)에 전송한다(단계 S73).The communication terminal 100 then transmits an echo request signal src: A, dst: E, TTL = 1 whose value is TTL = 1 and whose destination is the external server 300 (step S71). Since the echo request signal has a TTL value of '1', Hop_1, the first network device of the communication system 200, generates a TTL excess message (src: B, dst: A) and transmits it to the communication terminal 100 (step). S73).

이때 통신 단말기(100)는 수신된 TTL 초과 메시지의 출발지 주소 B가 자신의 외부 인식 통신 주소 C와 다르므로 TTL 값을 증가시킨 에코 요청 신호(src:A, dst:E, TTL=2)를 다시 전송한다(단계 S75). 이에 따라 통신 시스템(200)의 두 번째 네트워크 장치에 해당하는 주소 변환 장치는 TTL 초과 메시지(src:C, dst:A)를 통신 단말기(100)에 전송하고(단계 S77), 통신 단말기(100)는 TTL 초과 메시지의 출발지 주소와 자신의 외부 인식 통신 주소가 동일하므로 Hop_2를 주소 변환 장치로 판단한다(단계 S91).At this time, the communication terminal 100 again outputs an echo request signal (src: A, dst: E, TTL = 2) in which the TTL value is increased because the source address B of the received TTL over message is different from its externally recognized communication address C. Transmit (step S75). Accordingly, the address translation apparatus corresponding to the second network device of the communication system 200 transmits the TTL excess message (src: C, dst: A) to the communication terminal 100 (step S77), and the communication terminal 100 Since the source address of the TTL excess message is the same as the externally recognized communication address thereof, Hop_2 determines that Hop_2 is the address translation device (step S91).

통신 단말기(100)는 판단된 주소변환 장치에 대응하는 TTL 값 즉, 2에서 1만큼 증가한 값을 갖는 UDP 홀 펀칭 유도 신호(src:A, dst:E, TTL=3)를 전송하고(단계 S93, S94), 이에 따라 주소 변환 장치에서는 UDP 홀 펀칭이 수행된다(단계 S97).The communication terminal 100 transmits a UDP hole punching guidance signal (src: A, dst: E, TTL = 3) having a TTL value corresponding to the determined address translation device, that is, a value increased by 2 to 1 (step S93). S94). Accordingly, the address translation apparatus performs UDP hole punching (step S97).

한편, UDP 홀 펀칭 유도 신호(src:A, dst:E, TTL=3)는 TTL 값에 따라 Hop_3에서 버려지게 되므로(단계 S98) 불필요한 네트워크 부하를 발생시키지 않게 된다.On the other hand, the UDP hole punching induction signals src: A, dst: E, and TTL = 3 are discarded in Hop_3 according to the TTL value (step S98) so as not to generate unnecessary network load.

외부 서버(300)는 UDP 데이터를 네트워크 변환 장치에 형성된 UDP 홀을 통해 통신 단말기(100)에 전송한다(단계 S99).The external server 300 transmits the UDP data to the communication terminal 100 through the UDP hole formed in the network conversion apparatus (step S99).

이하에서는 도 6을 참조하여 통신 시스템(200)의 주소 변환 장치가 통신 단말기(100)의 패킷에 대해 자신의 아이피와 동일하지 않지만 동일한 서브넷에 해당하는 아이피로 주소 변환을 수행하는 경우를 설명한다.Hereinafter, referring to FIG. 6, a case in which the address translation apparatus of the communication system 200 performs address translation to IP corresponding to the same subnet but not identical to its IP for the packet of the communication terminal 100 will be described.

먼저 통신 단말기(100)는 외부 서버(300)로 등록 요청 신호(src:A, dst:E)를 전송한다(단계 S61').First, the communication terminal 100 transmits a registration request signal src: A, dst: E to the external server 300 (step S61 ').

통신 단말기(100)로부터 전송된 패킷을 수신한 주소 변환 장치는 주소 변환 과정을 거쳐 외부 서버(300)로 등록 요청 신호(src:C', dst:E)를 전송한다(단계 S63'). 여기서 통신 단말기(100)의 패킷에 대해 변환되는 C'와 주소 변환 장치의 주소 C는 동일한 서브넷을 갖는다고 가정한다.The address translation apparatus receiving the packet transmitted from the communication terminal 100 transmits the registration request signals src: C 'and dst: E to the external server 300 through the address translation process (step S63'). Herein, it is assumed that C ′ converted for the packet of the communication terminal 100 and the address C of the address translation apparatus have the same subnet.

외부 서버(300)는 등록 응답 신호(src:E, dst:C', via:C')를 전송하는데(단계 S65'), 여기서 via:C'는 수신된 패킷의 출발지 주소가 C'라는 것을 의미한다.The external server 300 transmits registration response signals (src: E, dst: C ', via: C') (step S65 '), where via: C' indicates that the source address of the received packet is C '. it means.

주소 변환 장치는 수신된 등록 응답 신호에서 도착지 주소를 변경한 등록 응답 신호(src:E, dst:A, via:C')를 통신 단말기(100)에 전송한다(단계 S67').The address translation apparatus transmits a registration response signal (src: E, dst: A, via: C ') whose destination address is changed from the received registration response signal to the communication terminal 100 (step S67').

이에 따라 통신 단말기(100)는 자신의 외부 인식 통신 주소가 C'라는 것을 확인하게 된다(단계 S69').Accordingly, the communication terminal 100 confirms that its external recognized communication address is C '(step S69').

이어서 통신 단말기(100)는 TTL=1인 값을 갖고 목적지가 외부 서버(300)인 에코 요청 신호(src:A, dst:E, TTL=1)를 전송한다(단계 S71'). 이 에코 요청 신호는 TTL 값이 '1'이므로 Hop_1은 TTL 초과 메시지(src:B, dst:A)를 통신 단말기(100)에 전송한다(단계 S73').The communication terminal 100 then transmits an echo request signal src: A, dst: E, TTL = 1 whose value is TTL = 1 and whose destination is the external server 300 (step S71 '). Since the echo request signal has a TTL value of '1', Hop_1 transmits a TTL excess message (src: B, dst: A) to the communication terminal 100 (step S73 ').

이때 통신 단말기(100)는 수신된 TTL 초과 메시지의 출발지 주소 B가 자신의 외부 인식 통신 주소 C'와 다르므로 TTL 값을 증가시킨 에코 요청 신호(src:A, dst:E, TTL=2)를 다시 전송한다(단계 S75'). Hop_2에 해당하는 주소 변환 장치가 TTL 초과 메시지(src:C, dst:A)를 전송하면(단계 S77'), 통신 단말기(100)는 TTL 초과 메시지의 출발지 주소 C와 자신의 외부 인식 통신 주소 C'가 동일하지 않으므로 다시 TTL 값을 증가시킨 에코 요청 신호(src:A, dst:E, TTL=3)를 전송한다(단계 S79').At this time, the communication terminal 100 receives an echo request signal (src: A, dst: E, TTL = 2) that increases the TTL value because the source address B of the received TTL over message is different from its externally recognized communication address C '. Transfer again (step S75 '). When the address translation apparatus corresponding to Hop_2 transmits the TTL excess message (src: C, dst: A) (step S77 '), the communication terminal 100 transmits the source address C of the TTL excess message and its externally recognized communication address C. Since 'is not the same, the echo request signals src: A, dst: E, and TTL = 3 having increased TTL values are transmitted again (step S79').

이러한 에코 요청 신호(src:A, dst:E, TTL=3)에 따라 Hop_3이 TTL 초과 메시지(src:D, dst:A)를 전송하면(단계 S81'), 통신 단말기(100)는 TTL 초과 메시지의 출발지 주소 D와 자신의 외부 인식 통신 주소 C'가 동일하지 않으므로 다시 TTL 값을 증가시킨 에코 요청 신호(src:A, dst:E, TTL=4)를 전송한다(단계 S83').When Hop_3 transmits a TTL exceeded message (src: D, dst: A) according to this echo request signal (src: A, dst: E, TTL = 3) (step S81 '), the communication terminal 100 exceeds TTL. Since the source address D of the message and its external recognition communication address C 'are not the same, an echo request signal src: A, dst: E, TTL = 4 having an increased TTL value is transmitted again (step S83').

외부 서버(300)는 통신 단말기(100)의 에코 요청 신호(src:A, dst:E, TTL=4)의 최종 목적지가 자신이므로 에코 응답 신호(src:E, dst:A)를 통신 단말기(100)에 전송한다(단계 S85').The external server 300 transmits the echo response signals src: E and dst: A because the final destinations of the echo request signals src: A, dst: E, and TTL = 4 of the communication terminal 100 are themselves. 100) (step S85 ').

외부 서버(300)로부터 에코 응답 신호를 수신한 통신 단말기(100)는 통신 경로 상의 가장 먼 네트워크 장치인 Hop_3의 주소 D와 자신의 외부 인식 통신 주소 C'가 동일한 서브넷인지 판단한다(단계 S87').The communication terminal 100 receiving the echo response signal from the external server 300 determines whether the address D of Hop_3, the farthest network device on the communication path, and its externally recognized communication address C 'are the same subnet (step S87'). .

판단결과 동일하지 않으면 통신 단말기(100)는 역순의 그 다음 네트워크 장치에 해당하는 Hop_2의 주소 C와 자신의 외부 인식 통신 주소 C'가 동일한 서브넷인지 판단한다(단계 S89').If the determination result is not the same, the communication terminal 100 determines whether the address C of Hop_2 corresponding to the next network device in the reverse order and its externally recognized communication address C 'are the same subnet (step S89').

판단결과 동일하므로 통신 단말기(100)는 Hop_2를 주소 변환 장치로 판단하고(단계 S91'), 이 후의 과정은 도 5에서 설명한 바와 같으므로 생략한다.Since the determination result is the same, the communication terminal 100 determines Hop_2 as the address translation apparatus (step S91 '), and the subsequent process is the same as described with reference to FIG.

도 6에서는 주소 변환 장치가 하나만 구비된 것을 일 예로 하였으나 통신 시스템(200)에서는 복수 개의 주소 변환 장치가 구비될 수도 있다. 예를 들어 도 6에서 Hop_1도 주소 변환 장치에 해당할 수도 있는 것이다.In FIG. 6, only one address translation apparatus is provided, but a plurality of address translation apparatuses may be provided in the communication system 200. For example, Hop_1 in FIG. 6 may also correspond to an address translation apparatus.

이 경우에도 도 6에 나타난 제어 과정은 동일하게 이루어지며 따라서 통신 단말기(100)는 가장 먼저 동일한 서브넷을 가지는 주소 변환 장치인 Hop_2를 최종 주소 변환 장치로 판단하고, 그 최종 주소 변환 장치의 TTL 값에서 1을 증가시킨 TTL을 갖는 UDP 홀 펀칭 유도 신호를 전송한다.Even in this case, the control process shown in FIG. 6 is performed in the same manner, and therefore, the communication terminal 100 first determines Hop_2, which is an address translator having the same subnet, as the final address translator, and based on the TTL value of the final address translator. Transmit a UDP hole punching guidance signal with a TTL of 1 increment.

한편, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 특히 외부 서버는 푸시 서버에 한정되는 것은 아니고, 통신 단말기에 UDP 데이터를 전송하는 모든 종류의 서버에 해당할 수 있다. 이러한 변형 및 수정이 첨부되는 특허청구범위에 속한다면 본 발명에 포함된다는 것은 자명할 것이다. While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the invention. In particular, the external server is not limited to the push server, and may correspond to any kind of server that transmits UDP data to a communication terminal. It is to be understood that such variations and modifications are intended to be included in the scope of the appended claims.

100 : 통신 단말기 200 : 통신 시스템
300 : 외부 서버 110 : 통신 주소 할당부
120 : 통신 수행부 130 : 에코 요청 신호 전송부
140 : 외부 인식 통신 주소 확인부 150 : 수신부
160 : 비교부 170 : 판단부
180 : UDP 홀 펀칭 유도 신호 전송부
100: communication terminal 200: communication system
300: external server 110: communication address allocation unit
120: communication performing unit 130: echo request signal transmission unit
140: external recognition communication address confirmation unit 150: receiving unit
160: comparison unit 170: judgment unit
180: UDP hole punching induction signal transmission unit

Claims (21)

에코 요청 신호가 수신된 경우 자신이 상기 에코 요청 신호의 최종 목적지에 해당하지 않으면 그 수신된 에코 요청 신호에 포함된 TTL 값에 따라 기본 증감 값을 차감하여 통신 경로 상의 다음 네트워크 장치로 에코 요청 신호를 전달하거나 TTL 초과 메시지를 반송하는 적어도 하나의 네트워크 장치를 포함하여 구성된 통신 시스템과 통신하고, 에코 요청 신호가 수신된 경우 자신이 상기 에코 요청 신호의 최종 목적지에 해당하면 에코 응답 신호를 반송하는 외부 서버와 상기 통신 시스템을 경유하여 통신하는 통신 단말기가 UDP 홀 펀칭 유도 신호를 전송하는 방법에 있어서,
(a) NAT(Network Address Translation) 기능을 수행하는 상기 통신 시스템에 요청하여 통신 주소를 할당받는 단계와;
(b) 상기 할당받은 통신 주소를 이용하여 통신을 수행하고, 상기 외부 서버에 요청하여 해당 외부 서버에서 인식되는 자신의 외부 인식 통신 주소를 확인하는 단계와;
(c) 상기 할당받은 통신 주소와 상기 외부 인식 통신 주소를 비교한 결과 서로 다른 경우 기 정의된 최소값으로 설정된 TTL 값을 포함하고 상기 외부 서버 주소를 최종 목적지 주소로 하는 에코 요청 신호 신호를 상기 통신 시스템으로 전송하는 단계와;
(d) 상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지가 수신되면 그 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 상기 (b) 단계에서 확인된 자신의 외부 인식 통신 주소를 비교하고, 비교결과 일치하는 경우 그 TTL 초과 메시지를 전송한 네트워크 장치를 최종 주소 변환 장치로 판단하는 단계와;
(e) 상기 최종 주소 변환 장치의 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함되었던 TTL 값에서 상기 기본 증감 값만큼 증가된 값을 TTL 값으로 가지는 UDP 홀 펀칭 유도 신호를 상기 통신 시스템으로 전송하여 상기 통신 시스템에서의 UDP 홀 펀칭을 유도하는 단계를 포함하는 것을 특징으로 하는 통신 단말기의 UDP 홀 펀칭 유도 신호 전송하는 방법.
When the echo request signal is received, if it does not correspond to the final destination of the echo request signal, the echo request signal is transmitted to the next network device on the communication path by subtracting the default increase / decrease value according to the TTL value included in the received echo request signal. An external server that communicates with a configured communication system, including at least one network device that forwards or carries a TTL excess message, and returns an echo response signal if it is the final destination of the echo request signal when an echo request signal is received. In a method for communicating with the communication terminal via the communication system to transmit a UDP hole punching guidance signal,
(a) requesting the communication system to perform a network address translation (NAT) function and assigning a communication address;
(b) performing communication using the assigned communication address, and requesting the external server to confirm its own external recognized communication address recognized by the external server;
(c) the communication system comprising an echo request signal signal including a TTL value set to a predefined minimum value when the allocated communication address is compared with the external recognition communication address and using the external server address as a final destination address; Transmitting to;
(d) If a TTL excess message is received from a predetermined network device of the communication system, compare the address of the network device that has transmitted the TTL excess message with its own external recognized communication address identified in step (b), and compare the result. Determining that the network device that transmitted the TTL excess message is the final address translator if it matches;
(e) transmitting, to the communication system, a UDP hole punching induction signal having a TTL value increased by the basic increase / decrease value from the TTL value included in the echo request signal that is the base of the TTL excess message of the final address translator; And inducing UDP hole punching in the communication system.
제1항에 있어서,
상기 (d) 단계는,
(d1) 상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지가 수신되면 그 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 상기 (b) 단계에서 확인된 자신의 외부 인식 통신 주소를 비교하는 단계와;
(d2) 비교 결과 일치하지 않는 경우 상기 기본 증감 값만큼 증가된 TTL 값을 가지는 에코 요청 신호를 상기 통신 시스템으로 다시 전송하는 단계와;
(d3) 상기 (d2) 단계의 에코 요청 신호에 대응하여 자신의 외부 인식 통신 주소와 동일한 주소를 가지는 네트워크 장치로부터 TTL 초과 메시지가 수신되거나 상기 외부 서버로부터 에코 응답 신호가 수신될 때까지, 상기 (d2) 단계를 반복하는 단계를 포함하는 것을 특징으로 하는 통신 단말기의 UDP 홀 펀칭 유도 신호 전송하는 방법.
The method of claim 1,
The step (d)
(d1) if a TTL excess message is received from a predetermined network device of the communication system, comparing the address of the network device that has transmitted the TTL excess message with its externally recognized communication address identified in step (b);
(d2) if the result of the comparison does not match, transmitting an echo request signal having a TTL value increased by the basic increment value back to the communication system;
(d3) until a TTL over message is received from a network device having the same address as its own externally recognized communication address in response to the echo request signal of step (d2) or an echo response signal is received from the external server; and d2) repeating step d).
제2항에 있어서,
(d4) TTL 초과 메시지를 전송하는 상기 통신 시스템의 어떠한 네트워크 장치도 상기 (b) 단계에서 확인된 자신의 외부 인식 통신 주소와 동일한 주소를 가지지 않고 상기 외부 서버로부터 에코 응답 신호가 수신된 경우, TTL 초과 메시지를 전송해온 상기 통신 시스템의 네트워크 장치 중 상기 에코 요청 신호가 가장 마지막으로 경유하는 네트워크 장치를 판단하는 단계와;
(d5) 상기 판단된 가장 마지막으로 경유하는 네트워크 장치로부터 시작하여 경유 루트 상의 역순으로 확인한 결과 자신의 외부 인식 통신 주소와 동일한 서브네트워크의 주소를 가지는 것으로 가장 먼저 확인되는 네트워크 장치를 상기 최종 주소 변환 장치로 판단하는 단계를 더 포함하는 것을 특징으로 하는 통신 단말기의 UDP 홀 펀칭 유도 신호 전송하는 방법.
The method of claim 2,
(d4) TTL when any network device of the communication system transmitting a TTL exceeded message does not have the same address as its own externally recognized communication address identified in step (b) and receives an echo response signal from the external server. Determining a network device of the network device of the communication system that has transmitted the excess message via the last echo request signal;
(d5) The final address translator is a network device that is first identified as having an address of the same subnetwork as its externally recognized communication address starting from the last determined network device determined in reverse order on the route route. The method for transmitting a UDP hole punching induction signal of the communication terminal further comprising the step of determining.
제3항에 있어서,
상기 (d4) 단계에서는 TTL 초과 메시지를 전송해온 각 네트워크 장치들에 대해 해당 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함시켰던 TTL 값에 따라 상기 통신 시스템의 각 네트워크 장치의 경유 순서를 판단하는 것을 특징으로 하는 통신 단말기의 UDP 홀 펀칭 유도 신호 전송하는 방법.
The method of claim 3,
In the step (d4), it is possible to determine the pass-through order of each network device of the communication system according to the TTL value included in the echo request signal that is the basis of the TTL excess message for each network device that has transmitted the TTL excess message. Method for transmitting a UDP hole punching induction signal of a communication terminal.
제1항에 있어서,
상기 통신 시스템에서의 UDP 홀 펀칭에 따라 형성된 UDP 홀을 통해 상기 외부 서버로부터 UDP 푸시 데이터를 수신하는 단계를 더 포함하는 것을 특징으로 하는 통신 단말기의 UDP 홀 펀칭 유도 신호 전송하는 방법.
The method of claim 1,
And receiving UDP push data from the external server through a UDP hole formed according to UDP hole punching in the communication system.
제1항 내지 제5항 중 어느 한 항에 있어서,
기 설정된 시간 간격으로 상기 (e) 단계의 과정을 반복 수행하는 것을 특징으로 하는 통신 단말기의 UDP 홀 펀칭 유도 신호 전송하는 방법.
The method according to any one of claims 1 to 5,
Method of transmitting a UDP hole punching induction signal of a communication terminal, characterized in that for repeating the process of step (e) at a predetermined time interval.
UDP 푸시 데이터 전송 시스템의 제어방법에 있어서,
(a) 통신 단말기가 SIP(Session Initiation Protocol)에 따라 통신 시스템에 사용 등록을 요청하는 단계와;
(b) 상기 통신 시스템이 상기 통신 단말기에 대한 SIP에 따른 호 처리 세션을 설정하여 사용 등록을 처리하고, 상기 통신 단말기가 기 가입한 외부 서버를 확인하여 상기 외부 서버에 사용 등록을 요청하는 단계와;
(c) 상기 외부 서버가 가입자 인증 과정을 거쳐 상기 통신 단말기의 사용 등록을 처리하는 단계와;
(d) 상기 통신 단말기가 상기 설정된 호 처리 세션을 이용하여 UDP 홀 펀칭 유도 신호를 상기 통신 시스템에 전송하는 단계와;
(e) 상기 통신 시스템이 상기 UDP 홀 펀칭 유도 신호에 따라 UDP 홀 펀칭 처리를 수행하여 UDP 홀을 형성하는 단계와;
(f) 상기 외부 서버가 상기 통신 시스템에 형성된 UDP 홀을 통과하여 상기 통신 단말기에 UDP 푸시 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템의 제어방법.
In the control method of the UDP push data transmission system,
(a) a communication terminal requesting usage registration from a communication system according to a Session Initiation Protocol (SIP);
(b) the communication system setting up a call processing session according to the SIP for the communication terminal to process the usage registration, checking the external server to which the communication terminal has already subscribed, and requesting usage registration from the external server; ;
(c) the external server processing the use registration of the communication terminal through a subscriber authentication process;
(d) the communication terminal transmitting a UDP hole punching guidance signal to the communication system using the established call processing session;
(e) the communication system performing a UDP hole punching process according to the UDP hole punching induction signal to form a UDP hole;
(f) the external server passing UDP holes formed in the communication system to transmit UDP push data to the communication terminal.
제7항에 있어서,
(g) 상기 통신 시스템이 NAT(Network Address Translation) 기능을 수행하는 단계를 더 포함하고,
상기 (d) 단계는,
(d1) 상기 통신 단말기가 상기 통신 시스템으로부터 상기 NAT 기능에 따라 할당받은 통신 주소를 이용하여 통신을 수행하고, 상기 외부 서버에 요청하여 해당 외부 서버에서 인식되는 자신의 외부 인식 통신 주소를 확인하는 단계와;
(d2) 상기 통신 단말기가 상기 할당받은 통신 주소와 상기 확인된 외부 인식 통신 주소를 비교한 결과 서로 다른 경우 기 정의된 최소값으로 설정된 TTL 값을 포함하고 상기 외부 서버 주소를 최종 목적지 주소로 하는 에코 요청 신호를 상기 통신 시스템으로 전송하는 단계와;
(d3) 상기 통신 시스템에 포함되는 소정 네트워크 장치가 자신이 상기 통신 단말기로부터 수신된 에코 요청 신호의 최종 목적지에 해당하지 않으면 그 수신된 에코 요청 신호에 포함된 TTL 값이 기 정의된 최소값에 해당하는 경우 TTL 초과 메시지를 생성하여 상기 통신 단말기에 전송하는 단계와;
(d4) 상기 통신 단말기가 상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지가 수신되면 그 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 상기 (d1) 단계에서 확인된 자신의 외부 인식 통신 주소를 비교하고, 비교결과 일치하는 경우 그 TTL 초과 메시지를 전송한 네트워크 장치를 최종 주소 변환 장치로 판단하는 단계와;
(d5) 상기 통신 단말기가 상기 최종 주소 변환 장치의 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함되었던 TTL 값에서 소정의 기본 증감 값만큼 증가된 값을 TTL 값으로 가지는 UDP 홀 펀칭 유도 신호를 상기 통신 시스템으로 전송하는 단계를 포함하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템의 제어방법.
The method of claim 7, wherein
(g) the communication system performing a network address translation (NAT) function;
The step (d)
(d1) the communication terminal performing communication using a communication address allocated according to the NAT function from the communication system, and requesting the external server to confirm its own external recognized communication address recognized by the external server; Wow;
(d2) when the communication terminal compares the allocated communication address with the confirmed external recognition communication address, and if they are different, an echo request including a TTL value set to a predetermined minimum value and using the external server address as a final destination address; Transmitting a signal to the communication system;
(d3) If a predetermined network device included in the communication system does not correspond to the final destination of the echo request signal received from the communication terminal, the TTL value included in the received echo request signal corresponds to a predefined minimum value. Generating a TTL excess message and transmitting it to the communication terminal;
(d4) when the communication terminal receives a TTL over message from a predetermined network device of the communication system, compares the address of the network device which has transmitted the TTL over message with its externally recognized communication address identified in step (d1). Determining that the network device that transmitted the TTL excess message as the final address translation device when the comparison result is matched;
(d5) wherein the communication terminal receives a UDP hole punching induction signal having a TTL value increased from a TTL value included in an echo request signal based on a TTL excess message of the final address translation apparatus by a predetermined basic increase / decrease value; The control method of the UDP push data transmission system comprising the step of transmitting to a communication system.
제7항에 있어서,
상기 (d4) 단계는,
(d4_1) 상기 통신 단말기가 상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지가 수신되면 그 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 상기 (b) 단계에서 확인된 자신의 외부 인식 통신 주소를 비교하는 단계와;
(d4_2) 상기 통신 단말기가 상기 (d4_1) 단계의 비교 결과 일치하지 않는 경우 상기 기본 증감 값만큼 증가된 TTL 값을 가지는 에코 요청 신호를 상기 통신 시스템으로 다시 전송하는 단계와;
(d4_3) 상기 통신 시스템에 포함되는 소정 네트워크 장치가 자신이 상기 (d4_2) 단계에서 상기 통신 단말기로부터 수신된 에코 요청 신호의 최종 목적지에 해당하지 않으면 그 수신된 에코 요청 신호에 포함된 TTL 값이 기 정의된 최소값에 해당하는 경우 TTL 초과 메시지를 생성하여 상기 통신 단말기에 전송하고, 그 수신된 에코 요청 신호에 포함된 TTL 값이 기 정의된 최소값에 해당하지 않는 경우 해당 TTL 값에 상기 기본 증감 값을 차감하여 통신 경로 상의 다음 네트워크 장치로 에코 요청 신호를 전달하는 단계와;
(d4_4) 상기 외부 서버가 상기 통신 단말기의 에코 요청 신호가 수신된 경우 자신이 그 수신된 에코 요청 신호의 최종 목적지에 해당하면 에코 응답 신호를 상기 통신 단말기로 전송하는 단계와;
(d4_5) 상기 통신 단말기가 상기 (d4_2) 단계의 에코 요청 신호에 대응하여 자신의 외부 인식 통신 주소와 동일한 주소를 가지는 네트워크 장치로부터 TTL 초과 메시지가 수신되거나 상기 외부 서버로부터 에코 응답 신호가 수신될 때까지, 상기 (d4_2) 단계의 과정을 반복 수행하는 단계를 포함하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템의 제어방법.
The method of claim 7, wherein
Step (d4),
(d4_1) When the communication terminal receives a TTL over message from a predetermined network device of the communication system, the communication terminal compares the address of the network device transmitting the TTL over message with its own external recognition communication address identified in step (b). Making a step;
(d4_2) when the communication terminal does not match as a result of the comparison in the step (d4_1), transmitting an echo request signal having a TTL value increased by the basic increment value to the communication system;
(d4_3) If the predetermined network device included in the communication system does not correspond to the final destination of the echo request signal received from the communication terminal in the step (d4_2), the TTL value included in the received echo request signal is If the TTL value exceeds the defined minimum value, a TTL excess message is generated and transmitted to the communication terminal. If the TTL value included in the received echo request signal does not correspond to the predefined minimum value, the TTL value is added to the TTL value. Subtracting and forwarding the echo request signal to the next network device on the communication path;
(d4_4) if the external server receives an echo request signal from the communication terminal and transmits an echo response signal to the communication terminal if it corresponds to a final destination of the received echo request signal;
(d4_5) When the communication terminal receives a TTL over message from a network device having the same address as its externally recognized communication address in response to the echo request signal of step (d4_2) or receives an echo response signal from the external server Until, the control method of the UDP push data transmission system comprising the step of repeatedly performing the process of step (d4_2).
제9항에 있어서,
(d4_6) 상기 통신 단말기가 TTL 초과 메시지를 전송하는 상기 통신 시스템의 어떠한 네트워크 장치도 자신의 외부 인식 통신 주소와 동일한 주소를 가지지 않고 상기 외부 서버로부터 에코 응답 신호가 수신된 경우, TTL 초과 메시지를 전송해온 상기 통신 시스템의 네트워크 장치 중 상기 에코 요청 신호가 가장 마지막으로 경유하는 네트워크 장치를 판단하는 단계와;
(d4_7) 상기 통신 단말기가 상기 (d4_6) 단계에서 판단된 가장 마지막으로 경유하는 네트워크 장치로부터 시작하여 경유 루트 상의 역순으로 확인한 결과 자신의 외부 인식 통신 주소와 동일한 서브네트워크의 주소를 가지는 것으로 가장 먼저 확인되는 네트워크 장치를 상기 최종 주소 변환 장치로 판단하는 단계를 더 포함하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템의 제어방법.
10. The method of claim 9,
(d4_6) If any network device of the communication system to which the communication terminal transmits a TTL excess message does not have the same address as its externally recognized communication address and receives an echo response signal from the external server, transmits a TTL excess message. Determining a network device of the network device of the communication system that has passed through the echo request signal last;
(d4_7) The communication terminal checks in reverse order on the route route starting from the last passing network device determined in the step (d4_6). And determining the network device to be the final address translation device.
제10항에 있어서,
상기 (d4_6) 단계에서는 에코 요청 신호에 포함시켰던 TTL 값에 기초하여 상기 통신 시스템의 각 네트워크 장치의 경유 순서를 판단하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템의 제어방법.
The method of claim 10,
In the step (d4_6), the control method of the UDP push data transmission system, characterized in that determining the routing order of each network device of the communication system based on the TTL value included in the echo request signal.
에코 요청 신호가 수신된 경우 자신이 상기 에코 요청 신호의 최종 목적지에 해당하지 않으면 그 수신된 에코 요청 신호에 포함된 TTL 값에 따라 기본 증감 값을 차감하여 통신 경로 상의 다음 네트워크 장치로 에코 요청 신호를 전달하거나 TTL 초과 메시지를 반송하는 적어도 하나의 네트워크 장치를 포함하는 통신 시스템과 통신하고, 에코 요청 신호가 수신된 경우 자신이 상기 에코 요청 신호의 최종 목적지에 해당하면 에코 응답 신호를 반송하는 외부 서버와 상기 통신 시스템을 경유하여 통신하는 통신 단말기에 있어서,
NAT(Network Address Translation) 기능을 수행하는 상기 통신 시스템에 요청하여 통신 주소를 할당받는 통신 주소 할당부와;
상기 통신 주소 할당부가 할당받은 통신 주소를 이용하여 통신을 수행하는 통신 수행부와;
상기 통신 수행부를 통해 상기 외부 서버에 요청하여 해당 외부 서버에서 인식되는 자신의 외부 인식 통신 주소를 확인하는 외부 인식 통신 주소 확인부와;
상기 통신할당부가 할당받은 통신 주소와 상기 외부 인식 통신 주소 확인부가 확인한 외부 인식 통신 주소를 비교한 결과 서로 다른 경우 기 정의된 최소값으로 설정된 TTL 값을 포함하고 상기 외부 서버 주소를 최종 목적지 주소로 하는 에코 요청 신호를 상기 통신 수행부를 통해 상기 통신 시스템으로 전송하는 에코 요청 신호 전송부와;
상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지를 수신하거나 상기 외부 서버로부터 에코 응답 신호를 수신하는 수신부와;
상기 수신부에 수신된 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 자신의 외부 인식 통신 주소를 비교하는 비교부와;
상기 비교부의 비교결과 서로 일치하는 경우 해당 TTL 초과 메시지를 전송한 네트워크 장치를 최종 주소 변환 장치로 판단하는 판단부와;
상기 최종 주소 변환 장치의 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함되었던 TTL 값에서 상기 기본 증감 값만큼 증가된 값을 TTL 값으로 가지는 UDP 홀 펀칭 유도 신호를 상기 통신 수행부를 통해 상기 통신 시스템으로 전송하는 UDP 홀 펀칭 유도 신호 전송부를 포함하는 것을 특징으로 하는 통신 단말기.
When the echo request signal is received, if it does not correspond to the final destination of the echo request signal, the echo request signal is transmitted to the next network device on the communication path by subtracting the default increase / decrease value according to the TTL value included in the received echo request signal. An external server that communicates with a communication system that includes at least one network device that forwards or returns a TTL excess message, and that returns an echo response signal if it is the final destination of the echo request signal when an echo request signal is received. A communication terminal for communicating via the communication system,
A communication address allocator for requesting the communication system performing a network address translation (NAT) function to receive a communication address;
A communication performing unit for performing communication using a communication address assigned by the communication address allocating unit;
An external recognition communication address confirming unit requesting the external server through the communication execution unit to confirm its external recognition communication address recognized by the external server;
When the communication allocator assigns a communication address allocated by the communication allocator and the external recognition communication address checked by the external recognition communication address checker, the echoes include a TTL value set to a predetermined minimum value and an echo indicating the external server address as the final destination address. An echo request signal transmitting unit for transmitting a request signal to the communication system through the communication performing unit;
A receiving unit for receiving a TTL excess message from a predetermined network device of the communication system or receiving an echo response signal from the external server;
A comparison unit for comparing an address of the network device that has transmitted the TTL excess message received to the reception unit with its externally recognized communication address;
A determination unit that determines, as a result of comparison between the comparison unit, a network device that has transmitted the corresponding TTL excess message as a final address translation device;
A UDP hole punching induction signal having a TTL value increased by the basic increase / decrease value from the TTL value included in the echo request signal that is the basis of the TTL excess message of the final address translator to the communication system through the communication performing unit. And a UDP hole punching induction signal transmitter for transmitting.
제12항에 있어서,
상기 에코 요청 신호 전송부는, 상기 비교부의 비교 결과 서로 일치하지 않는 경우 상기 기본 증감 값만큼 증가된 TTL 값을 가지는 에코 요청 신호를 상기 통신 시스템으로 다시 전송하는 과정을, 해당 에코 요청 신호에 대응하여 상기 수신부에 자신의 외부 인식 통신 주소와 동일한 주소를 가지는 네트워크 장치로부터 TTL 초과 메시지가 수신되거나 상기 외부 서버로부터 에코 응답 신호가 수신될 때까지, 반복적으로 수행하는 것을 특징으로 하는 통신 단말기.
The method of claim 12,
The echo request signal transmitting unit may transmit the echo request signal having the TTL value increased by the basic increase / decrease value back to the communication system when the echo request signal transmitter does not match each other as a result of the comparison by the comparator. And repeatedly performing a TTL excess message from a network device having the same address as its externally recognized communication address or receiving an echo response signal from the external server.
제13항에 있어서,
상기 비교부의 비교결과 TTL 초과 메시지를 전송하는 상기 통신 시스템의 어떠한 네트워크 장치도 자신의 외부 인식 통신 주소와 동일한 주소를 가지지 않고, 상기 수신부에 상기 외부 서버의 에코 응답 신호가 수신된 경우, 상기 판단부는 TTL 초과 메시지를 전송해온 상기 통신 시스템의 네트워크 장치 중 상기 에코 요청 신호가 가장 마지막으로 경유하는 네트워크 장치를 판단하고, 그 판단된 가장 마지막으로 경유하는 네트워크 장치로부터 시작하여 경유 루트 상의 역순으로 확인한 결과 자신의 외부 인식 통신 주소와 동일한 서브네트워크의 주소를 가지는 것으로 가장 먼저 확인되는 네트워크 장치를 상기 최종 주소 변환 장치로 판단하는 것을 특징으로 하는 통신 단말기.
The method of claim 13,
If any network device of the communication system that transmits a TTL exceeded message as a result of the comparison of the comparator does not have the same address as its own externally recognized communication address, and the echo response signal of the external server is received in the receiver, the determination unit The network device of the communication system that has transmitted the TTL exceeded message determines the last network device via which the echo request signal passes, and checks in reverse order on the route route starting from the last determined network device. And determining, as the final address translation device, a network device that is first identified as having an address of the same subnetwork as the externally recognized communication address of the terminal.
제14항에 있어서,
상기 판단부는 TTL 초과 메시지를 전송한 각 네트워크 장치들에 대해 해당 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함시켰던 TTL 값에 따라 상기 통신 시스템의 각 네트워크 장치의 경유 순서를 판단하는 것을 특징으로 하는 통신 단말기.
15. The method of claim 14,
The determination unit determines the routing order of each network device of the communication system according to the TTL value included in the echo request signal that is the basis of the TTL excess message for each network device that has transmitted the TTL excess message. Communication terminal.
제12항 내지 제15항 중 어느 한 항에 있어서,
상기 UDP 홀 펀칭 유도 신호 전송부는 기 설정된 시간 간격으로 UDP 홀 펀칭 유도 신호를 상기 통신 시스템으로 전송하는 것을 특징으로 하는 통신 단말기.
The method according to any one of claims 12 to 15,
And the UDP hole punching induction signal transmitting unit transmits a UDP hole punching induction signal to the communication system at a predetermined time interval.
SIP(Session Initiation Protocol)에 따라 통신 시스템에 사용 등록을 요청하고, 상기 통신 시스템에 의해 설정된 호 처리 세션을 이용하여 UDP 홀 펀칭 유도 신호를 상기 통신 시스템에 전송하는 통신 단말기와;
상기 통신 단말기의 사용 등록 요청이 수신되면 SIP에 따른 호 처리 세션을 설정하여 사용 등록을 처리하고, 상기 통신 단말기가 기 가입한 외부 서버를 확인하여 상기 외부 서버에 사용 등록을 요청하며, 상기 통신 단말기의 UDP 홀 펀칭 유도 신호에 따라 UDP 홀 펀칭 처리를 수행하여 UDP 홀을 형성하는 통신 시스템과;
상기 통신 시스템의 요청에 따라 가입자 인증 과정을 거쳐 상기 통신 단말기의 사용 등록을 처리하고, 상기 통신 시스템에 형성된 UDP 홀을 통과하여 상기 통신 단말기에 UDP 푸시 데이터를 전송하는 외부 서버를 포함하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템.
A communication terminal for requesting usage registration to a communication system according to a Session Initiation Protocol (SIP) and transmitting a UDP hole punching guidance signal to the communication system using a call processing session established by the communication system;
When the use registration request of the communication terminal is received, a call processing session according to the SIP is used to process the use registration, the external server to which the communication terminal subscribes to request the use registration to the external server, and the communication terminal A communication system for forming a UDP hole by performing a UDP hole punching process according to the UDP hole punching induction signal of the communication system;
And an external server configured to process use registration of the communication terminal through a subscriber authentication process at the request of the communication system and transmit UDP push data to the communication terminal through a UDP hole formed in the communication system. UDP push data transfer system.
제17항에 있어서,
상기 통신 시스템은 NAT(Network Address Translation) 기능을 수행하고, 상기 통신 시스템에 포함되는 네트워크 장치는 자신이 상기 통신 단말기로부터 수신된 에코 요청 신호의 최종 목적지에 해당하지 않고 그 수신된 에코 요청 신호에 포함된 TTL 값이 기 정의된 최소값에 해당하는 경우 TTL 초과 메시지를 생성하여 상기 통신 단말기에 전송하고,
상기 통신 단말기는 상기 통신 시스템으로부터 상기 NAT 기능에 따라 할당받은 통신 주소를 이용하여 통신을 수행하고, 상기 외부 서버에 요청하여 해당 외부 서버에서 인식되는 자신의 외부 인식 통신 주소를 확인하며, 상기 할당받은 통신 주소와 상기 확인된 외부 인식 통신 주소를 비교한 결과 서로 다른 경우 기 정의된 최소값으로 설정된 TTL 값을 포함하고 상기 외부 서버 주소를 최종 목적지 주소로 하는 에코 요청 신호를 상기 통신 시스템으로 전송하고, 상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지가 수신되면 그 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 상기 확인된 자신의 외부 인식 통신 주소를 비교하고, 비교결과 일치하는 경우 그 TTL 초과 메시지를 전송한 네트워크 장치를 최종 주소 변환 장치로 판단하며, 상기 최종 주소 변환 장치의 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함되었던 TTL 값에서 소정의 기본 증감 값만큼 증가된 값을 TTL 값으로 가지는 UDP 홀 펀칭 유도 신호를 상기 통신 시스템으로 전송하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템.
18. The method of claim 17,
The communication system performs a NAT (Network Address Translation) function, and a network device included in the communication system is included in the received echo request signal without being corresponding to the final destination of the echo request signal received from the communication terminal. If the TTL value corresponds to a predefined minimum value, a TTL excess message is generated and transmitted to the communication terminal.
The communication terminal performs communication using a communication address allocated from the communication system according to the NAT function, requests the external server to check its external recognized communication address recognized by the external server, and receives the assigned Comparing the communication address with the identified externally recognized communication address and transmitting an echo request signal to the communication system including a TTL value set to a predefined minimum value and using the external server address as a final destination address when the communication address is different from the identified external recognition communication address; When a TTL excess message is received from a predetermined network device of the communication system, the network device address which has transmitted the TTL excess message is compared with the identified externally recognized communication address of the communication system, and if the match is found, the TTL excess message is transmitted. A network device is considered to be the final address translator and Transmitting to the communication system a UDP hole punching induction signal having a TTL value increased from a TTL value included in an echo request signal, which is the basis of a TTL exceeded message of a final address translator, by a predetermined basic increment value; UDP push data transfer system.
제17항에 있어서,
상기 통신 시스템에 포함되는 각 네트워크 장치는 자신이 상기 통신 단말기로부터 수신된 에코 요청 신호의 최종 목적지에 해당하지 않고 그 수신된 에코 요청 신호에 포함된 TTL 값이 기 정의된 최소값에 해당하는 경우 TTL 초과 메시지를 생성하여 상기 통신 단말기에 전송하고, 그 수신된 에코 요청 신호에 포함된 TTL 값이 기 정의된 최소값에 해당하지 않는 경우 해당 TTL 값에 상기 기본 증감 값을 차감하여 통신 경로 상의 다음 네트워크 장치로 에코 요청 신호를 전달하고,
상기 외부 서버는 상기 통신 단말기의 에코 요청 신호가 수신된 경우 자신이 그 수신된 에코 요청 신호의 최종 목적지에 해당하면 에코 응답 신호를 상기 통신 단말기로 전송하고,
상기 통신 단말기는, 상기 통신 시스템의 소정의 네트워크 장치로부터 TTL 초과 메시지가 수신되면 그 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 자신의 외부 인식 통신 주소를 비교하고, 비교 결과 서로 일치하지 않는 경우 상기 기본 증감 값만큼 증가된 TTL 값을 가지는 에코 요청 신호를 상기 통신 시스템으로 다시 전송하는 과정을, 해당 에코 요청 신호에 대응하여 자신의 외부 인식 통신 주소와 동일한 주소를 가지는 네트워크 장치로부터 TTL 초과 메시지가 수신되거나 상기 외부 서버로부터 에코 응답 신호가 수신될 때까지, 반복적으로 수행하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템.
18. The method of claim 17,
Each network device included in the communication system exceeds the TTL when the TTL value included in the received echo request signal does not correspond to the final destination of the echo request signal received from the communication terminal and corresponds to a predefined minimum value. A message is generated and transmitted to the communication terminal, and if the TTL value included in the received echo request signal does not correspond to a predetermined minimum value, the basic increment value is subtracted from the corresponding TTL value to the next network device on the communication path. Pass echo request signals,
The external server transmits an echo response signal to the communication terminal when the echo request signal of the communication terminal corresponds to the final destination of the received echo request signal.
When the TTL excess message is received from a predetermined network device of the communication system, the communication terminal compares the address of the network device that has transmitted the TTL excess message with its externally recognized communication address. Retransmitting an echo request signal having a TTL value increased by a default increment value to the communication system, and receiving a TTL excess message from a network device having the same address as its externally recognized communication address in response to the echo request signal. Or repeatedly until an echo response signal is received from the external server.
제19항에 있어서,
상기 통신 단말기는 TTL 초과 메시지를 전송하는 상기 통신 시스템의 어떠한 네트워크 장치도 자신의 외부 인식 통신 주소와 동일한 주소를 가지지 않고 상기 외부 서버로부터 에코 응답 신호가 수신된 경우, TTL 초과 메시지를 전송해온 상기 통신 시스템의 네트워크 장치 중 상기 에코 요청 신호가 가장 마지막으로 경유하는 네트워크 장치를 판단하고, 그 판단된 가장 마지막으로 경유하는 네트워크 장치로부터 시작하여 경유 루트 상의 역순으로 확인한 결과 자신의 외부 인식 통신 주소와 동일한 서브네트워크의 주소를 가지는 것으로 가장 먼저 확인되는 네트워크 장치를 상기 최종 주소 변환 장치로 판단하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템.
20. The method of claim 19,
The communication terminal transmits the TTL excess message when an Echo Response signal is received from the external server without any network device of the communication system transmitting the TTL excess message having the same address as its externally recognized communication address. Among the network devices of the system, the echo request signal is determined to be the last routed network device, and it is determined from the last routed network device determined in the reverse order on the route route. And a network device which is first identified as having a network address is determined as the final address translation device.
제20항에 있어서,
상기 통신 단말기는 에코 요청 신호에 포함시켰던 TTL 값에 기초하여 상기 통신 시스템의 각 네트워크 장치의 경유 순서를 판단하는 것을 특징으로 하는 UDP 푸시 데이터 전송 시스템의 제어방법.
21. The method of claim 20,
And the communication terminal determines the routing sequence of each network device of the communication system based on the TTL value included in the echo request signal.
KR1020110033858A 2011-04-12 2011-04-12 System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof KR101253025B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110033858A KR101253025B1 (en) 2011-04-12 2011-04-12 System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110033858A KR101253025B1 (en) 2011-04-12 2011-04-12 System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof

Publications (2)

Publication Number Publication Date
KR20120116238A true KR20120116238A (en) 2012-10-22
KR101253025B1 KR101253025B1 (en) 2013-04-16

Family

ID=47284652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110033858A KR101253025B1 (en) 2011-04-12 2011-04-12 System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof

Country Status (1)

Country Link
KR (1) KR101253025B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100769216B1 (en) 2006-12-01 2007-10-22 주식회사 케이티 Sip(session initiation protocol) service method for home network
KR100843761B1 (en) 2006-12-26 2008-07-04 한국과학기술정보연구원 A Private-IP-enabled MPI communication method in system level over Grid environments through revised Hole Punching
KR101049549B1 (en) * 2009-02-06 2011-07-14 에스케이브로드밴드주식회사 GPD hole punching method using SIP, terminal management system and terminal management method using same

Also Published As

Publication number Publication date
KR101253025B1 (en) 2013-04-16

Similar Documents

Publication Publication Date Title
US9131026B2 (en) Method and system for establishing media channel based on relay
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
US8356092B2 (en) Methods, apparatuses, system, and related computer program product for policy control
US20090313386A1 (en) Communication apparatus, communication method and communication system
US20060056420A1 (en) Communication apparatus selecting a source address
WO2006082576A2 (en) A method and apparatus for server-side nat detection
JP2014197774A (en) Communication device, communication system, communication device control method, and program
JP2014502110A (en) Private device identification in the public network
KR20130052240A (en) Method and apparatus for provisioning network address translator traversal methods
KR100582574B1 (en) Sip server and method for conversation between sip terminal using it
KR101253025B1 (en) System for transmitting udp push data and control method thereof, communication apparatus comprised in the system and control method thereof
US9516575B2 (en) Mobile device based proxy for browser-originated procedures
KR101337111B1 (en) Server, system, and control method for monitoring remote image
KR101962022B1 (en) System and method for access of point to point by using edge server
JP2012099961A (en) Gateway device, and method for establishing sip response route
CN109600454A (en) Method for addressing message in a computer network
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
CN106161534B (en) Method and apparatus for transmitting, transferring and acquiring capabilities
KR101586058B1 (en) Device for connecting peer-to-peer communication considering nat types and method connecting peer-to-peer communication using the same
KR100846536B1 (en) Virtual Private Network Using DHCP and Method of Security on the Same
KR20100013889A (en) Mapping method of rtp and rtcp, access point and natpt system of thereof
JP2009130712A (en) Gateway device and communication control method
JP2005045678A (en) Communication method between hosts through network
JP5023672B2 (en) Packet relay device
KR101574296B1 (en) Session establishment system and session establishment method

Legal Events

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

Payment date: 20160321

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190312

Year of fee payment: 9