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

(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 2010


(2)

vii

DAFTAR GAMBAR

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.

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………...

5 5 6 6 7 7 8 9 10 12 13 14 15 16 17 17 19 21 23 25 27 28 29 32 34 35


(3)

viii 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52.

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……….

35 38 39 40 42 45 48 50 52 53 54 61 61 62 65 66 68 68 69 71 74 76 78 79 79 80


(4)

iii

DAFTAR ISI

Halaman KATA PENGANTAR... DAFTAR ISI... DAFTAR TABEL... DAFTAR GAMBAR... DAFTAR LAMPIRAN... ABSTRAK...

BAB I PENDAHULUAN... 1.1 Latar Belakang... 1.2 Maksud dan Tujuan... 1.3 Batasan Masalah... 1.4 Metodologi Penelitian... 1.5 Sistematika Penulisan...

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

2.1.1 Komponen Jaringan Komputer... 2.1.1.1 Kabel... 2.1.1.2 Kartu Ethernet... 2.1.1.3 Hub dan Switch... 2.1.1.4 Router... 2.1.2 Konsep Hubungan Jaringan Komputer... 2.1.2.1 Hubungan Peer to Peer... 2.1.2.2 Hubungan Client Server... 2.1.3 Jenis Jaringan Berdasarkan Cakupan Geografis... 2.1.3.1 Local Area Network (LAN) ...

i iii vi vii ix x 1 1 2 2 2 3 4 4 4 5 6 7 7 8 8 10 11 12


(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.3 Server... 2.3.1 DHCP Server... 2.4 Firewall... 2.4.1 Tipe Firewall... 2.4.2 Fungsi Firewall... 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...

12 12 13 14 15 18 19 19 20 20 20 22 22 23 25 27 27 29 30 31 32 33 35 36 36 36 37 37 37 37


(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...

BAB V KESIMPULAN DAN SARAN.... 5.1 Kesimpulan... 5.2 Saran...

DAFTAR PUSTAKA………...

LAMPIRAN A………...

LAMPIRAN B………...…...

LAMPIRAN C………...…………... 40 41 41 44 47 48 50 52 52 53 56 56 57 58 82 82 82 83 84 85 86


(7)

ix

DAFTAR LAMPIRAN

1. 2. 3.

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

84 85 86


(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]. http://pinger.seecs.edu.pk/tutorial/tutorial.html diakses pada tanggal 20 Februari 2010.


(9)

vi

DAFTAR TABEL

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.

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………

17 25 36 59 60 63 63 63 64 64 64 66 67 70 70 71 72 73 73 75 75 77 77 80


(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.

4. Bapak Andi Sugandi S.Kom, selaku pembimbing II, 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.

Dengan Menggunakan sistem operasi GNU/linux dan FreeBSD yang merupakan sistem operasi yang free opensource sehingga bebas untuk digunakan dan mampu berjalan di PC biasa.


(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

4. Pengujian, pengambilan data, dan analisa 5. Kesimpulan


(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

Kesimpulan diperoleh dari hasil penelitian dan pembahasan, diikuti dengan saran yang diajukan oleh penyusun.


(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

Sebuah sistem jaringan komputer akan terbentuk dari beberapa komponen yang menunjang dalam jaringan itu sendiri, oleh karena itu akan dipaparkan tentang komponen-komponen yang dibutuhkan untuk membangun sebuah 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

Ethernet card atau landcard berfungsi sebagai media penghubung antara komputer dengan jaringan. Ada beberapa jenis port koneksi yang dapat digunakan. Jika didesain untuk jenis kabel coaxial maka konektor yang dipakai adalah konektor BNC (Bareel Nut Connector). Sementara jika di desain untuk kabel twisted pair maka konektor yang di pakai adalah konektor RJ-45[3].


(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.

Router bekerja dengan melihat alamat asal dan alamat tujuan dari paket yang melewatinya dan memutuskan rute yang akan dilewati paket tersebut untuk sampai ke tujuan. Router mengetahui alamat masing-masing komputer di lingkungan jaringan lokal, mengetahui alamat bridge, dan router lainnya[3].


(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

standalone (berdiri sendiri). Membangun sebuah jaringan seperti ini pengguna bisa menggunakan komputer-komputer yang memiliki kemampuan yang setara karena keamanan dalam jaringan tersebut diatur dan di kontrol oleh masing-masing komputer dalam jaringan tersebut.


(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

Wide Area Network (WAN). Namun yang lebih banyak digunakan adalah jenis LAN.


(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

Pada topologi star, terdapat sebuah terminal pusat (hub/switch) yang mengatur dan mengendalikan semua kegiatan komunikasi data. Traffic data mengalir dari node ke terminal pusat dan diteruskan ke node (station) tujuan. Berikut adalah skema dari topologi star[4].


(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

Komunikasi data merupakan proses mengirimkan data dari satu komputer ke komputer yang lain. Untuk dapat mengirim data, pada komputer harus ditambahkan alat khusus yang di kenal dengan network interface. Dalam proses pengiriman data ini terdapat beberapa masalah yang harus dipecahkan. Pertama, data harus dapat dikirim ke komputer yang tepat, sesuai dengan tujuannya. Namun hal ini akan menjadi rumit jika komputer tujuan tidak berada dalam


(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].

Datagram adalah skema pensaklaran paket (packet switching) dimana tidak terdapat rute yang pasti antara sumber pengirim paket dan tujuannya. Paket


(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.

Pada alamat IPv4 dikelompokan dalam 5 kelas yaitu kelas A, kelas B, kelas C, kelas D dan kelas E. Kelas D digunakan untuk multicast address dan kelas E digunakan untuk keperluan masa depan. Perbedaan pada setiap kelas tersebut adalah ukuran dan jumlahnya. Pembagian kelas-kelas IP address ini


(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

A : 11111111 00000000 00000000 00000000 255.0.0.0 B : 11111111 11111111 00000000 00000000 255.255.0.0 C : 11111111 11111111 11111111 00000000 255.255.255.0


(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

server sangat banyak, misalnya untuk situs internet, ilmu pengetahuan, atau sekedar penyimpanan data. Namun yang paling umum adalah untuk mengkoneksikan komputer client ke Internet.


(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].

IPTables memiliki tiga macam daftar aturan bawaan dalam tabel penyaringan, daftar tersebut dinamakan rantai firewall (firewall chain) atau sering


(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.

Aplikasi firewall yang cocok di GNU/linux ini secara default telah terinstall di hampir semua distribusi GNU/linux dengan menggunakan kernel 2.6.x (bila di bawah versi kernel tersebut belum secara default terinstal), seperti, Ubuntu, RedHat, openSUSE, Fedora Core, Slackware, Debian, dan lain sebagainya. Pada saat kita menginstalasi Ubuntu, iptables memang sudah terinstall, tapi default-nya mengijinkan semua traffic untuk lewat. Namun untuk


(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.

Antrian dalam setiap kartu ethernet disebut qdisc (queuing discipline) yang dipergunakan untuk menyimpan antrian paket data, paket data masuk ataupun keluar melalui qdisc. Paket data yang memasuki qdisc akan dipisahkan oleh bagian filter untuk menentukan port / alamat ip yang akan di atur aliran trafiknya. qdisc yang berwarna ungu (lihat gambar 2.19) dipergunakan untuk mengeluarkan paket data ke kartu ethernet[6].


(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)

QoS merupakan kependekan dari Quality of Service, Qos didefinisikan bahwa QoS adalah suatu pengukuran tentang seberapa baik jaringan dan merupakan suatu usaha untuk mendefinisikan karakteristik dan sifat dari suatu service. QoS biasanya digunakan untuk mengukur sekumpulan atribut performansi yang telah dispesifikasikan dan biasanya diasosiasikan dengan suatu servis. Pada jaringan berbasis IP, IP QoS mengacu pada performansi dari paket-paket IP yang lewat melalui satu atau lebih jaringan[6].


(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 _

8

_ × ×

=

speed line

size packet

Delay ms…………( 2.1)

Untuk aplikasi-aplikasi suara dan video interaktif, kemunculan dari delay akan mengakibatkan sistem seperti tak merespon.


(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.

HTB menggunakan TBF sebagai estimator yang sangat mudah diimplementasikan. TBF sangat mudah di set karena banyak dari administrator jaringan yang memiliki ilmu tentangnya. Estimator ini hanya menggunakan


(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.

Leaf merupakan class yang tidak memiliki anak. Hanya leaf yang dapat memegang antrian paket.


(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

Sistem operasi merupakan sekumpulan rutin perangkat lunak yang berada di antara program aplikasi dan perangkat keras. Semua perangkat lunak berjalan


(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

multiplexing. Akses kepada perangkat keras secara langsung merupakan masalah yang kompleks, oleh karena itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi lebih mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programmer.


(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.

Pada sistem operasi modern yang menggunakan kernel monolitik, seperti halnya GNU/linux, FreeBSD, Open Solaris, dan Microsoft Windows, dapat memuat modul modul yang dapat dieksekusi pada saat kernel tersebut dijalankan sehingga mengijinkan ekstensi terhadap kemampuan kernel sesuai kebutuhan, dan tentu saja dapat membantu menjaga agar kode yang berjalan pada ruangan kernel seminim mungkin.


(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.

Pembagian (sharing) alat-alat telah bekerja dalam dua arah. Sistem perpustakaan utama GNU/linux awalnya dimulai oleh proyek GNU, tetapi perkembangan perpustakaannya diperbaiki melalui kerjasama dari komunitas GNU/linux terutama pada pengalamatan, ketidak efisienan, dan bugs. Komponen lain seperti GNU C Compiler, gcc, kualitasnya sudah cukup tinggi untuk dipakai langsung dalam GNU/linux. Alat-alat administrasi jaringan dibawah GNU/linux berasal dari kode yang dikembangkan untuk 4.3 BSD, tetapi BSD yang lebih baru, salah satunya FreeBSD, sebaliknya meminjam kode dari GNU/linux, contohnya adalah perpustakaan matematika Intel floating-point-emulation. Berikut adalah arsitektur dari system operasi GNU/linux :


(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

Gentoo GNU/linux adalah suatu distribusi GNU/linux yang memakai paket sistem manajemen Portage Manajemen paket ini dirancang untuk modular (mudah ditambah-tambah), portabel (dapat di port ke distro lain), mudah ditata, fleksibel, dan dioptimalkan untuk masing-masing komputer pengguna. Paket-paketnya biasanya dibangun dari kode sumber (source), walaupun untuk kenyamanan, sebagian besar paket perangkat lunak juga tersedia dalam bentuk binari. Gentoo GNU/linux, distribusi yang mempunyai keunikan tersendiri dan dapat dioptimisasi dan diubah untuk hampir segala jenis aplikasi atau kegunaan.


(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

compiling, user dapat melakukan pekerjaan lain tanpa harus menunggu proses lain selesai terlebih dahulu


(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.

Dengan minimalnya kebutuhan hardware dan kelebihan yang dimiliki FreeBSD, menjadi sistem ini cukup handal jika di jadikan sebuah system server.


(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.

• ping, yaitu perangkat lunak yang digunakan untuk mengukur response time dan paket loss.


(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

Setelah perintah di atas di enter maka akan nampak sebuah aturan GUI untuk mengkonfigurasi kernel pada lingkungan GNU/linux seperti gambar dibawah ini :


(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 --->

[*] Network packet filtering (replaces ipchains) ---> IP: Netfilter Configuration --->

<*> Connection tracking (required for masq/NAT) <*> Userspace queueing via NETLINK

<*> IP tables support (required for filtering/masq/NAT) <*> limit match support

<*> IP range match support <*> MAC address match support <*> Packet type match support <*> netfilter MARK match support <*> Multiple port match support <*> TOS match support

<*> recent match support <*> ECN match support <*> DSCP match support <*> AH/ESP match support <*> LENGTH match support <*> TTL match support <*> tcpmss match support <*> Helper match support

<*> Connection state match support <*> Connection tracking match support <*> Owner match support


(50)

39 <*> Packet filtering

<*> REJECT target support <*> LOG target support <*> ULOG target support <*> TCPMSS target support <*> Full NAT

<*> MASQUERADE target support <*> REDIRECT target support <*> NETMAP target support <*> SAME target support <*> Packet mangling <*> TOS target support <*> ECN target support <*> DSCP target support <*> MARK target support <*> CLASSIFY target support

<M> raw table support (required for NOTRACK/TRACE) <M> NOTRACK target support

<*> ARP tables support <*> ARP packet filtering <*> ARP payload mangling QoS and/or fair queueing ---> <M> HTB packet scheduler <M> SFQ queue

[*] QoS support [*] Rate estimator [*] Packet classifier API <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 • Topologi yang digunakan adalah topologi star ( lihat gambar 3.6 )


(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 255.255.255.0")


(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 iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP

Definisi kartu jaringan

export LAN=eth0 export WAN=eth1

Kemudian kunci layanan kita agar hanya dapat digunakan di LAN

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

iptables -A INPUT -p UDP --dport bootps -i ! ${LAN} -j REJECT

iptables -A INPUT -p UDP --dport domain -i ! ${LAN} -j REJECT


(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 • Vr0 di setting dengan IP address 100.10.1.124


(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"

Setelah kartu jaringan di beri IP address, langkah selanjutnya adalah membuat PC menjadi server, buka kembali file rc.conf yang sebelumnya dibuka karena karakter dari FreeBSD menempatkan konfigurasi sistem dapat dikenal


(1)

77 d. Percobaan tiga client

Pada sistem operasi GNU/linux

Tabel 4.19 Percobaan mengunduh tiga client pada GNU/linux

Besar file ∆ Waktu (dalam 1 menit) Besar Bandwidth

Client 1 Client 2 Client 3

299 MB

0 - 1 311 Byte 749 Byte 307 Byte 1 – 2 2.3 KB 2.9 KB 138 Byte 2 – 3 2.0 KB 3.0 KB 805 Byte

3 – 4 2.0 KB 2.8 KB 1.02 KB

4 – 5 1.8 KB 2.3 KB 1.3 KB

5 - 6 1.9 KB 2.1 KB 1.5 KB

6 – 7 2.0 KB 1.9 KB 1.8 KB

7 – 8 1.9 KB 1.8 KB 1.8 KB

8 – 9 2.0 KB 2.1 KB 1.5 KB

9 – 10 1.9 KB 1.8 KB 2.0 KB

Pada sistem operasi FreeBSD

Tabel 4.20 Percobaan mengunduh tiga client pada FreeBSD

Besar file ∆ Waktu (dalam 1 menit) Besar Bandwidth

Client 1 Client 2 Client 3

299 MB

0 - 1 3,0 KB 2.9 KB 436 Byte

1 – 2 3.2 KB 2.7 KB 1.1 KB

2 – 3 2.9 KB 4.1 KB 1.0 Byte

3 – 4 3.1 KB 3.1 KB 1.2 KB

4 – 5 3.3 KB 4.1 KB 1.1 KB

5 - 6 2.9 KB 2.5 KB 1.5 KB

6 – 7 3.0 KB 2.5 KB 1.4 KB

7 – 8 2.7 KB 2.6 KB 1.7 KB

8 – 9 3.8 KB 3.3 KB 909 Byte


(2)

78 Gambar 4.12 Grafik Perbandingan Mengunduh 3 client.

Untuk perbandingan dengan tiga client dapat dilihat grafiknya pada gambar di atas. Secara teori jika menggunkan 3 client maka tiap-tiap client akan mendapatkan bandwidth sebesar 2 Kbyte.

Jika dilihat dari grafik diatas server yang menggunkana GNU/linux lebih adil dan lebih mematuhi aturan dari teknik antrian. Sedangkan yang FreeBSD besaran bandwidthnya selalu berubah-ubah pada tiap clientnya.

Tahap Keenam

Pada tahap terakhir ini akan diamati besarnya file yang di unduh menggunakan download manager, mengunakan aplikasi internet download manager (IDM), sehinnga dapat terlihat server mana yang mampu membagi

bandwidth meskipun menggunakan IDM yang dapat mengambil bandwidth lebih banyak dari yang telah ditetapkan.


(3)

79 Berikut adalah gambar yang diambil ketika menggunakan IDM :

• Menggunakan Server GNU/Linux

Gambar 4.13 Mengunduh menggunakan IDM di client pada GNU/Linux.

• Menggunakan Server FreeBSD

Gambar 4.14 Mengunduh menggunakan IDM di client dari FreeBSD.

.

Pada tahap uji coba mengunduh file menggunakan aplikasi download manager pada kedua sistem operasi tersebut, dapat dilihat dari gambar 4.3 dan 4.4 mengunduh file menggunakan server GNU/linux dapat mengambil data lebih dari 5 pengambilan data pada aplikasi download manager. Sedangkan pada server

FreeBSD pengambilan data pada aplikasi download manager berada di bawah 5 pengambilan data. Sehingga server FreeBSD lebih baik dalam mengatur


(4)

80

Menggunakan FreeBSD Menggunakan GNU/Linux

Gambar 4.15 Perbandingan Mengunduh Menggunakan IDM.

Dari pembahasan sebelumnya, diambil semua perbandingan dari tabel di bawah ini:


(5)

81 Dari tabel 4.21 terlihat dari poin 1 hingga poin 4, FreeBSD lebih baik dalam sisi packet loss yaitu paket yang dikembalikan oleh FreeBSD lebih baik dibandingkan GNU/linux, begitu juga dengan jitter dan latency yang merupakan perbedaan waktu kedatangan paket dan keterlambatan paket FreeBSD lebih handal sehingga dari sisi Quality of Service, FreeBSD dapat dikatakan sangat baik bila dibandingkan dengan GNU/linux.

Namun bila di lihat dari sisi mengunduh GNU/linux lebih baik dari FreeBSD dapat dilihat pada poin 5 hingga poin 6, ini dikarenakan firewall yang digunakan oleh GNU/linux lebih terfokus untuk menyaring paket-paket yang akan masuk ke teknik antrian HTB, sedangkan FreeBSD firewallnya selain menandai secara langsung perpaket untuk dimasukan ke teknik antrian CBQ dan menetapkan nilai uprate yang telah ditetapkan dalam teknik antriannya.


(6)

82

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari pembahasan pada bab-bab sebelumnya, maka akhirnya penelitian pada tugas akhir ini dapat di ambil kesimpulan antara lain:

1. Dari sisi Quality of Service (Qos), server dengan menggunakan sistem operasi FreeBSD lebih menjamin paket akan terkirim dan diterima oleh tujuannya. Dari sisi ini sistem operasi FreeBSD lebih unggul.

2. Dari sisi pembagian bandwidth untuk client, server dengan menggunakan sistem operasi GNU/linux gentoo lebih adil, merata dan lebih baik dalam memberikan bandwidth. Dari sisi ini sistem operasi GNU/linux lebih unggul.

3. Untuk meminimalisasi client memonopoli bandwidth dengan menggunakan download manager seperti IDM (internet download manager), Sistem operasi FreeBSD lebih membatasi dari sisi pengambilan

file IDM yang diperkecil, namun jika sistem operasi GNU/linux tetap membatasi dari total bandwidth yang telah disesuaikan dengan client yang tanpa menggunakan IDM.

5.2 Saran

1. Setelah melakukan percobaan pada kedua sistem operasi, pengaturan

bandwidth ini lebih terlihat perubahannya jika memakai bandwidth yang cukup besar misalnya bandwidth dapat terorganisasi dan sesuai dengan aturan yang telah dibuat.

2. Diharapkan dalam melakukan pengaturan bandwidth ini, tidak lagi menggunakan command line melainkan menggunakan GUI (grapic user interface) sehingga memudahkan bagi seorang administrator.

3. Untuk lebih mempermudah pengaturan bandwidth ini. Sistem yang sudah dikonfigurasi dibuat ke dalam Live CD, sehingga mudah digunakan.