KR20200015777A - 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체 - Google Patents

패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR20200015777A
KR20200015777A KR1020207001646A KR20207001646A KR20200015777A KR 20200015777 A KR20200015777 A KR 20200015777A KR 1020207001646 A KR1020207001646 A KR 1020207001646A KR 20207001646 A KR20207001646 A KR 20207001646A KR 20200015777 A KR20200015777 A KR 20200015777A
Authority
KR
South Korea
Prior art keywords
packet
proxy server
mptcp
tcp
header
Prior art date
Application number
KR1020207001646A
Other languages
English (en)
Other versions
KR102267116B1 (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 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20200015777A publication Critical patent/KR20200015777A/ko
Application granted granted Critical
Publication of KR102267116B1 publication Critical patent/KR102267116B1/ko

Links

Images

Classifications

    • H04L67/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/11Identifying congestion
    • 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/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/825Involving tunnels, e.g. MPLS
    • 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]
    • 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/163In-band adaptation of TCP data exchange; In-band control procedures
    • 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/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/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2212/00Encapsulation of packets

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

본 발명은 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체를 제공한다. 방법은 제1 프록시 서버에 의해, 제2 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하는 단계 - MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함함 - 와, 제1 프록시 서버에 의해 사용자 데이터그램 프로토콜(UDP) 패킷이 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신한 후 MPTCP 헤더와 함께 IP 패킷을 캡슐화하는 단계와, 제1 프록시 서버에 의해 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 단계를 포함한다. 본 발명의 실시예에 기초하여, 호환성이 떨어지는 기술적 문제가 해결될 수 있으므로, 완전한 UDP 패킷이 복원될 수 있다.

Description

메시지 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체
본 발명은 통신 분야에 관한 것으로, 특히, 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체에 관한 것이다.
다중경로 전송 제어 프로토콜(Multipath Transport Control Protocol, MPTCP)은 복수의 경로가 동시 전송을 위해 사용되는 전송 계층 프로토콜이며, 종단 간 처리율을 개선하고 네트워크 이용률 및 리던던시를 증가시킬 수 있다. MPTCP 프로토콜에 대해서는 RFC6824를 참조한다.
MPTCP는 전송 제어 프로토콜(Transport Control Protocol, TCP)과 완전히 호환되며, TCP 옵션 헤더가 TCP에 기초하여 추가되어, MPTCP 링크 수립, 링크 제거 및 데이터 전송과 같은 기능을 구현한다. MPTCP의 전형적인 적용 시나리오는 액세스 네트워크에 있거나 엔터프라이즈 네트워크에 있을 수 있다.
액세스 네트워크는 설명을 위해 아래의 예로서 사용된다. 도 1은 종래 기술에서의 하이브리드 액세스의 서비스 시나리오의 개략도이다. 컴퓨터는 와이파이(Wireless Fidelity, WiFi) 또는 유선 네트워크를 사용하여 홈 게이트웨이(Home Gateway, HG)에 접속되고, 이동 단말기는 롱 텀 에볼루션(Long Term Evolution, LTE) 네트워크 또는 WiFi를 사용하여 하이브리드 액세스 통합 지점(Hybrid Access Aggregation Point, HAAP)에 접속된다.
하이브리드 액세스(Bonding Access, BA) 시나리오에서, 디지털 가입자 라인(Digital Subscriber Line, DSL), 이동 통신 네트워크(예를 들어, LTE) 및 WiFi와 같은 복수의 링크 접속이 존재한다. 다시 말해, HG 및 HAAP는 WiFi, DSL 또는 LTE와 같은 방식을 사용하여 접속될 수 있다. 이동 단말기와 HAAP는 WiFi/LTE를 사용하여 접속될 수 있다.
도 2는 종래 기술의 하이브리드 액세스 시나리오에서 MPTCP의 시그널링 절차의 개략도이다. 이동 단말기는 HG를 사용하여 HAAP 및 서버에 접속되고, HG와 HAAP 사이의 접속 네트워크는 LTE 및 DSL을 포함한다. 이동 단말기는 TCP 1, TCP 2 및 TCP 3인 3개의 TCP 패킷을 서버로 전송한다.
서버와 HAAP 사이에 TCP가 사용되고, HAAP와 HG 사이에 MPTCP가 사용되며, HG와 이동 단말기 사이에 TCP가 사용된다.
BA 시나리오에서 MPTCP가 사용될 때, 다중-링크 본딩은 처리율을 향상시키고, 또한 링크 상태 변화에 따라 트래픽이 동적으로 조정된다.
종래 기술에서는, 액세스 네트워크 또는 엔터프라이즈 네트워크에서, UDP 패킷이 캡슐화된 IP 패킷이 전송될 필요가 있다. MPTCP 네트워크를 통과하려면, UDP 헤더를 MPTCP 헤더로 교체해야 하고, MPTCP 캡슐화 구조(즉, MPTCO 헤더의 구조)를 확장하여 구조가 확장된 MPTCP 헤더에 IP 패킷에서 라우팅하는 데 사용되는 정보를 추가해야 한다. 즉, UDP 패킷은 표준 MPTCP 캡슐화 구조를 수정함으로써 MPTCP 네트워크를 통과할 수 있다. 표준 MPTCP 캡슐화 구조를 수정하면 호환성 문제가 발생할 수 있다. 예를 들어, 수신단은 수정된 MPTCP 헤더를 인식할 수 없으므로 UDP 패킷이 복원될 수 없다.
본 발명의 실시예는 종래 기술에서 호환성이 떨어지는 기술적 문제를 해결하여 완전한 UDP 패킷이 복원될 수 있는 패킷 전송 방법을 제공한다.
본 발명의 실시예는 종래 기술에서 호환성이 떨어지는 기술적 문제를 해결하여 완전한 UDP 패킷이 복원될 수 있는 패킷 전송 방법을 더 제공한다.
본 발명의 실시예는 종래 기술에서 호환성이 떨어지는 기술적 문제를 해결하여 완전한 UDP 패킷이 복원될 수 있는 프록시 서버를 더 제공한다.
본 발명의 실시예는 종래 기술에서 호환성이 떨어지는 기술적 문제를 해결하여 완전한 UDP 패킷이 복원될 수 있는 프록시 서버를 더 제공한다.
본 발명의 실시예는 종래 기술에서 호환성이 떨어지는 기술적 문제를 해결하여 완전한 UDP 패킷이 복원될 수 있는 컴퓨터 판독가능 저장 매체를 더 제공한다.
제1 양상에 따르면, 본 발명의 실시예는 패킷 전송 방법을 제공하며, 방법은,
제1 프록시 서버에 의해, 제2 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하는 단계 - MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함함 - 와,
제1 프록시 서버에 의해 사용자 데이터그램 프로토콜(UDP) 패킷이 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신한 후 MPTCP 헤더와 함께 IP 패킷을 캡슐화하는 단계와,
제1 프록시 서버에 의해 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 단계를 포함한다.
제1 양상을 참조하여, 제2 가능한 구현예에서, 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않고,
제1 프록시 서버에 의해 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 단계는,
제1 프록시 서버에 의해, 각각의 TCP 접속의 현재 혼잡 윈도우의 수에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 비율을 계산하는 단계와,
제1 프록시 서버에 의해, 상기 현재 혼잡 윈도우의 비율에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 수를 증가시키는 단계와,
제1 프록시 서버에 의해 현재 혼잡 윈도우의 수가 증가한 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 단계를 포함한다.
제1 양상을 참조하여, 제2 가능한 구현예의 제1 경우에, 제1 프록시 서버에 의해 현재 혼잡 윈도우의 수가 증가한 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 단계는,
제1 프록시 서버에 의해 복수의 TCP 접속의 우선순위에 기초하여 IP 패킷을 전송하기 위한 TCP 접속을 결정하는 단계와,
제1 프록시 서버에 의해 IP 패킷을 전송하기 위한 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 단계를 포함한다.
제1 양상을 참조하여, 제3 가능한 구현예에서, 복수의 TCP 접속은 가용 윈도우를 가지며,
제1 프록시 서버에 의해 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 단계는,
제1 프록시 서버에 의해 가용 윈도우를 갖는 TCP 접속의 우선순위에 기초하여 IP 패킷을 전송하기 위한 TCP 접속을 결정하는 단계와,
제1 프록시 서버에 의해 IP 패킷을 전송하기 위한 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 단계를 포함한다.
제1 양상을 참조하여, 제4 가능한 구현예에서, 제1 프록시 서버에 의해, MPTCP 헤더와 함께 IP 패킷을 캡슐화하는 단계는,
UDP 패킷이 캡슐화된 IP 패킷의 길이가 MPTCP 터널의 최대 세그먼트 크기(MSS)보다 큰 경우, 제1 프록시 서버에 의해 MSS에 기초하여 UDP 패킷이 캡슐화된 IP 패킷을 분할하여 분할된 IP 패킷을 획득하는 단계와,
제1 프록시 서버에 의해, MPTCP 헤더와 함께 분할된 IP 패킷을 캡슐화하는 단계를 포함한다.
제1 양상을 참조하여, 제5 가능한 구현예에서, 제1 프록시 서버는 하이브리드 액세스 통합 지점(HAAP)이고, 제2 프록시 서버는 홈 게이트웨이이다.
제1 양상을 참조하여, 제6 가능한 구현예에서, 제1 프록시 서버와 제2 프록시 서버는 상이한 엔터프라이즈 네트워크의 액세스 라우터이다.
제1 양상을 참조하여, 전술한 가능한 구현예에서, 방법은 TCP 접속에서 패킷 손실이 발생하면, 제1 프록시 서버에 의해, 패킷 손실이 발생하는 TCP 접속의 현재 혼잡 윈도우의 수를 감소시키는 단계를 더 포함한다.
제2 양상에 따르면, 본 발명의 실시예는 패킷 전송 방법을 제공하며, 방법은,
제2 프록시 서버에 의해, 제1 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하는 단계 - MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함함 - 와,
제2 프록시 서버에 의해 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신하는 단계와,
제2 프록시 서버에 의해 MPTCP 헤더에 기초하여 IP 패킷을 랭킹하고, IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하는 단계를 포함한다.
제2 양상을 참조하여, 제1 가능한 구현예에서, IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하는 단계는,
랭킹된 IP 패킷의 MPTCP 헤더를 제거하여 분할된 IP 패킷을 획득하는 단계와,
분할된 IP 패킷을 재조립한 후, 재조립된 IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하는 단계를 포함한다.
제3 양상에 따르면, 본 발명의 실시예는 프록시 서버를 제공하며, 프록시 서버는 수립 모듈, 캡슐화 모듈 및 전송 모듈을 포함하고,
수립 모듈은 제2 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하도록 구성되고, MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함하며,
캡슐화 모듈은 사용자 데이터그램 프로토콜(UDP) 패킷이 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신한 후 MPTCP 헤더와 함께 IP 패킷을 캡슐화하도록 구성되며,
전송 모듈은 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
제3 양상을 참조하여, 제2 가능한 구현예에서, 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않고,
전송 모듈은 구체적으로,
각각의 TCP 접속의 현재 혼잡 윈도우의 수에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 비율을 계산하고,
현재 혼잡 윈도우의 비율에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 수를 증가시키며,
현재 혼잡 윈도우의 수가 증가한 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
제3 양상을 참조하여, 제2 가능한 구현예의 제1 경우에, 전송 모듈은 구체적으로,
복수의 TCP 접속의 우선순위에 기초하여, IP 패킷을 전송하기 위한 TCP 접속을 결정하고, IP 패킷을 전송하기 위한 TCP 접속을 사용하여, MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
제3 양상을 참조하여, 제3 가능한 구현예에서, 복수의 TCP 접속은 가용 윈도우를 가지며,
전송 모듈은 구체적으로,
가용 윈도우를 갖는 TCP 접속의 우선순위에 기초하여, IP 패킷을 전송하기 위한 TCP 접속을 결정하고, IP 패킷을 전송하기 위한 TCP 접속을 사용하여, MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
제3 양상을 참조하여, 제4 가능한 구현예에서, 캡슐화 모듈은 구체적으로, UDP 패킷이 캡슐화된 IP 패킷의 길이가 MPTCP 터널의 최대 세그먼트 크기(MSS)보다 큰 경우, MSS에 기초하여, UDP 패킷이 캡슐화된 IP 패킷을 분할하여 분할된 IP 패킷을 획득하고, MPTCP 헤더와 함께 분할된 IP 패킷을 캡슐화하도록 구성된다.
제3 양상을 참조하여, 제5 가능한 구현예에서, 제1 프록시 서버는 하이브리드 액세스 통합 지점(HAAP)이고, 제2 프록시 서버는 홈 게이트웨이이다.
제3 양상을 참조하여, 제6 가능한 구현예에서, 제1 프록시 서버와 제2 프록시 서버는 상이한 엔터프라이즈 네트워크의 액세스 라우터이다.
제3 양상을 참조하여, 전술한 가능한 구현예에서, 프록시 서버는 제어 모듈을 더 포함하고, 제어 모듈은, TCP 접속에서 패킷 손실이 발생하면, 패킷 손실이 발생하는 TCP 접속의 현재 혼잡 윈도우의 수를 감소시키도록 구성된다.
제4 양상에 따르면, 본 발명의 실시예는 프록시 서버를 제공하며, 프록시 서버는 수립 모듈, 수신 모듈 및 파싱 모듈을 포함하고,
수립 모듈은 제1 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하고, MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함하며,
수신 모듈은 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신하도록 구성되고,
파싱 모듈은 MPTCP 헤더에 기초하여 IP 패킷을 랭킹하고, IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하도록 구성된다.
제4 양상을 참조하여, 제2 가능한 구현예에서, 파싱 모듈은 구체적으로, 랭킹된 IP 패킷의 MPTCP 헤더를 제거하여 분할된 IP 패킷을 획득하고, 분할된 IP 패킷을 재조립한 후, 재조립된 IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하도록 구성된다.
본 출원의 제5 양상은 컴퓨터 판독가능 저장 매체를 제공하며, 컴퓨터 판독가능 저장 매체는 명령어를 저장하고, 명령어가 컴퓨터에서 실행될 때, 컴퓨터는 전술한 양상의 방법을 수행할 수 있게 된다.
본 출원의 제6 양상은 명령어를 포함하는 컴퓨터 프로그램 제품을 제공하고, 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때, 컴퓨터는 전술한 양상의 방법을 수행할 수 있게 된다.
본 출원의 제7 양상은 컴퓨터 프로그램을 제공하고, 컴퓨터 프로그램이 컴퓨터에서 실행될 때, 컴퓨터는 전술한 양상의 방법을 수행할 수 있게 된다.
전술한 기술적 해결책으로부터, 제1 프록시 서버는 제2 프록시 서버에 대한 MPTCP 터널을 수립하고, MPTCP 터널은 복수의 TCP 접속을 포함하며, 제1 프록시 서버는 UDP 패킷이 캡슐화된 IP 패킷을 수신한 후, MPTCP 헤더와 함께 IP 패킷을 캡슐화하고, 제1 프록시 서버는 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송한다는 것을 알 수 있다. IP 패킷을 전송하는 동안 표준 MPTCP 캡슐화 구조가 사용되는바, 호환성이 떨어지는 기술적 문제가 해결되므로, 완전한 UDP 패킷이 복원될 수 있다.
본 발명은 첨부 도면을 참조하여 본 발명의 특정 구현예에 대한 다음의 설명으로부터 더 잘 이해 될 수 있으며, 동일하거나 유사한 참조 번호는 동일하거나 유사한 특징을 나타낸다.
도 1은 종래 기술에서의 액세스 네트워크의 서비스 시나리오의 개략도이다.
도 2는 종래 기술의 하이브리드 액세스 시나리오에서 MPTCP의 시그널링 절차의 개략도이다.
도 3은 본 발명의 일 실시예에 따른 패킷 전송 방법의 개략적인 흐름도이다.
도 4는 본 발명의 일 실시예에 따라 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 개략적인 흐름도이다.
도 5는 본 발명의 일 실시예에 따라 IP 패킷을 전송하기 위해 TCP 접속에서 자원을 스케줄링하는 개략도이다.
도 6은 본 발명의 일 실시예에 따라 MSS에 기초하여 IP 패킷을 분할하는 개략도이다.
도 7은 본 발명의 다른 실시예에 따른 패킷 전송 방법의 개략적인 흐름도이다.
도 8은 본 발명의 일 실시예에 따라 MPTCP 터널을 사용하여 UDP 패킷을 전송하는 개략도이다.
도 9는 본 발명의 일 실시예에 따른 프록시 서버의 개략적인 구조도이다.
도 10은 본 발명의 다른 실시예에 따른 프록시 서버의 개략적인 구조도이다. 과
도 11은 본 발명의 또 다른 실시예에 따른 프록시 서버의 개략적인 구조도이다.
본 발명의 실시예에서, MPTCP 터널이 제1 프록시 서버와 제2 프록시 서버 사이에 먼저 수립된다. 그런 다음, UDP 패킷이 캡슐화된 IP 패킷을 수신한 후, 제1 프록시 서버는 MPTCP 캡슐화 구조를 변경하지 않고 MPTCP 헤더와 함께 IP 패킷을 캡슐화한다. 마지막으로, MPTCP 헤더와 함께 캡슐화된 IP 패킷은 MPTCP 터널에서 TCP 접속을 사용하여 전송된다. 수신단이 표준 MPTCP 캡슐화 구조를 식별할 수 있으므로, 호환성이 떨어지는 기술적 문제가 해결되며, 따라서 완전한 UDP 패킷이 복원될 수 있다.
도 3은 본 발명의 일 실시예에 따른 패킷 전송 방법의 개략적인 흐름도이다. 도 3의 단계들은 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하기 위해 송신단, 즉, 제1 프록시 서버에 적용될 수 있다. 이 방법은 구체적으로 다음 단계들을 포함한다.
S301. 제1 프록시 서버는 제2 프록시 서버에 대한 MPTCP 터널을 수립하며, MPTCP 터널은 복수의 TCP 접속을 포함한다.
MPTCP는 액세스 네트워크에 적용될 수 있고, 엔터프라이즈 네트워크에도 적용될 수 있다. 액세스 네트워크는 백본 네트워크와 이동 단말기 사이의 모든 디바이스이다. 엔터프라이즈 네트워크는 엔터프라이즈 범위를 커버하는 네트워크이다. 엔터프라이즈 네트워크를 사용하여 엔터프라이즈 간에 데이터가 직접 전송될 수 있다.
다음은 상이한 시나리오에서의 MPTCP의 적용을 개별적으로 설명한다.
MPTCP의 적용 시나리오가 액세스 네트워크에 있을 때, MPTCP 터널은 이동 단말기와 서버 사이에 수립될 수 있다. MPTCP 터널은 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 수립된다.
TCP는 이동 단말기와 게이트웨이 사이에서 사용되고, MPTCP는 HG와 HAAP 사이에 사용되며, TCP는 HAAP와 서버 사이에서 사용된다. 이 경우, MPTCP 터널은 구체적으로 HAPP와 게이트웨이 사이에 설정될 수 있다. 게이트웨이가 HG인 경우, MPTCP 터널은 HAPP와 HG 사이에 수립된다. 이에 대응하여, 제1 프록시 서버는 HAAP일 수 있고, 제2 프록시 서버는 HG일 수 있다.
MPTCP의 적용 시나리오가 엔터프라이즈 네트워크에 있을 때, 엔터프라이즈 네트워크들 사이의 액세스 라우터는 MPTCP를 사용한다. 이 경우, 엔터프라이즈 네트워크들 사이의 액세스 라우터들 사이에 MPTCP 터널이 수립될 수 있다. 제1 프록시 서버는 하나의 엔터프라이즈에 대응하는 제1 액세스 라우터일 수 있고, 제2 프록시 서버는 다른 엔터프라이즈에 대응하는 제2 액세스 라우터일 수 있다. 즉, 제1 프록시 서버와 제2 프록시 서버는 상이한 엔터프라이즈 네트워크의 액세스 라우터이다.
확실히, 다른 네트워크에서, MPTCP가 네트워크 디바이스들 사이에서 사용될 때, IP 패킷을 전송하기 위해 MPTCP 터널이 네트워크 디바이스들 사이에 수립될 수 있다.
S302. 제1 프록시 서버는 UDP 패킷이 캡슐화된 IP 패킷을 수신한 후 MPTCP 헤더와 함께 IP 패킷을 캡슐화한다.
MPTCP 터널에서 TCP 접속을 사용하여 UDP 패킷이 캡슐화된 IP 패킷을 전송하기 위해, 제1 프록시 서버는 IP 패킷을 MPTCP 헤더와 함께 캡슐화할 필요가 있다. MPTCP 헤더와 함께 캡슐화된 IP 패킷을 수신한 후, 수신단은 MPTCP 헤더에 기초하여 수신된 IP 패킷을 랭킹하여 UDP 패킷을 획득할 수 있다.
S303. 제1 프록시 서버는 MPTCP 터널 내의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송한다.
MPTCP 터널은 복수의 TCP 접속을 포함한다. 복수의 TCP 접속으로부터 하나 이상의 TCP 접속이 선택될 수 있으며, MPTCP 헤더와 함께 캡슐화된 IP 패킷은 선택된 TCP 접속을 사용하여 전송된다. 본 명세서에서, 복수의 TCP 접속은 2개의 TCP 접속을 포함하는 2개 이상의 TCP 접속이다.
제1 서버 및 제2 서버는 복수의 TCP 접속을 사용하여 데이터를 전송할 수 있고, TCP 접속은 DSL, 이동 통신 네트워크 및/또는 WiFi와 같은 네트워크 링크를 포함할 수 있다. 따라서, MPTCP 터널은 DSL, 이동 통신 네트워크 및 WiFi와 같은 네트워크에 적용가능하다.
본 발명의 이 실시예에서, MPTCP 터널이 제1 프록시 서버와 제2 프록시 서버 사이에 먼저 수립되고, 제1 프록시 서버는 MPTCP 헤더와 함께 IP 패킷을 캡슐화한다. 그런 다음, 제1 프록시 서버는 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송한다. 표준 MPTCP 구조를 사용하여 IP 패킷이 캡슐화되므로, 호환성이 좋지 않은 기술적 문제가 해결되며, 따라서 완전한 UDP 패킷이 복원될 수 있다.
TCP 접속에서, 데이터는 혼잡 윈도우(congestion window)에 의해 전달된다. 혼잡 윈도우는 전송중인 윈도우와 가용 윈도우를 포함합니다. 전송중인 윈도우는 전달된 데이터가 전송되고 있는 윈도우이고, 가용 윈도우는 전달된 데이터가 현재 전송되고 있지 않은 윈도우이다. TCP 접속이 가용 윈도우를 갖는 경우, 이는 TCP 접속이 가용 자원을 가짐을 나타낸다. TCP 접속이 가용 윈도우를 갖지 않는 경우, 이는 TCP 접속이 가용 자원을 갖지 않음을 나타낸다.
본 발명의 선택적 실시예에서, MPTCP 터널에 포함된 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않는 경우, 이는 TCP 접속 중 어느 것도 가용 자원을 갖지 않음을 나타낸다.
도 4는 본 발명의 일 실시예에 따라 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 개략적인 흐름도이다. 구체적으로, MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하는 것은 다음 단계들을 포함한다.
401. 제1 프록시 서버는 각각의 TCP 접속의 현재 혼잡 윈도우의 수에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 비율을 계산한다.
먼저, 각각의 TCP 접속의 현재 혼잡 윈도우의 수가 결정된다. 예를 들어, 제1 TCP 접속의 현재 혼잡 윈도우의 수는 10이고 제2 TCP 접속의 현재 혼잡 윈도우의 수는 6이다.
그 다음, 복수의 TCP 접속의 현재 혼잡 윈도우의 비율이 계산된다. 예를 들어, 제1 TCP 접속과 제2 TCP 접속 모두 가용 윈도우를 갖지 않는다. 제1 TCP 접속의 현재 혼잡 윈도우와 제 2 TCP 접속의 현재 혼잡 윈도우의 비율은 10/6이다.
402. 제1 프록시 서버는 현재 혼잡 윈도우의 비율에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 수를 증가시킨다.
TCP 접속의 현재 혼잡 윈도우의 수는 이전에 계산된 현재 혼잡 윈도우의 비율에 기초하여 증가한다. 예를 들어, 제1 TCP 접속의 현재 혼잡 윈도우와 제2 TCP 접속의 현재 혼잡 윈도우의 비율은 10/6이다. 제1 TCP 접속의 현재 혼잡 윈도우의 수가 5개의 윈도우만큼 증가하면, 제2 TCP 접속의 현재 혼잡 윈도우의 수가 3개의 윈도우만큼 증가한다.
이러한 방식으로, 제1 TCP 접속의 가용 윈도우의 수는 5이고, 제2 TCP 접속의 가용 윈도우의 수는 3이다. 분명히, 현재 혼잡 윈도우의 수가 증가한 후, 현재 혼잡 윈도우의 비율은 계속 변경되지 않는다.
403. 제1 프록시 서버는 현재 혼잡 윈도우의 수가 증가한 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송한다.
현재 혼잡 윈도우의 수가 증가한 후, 각각의 TCP 접속은 가용 윈도우를 가지는바, MPTCP 헤더와 함께 캡슐화된 IP 패킷은 TCP 접속의 가용 윈도우에서 전송될 수 있다.
본 발명의 실시예에서, 복수의 TCP 접속의 현재 혼잡 윈도우의 수는 현재 혼잡 윈도우의 비율에 기초하여 증가한다. 이러한 방식으로, TCP 접속이 가용 윈도우를 갖지 않을 때, MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하기 위해 TCP 접속의 현재 혼잡 윈도우의 수가 증가할 수 있다.
본 발명의 선택적 실시예에서, 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않는다. 복수의 TCP 접속의 현재 혼잡 윈도우의 수가 증가한 후, 제1 프록시 서버는 TCP 접속의 사전설정된 우선순위에 기초하여 IP 패킷을 전송하기 위한 TCP 접속을 결정할 수 있다. 그 다음, MPTCP 헤더와 함께 캡슐화된 IP 패킷은 IP 패킷을 전송하기 위한 TCP 접속을 사용하여 전송된다.
예를 들어, 제1 TCP 접속도 제2 TCP 접속도 가용 윈도우를 갖지 않고, 제1 TCP 접속의 우선순위는 제2 TCP 접속의 우선순위보다 높다. 제1 프록시 서버는 먼저 제1 TCP 접속을 IP 패킷을 전송하기 위한 TCP 접속으로서 결정하고, 그 다음에 제1 TCP 접속의 증가한 현재 혼잡 윈도우를 통해 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송할 수 있다.
본 발명의 선택적 실시예에서, 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않는다. 복수의 TCP 접속의 현재 혼잡 윈도우의 수가 증가한 후, 제1 프록시 서버는 TCP 접속을 IP 패킷을 전송하기 위한 TCP 접속으로서 랜덤으로 결정할 수 있다. 그 다음에, MPTCP 헤더와 함께 캡슐화된 IP 패킷은 IP 패킷을 전송하기 위한 TCP 접속을 사용하여 전송된다.
본 발명의 선택적 실시예에서, IP 패킷을 전송하기 위한 TCP 접속에서 패킷 손실이 발생하는 경우, 이는 현재 TCP 접속이 불안정함을 나타내고, 제1 프록시 서버가 패킷 손실이 발생하는 TCP 접속의 현재 혼잡 윈도우의 수를 감소시켜 패킷 손실 가능성을 줄일 수 있다.
본 발명의 선택적 실시예에서, MPTCP 터널에 포함된 복수의 TCP 접속이 가용 윈도우를 갖는 경우, 이는 가용 자원을 가진 TCP 접속이 존재한다는 것을 나타낸다.
먼저, 복수의 TCP 접속에서, 제1 프록시 서버는 TCP 접속의 사전설정된 우선순위에 기초하여 그리고 가용 윈도우를 가진 TCP 접속으로부터 IP 패킷을 전송하기 위한 TCP 접속을 결정할 수 있다. 그 다음, MPTCP 헤더와 함께 캡슐화된 IP 패킷은 IP 패킷을 전송하기 위한 TCP 접속을 사용하여 전송된다.
TCP 접속에서의 자원 스케줄링에 기초한 캡슐화된 IP 패킷의 전송은 도 5를 참조하여 아래에 상세히 설명된다. 도 5는 본 발명의 일 실시예에 따라 IP 패킷을 전송하기 위해 TCP 접속에서 자원을 스케줄링하는 개략도이다.
제1 프록시 서버와 제 2 프록시 서버 사이에 TCP 1과 TCP 2인 2개의 TCP 접속이 있다.
제1 프록시 서버와 제2 프록시 서버 사이에 MPTCP 터널이 수립된 후, IP 플로우는 TCP 1 및 TCP 2의 각각에서 대응하는 TCP 서브플로우를 갖는다. TCP 1의 우선순위는 TCP 2의 우선순위보다 높게 사전설정된다.
TCP 접속은 혼잡 윈도우를 포함한다. TCP 1의 현재 혼잡 윈도우 내의 가용 윈도우의 수와 TCP 2의 현재 혼잡 윈도우 내의 가용 윈도우의 수는 각각 0이다. 즉, TCP 1도 TCP 2도 가용 자원을 가지고 있지 않다.
IP 플로우의 정상적인 전송을 보장하기 위해, 현재 혼잡 윈도우의 수가 증가할 필요가 있다.
첫째, TCP 1의 현재 혼잡 윈도우와 TCP 2의 현재 혼잡 윈도우의 비율, 즉 15/10은 각각의 링크의 현재 혼잡 윈도우의 수에 기초하여 계산된다.
둘째, TCP 1의 현재 혼잡 윈도우의 수 및 TCP 2의 현재 혼잡 윈도우의 수는 15/10의 비율에 기초하여 증가한다. 예를 들어, TCP 1의 윈도우의 수는 3만큼 증가하고 TCP 2의 윈도우의 수는 2만큼 증가한다. TCP 1의 증가한 혼잡 윈도우의 수는 18과 같고 TCP 2의 증가한 혼잡 윈도우의 수는 12와 같다.
마지막으로, 증가한 현재 혼잡 윈도우에 기초하여 데이터가 전송된다. 패킷 6, 7 및 8은 TCP 1에 스케줄링되고, 패킷 9 및 10은 TCP 2에 스케줄링될 수 있다.
TCP 접속에 가용 자원이 존재하는 경우, 즉, TCP 접속의 가용 윈도우의 수가 0이 아닌 경우, IP 패킷은 TCP 접속의 우선순위에 기초하여 TCP 접속에 스케줄링된다.
다시 말해, 하나의 경우에, TCP 1 또는 TCP 2의 가용 윈도우의 수가 0이 아닌 경우, TCP 1은 가용 자원을 가지며, TCP 2도 가용 자원을 갖는다. 이 경우, 스케줄링은 TCP 접속의 우선순위에 기초하여 수행될 수 있다. TCP 1의 우선순위가 TCP 2의 우선순위보다 높기 때문에, IP 패킷은 먼저 TCP 1의 가용 자원에 스케줄링된 다음 TCP 2의 가용 자원에 스케줄링된다. IP 패킷을 스케줄링하는 특정 데이터양은 TCP 접속의 가용 윈도우에 기초하여 결정된다.
본 발명의 선택적 실시예에서, UDP 패킷이 캡슐화되는 IP 패킷이 너무 길다는 것을 고려하면, 정상 데이터 블록에서 IP 패킷의 전송은 한 번에 완료될 수 없다.
이 경우, 제1 프록시 서버는 MPTCP 터널의 최대 세그먼트 크기(Max Segment Size, MSS)에 기초하여 UDP 패킷이 캡슐화된 IP 패킷을 분할하여 분할된 IP 패킷을 획득할 수 있다. 마지막으로, 분할된 IP 패킷은 MPTCP 헤더와 함께 캡슐화된다.
도 6은 본 발명의 일 실시예에 따라 MSS에 기초하여 IP 패킷을 분할하는 개략도이다. 서버가 IP에 의해 전달된 패킷을 수신한 후, UDP 패킷이 캡슐화된 IP 패킷의 길이가 MPTCP 터널의 MSS보다 길기 때문에, 서버는 UDP 패킷이 캡슐화된 IP 패킷을 분할해야 한다.
예를 들어, UDP 패킷이 캡슐화된 IP 패킷의 길이가 1500이고, MSS가 1000인 경우, UDP가 캡슐화된 IP 패킷은 2개의 패킷, 1000 및 520으로 분할된다. 하나의 IP 패킷은 두 개의 IP 패킷으로 분할된다. 각각의 IP 패킷은 IP 헤더를 가지므로, 두 개의 패킷의 총 길이는 20 바이트씩 확장된다.
다시 말하면, 도 6에서, UDP 패킷이 캡슐화된 IP 패킷은 IP에 의해 전달된 UDP 1 및 IP에 의해 전달된 UDP 2로 분할된다. 두 개의 분할된 IP 패킷은 TCP에 스케줄링되는데, 예를 들어, IP에 의해 전달된 UDP 1은 TCP 1에 스케줄링되고, IP에 의해 전달된 UDP 2는 TCP 2에 스케줄링된다.
HG에서, 완전한 IP 패킷은 IP 헤더의 길이 필드에 기초하여 TCP 바이트 스트림으로부터 복원된다. 즉, IP에 의해 전달된 UDP 1 및 IP에 의해 전달된 UDP 2가 획득된다.
MPTCP에 기초하여 사용자에 의해 일련의 IP 패킷이 결정된 후, IP에 의해 전달된 UDP 1 및 IP에 의해 전달된 UDP 2가 재조립되어 UDP 패킷을 획득한다.
도 7은 본 발명의 다른 실시예에 따른 패킷 전송 방법의 개략적인 흐름도이다. 도 7의 단계는 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 수신하기 위한 수신단, 예를 들어, 제2 프록시 서버에 적용될 수 있다. 이 방법은 구체적으로 다음 단계들을 포함한다.
S701. 제2 프록시 서버는 제1 프록시 서버에 대한 MPTCP 터널을 수립하며, MPTCP 터널은 TCP 접속을 포함한다.
MPTCP는 액세스 네트워크에 적용될 수 있고, 엔터프라이즈 네트워크에도 적용될 수 있다. 액세스 네트워크는 백본 네트워크와 이동 단말기 사이의 모든 디바이스이다. 엔터프라이즈 네트워크는 엔터프라이즈 범위를 커버하는 네트워크이다. 엔터프라이즈 네트워크를 사용하여 엔터프라이즈 간에 데이터를 직접 전송할 수 있다.
다음은 상이한 시나리오에서의 MPTCP의 적용을 개별적으로 설명한다.
MPTCP의 적용 시나리오가 액세스 네트워크에 있을 때, MPTCP 터널은 이동 단말기와 서버 사이에 수립될 수 있다. MPTCP 터널은 UDP 패킷을 전송하기 위해 수립된다.
MPTCP의 적용 시나리오가 엔터프라이즈 네트워크에 있을 때, 엔터프라이즈 네트워크들 사이의 액세스 라우터는 MPTCP를 사용한다. 이 경우, 엔터프라이즈 네트워크들 사이의 액세스 라우터들 사이에 MPTCP 터널이 수립될 수 있다. 제1 프록시 서버는 하나의 엔터프라이즈에 대응하는 제1 액세스 라우터일 수 있고, 제2 프록시 서버는 다른 엔터프라이즈에 대응하는 제2 액세스 라우터일 수 있다. 즉, 제1 프록시 서버와 제2 프록시 서버는 상이한 엔터프라이즈 네트워크의 액세스 라우터이다.
확실히, 다른 네트워크에서, MPTCP가 네트워크 디바이스들 사이에서 사용될 때, IP 패킷을 전송하기 위해 MPTCP 터널이 네트워크 디바이스들 사이에 설정될 수 있다.
S702. 제2 프록시 서버는 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 수신한다.
송신단에 의해 전송되고 MPTCP 헤더와 함께 캡슐화된 IP 패킷은 MPTCP 터널에서 TCP 접속을 사용하여 수신될 수 있다.
S703. 제2 프록시 서버는 MPTCP 헤더에 기초하여 IP 패킷을 랭킹하고, IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득한다.
IP 패킷을 전송하기 위한 TCP 접속은 상이하고, IP 패킷을 수신하는 순서는 상이하다. MPTCP 헤더와 함께 캡슐화된 복수의 IP 패킷이 수신된다. 수신된 IP 패킷은 MPTCP 헤더에 기초하여 랭킹될 수 있고, 그 다음에 IP 패킷의 IP 패킷 헤더에 기초하여 파싱이 수행되어 UDP 패킷을 획득한다.
본 발명의 실시예에서, 제2 프록시 서버는 제1 프록시 서버에 대한 MPTCP 터널을 수립한다. MPTCP 터널을 통해 IP 패킷을 수신한 후, 제2 프록시 서버는 MPTCP 헤더에 기초하여 IP 패킷을 랭킹하여 최종적으로 UDP 패킷을 획득한다. IP 패킷을 전송하는 동안 표준 MPTCP 캡슐화 구조가 사용되는바, 호환성이 떨어지는 기술적 문제가 해결되고, 따라서 수신단에서 완전한 UDP 패킷이 복원될 수 있다.
본 발명의 선택적 실시예에서, UDP 패킷이 캡슐화된 IP 패킷이 너무 길다는 것을 고려하면, 정상 데이터 블록에서 IP 패킷의 전송은 한 번에 완료될 수 없다. 따라서, UDP 패킷이 캡슐화된 IP 패킷은 MPTCP 터널의 MSS에 기초하여 송신단에서 분할된다. 이 경우, 수신단에 의해 수신된 IP 패킷이 재조립되어야 한다.
구체적으로, 제2 프록시 서버는 랭킹된 IP 패킷의 MPTCP 헤더를 제거하여 분할된 IP 패킷을 획득한다. 분할된 IP 패킷은 재조립 전의 IP 패킷이다. 마지막으로, 분할된 IP 패킷이 재조립되고, 그 다음 재조립된 IP 패킷의 IP 패킷 헤더에 기초하여 파싱이 수행되어 UDP 패킷을 획득한다.
도 8은 본 발명의 일 실시예에 따라 MPTCP 터널을 이용하여 UDP 패킷을 전송하는 개략도이다.
제1 프록시 서버는 HAAP일 수 있고, 제2 프록시 서버는 HG일 수 있다. 먼저, HATC와 HG 사이에 MPTCP 터널이 수립된다.
서버 측에 의해 전송될 필요가 있는 UDP 패킷은 UDP 1 및 UDP 2를 포함한다.
HAAP에서, IP 패킷이 MPTCP 헤더와 함께 캡슐화된 후에, 캡슐화된 IP 패킷은 TCP 접속에 스케줄링되고 MPTCP 터널을 통과한다. 캡슐화된 IP 패킷은 MPTCP 패킷 헤더, IP 패킷 헤더 및 UDP를 포함한다.
HG에서, MPTCP 터널로부터 수신된 IP 패킷의 MPTCP 헤더가 제거된 후, 랭킹이 수행되고, 패킷 UDP 1이 패킷 UDP 2 앞에 랭킹된다.
IP 패킷 헤더에 기초하여, 패킷 UDP 1이 먼저 파싱되고, 이어서 패킷 UDP 2가 파싱되어 최종적으로 UDP 1 및 UDP 2를 획득한다.
도 9는 본 발명의 일 실시예에 따른 프록시 서버의 개략적인 구조도이다. 도 9의 프록시 서버는 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하기 위한 송신단에 적용될 수 있다. 구체적으로, 프록시 서버는 수립 모듈(901), 캡슐화 모듈(902) 및 전송 모듈(903)을 포함한다.
수립 모듈(901)은 제2 프록시 서버에 대한 MPTCP 터널을 수립하도록 구성되며, MPTCP 터널은 TCP 접속을 포함한다.
MPTCP는 액세스 네트워크에 적용될 수 있고, 엔터프라이즈 네트워크에도 적용될 수 있다. 액세스 네트워크는 백본 네트워크와 이동 단말기 사이의 모든 디바이스이다. 엔터프라이즈 네트워크는 엔터프라이즈 범위를 커버하는 네트워크이다. 엔터프라이즈 네트워크를 사용하여 엔터프라이즈들 간에 데이터를 직접 전송할 수 있다.
다음은 상이한 시나리오에서의 MPTCP의 적용을 개별적으로 설명한다.
MPTCP의 적용 시나리오가 액세스 네트워크에 있을 때, MPTCP 터널은 이동 단말기와 서버 사이에 수립될 수 있다. MPTCP 터널은 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 수립된다.
TCP는 이동 단말기와 게이트웨이 사이에서 사용되고, MPTCP는 HG와 HAAP 사이에서 사용되며, TCP는 HAAP와 서버 사이에서 사용된다. 이 경우, MPTCP 터널은 구체적으로 HAPP와 게이트웨이 사이에 수립될 수 있다. 게이트웨이가 HG인 경우, MPTCP 터널은 HAPP와 HG 사이에 수립된다. 이에 대응하여, 제1 프록시 서버는 HAAP일 수 있고, 제 2 프록시 서버는 HG일 수 있다.
MPTCP의 적용 시나리오가 엔터프라이즈 네트워크에 있을 때, 엔터프라이즈 네트워크들 사이의 액세스 라우터는 MPTCP를 사용한다. 이 경우, 엔터프라이즈 네트워크들 사이의 액세스 라우터들 사이에 MPTCP 터널이 수립될 수 있다. 제1 프록시 서버는 하나의 엔터프라이즈에 대응하는 제1 액세스 라우터일 수 있고, 제2 프록시 서버는 다른 엔터프라이즈에 대응하는 제2 액세스 라우터일 수 있다. 즉, 제1 프록시 서버와 제2 프록시 서버는 상이한 엔터프라이즈 네트워크의 액세스 라우터이다.
확실히, 다른 네트워크에서, MPTCP가 네트워크 디바이스들 사이에서 사용될 때, IP 패킷을 전송하기 위해 MPTCP 터널이 네트워크 디바이스들 사이에 수립될 수 있다.
캡슐화 모듈(902)은 UDP 패킷이 캡슐화되는 IP 패킷을 수신한 후, MPTCP 헤더와 함께 IP 패킷을 캡슐화하도록 구성된다.
MPTCP 터널의 TCP 접속을 사용하여, UDP 패킷이 캡슐화된 IP 패킷을 전송하기 위해, 캡슐화 모듈(902)은 IP 패킷을 MPTCP 헤더와 함께 캡슐화할 필요가 있다. MPTCP 헤더와 함께 캡슐화된 IP 패킷을 수신한 후, 수신단은 MPTCP 헤더에 기초하여 수신된 IP 패킷을 랭킹하여 UDP 패킷을 획득할 수 있다.
전송 모듈(903)은 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
MPTCP 터널은 복수의 TCP 접속을 포함한다. 전송 모듈(903)은 복수의 TCP 접속으로부터 하나 이상의 TCP 접속을 선택하고, 선택된 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송할 수 있다. 본 명세서에서, 복수의 TCP 접속은 2개의 TCP 접속을 포함하는 2 개 이상의 TCP 접속이다.
제1 서버 및 제2 서버는 복수의 TCP 접속을 사용하여 데이터를 전송할 수 있고, TCP 접속은 DSL, 이동 통신 네트워크 및/또는 WiFi와 같은 네트워크 링크를 포함할 수 있다. 따라서, MPTCP 터널은 DSL, 이동 통신 네트워크 및 WiFi와 같은 네트워크에 적용가능하다.
본 발명의 실시예에서, 수립 모듈(901)은 먼저 제1 프록시 서버와 제2 프록시 서버 사이에 MPTCP 터널을 수립하고, 캡슐화 모듈(902)은 IP 패킷을 MPTCP 헤더와 함께 캡슐화한다. 그 후, 전송 모듈(903)은 MPTCP 터널의 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송한다. 표준 MPTCP 구조를 사용하여 IP 패킷이 캡슐화되므로, 호환성이 떨어지는 기술적 문제가 해결되며, 따라서 완전한 UDP 패킷이 복원될 수 있다.
TCP 접속에서, 데이터는 혼잡 윈도우에 의해 전달된다. 혼잡 윈도우는 전송중인 윈도우 및 가용 윈도우를 포함한다. 전송중인 윈도우는 전달된 데이터가 전송되는 윈도우이고, 전달된 데이터는 가용 윈도우에서 전송되지 않는다. TCP 접속이 가용 윈도우를 갖는 경우, 이는 TCP 접속이 가용 자원을 가짐을 나타낸다. TCP 접속이 가용 윈도우를 갖지 않는 경우, 이는 TCP 접속이 가용 자원을 갖지 않음을 나타낸다.
본 발명의 선택적 실시예에서, MPTCP 터널에 포함된 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않으면, 이는 TCP 접속 중 어느 것도 가용 자원을 갖지 않음을 나타낸다.
전송 모듈(903)은 구체적으로 각각의 TCP 접속의 현재 혼잡 윈도우의 수에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 비율을 계산하고, 현재 혼잡 윈도우의 비율에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 수를 증가시키며, 현재 혼잡 윈도우의 수가 증가한 TCP 접속을 사용하여, MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
본 발명의 실시예에서, 전송 모듈(903)은 현재 혼잡 윈도우의 비율에 기초하여 복수의 TCP 접속의 현재 혼잡 윈도우의 수를 증가시킨다. 이러한 방식으로, TCP 접속이 가용 윈도우를 갖지 않을 때, TCP 접속의 현재 혼잡 윈도우의 수가 증가되어 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송할 수 있다.
본 발명의 선택적 실시예에서, 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않고, 전송 모듈(903)은 구체적으로 복수의 TCP 접속의 우선순위에 기초하여, IP 패킷을 전송하기 위한 TCP 접속을 결정하고, 그 다음에 IP 패킷을 전송하기 위해 결정된 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
본 발명의 선택적 실시예에서, 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않으며, TCP 접속은 랜덤으로 결정될 수 있다.
전송 모듈(903)은 구체적으로 복수의 TCP 접속으로부터 IP 패킷을 전송하기 위한 TCP 접속을 랜덤으로 결정하고, IP 패킷을 전송하기 위해 결정된 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
도 10은 본 발명의 다른 실시예에 따른 프록시 서버의 개략적인 구조도이다. 제어 모듈(904)은 도 9의 프록시 서버에 기초하여 추가된다.
본 발명의 선택적 실시예에서, IP 패킷을 전송하기 위한 TCP 접속에서 패킷 손실이 발생하면, 이는 현재 TCP 접속이 불안정하다는 것을 나타낸다.
제어 모듈(904)은 IP 패킷을 전송하기 위한 TCP 접속에서 패킷 손실이 발생할 때, 패킷 손실이 발생하는 TCP 접속의 현재 혼잡 윈도우의 수를 감소시키도록 구성된다.
본 발명의 선택적 실시예에서, MPTCP 터널에 포함된 복수의 TCP 접속이 가용 윈도우를 갖는 경우, 이는 가용 자원을 갖는 TCP 접속이 존재함을 나타낸다.
전송 모듈(903)은 구체적으로 가용 윈도우를 갖는 TCP 접속의 우선순위에 기초하여 IP 패킷을 전송하기 위한 TCP 접속을 결정하고, 최종적으로 IP 패킷을 전송하기 위한 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 전송하도록 구성된다.
본 발명의 선택적 실시예에서, UDP 패킷이 캡슐화되는 IP 패킷이 너무 길다는 것을 고려하면, 정상 데이터 블록에서 IP 패킷의 전송은 한 번에 완료될 수 없다.
캡슐화 모듈(902)은 구체적으로 UDP 패킷이 캡슐화되는 IP 패킷의 길이가 MPTCP 터널의 MSS보다 클 때, MSS에 기초하여, UDP 패킷이 캡슐화된 IP 패킷을 분할하여 분할된 IP 패킷을 획득하고, 분할된 IP 패킷을 MPTCP 헤더와 함께 캡슐화하도록 구성된다.
도 11은 본 발명의 또 다른 실시예에 따른 프록시 서버의 개략적인 구조도이다. 도 11의 프록시 서버는 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 수신하기 위한 수신단에 적용될 수 있다. 구체적으로, 프록시 서버는 수립 모듈(1101), 수신 모듈(1102) 및 파싱 모듈(1103)을 포함한다.
수립 모듈(1101)은 제1 프록시 서버에 대한 MPTCP 터널을 수립하도록 구성되고, MPTCP 터널은 복수의 TCP 접속을 포함한다.
MPTCP는 액세스 네트워크에 적용될 수 있고, 엔터프라이즈 네트워크에도 적용될 수 있다. 확실히, 다른 네트워크에서, MPTCP가 네트워크 디바이스들 사이에서 사용될 때, IP 패킷을 전송하기 위해 MPTCP 터널이 네트워크 디바이스들 사이에 수립될 수 있다.
수신 모듈(1102)은 MPTCP 터널에서 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 IP 패킷을 수신하도록 구성된다.
송신단에 의해 전송되고 MPTCP 헤더와 함께 캡슐화된 IP 패킷은 MPTCP 터널의 TCP 접속을 사용하여 수신될 수 있다.
파싱 모듈(1103)은 MPTCP 헤더에 기초하여 IP 패킷을 랭킹하고, IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하도록 구성된다.
IP 패킷을 전송하기 위한 TCP 접속은 상이하고, IP 패킷을 수신하는 순서는 상이하다. MPTCP 헤더와 함께 캡슐화된 복수의 IP 패킷이 수신된다. 수신된 IP 패킷은 MPTCP 헤더에 기초하여 랭킹될 수 있고, 그 다음에 IP 패킷의 IP 패킷 헤더에 기초하여 파싱이 수행되어 UDP 패킷을 획득한다.
본 발명의 실시예에서, 수립 모듈(1101)은 제1 프록시 서버와 제2 프록시 서버 사이에 MPTCP 터널을 수립하고, 수신 모듈(1102)은 MPTCP 터널을 통해 IP 패킷을 수신하며, 파싱 모듈(1103)은 MPTCP 헤더에 기초하여 IP 패킷을 랭킹하여 최종적으로 UDP 패킷을 획득한다. IP 패킷을 전송하는 동안 표준 MPTCP 캡슐화 구조가 사용되는바, 호환성이 떨어지는 기술적 문제가 해결되므로, 전체 UDP 패킷이 수신단에서 복원될 수 있다.
본 발명의 선택적 실시예에서, UDP 패킷이 캡슐화되는 IP 패킷이 너무 길다는 것을 고려하면, 정상 데이터 블록에서 IP 패킷의 전송이 한 번에 완료될 수 없다. 따라서, UDP 패킷이 캡슐화된 IP 패킷은 MPTCP 터널의 MSS에 기초하여 송신단에서 분할된다. 이 경우, 수신단이 수신한 IP 패킷이 재조립되어야 한다.
파싱 모듈(1102)은 구체적으로 랭킹된 IP 패킷의 MPTCP 헤더를 제거하여 분할된 IP 패킷을 획득하고, 분할된 IP 패킷을 재조립한 후, 재조립된 IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하도록 구성된다.
전술한 실시예의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 실시예를 구현하는 데 소프트웨어가 사용될 때, 실시예의 전부 또는 일부는 컴퓨터 프로그램 제품의 형태로 구현될 수 있다. 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령어를 포함한다.
컴퓨터 프로그램 명령어가 컴퓨터에 로딩되어 실행될 때, 본 발명의 실시예에 따른 절차 또는 기능의 전부 또는 일부가 생성된다. 컴퓨터는 범용 컴퓨터, 특수 목적 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그램가능 장치일 수 있다. 컴퓨터 명령어는 컴퓨터 판독가능 저장 매체에 저장될 수 있거나 하나의 컴퓨터 판독가능 저장 매체로부터 다른 컴퓨터 판독가능 저장 매체로 전송될 수 있다. 예를 들어, 컴퓨터 명령어는 웹사이트, 컴퓨터, 서버 또는 데이터 센터로부터 다른 웹사이트, 컴퓨터, 서버 또는 데이터 센터로 유선(예를 들어, 동축 케이블, 광섬유 또는 디지털 가입자 회선(DSL))으로 또는 무선으로(예컨대, 적외선, 무선 또는 마이크로파) 전송될 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터에 의해 액세스 가능한 임의의 사용 가능 매체, 또는 하나 이상의 사용 가능 매체를 통합하는 서버 또는 데이터 센터와 같은 데이터 저장 디바이스일 수 있다. 사용 가능 매체는 자기 매체(예를 들어, 플로피 디스크, 하드 디스크 또는 자기 테이프), 광학 매체(예를 들어, DVD), 반도체 매체(예를 들어, 고체 상태 디스크(Solid State Disk: SSD) 등일 수 있다.

Claims (22)

  1. 패킷 전송 방법으로서,
    제1 프록시 서버에 의해, 제2 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하는 단계 - 상기 MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함함 - 와,
    상기 제1 프록시 서버에 의해 사용자 데이터그램 프로토콜(UDP) 패킷이 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신한 후 MPTCP 헤더와 함께 상기 IP 패킷을 캡슐화하는 단계와,
    상기 제1 프록시 서버에 의해 상기 MPTCP 터널의 상기 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하는 단계를 포함하는
    패킷 전송 방법.
  2. 제1항에 있어서,
    상기 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않고,
    상기 제1 프록시 서버에 의해 상기 MPTCP 터널의 상기 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하는 단계는,
    상기 제1 프록시 서버에 의해, 각각의 TCP 접속의 현재 혼잡 윈도우의 수에 기초하여 상기 복수의 TCP 접속의 현재 혼잡 윈도우의 비율을 계산하는 단계와,
    상기 제1 프록시 서버에 의해, 상기 현재 혼잡 윈도우의 비율에 기초하여 상기 복수의 TCP 접속의 상기 현재 혼잡 윈도우의 수를 증가시키는 단계와,
    상기 제1 프록시 서버에 의해 상기 현재 혼잡 윈도우의 수가 증가한 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하는 단계를 포함하는
    패킷 전송 방법.
  3. 제2항에 있어서,
    상기 제1 프록시 서버에 의해 상기 현재 혼잡 윈도우의 수가 증가한 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하는 단계는,
    상기 제1 프록시 서버에 의해 상기 복수의 TCP 접속의 우선순위에 기초하여 상기 IP 패킷을 전송하기 위한 TCP 접속을 결정하는 단계와,
    상기 제1 프록시 서버에 의해 상기 IP 패킷을 전송하기 위한 상기 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하는 단계를 포함하는
    패킷 전송 방법.
  4. 제1항에 있어서,
    상기 복수의 TCP 접속은 가용 윈도우를 가지며,
    상기 제1 프록시 서버에 의해 상기 MPTCP 터널의 상기 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하는 단계는,
    상기 제1 프록시 서버에 의해 상기 가용 윈도우를 갖는 상기 TCP 접속의 우선순위에 기초하여 상기 IP 패킷을 전송하기 위한 TCP 접속을 결정하는 단계와,
    상기 제1 프록시 서버에 의해 상기 IP 패킷을 전송하기 위한 상기 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하는 단계를 포함하는
    패킷 전송 방법.
  5. 제1항에 있어서,
    상기 제1 프록시 서버에 의해, 상기 MPTCP 헤더와 함께 상기 IP 패킷을 캡슐화하는 단계는,
    상기 UDP 패킷이 캡슐화된 상기 IP 패킷의 길이가 상기 MPTCP 터널의 최대 세그먼트 크기(MSS)보다 큰 경우, 상기 제1 프록시 서버에 의해 상기 MSS에 기초하여 상기 UDP 패킷이 캡슐화된 상기 IP 패킷을 분할하여 분할된 IP 패킷을 획득하는 단계와,
    상기 제1 프록시 서버에 의해, MPTCP 헤더와 함께 상기 분할된 IP 패킷을 캡슐화하는 단계를 포함하는
    패킷 전송 방법.
  6. 제1항에 있어서,
    상기 제1 프록시 서버는 하이브리드 액세스 통합 지점(HAAP)이고, 상기 제2 프록시 서버는 홈 게이트웨이인
    패킷 전송 방법.
  7. 제1항에 있어서,
    상기 제1 프록시 서버와 상기 제2 프록시 서버는 상이한 엔터프라이즈 네트워크의 액세스 라우터인
    패킷 전송 방법.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    상기 방법은, IP 패킷을 전송하기 위한 TCP 접속에서 패킷 손실이 발생하면, 상기 제1 프록시 서버에 의해, 상기 패킷 손실이 발생하는 상기 TCP 접속의 현재 혼잡 윈도우의 수를 감소시키는 단계를 더 포함하는
    패킷 전송 방법.
  9. 패킷 전송 방법으로서,
    제2 프록시 서버에 의해, 제1 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하는 단계 - 상기 MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함함 - 와,
    상기 제2 프록시 서버에 의해 상기 MPTCP 터널의 상기 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신하는 단계와,
    상기 제2 프록시 서버에 의해 상기 MPTCP 헤더에 기초하여 상기 IP 패킷을 랭킹하고, 상기 IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하는 단계를 포함하는
    패킷 전송 방법.
  10. 제9항에 있어서,
    상기 IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하는 단계는,
    상기 랭킹된 IP 패킷의 상기 MPTCP 헤더를 제거하여 분할된 IP 패킷을 획득하는 단계와,
    상기 분할된 IP 패킷을 재조립한 후, 재조립된 IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 상기 UDP 패킷을 획득하는 단계를 포함하는
    패킷 전송 방법.
  11. 프록시 서버로서,
    수립 모듈, 캡슐화 모듈 및 전송 모듈을 포함하고,
    상기 수립 모듈은 제2 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하도록 구성되고, 상기 MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함하며,
    상기 캡슐화 모듈은 사용자 데이터그램 프로토콜(UDP) 패킷이 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신한 후 MPTCP 헤더와 함께 상기 IP 패킷을 캡슐화하도록 구성되며,
    상기 전송 모듈은 상기 MPTCP 터널의 상기 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하도록 구성되는
    프록시 서버.
  12. 제11항에 있어서,
    상기 복수의 TCP 접속 중 어느 것도 가용 윈도우를 갖지 않고,
    상기 전송 모듈은 구체적으로,
    각각의 TCP 접속의 현재 혼잡 윈도우의 수에 기초하여 상기 복수의 TCP 접속의 현재 혼잡 윈도우의 비율을 계산하고,
    상기 현재 혼잡 윈도우의 비율에 기초하여 상기 복수의 TCP 접속의 상기 현재 혼잡 윈도우의 수를 증가시키며,
    상기 현재 혼잡 윈도우의 수가 증가한 TCP 접속을 사용하여 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하도록 구성되는
    프록시 서버.
  13. 제12항에 있어서,
    상기 전송 모듈은 구체적으로,
    상기 복수의 TCP 접속의 우선순위에 기초하여, 상기 IP 패킷을 전송하기 위한 TCP 접속을 결정하고,
    상기 IP 패킷을 전송하기 위한 상기 TCP 접속을 사용하여, 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하도록 구성되는
    프록시 서버.
  14. 제11항에 있어서,
    상기 복수의 TCP 접속은 가용 윈도우를 가지며,
    상기 전송 모듈은 구체적으로,
    상기 가용 윈도우를 갖는 상기 TCP 접속의 우선순위에 기초하여, 상기 IP 패킷을 전송하기 위한 TCP 접속을 결정하고,
    상기 IP 패킷을 전송하기 위한 상기 TCP 접속을 사용하여, 상기 MPTCP 헤더와 함께 캡슐화된 상기 IP 패킷을 전송하도록 구성되는
    프록시 서버.
  15. 제11항에 있어서,
    상기 캡슐화 모듈은 구체적으로,
    상기 UDP 패킷이 캡슐화된 상기 IP 패킷의 길이가 상기 MPTCP 터널의 최대 세그먼트 크기(MSS)보다 큰 경우, 상기 MSS에 기초하여, 상기 UDP 패킷이 캡슐화된 상기 IP 패킷을 분할하여 분할된 IP 패킷을 획득하고,
    MPTCP 헤더와 함께 상기 분할된 IP 패킷을 캡슐화하도록 구성되는
    프록시 서버.
  16. 제11항에 있어서,
    상기 제1 프록시 서버는 하이브리드 액세스 통합 지점(HAAP)이고, 상기 제2 프록시 서버는 홈 게이트웨이인
    프록시 서버.
  17. 제11항에 있어서,
    상기 제1 프록시 서버와 상기 제2 프록시 서버는 상이한 엔터프라이즈 네트워크의 액세스 라우터인
    프록시 서버.
  18. 제11항 내지 제17항 중 어느 한 항에 있어서,
    상기 프록시 서버는 제어 모듈을 더 포함하고,
    상기 제어 모듈은, IP 패킷을 전송하기 위한 TCP 접속에서 패킷 손실이 발생하면, 상기 패킷 손실이 발생하는 상기 TCP 접속의 현재 혼잡 윈도우의 수를 감소시키도록 구성되는
    프록시 서버.
  19. 프록시 서버로서,
    수립 모듈, 수신 모듈 및 파싱 모듈을 포함하고,
    상기 수립 모듈은 제1 프록시 서버에 대한 다중경로 전송 제어 프로토콜(MPTCP) 터널을 수립하고, 상기 MPTCP 터널은 복수의 전송 제어 프로토콜(TCP) 접속을 포함하며,
    상기 수신 모듈은 상기 MPTCP 터널의 상기 TCP 접속을 사용하여 MPTCP 헤더와 함께 캡슐화된 인터넷 프로토콜(IP) 패킷을 수신하도록 구성되고,
    상기 파싱 모듈은 상기 MPTCP 헤더에 기초하여 상기 IP 패킷을 랭킹하고, 상기 IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 UDP 패킷을 획득하도록 구성되는
    프록시 서버.
  20. 제19항에 있어서,
    상기 파싱 모듈은 구체적으로,
    상기 랭킹된 IP 패킷의 상기 MPTCP 헤더를 제거하여 분할된 IP 패킷을 획득하고,
    상기 분할된 IP 패킷을 재조립한 후, 재조립된 IP 패킷의 IP 패킷 헤더에 기초하여 파싱을 수행하여 상기 UDP 패킷을 획득하도록 구성되는
    프록시 서버.
  21. 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제1항 내지 제8항 중 어느 한 항에 따른 방법을 수행할 수 있게 되는
    컴퓨터 판독가능 저장 매체.
  22. 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 명령어가 컴퓨터에서 실행될 때, 상기 컴퓨터는 제9항 또는 제10항에 따른 방법을 수행할 수 있게 되는
    컴퓨터 판독가능 저장 매체.
KR1020207001646A 2017-06-23 2018-04-27 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체 KR102267116B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710488680.XA CN109120540B (zh) 2017-06-23 2017-06-23 传输报文的方法、代理服务器和计算机可读存储介质
CN201710488680.X 2017-06-23
PCT/CN2018/084947 WO2018233376A1 (zh) 2017-06-23 2018-04-27 传输报文的方法、代理服务器和计算机可读存储介质

Publications (2)

Publication Number Publication Date
KR20200015777A true KR20200015777A (ko) 2020-02-12
KR102267116B1 KR102267116B1 (ko) 2021-06-18

Family

ID=64732254

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207001646A KR102267116B1 (ko) 2017-06-23 2018-04-27 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체

Country Status (6)

Country Link
US (1) US20200128112A1 (ko)
EP (1) EP3637703B1 (ko)
JP (1) JP7050094B2 (ko)
KR (1) KR102267116B1 (ko)
CN (1) CN109120540B (ko)
WO (1) WO2018233376A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10819524B2 (en) * 2016-10-19 2020-10-27 Qualcomm Incorporated Methods for header extension preservation, security, authentication, and protocol translation for RTP over MPRTP
CN111988212B (zh) * 2019-05-23 2021-10-22 华为技术有限公司 一种报文传输方法以及相关装置
CN111371800B (zh) * 2020-03-12 2022-09-06 深圳市三旺通信股份有限公司 报文处理方法、设备及可读存储介质
CN111447144A (zh) * 2020-04-01 2020-07-24 中核武汉核电运行技术股份有限公司 一种基于透明代理的应用路由方法
US11683250B2 (en) * 2021-10-22 2023-06-20 Palo Alto Networks, Inc. Managing proxy throughput between paired transport layer connections

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060018315A1 (en) * 2004-07-22 2006-01-26 International Business Machines Corporation Method and apparatus for providing fragmentation at a transport level along a tranmission path
US20070280110A1 (en) * 2003-06-19 2007-12-06 Murphy Kevin J Method and apparatus for improving the upstream data transfer rate for a cable modem
KR20130018858A (ko) * 2010-04-06 2013-02-25 퀄컴 인코포레이티드 다중경로 전송을 이용한 협력적 대역폭 애그리게이션

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8400923B2 (en) * 2010-10-15 2013-03-19 Telefonaktiebolaget L M Ericsson (Publ) Multipath transmission control protocol proxy
US9264353B2 (en) 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
CN103516694A (zh) * 2012-06-28 2014-01-15 华为技术有限公司 通信方法、装置和系统
EP2882148A1 (en) * 2013-12-09 2015-06-10 Université Catholique De Louvain Establishing a data transfer connection
US9350672B2 (en) * 2014-03-13 2016-05-24 Cisco Technology, Inc. Performance enhancement and congestion control of multipath protocol packets in a heterogeneous network environment with multipath transport protocols
FR3019421A1 (fr) * 2014-03-31 2015-10-02 Orange Procede de communication par chemins multiples entre deux terminaux
US9843522B2 (en) * 2014-04-09 2017-12-12 Hcl Technologies Ltd. Efficient mechanism to improve data speed between systems by MPTCP and MIMO combination
WO2015171023A1 (en) * 2014-05-06 2015-11-12 Telefonaktiebolaget L M Ericsson (Publ) Establishing a multipath tcp (mptcp) connection
JP2016208193A (ja) 2015-04-20 2016-12-08 富士通株式会社 基地局及び通信制御方法
US20160360557A1 (en) * 2015-06-08 2016-12-08 GM Global Technology Operations LLC Collaborative mptcp
CN105490933B (zh) * 2015-12-28 2019-06-11 中国电子科技集团公司第五十四研究所 基于多路径传输协议mptcp的路径管理方法及装置
CN105610820B (zh) * 2015-12-28 2019-03-22 中国电子科技集团公司第五十四研究所 一种基于mptcp的拥塞控制方法及装置
EP3459217B1 (en) 2016-05-16 2020-07-08 Telefonaktiebolaget LM Ericsson (PUBL) Transporting udp packets over an mptcp connection

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070280110A1 (en) * 2003-06-19 2007-12-06 Murphy Kevin J Method and apparatus for improving the upstream data transfer rate for a cable modem
US20060018315A1 (en) * 2004-07-22 2006-01-26 International Business Machines Corporation Method and apparatus for providing fragmentation at a transport level along a tranmission path
KR20130018858A (ko) * 2010-04-06 2013-02-25 퀄컴 인코포레이티드 다중경로 전송을 이용한 협력적 대역폭 애그리게이션

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BANANA Internet Draft IETF, Integration of Bonding Tunnels and MPTCP draft-zuo-banana-mptcp-integration-00.txt, 2017.12* *

Also Published As

Publication number Publication date
KR102267116B1 (ko) 2021-06-18
EP3637703A4 (en) 2020-04-29
EP3637703A1 (en) 2020-04-15
US20200128112A1 (en) 2020-04-23
EP3637703B1 (en) 2022-06-01
CN109120540B (zh) 2021-09-14
JP7050094B2 (ja) 2022-04-07
JP2020524964A (ja) 2020-08-20
WO2018233376A1 (zh) 2018-12-27
CN109120540A (zh) 2019-01-01
WO2018233376A9 (zh) 2019-01-24

Similar Documents

Publication Publication Date Title
KR102267116B1 (ko) 패킷 전송 방법, 프록시 서버 및 컴퓨터 판독가능 저장 매체
KR102226366B1 (ko) 패킷 프로세싱 방법 및 디바이스
US10237153B2 (en) Packet retransmission method and apparatus
EP3278514B1 (en) Data transmission
EP3011775B1 (en) Lte and external wifi bandwidth aggregation
JP6619815B2 (ja) アクセス制御装置、システム、及び方法
JP7142722B2 (ja) 伝送制御方法および装置
US9019990B2 (en) Using encapsulation headers to indicate internet protocol packet fragmentation in cellular networks
US11159423B2 (en) Techniques for efficient multipath transmission
KR102442083B1 (ko) Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템
CN110944358B (zh) 数据传输方法和设备
US9071984B1 (en) Modifying a data flow mechanism variable in a communication network
US11405489B2 (en) Method and apparatus for determining quality of service, and storage medium
CN110943935A (zh) 一种实现数据传输的方法、装置和系统
CN111131179A (zh) 业务处理方法、装置、网络设备及存储介质
CN114710975A (zh) 多域间传输多传输网络上下文标识
US8885650B2 (en) Method, apparatus and system for processing a tunnel packet
EP3562108B1 (en) Load sharing between hybrid tunnels
WO2020096501A1 (en) Traffic steering device

Legal Events

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