KR101769133B1 - Tcp/ udp를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법 - Google Patents

Tcp/ udp를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법 Download PDF

Info

Publication number
KR101769133B1
KR101769133B1 KR1020150169473A KR20150169473A KR101769133B1 KR 101769133 B1 KR101769133 B1 KR 101769133B1 KR 1020150169473 A KR1020150169473 A KR 1020150169473A KR 20150169473 A KR20150169473 A KR 20150169473A KR 101769133 B1 KR101769133 B1 KR 101769133B1
Authority
KR
South Korea
Prior art keywords
packet
udp
tcp
data
packets
Prior art date
Application number
KR1020150169473A
Other languages
English (en)
Other versions
KR20170063280A (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 KR1020150169473A priority Critical patent/KR101769133B1/ko
Publication of KR20170063280A publication Critical patent/KR20170063280A/ko
Application granted granted Critical
Publication of KR101769133B1 publication Critical patent/KR101769133B1/ko

Links

Images

Classifications

    • 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
    • H04L47/196Integration of transport layer protocols, e.g. TCP and UDP
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • 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/165Combined use of TCP and UDP protocols; selection criteria therefor
    • 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/28Timers or timing mechanisms used in protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 신뢰성과 전송속도를 동시에 보장할 수 있도록 TCP/R-UDP를 적응적으로 이용하는 전자기기 및 이의 패킷 송수신 방법에 관한 것으로, 기본적인 데이터 전송은 신뢰성을 보장할 수 있는 TCP 연결 방식을 이용하고, 데이터 전송 속도의 저하 발생시 데이터 전송은 전송속도를 보장할 수 있는 R-UDP 연결 방식을 이용하도록 제어함으로써 데이터 전송시 신뢰성과 전송속도를 동시에 보장할 수 있다.

Description

TCP/ UDP를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법{ELECTRONIC DEVICE ADAPTIVELY SELECTING TCP/R-UDP AND PACKET TRANSMITTING/RECEIVING METHOD THEREOF}
본 발명은 데이터 전송 기술에 관한 것으로, 특히 TCP 연결 방식을 기반으로 데이터 전송을 수행함에 있어서 데이터 전송속도의 저하시 R-UDP 연결 방식의 자동 전환을 통한 데이터 전송을 제어함으로써 데이터 전송시 신뢰성과 전송속도를 동시에 확보할 수 있는 TCP/R-UDP를 적응적으로 선택할 수 있는 전자기기 및 이의 패킷 송수신 방법에 관한 것이다.
전자기기는 Transmission Control Protocol(TCP), User Datagram Protocol(UDP) 등의 방식을 사용하여 다른 전자기기와 데이터를 송수신할 수 있다.
먼저, TCP 연결 방식은 데이터 송수신 중에 데이터가 유실될 우려가 없지만 프로토콜 특성 상, 속도가 상대적으로 느릴 수 있다. 또한 TCP 연결 방식은 네트워크에서 패킷 전송 오류가 발생하면, 해당 패킷을 재전송하여 신뢰성 있는 패킷 전송을 수행하는 프로토콜로, 네트워크의 상황에 따라 패킷 전송속도를 제어하고, 패킷이 유실되었을 경우와 같이 전송 에러가 발생하였을 경우 에러의 원인이 네트워크에 의해 일어났다는 가정하에 재전송 메커니즘과 혼잡제어 메커니즘을 수행하도록 설계된 연결형(Connection-oriented) 프로토콜이다. 이러한 TCP 연결 방식은 패킷 유실에 따른 데이터 재전송 시, 데이터 전송속도를 다운(down)시킨 후 전송하며 다시 재전송 시, 데이터 전송 속도를 또 다시 다운시키므로 전송속도 지연 현상이 발생할 수 있다. 즉, 전자기기 간 TCP 연결 방식을 이용하여 데이터를 전송하는 경우, 패킷 손실에 따른 재전송 요청 시 데이터 전송속도를 낮추게 되고, 이러한 과정이 반복되면서 데이터 전송속도가 많이 느려져 장비 운용에 지장을 초래하게 되는 문제점이 있다.
이와는 달리, UDP 연결 방식은 비연결형(Connectionless) 프로토콜로, 재전송이나 혼잡제어 등과 같은 복잡한 제어 동작을 수행하지 않는 것은 물론이고 응답 확인 동작도 수행하지 않으며, 최소한의 오류제어 기능인 UDP 헤더 오류 검출 기능만을 제공한다. 따라서 UDP 연결 방식은 송신하는 데이터의 일부가 유실될 가능성, 특히 무선 네트워크 환경에서 데이터 유실 가능성이 증가할 수 있어 패킷 전송의 신뢰성을 보장하지 않는다는 단점이 있지만, 데이터를 수신하는 전자기기들 모두에 한꺼번에 데이터를 송신하여 속도가 빠를 수 있어 전송속도 및 전송 효율을 극대화할 수 있다는 장점이 있다.
즉, TCP 연결 방식은 신뢰성을 제공하지만 전송 속도 및 전송 효율은 떨어지고, UDP 연결 방식은 데이터 전송속도는 빠르나 신뢰성을 보장할 수 없다는 한계가 있다.
따라서 신뢰성과 전송속도를 동시에 보장할 수 있는 패킷 처리 기술에 대한 개발이 필요하다.
한국 공개 특허 제10-2005-0092482호 (2005.09.22 공개)
따라서, 본 발명의 목적은, 데이터 전송의 신뢰성을 보장하는 동시에 데이터 전송속도의 느림 현상을 최소화하여 데이터 전송속도를 개선할 수 있는 TCP/R-UDP를 적응적으로 선택하는 전자기기를 제공하는 데 있다.
또한, 본 발명의 다른 목적은 상기 목적을 달성하기 위한 전자기기의 패킷 송수신 방법을 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 예에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기는, Transmission Control Protocol(TCP) 연결 방식을 기반으로 데이터를 패킷 단위로 수신장치에 송신하되, 상기 수신장치로부터 User Datagram Protocol(UDP) 전환 요청이 수신되면 TCP 연결 방식을 R-UDP 연결 방식으로 전환하여 데이터를 패킷 단위로 상기 수신장치에 송신하는 데이터 송신 모듈; 및 상기 데이터 송신 모듈로부터 TCP 연결 방식으로 송신되는 TCP 패킷의 데이터 전송속도와 설정된 임계값을 비교하고, 비교 결과, 송신되는 TCP 패킷의 데이터 전송속도가 설정된 임계값보다 느리면 TCP 연결 방식을 R-UDP 연결 방식으로의 전환을 요청하는 데이터 수신 모듈; 을 포함한다.
상기 데이터 송신 모듈은, 상기 수신장치로부터 데이터 전송 요청이 TCP 연결 방식을 이용하여 수신되면, 데이터를 패킷 단위로 분할한 후 넘버링을 수행하고 TCP 연결 방식을 이용해 넘버링된 TCP 패킷의 송신을 처리하는 제1 패킷 처리부; 및 상기 수신장치로부터 UDP 전환 요청이 수신되면, R-UDP 연결 방식을 이용해 UDP 패킷을 상기 수신장치에 송신하도록 제어하는 제1 제어부; 를 포함하는 것을 특징으로 한다.
상기 제1 패킷 처리부는, 상기 수신장치로부터 UDP 전환 요청이 수신되면, 상기 제어부의 제어에 따라 상기 TCP 패킷을 R-UDP 연결 방식에 대응하는 크기의 복수개의 UDP 패킷으로 분할하고, 분할된 복수개의 UDP 패킷에 시퀀스 번호를 순차적으로 증가시켜 추가하는 것을 특징으로 한다.
상기 제1 제어부는, 상기 R-UDP 연결 방식을 이용해 상기 복수개의 UDP 패킷을 패킷 단위로 상기 UDP 패킷의 시퀀스 번호를 순차적으로 증가시키면서, 상기 수신장치에 일괄 송신하도록 제어하는 것을 특징으로 한다.
상기 제1 제어부는, TCP 연결 방식을 이용해 상기 수신장치로부터 소실 UDP 패킷의 시퀀스 번호를 포함하는 피드백 정보가 수신되면, 해당 시퀀스 번호의 UDP 패킷을 R-UDP 연결 방식을 이용해 상기 수신장치로 재전송을 처리하도록 제어하는 것을 특징으로 한다.
상기 데이터 수신 모듈은, 송신장치로부터 TCP 연결 방식을 이용하여 제1 패킷이 수신된 이후, 적어도 하나의 상기 TCP 패킷이 수신되면, 기설정된 기준시간 동안 수신된 적어도 하나의 상기 TCP 패킷의 데이터 전송속도와 설정된 임계값을 비교하는 제2 패킷 처리부; 및 상기 송신장치로 데이터 전송 요청을 TCP 연결 방식을 이용해 송신하고, 상기 비교 결과, 상기 데이터 전송속도가 설정된 임계값보다 느리면 상기 TCP 연결 방식을 R-UDP 연결 방식으로 전환하도록 UDP 전환 요청을 상기 송신장치로 송신하도록 제어하는 제2 제어부; 를 포함하는 것을 특징으로 한다.
상기 제2 패킷 처리부는, R-UDP 연결 방식을 이용하여 송신되는 상기 복수개의 UDP 패킷을 일괄 수신하고, 수신된 상기 복수개의 UDP 패킷의 시퀀스 번호를 이용하여, 상기 복수개의 UDP 패킷을 순차 정렬하고, 소실 UDP 패킷을 식별하는 것을 특징으로 한다.
상기 제2 제어부는, 상기 제2 패킷 처리부에 의해 식별된 상기 소실 UDP 패킷의 시퀀스 번호를 포함하는 피드백 정보를 TCP 연결 방식을 이용해 상기 송신장치로 송신하여 소실 패킷의 재전송을 요청하는 것을 특징으로 한다.
한편, 상기 목적을 달성하기 위한 본 발명의 다른 일 예에 따른 패킷 송신 방법은, 전자기기의 패킷 송신 방법에 있어서, 수신장치에 Transmission Control Protocol(TCP) 연결 방식을 기반으로 데이터를 패킷 단위로 송신하되, 상기 수신장치로부터 데이터 전송속도의 저하에 따른 User Datagram Protocol(UDP) 연결 방식으로의 전환 요청이 수신되면, TCP 연결 방식을 R-UDP 연결 방식으로 전환하여 데이터를 패킷 단위로 일괄 송신할 수 있다.
상기 방법은, 상기 수신장치로부터 TCP 연결 방식을 이용하여 데이터 전송 요청이 수신되면, 상기 TCP 연결 방식으로 제1 내지 제m TCP 패킷을 송신하는 1단계; 상기 수신장치로부터 상기 제1 내지 제m TCP 패킷의 수신에 대해 상기 TCP 패킷의 수신성공, 재전송 요청 및 UDP 전환 요청 중 하나가 포함된 피드백 정보를 수신하는 2단계; 상기 피드백 정보가 상기 TCP 패킷의 수신성공 또는 재전송 요청이면, 상기 TCP 연결 방식을 유지하여 상기 수신장치에 잔여 데이터를 패킷 단위로 송신하는 3단계; 및 상기 피드백 정보가 UDP 전환 요청이면, 상기 수신장치에 R-UDP 연결 방식을 이용해 잔여 데이터를 패킷 단위로 일괄 송신하는 4단계; 를 포함하는 것을 특징으로 한다.
상기 UDP 전환 요청은, 상기 제1 TCP 패킷 이후, 기설정된 기준시간 동안 송신된 TCP 패킷의 데이터 전송속도와 설정된 임계값을 비교한 결과, 송신된 상기 TCP 패킷의 데이터 전송속도가 설정된 임계값보다 느린 경우에 이루어지는 것을 특징으로 한다.
상기 4단계는, 송신할 잔여 데이터를 R-UDP 연결 방식에 대응하는 크기로 변경하여 분할한 후, 분할된 복수개의 패킷에 시퀀스 번호를 순차적으로 증가하도록 추가하여 UDP 패킷으로 변환하는 단계; 변환된 UDP 패킷들을 상기 수신장치로 R-UDP 연결 방식을 이용해 일괄 송신하는 단계; 상기 수신장치로부터 송신된 상기 UDP 패킷들 중 소실된 소실 UDP 패킷의 시퀀스 번호 정보가 포함된 피드백 정보를 수신하는 단계; 상기 피드백 정보에 포함된 상기 소실 UDP 패킷의 시퀀스 번호에 해당하는 소실 UDP 패킷을 상기 수신장치로 R-UDP 연결 방식을 이용해 송신하는 단계; 및 상기 수신장치로부터 상기 데이터의 수신 완료를 포함하는 피드백 정보를 수신하는 단계;를 더 포함하는 것을 특징으로 한다.
상기 피드백 정보는, TCP 연결 방식으로 송신이 이루어지는 것을 특징으로 한다.
따라서, 본 발명의 TCP/R-UDP를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법은, TCP 연결 방식을 기반으로 데이터 전송을 수행함에 있어서, 데이터 전송속도의 저하가 발생할 경우 R-UDP 연결 방식으로 자동 전환하여 데이터 전송을 수행하도록 제어함으로써, 데이터 전송속도의 느림 현상을 최소화할 수 있다. 따라서, 신뢰성을 보장하는 동시에 데이터 전송속도도 보장할 수 있다.
도1 은 본 발명의 일 실시 형태에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기의 개략적인 구성을 나타낸다.
도2 는 본 발명의 일 실시 형태에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기를 이용한 패킷 송수신 과정을 개략적으로 나타낸다.
도3 은 본 발명의 일 실시 형태에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기를 이용한 패킷 송수신 과정에 대한 데이터 흐름을 개략적으로 나타낸다.
도4 는 본 발명의 일 실시 형태에 따른 패킷 송수신 방법을 개략적으로 나타낸다.
도5 는 본 발명의 일 실시 형태에 따른 패킷 송신 방법을 나타낸다.
도6 은 본 발명의 일 실시 형태에 따른 데이터 수신 방법을 나타낸다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로서, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈", "블록" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은, 본 발명의 일 실시 형태에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기의 구성을 개략적으로 나타낸다. 본 발명에 따른 전자기기는, 데이터를 송신하는 송신장치 및 데이터를 요청 및 수신하는 수신장치에 각각 구비될 수 있으며, 데이터를 송신하는 동작 및 데이터를 수신하는 동작에 따라 그 기능을 구분하여 실행될 수 있다.
도 1을 참조하면, 본 발명에 따른 전자기기(10)는, 데이터 송신 모듈(100) 및 데이터 수신 모듈(200)을 적어도 포함하여 구성될 수 있다.
데이터 송신 모듈(100)은, 수신장치의 데이터 전송 요청에 따라 TCP 연결 방식을 기반으로 데이터를 패킷 단위로 수신장치로 송신할 수 있다. 이때, 데이터 송신 모듈(100)은 수신장치로부터 UDP 전환 요청이 수신될 경우, TCP 연결 방식을 R-UDP 연결 방식으로 전환하여 수신장치에 데이터를 패킷 단위로 일괄 송신할 수 있다.
그리고, 데이터 수신 모듈(200)은, 송신장치로 데이터 전송 요청을 송신하고, TCP 연결 방식을 이용해 송신되는 패킷의 전송상태를 분석하고 그 분석결과에 따라 UDP 전환 요청 또는 수신성공 응답메시지를 포함하는 피드백정보를 송신장치로 송신할 수 있다. 여기서, 패킷의 전송상태는 데이터 전송속도일 수 있다.
본 발명에서는, 송신장치 및 수신장치 간 R-UDP 연결 방식의 전환으로 데이터를 송수신이 이루어지더라도, 명령(요청) 및 피드백정보(응답메시지(ACK)) 및 중요 데이터 정보가 포함된 제1 패킷은 신뢰성을 보장하는 TCP 연결 방식을 이용하여 송수신된다.
이와 같이 본 발명에 따른 전자기기는, TCP 연결 방식을 이용해 데이터 전송 시 전송상태를 분석하고, 전송속도 저하 발생시 R-UDP 연결 방식의 자동 전환을 수행하여 데이터를 전송함으로써 속도 느림 현상을 최소화할 수 있다. 즉, 본 발명에 따른 전자기기는, 데이터 전송상태에 따라 TCP 연결 방식과 R-UDP 연결 방식의 자동 전환을 통해 데이터를 전송함으로써 신뢰성 보장뿐만 전송속도도 개선할 수 있다.
구체적으로, 본 발명에 따른 전자기기의 데이터 송신 모듈(100)은, 제1 패킷처리부(110) 및 제1 제어부(120)를 적어도 포함하여 구성될 수 있다.
먼저, 제1 패킷처리부(110)는, 수신장치로부터 데이터 전송 요청이 TCP 연결 방식을 이용하여 수신되면, 데이터를 TCP 연결 방식에 대응하는 패킷 단위로 분할한 후 분할된 TCP 패킷마다 순차적으로 넘버링을 수행하고, TCP 연결 방식을 이용해 넘버링된 TCP 패킷의 송신을 처리할 수 있다.
또한, 제1 패킷처리부(110)는, 제어부(120)의 제어에 따라 넘버링된 패킷 중 중요한 데이터 정보를 포함하는 제1 패킷을 TCP 연결 방식을 이용해 수신장치로 송신할 수 있다. 이때, 수신장치의 피드백 정보가 수신되면 잔여 패킷들을 수신장치로 송신할 수 있다. 피드백 정보는 수신성공 ACK 또는 UDP 전환 요청 정보를 포함할 수 있으며, 피드백 정보가 수신성공 ACK일 경우 제1 패킷처리부(110)는, 잔여 패킷들을 TCP 연결 방식을 통해 수신장치로 송신할 수 있다.
또한, 제1 패킷처리부(110)는, 수신장치로부터 송신된 패킷의 소실에 따른 데이터 재전송 요청 시마다 데이터 전송속도를 다운시킨 후 패킷 재전송을 수행할 수 있다.
또한, 제1 패킷처리부(110)는, 수신장치로부터 UDP 전환 요청이 수신되면, 제어부(120)의 제어에 따라 TCP 패킷을 UDP 패킷으로의 변환을 수행 변환한 후 R-UDP 연결 방식을 이용해 수신장치로 UDP 패킷들을 일괄적으로 송신할 수 있다. 즉, 제1 패킷처리부(110)는, TCP 패킷의 크기를 변경하여 데이터를 분할한 후 분할된 패킷에 순차적으로 증가하는 시퀀스 번호를 추가하여 UDP 패킷을 재구성할 수 있다. 예를 들어, 제1 패킷처리부(110)는, TCP 패킷의 경우 하나의 패킷을 4096byet 크기로 구성하고, UDP 패킷의 경우 하나의 패킷을 1024byte 크기로 구성할 수 있다.
또한, 제1 패킷처리부(110)는, R-UDP 연결 방식을 이용해 재구성된 UDP 패킷들을 수신장치로 송신을 처리할 수 있다. 예를 들어, 제1 패킷처리부(110)는, 제1 패킷 송신 후, 수신성공 ACK를 포함하는 피드백 정보가 수신되면 32개의 UDP 패킷 단위로 일괄 송신을 수행할 수 있다.
이러한 제1 패킷처리부(110)는, TCP 연결 방식을 이용해 기본적인 데이터 전송을 처리하되, 수신장치로부터 UDP 전환 요청이 수신되는 경우, R-UDP 연결 방식으로 자동 전환하여 데이터 전송을 처리할 수 있다.
그리고, 제1 제어부(120)는, TCP 연결 및 해제를 관리하고, TCP 연결 방식을 기반으로 접속제어, 응답제어 및 데이터 전송을 수행하도록 제어하는데, 이를 통해 접속제어, 응답제어 및 데이터 전송 동작과 같은 중요한 데이터는 신뢰성을 보장할 수 있다.
이러한 제1 제어부(120)는, 제1 패킷처리부(110)의 데이터 전송 제어와 R-UDP 연결 방식의 자동 전환을 제어할 수 있다.
먼저, 제1 제어부(120)는, 수신장치로부터 데이터 전송 요청이 수신되면, TCP 연결 방식을 이용해 데이터 전송을 수행하도록 제1 패킷처리부(110)를 제어할 수 있다. 이때, 제1 패킷처리부(110)는, 전송할 데이터를 패킷 단위로 분할한 후 패킷 넘버링을 수행하고 TCP 연결 방식을 이용해 수신장치로 TCP 패킷의 송신을 처리할 수 있다.
또한, 제1 제어부(120)는, 수신장치로부터 소실된 패킷에 대한 데이터 재전송 요청이 수신되면, 소실된 패킷을 TCP 연결 방식을 이용해 데이터 전송속도를 다운시켜 재전송하도록 제1 패킷처리부(110)를 제어할 수 있다.
또한, 제1 제어부(120)는, 수신장치로부터 TCP 연결 방식을 이용해 UDP 전환 요청이 수신되면, R-UDP 연결 방식을 이용해 UDP 패킷들을 수신장치에 일괄 송신하도록 제1 패킷제어부(110)를 제어할 수 있다. 이때, 제1 패킷처리부(110)는, TCP 패킷을 UDP 패킷으로의 변환을 수행한 후 R-UDP 연결 방식을 이용해 수신장치로 변환된 UDP 패킷의 송신을 처리할 수 있다.
여기서, R-UDP 연결 방식은, R-UDP(Reliable UDP) 연결 방식으로, 송신장치에서 UDP 패킷에 순차적으로 증가하는 시퀀스 번호를 추가한 후 UDP 패킷의 시퀀스 번호를 순차적으로 증가시키면서 패킷 단위로 일괄 전송하고, 수신장치에서 수신된 UDP 패킷의 시퀀스 번호에 따라 순서대로 배열함으로써 UDP 패킷의 소실 확인 및 재전송 요청을 수행할 수 있는 데이터 무결성을 보장할 수 있는 방식이다.
다시 말해, 제1 제어부(120)는, TCP 연결 방식을 기반으로 기본적인 제어 및 데이터 전송 프로세스를 수행하도록 제어하지만, 데이터 오류 등에 의한 데이터 재전송이 반복되므로 인해 데이터 전송속도가 미리 설정된 임계값보다 느려질 경우 수신장치로부터 R-UDP 연결 방식의 전환 요청이 수신되고, 이 경우, R-UDP 연결 방식을 이용해 데이터 전송을 수행하도록 제어할 수 있다.
또한, 제1 제어부(120)는, 수신장치로부터 R-UDP 연결 방식을 통해 송신된 패킷 중 소실된 UDP 패킷의 재전송 요청이 수신되면, 소실된 패킷을 R-UDP 연결 방식을 이용해 재전송하도록 제1 패킷처리부(110)를 제어할 수 있다. 여기서, 소실된 패킷의 재전송 요청은 TCP 연결 방식을 이용해 수신된다.
다음으로, 데이터 수신 모듈(200)은, 제2 패킷처리부(210) 및 제2 제어부(220)를 적어도 포함하여 구성될 수 있다.
먼저, 제2 패킷처리부(210)는, 송신장치로부터 TCP 연결 방식을 이용해 송신되는 제1 패킷이 수신되면, 수신된 제1 패킷을 분석하여 데이터 정보를 판별한다. 제1 패킷은 이후 전송할 데이터 크기, 데이터 전송속도 등의 데이터 정보를 포함하는 패킷으로 반드시 전송되어야 하므로 TCP 연결 방식으로 전송된다.
그리고 제2 패킷처리부(210)는 제1 패킷이 수신된 이후, 기설정된 기준시간(예를 들면 1초)동안 수신되는 TCP 패킷의 데이터의 전송속도가 미리 설정된 임계값 이상인지 여부를 분석할 수 있다. 예를 들어, 제2 패킷처리부(210)는, 제1 패킷 이후 1초간 수신 데이터가 500KB 이상 수신되었는지를 분석하여 데이터 전송속도의 저하 정도를 분석할 수 있다. 상기한 바와 같이, TCP 전송 방식은 패킷 전송에 실패하여 재전송 요청하게 되면, 송신된 패킷의 소실에 따른 데이터 재전송 요청 시마다 이전보다 데이터 전송속도를 다운시킨 후 패킷 재전송을 수행한다. 따라서 TCP 전송 중 패킷 소실이 계속하여 발생하면, 데이터 전송속도가 크게 낮아진다.
이에 제2 패킷처리부(210)는, 수신된 제1 패킷 이후 기준시간 동안 수신된 데이터의 데이터 전송속도가 미리 설정된 임계값 이상이면 잔여 데이터를 계속해서 수신하도록 처리하고, 수신된 제1 패킷 이후, 기설정된 기준시간 동안 전송되는 TCP 패킷의 데이터의 데이터 전송속도가 미리 설정된 임계값보다 느리면 UDP 전환을 송신장치에 요청하도록 처리할 수 있다. 즉, 제2 패킷처리부(210)는, 데이터 전송속도의 분석 결과에 따라 수신성공 ACK 또는 UDP 전환 요청을 포함하는 피드백 정보를 송신장치로 TCP 연결 방식을 이용해 송신할 수 있다.
여기서 제2 패킷처리부(210)가 제1 패킷을 제외한 기설정된 기준시간 동안 수신되는 TCP 패킷의 데이터의 전송속도를 분석하는 것은, 데이터 정보를 포함하는 제1 패킷은 반드시 전송되어야 하는 정보로서 TCP 연결 방식으로 전송되어야 할뿐만 아니라, 패킷의 크기가 크지 않기 때문에 전송속도를 측정하기에 적합하지 않기 때문이다. 즉 데이터 정보를 포함하는 제1 패킷의 패킷 길이와 이후 전송되는 실제 데이터의 TCP 패킷 길이가 서로 상이하여, 제1 패킷으로 실제 데이터에 대한 데이터 전송속도를 정확하게 측정하기 어렵다. 따라서 본 발명에서는 제2 패킷처리부(210)가 제1 패킷이 수신된 이후, 실제 데이터가 전송되는 구간에서, 기준시간 동안 수신되는 데이터의 전송 속도를 측정하여 UDP 전환 요청 여부를 결정한다.
또한, 제2 패킷처리부(210)는, UDP 전환 요청 후, 송신장치로부터 R-UDP 연결 방식을 이용해 수신되는 UDP 패킷을 일괄 수신하고, 수신된 UDP 패킷들 중 소실된 UDP 패킷의 존재 여부를 분석할 수 있다. 예를 들어, 제2 패킷처리부(210)는, 수신된 UDP 패킷들에 추가된 시퀀스 번호를 이용해 UDP 패킷들을 순차 정렬하고 소실된 UDP 패킷의 시퀀스 번호를 식별할 수 있다.
또한, 제2 패킷처리부(210)는, 소실된 패킷의 시퀀스 번호를 제2 제어부(220)로 전달하여 소실된 패킷의 재전송을 송신장치로 요청할 수 있도록 처리할 수 있다.
그리고, 제2 제어부(220)는, 송신장치(20)로 데이터 전송 요청을 TCP 연결 방식을 이용해 송신하고, 이에 대한 제1 패킷(중요 데이터 정보 포함)이 수신되면, 수신된 제1 패킷의 분석을 수행하도록 제2 패킷처리부(210)를 제어할 수 있다. 그러면, 제2 패킷처리부(210)는, 수신된 제1 패킷을 분석하여 데이터 정보를 확인하여 TCP 연결 방식으로 데이터를 수신할 수 있으며, 제1 패킷이 수신된 이후 기준시간 동안 수신되는 TCP 패킷의 데이터 전송속도가 미리 설정된 임계값 이상인지 여부를 분석할 수 있다.
또한, 제2 제어부(220)는, 기준시간 동안 수신된 TCP 패킷 분석 결과, 데이터 전송속도가 임계값 이상이면 잔여 데이터에 대한 송신을 송신장치로 요청하는 수신성공 응답메시지(ACK)를 포함하는 피드백 정보를 송신할 수 있다.
또한, 제2 제어부(220)는, 기준시간 동안 수신된 데이터 분석 결과, 데이터 전송속도가 임계값보다 느리면 UDP 전환 요청을 포함하는 피드백 정보를 송신장치로 송신할 수 있다.
또한, 제2 제어부(220)는, UDP 전환 요청에 따라 송신장치로부터 R-UDP 연결 방식을 이용해 UDP 패킷들이 일괄 수신되면, 소실된 UDP 패킷이 있는지 패킷 분석을 수행하도록 제2 패킷처리부(210)를 제어할 수 있다. 이때, 제2 패킷처리부(210)는, R-UDP 연결 방식을 이용해 수신된 UDP 패킷의 시퀀스 번호를 순차 정렬하여 소실된 UDP 패킷의 시퀀스 번호를 식별할 수 있다. 여기서 UDP는 상기한 바와 같이 시퀀스 번호가 포함되어 패킷 소실 여부를 확인할 수 있는 R-UDP를 의미한다.
또한, 제2 제어부(220)는, 제2 패킷처리부(210)에 의해 식별된 소실 UDP 패킷의 시퀀스 번호를 포함하는 피드백 정보를 TCP 연결 방식을 이용해 송신장치(20)로 송신하여 소실 UDP 패킷의 재전송을 요청할 수 있다.
또한, 제2 제어부(220)는, R-UDP 연결 방식을 이용해 송신되는 소실 UDP 패킷을 수신하고, 이에 대한 수신완료 응답메시지를 포함하는 피드백 정보를 TCP 연결 방식을 이용해 송신장치(20)로 송신할 수 있다.
상술한 바와 같이, 본 발명에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기는, TCP 연결 방식을 기반으로 데이터 전송을 수행하되, 데이터 전송속도가 설정된 임계값 이하로 다운되어 전송 지연을 발생시킬 경우, R-UDP 연결 방식으로 자동 전환하여 데이터 전송을 수행하도록 제어함으로써 신뢰성을 보장하는 동시에 데이터 전송속도를 개선할 수 있다.
도 2는, 본 발명의 일 실시 형태에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기를 이용한 패킷 송수신 과정을 개략적으로 나타낸다. 여기서, 송신장치(20) 및 수신장치(30)는, 도 1에 도시된 전자기기(10)를 각각 구비할 수 있으며, 송신장치(20)의 전자기기(10)는 데이터 송신 모듈을 통해 패킷 송신을 수행하고, 수신장치(30)의 전자기기(10)는 데이터 수신 모듈을 통해 패킷 수신을 수행할 수 있다.
도 2를 참조하면, 먼저, 수신장치(30)가 송신장치(20)로 TCP 연결 방식을 이용해 데이터 전송 요청 메시지를 송신하고, 데이터 수신을 대기할 수 있다(①).
그러면, 송신장치(20)는, 전송할 데이터를 TCP 연결 방식에 대응하는 패킷 단위로 분할한 후 패킷 넘버링을 수행하고, 넘버링된 패킷 중 제1 패킷과 함께 제2 내지 제m(여기서 m은 자연수) TCP 패킷을 수신장치(30)로 TCP 연결 방식을 이용해 송신할 수 있다(②). 여기서, 제1 패킷은 전송할 데이터 정보를 포함할 수 있다.
수신장치(30)는, 제1 패킷 이후 제2 내지 제m TCP 패킷 중 기준시간 동안 수신된 TCP 패킷의 데이터 전송속도가 미리 설정된 임계값 이상인지 여부를 분석하고(③), 기준시간 동안 수신된 TCP 패킷의 데이터 전송속도가 임계값 이상이면 TCP 연결 방식을 이용해 잔여 데이터의 송신을 요청하고, 기준시간 동안 수신된 TCP 패킷의 데이터 전송속도가 임계값보다 느리면 UDP 전환을 요청하는 응답메시지를 포함하는 피드백 정보를 TCP 연결 방식을 이용해 송신장치(20)로 송신할 수 있다(④).
설명의 편의를 위해 도시하지 않았으나, TCP 연결 방식으로 TCP 패킷을 수신하는 수신장치(30)는 상기한 TCP 전송 방식에 따라, 제2 내지 제m TCP 패킷이 수신될 때마다, 수신완료 응답메시지 또는 재전송 요청 응답 메시지를 송신장치(20)로 전송할 수 있다.
그러면, 송신장치(20)는, TCP 연결 방식을 R-UDP 연결 방식으로 전환하고, 전환된 R-UDP 연결 방식을 이용해 제2 내지 제n(여기서 n은 자연수) UDP 패킷들을 수신장치(30)로 일괄 송신할 수 있다(⑤). 여기서 R-UDP 연결 방식의 UDP 패킷과 TCP 연결 방식의 TCP 패킷의 개수가 다르게 설정되는 것은 상기한 바와 같이, UCP와 TCP 각각의 연결 방식에서 패킷에 포함된 데이터 크기가 서로 상이하기 때문이다.
수신장치(30)는, 송신된 TCP 또는 UDP 패킷들에 대한 수신완료 응답메시지를 포함하는 피드백 정보를 TCP 연결 방식을 이용해 송신장치(20)로 송신할 수 있다(⑥).
상술한 바와 같이, 본 발명에서는, UDP 전환 이후에도 명령 및 응답메시지, 전송할 데이터 정보를 포함하는 제1 패킷 등은 TCP 연결 방식을 통해 장치간 통신이 이루어질 수 있으며, 이를 통해 패킷 송수신에 있어서 필요한 정보들을 소실 없이 송수신할 수 있다. 예를 들어, 데이터 전송 요청 명령(수신장치 -> 송신장치), 제1 패킷(송신장치 -> 수신장치), 수신장치의 모든 응답메시지를 포함하는 피드백 정보 등은 TCP 연결 방식을 이용해 반드시 송신되어야 한다.
이처럼 본 발명은, TCP 연결 방식을 기반으로 데이터 전송을 수행하되, 데이터의 전송상태가 나쁠 경우 R-UDP 연결 방식으로 자동 전환을 수행하여 데이터 전송을 수행함으로써 신뢰성과 전송속도를 동시에 보장할 수 있게 된다.
상기에서는 제1 패킷 후 기준시간 동안 수신되는 데이터의 데이터 전송 속도만을 고려하여 TCP 또는 UDP 를 결정하는 것으로 설명하였으나, 수신장치(30)는 기설정된 시간 간격(예를 들면 1분)으로 주기적으로 데이터 전송 속도를 체크할 수 있다. 또는 기설정된 개수의 패킷이 전송된 이후 또는 기설정된 데이터량이 전송된 이후에 데이터 전송 속도를 체크하도록 설정될 수도 있다.
도 3은, 도 2에 도시된 송신장치와 수신장치 간 데이터 흐름을 개략적으로 나타낸다. 본 발명에 있어서, 송신장치(20)와 수신장치(30) 간 통신을 위해 송신장치의 TCP와 수신장치의 TCP가 연결 설정된 것을 전제로 한다. 그리고, 송신장치(20)는 데이터 송신 모듈(100)을 통해 패킷 송신을 수행하고, 수신장치(30)는 데이터 수신 모듈(200)을 통해 패킷 수신을 수행할 수 있다.
도 3을 참조하면, 수신장치(30)의 데이터 수신 모듈(200)은 연결된 TCP 연결 방식(31)을 이용해 송신장치(20)로 데이터 전송 요청을 전송할 수 있다(S301).
그러면, 수신장치(30)로부터 데이터 전송 요청을 수신한 송신장치(20)의 데이터 송신 모듈(100)은, 전송할 데이터를 TCP 연결 방식에 따라 소정 크기의 패킷 단위로 분할하고 분할된 TCP 패킷에 순차적으로 넘버링을 수행한 후 제1 패킷을 연결된 TCP 연결 방식(21)을 이용해 수신장치(30)로 송신할 수 있다(S302). 여기서, 제1 패킷은 데이터 크기, 전송속도 등의 전송할 데이터 정보를 포함할 수 있다.
제1 패킷을 수신한 수신장치(30)의 데이터 수신 모듈(200)은, 제1 패킷을 분석하여, 데이터 전송 정보를 확인하고, 수신 성공 응답메시지를 포함하는 피드백 정보를 연결된 TCP 연결 방식(31)을 이용해 송신장치(20)로 송신한다(S303).
이에 송신장치(20)의 데이터 송신 모듈(100)은, 제2 TCP 패킷을 TCP 연결 방식(21)을 이용해 수신장치(30)로 송신할 수 있다(S304).
수신장치(30)의 데이터 수신 모듈(200)은, 제2 TCP 패킷이 정상적으로 수신되지 않으면, 재전송 요청 메시지를 포함하는 피드백 정보를 TCP 연결 방식(31)을 이용해 송신장치(20)로 송신한다(S305).
송신장치(20)의 데이터 송신 모듈(100)은, 제2 TCP 패킷이 정상적으로 전송되지 않음에 따라 데이터 전송 속도를 다운시킨 후, 제2 TCP 패킷을 TCP 연결 방식(21)을 이용해 수신장치(30)로 재송신할 수 있다(S306).
반면 수신장치(30)의 데이터 수신 모듈(200)은, 제2 TCP 패킷이 정상적으로 수신되면, 수신 성공 응답메시지를 포함하는 피드백 정보를 연결된 TCP 연결 방식(31)을 이용해 송신장치(20)로 송신하고, 송신장치(20)의 데이터 송신 모듈(100)은, 제3 TCP 패킷을 TCP 연결 방식(21)을 이용해 수신장치(30)로 송신할 수 있다.
즉 TCP 연결 방식에서는 수신장치(30)이 각 TCP 패킷을 전송할 때마다 TCP 패킷이 정상적으로 전송되는지 실패하는지 판별하여 피드백 정보를 송신장치(20)로 전송하여, 전송 실패시마다 반복적으로 전송 속도를 다운 시킨다.
본 발명에서는 일예로 제2 TCP 패킷이 기준시간 동안 정상적으로 인가되지 않는 것으로 가정하여 설명한다.
이에 수신장치(30)는 제1 패킷 이후 기준시간 동안 수신된 TCP 패킷의 데이터 전송속도가 미리 설정된 임계값 이상인지 여부를 분석하고(S307), 분석 결과, 제1 패킷 이후 기준시간 동안 수신한 TCP 패킷 데이터 전송속도가 임계값 이상이면, 수신 성공 응답메시지를 포함하는 피드백 정보를 연결된 TCP 연결 방식(31)을 이용해 송신장치(20)로 송신할 수 있다(S313).
그러나 수신장치(30)의 데이터 수신 모듈(200)은, 제1 패킷 이후 기준시간 동안 수신된 TCP 패킷의 데이터 전송속도가 임계값보다 느리면 UDP 전환 요청을 연결된 TCP 연결 방식(31)으로 송신장치(20)로 송신할 수 있다(S308).
UDP 전환 요청을 수신한 송신장치(20)의 데이터 송신 모듈(100)은, 잔여 TCP 패킷들(예를 들면 제2 ~ 제m(예를 들면 8) 패킷)을 연결된 R-UDP 연결 방식(23)를 이용해 수신장치(30)로 일괄 송신할 수 있다(S309). 이때, 송신장치(20)의 데이터 송신 모듈(100)은, 패킷의 크기를 변경하는 패킷 재구성을 수행할 수 있다. 예를 들어, 송신장치(20)의 데이터 송신 모듈(100)은, 기존 TCP 패킷의 크기(4096byte)를 1024byte 크기의 UDP 패킷으로 변경하여 데이터를 분할하고, 분할된 패킷마다 시퀀스 번호를 순차적으로 증가시켜 추가함으로써 패킷 재구성을 수행하며, 기설전된 개수(예를 들면 32개)의 패킷 단위로 일괄 송신할 수 있다.
UDP 패킷들을 일괄 수신한 수신장치(30)의 데이터 수신 모듈(200)은, 일괄 수신된 UDP 패킷들에 추가된 시퀀스 번호를 이용해 UDP 패킷들을 정렬하고, 이를 통해 소실 UDP 패킷을 식별할 수 있으며, 식별된 소실 UDP 패킷의 시퀀스 번호를 이용해 소실 UDP 패킷의 재전송을 요청하는 응답 메시지를 포함하는 피드백 정보를 연결된 TCP 연결 방식(31)를 이용해 송신장치(20)로 송신할 수 있다(S310). 예를 들어, 수신장치(30)의 데이터 수신 모듈(200)은 수신된 제2 ~ 제32 UDP 패킷을 시퀀스 번호대로 정렬하여 UDP 패킷 5, 17이 소실된 것을 식별할 수 있고, 식별된 UDP 패킷 5, 17의 재전송을 송신장치(20)로 요청할 수 있다.
소실 UDP 패킷의 재전송 요청을 수신한 송신장치(20)의 데이터 송신 모듈(100)은, 소실 UDP 패킷을 연결된 R-UDP 연결 방식(23)을 이용해 수신장치(30)로 재전송하고(S311), 수신장치(30)는 수신된 소실 UDP 패킷에 대한 수신성공 응답메시지를 포함하는 피드백 정보를 연결된 TCP 연결 방식(31)를 이용해 송신장치(20)로 송신할 수 있다(S312).
이하, 본 발명에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기를 포함하는 송신장치 및 수신장치 간 패킷 송수신 동작에 대해 도 4 내지 도 6을 참조하여 상세하게 설명하도록 한다.
도 4는, 본 발명의 일 실시 형태에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기의 패킷 송수신 방법을 설명하기 위한 흐름도를 나타낸다.
도 4를 참조하면, 수신장치(30)가 송신장치(20)로 데이터 전송 요청을 송신할 수 있다(S401). 이때, 수신장치(30)와 송신장치(20)는 TCP 연결 방식을 이용한 통신을 수행한다.
그러면, 송신장치가 전송할 데이터의 제1 내지 제m 패킷을 수신장치(30)로 송신할 수 있다(S402). 이때, 송신장치(20)와 수신장치(30)는 TCP 연결 방식을 이용한 통신을 수행한다. 그리고, 송신장치(20)는, 전송할 데이터를 소정 크기의 패킷 단위로 분할한 후 순차적으로 넘버링을 수행하고, 제2 내지 제m 패킷을 수신장치(20)로 송신할 수 있다. 예를 들어, 송신장치(20)는, TCP 연결 방식을 이용해 송신할 하나의 패킷을 4096byte의 크기로 데이터를 분할할 수 있다. 다만 제1 패킷은 데이터 정보가 포함되는 패킷이므로, 일반적으로 제2 내지 제m 패킷보다 적은 크기의 데이터를 갖도록 구성된다.
이어서, 수신장치(30)가 송신장치(20)로부터 제1 패킷 후 수신한 TCP 패킷의 데이터 전송속도가 미리 설정한 임계값 이상인지 여부를 분석할 수 있다(S403). 예를 들어, 수신장치(30)는 제1 패킷 이후 수신되는 데이터 대한 전송상태를 1초 동안 TCP 연결 방식을 통해 수신되는 데이터가 500KB 이상인지 여부를 분석하는 것에 의해 수행할 수 있다. 여기서 수신장치(30)는 TCP 연결 방식으로 제2 내지 제m 패킷이 수신될 때마다, 수신완료 응답메시지 또는 재전송 요청 응답 메시지를 송신장치(20)로 전송할 수 있다.
S403 단계에서 데이터 전송 속도가 미리 설정한 임계값보다 느리면(S403, NO), 수신장치(30)가 UDP 전환 요청을 송신장치(20)로 송신할 수 있다(S404). 여기서, 수신장치(30)와 송신장치(20)는 TCP 연결 방식을 이용한 통신을 수행한다.
그러면, 송신장치(20)가 R-UDP 연결 방식을 이용해 수신장치(30)로 잔여 패킷을 송신하는 패킷 송신 처리를 수행할 수 있다(S405). 이때, 송신장치와 수신장치 간 데이터 전송은 R-UDP 연결 방식을 통해 이루어지나, 수신장치의 피드백 정보(수신성공응답메시지) 전송은 TCP 연결 방식을 통해 송신장치로 전송되도록 구현된다.
한편, S403 단계에서 데이터 전송 속도가 미리 설정한 임계값 이상이면(S403, YES), 수신장치가 TCP 연결 방식을 이용해 송신장치로 잔여 데이터의 전송을 요청하고, 송신장치가 수신장치로 잔여 패킷들을 송신하는 패킷 송신 처리를 수행할 수 있다(S406).
상술한 바와 같이, 본 발명에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기의 패킷 송수신 방법은, TCP 연결 방식을 기반으로 기본적인 데이터 전송을 수행하되, 송신된 패킷의 데이터 전송속도가 미리 설정된 임계값 이하로 느려지면 R-UDP 연결 방식으로 자동 전환하여 데이터 전송을 수행하도록 제어할 수 있다. 이로써 데이터 전송속도의 느림 현상을 최소화하여 데이터 전송속도를 개선할 수 있다.
또한, 본 발명에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기의 패킷 송수신 방법은, 제어(명령, 요청) 및 피드백 정보(응답메시지(ACK)), 전송할 데이터정보 등의 송수신은 R-UDP 연결 방식으로 전환되더라도 TCP 연결 방식을 이용해 이루어지므로 신뢰성을 보장할 수 있다.
따라서, 본 발명에 따르면 신뢰성과 데이터 전송속도를 동시에 보장할 수 있다.
도 5는, 본 발명의 일 실시 형태에 따른 TCP/ UDP를 적응적으로 선택하는 전자기기의 패킷 송신 방법을 설명하기 위한 흐름도를 나타낸다.
도 5를 참조하면, 송신장치의 전자기기가 수신장치의 전자기기로부터 데이터 전송 요청을 수신하면(S501), TCP 연결 방식을 이용해 제1 내지 제m TCP 패킷을 수신장치의 전자기기로 송신할 수 있다(S502).
그런 다음, 송신장치의 전자기기는, 수신장치의 전자기기로부터 제1 내지 제m 패킷 송신에 대한 피드백 정보의 수신을 대기할 수 있다(S503). 여기서, 피드백 정보는 제1 내지 제m 패킷 각각의 수신성공 ACK, 재전송 요청이 포함될 수 있으며, 기준시간에 도달한 경우 UDP 전환 요청이 포함할 수 있다.
이어서, 수신장치의 전자기기로부터 피드백 정보가 수신되면(S503, YES), 송신장치의 전자기기는, 수신된 피드백 정보가 제1 내지 제m TCP 패킷에 대한 수신 성공 응답메시지(ACK)인지 확인하고(S504), 확인결과, 수신된 피드백 정보가 수신성공 응답메시지이면(S504, YES), 잔여 TCP 패킷들을 수신장치의 전자기기로 송신할 수 있다(S505).
그런 다음, 송신장치의 전자기기는, 수신장치의 전자기기로부터 수신완료 응답메시지(ACK)의 수신을 대기하고(S506), 수신완료 응답메시지의 수신이 확인되면(S507, YES), 데이터 송신을 완료 처리하여 종료할 수 있다(S508).
한편, S504 단계에서 수신된 피드백 정보가 수신성공 응답메시지가 아니면(S504, NO), 송신장치의 전자기기는 수신된 피드백 정보가 패킷 재전송 요청인지 확인하고(S509), 확인 결과, 수신된 피드백 정보가 패킷 재전송 요청이면(S509, YES) 데이터 전송속도를 다운시킨 후 대응하는 TCP 패킷 재송신을 수행할 수 있다(S510).
이어서, 송신장치의 전자기기는 S506 내지 S508 단계를 진행할 수 있다.
한편, S509 단계에서 수신된 피드백 정보가 패킷 재전송 요청이 아니며(S509, NO), 수신된 피드백 정보가 UDP 전환 요청인 경우(S511), 송신장치의 전자기기는, 패킷을 재구성하여 TCP 패킷을 UDP 패킷으로 변환을 수행할 수 있다(S512). 예를 들어, 송신장치의 전자기기는, 4096byte 크기의 TCP 패킷을 1024byte 크기로 변경하여 데이터를 분할하고, 분할된 UDP 패킷에 시퀀스 번호를 순차적으로 증가하도록 추가할 수 있다.
그런 다음, 송신장치의 전자기기는, R-UDP 연결 방식을 이용해 패킷 단위로 수신장치의 전자기기로 일괄 송신할 수 있다(S513). 예를 들어, 송신장치의 전자기기는, 32개 단위로 패킷들을 일괄적으로 수신장치의 전자기기로 전송할 수 있다.
이어서, 송신장치의 전자기기는, 수신장치의 전자기기로부터 수신완료 응답메시지의 수신을 대기하고(S506), 수신장치의 전자기기로부터 수신완료 응답메시지가 수신되면(S507, YES) 패킷 송신을 종료하고(S508), 수신장치의 전자기기로부터 소실 패킷의 재전송 요청이 수신되면(S514), 소실 패킷을 R-UDP 연결 방식을 이용해 수신장치의 전자기기로 재송신을 처리할 수 있다(S515).
그런 다음, 송신장치의 측 전자기기는 S507 내지 S508 단계를 처리할 수 있다.
도 6은, 본 발명의 일 실시 형태에 따른 TCP/R-UDP를 적응적으로 선택하는 전자기기의 패킷 수신 방법을 설명하기 위한 흐름도를 나타낸다.
도 6을 참조하면, 본 발명의 수신장치의 전자기기는, 송신장치의 전자기기로 데이터 전송 요청을 송신할 수 있다(S601). 이때, 수신장치의 전자기기는 TCP 연결 방식을 이용해 송신장치의 전자기기로 데이터 전송 요청 명령을 송신한다.
그런 다음, 수신장치의 전자기기는, 송신장치의 전자기기로부터 제1 내지패킷제m TCP 패킷을 수신할 수 있다(S602). 이때, 수신장치의 전자기기는 TCP 연결 방식을 통해 제1 ~ 제m TCP 패킷을 수신한다.
이어서, 수신장치의 전자기기는, 제1 패킷 이후 기준시간 동안 수신된 TCP 패킷의 데이터 전송속도를 분석하고(S603), 분석된 데이터 전송속도가 미리 설정된 임계값 이상인지 여부를 확인하며(S604), 분석된 데이터 전송속도가 미리 설정된 임계값 이상이면(S604, YES) 제1 패킷의 수신성공 응답메시지를 TCP 연결 방식을 이용해 송신장치의 전자기기로 송신하고 잔여 데이터를 수신할 수 있다(S605). 여기서, 데이터 전송속도의 임계값은 데이터 전송 지연이 발생하지 않는 값으로 설정될 수 있으며, 예를 들어, 1초 동안 수신되는 데이터가 500KB 이상으로 설정될 수 있다.
그런 다음, 수신장치의 전자기기는, 데이터의 수신완료 응답메시지를 TCP 연결 방식을 이용해 송신장치의 전자기기로 송신할 수 있다(S606).
한편, S604 단계에서 기준시간 동안 수신된 TCP 패킷의 데이터 전송속도가 임계값보다 느리면, 수신장치의 전자기기는 TCP 연결 방식을 이용해 UDP 전환 요청을 송신장치의 전자기기로 송신할 수 있다(S607).
이어서, 수신장치의 전자기기는, 전송되지 않은 잔여 TCP 패킷을 송신장치의 전자기기로부터 일괄 수신할 수 있다(S608). 여기서, 송신장치의 전자기기는 잔여 TCP 패킷을 UDP 패킷으로 변환하고, R-UDP 연결 방식을 이용해 수신장치의 전자기기로 일괄 송신할 수 있다.
그런 다음, 수신장치의 전자기기는, 수신된 UDP 패킷들의 시퀀스 번호를 이용해 소실 UDP 패킷이 있는지 확인할 수 있다(S609).
확인 결과, 소실 UDP 패킷이 존재하면(S610, YES), 수신장치의 전자기기는 TCP 연결 방식을 이용해 소실 UDP 패킷의 재전송을 송신장치의 전자기기로 요청할 수 있다(S611). 여기서, 수신장치의 전자기기는 수신된 UDP 패킷들의 시퀀스 번호에 따라 패킷을 순차적으로 정렬함으로써 소실된 UDP 패킷의 시퀀스 번호를 식별할 수 있으며, 소실된 UDP 패킷의 시퀀스 번호를 포함하는 피드백 정보를 송신장치의 전자기기로 송신함으로써 소실 UDP 패킷의 재송신을 요청할 수 있다.
이어서, 수신장치의 전자기기는 R-UDP 연결 방식을 통해 송신장치의 전자기기로부터 송신된 소실 UDP 패킷을 수신할 수 있다(S612).
그럼 다음, 수신장치의 전자기기는, 수신완료 응답메시지를 TCP 연결 방식을 이용해 송신장치의 전자기기로 송신할 수 있다(S606).
한편, S610 단계의 확인 결과, 소실 UDP 패킷이 존재하지 않으면(S610, NO), 수신완료 응답메시지를 TCP 연결 방식을 이용해 송신장치의 전자기기로 송신할 수 있다(S606).
본 발명에 따른 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (13)

  1. Transmission Control Protocol(TCP) 연결 방식을 기반으로 데이터를 패킷 단위로 수신장치에 송신하되, 상기 수신장치로부터 User Datagram Protocol(UDP) 전환 요청이 수신되면 상기 TCP 연결 방식을 R-UDP 연결 방식으로 전환하여 데이터를 패킷 단위로 상기 수신장치에 송신하는 데이터 송신 모듈; 및
    상기 데이터 송신 모듈로부터 상기 TCP 연결 방식으로 송신되는 TCP 패킷의 데이터 전송속도와 설정된 임계값을 비교하고, 비교 결과, 송신되는 상기 TCP 패킷의 데이터 전송속도가 설정된 임계값보다 느리면 상기 TCP 연결 방식을 R-UDP 연결 방식으로의 전환을 요청하는 데이터 수신 모듈; 을 포함하고,
    상기 데이터 송신 모듈은,
    상기 TCP 연결 방식에 따른 상기 데이터를 송신하는 경우, 상기 데이터를 상기 TCP 연결 방식에 대응하는 패킷 단위로 분할한 후 분할된 TCP 패킷마다 순차적으로 넘버링을 수행하여, 상기 TCP 연결 방식을 이용해 상기 넘버링된 TCP 패킷의 송신을 처리하고, 전송할 상기 데이터의 크기 및 전송속도 등의 데이터 정보를 포함하는 제1 패킷을 송신하여, 상기 송신된 제1 패킷에 따른 상기 수신장치로부터 상기 UDP 전환 요청이 수신되면, 상기 TCP 패킷의 크기를 변경하여 기 설정된 패킷 크기를 가지는 R-UDP 연결 방식에 대응하는 복수개의 UDP 패킷으로 분할하고, 상기 분할된 복수개의 UDP 패킷에 시퀀스 번호를 순차적으로 증가시켜 추가하여 상기 UDP 패킷을 재구성하고, 재구성된 상기 UDP 패킷을 일괄하여 송신하는 제1 패킷 처리부; 및
    상기 수신장치로부터 상기 UDP 전환 요청이 수신되면, 상기 R-UDP 연결 방식을 이용해 상기 복수개의 UDP 패킷을 패킷 단위로 상기 UDP 패킷의 시퀀스 번호를 순차적으로 증가시키면서, 상기 수신장치에 일괄 송신하도록 제어하고, 상기 TCP 연결 방식을 이용해 상기 수신장치로부터 소실 UDP 패킷의 시퀀스 번호를 포함하는 피드백 정보가 수신되면, 해당 시퀀스 번호의 UDP 패킷을 R-UDP 연결 방식을 이용해 상기 수신장치로 재전송을 처리하도록 제어하는 제1 제어부; 를 포함하며,
    상기 데이터 수신 모듈은,
    송신장치로부터 상기 TCP 연결 방식을 이용하여 상기 데이터의 크기 및 전송속도 등의 데이터 정보를 포함하는 제1 패킷이 수신된 이후, 적어도 하나의 상기 TCP 패킷이 수신되면, 기설정된 기준시간 동안 수신된 적어도 하나의 상기 TCP 패킷의 데이터 전송속도와 설정된 임계값을 비교하고, 상기 UDP 전환 요청에 따른 상기 R-UDP 연결 방식을 이용하여 송신되는 상기 복수개의 UDP 패킷을 일괄하여 수신하며, 수신된 상기 복수개의 UDP 패킷의 시퀀스 번호를 이용하여, 상기 복수개의 UDP 패킷을 순차 정렬함으로써 상기 소실 UDP 패킷을 식별하는 제2 패킷 처리부; 및
    상기 송신장치로 데이터 전송 요청을 TCP 연결 방식을 이용해 송신하고, 상기 비교 결과, 상기 데이터 전송속도가 설정된 임계값보다 느리면 상기 TCP 연결 방식을 R-UDP 연결 방식으로 전환하도록 하는 상기 UDP 전환 요청을 상기 송신장치로 송신하도록 제어하는 제2 제어부; 를 포함하는 것을 특징으로 하는 TCP/R-UDP를 적응적으로 선택하는 전자기기.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 제1항에 있어서, 상기 제2 제어부는,
    상기 제2 패킷 처리부에 의해 식별된 상기 소실 UDP 패킷의 시퀀스 번호를 포함하는 피드백 정보를 TCP 연결 방식을 이용해 상기 송신장치로 송신하여 소실 패킷의 재전송을 요청하는 것을 특징으로 하는 TCP/R-UDP를 적응적으로 선택하는 전자기기.
  9. 전자기기의 패킷 송신 방법에 있어서,
    수신장치로부터 Transmission Control Protocol(TCP) 연결 방식을 이용하여 데이터 전송 요청이 수신되면, 상기 TCP 연결 방식으로 제1 내지 제m TCP 패킷을 송신하는 1단계;
    상기 수신장치로부터 상기 제1 내지 제m TCP 패킷의 수신에 대해 상기 TCP 패킷의 수신성공, 재전송 요청 및 데이터 전송속도의 저하에 따른 User Datagram Protocol(UDP) 전환 요청 중 하나가 포함되어 TCP 연결 방식으로 전송되는 피드백 정보를 수신하는 2단계;
    상기 피드백 정보가 상기 TCP 패킷의 수신성공 또는 재전송 요청이면, 상기 TCP 연결 방식을 유지하여 상기 수신장치에 잔여 데이터를 패킷 단위로 송신하는 3단계; 및
    상기 피드백 정보가 UDP 전환 요청이면, 상기 수신장치에 R-UDP 연결 방식을 이용해 잔여 데이터를 패킷 단위로 일괄 송신하는 4단계; 를 포함하고,
    상기 UDP 전환 요청은,
    상기 데이터의 크기 및 전송속도 등의 데이터 정보를 포함하는 제1 TCP 패킷 이후, 기설정된 기준시간 동안 송신된 TCP 패킷의 데이터 전송속도와 설정된 임계값을 비교한 결과, 송신된 상기 TCP 패킷의 데이터 전송속도가 설정된 임계값보다 느린 경우에 이루어지며,
    상기 4단계는,
    송신할 잔여 데이터를 상기 TCP 패킷의 크기를 변경하여 기 설정된 패킷 크기를 가지는 R-UDP 연결 방식에 대응하는 복수개의 UDP 패킷으로 분할하고, 상기 분할된 복수개의 UDP 패킷에 시퀀스 번호를 순차적으로 증가하도록 추가하여 상기 UDP 패킷을 재구성함으로써 변환하는 단계;
    변환된 UDP 패킷들을 상기 수신장치로 R-UDP 연결 방식을 이용해 일괄 송신하는 단계;
    상기 수신장치로부터 송신된 상기 UDP 패킷들 중 소실된 소실 UDP 패킷의 시퀀스 번호 정보가 포함된 피드백 정보를 수신하는 단계;
    상기 피드백 정보에 포함된 상기 소실 UDP 패킷의 시퀀스 번호에 해당하는 소실 UDP 패킷을 상기 수신장치로 R-UDP 연결 방식을 이용해 송신하는 단계; 및
    상기 수신장치로부터 상기 데이터의 수신 완료를 포함하는 피드백 정보를 수신하는 단계; 를 포함하는 것을 특징으로 하는 패킷 송신 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
KR1020150169473A 2015-11-30 2015-11-30 Tcp/ udp를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법 KR101769133B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150169473A KR101769133B1 (ko) 2015-11-30 2015-11-30 Tcp/ udp를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150169473A KR101769133B1 (ko) 2015-11-30 2015-11-30 Tcp/ udp를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법

Publications (2)

Publication Number Publication Date
KR20170063280A KR20170063280A (ko) 2017-06-08
KR101769133B1 true KR101769133B1 (ko) 2017-08-17

Family

ID=59221577

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150169473A KR101769133B1 (ko) 2015-11-30 2015-11-30 Tcp/ udp를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법

Country Status (1)

Country Link
KR (1) KR101769133B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113541858A (zh) * 2020-04-17 2021-10-22 深圳先进技术研究院 基于低功耗无线传感器网络的数据传输方法、装置及介质
KR102460691B1 (ko) * 2021-11-15 2022-10-31 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
KR102439881B1 (ko) * 2022-01-27 2022-09-05 프라이빗테크놀로지 주식회사 컨트롤러 기반의 네트워크 접속을 제어하기 위한 시스템 및 그에 관한 방법
CN115085864B (zh) * 2022-04-27 2024-02-27 中国科学院空天信息创新研究院 数据传输方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005348262A (ja) * 2004-06-04 2005-12-15 Ricoh Co Ltd データ通信方式、電子会議システム、データ通信方法、データ通信プログラム及び記憶媒体
CN104717041A (zh) * 2015-04-01 2015-06-17 北京百度网讯科技有限公司 数据传输方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005348262A (ja) * 2004-06-04 2005-12-15 Ricoh Co Ltd データ通信方式、電子会議システム、データ通信方法、データ通信プログラム及び記憶媒体
CN104717041A (zh) * 2015-04-01 2015-06-17 北京百度网讯科技有限公司 数据传输方法和装置

Also Published As

Publication number Publication date
KR20170063280A (ko) 2017-06-08

Similar Documents

Publication Publication Date Title
US11343022B2 (en) Disabling hybrid automatic repeat request (HARQ) acknowledgments for packets for which acknowledgements are supported at network or higher layer
KR102051504B1 (ko) 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
EP2109954B1 (en) Ack prioritization in wireless networks
EP3353930B1 (en) Enhancement of pdcp status report
JP4822728B2 (ja) 失速の識別および回復の方法
KR101769133B1 (ko) Tcp/ udp를 적응적으로 선택하는 전자기기 및 이의 패킷 송수신 방법
CN102664718B (zh) 无线侧tcp数据重传的方法和设备
JP6094357B2 (ja) 通信方法、通信システム、及び通信装置
EP2426846A1 (en) Data retransmission method and user equipment
JP2008005021A (ja) 再送制御方法及び装置
CN107104902B (zh) 一种rdma数据传输的方法、相关装置与系统
USRE43151E1 (en) Acknowledging data transmissions in the presence of multiple shared-communications channels
CN104780028A (zh) 一种实现tcp数据报文重传的方法及设备
JPWO2011046056A1 (ja) パケット通信の伝送制御方法及びパケット通信システム
KR20140126055A (ko) 데이터 송신 방법 및 그 전자 장치
JP2009506599A (ja) データユニット送信方法
CN103973414A (zh) 一种数据传输方法及装置
CN108432287A (zh) 一种数据传输方法及网络侧设备
KR20190097963A (ko) 무선 통신 시스템에서 데이터 송수신 방법 및 장치
KR20190011898A (ko) 무선 통신 시스템에서 단말, 기지국 및 이의 통신 방법
JP7328177B2 (ja) データ伝送方法及び通信システム
CN106341348B (zh) 一种面向tcp业务的流量控制方法及接入网网元
JP2009081567A (ja) 再送制御システム、再送制御方法、送信機及び受信機
CN104426866A (zh) 一种数据传输方法及装置
JP2007116411A (ja) データ通信装置およびデータ通信方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant