KR101983088B1 - 다중 경로 환경에서의 udp 패킷 처리 방법 - Google Patents

다중 경로 환경에서의 udp 패킷 처리 방법 Download PDF

Info

Publication number
KR101983088B1
KR101983088B1 KR1020170079511A KR20170079511A KR101983088B1 KR 101983088 B1 KR101983088 B1 KR 101983088B1 KR 1020170079511 A KR1020170079511 A KR 1020170079511A KR 20170079511 A KR20170079511 A KR 20170079511A KR 101983088 B1 KR101983088 B1 KR 101983088B1
Authority
KR
South Korea
Prior art keywords
packet
transmission
mpudp
udp
tcp
Prior art date
Application number
KR1020170079511A
Other languages
English (en)
Other versions
KR20190000468A (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 KR1020170079511A priority Critical patent/KR101983088B1/ko
Publication of KR20190000468A publication Critical patent/KR20190000468A/ko
Application granted granted Critical
Publication of KR101983088B1 publication Critical patent/KR101983088B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • 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/14Multichannel or multilink protocols
    • 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
    • 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/22Parsing or analysis of headers

Abstract

본 발명은 다중 경로 환경에서의 UDP 패킷 처리 방법에 관한 것으로, 더욱 상세하게는 다중 경로(LTE 및 WiFi) 환경에서 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)에 의하여 통신을 수행할 때, 다중 경로를 활용하여 UDP 패킷을 분할 전송하도록 하는 UDP 패킷 처리 방법에 관한 것이다.

Description

다중 경로 환경에서의 UDP 패킷 처리 방법 {Method for UDP Packet Processing in the Multi-path Environment}
본 발명은 다중 경로 환경에서의 UDP 패킷 처리 방법에 관한 것으로, 더욱 상세하게는 다중 경로(LTE 및 WiFi) 환경에서 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)에 의하여 통신을 수행할 때, 다중 경로를 활용하여 UDP 패킷을 분할 전송하도록 하는 UDP 패킷 처리 방법에 관한 것이다.
종래의 스마트 폰 등의 사용자 단말에서 전송 제어 프로토콜(Transmission Control Protocol, 이하 TCP)를 사용하여 통신이 이루어 지는 경우 LTE 또는 WiFi 하나의 경로만을 이용하여 이루어져 왔으나, 다중 경로 TCP(Multi-path TCP, MPTCP) 기술의 개발로 인하여 LTE, WiFi 또는 그 외 다른 경로를 동시에 사용할 수 가 있어서 각각의 경로가 가진 대역폭을 동시에 사용할 수 있게 되고, 그로 인한 전송 속도 향상을 가져올 수 가 있게 되었다.
MPTCP의 동작을 위해서는 MPTCP 기능을 이용할 수 있는 단말, 그리고 MPTCP 패킷을 처리할 수 있는 별도의 서버(MP-Gateway, MP-GW)가 필요하다. MPTCP 기능을 이용할 경우 단말에서 특정 서비스를 이용하기 위해 생성한 서비스서버로 향하는 TCP 패킷을 둘 이상의 경로로 나누어 MPTCP 패킷으로 변환하여 MP-GW로 전송하면 MP-GW에서는 이 나뉘어 들어온 MPTCP 패킷을 다시 일반적인 TCP 패킷으로 병합하여 서비스 서버로 전달하게 된다.
이와 같은 MPTCP 동작을 위해서 단말과 MP-GW간에 Proxy를 통한 통신이 이루어지게 된다. MPTCP 기능을 활성화하고 단말에서 어플리케이션을 실행하여 서비스를 이용하기 위한 TCP 패킷이 발생되었을 경우, 이 패킷은 일련의 과정을 통하여 단말의 Proxy Client로 포워딩 되며 이 패킷은 MPTCP로 변환되어 둘 이상의 subflow를 통해서 MP-GW의 Proxy 서버로 전달된다.
이처럼 TCP를 사용한 다중 경로 전송 기술은 알려져 있으나, 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)의 경우 비연결형 프로토콜로서, 전송의 안정성 및 신뢰성이 확보되지 않아 데이터의 손실 가능성이 높지만 상대적으로 빠른 전송속도를 갖기 때문에 DNS나 실시간 동영상 서비스 등에서 사용되고 있다.
다만 TCP 패킷과는 달리 UDP 패킷을 다중 경로를 통하여 분할 전송하는 기술은 아직까지 제시되고 있지 않다.
본 발명은 다중 경로(LTE 및 WiFi) 환경에서 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP)에 의하여 통신을 수행할 때, 다중 경로를 활용하여 UDP 패킷을 분할 전송하도록 하는 UDP 패킷 처리 방법을 제공하는 것을 과제로 한다
상기와 같은 과제를 해결하기 위하여 본 발명은 다중 경로 환경에서 UDP 패킷을 처리하는 방법으로서, 발생한 UDP 패킷을 다중 경로로 전송하도록 UDP릴레이로 포워딩 하는 패킷포워딩단계; 상기 UDP 패킷을 복수개의 경로를 통하여 전송 가능하도록 분할하고 릴레이헤더를 붙여 MPUDP 패킷으로 변환하는 MPUDP변환단계; 상기 MPUDP 패킷의 전송 경로를 결정하여 분배하는 패킷스케줄링단계; 상기 패킷스케줄링단계에서 결정된 전송 경로에 따라 상기 MPUDP 패킷을 전송하는 패킷전송단계; 상기 패킷전송단계에서 전송된 MPUDP 패킷을 수신하는 패킷수신단계; 및 상기 패킷수신단계에서 수신한 상기 MPUDP 패킷을 병합하여 UDP 패킷을 복원하는 패킷병합단계; 를 포함하는 UDP 패킷 처리 방법을 제공한다.
본 발명에서는, 상기 릴레이헤더는 패킷정렬신호 및 시퀀스정보를 포함하고, 상기 MPUDP 패킷은 재정렬 옵션을 설정할 수 있고, 상기 재정렬 옵션이 설정된 경우, 상기 패킷병합단계는, 상기 릴레이헤더에 포함된 패킷정렬신호 및 시퀀스정보에 기초하여 수신한 UDP 패킷을 재정렬하여 패킷을 조합할 수 있다.
본 발명에서는, 상기 릴레이헤더는 상기 패킷병합단계를 수행할 수 있는 UDP 프록시서버의 주소를 포함하여, 상기 MPUDP 패킷이 UDP 프록시서버로 전송될 수 있다.
본 발명에서는, 상기 패킷스케줄링단계는, MPUDP 패킷이 전송될 수 있는 전송 경로의 전송품질을 평가하는 전송품질평가단계; 상기 전송품질평가단계의 전송품질 평가 결과에 기초하여 전송할 MPUDP 패킷을 분배하는 패킷분배단계; 및 분배된 상기 MPUDP 패킷의 헤더에 전송 경로 정보를 입력하는 전송경로입력단계; 를 포함할 수 있다.
본 발명에서는, 상기 전송품질평가단계는, 다중 경로 TCP 패킷의 전송 시 상기 TCP 패킷의 전송품질을 평가함으로써 전송 경로의 전송품질을 평가할 수 있다.
본 발명에서는, 상기 전송품질평가단계는, 기설정된 시간 동안 TCP 패킷의 전송이 없는 경우, 더미 TCP 패킷을 전송하여 전송 경로의 전송품질을 평가할 수 있다.
본 발명에서는, 상기 전송품질평가단계는, 상기 전송 경로의 왕복 시간(RTT)에 기초하여 전송 경로의 전송품질을 평가할 수 있다.
본 발명에서는, 상기 패킷분배단계는, 상기 전송품질평가단계에서 파악한 전송 경로의 왕복 시간에 기초하여 전송 지연 시간을 예측하는 지연예측단계; 및 상기 지연예측단계에서 예측한 지연 시간에 기초하여 MPUDP 패킷이 순차적으로 도착할 수 있도록 패킷을 분배하는 도착예측분배단계; 를 포함할 수 있다.
본 발명에서는, 상기 전송품질평가단계는, 상기 전송 경로의 왕복 시간(RTT) 및 전송 경로의 사용 가능한 용량에 기초하여 경로의 전송품질을 평가하고, 상기 패킷분배단계는, 상기 전송 경로의 사용 가능한 용량에 기초하여 전송 경로를 통해 전송되는 MPUDP 패킷의 전송 byte 수를 조절할 수 있다.
본 발명의 일 실시예에 따르면 UDP 패킷을 다중 경로로 전송함으로써 각각의 경로가 가진 대역폭을 활용하여 전송 속도 향상 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 UDP 패킷을 분할하고 릴레이헤더를 붙여 MPUDP 패킷을 생성한 뒤 UDP 프록시서버로 전송하여 다중 경로로 전송된 MPUDP 패킷을 병합하여 UDP 패킷을 복원함으로써 MPUDP 패킷을 처리하지 못하는 서버 등으로도 UDP 패킷을 다중 경로 전송 가능한 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 스케줄러가 MPUDP 패킷을 다중 경로로 전송함에 있어서 각 전송 경로의 전송품질을 평가하여 MPUDP 패킷의 전송을 분배함으로써, 전송의 안정성을 높이고 전송 속도를 향상할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 스케줄러가 전송 경로의 전송품질을 평가할 때, 연결지향적인 TCP 패킷의 전송품질을 평가하고, 평가된 전송품질을 이용하여 UDP 패킷의 전송을 분배함으로써, UDP 패킷을 원활하게 다중 경로로 전송할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 스케줄러가 기설정된 시간 동안 TCP 패킷의 전송이 없는 경우, 전송품질을 평가하기 위한 더미 TCP 패킷을 전송하여 전송 경로의 전송품질을 지속적으로 파악할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 전송 경로의 왕복 시간에 기초하여 전송 지연 시간을 예측하고, 이에 기초하여 MPUDP 패킷이 순차적으로 도착할 수 있도록 패킷을 분배함으로써, 전송의 안정성을 높일 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 MPUDP 패킷의 릴레이 헤더에 패킷정렬신호 및 시퀀스 정보를 포함하여 패킷 병합 시 MPUDP 패킷을 재정렬하여 패킷을 병합함으로써, 전송의 안정성을 높일 수 있는 효과를 발휘할 수 있다.
도 1은 본 발명의 일 실시예에 따른 다중 경로 환경의 구성을 개략적으로 도시하는 도면이다.
도 2는 본 발명의 일 실시예에 따른 다중 경로의 패킷 분배 및 병합 과정을 개략적으로 도시하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 다중 경로 UDP 트래픽의 처리 구조를 개략적으로 도시하는 블록도이다.
도 4는 본 발명의 일 실시예에 따른 다중 경로 TCP 및 다중 경로 UDP 트래픽의 처리 구조를 개략적으로 도시하는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 다중 경로 UDP 패킷 처리 방법의 단계들을 개략적으로 도시하는 순서도이다.
도 6은 본 발명의 일 실시예에 따른 패킷스케줄링단계의 세부 단계들을 개략적으로 도시하는 순서도이다.
도 7은 본 발명의 일 실시예에 따른 스케줄러의 전송 경로 품질 평가 방법을 개략적으로 도시하는 도면이다.
도 8은 본 발명의 일 실시예에 따른 스케줄러의 동작을 개략적으로 도시하는 도면이다.
도 9는 본 발명의 일 실시예에 따른 스케줄러의 패킷 분배 단계들을 개략적으로 도시하는 순서도이다.
도 10은 본 발명의 일 실시예에 따른 스케줄러의 패킷 분배 방법을 개략적으로 도시하는 도면이다.
도 11은 본 발명의 일 실시예에 따른 패킷병합단계의 패킷 재정렬 과정을 개략적으로 도시하는 도면이다.
이하에서는, 다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 인식될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다.
또한, 다양한 양상들 및 특징들이 다수의 디바이스들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있는 시스템에 의하여 제시될 것이다. 다양한 시스템들이, 추가적인 장치들, 컴포넌트들 및/또는 모듈들 등을 포함할 수 있다는 점 그리고/또는 도면들과 관련하여 논의된 장치들, 컴포넌트들, 모듈들 등 전부를 포함하지 않을 수도 있다는 점 또한 이해되고 인식되어야 한다.
본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다. 아래에서 사용되는 용어들 '~부', '컴포넌트', '모듈', '시스템', '인터페이스' 등은 일반적으로 컴퓨터 관련 엔티티(computer-related entity)를 의미하며, 예를 들어, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어를 의미할 수 있다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 발명의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 다중 경로 환경의 구성을 개략적으로 도시하는 도면이다.
도 1을 참조하면 다중 경로(3G/LTE 등 이동통신망 및 Wi-Fi 등 무선통신망)로부터 패킷을 수신하여 병합하는 프록시서버(200), 프록시서버가 제공하는 다중 경로 통신 서비스를 사용하는 사용자단말(300) 및 상기 사용자단말(300)의 요청에 의해 콘텐츠를 제공하는 콘텐츠서버(400)로 구성된다.
상기 사용자단말(300)은 일반적인 TCP 및 UDP 통신에서는 3G, LTE, Wi-Fi 중 연결된 네트워크 경로 중 어느 하나를 통해 콘텐츠서버(400)에 콘텐츠를 요청하고, 콘텐츠서버(400)로부터 콘텐츠를 수신한다.
이 때, 상기 사용자단말(300)이 MPTCP 등 다중 경로 활용 기술을 통해서 콘텐츠서버(400)와 통신을 하기 위해서는 상기 콘텐츠서버(400)가 MPTCP 등의 기능을 보유하고 있어야 하는데, 현 상용 망에 존재하는 통상서버들은 이와 같은 기능을 보유하고 있지 않다. 따라서 사용자단말(300)이 고속 Back-Born망에 위치하는 MPTCP 등의 기능을 보유한 프록시서버(200)와 프록시 통신을 하도록 하여서 다중 경로를 통하여 통신을 수행하도록 한다.
도 2는 본 발명의 일 실시예에 따른 다중 경로의 패킷 분배 및 병합 과정을 개략적으로 도시하는 도면이다.
도 2를 참조하면 콘텐츠서버(400)는 다중 경로 활용 기능을 보유하지 않고 있기 때문에 전송을 요하는 콘텐츠 1 내지 7을 사용자단말(300)에 전송하기 위하여 순차적으로 프록시서버(200)로 전송한다.
상기 콘텐츠 1 내지 7을 수신한 프록시서버(200)는 상기 콘텐츠를 사용자단말(300)까지 송신하기 위한 경로를 설정하고, 상기 콘텐츠를 각 경로에 분배하여 전송한다.
도 2의 예에서 상기 콘텐츠는 2, 3 및 6은 위쪽에 표시된 경로를 통해, 콘텐츠 1, 4, 5 및 7은 아래쪽에 표시된 경로를 통해 각각 사용자단말(300)까지 전송된다. 상기 사용자단말(300)은 각 경로를 통해 콘텐츠를 수신함으로써 더 넓은 대역폭을 통해 빠른 속도로 콘텐츠를 수신할 수 있게 된다.
이는 사용자단말(300)이 콘텐츠서버(400)로 콘텐츠를 전송하는 경우에도 동일하게 적용된다.
사용자단말(300)이 콘텐츠 1 내지 7을 콘텐츠서버(400)로 전송하는 경우, 연결된 네트워크 경로에 송신할 콘텐츠를 분배하여 프록시서버(200)로 전송한다.
도 2의 예에서 상기 콘텐츠는 2, 3 및 6은 위쪽에 표시된 경로를 통해, 콘텐츠 1, 4, 5 및 7은 아래쪽에 표시된 경로를 통해 각각 프록시서버(200)까지 전송된다.
상기 콘텐츠를 수신한 프록시서버(200)은 각 경로를 통해 수신한 콘텐츠를 병합하고, 이를 단일 경로를 통해 콘텐츠서버(400)로 전송하게 된다.
이와 같은 시스템에서 상기 프록시서버(200)는 고속 백-본 망에 위치하여 콘텐츠서버(400)와 높은 속도로 통신을 수행할 수 있고, 상기 프록시서버(200)와 사용자단말(300)은 가용한 모든 경로를 활용하여 콘텐츠를 전송함으로써, 단일 경로를 통해 콘텐츠를 전송할 때 보다 더욱 빠른 속도로 콘텐츠의 전송이 가능하게 된다.
도 3은 본 발명의 일 실시예에 따른 다중 경로 UDP 트래픽의 처리 구조를 개략적으로 도시하는 블록도이다.
도 3을 참조하면 도 1 및 도 2와 같은 다중 경로 환경에서 UDP 트래픽을 처리하기 위한 시스템의 구조를 확인할 수 있다.
사용자단말(300)의 어플리케이션 1(381) 및 어플리케이션 2(382)는 UDP를 사용하여 콘텐츠서버(400)와 통신을 수행한다.
이 때, 통신을 위하여 어플리케이션 1(381) 및 어플리케이션 2(382)에서 생성된 UDP 패킷은 UDP릴레이(310)로 포워딩 된다. 상기 UDP릴레이(310)는 상기 UDP 패킷을 분할하고 릴레이헤더를 붙여 다중 경로로 전송될 수 있는 MPUDP(Multi-path UDP, 다중 경로 UDP) 패킷으로 변환하여 MPUDP관리부(320)로 전송한다.
이 때, 상기 릴레이헤더는 상기 패킷병합단계를 수행할 수 있는 UDP 프록시서버(200)의 주소를 포함하여, 상기 MPUDP 패킷이 UDP 프록시서버로 전송될 수 있도록 한다. 즉, 상기 MPUDP 패킷은 원래의 UDP 패킷의 목적지인 콘텐츠서버(400)의 주소뿐 아니라 MPUDP 기능을 수행할 수 있는 UDP 프록시서버(200)의 주소를 포함하여, 상기 MPUDP 패킷이 UDP 프록시서버(200)를 거쳐 콘텐츠서버(400)로 전송될 수 있도록 한다.
MPUDP관리부(320)의 MPUDP 패킷은 스케줄러(330)에 의해 전송 경로가 결정되고 분배된다. 상기 스케줄러(330)는 사용자단말(300)에서 MPUDP 패킷을 전송할 수 있는 경로의 전송품질을 평가하고, 평가된 상기 전송품질에 기초하여 MPUDP 패킷을 분배한다. 이와 같이 전송품질이 양호하여 빠른 속도로 전송할 수 있는 경로를 통해 더 많은 MPUDP 패킷을 전송하고, 전송품질이 좋지 않은 경로로는 적은 수의 MPUDP 패킷을 전송함으로써 더 효율적인 패킷의 전송을 수행할 수 있게 된다.
이처럼 분배된 MPUDP 패킷은 각각의 전송 경로에 따른 IP들(340)(350)을 통해 전송된다. 도 3을 참고하면 IP-A(340)는 Wi-Fi를 통해 네트워크에 연결되어 데이터를 전송하고, IP-B(350)는 LTE망을 통해 네트워크에 연결되어 데이터를 프록시서버(200)로 전송한다.
이처럼 각각의 네트워크를 통해 전송된 MPUDP 패킷은 프록시서버(200)의 IP-C(230)를 통해 수신된다.
수신된 MPUDP 패킷은 프록시서버(200)의 MPUDP관리부(220)를 통해 병합되어 UDP 패킷으로 복원된다.
복원된 UDP 패킷은 프록시서버(200)의 UDP프록시(210)를 거쳐 UDP관리부(240)를 통해 콘텐츠서버(400)로 전송된다. 이 때 IP-D(280)를 통해 인터넷으로 연결되어 콘텐츠서버(400)로 전송되는데, 상기 IP-D(280)는 IP-C(230)와 동일하더라도 무방하다.
이처럼 사용자단말(300)에서 생성된 UDP 트래픽은 도 3에서 보는 바와 같이 두 개의 서브플로우(subflow)로 나뉘어 프록시서버(200)에 전송되고, 두 개의 서브플로우 A 및 서브플로우 B는 프록시서버(200)에서 다시 병합되어 UDP 트래픽이 된다.
이와 같이 다중 경로를 이용하여 UDP 패킷을 전송하기 위하여 사용자단말(300)은 UDP 패킷을 분할하여 MPUDP 패킷을 생성하여 각각의 경로로 전송하고, 이를 수신한 UDP 프록시서버(200)는 수신한 MPDUP 패킷을 병합하여 UDP 패킷을 복원한 후 콘텐츠서버(400)로 전송함으로써 MPDUP 패킷의 처리기능이 없는 콘텐츠서버(400)와도 다중 경로를 통한 MPUDP를 이용하여 통신을 수행할 수 있고, 통신 속도의 상승 효과를 발휘할 수 있게 된다.
도 4는 본 발명의 일 실시예에 따른 다중 경로 TCP 및 다중 경로 UDP 트래픽의 처리 구조를 개략적으로 도시하는 블록도이다.
도 4를 참조하면 다중 경로 환경에서 TCP 및 UDP 트래픽을 처리하기 위한 시스템의 구조를 확인할 수 있다.
사용자단말(300)의 어플리케이션은 UDP 뿐만 아니라 TCP를 이용해서도 통신을 수행한다. 이를 위해 UDP 패킷을 처리하는 UDP릴레이(310) 외에도 TCP를 통해 프록시서버(200)와 프록시 통신을 하는 프록시 클라이언트(360) 또한 필요하다.
사용자단말(300)의 어플리케이션 3(383)은 TCP를 사용하여 콘텐츠서버(400)와 통신을 수행하고, 어플리케이션 4(384)는 UDP를 사용하여 콘텐츠서버(400)와 통신을 수행한다.
이 때 UDP를 사용하여 다중 경로 환경에서 콘텐츠서버(400)와 통신을 수행하는 어플리케이션 4(384)의 UDP 패킷은 도 3에서 설명한 바와 동일하게 UDP릴레이(310), MPUDP관리부(320), 스케줄러(330), IP-A(340), IP-B(350), IP-C(230), MPUDP관리부(220), UDP프록시(210), UDP관리부(240) 및 IP-D(280)을 거쳐 인터넷으로 연결되어 콘텐츠서버(400)로 전송된다. 이에 대한 상세한 내용은 도 3과 동일하기 때문에 생략한다.
사용자단말(300)의 어플리케이션 3은 TCP를 사용하여 콘텐츠서버(400)와 통신을 수행한다.
이 때, 통신을 위하여 어플리케이션 3(383)에서 생성된 TCP 패킷은 다중 경로 TCP(MPTCP)를 사용하여 전송되기 위하여 프록시 클라이언트(360)를 통해 프록시서버(200)와 프록시 통신을 수행하게 된다. 상기 프록시 클라이언트(360)는 상기 TCP 패킷을 분할하고 헤더를 수정하여 TCP 패킷이 프록시서버(200)를 거쳐 원래의 목적지인 콘텐츠서버(400)로 전송되도록 하는 MPTCP 패킷을 생성하여 MPTCP관리부(370)로 전송한다.
MPTCP관리부(370)의 MPTCP 패킷은 스케줄러(330)에 의해 전송 경로가 결정되고 분배된다. 상기 스케줄러(330)는 사용자단말(300)에서 MPTCP 패킷을 전송할 수 있는 경로의 전송품질을 평가하고, 평가된 상기 전송품질에 기초하여 MPTCP 패킷을 분배한다. 이와 같이 전송품질이 양호하여 빠른 속도로 전송할 수 있는 경로를 통해 더 많은 MPTCP 패킷을 전송하고, 전송품질이 좋지 않은 경로로는 적은 수의 MPUDP 패킷을 전송함으로써 더 효율적인 패킷의 전송을 수행할 수 있게 된다.
상기 스케줄러(330)는 MPUDP 패킷을 분배하는 방식과 동일하게 MPTCP 패킷을 분배한다. 또한, MPUDP 패킷과 MPTCP 패킷이 동시에 입력되는 경우 상기 MPUDP 패킷 및 MPTCP 패킷을 각각 분배하여 각각의 전송 경로에 따라 프록시서버(200)로 전송할 수 있게 한다.
이와 같이 하나의 스케줄러(330)가 MPUDP 패킷 및 MPTCP 패킷을 분배하기 때문에, 전송 경로에 대한 전송품질의 평가 결과를 공유하여 패킷을 분배할 수 있다. 더욱 상세하게는 UDP의 경우 비연결형 프로토콜로서 연결 설정을 하지 않기 때문에 UDP 패킷의 전송을 통해 전송 경로의 정보를 파악하기 어렵다. 따라서 스케줄러(330)가 전송하는 연결지향 프로토콜인 TCP 패킷의 전송을 위해 연결 세션을 성립할 때 측정된 왕복시간(RTT) 등을 통해 대역폭 등의 전송품질을 측정하여 평가할 수 있다.
이처럼 분배된 MPTCP 패킷은 각각의 전송 경로에 따른 IP들(340)(350)을 통해 전송된다. 도 4를 참고하면 IP-A(340)는 Wi-Fi를 통해 네트워크에 연결되어 데이터를 전송하고, IP-B(350)는 LTE망을 통해 네트워크에 연결되어 데이터를 프록시서버(200)로 전송한다.
이처럼 각각의 네트워크를 통해 전송된 MPTCP 패킷은 프록시서버(200)의 IP-C(230)를 통해 수신된다.
수신된 MPTCP 패킷은 프록시서버(200)의 MPTCP관리부(270)를 통해 병합되어 TCP 패킷으로 복원된다.
복원된 TCP 패킷은 프록시서버(200)의 TCP프록시(260)를 거쳐 TCP관리부(250)를 통해 콘텐츠서버(400)로 전송된다. 이 때 IP-D(280)를 통해 인터넷으로 연결되어 콘텐츠서버(400)로 전송되는데, 상기 IP-D(280)는 IP-C(230)와 동일하더라도 무방하다.
이처럼 사용자단말(300)에서 생성된 TCP 및 UDP 트래픽은 도 4에서 보는 바와 같이 두 개의 서브플로우(subflow)로 나뉘어 프록시서버(200)에 전송되고, 두 개의 서브플로우 A 및 서브플로우 B는 프록시서버(200)에서 다시 병합되어 TCP 및 UDP 트래픽이 된다.
이와 같이 다중 경로를 이용하여 TCP 또는 UDP 패킷을 전송하기 위하여 사용자단말(300)은 프로토콜의 종류에 따라 TCP 또는 UDP 패킷을 분할하여 MPTCP 또는 MPUDP 패킷을 생성하여 각각의 경로로 전송하고, 이를 수신한 프록시서버(200)는 수신한 MPTCP 또는 MPUDP 패킷을 병합하여 TCP 또는 UDP 패킷을 복원한 후 콘텐츠서버(400)로 전송함으로써 다중 경로 통신 기능이 없는 콘텐츠서버(400)와도 다중 경로를 통한 MPTCP 또는 MPUDP를 이용하여 통신을 수행할 수 있고, 통신 속도의 상승 효과를 발휘할 수 있게 된다.
도 5는 본 발명의 일 실시예에 따른 다중 경로 UDP 패킷 처리 방법의 단계들을 개략적으로 도시하는 순서도이다.
도 5를 참조하면 본 발명의 일 실시예에 따른 다중 경로 UDP 패킷 처리 방법은 패킷포워딩단계(S100), MPUDP변환단계(S200), 패킷스케줄링단계(S300), 패킷전송단계(S400), 패킷수신단계(S500) 및 패킷병합단계(S600)를 포함한다.
패킷포워딩단계(S100)에서는 발생한 UDP 패킷을 다중 경로로 전송하도록 UDP릴레이로 포워딩 한다. 사용자단말(300)의 각 어플리케이션들은 콘텐츠서버(400)와 UDP 통신을 수행할 때, 다중 경로 UDP를 사용할 수 있는 경우, MPUDP 통신을 수행할 수 있는 UDP 프록시서버(200)를 경유하여 콘텐츠서버(400)와 프록시 통신을 수행하도록 UDP릴레이로 패킷을 포워딩 한다.
MPUDP변환단계(S200)에서는 상기 UDP 패킷을 복수개의 경로를 통하여 전송 가능하도록 분할하고 릴레이헤더를 붙여 MPUDP 패킷으로 변환한다.
이 때, 상기 릴레이헤더는 상기 패킷병합단계를 수행할 수 있는 UDP 프록시서버(200)의 주소를 포함하여, 상기 MPUDP 패킷이 UDP 프록시서버로 전송될 수 있도록 한다. 즉, 상기 MPUDP 패킷은 원래의 UDP 패킷의 목적지인 콘텐츠서버(400)의 주소뿐 아니라 MPUDP 기능을 수행할 수 있는 UDP 프록시서버(200)의 주소를 포함하여, 상기 MPUDP 패킷이 UDP 프록시서버(200)를 거쳐 콘텐츠서버(400)로 전송될 수 있도록 한다.
패킷스케줄링단계(S300)에서는 상기 MPUDP 패킷의 전송 경로를 결정하여 분배한다. 이 때, 전송 경로를 결정하기 위하여 MPUDP 패킷을 전송 가능한 경로의 전송품질을 평가하고, 평가된 상기 전송품질에 기초하여 MPUDP 패킷을 분배할 수 있다. 이와 같이 더 많은 MPUDP 패킷을 전송품질이 양호하여 빠른 속도로 전송할 수 있는 경로를 통해 전송하고, 전송품질이 좋지 않은 경로로는 적은 수의 MPUDP 패킷을 전송함으로써 더 효율적인 패킷의 전송을 수행할 수 있게 된다.
패킷전송단계(S400)에서는 상기 패킷스케줄링단계(S300)에서 결정된 전송 경로에 따라 상기 MPUDP 패킷을 전송한다. 본 발명의 일 실시예에 따른 패킷전송단계(S400)에서는 상기 MPDUP 패킷을 각각의 경로로 전송하기 위하여 복수의 IP를 통하여 별도의 망을 통해 전송할 수 있다.
패킷수신단계(S500)에서는 상기 패킷전송단계(S400)에서 전송된 MPUDP 패킷을 수신한다.
패킷병합단계(S600)에서는 상기 패킷수신단계(S500)에서 수신한 상기 MPUDP 패킷을 병합하여 UDP 패킷을 복원한다. 이 때, UDP는 비연결형 프로토콜로서, 손실 데이터를 탐지하지 않기 때문에, 복수의 경로를 통해 분할된 패킷을 수신 한 경우, 원래의 UDP 패킷을 복원하는 데 어려움이 있을 수 있다. 따라서 본 발명의 일 실시예에 따르면 상기 MPUDP 패킷의 릴레이헤더에 패킷정렬신호 및 시퀀스정보를 포함하여, 수신한 MPUDP 패킷을 재정렬하고 UDP 패킷을 복원함으로써 통신의 신뢰성을 높인다.
도 6은 본 발명의 일 실시예에 따른 패킷스케줄링단계의 세부 단계들을 개략적으로 도시하는 순서도이다.
도 6을 참조하면 본 발명의 일 실시예에 따른 패킷스케줄링단계(S300)는 전송품질평가단계(S310), 패킷분배단계(S320) 및 전송경로입력단계(S330)를 포함한다.
전송품질평가단계(S310)에서는 MPUDP 패킷이 전송될 수 있는 전송 경로의 전송품질을 평가한다. 본 발명의 일 실시예에 따르면 스케줄러(330)는 MPTCP 패킷의 전송 시 상기 MPTCP 패킷의 전송품질을 평가함으로써 전송 경로의 전송품질을 평가한다. 이는 UDP의 경우 비연결형 프로토콜로서 연결 설정을 하지 않기 때문에 UDP 패킷의 전송을 통해 전송 경로의 정보를 파악하기 어렵다. 따라서 스케줄러(330)가 전송하는 연결지향 프로토콜인 TCP 패킷의 전송을 위해 연결 세션을 성립할 때 측정된 왕복시간(RTT) 등을 통해 대역폭 등의 전송품질을 측정하여 평가한다.
이와 같은 전송품질은 전송 경로의 왕복 시간(RTT) 및 전송 경로의 사용 가능한 용량 등 기초하여 평가될 수 있다.
패킷분배단계(S320)에서는 상기 전송품질평가단계(S310)의 전송품질 평가 결과에 기초하여 전송할 MPUDP 패킷을 분배한다. 패킷을 전송 가능한 경로의 전송품질이 양호하여 빠르게 전송할 수 있는 전송 경로의 경우 더 많은 MPUDP 패킷을 전송하고, 전송품질이 불량하여 전송에 어려움이 있는 전송 경로의 경우 적은 수의 MPUDP 패킷을 전송하여 전체적인 전송 속도의 저하를 방지하게 된다.
본 발명의 일 실시예에 따르면 MPUDP 패킷을 분배할 때, 전송 경로의 왕복 시간뿐만 아니라 상기 전송 경로의 사용 가능한 용량에 기초하여 전송 경로를 통해 전송되는 MPUDP 패킷의 전송 byte 수를 조절할 수 있다. UDP 패킷의 경우 비연결형 프로토콜이기 때문에 수신자가 패킷의 수신에 따라 즉시 확인하여 피드백 하지 않고, 주기적으로 수신을 확인하여 패킷을 체크하기 때문에 전송 경로의 버퍼 등의 용량이 적은 경우, 데이터의 손실이 일어날 수 있기 때문에, 전송 용량을 조절하여 데이터의 손실을 방지할 수 있는 효과를 발휘할 수 있다.
전송경로입력단계(S330)에서는 분배된 상기 MPUDP 패킷의 헤더에 전송 경로 정보를 입력한다. 상기 패킷분배단계(S320)에서 전송 경로에 따라 분배된 각각의 MPUDP 패킷은 각각의 전송 경로를 통해 전송될 수 있도록 헤더에 전송 경로 정보가 입력된다. 이 후 상기 MPUDP 패킷은 헤더에 포함된 정보에 의해 각각의 전송 경로를 통해 프록시서버(200)로 전송된다.
도 7은 본 발명의 일 실시예에 따른 스케줄러의 전송 경로 품질 평가 방법을 개략적으로 도시하는 도면이다.
도 7을 참조하면 상기 전송품질평가단계는 더미 TCP 패킷을 전송하여 전송 경로의 전송품질을 평가할 수 있다.
UDP는 비연결형 프로토콜로서 UDP 패킷의 전송을 통해서는 전송 경로의 전송품질을 평가하기 어렵다. 따라서, 동일한 전송 경로를 사용하는 TCP 패킷의 전송 과정을 통해 전송 경로의 전송품질을 파악하고, 이에 기초하여 UDP 패킷의 분배가 이루어진다.
다만, 무선 통신의 경우 전송 경로의 전송품질은 사용자단말(300)의 이동 또는 환경에 따라 시시각각으로 달라지기 때문에, 파악한 전송품질 또한 시간이 지나면 실제의 전송품질과 달라지게 된다.
따라서 정확한 전송품질 평가를 위하여 전송품질을 평가한 후 어느 정도의 시간이 지나도록 다른 TCP 패킷의 전송이 이루어지지 않아 새롭게 전송품질을 평가하지 못한 경우, 전송품질을 평가하기 위한 더미 TCP 패킷을 전송하여 전송품질을 평가하는 것이 바람직하다.
도 7을 참조하면 스케줄러(330)는 기설정된 시간 동안 TCP 패킷의 전송이 없는 경우, 품질 평가를 위한 더미 TCP 패킷을 전송하여 전송품질을 평가한다. 이 때 연결되어 생성될 수 있는 모든 서브플로우에 대하여 TCP 패킷을 전송하여 전송품질을 평가하는 것이 바람직하다.
도 8은 본 발명의 일 실시예에 따른 스케줄러의 동작을 개략적으로 도시하는 도면이다.
도 8의 (A)를 참조하면 본 발명의 일 실시예에 따른 스케줄러가 두 개의 서브플로우에 대해 UDP 패킷을 전송하여 프록시서버(200)로 전달되는 과정이 도시되어 있다.
이 때, 두 서브플로우의 대역폭 및 속도가 동일한 경우, 두 서브플로우에 동일한 크기의 UDP 패킷을 전송하여 프록시서버(200)가 수신하도록 하는 것이 바람직하다.
도 8의 (B)에는 스케줄러가 전송하는 두 서브플로우의 대역폭이 다른 경우가 도시되어 있다. 이와 같이 서브플로우 A의 대역폭이 서브플로우 B에 비해 넓어 전송 속도가 높은 경우, 두 서브플로우에 동일한 크기의 UDP 패킷을 전송하게 되면 서브플로우 B를 통한 패킷은 느리게 전송되고, 서브플로우 A를 통한 패킷은 빠르게 전달되어 두 경로를 통한 전송에 필요한 시간이 달라지게 된다. 결국 모든 패킷을 수신하기 위해서는 서브플로우 B를 통한 패킷이 모두 전송되기를 기다려야 하고, 이는 전송속도의 저하의 원인이 된다.
따라서 이와 같이 서브플로우의 대역폭 및 속도가 다른 경우, 스케줄러는 대역폭이 넓은 서브플로우 A에 더 많은 UDP 패킷을 전송하고, 서브플로우 B에는 적은 UDP 패킷을 전송함으로써 전송에 있어서의 속도 저하를 방지할 수 있게 된다.
도 9는 본 발명의 일 실시예에 따른 스케줄러의 패킷 분배 단계들을 개략적으로 도시하는 순서도이고 도 10은 본 발명의 일 실시예에 따른 스케줄러의 패킷 분배 방법을 개략적으로 도시하는 도면이다.
도 9를 참조하면 본 발명의 일 실시예에 따른 스케줄러의 패킷분배단계(S320)는 지연예측단계(S321) 및 도착예측분배단계(S322)를 포함한다.
지연예측단계(S321)에서는 상기 전송품질평가단계(S310)에서 파악한 전송 경로의 왕복 시간에 기초하여 전송 지연 시간을 예측한다.
도착예측분배단계(S322)에서는 상기 지연예측단계(S321)에서 예측한 지연 시간에 기초하여 MPUDP 패킷이 순차적으로 도착할 수 있도록 패킷을 분배한다.
도 10을 참조하여 상기 지연예측단계(S321) 및 도착예측분배단계(S322)에 대해 더욱 자세히 설명하도록 한다.
도 10을 참조하면 MPUDP 패킷의 송신단 및 수신단에서 8개의 MPUDP 패킷이 전송되는 것을 볼 수 있다. 이 때 점선으로 표시된 화살표는 서브플로우 A를 통해 전송되는 MPUDP 패킷이고, 실선으로 표시된 화살표는 서브플로우 B를 통해 전송되는 MPUDP 패킷이다. 이 때 서브플로우 A는 서브플로우 B에 비해 전송 속도가 빠르다.
도 10의 (A)는 송신단에서 서브플로우 A와 서브플로우 B에 동일한 양의 MPUDP 패킷을 전송하는 경우이다.
이 때 서브플로우 A와 서브플로우 B를 통해 MPUDP 패킷이 순차적으로 번갈아 가며 전송된다. 따라서 수신단에서는 전송 속도가 더 빠른 서브플로우 A를 통한 MPUDP 패킷인 UDP1, UDP3, UDP5, UDP7이 먼저 도착하고, 얼마간의 지연이 있은 후 서브플로우 B를 토한 MPUDP 패킷인 UDP 2, UDP4, UDP6, UDP8이 도착하게 된다.
이와 같이 두 서브플로우의 속도가 다름에도 동일한 양의 패킷을 전송하는 경우, 더 느린 서브플로우로 인해 전체적인 전송 속도가 느려지게 된다.
이를 방지하기 위하여 도 10의 (B)에서는 서브플로우 A를 통해 6개의 패킷을 전송하고, 서브플로우 B를 통해 2개의 패킷을 전송한다.
이와 같이 더 느린 서브플로우에 더 적은 수의 패킷을 전송함으로써 전체적인 전송 시간의 지연을 방지하고, 더 효율적인 전송이 가능하게 된다.
이와 같이 전송을 하기 위하여 서브플로우 A와 서브플로우 B에 두 번째 패킷까지는 순차적으로 번갈아 가며 패킷을 전송하고, 이후에는 서브플로우 A를 통해서만 패킷을 전송한다. 따라서 도 10의 (B)에서 보는 바와 같이 서브플로우 A를 통한 MPUDP 패킷인 UDP1, UDP3, UPD5, UDP6, UDP7, UDP8이 도착한 직후 서브플로우 B를 통한 MPDUP 패킷인 UDP 2, UDP4가 도착하게 된다.
이와 같이 속도가 다른 두 서브플로우에 다른 양의 패킷을 전송함으로써 전체적인 전송 속도의 저하를 방지할 수 있게 된다. 다만, 패킷을 번갈아 가며 전송함으로써 도착한 MPDUP 패킷의 순서가 어긋나게 되는 문제점이 발생하게 된다.
도 10의 (C)에서는 이를 방지하기 위하여 서브플로우 B를 통해 패킷을 전송할 때, 서브플로우 A 및 서브플로우 B를 통한 패킷의 도착에 필요한 시간을 예측하여, MPUDP 패킷이 순차적으로 도착할 수 있도록 한다.
도 10의 (C)를 참조하면, 송신단에서 MPUDP 패킷을 전송하는 경우, 더 빠른 속도를 가져 전송에 필요한 시간이 짧은 서브플로우 A에 순서대로 UDP1 내지 UDP 6을 전송하고, 전송에 필요한 시간이 긴 서브플로우 B에는 UDP7 및 UDP8을 먼저 전송하게 된다.
이와 같이 전송에 필요한 시간을 예측하여 UDP7 및 UDP8을 먼저 서브플로우 B를 통해 전송함으로써 수신단 측에서 MPUDP 패킷을 올바른 순서대로 수신할 수 있게 된다.
이와 같이 순서대로 MPDUP 패킷을 전송하기 위하여, 지연예측단계(S321)에서는 상기 전송품질평가단계(S310)에서 파악한 전송 경로의 왕복 시간에 기초하여 전송 지연 시간을 예측한다. 전송 경로의 왕복 시간(RTT)는 패킷이 전송 경로를 따라 송신단에서 수신단까지 도착한 후 다시 송신단으로 도착하기 까지 경과한 시간이므로 이를 통해 패킷이 송신단에서 수신단까지 도착하는데 필요한 시간을 예측할 수 있다. 본 발명의 일 실시예에 따른 스케줄러(330)는 전송 경로의 전송품질을 평가할 때 전송 경로의 왕복 시간을 측정하므로 이에 기초하여 송신단에서 패킷을 전송한 후 수신단에서 수신할 때까지 지연되는 시간을 예측할 수 있게 된다.
도착예측분배단계(S322)에서는 상기 지연예측단계(S321)에서 예측한 지연 시간에 기초하여 MPUDP 패킷이 순차적으로 도착할 수 있도록 패킷을 분배한다. 본 발명의 일 실시예에 따른 스케줄러(330)는 앞서 예측한 지연 시간으로부터 각각의 경로를 따라 패킷을 순차적으로 전송하는데 필요한 시간 및 전송 후 도달하는데 필요한 시간 등에 기초하여 패킷이 원래의 순서대로 도착할 수 있도록 분배하게 된다. 이와 같은 과정을 통해 도 10의 (C)와 같이 수신단에서 MPUDP 패킷을 순차적으로 수신하여 다시 UDP 패킷으로 병합할 수 있게 된다.
도 11은 본 발명의 일 실시예에 따른 패킷병합단계의 패킷 재정렬 과정을 개략적으로 도시하는 도면이다.
원래의 UDP 패킷을 분할하여 복수 개의 경로를 통해 전송하고, 이를 다시 병합하는 과정에서 각 전송 경로의 속도에 따라 분할된 MPUDP 패킷의 도착 순서가 달라질 수 있다. 이를 그대로 병합하면 원래의 패킷과 다른 패킷이 생성되기 때문에 통신의 신뢰성을 위해서는 순서를 재정렬하여 병합할 필요성이 있다.
도 11을 참조하면 원래의 UDP 패킷이 UDP릴레이(310)를 거치면서 4개의 패킷(UDP1, UDP2, UDP3 및 UDP4)으로 분할되고, 분할된 각 패킷에 릴레이헤더가 붙게 된다.
이 때, 본 발명의 일 실시예에 따르면 상기 릴레이헤더에 패킷정렬신호 및 시퀀스정보를 포함시켜 전송 후 패킷을 재정렬 할 수 있도록 한다.
도 11을 참조하면 분할되어 생성된 MPUDP 패킷에는 각각 헤더(H)가 붙고, 각 헤더에는 분할된 패킷의 순서를 나타내는 패킷정렬신호 및 시퀀스정보가 포함되어 있다.
이렇게 분할된 MPUDP 패킷 중 일부는 서브플로우 A를 통해, 일부는 서브플로우 B를 통해 프록시서버(200)로 전송되게 된다.
도 11의 예에서는 서브플로우 A의 전송속도가 더 빨라 서브플로우 A를 통한 MPUDP 패킷(UDP1 및 UDP4)이 먼저 도착하고, 이후 서브플로우 B를 통한 MPDUP 패킷(UDP2 및 UDP3)이 도착하여, 프록시서버(200)는 UDP1, UDP4, UDP2, UDP3의 순서로 수신하게 된다.
이처럼 수신된 MPUDP 패킷을 그대로 병합하게 되면 원래의 UDP 패킷과는 그 내용의 순서가 달라진 UDP 패킷을 복원하게 되어 데이터의 손실이 발생할 수 있게 된다.
따라서 상기 MPUDP 패킷을 수신한 프록시서버(200)는 상기 릴레이헤더에 포함된 패킷정렬신호 및 시퀀스정보에 기초하여 수신한 UDP 패킷을 재정렬하여 패킷을 병합하게 된다.
이 때, 재정렬을 하기 위해서는 분할된 UDP 패킷이 모두 도착해야 하므로 재정렬은 패킷의 도착을 기다린 후 이루어지게 된다. 이 경우 데이터의 손실은 방지할 수 있지만 일부 패킷의 송신이 지연되거나, 손실되는 경우 재정렬 과정에서 모든 패킷의 송신이 지연될 수 있다.
따라서 상기 MPUDP 패킷은 재정렬 옵션을 설정할 수 있고, 상기 재정렬 옵션이 설정된 경우에 프록시서버(200)는 재정렬을 수행하여 병합하고, 상기 재정렬 옵션이 설정되지 않은 경우 그대로 병합하여 전송하도록 하는 것이 바람직하다.
본 발명의 일 실시예에 따르면 UDP 패킷을 다중 경로로 전송함으로써 각각의 경로가 가진 대역폭을 활용하여 전송 속도 향상 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 UDP 패킷을 분할하고 릴레이헤더를 붙여 MPUDP 패킷을 생성한 뒤 UDP 프록시서버로 전송하여 다중 경로로 전송된 MPUDP 패킷을 병합하여 UDP 패킷을 복원함으로써 MPUDP 패킷을 처리하지 못하는 서버 등으로도 UDP 패킷을 다중 경로 전송 가능한 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 스케줄러가 MPUDP 패킷을 다중 경로로 전송함에 있어서 각 전송 경로의 전송품질을 평가하여 MPUDP 패킷의 전송을 분배함으로써, 전송의 안정성을 높이고 전송 속도를 향상할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 스케줄러가 전송 경로의 전송품질을 평가할 때, 연결지향적인 TCP 패킷의 전송품질을 평가하고, 평가된 전송품질을 이용하여 UDP 패킷의 전송을 분배함으로써, UDP 패킷을 원활하게 다중 경로로 전송할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 스케줄러가 기설정된 시간 동안 TCP 패킷의 전송이 없는 경우, 전송품질을 평가하기 위한 더미 TCP 패킷을 전송하여 전송 경로의 전송품질을 지속적으로 파악할 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 전송 경로의 왕복 시간에 기초하여 전송 지연 시간을 예측하고, 이에 기초하여 MPUDP 패킷이 순차적으로 도착할 수 있도록 패킷을 분배함으로써, 전송의 안정성을 높일 수 있는 효과를 발휘할 수 있다.
본 발명의 일 실시예에 따르면 MPUDP 패킷의 릴레이 헤더에 패킷정렬신호 및 시퀀스 정보를 포함하여 패킷 병합 시 MPUDP 패킷을 재정렬하여 패킷을 병합함으로써, 전송의 안정성을 높일 수 있는 효과를 발휘할 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 다중 경로 환경에서 UDP 패킷을 처리하는 방법으로서,
    발생한 UDP 패킷을 다중 경로로 전송하도록 UDP릴레이로 포워딩 하는 패킷포워딩단계;
    상기 UDP 패킷을 복수개의 경로를 통하여 전송 가능하도록 분할하고 릴레이헤더를 붙여 MPUDP 패킷으로 변환하는 MPUDP변환단계;
    상기 MPUDP 패킷의 전송 경로를 결정하여 분배하는 패킷스케줄링단계;
    상기 패킷스케줄링단계에서 결정된 전송 경로에 따라 상기 MPUDP 패킷을 전송하는 패킷전송단계;
    상기 패킷전송단계에서 전송된 MPUDP 패킷을 수신하는 패킷수신단계; 및
    상기 패킷수신단계에서 수신한 상기 MPUDP 패킷을 병합하여 UDP 패킷을 복원하는 패킷병합단계; 를 포함하고,
    상기 릴레이헤더는 패킷정렬신호 및 시퀀스정보를 포함하고,
    상기 MPUDP 패킷은 재정렬 옵션을 설정할 수 있고,
    상기 재정렬 옵션이 설정된 경우, 상기 패킷병합단계는 상기 릴레이헤더에 포함된 패킷정렬신호 및 시퀀스정보에 기초하여 수신한 MPUDP 패킷을 재정렬하여 패킷을 병합하고,
    상기 릴레이헤더는 상기 패킷병합단계를 수행할 수 있는 UDP 프록시서버의 주소를 포함하여, 상기 MPUDP 패킷이 UDP 프록시서버로 전송될 수 있도록 하고,
    상기 패킷스케줄링단계는,
    MPUDP 패킷이 전송될 수 있는 전송 경로의 전송품질을 평가하는 전송품질평가단계;
    상기 전송품질평가단계의 전송품질 평가 결과에 기초하여 전송할 MPUDP 패킷을 분배하는 패킷분배단계; 및
    분배된 상기 MPUDP 패킷의 헤더에 전송 경로 정보를 입력하는 전송경로입력단계; 를 포함하고,
    상기 UDP 패킷 처리 방법은, 다중 경로 TCP 패킷의 전송단계를 더 포함하고,
    상기 다중 경로 TCP 패킷의 전송단계는,
    상기 UDP 패킷이 발생한 어플리케이션과 상이한 어플리케이션으로부터 발생한 TCP 패킷을 프록시 클라이언트로 전송하는 프록시클라이언트포워딩단계;
    상기 TCP 패킷을 복수개의 경로를 통하여 전송 가능하도록 분할하여 MPTCP 패킷으로 변환하는 MPTCP변환단계;
    상기 MPTCP 패킷의 전송 경로를 결정하여 분배하는 TCP패킷스케줄링단계;
    상기 TCP패킷스케줄링단계에서 결정된 전송 경로에 따라 상기 MPTCP 패킷을 전송하는 TCP패킷전송단계;
    상기 TCP패킷전송단계에서 전송된 MPTCP 패킷을 수신하는 TCP패킷수신단계; 및
    상기 TCP패킷수신단계에서 수신한 상기 MPTCP 패킷을 병합하여 TCP 패킷을 복원하는 TCP패킷병합단계; 를 포함하고,
    상기 TCP패킷스케줄링단계는 상기 TCP 패킷의 전송품질을 평가하는 단계를 포함하고,
    상기 전송품질평가단계는,
    상기 TCP패킷스케줄링단계에서 평가된 전송 경로의 전송품질에 기초하여 UDP 패킷의 전송 경로의 전송품질을 도출하는 UDP 패킷 처리 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 청구항 1에 있어서,
    상기 전송품질평가단계는,
    기설정된 시간 동안 다중 경로 TCP 패킷의 전송단계에 의한 TCP 패킷의 전송이 없는 경우,
    더미 TCP 패킷을 전송하여 전송 경로의 전송품질을 평가하는 것을 특징으로 하는, UDP 패킷 처리 방법.
  8. 청구항 7에 있어서,
    상기 전송품질평가단계는,
    상기 전송 경로의 왕복 시간(RTT)에 기초하여 전송 경로의 전송품질을 평가하는 것을 특징으로 하는, UDP 패킷 처리 방법.
  9. 청구항 8에 있어서,
    상기 패킷분배단계는,
    상기 전송품질평가단계에서 파악한 전송 경로의 왕복 시간에 기초하여 전송 지연 시간을 예측하는 지연예측단계; 및
    상기 지연예측단계에서 예측한 지연 시간에 기초하여 MPUDP 패킷이 순차적으로 도착할 수 있도록 패킷을 분배하는 도착예측분배단계; 를 포함하는 UDP 패킷 처리 방법.
  10. 청구항 7에 있어서,
    상기 전송품질평가단계는,
    상기 전송 경로의 왕복 시간(RTT) 및 전송 경로의 사용 가능한 용량에 기초하여 경로의 전송품질을 평가하고,
    상기 패킷분배단계는,
    상기 전송 경로의 사용 가능한 용량에 기초하여 전송 경로를 통해 전송되는 MPUDP 패킷의 전송 byte 수를 조절할 수 있는 것을 특징으로 하는, UDP 패킷 처리 방법.
KR1020170079511A 2017-06-23 2017-06-23 다중 경로 환경에서의 udp 패킷 처리 방법 KR101983088B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170079511A KR101983088B1 (ko) 2017-06-23 2017-06-23 다중 경로 환경에서의 udp 패킷 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170079511A KR101983088B1 (ko) 2017-06-23 2017-06-23 다중 경로 환경에서의 udp 패킷 처리 방법

Publications (2)

Publication Number Publication Date
KR20190000468A KR20190000468A (ko) 2019-01-03
KR101983088B1 true KR101983088B1 (ko) 2019-05-31

Family

ID=65021957

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170079511A KR101983088B1 (ko) 2017-06-23 2017-06-23 다중 경로 환경에서의 udp 패킷 처리 방법

Country Status (1)

Country Link
KR (1) KR101983088B1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147573A (zh) 2019-12-24 2020-05-12 网宿科技股份有限公司 一种数据传输的方法和装置
KR20210137702A (ko) * 2020-05-11 2021-11-18 삼성전자주식회사 전자 장치 및 전자 장치에서 수신된 데이터 패킷을 처리하는 방법
KR102353540B1 (ko) * 2020-08-05 2022-01-20 타이아(주) 이미지 파편을 이용한 5g 무선 네트워크 패킷 보안 시스템
CN113438155B (zh) * 2021-06-25 2022-11-01 北京网聚云联科技有限公司 虚拟多链路的智能可靠的udp传输方法、装置和设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005079534A2 (en) * 2004-02-19 2005-09-01 Georgia Tech Research Corporation Systems and methods for parallel communication
JP4780343B2 (ja) * 2006-01-23 2011-09-28 日本電気株式会社 通信方法、通信システム、ノードおよびプログラム
KR101217861B1 (ko) * 2010-06-18 2013-01-02 광주과학기술원 멀티홈잉 네트워크에서 다중 경로 전송, 수신 방법, 송신 단말 및 수신 단말
KR102314382B1 (ko) * 2015-12-02 2021-10-18 주식회사 엘지유플러스 다중 경로 패킷 데이터 서비스 제공 방법 및 장치

Also Published As

Publication number Publication date
KR20190000468A (ko) 2019-01-03

Similar Documents

Publication Publication Date Title
US11451481B2 (en) Network control apparatus and network control method
KR101983088B1 (ko) 다중 경로 환경에서의 udp 패킷 처리 방법
JP4430597B2 (ja) ネットワークシステム、送信側振分装置、パケット通信方法、および、パケット通信プログラム
US8149704B2 (en) Communication apparatus and data communication method
Pokhrel et al. Improving multipath TCP performance over WiFi and cellular networks: An analytical approach
CN102185771B (zh) Mptcp中发送方数据包调度方法及系统
KR102187810B1 (ko) 통신 시스템에서 데이터 흐름 제어 장치 및 방법
US20160218979A1 (en) Apparatus and method for transmitting packets through multi-homing based network
US11159442B2 (en) Techniques for efficient reordering of data packets in multipath scenarios
CN111817977B (zh) 一种网络拥塞控制方法和装置
KR20180118290A (ko) 이동 통신 네트워크 내 다중 링크 상에서의 패킷 분배 방법 및 장치
US8081579B2 (en) Communication control apparatus, wireless communication apparatus, communication control method and wireless communication method
CN112019395B (zh) 用于网络的测量的方法、网络设备和系统
KR20150089853A (ko) 이종 무선망에서 트래픽 분산 제어방법 및 장치
KR20150074018A (ko) Tcp 매퍼를 위한 시스템 및 방법
JP4488256B2 (ja) 通信方法、ノード及び制御プログラム
WO2018021734A1 (ko) 무선 통신 시스템에서 데이터의 전송 방법 및 장치
Le et al. Forward delay-based packet scheduling algorithm for multipath TCP
Zhang et al. Providing explicit congestion control and multi-homing support for content-centric networking transport
JP5775214B2 (ja) 適応性の伝送キュー長を用いたデータパケット損失低減システムおよび方法
CN113271256B (zh) 一种信息年龄多路径传输方法及系统
JP2006197473A (ja) ノード
Zinner et al. Using concurrent multipath transmission for transport virtualization: analyzing path selection
US20090252167A1 (en) Queue processing method
Park et al. Minimizing application-level delay of multi-path TCP in wireless networks: A receiver-centric approach

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right