Testing Pengembangan aplikasi DiffServ dengan disiplin antrian hierarchy token bucket dan random early detection sebagai bandwidth limiting

red = RED self.assertEqualred.delRED, sbintc qdisc del dev eth0 root class TestHTBunittest.TestCase: HTB tests def test_classself: classifier = Classifiereth0, 1:1, 1:2, 64Kbit, 1Mbit self.assertEqualclassifier.getClass, sbintc class add dev eth0 parent 1:1 classid 1:2 htb rate 64Kbit ceil 1Mbit class TestClientunittest.TestCase: Client tests def test_clientself: self.client = ClientClient 1,192.168.1.10, 64000, 64000, 512000, 128000,00:FF:00:10:AF:89 self.assertEqualself.client.get_name, Client 1 self.assertEqualself.client.get_ip, 192.168.1.10 self.assertEqualself.client.get_dload, 64000 self.assertEqualself.client.get_uload, 64000 self.assertEqualself.client.get_dmax, 512000 self.assertEqualself.client.get_umax, 128000 self.assertEqualself.client.get_mac, 00:FF:00:10:AF:89 class TestBandwidthConsumptionunittest.TestCase: BandwidthConsumption tests def test_BConsumptionself: bc = BandwidthConsumption class TestTCunittest.TestCase: TC tests def test_TCself: tc = TC Dan hasil yang didapat setelah mengeksekusi test case di atas adalah sebagai berikut, .... ----------------------------------------------------------------- ----- Ran 6 tests in 0.000s OK

4.4.2 BlackBox Testing

Pada blackbox testing penulis mencoba melakukan tes terhadap semua fungsionalitas dari aplikasi ini. Berikut beberapa hasil tes yang penulis lakukan terhadap aplikasi dan hasilnya, 1. Pengujian Set firewall untuk fungsi SNAT atau Masquerade. Gambar 4.17 pengujian firewall feature Pengguna mengisi ip public yang digunakan yang nantinya akan digunakan sebagai source NAT. Interface yang berhubungan dengan internet dan jaringan lokal diatur di sini. Gambar 4.18 cek firewall Pengecekan apakah SNAT di iptables berhasil dieksekusi atau tidak. Hasilnya menunjukkan berhasil memberikan satu rule untuk SNAT. Gambar 4.19 pengujian masquerade Berbeda dengan yang tadi, di sini dilakukan pengetesan untuk masquerade. Perubahan SNAT secara dinamis dan pengaturan interface. Cara yang dilakukan hampir sama dengan sebelumnya. Gambar 4.20 cek masquerade Terlihat pengaturan sebelumnya berhasil memberikan satu rule ke iptables untuk melakukan masquerade. 2. Pengujian Set Max Download dan Max Upload rate. Gambar 4.21 pengujian max download dan upload Di sebelah kanan terdapat pengaturan untuk maksimum dan minimum upload yang diijinkan. Pengaturan ini bergantung pada koneksi internet yang kita miliki. Gambar 4.22 cek tc max rate Pengaturan untuk download berhasil dan menambah rule pada TC dengan HTB qdisc. Gambar 4.23 cek tc max rate Pengaturan upload dengan RED qdisc juga berhasil dilakukan di sini. 3. Pengujian Tambah, Ubah dan Hapus Client. Gambar 4.24 pengujian tambah node Di sini dilakukan pengujian untuk menambah client yang ingin diatur alokasi bandwidthnya. Gambar 4.25 penambahan node Gambar 4.26 cek tc leaf Terlihat bertambah satu rule untuk client yang ditambah sebelumnya. Gambar 4.27 pengubahan node Client yang sebelumnya telah ditambah, dapat diubah parameternya. Pengujian perubahan parameter dilakukan di sini. Gambar 4.28 cek perubahan pada leaf Perubahan parameter berhasil merubah rule pada tc yang ada. Gambar 4.29 penghapusan node Perintah hapus dilakukan di sini. Pengujian untuk menghapus rule client dari table dan rule TC. Gambar 4.30 cek penghapusan pada tc Terlihat sudah terhapus rule dari client yang dihapus tersebut. 4. Pengujian Tampilkan plot untuk bandwidth rate tiap client. Gambar 4.33 pengujian tampilan plot Tabel 4.4 Pengujian black box Fungsi Status Set firewall untuk fungsi SNAT atau Masquerade OK Set Max Download dan Max Upload rate OK Tambah, Ubah dan Hapus Client OK Set Upload Rate OK Tampilkan plot untuk bandwidth rate tiap client OK

4.5. Release

Tahap ini aplikasi sudah dapat diimplementasikan, dan penulis melakukan pengujian implementasi untuk membuktikan apakah aplikasi dapat memenuhi fungsinya sebagai bandwidth limiting.

4.5.1 Implementation Test

Penulis akan melakukan implementation tes dengan beberapa node yang berhubungan langsung dengan gateway. Berikut topologi jaringan yang digunakan : Gambar 4.34 Topologi jaringan pengujian Pengujian akan dilakukan dengan beberapa parameter, di antaranya: 1. Rate : 64kbps, max rate : 64kbps 2. Rate : 64kbps, max rate : 128kbps 3. Rate : 128kbps, max rate : 128kbps 4. Rate : 128kbps, max rate : 256kbps Berikut hasil dari pengujian alokasi bandwidth untuk tiap node yang melewati gateway: 1. Pengujian rate : 64kbps, max rate 64kbps Gambar 4.35 Pengujian node download dan upload 64kbps 2. Pengujian rate : 64kbps, max rate 128kbps Gambar 4.36 pengujian