Learning
토픽 21 / 147·네트워크 기초 및 프로토콜

SCTP (Stream Control Transmission Protocol)

SCTP (Stream Control Transmission Protocol)

TCP와 UDP의 장점을 결합한 전송 계층(L4) 프로토콜(RFC 4960)로, 멀티스트리밍과 멀티호밍을 지원하며 메시지 경계를 보존하는 신뢰성 있는 전송 프로토콜

목적: TCP의 Head-of-Line Blocking 해결, 전송 경로 이중화, 시그널링 메시지의 신뢰적 전송

특징: 연결 지향(Association), 신뢰성 보장, 메시지 경계 보존, 멀티스트리밍, 멀티호밍, 4-way Handshake

핵심 기술

  • 멀티스트리밍(Multi-Streaming): 하나의 Association 내 다수의 독립 스트림, 한 스트림의 패킷 손실이 다른 스트림에 영향 없음(TCP의 HOL Blocking 해결)
  • 멀티호밍(Multi-Homing): 양 종단에 다수의 IP 주소 바인딩, 하나의 경로 장애 시 자동 Failover, 네트워크 이중화/고가용성
  • 메시지 경계 보존(Message-Oriented): TCP처럼 바이트 스트림이 아닌 메시지 단위 전송, 애플리케이션 메시지 경계 유지
  • 4-way Handshake(INIT/INIT-ACK/COOKIE-ECHO/COOKIE-ACK): SYN Flooding 공격 방어(Cookie 메커니즘), 서버가 INIT-ACK에 Cookie 포함 → 클라이언트가 Cookie 반환 시에만 자원 할당

Association vs Connection: SCTP는 Association(다수 IP+다수 스트림), TCP는 Connection(단일 IP 쌍+단일 스트림)

청크(Chunk) 구조: SCTP 패킷은 공통 헤더 + 다수의 Chunk로 구성, DATA/SACK/INIT/HEARTBEAT 등 다양한 Chunk 타입, 하나의 패킷에 여러 Chunk 번들링 가능

장점: HOL Blocking 해결, 경로 이중화로 고가용성, SYN Flooding 방어, 메시지 경계 보존, 순서/비순서 전달 선택

단점: NAT 통과 어려움(TCP/UDP만 지원하는 NAT 장비), 미들박스(방화벽) 호환성 부족, TCP 대비 낮은 보급률, 운영체제/라이브러리 지원 제한

적용사례: SS7 시그널링(통신망 신호 전달, SIGTRAN), WebRTC(DTLS 위의 데이터 채널), LTE/5G 제어 플레인(S1-AP, NGAP), 이중화 필요 시스템

비교: TCP(단일스트림/단일홈/3-way/바이트스트림/범용) vs SCTP(멀티스트림/멀티홈/4-way/메시지경계/시그널링) vs UDP(비연결/비신뢰/메시지경계/실시간)

연관: TCP, UDP, 멀티호밍, WebRTC, SS7, 전송 계층