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:
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
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.
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/topologi-jaringan-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.
Gambar 2.2 Topologi Ring
(Sumbet http://seeingtheworldspot.blogspot.com/2010/09/topologi-jaringan-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
- 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/topologi-jaringan-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.
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.
- 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 dipecah-pecah dan dilewatkan melalui jalur yang berbeda.
- 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)
Gambar 2.7 topologi Hybrid
(Sumber : http://ketikaja.blogspot.com/2009/01/topologi-jaringan.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.
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 :
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.
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.
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 yang menguntungkan yang dapat didapat dari internet, antara lain :
1. informasi lebih murah dan lebih cepat didapatkan dengan aplikasi : - email
- www
- news groups - FTP, dll
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>
<headers> <empty-line> <message-body>
Request line contohnya seperti GET /images/logo.png
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
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.
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
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
Access Control Address), dan menentukan bagaimana
perangkat-perangkat jaringan seperti hub, bridge, repeater, dan switch layer-2 beroperasi.
3. Network Layer
Network layer memiliki fungsi untuk mendefenisikan
alamat-alamat 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).
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 mekanisme-mekanisme yang umumnya berguna untuk mendukung aplikasi-aplikasi 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 )
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
(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
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
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
pesan-pesan 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 16-bit 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.
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
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
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.
• 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/high-order bit), tapi untuk lebih mudah mengingatnya, akan lebih cepat diingat dengan menggunakan representasi desimal.
Tabel 2.1 Tabel Pembagian kelas IP Address
Kelas Alamat IP Oktet Pertama (desimal) Oktet Pertama (Biner) Penggunaan
Kelas A 1-126 0xxx xxxx Alamat unicast untuk
jaringan skala besar
Kelas B 128-191 10xx xxxx Alamat unicast untuk
jaringan skala menengah hingga skala besar
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 mekanisme Interprocess Communication (IPC) di dalam mesin yang bersangkutan.
2. Kelas B
Alamat-alamat kelas B dikhususkan untuk jaringan skala menengah hingga skala besar. Dua bit pertama di
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 alamat-alamat 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
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.
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
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.
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 maupun host di Internet yang mengirimkan paket tidak pernah merasakan perbedaannya.
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:
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.
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.
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.
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
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
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
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,
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.
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
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
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.
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
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
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:
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
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.
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
cache-control: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 case-insensitive. Algoritma refresh pattern yang disederhanakan :
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.