• Tidak ada hasil yang ditemukan

Pengaturan Bandwidth Dan Qos Pada PC Router Menggunakan Kernel GNU/LINUX Dan Freebsd

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pengaturan Bandwidth Dan Qos Pada PC Router Menggunakan Kernel GNU/LINUX Dan Freebsd"

Copied!
93
0
0

Teks penuh

(1)

PENGATURAN BANDWIDTH DAN QOS PADA PC ROUTER

MENGGUNAKAN KERNEL GNU/LINUX DAN FREEBSD

TUGAS AKHIR

Disusun untuk memenuhi syarat kelulusan pada

Program Studi Strata Satu Sistem Komputer Jurusan Teknik Komputer

Oleh :

RIZKI IZANDI GUMAY

10205032

Pembimbing :

Usep Mohamad Ishaq, M.Si.

Andi Sugandi, S.Kom.

JURUSAN TEKNIK KOMPUTER

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

BANDUNG

(2)

vii

Gambar 2.1 Kabel UTP dan Konektor RJ-45………... Gambar 2.2 Pemasangan Kabel straight trough T568A………... Gambar 2.3 Pemasangan Kabel straight trough T568B………... Gambar 2.4 Pemasangan kabel crossover……… Gambar 2.5 Ethernet card………. Gambar 2.6 Hub dan switch………. Gambar 2.7 Router………. Gambar 2.8 Model hubungan peer to peer………. Gambar 2.9 Model hubungan client-server……… Gambar 2.10 Local Area Network……….. Gambar 2.11 Topologi star………. Gambar 2.12 Layer TCP/IP……….. Gambar 2.13. Pergerakan data dalam layer TCP/IP……… Gambar 2.14 Format IP Address dalam biner dan desimal…………. Gambar 2.15 IP Private……… Gambar 2.16 Netmask natural……….. Gambar 2.17 Analogi Firewall………. Gambar 2.18 Analogi IPTables……… Gambar 2.19 Analogi Disiplin Antrian………..

Gambar 2.20 Konsep Link Sharing……….. Gambar 2.21 Cara Kerja Penjadwalan CBQ……… Gambar 2.22 Struktur sistem operasi………... Gambar 2.23 Struktur Kernel sistem operasi………... Gambar 2.24 Arsitektur Sistem operasi GNU/Linux………... Gambar 2.25 Struktur Hirarki standar file sistem……… Gambar 3.1 Diagram Perancangan Secara Umum………...

(3)

viii

Gambar 3.2 Diagram Perancangan Jaringan Secara Umum………… Gambar 3.3 Tampilan GUI Konfigurasi Kernel GNU/linux………… Gambar 3.4 Konfigurasi kernel GNU/linux………. Gambar 3.5 Konfigurasi kernel FreeBSD……… Gambar 3.6 Topologi yang digunakan pada kernel GNU/linux…….. Gambar 3.7 Topologi yang digunakan pada kernel FreeBSD……… Gambar 3.8 Diagram Alir dari perancangan firewall iptables……… Gambar 3.9 Diagram Alir dari perancangan firewall PF……… Gambar 3.10 Diagram Alir dari teknik antrian HTB……… Gambar 3.11 Diagram Alir dari teknik antrian CBQ bagian internal.. Gambar 3.12 Diagram Alir dari teknik antrian CBQ bagian

Eksternal……….. Gambar 4.1 Grafik perbandingan Paket loss……….. Gambar 4.2 Grafik perbandingan Paket diterima……….. Gambar 4.3 Grafik perbandingan waktu penerimaan paket………... Gambar 4.4 Grafik perbandingan Paket Loss……… Gambar 4.5 Cara Pengambilan Data Tahap 3……….. Gambar 4.6 Grafik Latency pada GNU/linux ………... Gambar 4.7 Grafik Latency pada FreeBSD………... Gambar 4.8 Cara Pengambilan Data Menggunakan Iperf…………... Gambar 4.9 Grafik Perbandingan Jitter ……….. Gambar 4.10 Grafik Perbandingan Mengunduh 1 Client…………... Gambar 4.11 Grafik Perbandingan Mengunduh 2 Client.………….. Gambar 4.12 Grafik Perbandingan Mengunduh 3 client……… Gambar 4.13 Mengunduh Menggunakan IDM di Cleint GNU/Linux. Gambar 4.14 Mengunduh Menggunakan IDM di Cleint FreeBSD….. Gambar 4.15 Perbandingan Mengunduh Menggunakan IDM……….

(4)

iii

BAB II LANDASAN TEORI... 2.1 Dasar-dasar Jaringan Komputer...

(5)

iv 2.1.4 Topologi Jaringan Komputer ...

2.1.4.3 Topologi Star... 2.2 Protokol Jaringan Komputer... 2.2.1 Arsitektur Protokol TCP/IP... 2.2.2 IP Address... 2.4.3 Aplikasi Firewall Di GNU/Linux (Iptables) ... 2.4.4 Aplikasi Firewall Di FreeBSD (PF) ... 2.5 Disiplin Antrian Traffic Bandwidth ...

2.5.1 Quality of Service (Qos) ... 2.5.2 Teknik Disiplin Antrian Di GNU/Linux (HTB)... 2.5.3 Teknik Disiplin Antrian Di FreeBSD (CBQ) ... 2.6 Sistem Operasi... 2.6.1 Kernel... 2.6.2 Monolitic Kernel... 2.6.3 Sistem Operasi GNU/Linux... 2.6.3.1 Gentoo GNU/Linux... 2.6.4 Sistem Operasi FreeBSD...

BAB III PERANCANGAN SISTEM..... 3.1 Instalasi Sistem... 3.1.1 Perangkat Keras yang Digunakan... 3.1.2 Perangkat Lunak yang Digunakan... 3.1.3 Instalasi Sistem Operasi Gentoo GNU/Linux... 3.1.4 Instalasi Sistem Operasi FreeBSD... 3.2 Konfigurasi, Kompilasi dan Instalasi Kernel... 3.2.1 Menggunakan Kernel GNU/Linux...

(6)

v 3.2.2 Menggunakan Kernel FreeBSD... 3.3 Konfigurasi Server... 3.3.1 Menggunakan Kernel GNU/Linux... 3.3.2 Menggunakan Kernel FreeBSD... 3.4 Konfigurasi Firewall... 3.4.1 Menggunakan Kernel GNU/Linux (Iptables)... 3.4.2 Menggunakan Kernel FreeBSD (PF)... 3.5 Konfigurasi Traffic Bandwidth... 3.5.1 Menggunakan Kernel GNU/Linux (HTB)... 3.5.2 Menggunakan Kernel FreeBSD (CBQ)...

BAB IV PENGUJIAN DAN ANALISA... 4.1 Tahap-Tahap Pengujian dan Pengambilan Data... 4.2 Persiapan Pengujian... 4.3 Pengujian, Pengambilan Data Dan Analisa...

(7)

ix

DAFTAR LAMPIRAN

1. 2. 3.

Lampiran A………. Lampiran B………. Lampiran C……….

(8)

83

DAFTAR PUSTAKA

[1]. Farunuddin, Rakhmat. (2004). Membangun Firewall dengan IPTables di linux. Bandung: PT. Elex Media Komputindo.

[2]. Hariyanto, Bambang. (1997). Sistem Operasi (Edisi 3). Bandung: Informatika.

[3]. Purbo, Onno W., Basalamah, Adnan., Fahmi, Ismail., & Thamrin, Achmad Husni. (1999). Buku Pintar Internet TCP/IP. Bandung: PT. Elex Media Komputindo.

[4]. Tanenbaum, Andrew S. (1989). Operating System Design And Implementation. New Dehli : Prentice Hall of India.

[5]. Farrokhi, Babak. (2008). Network Administration with FreeBSD 7. Birmingham: Packt Publishing Ltd. Dari

(http://xinio.info/?http://rapidshare.com/files/110902233/FreeBSD.pdf), diakses pada tanggal 23 November 2009.

[6]. Gheorghe , Lucian. (2006). Designing and Implementing Linux Firewalls and QoS using netfilter, iproute2, NAT, and L7-filter. Birmingham: Packt Publishing Ltd. Dari

( http://all-x.org/download/Implementing.Linux.Firewalls.with.QoS.pdf ), diakses pada tanggal 8 Desember 2009.

[7]. Hansteen, Peter N.M. (2008). The Book Of PF. San Francisco: William Pollock. Dari

(http://www.openbsderos.org/libros/The%20Book%20of%20PF.pdf), diakses pada tanggal 24 November 2009.

[8]. http://www.gentoo.org/doc/id/handbook/handbook-x86.xml?full=1#net-setup diakses pada tanggal 19 oktober 2009.

(9)

vi

Tabel 2.1 Pengelompokan Kelas menggunakan angka desimal……... Tabel 2.2 Kategori performansi jaringan IP berdasarkan parameter

jitter……… Tabel 3.1 Perangkat Keras yang digunakan………... Tabel 4.1 Perubahan Parameter Bandwidth di GNU/linux…………... Tabel 4.2 Perubahan Parameter Bandwidth di FreeBSD…………...

Tabel 4.3 Pengujian paket loss dengan 1 client………... Tabel 4.4 Pengujian paket loss dengan 2 client………. Tabel 4.5 Pengujian paket loss dengan 3 client………. Tabel 4.6 Pengujian paket loss dengan 1 client………. Tabel 4.7 Pengujian paket loss dengan 2 client………. Tabel 4.8 Pengujian paket loss dengan 3 client………. Tabel 4.9 Pengujian Latency pada GNU/linux……….. Tabel 4.10 Pengujian Latency pada FreeBSD...……….. Tabel 4.11 Pengambilan data jitter pada GNU/linux………. Tabel 4.12 Pengambilan data jitter pada FreeBSD...………. Tabel 4.13 Kategori performansi jaringan IP berdasarkan parameter jitter……… Tabel 4.14 Percobaan mengunduh tanpa teknik antrian……… Tabel 4.15 Percobaan mengunduh satu client pada GNU/linux……… Tabel 4.16 Percobaan mengunduh satu client pada FreeBSD………... Tabel 4.17 Percobaan mengunduh dua client pada GNU/linux………. Tabel 4.18 Percobaan mengunduh dua client pada FreeBSD………… Tabel 4.19 Percobaan mengunduh tiga client pada GNU/linux……… Tabel 4.20 Percobaan mengunduh tiga client pada FreeBSD………... Tabel 4.21 Tabel seluruh Perbandingan………

(10)

i

KATA PENGANTAR

Assalamu'alaikum Wr. Wb.

Puji syukur saya panjatkan atas kehadirat Allah SWT, yang telah memberikan rahmat dan hidayahNya sehingga dapat menyelesaikan tugas akhir dengan judul “Pengaturan Bandwidth Dan Qos Pada PC Router Menggunakan Kernel GNU/Linux dan FreeBSD” tepat pada waktunya. Tugas akhir ini disusun untuk memenuhi salah satu syarat kelulusan dalam menempuh pendidikan program Strata Satu (S1) pada jurusan Teknik Komputer program studi Ilmu Komputer Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

Saya menyadari bahwa tugas akhir ini masih jauh dari kesempurnaan, mengingat keterbatasan pengetahuan, keilmuan, pengalaman, dan referensi yang saya miliki. Oleh karena itu, saya mengharapkan kritik dan saran yang sifatnya membangun, sehingga dapat menyempurnakan tugas akhir ini di masa-masa yang akan datang.

Dalam penulisan tugas akhir ini tidak lepas dari bantuan berbagai pihak, sehingga pada kesempatan ini saya ingin mengucapkan terima kasih kepada :

1. Kedua orang tua, bapak dan ibu tercinta yang telah banyak berkorban membesarkan saya, dan tidak henti-hentinya memberikan perhatian, nasehat, dukungan, dan motivasi selama studi. Semoga Allah SWT memberikan kemuliaan kepada keduanya baik di dunia maupun di akherat kelak, amin.

2. Bapak Wendi Zarman M.Si, selaku Ketua Jurusan Teknik Komputer Universitas Komputer Indonesia, dan dosen wali yang selalu memperhatikan dan memberikan arahan kepada saya selama studi.

3. Bapak Usep Mohammad Ishaq M.Si, selaku pembimbing I, yang telah memberikan bimbingan dan arahan kepada saya.

(11)

ii 5. Bapak dan Ibu dosen, serta seluruh staff jurusan Teknik Komputer Universitas Komputer Indonesia, yang telah banyak memberikan ilmu, wawasan, motivasi, serta bimbingan dan bantuan kepada saya.

6. Teman-teman 05-TK1, 05-TK2, Asisten Dosen Lab.Elektronika, Asisten Dosen Lab. Jaringan Komputer dan Komputasi Pararel Teknik Komputer, yang telah bersama-sama menimba ilmu dan membantu selama kuliah di Jurusan Teknik Komputer Universitas Komputer Indonesia.

7. Kedua adik-adik dan tambatan hati yang saya sayangi dan kasihi, Liza, Rani dan Gina, yang terus menjadi pemicu semangat untuk segera menyelesaikan tugas akhir ini.

8. Buat Mas Budi Hamdani tentor FreeBSD di Comlabs ITB terima kasih atas arahannya, buat Koordinator Lab. Komputer SMAN 3 Cimahi yang telah memberikan izin untuk menggunakan fasilitas dalam mengerjakan tugas akhir ini.

9. Teman-teman komunitas opensuse indonesia, klub linux bandung dan PASKIBRAKA Kota Cimahi angkatan 2003 yang telah banyak membimbing dan membantu saya selama menyelesaikan tugas akhir ini. 10. Semua Pihak yang telah banyak membantu dan tidak bisa saya sebutkan

satu persatu, terima kasih banyak atas bantuannya.

Akhir kata, semoga semua kebaikan yang telah diberikan oleh semua pihak kepada saya, mendapat balasan yang setimpal Allah SWT, dan berharap semoga tugas akhir ini dapat bermanfaat bagi kemajuan masa-masa yang akan datang, amin.

Wassalamu'alaikum Wr Wb

Bandung, Agustus 2010

(12)

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Seiring dengan berkembangnya perusahaan-perusahaan provider

(penyedia layanan internet) dan meningkatnya para pengguna internet di berbagai kalangan masyarakat, namun belum diimbangi dengan besarnya bandwidth yang disediakan oleh perusahaan provider. Sehingga menjadi kendala saat pengguna akan mengakses internet. Untuk mengatasinya dibutuhkan sebuah router yang mampu mengatur jaringan dengan baik terutama dalam pengaturan bandwidth-nya.

Kita ketahui router yang sangat handal dan baik saat ini adalah router

CISCO, namun untuk menggunakan router ini dibutuhkan peralatan yang sangat mahal dan perawatan secara berkala oleh teknisi dari perusahaan CISCO. Atau bisa juga menggunakan PC sebagai router dengan menggunakan sistem operasi

Windows Server 2003, walaupun sangat mudah dalam konfigurasi tetapi sistem operasi ini sangat mahal selain itu juga sistem ini hanya dapat berjalan di PC yang menggunakan prosesor quadcore sehingga di PC biasa tidak dapat berjalan.

Untuk meminimalisasi segala kendala dalam perancangan router yang handal dalam pembagian bandwidth secara adil dengan reabilitas yang baik, maka penulis mengambil judul :

Pengaturan Bandwidth Dan QOS Pada PC Router menggunakan Kernel GNU/linux dan FreeBSD.

(13)

2

1.2 Maksud dan Tujuan

Maksud dan Tujuan penulisan laporan tugas akhir ini, adalah merancang PC sebagai router dengan menggunakan kernel GNU/linux dan FreeBSD yang mampu mengatur bandwidth secara adil dan merata ke setiap client dengan reabilitas yang baik, dan pada akhirnya akan diketahui kernel mana yang dapat membagi bandwidth dengan lebih baik dan lebih tepat.

1.3 Batasan Masalah

Batasan masalah pada perancangan tugas akhir ini adalah:

1. Sistem operasi yang digunakan adalah berbasis kernel GNU/linux dengan distribusi Gentoo dan berbasis kernel FreeBSD realease 7.1.

2. Teknik disiplin antrian yang digunakan pada kernel GNU/linux adalah HTB (Hierarchical Token Bucket) dan pada kernel freeBSD menggunakan CBQ ( Class Based Queue ).

3. PC/Notebook yang digunakan sebanyak 4 buah, 1 PC sebagai router dan 3 PC/Notebook sebagai client.

1.4 Metodologi Penelitian

Metodologi penelitian yang digunakan dalam penulisan tugas akhir ini adalah menggunakan metodologi penelitian experimental, tahap-tahap penelitian sebagai berikut :

1. Metode studi pustaka yaitu melakukan penelitian dengan mempelajari hal-hal yang berhubungan dengan pembuatan tugas akhir ini.

2. Observasi

3. Perancangan sistem

(14)

3

1.5 Sistematika Penulisan

Sitematika Penulisan yang digunakan dalam laporan tugas akhir ini adalah sebagai berikut :

Bab I. PENDAHULUAN

Mencakup latar belakang, Maksud dan tujuan, Metodologi Penelitian dan Sistematika pelaporan tugas akhir.

Bab II. LANDASAN TEORI

Mengemukakan mengenai dasar-dasar teori yang mendukung topik yang didapat dari studi literatur dan percobaan.

Bab III. PERANCANGAN

Mengemukakan rancangan sistem yang digunakan untuk menyelesaikan permasalahan yang ada.

Bab IV. UJI COBA, PENGAMBILAN DATA DAN ANALISA SISTEM

Menguraikan implementasi atau penerapan sistem yang telah dirancang. Dan menganalisa hasil pengamatan.

Bab V. KESIMPULAN dan SARAN

(15)

4

BAB II

LANDASAN TEORI

Pada bab ini akan dibahas mengenai teori dan komponen penunjang yang akan digunakan dalam perancangan dan analisa pengaturan bandwidth PC router menggunakan kernel GNU/linux dan freeBSD. Pembahasannya berisi tentang dasar-dasar jaringan, komponen fisik dalam jaringan, firewall, teknik antrian, sistem operasi dan kernel.

2.1 Dasar-dasar Jaringan Komputer

Jaringan komputer adalah sekelompok komputer otonom (stand alone) yang saling berhubungan antara satu dengan yang lainnya menggunakan protokol komunikasi melalu media komunikasi sehingga dapat saling berbagi informasi, data program aplikasi dan perangkat keras seperti printer. Selain itu jaringan komputer bisa diartikan sebagai kumpulan sejumlah terminal komunikasi yang berada diberbagai lokasi yang terdiri dari lebih satu komputer yang saling berhubungan[3].

Jaringan komputer dapat dibangun dan diolah dengan mudah jika pengguna yang akan membangun jaringan tersebut memahami konsep jaringan, terutama dalam hal tipe dan arsitektur suatu jaringan komputer. Hal ini penting karena tipe dan struktur sebuah jaringan menentukan perangkat apa yang harus disediakan untuk membangun jaringan tersebut. Berikut ini akan diuraikan tipe-tipe jaringan berdasarkan bagiannya masing-masing.

2.1.1 Komponen Jaringan Komputer

(16)

5

2.1.1.1 Kabel

Setiap kabel mempunyai kemampuan dan spesifikasi yang berbeda. Jenis kabel yang menjadi standar dalam penggunaan untuk komunikasi data dalam jaringan komputer adalah kabel Twisted Pair[3].

Ethernet juga dapat menggunakan jenis kabel UTP (Unshielded Twisted Pair). Kabel UTP yang umum dipakai adalah kabel yang terdiri dari 4 pasang kabel terpilin.

Gambar 2.1 Kabel UTP dan Konektor RJ-45.

Terdapat tipe penyambung kabel jenis UTP, yaitu straight trough cable, crossover cable ditambah satu jenis pemasangan khusus untuk cisco router, yaitu roll over cable. Perbedaannya, straight cable dipakai untuk menghubungkan untuk beberapa unit komputer melalui perantara konsentrator (hub/switch) maupun repeater, sedangkan crossover cable digunakan untuk media komunikasi antar komputer (tanpa hub/switch) atau dalam kasus tertentu berguna untuk menghubungkan hub ke hub. Adapun cara pemasangan kabel UTP model straight trough :

• Straight trough T568A

(17)

6 • Straight trough T568B

Gambar 2.3 Pemasangan Kabel straight trough T568B.

Pemasangan kabel model cross over merupakan penggabungan dari model

straight trough T568A dengan Ts68B.

• Crossover

Gambar 2.4 Pemasangan kabel crossover.

2.1.1.2 Kartu Ethernet

(18)

7

Gambar 2.5 Ethernet card.

2.1.1.3 Hub dan Switch

Hub atau swicth adalah perangkat untuk menyatukan kabel-kabel jaringan dari tiap workstation, server, atau perangkat lainnya. Hub biasa dipakai pada topologi star. Hub dan switch umumnya mempunyai port RJ-45 sebagai port

tempat menghubungkan komputer[3].

Gambar 2.6 Hub dan switch.

Perbedaannya, switch merupakan konsentrator yang memiliki kemampuan manajemen traffic data lebih baik dibandingkan hub.

2.1.1.4 Router

Router merupakan perangkat yang dikhususkan untuk menangani koneksi antara dua atau lebih jaringan yang terhubung melalui packet switching.

(19)

8

Gambar 2.7 Router.

2.1.2 Konsep Hubungan Jaringan Komputer

Berdasarkan konsep hubungan terdiri dari jaringan Peer to Peer dan jaringan Client Server. Berikut uraian dari kedua jaringan tersebut.

2.1.2.1 Hubungan Peer to Peer

Pada jaringan peer to peer setiap komputer yang terhubung dalam jaringan dapat berkominukasi dengan komputer-komputer lain secara langsung tanpa melalui komputer perantara. Pada jaringan tipe ini sumber daya komputer terbagi pada seluruh komputer yang terhubung dalam jaringan tersebut, baik sumber daya yang berupa perangkat keras maupun perangkat lunak dan datanya[4].

Sebuah komputer yang terhubung dalam sebuah jaringan peer to peer

pada prinsipnya mampu untuk bekerja sendiri sebagai sebuah komputer

(20)

9

Gambar 2.8Model hubunganpeer to peer.

Dari gambar 2.8 tampak bahwa masing-masing komputer dalam sebuah jaringan peer to peer terhubung secara langsung ke seluruh komputer yang terdapat dalam jaringan tersebut.

Keunggulan jaringan peer to peer yaitu :

• Antar komputer dalam jaringan dapat saling berbagi fasilitas yang

dimilikinya seperti harddisk dan printer.

• Biaya operasional relatif lebih murah dibandingkan dengan tipe client-server, salah satunya adalah tidak memerlukan adanya server yang memiliki kemampuan khusus untuk mengorganisasikan dan menyediakan fasilitas jaringan.

• Kelangsungan kerja jaringan tidak tergantung pada satu server, sehingga bila salah satu komputer mati atau rusak, jaringan secara keseluruhan tidak akan mengalami gangguan.

Kelemahan jaringan peer to peer yaitu :

Troubleshooting jaringan relatif lebih sulit, karena pada jaringan peer to peer setiap komputer dimungkinkan untuk terlibat dalam komunikasi yang ada. Di jaringan client-server, komunikasi adalah antara server dengan

(21)

10 Kinerja lebih rendah dibandingkan dengan jaringan client-server. Karena setiap komputer disamping harus mengelola pemakaian fasilitas jaringan juga harus mengelola pekerjaan.

Sistem keamanan jaringan ditentukan oleh masing-masing user dengan mengatur keamanan masing-masing fasilitas yang dimiliki. Karena data jaringan tersebut di masing-masing komputer dalam jaringan, maka

backup harus dilakukan oleh masing-masing komputer tersebut.

2.1.2.2 Hubungan Client Server

Pada jaringan client-server terdapat sebuah komputer yang berfungsi sebagai server sedangkan komputer-komputer yang lain berfungsi sebagai client.

Sesuai namanya maka komputer server berfungsi dan bertugas untuk melayani seluruh komputer yang terdapat dalam jaringan tersebut[4].

Pada sebuah kompuetr dimungkinkan untuk digunakannya lebih dari komputer server, bahkan dengan kemampuan dan fasilitas yang berbeda. Sedangkan komputer-komputer client sesuai dengan namanya menerima pelayanan dari komputer server,. Komputer-komputer ini disebut juga dengan

workstation, yaitu komputer dimana pengguna jaringan dapat mengakses dam memanfaatkan pelayanan yang diberikan oleh komputer server.

(22)

11 Pada gambar 2.9 dapat dilihat bahwa komputer-komputer dalam jaringan (client) dapat saling berkomunikasi melalui perantara server. Jika komputer

server tidak aktif, maka komputer-komputer client tidak akan dapat saling berkomunikasi.

Keunggulan jaringan client-server yaitu :

• Kecepatan akses lebih tinggi karena penyedian fasilitas jaringan dan pengelolaannya dilakukan secara khusus oleh satu komputer (server) yang tidak dibebani dengan tugas lain sebagai workstation.

• Sistem keamanan lebih baik, karena adanya sistem keamanan jaringan. • Administrasi jaringan lebih baik, karena terdapat seorang pemakai yang

bertugas sebagai administrasi jaringan.

• Sistem backup data lebih baik, karena pada jaringan client-server backup

dilakukan terpusat di server, sehingga kemungkinan adanya data kembar sangatlah kecil.

Kelemahan jaringan client-server yaitu :

• Biaya operasional lebih mahal, karena harus ada orang yang ahli sebagai administrator jaringan.

• Diperlukan adanya satu komputer khusus yang berkemampuan lebih untuk ditugaskan sebagai server.

• Kelangsungan jaringan sangat tergantung pada server, bila server

mengalami gangguan maka secara keseluruhan jaringan akan terganggu.

2.1.3 Jenis Jaringan Berdasarkan Cakupan Geografis

Jaringan komputer dapat dikelompokkan berdasarkan luas area yang dapat di jangkau atau dilayani. Secara umum jaringan komputer terbagi menjadi 3 jenis, yaitu Local Area Network (LAN), Metropolitan Area Network (MAN), dan

(23)

12

2.1.3.1 Local Area Network (LAN)

Local Area Network (LAN) adalah jaringan yang dibatasi oleh area yang relatif kecil, umumnya dibatasi oleh area lingkungan seperti sebuah kantor pada sebuah gedung. LAN sering kali menggunakan teknologi transmisi kabel tunggal. LAN tradisional beroperasi pada kecepatan mulai 10 sampai 100 Mbps (Mega bit/detik) dengan delay rendah (puluhan mikro second) dan mempunyai faktor kesalahan yang kecil. LAN-LAN modern dapat beroperasi pada kecepatan yang lebih tinggi, sampai ratusan megabit/detik[3].

Gambar 2.10 Local Area Network.

2.1.4 Topologi Jaringan Komputer

Topologi atau arsitektur jaringan merupakan pola hubungan antar terminal dalam suatu sistem jaringan komputer. Topologi ini akan mempengaruhi tingkat efektifitas kinerja jaringan. Ada beberapa jenis topologi yang dapat diimplementasikan dalam jaringan. Namun, bentuk topologi yang utama adalah topologi Star.

2.1.4.1 Topologi Star

(24)

13

Gambar 2.11Topologi star.

Keuntungan dari topologi star:

• Akses ke station lain (client atau server) lebih cepat.

• Dapat menerima workstation baru selama port di central node

(hub/switch) tersedia.

Hub/switch bertindak sebagai konsentrator.

Hub/switch dapat disusun seri (bertingkat) untuk menambah jumlah station yang terkoneksi di jaringan.

• Mendukung pengguna yang banyak dibanding topologi bus, maupun ring.

Kerugian dari topologi ring :

• Bila traffic data cukup tinggi dan terjadi collision, semua komunikasi akan ditunda, dan koneksi akan dilanjutkan atau dipersilahkan dengan cara acak ketika hub/switch mendeteksi tidak ada jalur yang sedang di gunakan oleh node lain.

2.2

Protokol Jaringan Komputer

(25)

14 jaringan lokal. Untuk memecahkan masalah transfer di atas maka diciptakan sebuah solusi khusus berupa aturan-aturan yang dapat menangani semua masalah komunikasi data, keseluruhan aturan ini harus bekerja sama satu dengan yang lainnya. Sekumpulan aturan untuk mengatur proses pengiriman data ini disebut sebagai protokol komunikasi data[4].

2.2.1 Arsitektur Protokol TCP/IP

TCP/IP adalah sekumpulan protokol yang didesain untuk melakukan fungsi-fungsi komunikasi data pada wide area network (WAN). TCP/IP terdiri atas sekumpulan protokol yang masing-masing bertanggung jawab atas bagian-bagian tertentu dari komunikasi data. Berkat protokol ini, tugas masing-masing protokol menjadi jelas dan sederhana dan menjadi protokol komunikasi yang fleksibel[4].

Sekumpulan protokol TCP/IP ini dimodelkan dengan empat layer TCP/IP, sebagaimana terlihat pada gambar dibawah ini.

Gambar 2.12Layer TCP/IP.

TCP/IP terdiri atas empat lapis kumpulan protokol yang bertingkat. Keempat lapisan/layer tersebut adalah :

1. Network Interface Layer.

2. Internet Layer.

3. Transport Layer.

(26)

15 Dalam TCP/IP, terjadi penyimpanan data dari protokol yang berada di satu

layer ke protokol yang berada di layer yang lain. Setiap protokol memperlakukan semua informasi yang diterimanya dari protokol lain sebagai data. Jika suatu protokol menerima data dari protokl lain di layer atasnya. Ia akan menambahkan informasi tambahan miliknya ke data tersebut. Informasi ini memiliki fungsi protokol yang sesuai dengan fungsi protokol tersebut. Setelah itu data ini diteruskan lagi ke protokol pada layer dibawahnya.

Hal yang sebaliknya terjadi jika suatu protokol menerima data dari protokol lain yang berada pada layer dibawahnya. Jika data ini dianggap valid, protokol akan melepas informasi tambahan tersebut, untuk kemudian meneruskan data itu ke protokol lain yang berada pada layer diatasnya. Seperti yang terlihat pada gambar di bawah ini.

Gambar 2.13. Pergerakan data dalam layer TCP/IP.

2.2.2 IP Address

IP adalah protokol yang sejak awal memang sudah dirancang untuk dipergunakan pada sistem internetworking. Alamat IP digunakan untuk mengidentifikasi interface jaringan pada host komputer. IP memiliki sifat yang dikenal dengan unreliable, connectionless, datagram delivery service. IP mengatur dan mencari cara terbaik untuk menyampaikan suatu paket data ke tujuannya dengan memakai pendekatan datagram, tidak peduli tujuannya berada di jaringan yang sama atau tidak[3].

(27)

16 yang dikirim dengan IP akan mencari rute terbaiknya sendiri untuk mencapai tujuannya. Sebelum dikirim data yang secara ukuran cukup besar akan dipecah-pecah menjadi ukuran-ukuran yang lebih kecil yang disebut dengan paket data. Paket data diberi penomoran khusus dan dikirim untuk mencari rute-nya sendiri ke tujuan. Penomoran sangat berguna karena pada datagram sangat mungkin paket data yang dikirim terlebih dahulu akan tiba lebih lambat dibanding data yang dikirim belakangan. Penerima akan menyusun kembali paket data sesuai penomerannya apabila keseluruhan paket data lebih diterima.

IP Address terdiri dari bilangan biner sepanjang 32 bit yang dibagi atas 4 segmen. Tiap segmen terdiri atas 8 bit yang berarti memiliki nilai desimal dari 0 - 255. Ada sebanyak 232 kombinasi address yang bisa dipakai diseluruh dunia (walaupun pada kenyataannya ada sejumlah IP Address yang digunakan untuk keperluan khusus). Jadi, jaringan TCP/IP dengan 32 bit address ini mampu menampung sebanyak 232 atau lebih dari 4 milyar host. Untuk memudahkan pembacaan dan penulisan, IP Address biasanya direpresentasikan dalam bilangan desimal. Jadi, range address di atas dapat diubah menjadi address 0.0.0.0 sampai

address 255.255.255.255. Nilai desimal dari IP Address inilah yang dikenal dalam pemakaian sehari-hari. Contoh IP Address adalah : 167.205.9.35.

Ilustrasi IP Address dalam bilangan desimal dan bilangan biner dapat di lihat pada gambar 2.12 berikut :

Gambar 2.14Format IP Address dalam biner dan desimal.

(28)

17 didasarkan pada dua hal yakni network ID dan host ID. Pengelompokan kelas dapat dilihat pada table 2.1 berikut :

Tabel 2.1 Pengelompokan Kelas menggunakan angka desimal.

Private IP Address IANA (International Assigned Number Authority) mengelompokkan alamat IP address yang dinyatakan “private” artinya hanya untuk digunakan dikalangan sendiri atau tidak berlaku di internet.

Gambar 2.15IP Private.

Dengan demikian untuk menetukan kelas A, B, C. cukup dilihat dari delapan bit pertama. Untuk memisahkan network ID dan host ID diperlukan sebuah netmask dengan definisi sebagai berikut. Untuk bagian menjadi dari

network ID maka mask yang digunakan adalah binary 1, sedangkan untuk host ID digunakan binary 0.

Gambar 2.16Netmask natural.

Kelas A : 10.0.0.0 sampai dengan 10.255.255.255 Kelas B : 172.16.0.0 sampai dengan 172.31.255.255 Kelas C : 192.168.0.0 sampai dengan 192.168.255.255

(29)

18

2.3

Server

Server adalah sebuah sistem komputer yang menyediakan jenis layanan tertentu dalam sebuah jaringan komputer. Server didukung dengan prosesor yang bersifat scalable dan RAM yang besar, juga dilengkapi dengan sistem operasi khusus, yang disebut sebagai sistem operasi jaringan atau network operating system. Server juga menjalankan perangkat lunak administratif yang mengontrol akses terhadap jaringan dan sumber daya yang terdapat di dalamnya, seperti halnya berkas atau alat pencetak (printer), dan memberikan akses kepada

workstation anggota jaringan [4].

Umumnya, di atas sistem operasi server terdapat aplikasi-aplikasi yang menggunakan arsitektur client/server. Contoh dari aplikasi ini adalah DHCP

Server, Mail Server, HTTP Server, FTP Server, DNS Server dan lain sebagainya. Setiap system operasi server umumnya membundel layanan-layanan tersebut atau layanan tersebut juga dapat diperoleh dari pihak ketiga. Setiap layanan tersebut akan merespons terhadap request dari klien. Sebagai contoh, klien DHCP akan memberikan request kepada server yang menjalankan server DHCP, ketika sebuah klien membutuhkan alamat IP, klien akan memberikan perintah/request

kepada server, dengan bahasa yang dipahami oleh server DHCP, yakni protokol DHCP itu sendiri.

Contoh sistem operasi server adalah Windows NT 3.51, dan dilanjutkan dengan Windows NT 4.0. Saat ini sistem yang cukup populer adalah Windows 2000 Server dan Windows Server 2003, kemudian Sun Solaris, Unix, dan GNU/linux.

Server biasanya terhubung dengan client dengan kabel UTP dan sebuah

Network Card. Kartu jaringan ini biasanya berupa kartu PCI atau ISA. Fungsi

(30)

19

2.3.1 DHCP Server

DHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua komputer yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP, seperti

default gateway dan DNS server. DHCP didefinisikan dalam RFC 2131 dan RFC 2132 yang dipublikasikan oleh Internet Engineering Task Force. DHCP merupakan ekstensi dari protokol Bootstrap Protocol (BOOTP) [4].

2.4

Firewall

Firewall adalah suatu aturan yang diterapkan baik terhadap hardware,

software maupun sistem itu sendiri dengan tujuan untuk melindungi, baik dengan melakukan filterisasi, membatasi, ataupun menolak suatu koneksi pada jaringan yang dilindunginya dengan jaringan luar lainnya seperti internet. Oleh karena seringnya firewall digunakan untuk melindungi jaringannya, firewall tersebut juga berfungsi sebagai pintu keluar jaringan yang dilindunginya dengan jaringan lainnya atau biasa disebut dengan gateway[1].

(31)

20

2.4.1 Tipe Firewall

Firewall dapat dibedakan berdasarkan mekanisme atau cara firewall

tersebut bekerja. Salah satunya adalah packet filtering gateway.

Packet Filtering Gateway dapat diartikan sebagai firewall yang bertugas melakukan filtrasi terhadap paket – paket yang datang dari luar jaringan yang dilindunginya. Filtrasi paket ini hanya sebatas berdasarkan sumber paket, tujuan paket, dan atribut – atribut dari paket tersebut, misalnya paket tersebut bertujuan ke server yang telah dibuat dengan menggunakan IP 192.168.0.1 dengan port 80. Port 80 adalah atribut yang dimiliki oleh paket tersebut[1].

2.4.2 Fungsi Firewall

Secara Fundamental Fungsi firewall dalam sebuah jaringan adalah berfungsi dapat mengatur dan mengontrol lalu lintas jaringan yang diizinkan untuk mengakses jaringan privat atau komputer yang dilindungi oleh firewall.

Firewall melakukan hal yang demikian, dengan melakukan inspeksi terhadap paket-paket dan memantau koneksi yang sedang dibuat, lalu melakukan penapisan (filtering) terhadap koneksi berdasarkan hasil inspeksi paket dan koneksi tersebut[1].

2.4.3 Aplikasi Firewall Di GNU/linux ( IPTables )

Iptables merupakan salah satu aplikasi firewall yang berada di lingkungan sistem operasi GNU/linux. Iptables digunakan untuk administrasi

filtering paket dan Network Address Translation (NAT) pada IPv4, gambaran umum iptables digunakan untuk konfigurasi, merawat dan memeriksa rules tables

(tabel aturan) tentang filter paket IP yang terdapat di kernel GNU/linux. Iptables

memiliki chains, setiap chains memiliki daftar (list) aturan untuk mencocokkan suatu paket yang datang. Setiap aturan tersebut berfungsi memberikan keputusan eksekusi apa yang akan dilakukan bila paket yang datang cocok dengan aturan yang telah dibuat[6].

(32)

21 disebut chain saja. Ketiga chain tersebut adalah INPUT, OUTPUT dan

FORWARD. (manual Iptables terdapat pada lampiran A).

Gambar 2.18Analogi IPTables.

Pada diagram tersebut, lingkaran menggambarkan ketiga rantai atau

chain. Pada saat sebuah paket sampai pada sebuah lingkaran, maka disitulah terjadi proses penyaringan. Rantai akan memutuskan nasib paket tersebut. Apabila keputusannnya adalah DROP, maka paket tersebut akan di-drop. Tetapi jika rantai memutuskan untuk ACCEPT, maka paket akan dilewatkan melalui diagram tersebut.

Sebuah rantai adalah aturan-aturan yang telah ditentukan. Setiap aturan menyatakan “jika paket memiliki informasi awal (header) seperti ini, maka inilah yang harus dilakukan terhadap paket”. Jika aturan tersebut tidak sesuai dengan paket, maka aturan berikutnya akan memproses paket tersebut. Apabila sampai aturan terakhir yang ada, paket tersebut belum memenuhi salah satu aturan, maka kernel akan melihat kebijakan bawaan (default) untuk memutuskan apa yang harus dilakukan kepada paket tersebut. Ada dua kebijakan bawaan yaitu default DROP dan defaultACCEPT.

(33)

22 Gentoo kita harus menginstall iptables secara manual dan mengkonfigurasi kernel sesuai dengan kebutuhan router.

2.4.4 Aplikasi Firewall Di FreeBSD ( PF )

PF (Packet Filter) adalah salah satu firewall yang berjalan di sistem BSD, PF dapat memeriksa paket-paket jaringan melalui beberapa protokol, port

dan level. PF menentukan apakah paket tersebut bisa dilewatkan atau ditahan.

Firewall PF lebih memfokuskan filtering terhadap paket-paket jaringan, protokol, koneksi dan port[7].

PF memeriksa paket-paket yang di kirim atau paket yang diterima dari mana pun melalui protokol, koneksi, dan port. Itu menunjukan bahwa PF dapat melakukan aksi yang akan dilakukan apakah paket yang melawati PF dapat di diteruskan atau dihentikan. Dengan demikian PF dapat membantu mengatur aliran paket dalam sebuah lalu lintas jaringan.

Aplikasi Firewall PF ini dapat berjalan dengan baik bila konfigurasi pada kernel sistem BSD, firewall PF akan aktif dan dapat digunakan sesuai dengan fungsinya. (manual pf terdapat pada lampiran A).

2.5 Disiplin Antrian Traffic Bandwidth

Pada dasarnya disiplin antrian ini, mengacu pada QoS (Quality of Services) dalam pembagian bandwidth sehingga bandwidth yang tersedia dapat digunakan dengan sebagai mana mestinya dan sesuai dengan kebutuhan yang diperlukan.

(34)

23

Gambar 2.19Analogi Disiplin Antrian.

Pengalokasian bandwidth salah satu hal yang paling penting dalam disiplin antrian. Alokasi bandwidth yang rata dapat dicapai dengan menggunakan disiplin antrian yang tepat. Tujuan penting lainnya adalah untuk mengontrol waktu tunda dan jitter (variasi waktu acak) dimana merupakan hal yang penting untuk membangun aplikasi-aplikasi yang real-time. Hal yang mungkin untuk membatasi waktu tunda dan jitter dari suatu aliran dengan mengembalikan

resource jaringan yang dibutuhkan. Izin kontrol diperlukan untuk memutuskan apakah resource yang minta dapat di alokasikan. Juga diperlukan untuk mengatur laju aliran balik dalam arti pembentukan. Laju kedatangan haruslah lebih rendah dari laju kepulangan (balik) untuk menghindari waktu tunda yang disebabkan oleh aliran trafik sendiri.

Tujuan lainnya pada disiplin antrian adalah menghindari kemacetan paket (kongesti). TCP mempertimbangkan packet loss sebagai tanda kongesti. Suatu router dapat memberitahukan TCP kongesti secara lengkap dengan mengbatalkan paket secara sengaja. Berikut akan dijelaskan displin antrian di setiap kernel.

2.5.1 Quality of Service (QoS)

(35)

24 QoS didesain untuk membantu pengguna akhir menjadi lebih produktif dengan memastikan bahwa dia mendapatkan performansi yang handal dari aplikasi-aplikasi berbasis jaringan.

QoS mengacu pada kemampuan jaringan untuk menyediakan layanan yang lebih baik pada lalu lintas jaringan tertentu melalui teknologi yang berbeda-beda. QoS merupakan suatu tantangan yang cukup besar dalam jaringan berbasis IP dan internet secara keseluruhan. Tujuan dari QoS adalah untuk memuaskan kebutuhan-kebutuhan layanan yang berbeda, yang menggunakan infrastruktur yang sama. QoS menawarkan kemampuan untuk mendefinisikan atribut-atribut layanan jaringan yang disediakan, baik secara kualitatif maupun kuantitatif.

Komponen-komponen dari QoS adalah:

Packet loss terjadi ketika satu atau lebih paket data untuk melakukan perjalanan di sebuah jaringan komputer gagal mencapai tujuan. Packet loss bisa disebabkan oleh sejumlah faktor, termasuk degradasi sinyal jangka menengah jaringan karena multi-path fading, drop paket karena kemacetan saluran, paket rusak ditolak di-transit, perangkat keras jaringan yang rusak,

driver jaringan yang rusak atau rutinitas normal routing . Bila disebabkan oleh masalah jaringan, hilang atau menjatuhkan paket dapat berakibat kinerja yang sangat nyata dan akan mempengaruhi semua aplikasi jaringan lain.

Delay, merupakan total waktu yang dilalui suatu paket dari pengirim ke penerima melalui jaringan. Delay dari pengirim ke penerima pada dasarnya tersusun atas hardware latency, delay akses, dan delay transmisi. Delay yang paling sering dialami oleh lalu lintas jaringan yang lewat adalah delay

transmisi, yang dapat dirumuskan sebagai berikut:

1000

(36)

25 • Jitter, merupakan variasi dari delay end-to-end. Level-level yang tinggi pada jitter dalam aplikasi-aplikasi berbasis UDP merupakan situasi yang tidak dapat diterima di mana aplikasi-aplikasinya merupakan aplikasi-aplikasi real-time. Menurut versi tiphon terdapat empat kategori penurunan performansi jaringan peak jitter berikut adalah kategorinya[9]:

Tabel 2.2 Kategori performansi jaringan IP berdasarkan jitter

Kategori Degradasi Peak jitter

Sangat bagus 0 ms

Bagus 75 ms

Sedang 125 ms

Jelek 225 ms

Bandwidth, merupakan rate transfer data maksimal yang dapat diteruskan antara dua titik.

2.5.2 Teknik Disiplin Antrian Di GNU/linux ( HTB )

HTB (Hierarchy Token Bucket) merupakan salah satu disiplin antrian yang memiliki tujuan untuk menerapkan link sharing secara presisi dan adil. Dalam konsep link sharing, jika suatu kelas meminta kurang dari jumlah service

yang telah ditetapkan untuknya, sisa bandwidth akan didistribusikan ke kelas-kelas yang lain yang meminta service[6].

Gambar 2.20Konsep Link Sharing.

(37)

26 parameter rate, sebagai akibatnya seseorang hanya perlu mengeset rate yang akan diberikan ke suatu kelas.

Pada HTB terdapat parameter ceil sehingga kelas akan selalu mendapatkan

bandwidth di antara base rate dan nilai ceil ratenya. Parameter ini dapat dianggap sebagai estimator kedua, sehingga setiap kelas dapat meminjam bandwidth selama

bandwidth total yang diperoleh memiliki nilai di bawah nilai ceil. Hal ini mudah diimplementasikan dengan cara tidak mengijinkan proses peminjaman bandwidth

pada saat kelas telah melampaui rate ini (keduanya leaves dan interior dapat memiliki ceil). Sebagai catatan, apabila nilai ceil sama dengan nilai base rate,

maka akan memiliki fungsi yang sama seperti parameter bounded pada CBQ, di mana kelas-kelas tidak diijinkan untuk meminjam bandwidth. Sedangkan jika nilai ceil di set tak terbatas atau dengan nilai yang lebih tinggi seperti kecepatan

link yang dimiliki, maka akan didapat fungsi yang sama seperti kelas non-bounded. Sebagai contoh, seseorang dapat menjamin bandwidth 1 Mbit untuk suatu kelas, dan mengijinkan penggunaan bandwidth sampai dengan 2 Mbit pada kelas tersebut apabila link dalam keadaan idle. Parameter ceil ini sangatlah berguna untuk ISP karena para ISP kemungkinan besar akan memakainya untuk membatasi jumlah service yang akan diterima oleh suatu pelanggan walaupun pelanggan lain tidak melakukan permintaan service, dengan kata lain kebanyakan ISP menginginkan pelanggan untuk membayar sejumlah uang lagi untuk memperoleh pelayanan yang lebih baik.

Untuk menjadwalkan pengiriman paket dari antrian, maka HTB menggunakan suatu proses penjadwalan yang dapat dijelaskan sebagai berikut:

Class merupakan parameter yang diasosiasikan dengan rate yang dijamin (assured rate) AR, ceil rate CR, prioritas P, level dan quantum. Class

dapat memiliki parent. Selain AR dan CR, didefinisikan juga actual rate

atau R, yaitu rate dari aliran paket yang meninggalkan class dan diukur pada suatu perioda waktu tertentu.

(38)

27

Level dari kelas menentukan posisi dalam suatu hirarki. Leaf-leaf

memiliki level 0, root class memiliki level=jumlah level-1 dan setiap

inner class memiliki level kurang dari satu dari parentnya. Untuk gambar di bawah (jumlah level=3).

2.5.3 Teknik Disiplin Antrian Di FreeBSD ( CBQ )

CBQ (Class Based Queue) dapat menerapkan pembagian kelas dan menshare link bandwidth melalui struktur kelas-kelas secara hirarki. Setiap kelas memiliki antriannya masing-masing dan diberikan jatah bandwidthnya. Sebuah kelas child dapat meminjam bandwidth dari kelas parent selama terdapat kelebihan bandwidth. Gambar di bawah ini menunjukkan komponen dasar dari CBQ. CBQ bekerja sebagai berikut: classifier akan mengarahkan paket-paket yang datang ke kelas-kelas yang bersesuaian. Estimator akan mengestimasi

bandwidth yang sedang digunakan oleh sebuah kelas. Jika sebuah kelas telah melampaui limit yang telah ditentukannya, maka estimator akan menandai kelas tersebut sebagai kelas yang overlimit. Scheduler menentukan paket selanjutnya yang akan dikirim dari kelas-kelas yang berbeda-beda, berdasarkan pada prioritas dan keadaan dari kelas-kelas. Weighted round robin scheduling digunakan antara kelas-kelas dengan prioritas yang sama[7].

Gambar 2.21Cara Kerja Penjadwalan CBQ.

2.6 Sistem Operasi

(39)

28 di bawah kendali sistem operasi, mengakses perangkat keras lewat sistem operasi dan mengikuti aturan-aturan yang dijalankan oleh sistem operasi[2].

Pengertian sistem operasi secara umum ialah pengelola seluruh sumber daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta pemanfaatan sumber daya sistem komputer.

Sistem operasi mengatur pengguna mana yang dapat mengakses suatu sumber daya. Sistem operasi juga sering disebut resource allocator. Satu lagi fungsi penting sistem operasi ialah sebagai program pengendali yang bertujuan untuk menghindari kekeliruan (error) dan penggunaan komputer yang tidak perlu.

Gambar 2.22 Struktur sistem operasi

Sistem Operasi juga bisa disebut sebagai software pada lapisan pertama yang ditaruh pada memory komputer pada saat komputer dinyalakan. Sedangkan

software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu. Layanan inti umum tersebut seperti akses ke disk, manajemen memori, scheduling task, dan antar-muka user. Sehingga masing-masing software tidak perlu lagi melakukan tugas-tugas inti umum tersebut, karena dapat dilayani dan dilakukan oleh Sistem Operasi. Bagian kode yang melakukan tugas-tugas inti dan umum tersebut dinamakan dengan Kernel suatu Sistem Operasi.

Sistem Operasi secara umum terdiri dari beberapa bagian:

(40)

29 • Kernel, yaitu inti dari sebuah Sistem Operasi.

Command Interpreter atau shell, yang bertugas membaca input dari pengguna.

• Pustaka-pustaka, yaitu yang menyediakan kumpulan fungsi dasar dan standar yang dapat dipanggil oleh aplikasi lain.

2.6.1 Kernel

Dalam ilmu komputer, kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani berbagai macam program aplikasi untuk mengakses perangkat keras komputer secara aman[2].

Gambar 2.23Struktur Kernel sistem operasi.

Karena akses terhadap perangkat keras terbatas, sedangkan ada lebih dari satu program yang harus dilayani dalam waktu bersamaan, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan

(41)

30 Sebuah kernel sistem operasi tidak harus ada dan dibutuhkan untuk menjalankan sebuah komputer. Program dapat langsung dijalankan secara langsung di dalam sebuah mesin (contohnya CMOS setup).

Para arsistek sistem operasi mengembangkan kernel system operasi yang pada akhirnya terbagi menjadi 4 bagian yang secara desaign berbeda, salah satunya adalah Monolithic Kernel

2.6.2 Monolitic Kernel

Pendekatan kernel monolitik didefinisikan sebagai sebuah antar muka virtual yang berada pada tingkat tinggi perangkat keras, dengan sekumpulan primitive atau system call untuk mengimplementasikan layanan-layanan sistem operasi, seperti halnya manajemen proses, konkurensi, dan manajemen memori pada modul-modul kernel yang berjalan di dalam mode supervisor[2].

Meskipun setiap modul memiliki layanan operasi-operasi tersebut terpisah dari modul utama, integrasi kode yang terjadi di dalam monolitik kernel sangatlah kuat, dan karena semua modul berjalam dalam address space yang sama, sebuah

bug dalam salah satu modul dapat merusak keseluruhan sistem. Akan tetapi, ketika implementasi dilakukan secara benar, integrasi komponen internal yang sangat kuat tersebut justru mengijinkan fitur-fitur yang dimiliki oleh sistem yang berada dibawahnya dieksploitasi secara efektif, sehingga membuat sistem operasi dengan kernel monolitik sangatlah efisien, meskipun sangat sulit membuatnya.

(42)

31

2.6.3 Sistem Operasi GNU/linux

GNU/linux adalah tiruan (clone) UNIX. Mulanya, pengembangan linux dilakukan Linus Benedict Torvalds, Universitas Helsinki, Finlandia sebagai proyek hobby. GNU/linux tidak memuat kode UNIX, namun di tulis ulang berdasarkan standar POSIX[2].

Terdapat banyak distribusi (pemaket) GNU/linux untuk mempermudah mendapatkan GNU/linux. Distribusi GNU/linux antara lain Red hat, Slackware, Debian, Gentoo dan masih banyak lagi. Distribusi-distibusi kernel di setujui oleh linus sehingga menjamin kompatibilitas. Karena kode sumber GNU/linux diedarkan maka GNU/linux dapat menjadi sarana untuk belajar sistem operasi.

kernel GNU/linux merupakan inti dari proyek GNU/linux, tetapi komponen lainlah yang membentuk secara komplit sistem operasi GNU/linux. Dimana kernel GNU/linux terdiri dari kode-kode yang dibuat khusus untuk proyek GNU/linux, kebanyakan perangkat lunak pendukungnya tidak eksklusif terhadap GNU/linux, melainkan biasa dipakai dalam beberapa sistem operasi yang mirip UNIX.

(43)

32

Gambar 2.24Arsitektur Sistem operasi GNU/Linux

Sistem GNU/linux terdiri dari tiga bagian kode penting yaitu:

1. Kernel bertanggung jawab memelihara semua abstraksi penting dari sistem operasi, termasuk hal seperti proses- proses dan memori virtual. 2. Perpustakaan sistem menentukan kumpulan fungsi standar dimana aplikasi

dapat berinteraksi dengan kernel, dan mengimplementasi hampir semua fungsi sistem operasi yang tidak memerlukan hak penuh atas kernel. 3. Utilitas Sistem adalah program yang melakukan pekerjaan manajemen

secara individu dan khusus.

2.6.3.1 Gentoo GNU/linux

(44)

33 Konfigurasi yang sangat ekstrim, dukungan dari sesama user dan developer yang sangat bagus adalah salah satu kelebihan Gentoo[8].

Berkat adanya teknologi bernama Portage, Gentoo GNU/linux dapat menjadi server yang aman, sistem develop, profesional desktop, game sistem, solosi buat 'embedded' atau apa pun sesuai yang kita ingini. Karena kemampuan adaptasi Gentoo yang hampir tidak ada batasnya, maka Gentoo GNU/linux disebut sebagai sistem operasi MetaDistribusi.

2.6.4 Sistem Operasi FreeBSD

FreeBSD adalah sistem operasi berbasis unix dan merupakan turunan asli dari sistem operasi UNIX AT & T yang di distribusikan oleh Barkeley Sistem Distribution (BS ) yang dikembangkan dari system 4.4BSD-lite. Unix sendiri merupakan sistem operasi yang dikembangkan dengan menggunakan bahasa

assembly. Pada perkembangan selanjutnya, UNIX kemudian ditullis ulang dalam bahasa C dan di kembangkan lebih lanjut di laboratorium Bell milik AT-T. Keistimewaan FreeBSD yang merupakan turunan langsung dari system UNIX dibandingkan sistem operasi lain adalah[2] :

• Multiuser

FreeBSD mendukung pengunaan sistem dan berbagai sumber daya yang ada dalam sistem (misalnya hardisk) secara bersamaan oleh banyak user

dalam waktu yang bersamaan.

• Multitasking

Dengan sifat yang multitasking ini user dapat melakukan berbagai pekerjaan sekaligus dalam satu waktu yang bersamaan dengan satu terminal. Pada saat system sedang proses suatu pekerjaan, misalnya proses

(45)

34 • Portabilitas

FreeBSD dapat di install dalam arsitektur mesin yang berbeda-beda. Sehingga dapat bekerja pada keluarga mesin intel x86, DEC Alpha, Sun UltraSPARC,IA-64,AMD64,Power PC, dan NEC PC-98. Dengan

portabilitasnya yang tinggi dapat mengihilangkan ketergantungan user

pada satu vendor, sehingga user memiliki kebebasan untuk berganti-ganti jenis mesin sesuai dengan kebutuhan.

• Hirarki sistem file

Dengan adanya sistem file yang terstruktur dengan baik, memudahkan bagi user untuk mengatur letak file, hal ini memudahkan bagi user dalam melakukan pengaturan terhadap sistem

Gambar 2.25Struktur Hirarki standar file sistem.

(46)

35

BAB III

PERANCANGAN SISTEM

Bab ini akan memaparkan bagaimana sistem dirancang sedemikian rupa sehingga menjadi sebuah PC router yang mampu membagi bandwidth dengan sama rata dan adil, dapat dilihat dari diagram dibawah ini.

Gambar 3.1 Diagram Perancangan Secara Umum.

Lalu perancangan jaringan secara umum dan alur paket yang di kirim maupun yang di terima dari client ke server, atau sebaliknya, dapat di lihat pada diagram di bawah ini.

(47)

36

3.1 Instalasi Sistem

3.1.1 Perangkat Keras yang Digunakan

Tabel 3.1 Perangkat Keras yang digunakan.

Hardware Jumlah Spesifikasi

Server 1

a. Asus

b. Ram 1.5 GB

c. Harddisk 40 GB

d. 100 Mbps Nic Via

e. 100 Mbps Nic Realtak

Client 3 PC atau Notebook

Switch 1 Buah Switch 100 Mbps D-Link

Kabel UTP 4 Meter Belden Australia

3.1.2 Perangkat Lunak yang Digunakan

• Gentoo GNU/linux 2008 sebagai sistem operasi GNU/linux.

• FreeBSD 7.1 sebagai sistem operasi FreeBSD.

• Iproute sebagai NAT (Network Address Translation) di GNU/linux.

• Ipnat sebagi NAT di FreeBSD.

• Dnsmasq sebagai server ip (dhcp) di GNU/linux.

• Dhcpcd sebagai server ip (dhcp) di FreeBSD.

• IPerf merupakan perangkat lunak yang digunakan untuk mengukur performansi jaringan.

(48)

37

3.1.3

Instalasi Sistem Operasi Gentoo GNU/linux

Gentoo sebagai sistem operasi berbasis GNU/linux yang dijadikan penelitian dalam tugas akhir ini adalah gentoo release 2008 (proses instalasi ada di halaman lampiran B).

3.1.4

Instalasi Sistem Operasi FreeBSD

FreeBSD sebagai sistem operasi pengembangan dari unix yang digunakan dalam penelitian tugas akhir ini adalah FreeBSD release 7.1 (proses instalasi ada pada halaman lapiran B).

3.2

Konfigurasi, Kompilasi dan Instalasi Kernel 3.2.1

Menggunakan Kernel GNU/linux

Agar Semua kebutuhan yang kita inginkan dalam sebuah sistem operasi yang akan dijadikan server maka modul-modul yang tidak diperlukan dalam

server sebaiknya kita abaikan saja, karena dengan demikian kernel akan menjadi lebih optimal ketika melakukan tugas-tugasnya.

• Konfigurasi Kernel GNU/linux

Pertama kali setelah melakukan instalasi maka masuk kedalam konfigurasi kernel, disini saya menggunakan kernel 2.6.30-Gentoo-r6. Untuk melakukan konfigurasi kernel di GNU/linux berada pada directory

/usr/src/GNU/linux, maka kita harus pindah kedalam direktori tersebut

cd /usr/src/GNU/linux

/usr/src/GNU/linux# make menuconfig

(49)

38

Gambar 3.3 Tampilan GUI Konfigurasi Kernel GNU/linux.

Setelah masuk ke dalam konfigurasi kita pilih modul-modul apa saja yang dibutuhkan pada sistem server kita. Karena kita membutuhkan untuk server

seperti router, dhcp server, iptables, teknik antrian maka kita terfokus pada bagian

networking. Berikut adalah modul-modul yang di aktifkan:

Networking --->

Networking options --->

(50)

39 <M> Firewall based classifier

[*] Traffic policing (needed for in/egress)

Gambar 3.4 Konfigurasi kernel GNU/linux.

• Kompilasi dan Instalasi Kernel

Setelah melakukan konfigurasi seperti yang dilakukan diatas maka waktunya untuk mengkompilasi dan instalasi, bagian ini sangat penting karena modul-modul yang telah diaktifkan akan di simpan sesuai pada tempatnya misalnya untuk kartu jaringan maka akan modulnya akan disimpan pada /etc/network , dll.

Untuk melakukan kompilasi bisa dilakukan secara terpisah atau bersamaan dengan instalasi kernel. Dengan mengetikan perintah berikut

/usr/src/GNU/linux#make && make modules_install

• Make yang pertama adalah proses dari kompilasi.

(51)

40

3.2.2

Menggunakan Kernel FreeBSD

Sama halnya dengan kernel GNU/linux, konfigurasi dan instalasi kernel menjadi bagian yang penting dalam system FreeBSD dalam menjalankan sebuah

server.

• Konfigurasi Kernel FreeBSD

Setelah proses instalasi FreeBSD selesai, saatnya untuk konfigurasi kernel, Untuk melakukan konfigurasi kernel pada FreeBSD, kita harus pindah directory

terlebih dahulu ke /usr/src/sys/i386/conf, dan konfigurasi kernel berada pada file GENERIC, jika akan menambah atau mengurangkan konfigurasi kernel salin terlebih dahalu file GENERIC menjadi nama file yang lain misalnya ROUTER.

cd /usr/src/sys/i386/conf

cp GENERIC ROUTER

nano –w ROUTER

Setelah perintah terakhir dilakukan maka akan keluar tampilan seperti pada gambar 3.5.

(52)

41 karena yang dibutuhkan pada kernel adalah sebagai server yang dapat mengatur bandwidth, maka aktifkan yang dibutuhkan saja dengan cara menghilagkan tanda kress (#), sebagai salah satu cara dalam mempercepat mengakses sistem operasi.

• Kompilasi dan Instalasi kernel

Setelah memberikan konfigurasi kernel pada file yang telah dimodifikasi, kernel siap untuk dikompilasi, langkah-langkah dalam kompilasi dan instalasi kernel dalam lingkungan FreeBSD, sedikit sama dengan lingkungan GNU/linux namun dalam FreeBSD kernel harus dikonfigurasi terlebih dahulu agar sistem dapat mengenali file yang telah dimofidikasi.

config ROUTER

cd . ./compile/ROUTER

make depand

make && make install

3.3 Konfigurasi Server

Setelah mengaktifkan modul-modul kernel yang dibutuhkan dalam pembuatan pc sebagai server, maka selanjutnya konfigurasi pc agar memberikan sumber daya ke client, dalam hal ini lebih diutamakan pada bagian router dan DHCP server.

3.3.1 Menggunakan Kernel GNU/linux

Sebelum memulai mengkonfigurasi PC sebagai router yang dibutuhkan adalah minimal memiliki 2 NIC (Network Interface Card) dan beberapa konfigurasi pada jaringan internet yang digunakan. Untuk lebih mudah penulis definisikan terlebih dahulu NIC yang digunakan.

• NIC 0 / Ethernet 0 / eth0 : adalah NIC yang terhubung ke internet

• NIC 1 / Ethernet 1 / eth1 ; adalah NIC yang terhubung ke LAN

(53)

42

Gambar 3.6 Topologi yang digunakan pada kernel GNU/linux.

• Eth0 diberikan IP Address : DHCP

• Eth1 diberikan IP Address : 192.168.5.100

• Dengan default Gateway (ADSL) : 100.10.1.254

Router yang digunakan adalah router dinamis yaitu router yang dikonfigurasi secara otomatis dalam penerimaan atau pengiriman IP dari ISP. Setelah itu konfigurasi terlebih dahulu kartu jaringan yang digunakan agar sesuai dengan yang telah di definisikan dan sesuai dengan topologi yang digunakan.

Untuk konfigurasi kartu jaringan (NIC) pada distibusi GNU/linux Gentoo berada pada file /etc/conf.d/net. Berikut adalah hasil konfigurasi dari file

Net.

dns_domain_lo="tk.unikom.ac.id"

config_eth0=("dhcp")

routes_eth0=("default gw 100.10.1.254")

config_eth1=("192.168.5.100 broadcast 192.168.5.255 netmask

(54)

43 Setelah itu dilanjutkan untuk mengkonfigurasi DHCP server agar client

dapat dengan mudah dalam mendapat akses ke jaringan luar. Di sini saya menggunakan aplikasi tambahan dalam DHCP server, yaitu adalah dnsmasq, dnsmasq bekerja selain memberikan ip ke client dnsmasq juga memberikan DNS atau sebagai DNS server juga. ke client yang didapat dari PC router. Untuk itu maka perlu di install dnsmasq

emerge dnsmasq

vim /etc/dnsmasq.conf

Setelah install selesai konfigurasi file dnsmasq yang berada pada /etc/dnsmasq.conf berikut adalah konfigurasinya.

dhcp-range=192.168.0.150,192.168.0.250,72h interface=eth0

Setelah semua client dalam LAN dapat berkomunikasi dengan router lokal dan sesama client yang lain, maka dibutuhkan konfigurasi NAT (Network Address Translation) agar semua client dapat mengkases jaringan luar. Berikut adalah konfigurasi NAT dengan bantuan iptables :

Pertama hapus semua aturan

iptables -F

iptables -t nat -F

Setup aturan-aturan default untuk menangani traffic yang tidak cocok

iptables -P INPUT ACCEPT

Kemudian kunci layanan kita agar hanya dapat digunakan di LAN

iptables -I INPUT 1 -i ${LAN} -j ACCEPT

(55)

44 iptables -A INPUT -p TCP --dport ssh -i ${WAN} -j ACCEPT

Tolak paket-paket TCP/UDP ke port-port khusus

iptables -A INPUT -p TCP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP

iptables -A INPUT -p UDP -i ! ${LAN} -d 0/0 --dport 0:1023 -j DROP

Terakhir tambahkan aturan untuk NAT

iptables -I FORWARD -i ${LAN} -d 192.168.0.0/255.255.0.0 -j DROP

iptables -A FORWARD -i ${LAN} -s 192.168.0.0/255.255.0.0 -j ACCEPT

iptables -A FORWARD -i ${WAN} -d 192.168.0.0/255.255.0.0 -j ACCEPT

iptables -t nat -A POSTROUTING -o ${WAN} -j MASQUERADE

Setelah membuat aturan NAT maka setting file sysctl yang berada pada

directory /etc/sysctl.conf lalu ubah atau tambahkan konfigurasi menjadi seperti di bawah ini.

net.ipv4.ip_forward = 1

net.ipv4.conf.default.rp_filter = 1

Untuk melihat aturan iptables yang telah di buat ketikan perintah

iptables –L dan iptables –L –t nat, setelah itu save iptables agar setiap

komputer restart kernel akan terus mengenali aturan yang sebelumnya. Dengan menggunakan perintah /etc/init.d/iptables save, lalu rc-update add iptables default

3.3.2 Menggunakan Kernel FreeBSD

Sama halnya seperti yang dilakukan di kernel GNU/linux setelah dicek kartu jaringan NIC yang dikenal oleh system FreeBSD bukan Ethernet (eth) melainkan vr0 dan rl0. Agar segalanya terlihat mudah saya definisikasn terlebih dahulu.

• NIC 0 / vr0 : merupakan NIC yang terhubung ke internet

• NIC 1 / rl0 : merupakan NIC yang terhubung ke LAN

(56)

45 • Rl0 di setting dengan IP address 192.168.0.100

• Dengan default gateway sesuai dengan IP Address ADSL yaitu 100.10.1.254

• Dengan menggunakan topologi star ( lihat gambar 3.7 )

Gambar 3.7 Topologi yang digunakan pada kernel FreeBSD.

PC router berbasis kernel FreeBSD ini mengunakan router statik, router

statik yaitu router yang dikonfigurasi secara statis dari IP addressnya hanya untuk

router. Lalu mengkonfigurasi kartu jaringan dan membuat PC menjadi sebuah

server berikut adalah langkah-langkah yang dilakukan.

Konfigurasi sistem dan kartu jaringan bisa di lihat di directory /etc/rc.conf, buka file rc.conf dengan perintah nano –w /etc/rc.conf lalu konfigurasikan kartu jaringan yang digunakan.

ifconfig_rl0=”inet 192.168.0.100 netmask 255.255.255.0"

ifconfig_vr0=”inet 100.10.1.124 netmask 255.255.255.0"

defaultrouter=”100.10.1.254"

(57)

46 hanya dalam satu file yaitu rc.conf. setelah di buka maka tambahkan konfigurasi berikut ini ke dalam filerc.conf.

gateway_enable=”YES”

inetd_enable=”YES”

sendmail_enable=”NONE”

ipnat_enable=”YES”

ipnat_rules=”/etc/ipnat.rules”

dhcpd_ifaces=”rl0"

dhcpd_enable=”YES”

penjelasan dari konfigurasi diatas adalah :

• gateway_enable : mengaktifkan PC sebagai gateway.

• inetd_enable : mengaktifkan PC sebagai penyedia layanan internet.

• sendmail_enable= menonaktifkan pesan yang dikirim dari sistem kepada

user.

• ipnat_enable = mengaktifkansalah satu firewall ipnat.

• ipnat_rules = mengarahkan aturan firewall ke file ipnat.rules dengan aturan seperti dibawah ini.

Map vr0 192.168.0.0/24 -> 0.0.0.0/32 portmap tcp/udp

40000:65000

map vr0 192.168.0.0/24 -> 0.0.0.0/32

• dhcpd_ifaces = DHCP server diaktifkan pada kartu jaringan rl0.

• dhcpd_enable = mengaktifkan server DHCP.

Setelah mengkonfigurasi file rc.conf langkah selanjutnya adalah mengkonfigurasi file sysctl.conf, file ini berfungsi untuk memberikan akses kepada client berikut adalah konfigurasinya.

net.inet.ip.fw.verbose=1

net.inet.ip.fw.verbose_limit=100

Gambar

Gambar 2.22 Struktur sistem operasi
Gambar 2.24 Arsitektur Sistem operasi GNU/Linux
Gambar 3.2 Diagram Perancangan Jaringan Secara Umum.
Tabel 3.1 Perangkat Keras yang digunakan.
+7

Referensi

Dokumen terkait

Berdasarkan analisis tabel silang antara variabel aktivitas dan variabel hasil pada kelas eksperimen yang menggunakan media visual berbasis TI dan kelas kontrol yang

Berdasarkan hasil perhitungan variabel amenitas dan aksesibilitas, diantara 2 variabel yang diteliti, variabel amenitas dari dimensi fasilitas umum di lokasi wisata

Stoltz (2007) mengemukakan faktor-faktor yang mempengaruhi kecerdasan adversity antara lain:.. 1) Daya saing menemukan bahwa orang-orang yang merespon kesulitan

tidak berpasangan ( independent sample t test ) untuk pengetahuan pasien tuberkulosis antara yang diberi penyuluhan kesehatan menggunakan media cetak dan media audio visual pada

Simpulan: Penggunaan pasta gigi dengan kandungan xylitol dan flouride dapat menghambat pembentukan plak gigi tetapi pasta gigi dengan flouride tidak dapat menghambat

Akibat produktivitas hasil panen yang menurun, program ini kurang bisa menyediakan bahan bakar yang maksimal bagi perusahaan namun sudah dapat memberikan pekerjaan bagi

Hasil dari penelitian ini menunjukkan bahwa (1) tingkat pendidikan staf keuangan berpengaruh positif terhadap penerapan akuntansi akrual; (2) pelatihan keuangan

Cyberloafing adalah tindakan karyawan yang menggunakan akses internet perusahaan mereka selama jam kerja yang tidak berhubungan