1. SCTP의 주요 기능 및 WebRTC에서의 역할
-
멀티플렉싱 및 멀티호밍: 단일 연결 내에서 여러 애플리케이션이 동시에 데이터를 주고받을 수 있으며, 기본 연결 장애 시 보조 연결로 자동 전환되는 기능을 지원합니다.
-
WebRTC 데이터 채널: ICE와 DTLS 프로토콜로 보안 연결이 수립된 후, SCTP를 통해 파일 공유, 채팅 메시지, 미디어 제어 신호 등을 전송합니다.
2. RACK(Recent Acknowledgment) 알고리즘의 도입
-
시간 기반 손실 감지: 기존의 순서 번호 기반 감지 방식과 달리, 패킷이 수신된 시각과 네트워크 통계를 활용하여 손실을 판단함으로써 불필요한 재전송을 최소화합니다.
-
Tail Loss Probing (TLP): 전송 세그먼트의 마지막 부분에서 손실이 발생했을 때, 소량의 프로브 패킷을 보내 수신자의 응답을 유도하고 RTO(재전송 타임아웃) 발생 전에 손실을 복구합니다.
3. 성능 개선 결과 (Pion SCTP 스택 기준)
-
처리량 및 지연 시간: ‘max-burst’ 테스트에서 Goodput이 34.9% 증가하였으며, p50/p99 지연 시간은 약 25% 감소했습니다.
-
CPU 효율성: CPU 시간당 처리량(Goodput/CPU-second)이 71.3% 향상되어, 동일한 연산 자원으로 훨씬 더 많은 데이터를 효율적으로 처리할 수 있음을 입증했습니다.
-
실제 사례: HEVC 비디오 스트리밍 테스트에서 기존 방식보다 2배 빠른 전송 완료 속도를 기록했습니다.