Tuesday, 9 October 2012

Bandwidth or Throughput ??


Terjadi metode penghitungan dan pengertian tentang Bandwidth yang didapat antara pihak pelanggan dan Multimedia Telkom, akhirnya keluarlah artikel seperti berikut ini yang beredar di milis internal Telkom.
“Apakah yang dimaksud bandwidth, speed dan throughput? Apakah ketiganya merupakan hal yang sama? Bagaimana mengukurnya? Pertama-tama, kita perlu melihat definisi bandwidth dan throughput menurut versi Wikipedia:
 “Bandwidth is a data rate measured in bits per second”
“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”
Throughput inilah yang selama ini oleh pandangan awam dikenal sebagai SPEED, karena indikator di layar komputer memang besaran inilah yang paling jamak ditampilkan.
Secara umum keduanya diukur dalam ‘bit per second’ (bps) — ingat, b kecil yang berarti bit, dibanding B besar yang berarti Byte (1 Byte = 8 bit). Jika kita mendownload suatu file dari internet biasanya akan ditampilkan throughput dalam KByte/s, sehingga untuk mengetahui berapa throughput dalam Kbps mesti dikalikan dengan ‘8’, sehingga relevan dengan ‘janji’ ISP (Internet Service Provider) yang banyak memberikan ukuran service internet mereka ke pelangan dengan besaran Kbps atau Mbps.
Sebenarnya apakah yang dijanjikan oleh ISP tersebut? Bandwidth ataukah throughput? Dalam penjelasan berikutnya akan kita kupas hal ini lebih mendalam. Bandwidth tidak terlalu sukar untuk dimengerti, karena diukur dari sisi ISP yang berupa device-edge ROUTER dengan customer-edge CPE (Customer Premises Equipment) bisa berupa modem, router atau switch.
Jadi ISP akan memberikan koneksi physical berupa ‘pipa’ yang mempunyai kemampuan untuk dilewati trafik usage sebesar yang diminta oleh customer. Koneksi physical ini bisa wired maupun wireless. Misalnya pelanggan akan cukup diberikan koneksi dengan akses copper-wire untuk nx64Kbps dengan modem xDSL, atau mungkin dengan fiber optik untuk permintaan di atas 2Mbps, atau dengan akses lastmile dan besaran lainnya dalam T1/E1, T3/E3, DS3 atau mungkin bahkan STM1 dan seterusnya.
Jadi ISP hanya menyediakan ‘bandwidth’ berupa pipa dengan ‘diameter tertentu’ yang siap diisi apa saja oleh customer sesuai dengan jumlah rupiah yang dibayarkan, istilah kerennya dalam bidang IT telekomunikasi adalah dumb-pipe.
Oo, ternyata demikian, lalu bagaimana customer bisa diyakinkan bahwa memang mereka memperoleh bandwidth sesuai dengan apa yang mereka bayar? Mungkin akan ada yang berkata pilihlah ISP yang kredibel, pasti mereka tidak akan berlaku tidak fair dengan cara mencurangi customer.
Opini tersebut sah-sah saja, mengingat banyaknya ISP baik yang legal maupun ilegal di Indonesia ini yang beroperasi. Namun kita akan mencoba menjawabnya secara lebih elegan sebagai berikut.
Sudah menjadi salah kaprah selama ini customer mengukur bandwidth dengan cara pengukuran throughput/speed, karena cara inilah yang nampaknya paling mudah dilakukan. Banyak situs web yang dengan gampang bisa di-browse customer untuk melakukan ‘test speed’ semisalwww.speedtest.netwww.speakeasy.net, dan masih banyak lagi. Hasilnya tentu akan serupa tapi tak sama. Serupa karena memang baik bandwidth maupun throughput seperti telah dijelaskan sebelumnya diukur dalam satuan  ‘bps’ yang sama.
Tidak sama karena tentu hasil akhirnya bisa mendekati atau malah jauh berbeda. Mengapa bisa begitu?  Throughput atau biasa disebut secara awam sebagai SPEED, akan membutuhkan sedikit perhitungan teknis dalam penjelasannya. Kondisi yang mempengaruhi pengukuran adalah adanya TCP window size sebesar 64Kbytes di tiap perangkat yang dilalui, dan RTT (Round Trip Time) antara 2 node yang akan diukur throughputnya. Rumus yang dipakai adalah:
Max. Throughput = TCP Window Size / Round-trip time
*)Catatan: diasumsikan tidak terjadi kongesti dan paket loss antara node
Saya tidak akan berpanjang lebar menjelaskan apa itu TCP Window size dan Round-trip time. Cukup diketahui bahwa TCP Window size atau RWIN (TCP Receive Window) adalah buffer data yang dapat diterima komputer tanpa memberikan ‘acknowledge’ ke sender, besarnya adalah 64Kbyte/s.
Sedangkan Round-trip time atau RTD (Round-trip Delay Time) adalah waktu tempuh antar dua node (bolak-balik) yang dibutuhkan sinyal atau paket data.
Dua ilustrasi di bawah akan menceritakan dan menjelaskan tentang throughput secara lebih mudah:
Sebuah Server X di Jakarta dengan bandwidth tersedia DS3 (45Mbps) akan diakses oleh sebuah Komputer A di Denpasar dengan bandwidth tersedia 2Mbps. Hasil ping diperoleh RTT 30ms. Berapa maksimum speed atau throughput yang bisa diperoleh Komputer A tersebut?
Perhitungan menjadi sebagai berikut:
TCP throughput Denpasar <-> Jakarta = (64000 * 8) / 0,03 = 17Mbps
Jadi kesimpulannya pelanggan Komputer A di Denpasar bisa ‘merasakan’ secara maksimal full speed/throughput di 2Mbps karena masih di bawah limit maksimum TCP Throughput (17Mbps).
Bagaimana bila ilustrasinya diubah, Server X di Jakarta tersebut akan diakses dari Komputer B di Jayapura yang berlanganan bandwidth 2Mbps. Hasil ping diperoleh RTT 600ms (backbone satelit).
Perhitungan menjadi:
TCP Throughput Jayapura <-> Jakarta = (64000 * 8) / 0,6 = 853Kbps
Woo, artinya customer 2Mbps (Komputer B) di Jayapura tidak akan pernah memperoleh hasil ‘test speed’ 2Mbps ke server X di Jakarta, karena maksimal TCP throughput yang bisa didapat hanya 800-anKbps.
Apakah ini artinya customer di Jayapura tidak bisa merasakan bandwidth 2Mbps? Tentu tidak demikian, Komputer B di Jayapura tetap bisa membebani bandwidth 2Mbps miliknya dengan cara membuat konkuren koneksi ke Server X. Karena perhitungan maksimum TCP throughput 853Kbps adalah untuk satu koneksi. Atau gampangnya 2Mbps/853Kbps = 2,4 koneksi atau user atau host, sehingga optimalnya mesti ada lebih dari 2 koneksi atau user atau host konkuren di Jayapura yang bisa digunakan untuk menghasilkan pembebanan/usage yang maksimal pada bandwidth 2Mbps.
Itulah sebabnya dalam pengukuran bandwidth yang riil, lebih digunakan UDP (User Datagram Protocol) daripada TCP (Transmission Control Protocol). Pengukuran bandwidth dengan mode UDP lebih valid dan sesuai dengan kondisi sebenarnya. Aplikasi yang bisa digunakan untuk kepentingan tersebut adalah IPERF (http://sourceforge.net/projects/iperf/), bahkan jitter, packet loss, latency/delay pun bisa diukur dengan aplikasi gratis ini.
Kesimpulan dari beberapa faktor yang mempengaruhi dalam metode pengukuran bandwidth atau throughput (speed) adalah:
1. Komputer yang dipakai untuk melakukan pengetesan, spesifikasi hardware dan software termasuk Operating System dan aplikasi/browser.
2. Lebar bandwidth antara komputer dan situs/server yang dituju.
3. Round-trip time (latency/delay) antara komputer dan situs/server tujuan
4. Waktu respons dari situs/server yang dilihat.
Demikian info yang diberikan dari milis, tapi sebagai penjual kita tidak bisa mengasumsikan secara teknis seperti itu ke pelanggan, karena pelanggan tetap harus dihadapi oleh bahasa “manusia”.