KR102397526B1 - 패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체 - Google Patents

패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체 Download PDF

Info

Publication number
KR102397526B1
KR102397526B1 KR1020207010518A KR20207010518A KR102397526B1 KR 102397526 B1 KR102397526 B1 KR 102397526B1 KR 1020207010518 A KR1020207010518 A KR 1020207010518A KR 20207010518 A KR20207010518 A KR 20207010518A KR 102397526 B1 KR102397526 B1 KR 102397526B1
Authority
KR
South Korea
Prior art keywords
packet
blocking
subflow
network component
retransmission command
Prior art date
Application number
KR1020207010518A
Other languages
English (en)
Other versions
KR20200049854A (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 KR20200049854A publication Critical patent/KR20200049854A/ko
Application granted granted Critical
Publication of KR102397526B1 publication Critical patent/KR102397526B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1809Selective-repeat protocols
    • 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
    • H04L1/1642Formats specially adapted for sequence numbers
    • 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
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1841Resequencing
    • 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1848Time-out mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • 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/28Timers or timing mechanisms used in protocols
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체가 개시된다. 방법은, 네트워크 컴포넌트에 의해, 다중 경로 전송 제어 프로토콜(MPTCP) 연결의 복수의 서브플로우 연결 상에서 패킷을 수신하고, 수신된 패킷에 기초하여, MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하는 단계와, 네트워크 컴포넌트에 의해, 비순차를 야기하는 블로킹 패킷이 공차 시간 내에 수신되지 않은 것으로 결정하는 단계- 공차 시간은 복수의 서브플로우 연결의 재전송 타임 아웃(RTO) 중 최대 RTO보다 작음 -와, 네트워크 컴포넌트에 의해, 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송하는 단계- 이 재송신 명령 패킷은 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는데 사용됨 -를 포함한다. 본 발명의 실시예에 따르면, 서브플로우 RTO가 만료된 후에 재전송을 트리거할 필요가 없으며, 그 결과 지연이 단축된다.

Description

패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체
본 발명은 통신 분야에 관한 것으로, 특히 패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체에 관한 것이다.
네트워크 컨버전스가 발전함에 따라, 다중 액세스(데이터를 사용자 단말기에복수의 채널을 통해 전송)는 미래에 사용자 경험을 개선하기 위한 핵심 기술 중 하나가 될 것이다. 현재의 단일 액세스와의 가장 큰 차이점은 데이터가 다중 액세스로 복수의 채널을 통해 사용자 단말기에 분배되어야 한다는 점이다.
전송 계층에서의 전송 제어 프로토콜(Transmission Control Protocol, TCP)에 기초하여, 인터넷 엔지니어링 태스크 포스(Internet Engineering Task Force, IETF)는 2013년 초에 최신의 공식적인 다중 경로 전송 제어 프로토콜(Multipath Transmission Control Protocol, MPTCP) 표준 RFC6824을 발행하였다.
MPTCP는 TCP 프로토콜의 확장이며, TCP 프로토콜과 완전히 호환가능하다. MPTCP 프로토콜은 복수의 경로를 통해 동시 전송이 수행되는 전송 계층 프로토콜이며, 이는 엔드-투-엔드 처리량 비율 및 네트워크 사용량을 향상시킬 수 있지만 중복성을 증가시킬 수 있다. MPTCP의 계층이 도 1에 도시되어 있다. MPTCP 계층은 TCP/인터넷 프로토콜(Internet Protocol, IP) 프로토콜 스택 아키텍처의 소켓(socket) 계층과 TCP 계층 사이에 추가되며, TCP 1, TCP 2,... 및 TCP n과 같은 복수의 TCP 하위모듈을 관리한다.
도 2는 MPTCP의 2-계층 시퀀스 번호의 개략도이다. MPTCP는 2-계층 시퀀스 번호 메커니즘을 사용하여 안정적인 동시 다중 경로 전송을 구현한다. 하위 계층 서브플로우 시퀀스 번호(Subflow Sequence Number, SSN)는 TCP 서브플로우와 관련이 있으며, 각 TCP 서브플로우에 의해 독립적으로 유지된다. 상위 계층 데이터 시퀀스 번호(Data Sequence Number, DSN)는 MPTCP의 제어 평면에서 유지되며, 전역적으로 유지된다. 수신기는 서브플로우의 패킷을 수신한 후 DSN에 기초하여 TCP 패킷을 재조립한다.
MPTCP 동시 다중 경로 전송은 다수의 장점을 제공한다. 즉, 네트워크의 신뢰성이 보장되고, 또한 네트워크 대역폭 사용량이 증가하여 혼잡 링크로부터 유휴 링크로 트래픽을 전송한다.
MPTCP의 전형적인 애플리케이션 시나리오인 본딩 액세스(Bonding Access, BA)가 도 3에 도시되어 있고, 도 3은 하이브리드 액세스 네트워크의 서비스 시나리오의 개략도이다. 컴퓨터는 홈 게이트웨이(Home Gateway, HG)에 연결되고, 그런 다음 LTE 네트워크, 디지털 가입자 회선(DSL), 또는 Wi-Fi를 통해 하이브리드 액세스 어그리게이션 포인트(Hybrid Access Aggregation Point, HAAP)에 연결된다.
하이브리드 액세스 시나리오에서, HG 및 HAAP는 DSL, 이동 통신 네트워크(예를 들어, LTE 네트워크) 및 Wi-Fi와 같은 복수의 링크를 통해 연결된다. 다시 말해, HG 및 HAAP는 예를 들어 DSL, LTE 및 Wi-Fi를 통해 후속하는 방식으로 연결될 수 있다.
멀티링크 액세스 네트워크 환경에서, 상이한 경로는 특정 차이를 가지며, 지연, 대역폭 및 패킷 손실율에서 큰 차이를 갖는다. 다중 경로 전송 동안, 패킷은 수신단에서 재조립될 때 그 차이로 인해 비순차적이다(our of order). 결과적으로, 수신단에서의 패킷의 큐잉 지연이 증가되고, 그 결과, 비디오 서비스와 같은 지연에 민감한 서비스가 크게 영향을 받는다. 따라서, BA 시나리오에서 멀티링크 병렬 전송이 수행될 때, 비순차로 인한 지연을 감소시키기 위한 관련 메커니즘이 사용될 필요가 있다.
현재는, 수신단이 먼저 패킷의 도착을 기다리고, 그런 다음 후속 패킷을 수신한 후 반복되는 ACK를 전송한다. ACK를 수신한 후, 송신단은 MPTCP 계층에서 고속 재전송을 즉시 트리거하지는 않지만, 먼저 서브플로우의 고속 재전송 메커니즘을 사용하여 고속 재전송을 트리거하고, 그런 다음, 서브플로우 재전송 타임 아웃(Retransmission Timeout, RTO)이 만료된 후 MPTCP 계층에서 재전송을 트리거한다.
서브플로우 RTO가 만료된 후에 MPTCP 계층에서의 재전송이 트리거될 필요가 있으며, 그 결과 지연이 비교적 길다.
본 발명의 실시예는 패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체를 제공하며, 서브플로우 RTO가 만료된 후에 재전송을 트리거할 필요가 없어서 지연을 단축시킨다.
제1 양상에 따르면, 본 발명의 실시예는 패킷 전송 방법을 제공하며, 이 방법은,
네트워크 컴포넌트에 의해, 다중 경로 전송 제어 프로토콜(MPTCP) 연결의 복수의 서브플로우 연결 상에서 패킷을 수신하고, 수신된 패킷에 기초하여, MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하는 단계와,
네트워크 컴포넌트에 의해, 비순차를 야기하는 블로킹 패킷(blocking packet)이 공차 시간(tolerance time) 내에 수신되지 않았음을 결정하는 단계- 공차 시간은 복수의 서브플로우 연결의 재전송 타임 아웃(RTO) 중 최대 RTO보다 작음 -와,
네트워크 컴포넌트에 의해, 복수의 서브플로우 연결 중에서 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송하는 단계- 이 재송신 명령 패킷은 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는데 사용됨 -를 포함한다.
제1 양상을 참조하면, 제1 가능한 구현예에서, 수신된 패킷에 기초하여, MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하는 단계는,
MPTCP의 복수의 서브플로우 연결에서 도착하는 패킷의 데이터 시퀀스 번호(DSN)에 기초하여 패킷 어셈블리를 수행하고, 도착하는 패킷의 DSN이 비연속적이라고 판정될 때, MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하는 단계를 포함한다.
제1 양상을 참조하면, 전술한 가능한 구현예에서, 공차 시간은 복수의 서브플로우 연결의 왕복 시간(RTT) 중 최대 RTT 및 MPTCP 계층에서의 패킷이 비순차적인 경우 최근에 수신된 패킷이 위치한 서브플로우 연결의 RTT에 기초하여 결정된다.
제1 양상을 참조하면, 전술한 가능한 구현예의 제1 경우에, 공차 시간은 (RTTmax-RTTcur)이 1/2이고, RTTmax는 복수의 서브플로우의 RTT 중 가장 큰 RTT이며, RTTcur는 MPTCP 계층에서의 패킷이 비순차적인 경우 최근에 수신된 패킷이 위치한 서브플로우 연결의 RTT이다.
제1 양상을 참조하면, 전술한 가능한 구현예에서, 네트워크 컴포넌트에 의해, 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송하기 전에, 방법은:
복수의 서브플로우 연결 중에서 추정된 지연이 가장 짧은 서브플로우 연결을 타겟 서브플로우 연결로서 선택하는 단계를 포함한다.
제1 양상을 참조하면, 전술한 가능한 구현예에서, 재송신 명령 패킷은 식별자를 포함하고, 이 식별자는 재송신 명령 패킷이 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는 데 사용되는 패킷임을 식별하는데 사용된다.
제1 양상을 참조하면, 전술한 가능한 구현예의 제1 경우에, 식별자는 MPTCP의 데이터 시퀀스 신호(DSS) 옵션에서 플래그 비트에 위치한다.
제1 양상을 참조하면, 전술한 가능한 구현예에서, 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송하는 단계는:
타겟 서브플로우 연결에서 블로킹 패킷의 반복되는 중복 확인응답 패킷을 3회 연속으로 전송하는 단계를 포함한다.
제1 양상을 참조하면, 전술한 가능한 구현예에서, 네트워크 컴포넌트는 홈 게이트웨이(HG), 하이브리드 액세스 어그리게이션 포인트(HAAP) 또는 액세스 라우터(AR)이다.
제2 양상에 따르면, 본 발명의 실시예는 패킷 전송 방법을 제공하며, 이 방법은:
네트워크 컴포넌트에 의해, 다중 경로 전송 제어 프로토콜(MPTCP)의 복수의 서브플로우 연결 상에서 수신된 패킷으로부터 블로킹 패킷의 재송신 명령 패킷을 식별하는 단계와,
네트워크 컴포넌트에 의해, 재송신 명령 패킷에 기초하여 블로킹 패킷의 데이터 시퀀스 번호(DSN)를 결정하는 단계와,
네트워크 컴포넌트에 의해, 재송신 명령 패킷을 수신하는 서브플로우 연결 상에서 DSN에 대응하는 블로킹 패킷을 재전송하는 단계를 포함한다.
제2 양상을 참조하면, 제1 가능한 구현예에서, 재송신 명령 패킷은 식별자를 포함하고, 식별자는 재송신 명령 패킷이 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는데 사용되는 것임을 식별하는데 사용되고,
블로킹 패킷의 재송신 명령 패킷을 식별하는 단계는, 재송신 명령 패킷의 식별자를 사용하여 블로킹 패킷의 재송신 명령 패킷을 식별하는 단계를 포함한다.
제2 양상을 참조하면, 제2 가능한 구현예에서, 블로킹 패킷의 재송신 명령 패킷을 식별하는 단계는:
블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 수신함으로써 블로킹 패킷의 재송신 명령 패킷을 식별하는 단계를 포함한다.
제2 양상을 참조하면, 전술한 가능한 구현예에서, 네트워크 컴포넌트는 홈 게이트웨이(HG), 하이브리드 액세스 어그리게이션 포인트(HAAP) 또는 액세스 라우터(AR)이다.
제3 양상에 따르면, 본 발명의 실시예는 네트워크 컴포넌트를 제공하고, 네트워크 컴포넌트는:
다중 경로 전송 제어 프로토콜(MPTCP) 연결의 복수의 서브플로우 연결 상에서 패킷을 수신하고, 수신된 패킷에 기초하여 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하도록 구성된 결정 모듈과,
비순차를 야기하는 블로킹 패킷이 공차 시간 내에 수신되지 않았다고 결정하도록 구성된 판정 모듈- 공차 시간은 복수의 서브플로우 연결의 재전송 타임 아웃(RTO) 중 최대 RTO보다 작음 -과,
복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송하도록 구성된 송신 모듈- 재송신 명령 패킷은 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는데 사용됨 -을 포함한다.
제3 양상을 참조하면, 제1 가능한 구현예에서, 결정 모듈은 구체적으로: MPTCP의 복수의 서브플로우 연결에서 도착하는 패킷의 데이터 시퀀스 번호(DSN)에 기초하여 패킷 어셈블리를 수행하고, 도착하는 패킷의 DSN이 연속적이지 않는 것으로 결정되면, MPTCP 계층에서의 패킷이 비순차적인 것으로 결정한다.
제3 양상을 참조하면, 전술한 가능한 구현예에서, 공차 시간은 복수의 서브플로우 연결의 왕복 시간(RTT) 중 최대 RTT 및 MPTCP 계층에서의 패킷이 비순차적인 경우 최근 수신된 패킷이 위치하는 서브플로우 연결의 RTT에 기초하여 결정된다.
제3 양상을 참조하면, 전술한 가능한 구현예의 제1 경우에, 공차 시간은 (RTTmax-RTTcur)의 1/2과 동일하고, RTTmax는 복수의 서브플로우 연결의 RTT 중 가장 큰 RTT이며, RTTcur는 MPTCP 계층에서의 패킷이 비순차적인 경우 최근에 수신된 패킷이 위치한 서브플로우 연결의 RTT이다.
제3 양상을 참조하면, 전술한 가능한 구현예에서, 송신 모듈은 복수의 서브플로우 연결 중에서 추정된 지연이 가장 짧은 서브플로우 연결을 타겟 서브플로우 연결로서 선택하도록 더 구성된다.
제3 양상을 참조하면, 전술한 가능한 구현예에서, 재송신 명령 패킷은 식별자를 포함하고, 식별자는 재송신 명령 패킷이 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는 데 사용되는 패킷임을 식별하는데 사용된다.
제3 양상을 참조하면, 전술한 가능한 구현예의 제1 경우에, 식별자는 MPTCP의 데이터 시퀀스 신호(DSS) 옵션에서 플래그 비트에 위치한다.
제3 양상을 참조하면, 전술한 가능한 구현예에서, 송신 모듈은 구체적으로 타겟 서브플로우 연결 상에서 블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 전송하도록 구성된다.
제3 양상을 참조하면, 전술한 가능한 구현예에서, 네트워크 컴포넌트는 홈 게이트웨이(HG), 하이브리드 액세스 어그리게이션 포인트(HAAP), 또는 액세스 라우터(AR)이다.
제4 양상에 따르면, 본 발명의 실시예는 네트워크 컴포넌트를 제공하고, 네트워크 컴포넌트는:
다중 경로 전송 제어 프로토콜(MPTCP)의 복수의 서브플로우 연결 상에서 수신된 패킷으로부터 블로킹 패킷의 재송신 명령 패킷을 식별하도록 구성된 식별 모듈과,
재송신 명령 패킷에 기초하여 블로킹 패킷의 데이터 시퀀스 번호(DSN)를 결정하도록 구성된 결정 모듈과,
재송신 명령 패킷을 수신하는 서브플로우 연결상에서 DSN에 대응하는 블로킹 패킷을 재전송하도록 구성된 재송신 모듈을 포함한다.
제4 양상을 참조하면, 제1 가능한 구현예에서, 재송신 명령 패킷은 식별자를 포함하고, 식별자는 재송신 명령 패킷이 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는데 사용되는 것임을 식별하는데 사용되고,
식별 모듈은 구체적으로 재송신 명령 패킷의 식별자를 사용하여 블로킹 패킷의 재송신 명령 패킷을 식별하도록 구성된다.
제4 양상을 참조하면, 제2 가능한 구현예에서, 식별 모듈은 구체적으로 블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 반복하여 수신함으로써 블로킹 패킷의 재송신 명령 패킷을 식별하도록 구성된다.
제4 양상을 참조하면, 전술한 가능한 구현예에서, 네트워크 컴포넌트는 홈 게이트웨이(HG), 하이브리드 액세스 어그리게이션 포인트(HAAP), 또는 액세스 라우터(AR)이다.
본 출원의 제5 양상은 컴퓨터 판독가능 저장 매체를 제공한다. 컴퓨터 판독가능 저장 매체는 명령어를 저장하고, 명령어가 컴퓨터에서 실행될 때, 컴퓨터는 전술한 양상에서의 방법을 수행할 수 있다.
본 출원의 제6 양상은 명령어를 포함하는 컴퓨터 프로그램 제품을 제공하고, 컴퓨터 프로그램 제품이 컴퓨터에서 실행될 때, 컴퓨터는 전술한 양상에서의 방법을 수행할 수 있다.
전술한 기술적 해결책으로부터 알 수 있는 바와 같이, 네트워크 컴포넌트는 MPTCP 연결의 복수의 서브플로우 연결 상에서 패킷을 수신하고, 수신된 패킷에 기초하여 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하고, 네트워크 컴포넌트는 비순차를 야기하는 블로킹 패킷이 공차 시간 내에 수신되지 않은 것으로 결정하고, 네트워크 컴포넌트는 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송한다. 이러한 방식으로, 블로킹 패킷의 송신 장치는 재송신 명령 패킷을 수신한 후에 블로킹 패킷을 즉시 재전송할 수 있고, 서브플로우 RTO가 만료된 후에 재송신을 트리거할 필요가 없다. 또한, 공차 시간은 복수의 서브플로우 연결의 RTO 중 최대 RTO보다 작다. 따라서, 서브플로우 RTO가 만료된 후에 재전송이 트리거되는 종래 기술의 솔루션과 비교할 때, 전술한 기술의 솔루션에서의 지연은 비교적 짧다.
본 발명은 첨부 도면을 참조하여 본 발명의 특정 구현에 대한 후속하는 설명으로부터 더 잘 이해 될 수 있고, 동일하거나 유사한 참조 번호는 동일하거나 유사한 특징을 나타낸다.
도 1은 MPTCP의 개략적인 구조도이다.
도 2는 MPTCP의 2-계층 시퀀스 번호의 개략도이다.
도 3은 하이브리드 액세스 네트워크의 서비스 시나리오의 개략도이다.
도 4는 본 발명의 실시예에 따른 패킷 전송 방법의 개략적인 흐름도이다.
도 5는 본 발명의 실시예에 따른 MPTCP 연결의 개략도이다.
도 6은 본 발명의 다른 실시예에 따른 패킷 전송 방법의 개략적인 흐름도이다.
도 7은 본 발명의 실시예에 따른 BA 시나리오에서의 데이터 전송의 개략도이다.
도 8은 본 발명의 실시예에 따른 SDWAN 하이브리드 WAN 시나리오에서의 데이터 전송의 개략도이다.
도 9는 본 발명의 실시예에 따른 네트워크 컴포넌트의 개략적인 구조도이다.
도 10은 본 발명의 다른 실시예에 따른 네트워크 컴포넌트의 개략적인 구조도이다.
도 11은 본 발명의 실시예들에 따른 패킷 전송 방법 및 네트워크 컴포넌트를 구현할 수 있는 컴퓨팅 장치의 예시적인 하드웨어 아키텍처의 구조도이다.
본 발명의 실시예에서, 네트워크 컴포넌트는 수신된 패킷에 기초하여 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하고, 공차 시간 내에 블로킹 패킷이 여전히 수신되지 않으면 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송한다. 서브플로우 RTO가 만료된 후 재송신을 트리거할 필요가 없으므로 지연이 비교적 짧다.
도 4는 본 발명의 일 실시예에 따른 패킷 전송 방법의 개략적인 흐름도이다. 본 발명의 이 실시예는 구체적으로 후속하는 단계들을 포함하여, 네트워크 컴포넌트에 의해 수행될 수 있다.
도 5는 본 발명의 실시예에 따른 MPTCP 연결의 개략도이다. MPTCP가 적용되는 3개의 서브플로우 연결에서 수신단과 송신단 사이에서 데이터가 병렬로 전송되며, 서브플로우 연결은 서브플로우라고도 한다.
서브플로우 연결(1)은 DSL 연결을 사용하고, 서브플로우 연결(2)은 LTE 연결을 사용하고, 서브플로우 연결(3)은 Wi-Fi 연결을 사용한다. 다음은 설명을 위해 수신단을 예로 사용한다.
S401. 네트워크 컴포넌트는 MPTCP 연결의 복수의 서브플로우 연결상에서 패킷을 수신하고, 수신된 패킷에 기초하여 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정한다.
네트워크 컴포넌트는 MPTCP 연결의 복수의 서브플로우 연결 상에서 패킷을 수신한다. MPTCP는 2-계층 시퀀스 번호 메커니즘을 사용하여 안정적인 동시 다중 경로 전송을 구현한다. 하위 계층 SSN은 TCP 서브플로우와 관련이 있으며 각 TCP 서브플로우에 의해 독립적으로 유지된다. 상위 계층 DSN은 MPTCP의 제어 평면에서 유지되며 전역적으로 고유하다. 따라서, 수신된 패킷에 기초하여, MPTCP 계층에서의 패킷이 불량이라는 결정은 다음의 두 단계를 포함한다.
단계 1: 서브플로우 연결에서 수신된 패킷이 연속적인지 여부를 결정한다.
TCP 계층에서, SSN은 서브플로우 시퀀스 번호이고, 동일한 서브플로우 연결 상에서 수신된 패킷의 SSN 번호들이 연속적인 경우, 그것은 이 서브플로우 연결 상에서 수신된 패킷이 연속적임을 나타내기 때문에, 서브플로우 연결 상에서 수신된 패킷이 연속적인지 여부는 SSN에 기초하여 결정될 수 있다.
예를 들어, 네트워크 컴포넌트는 SSN이 각각 B, A 및 C인 패킷을 수신한다. 수신된 패킷의 SSN이 연속적으로 순위가 매겨질 수 있기 때문에, 그것은 이 서브플로우 연결에서 수신된 패킷이 연속적임을 나타낸다.
예를 들어, 네트워크 컴포넌트는 SSN이 각각 d, c 및 a인 패킷을 수신한다. 패킷의 SSN은 연속적으로 순위가 매겨지지 않을 수 있으므로, 그것은 이 서브플로우 연결 상에서 수신된 패킷이 비연속적임을 나타낸다.
서브플로우 연결에서 수신된 패킷이 연속적인 것으로 결정되면, 구체적으로, MPTCP 계층에서의 패킷이 연속적인지의 여부가 결정되는 단계(2)가 수행되고, 또는 서브플로우 연결 상에서 수신된 패킷이 비연속적인 것으로 결정되면, 처리는 표준 TCP 메커니즘을 사용하여 수행된다. 예를 들어, 수신단은 모든 패킷이 도착하는 것은 아닌 서브플로우 연결 상에서 도착하지 않은 패킷을 수신할 것이라는 예상을 나타내는데 사용되는 반복된 ACK로 3회 응답하고, 3회 반복되는 ACK를 수신한 후, 송신단은 동일한 서브플로우 연결 상에서 도착하지 않은 패킷을 빠르게 재전송한다.
단계 2. MPTCP 계층에서의 패킷이 연속적인지 여부를 결정한다.
MPTCP 계층에서, DSN은 전역적으로 고유하고, 동일한 MPTCP 연결 상에서 수신된 패킷의 DSN 번호들이 연속적이라면, 그것은 MPTCP 계층에서의 패킷이 연속적이라는 것을 나타내기 때문에, MPTCP 계층에서의 패킷이 연속적인지 여부는 DSN에 기초하여 결정될 수 있다.
예를 들어, 네트워크 컴포넌트는 DSN이 각각 2, 1 및 3인 패킷을 수신한다. 패킷의 DSN은 연속적으로 순위가 매겨질 수 있기 때문에, 그것은 MPTCP 계층에서의 패킷이 연속적임을 나타낸다. 연속적인 패킷이 DSN에 기초하여 성공적으로 조립된 후, 패킷 어셈블리가 성공한 후 획득된 패킷은 애플리케이션에 제출될 수 있다. 예를 들어, 패킷 어셈블리가 성공한 후 획득된 패킷은 네트워크 컴포넌트의 애플리케이션 계층, 예를 들어 비디오 애플리케이션에 제출될 수 있다.
예를 들어, 네트워크 컴포넌트는 DSN이 각각 4, 3 및 1인 패킷을 수신한다. DSN이 2인 패킷이 수신되지 않기 때문에, MPTCP 계층의 패킷은 비연속적인데, 즉 MPTCP 계층에서의 패킷은 비순차적이다.
MPTCP 계층에서의 패킷은 비교적 큰 지연 또는 서브플로우 연결의 패킷 손실로 인해 비순차적이다.
예를 들어, 네트워크 컴포넌트와 통신 피어 엔드 장치 사이의 MPTCP 연결은 서브플로우 연결(1) 및 서브플로우 연결(2)을 포함한다. 통신 피어 엔드 장치는 SSN이 a이고 DSN이 1인 패킷(1), SSN이 b이고 DSN이 2인 패킷(2), 및 SSN이 c이고 DSN이 4인 패킷(4)을 서브플로우 연결(1)에서 전송하고, SSN이 A이고 DSN이 3인 패킷(3)과 SSN이 B이고 DSN이 5인 패킷(5)을 서브플로우 연결(2)에서 전송한다. 네트워크 컴포넌트는 패킷(1), 패킷(2), 패킷(3) 및 패킷(5)을 수신한다. 패킷(1)의 SSN과 패킷(2)의 SSN은 연속적이며, 패킷(3)의 SSN 및 패킷(5)의 SSN도 연속적이다. 따라서, 단계(1)에서, 서브플로우 연결(1) 및 서브플로우 연결(2) 각각에서 수신된 패킷은 연속적인 것으로 결정된다. 패킷(3)의 DSN 및 패킷(5)의 DSN은 비연속적이다. 따라서, 단계(2)에서, MPTCP 계층에서의 패킷은 연속적이지 않은 것으로, 즉 MPTCP 계층에서의 패킷은 비순차적인 것으로 판단된다. 패킷(4)은 블로킹 패킷이다.
즉, MPTCP 계층에서의 패킷은 주로 블로킹 패킷이 수신되지 않기 때문에 비순차적이며, 블로킹 패킷은 비교적 큰 지연 또는 패킷 손실로 인해 수신되지 않는다.
S402. 네트워크 컴포넌트는 비순차를 야기하는 블로킹 패킷이 공차 시간 내에 수신되지 않는 것으로 결정하는데, 공차 시간은 복수의 서브플로우 연결의 RTO 중 최대 RTO보다 작다.
서브플로우 연결의 지연이 커지거나 패킷 손실이 발생하기 때문에, MPTCP 계층에서의 패킷은 비순차적이고, 네트워크 컴포넌트는 공차 시간 내에 블로킹 패킷을 수신하기 위해 대기할 필요가 있다. 블로킹 패킷이 공차 시간 내에 도달하면, 블로킹 패킷에 기초하여 패킷 어셈블리가 수행되고, 그런 다음 패킷 어셈블리가 성공한 후 획득된 패킷은 애플리케이션에 제출되고, 또는 공차 시간 내에 블로킹 패킷이 수신되지 않으면, S403이 수행된다.
각각의 서브플로우 연결은 대응하는 RTO를 가지며, 공차 시간은 복수의 서브플로우 연결의 RTO 중 최대 RTO보다 작아야 한다.
S403. 네트워크 컴포넌트는 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송하는데, 재송신 명령 패킷은 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는데 사용된다.
네트워크 컴포넌트는 MPTCP의 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송한다. 재송신 명령 패킷을 전송하는 것은 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는 것을 목표로 한다.
본 발명의 이 실시예에서, 네트워크 컴포넌트는 공차 시간 내에 MPTCP 연결의 복수의 서브플로우 연결 상에서 블로킹 패킷이 여전히 수신되지 않았다고 결정하고, 그런 다음, 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송한다. MPTCP 계층의 패킷은 비순차적이고, 공차 시간 내에 블로킹 패킷이 수신되지 않기 때문에, 재송신 명령 패킷을 사용하여 블로킹 패킷의 재전송이 트리거되고, 지연은 비교적 짧다.
본 발명의 일 실시예에서, 수신된 패킷에 기초하여, MPTCP 계층에서의 패킷은 비순차적인 것으로 결정하는 것은 구체적으로 다음을 포함한다:
연속적인 도착 패킷은 MPTCP의 복수의 서브플로우 연결 상에서 MPTCP 계층에 제출된다. 다시 말해서, TCP 계층에 도착하는 패킷의 SSN이 연속적이므로, 그것은 서브플로우 연결에서 수신된 패킷이 연속적임을 나타낸다.
MPTCP 계층에서, 패킷 어셈블리는 패킷의 DSN에 기초하여 수행된다. 블로킹 패킷이 수신되지 않는 것으로 확인되었으므로, 도착 패킷의 DSN은 비 연속적인 것으로 결정되고, MPTCP 계층의 패킷은 비순차적인 것으로 결정된다.
전술한 실시예에서, 패킷의 SSN은 연속적이고, 패킷의 DSN은 비 연속적이다. 이 경우, 그것은 수신되지 않은 블로킹 패킷이 존재하며, 결과적으로 MPTCP 계층의 패킷은 비순차적임을 나타낸다.
본 발명의 실시예에서, 공차 시간은 복수의 서브플로우 연결의 RTT 중 최대 RTT 및 MPTCP 계층에서의 패킷이 비순차적일 때 최근에 수신된 패킷이 위치한 서브플로우 연결의 RTT에 기초하여 결정될 수 있다.
구체적으로, 수신단과 송신단 사이에는 복수의 서브플로우 연결이 존재한다. 각각의 서브플로우 연결은 실시간 RTT를 가지며, 복수의 서브플로우 연결 중 최대 RTT는 RTTmax로 표시된다.
MPTCP 계층의 패킷이 비순차적일 때 최근에 수신된 패킷이 위치하는 서브플로우 연결의 RTT는 RTTcur로 표시된다.
예를 들어, 네트워크 컴포넌트와 통신 피어 엔드 장치 사이의 MPTCP 연결은 서브플로우 연결(1) 및 서브플로우 연결(2)을 포함한다. 통신 피어 엔드 장치는 SSN이 a이고 DSN이 1인 패킷(1), SSN이 b이고 DSN이 2인 패킷(2), SSN이 c이고 DSN이 4인 패킷(4)을 서브플로우 연결(1)에서 전송하고, SSN이 A이고 DSN이 3인 패킷(3)과 SSN이 B이고 DSN이 5인 패킷(5)을 서브플로우 연결(2)에서 전송한다. 네트워크 컴포넌트는 패킷(1), 패킷(2), 패킷(3) 및 패킷(5)을 수신한다. 패킷(1), 패킷(2), 패킷(3) 및 패킷(5)은 패킷(4)이 없기 때문에 비연속적이다. 패킷(5)이 수신된 후, MPTCP 계층에서의 패킷은 비순차적인 것으로 판정되고, 패킷(5)이 위치하는 경로의 RTT는 RTTcur이다.
예를 들어, 공차 시간은 (RTTmax-RTTcur)의 1/2과 동일하고, (RTTmax-RTTcur)의 1/2은 일반적으로 복수의 서브플로우 연결의 RTO 중 최대 RTO보다 작다.
전술한 실시예에서, 공차 시간은 RTT를 사용하여 결정될 수 있다. 공차 시간 내에 블로킹 패킷이 수신되지 않으면, 블로킹 패킷의 재전송이 트리거되어 지연을 단축시킨다.
본 발명의 실시예에서, 가장 짧은 추정 지연을 갖는 서브플로우 연결이 복수의 서브플로우 연결 중에서 선택될 수 있고, 가장 짧은 추정 지연을 갖는 서브플로우 연결은 타겟 서브플로우 연결로서 사용된다. 각 서브플로우 연결의 지연은 구체적으로 각 서브플로우 연결의 RTT에 기초하여 추정될 수 있고, 가장 작은 RTT를 갖는 서브플로우 연결이 타겟 서브플로우 연결로서 사용된다.
재송신 명령 패킷을 가능한 빨리 전송하기 위해, 추정된 가장 짧은 지연을 갖는 서브플로우 연결이 타겟 서브플로우 연결로서 선택될 수 있고, 재송신 명령 패킷은 타겟 서브플로우 연결 상에서 전송된다.
본 발명의 일 실시예에서, 송신단이 재송신 명령 패킷을 식별할 수 있게 하기 위해, 재송신 명령 패킷은 식별자를 포함할 수 있고, 식별자는 재송신 명령 패킷이 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하도록 하는데 사용되는 패킷임을 식별하는데 사용된다. 즉, 재송신 명령 패킷을 수신한 후, 블로킹 패킷의 송신 장치는 식별자를 이용하여 재송신 명령 패킷을 식별하고, 대응하는 블로킹 패킷을 재전송할 수 있다.
전술한 예에서, 식별자는 블로킹 패킷의 재전송을 트리거하기 위한 트리거 조건으로서 사용되어 지연을 단축시킨다.
본 발명의 일 실시예에서, 재송신 명령 패킷 내의 식별자는 MPTCP의 데이터 시퀀스 신호(DSS) 옵션에서 플래그 비트에 위치할 수 있다.
MPTCP의 DSS는 MPTCP 세션에서 서브 트래픽의 데이터 흐름 상태를 나타낸다. 송신단이 재송신 명령 패킷을 식별할 수 있게 하기 위해, MPTCP의 DSS 내의 플래그 비트는 식별자로 채워질 수 있다. 예를 들어, MPTCP의 DSS에서 제6 플래그 비트가 식별자로 채워질 수 있다.
전술한 예에서, 송신단은 MPTCP의 DSS 옵션에서 플래그 비트를 사용하여, 대응하는 식별자가 존재하는지 여부를 결정할 수 있고, 식별자가 존재하면, 송신단은 수신단에 의해 전송된 재송신 명령 패킷을 식별할 수 있다. 즉, 플래그 비트가 식별자로 채워진 패킷은 재송신 명령 패킷이다.
본 발명의 실시예에서, 복수의 서브플로우 연결 중에서 타겟 서브플로우 연결 상에서 블로킹 패킷의 재송신 명령 패킷을 전송하는 것은 블로킹 패킷의 반복된 중복 확인응답 패킷을 타겟 서브플로우 연결 상에서 3회 연속하여 전송하는 것을 포함할 수 있는데, 블로킹 패킷의 중복 확인응답 패킷은 블로킹 패킷을 수신할 것이라는 예상을 나타내는 데 사용된다. 3회 연속 전송된 중복 확인응답 패킷은 재송신 명령 패킷과 동일하다.
송신단이 반복된 중복 확인응답 패킷을 3회 수신하면, 그것은 송신단이 타겟 서브플로우 연결에서 블로킹 패킷을 재송신할 필요가 있음을 나타낸다.
전술한 예에서, 반복된 중복 확인응답 패킷을 3회 수신하는 것은 블로킹 패킷의 재전송을 트리거하기 위한 트리거 조건으로서 사용되어 지연을 단축시킨다.
도 6은 본 발명의 다른 실시예에 따른 패킷 전송 방법의 개략적인 흐름도이다. 본 발명의 이 실시예는 구체적으로 다음 단계들을 포함하며, 네트워크 컴포넌트에 의해 수행될 수 있다.
S601. 네트워크 컴포넌트는 MPTCP의 복수의 서브플로우 연결 상에서 수신된 패킷으로부터 블로킹 패킷의 재송신 명령 패킷을 식별한다.
네트워크 컴포넌트는 MPTCP의 복수의 서브플로우 연결 상에서 수신된 패킷으로부터 재송신 명령 패킷을 식별할 수 있고, 재송신 명령 패킷은 블로킹 패킷의 DSN을 포함한다.
S602. 네트워크 컴포넌트는 재송신 명령 패킷에 기초하여 블로킹 패킷의 DSN을 결정한다.
블로킹 패킷은 재송신 명령 패킷에서 결정될 수 있고, 따라서 블로킹 패킷의 DSN이 학습될 수 있다.
예를 들어, 재송신 명령 패킷은 식별자를 포함할 수 있고, 식별자는 재송신 명령 패킷이 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는 데 사용되는 패킷임을 식별하는데 사용된다. 블로킹 패킷의 재송신 명령 패킷은 재송신 명령 패킷의 식별자를 사용하여 식별될 수 있다. 식별자는 MPTCP의 DSS 옵션에서 플래그 비트에 위치할 수 있다.
다른 예에서, 블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 수신하면, 네트워크 컴포넌트는 재송신 명령 패킷을 식별할 수 있다.
재송신 명령 패킷을 식별한 후, 네트워크 컴포넌트는 재송신 명령 패킷에 기초하여 블로킹 패킷의 DSN을 결정할 수 있다.
S603. 네트워크 컴포넌트는 재송신 명령 패킷을 수신하는 서브플로우 연결상에서 결정된 DSN에 대응하는 블로킹 패킷을 재전송한다.
네트워크 컴포넌트는 재송신 명령 패킷을 수신하는 서브플로우 연결에서 DSN에 기초하여 블로킹 패킷을 재전송한다. DSN은 블로킹 패킷의 DSN이므로, 수신단은 DSN에 대응하는 블로킹 패킷을 수신한다.
본 발명의 이 실시예에서, MPTCP의 복수의 서브플로우 연결상에서 재송신 명령 패킷을 수신한 후, 네트워크 컴포넌트는 재송신 명령 패킷을 식별하고, 재송신 명령 패킷에 기초하여 블로킹 패킷의 DSN을 결정하고, 그런 다음 DSN에 기초하여 서브플로우 연결에서 블로킹 패킷을 재전송한다. 재송신 명령 패킷을 식별한 후, 네트워크 컴포넌트는 대응하는 블로킹 패킷을 즉시 재전송함으로써 지연을 단축시킨다.
도 7은 본 발명의 일 실시예에 따른 BA 시나리오에서의 데이터 전송의 개략도이다. 도 7은 도 4 내지 도 6의 기술적 솔루션을 사용할 수 있다. 예를 들어, 도 4 내지 도 6의 네트워크 컴포넌트 HG 또는 HAAP일 수 있다.
클라이언트는 TCP 프로토콜을 사용함으로써 애플리케이션을 전달하는 클라이언트, 예를 들어, 가정용 컴퓨터, 태블릿 컴퓨터 또는 휴대폰이다. 클라이언트는 TCP 애플리케이션(예컨대, 비디오 온 라이브)에 액세스하는 데 사용될 수 있다.
HG는 통신 사업자에 의해 사용자의 집에 설치된 네트워크 액세스 장치이다. 이러한 유형의 장치는 광역 네트워크(Wide Area Network, WAN) 측에서 다양한 인터페이스, 예를 들어 DSL 인터페이스, Wi-Fi 인터페이스 및 LTE 인터페이스를 가질 수 있다. 이러한 인터페이스는 하이브리드 액세스를 구현하기 위해 MPTCP 다중 경로 전송을 위한 다른 출구로서 사용될 수 있다.
HAAP는 상이한 HG 장치로부터 하이브리드 액세스 요청을 수신하는 장치이다.
서버는 TCP 프로토콜을 사용하여 애플리케이션을 운반하는 서버이다.
BA 시나리오에서, MPTCP 프록시 서버가 HAAP 및 HG에 배치되고, 3개의 MPTCP 서브플로우 연결이 LTE 링크, DSL 링크 및 Wi-Fi 링크를 통해 프록시 서버 간에 확립된다. HG의 프록시 서버와 HAAP의 프록시 서버는 각각의 서브플로우 연결의 RTT를 유지한다.
패킷 손실 또는 LTE 링크의 과도하게 큰 지연으로 인해, 프록시 서버 중 하나(예를 들어, HG의 프록시 서버)는 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하고, 타겟 서브플로우를 선택하며, 재송신 명령 패킷을 전송한다. 다른 프록시 서버(예를 들어, HAAP의 프록시 서버)는 재송신 명령 패킷을 수신한 직후에 타겟 서브플로우 연결에서 블로킹 패킷을 빠르게 재전송한다.
도 8은 본 발명의 일 실시예에 따른 소프트웨어 정의 광역 네트워크-하이브리드 광역 네트워크(Software-defined Hybrid WAN) 시나리오에서의 데이터 전송의 개략도이다. 도 8은 도 4 내지 도 6의 기술적 솔루션을 사용할 수 있다. 예를 들어, 도 4 내지 도 6의 네트워크 컴포넌트는 액세스 라우터(access router, AR)일 수 있다.
SDWAN 하이브리드 WAN 시나리오에서, 엔터프라이즈 브랜치(Branch)와 엔터프라이즈 헤드쿼터(Head-quarter) 사이에 복수의 잉여 경로가 있으며, MPTCP 프록시 서버는 AR(1) 및 AR(2)에 개별적으로 배치되며, 복수의 MPTCP 서브플로우 연결이 MPTCP 본딩을 통해 LTE 링크, xPON 링크, DSL 링크 및 Wi-Fi 링크를 이용하여 확립된다.
수동 광 네트워크(x Passive Optical Network, xPON)는 셀 기반 ATM 수동 광 네트워크(ATM Passive Optical Networks, APON), 이더넷 수동 광 네트워크(Ethernet Passive Optical Networks, EPON), 기가비트 가능 수동 광 네트워크(Gigabit-capable Passive Optical Networks, GPON) 등을 포함한다.
AR(1)의 MPTCP 프록시 서버는 각 서브플로우 연결의 RTT를 유지한다.
패킷 손실 또는 LTE 링크의 과도하게 큰 지연으로 인해, AR(1)의 프록시 서버는 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하고, 타겟 서브플로우 연결을 선택하고, 재송신 명령 패킷을 전송하고, AR(2)의 프록시 서버는 재송신 명령 패킷을 수신한 직후에 타겟 서브플로우 연결상에서 블로킹 패킷을 빠르게 재전송한다.
도 9는 본 발명의 실시예에 따른 네트워크 컴포넌트의 개략적인 구조도이며, 네트워크 컴포넌트는 패킷 전송 방법에 해당한다. 네트워크 컴포넌트에는 구체적으로 후속하는 모듈을 포함한다.
결정 모듈(901)은 MPTCP 연결의 복수의 서브플로우 연결상에서 패킷을 수신하고, 수신된 패킷에 기초하여 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하도록 구성된다.
예를 들어, 네트워크 컴포넌트와 통신 피어 엔드 장치 사이의 MPTCP 연결은 서브플로우 연결(1) 및 서브플로우 연결(2)을 포함한다. 통신 피어 엔드 장치는 SSN이 a이고 DSN이 1인 패킷(1), SSN이 b이고 DSN이 2인 패킷(2), SSN이 c이고 DSN이 4인 패킷(4), SSN이 A이고 DSN이 3인 패킷(3)을 서브플로우 연결(1)에서 전송하고, SSN이 B이고 DSN이 5인 패킷(5)을 서브플로우 연결(2)에서 전송한다. 네트워크 컴포넌트는 패킷(1), 패킷(2), 패킷(3) 및 패킷(5)을 수신한다. 패킷(1)의 SSN과 패킷(2)의 SSN은 연속적이며, 패킷(3)의 SSN 및 패킷(5)의 SSN도 연속적이다. 따라서, 단계(1)에서, 서브플로우 연결(1) 및 서브플로우 연결(2) 각각에서 수신된 패킷은 연속적인 것으로 결정된다. 패킷(3)의 DSN 및 패킷(5)의 DSN은 비연속적이다. 따라서, 단계(2)에서 MPTCP 계층에서의 패킷이 연속적이지 않은 것으로, 즉 MPTCP 계층에서의 패킷은 비순차적인 것으로 결정된다. 패킷(4)은 블로킹 패킷이다.
즉, MPTCP 계층에서의 패킷은 주로 블로킹 패킷이 수신되지 않기 때문에 비순차적이며, 비교적 큰 지연 또는 패킷 손실로 인해 블로킹 패킷이 수신되지 않는다.
판정 모듈(902)은 비순차를 야기하는 블로킹 패킷이 공차 시간 내에 수신되지 않은 것으로 결정하도록 구성되며, 공차 시간은 복수의 서브플로우 연결의 RTO 중 최대 RTO보다 작다.
서브플로우 연결의 지연이 커지거나 패킷 손실이 발생하기 때문에, MPTCP 계층에서의 패킷은 비순차적이며, 네트워크 컴포넌트는 공차 시간 내에 블로킹 패킷을 수신하기 위해 대기할 필요가 있다. 블로킹 패킷이 공차 시간 내에 도달하면, 블로킹 패킷에 기초하여 패킷 어셈블리가 수행되고, 패킷 어셈블리가 성공한 후 획득된 패킷은 애플리케이션에 제출되고, 또는 블로킹 패킷이 공차 시간 내에 수신되지 않으면, 송신 모듈(903)은 재송신 명령 패킷을 전송한다.
각각의 서브플로우 연결은 대응하는 RTO를 가지며, 공차 시간은 복수의 서브플로우 연결의 RTO 중 최대 RTO보다 작아야 한다.
송신 모듈(903)은 복수의 서브플로우 연결 중에서 타겟 서브플로우 연결 상에서 통해 블로킹 패킷의 재송신 명령 패킷을 송신하도록 구성되며, 여기서 재송신 명령 패킷은 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는데 사용된다.
송신 모듈(903)은 MPTCP의 복수의 서브플로우 연결 중에서 타겟 서브플로우 연결 상에서 패킷의 재송신 명령 패킷을 송신한다. 재송신 명령 패킷을 전송하는 것은 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는 것을 목표로 한다.
본 발명의 이 실시예에서, 블로킹 패킷이 공차 시간 내에 MPTCP 연결의 복수의 서브플로우 연결 상에서 여전히 수신되지 않은 것으로 결정되고, 이어서 블로킹 패킷의 재송신 명령 패킷이 타겟 서브플로우 연결 상에서 전송된다. MPTCP 계층의 패킷이 비순차적이고, 공차 시간 내에 블로킹 패킷이 수신되지 않기 때문에, 재송신 명령 패킷을 사용하여 블로킹 패킷의 재전송이 트리거되고, 지연은 비교적 짧다.
본 발명의 일 실시예에서, 결정 모듈(901)은 구체적으로: MPTCP의 복수의 서브플로우 연결에서 도착하는 패킷의 DSN에 기초하여 패킷 어셈블리를 수행하고, 도착 패킷의 DSN이 연속적이지 않은 것으로 결정되면, MPTCP 계층의 패킷은 비순차적인 것으로 결정하도록 구성된다.
전술한 실시예에서, 패킷의 SSN은 연속적이고, 패킷의 DSN은 비연속적이다. 이 경우, 그것은 수신되지 않은 블로킹 패킷이 존재하고, 결과적으로 MPTCP 계층의 패킷이 비순차적인 것임을 나타낸다.
본 발명의 실시예에서, 공차 시간은 복수의 서브플로우 연결의 RTT 중에서 최대 RTT 및 MPTCP 계층에서의 패킷이 비순차적일 때 최근에 수신된 패킷이 위치한 서브플로우 연결의 RTT에 기초하여 결정될 수 있다.
구체적으로, 수신단과 송신단 사이에는 복수의 서브플로우 연결이 존재한다. 각각의 서브플로우 연결은 실시간 RTT를 가지며, 복수의 서브플로우 연결 중 최대 RTT는 RTTmax로 표시된다.
MPTCP 계층에서의 패킷이 비순차적일 때 최근에 수신된 패킷이 위치하는 서브플로우 연결의 RTT는 RTTcur로 표시된다.
예를 들어, 공차 시간은 (RTTmax-RTTcur)의 1/2과 같고,(RTTmax-RTTcur)의 1/2은 일반적으로 복수의 서브플로우 연결의 RTO 중 최대 RTO보다 작다.
전술한 실시예에서, 공차 시간은 RTT를 사용하여 결정될 수 있다. 공차 시간 내에 블로킹 패킷이 수신되지 않으면, 블로킹 패킷의 재전송이 트리거되어 지연을 단축시킨다.
본 발명의 실시예에서, 송신단이 중복 확인응답 패킷을 식별할 수 있게 하기 위해, 송신 모듈(903)은 복수의 서브플로우 연결 중에서 추정된 지연이 가장 짧은 서브플로우 연결을 타겟 서브플로우 연결로서 선택하도록 더 구성된다.
전술한 예에서, 재송신 명령 패킷을 가능한 빨리 전송하기 위해, 추정된 가장 짧은 지연을 갖는 서브플로우 연결이 타겟 서브플로우 연결로서 선택될 수 있고, 재송신 명령 패킷은 타겟 서브플로우 연결 상에서 전송된다.
본 발명의 실시예에서, 재송신 명령 패킷은 식별자를 포함할 수 있고, 식별자는 재송신 명령 패킷이 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는데 사용되는 패킷임을 식별하는데 사용될 수 있다. 즉, 재송신 명령 패킷을 수신한 후, 블로킹 패킷의 송신 장치는 식별자를 이용하여 재송신 명령 패킷을 식별하고, 대응하는 블로킹 패킷을 재전송할 수 있다.
전술한 예에서, 식별자는 블로킹 패킷의 재전송을 트리거하기 위한 트리거 조건으로서 사용되어 지연을 단축시킨다.
본 발명의 실시예에서, 재송신 명령 패킷의 식별자는 MPTCP의 DSS 옵션에서 플래그 비트에 위치할 수 있다.
MPTCP의 DSS는 MPTCP 세션에서 서브 트래픽의 데이터 흐름 상태를 나타낸다. 송신단이 재송신 명령 패킷을 식별할 수 있게 하기 위해, MPTCP의 DSS의 플래그 비트는 식별자로 채워질 수 있다. 예를 들어, MPTCP의 DSS에서 제6 플래그 비트는 식별자로 채워질 수 있다.
전술한 예에서, 플래그 비트가 식별자로 채워진 패킷은 재송신 명령 패킷이다.
본 발명의 실시예에서, 송신 모듈(903)은 구체적으로 타깃 서브플로우 연결 상에서 블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 전송하도록 구성되며, 여기서 블로킹 패킷의 중복 확인응답 패킷은 블로킹 패킷을 수신할 것으로 예상됨을 나타내는데 사용된다. 3회 연속 전송된 중복 확인응답 패킷은 재송신 명령 패킷과 동일하다.
전술한 예에서, 반복된 중복 확인응답 패킷을 3회 수신하는 것은 블로킹 패킷의 재전송을 트리거하기 위한 트리거 조건으로서 사용되어 지연을 단축시킨다.
본 발명의 실시예에서, 네트워크 컴포넌트는 HG, HAAP 또는 AR일 수 있다.
도 10은 본 발명의 다른 실시예에 따른 네트워크 컴포넌트의 개략적인 구조도이며, 네트워크 컴포넌트는 패킷 전송 방법에 대응한다. 네트워크 컴포넌트는 구체적으로 후속하는 모듈을 포함한다.
식별 모듈(1001)은 MPTCP의 복수의 서브플로우 연결 상에서 수신된 패킷으로부터 블로킹 패킷의 재송신 명령 패킷을 식별하도록 구성된다.
재송신 명령 패킷은 MPTCP의 복수의 서브플로우 연결 상에서 수신된 패킷으로부터 식별될 수 있고, 재송신 명령 패킷은 블로킹 패킷의 DSN을 포함한다.
결정 모듈(1002)은 재송신 명령 패킷에 기초하여 블로킹 패킷의 DSN을 결정하도록 구성된다.
예를 들어, 재송신 명령 패킷은 식별자를 포함할 수 있고, 식별자는 재송신 명령 패킷이 블로킹 패킷의 송신 장치에게 블로킹 패킷을 재전송하라고 지시하는 데 사용되는 패킷임을 식별하는데 사용된다. 블로킹 패킷의 재송신 명령 패킷은 재송신 명령 패킷 내의 식별자를 사용하여 식별될 수 있다. 식별자는 MPTCP의 DSS 옵션에서 플래그 비트에 위치할 수 있다.
다른 예에서, 블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 수신하면, 네트워크 컴포넌트는 재송신 명령 패킷을 식별할 수 있다.
재송신 명령 패킷을 식별한 후, 네트워크 컴포넌트는 재송신 명령 패킷에 기초하여 블로킹 패킷의 DSN을 결정할 수 있다.
재송신 모듈(1003)은 재송신 명령 패킷을 수신하는 서브플로우 연결상에서 결정된 DSN에 대응하는 블로킹 패킷을 재전송하도록 구성된다.
본 발명의 이 실시예에서, MPTCP의 복수의 서브플로우 연결상에서 재송신 명령 패킷을 수신한 후, 식별 모듈(1001)은 재송신 명령 패킷을 식별한다. 결정 모듈(1002)은 재송신 명령 패킷에 기초하여 블로킹 패킷의 DSN을 결정한다. 그 후, 재송신 모듈(1003)은 재송신 명령 패킷을 수신하는 서브플로우 연결에서 DSN에 대응하는 블로킹 패킷을 재송신한다. 재송신 명령 패킷을 수신한 후, 네트워크 컴포넌트는 대응하는 블로킹 패킷을 즉시 재전송함으로써 지연을 단축시킨다.
본 발명의 일 실시예에서, 네트워크 컴포넌트는 HG, HAAP 또는 AR일 수 있다.
도 11은 본 발명의 실시예들에 따른 패킷 전송 방법 및 네트워크 컴포넌트를 구현할 수 있는 컴퓨팅 장치의 예시적인 하드웨어 아키텍처의 구조도이다. 도 11에 도시된 바와 같이, 컴퓨팅 장치(1100)는 입력 인터페이스(1101), 프로세서(1102), 메모리(1103) 및 출력 인터페이스(1104)를 포함한다.
입력 인터페이스(1101), 프로세서(1102), 메모리(1103) 및 출력 인터페이스(1104)는 버스(1105)를 사용하여 상호 연결된다.
구체적으로, 입력 정보는 입력 인터페이스(1101)를 사용하여 프로세서(1102)로 전송된다. 프로세서(1102)는 메모리(1103)에 저장된 컴퓨터 실행 가능 명령에 기초하여 입력 정보를 처리하여 출력 정보를 생성하고, 이 출력 정보를 일시적 또는 영구적으로 메모리(1103)에 저장하며, 출력 정보는 출력 인터페이스(1104)를 사용하여 출력된다.
컴퓨팅 장치(1100)는 본 출원에서 전술한 패킷 전송 방법의 단계들을 수행할 수 있다.
프로세서(1102)는 하나 이상의 중앙 처리 장치(CPU)일 수 있다. 프로세서들(1102) 또는 프로세서(1102)가 하나의 CPU인 경우, CPU는 단일 코어 CPU 또는 다중 코어 CPU일 수 있다.
메모리(1103)는 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 가능 프로그램가능 판독 전용 메모리(EPROM), 컴팩트 디스크 판독 전용 메모리(CD-ROM), 하드 디스크 등 중 하나 이상을 포함할 수 있으나, 이에 국한되지 않는다. 메모리(1103)는 프로그램 코드를 저장하도록 구성된다.
본 출원의 이 실시예에서, 도 9 및 도 10에 제공된 임의의 모듈 또는 모든 모듈의 기능은 도 11에 도시된 중앙 처리 장치(1102)에 의해 구현될 수 있음을 이해할 수 있다.
전술한 실시예의 전부 또는 일부는 소프트웨어, 하드웨어, 펌웨어 또는 이들의 임의의 조합을 통해 구현될 수 있다. 전술한 실시예들 중 일부 또는 전부가 컴퓨터 프로그램 제품의 형태로 구현될 때, 컴퓨터 프로그램 제품은 하나 이상의 컴퓨터 명령어를 포함한다. 컴퓨터 프로그램 명령어가 컴퓨터 상에 로드 또는 실행될 때, 본 발명의 실시예에 따른 절차 또는 기능이 전부 또는 부분적으로 생성된다. 컴퓨터는 범용 컴퓨터, 전용 컴퓨터, 컴퓨터 네트워크 또는 다른 프로그램 가능한 장치일 수 있다. 컴퓨터 명령어는 컴퓨터 판독가능 저장 매체에 저장되거나 컴퓨터 판독가능 저장 매체로부터 다른 컴퓨터 판독가능 저장 매체로 전송될 수 있다. 예를 들어, 컴퓨터 명령어는 웹 사이트, 컴퓨터, 서버 또는 데이터 센터로부터 유선(예를 들어, 동축 케이블, 광섬유 또는 디지털 가입자 라인(DSL)))을 통해 또는 무선(예컨대, 적외선, 라디오 또는 마이크로파)을 통해 다른 웹 사이트, 컴퓨터, 서버 또는 데이터 센터로 전송될 수 있다. 컴퓨터 판독가능 저장 매체는 하나 이상의 사용가능 매체를 포함하는 서버 또는 데이터 센터와 같은 컴퓨터 또는 데이터 저장 장이체 의해 액세스 가능한 임의의 사용 가능한 매체일 수 있다. 사용 가능한 매체는 자기 매체(예를 들어, 플로피 디스크, 하드 디스크 또는 자기 테이프), 광학 매체(예를 들어, DVD), 반도체 매체(예를 들어, 솔리드 스테이트 디스크(Solid State Disk, SSD)) 등일 수 있다.
본 명세서의 실시예는 모두 점진적으로 설명된다. 실시예에서의 동일하거나 유사한 부분에 대해서는 이들 실시예를 참조한다. 각 실시예는 다른 실시예와의 차이점에 중점을 둔다. 특히, 장치 실시예 및 시스템 실시예는 기본적으로 방법 실시예와 유사하므로 간략하게 설명된다. 관련 부분에 대해서는 방법 실시예의 부분적인 설명을 참조한다.

Claims (28)

  1. 패킷 전송 방법으로서,
    네트워크 컴포넌트에 의해, 다중 경로 전송 제어 프로토콜(MPTCP) 연결의 복수의 서브플로우 연결 상에서 패킷을 수신하고, 상기 수신된 패킷에 기초하여, MPTCP 계층에서의 패킷이 비순차적인 것(out of order)으로 결정하는 단계와,
    상기 네트워크 컴포넌트에 의해, 비순차를 야기하는 블로킹 패킷이 공차 시간(tolerance time) 내에 수신되지 않은 것으로 결정하는 단계- 상기 공차 시간은 상기 복수의 서브플로우 연결의 재전송 타임 아웃(RTO) 중 최대 RTO보다 작고, 상기 공차 시간은 제1 왕복시간(RTT) 및 제2 RTT의 차의 일부와 같고, 상기 제1 RTT는 상기 복수의 서브플로우 연결의 RTT 중 최대 RTT이고 상기 제2 RTT는 상기 MPTCP 계층에서의 패킷이 비순차적일 때 최근에 수신된 패킷이 위치한 상기 서브플로우 연결의 RTT임 - 와,
    상기 네트워크 컴포넌트에 의해, 상기 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 상기 블로킹 패킷의 재송신 명령 패킷을 전송하는 단계- 상기 재송신 명령 패킷은 상기 블로킹 패킷의 송신 장치에게 상기 블로킹 패킷을 재전송하라고 지시하는 데 사용됨 -를 포함하는
    패킷 전송 방법.
  2. 제1항에 있어서,
    상기 수신된 패킷에 기초하여, 상기 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하는 단계는
    상기 MPTCP의 복수의 서브플로우 연결에서 상기 수신된 패킷의 데이터 시퀀스 번호(DSN)에 기초하여 패킷 어셈블리를 수행하고, 상기 수신된 패킷의 DSN이 비연속적인 것으로 결정되면, 상기 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하는 단계를 포함하는
    패킷 전송 방법.
  3. 삭제
  4. 제1항에 있어서,
    상기 공차 시간은 상기 제1 RTT와 상기 제2 RTT의 차의 1/2과 같은
    패킷 전송 방법.
  5. 제1항에 있어서,
    상기 네트워크 컴포넌트에 의해, 상기 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 상기 블로킹 패킷의 재송신 명령 패킷을 전송하는 단계 이전에, 상기 방법은 상기 복수의 서브플로우 연결 중에서 추정된 지연이 가장 짧은 서브플로우 연결을 상기 타겟 서브플로우 연결로서 선택하는 단계를 더 포함하는
    패킷 전송 방법.
  6. 제1항에 있어서,
    상기 재송신 명령 패킷은 식별자를 포함하고, 상기 식별자는 상기 재송신 명령 패킷이 상기 블로킹 패킷의 상기 송신 장치에게 상기 블로킹 패킷을 재전송하라고 지시하는데 사용되는 패킷임을 식별하는데 사용되는
    패킷 전송 방법.
  7. 제6항에 있어서,
    상기 식별자는 상기 MPTCP의 데이터 시퀀스 신호(DSS) 옵션에서 플래그 비트에 위치하는
    패킷 전송 방법.
  8. 제1항에 있어서,
    상기 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 상기 블로킹 패킷의 재송신 명령 패킷을 전송하는 단계는
    상기 타겟 서브플로우 연결 상에서 3회 연속으로 상기 블로킹 패킷의 반복된 중복 확인응답 패킷을 전송하는 단계를 포함하는
    패킷 전송 방법.
  9. 제1항에 있어서,
    상기 네트워크 컴포넌트는 홈 게이트웨이(HG), 하이브리드 액세스 어그리게이션 포인트(HAAP) 또는 액세스 라우터(AR)인
    패킷 전송 방법.
  10. 패킷 전송 방법으로서,
    네트워크 컴포넌트에 의해, 다중 경로 전송 제어 프로토콜(MPTCP)의 복수의 서브플로우 연결 상에서 수신된 패킷으로부터 MPTCP 계층에서 비순차를 야기하는 블로킹 패킷의 재송신 명령 패킷을 식별하는 단계와,
    상기 네트워크 컴포넌트에 의해, 상기 재송신 명령 패킷에 기초하여 상기 블로킹 패킷의 데이터 시퀀스 번호(DSN)를 결정하는 단계와,
    상기 네트워크 컴포넌트에 의해, 상기 재송신 명령 패킷을 수신하는 서브플로우 연결 상에서 상기 DSN에 대응하는 상기 블로킹 패킷을 재전송하는 단계를 포함하고,
    상기 블로킹 패킷의 재송신 명령 패킷을 식별하는 단계는,
    상기 블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 수신함으로써 상기 블로킹 패킷의 상기 재송신 명령 패킷을 식별하는 단계를 포함하는
    패킷 전송 방법.
  11. 제10항에 있어서,
    상기 재송신 명령 패킷은 식별자를 포함하고, 상기 식별자는 상기 재송신 명령 패킷이 상기 블로킹 패킷의 송신 장치에게 상기 블로킹 패킷을 재전송하라고 지시하는데 사용됨을 식별하는데 사용되며,
    상기 블로킹 패킷의 재송신 명령 패킷을 식별하는 단계는 상기 재송신 명령 패킷의 상기 식별자를 사용하여 상기 블로킹 패킷의 상기 재송신 명령 패킷을 식별하는 단계를 포함하는
    패킷 전송 방법.
  12. 삭제
  13. 제10항에 있어서,
    상기 네트워크 컴포넌트는 홈 게이트웨이(HG), 하이브리드 액세스 어그리게이션 포인트(HAAP) 또는 액세스 라우터(AR)인
    패킷 전송 방법.
  14. 네트워크 컴포넌트로서,
    다중 경로 전송 제어 프로토콜(MPTCP) 연결의 복수의 서브플로우 연결 상에서 패킷을 수신하고, 상기 수신된 패킷에 기초하여 MPTCP 계층에서의 패킷이 비순차적인 것으로 결정하도록 구성된 결정 모듈과,
    비순차를 야기하는 블로킹 패킷이 공차 시간 내에 수신되지 않은 것으로 결정하도록 구성된 판정 모듈- 상기 공차 시간은 상기 복수의 서브플로우 연결의 재전송 타임 아웃(RTO) 중 최대 RTO보다 작고, 상기 공차 시간은 제1 왕복시간(RTT) 및 제2 RTT의 차의 일부와 같고, 상기 제1 RTT는 상기 복수의 서브플로우 연결의 RTT 중 최대 RTT이고 상기 제2 RTT는 상기 MPTCP 계층에서의 패킷이 비순차적일 때 최근에 수신된 패킷이 위치한 상기 서브플로우 연결의 RTT임 -과,
    상기 복수의 서브플로우 연결 중 타겟 서브플로우 연결 상에서 상기 블로킹 패킷의 재송신 명령 패킷을 전송하도록 구성된 송신 모듈- 상기 재송신 명령 패킷은 상기 블로킹 패킷의 송신 장치에게 상기 블로킹 패킷을 재전송하라고 지시하는데 사용됨 -을 포함하는
    네트워크 컴포넌트.
  15. 제14항에 있어서,
    상기 결정 모듈은 구체적으로, 상기 MPTCP의 상기 복수의 서브플로우 연결에서 상기 수신된 패킷의 데이터 시퀀스 번호(DSN)에 기초하여 패킷 어셈블리를 수행하고, 상기 수신된 패킷의 DSN가 비연속적인 것으로 결정되면, 상기 MPTCP 계층에서의 패킷은 비순차적인 것으로 결정하도록 구성된
    네트워크 컴포넌트.
  16. 삭제
  17. 제14항에 있어서,
    상기 공차 시간은 상기 제1 RTT와 상기 제2 RTT의 차의 1/2과 같은
    네트워크 컴포넌트.
  18. 제14항에 있어서,
    상기 송신 모듈은 상기 복수의 서브플로우 연결 중에서 가장 짧은 추정 지연을 갖는 서브플로우 연결을 상기 타겟 서브플로우 연결로서 선택하도록 더 구성되는
    네트워크 컴포넌트.
  19. 제14항에 있어서,
    상기 재송신 명령 패킷은 식별자를 포함하고, 상기 식별자는 상기 재송신 명령 패킷이 상기 블로킹 패킷의 상기 송신 장치에게 상기 블로킹 패킷을 재전송하라고 지시하는데 사용되는 패킷임을 식별하는데 사용되는
    네트워크 컴포넌트.
  20. 제19항에 있어서,
    상기 식별자는 상기 MPTCP의 데이터 시퀀스 신호(DSS) 옵션에서 플래그 비트에 위치하는
    네트워크 컴포넌트.
  21. 제14항에 있어서,
    상기 송신 모듈은 구체적으로 상기 타겟 서브플로우 연결 상에서 상기 블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 전송하도록 구성되는
    네트워크 컴포넌트.
  22. 제14항, 제15항, 제17항 내지 제21항 중 어느 한 항에 있어서,
    상기 네트워크 컴포넌트는 홈 게이트웨이(HG), 하이브리드 액세스 어그리게이션 포인트(HAAP) 또는 액세스 라우터(AR)인
    네트워크 컴포넌트.
  23. 네트워크 컴포넌트로서,
    다중 경로 전송 제어 프로토콜(MPTCP)의 복수의 서브플로우 연결 상에서 수신된 패킷으로부터 MPTCP 계층에서 비순차를 야기하는 블로킹 패킷의 재송신 명령 패킷을 식별하도록 구성된 식별 모듈과,
    상기 재송신 명령 패킷에 기초하여 상기 블로킹 패킷의 데이터 시퀀스 번호(DSN)를 결정하도록 구성된 결정 모듈과,
    상기 재송신 명령 패킷을 수신하는 서브플로우 연결상에서 상기 DSN에 대응하는 상기 블로킹 패킷을 재전송하도록 구성된 재송신 모듈을 포함하고,
    상기 식별 모듈은 구체적으로 상기 블로킹 패킷의 반복된 중복 확인응답 패킷을 3회 연속 수신함으로써 상기 블로킹 패킷의 상기 재송신 명령 패킷을 식별하도록 구성된
    네트워크 컴포넌트.
  24. 제23항에 있어서,
    상기 재송신 명령 패킷은 식별자를 포함하고, 상기 식별자는 상기 재송신 명령 패킷이 상기 블로킹 패킷의 송신 장치에게 상기 블로킹 패킷을 재전송하라고 지시하는데 사용됨을 식별하는데 사용되고,
    상기 식별 모듈은 구체적으로 상기 재송신 명령 패킷의 상기 식별자를 사용하여 상기 블로킹 패킷의 상기 재송신 명령 패킷을 식별하도록 구성된
    네트워크 컴포넌트.
  25. 삭제
  26. 제23항 또는 제24항에 있어서,
    상기 네트워크 컴포넌트는 홈 게이트웨이(HG), 하이브리드 액세스 어그리게이션 포인트(HAAP) 또는 액세스 라우터(AR)인
    네트워크 컴포넌트.
  27. 컴퓨터 상에서 실행될 때, 상기 컴퓨터가 제1항, 제2항, 제4항 내지 제9항 중 어느 한 항에 따른 방법을 수행할 수 있게 하는 명령어를 포함하는 컴퓨터 판독가능 저장 매체.
  28. 컴퓨터 상에서 실행될 때, 상기 컴퓨터가 제10항, 제11항 및 제13항 중 어느 한 항에 따른 방법을 수행할 수 있게 하는 명령어를 포함하는 컴퓨터 판독가능 저장 매체.
KR1020207010518A 2017-09-14 2018-07-02 패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체 KR102397526B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710828719.8 2017-09-14
CN201710828719.8A CN109510690B (zh) 2017-09-14 2017-09-14 传输报文的方法、网络组件和计算机可读存储介质
PCT/CN2018/094008 WO2019052264A1 (zh) 2017-09-14 2018-07-02 传输报文的方法、网络组件和计算机可读存储介质

Publications (2)

Publication Number Publication Date
KR20200049854A KR20200049854A (ko) 2020-05-08
KR102397526B1 true KR102397526B1 (ko) 2022-05-12

Family

ID=65723907

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207010518A KR102397526B1 (ko) 2017-09-14 2018-07-02 패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체

Country Status (6)

Country Link
US (1) US11283555B2 (ko)
EP (1) EP3672130B1 (ko)
JP (1) JP7086179B2 (ko)
KR (1) KR102397526B1 (ko)
CN (1) CN109510690B (ko)
WO (1) WO2019052264A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021166665A1 (ja) * 2020-02-17 2021-08-26 国立研究開発法人産業技術総合研究所 通信制御方法及び通信制御装置
CN114095796A (zh) * 2020-07-30 2022-02-25 中国移动通信集团终端有限公司 无效重传包减少方法、装置、设备及计算机存储介质
CN113259255B (zh) * 2021-06-03 2021-10-08 鹏城实验室 一种网络拥塞控制方法、装置、终端及存储介质
CN114039702B (zh) * 2021-11-08 2024-03-26 北京字节跳动网络技术有限公司 数据传输方法、装置、设备和介质
CN114501072A (zh) * 2021-12-29 2022-05-13 伟乐视讯科技股份有限公司 一种基于rist协议的媒体流传输系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226802A1 (en) * 2011-03-04 2012-09-06 Wei Wu Controlling Network Device Behavior

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1241837B1 (en) * 2000-08-24 2018-02-28 Panasonic Intellectual Property Corporation of America Transmitting/receiving method and device therefor
CA2590965C (en) * 2004-12-24 2016-05-03 Aspera, Inc. Bulk data transfer
JPWO2008032750A1 (ja) * 2006-09-13 2010-01-28 パナソニック株式会社 通信装置
US20120144062A1 (en) * 2010-06-04 2012-06-07 Interdigital Patent Holdings, Inc. MPTCP And Mobile IP Interworking
US9264353B2 (en) * 2011-09-22 2016-02-16 Qualcomm Incorporated Dynamic subflow control for a multipath transport connection in a wireless communication network
CN102404077B (zh) * 2011-11-30 2013-11-27 清华大学 基于喷泉码的多径传输控制方法
US9537759B2 (en) * 2012-01-31 2017-01-03 Massachusetts Institute Of Technology Multi-path data transfer using network coding
CN104104608B (zh) * 2013-04-15 2019-06-11 华为技术有限公司 接收报文的方法及装置
KR102051504B1 (ko) * 2013-05-15 2019-12-03 삼성전자주식회사 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
CN103326831A (zh) 2013-06-04 2013-09-25 华为终端有限公司 在多路传输控制协议中的链路处理方法和移动终端
CN103346963A (zh) * 2013-06-26 2013-10-09 南京昭视畅网络科技有限公司 一种基于预测到达时间的mptcp数据调度方法
KR102173084B1 (ko) * 2013-08-23 2020-11-02 삼성전자주식회사 무선 통신 시스템에서 데이터 패킷 송수신 방법 및 장치
BR112016004142B1 (pt) * 2013-08-29 2022-05-17 Telefonaktiebolaget Lm Ericsson (Publ) Método, programador de protocolo de controle de transmissão de múltiplos trajetos, proxy de protocolo de controle de transmissão de múltiplos trajetos, rede de comunicação, e, meio legível por computador
US10454827B2 (en) * 2014-05-15 2019-10-22 Telefonaktiebolaget Lm Ericsson (Publ) Method and devices for controlling usage of multi-path TCP
JP6429735B2 (ja) * 2015-06-16 2018-11-28 三菱電機株式会社 転送装置、無線基地局、無線通信システムおよび転送方法
KR102411188B1 (ko) * 2015-11-30 2022-06-21 삼성전자주식회사 무선 통신 시스템에서의 혼잡 관리 장치 및 방법
US10020918B2 (en) * 2015-12-28 2018-07-10 Alcatel Lucent Fast coupled retransmission for multipath communications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120226802A1 (en) * 2011-03-04 2012-09-06 Wei Wu Controlling Network Device Behavior

Also Published As

Publication number Publication date
CN109510690B (zh) 2020-07-28
WO2019052264A1 (zh) 2019-03-21
EP3672130A1 (en) 2020-06-24
CN109510690A (zh) 2019-03-22
JP2020533923A (ja) 2020-11-19
JP7086179B2 (ja) 2022-06-17
US11283555B2 (en) 2022-03-22
US20200220668A1 (en) 2020-07-09
EP3672130B1 (en) 2023-10-04
EP3672130A4 (en) 2020-08-26
KR20200049854A (ko) 2020-05-08

Similar Documents

Publication Publication Date Title
KR102397526B1 (ko) 패킷 전송 방법, 네트워크 컴포넌트 및 컴퓨터 판독가능 저장 매체
JP5816718B2 (ja) 通信装置、通信システム、およびデータ通信の中継方法
EP3761591B1 (en) Tcp link configuration method, apparatus, and computer program product
US11088957B2 (en) Handling of data packet transfer via a proxy
KR102476192B1 (ko) 패킷 전송 방법 및 관련 장치
KR102442083B1 (ko) Tcp 터널들 및 고유 tcp 정보를 기초로 하는 번들링 시나리오에서 패킷들의 스케줄링을 위한 방법 및 시스템
US8060628B2 (en) Technique for realizing high reliability in inter-application communication
EP3820088B1 (en) Method and network device for multi-path communication
Gupta et al. Fast interest recovery in content centric networking under lossy environment
US11502986B2 (en) Reducing transmission delay of transmitting data in Wi-Fi
JP6468566B2 (ja) データ伝送制御システム及び方法、並びに、データ伝送制御プログラム
CN111147386B (zh) 用于处理数据传输拥塞的方法、电子设备和计算机可读介质
US20140369189A1 (en) Method of controlling packet transmission in network system and network system transmitting packet using pseudo-tcp agent
Moore et al. Performance evaluation of a disruption tolerant network proxy for tactical edge networks
Mitake et al. Layer-5 temporally-spliced path for efficient disruption tolerant networking
Chen et al. A round-trip-time based concurrent transmission scheduling for MPTCP
KR101396785B1 (ko) 네트워크 장치에서 tcp 기능을 수행하는 방법
Prokopiak et al. Application aware concurrent multipath transmission in hybrid wireless networks
Elahi et al. Performance Modeling of Bandwidth Aggregation for TCP Connections
KR20140027608A (ko) Ip 채널 본딩을 통한 데이터 전송 방법

Legal Events

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