TCP Buffer Size (Window Size) 크기는 무조건 큰 것이 좋을 까요?
선생님 안녕하세요.
명강의 감사합니다.
End-Point의 TCP Buffer 사이즈가 부족하면 Zero Window가 발생해 장애가 발생할 수 있다고 하셨는데요.
그렇다면, TCP Buffer Size는 무조건 크게 잡아주는 것이 좋은 가요?
아니면, End-Point의 TCP Buffer Size를 산정하는 공식 및 팁이 있다면 공유 해주시면 감사하겠습니다.
항상 강의 잘 듣고 있습니다. 감사합니다.
Answer 2
5
꼭 그렇지는 않습니다. 버퍼가 크다는 이야기는 '버퍼링을 오래' 할 수 있다는 이야기가 되기도 합니다. 비효율적이라고 하더라도 버퍼링을 최소화 해야 할 경우가 있고 버퍼링에 의한 지연이 일부 나더라도 상관이 없는 경우도 있을 수 있습니다. 가령 멀티미디어 데이터의 경우 약간의 지연이 일어나도 큰 문제는 없을 수 있습니다. 하지만 금융거래 정보등 높은 반응성이 요구되는 환경은 정반대가 되겠습니다.
결국 이런 환경차에 맞춰 조절해줄 필요가 있을 텐데...이를 '튜닝'이라 생각하면 되겠습니다.
그리고 Linux같은 운영체제는 버퍼 크기를 튜닝할 수 있도록 열어주기도 하지만 그렇지 않은 운영체제도 있습니다. 또한 크기를 계산하는 공식 (혹은 규칙)은 TCP 구현에 따라 다릅니다. 가장 대표적인 TCP 구현으로는
BIC-TCP
CUBIC
등이 있습니다. Linux kernel에 기본으로 사용되어 성능이 입증됐지요.
이외에도 여러 구현형태가 있습니다. 이러한 내용은 주로 혼잡제어와 매우 밀접하게 관련되어 있습니다. 댓글로 말씀드릴 수준을 넘기 때문에 가볍게 이 정도로 소개만 드립니다. 결론, 관련 논문을 찾아보셔야 합니다. 거기에는 공식도 포함되어 있습니다. 아래 블로그 글을 읽어보시기를 권합니다.
cicd 서버 올린 후 기존 마스터 노드 기동 시 네트워크 에러
1
80
2
Protobuff is it sufficient for mmorpg?
0
183
2
void IocpEvent::Init() is correct?
0
128
1
캐시 관련 질문입니다.
0
616
1
클라이언트 프로그래머 커리어 고민
0
1256
2
ETag 질문입니다.
0
727
1
Lock-Based Queue 병목현상 질문 드립니다.
0
591
1
TCP 연결 종료 과정 중 Time wait관련
0
771
1
도메인 구입 내용 관련
0
839
3
127.0.0.1과 localhost 차이점에 대해서
3
1848
1
CDN에 리소스를 올린다는 의미가 무엇인가요??
0
496
1
API 서버를 WAS로 볼 수 있는건가요??
0
1801
1
DNS 서버를 여러대 두는 이유
0
910
1
모든 프로세스는 포트를 가지고 있나요??
0
513
1
L2 수준에서 MAC주소 입장에서(기준) 송신/수신 할때의 처리 흐름이 궁금합니다.
0
717
1
IP주소를 이용한 네트워크 주소 식별 관련
0
579
1
L3 Packet에서 payload
0
620
3
TCP 수신 관련하여 질문드립니다
0
402
1
몇가지 질문이 있습니다
0
264
1
포트에 대해 궁금한 점이 있습니다
0
313
1
Ip헤더질문 강의에서 의문점
0
287
1
[패킷의 생성과 전달 , 9분 30 초 질문] 소켓은 파일에서 질문입니다.
0
519
1
DHCP와 ARP 동작 하는 부분에 궁금증이 있습니다.
1
1098
1
강의 영상 소리 문제
0
496
3

