네이글 알고리즘이란?

이강용·2024년 7월 18일
0

CS

목록 보기
80/109

네이글 알고리즘(Nagle's Algorithm)이란?

  • TCP/IP 네트워크에서 작은 패킷들의 전송을 줄여 네트워크 효율성을 향상시키기 위한 알고리즘
  • 이 알고리즘은 작은 크기의 데이터를 여러 번 보내기보다는 작은 데이터들을 모아서 큰 패킷으로 전송하는 방식으로 동작
    • 이로 인해 네트워크 혼잡을 줄이고, 전송 효율성을 높일 수 있음

동작원리

  1. 작은 패킷 모으기 : 작은 크기의 데이터를 보낼 때, 네이글 알고리즘은 새로운 데이터가 도착했을 때 이미 전송 중인 패킷이 있는지 확인

    • 만약, 전송 중인 패킷이 있다면 새로운 데이터를 기존의 패킷과 합쳐서 하나의 큰 패킷으로 만듦
  2. ACK 기다리기 : 알고리즘은 전송된 패킷에 대한 ACK(확인 응답)가 돌아올 때까지 새로운 작은 패킷의 전송을 지연시킴

    • ACK를 받으면 그동안 모아둔 데이터를 한꺼번에 전송
    • 만약, 새로운 데이터가 매우 큰 경우(예: 최대 TCP 세그먼트 크기보다 큰 경우) 즉시 전송함

네이글 알고리즘의 장・단점

장점단점
작은 패킷의 전송을 줄여 네트워크 효율성 향상실시간 애플리케이션에서는 지연이 발생할 수 있음
네트워크 혼잡 감소대기 시간 증가로 인해 인터랙티브 애플리케이션의 성능 저하 가능
전송 오버헤드 감소작은 데이터 전송이 빈번한 경우 성능 저하 가능

네이글 알고리즘의 단점(지연시간 발생)

profile
HW + SW = 1

0개의 댓글