728x90

john nagle의 이름을 딴 알고리즘으로

네트워크 상에서 보내지는 수많은 패킷들을 줄여 TCP/IP 네트워크 효율성을 향상 시키는 알고리즘을 의미한다.

 

Winsock 라이브러리에서는 setsocket()함수를 이용하여 지정할 수 있다.

 

네이글 알고리즘 사용여부는 send() 함수 동작에도 영향이 있을 수 있다.

send() 함수는 기본적으로 send된 데이터의 바이트 수를 반환 하지만 이때 바이트 수는 정확히는 상대방이 수신한 바이트 수를 의미하지 않는다. 기본적으로 send 함수가 호출되면 커널 단의 send buffer에 등록된다.

send buffer를 비우고 실제로 데이터를 전송하는 시점은 send() 함수가 호출되는 시점과 다를 수 있다. 여러가지 이유가 있을 수 있지만 네이글 알고리즘 또한 그 중 하나다.

 

 

 

728x90

+ Recent posts