Learning
토픽 155 / 164·비교표

## Part 3: 전송 계층

TCP vs UDP

항목TCPUDP
연결연결 지향 (3-way Handshake)비연결 (즉시 전송)
신뢰성보장 (ACK, 재전송)미보장 (Best Effort)
순서 보장시퀀스 번호로 보장미보장
흐름/혼잡 제어슬라이딩 윈도우 / Slow Start 등없음
헤더 크기20~60바이트8바이트
속도느림 (오버헤드)빠름
용도파일 전송, 웹, 이메일실시간 스트리밍, DNS, 게임

TCP vs SCTP vs UDP

항목TCPSCTPUDP
연결연결 (3-way)Association (4-way)비연결
스트림단일멀티스트리밍없음
단일홈멀티호밍 (Failover)단일
HOL Blocking있음해결 (독립 스트림)없음
메시지 경계바이트 스트림보존보존
용도범용시그널링 (SS7, 5G)실시간

QUIC vs TCP

항목QUICTCP
기반UDPTCP
연결 설정0/1-RTT3-way + TLS (3-RTT)
HOL Blocking스트림별 독립 (해결)전체 차단 (발생)
암호화TLS 1.3 내장 (필수)선택적
연결 마이그레이션지원 (Connection ID)불가 (IP 변경 시 재연결)
적합모바일, 실시간 웹범용

3-Way Handshake vs 4-Way Termination

항목3-Way Handshake (수립)4-Way Termination (종료)
메시지SYN → SYN+ACK → ACKFIN → ACK → FIN → ACK
RTT1.5 RTT2 RTT
취약점SYN FloodTIME_WAIT 포트 고갈
특징ISN 랜덤화 (보안)Half-Close (잔여 데이터 전송)

SYN Cookie vs SYN 프록시 vs Rate Limiting

항목SYN CookieSYN 프록시Rate Limiting
방식Stateless (ISN 인코딩)Stateful (방화벽 대행)임계값 제한
부담CPU방화벽단순
TCP 옵션제한 (Window Scale, SACK)유지무관
위험낮음낮음정상 트래픽 차단

TCP 혼잡 제어: Reno vs CUBIC vs BBR

항목RenoCUBICBBR
방식AIMD (손실 기반)3차 함수 (손실 기반)지연 기반 (RTT 추정)
복구Fast Recovery빠른 회복버퍼블로트 방지
적합기본고BDP 네트워크 (Linux 기본)고지연/손실 환경 (Google)
수렴느림중간빠름

Stop-and-Wait vs Sliding Window

항목Stop-and-WaitSliding Window
전송 방식1개 전송 후 ACK 대기W개 연속 전송
이용률낮음 (1/(1+2a))높음 (W/(1+2a))
효율낮음 (RTT 대기)높음 (파이프라인)
복잡도단순버퍼/시퀀스 관리 필요