나는 놀고 싶은 호기심에서 Nagle의 알고리즘에 대한 연구를 해왔다. 그 뒤에있는 기본 개념을 이해합니다 (TCP 패킷은 특히 작은 페이로드를 처리 할 때 상당한 양의 오버 헤드를 포함합니다).하지만 구현을 잘 모르겠습니다.Nagle의 알고리즘에 대해 명확하지 않다
나는 위키 피 디아에서 this article을 읽었지 만, 나는 아직도 어떻게 작동하는지 잘 모르고있다. 텔넷 연결의 예를 들어 봅시다. 연결이 설정되고 타이핑을 시작합니다. 예를 들어, 3 자 (예 : cat
)를 입력하고 돌아 오는 경우를 가정 해 보겠습니다. 이제 우리는 여전히 단지 5 바이트 인 cat\r\n
을 말하고 있습니다. 우리가 보내기에 충분한 바이트를 대기열에 올릴 때까지이 메시지가 전송되지 않을 것이라고 생각합니다. - 은 즉각적으로 (사용자 입장에서) 전송됩니다. cat
은 즉시 반환됩니다.
알고리즘이 작동하는 방식에 대한 근본적인 오해가 있다고 생각합니다. 특히 "확인되지 않은 데이터가 파이프에 남아 있으면 즉시 대기열에 넣습니다."라는 비트와 관련이 있습니다.
이 기사에서는 문제가되는 텔넷 세션에 대해 이야기하므로 즉시 보내 드리겠습니다. – cloudhead