-
다운로드 속도가 점진적으로 증가하는 이유Soliloquy 2017. 11. 12. 15:04
인터넷이 보급화된 현재, 휴대폰이든, 컴퓨터든 다운로드는 빠질 수가 없지요. 파일을 다운로드 받을 때 생각보다 느린 속도에서 점차적으로 빨라지는 경우가 많습니다. 이 경우에는 왜 처음부터 빠른 속도로 받지 않는 것일까요?
파일 다운로드는 어떻게 이루어 지나...
크롬, 엣지, 파이어폭스 등 웹 브라우저를 통한 다운로드는 거의 TCP 라는 형식으로 이루어 집니다. 여기서 TCP 라는 형식의 가장 큰 특징 중 하나는 아래와 같습니다.
TCP를 통한 대화
상대 이거 받으면 말해
ㅇㅇㅇ 나 상대 파일전체 중 10KB 부분 전송
파일전체 중 10KB 부분 받음 (이번에 10KB 받음)
나 상대 파일전체 중 20KB 부분 전송 (더 보내야지)
파일전체 중 10KB 부분 받음
나 파일전체 중 10KB 부분 받음 (이번에 20KB 받음)
나 .......................
....................... 상대 파일전체 중 1MB 부분 전송
파일 1 중 10KB 부분 받음....
나
파일 1 중 10KB 부분 받음...
나
파일 1 중 10KB 부분 받음...
나 ... (실제로 완벽하게 위 처럼 내용이 주고가는 것은 아닙니다.)
상대가 파일을 나에게 전송 했을 때 나는 일정 부분만큼 계속 받았다고 알려주는 상대방과의 전송 확인 과정을 거치면서 파일다운로드가 진행 됩니다. 여기서 상대방이 내가 더 많은 양을 받아도 이상이 없다고 판단 할 경우 파일의 일부분을 더 많이 받을 수 있게 되고, 다운로드 속도는 이에 따라서 증가합니다.
문제의 발생
속도가 증가하면 할 수록 대화가 점점 더 많아진다고 생각하면 되는데, 사람처럼 컴퓨터도 대화간에 문제가 생길 수 있습니다. 만약, 회선 상태가 별로 좋지 못하거나 장치의 성능이 제한 된다면 아래와 같은 일들이 일어날 수도 있습니다.
TCP를 통한 대화
상대 이거 받으면 말해
ㅇㅇㅇ 나 상대 파일전체 중 60KB 부분 전송
파일전체 중 60KB 부분 받음
나 상대 파일전체 중 1800KB 부분 전송
파일전체 중 60KB 부분 받음
나
(손실된 경우 or 성능이 안좋아서 처리를 못함)
나 상대 (왜 반응이 없냐... 1800KB 받았다고 말을 안하지?)
상대 (다시 보내 봐야겠다)
상대 파일전체 중 1800KB 부분 전송
파일전체 중 60KB 부분 받음
나 .......................
....................... 만약 상대방이 전체파일 중 10KB 가 아닌 60KB, 1800KB 씩 보냈다고 생각할 때, 자신 쪽에서, 그 만큼 다 못받았다면, 받는 사람은 다운로드 시간이 길어지는 것은 기본이고, 보내는 쪽은 1800KB를 다시 보내야 하기에 그만큼 회선 사용량도 높아지고,한명이 아니라 여러명이라면 보내는 사람 입장에서는 배로 해야할 일이 많아지겠지요. 특히 천 명만 되더라도, 위와 같은 일이 천배로 많아지니. 일 적으로 보면 보낸것에 비해 데이터 손실이 필요 이상으로 발생하여서 비효율적 이기도 하고요.
문제에 대한 대안책 TCP Slow Start
처음부터 회선 상태를 완전히 알고, 공식으로 최적의 속도를 알 수 있다면, 정말 좋겠지만, 현실은 그렇지 못하지요. 위와 같은 현상을 줄이기 위한 방안으로 TCP Slow Start 라는 개념이 만들어 졌습니다. Slow Start란 말 그대로, 처음에는 일부러 속도를 낮춰서 보내서 속도를 다운로드가 가장 원할한 정도 까지 천천히 올리는 것이지요.TCP를 통한 대화
상대 파일전체 중 10KB 부분
파일전체 중 10KB 부분 받음
나 상대 파일전체 중 20KB 부분(더 보내야지)
파일전체 중 10KB 부분 받음 나
파일전체 중 10KB 부분 받음
상대 파일전체 중 40KB 부분(더 보내야지)
파일전체 중 10KB 부분 받음
나 파일전체 중 10KB 부분 받음
나 ( ...) 나 (...) 나 상대 (40KB 보냈는데 20KB 밖에? )
상대
20KB 부분 전송 (앞으로 20KB 씩 해야겠다...)
파일전체 중 10KB 부분 받음 나 파일전체 중 10KB 부분 받음 나 상대 파일전체 중 20KB 부분
파일전체 중 10KB 부분 받음
나 파일전체 중 10KB 부분 받음
나 ... ... 위 방법을 사용한다면 전송하기에 가장 효율 적인 속도 까지만 올라가기에, 손실도 덜 되고, 회선 사용량도 줄어들겠지요.
요약
다운로드 속도가 점진적으로 증가하는 이유는 점진적인 증가가 급진적인 증가보다 안정성, 효율적인 이점이 많기 때문이다.참고:
Quora - Why does download speed ramp up slowly and doesn't immediately jump to the highest speed
[본문에 사용된 SVG 파일]