Senin, 20 April 2009

Proxy cache di internet

Perkembangan Internet sejak 1993 sangat pesat, bahkan karena perkembangan tersebut, Internet Society secara resmi telah mengumumkan: "1993 is the year the Internet 'happened' ". Penelitian pada tahun 1994 memperlihatkan perkembangan tersebut terutama oleh bertambahnya aliran data WWW yang meningkat sebesar 25% setiap bulannya dibandingkan dengan aliran data FTP yang meningkat sebesar 5%. Dengan perkembangan yang sebesar itu, aliran data WWW telah melebihi aliran data FTP pada bulan Mei 1995. Penelitian lain juga menunjukkan bahwa aliran data WWW mencapai 37% dari jumlah total byte yang lewat di jaringan tulang punggung NSF.

Di satu sisi peningkatan yang pesat ini sangat menggembirakan, tetapi di sini lain -setidaknya untuk saat ini- perkembangan tersebut cukup mengkhawatirkan. Kekhawatiran ini terutama disebabkan oleh keterbatasan kapasitas prasarana Internet dan perkembangan kapasitas ini tidak dapat mengimbangi perkembangan penggunaan Internet.

Salah satu contoh ekstrem terjadinya beban jaringan yang tinggi adalah pada saat terjadinya event astronomi tahun 90-an: tabrakan komet Shumaker-Levy 9 dengan planet Jupiter. Ini adalah salah satu contoh publikasi 'real-time' di Internet. Gambar-gambar teleskop dari seluruh dunia ditempatkan pada server FTP dan WWW hanya beberapa jam setelah tabrakan tersebut. Beban pada server pada beberapa lokasi NASA sangat tinggi sehingga beberapa mesin harus ditambah untuk melayani beban permintaan atas gambar komet tersebut. Selama seminggu setelah tabrakan itu, Jet Propulsion Laboratories (JPL) NASA mencatat telah terjadi lebih dari 880.000 akses. Server lain yang terletak di Goddard Space Flight Center diakses lebih dari 420.000 kali dan mengirim data lebih dari 6 Terabyte.

Mirroring, Replicating, dan Caching
Pada kasus seperti di atas, kita dapat memperhatikan dua fenomena yaitu server WWW mengalami kelebihan beban dan aliran data yang lewat di jaringan sangat tinggi. Ada beberapa upaya yang dilakukan untuk mengurangi kemungkinan terjadinya kasus-kasus seperti di atas. Beberapa upaya tersebut adalah dengan menggunakan metoda yang dikenal dengan mirroring dan replicating, serta dengan caching. Mirroring dan replicating adalah metode yang menduplikasikan file dan/atau server pada tempat-tempat lain di Internet. Server yang tersebar di Internet mempercepat waktu respon dan mengurangi aliran data pada jalur wide area network (WAN). Metode mirroring ini tentu saja cukup membantu dalam mengurangi akses ke server asal tetapi ini bukan solusi yang ideal. Masalahnya adalah pengguna masih dapat memilih server mana yang akan dituju. Seorang pengguna mungkin memilih server asal dengan beberapa alasan. Mungkin ia tidak pernah tahu adanya mirror site, ia lupa nama server mirror tersebut, atau ia tidak percaya mirror site itu menyediakan file-file yang up-to-date

Berbeda dengan metode di atas, metode caching berorientasi kepada client. Metode caching di Internet mirip dengan cache memory pada komputer yaitu dengan menempatkan object-object (dalam bentuk file) yang baru saja diakses pada situs yang dekat dengan client sehingga ketika file tersebut diakses kembali, maka file tersebut diambil dari situs yang dekat. Hal ini dimungkinkan karena protokol HTTP yaitu protokol jaringan yang digunakan pada aplikasi WWW mengenal fasilitas yang disebut sebagai server proxy. Proxy ini bertindak sebagai perantara antara client dengan server pada waktu pengaksesan dokumen.


Proses duplikasi dokumen yang dijelaskan di atas memiliki kemiripan dengan metode mirroring. Perbedaan utama antara keduanya terletak pada orientasi duplikasi dokumen. Metode mirroring lebih berorientasi kepada server sedangkan metode proxy-cache lebih berorientasi kepada client. Di sini kita dapat melihat kelebihan penggunaan metode proxy-cache dibandingkan dengan mirroring. Proxy-cache dapat ditempatkan secara terdistribusi dan dekat dengan client yaitu dengan menempatkannya satu LAN dengan client. Server mirror, walaupun ditempatkan secara terdistribusi, memiliki kelemahan karena user yang ingin mengambil dokumen yang sama dalam waktu yang tidak berbeda jauh harus mengadakan hubungan client-server melalui jalur WAN yang biasanya memiliki bandwidth lebih sempit dibandingkan bandwidth LAN.

Jenis-jenis Cache

Masalah lain yang dihadapi dalam penduplikasian dokumen adalah bagaimana menjaga agar dokumen yang diduplikasikan sama dengan dokumen yang terakhir ada di server asli. Server mirror atau cache harus melakukan pembaruan kembali dokumen agar user percaya bahwa dokumen yang ia terima dari server mirror atau server proxy-cache sama dengan dokumen yang terdapat di server. Saat ini terdapat setidaknya dua jenis pembaruan kembali yang biasa digunakan yaitu jenis persistent dan jenis non-persistent. Pada jenis persistent, jika terdapat dokumen dalam cache maka dokumen yang disampaikan ke user adalah dokumen yang berada dalam cache tersebut. Dokumen tersebut selalu diambil dari cache kecuali jika user memaksa agar dokumen diambil langsung dari sumbernya. Contoh jenis ini adalah seperti yang digunakan oleh browser Netscape. Untuk memerintahkan Netscape agar mengambil langsung dari sumber dokumen, user harus memilih ikon reload. Kelemahan utama jenis ini adalah pembaruan kembali dokumen harus dipaksakan dan tidak ada mekanisme untuk memeriksa apakah dokumen yang disimpan masih sama dengan dokumen yang terdapat pada server asal atau dokumen harus diambil kembali dari server asal tersebut.

Berbeda dengan cache jenis persistent, cache non-persistent memiliki mekanisme untuk memperbarui dokumen di dalam cache sehingga dokumen yang diterima oleh user dapat selalu sama dengan dokumen di server asal tanpa perlu dipaksa oleh user. Mekanisme pembaruan kembali dokumen dalam cache ini menggunakan dua buah algoritma yang saling mendukung: algoritma Ageing dan algoritma Least Recently Used (LRU). Algoritma LRU bertugas untuk menjaga agar selalu tersedia tempat untuk menyimpan dokumen yang baru diakses. Jika cache sudah hampir penuh, algoritma ini menghapus dokumen-dokumen yang lama tidak diakses (least recently used) sampai batas tertentu. Algoritma Ageing memeriksa tanggal dokumen yang terdapat di dalam cache untuk menentukan apakah dokumen tersebut harus dihapus. Di samping itu algoritma Ageing juga menentukan apakah dokumen yang sedang diakses user perlu diambil dari server asal atau cukup dengan menggunakan dokumen yang terdapat di dalam cache. Server proxy umumnya menggunakan cache non-persistent karena kelebihan yang disebutkan di atas.

Hierarki Cache

Server proxy dapat dihubungkan dengan server-server proxy lain dan membentuk hierarki seperti pada sebuah organisasi. Jika server proxy bergabung dalam sebuah hierarki, sebuah server proxy bisa memilih untuk mengambil dokumen yang diinginkan dari server proxy lain dalam hierarki atau mengambil dari server asal. Saat ini National Laboratory of Applied Network Research (NLARN) sedang mengembangkan prototipe hierarki cache dengan beberapa buah server proxy-cache pada tingkat hierarki yang paling tinggi (root cache). Hierarki ini terdiri dari cache pada tingkat nasional, regional, dan organisasi. Dalam prototipe ini cache pada tingkat nasional melayani permintaan akses untuk domain negara tersebut. Misalnya terdapat permintaan dokumen dari URL http://www.titech.ac.jp yang berada di bawah domain jp (Jepang), maka dokumen tersebut diminta dari cache tingkat nasional di Jepang.

Institut Teknologi Bandung sekarang juga sedang mengembangkan hierarki cache untuk jaringan di dalam kampus. Dalam hierarki yang kami kembangkan terdapat beberapa server proxy-cache yang diletakkan secara terdistribusi agar dapat mengurangi beban lalu lintas jaringan. Berdasarkan pengalaman kami, di jaringan gedung Pusat Antar Universitas dalam satu minggu dapat terjadi transfer data yang mencapai 1 Gigabyte untuk aplikasi WWW dan penggunaan server proxy-cache untuk gedung ini dapat menghemat lalu lintas data aplikasi WWW sampai sekitar 23%. Jadi dengan contoh kasus ini dapat terlihat bagaimana keuntungan menggunakan server proxy-cache untuk menghemat bandwidth WAN.






Oleh : Achmad Husni Thamrin dan Onno W. Purbo

0 komentar: