다중 경로 TCP
Multipath TCP![]() | 이 기사는 업데이트가 필요합니다.(2020년 1월) |
인터넷 프로토콜 모음 |
---|
응용 프로그램 계층 |
전송 계층 |
인터넷 계층 |
링크 계층 |
MPTP(Multipath TCP)는 IETF(Internet Engineering Task Force)의 다중 경로 TCP 작업 그룹에서 진행 중인 작업으로, TCP(Transmission Control Protocol) 연결이 여러 경로를 사용하여 처리량을 최대화하고 [1]중복성을 높일 수 있도록 하는 것을 목표로 합니다.
2013년 1월, IETF는 RFC 6824의 실험 표준으로 다중 경로 사양을 발표했습니다.2020년 3월 RFC 8684의 멀티패스 TCP v1 사양으로 대체되었습니다.
혜택들
다중 경로 TCP에서 제공하는 이중화는 리소스의 역다중화를 가능하게 하므로 표준 TCP에서 요구하는 대로 단일 채널을 사용하는 대신 TCP 처리량을 사용 가능한 모든 링크 레벨 채널의 합계로 증가시킵니다.다중 경로 TCP는 표준 TCP와 역호환됩니다.
다중 경로 TCP는 무선 [2]네트워크의 맥락에서 특히 유용합니다. Wi-Fi와 모바일 네트워크를 모두 사용하는 것이 일반적인 사용 [3]사례입니다.역다중화로 인한 처리량 증가 외에도, 사용자가 종단 [4]간 TCP 연결을 중단하지 않고 범위 내 또는 범위 밖으로 이동할 때 링크가 추가되거나 삭제될 수 있습니다.
따라서 링크 핸드오버 문제는 네트워크 또는 링크 계층에서 특별한 메커니즘 없이 전송 계층에서 추상화를 통해 해결됩니다.그런 다음 인터넷의 종단 간 원칙에 따라 하위 네트워크에서 특별한 기능을 요구하지 않고 엔드포인트에서 핸드오버 기능을 구현할 수 있습니다.
또한 다중 경로 TCP는 데이터 센터 [5]환경에서 성능 이점을 제공합니다.802.3ad 링크 집계를 사용하는 이더넷 채널 본딩과 달리 멀티패스 TCP는 여러 인터페이스에서 단일 TCP 연결의 균형을 맞출 수 있으며 처리량이 [6]매우 높습니다.
다중 경로 TCP는 여러 가지 새로운 문제를 야기합니다.네트워크 보안 관점에서 다중 경로 라우팅은 경로 간 데이터 조각화를 유발하여 방화벽 및 멀웨어 스캐너가 한 경로의 트래픽만 볼 때 비효율적이 됩니다.또한 SSL 암호 해독은 [7]엔드 투 엔드 암호화 프로토콜을 통해 비효율적이 됩니다.
사용자 인터페이스
다중 경로 TCP는 배포를 용이하게 하기 위해 TCP와 동일한 소켓 인터페이스를 제공합니다.이는 실제로 여러 하위 [8]흐름에 데이터를 분산시키면서 Multipath TCP 위에서 모든 표준 TCP 응용 프로그램을 사용할 수 있음을 의미합니다.

일부 응용 프로그램은 기본 다중 경로 TCP 스택을 제어하는 향상된 API의 이점을 누릴 수 있습니다.멀티패스 TCP 스택의 일부 기능을 애플리케이션에 노출하기 위해 Linux의 Netlink를[9] 확장하는 API와 향상된 소켓 [10]API라는 두 가지 다른 API가 제안되었습니다.
실행
2013년 7월, MPTP 작업 그룹은 Linux [12][13]커널의 참조[8] 구현을 포함하여 5개의 독립적인 멀티패스 [11]TCP 구현을 보고했습니다.
현재 사용 가능한 구현은 다음과 같습니다.
- Université catholique de Louvain 연구원 및 기타 [8]협력자의 Linux 커널(참조 구현),
- 스윈번 [14]공과대학교의 FreeBSD(IPv4 전용),
- F5 네트워크 BIG-IP LTM,[15]
- Citrix Netscaler,[16]
- 2013년 9월 18일에 출시된 Apple iOS 7은 멀티패스 [17]TCP의 첫 번째 대규모 상용 배포입니다.iOS 7부터 모든 애플리케이션이 멀티패스 TCP를 사용할 수 있습니다.
- 2014년 10월 16일 출시된 Apple [18]Mac OS X 10.10.
- Alcatel-Lucent는 2012년 [19][20]10월 26일 MPTP 프록시 버전 0.9 소스 코드를 릴리스했습니다.
2014년 7월, Oracle은 Solaris에 대한 구현이 개발되고 있다고 보고했습니다.2015년 6월에 작업이 [21]진행 중입니다.
서성훈은 IETF 93에서 열린 MPTCP WG 회의에서 KT가 MPTCP 프록시 [22]서비스를 사용하여 스마트폰 사용자가 1Gbit/s에 도달할 수 있는 상용 서비스를 6월 중순부터 배포했다고 발표했습니다.Tessares는 Linux 커널 구현을 사용하여 하이브리드 액세스 네트워크 구축
메인라인 리눅스 커널에서 새로운 멀티패스 TCP 구현을 푸시하려는 지속적인 노력이 있습니다.
사용 사례
다중 경로 TCP는 일반 TCP와 역호환되도록 설계되었습니다.따라서 모든 애플리케이션을 지원할 수 있습니다.그러나 일부 특정[24] 배포에서는 서로 다른 경로를 동시에 사용하는 기능을 활용합니다.
Apple은 다중 경로 TCP를 사용하여 iPhone에서 Siri 응용 프로그램을 지원합니다.Siri는 HTTPS 세션을 통해 Apple 서버로 음성 샘플을 보냅니다.이러한 서버는 사용자가 요청한 정보로 응답합니다.Apple 엔지니어에 따르면 이 응용 프로그램에서 다중 경로 TCP의 주요[25] 이점은 다음과 같습니다.
- 95번째 백분위수에서 사용자 피드백(First-Word 시간) 20% 단축
- 네트워크 장애 5배 감소
다른 배포에서는 다중 경로 TCP를 사용하여 서로 다른 네트워크의 대역폭을 집계합니다.예를 들어, 특히 한국에서 여러 종류의 스마트폰은 SOCKS [26]프록시를 통해 WiFi와 4G를 연결하기 위해 멀티패스 TCP를 사용합니다.또 다른 예는 xDSL과 LTE 네트워크를 결합하려는 네트워크 운영자에 의해 구축된 하이브리드 액세스 네트워크입니다.이 배치에서 다중 경로 TCP는 xDSL과 LTE [27]네트워크를 통한 트래픽의 균형을 효율적으로 조정하기 위해 사용됩니다.
통합 고정 및 이동 통신 네트워크의 표준화에서 3GPP 및 BBF는 상호 운용되어 다중 경로 세션을 지원하는 ATSS(액세스 트래픽 선택, 전환, 분할) 기능을 제공합니다. 예를 들어, 사용자 장비(UE) 또는 주거용 게이트웨이(RG)와 네트워크 [28]측 모두에 다중 경로 TCP를 적용함으로써 다중 경로 세션을 지원합니다.
다중 경로 TCP 옵션
다중 경로 TCP는 RFC 6824에 자세히 설명된 옵션을 사용합니다.모든 다중 경로 TCP 옵션은 IANA가 [29]예약한 대로 옵션 종류가 30인 TCP 옵션으로 인코딩됩니다.
다중 경로 TCP 옵션은 종류(30), 길이(변수)를 가지며, 나머지 내용은 IANA가 "전송 제어 프로토콜(TCP) 매개 변수" 레지스트리에서 "MPTP 옵션 하위 유형"이라는 하위 레지스트리를 생성하고 유지합니다.이러한 하위 유형 필드는 다음과 같이 정의됩니다.
가치 | 기호. | 이름. |
---|---|---|
0x0 | MP_CAPABLE | 다중 경로 지원 |
0x1 | MP_JOIN | 연결 가입 |
0x2 | DSS | 데이터 시퀀스 신호(데이터 ACK 및 데이터 시퀀스 매핑) |
0x3 | ADD_ADDR | 주소 추가 |
0x4 | 제거_ADDR | 주소 제거 |
0x5 | MP_PRIO | 하위 흐름 우선 순위 변경 |
0x6 | MP_FAIL | 폴백 |
0x7 | MP_FASTCLOSE | 빠른 닫기 |
0xf | (개인) | 제어된 테스트 베드 내에서 개인 사용 |
0x8 ~ 0xe 값은 현재 할당되지 않았습니다.
프로토콜 운영
간단한 설명

다중 경로 TCP의 핵심 아이디어는 표준 TCP가 하는 것처럼 두 개의 인터페이스가 아닌 두 호스트 간에 연결을 구축하는 방법을 정의하는 것입니다.
예를 들어 Alice는 3G 및 WiFi 인터페이스(IP 주소 10.11.12.13 및 10.11.12.14)가 있는 스마트폰을 가지고 있고 Bob은 이더넷 인터페이스(IP 주소 20.21.22.23)가 있는 컴퓨터를 가지고 있습니다.
표준 TCP에서는 두 IP 주소 간에 연결을 설정해야 합니다.각 TCP 연결은 4개의 튜플(소스 및 대상 주소 및 포트)로 식별됩니다.이 제한 사항을 고려할 때 응용 프로그램은 단일 링크를 통해 하나의 TCP 연결만 만들 수 있습니다.다중 경로 TCP를 사용하면 연결에서 여러 경로를 동시에 사용할 수 있습니다.이를 위해 다중 경로 TCP는 사용해야 하는 각 경로에 대해 하위 흐름이라는 하나의 TCP 연결을 만듭니다.
다양한 프로토콜 작업(RFC 6824에서 정의됨)의 목적은 다음과 같습니다.
- 경로 추가/제거 시기 및 방법 처리(예: 연결 끊김 또는 일부 정체 제어)
- 기존 TCP 하드웨어와 호환됨(예: 시퀀스 번호가 연속되지 않을 경우 TCP 연결을 자동으로 거부할 수 있는 일부 방화벽)
- 서로 다른 링크와 서로 다른 호스트(특히 MPTCP를 지원하지 않는 호스트) 간의 공정한 정체 제어 전략을 정의합니다.

다중 경로 TCP는 TCP 전송에 다음과 같은 새로운 메커니즘을 추가합니다.
- 여러 표준 TCP 연결(한 호스트에서 다른 호스트로의 경로)을 수집하는 데 사용되는 하위 흐름 시스템입니다.하위 흐름은 TCP 3방향 핸드셰이크 중에 식별됩니다.핸드셰이크 후 응용 프로그램은 일부 하위 흐름(하위 유형 0x3 및 0x4)을 추가하거나 제거할 수 있습니다.
- MPTP DSS 옵션에는 데이터 시퀀스 번호와 승인 번호가 포함되어 있습니다.이렇게 하면 손상 없이 원래 순서대로 여러 하위 흐름에서 데이터를 수신할 수 있습니다(메시지 하위 유형 0x2).
- 수정된 재전송 프로토콜은 정체 제어 및 신뢰성을 처리합니다.
상세사양
자세한 프로토콜 사양은 RFC 8684에 나와 있습니다.여러 설문 조사 기사에서 [30][31]프로토콜에 대한 소개를 제공합니다.
혼잡 제어
다중 경로 TCP에 대해 몇 가지 정체 제어 메커니즘이 정의되었습니다.기존 TCP 혼잡 제어 체계와의 주요 차이점은 경로 [3]중 하나에서 경쟁할 수 있는 단일 경로 TCP 소스와 불공평하지 않고 서로 다른 경로의 혼잡에 대응해야 한다는 것입니다.Linux 커널의 다중 경로 TCP 구현에서는 현재 4개의 다중 경로 TCP 정체 제어 체계가 지원됩니다.
대안
스트림 제어 전송 프로토콜
SCTP(Stream Control Transmission Protocol)는 원래 통신 신호 전달을 위해 고안된 신뢰할 수 있는 순서대로 데이터그램 스트림 전송 프로토콜입니다.여러 액세스 링크의 동시 사용을 지원하며 데이터그램 스트림 기반으로 액세스 인터페이스 선택에 영향을 줄 수 있습니다.또한 액세스 재협상을 통해 이동성을 지원합니다.따라서 SCTP는 전송 계층 솔루션이기도 합니다.동시성을 갖춘 유형 3 흐름 세분화 기능을 제공하지만 다중 경로 TCP보다 흐름 스케줄링 제어 기능이 더 많습니다.또한 다중 경로 TCP와 [34]유사한 방식으로 이동성을 완전히 지원합니다.
IMS SIP
IMS(IP Multimedia Subsystem) 아키텍처 내에서 SIP(Session Initiation Protocol)는 하나 이상의 IMS 사용자 에이전트 등록을 위해 여러 연락처 IP 주소의 동시 사용을 지원할 수 있습니다.이를 통해 여러 IMS 신호 경로를 만들 수 있습니다.이러한 신호 경로에서 신호 메시지는 미디어 스트림을 협상하기 위해 SDP(Session Description Protocol) 메시징을 전달합니다.SDP를 사용하면 여러 경로를 통해 한 미디어 세션의 스트림을 (재) 협상할 수 있습니다.따라서 애플리케이션 계층 다중 경로 전송이 가능합니다.따라서 IMS는 흐름 세분화 및 동시 액세스를 통해 애플리케이션 계층 다중 경로 지원을 제공할 수 있습니다.RTP(Real-time Transport Protocol)에 대한 다중 경로 확장이 IETF 내에서 논의되고 있습니다.[35] 다중 경로 RTP는 (IMS, SDP 시그널링 또는 RTP [34]제어 프로토콜을 통해) 동시 액세스 및 이동성을 통해 흐름 세분화를 제공할 수 있습니다.또한, 매우 최근에 MP-DCCP로 불리는 TSVWG(Transport Area Working Group)의 IETF에서 다중 경로 기능에 의해 DCCP(데이터그램 혼잡 제어 프로토콜)를 확장하는 제안이 논의되었습니다.
다중 경로 QUIC
IETF는 현재 TCP, TLS 및 HTTP 프로토콜에서 전통적으로 발견되는 기능을 통합하는 QUIC 프로토콜을 개발하고 있습니다.다중 경로 TCP와 동일한 사용 사례를 지원하도록 확장할 수 있습니다.다중 경로 QUIC의 첫 번째 설계가 제안,[37] 구현 및 [38]평가되었습니다.
기타 프로토콜 및 실험
세션 계층에서 Mobile Access Router 프로젝트는 2003년에 이질적인 기술로 여러 무선 액세스를 통합하여 각 무선 액세스의 인식된 성능에 따라 트래픽 [39]간에 투명하게 균형을 맞추는 실험을 했습니다.
복제된 콘텐츠의 여러 서버에 대한 연결을 시작하기 위해 HTTP 범위 요청을 활용하여 전송을 가속화하는 데 사용되는 병렬 액세스[34] 체계는 응용 프로그램 계층을 포함하고 알려진 크기의 콘텐츠로 제한되므로 다중 경로 TCP와 동일하지 않습니다.
RFC
- RFC 6181 - 다중 주소를 사용하는 다중 경로 동작을 위한 TCP 확장에 대한 위협 분석
- RFC 6182 - 다중경로 TCP 개발을 위한 구조 지침
- RFC 6356 - 다중경로 전송 프로토콜을 위한 결합 혼잡 제어
- RFC 6824 - 다중 주소를 사용하는 다중 경로 작동을 위한 TCP 확장(v0, RFC 8684로 대체됨)
- RFC 6897 - 다중경로 TCP 응용프로그램 인터페이스 고려사항
- RFC 7430 - 다중 경로 TCP(MPTCP)에 대한 잔여 위협 및 가능한 해결책 분석
- RFC 8041 - 다중 경로 TCP의 사용 사례 및 운영 경험
- RFC 8684 - 다중 주소를 사용한 다중 경로 작동을 위한 TCP 확장(v1)
- RFC 8803 - 0-RTT TCP 변환 프로토콜
참고 항목
레퍼런스
- ^ 다중 경로 TCP 작업 그룹
- ^ Paasch, Christoph; Detal, Gregory; Duchene, Fabien; Raiciu, Costin; Bonaventure, Olivier (2012). "Exploring mobile/WiFi handover with multipath TCP". Proceedings of the 2012 ACM SIGCOMM workshop on Cellular networks: Operations, challenges, and future design - Cell Net '12. ACM SIGCOMM workshop on Cellular Networks (Cellnet'12). p. 31. doi:10.1145/2342468.2342476. ISBN 9781450314756.
- ^ a b S. Pokhrel; M. Panda; H. Vu (2017-02-24). "Analytical Modeling of Multipath TCP Over Last-Mile Wireless". IEEE/ACM Transactions on Networking. 25 (3): 1876–1891. doi:10.1109/TNET.2017.2663524. S2CID 21518823.
- ^ S. Pokhrel; M. Mandjes (2019-03-24). "Improving Multipath TCP Performance over WiFi and Cellular Networks: an Analytical Approach". IEEE Transactions on Mobile Computing. 25 (3): 1876–1891. doi:10.1109/TMC.2018.2876366. S2CID 69263415.
- ^ Raiciu; Barre; Pluntke; Greenhalgh; Wischik; Handley (2011). "Improving datacenter performance and robustness with multipath TCP". ACM SIGCOMM Computer Communication Review. 41 (4): 266. CiteSeerX 10.1.1.306.3863. doi:10.1145/2043164.2018467. S2CID 61962047.
- ^ C. Paasch; G. Detal; S. Barré; F. Duchêne; O. Bonaventure. "The fastest TCP connection with Multipath TCP". Retrieved 2013-09-20.
- ^ Afzal, Zeeshan (2020). Life of a Security Middlebox Challenges with Emerging Protocols and Technologies (PhD). ISBN 978-91-7867-103-8. OCLC 1139703033.
- ^ a b c "The Linux kernel MultiPath TCP project". Retrieved 2014-11-28.
- ^ Hesmans, B.; Detal, G.; Barre, S.; Bauduin, R.; Bonaventure, O. (2015). "SMAPP". SMAPP towards smart Multipath TCP-enabled applications. pp. 1–7. doi:10.1145/2716281.2836113. ISBN 9781450334129. S2CID 9940025.
- ^ "Survey of MPTCP Implementations (Internet-Draft, 2013)". Retrieved 2013-09-20.
- ^ Barre; Paasch; Bonaventure (2011). "MultiPath TCP: From Theory to Practice". IFIP Networking.
- ^ Raiciu; Paasch; Barre; Ford; Honda; Duchene; Bonaventure; Handley (2012). "How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP". Usenix NSDI: 399–412.
- ^ "Multipath TCP for FreeBSD v0.1". Retrieved 2013-09-23.
- ^ "Release Note: BIG-IP LTM and TMOS 11.5.0". f5 Networks. 2014-05-30. Retrieved 2014-05-30.
- ^ John Gudmundson (2013-05-28). "Maximize mobile user experience with NetScaler Multipath TCP". Citrix. Retrieved 2013-09-20.
- ^ "Apple seems to also believe in Multipath TCP". Retrieved 2013-09-20.
- ^ "MPTCP ROAMS FREE (BY DEFAULT!) – OS X YOSEMITE". 2014-10-20. Retrieved 2015-09-16.
- ^ Georg Hampel (2012-10-26). "code release for MPTCP Proxy". Alcatel-Lucent. Retrieved 2016-12-28.
- ^ Georg Hampel; Anil Rana (2012-10-26). "MPTCP PROXY" (PDF). Bell Labs/Alcatel-Lucent. Retrieved 2016-12-28.
- ^ Rao, Shoaib. "Some comments on RFC 6824". Retrieved 25 June 2015.
- ^ "KT's GiGA LTE" (PDF).
- ^ "MPTCP Upstream Project". 2019-12-17. Retrieved 2020-01-10.
- ^ Bonaventure, Olivier; See, SungHoon (2016). "Multipath TCP Deployments". IETF Journal.
- ^ C. Pasch, iOS 및 Linux 구현 업데이트, IETF-99, https://datatracker.ietf.org/meeting/99/materials/slides-99-mptcp-sessa-ios-linux-implementation-updates/
- ^ S. 서, KT 기가 LTE - 모바일 MPTCP 프록시 구축, IETF-97, https://www.ietf.org/proceedings/97/slides/slides-97-banana-kt-giga-lte-mobile-mptcp-proxy-development-01.pdf
- ^ Gregory Detal, Sebastien Barre, Bart Peirens, Olivier Bonaventure, "멀티패스 TCP를 활용한 하이브리드 액세스 네트워크 구축", SIGCOMM'17(산업 데모), http://conferences.sigcomm.org/sigcomm/2017/files/program-industrial-demos/sigcomm17industrialdemos-paper4.pdf
- ^ 3GPP TR 23.793, "5G 시스템 아키텍처(Release 16)에서의 액세스 트래픽 조향, 스위치 및 분할 지원에 관한 연구", https://www.3gpp.org/ftp/Specs/latest/Rel-16/23_series/23793-g00.zip
- ^ "IANA Protocol Registry TCP Option Kind Numbers". Retrieved 2013-09-24.
- ^ Paasch, Christoph; Bonaventure, Olivier (April 2014). "Multipath TCP". Communications of the ACM. 57 (4): 51–57. doi:10.1145/2578901. S2CID 17581886.
- ^ Raiciu, Costin; Iyengar, Janardhan; Bonaventure, Olivier (2013). Haddadi, Hamed; Bonaventure, Olivier (eds.). Recent Advances in Reliable Transport Protocols. ACM SIGCOMM.
- ^ Khalili, Ramin; Gast, Nicolas; Popovic, Miroslav; Upadhyay, Utkarsh; Le Boudec, Jean-Yves (2012). "MPTCP is not pareto-optimal". Proceedings of the 8th international conference on Emerging networking experiments and technologies. pp. 1–12. doi:10.1145/2413176.2413178. ISBN 9781450317757. S2CID 14210629.
{{cite book}}
CS1 유지보수: 날짜 및 연도(링크) - ^ Peng, Qiuyu; Walid, Anwar; Hwang, Jaehyun; Low, Steven H. (2013). "Multipath TCP: Analysis, Design and Implementation". IEEE/ACM Transactions on Networking. 24: 596–609. arXiv:1308.3119. Bibcode:2013arXiv1308.3119P. doi:10.1109/TNET.2014.2379698. S2CID 250322.
- ^ a b c P. Rodriguez; E. Biersack (2002-07-01). "Dynamic parallel access to replicated content in the Internet" (PDF). IEEE/ACM Transactions on Networking. Archived from the original (PDF) on 2013-09-27.
- ^ "Draft-ietf-avtcore-MPRTP-03".
- ^ "Draft-ietf-TSVWG-multipath-DCCP-04".
- ^ Q. De Coninck; O. Bonaventure (2010-10-30). "Multipath Extension for QUIC". IETF.
- ^ Q. De Coninck; O. Bonaventure (2010-12-12). "Multipath QUIC: Design and Evaluation" (PDF). Proc. Conext'2017, Seoul, Korea.
- ^ R. Chakravorty; I. Pratt; P. Rodriguez (2003-07-01). "Mobile Access Router". University of Cambridge, Microsoft Research.