Karena proxy bekerja pada layer aplikasi, proxy server dapat berjalan pada banyak aplikasi antara lain HTTP Proxy atau Web Proxy untuk protokol HTTP atau Web, FTP Proxy, SMTP Proxy/POP Proxy untuk email, NNTP proxy untuk Newsgroup, RealAudio/RealVideo Proxy untuk multimedia streaming, IRC proxy untuk Internet Relay Chat (IRC), dan lain-lain. Masing-masing hanya akan menerima,meneruskan atau melakukan filter atas paket yang dihasilkan oleh layanan yang bersesuaian.
Proxy aplikasi spesifik memiliki pilihan konfigurasi yang sangat banyak. Sebagai contoh, Web Proxy dapat dikonfigurasi untuk menolak akses ke situs web tertentu pada waktu-waktu tertentu. Demikian juga proxy yang lain, misalnya dapat dikonfigurasi untuk hanya memperbolehkan download FTP dan tidak memperbolehkan upload FTP, hanya memperbolehkan pengguna tertentu yang bisa memainkan file-file RealAudio, mencegah akses ke email server sebelum tanggal tertentu, dan masih banyak lagi.
Proxy server juga sangat baik dalam hal kemampuan menyimpan catatan (logging) dari trafik jaringan, dan dapat digunakan untuk memastikan bahwa koneksi untuk jenis trafik tertentu harus selalu tersedia. Sebagai contoh, sebuah kantor mempunyai koneksi terus menerus ke Internet untuk keperluan akses Web menggunakan satu koneksi Dial-up. Proxy server dapat dikonfigurasi untuk membuka satu lagi koneksi Dial-up kedua bila ada pengguna yang melakukan download melalui FTP pada koneksi Dial-up pertama dalam waktu lama.
Sebagaimana biasa, kelemahan dari konfigurasi yang sangat fleksibel dan banyak pilihan adalah timbulnya kompleksitas. Aplikasi pada sisi pengguna seperti Web Browser atau RealAudio Player harus ikut dikonfigurasi untuk bisa mengetahui adanya proxy server dan bisa menggunakan layanannya. Bila suatu layanan baru dibuat di internet yang berjalan pada layer aplikasi, dengan menggunakan protokol baru dan port yang baru, maka harus dibuat juga proxy yang spesifik dan bersesuaian dengan layanan tersebut. Proses penambahan pengguna dan pendefinisian aturan akses pada suatu proxy juga bisa sangat rumit.
Sebagai perantara antara pengguna dan server-server di internet, proxy server bekerja dengan cara menerima permintaan layanan dari user, dan kemudian sebagai gantinya proxy server akan mewakili permintaan pengguna, ke server-server di internet yang dimaksudkan. Dengan demikian, sebenarnya proxy server hanya meneruskan permintaan pengguna ke server yang dimaksud, akan tetapi disini identitas peminta sudah berganti, bukan lagi pengguna asal, tetapi proxy server tersebut. Server-server di internet hanya akan mengeahui identitas proxy server tersebut, sebagai yang meminta, tetapi tidak akan tahu peminta sebenarnya (yaitu pengguna asalnya) karena permintaan yang sampai kepada server-server di internet bukan lagi dari pengguna asal, tetapi dari proxy server.
Bagi penggguna sendiri, proses yang terjadi pada proxy server diatas juga tidak kelihatan (transparan). Pengguna melakukan permintaan atas layanan-layanan di internet langsung kepada server-server layanan di internet. Penguna hanya mengetahui keberadaan atau alamat dari proxy server, yang diperlukan untuk melakukan konfigurasi pada sisis pengguna untuk dapat menggunakan layanan dari proxy server tersebut.
Caching
Fungsi dasar yang ketiga dan sangat penting dari suatu proxy server adalah caching. Proxy server memiliki mekanisme penyimpanan obyek-obyek yang sudah pernah diminta dari server-server di internet, biasa disebut caching. Karena itu, proxy server yang juga melakukan proses caching juga biasa disebut cache server.
Mekanisme caching akan menyimpan obyek-obyek yang merupakan hasil permintaan dari dari para pengguna, yang didapat dari internet. Karena proxy server bertindak sebagai perantara, maka proxy server mendapatkan obyek-obyek tersebut lebih dahulu dari sumbernya untuk ekmudian diteruskan kepada peminta yang sesungguhnya. Dalam proses tersebut, proxy server juga sekaligus menyimpan obyek-obyek tersebut untuk dirinya sendiri dalam ruang disk yang disediakan (cache).
Dengan demikian, bila suatu saat ada pengguna yang meminta suatu layanan ke internet yang mengandung obyek-obyek yang sama dengan yang sudah pernah diminta sebelumnya, yaitu yang sudah ada dalam cache, maka proxy server akan dapat langsung memberikan obyek dari cache yang diminta kepada pengguna, tanpa harus meminta ulang ke server aslinya di internet. Bila permintaan tersebut tidak dapat ditemukan dalam cache di proxy server, baru kemudian proxy server meneruskan atau memintakannya ke server aslinya di internet.
Proses caching ini juga tidak kelihatan bagi pengguna (transparan), karena bagi pengguna tidak tampak siapa sebenarnya yang yang memberikan obyek yang dimintanya, apakah proxy server yang mengambil dari cache-nya atau server asli di internet. Dari sisi pengguna, semua akan nampak sebagai balasan langsung dari internet.
Salah satu proxy yang paling banyak dibahas dan digunakan secara luas adalah HTTP proxy atau Web proxy. HTTP proxy server merupakan proxy yang berdiri diantara alokasi web pengguna misalnya web browser dan web server atau HTTP server.
Ketika pengguna membuka browser dan mengetikkan URL, maka content yang diminta URL tersebut dinamakan “Internet Object”. Pertama dia akan bertanya terlebih dahulu ke sebuah DNS (Domain Name Server). DNS akan mencari IP Address dari URL tersebut dalam databasenya dan memberi jawaban kepada browser tersebut kembali. Setelah browser mendapatkan IP Address, maka ia akan membuka hubungan ke port http web server tujuan. Web server akan mendengarkan adanya permintaan dari browser lalu memberikan content yang diminta tersebut. Seteleh browser menerima content maka hubungan dengan web server bias diputus. Content lalu ditampilkan dan disimpan didalam hardisk.
Content yang disimpan didalam hardisk biasanya disebut cache object yang natinya akan digunakan jika pengguna kembali mengunjungi site yang sama, misalnya dengan mengklik tombol back atau melihat history. Dalam kunjungan berikutnya, browser akan memeriksa validasi content yang disimpannya, validasi ini dilakukan dengan membandingkan header content yang ada pada cache object dengan yang ada pada web server, jika contect belum expired (kadaluwarsa) maka contect tadi akan ditampilkan kembali ke browser.
Cache object yang disimpan dalam hardisk local ini hanya bias dipakai oleh pengguna sendirian, tidak bias dibagi dengan pengguna yang lainnya, lain hal jika content tersebut disimpan pada sebuah server, dimana semua computer terhubung dengan server tersebut, maka cache object tersebut bias dipakai bersama-sama, server tersebutlah yang nantinya akan dinamakan cache server atau proxy server.
Cache server diletakkan pada titik diantara klien dan web server . Pada contoh diatas klien akan meminta content dari suatu web server ke cache server, tidak langsung ke web server tujuan. Cache server inilah yang bertanggung jawab untuk mendownload content yang diminta dan memberikannya pada klien. Content tadi disimpan pada hardsik local cache server. Lain waktu, ada klien yang meminta content yang sama, maka cache server tidak perlu mengambil langsung dari server tujuan tapi tinggal memberikan content yang sudah ada. Disinilah letak optimasi cache server tersebut.
Ada dua jenis metode caching, yaitu pasif dan aktif. Seperti telah kita ketahui, object yang disimpan bisa saja mencapai expired, untuk memeriksanya dilakukan validasi. Jika validasi ini dilakukan setelah ada permintaan dari klien, metode ini disebut pasif. Pada caching aktif, cache server mengamati object dan pola perubahannya. Misalkan pada sebuah object didapati setiap harinya berubah setiap jam 12 siang dan pengguna biasanya membacanya jam 14, maka cache server tanpa diminta klien akan memperbaharui object tersebut antara jam 12 dan 14 siang, dengan cara update otomatis ini waktu yang dibutuhkan pengguna untuk mendapatkan object yang fresh akan semakin sedikit.
Pada kondisi tertentu, kapasitas penyimpanan akan terkuras habis oleh object. Namun cache server mempunyai beberapa metode penghapusan untuk menjaga kapasitas tetap terjaga, sesuai dengan kopnfigurasi yang telah ditetapkan. Penghapusan ini didasarkan pada umur dan kepopuleran, semakin tua umur object akan tinggi prioritasnya untuk dihapus. Dan juga untuk object yang tidak popular akan lebih cepat dihapus juga.
Diagram berikut menggambarkan proses dan mekanisme caching :
Pendalaman OSI Layer
Krisna Ade Marta
No comments
0 Comment:
Posting Komentar