MPTCP로 이종 네트워크 경로를 함께 쓰는 방식

MPTCP의 서브플로우, 데이터 스케줄링, 시퀀스 번호 관리와 핸드셰이크를 중심으로 다중 경로 TCP의 구조와 운영 고려사항을 정리합니다.

2026-08-14 · 최초 발행 2025-08-10

하나의 연결을 여러 경로로 전달하는 MPTCP

MPTCP(MultiPath TCP)는 기존 TCP를 확장해 여러 네트워크 경로로 데이터를 동시에 전송하는 이종망 묶음 국제표준기술이다. 응용 계층은 하나의 논리적 연결을 사용하지만, TCP 계층에서는 여러 서브플로우를 통해 데이터를 보낸다.

기존 TCP와의 호환성을 유지하면서 다중 경로 전송을 제공하며, IETF(Internet Engineering Task Force)가 표준화한 프로토콜이다.

단일 논리적 연결서브플로우 1서브플로우 2서브플로우 n응용 계층MPTCP 계층네트워크 경로 1네트워크 경로 2네트워크 경로 n목적지

서브플로우와 데이터 분배가 연결을 구성하는 방식

서브플로우는 각각 독립적인 TCP 연결이다. 서로 다른 네트워크 인터페이스나 경로를 통해 데이터를 전달하며, MPTCP 제어 메시지로 생성과 제거를 동적으로 관리한다. 네트워크 상태에 따라 특정 서브플로우를 활성화하거나 비활성화할 수도 있다.

응용에서 받은 데이터는 스케줄러가 여러 서브플로우에 나눠 보낸다. 라운드 로빈 방식은 각 경로에 균등하게 분배하고, 최소 RTT 우선 방식은 지연 시간이 가장 짧은 경로를 먼저 사용한다. 경로별 대역폭과 RTT를 반영하는 가중치 기반 방식, 버퍼 블로킹을 피하기 위한 지연 기반 스케줄링도 활용된다.

수신 측에서 데이터 순서를 보장하기 위해 MPTCP는 두 종류의 시퀀스 번호를 함께 쓴다. 데이터 시퀀스 번호(DSN)는 응용 데이터의 순서를 관리하고, 서브플로우 시퀀스 번호(SSN)는 개별 서브플로우 안의 TCP 순서를 관리한다.

DSN 할당SSN 할당SSN 할당DSN 기반 재조립응용 데이터MPTCP 계층서브플로우 1서브플로우 2수신측 MPTCP수신 응용

처리량과 연결 지속성을 함께 노리는 이유

MPTCP는 소켓 API 호환성을 유지하므로 기존 애플리케이션을 변경하지 않고 적용할 수 있다. 구현은 운영체제 커널 레벨에서 이뤄지며, 애플리케이션은 단일 TCP 연결을 사용하는 것처럼 동작한다.

여러 경로의 대역폭을 함께 활용해 처리량을 높일 수 있다. 예를 들어 LTE(100Mbps)와 Wi-Fi(300Mbps)를 동시에 사용하면 최대 400Mbps 처리량을 달성할 수 있다. 라디오 로드 밸런싱으로 네트워크 인터페이스 간 부하를 나누는 것도 가능하다.

경로 이중화는 한 경로에 장애가 발생했을 때 다른 경로로 전환할 여지를 준다. 모바일 환경에서는 네트워크를 바꾸는 동안에도 세션을 유지하는 끊김 없는 핸드오버에 활용될 수 있다. 사용자가 Wi-Fi 지역을 벗어날 때 LTE로 자동 전환해 연결을 유지하는 경우가 이에 해당한다.

NAT(Network Address Translation) 환경에서도 동작하며, NAT 통과 기능을 갖춘다. IP 주소가 바뀌어도 연결을 유지할 수 있다는 점도 이동 환경에서 유용하다.

커널 안에서 경로별 TCP 연결을 다루는 구조

MPTCP 계층은 소켓 API 아래에서 서브플로우 관리, 패스 관리, 데이터 스케줄링, 혼잡 제어를 담당한다. 실제 전송은 각 TCP 서브플로우가 맡고, IP 계층과 여러 네트워크 인터페이스로 이어진다.

응용 계층소켓 APIMPTCP 계층서브플로우 관리패스 관리데이터 스케줄링혼잡 제어TCP 서브플로우 1TCP 서브플로우 2IP 계층네트워크 인터페이스 1네트워크 인터페이스 2

MP_CAPABLE과 MP_JOIN으로 연결을 확장한다

초기 연결은 기존 TCP 핸드셰이크를 확장한 형태다. 클라이언트는 MP_CAPABLE 옵션을 담은 SYN 패킷을 보내고, 서버는 MP_CAPABLE 옵션이 포함된 SYN+ACK으로 응답한다. 클라이언트가 MP_CAPABLE 옵션을 포함한 ACK을 반환하면 기본 서브플로우(Primary Subflow)가 설정된다.

추가 경로는 MP_JOIN 옵션으로 연결한다. 클라이언트의 MP_JOIN SYN, 서버의 MP_JOIN SYN+ACK, 클라이언트의 MP_JOIN ACK 순서로 교환한 뒤 추가 서브플로우를 기존 MPTCP 세션에 연결한다.

서버클라이언트서버클라이언트기본 서브플로우 설정 완료추가 서브플로우 설정 완료SYN + MP_CAPABLESYN+ACK + MP_CAPABLEACK + MP_CAPABLESYN + MP_JOINSYN+ACK + MP_JOINACK + MP_JOIN데이터 전송 (다중 경로)데이터 응답 (다중 경로)

모바일부터 데이터센터까지의 활용 맥락

모바일 디바이스에서는 Apple iOS 7 이상이 Siri 등 특정 서비스에 MPTCP를 적용했다. 삼성과 화웨이 등 안드로이드 제조사는 다중 연결 솔루션을 개발했으며, 모바일 게임의 끊김 없는 연결에도 활용할 수 있다.

대규모 데이터센터에서는 다중 경로를 이용해 부하를 분산하고, 데이터센터 간 대용량 데이터 전송 성능을 높일 수 있다. 클라우드 서비스 제공업체가 네트워크 안정성을 확보하는 용도에도 연결된다.

5G와 Wi-Fi를 통합하는 연결 솔루션, 무선과 유선 네트워크를 결합한 하이브리드 접속, 엣지 컴퓨팅 환경의 안정적 연결도 적용 대상이다.

운영 환경에서 확인할 지점

다중 경로에서는 경로 간 공정성과 대역폭·지연 시간 차이를 함께 다뤄야 한다. 링크 간 간섭(Coupling) 효과도 관리 대상이며, 대표적인 혼잡 제어 알고리즘으로 Linked Increase Algorithm(LIA)과 Opportunistic Linked Increase Algorithm(OLIA)이 있다.

여러 경로를 쓰면 새로운 공격 벡터가 생길 수 있다. 경로 하이재킹(Path Hijacking) 위험을 고려하고, 키 교환 및 인증 메커니즘을 강화해야 한다.

방화벽과 NAT 장비를 포함한 기존 미들박스와의 호환성도 검토해야 한다. TCP 옵션을 제거하는 미들박스에 대응할 방안을 마련하고, MPTCP를 지원하지 않는 환경에서는 일반 TCP로 전환하는 폴백(Fallback) 메커니즘을 구현한다.

다중 접속 환경에서의 확장 가능성

MPTCP는 5G/6G 시대의 핵심 전송 프로토콜로 부상할 가능성이 있다. IoT 장치의 다중 연결성을 위한 경량화된 MPTCP 버전, QUIC 프로토콜과의 통합과 발전 방향도 논의 대상이다.

엣지 컴퓨팅과 분산 클라우드에서의 활용은 확대될 수 있으며, 자율주행차량과 스마트시티 같은 미션 크리티컬 응용에서도 쓰일 전망이다.

MPTCP다중경로 TCP서브플로우네트워크전송 프로토콜