8
BAB II
LANDASAN TEORI
2.1
Teori Umum
2.1.1
Jaringan Komputer Menurut Tanenbaum (2003,p10) , jaringan komputer adalah kumpulan
dua atau lebih komputer yang masing-masing berdiri sendiri dan terhubung melalui sebuah teknologi. Sedangkan menurut Turban (2003, p178), jaringan komputer adalah serangkaian yang terdiri dari media komunikasi, peralatan, dan perangkat lunak, yang dibutuhkan untuk menghubungkan dua atau lebih sistem komputer. Dan menurut Norton (1999, p5) jaringan adalah kumpulan dua atau lebih komputer beserta perangkat-perangkat lain yang dapat dihubungkan agar saling berkomunikasi dan bertukar informasi sehingga memantu menciptakan efisisensi dan optimasi kerja. Jaringan komputer mulai dikenal karena adanya masalah komunikasi dan pertukaran data di antara komputer-komputer untuk melakukan fungsi bisnis Dengan adanya jaringan komputer pada suatu perusahaan maka sharing file dapat dilakukan secara cepat dan efisien. Manfaat yang lain yang dapat kita dapatkan dari adanya jaringan komputer adalah sebagai berikut:
8
9 a.
Berbagi data Dengan adanya jaringan komputer, maka kemungkinan untuk terjadinya
saling berbagi perangkat keras (sharing hardware) antar pengguna. Contoh dari perangkat keras yang biasanya di share adalah printer, scanner, CD-ROM , dan berbagai perangkat lain. Tidak hanya perangkat keras yang bisa di share , tetapi perangkat lunak (software) juga bisa di share dengan adanya jaringan komputer ini. Perangkat lunak ini bisa berupa file , data , ataupun program. Beberapa tipe dari software ini sendiri, seperti pada program basis data atau database , selain dirancang untuk digunakan oleh satu user , juga dirancang untuk digunakan oleh beberapa user dalam suatu waktu yang bersamaan.
b.
Media Komunikasi Jaringan komputer memungkinkan terjadinya komunikasi (teks, gambar,
audio dan video) antar pemakai melalui email atau teleconference. Seseorang dapat berhubungan dengan orang lain yang berlainan lokasi geografisnya tanpa harus pindah dari tempatnya bekerja.
c.
Menekan biaya operasional Dengan ada nya jaringan komputer ini, biaya operasional untuk
perawatan serta pengembangan dapat ditekan. Contoh nya dengan adanya sharing terhadap hardware maka perusahaan tidak perlu membeli banyak perangkat, tetapi hanya satu perangkat yang kemudian bisa digunakan secara
10 bersama-sama. Hal ini juga berlaku dalam pengembangan software , dimana satu software dapat digunakan oleh banyak orang .
2.1.1.1 Topologi Jaringan Komputer Topologi dapat diartikan sebagai struktur dari sebuah jaringan. Topologi jaringan dapat dibagi menjadi dua yaitu : a. Physical Topology, ada layout fisik, penempatan device dan media yang digunakan. b. Logical Topology, dimana host mengakses satu media.
2.1.1.1.1 Physical Topology Pada topologi ini terdapat 7 topologi yaitu bus, ring, star, extended star, hierarchical, mesh, dan hybrid . Bus, Ring,Star merupakan yang paling sering digunakan.
2.1.1.1.1.1 Bus Topology Topologi jaringan bus merupakan beberapa simpul / node dihubungkan dengan jalur data (bus). Topologi Bus menyediakan 1 saluran untuk komunikasi semua perangkat sehingga setiap perangkat harus bergantian menggunakan seluran tersebut. (Learn-Networking team, 2008) Kelebihan topologi ini adalah mempermudah penambahan node baru dan tidak menggangu device atau node lainnya.
11 Kelemahan dari topologi ini adalah apabila terjadi kerusakan di sepanjang saluran jaringan maka semua node atau device mengalami kerusakan.
Gambar 2.1 Topologi Bus (Sumbet http://seeingtheworldspot.blogspot.com/2010/09/topologijaringan-bus.html)
2.1.1.1.1.2 Ring Topology Topologi jaringan dimana setiap titik terkoneksi ke dua titik lainnya,
sehingga membentuk suatu loop tertutup.
Dengan artian bahwa setiap komputer yang terhubung dalam jaringan , saling terkoneksi dengan dua komputer lainnya sehingga membentuk satu jaringan yang sama dengan bentuk cincin. Adapun kelebihan topologi cincin ini adalah lebih hemat dalam menggunakan kabel. Tetapi kekurangannya jaringan sulit untuk dikembangkan karena setiap komputer saling terhubung.
12
Gambar 2.2 Topologi Ring (Sumbet http://seeingtheworldspot.blogspot.com/2010/09/topologijaringan-ring.html)
2.1.1.1.1.3 Star Topology Merupakan
bentuk
topologi
jaringan
yang
berupa
konvergensi dari node tengah ke setiap node atau pengguna. Keuntungan dari topologi ini adalah : -
Fleksibilitas yang tinggi
-
Penambahan atau perubahan komputer sangat mudah dan tidak mengganggu yang lain, yaitu dengan cara menarik kabel ke terminal pusat
-
Kontrol yang terpusat sehingga mudah mengelola jaringan
-
Jumlah client bisa lebih banyak
Adapun kekurangan dari topologi ini adalah : -
Boros kabel
13 -
Jika terminal pusat rusak, maka jaringan akan rusak.
Contoh dari pengguanaan topologi ini adalah jaringan telepon.
Gambar 2.3 Topologi Star (Sumber : http://seeingtheworldspot.blogspot.com/2010/09/topologijaringan-star.html)
2.1.1.1.1.4 Extended Star Topology Menggabungkan beberapa topologi star menjadi satu. Hub atau switch yang dipakai untuk menghubungkan beberapa komputer pada satu jaringan dengan menggunakan topologi star dihubungkan lagi ke hub atau switch utama. Kelebihan dari topologi ini adalah jika satu sub-node terputus, maka tidak akan mengganggu sub node yang lain. Kekurangannya adalah lebih banyak hops yang ditempuh untuk berkomunikasi dengan sub node yang lain.
14
Gambar 2.4 Topologi Extended Star (Sumber : http://www.helpdeskindonesia.com/index.php?page=12;print)
2.1.1.1.1.5 Hierarchical Topology Hierarchical topology mirip dengan extended star. Tetapi perbedaan utama dari topologi ini adalah tidak adanya terminal pusat, tetapi menggunakan trunk node. Topologi ini berbentuk seperti pohon bercabang yang terdiri dari komputer induk (root), yang dihubungkan dengan node lain secara bertingkat. Tingkat yang lebih tinggi memiliki fungsi sebagai pengatur kerja di tingkat bawahnya. Kelebihan dari jaringan ini adalah : -
Proses konfigurasi jaringan dilakukan dari titik ke titik pada masing-masing segmen
-
Didukung oleh banyak software dan hardware.
Kekurangan jaringan ini adalah :
15 -
Jika backbone mengalami kerusakan maka jaringan tidak akan berfungsi.
Gambar 2.5 Topologi Hierarchical (Sumber : http://hermawani.blogspot.com/)
2.1.1.1.1.6 Mesh Topology Topologi ini menerapkan hubungan secara penuh dengan komputer lain . Dimana setiap komputer akan mempunyai jalur secara langsung ke komputer-komputer lain. Sehingga setiap komputer akan memiliki beberapa jalur komunikasi data. Pada prinsipnya , topologi mesh ini mirip dengan topologi star, tetapi topologi mesh memiliki jalur ganda pada setiap komputer. Kelebihan dari topologi ini adalah : -
Keamanan data lebih baik dengan menggunakan metode multiplexing, dimana data dapat dipecahpecah dan dilewatkan melalui jalur yang berbeda.
16 -
Jika ada node yang terputus , hal ini tidak akan mempengaruhi
jaringan
karena
setiap
node
memiliki jalur komunikasi masing-masing. Kekurangan dari topologi ini adalah : -
Jaringan lebih rumit.
-
Lebih mahal dalam pengoperasiannya.
Gambar 2.6 Topologi Mesh
2.1.1.1.1.7 Hybrid Topology Topologi hybrid merupakan gabungan dari beberapa topologi (bus, ring, star, atau mesh). Topologi ini dibangun untuk mengkombinasikan keunggulan-keunggulan yang dimiliki oleh topologi lain. (ATIS Committee PRQC, 2007)
17
Gambar 2.7 topologi Hybrid (Sumber : http://ketikaja.blogspot.com/2009/01/topologijaringan.html)
2.1.1.1.2 Logical Topology Logical Topology adalah gambaran secara maya bagaimana host dapat berkomunikasi melalui medium. Bentuk umum yang biasa digunakan adalah Broadcast dan Token Passing.
2.1.1.1.2.1 Broadcast Topology Jaringan
broadcast
mempunyai
saluran
komunikasi
tunggal yang digunakan oleh semua mesin yang ada pada jaringan (Tanenbaum,2003). Pada topologi ini, setiap host yang mengirim paket data akan mengirimkan paket tersebut ke semua host (broadcast) pada media komunikasi jaringan.
18 2.1.1.1.2.2 Token Passing Topology Token passing adalah proses saat beberapa komputer melakukan transmisi paket pendek yang disebut token secara bergantian (Tanenbaum, 2003). Pada topologi ini, setiap host mempunyai kemampuan mengendalikan akses jaringan dengan melakukan pass terhadap token elektronik yang secara sekuensial akan melalui masing-masing host dari jaringan tersebut. Ketika sebuah host mendapat token tersebut, berarti host tersebut diperbolekan mengirimkan data pada jaringan. Jika host tersebut tidak memiliki data yang akan dikirim, maka token akan dilewatkan ke host berikutnya.
2.1.1.2 Macam-macam Jaringan Saat ini ada beberapa macam jaringan. Pembagian tersebut didasarkan pada luas wilayah yang ditangani oleh jaringan tersebut. Berikut ini adalah beberapa macam jaringan berdasarkan luas wilayahnya. 2.1.1.2.1 LAN ( Local Area Network ) LAN adalah suatu jaringan yang mencakup daerah yang kecil, sehingga penririman data berkecepatan tinggi serta memiliki error rate yang rendah. LAN biasanya digunakan dalam suatu gedung dengan cara menghubungkan host dengan peralatan lainnya. Beberapa contoh LAN adalah sebagai berikut :
19 a. Ethernet, menggunakan topologi bus untuk mengontorl aliran informasi dan star untuk pemasangan kabelnya. b. Token Ring, untuk mengontrol aliran informasi dan secara fisiknya menggunakan topologi star. c. FDDI ( Fiber Distributed Data Interface ), secara fisik menggunakan
topologi
ring
untuk
mengontrol
aliran
informasi. Ciri-ciri LAN : -
Beroperasi pada area yang terbatas
-
Memiliki kecepatan transfer yang tinggi
-
Dikendalikan secara privat oleh administrator.
-
Menghubungkan peralatan yang berdekatan.
2.1.1.2.2 WAN ( Wide Area Network ) WAN adalah gabungan dari beberapa LAN yang terhitung dalam jarak jangkauan yang jauh, misalnya antar kota (Myhre, 2000, p2). Ciri-ciri WAN : -
WAN beroperasi pada area yang luas.
-
Kecepatan transfer nya lebih rendah daripada LAN.
-
Menghubungkan alat-alat yang terpisah dalam jarak jauh.
20 2.1.1.2.3 MAN (Metropolitan Area Network ) MAN dirancang untuk menghubungkan beberapa LAN yang berbeda dalam satu kota ( Forouzan, 2003, p21).
2.1.2 Bandwidth Bandwidth dapat diartikan sebagai berikut: 1. Kapasitas maksimum sebuah saluran jaringan. Bandwidth biasanya diukur dalam satuan bit per detik (Bps), kilo-bit per detik (Kbps), mega-bit per detik (Mbps), atau giga-bit per detik (Gbps). 2. Bagian dari spektrum frekuensi yang diperlukan untuk mentransmisi informasi yang dibutuhkan.
2.1.3 Internet Internet adalah suatu jaringan komputer yang satu dengan yang lain saling terhubung untuk keperluan komunikasi dan informasi. Sebuah komputer dalam satu jaringan internet dapat berada dimana saja atau bahkan di seluruh Indonesia. Sering juga internet diartikan sebagai jaringan komputer diseluruh diartikan sebagai jaringan komputer di seluruh dunia yang berisikan informasi dan sebagai sarana komunikasi data yang berupa suara, gambar, video, dan juga teks. Halaman web pada internet terdiri dari dua jenis yaitu:
21 1. Static web page Adalah halaman pada internet yang disampaikan kepada pengguna persis sesuai dengan apa yang disimpan dan besifat statis. Akibatnya halaman web statis menampilkan informasi yang sama kepada semua pengguna dari semua konteksnya. Untuk mengganti konten dalam web statis sangat sulit sebab disimpan pada HTML bukan dalam database. 2. Dynamic web page Adalah jenis halaman web yang telah dipersiapkan dengan informasi yang lebih dinamis. Hal ini tidak statis karena berubah dengan waktu (misalnya pada konten berita), pengguna (misal pada login session), interaksi pengguna (misalnya pada web base game), atau gabungan kombinasi dari semuanya.
2.1.3.1 Fasilitas Di Internet Edward
(1999)
,
menyatakan
bahwa
banyak
kegunaan
menguntungkan yang dapat didapat dari internet, antara lain : 1. informasi lebih murah dan lebih cepat didapatkan dengan aplikasi : -
email
-
www
-
news groups
-
FTP, dll
yang
22 2. Mengurangi biaya operasional. Contoh : dengan adanya koran online. 3. Sebagai sarana promosi yang murah. Contoh : dengan adanya profil perusahaan, maupun dengan iklan di website. Hal ini lebih murah dibanding jika melakukan promosi melalui televisi. 4. Sebagai media komunikasi yang murah dan lebih kreatif -
Adanya video conference
-
Internet call
2.1.3.2 HTTP HTTP merupakan singkatan dari Hypertext Transfer Protocol. HTTP adalah protokol jaringan yang mendistribusikan dan mengkolaborasikan sistem informasi hypermedia. HTTP berfungsi sebagai protokol request – response dalam model client-server, contoh misalnya web-browser (client) menyampaikan pesan HTTP request kepada web-server (server) sehingga web-server yang menyimpan berbagai konten, mengembalikan pesan HTTP response kepada client. Pesan response dapat berupa status request telah diterima dan juga bisa berupa konten yang diminta oleh client dalam pesan body. 2.1.3.2.1
Request
Pesan request dalam HTTP berupa: <request-line>
<empty-line> <message-body>
Request
line
contohnya
seperti
GET
/images/logo.png
HTTP/1.1 yaitu meminta konten /images/logo.png dari server. Adapun
23 beberapa metode dalam pesan request untuk melakukan sebuah tindakan yaitu: 1.
GET Adalah gambaran request untuk meminta dari sumber yang telah ditentukan
2.
HEAD Sama seperti fungsi GET tetapi tanpa pesan body. Biasanya digunakan untuk mengambil informasi yang ada pada response header.
3.
POST Untuk menyerahkan data yang akan di proses ke sumber yang telah ditentukan
4.
PUT Adalah gambaran request untuk meng-upload dari sumber yang telah ditentukan
5.
DELETE Adalah gambaran request untuk menghapus dari sumber yang telah ditentukan
6.
TRACE Adalah membalas request yang telah diterima sehingga klien dapat mengetahui apabila adanya pergantian sumber pada server
24 7.
OPTION Memberikan metode HTTP yang mendukung di dalam server pada URL tertentu
8.
CONNECT Untuk mengkonversi koneksi request untuk mendukung TCP/IP
9.
PATCH Digunakan untuk memodifikasi ke sumber yang ditentukan.
2.1.3.2.2
Status Code Dalam baris pertama pesan HTTP response terdapat kode
status yang ditulis secara numerik. Ini adalah kode standar yang telah ditentukan untuk menyediakan status informasi dari response. Beberapa contoh status code yang umum dipakai adalah: •
200 = Server berhasil memproses request
•
404 = Server tidak menemukan alamat yang request
•
503 = Server saat ini tidak tersedia
2.1.3.3 FTP FTP merupakan singakatan dari File Transfer Protocol. FTP adalah protokol yang memungkinkan terjadinya transfer file dari satu komputer ke komputer lain.
25
2.1.4 OSI Model 2.1.4.1 Pengertian OSI Dahulu, komunikasi antara 2 vendor yang berbeda sangat sulit dilakukan karena komputer menggunakan protokol dan format data yang berbeda. Oleh karena itu, International Organization for Standardization (ISO) membuat suatu arsitektur komunikasi yang dikenal dengan Open System Interconnection (OSI), yaitu model yang mendefenisikan standar untuk menghubungkan komputer dengan vendor-vendor berbeda. 2.1.4.2 Arsitektur OSI
Gambar 2.8 OSI Model (sumber : http://www.telecommunications-tutorials.com/tutorial-OSI-7-layer-model.htm)
26
Model OSI dibagi menjadi 2 bagian yaitu : 1. Upper layers Upper layers teridiri dari application layer, presentation layer dan session layer yang ketiganya merupakan application-oriented dimana bertanggung jawab untuk menangani aplikasi jaringan, representasi data, dan interaksi antar applikasi dengan pengguna. 2. Lower Layer / Transport Lower layer merupakan network-oriented yang akan berurusan dengan transimisi data, covering dan pemaketan, routing, verification, dan transimisi dari masing-masing bagian paket data. Berikut adalah 7 layer OSI : 1. Physical Layer Layer ini berfungsi mendefenisikan media transmisi jaringan, metode pensinyalan, sinkronisasi bit, arsitektur jaringan, topologi jaringan serta pengkabelannya. Pada layer ini juga didefenisikan tentang bagaimana NIC (network interface card) dapat berinteraksi dengan media kabel atau radio. 2. Data Link Layer Layer
ini
memiliki
fungsi
menentukan
bagaimana
mengelompokkan bit-bit data menjadi suatu format yang disebut dengan frame. Pada layer ini juga terjadi koreksi terhadap error, flow control, pengalamatan perangkat keras seperti MAC Addres (Media
27 Access Control Address), dan menentukan bagaimana perangkatperangkat jaringan seperti hub, bridge, repeater, dan switch layer-2 beroperasi. 3. Network Layer Network layer memiliki fungsi untuk mendefenisikan alamatalamat IP, membuat header untuk paker-paket, dan melakukan routing melalui internetworking dengan menggunakan router dan switch layer-3. 4. Transport Layer Transport layer memiliki fungsi untuk memecah data ke dalam paket-paket tersebut sehingga dapat disusun kembali pada sisi tujuan setelah diterima dengan sukses (acknowledgement), dan melakukan transmisi ulang terhadap paket-paket yang rusak. 5. Session Layer Session
Layer
berfungsi
menyediakan
mekanisme
untuk
mengontrol dialog antara aplikasi. Aplikasi-aplikasi pada lapisan sesi membuat dialog, mengatur dialog, dan mengakhiri dialog ketika sudah selesai, serta membuat kembali dialog antara aplikasi ketika dialog terputus karena alasan-alasan tertentu. Session layer juga menyediakan layanan yang memastikan bahwa komputer-komputer pengirim tidak membuat komputer penerima mengalami kelebihan data (overwhelming).
28 6. Presentation Layer Layer ini berfungsi untuk mentranslasikan data yang hendak ditransmisikan oleh aplikasi ke dalam format yang ditransmisikan melalui jaringan. Protokol yang berada dalam level ini adalah perangkat lunak redirektor (redirector software), seperti layanan workstation dan juga network sell atau Remote Desktop Protocol (RDP). 7. Application Layer Layer ini berfungsi menyediakan cara bagi program-program aplikasi seperti file dan print service, database service, dan e-mail untuk mengakses lingkungan OSI. Lapisan ini berisikan mekanismemekanisme yang umumnya berguna untuk mendukung aplikasiaplikasi yang didistribusikan di jaringan.
2.1.5
TCP / IP Protokol diperlukan untuk mengatur bagaimana sebuah perangkat keras dapat berkomunikasi dengan perangkat keras lainnya. Agar perangkat-perangkat keras seperti switch, router, atau komputer dapat berhubungan satu sama lain, maka dibutuhkan protokol yang sama.
2.1.5.1 TCP TCP/IP (Transmission Control Protokol / Internet Protokol ) adalah standar komunikasi data yang digunakan oleh komunitas internet
29 dalam proses tukar-menukar data dari satu komputer ke komputer lain di dalam jaringan Internet. Protokol TCP/IP dikembangkan pada akhir dekade 1970-an hingga awal 1980-an sebagai sebuah protokol standar untuk
menghubungkan
komputer-komputer
dan
jaringan
untuk
membentuk sebuah jaringan yang luas (WAN). TCP/IP merupakan sebuah standar jaringan terbuka yang bersifat independen terhadap mekanisme transport jaringan fisik yang digunakan, sehingga dapat digunakan di mana saja.
Definisi Masing-masing Layer pada model TCP/IP
Gambar 2.9 TCP/IP
1. Network Interface
Berfungsi untuk meletakkan frame – frame jaringan di atas media jaringan yang digunakan. TCP/IP dapat bekerja dengan banyak teknologi transport, mulai dari teknologi transport dalam LAN
30 (seperti halnya Ethernet dan Token Ring), Man dan Wan (seperti halnya dial-up model yang berjalan di atas Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), serta Asynchronous Transfer Mode (ATM).
2. Internet
Berfungsi untuk melakukan pemetaan (routing) dan enkapsulasi paket-paket data jaringan menjadi paket-paket IP. Protokol yang bekerja dalam lapisan ini adalah Internet Protocol (IP), Address Resolution Protocol (ARP), Internet Control Message Protocol (ICMP), dan Internet Group Management Protocol (IGMP).
3. Transport
Berguna untuk membuat komunikasi menggunakan sesi koneksi yang bersifat connection-oriented atau broadcast yang bersifat connectionless. Protokol dalam lapisan ini adalah Transmission Control Protocol (TCP) dan User Diagram Protocol (UDP).
4. Application
Merupakan Layer paling atas pada model TCP/IP, yang bertanggung jawab untuk menyediakan akses kepada aplikasi terhadap layanan jaringan TCP/IP. Protokol ini mencakup protokol Dynamic Host Configuration Protocol (DHCP), Domain Name
31 System (DNS), Hypertext Transfer Protocol (HTTP), File Transfer Protocol (FTP), Telnet, Simple Mail Transfer Protocol (SMTP), Simple Network Management Protocol (SNMP), dan masih banyak protokol lainnya. Dalam beberapa implementasi Stack Protocol, seperti halnya Microsoft TCP/IP, protokol-protokol lapisan aplikasi berinteraksi dengan menggunakan antarmuka Windows Sockets (Winsock) atau NetBios over TCP/IP (NetBT).
2.1.5.2 UDP 2.1.5.2.1
Pengertian UDP UDP, singkatan dari User Datagram Protocol, adalah salah satu protokol lapisan transpor TCP/IP yang mendukung komunikasi yang tidak andal (unreliable), tanpa koneksi (connectionless) antara host-host dalam jaringan yang menggunakan TCP/IP. Protokol ini didefinisikan dalam RFC 76
2.1.5.2.2
Karakteristik UDP Karakteristik dari UDP adalah sebagai berikut : a. Connectionless (tanpa koneksi): Pesan-pesan UDP akan dikirimkan tanpa harus dilakukan proses negosiasi koneksi antara dua host yang hendak berukar informasi. b. Unreliable
(tidak
andal):
Pesan-pesan
UDP
akan
dikirimkan sebagai datagram tanpa adanya nomor urut atau pesan acknowledgment. Protokol lapisan aplikasi
32 yang berjalan di atas UDP harus melakukan pemulihan terhadap pesan-pesan yang hilang selama transmisi. Umumnya, protokol lapisan aplikasi yang berjalan di atas UDP mengimplementasikan layanan keandalan mereka masing-masing, atau mengirim pesan secara periodik atau dengan menggunakan waktu yang telah didefinisikan. c. UDP menyediakan mekanisme untuk mengirim pesanpesan ke sebuah protokol lapisan aplikasi atau proses tertentu di dalam sebuah host dalam jaringan yang menggunakan TCP/IP. Header UDP berisi field Source Process
Identification
dan
Destination
Process
Identification. d. UDP menyediakan penghitungan checksum berukuran 16bit terhadap keseluruhan pesan UDP. 2.1.5.2.3
Penggunaan UDP UDP sering digunakan dalam tugas sebagai berikut : a. Protokol yang "ringan" (lightweight): Untuk menghemat sumber daya memori dan prosesor, beberapa protokol lapisan aplikasi membutuhkan penggunaan protokol yang ringan yang dapat melakukan fungsi-fungsi spesifik dengan saling bertukar pesan. Contoh dari protokol yang ringan adalah fungsi query nama dalam protokol lapisan aplikasi Domain Name System.
33 b. Protokol lapisan aplikasi yang mengimplementasikan layanan
keandalan:
Jika
protokol
lapisan
aplikasi
menyediakan layanan transfer data yang andal, maka kebutuhan terhadap keandalan yang ditawarkan oleh TCP pun menjadi tidak ada. Contoh dari protokol seperti ini adalah Trivial File Transfer Protocol (TFTP) dan Network File System (NFS). c. Protokol yang tidak membutuhkan keandalan. Contoh protokol ini adalah protokol Routing Information Protocol (RIP). d. Transmisi broadcast: Karena UDP merupakan protokol yang tidak perlu membuat koneksi terlebih dahulu dengan sebuah host tertentu, maka transmisi broadcast pun dimungkinkan. Sebuah protokol lapisan aplikasi dapat mengirimkan paket data ke beberapa tujuan dengan menggunakan alamat multicast atau broadcast. Hal ini kontras
dengan
protokol
TCP
yang
hanya
dapat
mengirimkan transmisi one-to-one. Contoh: query nama dalam protokol NetBIOS Name Service.
2.1.5.3 IP (Internet Protocol) Internet Protocol (IP) adalah protokol network layer (layer ke3 dalam OSI model) yang mengandung informasi pengalamatan dan
34 beberapa informasi kontrol yang membuat paket dapat diarahkan menuju tujuan dalam sebuah jaringan. IP merupakan protokol network layer yang utama dalam deretan protokol TCP/IP. (Dong,2007,p.255). Alamat IP adalah representasi dari 32 bit bilangan biner, yang ditampilkan dalam bentuk desimal dengan titik. Contoh penulisan IP adalah 192.168.1.200. Alamat IP versi 4 umumnya diekspresikan dalam notasi desimal bertitik (dotted-decimal notation), yang dibagi ke dalam empat buah oktet berukuran 8-bit. Dalam beberapa buku referensi, format bentuknya adalah w.x.y.z. Karena setiap oktet berukuran 8-bit, maka nilainya berkisar antara 0 hingga 255 (meskipun begitu, terdapat beberapa pengecualian nilai). Alamat IP yang dimiliki oleh sebuah host dapat dibagi dengan menggunakan subnet mask jaringan ke dalam dua buah bagian, yakni: 1. Network Identifier/NetID atau Network Address (alamat jaringan) yang digunakan khusus untuk mengidentifikasikan alamat jaringan di mana host berada. Dalam banyak kasus, sebuah alamat network identifier adalah sama dengan segmen jaringan fisik dengan batasan yang dibuat dan didefinisikan oleh router IP. Meskipun demikian, ada beberapa kasus di mana beberapa jaringan logis terdapat di dalam sebuah segmen jaringan fisik yang sama dengan menggunakan sebuah praktek yang disebut sebagai multinetting. Semua sistem di dalam sebuah jaringan fisik yang sama harus memiliki alamat
35 network identifier yang sama. Network identifier juga harus bersifat unik dalam sebuah internetwork. Jika semua node di dalam jaringan logis yang sama tidak dikonfigurasikan dengan menggunakan network identifier yang sama, maka terjadilah masalah yang disebut dengan routing error. Alamat network identifier tidak boleh bernilai 0 atau 255. 2. Host Identifier/HostID atau Host address (alamat host) yang digunakan khusus untuk mengidentifikasikan alamat host (dapat berupa workstation, server atau sistem lainnya yang berbasis teknologi TCP/IP) di dalam jaringan. Nilai host identifier tidak boleh bernilai 0 atau 255 dan harus bersifat unik di dalam network identifier / segmen jaringan di mana ia berada.
Jenis-jenis Alamat IP Alamat IPv4 terbagi menjadi beberapa jenis, yakni sebagai berikut: •
Alamat Unicast, merupakan alamat IPv4 yang ditentukan untuk sebuah
antarmuka
jaringan
yang
dihubungkan
ke
sebuah
internetwork IP. Alamat unicast digunakan dalam komunikasi point-to-point atau one-to-one. •
Alamat Broadcast, merupakan alamat IPv4 yang didesain agar diproses oleh setiap node IP dalam segmen jaringan yang sama. Alamat broadcast digunakan dalam komunikasi one-to-everyone.
36 •
Alamat Multicast, merupakan alamat IPv4 yang didesain agar diproses oleh satu atau beberapa node dalam segmen jaringan yang sama atau berbeda. Alamat multicast digunakan dalam komunikasi one-to-many.
Pembagian Kelas IP Address
Dalam RFC 791, alamat IP versi 4 dibagi ke dalam beberapa kelas, dilihat dari oktet pertamanya, seperti terlihat pada tabel 2.1 . Sebenarnya yang menjadi pembeda kelas IP versi 4 adalah pola biner yang terdapat dalam oktet pertama (utamanya adalah bit-bit awal/highorder bit), tapi untuk lebih mudah mengingatnya, akan lebih cepat diingat dengan menggunakan representasi desimal.
Tabel 2.1 Tabel Pembagian kelas IP Address
Kelas
Oktet
Oktet
Alamat IP
Pertama
Pertama
(desimal)
(Biner)
1-126
0xxx xxxx
Kelas A
Penggunaan
Alamat
unicast
untuk
jaringan skala besar Kelas B
128-191
10xx xxxx
Alamat
unicast
untuk
jaringan skala menengah hingga skala besar Kelas C
192-223
110x xxxx
Alamat
unicast
untuk
37 jaringan skala kecil Kelas D
224-239
1110 xxxx
Alamat multicast (bukan alamat unicast)
Kelas E
240-255
1111 xxxx
Direservasikan;umumnya digunakan sebagai alamat percobaan (eksperimen); (bukan alamat unicast)
1. Kelas A Alamat-alamat kelas A diberikan untuk jaringan skala besar. Nomor urut bit tertinggi di dalam alamat IP kelas A selalu diset dengan nilai 0 (nol). Tujuh bit berikutnya—untuk melengkapi oktet pertama—akan membuat sebuah network identifier. 24 bit sisanya (atau tiga oktet terakhir) merepresentasikan host identifier. Ini mengizinkan kelas A memiliki hingga 126 jaringan, dan 16,777,214 host tiap jaringannya. Alamat dengan oktet awal 127 tidak diizinkan, karena digunakan
untuk
Communication
(IPC)
mekanisme di
dalam
Interprocess mesin
yang
bersangkutan. 2. Kelas B Alamat-alamat kelas B dikhususkan untuk jaringan skala menengah hingga skala besar. Dua bit pertama di
38 dalam oktet pertama alamat IP kelas B selalu diset ke bilangan biner 10. 14 bit berikutnya (untuk melengkapi dua oktet pertama), akan membuat sebuah network identifier.
16
bit
sisanya
(dua
oktet
terakhir)
merepresentasikan host identifier. Kelas B dapat memiliki 16,384 network, dan 65,534 host untuk setiap network-nya. 3. Kelas C Alamat IP kelas C digunakan untuk jaringan berskala kecil. Tiga bit pertama di dalam oktet pertama alamat kelas C selalu diset ke nilai biner 110. 21 bit selanjutnya (untuk melengkapi tiga oktet pertama) akan membentuk sebuah network identifier. 8 bit sisanya
(sebagai
oktet
terakhir)
akan
merepresentasikan host identifier. Ini memungkinkan pembuatan total 2,097,152 buah network, dan 254 host untuk setiap network-nya. 4. Kelas D Alamat IP kelas D disediakan hanya untuk alamatalamat IP multicast, sehingga berbeda dengan tiga kelas di atas. Empat bit pertama di dalam IP kelas D selalu diset ke bilangan biner 1110. 28 bit sisanya digunakan sebagai alamat yang dapat digunakan untuk
39 mengenali host. Untuk lebih jelas mengenal alamat ini, lihat pada bagian Alamat Multicast IPv4. 5. Kelas E Alamat IP kelas E disediakan sebagai alamat yang bersifat
"eksperimental"
atau
percobaan
dan
dicadangkan untuk digunakan pada masa depan. Empat bit pertama selalu diset kepada bilangan biner 1111. 28 bit sisanya digunakan sebagai alamat yang dapat digunakan untuk mengenali host.
2.1.6
NAT Menurut Mudji Basuki (2003) keterbatasan alamat IPv.4
merupakan masalah pada jaringan global atau Internet. Untuk memaksimalkan penggunakan alamat IP yang diberikan oleh Internet Service Provider (ISP) dapat digunakan Network Address Translation atau NAT. NAT membuat jaringan yang menggunakan alamat lokal (private), alamat yang tidak boleh ada dalam tabel routing Internet dan dikhususkan untuk jaringan lokal/intranet, dapat berkomunikasi ke Internet dengan jalan ‘meminjam’ alamat IP Internet yang dialokasikan oleh ISP. Jadi NAT merupakan suatu metode untuk menghubungkan lebih dari satu komputer ke jaringan internet dengan menggunakan satu alamat IP.
40 Mekanisme NAT berdasarkan referensi Tito Sugiharta (2005) adalah ketika sebuah paket TCP yang terdiri dari header dan data yang memiliki MAC (Media Access Control) address asal dan tujuan, IP address asal dan tujuan, dan nomor port asal dan tujuan. Saat mesin A menghubungi mesin B, header paket berisi IP A sebagai IP address asal dan IP B sebagai IP address tujuan. Header ini juga berisi nomor port asal (biasanya dipilih oleh mesin pengirim dari sekumpulan nomor port) dan nomor port tujuan yang spesifik, misalnya port 80. Kemudian B menerima paket pada port 80 dan memilih nomor port balasan untuk digunakan sebagai nomor port asal menggantikan port 80 tadi. Mesin B lalu membalik IP address asal & tujuan dan nomor port asal & tujuan dalam header paket. Sehingga keadaan sekarang IP B adalah IP address asal dan IP A adalah IP address tujuan. Kemudian B mengirim paket itu kembali ke A. Selama session terbuka, paket data hilir mudik menggunakan nomor port yang dipilih. Router (yang biasa – tanpa Natd) memodifikasi field MAC address asal & tujuan dalam header ketika me-route paket yang melewatinya. IP address, nomor port, dan nomor sequence asal & tujuan tidak disentuh sama sekali. NAT juga bekerja atas dasar ini. Dimulai dengan membuat tabel translasi internal untuk semua IP address jaringan internal yang mengirim paket melewatinya. Lalu men-set tabel nomor port yang akan digunakan
41 oleh IP address yang valid. Ketika paket dari jaringan internal dikirim ke Natd untuk disampaikan keluar, Natd melakukan hal-hal sebagai berikut: 1. Mencatat IP address dan port asal dalam tabel translasi 2. Menggantikan nomor IP asal paket dengan nomor IP dirinya yang valid 3. Menetapkan nomor port khusus untuk paket yang dikirim keluar, memasukkannya dalam tabel translasi dan menggantikan nomor port asal tersebut dengan nomor port khusus ini. Ketika paket balasan datang kembali, Natd mengecek nomor port tujuannya. Jika ini cocok dengan nomor port yang khusus telah ditetapkan sebelumnya, maka dia akan melihat tabel translasi dan mencari mesin mana di jaringan internal yang sesuai. Setelah ditemukan, ia akan menulis kembali nomor port dan IP address tujuan dengan IP address dan nomor port asal yang asli yang digunakan dulu untuk memulai koneksi. Lalu mengirim paket ini ke mesin di jaringan internal yang dituju. Natd memelihara isi tabel translasi selama koneksi masih terbuka.
2.1.6.1 IP Masqurade IP Masquerade adalah salah satu fasilitas yang menerapkan bentuk NAT di Linux yang memungkinkan komputer yang tidak memiliki nomor IP resmi dapat tersambung ke internet melewati komputer Linux.
42 Cara kerja IP Masquerade dapat digambarkan sebagai berikut :
1. Mesin klien diatur dengan menempatkan mesin Linux sebagai gatewaynya. 2. Jika ada paket dari klien ke mesin Linux, IP Masquerade akan membuat nomor port baru, header IP baru berdasarkan IP mesin Linux, dan menyimpan paket aslinya. Paket tersebut kemudian diteruskan ke internet.. 3. Jika ada paket baru dari Internet, IP Masquerade akan mencocokkan dengan nomor port. Jika sesuai dengan nomor port yang telah dibuat sebelumnya, maka paket tersebut dibungkus kembali dengan header yang telah disimpan sebelumnya, dan diteruskan kepada klien. 4. Baik
klien
mengirimkan perbedaannya.
maupun paket
host tidak
di
Internet
pernah
yang
merasakan
43 2.2
Teori khusus 2.2.1
Proxy Server 2.2.1.1 Defenisi Proxy Server Menurut Mark Grennan (2000) proxy server sebagian besar digunakan untuk mengontrol, atau memantau, lalu lintas keluar pada jaringan internet. Sedangkan Keir Thommas (2006) Proxy server adalah sebuah komputer server yang melakukan dua hal yaitu pertama, menyediakan kemanan tambahan dengan menyediakan portal tunggal untuk mengakses semua halaman web dan menyimpan halaman yang sering diakses sehingga mempercepat koneksi akses internet. Jadi Proxy server adalah sebuah komputer server atau program komputer yang dapat bertindak sebagai komputer lainnya untuk melakukan request terhadap konten dan menangani konten tersebut serta masalah lalu lintas jaringan dari Internet atau intranet. Perbedaan proxy dengan gateway adalah gateway merupakan peralatan yang biasa pada router yang berfungsi hanya untuk memberikan jalur (path) ke jaringan lain atau jaringan internet sedangkan proxy menangani tiap request maupun konten yang masuk dari jaringan lokal ke jaringan luar.
2.2.1.2 Jenis-jenis Proxy Proxy server berdasarkan referensi G-net (2002), terdiri dari dua jenis:
44 2.2.1.2.1
Forwarded Proxy
Forwarded Proxy adalah tipe proxy server yang meneruskan request dari klien ke jaringan web server yang dituju.
2.2.1.2.2
Reverse Proxy
Reverse Proxy adalah tipe proxy server yang membantu web server untuk menangain request maupun response pada web server. Proxy server ini muncul seolah-olah sebagai web server pada saat klien me-request ke web server maupun me-response request tersebut dari web server.
2.2.1.3 Kegunaan Proxy Server Adapun kegunaan mendasar dari proxy server sendiri adalah : 2.2.1.3.1
Filtering
Proxy server dapat digunakan untuk membatasi atau penyaringan konten yang disediakan oleh administrator yang biasa digunakan untuk memastikan jaringan atau internet digunakan sesuai dengan aturan penggunaan yang diperbolehkan. Dalam beberapa kasus, klien dapat mengabaikan filtering proxy dengan menggunakan bypass proxy.
45 2.2.1.3.2
Bypass Filtering
Fungsi
bypass
filter
pada
proxy
server
adalah
menyediakan informasi yang terdapat pada web server yang dituju. Jadi, penyaringan konten dapat dihindari dengan menggunakan proxy server sebagai bypass filtering.
2.2.1.3.3
Caching
Proxy Server memiliki fungsi caching yang dapat menyimpan objek atau konten yang secara popular diakses oleh klien. Dengan ini, proxy server dapat meningkatkan kecepatan akses ke web browser. Walaupun demikian, proxy server secara default hanya dapat meng-cache konten yang bersifat statis.
2.2.1.3.4
Pencatatan
(logging)
dan
Penyadapan
(Eavesdropping) Proxy server dapat juga berfungsi sebagai mencatat kegiatan yang dilakukan klien dalam sebuah jaringan sehingga dapat mempunyai fungsi lain sebagai alat penyadapan. Walaupun demikian, proxy server menyadap data sensitif seperti password atau internet banking karena adanya enkripsi pada koneksi seperti SSL.
46 2.2.1.4 Cara Kerja Proxy Secara garis besar, cara kerja proxy server adalah sebagai berikut: menyimpan internet object yang pernah diakses oleh seorang user, sehingga user lain tidak perlu mengambil internet object yang sama ke server asli, melainkan cukup dari proxy server yang lebih dekat. Proxy server akan semakin efisien dengan semakin banyaknya user.
Cara kerja proxy server (misalkan ada 2 server yang berhubungan): 1. Proxy server 1 memberi ICP query yang berisi data tentang keberadaan suatu objek pada proxy server 2. 2. Berdasarkan permintaan dari porxy server 1, proxy server 2 akan melihat keberadaan objek yang diminta pada cache data yang telah dimilikinya. Cache data sendiri berasal dari permintaan pengguna sebelumnya. 3. Apabila objek yang diminta dimiliki oleh proxy server 2, maka proxy server 2 akan memberi ICP reply ke proxy server 1 yang berisi petunjuk bahwa objek yang diminta dimiliki oleh proxy server 2. 4. Objek yang diminta oleh proxy server 1 akan ditransfer dari proxy server 2 dengan menggunakan protokol HTTP dan data ditransfer ke pengguna (selain dicache oleh proxy server 1 sendiri). 5. Apabila objek yang diminta tidak dimiliki oleh proxy server 2, proxy server 2 akan memberi ICP reply yang berisi petunjuk bahwa objek yang diminta tidak ada.
47 6. Apabila objek yang diminta tidak dimiliki oleh proxy server 2, maka proxy server 1 akan mengirimkan ICP query ke proxy server lain yang masih termasuk dalam hirarkinya (parent atau sibling proxy). Sebagai langkah terakhir, apabila objek tetap tidak dimiliki oleh proxy server dalam hirarkinya, maka objek akan diminta langsung ke server tujuan (direct) dan data akan dicache (selain ditransfer ke pengguna yang meminta).
2.2.2
Caching pada Proxy Server (Cache Server) Menurut Gunung Sarjono (2005) Proxy Cache Server mula-mula dikembangkan untuk menyimpan halaman web yang sering diakses. Dimana proxy server yang menangani konten dapat menghilangkan akses internet yang berlebihan untuk mengambil kembali halaman yang sama berulang-ulang. Namun umumnya proxy server secara default tidak dapat menyimpan web yang bersifat dinamis (Squid Developer Team. 2000), tetapi internet pada saat ini lebih banyak bersifat dinamis sehingga membuat caching proxy server tidak efektif kecuali pada organisasi besar ataupun ISP. 2.2.2.1 Defenisi Cache Definisi Cache Menurut Merriam-Websterr Dictionary adalah tempat penyimpanan memori komputer dengan waktu akses yang sangat singkat yang yang sering digunakan untuk menunggu mendapatkan instruksi berikutnya. Jadi Cache adalah suatu tempat untuk menyimpan
48 sesuatu secara sementara, mekanisme untuk mempercepat transfer data dengan cara menyimpan data yang telah di akses, dengan harapan jika data yang sama akan diakses, akses akan menjadi lebih cepat. Dalam Internet sebuah cache server dapat mempercepat proses browsing dengan cara menyimpan data yang telah diakses di komputer yang berjarak dekat dengan komputer pengakses. Jika kemudian ada user yang mengakses data yang sama, proxy cache akan mengirim data tersebut dari cache-nya, bukan dari tempat yang lama diakses. Dengan mekanisme HTTP, data yang diberikan oleh proxy selalu data yang terbaru, karena proxy server akan selalu mencocok kan data yang ada di cache-nya dengan data yang ada di server luar.
2.2.2.2 Mekanisme Caching Mekanisme
caching
akan
menyimpan
obyek-obyek
yang
merupakan hasil permintaan dari dari para pengguna, yang didapat dari internet. Karena proxy cache server bertindak sebagai perantara, maka cache server mendapatkan obyek-obyek tersebut lebih dahulu dari sumbernya
untuk
ekmudian
diteruskan
kepada
peminta
yang
sesungguhnya. Dalam proses tersebut, proxy cache 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
49 dengan yang sudah pernah diminta sebelumnya, yaitu yang sudah ada dalam cache, maka cache 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 cache server, baru kemudian cache server meneruskan atau memintakannya ke server aslinya di internet. Proses caching ini juga tidak kelihatan bagi pengguna atau transparan , karena bagi pengguna tidak tampak siapa sebenarnya yang yang memberikan obyek yang dimintanya, apakah cache server yang mengambil dari cache-nya atau server asli di internet. Dari sisi pengguna, semua akan nampak sebagai balasan langsung dari internet. 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 konten yang diminta tersebut. Seteleh browser menerima konten maka hubungan dengan web server bisa diputus. Konten lalu ditampilkan dan disimpan didalam hardisk. Konten yang disimpan di dalam hardisk biasanya disebut cache object yang natinya akan digunakan jika pengguna kembali mengunjungi
50 situs yang sama, misalnya dengan mengklik tombol back atau melihat history. Dalam kunjungan berikutnya, browser akan memeriksa validasi konten yang disimpannya, validasi ini dilakukan dengan membandingkan header content yang ada pada objek cache dengan yang ada pada web server, jika konten belum expired (kadaluwarsa) maka content tadi akan ditampilkan kembali ke browser. Cache object yang disimpan dalam hardisk lokal ini hanya bisa 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 konten yang diminta dan memberikannya pada klien. Konten 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. Menurut Risanuri Hidayat (2009) ada dua jenis metode caching, yaitu pasif dan aktif. Objek yang disimpan bisa saja mencapai expired,
51 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.
Gambar 2.10 Cara Kerja Cache Server
52 2.2.3
Squid Cache Server Squid merupakan sebuah daemon yang digunakan sebagai proxy server atau cache server. Squid dapat mendukung HTPP , FTP, HTTPS, Internet Gopher dan banyak lainnya. Pada umumnya Squid didesain untuk berjalan di atas OS seperti Unix, tetapi dapat diimplementasikan dalam beberapa platform OS lainnya . Squid dirilis oleh GNU General Public Lisence dan bersifat Gratis dan Open Source. 2.2.3.1 Konfigurasi mendasar Squid Konfigurasi-konfigurasi squid mendasar squid berdasarkan referensi dari Visolve Team (2010) antara lain : 1. http_port nomor port Ini akan menunjukkan nomor port yang akan dipakai untuk menjalankan squid. Nomor port ini akan dipakai untuk berhubungan dengan klien dan peer. 2. icp_port nomor port Ini akan menunjukkan nomor port yang akan dipakai untuk menjalankan squid. Nomor port ini akan dipakai untuk berhubungan dengan klien dan peer. 3. cache_peer nama_peer tipe_peer nomor_port_http nomor_port_icp option Sintaks dari cache peer ini digunakan untuk berhubungan dengan peer lain, dan peer lain yang dikoneksikan ini tipenya bergantung dari tipe peer yang telah dideklarasikan ini, bias bertipe sibling maupun
53 bertipe parent,dan port yang digunakan untuk hubungan ICP maupun HTTP juga dideklarasikan disini, sedangakan untuk parameter option disini ada bermacam-macam salah satunya adalah default yang berarti dia adalah satu-satunya parent yang harus dihubungi (jika bertipe parent) dan proxy-only yang berarti bahwa object yang dipata dari peer tersebut tidak perlu disimpan dalam hardisk local. 4. Dead_peer_timeout jumlah_detik seconds. Masing-masing peer yang telah didefinisikan sebelumnya mempunyai waktu timeout sebesar yang ditentukan dalam konfigurasi ini, Jika peer tidak menjawab kiriman sinyal ICP dalam batas waktu yang telah ditentukan, peer akan dianggap tidak akan dapat dijangkau, dan cache server tidak akan mengambil object dari server yang bersangkutan dalam interval waktu tertentu. 5. Hierarcy_stoplist pola1 pola2 Sintaks ini digunakan untuk menyatakan apa yang harus tidak diminta dari peer, melainkan harus langsung dari web server origin, jika pola1 dan pola 2 adalah parameter cgi-bin, ?, dan lain-lain maka jika ada request URL yang mengandung karakter tersebut maka akan diambilkan langsung ke server origin. 6. Cache_mem jumlah_memori (dalam bytes) Sintaks ini akan menentukan batas atas jumlah memori yang digunakan untuk menyimpan antara lain : intransit object yaitu object yang dalam masa transisi antara waktu cache mendownload sampai
54 object disampaikan ke klien, dan hot object, yaitu object yang sering diakses. 7. Cache_swap_low/high jumlah (dalam persen) Squid akan menghapus object yang ada didalam hardisknya jika media tersebut mulai penuh. Ukuran penuh ini yang diset pada cache_swap_low dan cache_swap_high. Bila batas swap_low telah tercapai maka squid mulai menghapus dan jika batas swap_high tercapai maka squid akan semakin sering menghapus. 8. Cache_dir jenis_file_sistem direktori kapasitas_cache dir_1 jumlah dir_2 Sintaks ini akan menjelaskan direktori cache yang dipakai, pertama adalah jenis file sistemnya, lalu didirektori mana cache tersebut akan disimpan, selanjutnya ukuran cache tersebut dalam MegaBytes lalu jumlah direktori level 1 dan direktori level 2 yang akan digunakan squid untuk menyimpan objectnya.
2.2.3.2 ACL (Acces Control List) ACL adalah bagian terpenting dalam konfigurasi pada squid. ACL bertugas memberikan akses kepada pengguna atau yang berwenang untuk membatasi atau mencegah akses ke materi konfigurasi tertentu, mengendalikan request, maupun untuk mendukung kualitas pelayanan yang berbeda.
55 ACL dibangun dari dua komponen yang berbeda (Duane Wessels, 2004) yaitu yang pertama adalah mendefinisikan elemen-elemen pada ACL.
Komponen
berikutnya
adalah
menggabungkan
komponen
sebelumnya (elemen-elemen ACL) kedalam satu aturan ACL. Elemen-elemen pada ACL tersebut adalah salah satu kesatuan yang akan mengendalikan komponen Squid . Elemen tersebut berupa alamat IP, nomor Port, nama host, dan pola URL. Bentuk syntax penulisan elemen ACL adalah sebagai berikut: acl namatipe nilai1 nilai2 ...
Contoh
: acl Workstations src 10.0.0.0/16
Di atas contoh penulisan konfigurasi ACL dengan yang bertipe src yaitu mengizinkan klien workstations dapat mengakses squid yaitu yang ber IP sumber 10.0.0.0/16. Beberapa tipe dari elemen ACL lainnya adalah: 1. Port Bertujuan untuk membatasi squid untuk mengakses nomor port tertentu 2. dst dst akan mengacu ke alamat IP yang dituju, biasanya digunakan untuk mencegah beberapa pengguna untuk mengakses alamat ip yang ditentukan menggunakan dst. 3. dstDomain dst akan mengacu ke alamat DNS yang dituju.
56 4. Port Porto akan mengacu ke Url protokol yang dituju. Misalnya untuk mencegah dalam pengaksesan protokol ftp. 5. Method Berupa metoda yang biasa terdapat pada HTTP request method. Misalnya Get, Post, Put, dll. Selain itu terdapat method khusus lainnya
yaitu Purge yang berfungsi untuk
menyediakan akses kepada admin untuk menghapus paksa cache objek.
ACL juga menggunakan Regular Expression (regex) untuk mencocokan karakter string pada syntax konfigurasinya. Regex yang paling umum digunakan pada ACL adalah karakter ^ yang berfungsi sebagai pembuka baris baru dan karakter $ sebagai penutup baris. Setelah elemen-elemen ACL didefinisikan langkah berikutnya menggabungkan elemen tersebut kedalam satu aturan. Berikut Aturan Access Control List yang terdapat pada Squid: 1. http_access Memungkinkan klien (browser) untuk mengakses port HTTP. Ini adalah daftar kontrol akses utama. 2. http_reply_access: HTTP Memungkinkan klien (browser) untuk menerima balasan untuk permintaan mereka. Hal ini semakin
57 membatasi hak akses yang diberikan oleh http_access, dan terutama ditujukan untuk digunakan bersama dengan acl rep_mime_type untuk memblokir jenis isi yang berbeda. 3. icp_access memperbolehkan peer untuk mengirimkan icp untuk menquery object 4. miss_access memperbolehkan klien meminta object yang belum ada (miss) didalam cache 5. no_cache object yang diminta klien tidak perlu disimpan ke hardisk 6. always_direct permintaan yang ditangani langsung ke server origin 7. never direct permintaan yang ditangani secara tidak langsung ke server origin. 8. Cache Mendefinisikan tanggapan yang tidak harus di-cache
2.2.3.3 Replacement Policy Replacement Policy atau aturan penggantian objek berdasarkan jenis tempat penyimpanan pada squid terdiri dari dua yaitu:
58 1. Memory Replacement Policy Yaitu aturan penggantian objek yang terdapat pada memory 2. Cache Replacement Policy Yaitu aturan penggantian objek yang terdapat pada harddisk Menurut Visolve Team (2009) aturan penggantian objek yang menentukan kapan sebuah objek akan tetap disimpan sebagai cache, dibuang, atau diganti dengan objek yang baru. Terdapat beberapa metode aturan penggantian objek yang dapat digunakan dalam Squid yaitu: •
LRU (Least Recently Used)
Menurut Dilley, John; Arlitt, Martin; Perret, Stephane (1999) LRU yaitu metode penggantian objek cache dimana objek tidak pernah diakses dalam waktu yang sangat lama. •
GDSF Greedy-Dual Size Frequency
adalah
sebuah
aturan
penggantian
objek
yang
mengoptimasi hit rate dari sebuah object dengan cara menyimpan ukuran objek yang lebih kecil dalam
59 cache.
Sehingga
object
tersebut
mempunyai
kesempatan lebih besar mendapatkan HIT •
LFUDA : Least Frequently Used with Dynamic Aging
adalah
sebuah
aturan
penggantian
objek
yang
menyimpan objek yang popular di dalam tempat penyimpanan dan mencegah objek lain yang kurang popular untuk dapat masuk ke dalam tempat penyimpanan.
2.2.3.4 Metode Disk I/O Menurut Duane Wessels (2004) terdapat lima metode baca tulis pada Squid yaitu : UFS (Unix File System), AUFS (Asynchronous Unix File System) dan COSS (Cyclic Object Storage System), DISKD, and NULL. Beberapa yang biasa digunakan dalam squid adalah metode AUFS dan COSS. AUFS efektif untuk menyimpan file berukuran 128kb ke atas, sedangkan COSS efektif untuk menyimpan file berukuran kecil < 128kb. Dengan menggunakan 3 direktori yang menggunakan AUFS yang dibagi ke 3 Harddisk yang berbeda dengan kapasitas penyimpanan masing – masing sebesar 250 GB, 250GB, 160GB dan 3 direktori yang menggunakan COSS yang dibagi ke 3 harddisk yang berbeda dengan kapasitas penyimpanan 40GB, 40GB, 40GB. Sehingga total kapasitas cache yang dapat ditampung oleh squid mencapai 780GB.
60 2.2.3.5 Refresh Pattern Refresh Pattern digunakan untuk mengontrol cache yang ada secara tidak langsung. Menggunakan refresh pattern, squid dapat menentukan kapan sebuah request akan dianggap hit atau miss dari cache. Pengaturan yang ditentukan terhadap refresh pattern dapat meningkatkan atau menurunkan rasio hit. Refresh pattern
diterapkan
hanya
terhadap
respon
yang
tidak
menggunakan waktu kadaluarsa. Server asal dapat menerapkan waktu kadaluarsa menggunakan header expires atau cachecontrol:max-age.
Squid
mencari
refresh
pattern
dengan
menggunakan regular expression. Ketika data yang cocok dengan refresh pattern ditemukan, Squid menentukan sebuah object masih valid atau tidak berdasarkan nilai yang ditentukan pada refresh pattern. Berikut adalah syntax refresh pattern : refresh_pattern [Regular Expression] min percent max [opsi1] [opsi2] [opsi…]
Contoh penggunaan refresh pattern : refresh_pattern -i \.jpg$ 30 50% 4320 reload-into-ims refresh_pattern -i \.png$ 30 50% 4320 reload-into-ims -i digunakan untuk membuat regular expression menjadi caseinsensitive. Algoritma refresh pattern yang disederhanakan :
61 Sebuah object menjadi kadaluarsa ketika waktunya telah melebihi nilai max dari refresh pattern. Sebuah object masih valid ketika LM-factor nya lebih kecil dibandingkan percent dari refresh pattern. Sebuah object masih valid ketika waktunya belum melebihi nilai min dari refresh pattern. Selain diatas, sebuah object dianggap kadaluarsa.