개발자 99% 커뮤니티에서 수다 떨어요!
💡 연습문제 10. 다음과 같이 질문을 받았다고 하자. "1Gbps 네트워크 연결과 1TB 저장장치를 주머니에 넣고 두 컴퓨터 사이를 왔다갔다하는 사람 중에서, 어느 쪽의 대역폭이 더 넓은가?"
<제약조건>
-우리가 전송할 정보는 1TB 저장장치에 들어 있다.
-두 지점을 걷는 사람의 속도는 4km/h이다.
-저장장치에 정보를 넣거나 빼내는 시간은 감안하지 않는다.
-저장장치에 데이터를 저장하는 부하는 네트워크로 데이터를 보내는 부하와 비슷하다.
먼저, TB와 Bbps의 단위를 동일하게 bit로 통일한다.
1TB = 1Terabyte = 2^40byte = 2^43bit
(1TB는 2의43승 bit이다)
1Gbps = 1Gigabit/sec = 2^30bit/sec
(네트워크는 1초에 2의30승 bit를 전송할 수 있다)
네트워크로 전송할 경우
1TB / 1Gbps = 2^43bit / 2^30bit = 2^13초
2^13초 / 60초 = 약 137분 = 약 2시간20분
제약조건을 반영한 이상적 상태에서 약 2시간20분 정도 걸린다.
사람이 직접 걸어가서 전달할 경우
사람이 직접 걸어가서 전달할 때는 걷는 속도를 제약조건에 따라 4km/h로 본다.
2시간20분 후에는 약 9.3km의 거리를 이동하게 된다.
👏 결론
두 컴퓨터 사이의 거리가 9.3km보다 가까우면? 사람이 이김!
두 컴퓨터 사이의 거리가 9.3km보다 멀면? 네트워크 연결이 이김!
앞 문제의 조건에 따라 달라질 수 있다. 1TB 저장 장치는 8*2^40, 즉 2^43비트를 담을 수 있다. 따라서 1Gbps 회선이 동일한 양의 정보를 전달하려면 9,000초 동안, 달리 말하면 대략 2시간 반 동안 데이터를 보내야 한다. 사람의 걷는 속도가 시속 4킬로미터로 일정하다고 가정해 보자. 네트워크 연결이 사람을 이기려면 두 컴퓨터는 적어도 10킬러미터는 떨어져 있어야 한다. 그렇지 않다면 사람이 이긴다.