네이글 알고리즘은 TCP에서 작은 데이터 패킷을 자주 전송할 때 발생하는 네트워크 낭비를 줄이기 위해 고안된 알고리즘입니다.
작은 데이터를 모아 한번에 전송하여 패킷 수 감소와 네트워크 효율성 향상을 목표로 합니다.
작동 방식
- 소량의 데이터가 전송 요청되면 즉시 전송하지 않고 버퍼에 저장
- 이전 패킷에 대한 ACK 응답이 도착하거나, 버퍼가 가득 찼을 경우 → 패킷 전송
즉, ACK 수신 전에는 새로운 패킷 전송을 지연하여
자잘한 패킷 전송을 방지합니다.
장점
| 항목 | 설명 |
| 네트워크 혼잡 감소 | 작은 패킷들이 지나치게 많으면 네트워크 장비(라우터 등)의 부담 증가 → 이를 방지 |
| 오버헤드 감소 | 패킷마다 붙는 헤더가 줄어들어 대역폭 효율 상승 |
| 전송 효율 향상 | 같은 대역폭으로 더 많은 유용한 데이터 전송 가능 |
단점
| 항목 | 설명 |
| 전송 지연 | 실시간 데이터를 바로 보내지 않고 버퍼에 모아두므로 지연 발생 가능 |
| ACK 의존성 | 이전 패킷의 ACK가 도착해야 다음 데이터 전송, 결과적으로 지연 심화 가능 |
비적합한 경우 (사용 비권장)
- 실시간성이 중요한 애플리케이션
- 온라인 게임
- VoIP 통화 (음성 채팅)
- 실시간 채팅 시스템
'ZeroBase > CS' 카테고리의 다른 글
| XXS(Cross-Site Scripting) (0) | 2025.08.07 |
|---|---|
| HTTP 멱등성 (1) | 2025.08.06 |
| CORS (1) | 2025.08.04 |
| 이더넷 프레임 (2) | 2025.08.04 |
| 웹페이지 응답 및 렌더링 과정 (1) | 2025.08.03 |