1. Bandwidth dan Throughput Berikut di kutip dari web : http://cisconet.com/traffic-analysis/traffic-analysis-general/239-internet-speed-issue-throughput-vsbandwidth.html
Internet Speed Issue - Bandwidth VS. Throughput Most of Internet users (I met) are a bit confused about meaning and definition of Throughput and Bandwidth. If you are noncomputer person or just happy with Internet connectivity, probably those terms, throughput and bandwidth, are in out of your sight. However some people who are living with e-commers field, Stock trader, most of IT professionals are really sensitive for downloading speed. Size of Internet and ISP's backbone speed is quickly upgraded day by day. I heard one of tier1 ISP, Verizon, provides 40Mbps download and 20Mbps upload Fios service for business. Furthermore, price is really competitive. Anyway, if you have a high speed broadband or serial links (DS3, OCs and Metro Ethernet) for Internet, do you believe maximum download speed is same as your subscribed Internet speed? In another word, if you have DS3 45Mbps (bandwidth) link to ISP, do you think you will get 45Mbps downloading speed? or TCP throughput, when you download files or transferring data to other location? Most of people might say, of course that's what I am paying for. However answer is "Yes" and "NO". Let's figure why that is!
Definition First, let's see what is definition of Throughput and Bandwidth. From the Wikipedia, Definition of Bandwidth is
"A data rate measured in bits per second" Definition of Throughput is
"Average rate of successful message delivery over a communication channel. These data may be delivered over a physical or logical link, or pass through a certain network node.
Bandwidth In general, both Bandwidth and Throughput are usually measured in bit per second. Meaning of Bandwidth is not too difficult to understand. Also, scope of bandwidth is normally considered between ISP edge device (router) and CPE. See below diagram shown DS3 (45Mbps) VS. T1 (1.5Mbps). Simply says DS3 is 28 times bigger than T1. Easy~
Pic 1 - Bandwidth VS. Throughput
Throughput Understanding of Throughput is sort of trick and you might need to use your brain a bit. See below picture shown simple testing environment involved a server and client devices are located at US and other client device is located far away at Asia (China). All connection to ISPs is 45Mbps (high-speed Internet). Let's assume below conditions
• • • • • • •
All devices have same TCP window size 64K bytes(65535bytes, standard size for most of window OS, but not NT and older) Testing devices are only machines are connected to ISP on each locations. Testing devices are only machines are generated traffic between locations. No congestion between nodes. No packet lost betwween nodes. RTT(Round Trip Time) is Server(New York) to Client (Chicago) = 30ms RTT(Round Trip Time) is Server(New York) to Client (Japan) = 200ms ** Above RTT is average of realistic value between nodes.
Pic 2 - Bandwidth VS. Throughput
Pic 3 - Bandwidth VS. Throughput Based on TCP Throughput calculation formula, throughput of upload / download between each node are below.
TCP Throughput NY to Chicago = 512000 (64000 bytes x 8) bits / 0.03 second = 17066666 bps = 17Mbps
TCP Throughput NY to Japan = 512000 (64000 bytes x 8) bits / 0.2 second = 2560000 bps = 2.560Mbps
Here is a theoretical TCP throughput under the assumption; both clients at Chicago and Japan won't reach 45Mbps bandwidth which is subscribed bandwidth.
So, while the client at Chicago was downloading a file or transferring data from the server at New York, both end of DS3 links will be utilized only 37% of total bandwidth. Also, in other case, both side of DS3 will be utilized only 5.6% of total bandwidth. So, we can imagine that simply 3 clients can transfer data at the same time without overutilization in the first case (Pic 2), and on the second case (Pic 3); about 17.5 clients can transfer data. Now, you might say "It is not true, I get more than 35Mbps throughput at similar environment!" Okay Okay, hold on~. Yes you can get more throughputs. I didn't say you can get better throughput. We have reviewed in general circumstance. We will talk about how we can increase throughput on other article within Internet Speed Issue series. - "Internet Speed Issue - How to use TCP window scaling option". I hope you got some idea about what are Throughput and bandwidth. "Do not screaming that Throughput is not improved after you have upgraded Bandwidth."
==================================================================================
http://www.speedtest.net/qna.php • Why don't I get my best speeds to the server that is closest to me? The Internet does not operate in direct paths. A server might be physically close to you, but the route to get it it could actually travel to another part of the country and back before getting to it. The server with the shortest "network distance" should end up being your best, and while this is often the closes one geographically it sometimes is not. Try several servers to find your best one. Back to top • Why does network distance to a server affect throughput? You have likely noticed that downloading from a local server location is faster than a distant one. This is because the TCP window (and therefore HTTP transfers) is not optimized for the increased latency that comes from an increase in distance. Back to top • TCP window - say what? HTTP is technically bound by the TCP "congestion window" which determines how many packets can be sent at one time. The larger the window size, the higher the throughput. Latency directly affects this because slower responses will create delays between packet sends. Back to top
2. BAGAIMANA MELAKUKAN TEST BANDWIDTH Ada 2 cara yang paling mewakili untuk melakukan tes bandwidth, yakni tes menggunakan iperf dan tes dengan cara melakukan download file. TEST IPERF 1. Download file iperf bisa di search di google. 2. Iperf memerlukan dua buah lokasi (site) sebagai pasangan client dan server. Test dilakukan oleh sisi client. Syarat agar iperf dapat berjalan adalah kedua site tersebut reachable satu sama lain (kalau tidak diblok firewall bisa saling ping), dan port yang digunakan untuk tes iperf tidak di blok oleh firewall. Untuk keperluan tes bw ini bisa menggunakan server berikut Lokal (batam) : 125.160.11.2 Internasional : iperf.wiscnet.net (tcp port 5001 udp port 5002)
3. Buka cmd (command prompt) pada windows, sesuaikan directory pada cmd dengan tempat file iperf berada, baik itu di sisi client maupun di sisi server
4. Command untuk mengaktifkan sisi server adalah: iperf -s Jika ingin menggunakan udp menggunakan –u
5. Untuk sisi Client, tes satu arah dari sisi client ke arah server :
Hasil akhir: C:\Documents and Settings\Telkom>iperf -c 125.160.11.2 -u -b8M -----------------------------------------------------------Client connecting to 125.160.11.2, UDP port 5001 Sending 1470 byte datagrams UDP buffer size: 8.00 KByte (default) -----------------------------------------------------------[1804] local 118.97.114.170 port 4251 connected with 125.160.11.2 port 5001 [ ID] Interval Transfer Bandwidth [1804] 0.0-10.0 sec 9.54 MBytes 7.99 Mbits/sec [1804] Server Report: [1804] 0.0-10.0 sec 9.54 MBytes 7.99 Mbits/sec 2.509 ms 0/ 6804 (0%) [1804] Sent 6804 datagrams
6. Untuk tes 2 arah (-d) dengan interval 60s (-t60),default test adalah 10s
7. Untuk tes ke site internasional bisa menggunakan server iperf.wiscnet.net
C:\Documents and Settings\Telkom>iperf -c iperf.wiscnet.net -u -p5002 -b5M -d -t30 -----------------------------------------------------------Server listening on UDP port 5002 Receiving 1470 byte datagrams UDP buffer size: 8.00 KByte (default) -----------------------------------------------------------------------------------------------------------------------
Client connecting to iperf.wiscnet.net, UDP port 5002 Sending 1470 byte datagrams UDP buffer size: 8.00 KByte (default) -----------------------------------------------------------[1700] local 118.97.114.170 port 1538 connected with 205.213.110.244 port 5002 [ ID] Interval
Transfer
Bandwidth
[1700] 0.0-30.0 sec 17.9 MBytes 5.00 Mbits/sec [1700] Server Report: [1700] 0.0-30.0 sec 17.9 MBytes 5.00 Mbits/sec 2.527 ms 3/12758 (0.024%) [1700] Sent 12758 datagrams Terbaca dari hasil diatas, dari NetPersec didapat Laptop mengirimkan (sent) paket dengan besar sekitar 5.2 M dan dari hasil report iperf didapat server report terbaca 5.00 Mbit/s dengan loss 0.024% (upload) Selain itu dari NetPerSec terdapat trafik masuk (received) sekitar 4Mbit/sec, hal ini menunjukkan untuk pengiriman paket sebesar 5M maka besaran paket yang dapat lewat dari server iperf.wiscnet.net sampai ke laptop adalah sekitar 4Mbit/s (download) Selain menggunakan iperf juga bisa menggunakan jperf yang merupakan bentuk GUI dari iperf
DOWNLOAD 1. Test download ftp dari singnet dengan alamat ftp://ftp.singnet.com.sg/speedtest/download/ pilih salah satu file untuk di download,lalu liat real speed dan utilisasi bandwidth pada NetPerSec. Untuk contoh ini real speed yg terbaca sekitar 278 KB/s = 278x8 = 2,2Mbit/s dan utilisasi 5Mbps
2. Test download dari ftp domestic Untuk tes ftp domestic sebagai contoh kita menggunakan http://centos.biz.net.id/5.4/isos/i386/ pilih salah satu file dengan size besar agar pengamatan bisa dilakukan cukup lama
Dapat dilihat real speed yang terbaca adalah 781KB/s = 6,2Mbps dan utilisasi yang terbaca adalah 7.3Mbps. Site domestik lain yang bisa dijadikan source download adalah indowebster.web.id 3. Tes download simultan Terkadang jika bandwidth langganan terlalu besar, untuk memenuhi utilisasinya perlu dilakukan download beberapa site secara simultan Misal bisa menggunakan web http://mirror.usonyx.net/Linux/CentOS/5/isos/i386/ ftp://ftp.singnet.com.sg/speedtest/download/
Referensi : 1. http://www.speedtest.net/qna.php 2. http://cisconet.com/traffic-analysis/traffic-analysis-general/239-internet-speed-issuethroughput-vs-bandwidth.html 3. http://dast.nlanr.net/Projects/Iperf/ 4. http://en.wikipedia.org/wiki/Measuring_network_throughput
C:\Documents and Settings\Telkom>iperf -h Usage: iperf [-s|-c host] [options] iperf [-h|--help] [-v|--version] Client/Server: -f, --format [kmKM] format to report: Kbits, Mbits, KBytes, MBytes -i, --interval # seconds between periodic bandwidth reports -l, --len #[KM] length of buffer to read or write (default 8 KB) -m, --print_mss print TCP maximum segment size (MTU - TCP/IP header) -o, --output
output the report or error message to this specifie d file -p, --port # server port to listen on/connect to -u, --udp use UDP rather than TCP -w, --window #[KM] TCP window size (socket buffer size) -B, --bind bind to , an interface or multicast address -C, --compatibility for use with older versions does not sent extra msgs -M, --mss # set TCP maximum segment size (MTU - 40 bytes) -N, --nodelay set TCP no delay, disabling Nagle's Algorithm -V, --IPv6Version Set the domain to IPv6 Server specific: -s, --server -D, --daemon -R, --remove
run in server mode run the server as a daemon remove service in win32
Client specific: -b, --bandwidth #[KM] for UDP, bandwidth to send at in bits/sec
(default 1 Mbit/sec, implies -u) -c, --client run in client mode, connecting to -d, --dualtest Do a bidirectional test simultaneously -n, --num #[KM] number of bytes to transmit (instead of -t) -r, --tradeoff Do a bidirectional test individually -t, --time # time in seconds to transmit for (default 10 secs) -F, --fileinput input the data to be transmitted from a file -I, --stdin input the data to be transmitted from stdin -L, --listenport # port to recieve bidirectional tests back on -P, --parallel # number of parallel client threads to run -T, --ttl # time-to-live, for multicast (default 1) Miscellaneous: -h, --help -v, --version
print this message and quit print version information and quit
[KM] Indicates options that support a K or M suffix for kilo- or megaThe TCP window size option can be set by the environment variable TCP_WINDOW_SIZE. Most other options can be set by an environment variable IPERF_, such as IPERF_BANDWIDTH.
eoc2009