BAB 3
SWITCHING
Oleh: yerianto@yahoo.com
Apa yang dilakukan jika kinerja jaringan menjadi turun? Bagi jutaan pembeli produk jaringan, jawabannya adalah "Switch!" Banyak orang percaya bahwa jika mereka mengganti router dengan switch, seluruh problem jaringan terutama yang berkaitan dengan kecepatan akan lenyap. Switching, seperti dipromosikan para penjualnya, lebih cepat dari routing. Switching akan meningkatkan kinerja, mengurangi waktu respon, dan bahkan memungkinkan Anda mengirimkan suara atau video melalui LAN.
Haruskah kita membeli switch? Para reseller yang menginstall switch LAN dan memiliki banyak pengalaman dengan switch mengatakan bahwa ada beberapa masalah yang tak bisa dibiarkan begitu saja, dalam kaitannya dengan hilangnya paket data pada percabangan switch-ke-server dan switch-ke-switch. Masalah ini mungkin belum cukup untuk membuat kita bertanya apakah switch secara umum berguna, tetapi cukup untuk membuat kita penasaran apakah switching benar-benar bisa digunakan dalam sebuah jaringan sesungguhnya.
Apa yang Ada dalam Sebuah Switch?
Dari seluruh pembicaraan mengenai switching, sebagian besar pembeli tak cukup mengerti apa itu switch. Secara umum, dari yang diungkapkan oleh para vendor, switch adalah sebuah "perangkat jaringan yang menyediakan jalur dengan low-delay dan low-overhead antara sebuah port sumber informasi dan port tujuan informasi."
Untuk menyesuaikan dengan definisi tersebut, sebuah switch harus memiliki sebuah matriks switching dalam intinya yang menyediakan jalur elektronik antara dua titik manapun sesuai kebutuhan, atau sebuah bus switching cepat yang memungkinkan port manapun memasukkan informasi untuk diambil oleh port lain. Switch juga harus memiliki adapter port yang menyediakan apa pun yang diperlukan oleh penerjemahan protokol (protocol translation) untuk mengkonversi protokol dari perangkat yang terhubung menjadi bentuk yang bisa diterima oleh inti switch.
Pada LAN switching, inti switch membentuk suatu media virtual LAN ultracepat. Sebuah sumber data yang terhubung mengirimkan pesan LAN ke adapter port lokalnya dan adapter tersebut menerjemahkan alamat media access control (MAC)-layer dari pesan tersebut ke sebuah alamat port switch. Adapter lalu menampilkan pesan ke inti switch, yang mengalamatkannya ke port tersebut.
Pada pesan multicast (ditujukan ke beberapa alamat sekaligus), switch mengalamatkannya ke masing-masing anggota VLAN. Ada asumsi dalam LAN switching bahwa inti jaringan memiliki kecepatan yang sangat tinggi sehingga tak akan terganggu arus lalu lintas gabungan.
ATM switching sedikit berbeda. Dengan ATM (atau frame relay) switching, asumsinya adalah ada batas kapasitas pada jaringan ATM. Ini berarti jaringan harus mengukur aplikasi yang disetujuinya untuk dilewatkan dan memastikan bahwa data tersebut bisa lewat tanpa ada kemacetan. Untuk melakukannya, switch ATM mensetup suatu hubungan, disebut "panggilan" atau "koneksi." Setup bekerja menyediakan sumber daya yang akan diperlukan oleh koneksi tersebut, dan jaringan memblok tingkat ini dari pool sumber daya yang ada.
Jika tak tersedia sumber daya yang cukup untuk mendukung sebuah koneksi, jaringan akan menolaknya. Jika tersedia, jaringan akan mengatur data untuk memastikan bahwa pemanggil tak mengirim data lebih dari jumlah yang disetujui. Pengaturan ini dilakukan pada adapter port tempat pengguna pertama kali menghubungi.
Buffer
Dalam sebagian besar desain switch, ada kemungkinan switch akan sangat sibuk jika data masuk ke port. Untuk mencegah hilangnya data, switch menyediakan buffer untuk menampung data sehingga bisa diproses. Buffer adalah ruang memori tempat data telah diterima tetapi belum bisa disimpan. Jika sebuah switch memiliki buffer, switch tersebut bisa mengurangi puncak arus-lalu-lintas- secara-tak-sengaja dengan waktu cukup lama untuk mencegah hilangnya informasi, tanpa memerlukan biaya tambahan untuk membuat switch cukup cepat dalam mendukung operasi konstan dengan kecepatan penuh bagi seluruh port.
Para pembuat switch telah menyetujui bahwa tempat terbaik untuk membuffer informasi adalah pada port input. Pengguna lalu memasukkan data ke switch pada tingkat kecepatan berapa pun yang dibutuhkan oleh aplikasi tersebut dan switch mengumpulkannya pada buffer.
Jika ada kapasitas untuk meneruskan data ke port tujuan, switch akan menarik elemen data berikutnya keluar dari buffer, dan meneruskannya. Switch jaringan frame relay, misalnya, hampir selalu menyediakan buffer port yang besar.
Manajemen Lalu Lintas
Namun buffer tidaklah selalu menjadi sesuatu yang baik. Jika informasi sedang disusun dalam buffer, informasi tersebut akan ditunda. Penundaan, Anda ingat, adalah salah satu yang kita ingin kurangi dengan menggunakan switch. Ini menjelaskan perbedaan antara switch ATM dan switch LAN.
Dengan switch ATM, asumsinya adalah beberapa switch membentuk sebuah jaringan dan dihubungkan oleh kapasitas percabangan yang terbatas. Switch ATM harus memastikan koneksi tercepat dengan tingkat kehilangan data yang rendah melalui seluruh jaringan. Sehingga, switch ATM harus menyediakan buffer yang besar. Dengan switch LAN, terutama pada tingkat workgroup, media virtual bisa dibuat cukup cepat untuk mengurangi risiko kemacetan. Switch LAN seringkali memiliki buffer yang jauh lebih kecil dan seringkali mengabaikan isu manajemen lalu lintas data.
Apa yang terjadi jika switch yang tak dirancang untuk melakukan pembufferan dan manajemen lalu lintas data mengalami kemacetan sumber daya? Anda mungkin terkejut jika tahu bahwa jaringan terswitch Anda, dalam kondisi tertentu, akan bekerja secara lambat -- atau bahkan tak bekerja sama sekali.
Pikirkan kembali deskripsi dari operasi switch. Item input dari satu station atau port diswitch ke tujuannya berdasarkan alamat MAC-layer (dalam LAN switching) atau indikator ATM Virtual Channel/Cirtual Path (dalam ATM switching). Jika switch bisa mengelola kombinasi port yang didukungnya, semuanya akan berjalan lancar, bukan? Itulah asumsi yang saya ingin Anda ingat.
Tabrakan Informasi
Juga ada pertanyaan apakah port tujuan pada switch bisa terus mengelolanya. Kenyataannya, ada kemungkinan lalu lintas bisa bertabrakan di port tujuan yang bisa membuat percabangan yang memiliki kecepatan terbatas mengalami masalah. Jika paket sebesar 20Mbit per detik dilewatkan ke port 10Mbit per detik, tidak seluruh paket bisa dilewatkan. Dalam switch yang memiliki banyak port buffering, sisa sebesar 10Mbit per detik tersebut tetap akan ditangani dengan harapan bahwa masalah lalu lintas bisa segera ditangani dan seluruh data tetap bisa disampaikan. Jika kapasitas buffer kecil atau jumlah data yang bertabrakan cukup besar, switch mungkin harus membuang informasi tersebut.
Jadi bagaimana? LAN Ethernet shared-media (bukan switched) mengalami banyak tabrakan setiap hari dan tak seorangpun kecewa. Jaringan ATM sering membuang sel dan tak seorangpun kecewa. Mengapa pembuangan data karena ada masalah dengan port tujuan membuat orang kecewa?
Alasannya sederhana: pada LAN Ethernet shared-media, saat dua station mengalami tabrakan dalam usahanya mentransmisikan informasi, keduanya akan merasakan tabrakan tersebut. Itulah yang dilakukan oleh CD pada CSMA/CD (metode yang digunakan oleh Ethernet shared-media), CD berarti collision detection --pendeteksian tabrakan. Kedua station akan mundur selama beberapa mikrodetik (yang dipilih secara acak) dan mencoba lagi. Keacakan periode mundur tersebut untuk masing-masing station akan mengurangi risiko tabrakan pada usaha kedua mereka. Station yang mengirim informasi akan bisa mengirim dengan tenang dan bisa mempersiapkan pesan berikutnya, tetapi pesan pertama yang bertabrakan dengan lalu lintas lain pada switch tujuan akan dibuang.
Walaupun hal itu tak berarti hilangnya data. Jika adapter port tujuan mendrop sebuah pesan, protokol tingkat yang lebih tinggi -- jika ada -- akan memperbaikinya. TCP/IP akan bermanfaat dalam situasi seperti itu karena TCP akan mendeteksi kehilangan data dan mentransmisikan ulang setelah selang waktu tertentu.
Bagaimana dengan video atau audio? Protokol datagram seperti yang digunakan untuk suara atau video biasanya tak memiliki kemampuan perbaikan kesalahan end-to-end. Untuk protokol seperti itu, data yang dibuang pada port tujuan akan hilang selamanya. Banyak protokol (seperti TCP) akan mereset ukuran flow control window (selang pengontrol arus) ke nilai minimum untuk mencegah kehilangan lebih lanjut. Hal ini secara signifikan mengurangi kinerja hingga selang tersebut secara adaptif "membesar," yang hanya terjadi jika tak ada data lain yang dibuang.
Port tujuan bukanlah satu-satunya masalah. Ada dua situasi di mana kehilangan data terjadi pada aplikasi jaringan terswitch biasa: pada cabang server dan pada cabang switch-ke-switch. Semakin pelan cabang ke luar, semakin mungkin terjadi kemacetan. Sebuah cabang yang lambat akan berhenti mengirim sesuatu jika ada data yang muncul. Dalam kedua kasus tersebut, port tujuan yang digunakan secara bersama mirip dengan sebuah LAN shared-media. Ini bisa dianggap sangat ironis karena sebenarnya switching diharapkan untuk bisa mengatasi hal itu.
Seberapa burukkah yang terjadi? Satu penelitian mengenai switched LAN yang dilakukan Network World untuk end-user menunjukkan delapan port sumber terswitch aktif yang menjalankan aplikasi software client/server dapat mengalami kelebihan muatan pada sebuah port switch-ke-switch sehingga throughput efektif turun dari 100Mbps menjadi 18Mbps. Sebuah penurunan yang sama juga dilaporkan oleh sebuah perusahaan value-added reseller LAN.
Jadi apakah jawabannya ATM? Tidak, karena ATM dalam banyak penerapannya saat ini juga mengalami masalah yang sama. LAN Emulation (LANE) ATM dan Multi-Protocol Over ATM (MPOA) saat ini mengandalkan kelas layanan ATM yang disebut unspecified bit rate (UBR). Dengan layanan UBR, pengirim tak perlu menyediakan deskripsi apapun mengenai arus lalu lintas yang akan dikirimkan, dan jaringan tak perlu membuat reservasi sumber daya untuk membawanya, mengatur lalu lintasnya, atau membatasi lalu lintas pada sumber daya tersebut. Informasi mengalir ke switch dengan kecepatan yang bisa didukung oleh port pengirim -- sebuah port ATM 155Mbps bisa digunakan secara maksimal oleh sebuah arus UBR tunggal.
Apa yang Bisa Dilakukan?
Jika tabrakan pada port tujuan bisa mengganggu aplikasi Anda, apa yang bisa dilakukan untuk mencegahnya? Ada dua jawaban dasar untuk masalah tersebut, keduanya berhubungan dengan implementasi vendor tertentu. Anda harus yakin pendekatan apa yang digunakan vendor Anda dan apa pengaruh kedua pendekatan tersebut terhadap kinerja.
Pendekatan pertama adalah pembufferan. Jika sebuah switch memiliki buffer yang cukup untuk mengatasi sebuah periode tabrakan, penundaan switch secara keseluruhan akan meningkat (karena ada penundaan pembufferan), tetapi tidak ada data yang hilang. Pertanyaannya di sini, apakah yang disebut sebagai buffer yang memadai? Jika tak ada mekanisme untuk menghambat pengirim informasi, sebuah ledakan paket yang panjang kemungkinan akan melampaui buffer manapun. Hal ini bisa terjadi jika data terkombinasi yang ditargetkan ke port datang dengan kecepatan lebih tinggi daripada kecepatan yang bisa ditransfer port.
ATM switch cenderung untuk melakukan pembufferan sebagai solusi untuk masalah tersebut. Namun seperti contoh yang diberikan oleh VAR di atas, beberapa arus UBR ATM sekaligus yang bersumber dari port cepat akan tetap bisa meluapi bahkan buffer ATM. Jika buffer merupakan bagian dari pool pusat, tidak ada kemungkinan untuk mentargetkan kapasitas buffer yang tersedia bagi port output tertentu yang mengalami kemacetan. Dan ingat, tak peduli seberapa pun besarnya buffer, masih tetap mungkin terjadi luapan jika Anda tak bisa membuat pengirim berhenti mengirim data.
Strategi kedua adalah menghubungkan pemrosesan switching dan port tujuan, sehingga pengirim pesan bisa "melihat" kompetisi pada port tujuan saat data masih mengalir. Ini memungkinkan port pengirim untuk membuat semacam tabrakan virtual pada MAC-layer yang memaksa pengirim untuk mundur dan mencoba lagi. Dengan kata lain, feature ini serupa feature pendeteksian tabrakan pada LAN shared-media (CSMA/CD). Jelas, pendekatan ini hanya bekerja dengan MAC-layer collision-detection seperti Ethernet. Dengan token ring atau FDDI, tak ada flow control MAC-layer.
Untuk membuat flow control bekerja, switch harus "merasakan" bahwa port output sedang sibuk saat sebuah pesan data datang dan membangkitkan sebuah false collision untuk menghentikan pengirim agar tidak terus mengirim data. Ini biasanya bisa bekerja berdasarkan tingkat buffer. Madge Networks, Inc.dan 3Com Corp. adalah dua vendor yang memiliki tipe manajemen arus data seperti ini, setidaknya pada beberapa produk mereka.
ATM menjanjikan flow control per station melalui kelas layanan ABR (Available Bit Rate). Namun ABR belum sepenuhnya digunakan dan sebagian besar vendor switch hanya menawarkan pada desktop yang menggunakan ATM. Lalu lintas yang bersumber dari adapter yang ada dan memasuki sebuah switch ATM menggunakan LANE atau MPOA tidak menggunakan ABR. Beberapa anggota ATM Forum telah mempromosikan sebuah perubahan pada standar LANE dan MPOA untuk penggunaan ABR, seperti juga koneksi UBR.
Beberapa vendor ATM, termasuk IBM, menyediakan beberapa kemampuan pengaturan lalu lintas dan alokasi sumber daya, bahkan untuk pengguna LANE/UBR. Sebagian besar vendor kemungkinan akan mengadopsi ABR sebagai pilihan untuk LANE dan MPOA jika standarnya mendukung untuk itu. Jika Anda merencanakan menggunakan ATM, cari tahulah bagaimana calon vendor Anda menangani hal ini sebelum membuat keputusan akhir.
Bahkan walaupun vendor switch Anda memiliki kedua feature ini, Anda mungkin harus menghitung berapa banyak solusi mereka akan membantu Anda. Beberapa uji benchmark mungkin menyediakan sebuah petunjuk mengenai apa yang bisa diharapkan dari switch tertentu dalam kaitannya dengan risiko tabrakan di port tujuan. Carilah pengujian di mana enam atau lebih input port digunakan untuk mengirim data ke satu port output. Semakin banyak port input, semakin bagus uji tersebut menirukan kinerja percabangan server multiclient atau switch sesungguhnya.
Anda juga bisa melakukan pengujian sendiri, dengan syarat Anda memiliki LAN analyzer dan bisa membangkitkan lalu lintas data yang cukup untuk meluapi server atau percabangan switch-ke-switch.
Apa yang harus dilakukan jika tak ada vendor yang bisa menghilangkan tabrakan pada port tujuan? Untuk seluruh tipe switch, ada pendekatan ketiga yang harus diperhatikan para pembeli, yaitu membuat port tujuan jauh lebih cepat daripada port sumber yang akan mengirimkan data. Ini akan mengurangi tabrakan pada titik tersebut, sehingga pengaruhnya bisa diabaikan. Dengan menggunakan switch LAN yang bisa dengan bagus menangani tabrakan pada port tujuan melalui pembufferan atau flow control, tingginya kecepatan percabangan akan tetap memegang peranan penting dalam mengurangi penundaan switch dan meningkatkan kinerja aplikasi.
Sebelum menggunakan strategi tersebut, Anda harus ingat bahwa pendekatan itulah yang direkomendasikan sebagian besar vendor. Beberapa pembeli dan reseller melaporkan bahwa jika komputer klien Ethernet 10Mbps digunakan dengan percabangan server atau switch berkecepatan 100Mbps, tabrakan akan cukup jarang terjadi, sehingga bisa diabaikan dalam sebagian besar aplikasi.
Para reseller, khususnya, menyukai konfigurasi ini karena bisa mengurangi masalah dukungan dan semakin banyak reseller yang menawarkan konfigurasi tersebut. Itulah sebabnya Gigabit Ethernet menjadi isu menarik. Karena keuntungan terbesar dari Gigabit Ethernet adalah kemampuannya untuk menyediakan bandwidth yang sangat lebar bagi shared port logikal untuk mencegah tabrakan dan hilangnya kinerja, walaupun digunakan untuk komputer klien berkecepatan 100Mbps.
Seberapa banyak luapan yang diperlukan? Pengujian di bidang ini belum bisa digunakan sebagai kesimpulan, tetapi wawancara dengan beberapa pengguna dan reseller menunjukkan bahwa port percabangan setidaknya harus lima atau enam kali lebih cepat daripada port sumber. Rasio tersebut mungkin akan semakin meningkat jika ada banyak port sumber mengirim data ke satu tujuan tertentu. Strategi bahwa setiap generasi Ethernet adalah 10x lebih cepat sesuai dengan kebutuhan ini. Untuk ATM, penggunaan port klien ATM25 dan percabangan dan koneksi server 155Mbps tak ada masalah. Namun, klien yang lebih cepat akan membutuhkan server dan percabangan 622Mbps.
Switching adalah sesuatu yang bagus dan kita tak menginginkan sebaliknya. Namun banyak sesuatu yang bagus juga mempunyai sisi buruk, terutama jika hal tersebut digunakan tanpa meneliti posisi nilainya secara tepat. Switch berkecepatan tinggi tak akan berguna jika percabangannya berkecepatan rendah. Sebab percabangan berarti persaingan banyak pengguna sekaligus -- baik untuk server maupun untuk switch. Jika Anda ingin mendapatkan hasil yang maksimal dari investasi menggunakan switch, Anda harus memastikan bahwa percabangan server dan switch-ke-switch juga memiliki kecepatan tinggi.
Kecepatan percabangan merupakan jawaban kunci untuk kinerja switch. Jika Anda tak bisa menyediakannya, pastikan vendor Anda bisa menangani tabrakan di port tujuan. Terakhir, jika Anda peminat ATM, mintalah vendor Anda menggunakan layanan ABR ATM pada seluruh konektivitas LAN-over-ATM. Jika Anda tak memperhatikan hal ini pada saat membeli switch, Anda berisiko menanggung masalah kinerja paling besar untuk sekarang dan masa depan
|