싸미~*

MPTCP vs SCTP

.주제별


"SKT, LTE에 와이파이 묶어 1 Gbps 시대 열었다" (Zdnet 기사) 을 보고..


주파수 묶음기술(CA) 가운데 이종망 묶음 국제표준기술인 MPTCP를 개발했다고 30일 밝혔다


MPTCP 란 무엇인가?


MPTCP는 Multipath TCP의 약자로, IETF Mulitpath TCP WG (IETF Link) 에서 표준을 주도 하고 있으며,

기존 TCP Stream 을 여러 개 묶어서 (MPTCP에서는 subflow 라 함) 하나의 Application (또는 Host)에서 데이타를 주고 받는데 사용하는 것이다.


[출처 : MPTCP and Product Support Overview (CISCO)]

그림에서 보면, Client - Server (또는 Host간) 구조에서, 양단에 두 개의 Data Flow Path 가 있다. (TCP sub flow1, TCP sub flow2


기존의 TCP는 데이타를 주고 받는데 있어서 "하나의 Path"만을 사용해왔다. 그런데 인터넷상 또는 데이타센터의 Host들은 여러 Path 들을 갖고 있음에도 불구하고, TCP 제약상 하나의 Path를 통해서 데이타를 주고 받는 것이다. 


MPTCP 는 Host 간 여러 경로를 두어서, 각각의 경로들을 통해서 데이타를 주고 받는데 목적이 있다. 

이렇게 되면, 한쪽이 혼잡제어(Congestion Control)가 걸리거나 , 또는 임의의 이유로 네트워크 끊어졌을 때 다른 네트워크 경로를 통해서 데이타를 주고 받을 수 있는 장점이 있다.


SCTP와 MPTCP


SCTP는 TCP와 다른 방법의 새로운 데이타 전송 기술이다. (참고 : http://ssami.tistory.com/424 )

Multi Streaming 및 Multi Homing 을 지원하고 있어, 차세대 전송계층 (Transport Layer)의 기술로 각광을 받았었다.


그렇다면, MPTCP가 갖는 장점? 또는 SCTP가 갖는 단점은?


Why is SCTP not much used / know? (Stackoverflow)

Issue with Network Address Translation for SCTP (ACM sigcomm)


여기에서 보듯이, SCTP는 구현의 이슈는 차치하더라도, 기존 네트워크 시스템에서 사용하려면 NAT에 대한 이슈가 존재한다. 본 이슈에 대한 내용이 RFC 내에도 기술되어 있다. 

(RFC3257 - 4. SCTP Network Address Translator (NAT) Issues)


그리고, 기존의 TCP 및 UDP로 구현된 프로토콜이 모두 SCTP로 바뀌어야 하는 문제도 있다.


이에 반면, MPTCP는 TCP의 구조를 그대로 사용하며 TCP 에서 제공한 Option 들도 모두 수용할 수 있다.