Bandwith Management PDF
Bandwith Management PDF
ByHenrySaptono(boypyt@gmail.com)
Pendahuluan
Istilahbandwidthmanagementseringdipertukarkandenganistilahtrafficcontrol,yangdapat
didefinisikansebagaipengalokasianyangtepatdarisuatubandwidthuntukmendukungkebutuhan
ataukeperluanaplikasiatausuatulayananjaringan.Istilahbandwidthdapatdidefinisikansebagai
kapasitasataudayatampungsuatuchannelkomunikasi(mediumkomunikasi)untukdapatdilewati
sejumlahtrafficinformasiataudatadalamsatuanwaktutertentu.Umumnyabandwidthdihitung
dalamsatuanbit,kbitataubps(bytepersecond).Pengalokasianbandwidthyangtepatdapatmenjadi
salahsatumetodedalammemberikanjaminankualitassuatulayananjaringan(QoS=QualityOf
Services).
MaksuddarijudulartikelBandwidthManagementdiLinuxadalahbagaimanakitamenerapkan
pengalokasianataupengaturanbandwidthdenganmenggunakansebuahkomputerlinux.Umumnya
komputerlinuxdapatdigunakansebagaigateway/routersehinggamemungkinkanuntukmengatur
trafficdataataumengalokasikanbandwidthdaritrafficdatayangmelewatikomputerlinuxtersebut
untukmemberikanjaminankualitasakseslayananinternetbagikomputerkomputerdalamjaringan
lokal.Dalamartikelinipenulistidakakanmembahassecarapanjanglebarmengenaibagaimanacara
kerjakernellinuxdalammelaksanakanfungsitrafficcontrolataubandwidthmanagement,penulis
hanyaakanmenjelaskanlangkahlangkahpraktismembangunsebuahbandwitdthmanagement
dengansistemoperasilinuxbesertatoolsadministrasiyangmudahdiperolehdanfree.Untuk
mengetahuidengandetilbagaimanacarakerjatrafficcontrolpadakernellinuxsebaiknyaAnda
membacaguideataututorialtentangLinuxAdvancedRouting&TrafficControldariwebsite
http://lartc.orgataututoriallainnyadiinternet.
QoSpadaKernelLinux
UmumnyakernellinuxsudahdilengkapidengandukunganfungsiimplementasiQoS(QualityOf
Services)atautrafficcontrol,denganberbagaimodulnetworkscheduler.Untukmembuktikanbahwa
kernellinuxmenyediakandukunganQoSbesertamodulmodulQueueingDisciplinesAndadapat
mengeceknyadenganmelihatkonfigurasikernelyangAndagunakansaatini,sepertidalamgambar
1.
Halaman1
Gambar1.PengecekandukungankernellinuxterhadapfungsiQoS
Jikahasilpengecekansepertitampakpadagambar1,makadapatdikatakankernellinuxAndasaatini
sudahsiapuntukimplementasitrafficcontrol.
Persiapandankebutuhansoftware
Penulisdalamcontohartikelinimenggunakankernel2.6.188.el5dengandistribusinyamenggunakan
CentOS5.DalamartikelinipenulismenggunakanmodulnetworkscheduleratauQueueing
DisciplinesSFQ(StochasticFairnessQueueing)danHTB(HierarchicalTokenBucket)untuk
metodeantriantrafficdatadalamkernellinuxdanfilteringu32untukmemfilterkelaskelaspaket.
Penulisjugamenggunakanhtb.initscripts(http://sourceforge.net/projects/htbinit/)untukmen
setuptrafficcontrolberbasiskanHTB.Untukmemudahkankonfigurasihtb.initpenulismenggunakan
webmin(http://prdownloads.sourceforge.net/webadmin/webmin1.3901.noarch.rpm)frontend
QoSyangberbasisHTB(http://www.sehier.fr/webminhtb/webminhtb.tar.gz)yangsebelumnya
harusAndainstalkedalamwebminsebagaimodul.SelanjutnyaAndajugamemerlukantooluntuk
managementbandwitdthyangdisertakanolehpaketsoftwareiproute2(ipdantc)untukitupastikan
bahwasoftwareiproute2initelahterinstal,sebaiknyaAndacekdenganperintahberikut:
Halaman2
[root@Similikiti ~]# rpm -qa|grep iproute
iproute-2.6.18-4.el5
JikabelumterinstalAndadapatsegeramenginstalnya,umumnyapaktesoftwareiproute2disertakan
dalamCD/DVDdistroyangAndagunakan,jaditidakperlumendownloadnyadariInternet.
Skenariojaringan
Agarlebihmudahdipahamimakapenulismembuatsebuahskenariojaringansepertitampakdalam
gambar2.
Halaman3
Gambar2.Skemajaringan
Sebagaimanatampakpadagambar2,bahwakomputerlinuxyangberfungsisebagaiPCRouter
(gateway)jugadifungsikansebagaibandwitdthmanagementuntukmengaturalokasibandwitdth
dalamLAN.Yangperludiperhatikanadalahbahwakitahanyaakanmengaturataumengalokasikan
bandwidthdaritrafficdatayangdikirimolehnetworkinterfacepadakomputerlinuxPCRouterdan
tidakmengaturbandwidthtrafficdatayangdatangdarijaringankenetworkinterfacepadalinuxPC
Router(alasannyacobaAndabacatutorialdarilartc.org).Dandalamcontohinipenulisakan
mencontohkanbagaimanakitadapatmengaturbandwidthdaritrafficdatayangdikirimkan/keluarke
komputerkomputerjaringanLAN,sehinggadengankatalainkitahanyaakanmengaturbandwidth
trafficdatayangdatangdariInternetmenujukomputerkomputerpadajaringanlokal(LAN).
Sebagaimanadalamgambar2,makakitahanyaakanmenerapkantrafficcontrolpadanetwork
interfaceeth1darikomputerPCRouter.NamunsebaiknyaAndajugamenerapkantrafficcontrol
padainterfaceeth0yangdapatbermanfaatdalammengaturtrafficdatayangdikirimkandarieth0
menujujaringanInternetsehinggaharapannyamenghindariterjadinyabottleneckpadaModem
ADSL.Tetapiuntukmempermudahpemahamanmakapenulismembatasihanyamembahas
bagaimanamengaturalokasibandwidthdaritrafficyangakandikirimkamkeLANdariPCRouter
ataupundariInternet.Untukituberikutinipenulismenggambarkanskenariomaksimumrateyang
dapatditransmitdarieth1padaPCroutersebesar512Kbitsepertitampakdalamgambar3,dan
selanjutnyaakandibagibagikedalamkelaskelasaliarantrafficdata.Pengaturabakandilakukanvia
Halaman4
webmin.
Gambar3.Skenariomaksimumtransmitrate
Instalasidankonfigurasisoftware
Ok,agarlebihcepatmakapenulismengasumsikanbahwasoftwaredankebutuhanyanglaintelah
terinstaldandikonfigurasidenganbenar,keculaisoftwarewebmin,kemudianmodulwebminhtb,
sertahtb.inityangbelumterinstal.Untukitumarikitamulaidenganmenginstalwebmin.
Instalasiwebmin
Downloadterlebihdahuluwebmin:
# wget http://prdownloads.sourceforge.net/webadmin/webmin-1.390-
1.noarch.rpm
Kemudianinstalsepertiberikutini:
[root@Similikiti ~]# rpm -ivh webmin-1.390-1.noarch.rpm
Selanjutnyaaktifkanwebminjikabelumaktif.
[root@Similikiti ~]# service webmin start
atau
[root@Similikiti ~]# /etc/init.d/webmin start
KemudianAndadapatmengakseswebmindenganmenggunakanwebclient(misal:firefox),dengan
URLhttp://localhost:10000ataujikamendukungsecureconnectionURLnyaadalah
https://localhost:10000.
Halaman5
Instalasihtb.initscript
Downloaddahuluhtb.initscriptdenganmenggunakanwebclient(misal:firefox)danketikURL
http://http://sourceforge.net/projects/htbinit/.Kemudianinstaldansetupsebagaiberikut:
[root@Similikiti ~]# cp htb.init-v0.8.5 /etc/init.d/htb.init
[root@Similikiti ~]# mkdir -p /etc/sysconfig/htb
Instalasiwebminhtbmodul
Downloadterlebihdahuluwebminhtbmodul:
# wget http://www.sehier.fr/webmin-htb/webmin-htb.tar.gz
Kemudianinstalmodulwebminhtbtersebutmelaluiwebmin,denganmemilihmenuWebmin>
Webminconfiguration>WebminModules,sepertitampakdalamgambar4.
Gambar4.InstalasimodulHTBviawebminmodules
Halaman6
Gambar5.HalamanselesaiinstalmoduleHTB
SelanjutnyaAndaharusmengkonfigurasidahulumodulwebminhtbdenganmengklikhyperlink
HierarchicalTokenBucketyangtampakpadagambar5setelahinstalasimodulHTB.Dan
selanjutnyaAndaakanmenemuihalamansepertigambar6.SebagaicatatansebaiknyaAnda
pastikandahuluapakahsudahterinstalmodulperlTree::DAG_Node,jikabelumAndadapat
menginstalnyaterlebihdahulusebelummelakukankonfigurasimodulwebminHTB,sepertiberikut
ini:
[root@labtop1 ~]# cpan -i Tree::DAG_Node
Halaman7
Gambar6.HalamankonfigurasimodulHTB.
Setuptrafficcontrolmenggunakanfrontendwebminhtbmodul
Sebelummemulaimensetuptrafficcontrolmenggunakanfrontendwebminhtbmelaluiwebmin,
penulisakanmembuatskenariopengalokasianbandwidthdanfilteringnya,yaknisebagai
berikut:
BandwidthTrafficdataakandisetupmaksimumhanya512Kbityangdapatditransmitdari
eth1kejaringan.
Jumlahkelastrafficdatayangakandisetupada3kelasyangterdiridari:
kelasyangpertamadenganinformasiparametersbb:
Name:http
Rate:400Kbit
Ceil:512Kbit
Halaman8
Priority:1
Denganrulesfilteringsbb:
Sourceaddress0.0.0.0/0(darimanapun)denganportasal(sourceport)adalah
80,443dan3128,dengandestinationkejaringan192.168.1.0/24
Kelasyangkeduadenganinformasiparametersbb:
Name:ssh
Rate:80Kbit
Ceil:112Kbit
Priority:2
Denganrulesfilteringsbb:
Sourceaddress0.0.0.0/0(darimanapun)denganportasal(sourceport)adalah22
,dengandestinationkehost192.168.1.251.
Kelasyangketigadenganinformasiparametersbb:
Name:other
Rate:32Kbit
Ceil:32Kbit
Priority:3
Denganrulesfilteringsbb:
Sourceaddress0.0.0.0/0(darimanapun)denganportasal(sourceport)berapapun
dandengandestinationkehostmanapundalamjaringanLAN.
SekarangAndatinggalmencobamenerapkanskenariotersebutdenganmengakseswebmin
(http://localhost:10000atauhttps://localhost:10000),kemudianloginmasukkanusername'root'dan
berikanpasswordroot,makaselanjutnyaAndaakanmasukkehalamanutamawebmin,Padahalaman
utamatersebutAndalihatmenusebelahkiri(jikawebminmenggunakandefaultthemes)pilihlah
menuNetworking>HierarchyTokenBucketqueuingdanAndaakanmenemuihalamanutama
modulHTBkemudianklikhyperlinkClickheretoenableinterfaceeth1makaselanjutnyaakan
tampakhalamaninisialisasisepertitampakpadagambar7,dantekantombolSavechanges.
Halaman9
Gambar7.Halamaninisialisasiinterfaceeth1
LangkahberikutnyaadalahAndamembuatataumendefinisikanmasingmasingkelassebagaimana
skenarioyangtelahdipaparkansebelumnya.Untukmembuatkelaslihatpadahalamankonfigurasi
moduleHTB,padabagianIntefaceeth1,kliklahmenu/hyperlinkNewchild[>].Kemudianakan
munculhalamansepertipadagambar8.
Halaman10
Gambar8.HalamanCreateNewChildpertama
BerikutnyaeditkelasyangbaruAndabuatdenganmengklikmenu/hyperlink[2]EDIT_ME,dan
andaakanmenjumpaihalamaneditkemudianisilahseluruhelemenformyangadasesuaidengan
skenarioyangtelahdijelaskanuntukkelasyangpertama.Lihatgambar9untukkelasyangpertama.
Halaman11
Gambar9.HalamanEditMe,untukpembuatankelaspertama.
Setelahmengedit/membuatkelastrafficcontrolyangpertamabesertarulefilteringnya,tekanlah
tombolSavechanges.Langkahpembuatankelasyangkeduadanketigamengikutilangkah
langkahyangtelahAndalakukanuntukkelasyangpertama,hanyasajasesuaikanskenarionya.
Berikutinigambargambaryangmenjelaskanlangkahlangkahpembuatankelaskeduadanketiga
besertarulefilternya.Catatanjikaandainginmembuatsatukelaslagimakapastikantotalratenya
untuksemuakelassamadenganmaksimumrateyangandainginkan.Andajugadapatmembuatchild
kelasdalamsebuahkelasyangtelahdidefinisikanuntukmembentukhirarkikelas(lihat
menu/hyperlinknewcildyangadapadabagiankanansetiapkelasyangdiatandaidengantanda[>].
Halaman12
Gambar10.HalamanCreateNewChildkedua
Halaman13
Gambar11.HalamanEditMe,untukpembuatankelaskedua
Halaman14
Gambar12.HalamanCreateNewChildketiga
Halaman15
Gambar13.HalamanEditMe,untukpembuatankelasketiga
Langkahberikutnyasetdefaultclass(defaultclassdisetuntukkelasother),sepertitampakdalam
gambar14.
Halaman16
Gambar14.SetupDefaultClass
LangkahselanjutnyajikasemuakelasdanrulefilteringnyasudahselesaiAndadefinisikanmaka
Andadapatsegeramengaktifkanhtb.initdenganmenekantombolstartsebagaimanaditunjukkan
dalamgambar15.(Modulwebminhtbinisepertinyaperlupatchagarmuncullabelstartdanstop
padatomboltombolyangditunjukkandalamgambar15.).
Halaman17
Gambar15.MengaktifkanHTBinit
Halaman18
Gambar16.StatuspengaktifanHTBinit.
Semuakonfigurasikelaskelasdanruledaritrafficcontrolmenggunakanwebminhtbmodul
disimpandalamdirektori/etc/sysconfig/htb.Konfigurasisetiapkelasdisimpandalammasingmasing
filesepertiberikutini:
Agarsetiapkalibootinghtb.initdiaktifkanmakaandadapatmendaftarkankepadasistemagarservice
htb.initdiaktifkansaatbootolehinitsecaraotomatis,untukitulakukanperintahberikut:
Halaman19
Selanjutnyacobalahhasilkonfigurasitrafficcontroltersebutdengancaramelakukantransferfile
(download)yangterdapatdisebuahserverdiInternetviaSSH/SCPkekomputer192.168.1.251untuk
mengujiapakahrulepadakelasyangkeduaberjalandengantepat.AtaucobadownloadfileviaHTTP
darisebuahserverdiinternetkekomputerjaringanlokaluntukmengujiruleyangditerapkanpada
kelaspertama.Andadapatmengamatiprosesdownloadapakahadaperbedaanketikasebelumdiatur
menggunakanbandwidthmanagerpadaPCRouterdengansetelahdiatur.AdabaiknyaAndagunakan
toolsuntukmonitoringnetworktrafficseperti:BWMonitor:monitor.pl
(http://www.docum.org/docum.org/monitor/download/monitor.pl),HTBMonitor:monitor.pl
(http://www.docum.org/docum.org/monitor/download/monitor_tc.pl),danlainlain.
Referensi:
http://lartc.org
http://www.docum.org/docum.org
http://www.sehier.fr/webminhtb
Halaman20