5 BAB II
LANDASAN TEORI
2.1. Router
Router adalah perangkat yang akan melewatkan paket IP dari suatu jaringan ke jaringan yang lain, menggunakan metode addressing dan protocol tertentu untuk melewatkan paket data tersebut.
Router memiliki kemampuan melewatkan paket IP dari satu jaringan ke jaringan lain yang mungkin memiliki banyak jalur diantara keduanya. Router-router yang saling terhubung dalam jaringan internet turut serta dalam sebuah algoritma routing terdistribusi untuk menentukan jalur terbaik yang dilalui paket IP dari system ke system lain. Proses routing dilakukan secara hop by hop. IP tidak mengetahui jalur keseluruhan menuju tujuan setiap paket. IP routing hanya menyediakan IP address dari router berikutnya yang menurutnya lebih dekat ke host tujuan. Fungsi :
1. Membaca alamat logika/ip address source & destination untuk menentukan outing dari suatu LAN ke LAN lainnya.
2. Menyimpan routing table untuk menentukan rute terbaik antara LAN ke WAN. 3. Perangkat di layer 3 OSI Layer.
4. Bisa berupa “box” atau sebuah OS yang menjalankan sebuah daemon routing. 5. Interfaces Ethernet, Serial, ISDN BRI.
(Chappell, 1999)
2.1.1. NAT (Network Address Translation)
Network Address Translation atau yang lebih biasa disebut dengan NAT adalah suatu metode untuk menghubungkan lebih dari satu komputer ke jaringan internet dengan menggunakan satu alamat IP. Banyaknya penggunaan metode ini disebabkan karena ketersediaan alamat IP yang terbatas, kebutuhan akan keamanan (security), dan kemudahan serta fleksibilitas dalam administrasi jaringan.
Saat ini, protokol IP yang banyak digunakan adalah IP versi 4 (IPv4). Dengan panjang alamat 4 byte berarti terdapat 2 pangkat 32 = 4.294.967.296 alamat IP yang tersedia. Jumlah ini secara teoritis adalah jumlah komputer yang dapat langsung koneksi ke internet. Karena keterbatasan inilah sebagian besar ISP (Internet Service Provider) hanya akan mengalokasikan satu alamat
untuk satu penggna dan alamat ini bersifat dinamik, dalam arti alamat IP yang diberikan akan berbeda setiap kali user melakukan koneksi ke internet. Hal ini akan menyulitkan untuk bisnis golongan menengah ke bawah. Di satu sisi mereka membutuhkan banyak komputer yang terkoneksi ke internet, akan tetapi di sisi lain hanya tersedia satu alamat IP yang berarti hanya ada satu komputer yang bisa terkoneksi ke internet. Hal ini bisa diatasi dengan metode NAT. Dengan NAT gateway yang dijalankan di salah satu komputer, satu alamat IP tersebut dapat dibagi ke beberapa komputer yang lain dan mereka bisa melakukan koneksi ke internet secara bersamaan. (Chappell, 1999)
2.1.2. DNS (Domain Name System)
Domain Name System (DNS) adalah distribute database system yang digunakan untuk pencarian nama komputer (name resolution) di jaringan yang mengunakan TCP/IP (Transmission Control Protocol/Internet Protocol).
Fungsi dari DNS adalah menerjemahkan nama komputer ke IP address (memetakan). Client DNS disebut dengan resolvers dan DNS server disebut dengan name servers. Resolvers atau client mengirimkan permintaan ke name server berupa queries. Name server akan memproses dengan cara mengecek ke local database DNS, menghubungi name server lainnya atau akan mengirimkan message failure jika ternyata permintaan dari client tidak ditemukan.
Proses tersebut disebut dengan Forward Lookup Query, yaitu permintaan dari client dengan cara memetakan nama komputer (host) ke IP address. DNS biasa digunakan pada aplikasi yang terhubung ke Internet seperti web browser atau e-mail, dimana DNS membantu memetakan host name sebuah komputer ke IP address.(Chappell, 1999)
2.1.3. Firewall
Firewall merupakan sistem keamanan yang menggunakan device atau sistem yang diletakkan di dua jaringan dengan fungsi utama melakukan filtering terhadap akses yang akan masuk. Berupa seperangkat hardware atau software, bisa juga berupa seperangkat aturan dan prosedur yang ditetapkan oleh organisasi.
Firewall juga dapat disebut sebagai sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggapnya aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Umumnya firewall diimplementasikan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan local dan jaringan lainnya. Firewall juga umumnya digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari hak luar. Saat ini, istilah firewall menjadi istilah generic yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda.(Chappell, 1999)
2.2. Routing
Routing merupakan proses dimana suatu router mem-forward paket ke jaringan yang dituju. Perangkat jaringan yang menangani proses routing adalah router. Router memiliki kemampuan intelijensi dalam melakukan proses routing.
Pada umumnya sebuah router dapat diprogram secara manual dengan jalur informasi yang sebelumnya telah ditetapkan yang disebut juga dengan routing statis, atau router juga dapat menjalankan aplikasi yang memfasilitasi proses learning dan sharing informasi routing secara otomatis. Proses perolehan informasi routing dengan metode tersebut disebut juga dengan routing dinamis. (Shamim et. al., 2002)
2.2.1. Routing Statis dan Dinamis
Informasi jalur routing statis dapat secara manual diprogram ke router dan menjadikan router untuk hanya menggunakan interface tertentu atau alamat IP hop berikutnya untuk meneruskan paket ke alamat tujuan yang sesuai. Routing statis memiliki kemampuan untuk menyesuaikan alamat jaringan dengan cakupan yang luas. Namun cara lain untuk memperoleh informasi routing adalah dengan menggunakan aplikasi terdistribusi yang telah diaktifkan pada router yang memungkinkan pengumpulan dan penyebaran informasi routing. Aplikasi routing ini sering disebut sebagai protokol routing dinamis karena mereka tidak hanya berperan sebagai alat pengoleksi jalur routing, akan tetapi juga bekerja secara real-time, melakukan pelacakan kondisi konektivitas dalam jaringan untuk menyediakan informasi routing seakurat mungkin.
Hal ini bertentangan dengan sifat routing statis, dimana entri routing dilakukan secara manual dan membutuhkan perlakuan manual untuk memprogram ulang router dalam jaringan jika pada jaringan tersebut terjadi perubahan jalur. Secara jelas, protokol routing dinamis memberikan kenyamanan lebih kepada operator jaringan dari pada routing statis dalam hal mengelola informasi routing. Harga untuk kenyamanan ini, bagaimanapun, adalah kompleksitas dalam melakukan konfigurasi dan troubleshooting. Pengoperasian protokol routing dinamis juga dapat memerlukan banyak resource, memerlukan resource memori dan pemrosesan dalam jumlah yang banyak. Oleh karena itu, bekerja dengan protokol routing dinamis sering memerlukan pengetahuan dan keahlian yang lebih berpengalaman untuk menangani perancangan jaringan, konfigurasi router, tuning, dan tugas-tugas troubleshooting terkait.
Meskipun routing statis tidak begitu memerlukan sumber daya sistem dan membutuhkan tingkat keterampilan teknis yang lebih rendah dalam mengkonfigurasi dan troubleshooting, namun upaya dalam memasukkan routing secara statis pada jaringan yang cukup besar membuatnya menjadi pilihan yang kurang menarik. Secara jelas, routing statis bukan kandidat yang baik untuk perusahaan besar saat ini dan untuk penyedia layanan Internet (ISP). Kelemahan lain dari routing statis adalah bahwa routing statis kurang fleksibel untuk implementasi pada policy routing yang rumit. Ketika terdapat implementasi policy routing, tidak ada pengganti yang lebih baik untuk kecerdasan dan fleksibilitas yang disediakan oleh protokol routing dinamis. (Shamim et. al., 2002)
Berikut merupakan jenis protokol routing dinamis yang di gunakan dalam project tugas akhir ini :
1. Routing Information Protocol (RIP)
RIP adalah protokol distance vector yang menggunakan jumlah hop sebagai metrik. Protokol ini sangat sederhana dan ditujukan untuk jaringan kecil. RIP mirip dengan gate, yang didistribusikan oleh versi FreeBSD dari UNIX. Sebelum RFC untuk RIP Versi 1 (RIP-1) ditulis, beberapa versi dari RIP telah tersebar dimana-mana.
RIP merupakan protokol classful, yang berarti bahwa ia tidak membawa informasi subnet mask dalam proses routing update. Karena
tidak membawa informasi subnet mask, sehingga tidak mendukung Variable Length Subnet Masking (VLSM) dan jaringan yang tidak berhubungan (discontiguous). RIP memungkinkan perangkat untuk bertukar informasi tentang jaringan mereka yang terhubung secara langsung (directly connected), serta setiap jaringan lain yang telah mereka pelajari dari perangkat RIP lainnya.
RIP mengirimkan informasi routing nya setiap 30 detik, yang merupakan waktu update default. Timer ini dapat dikonfigurasi. Timer hold-down menentukan berapa lama sebuah router harus menunggu sebelum melakukan flushing informasi dari tabel routing.
RFC 1058 ditulis untuk menyediakan standar untuk RIP, yang menggunakan algoritma Bellman-Ford untuk menghitung metrik nya. (Shamim et. al., 2002)
2. Open Shortest Path First (OSPF)
OSPF adalah sebuah protokol interior gateway link-state yang dirancang untuk jaringan besar yang kompleks. Sebagai standar IETF, OSPF secara luas digunakan dalam banyak jaringan besar. Pembangunan dimulai pada tahun 1987, dan OSPF Versi 2 didirikan pada tahun 1991 dengan RFC 1247. Tujuannya adalah untuk memiliki sebuah protokol link-state yang lebih efisien dan terukur daripada RIP. RFC 2328 (April 1998) adalah revisi terbaru untuk OSPF Versi 2.
OSPF berjalan di atas IP dan menggunakan nomor protokol 89, seperti TCP yang berjalan di atas IP dan menggunakan protokol nomor 6. OSPF tidak menggunakan protokol transport, seperti TCP, untuk kehandalan. Protokol itu sendiri memiliki mekanisme yang dapat diandalkan dalam transportasi.
OSPF adalah sebuah protokol routing classless yang mendukung variable-length subnet masking (VLSM) dan jaringan yang tidak berhubungan (discontiguous). OSPF menggunakan alamat multicast 224.0.0.5 (semua router SPF) dan 224.0.0.6 (Designated Routers [DR]) dan (Backup designated Routers [BDR]) untuk mengirim paket Hello dan update. OSPF juga menyediakan dua jenis otentikasi yaitu plain text dan Message Digest Algorithm 5 (MD5).
OSPF menggunakan algoritma Dijkstra sebagai bagian dari proses perhitungan tabel routing. Algoritma Dijkstra menghasilkan pohon jalur terpendek shortest-path tree (SPT). Setiap router mewakili dirinya sendiri dan link dengan tetangga dalam bentuk yang dimengerti yaitu link-state advertisement (LSAs). Berdasarkan informasi dari pohon jalur terpendek, OSPF dapat menggambarkan bentuk topologi jaringan.
Setiap router OSPF saling menukarkan informasi tentang biaya (cost), jenis link, dan informasi jaringan dengan router yang lain. (Shamim et. al., 2002)
3. Border Gateway Protocol (BGP)
BGP atau yang kepanjangannya Border Gateway Protocol merupakan salah satu jenis routing protokol yang digunakan untuk koneksi antar Autonomous System (AS), dan salah satu jenis routing protokol yang banyak digunakan di ISP besar. BGP termasuk dalam kategori routing protokol jenis Exterior Gateway Protocol (EGP).
Dengan adanya EGP, router dapat melakukan pertukaran rute dari dan ke luar jaringan lokal Auotonomous System (AS). BGP mempunyai skalabilitas yang tinggi karena dapat melayani pertukaran routing pada beberapa organisasi besar. Oleh karena itu BGP dikenal dengan routing protokol yang sangat rumit dan kompleks.
a. Karakteristik BGP :
1) Menggunakan algoritma routing distance vektor. Algoritma routing distance vector secara periodik menyalin table routing dari router ke router. Perubahan table routing di update antar router yang saling berhubungan pada saat terjadi perubahan topologi.
2) Digunakan antara ISP dengan ISP dan client-client.
3) Digunakan untuk merutekan trafik internet antar autonomous system.
4) BGP adalah Path Vector routing protocol. Dalam proses menentukan rute-rute terbaiknya selalu mengacu kepada path yang terbaik dan terpilih yang didapatnya dari router BGP yang lainnya.
5) Router BGP membangun dan menjaga koneksi antar-peer menggunakan port nomor 179.
6) Koneksi antar-peer dijaga dengan menggunakan sinyal keepalive secara periodik.
7) Metrik (atribut) untuk menentukan rute terbaik sangat kompleks dan dapat dimodifikasi dengan fleksibel.
8) BGP memiliki routing table sendiri yang biasanya memuat prefiks-prefiks routing yang diterimanya dari router BGP lain b. Cara Kerja BGP
Routing protokol BGP baru dapat dikatakan bekerja pada sebuah router jika sudah terbentuk sesi komunikasi dengan router tetangganya yang juga menjalankan BGP. Sesi komunikasi ini adalah berupa komunikasi dengan protokol TCP dengan nomor port 179. Setelah terjalin komunikasi ini, maka kedua buah router BGP dapat saling bertukar informasi rute.
Untuk berhasil menjalin komunikasi dengan router tetangganya sampai dapat saling bertukar informasi routing, ada beberapa hal yang perlu diperhatikan :
1) Kedua buah router telah dikonfigurasi dengan benar dan siap menjalankan routing protokol BGP.
2) Koneksi antar kedua buah router telah terbentuk dengan baik tanpa adanya gangguan pada media koneksinya.
3) Pastikan paket-paket pesan BGP yang bertugas membentuk sesi BGP dengan router tetangganya dapat sampai dengan baik ke tujuannya.
4) Pastikan kedua buah router BGP tidak melakukan pemblokiran port komunikasi TCP 179.
5) Pastikan kedua buah router tidak kehabisan resource saat sesi BGP sudah terbentuk dan berjalan.
Untuk membentuk dan mempertahankan sebuah sesi BGP dengan router tetangganya, BGP mempunyai mekanismenya sendiri yang unik. Pembentukan sesi BGP ini mengandalkan paket-paket pesan yang terdiri dari empat macam. Paket-paket tersebut adalah sebagai berikut:
1) Open Message
Sesuai dengan namanya, paket pesan jenis ini merupakan paket pembuka sebuah sesi BGP. Paket inilah yang pertama dikirimkan ke router tetangga untuk membangun sebuah sesi komunikasi. Paket ini berisikan informasi mengenai BGP version number, AS number, hold time, dan router ID.
2) Keepalive Message
Paket Keepalive message bertugas untuk menjaga hubungan yang telah terbentuk antar kedua router BGP. Paket jenis ini dikirimkan secara periodik oleh kedua buah router yang bertetangga. Paket ini berukuran 19 byte dan tidak berisikan data sama sekali.
3) Notification Message
Paket pesan ini adalah paket yang bertugas menginformasikan error yang terjadi terhadap sebuah sesi BGP. Paket ini berisikan field-field yang berisi jenis error apa yang telah terjadi, sehingga sangat memudahkan penggunanya untuk melakukan troubleshooting.
4) Update Message
Paket update merupakan paket pesan utama yang akan membawa informasi rute-rute yang ada. Paket ini berisikan semua informasi rute BGP yang ada dalam jaringan tersebut. Ada tiga komponen utama dalam paket pesan ini, yaitu Network-Layer Reachability Information (NLRI), path attribut, dan withdrawn routes. (Shamim et. al., 2002)
2.3. Quagga
Quagga merupakan sebuah paket software routing protokol TCP/IP dengan lisensi GNU General Public License, yang bekerja pada lingkungan GNU/Unix dan Solaris. Syntax yang digunakan pada Quagga merupakan syntax yang mirip dengan syntax yang digunakan pada software router lain seperti Cisco.
Quagga bekerja dengan cara membagi proses-proses (daemon) menjadi beberapa proses, sesuai dengan protokol masing-masing proses. Misalkan digunakan sebuah protokol routing RIP, maka sebuah daemon baru bernama “ripd” akan dibuat. Proses-proses tersebut dikendalikan oleh sebuah proses yang bernama Zebra.
Zebra merupakan IP routing manager bawaan Quagga. Zebra bekerja dengan menyediakan beberapa informasi yang terjadi di dalam kernel, diantaranya adalah update table routing, interfaces lookups, redistribusi rute antar protokol routing yang berbeda.
2.3.1. Sistem arsitektur Quagga
Gambar 2.1 Sistem Arsitektur Quagga
Sistem arsitektur Quagga dibagi menjadi beberapa bagian. Daemon Zebra merupakan daemon yang bertugas me-manage tiap-tiap daemon protokol routing seperti “ripd” dalam berkomunikasi baik dengan kernel maupun dengan daemon protokol routing lain.
Daemon-daemon dari protokol routing yang terdapat di Quagga dapat di akses melalui protokol vty (telnet). Masing-masing daemon routing memiliki port telnet tersendiri seperti berikut :
Zebrasrv 2600/tcp # Zebra service Zebra 2601/tcp # Zebra vty
ripd 2602/tcp # RIPd vty
ripngd 2603/tcp # RIPngd vty ospfd 2604/tcp # OSPFd vty
bgpd 2605/tcp # BGPd vty
ospfapi 2607/tcp # ospfapi vty isisd 2608/tcp # ISISd vty
2.3.2. Routing Statis dengan Zebra
Zebra merupakan daemon pengelola IP routing di Quagga. Zebra menyediakan informasi update tabel routing, lookup interface, dan redistribusi rute antar protokol routing yang berbeda. Untuk melakukan konfigurasi routing statis pada Quagga, perintah yang digunakan pada daemon Zebra adalah:
“ip route network gateway”
Dimana network adalah alamat network tujuan routing statis dan gateway adalah alamat gateway routing statis. Penulisan network pada daemon Zebra dapat dilakukan dengan format “A.B.C.D/M” (10.10.10.0/24) atau format “A.B.C.D M” (10.10.10.0 255.255.255.0).
2.3.3. Routing dinamis RIP dengan ripd
ripd merupakan daemon yang digunakan untuk melakukan konfigurasi routing RIP di Quagga. Untuk melakukan konfigurasi routing dinamis RIP pada Quagga, perintah yang digunakan pada daemon ripd adalah:
- “router rip”
- “network network”
Perintah “router rip” digunakan untuk mengaktifkan protocol routing RIP di Quagga. Sedangkan perintah “network network” merupakan perintah untuk memasukkan alamat network RIP. Penulisan network pada daemon ripd dapat dilakukan dengan format “A.B.C.D/M” (10.10.10.0/24) atau format “A.B.C.D M” (10.10.10.0 255.255.255.0) atau dengan menggunakan nama out interface/ethernet (eth0).
2.3.4. Routing dinamis OSPF dengan ospfd
ospfd merupakan daemon yang digunakan untuk melakukan konfigurasi routing OSPF di Quagga. Untuk melakukan konfigurasi routing dinamis OSPF pada Quagga, perintah yang digunakan pada daemon ospfd adalah:
- “network network area area”
Perintah “router ospf” digunakan untuk mengaktifkan protocol routing OSPF di Quagga. Sedangkan perintah “network network area area” merupakan perintah untuk memasukkan alamat network dan area OSPF. Penulisan network pada daemon ospfd dapat dilakukan dengan format “A.B.C.D/M” (10.10.10.0/24) atau format “A.B.C.D M” (10.10.10.0 255.255.255.0). Penulisan area dapat dilakukan dengan format “A.B.C.D” (0.0.0.0) atau format “M” (0).
2.3.5. Routing dinamis BGP dengan bgpd
bgpdd merupakan daemon yang digunakan untuk melakukan konfigurasi routing BGP di Quagga. Untuk melakukan konfigurasi routing dinamis BGP pada Quagga, perintah yang digunakan pada daemon bgpd adalah:
- “router bgp asn” - “network network”
- “neighbor peer remote-as asn”
Perintah “router bgp asn“ digunakan untuk mengaktifkan proses protokol BGP dengan ASN tertentu. Setelah pernyataan tersebut, selanjutnya dapat masukan apapun perintah BGP. Sedangkan perintah “network network” merupakan perintah untuk memasukkan alamat network. Penulisan network pada daemon bgpd dapat dilakukan dengan format “A.B.C.D/M” (10.10.10.0/24) . perintah “neighbor peer remote-as asn“ di gunakan untuk membuat tetangga baru yang jauh-seperti ASN. peer dapat berupa alamat IPv4.
router bgp 1
neighbor 10.0.0.1 remote-as 2
Dalam hal ini router saya, di AS-1, sedang mencoba untuk peer dengan AS-2 dengan ip 10.0.0.1. Perintah ini harus menjadi perintah pertama kali digunakan ketika mengkonfigurasi tetangga. (Ishiguro, 2005)
2.4. HTB (Hierarchical Token Bucket)
Hierarchichal Token Bucket (HTB) merupakan teknik penjadwalan paket yang sering digunakan bagi router-router berbasis Linux, dikembangkan pertama kali oleh Martin Devera.
Cara kerja HTB yaitu: pada General Scheduler menggunakan mekanisme Deficit Round Robin (DRR) dan pada blok umpan baliknya, Estimator HTB menggunakan Token Bucket Filter (TBF).
CLASSIFIER SCHEDULERGENERAL
LINK-SHARING SCHEDULER ESTIMATOR INPUT LINK CLASSES OUTPUT LINK
Gambar 2.2 Alur Kerja HTB.
Pada HTB terdapat parameter ceil sehingga kelas akan selalu mendapatkan bandwidth di antara base link dan nilai ceil linknya. 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 link ini (keduanya leaves dan interior dapat memiliki ceil). Sebagai catatan, apabila nilai ceil sama dengan nilai base link, maka kelas-kelas tidak diijinkan untuk meminjam bandwidth. Sedangkan jika nilai ceil diset tak terbatas atau dengan nilai yang lebih tinggi seperti kecepatan link yang dimiliki, maka akan didapat fungsi yang sama seperti kelas non-bounded.
Contoh konfigurasi HTB:
Asumsikan bahwa kita ingin membatasi kecepatan download maksimum untuk subnet 10.1.1.0/24 sampai 2Mbps dan mendistribusikan jumlah lalu lintas antara server dan workstation menggunakan HTB (membatasi upload 2Mbps). Saat HTB bekerja dalam satu arah dan diimplementasikan pada outbound interface, HTB untuk download akan on pada ether2 dan HTB untuk upload akan on pada ether1.
Gambar 2.3 Contoh HTB untuk Membatasi Upload
Gambar 2.4 Contoh HTB Untuk Membatasi Download
2.5. HTB-tool
HTB Tool adalah software yang digunakan untuk manajemen bandwidth yang berjalan pada platform Linux. Cara penggunaan HTB Tool adalah melalui terminal
pada Linux. HTB-tool adalah tool yang digunakan untuk menkonfigurasi paket yang menggunakan sistem HTB. Setelah di-instal pada sistem operasi (Linux Debian 6.0), buka terminal dan masuk ke alamat instalasi HTB-tool, misal terdapat pada direktori: /etc/HTB, maka masukkan perintah berikut pada terminal:
/etc/HTB# pico eth1-qos.cfg
Akan muncul skript konfigurasi defaultnya. Contoh skripnya sebagai berikut : #UPLOAD
class LAN_1 {
bandwidth 256; # garansi bandwidth yg dialokasikan untuk LAN limit 256; # maksimal bandwidth yang bisa dicapai untuk LAN burst 2; # maksimum jumlah kbits yang di kirim sekali waktu priority 1; # priority 0 – 7, lebih kecil paling diprioritaskan client pc1 { bandwidth 128; limit 192; burst 2; priority 1; src { # source address 192.168.1.2/32; }; }; client pc2 { bandwidth 64; limit 96; burst 2; priority 1; src { 192.168.1.3/32; }; }; client pc3 { bandwidth 64; limit 96; burst 2;
priority 1; src { 192.168.1.4/32; }; }; }
Test config dan jalankan shapper /etc/HTB# HTB eth1 start
Applying traffic Rules for device eth1 Checking the config file....OK
Checking kernel support for HTB: present.
Mematikan limiter pada sebuah interface /etc/HTB# HTB eth1 stop
deleting Rules for device eth1
Melihat trafik yang berjalan pada sebuah interface /etc/HTB# HTB eth1 stats
to stop viewing the statistics, press Ctrl+C
Memerintahkan HTB untuk membuat skrip yang sedang berjalan pada sebuah interface.
/etc/HTB# HTB eth1 generate
compiling Rules for /etc/HTB/eth1-qos.cfg... checking the configuration file ... OK. generating configuration file(s) for eth1
the eth1-qos.sh script file is saved to /tmp/eth1-qos.sh you can start the traffic Rules like: tc -b /tmp/eth1-qos.sh
Melihat versi HTB yang dipakai. /etc/HTB# HTB eth1 version
\(c\) 2003-2005 [email protected]. All rights reserved.
This script is released under the terms of www.gnu.org/licenses/gpl.html Work based on http://sgi.rdscv.ro/~ionuts/HTB-tools
(Gunawan, 2006)
2.6. Debian Squeeze 6.0
Debian adalah sistem operasi bebas yang dikembangkan secara terbuka oleh banyak programer sukarela (pengembang Debian) yang tergabung dalam Proyek Debian. Sistem operasi Debian adalah gabungan dari perangkat lunak yang dikembangkan dengan lisensi GNU, dan utamanya menggunakan kernel Linux, sehingga populer dengan nama Debian GNU/Linux. Sistem operasi Debian yang menggunakan kernel Linux merupakan salah satu distro Linux yang populer dengan kestabilannya. Dengan memperhitungkan distro berbasis Debian, seperti Ubuntu, Xubuntu, Knoppix, Mint, dan sebagainya, maka Debian merupakan distro Linux yang paling banyak digunakan di dunia.
Keunggulan menggunakan Debian adalah mudah di-upgrade, depedensi paket didefinisikan dengan baik, dan dikembangkan secara terbuka. Merupakan satu-satunya distro yang dikembangkan bersama-sama melalui Internet dengan lebih dari 400 pengelola paket menggarap lebih dari 1500 paket dalam mengembangkan Debian. Merupakan distro yang sangat dinamis. (Azikin, 2011)
2.7. PHP
PHP adalah bahasa server-side scripting yang memiliki berbagai macam fitur yang dapat digunakan dalam pembuatan website dinamis. Selain digunakan untuk membuat website, PHP juga cocok jika digunakan pada sebuah aplikasi berbasis web. Beberapa kelebihan sebuah bahasa pemrograman adalah adanya function yang dapat dipanggil ke dalam sebuah script yang bertujuan efisiensi scripting. Demikian juga dengan PHP, PHP memiliki berbagai macam function yang dapat digunakan pada pembuatan sebuah aplikasi berbasis web.
2.7.1. Konektivitas antara PHP dengan Quagga dan Shell Linux
Fitur function yang terdapat pada bahasa PHP merupakan sebuah fitur yang dapat dipertimbangkan dalam pembuatan sebuah aplikasi. Salah satu function yang terdapat pada bahasa PHP adalah function untuk melakukan
koneksi telnet. Quagga merupakan sebuah software dimana pengaturan utama software tersebut dilakukan melalui terminal, dengan melakukan request telnet ke port-port sesuai dengan port protokol routing yang akan di remote.
Function yang digunakan pada PHP dalam pembuatan interface web router antara lain adalah:
1. Function “fsockopen()”.
Function ini bekerja dengan melakukan koneksi dengan socket yang digunakan untuk berkomunikasi dengan aplikasi telnet. Argumen yang digunakan dalam function ini adalah alamat IP dan nomor port dari aplikasi telnet server yang akan dituju dalam sesi telnet dengan user / client. Contoh pemanggilan function “fsockopen()” di PHP adalah:
fsockopen(“127.0.0.1”, ”2601”);
Dimana “127.0.0.1” adalah alamat IP server Quagga dan “2601” adalah nomor port telnet dari server telnet yang dimiliki oleh server Quagga. Port-port telnet dari protokol routing Quagga antara lain:
a. Port 2601 = Routing Statis / daemon Zebra (Quagga). b. Port 2602 = Protokol routing RIP.
c. Port 2603 = Protokol routing RIPng. d. Port 2604 = Protokol routing OSPF. e. Port 2605 = Protokol routing BGP. 2. Function “fclose()”.
Function ini digunakan untuk menutup sesi telnet antara PHP dengan Quagga yang sebelumnya dibuka dengan function “fsockopen()”.
3. Function “file()”.
Function ini digunakan untuk mendapatkan isi dari file konfigurasi router untuk diproses dan ditampilkan pada interface web.
4. Function “file_put_contents()”.
Function ini digunakan untuk menulis kembali ke file konfigurasi router setelah sebelumnya dibaca oleh Function “file()”.
5. Function “stristr()”.
Function ini digunakan untuk melakukan pencarian string tertentu pada file konfigurasi router. Pencarian ini bertujuan untuk mendapatkan nilai konfigurasi tertentu pada router untuk ditampilkan pada interface web. 6. Function “shell_exec”
Fungsi untuk menampilkan output perintah terminal yang di eksekusi. Dengan menggunakan function-function tersebut pada sebuah template website yang diunduh dari internet, jika diimplementasikan pada sebuah komputer dengan OS Linux/UNIX dengan software routing Quagga, software limit bandwidth HTB Tool dengan Apache dan MySQL, maka dapat dihasilkan sebuah interface router berbasiskan web.
2.8. Analisis dan Perancangan Sistem
Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan, kesempatan, dan hambatan yang terjadi dan kebutuhan yang perlu diterapkan sehingga dapat diusulkan perbaikan. Analisis sistem juga dapat diartikan suatu proses mengumpulkan dan menginterpretasikan kenyataan-kenyataan yang ada, mendiagnosa persoalan, dan menggunakan keduanya untuk memperbaiki sistem. Dari referensi keduanya penulis dapat menyimpulkan bahwa suatu analisis sistem sangat diperlukan dalam sebuah penelitian agar masalah-masalah yang terdapat di objek penelitian dapat diidentifikasi dengan baik dan proses penelitian hingga mendapatkan hasil yang bermanfaat bagi objek penelitian tetap valid dan tidak melewati batasan-batasan masalah yang telah penulis jabarkan pada bab 1 subbab batasan-batasan masalah. (Nugroho, 2013)
Salah satu metode yang dapat digunakan adalah metode analisis dan perancangan jaringan dengan pendekatan sistem. Metode ini akan menggunakan beberapa tahap sebagai panduan dalam menganalisi sebuah sistem jaringan. Tahapan dalam metode ini adalah:
1. Network Analysis
Pada tahap ini, akan dilakukan proses pengumpulan dan analisis terhadap kebutuhan berbagai kebutuhan dari pembangunan dan pengembangan jaringan. 2. Network Architecture and Design
Network Architecture melibatkan proses pemilihan topologi, pemilihan teknologi, penentuan hubungan antar fungsi jaringan, dan bagimana melakukan optimasi antar komponen di dalam network architecture.
Network Design menjelaskan menjelaskan mengenai proses mengembangkan detil fisik dari arsitektur jaringan dalam bentuk blueprint (cetak biru), serta pemilihan vendor, piranti dan service provider yang digunakan. (Djamen, 2014)
2.9. Pengujian Black box
Black box merupakan pengujian untuk mengetahui apakah semua fungsi perangkat lunak telah berjalan semestinya sesuai dengan kebutuhan fungsional yang telah didefinsikan.
1. Metode Black box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program.
2. Black box dapat menemukan kesalahan dalam kategori berikut : a. Fungsi-fungsi yang tidak benar atau hilang
b. Kesalahan interface
c. Kesalahan dalam strutur data atau akses basisdata eksternal d. Inisialisasi dan kesalahan terminasi
e. validitas fungsional
f. kesensitifan sistem terhadap nilai input tertentu g. batasan dari suatu data
Gambar 2.5 Sitem kerja dari Teknik Pengujian Black box