☞ 속도 : 단위시간에 네트워크를 이용해 전송할(받을) 수 있는 데이터 크기 |
뒤에서 다시 언급하겠지만 웹 브라우저를 이용하여 인터넷에 있는 파일을 다운받을 경우, 해당 브라우저에 표시되는 속도가 정확한 속도라고 보기는 어렵습니다.
왜냐하면 브라우저에서 계산되어 나오는 속도는 네트워크를 통해 실제로 데이터를 받는 시간 이외의 시간(예를 들면 다운받은 데이터를 처리하여 PC에서 인식 가능한 파일형태로 재구성하고 이를 PC의 HDD에 기록하는 시간 등등...)까지를 포함하고 있기 때문입니다.
따라서 정확한 인터넷 이용속도를 정의하기 위해서는 네트워크를 통해 실제 데이터를 주고받는 시간만을 고려하는 것이 필요합니다.
현제 인터넷에서 사용되는 프로토콜은 TCP/IP로 거의 통일되어 있는 상태이므로, TCP 계층에서의 데이터 전송속도를 "정확한 인터넷 이용속도"로 정의하는 것이 가장 정확한 정의일 것입니다. (기술적 용어로는 "OSI Layer 4 에서의 전송속도"라고 볼 수 있습니다.)
☞ 인터넷 이용속도 : 단위시간 동안 네트워크를 통해 전송할(받을) 수 있는 데이터의 크기를 TCP 계층에서 측정한 결과 |
2. 다운로드 속도를 측정하는 단위로는 무엇을 사용하는지요?
속도에 대한 언급을 위해서는 기준이 되는 "단위"가 있어야 합니다.
속도는 "데이터의 크기"와 "경과된 시간"에 의해 계산이 가능하므로, 단위 역시 크기와 시간이라는 두 가지의 요소로 표시가 가능합니다.
컴퓨터와 네트워크 분야에서 주로 사용되고 있는 "데이터 크기"의 단위에는 "bit"와 "Byte"가 있으며, "경과된 시간"의 단위에는 주로 "초(sec)"를 사용합니다.
☞ bit : 0 또는 1을 표현할 수 있는 데이터 표현단위. 즉 1bit는 0 또는 1의 값 중 하나를 가지게 되며, 컴퓨터 및 네트워크 분야에 있어 가장 기초가 되는 데이터 표현기준 |
"네트워크 속도"와 "파일 및 메모리 크기"의 기준으로 널리 사용되는 단위를 정리하면 다음과 같습니다.
☞ bit per second (bps) : 네트워크 속도의 기준 단위. 1초에 전송할(받을) 수 있는 데이터의 크기를 bit 단위로 표현하며, 약자인 "bps"는 항상 소문자로 씀 |
네트워크 속도의 기준 단위인 bps에는 단위 확장을 위해 "Kilo(K)", "Mega(M)", "Giga(G)" 등의 접두어가 사용될 수 있습니다. 이들의 단위환산 관계는 다음과 같습니다.
☞ 1[Kbps] = 1024[bps] |
길이나 질량 등을 표시하는 단위에서 각각의 접두어가 1000배 만큼의 단위변동을 의미하는 것과는 달리, 네트워크나 컴퓨터 분야에서는 1024(2의 10 제곱)배 만큼의 단위변동을 의미한다는 차이점이 있습니다. (파일이나 메모리 크기를 표현하기 위해 주로 사용되는 단위인 "Byte" 역시 접두어를 이용해 "KB", "MB", "GB" 등으로 단위를 확장하여 사용하며 이 또한 1024배 만큼의 단위변동을 의미합니다.)
간단한 예를 하나 들어보도록 하겠습니다. 실제 속도가 512Kbps인 전용선을 통해 3MB 크기의 파일을 다운받을 경우 소요되는 시간을 계산하는 과정은 다음과 같습니다.
☞ 파일크기를 bit로 환산 : 3[MB] * 1024[KB/MB] * 1024[Byte/KB] * 8[bit/Byte] - (1) |
3. 이론속도와 실제속도의 차이가 큰 것 같은데 원인이 무엇인지요?
LAN 등의 네트워크 구성에 가장 널리 쓰이는 기술인 이더넷(Ethernet)을 이야기 할 때, 흔히 ?M 랜", ?M 랜" 등의 말을 많이 사용합니다. (물론 여기서 말하는 M은 Mbps를 의미하는 것입니다.) 즉 10M 랜의 경우 1초에 최대 10Mbit의 데이터를 전송할 수 있는 성능을 가지고 있다는 뜻입니다.
그러나 10Mbps 규격의 네트워크 장비를 이용하여, 최적환경을 구성한 상태에서 PC를 통해 다운을 받을 경우, 8Mbps 이상의 속도를 얻는 것은 거의 불가능 합니다.
이와 같이 네트워크 속도를 저하시킬 요소가 없는 최상의 상태에서도 실제 표시된 이론속도에 미치는 못하는 속도가 나오는 원인에는 다음과 같은 것들이 있습니다.
☞ 네트워크 장비가 제공하는 성능의 물리적 한계 |
네트워크 장비에서 표시하는 10Mbps 등의 속도는 그 장비가 전기적으로 전달 가능한 이론적 최대속도를 의미하는 것입니다.
하지만 이는 어디까지나 최고속도를 의미하는 것이므로, 측정환경을 최적으로 구성한다고 해서 항상 10Mbps의 최고속도를 얻을 수 있는 것은 아닙니다. 그 이유는 아래의 내용을 참고하시면 알 수 있습니다.
위의 그림은 인터넷을 통해 데이터를 송수신 하는 경우, 네트워크의 동작을 계층적으로 표현한 그림입니다. 이 그림에 표현되어 있는 내용을 정리하면 다음과 같습니다.
☞ (3) ▶ (4) : 장비규격으로 표시되는 이론적 최대속도 |
사용자가 하나의 데이터를 전달하고자 할 때, 데이터를 원하는 목적지까지 오류없이 정확하게 전달하기 위해서, 실제 데이터의 앞뒤로 각각 Header와 Tailer라 불리는 추가정보를 더하여 전송을 합니다. 이에따라 데이터의 크기는 Header와 Tailer의 크기만큼 증가되며, 속도는 증가되는 패킷크기에 따라 저하됩니다. (이렇게 실제데이터에 추가되는 부분의 크기를 Overhead Size라고 하며, 이는 사용되는 프로토콜의 종류에 따라 대체적으로 예상이 가능합니다.)
Header |
사용자가 전달하고자 하는 데이터 |
Tailer |
네트워크에는 전송중 일부 데이터에 오류가 발생할 수 있는 잠재적 가능성이 항상 존재하며, 이를 해결하기 위해 프로토콜은 오류감지 및 재전송 기능을 보유하고 있습니다. 따라서 전송중 오류가 발생하여 이를 재전송할 경우, 그만큼의 속도저하가 발생하게 됩니다. (그러나 최적의 환경을 구성해 놓을 경우, 오류발생 가능성은 거의 없는 것이 사실입니다.)
기타 특수한 경우로, 노트북 PC나 USB 장비를 사용하는 경우 등에 있어서는, 최적환경에서 측정을 수행하여도 이론적 실제 속도의 50% 이하의 속도가 나오는 경우가 많이 있습니다.
이는 네트워크 장비와 PC 사이의 인터페이스가 속도가 네트워크 속도에 비해 상대적으로 저속이기 때문에 발생하는 현상입니다. (PCMCIA, USB 등의 인터페이스 규격이 제공할 수 있는 실제 속도는 대부분 10Mbps 이하입니다.)
참고로 자체적인 시험결과 최적의 환경을 구성한 경우 사용자의 체감속도는 장비가 제공하는 이론적 속도의 80% 수준인 것으로 파악되고 있습니다.
최적환경이 아닌 일반적인 환경에서 인터넷 이용속도에 영향을 미칠 수 있는 요소는 매우 많습니다. 이를 체계적으로 파악하기 위해서는 사용자가 실제로 인터넷을 이용하는 과정에서 경유하는 구간을 다음과 같이 구분하여 생각할 필요가 있습니다.
☞ 가입자망 : 가입자 장비(모뎀, NIC 등등...)와 직접 연결되는 DSLAM, CMTS, MDU 등의 장비까지의 연결구간 |
위의 그림에서 알 수 있는 것처럼 사용자가 인터넷을 이용하기 위해서는 물리적, 논리적으로 구분된 다수의 구간을 경유하여야 합니다.
이중, 가입자망~백본망 까지의 구간은 단일 ISP가 관리하는 구간으로 볼 수 있으며, 그 이후 구간은 다수의 ISP, IX, 해외사업자 등이 복잡하게 연결된 구간입니다.
초고속인터넷에서 흔히 언급되는 이론적 최고속도, 또는 설정 대역폭은 위의 구간중 가입자망 구간에 한정해서만 의미가 있는 표현입니다.
예를들어 어느 ADSL 사용자의 다운로드 대역폭이 8192Kbps로 설정되어 있다는 것은 사용자 PC에 설치된 모뎀과 가입자단 집중장치 사이에 설정된 대역폭이 8192Kbps라는 뜻입니다.
실제 사용자가 일반 인터넷 사이트에서 파일을 다운받을 경우 위에 표현된 네 개의 구간(가입자망, 백본망1, 백본망2, 연동망)이 제공가능한 대역폭 중 최소값의 영향을 받게됩니다.
즉 가입자망 및 백본망은 모두 5Mbps 이상의 충분한 대역폭을 제공하고 있지만, 연동망이 4Mbps의 속도를 제공하는 상태라면, 사용자가 체감할 수 있는 최대 속도는 4Mbps 이하가 되는 것입니다.
가입자망~백본망 까지의 구간은 일반적으로 단일 ISP가 관리하는 구간이며, 가입자 예측과 부하분산 및 추가장비 도입 등의 노력을 통해 일정수준의 품질을 유지하는 것이 비교적 용이합니다.
그러나 일반 연동망의 경우 다수의 ISP 및 기타기관의 이해관계가 복잡하게 얽혀있는 관계로 문제가 발생할 경우 신속하고 원활한 해결이 어려운 것이 현실입니다.
하나넷의 경우 그림에서 볼 수 있는 것처럼, 하나로통신 백본에 직접 연결된 서버를 통해 서비스를 하고 있습니다.
따라서 하나로통신 상품 이용자의 경우 다른 인터넷 사이트에 비해 하나넷 이용시 더 빠른 속도를 보이는 것이 일반적이며, 역시 마찬가지의 이유로 인해, 하나로통신과 직개통 회선으로 연동되어 있는 ISP를 이용할 경우 상대적으로 더 빠른 속도를 경험할 수 있습니다. (현재 하나로통신은 국내 대부분의 유명 ISP 및 기관들과 기가급(Gbps) 이상의 대용량 직개통 회선을 운용하고 있습니다.)
4. 사용하는 프로그램이나 측정도구에 따라 속도가 모두 다른데 어느것이 정확한가요?
일반사용자는 보통 웹 브라우저(대부분 마이크로소프트의 인터넷 익스플로러 : IE)에 표시되는 속도를 기준으로 인터넷 이용속도를 판단하는 경우가 많습니다.
그러나 앞에서도 언급하였듯이, IE에 표시되는 속도가 정확하다고 보기에는 무리가 있습니다.
인터넷 활용시 대표적으로 사용되는 두 가지 프로그램(IE, WS_FTP)을 예로 들어 이들 프로그램에서 표시하는 속도가 정확하지 않은 이유를 알아보도록 하겠습니다.
IE의 경우 파일을 다운받을 경우 다음과 같은 절차를 거치게 됩니다.
☞ 네트워크를 통해 일부 데이터를 다운로드 - (1) |
참고로 "IE 5.5" 이전 버전에서는 다운로드를 위해 파일을 선택하고 다운받을 폴더와 파일이름을 입력받는 창에서 사용자가 머무르는 시간까지 다운로드 속도 계산에 포함되는 문제점이 있었습니다. (현재 최신 버전인 5.5이후에는 해결된 부분입니다.)
위의 표에서 알 수 있듯이 IE는 다운을 받을 때 우선 임시폴더에 저장을 한 후 다시 지정된 폴더로 복사하는 방식을 사용합니다.
따라서 사용자가 다운받는 파일크기가 몇 MB 정도의 작은 파일일 경우 복사가 매우 빠른 속도로 이루어지기 때문에 속도에 별다른 차이가 없는 것처럼 느껴질 수 있지만, 수백 MB 이상의 큰 파일을 다운받을 경우에는 수치상으로 표시되는 속도가 확실하게 낮아지는 현상을 확인할 수 있습니다.
또한 다운로드를 받는 과정에서 주기적으로 수신데이터를 HDD에 쓰기위한 지연시간도 IE에서 표시되는 속도를 저하시키는 원인입니다.
FTP 프로그램으로 널리 사용되는 "WS_FTP"의 경우 파일크기 계산 과정의 Byte를 bit로 변환하는 부분에서 8이 아닌 10을 곱하는 버그가 있습니다. (정식버전으로 출시된 6.X 까지는 이러한 버그가 있었으며, 현재 Beta 버전으로 나오고 있는 7.X에서 이러한 문제가 수정되었는지의 여부는 확인하지 못했습니다.)
따라서 WS_FTP에 표시되는 속도는 일반적으로 다른 곳에 표시되는 속도에 비해 상당히 빠르게 나오는 경향이 있습니다. ("속도=파일크기/시간" 공식에서 파일크기가 상대적으로 증가되므로...)
따라서 정확한 속도확인을 위해서는 TCP 계층에서 전송된 패킷의 크기와 소요시간을 정확하게 계산할 수 있어야 하며, 이 때 전송된 패킷은 컴퓨터 성능에 따른 영향을 최소화하기 위해, HDD에 저장되는 등의 과정 없이 컴퓨터의 메모리 차원에서 처리될 수 있어야 합니다.
첫댓글 좋은 게시물이네요. 스크랩 해갈게요~^^
잘보았습니다. 좋은 자료 고맙습니다. ^ ^
좋은 게시물이네요. 스크랩 해갈게요~^^