• 카테고리

    질문 & 답변
  • 세부 분야

    네트워크

  • 해결 여부

    해결됨

TCP Buffer Size (Window Size) 크기는 무조건 큰 것이 좋을 까요?

22.10.02 13:26 작성 조회수 1.32k

1

선생님 안녕하세요.

명강의 감사합니다.

End-Point의 TCP Buffer 사이즈가 부족하면 Zero Window가 발생해 장애가 발생할 수 있다고 하셨는데요.

 

그렇다면, TCP Buffer Size는 무조건 크게 잡아주는 것이 좋은 가요?

 

아니면, End-Point의 TCP Buffer Size를 산정하는 공식 및 팁이 있다면 공유 해주시면 감사하겠습니다.

 

항상 강의 잘 듣고 있습니다. 감사합니다.

답변 2

·

답변을 작성해보세요.

5

꼭 그렇지는 않습니다. 버퍼가 크다는 이야기는 '버퍼링을 오래' 할 수 있다는 이야기가 되기도 합니다. 비효율적이라고 하더라도 버퍼링을 최소화 해야 할 경우가 있고 버퍼링에 의한 지연이 일부 나더라도 상관이 없는 경우도 있을 수 있습니다. 가령 멀티미디어 데이터의 경우 약간의 지연이 일어나도 큰 문제는 없을 수 있습니다. 하지만 금융거래 정보등 높은 반응성이 요구되는 환경은 정반대가 되겠습니다.

결국 이런 환경차에 맞춰 조절해줄 필요가 있을 텐데...이를 '튜닝'이라 생각하면 되겠습니다.

그리고 Linux같은 운영체제는 버퍼 크기를 튜닝할 수 있도록 열어주기도 하지만 그렇지 않은 운영체제도 있습니다. 또한 크기를 계산하는 공식 (혹은 규칙)은 TCP 구현에 따라 다릅니다. 가장 대표적인 TCP 구현으로는

  • BIC-TCP

  • CUBIC

등이 있습니다. Linux kernel에 기본으로 사용되어 성능이 입증됐지요.

이외에도 여러 구현형태가 있습니다. 이러한 내용은 주로 혼잡제어와 매우 밀접하게 관련되어 있습니다. 댓글로 말씀드릴 수준을 넘기 때문에 가볍게 이 정도로 소개만 드립니다. 결론, 관련 논문을 찾아보셔야 합니다. 거기에는 공식도 포함되어 있습니다. 아래 블로그 글을 읽어보시기를 권합니다.

https://binux.tistory.com/46

감사합니다 :)

제가 더 감사합니다. 다른 질문이 있다면 언제든 글 올려주시기 바랍니다. ^^

0

김주영님의 프로필

김주영

2023.05.22

Socket buffer size와 TCP buffer size는 같은 말인가요?