KR20120068526A - System and method for transmitting data based on udp - Google Patents

System and method for transmitting data based on udp Download PDF

Info

Publication number
KR20120068526A
KR20120068526A KR1020100130188A KR20100130188A KR20120068526A KR 20120068526 A KR20120068526 A KR 20120068526A KR 1020100130188 A KR1020100130188 A KR 1020100130188A KR 20100130188 A KR20100130188 A KR 20100130188A KR 20120068526 A KR20120068526 A KR 20120068526A
Authority
KR
South Korea
Prior art keywords
message
packet
packets
udp
received
Prior art date
Application number
KR1020100130188A
Other languages
Korean (ko)
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 KR1020100130188A priority Critical patent/KR20120068526A/en
Publication of KR20120068526A publication Critical patent/KR20120068526A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • 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/03Protocol definition or specification 
    • 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)

Abstract

PURPOSE: A user datagram protocol(UDP)-based data transmitting system and a method for the same are provided to transmit and receive controlling messages by verifying whether the message is omitted based on given serial numbers. CONSTITUTION: A transmitting part(200) divides one message into a plurality of packets. The transmitting part applies destination IDs to the packets and transmits the packets through networks based on an IP multi-casting or broadcasting method. If the packets are received through the networks, a receiving part(250) verifies whether the destination IDs of the packets are matched to the ID of the receiving part. The received packets are assembled to generate an original message, and the original message is transmitted to a higher level.

Description

UDP 기반의 자료 전송 시스템 및 방법{SYSTEM AND METHOD FOR TRANSMITTING DATA BASED ON UDP}WDP-based data transmission system and method {SYSTEM AND METHOD FOR TRANSMITTING DATA BASED ON UDP}

본 발명은 다중 수신자를 지원하는 UDP(user datagram protocol) IP 멀티캐스팅 또는 브로드캐스팅을 포함하는 기반의 신뢰성 있는 메시지 시스템에 관한 것으로서, 더욱 상세하게는 다중 서버를 기반으로 한 시스템과 같이 다중 수신자가 있는 시스템에서 장치들 사이에 UDP 멀티캐스팅 기반의 신뢰성과 효율성을 제공하기 위한 UDP 기반의 메시지 분할 및 재조립(segmentation and re-assembly; 이하 SAR 이라 칭함)과 재전송을 제공하는 자료 전송 시스템 및 방법에 관한 것이다.
The present invention relates to a reliable message system based on including user datagram protocol (UDP) IP multicasting or broadcasting to support multiple receivers. More specifically, the present invention relates to a system based on multiple servers, such as a system based on multiple servers. Data transmission system and method for providing UDP-based message segmentation and re-assembly (SAR) and retransmission to provide reliability and efficiency based on UDP multicasting between devices in a system will be.

일반적으로, UDP 프로토콜은 비 신뢰성 있는 전송 서비스로서, 자료의 송신측에서는 수신측에서 자료의 수신여부와 상관없이 자료를 송신하게 된다. 따라서, 생성되는 자료를 계속 전송할 수 있기 때문에 자료의 전송 효율은 좋지만, 송신측에서 자료 수신 상태에 대한 확인과 이로 인한 재전송을 수행하지 않기 때문에 자료의 신뢰성을 제공할 수 없다는 문제점이 있으나, 자료의 수신 상태를 유지할 필요성이 없기 때문에 멀티캐스팅 및 브로드캐스팅이 가능한 통신 서비스이다.In general, the UDP protocol is an unreliable transmission service, in which a data transmission side transmits data regardless of whether or not the reception side receives the data. Therefore, the transmission efficiency of the data is good because the generated data can be continuously transmitted, but there is a problem that the reliability of the data cannot be provided because the sender does not check the data reception status and thereby retransmit. It is a communication service capable of multicasting and broadcasting because there is no need to maintain a reception state.

한편, 최근에는 UDP 기반의 통신 서비스를 사용하면서 UDP가 제공하는 자료 전송의 효율성과 함께 TCP와 같은 신뢰성 있는 자료 전송의 필요성이 제기 되었다. Recently, the need for reliable data transmission such as TCP has been raised along with the efficiency of data transmission provided by UDP while using UDP-based communication services.

그러나, UDP 기반의 재 전송시스템은 브로드캐스팅 또는 IP 멀티캐스팅을 포함하는 네트워크에서는 문제점을 가진다. 즉, 다수의 수신자가 메시지를 수신하기 때문에 모든 수신자에 대한 신뢰성을 보장하기 위해서는 복잡한 재전송 메커니즘이 필요하고, 하나의 수신자에게만 신뢰성 있는 재전송 메커니즘을 제공하기 위해서는 특정 수신자에 대한 지정과 다양한 예외상황에 대한 처리가 필요하다.
However, UDP-based retransmission systems have problems in networks that include broadcasting or IP multicasting. In other words, because multiple receivers receive messages, complex retransmission mechanisms are needed to ensure the reliability of all receivers, and in order to provide reliable retransmission mechanisms to only one receiver, specific recipients and Need processing.

하지만, 특정 수신자에 대한 지정은 다중 서버 시스템에서는 또 다른 문제를 야기한다. 다시 말해, 마스터(master)와 슬레이브(slave)간의 전이가 종종 발생하기 때문에 송신자는 누가 마스터인지를 항상 확인하고 전송해야 하는 문제점이 발생한다. 따라서, 다수의 수신자가 있는 UDP 방송 기반의 통신 시스템에서 효율적이고 신뢰성 있는 자료의 전송을 위해서는 효과적인 통신 메커니즘이 제공 되어야 한다.However, specifying a specific receiver introduces another problem in multiserver systems. In other words, since the transition between the master and the slave often occurs, the sender needs to always check who is the master and transmit. Therefore, an effective communication mechanism should be provided for efficient and reliable data transmission in a UDP broadcast based communication system having a plurality of receivers.

따라서, 본 발명은 다중 서버 즉 다수의 수신자가 있는 IP 멀티캐스팅 또는 브로드캐스팅을 포함하는 통신 시스템에서 UDP 기반의 신뢰성 있는 통신을 제공하기 위한 메시지 전송 시스템으로서, UDP를 이용하여 자료를 전송하기 전에 응용 서비스에서 메시지를 하나의 패킷 크기에 맞게 분할하고, 분할 된 패킷을 일련번호와 목적지 ID를 부여하여 멀티캐스팅을 통해 로컬 네트워크에 전송하며, 수신측에서는 목적지 ID가 자신의 ID와 동일한지를 판단하고, 부여된 일련번호를 통해 메시지의 누락 여부를 판단하여, 필요한 경우 제어 메시지를 송신측과 주고받음으로써 신뢰성 있고 효율적인 통신을 수행할 수 있도록 하는 UDP 기반의 자료 전송 시스템 및 방법을 제공하고자 한다.
Accordingly, the present invention is a message transmission system for providing UDP-based reliable communication in a communication system including multiple servers, that is, IP multicasting or broadcasting with a plurality of recipients, and before applying data using UDP. The service divides the message according to one packet size, and transmits the divided packet to the local network through multicasting by assigning a serial number and a destination ID, and determines whether the destination ID is the same as its own ID at the receiving end. The present invention provides a UDP-based data transmission system and method for determining whether a message is missing based on a serial number, and performing a reliable and efficient communication by transmitting and receiving a control message if necessary.

상술한 본 발명은 UDP 기반의 자료 전송 시스템으로서, 하나의 메시지를 다수의 패킷으로 분할하여 목적지 ID를 부여한 후 네트워크를 통해 IP 멀티캐스팅 또는 브로드캐스팅 방식으로 전송하는 송신부와, 상기 네트워크를 통해 패킷을 수신하는 경우 상기 패킷의 목적지 ID와 자신의 ID가 일치하는지를 검사하여 일치하는 경우 상기 패킷을 수신한 후, 상기 수신된 패킷을 조립하여 원래 메시지로 생성하고 이를 상위계층으로 전달하는 수신부를 포함한다.
The present invention described above is a UDP-based data transmission system, comprising: a transmitter for dividing a message into a plurality of packets, assigning a destination ID, and transmitting the packet through an IP multicasting or broadcasting method through a network; In case of receiving the packet, it checks whether the destination ID of the packet matches its ID, and if it matches, receives the packet, assembles the received packet into an original message, and transmits the received packet to a higher layer.

본 발명은 UDP 기반의 신뢰성 있는 통신을 제공하기 위한 메시지 전송 시스템에서, UDP를 이용하여 자료를 전송하기 전에 응용 서비스에서 메시지를 하나의 패킷 크기에 맞게 분할하고, 분할 된 패킷을 일련번호와 목적지 ID를 부여하여 멀티캐스팅을 통해 로컬 네트워크에 전송하며, 수신측에서는 목적지 ID가 자신의 ID와 동일한지를 판단하고, 부여된 일련번호를 통해 메시지의 누락 여부를 판단하여, 필요한 경우 제어 메시지를 송신측과 주고받음으로써 신뢰성 있고 효율적인 통신을 수행할 수 있는 이점이 있다.
According to the present invention, in a message transmission system for providing reliable communication based on UDP, a message is divided into one packet size in an application service before transmitting data using UDP, and the divided packet is serial number and destination ID. And transmit it to the local network through multicasting, and the receiver determines whether the destination ID is the same as its ID, and judges whether the message is missing by using the assigned serial number, and sends a control message to the transmitter if necessary. Receiving has the advantage of performing reliable and efficient communication.

도 1은 본 발명의 실시 예에 따른 UDP 통신 시스템의 네트워크 구성도,
도 2는 본 발명의 실시 예에 따른 슬레이브 서버의 송/수신부 블록 구성도,
도 3은 본 발명의 실시 예에 따른 송신부에서의 동작 제어 흐름도,
도 4는 본 발명의 실시 예에 따른 수신부에서의 동작 제어 흐름도.
1 is a network diagram of a UDP communication system according to an embodiment of the present invention;
2 is a block diagram of a transmitter / receiver of a slave server according to an embodiment of the present invention;
3 is a flowchart illustrating an operation control in a transmitter according to an embodiment of the present invention;
4 is a flowchart illustrating an operation control in a receiver according to an exemplary embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them will be apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In describing the embodiments of the present disclosure, when it is determined that a detailed description of a known function or configuration may unnecessarily obscure the subject matter of the present disclosure, the detailed description thereof will be omitted, and the following terms are used in the embodiments of the present disclosure. Terms are defined in consideration of the function of the may vary depending on the user or operator's intention or custom. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.Combinations of each block of the block diagrams and respective steps of the flowcharts may be performed by computer program instructions (executable engines), which may be executed on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment. As such, instructions executed through a processor of a computer or other programmable data processing equipment create means for performing the functions described in each block of the block diagram or in each step of the flowchart. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. The instructions stored therein may also produce an article of manufacture containing instruction means for performing the functions described in each block of the block diagram or in each step of the flowchart.

그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.In addition, computer program instructions may be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to generate a computer or other program. Instructions for performing possible data processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing specific logical functions, and in some alternative embodiments referred to in blocks or steps It should be noted that the functions may occur out of order. For example, the two blocks or steps shown in succession may, in fact, be performed substantially concurrently, or the blocks or steps may be performed in the reverse order of the corresponding function, as required.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세하게 설명한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 멀티 서버를 위한 신뢰성 있는 UDP 통신 시스템 구성도이다.1 is a block diagram of a reliable UDP communication system for a multi-server according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 다중 서버 시스템은 하나의 마스터 서버(master server)(101)와 하나 이상의 슬레이브 서버(slave server)(102, 103)로 구성되어 있으며, 서버들은 하나 이상의 컴퓨터 등의 장치들(device)(105, 106, 107)과 연결되어 있다. Referring to FIG. 1, the multi-server system of the present invention is composed of one master server 101 and one or more slave servers 102 and 103, wherein the servers are one or more computers. Are connected to devices 105, 106, and 107.

장치들(105, 106, 107)은 서버들(101, 102, 103)과 IP 멀티캐스팅(multicasting) 또는 브로드캐스팅(broadcasting)을 사용하여 통신을 수행하며, 장치들(105, 106, 107)은 항상 마스터 서버(101)와 통신을 수행한다. 마스터 서버(101)는 장치들(105, 106, 107)과의 통신을 책임지며, 시스템 장치에서 전송한 자료에 대한 신뢰성 있는 통신을 제공한다. 슬레이브 서버(102, 103)는 마스터 서버(101)와 같은 신뢰성 있는 통신을 요구하는 것은 아니지만, 장치들(105, 106, 107)이 전송한 자료가 브로드캐스팅에 의해 전송되므로 장치들(105, 106, 107)이 전송한 자료의 수신은 가능하다. The devices 105, 106, 107 communicate with the servers 101, 102, 103 using IP multicasting or broadcasting, and the devices 105, 106, 107 communicate with each other. Communication with the master server 101 is always performed. The master server 101 is responsible for the communication with the devices 105, 106, and 107, and provides reliable communication with the data transmitted from the system device. Slave servers 102 and 103 do not require reliable communication as the master server 101, but devices 105, 106 because the data transmitted by devices 105, 106, 107 are transmitted by broadcasting. It is possible to receive the data transmitted by 107).

도 2는 본 발명의 실시 예에 따른 UDP 멀티캐스팅 기반의 다중 서버 통신 시스템에서 슬레이브 서버(102)의 송신부와 수신부의 상세 블록 구성을 도시한 것이다.2 illustrates a detailed block configuration of a transmitter and a receiver of a slave server 102 in a UDP multicasting-based multi-server communication system according to an exemplary embodiment of the present invention.

도 2를 참조하면, 본 발명에 따른 슬레이브 서버(102)에는 장치들과의 데이터 송수신을 위한 송신부(200)와 수신부(250)가 구비된다.Referring to FIG. 2, the slave server 102 according to the present invention includes a transmitter 200 and a receiver 250 for transmitting and receiving data with devices.

먼저, 송신부(200)는 메시지 생성부(202), 패킷 분할부(204), 패킷 전송부(206), 재전송부(208) 등을 포함한다. 메시지 생성부(202)는 장치들(105, 106, 107)로 브로드캐스팅할 메시지(message)를 생성하고 고유한 메시지 식별자(ID)를 부여한다.First, the transmitter 200 includes a message generator 202, a packet divider 204, a packet transmitter 206, a retransmitter 208, and the like. The message generator 202 generates a message to be broadcast to the devices 105, 106, and 107 and gives a unique message identifier (ID).

패킷 분할부(204)는 메시지 생성부(202)에서 생성된 메시지를 하나 이상의 패킷(packet) 단위로 분할하고, 각 분할된 패킷에 고유한 패킷 식별자를 부여한다. 패킷 전송부(206)는 패킷 분할부(204)에서 분할된 패킷을 네트워크(network)를 통해 브로드캐스팅하여 전송한다.The packet divider 204 divides the message generated by the message generator 202 into one or more packets, and assigns a unique packet identifier to each divided packet. The packet transmitter 206 broadcasts the packet divided by the packet divider 204 through a network and transmits the packet.

재전송부(208)는 패킷 분할되어 네트워크로 전송된 메시지에 대해 수신측으로부터 메시지 수신 실패가 수신되는 경우 해당 메시지를 재전송시킨다. 이때, 재전송부(208)는 메시지의 재전송을 위해 전송한 메시지를 임시적으로 저장할 수 있다.The retransmitter 208 retransmits the message when a message reception failure is received from the receiver for the message divided into packets and transmitted to the network. In this case, the retransmitter 208 may temporarily store the message transmitted for retransmission of the message.

즉, 송신부(200)는 전송할 메시지에 고유한 메시지 식별자를 부여하고, 메시지를 하나 이상의 패킷으로 분할하게 된다. 분할된 패킷에는 고유한 패킷 식별자를 부여하게 된다. 이렇게 분할된 패킷들은 IP 멀티캐스팅 또는 브로드캐스팅을 통해 네트워크에 방송하게 된다. That is, the transmitter 200 assigns a unique message identifier to the message to be transmitted and divides the message into one or more packets. The divided packet is assigned a unique packet identifier. The divided packets are broadcasted to the network through IP multicasting or broadcasting.

이때 만일, 메시지의 마지막 패킷을 방송한 후, 일정 시간 안에 모든 패킷을 수신하였다는 메시지를 수신하게 되면, 송신부(200)는 다음 메시지에 대한 자료 전송을 수행하게 된다. 그러나, 일정 시간동안 응답이 없다면, 수신측에 자료 수신 상태를 확인하는 메시지를 송신하고, 수신측이 수신하지 않은 패킷에 대한 자료의 재전송을 수행하게 된다. 이때 만일, 일정 횟수만큼 수신 상태 확인을 요청하는 메시지를 송신하였지만 응답이 없다면, 메시지 송신을 중단하고 다음 메시지에 대한 송신을 시작하게 된다. 따라서, 송신부(200)에서는 자료의 재전송을 위해 타이머(timer)와 재전송 버퍼(buffer)를 사용한다.At this time, if the message that the received all packets within a predetermined time after the broadcast of the last packet of the message, the transmitter 200 performs data transmission for the next message. However, if there is no response for a certain period of time, a message for confirming the data reception status is transmitted to the receiving side, and the receiving side performs retransmission of data for packets not received. At this time, if a message for requesting confirmation of reception status is transmitted for a certain number of times but there is no response, transmission of the message is stopped and transmission for the next message is started. Therefore, the transmitter 200 uses a timer and a retransmission buffer to retransmit the data.

또한, 송신부(200)에서는 원하는 목적지 장치만 제어 메시지를 전송하도록 하기위해 목적지 주소를 사용한다. 목적지 주소는 장치에 고유한 식별자를 사용할 수도 있으며, 하나 이상의 논리적인 ID를 사용할 수도 있다. 만약, 하나 이상의 노드(node)가 메시지의 목적지 ID와 동일한 ID를 가지고 있다면, 하나 이상의 장치가 제어 메시지를 전송하게 된다. 이때, 송신부(200)는 목적지 장치가 하나 이상이 존재한다는 사실을 인지하게 되고, 이에 대하여 이벤트 발생과 같은 예외처리를 수행하게 된다. In addition, the transmitter 200 uses a destination address so that only a desired destination device transmits a control message. The destination address may use an identifier unique to the device and may use one or more logical IDs. If one or more nodes have the same ID as the destination ID of the message, the one or more devices transmit the control message. In this case, the transmitter 200 recognizes that one or more destination devices exist, and performs exception processing such as an event generation.

다음으로, 수신부(250)는 패킷 수신부(252), 패킷 확인부(254), 패킷 조립부(256), 재전송부(258) 등을 포함한다. 패킷 수신부(252)는 네트워크를 통해 IP 멀티캐스팅되어 전송되는 패킷을 수신한다.Next, the receiver 250 includes a packet receiver 252, a packet checker 254, a packet assembly unit 256, a retransmission unit 258, and the like. The packet receiver 252 receives a packet transmitted by IP multicasting through a network.

패킷 확인부(254)는 패킷 수신부(252)로부터 수신되는 패킷에 대해 목적지 ID 등을 검사하여 자신의 ID와 맞는지 검사하여 자신에게 수신되는 패킷이 맞는지를 확인한다. 패킷 조립부(256)는 패킷 확인부(254)로부터 확인된 수신 패킷들을 하나의 메시지로 재조립(re-assemble)한다. 재전송부(258)는 수신된 패킷을 이용하여 메시지의 재조립 시 누락된 패킷이 있는 경우 해당 패킷에 대한 재전송 요청을 네트워크로 전송한다.The packet checking unit 254 checks the destination ID and the like for the packet received from the packet receiving unit 252 and checks whether the packet is received by the packet. The packet assembly unit 256 reassembles the received packets identified from the packet confirming unit 254 into one message. The retransmission unit 258 transmits a retransmission request for the corresponding packet to the network when there is a missing packet when the message is reassembled using the received packet.

즉, 수신부(250)에서는 브로드캐스팅 또는 IP 멀티캐스팅을 이용하여 전송된 메시지를 수신하고, 수신한 메시지의 목적지 ID주소가 자신의 주소와 일치하는지를 확인한다. 이때 만일, 목적지 ID 주소가 자신의 주소와 일치하게 되면, 수신된 자료에 대한 제어 메시지를 전송하게 된다. 따라서, 자료의 손실이 발생하게 되면, 재전송을 송신측에 요청할 수 있다. 하지만, 목적지 ID주소가 자신의 주소와 일치하지 않는다면, 재전송을 위한 어떠한 제어 메시지도 전송하지 않는다. That is, the receiver 250 receives the message transmitted by using broadcasting or IP multicasting, and checks whether the destination ID address of the received message matches its own address. At this time, if the destination ID address is matched with its own address, the control message for the received data is transmitted. Therefore, if data loss occurs, retransmission can be requested to the transmitting side. However, if the destination ID address does not match its own address, no control message for retransmission is sent.

또한, 수신부(250)에서는 수신한 패킷의 메시지 식별자와 패킷식별자를 통해 메시지를 식별하고 패킷들을 조립(assemble)하여 메시지를 완성하게 된다. 이때, 자신의 ID가 목적지 ID와 일치하다면, 재전송 과정을 마친 후에 완성된 메시지를 상위 계층에 전달하게 된다. 그렇지 않다면 수신한 메시지에 대해서만 상위 계층에 전달 또는 삭제하게 된다.In addition, the receiver 250 identifies the message through the message identifier and the packet identifier of the received packet, and assembles the packets to complete the message. At this time, if its ID matches the destination ID, after completing the retransmission process, the completed message is delivered to the upper layer. Otherwise, only the received message is delivered or deleted to the upper layer.

도 3은 본 발명의 실시 예에 따른 슬레이브 서버(102)내 송신부(200)에서의 동작 제어 흐름을 도시한 것이다. 이하, 도 1, 도 2 및 도 3을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.3 illustrates an operation control flow in the transmitter 200 in the slave server 102 according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1, 2, and 3.

먼저, 네트워크를 통해 브로드캐스팅 또는 IP 멀티캐스팅으로 메시지를 전송하고자 하는 경우, 송신부(200)는 메시지를 생성하고(S300), 전송할 메시지에 고유한 메시지 식별자를 부여한다(S302). First, when a message is to be transmitted by broadcasting or IP multicasting through a network, the transmitter 200 generates a message (S300) and assigns a unique message identifier to the message to be transmitted (S302).

이어, 송신부(200)는 고유한 메시지 식별자를 삽입하여 생성한 메시지를 패킷 단위로 분할하고(S304), 분할된 패킷에 대해 고유한 패킷 식별자를 부여한 후(S306), IP 멀티캐스팅 또는 브로드캐스팅을 통해 네트워크로 전송시킨다(S308).Subsequently, the transmitter 200 divides a message generated by inserting a unique message identifier into packet units (S304), assigns a unique packet identifier to the divided packets (S306), and then performs IP multicasting or broadcasting. Transfer to the network via (S308).

그런 후, 송신부(200)는 위와 같은 전송된 메시지를 수신한 수신측으로부터 메시지의 모든 패킷을 수신하였음을 알리는 메시지가 수신되는지를 검사하여(S310), 미리 설정된 일정 시간 안에 모든 패킷을 수신하였음을 알리는 수신확인 메시지를 수신하는 경우 다음 메시지에 대한 전송과정을 수행한다.Thereafter, the transmitter 200 checks whether a message indicating that all the packets of the message have been received is received from the receiving side receiving the transmitted message as described above (S310), and receives all the packets within a predetermined time. When the notification receives the acknowledgment message, it performs the transmission process for the next message.

그러나, 송신부(200)는 메시지를 수신한 수신측으로부터 미리 설정된 일정 시간 안에 모든 패킷을 수신하였음을 알리는 수신확인 메시지를 수신하지 못하는 경우, 수신측으로 메시지의 수신 상태에 대한 확인을 요청하는 메시지를 송신한다(S312).However, when the transmitting unit 200 does not receive an acknowledgment message indicating that all packets have been received within a predetermined time period from the receiving side which received the message, the transmitting unit 200 transmits a message requesting confirmation of the reception status of the message to the receiving side. (S312).

이에 따라, 수신측에서는 메시지의 수신 상태에 대한 확인을 요청하는 메시지를 수신하는 경우 메시지의 수신상태를 확인하는 응답 메시지를 전송하게 된다. 이때, 위와 같은 수신 확인 응답 메시지에는 수신측에서 수신 실패한 패킷에 정보가 포함될 수 있다.Accordingly, when the receiving side receives the message requesting confirmation of the reception status of the message, the receiving side transmits a response message confirming the reception status of the message. In this case, the above acknowledgment message may include information in the packet that failed to receive at the receiving side.

그러면, 송신부(200)는 수신측으로부터 수신 상태에 대한 응답으로 전송되는 수신 확인 응답 메시지가 수신되는지를 검사하고(S314), 미리 설정된 일정시간 동안 응답이 없는 경우 메시지 송신을 중단하고 다음 메시지에 대한 송신을 시작한다(S316).Then, the transmitter 200 checks whether a reception acknowledgment message transmitted in response to the reception status is received from the receiver (S314). If there is no response for a predetermined time, the transmitter 200 stops transmitting the message and then Start transmission (S316).

그러나, 이와 달리, 수신측으로부터 수신 상태에 대한 응답으로 전송된 수신 확인 응답 메시지가 수신되는 경우, 송신부(200)는 수신 확인 응답 메시지를 검사하여 수신측에서 수신 실패된 패킷이 존재하는 경우 해당 패킷을 재전송하여 준다(S318).However, in contrast, when an acknowledgment message transmitted in response to the reception state is received from the receiver, the transmitter 200 checks the acknowledgment response message, and if the packet fails to be received at the receiver, the corresponding packet. It retransmits (S318).

도 4는 본 발명의 실시 예에 따른 슬레이브 서버(102)내 수신부(250)에서의 동작 제어 흐름을 도시한 것이다. 이하, 도 1, 도 2 및 도 3을 참조하여 본 발명의 실시 예를 상세히 설명하기로 한다.4 illustrates an operation control flow in the receiver 250 in the slave server 102 according to an embodiment of the present invention. Hereinafter, embodiments of the present invention will be described in detail with reference to FIGS. 1, 2, and 3.

먼저, 네트워크를 통해 브로드캐스팅 또는 IP 멀티캐스팅으로 전송되는 메시지의 분할된 패킷을 수신하는 경우(S400), 수신부(250)는 패킷의 목적지 ID 주소를 확인하여(S402) 자신의 ID와 일치하는지를 검사한다(S404).First, when receiving a fragmented packet of a message transmitted by broadcasting or IP multicasting through a network (S400), the receiver 250 checks the destination ID address of the packet (S402) and checks whether it matches its ID. (S404).

이때, 패킷의 목적지 ID와 자신의 ID가 일치하는 경우, 수신부(250)는 메시지에 대한 패킷들을 수신하고(S406), 패킷이 수신이 완료되는 경우 메시지를 수신했음을 알리는 응답 메시지를 송신측으로 전송한다(S408).In this case, when the destination ID of the packet and its ID match, the receiver 250 receives the packets for the message (S406), and when the packet is completed, transmits a response message indicating that the message has been received to the sender. (S408).

이어, 수신부(250)는 수신된 메시지에 대해 특정 패킷이 누락되는 경우와 같이 자료의 손실이 발생했는지를 검사하고(S410), 자료 손실이 발생한 경우에는 예를 들어 누락된 패킷 등에 대해 메시지를 송신한 송신측으로 누락된 패킷에 대한 재전송을 요청하는 메시지를 전송하게 된다(S412).Subsequently, the receiver 250 checks whether a loss of data has occurred, such as when a specific packet is missing for the received message (S410), and, if a loss of data occurs, for example, transmits a message about a missing packet. A message for requesting retransmission of the missing packet is transmitted to one transmitter (S412).

이에 따라, 수신측은 수신부(250)의 재전송 요청 메시지에 응답하여 전송 실패된 누락된 패킷에 대해 재전송을 수행하게 된다.Accordingly, the receiving side retransmits the missing packet that failed to be transmitted in response to the retransmission request message of the receiving unit 250.

그러면, 수신부(250)에서는 수신측으로부터 재전송 요청한 패킷 등의 자료가 재전송되는지를 검사하고(S414), 누락된 패킷 등이 재전송을 통해 수신되는 경우 수신된 패킷의 메시지 식별자와 패킷 식별자를 통해 메시지를 식별하고 패킷들을 조립(assemble)하여 메시지를 완성하게 된다(S416).Then, the receiver 250 checks whether data such as a packet requested for retransmission from the receiver is retransmitted (S414), and if a missing packet or the like is received through retransmission, a message is transmitted through a message identifier and a packet identifier of the received packet. By identifying and assembling the packets to complete the message (S416).

이어, 수신부(250)는 재전송 과정을 통해 완성된 메시지를 상위 계층에 전달하게 된다(S418).Subsequently, the receiver 250 transmits the completed message to the upper layer through the retransmission process (S418).

상기한 바와 같이, 본 발명은 다중 서버 즉 다수의 수신자가 있는 IP 멀티캐스팅 또는 브로드캐스팅을 포함하는 통신 시스템에서 UDP 기반의 신뢰성 있는 통신을 제공하기 위한 메시지 전송 시스템으로서, UDP를 이용하여 자료를 전송하기 전에 응용 서비스에서 메시지를 하나의 패킷 크기에 맞게 분할하고, 분할 된 패킷을 일련번호와 목적지 ID를 부여하여 멀티캐스팅을 통해 로컬 네트워크에 전송하며, 수신측에서는 목적지 ID가 자신의 ID와 동일한지를 판단하고, 부여된 일련번호를 통해 메시지의 누락 여부를 판단하여, 필요한 경우 제어 메시지를 송신측과 주고받음으로써 신뢰성 있고 효율적인 통신을 수행할 수 있도록 한다.As described above, the present invention is a message transmission system for providing UDP-based reliable communication in a communication system including multiple servers, that is, IP multicasting or broadcasting with a plurality of recipients, and transmits data using UDP. Before the application service divides the message according to one packet size, the packet is transmitted to the local network through multicasting by assigning the serial number and the destination ID, and the receiver determines whether the destination ID is the same as its ID. Then, it is determined whether the message is missing through the assigned serial number, and if necessary, it is possible to perform a reliable and efficient communication by sending and receiving a control message with the sender.

한편 상술한 본 발명의 설명에서는 구체적인 실시 예에 관해 설명하였으나, 여러 가지 변형이 본 발명의 범위에서 벗어나지 않고 실시될 수 있다. 따라서 발명의 범위는 설명된 실시 예에 의하여 정할 것이 아니고 특허청구범위에 의해 정하여져야 한다.
Meanwhile, in the above description of the present invention, specific embodiments have been described, but various modifications may be made without departing from the scope of the present invention. Accordingly, the scope of the invention should not be limited by the described embodiments but should be defined by the appended claims.

200 : 송신부 202 : 메시지 생성부
204 : 패킷 분할부 206 : 패킷 전송부
208 : 재전송부 250 : 수신부
252 : 패킷 수신부 254 : 패킷 확인부
256 : 패킷 조립부 258 : 재전송부
200: transmitter 202: message generator
204: packet division unit 206: packet transmission unit
208: retransmitter 250: receiver
252: packet receiving unit 254: packet checking unit
256: packet assembly unit 258: retransmission unit

Claims (1)

UDP 기반의 자료 전송 시스템으로서,
하나의 메시지를 다수의 패킷으로 분할하여 목적지 ID를 부여한 후 네트워크를 통해 IP 멀티캐스팅 또는 브로드캐스팅 방식으로 전송하는 송신부와,
상기 네트워크를 통해 패킷을 수신하는 경우 상기 패킷의 목적지 ID와 자신의 ID가 일치하는지를 검사하여 일치하는 경우 상기 패킷을 수신한 후, 상기 수신된 패킷을 조립하여 원래 메시지로 생성하고 이를 상위계층으로 전달하는 수신부
를 포함하는 UDP 기반의 자료 전송 시스템.





UDP-based data transmission system,
A transmitter for dividing a message into a plurality of packets, assigning a destination ID, and then transmitting the IP message through IP network through IP multicasting or broadcasting;
In case of receiving a packet through the network, it checks whether the destination ID of the packet and its ID match. If the packet is matched, the packet is assembled, the received packet is assembled into an original message, and delivered to a higher layer. Receiver
UDP-based data transmission system comprising a.





KR1020100130188A 2010-12-17 2010-12-17 System and method for transmitting data based on udp KR20120068526A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100130188A KR20120068526A (en) 2010-12-17 2010-12-17 System and method for transmitting data based on udp

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100130188A KR20120068526A (en) 2010-12-17 2010-12-17 System and method for transmitting data based on udp

Publications (1)

Publication Number Publication Date
KR20120068526A true KR20120068526A (en) 2012-06-27

Family

ID=46687183

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100130188A KR20120068526A (en) 2010-12-17 2010-12-17 System and method for transmitting data based on udp

Country Status (1)

Country Link
KR (1) KR20120068526A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179865B1 (en) * 2019-10-04 2020-11-17 (주)씰커뮤니케이션 Messenger system of mobile for SNS having enhanced function for security

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102179865B1 (en) * 2019-10-04 2020-11-17 (주)씰커뮤니케이션 Messenger system of mobile for SNS having enhanced function for security

Similar Documents

Publication Publication Date Title
JP4481858B2 (en) Information transmission method and information transmission system
EP1604477B1 (en) Transmission of data with forward error correction information
CN101286867B (en) Software updating method and system of network equipment
JP6148459B2 (en) How to transport data from a source node to a destination node
US20080219151A1 (en) System and method for using a peer to peer mechanism to repair broadcast data in wireless digital broadcast networks
AU2005212895A1 (en) Identification and re-transmission of missing parts
US20060034313A1 (en) Multicast data transfer
CN100583776C (en) Network device internal node reliable multicast method, system and device
JP2012186839A (en) Communication method based on udp
AU2004318925B2 (en) Data repair enhancements for multicast/broadcast data distribution
KR20080108514A (en) Data reception method, repair method and corresponding terminal
CN106130746B (en) Data transmission method and device
US20130276065A1 (en) System and methods for receiving and correcting content transmitted over multicast channels
JP2009212796A (en) Transmitter, data transfer system, data transfer method, and data transfer program
KR20120068526A (en) System and method for transmitting data based on udp
RU2735232C1 (en) Method and apparatus for updating the number of retransmissions in a wireless mesh network
US10484194B2 (en) Controlling a plurality of networked building technology devices
CN116805916B (en) IPv 6-based remote local area network communication method and system
KR101405533B1 (en) Message transport system for high available multicast
KR101741213B1 (en) System and method for data transmission based on multicast
US7212532B1 (en) Message re-sending protocol for a wireless communications system
JP2002198883A (en) Satellite communication system and its monitoring method as well as control method
JP2011223494A (en) Communication device and communication program
MXPA06008486A (en) Identification and re-transmission of missing parts

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination