KR101533056B1 - 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법 - Google Patents

안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법 Download PDF

Info

Publication number
KR101533056B1
KR101533056B1 KR1020140078007A KR20140078007A KR101533056B1 KR 101533056 B1 KR101533056 B1 KR 101533056B1 KR 1020140078007 A KR1020140078007 A KR 1020140078007A KR 20140078007 A KR20140078007 A KR 20140078007A KR 101533056 B1 KR101533056 B1 KR 101533056B1
Authority
KR
South Korea
Prior art keywords
transmission
packet
udp
data
error
Prior art date
Application number
KR1020140078007A
Other languages
English (en)
Inventor
배현직
Original Assignee
(주)넷텐션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)넷텐션 filed Critical (주)넷텐션
Priority to KR1020140078007A priority Critical patent/KR101533056B1/ko
Priority to PCT/KR2014/010507 priority patent/WO2015199290A1/ko
Priority to US15/321,939 priority patent/US10320953B2/en
Application granted granted Critical
Publication of KR101533056B1 publication Critical patent/KR101533056B1/ko

Links

Images

Classifications

    • 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/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • 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/14Arrangements for detecting or preventing errors in the information received by using return channel in which the signals are sent back to the transmitter to be checked ; echo systems
    • 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/35Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
    • 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/38Flow control; Congestion control by adapting coding or compression rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • 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/166IP fragmentation; TCP segmentation
    • 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
    • H04L1/1607Details of the supervisory signal

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

본 발명은 UDP 전송 패킷에 추가 헤더 영역을 구성하여 전송 중 발생하는 데이터 훼손에 대한 안정성을 향상시킨 UDP 네트워킹 방법에 관한 것으로, 사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)을 이용한 네트워킹 방법에 있어서, (A) 송신단말이 송신데이터를 패킷단위로 분할하여 UDP 패킷을 생성하는 단계와; (B) 송신단말이 상기 생성된 UDP 패킷을 수신단말로 전송하는 단계와; (C) 상기 수신단말이 수신된 UDP 패킷의 오류여부를 판단하는 단계와; (D) 상기 수신단말이 UDP 패킷 수신에 대한 오류정보를 저장하여 오류패턴을 검출하는 단계와; (E) 상기 수신단말이 상기 검출된 오류패턴을 상기 송신단말로 전송하는 단계; 그리고 (F) 상기 오류패턴을 수신한 상기 송신단말이 상기 오류패턴을 반영하여 패킷 전송 패턴을 재설정하는 단계를 포함하여 수행된다. 이와 같은 본 발명에 의하면, UDP 송신 패킷에 시퀀스 데이터가 포함된 특정 해더영역을 추가하여, 이를 통해 중복 수신된 데이터에 대한 처리 안정성을 확보할 수 있고, 수신 단말기(피어)에서 패킷의 누락 및 훼손에 대한 오류분석 결과를 송신측 단말기에 전송하여 송신 패턴을 수정하므로, UDP 고유 특성인 데이터 전송의 실시간 탄력성을 유지하면서도 패킷 누락 및 훼손에 대한 안정성을 향사시킬 수 있는 효과가 있다.

Description

안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법 { UDP NETWORKING METHOD FOR ENHANCEMENT OF STABILITY }
본 발명은 UDP 네트워킹 방법에 관한 것으로, 더욱 상세하게는, UDP 전송 패킷에 추가 헤더 영역을 구성하여 전송중 발생하는 데이터 훼손에 대한 안정성을 향상시킨 UDP 네트워킹 방법에 관한 것이다.
네트워크 상에서 데이터 통신을 위한 통신 방법은 전송 데이터의 신뢰성 보장 여부에 따라 크게 신뢰성 보장 프로토콜과 비 신뢰성 프로토콜이 존재한다.
신뢰성 보장 프로토콜이란 전송 프레임에 대한 응답 프레임를 이용하여 전송 중간에 유실되거나 통신 장애로 인하여 전송이 안 된 프레임에 대하여 재전송을 하도록 하는 프로토콜을 의미한다. 따라서, 프레임의 순서를 확인하여 재조합한 후, 중간에 유실된 프레임을 확인하여 해당 프레임을 재수신하여 완전한 데이터를 수신받는다. 상기 신뢰성 보장 프로토콜로는 대표적으로 전송제어프로토콜(TCP, Trasmission Control Protocol)이 있다.
한편, 비 신뢰성 프로토콜은 방송과 같이 전송에 대한 신뢰성을 보장하지 않고 데이터를 일방적으로 전송하는 것으로, 대표적으로는 데이터그램 프로토콜( UDP, User Datagram Protocol)이 있다.
최근 휴대용 무선통신 단말의 급속한 확산에 따라 무선 인터넷 환경의 보급율이 범세계적으로 확산되고 있으나, 아직 유선 네트워크에 비하여 네트워크 회선 품질이 상대적으로 낮은 실정이다.
또한, 클라우드 서버 등의 확산으로 인해 글로벌 공급자가 글로벌 소비자에게 서비스를 제공하는 추세가 확산되고 있으며, 단말기간 통신 과정에서 경유 라우터의 수가 증가함으로 인해 네트워크 품질이 상대적으로 저하되고 있고, 특히 스마트폰과 네트워크 인지 전자장치(network-aware device)의 수가 급격히 늘어나면서 라우터의 주소 변환(NAT) 요구사항이 복잡해짐에 따라 네트워크 품질에 관한 문제점은 증가하고 있는 실정이다.
한편, 이와 같은 네트워크 품질 저하에 관한 문제점은 신뢰성을 보장하는 TCP에서는 호환성 및 안정성에 대한 네트워크 장비의 공급자들의 노력에 의해 많은 개선이 이루어 졌으나, 신뢰성을 보장하지 못하는 UDP는 상대적으로 여러가지 결함이 발생되고 있다.
또한, 네트워크 라우터 또는 스위치의 경우, MTU(약 1300바이트) 이상의 크기의 데이터는 송수신 처리하지 못하고 폐기하는 경향이 있다. 따라서 UDP는 MTU 이상의 크기의 데이터(datagram)를 송수신하기 위하여, UDP로 보내는 데이터가 MTU를 넘는 경우 송신측에서 fragment 일련번호를 부여하여 수신측에 분할하여 송신하고(fragmentation) 수신측에서는 이를 수신하여 조합(defragmentation)한다.
한편, 특정 방화벽은 전송데이터에 일정한 패턴이 발생되는 경우, 해당 데이터를 차단하게 되는데, 전술한 일련번호에 의해 특정 패턴이 발생되어 특정 방화벽에 의해 데이터의 차단이 발생되고 있다.
이와 같은 특정 방화벽의 대표적인 예로는 중국에서 구축한 초대형 방화벽인 금순공정(***)이 있다.
한편, 대한민국 공개특허 제10-2012-0068526호에는 UDP 네트워크의 신뢰성을 향상시키기 위한 자료전송 시스템 및 방법이 개시되어 있다.
도 1에 도시된 바와 같이, 종래 기술에 의한 UDP 자료전송 시스템은, 다수의 수신자가 있는 IP 멀티캐스팅 또는 브로드캐스팅을 포함하는 통신 시스템에서 UDP 기반의 신뢰성 있는 통신을 제공하기 위한 메시지 전송 시스템으로서, UDP를 이용하여 자료를 전송하기 전에 응용 서비스에서 메시지를 하나의 패킷 크기에 맞게 분할하고, 분할 된 패킷을 일련번호와 목적지 ID를 부여하여 멀티캐스팅을 통해 로컬 네트워크에 전송하며, 수신측에서는 목적지 ID가 자신의 ID와 동일한지를 판단하고, 부여된 일련번호를 통해 메시지의 누락 여부를 판단하여, 필요한 경우 제어 메시지를 송신측에 송신하여 누락된 패킷을 재전송 받음으로써 신뢰성을 향상시킬 수 있도록 하고 있다.
그러나 상기한 바와 같은 선행 기술에서는 다음과 같은 문제점이 있다.
즉, 종래기술과 같이 유실된 패킷을 제어메시지를 통해 송신측에 전달하여 재전송받는 경우, 결국 TCP와 동일한 프로토콜이 되어, UDP의 고유한 장점인 실시간의 탄력성이 무의미해지는 문제점이 있었다.
또한, 종래기술에서는 송신패킷은 수신자ID 및 일련번호가 부가되어 특정 패턴을 형성하므로, 전술한 바와 같은 특정 방화벽을 통과하는 경우, 해당 패킷이 차단되는 문제점이 있었다.
대한민국 공개특허 제10-2012-0068526호
본 발명은 상기와 같은 종래의 문제점을 해결하기 위하여 안출된 것으로, 본 발명은 UDP 송신 패킷에 특정 해더영역을 추가하여, 이를 통해 중복 수신된 데이터에 대한 처리 안정성을 확보하고, 누락 및 훼손된 패킷의 오류분석을 분석하여 안정적인 UDP 네트워킹을 구현하는 사용자 데이터그램 프로토콜 네트워킹 방법을 제공하는 것이다.
또한, 본 발명은 송신패킷에 추가되는 특정 헤더 영역의 패턴형성으로 인한 방화벽에 의한 패킷 차단 또는 훼손을 방지할 수 있는 사용자 데이터그램 프로토콜 네트워킹 방법을 제공하는 것이다.
상기한 바와 같은 목적을 달성하기 위한 본 발명의 특징에 따르면, 본 발명은 사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)을 이용한 네트워킹 방법에 있어서, (A) 송신단말이 송신데이터를 패킷단위로 분할하여 UDP 패킷을 생성하는 단계와; (B) 송신단말이 상기 생성된 UDP 패킷을 수신단말로 전송하는 단계와; (C) 상기 수신단말이 수신된 UDP 패킷의 오류여부를 판단하는 단계와; (D) 상기 수신단말이 UDP 패킷 수신에 대한 오류정보를 저장하여 오류패턴을 검출하는 단계와; (E) 상기 수신단말이 상기 검출된 오류패턴을 상기 송신단말로 전송하는 단계; 그리고 (F) 상기 오류패턴을 수신한 상기 송신단말이 상기 오류패턴을 반영하여 패킷 전송 패턴을 재설정하는 단계를 포함하여 수행된다.
여기서, 상기 제(A)단계의 UDP 패킷 생성은, (A1) 송신데이터를 UDP 규약에 따라 하나 이상의 패킷(packet) 단위로 분할하는 단계와; (A2) 분할된 UDP 패킷의 일련번호를 나타내는 시퀀스데이터를 생성하는 단계와; (A3) 송신단말ID와 수신단말ID를 결합한 데이터를 해쉬연산을 통해 송수신 해쉬데이터를 산출하는 단계와; (A4) 상기 시퀀스데이터와 송수신해쉬데이터를 조합하여 가블링데이터를 산출하는 단계; 그리고 (A5) 상기 시퀀스데이터, 송수신해쉬데이터 및 가블링데이터를 조합하여 H헤더를 생성하고, 상기 H헤더를 분할된 패킷에 삽입하는 단계를 포함하여 수행될 수도 있다.
또한, 상기 송수신해쉬데이터는, 송신단말ID와 수신단말ID를 설정된 길이로 조합하여, XOR 연산을 통한 해싱(Hashing)을 통해 생성될 수도 있다.
그리고 상기 가블링데이터는, 상기 시퀀스데이터의 첫바이트와 송수신 해쉬데이터의 첫바이트를 조합하여 XOR 연산을 통해 산출된 1바이트 데이터로 구성될 수도 있다.
또한, 상기 H헤더는, 상기 가블링데이터를 시작으로, 시퀀스데이터 및 송수신해쉬데이터가 순차적으로 배열되어 구성될 수도 있다.
다르게는 상기 H헤더는, 상기 가블링데이터가 상기 송수신해쉬데이터 선단에 결합되어 구성되고; 상기 시퀀스데이터는, UDP 패킷에 형성된 UDP L4 헤더상에 기록될 수도 있다.
한편, 상기 제(C)단계의 UDP 패킷의 오류 판단은, (C1) 수신된 UDP 패킷의 송수신해쉬데이터를 통해 수신단말을 확인하여 송신주소에 대한 오류 여부를 판별하는 단계와; (C2) 수신된 UDP 패킷의 송수신해쉬데이터를 통해 수신단말을 확인하여 송신주소에 대한 오류 여부를 판별하는 단계와; (C3) 수신된 UDP 패킷들의 시퀀스데이터들로부터 수신이 누락된 패킷 유무를 판별하는 단계; 그리고 (C4) 수신된 UDP 패킷들의 패킷 검사를 통해 수신된 UDP 패킷의 훼손여부를 판단하는 단계를 포함하여 수행될 수도 있다.
그리고 상기 제(E)단계의 오류패턴은, 시간 기준의 패킷 전송오류의 발생 주기를 포함하여 구성되고; 상기 패킷 전송오류는 수신 패킷의 훼손 또는 패킷 누락이며: 상기 제(F)단계의 패킷 전송 패턴의 재설정은, 상기 패킷 전송오류의 발생 주기에 대응하는 시간 주기로 패킷 전송에 대한 시간지연(Time step)을 설정하는 것일 수도 있다.
또한, 상기 제(E)단계의 오류패턴은, 패킷 전송량 기준의 패킷 전송오류의 발생 주기를 포함하여 구성되고; 상기 패킷 전송오류는 수신 패킷의 훼손 또는 패킷 누락이며: 상기 제(F)단계의 패킷 전송 패턴의 재설정은, 상기 패킷 전송오류의 발생 주기에 대응하는 패킷 전송 주기로 패킷 전송에 대한 시간지연(Time step)을 설정하는 것일 수도 있다.
위에서 살핀 바와 같은 본 발명에 의한 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법에서는 다음과 같은 효과를 기대할 수 있다.
즉, 본 발명에서는 UDP 송신 패킷에 시퀀스 데이터가 포함된 특정 헤더영역을 추가하여, 이를 통해 중복 수신된 데이터에 대한 처리 안정성을 확보할 수 있고, 수신 단말기(피어)에서 패킷의 누락 및 훼손에 대한 오류분석 결과를 송신측 단말기에 전송하여 송신 패턴을 수정하므로, UDP 고유 특성인 데이터 전송의 실시간 탄력성을 유지하면서도 패킷 누락 및 훼손에 대한 안정성을 향상시킬 수 있는 효과가 있다.
또한, 본 발명에서는 송신패킷에 추가되는 특정 헤더 영역의 패턴형성을 방지하여 방화벽에 의한 패킷 차단을 방지할 수 있는 효과가 있다.
도 1은 종래기술에 의한 UDP 기반의 자료전송 방법의 일예를 도시한 흐름도.
도 2는 본 발명에 의한 사용자 데이터그램 프로토콜 네트워킹 구성을 도시한 개념도.
도 3은 본 발명에 의한 사용자 데이터그램 프로토콜 네트워킹 방법의 일예를 도시한 흐름도.
도 4는 본 발명에 의한 UDP 패킷 구성의 일예를 도시한 예시도.
도 5는 본 발명에 의한 사용자 데이터그램 프로토콜 네트워킹 방법 중 UDP 패킷 생성방법의 일예를 도시한 흐름도.
이하에서는 첨부된 도면을 참조하여 본 발명의 구체적인 실시예에 의한 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법을 살펴보기로 한다.
설명에 앞서 먼저, 본 발명의 효과, 특징 및 이를 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예에서 명확해진다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고, 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성하여 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능하다.
즉, 도시된 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
도 2는 본 발명에 의한 사용자 데이터그램 프로토콜 네트워킹 구성을 도시한 개념도이고, 도 3은 본 발명에 의한 사용자 데이터그램 프로토콜 네트워킹 방법의 일예를 도시한 흐름도이며, 도 4는 본 발명에 의한 UDP 패킷 구성의 일예를 도시한 예시도이고, 도 5는 본 발명에 의한 사용자 데이터그램 프로토콜 네트워킹 방법 중 UDP 패킷 생성방법의 일예를 도시한 흐름도이다.
도 2에 도시된 바와 같이, 본 발명에 의한 사용자 데이터그램 프로토콜(UDP) 네트워크는 다수의 단말기들이 NAT 라우터 및 방화벽(미도시) 등을 경우하여 연결된다.
상기 단말기는 송신피어 또는 수신피어를 모두 포함하는 것으로, 도시된 바와 같이 이동통신 단말기 뿐만 아니라 데스크탑 컴퓨터 또는 다양한 서버를 포함한다.
또한, 이들 상기 단말기들은 네트워크를 통해 서로 접속된 것으로, 상기 네트워크는 유무선통신망을 이용한 P2P 통신을 포함한다.
한편, 상기 NAT 라우터(Network Address Translation router)는 일반적으로는 인터넷 공유기를 의미하는 것으로, 상기 NAT 라우터는 1 개만 배정되어 있는 인터넷 주소를 여러 호스트(컴퓨터)가 공유해서 사용할 수 있게 해주는 역할을 수행한다.
그리고 도시되지는 않았으나, 이들 단말기의 연결에 있어, 방화벽을 더 포함하여 구성될 수도 있다. 이때 상기 방화벽은 네트워크와 인터넷 간에 전송되는 정보를 선별하여 수용, 거부, 수정하는 보안시스템으로 별도의 장치로 구성될 수도 있고, NAT 라우터 내에 독립적인 기능으로 구현될 수도 있다.
이하에서는 본 발명에 의한 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법을 첨부된 도면을 참조하여 상세히 설명하도록 한다.
도 3에 도시된 바와 같이, 본 발명에 의한 사용자 데이터그램 프로토콜 네트워킹 방법은, 송신단말이 데이터 전송 명령을 수신하는 것으로부터 시작된다(S110).
이후 상기 송신단말은 데이터를 사용자 데이터그램 프로토콜(UDP)을 통해 전송할 수 있도록 UDP 패킷을 생성한다(S120).
본 발명에 의한 상기 UDP 패킷 구조 및 생성과정을 도 4 및 도 5를 참조하여 상세히 설명하면, 상기 UDP 패킷을 생성하기 위하여 먼저, 도 5에 도시된 바와 같이, 상기 송신단말은 전송데이터를 UDP 규약에 따라 하나 이상의 패킷(packet) 단위로 분할한다(S121).
이때, 본 발명에 의한 UDP 패킷(데이터그램)의 기본 구성은 도 4에 도시된 바와 같이, 헤더와 데이터 기록영역으로 구성된다. 구체적으로, UDP 패킷은 UDP L4 헤더와 페이로드(Payload)로 구분되고, 상기 페이로드는 H헤더와 메시지 데이터가 기록되는 사용자 페이로드로 구성된다.
여기서 상기 H헤더(100)는 도 4에 도시된 바와 같이, 가블링데이터(130), 시퀀스데이터(110) 및 송수신 해쉬데이터(120)를 포함하여 구성된다.
상기 송신단말은 상기 H헤더(100)를 형성하기 위하여, 먼저, 분할된 UDP 패킷의 일련번호를 나타내는 시퀀스데이터(110)를 생성한다(S123). 상기 시퀀스데이터(110)는 각 데이터그램마다 순차적으로 넘버링되어 구성된다.
한편, 본 발명에 의한 상기 시퀀스데이터는 상기 H 헤더 상에 형성되는 것을 기본으로 하나, 필요에 따라 상기 시퀀스데이터(110)가 UDP 패킷에 형성되는 UDP L4 헤더 영역에 포함되어 구성되는 것도 가능하다.
이후, 상기 송신단말은, 송신단말ID와 수신단말ID를 결합하여 송수신 해쉬데이터(120)를 산출한다(S125).
상기 송수신 해쉬데이터(120)는 송신단말ID와 수신단말ID를 설정된 길이(예를 들어 32bit 정수형 타입)로 조합한 후 해싱(Hashing)을 통해 생성하는데, 상기 해싱은 XOR 연산 등 다양한 방법이 적용될 수 있다.
상기 송수신 해쉬데이터(120)는, 수신단말기가 수신된 UDP 패킷을 조합하기 위해 사용될 뿐만 아니라 NAT 라우터에서 UDP 패킷 전달을 잘못하는 경우, 해당 UDP 패킷을 걸러줄 수 있도록 한다.
즉, 상기 해쉬데이터는 구성이 복잡해지는 NAT 라우터가 오동작을 하는 경우, 이를 해결하기 위한것으로, NAT 라우터가 오동작을 하게 되면 NAT 라우터가 받은 데이터를 다른 수신단말로 라우팅(전달)을 하는 경우가 발생하게 되는데, 이때, 잘못된 데이터를 수신받은 수신자 측에서는 해쉬값을 통해 잘못 라우팅된 데이터임을 인지하여 해당 데이터를 버림으로써 데이터 전송오류를 해소할 수 있게 한다.
다음으로, 상기 송신단말은 상기 H헤더(100) 선단에 가블링데이터(130)를 산출하여 부가한다(S127).
이때, 상기 가블링데이터(130)는, 상기 시퀀스데이터(110)의 첫바이트와 송수신 해쉬데이터(120)의 첫바이트를 XOR연산하여 산출된 1바이트 데이터로 구성된다.
상기 가블링데이터(130)는 상기 UDP 패킷의 시퀀스데이터(110)의 순차성 및 송수신 해쉬데이터(120)의 동일성으로 인해 발생되는 패턴을 탐지불가능하게 하여 방화벽에 의한 UDP 패킷의 왜곡현상을 방지한다.
송신단말은 UDP 패킷의 H헤더(100)를 전술한 바와 같은 방법으로 구성하여 UDP 패킷을 완성한다.
그리고 이와 같이 생성된 UDP 패킷을 수신단말로 전송한다(S130). 이때, 상기 UDP 패킷은 NAT 라우터를 거쳐 수신단말로 전송된다.
이때, 상기 송신패킷을 수신한 NAT 라우터는 UDP 패킷을 패턴을 감지한다(S210). 이때, 본 발명에 의한 UDP 패킷은 가블링데이터(130)에 의해 그 패턴 형태가 감춰지므로, 상기 NAT 라우터는 상기 UDP 패킷의 패턴을 감지하지 못하고 상기 UDP 패킷을 수신단말로 전송한다(S220).
한편, 상기 UDP 패킷을 수신한 수신단말은(S310), 수신된 UDP 패킷의 송수신 해쉬데이터(120)를 인식하여 해당 UDP 패킷이 올바르게 전송된 패킷인지 여부를 판별한다(S320). 이때, 수신단말은 송신단말 ID, 수신단말 ID 및 해쉬연산자를 알고 있으므로, 상기 UDP 패킷의 올바른 송수신 해쉬데이터(120)를 알 수 있다.
상기 제320단계의 판단결과, 수신된 UDP 패킷이 올바르게 전달된 것으로 판단되는 경우, UDP 시퀀스데이터(110)를 확인하여(S330), 기 수신된 UDP 패킷들과 배열을 정리하여 데이터 수신처리를 완료한다(S340).
이때, 상기 데이터 수신처리라 함은 수신된 패킷을 조합하여 출력 데이터를 생성하는 것일 수 있다.
한편, 상기 제320단계의 판단결과, 수신된 UDP 패킷이 올바르게 전달된 것이 아닌 것으로 판단되거나 훼손된 UDP 패킷이 수신된 경우 및 제330단계의 시퀀스데이터(110)의 확인 결과 일부 패킷이 누락된 경우, 수신단말은 데이터 오류처리를 수행한다(S350).
상기 데이터 오류처리라 함은 기본적으로 잘못전달된 UDP 패킷이나 훼손된 UDP 패킷을 폐기하는 것을 말하고, 이에 나아가 한편, 훼손된 UDP 패킷의 수신내역 및 UDP 패킷의 누락내역을 저장하여, 데이터 오류패턴을 검출하는 것을 포함한다(S351).
여기서 상기 오류패턴은 데이터전송오류의 종류(패킷 훼손 또는 누락), 발생 주기(시간 간격 또는 데이터 전송 길이 간격)를 말한다.
그리고 검출된 상기 오류패턴을 상기 송신단말로 송신할 수 있는 형태의 오류 보고 메시지를 생성한다(S353).
그리고 상기 오류 보고 메시지는 상기 수신단말로부터 송신단말로 전송되는 체크(Check) 메시지 상에 포함되어 상기 송신단말로 전송된다(S360).
이때, 상기 체크 메시지는 UDP 통신으로 접속된 수신단말기가 주기적으로 상기 송신단말로 전송하는 메시지를 의미하는 것으로, 일반적으로는 설정된 시간 주기로 상기 수신단말에서 생성되어 상기 송신단말로 전송된다.
이후, 상기 체크 메시지를 수신한 송신단말은 상기 체크 메시지로부터 오류패턴을 추출하고(S410, S420), 상기 오류패턴을 반영하여 송신패킷전송 패턴을 재설정한다(S430).
즉, 상기 오류패턴 검출결과가 일정 시간 주기별로 데이터전송오류가 발생하는 경우, 해당 시간 주기별로 패킷전송에 Time-step(시간 지연)을 두어 데이터 전송오류 발생을 줄이도록 할 수 있고, 상기 오류패턴 검출결과가 일정 데이터 전송길이에 따라 데이터전송오류가 발생하는 경우, 해당 데이터 전송 길이 별로 패킷전송에 Time-step(시간 지연)을 두어 데이터 전송오류 발생을 줄이도록 할 수 있다.
본 발명의 권리는 위에서 설명된 실시예에 한정되지 않고 청구범위에 기재된 바에 의해 정의되며, 본 발명의 분야에서 통상의 지식을 가진 자가 청구범위에 기재된 권리범위 내에서 다양한 변형과 개작을 할 수 있다는 것은 자명하다.
본 발명은 UDP 전송 패킷에 추가 헤더 영역을 구성하여 전송 중 발생하는 데이터 훼손에 대한 안정성을 향상시킨 UDP 네트워킹 방법에 관한 것으로, 본 발명에 의하면, UDP 송신 패킷에 시퀀스 데이터가 포함된 특정 해더영역을 추가하여, 이를 통해 중복 수신된 데이터에 대한 처리 안정성을 확보할 수 있고, 수신 단말기(피어)에서 패킷의 누락 및 훼손에 대한 오류분석 결과를 송신측 단말기에 전송하여 송신 패턴을 수정하므로, UDP 고유 특성인 데이터 전송의 실시간 탄력성을 유지하면서도 패킷 누락 및 훼손에 대한 안정성을 향사시킬 수 있는 효과가 있다.
100 : H헤더 110 : 시퀀스데이터
120 : 송수신 해쉬데이터 130 : 가블링데이터

Claims (8)

  1. 사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)을 이용한 네트워킹 방법에 있어서,
    (A) 송신단말이 송신데이터를 패킷단위로 분할하여 UDP 패킷을 생성하는 단계와;
    (B) 송신단말이 상기 생성된 UDP 패킷을 수신단말로 전송하는 단계와;
    (C) 상기 수신단말이 수신된 UDP 패킷의 오류여부를 판단하는 단계와;
    (D) 상기 수신단말이 UDP 패킷 수신에 대한 오류정보를 저장하여 오류패턴을 검출하는 단계와;
    (E) 상기 수신단말이 상기 검출된 오류패턴을 상기 송신단말로 전송하는 단계; 그리고
    (F) 상기 오류패턴을 수신한 상기 송신단말이 상기 오류패턴을 반영하여 패킷 전송 패턴을 재설정하는 단계를 포함하여 수행되고:
    상기 제(A)단계의 UDP 패킷 생성은,
    (A1) 송신데이터를 UDP 규약에 따라 하나 이상의 패킷(packet) 단위로 분할하는 단계와;
    (A2) 분할된 UDP 패킷의 일련번호를 나타내는 시퀀스데이터를 생성하는 단계와;
    (A3) 송신단말ID와 수신단말ID를 결합한 데이터를 해쉬연산을 통해 송수신 해쉬데이터를 산출하는 단계와;
    (A4) 상기 시퀀스데이터와 송수신해쉬데이터를 조합하여 가블링데이터를 산출하는 단계; 그리고
    (A5) 상기 시퀀스데이터, 송수신해쉬데이터 및 가블링데이터를 조합하여 H헤더를 생성하고, 상기 H헤더를 분할된 패킷에 삽입하는 단계를 포함하여 수행되며:
    상기 송수신해쉬데이터는,
    송신단말ID와 수신단말ID를 설정된 길이로 조합하여, XOR 연산을 통한 해싱(Hashing)을 통해 생성되고:
    상기 가블링데이터는,
    상기 시퀀스데이터의 첫바이트와 송수신 해쉬데이터의 첫바이트를 조합하여 XOR 연산을 통해 산출된 1바이트 데이터로 구성됨을 특징으로 하는 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 H헤더는,
    상기 가블링데이터를 시작으로, 시퀀스데이터 및 송수신해쉬데이터가 순차적으로 배열되어 구성됨을 특징으로 하는 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법.
  6. 제 1 항 또는 제 5 항에 있어서,
    상기 제(C)단계의 UDP 패킷의 오류 판단은,
    (C1) 수신된 UDP 패킷의 송수신해쉬데이터를 통해 수신단말을 확인하여 송신주소에 대한 오류 여부를 판별하는 단계와;
    (C2) 수신된 UDP 패킷의 송수신해쉬데이터를 통해 수신단말을 확인하여 송신주소에 대한 오류 여부를 판별하는 단계와;
    (C3) 수신된 UDP 패킷들의 시퀀스데이터들로부터 수신이 누락된 패킷 유무를 판별하는 단계; 그리고
    (C4) 수신된 UDP 패킷들의 패킷 검사를 통해 수신된 UDP 패킷의 훼손여부를 판단하는 단계를 포함하여 수행됨을 특징으로 하는 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법.
  7. 제 6 항에 있어서,
    상기 제(E)단계의 오류패턴은,
    시간 기준의 패킷 전송오류의 발생 주기를 포함하여 구성되고;
    상기 패킷 전송오류는 수신 패킷의 훼손 또는 패킷 누락이며:
    상기 제(F)단계의 패킷 전송 패턴의 재설정은,
    상기 패킷 전송오류의 발생 주기에 대응하는 시간 주기로 패킷 전송에 대한 시간지연(Time step)을 설정하는 것임을 특징으로 하는 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법.
  8. 제 6 항에 있어서,
    상기 제(E)단계의 오류패턴은,
    패킷 전송량 기준의 패킷 전송오류의 발생 주기를 포함하여 구성되고;
    상기 패킷 전송오류는 수신 패킷의 훼손 또는 패킷 누락이며:
    상기 제(F)단계의 패킷 전송 패턴의 재설정은,
    상기 패킷 전송오류의 발생 주기에 대응하는 패킷 전송 주기로 패킷 전송에 대한 시간지연(Time step)을 설정하는 것임을 특징으로 하는 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법.
KR1020140078007A 2014-06-25 2014-06-25 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법 KR101533056B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020140078007A KR101533056B1 (ko) 2014-06-25 2014-06-25 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법
PCT/KR2014/010507 WO2015199290A1 (ko) 2014-06-25 2014-11-04 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법
US15/321,939 US10320953B2 (en) 2014-06-25 2014-11-04 User datagram protocol networking method for stability improvement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140078007A KR101533056B1 (ko) 2014-06-25 2014-06-25 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법

Publications (1)

Publication Number Publication Date
KR101533056B1 true KR101533056B1 (ko) 2015-07-01

Family

ID=53787379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140078007A KR101533056B1 (ko) 2014-06-25 2014-06-25 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법

Country Status (3)

Country Link
US (1) US10320953B2 (ko)
KR (1) KR101533056B1 (ko)
WO (1) WO2015199290A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301714A (zh) * 2016-08-16 2017-01-04 浙江大华技术股份有限公司 一种数据传输方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10721207B1 (en) * 2017-09-27 2020-07-21 Amazon Technologies, Inc. Pattern-based techniques to discover relationships between hosts
JP2019078985A (ja) * 2017-10-27 2019-05-23 ルネサスエレクトロニクス株式会社 半導体装置およびそれを用いたシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100075292A (ko) * 2008-12-24 2010-07-02 주식회사 포스코 공정 제어 네트워크에서의 장애 예측 방법 및 장치
KR20110017518A (ko) * 2009-08-14 2011-02-22 한국전자통신연구원 Udp 기반의 통신 방법 및 장치

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000078197A (ja) * 1998-09-03 2000-03-14 Toshiba Corp 通信ノード及びパケット転送方法
US6999432B2 (en) * 2000-07-13 2006-02-14 Microsoft Corporation Channel and quality of service adaptation for multimedia over wireless networks
US7403999B2 (en) * 2001-12-28 2008-07-22 International Business Machines Corporation Classification support system and method for fragmented IP packets
KR20030080443A (ko) * 2002-04-08 2003-10-17 (주) 위즈네트 하드웨어 프로토콜 프로세싱 로직으로 구현된 인터넷 통신프로토콜 장치 및 상기 장치를 통한 데이터 병렬 처리 방법
JP2004266504A (ja) * 2003-02-28 2004-09-24 Sony Corp 送受信システム、送信装置および方法、受信装置および方法、記録媒体、並びにプログラム
US20060133338A1 (en) * 2004-11-23 2006-06-22 Interdigital Technology Corporation Method and system for securing wireless communications
US7480245B2 (en) * 2004-12-11 2009-01-20 International Business Machines Corporation Segmenting data packets for over-network transmission at adjustable fragment boundary
US20070036353A1 (en) * 2005-05-31 2007-02-15 Interdigital Technology Corporation Authentication and encryption methods using shared secret randomness in a joint channel
US8775658B2 (en) * 2009-03-27 2014-07-08 Wyse Technology L.L.C. Apparatus and method for transparent communication architecture in remote communication
KR101178570B1 (ko) * 2010-10-28 2012-08-30 삼성에스디에스 주식회사 이더넷 환경에서 udp 데이터 전송의 공정성 확보장치 및 방법
US8639993B2 (en) * 2010-11-11 2014-01-28 Microsoft Corporation Encoding data to enable it to be stored in a storage block that includes at least one storage failure
KR101151615B1 (ko) * 2010-11-18 2012-06-08 삼성에스디에스 주식회사 Udp기반의 p2p 데이터 전송 방법 및 시스템
JP2012156602A (ja) * 2011-01-21 2012-08-16 Ricoh Co Ltd 情報処理装置、通信制御方法、及び通信制御システム
US20130208630A1 (en) * 2012-02-15 2013-08-15 Ge Aviation Systems Llc Avionics full-duplex switched ethernet network
KR101398189B1 (ko) * 2012-03-27 2014-05-22 광주과학기술원 음성수신장치 및 음성수신방법
US9455905B2 (en) * 2013-02-22 2016-09-27 Broadcom Corporation Encapsulation for link layer preemption

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100075292A (ko) * 2008-12-24 2010-07-02 주식회사 포스코 공정 제어 네트워크에서의 장애 예측 방법 및 장치
KR20110017518A (ko) * 2009-08-14 2011-02-22 한국전자통신연구원 Udp 기반의 통신 방법 및 장치

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106301714A (zh) * 2016-08-16 2017-01-04 浙江大华技术股份有限公司 一种数据传输方法及装置
CN106301714B (zh) * 2016-08-16 2019-11-19 浙江大华技术股份有限公司 一种数据传输方法及装置

Also Published As

Publication number Publication date
US10320953B2 (en) 2019-06-11
WO2015199290A1 (ko) 2015-12-30
US20170187844A1 (en) 2017-06-29

Similar Documents

Publication Publication Date Title
US10541899B2 (en) Data packet sending method and apparatus in IPv6 network
JP5883920B2 (ja) パケット重複排除のためのシステムおよび方法
WO2015180559A1 (zh) 业务链的故障检测方法及装置
US8688844B1 (en) Establishing network connections between transparent network devices
JP2019205171A (ja) ビットフォワーディングイングレスルータ、ビットフォワーディングルータ及び運用管理保守テスト方法
Shi et al. NDNLP: A link protocol for NDN
TW201713093A (zh) 應用於伺服器負載均衡中的連接建立方法及裝置
JP5363658B1 (ja) 中継装置、中継装置の制御方法、及び、ネットワークシステム
CN109672929B (zh) 一种视频业务报文的检测方法和设备
CN113595891B (zh) 数据通信方法、装置和电子设备
JP7124206B2 (ja) パケット処理方法およびゲートウェイ・デバイス
US20150236752A1 (en) Method for selection of unique next-time-interval internet protocol address and port
Fairhurst et al. Applicability Statement for the Use of IPv6 UDP Datagrams with Zero Checksums
WO2017113771A1 (zh) 一种报文的处理方法和装置
KR101533056B1 (ko) 안정성 향상을 위한 사용자 데이터그램 프로토콜 네트워킹 방법
US8259717B2 (en) Transparent network service enhancement
US10819617B1 (en) Loop-back packet for determining operational capabilities of border relay device
CN102739462B (zh) 一种测试报文的发送方法以及装置
US20190089675A1 (en) Network address translation device, setting requesting device, communication system, communication method and storage medium storing program
Lebrun Reaping the benefits of ipv6 segment routing
US8181060B1 (en) Preventing data corruption with transparent network connections
CN107231309B (zh) 获取sdn全网视图的方法、控制器及目的交换节点
Genkov An approach for finding proper packet size in IPv6 networks
CN108259294A (zh) 报文处理方法及装置
JP5771656B2 (ja) 中継装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180416

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190613

Year of fee payment: 5