반응형
이글은 Wikipedia의 Bandwidth-delay product을 요약한 것입니다.
대역폭 지연 곱이란?
쉽게 말하여 선로의 최대 처리량을 말하는 것으로 주어진 시간에 최대로 선로에 있는 데이터량을 말합니다. 좀 더 쉽게 설명하자면 데이터를 보냈는데 상대편에서는 아직 안받은 상태인, 선로에서 이동 중 일 수 데이터의 최대양을 말합니다. 계산단위는 초당 비트 혹은 바이트입니다.
어디에 쓰는 물건인고?
TCP와 같이 신뢰성 있는 프로토콜에서 중요한데, 이유는 데이터를 보냈는데 ACK를 받지 않아 메모리에 있을 수 있는 데이터 최대 양과 비교될 수 있기 때문입니다. (에러시 TCP와 같은 경우는 Retransmission등을 처리해야 하기 때문에 메모리 버퍼에 가지고 있어야 합니다.) 덧붙이면, 윈도우 사이즈가 선로 처리량 보다 크다면 보낼 수 있는 최대 데이터량은 선로 처리량이 되기 때문일 듯 합니다. (요부분은 본인이 생각한 것입니다.) 이 공식은 적절한 TCP Window size를 계산하기 위하여 사용됩니다. 위성통신과 같이 속도는 빠르지만 긴 딜레이를 가진 선로에서 값이 크게 나옵니다.
계산법
대역폭 지연 곱 = 데이터링크 속도 x 딜레이 (다른 계산법, 데이터링크 속도 x Round Trip Time)
처리속도가 1Gbit/s이고 평균 단방향 딜레이가 300ms(초당 3/10) 라고 했을떄 1Gbit * 3/10= 초당 300Mbit가 나오면 이는 37.5MByte가 되며 보내는 쪽 버퍼와 받는 쪽 버퍼가 37.5MByte이상일 때 선로를 최대 효율로 사용할 수 있다는 의미입니다.
실제 사용예
Next Generation TCP/IP Protocols and Networking Components 라는 글에 보면 Window Server 2008과 Window Vista는 이 값을 이용하여 Receive Window Auto-Tuning을 수행합니다.
반응형
'서버 프로그래밍' 카테고리의 다른 글
라인 레인저스(Line Rangers) 서버 구조 소개 (0) | 2017.02.26 |
---|---|
[서평] 온라인 게임 서버 프로그래밍 (MMORPG서버 관련 책) (0) | 2009.07.16 |
NAT(Network Address Translation)의 역활 (0) | 2009.06.25 |
TCP Protocol MindMap (1) | 2009.06.02 |
TCP ECN(Explicit Congestion Notification) (0) | 2009.06.01 |
IP(Internet Protocol) Note #1 (0) | 2009.05.27 |
Overlapped I/O Note #2 서버개발전략 (0) | 2009.05.18 |
Overlapped I/O Note #1 (0) | 2009.05.17 |