서버 프로그래밍

대역폭 지연 곱 (Bandwidth-delay product)

하늘흐늘 2009. 6. 2. 13:20
반응형

이글은 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을 수행합니다.

반응형