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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/256—NAT traversal
- H04L61/2575—NAT traversal using address mapping retrieval, e.g. simple traversal of user datagram protocol through session traversal utilities for NAT [STUN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation 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
Description
본 발명은 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
통신 시스템(200)은 NAT(Network Address Translation) 기능을 수행하여 통신 단말기(100)에 사설 아이피(즉, 사설 네트워크 주소)를 할당함과 아울러 주소 변환을 통해 통신 단말기(100)와 외부의 소정 서버가 통신할 수 있도록 하는 기능을 수행한다.The
이러한 통신 시스템(200)에는 적어도 하나의 네트워크 장치가 포함되어 있는데, 이러한 네트워크 장치는 수신되는 패킷의 최종 목적지와 그 패킷에 포함된 TTL(Time To Live) 값에 따라 해당 패킷의 처리를 수행한다.The
여기서 통신 시스템(200)에 포함되는 네트워크 장치는 통신 단말기(100)에 사설 아이피를 할당하고 공인 아이피로의 주소 변환을 처리하는 NAT 장치(즉, 주소 변환 장치)에 해당할 수도 있고, 단지 패킷의 전달만을 수행하는 라우터에 해당할 수도 있다. 이 밖에도 통신 시스템(200)은 SIP에 따른 세션을 설정하여 호 처리를 수행하거나 통신 단말기(100)의 가입자 정보를 관리하는 각종 장치들이 포함될 수 있는데, 도 1에서는 그 각각의 장치에 대한 세부 도시는 생략하였다.The network device included in the
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
예를 들어 각 네트워크 장치는 자신이 통신 단말기(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
예를 들어 기 정의된(또는 설정 저장된) 최소값이 '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
상술한 과정은 하나의 예에 불과하고 각 네트워크 장치는 수신된 패킷의 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
본 실시예에서 에코 요청 신호는 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
이를 위해 통신 시스템(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
이처럼 통신 단말기(100)에 대한 외부 서버(300)에의 사용자 등록을 통신 시스템(200)이 해당 통신 단말기(100)에 대한 SIP 세션 처리와 함께 처리하는 경우, 통신 단말기(100) 사용자는 별도로 해당 외부 서버(300)에 사용 등록을 요청할 필요가 없어 사용자 편의성이 증대된다.As such, when the
예를 들어 전원을 켬과 동시에 통신 시스템(200)과 통신하여 SIP에 따른 호 연결을 위해 세션을 형성하는 통신 단말기(100)의 사용자는 미리 가입하였던 외부 서버(300)에 별도의 사용 등록을 요청하지 않더라도 SIP 세션을 처리하는 통신 시스템(200)에 의해 자동으로 사용 등록이 이루어질 수 있는 것이다.For example, a user of a
한편, 통신 시스템(200)은 통신 단말기(100)의 UDP 홀 펀칭 유도 신호에 따라 UDP 홀 펀칭 처리를 수행하여 UDP 홀을 형성하는 기능을 수행한다.Meanwhile, the
여기서 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
즉, 통신 단말기(100)에 사설 아이피가 설정되어 있는 경우에는 외부 서버(300)로부터 전송된 데이터가 해당 통신 단말기(100)에 도달하는 것이 용이하지 않은데, 주소 변환 장치에 해당 통신 단말기(100)와 외부 서버(300)에 대하여 UDP 홀 펀칭이 이루어져 있는 경우, 외부 서버(300)는 주소 변환 장치에 형성된 UDP 홀을 경유하여 통신 단말기(100)에 소정의 데이터를 전송할 수 있는 것이다.That is, when the private IP is set in the
통신 시스템(200)의 주소 변환 장치에서 UDP 홀 펀칭이 수행되고 이용되는 과정의 몇 가지 예들을 간략히 살펴보면 다음과 같다.Some examples of a process in which UDP hole punching is performed and used in the address translation apparatus of the
첫 번째로 통신 단말기(100)에서 UDP 데이터를 주소 변환 장치(일 예로 IP 공유기) 밖으로 보낼 때 그 주소 변환 장치는 해당 통신 단말기(100)의 IP와 포트 정보를 기억하고 주소 변환 장치의 포트와 매핑을 해주며, 그 매핑된 포트로 데이터가 오면 출발지 IP와 포트 정보를 상관하지 않고 해당 통신 단말기(100)로 포워딩을 해주는 경우가 있을 수 있고,First, when the
두 번째로 통신 단말기(100)에서 UDP 데이터를 주소 변환 장치 밖으로 보낼 때 주소 변환 장치는 해당 통신 단말기(100)의 IP와 포트 정보, 목적지 IP를 기억하고 주소 변환 장치의 포트와 매핑을 해주고, 그 매핑된 주소 변환 장치의 해당 포트로 데이터가 오면 출발지 IP정보를 비교하여 주소 변환 장치에 기록된 목적지 IP와 같으면 해당 통신 단말기(100)로 포워딩을 해주는 경우가 있을 수 있으며,Secondly, when the
세 번째로 통신 단말기(100)에서 UDP 데이터를 주소 변환 장치 밖으로 보낼 때 주소 변환 장치는 해당 통신 단말기(100)의 IP와 포트 정보, 목적지 IP, 포트 정보를 기억하고 주소 변환 장치의 포트와 매핑을 해주고, 그 매핑된 주소 변환 장치의 해당 포트로 데이터가 오면 출발지 IP 정보를 비교하여 주소 변환 장치에 기록된 목적지 IP, Port 가 같으면 해당 통신 단말기(100)에 포워딩을 해주는 경우가 있을 수 있다.Third, when the
이처럼 통신 시스템(200)의 소정의 장치 즉, 주소 변환 장치에 데이터 홀(hole)이 형성되고 그 형성된 홀을 통해 데이터가 전달되는 과정은 기 공지된 것에 불과하므로 보다 자세한 설명은 생략한다.As described above, since a data hole is formed in a predetermined device of the
한편, 통신 시스템(200)은 형성된 홀을 기 설정된 시간 동안만 유지하고, 해당 시간이 경과하면 홀을 없앨 수 있다. 홀이 없어지는 것을 방지하기 위해 후술하는 바와 같이 통신 단말기(100)는 홀 펀칭 유도 신호를 주기적으로 통신 시스템(200)으로 전송할 수 있다.Meanwhile, the
한편, 외부 서버(300)는 통신 시스템(200)을 경유하여 통신 단말기(100)에 UDP 데이터를 전송하는 기능을 수행하는 것으로서, 도 1에는 도시하지 않았지만 통신 단말기(100)에 전송할 UDP 데이터를 생성하여 외부 서버(300)에 전송하면서 통신 단말기(100)로의 전송을 요청하는 별도의 장치(예를 들어 PROVIDER 서버)가 더 구비될 수도 있다. 이 경우 외부 서버(300)는 그 UDP 데이터를 생성하는 장치(PROVIDER 서버)의 요청에 따라 해당 UDP 데이터를 통신 단말기(100)로 전송할 수 있다. 물론 외부 서버(300)는 자체 알고리즘에 따라 주기적으로 UDP 데이터를 통신 단말기(100)에 전송할 수도 있음은 물론이다.Meanwhile, the
이때 외부 서버(300)로부터 통신 단말기(100)로 전송되는 UDP 데이터는 상술한 바와 같이 통신 시스템(200)(보다 정확히는 통신 시스템(200)의 주소 변환 장치)에 형성된 UDP 홀을 통해 전달될 수 있다.In this case, UDP data transmitted from the
이렇게 소정의 UDP 데이터 통신의 전송을 위해 외부 서버(300)는 먼저 통신 단말기(100)의 사용 등록을 처리할 수 있는데, 이는 통신 시스템(200)의 요청에 따라서도 이루어질 수도 있는 것이다.In order to transmit the predetermined UDP data communication, the
한편, 외부 서버(300)는 통신 단말기(100)로부터 에코 요청 신호가 수신되는 경우 자신이 그 수신된 에코 요청 신호의 최종 목적지에 해당하면 에코 응답 신호를 통신 단말기(100)로 전송할 수 있다.Meanwhile, when the echo request signal is received from the
예를 들어 통신 단말기(100)가 ICMP의 '타입 8'에 해당하는 에코 요청 신호를 전송하는 경우 외부 서버(300)는 그 에코 요청 신호의 최종 목적지 주소가 자신에 해당하면 ICMP '타입 0'에 해당하는 에코 응답 신호를 통신 단말기(100)에 전송하는 것이다.For example, when the
또한 외부 서버(300)는 통신 단말기(100)로부터의 요청이 있는 경우 수신된 패킷의 출발지 주소를 별도의 필드에 포함하는 응답 신호를 전송할 수도 있는데, 이에 대한 보다 상세한 설명은 후술토록 한다.In addition, when there is a request from the
한편, 통신 단말기(100)는 통신 시스템(200)으로부터 사설 아이피(즉, 사설 네트워크 주소)를 할당받고 그 할당받은 사설 아이피를 이용하여 통신하는 장치로서 컴퓨터, 이동통신 단말기 등을 모두 포함하는 것이다.Meanwhile, the
여기서 통신 단말기(100)는 SIP(Session Initiation Protocol)에 따라 세션을 형성하고 그 형성된 세션을 이용하여 통신할 수 있는데, 이를 위해 통신 단말기(100)는 먼저 통신 시스템(200)에 사용 등록을 요청하고 필요한 인증 등의 과정을 거쳐 통신을 위한 세션을 설정할 수 있다.Herein, the
또한 통신 단말기(100)는 외부 서버(300)로부터 UDP 데이터를 수신하는 기능도 수행한다.In addition, the
이때 사설 아이피가 할당된 통신 단말기(100)가 외부 서버(300)로부터 UDP 데이터를 수신하기 위해서는 상술한 바와 같이 통신 시스템(200)에 UDP 홀이 형성되어야 하는데, 이를 위해 통신 단말기(100)는 -예를 들어 주기적으로- UDP 홀 펀칭 유도 신호를 통신 시스템(200)에 전송한다. 이에 따라 통신 시스템(200)에 구비된 주소 변환 장치는 UDP 홀을 형성하게 되고 결과적으로 외부 서버(300)로부터의 UDP 데이터가 통신 단말기(100)로 그 형성된 UDP 홀을 통해 전달될 수 있다.In this case, in order for the
이처럼 통신 단말기(100)는 UDP 홀 펀칭 유도 신호를 통신 시스템(200)에 전송하게 되는데, UDP 홀 펀칭 유도 신호가 어떠한 TTL 값을 갖는가는 상당히 중요하다.As such, the
왜냐하면 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
불필요한 패킷이 네트워크 내에 돌아다니는 것은 망 부하를 가중시키는 것이고, 이는 통신 단말기(100)가 UDP 홀 펀칭 유도 신호를 주기적으로 반복해서 전송하는 경우에 더욱 그러하다.Unnecessary packets running around in the network add to the network load, especially when the
따라서 주소 변환 장치가 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
도 2에 도시된 바와 같이 통신 단말기(100)는 통신 주소 할당부(110), 통신 수행부(120), 외부 인식 통신 주소 확인부(140), 에코 요청 신호 전송부(130)와, 수신부(150), 비교부(160), 판단부(170), UDP 홀 펀칭 유도 신호 전송부(180)를 포함하여 구성될 수 있다.As shown in FIG. 2, the
통신 주소 할당부(110)는 NAT(Network Address Translation) 기능을 수행하는 통신 시스템(200)에 요청하여 통신 주소를 할당받는 기능을 수행한다. 이때 통신 시스템(200)(더 구체적으로는 주소 변환 장치)에서 통신 단말기(100)에 할당하는 주소는 사설 아이피일 수 있고, 이하에서는 통신 주소 할당부(110)가 할당받은 주소는 사설 아이피인 것을 일 예로 한다.The communication
통신 수행부(120)는 통신 주소 할당부(110)가 할당받은 통신 주소를 이용하여 통신을 수행한다. 즉, 통신 주소 할당부(110)가 할당받은 주소가 사설 아이피인 경우 통신 단말기(100)의 통신 수행부(120)는 항상 그 할당받은 사설 아이피를 이용하여 통신을 수행한다.The
이처럼 통신 단말기(100)에서 이루어지는 모든 통신은 통신 수행부(120)를 거쳐 이루어지는 것이므로 이하의 설명에서는 통신 수행부(120)에 대한 반복적인 언급을 생략할 수 있다.As described above, all the communication in the
외부 인식 통신 주소 확인부(140)는 외부 서버(300)에 요청하여 해당 외부 서버(300)에서 인식되는 자신(통신 단말기(100))의 외부 인식 통신 주소를 확인하는 기능을 수행한다. 상술한 바와 같이 통신 단말기(100)에 사설 아이피가 할당된 경우에는 통신 단말기(100)로부터 통신 시스템(200) 밖으로 전송되는 패킷은 그 통신 시스템(200)에 포함된 소정의 주소 변환 장치에 의해 그 출발지 주소가 공인 아이피로 변환하게 되고, 통신 단말기(100)의 패킷을 수신한 외부 서버(300)가 해당 패킷의 출발지로 인식하는 아이피는 실제 통신 단말기(100)의 사설 아이피가 아니라 통신 시스템(200)의 주소 변환 장치에 의해 변환된 공인 아이피가 되는 것이다.The external recognition communication
이처럼 외부 서버(300)가 인식하는 주소는 실제 통신 단말기(100)에 할당된 주소와 다를 수 있고 외부 인식 통신 주소 확인부(140)는 이처럼 외부에서 인식되는 자신 즉, 통신 단말기(100)에 대한 주소를 확인하는 것이다.As such, the address recognized by the
외부 인식 통신 주소부가 자신의 외부 인식 통신 주소를 확인하는 과정은 다양하게 구현이 가능한데, 예를 들어 외부 인식 통신 주소 확인부(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
보다 구체적인 예를 든다면 다음과 같다.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
이 상태에서 외부 서버(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
따라서 통신 단말기(100)는 수신된 패킷의 별도 필드에 포함된 "210.0.0.10" 주소가 자신의 외부 인식 통신 주소라고 판단할 수 있다.Therefore, the
상술한 예에서 통신 시스템(200)의 NAT 기능은 아이피 뿐만 아니라 통신 포트도 변경할 수 있는데, 설명의 편의상 포트에 대한 내용은 생략하였다.In the above-described example, the NAT function of the
에코 요청 신호 전송부(130)는 통신할당부가 할당받은 통신 주소와 외부 인식 통신 주소 확인부(140)가 확인한 외부 인식 통신 주소를 비교한 결과 서로 다른 경우 소정의 값으로 설정된 TTL 값을 포함하고 외부 서버 주소를 최종 목적지 주소로 하는 에코 요청 신호를 통신 시스템(200)으로 전송하는 기능을 수행한다.The echo
이때 에코 요청 신호에 포함되는 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
한편, 수신부(150)는 통신 시스템(200)의 소정의 네트워크 장치로부터 TTL 초과 메시지를 수신하거나 외부 서버(300)로부터 에코 응답 신호를 수신하는 기능을 수행한다. TTL 초과 메시지와 에코 응답 신호는 앞서 설명한 바와 같으므로 반복된 설명은 생략한다.Meanwhile, the
비교부(160)는 수신부(150)에 수신된 TTL 초과 메시지를 전송한 네트워크 장치의 주소와 자신의 외부 인식 통신 주소를 비교하는 기능을 수행한다. 즉, TTL 초과 메시지의 출발지 주소를 확인하여 그 출발지 주소와 자신의 외부 인식 통신 주소를 비교하는 것이다.The
비교부(160)의 비교 결과에 따라 증가된 TTL 값을 가지는 에코 요청 신호의 전송이 이루어질 수 있다. 즉, 에코 요청 신호 전송부(130)는 비교부(160)의 비교 결과 서로 일치하지 않는 경우, 기본 증감 값 즉, '1'만큼 증가된 TTL 값을 가지는 에코 요청 신호를 통신 시스템(200)으로 다시 전송할 수 있는데, 이러한 에코 요청 신호의 재전송 과정은 해당 에코 요청 신호에 대응하여 자신의 외부 인식 통신 주소와 동일한 주소를 가지는 네트워크 장치로부터 TTL 초과 메시지가 수신되거나 외부 서버(300)로부터 에코 응답 신호가 수신될 때까지 반복적으로 이루어질 수 있다.According to the comparison result of the
판단부(170)는 비교부(160)의 비교결과 서로 일치하는 경우 해당 TTL 초과 메시지를 전송한 네트워크 장치를 최종 주소 변환 장치로 판단한다. 여기서 최종 주소 변환 장치로 판단한다는 것은 후술하는 바와 같이 최적의 TTL 값을 산출하는 기준이 되는 주소 변환 장치로 판단한다는 것을 의미한다.The
다른 관점으로 설명하면 사설 아이피를 갖는 통신 단말기(100)의 패킷에 대해 자신의 주소에 해당하는 공인 아이피로의 변환을 처리하는 NAT 장치 즉, 주소 변환 장치는 당연히 자신의 주소를 출발지 주소로 하는 TTL 초과 메시지를 전송하게 되고, 따라서 통신 단말기(100)의 판단부(170)는 그 수신된 TTL 초과 메시지 패킷의 출발지 주소와 자신의 외부 인식 통신 주소(공인 아이피)가 동일한 경우 해당 네트워크 장치가 주소 변환 장치에 해당됨을 알 수 있고 더 나아가 주소 변환 장치가 네트워크 경로 상의 몇 번째에 위치한 네트워크 장치인지를 판단할 수 있는 것이다.In other terms, a NAT device that handles the conversion of a packet of a
비교부(160)의 비교결과 TTL 초과 메시지를 전송하는 통신 시스템(200)의 어떠한 네트워크 장치도 자신의 외부 인식 통신 주소와 동일한 주소를 가지지 않고 외부 서버(300)로부터 에코 응답 신호가 수신된 경우, 판단부(170)는 TTL 초과 메시지를 전송해온 통신 시스템(200)의 네트워크 장치 중 에코 요청 신호가 가장 마지막으로 경유하는 네트워크 장치를 판단하고, 그 판단된 가장 마지막으로 경유하는 네트워크 장치로부터 시작하여 경유 루트 상의 역순으로 확인한 결과 자신의 외부 인식 통신 주소와 동일한 서브네트워크의 주소를 가지는 것으로 가장 먼저 확인되는 네트워크 장치를 최종 주소 변환 장치로 판단한다.When any network device of the
가장 마지막으로 경유하는 네트워크 장치는 예를 들어 외부 서버(300)에 도달하기 우해 경유하는 통신 시스템(200)의 네트워크 장치 중 가장 마지막에 위치한 네트워크 장치일 수 있다.The last passing network device may be, for example, the last network device located among the network devices of the
여기서 판단부(170)는 TTL 초과 메시지를 전송한 각 네트워크 장치들에 대해 해당 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함시켰던 TTL 값에 따라 통신 시스템(200)의 각 네트워크 장치의 경유 순서를 판단할 수 있고, 이에 따라 가장 마지막으로 경유하는 네트워크 장치 역시 판단할 수 있다.In this case, the
예를 들어 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
UDP 홀 펀칭 유도 신호 전송부(180)는 최종 주소 변환 장치로부터 수신된 TTL 초과 메시지의 기초가 된 에코 요청 신호에 포함되었던 TTL 값에서 기본 증감 값만큼 증가된 값을 TTL 값으로 가지는 UDP 홀 펀칭 유도 신호를 통신 시스템(200)으로 전송한다. 여기서 기본 증감 값은 '1'이라고 가정한다.The UDP hole punching
예를 들어 "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
이렇게 되면 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
이하에서는 도 3을 참조하여 통신 단말기(100)가 통신 시스템(200)과 통신하여 SIP에 따른 세션 설정을 수행하는 과정을 설명한다.Hereinafter, referring to FIG. 3, a process in which the
우선 본 실시예를 설명함에 있어서 통신 시스템(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
우선 통신 단말기(100)는 SIP 처리 서버에 사용 등록을 요청한다(단계 S1). 이러한 사용 등록은 SIP에 따른 통신을 위해 사용 등록을 요청하는 것일 수 있다.First, the
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
외부 서버(300)는 해당 통신 단말기(100)에 대한 사용 등록을 처리하고(단계 S11), 확인 응답 신호를 전송한다(단계 S13). 여기서 외부 서버(300)가 일종의 푸시 데이터 전송 서버인 경우에는 사용 등록이 처리된 통신 단말기(100)로 주기적으로 푸시 데이터를 전송할 수 있다.The
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
상술한 과정은 통신 단말기(100) 뿐만 아니라 실제 UDP 데이터의 전송을 외부 서버(300)에 요청하는 소정 장치(PROVIDER 서버)의 세션 설정 과정에 해당할 수도 있다.The above-described process may correspond to a session setting process of a predetermined device (PROVIDER server) requesting the
이하에서는 도 4를 참조하여 통신 시스템(200)과 통신하는 통신 단말기(100)에서의 제어 흐름을 설명한다.Hereinafter, a control flow in the
통신 단말기(100)는 우선 통신 시스템(200)으로부터 통신 주소를 할당받아 설정하여 통신을 수행한다(단계 S21).The
이어서 외부 서버(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
만일 자신의 외부 인식 통신 주소와 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
한편, 에코 요청 신호에 대응하여 외부 서버(300)로부터 에코 응답 신호가 수신되면(단계 S39), 가장 원격지의 네트워크 장치를 선정하고(단계 S41), 그 선정된 네트워크 장치 주소의 서브넷과 자신의 외부 인식 통신 주소의 서브넷이 동일한지 판단하며(단계 S43), 동일한 경우 해당 네트워크 장치를 주소 변환 장치로 판단한다(단계 S47).On the other hand, when the echo response signal is received from the
만일 그 선정된 네트워크 장치 주소의 서브넷과 자신의 외부 인식 통신 주소의 서브넷이 동일하지 않은 경우(단계 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
이렇게 주소 변환 장치를 판단한 경우 통신 단말기(100)는 그 주소 변환 장치에 해당하는 TTL 값에서 1만큼 증가된 TTL 값을 가지는 UDP 홀 펀칭 유도 신호를 통신 시스템(200)에 주기적으로 전송한다(단계 S49, S51).When the address translation apparatus is determined as described above, the
이하에서는 상술한 과정을 수행하는 통신 단말기(100)를 포함하는 전체 UDP 푸시 데이터 전송 시스템의 신호 흐름을 설명한다.Hereinafter, the signal flow of the entire UDP push data transmission system including the
우선, 도 5를 참조하여 통신 시스템(200)의 주소 변환 장치가 통신 단말기(100)의 패킷에 대해 자신의 아이피와 동일한 아이피로 주소 변환을 수행하는 경우를 설명한다.First, referring to FIG. 5, a case in which the address conversion apparatus of the
본 실시예에서 통신 시스템(200)에는 다수의 네트워크 장치 즉, Hop_1, Hop_2, Hop_3 을 포함하고 있고, 이중 통신 단말기(100)에 대해 주소 변환을 처리하는 주소 변환 장치는 Hop_2인 것을 일 예로 한다.In the present embodiment, the
그리고 본 실시예를 설명함에 있어서 패킷의 출발지는 '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
먼저 통신 단말기(100)는 외부 서버(300)로 등록 요청 신호(src:A, dst:E)를 전송한다(단계 S61). 여기서 통신 단말기(100)의 등록 요청 신호는 일종의 자신의 외부 주소를 확인하기 위한 더미 신호에 해당할 수도 있다.First, the
통신 단말기(100)로부터 전송된 패킷을 수신한 주소 변환 장치(즉, Hop_2)는 주소 변환 과정을 거쳐 외부 서버(300)로 등록 요청 신호(src:C, dst:E)를 전송한다(단계 S63).The address translation apparatus (that is, Hop_2) receiving the packet transmitted from the
외부 서버(300)는 이러한 등록 요청 신호에 대응하여 등록 응답 신호(src:E, dst:C, via:C)를 전송하는데(단계 S65), 여기서 "via:C"는 수신된 패킷의 출발지 주소인 "C"를 별도의 필드에 포함시킨 것이다.The
주소 변환 장치는 수신된 등록 응답 신호에서 도착지 주소를 변경한 등록 응답 신호(src:E, dst:A, via:C)를 통신 단말기(100)에 전송한다(단계 S67).The address translation apparatus transmits, to the
이에 따라 통신 단말기(100)는 수신된 패킷의 별도의 필드를 참조하여 자신의 외부 인식 통신 주소가 "C"라는 것을 확인하게 된다(단계 S69).Accordingly, the
이어서 통신 단말기(100)는 TTL=1인 값을 갖고 목적지가 외부 서버(300)인 에코 요청 신호(src:A, dst:E, TTL=1)를 전송한다(단계 S71). 이 에코 요청 신호는 TTL 값이 '1'이므로 통신 시스템(200)의 첫 번째 네트워크 장치인 Hop_1은 TTL 초과 메시지(src:B, dst:A)를 생성하여 통신 단말기(100)에 전송한다(단계 S73).The
이때 통신 단말기(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
통신 단말기(100)는 판단된 주소변환 장치에 대응하는 TTL 값 즉, 2에서 1만큼 증가한 값을 갖는 UDP 홀 펀칭 유도 신호(src:A, dst:E, TTL=3)를 전송하고(단계 S93, S94), 이에 따라 주소 변환 장치에서는 UDP 홀 펀칭이 수행된다(단계 S97).The
한편, 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
이하에서는 도 6을 참조하여 통신 시스템(200)의 주소 변환 장치가 통신 단말기(100)의 패킷에 대해 자신의 아이피와 동일하지 않지만 동일한 서브넷에 해당하는 아이피로 주소 변환을 수행하는 경우를 설명한다.Hereinafter, referring to FIG. 6, a case in which the address translation apparatus of the
먼저 통신 단말기(100)는 외부 서버(300)로 등록 요청 신호(src:A, dst:E)를 전송한다(단계 S61').First, the
통신 단말기(100)로부터 전송된 패킷을 수신한 주소 변환 장치는 주소 변환 과정을 거쳐 외부 서버(300)로 등록 요청 신호(src:C', dst:E)를 전송한다(단계 S63'). 여기서 통신 단말기(100)의 패킷에 대해 변환되는 C'와 주소 변환 장치의 주소 C는 동일한 서브넷을 갖는다고 가정한다.The address translation apparatus receiving the packet transmitted from the
외부 서버(300)는 등록 응답 신호(src:E, dst:C', via:C')를 전송하는데(단계 S65'), 여기서 via:C'는 수신된 패킷의 출발지 주소가 C'라는 것을 의미한다.The
주소 변환 장치는 수신된 등록 응답 신호에서 도착지 주소를 변경한 등록 응답 신호(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
이어서 통신 단말기(100)는 TTL=1인 값을 갖고 목적지가 외부 서버(300)인 에코 요청 신호(src:A, dst:E, TTL=1)를 전송한다(단계 S71'). 이 에코 요청 신호는 TTL 값이 '1'이므로 Hop_1은 TTL 초과 메시지(src:B, dst:A)를 통신 단말기(100)에 전송한다(단계 S73').The
이때 통신 단말기(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
이러한 에코 요청 신호(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
외부 서버(300)는 통신 단말기(100)의 에코 요청 신호(src:A, dst:E, TTL=4)의 최종 목적지가 자신이므로 에코 응답 신호(src:E, dst:A)를 통신 단말기(100)에 전송한다(단계 S85').The
외부 서버(300)로부터 에코 응답 신호를 수신한 통신 단말기(100)는 통신 경로 상의 가장 먼 네트워크 장치인 Hop_3의 주소 D와 자신의 외부 인식 통신 주소 C'가 동일한 서브넷인지 판단한다(단계 S87').The
판단결과 동일하지 않으면 통신 단말기(100)는 역순의 그 다음 네트워크 장치에 해당하는 Hop_2의 주소 C와 자신의 외부 인식 통신 주소 C'가 동일한 서브넷인지 판단한다(단계 S89').If the determination result is not the same, the
판단결과 동일하므로 통신 단말기(100)는 Hop_2를 주소 변환 장치로 판단하고(단계 S91'), 이 후의 과정은 도 5에서 설명한 바와 같으므로 생략한다.Since the determination result is the same, the
도 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
이 경우에도 도 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
한편, 본 발명은 상기한 특정 실시예에 한정되는 것이 아니라 본 발명의 요지를 벗어나지 않는 범위 내에서 여러 가지로 변형 및 수정하여 실시할 수 있는 것이다. 특히 외부 서버는 푸시 서버에 한정되는 것은 아니고, 통신 단말기에 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)
(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.
상기 (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).
(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.
상기 (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.
상기 통신 시스템에서의 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.
기 설정된 시간 간격으로 상기 (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.
(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.
(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.
상기 (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).
(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.
상기 (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.
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.
상기 에코 요청 신호 전송부는, 상기 비교부의 비교 결과 서로 일치하지 않는 경우 상기 기본 증감 값만큼 증가된 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.
상기 비교부의 비교결과 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.
상기 판단부는 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.
상기 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에 따른 호 처리 세션을 설정하여 사용 등록을 처리하고, 상기 통신 단말기가 기 가입한 외부 서버를 확인하여 상기 외부 서버에 사용 등록을 요청하며, 상기 통신 단말기의 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.
상기 통신 시스템은 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.
상기 통신 시스템에 포함되는 각 네트워크 장치는 자신이 상기 통신 단말기로부터 수신된 에코 요청 신호의 최종 목적지에 해당하지 않고 그 수신된 에코 요청 신호에 포함된 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.
상기 통신 단말기는 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.
상기 통신 단말기는 에코 요청 신호에 포함시켰던 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.
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)
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 |
-
2011
- 2011-04-12 KR KR1020110033858A patent/KR101253025B1/en active IP Right Grant
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 |