- 조금씩 여러 번 보내지 말고 한번에 많이 보내자 라는 원칙을 기반으로 만들어진 알고리즘
- TCP에서 옵션값을 통해 on, off 가능하다. (default : on)
- 데이터를 보내고 ACK를 받을 때까지 출력 버퍼에 데이터를 저장하였다가 ACK를 받으면 버퍼의 데이터를 모두 패킷으로 만들어 보낸다
- NAGLE이라는 데이터를 보낼 때 먼저 N이라는 데이터를 패킷으로 만들어 보내고, 계속해서 다음 데이터를 보내는 것이 아니라 출력 버퍼로 보내어 저장시켜 두고 ACK가 오면 출력버퍼에 저장된 AGLE라는 데이터를 보낸다.
- 네트워크의 효율성이 높아진다.
- 같은 데이터를 보내더라도 생성 패킷이 적다.
- 통신을 위한 처리 부하가 줄어든다.
- 동시성이 떨어진다.
- ACK를 받을 때까지 패킷을 모으고 있기 때문에 반응 속도가 느려진다.
- 패킷이 전달되지 않았을 때 전송이 굉장히 느려 질 수 있다.