NDM-TCP vs TCP Cubic vs TCP Reno: 도시 LTE/4G 네트워크 성능 테스트
발행: (2026년 2월 12일 오후 10:20 GMT+9)
6 분 소요
원문: Dev.to
Source: Dev.to
이 성능 평가에서는 NDM‑TCP(ML 기반), TCP Cubic, TCP Reno 세 가지 혼잡 제어 알고리즘을 전형적인 도시 LTE/4G 모바일 네트워크 환경을 시뮬레이션한 네트워크 조건에서 비교했습니다.
테스트 설정
- 기본 지연: 50 ms
- 지연 변동: ±20 ms (지터)
- 패킷 손실률: 5 %
- 테스트 도구: iperf3, 10초 실행
- 환경: 시뮬레이션된 도시 LTE/4G
전체 성능 지표
| 지표 | NDM‑TCP (ML) | TCP Cubic | TCP Reno |
|---|---|---|---|
| 전체 전송 (송신자) | 22.5 MBytes | 36.4 MBytes | 47.6 MBytes |
| 전체 수신 (수신자) | 19.8 MBytes | 34.6 MBytes | 44.1 MBytes |
| 평균 비트레이트 (송신자) | 18.9 Mbits/s | 30.5 Mbits/s | 39.9 Mbits/s |
| 수신 비트레이트 | 16.4 Mbits/s | 28.8 Mbits/s | 36.5 Mbits/s |
| 총 재전송 횟수 | 23 | 30 | 52 |
| 테스트 지속 시간 (수신자) | 10.12 s | 10.08 s | 10.13 s |
구간 통계
NDM‑TCP (ML)
| 구간 (s) | 전송량 | 비트 전송률 | 재전송 횟수 | cwnd |
|---|---|---|---|---|
| 0‑1 | 2.38 MBytes | 19.9 Mbits/s | 3 | 256 KB |
| 1‑2 | 2.88 MBytes | 24.1 Mbits/s | 2 | 320 KB |
| 2‑3 | 1.00 MBytes | 8.39 Mbits/s | 4 | 128 KB |
| 3‑4 | 2.38 MBytes | 19.9 Mbits/s | 2 | 320 KB |
| 4‑5 | 2.25 MBytes | 18.9 Mbits/s | 2 | 256 KB |
| 5‑6 | 2.88 MBytes | 24.1 Mbits/s | 4 | 128 KB |
| 6‑7 | 2.00 MBytes | 16.8 Mbits/s | 1 | 320 KB |
| 7‑8 | 1.25 MBytes | 10.5 Mbits/s | 3 | 128 KB |
| 8‑9 | 2.00 MBytes | 16.8 Mbits/s | 1 | 320 KB |
| 9‑10 | 3.50 MBytes | 29.3 Mbits/s | 1 | 192 KB |
TCP Cubic
| 구간 (s) | 전송량 | 비트 전송률 | 재전송 횟수 | cwnd |
|---|---|---|---|---|
| 0‑1 | 4.75 MBytes | 39.8 Mbits/s | 7 | 512 KB |
| 1‑2 | 3.12 MBytes | 26.2 Mbits/s | 3 | 320 KB |
| 2‑3 | 4.62 MBytes | 38.8 Mbits/s | 2 | 576 KB |
| 3‑4 | 4.62 MBytes | 38.8 Mbits/s | 3 | 448 KB |
| 4‑5 | 2.62 MBytes | 22.0 Mbits/s | 4 | 256 KB |
| 5‑6 | 2.50 MBytes | 21.0 Mbits/s | 1 | 384 KB |
| 6‑7 | 3.38 MBytes | 28.3 Mbits/s | 2 | 448 KB |
| 7‑8 | 3.38 MBytes | 28.3 Mbits/s | 5 | 448 KB |
| 8‑9 | 3.75 MBytes | 31.5 Mbits/s | 1 | 448 KB |
| 9‑10 | 3.62 MBytes | 30.3 Mbits/s | 2 | 512 KB |
TCP Reno
| 구간 (s) | 전송량 | 비트 전송률 | 재전송 횟수 | cwnd |
|---|---|---|---|---|
| 0‑1 | 10.6 MBytes | 89.0 Mbits/s | 11 | 1.75 MB |
| 1‑2 | 10.8 MBytes | 90.2 Mbits/s | 11 | 576 KB |
| 2‑3 | 3.88 MBytes | 32.5 Mbits/s | 5 | 192 KB |
| 3‑4 | 2.75 MBytes | 23.1 Mbits/s | 3 | 320 KB |
| 4‑5 | 2.75 MBytes | 23.1 Mbits/s | 3 | 512 KB |
| 5‑6 | 4.88 MBytes | 40.9 Mbits/s | 4 | 384 KB |
| 6‑7 | 3.12 MBytes | 26.2 Mbits/s | 2 | 448 KB |
| 7‑8 | 4.25 MBytes | 35.7 Mbits/s | 7 | 192 KB |
| 8‑9 | 1.75 MBytes | 14.7 Mbits/s | 5 | 128 KB |
| 9‑10 | 2.88 MBytes | 24.1 Mbits/s | 1 | 384 KB |
알고리즘 특성
NDM‑TCP (ML)
- Throughput: 18.9 Mbits/s 평균 (보통)
- Retransmissions: 23 (최소)
- Congestion Window: 128‑320 KB, 적응형
- Performance: 변동이 제한된 안정적인 성능; 안정성과 효율성을 우선시함.
TCP Cubic
- Throughput: 30.5 Mbits/s 평균
- Retransmissions: 30
- Congestion Window: 256‑576 KB
- Performance: 속도와 신뢰성의 균형; Reno보다 변동성이 적음.
TCP Reno
- Throughput: 39.9 Mbits/s 평균 (최고)
- Retransmissions: 52 (최대)
- Congestion Window: 1.75 MB에서 시작 후 크게 변동
- Performance: 공격적이며 최고 피크 속도가 높지만 비트레이트 변동이 크고 오버헤드가 많음.
비교 요약
| 측정항목 | NDM‑TCP | TCP Cubic | TCP Reno |
|---|---|---|---|
| 평균 비트레이트 (송신자) | 18.9 Mbits/s | 30.5 Mbits/s | 39.9 Mbits/s |
| 총 재전송 횟수 | 23 | 30 | 52 |
| 재전송당 메가바이트 | 0.98 MB | 1.21 MB | 0.92 MB |
| 일반적인 cwnd 범위 | 128‑320 KB | 256‑576 KB | 128 KB‑1.75 MB |
트레이드‑오프
- TCP Reno: 최대 처리량을 달성합니다; 가끔 손실이 허용되는 대용량 데이터 전송에 적합합니다.
- TCP Cubic: 중간 지점을 제공—속도가 좋고 신뢰성이 보통이며, 많은 네트워크에 적합한 기본 옵션입니다.
- NDM‑TCP: 신뢰성과 낮은 오버헤드를 강조하며, 지연에 민감하거나 배터리 제약이 있는 모바일 상황에 이상적입니다 (예: VoIP, 게임, 실시간 스트리밍, 혼잡한 네트워크).
권장 사항
- Reno를 선택하세요. 순수 속도가 주요 목표이며 네트워크가 더 높은 재전송 오버헤드를 감당할 수 있을 때.
- Cubic을 선택하세요. 성능과 안정성의 균형을 추구하는 일반 목적 배포에 적합합니다.
- NDM‑TCP를 배포하세요. 안정성, 효율성 및 재전송 감소가 중요한 환경에서.