Script untuk Edge Router

48

3.3 Implementasi Differentiated Service

Kompilasi kernel yang dilakukan pada router Linux seperti yang dilakukan pada langkah 3.2.6. Rekompilasi Kernel Linux bertujuan agar mesin router yang digunakan memiliki dukungan dalam mekanisme Differentiated Service. Mekanisme diffserv diawali dengan melakukan pengklasifikasian paket pada edge router dan melabeli paket tersebut dengan DS mark yang sesuai. Setelah sampai di core router, perlakuan terhadap tiap-tiap paket yang masuk akan ditentukan berdasarkan klasifikasi dan labelling yang dilakukan di edge router. Proses-proses yang dilakukan di edge router dan core router dapat terlaksana karena adanya program yang disebut tc traffic controller. Jadi, di dalam implementasi diffserv pada Linux, dibutuhkan juga tool yang melaksanakan proses- proses dalam mekanisme diffserv, yaitu tc, selain dukungan kernel. Di Linux Ubuntu 10.04, tc telah terinstall secara otomatis.

3.3.1 Script untuk Edge Router

Di dalam edge router, proses yang dilakukan adalah pengelompokkan paket packet filtering. Script untuk edge router adalah sebagai berikut: binsh parameter interface edgeB INDEV =”eth0” EGDEV =”eth1” parameter source SRC1=10.4.12.253 SRC2=10.4.12.247 parameter destination DST1=10.4.12.254 DST2=10.4.12.245 Universitas Sumatera Utara 49 parameter rate, burst, dan mtu untuk ingress policing rate RATE=20Mbit BURST=50k MTU=9k Policing untuk interface masuk filter berdasarkan source iptables –t mangle –A FORWARD –p udp –m multiport –sport 5000:32000 -i INDEV –s SRC1 –j MARK --set-mark 1 iptables –t mangle –A FORWARD –I INDEV –s SRC2 –j MARK --set-mark 2 parameter rate datang di interface masuk tc qdisc add dev INDEV handle ffff: ingress tc filter add dev INDEV parent ffff: protocol ip prio 50 u32 match ip src SRC1 police rate RATE burst BURST mtu MTU drop flowid :1 setup konfirmasi echo “---qdisc parameter ingress---“ tc qdisc ls dev INDEV echo “---qdisc parameter ingress---“ tc class ls dev INDEV echo “---qdisc parameter ingress---“ tc filter ls dev INDEV parent 1:0 Policing untuk interface keluar setup DSMARK tc qdisc add dev EDGE handle 1:0 root dsmark indices 64 set_tc_index marking paket yang masuk ke kelas 1:1 menjadi kelas EF Universitas Sumatera Utara 50 tc class change dev EGDEV classid 1:1 dsmark mask 0x3 value 0xb8 marking paket yang masuk ke kelas 1:2 menjadi kelas BE tc class change dev EGDEV classid 1:2 dsmark mask 0x3 value 0x0 pemetaan konfigurasi tc filter add dev EGDEV parent 1:0 protocol ip prio 4 handle 1 fw classid 1:1 tc filter add dev EGDEV parent 1:0 protocol ip prio 4 handle 2 fw classid 1:2 setup konfigurasi echo “---qdisc parameter egress---“ tc qdisc ls dev EGDEV echo “---qdisc parameter egress---“ tc class ls dev EGDEV echo “---qdisc parameter egress---“ tc filter ls dev EGDEV parent 1:0 Sedangkan di dalam core router, proses yang dilakukan adalah meneruskan paket berdasarkan klasifikasi yang sudah dilakukan oleh edge router. Karena menggunakan 3 kondisi resource, maka script untuk core router dapat diubah sesuai kebutuhan. Script untuk core router adalah sebagai berikut: binsh TBF parameter interface out going packet DEV=”eth1” rate untuk kelas EF dan BE eFRATE=44kbit Universitas Sumatera Utara 51 berate=20kbit peak rate untuk EF dan BE efPEAK=64kbit bePEAK=25kbit nilai ukran bucket burst BURST=5kb setup qdisc PRIO tc qdisc add dev DEV root handle 1:prio setup filter tc filter add dev DEV parent 1:0 prio 1 protocol ip u32 match ip tos 0xb8 0xff flowid 1:1 tc filter add dev DEV parent 1:0 prio 2 protocol ip u32 match ip tos 0x0 0xff flowid 1:1 setup sub-qdisc dengan mekanisme TBF untuk kelas 1:1 tc qdisc add dev DEV parent 1:1 handle 10:tbf rate efRATE burst BURST latency 70 ms peakrate efPEAK minburst 1540 setup sub-qdisc dengan mekanisme TBF untuk kelas 1:2 tc qdisc add dev DEV parent 1:2 handle 11:tbf rate beRATE burst BURST latency 70 ms peakrate bePEAK minburst 1540 Script di atas ini berlaku untuk edge dan coure router di jaringan B. Untuk script di jaringan A disesuaikan dengan parameter yang ada di router sama.

3.3.2 Eksekusi Script Diffserv