03 Desember 2008

Konsep Parent dan Sibling pada Squid

Pada sebuah organisasi jaringan yang besar dengan menggunakan beberapa buah server proxy dengan squid sebagai softwarenya, tentunya administrator jaringan dapat membangun sebuah hirarki proxy. hirarki proxy tersebut membentuk sebuah jaringan menyerupai sebuah organisasi.
pada hirarki proxy ada 2 buah istilah, yaitu parent dan sibling. apa itu parent apa itu sibling.
  1. Parent adalah type proxy yang mempunyai kewajiban mengambil object dari internet dan menyerahkan ke client apabila object tersebut belum ada pada disk cache, apabila object yang di minta sudah ada dalam memori atau di disk cache, maka object akan langsung di serahkan ke client.
  2. Sibling adalah type proxy yang hanya mempunyai kewajiban menyerahkan object , jika object yang diminta ada dalam memori atau disk cache proxy tersebut.
Hubungan parent dan sibling menggunakan komunikasi tag http_port dan icp_port. default http_port 3128 dan icp_port 3130, tapi kebanyakan para administrator jaringan mengganti http_port 8080 dan icp_port 3130.

pada squid.conf.default, tag ini adalah:
cache_peer hostname type port_http port_icp options

Berikut adalah options-options hirarki proxy
  1. proxy-only = object yang sudah diambil pada parent atau sibling tidak akan di simpan di dalam disk cache.
  2. weight=(numeric) adalah apabila mempunyai beberapa parent atau sibling dan weight digunakan untuk menentukan prioritas, default bernilai 1.
  3. no-query = proxy tidak akan mengirim icp query ke peer.
  4. round-robin = apabila terdiri dari beberapa peer.
  5. no-delay = apabila parent menggunakan delay-pool, dengan options ini delay-pool tidak akan mempengaruhi client.
  6. login=user:password = bila peer parent menggunakan autentikasi.
  7. masih banyak lagi
contoh kasus:

pada gambar diatas masing-masing proxy adalah parent bagi client-cliennya. bila proxy.wetasem.com jadi parent proxy2.wetasem.com, maka konfigurasi squid.conf adalah sebagai berikut :

squid.conf (proxy.wetasem.com)

http_port 8080
icp_port 3130
acl asem src proxy2.wetasem.com
http_access allow asem
http_access deny all
icp_access deny asem
icp_access deny all
miss_access allow asem
miss_access deny all

squid.conf (proxy2.wetasem.com)
cache_peer proxy.wetasem.com parent 8080 3130

tapi bila proxy.wetasem.com sebagai sibling proxy2.wetasem.com, maka konfigurasinya adalah sebagai berikut:

squid.conf (proxy.wetasem.com)
http_port 8080
icp_port 3130
acl asem src proxy2.wetasem.com
http_access allow asem
http_access deny all
icp_access allow asem
icp_access deny all
miss_access deny asem
miss_access deny all

squid.conf (proxy2.wetasem.com)
cache_peer proxy.wetasem.com sibling 8080 3130

selesai, tinggal memantau access.log