texs mlaku

MENU

sekelumit regex

apa itu regex?? regular expression.. sebuah pengolahan text yang sering dipakai pada beberapa bahasa pemrograman. tanpa menggunakan regex ini, refresh pattern di squid jadi panjang banget.. pokoknya regex mengenali pola-pola data dengan proses matching.. dalam sebuah url yang panjang dan bertele-tele ternyata ada kunci untuk menyimpulkan data apa yang sedang direquest.. atau sedang di download, kunci inilah yang dirumuskan dalam regex, seperti seorang kriptografer.. :P

ente yang pake windows atau linux base pasti tau apa itu wildcard atau globbing jika di Unix. Wildcard adalah sebuah string pola yang dapat digunakan untuk dicocokkan dengan sekumpulan nama file dan direktori. Mis: *.exe cocok dengan semua file berekstensi .exe. ???.3gp cocok dengan file .3gp. wildcard ini ternyata tidak sama polanya di windows, unix, dan linux.. nah.. regex mengambil jalan tengah..
seperti wildcard, Regex mengenali berdasarkan pola, yang dicocokan terhadap string dari kiri ke kanan,

tanda * dan ? disebuat karakter meta yang berarti alias.. (bukan sebenarnya red.)

String Meta
string meta itu terdiri dari | ( ) [ ] ? dimana

  • | adalah pemilihan (or)
    ( dan ) adalah pengelompokan
    [ dan ] untuk character set
    ? yang berarti opsional


contoh:

elo|gue|end match dengan elo atau gue atau end selain itu nggak
(kakiku|tanganku)sakit match dengan kakiku sakit atau tanganku sakit
mikr[oi]ti(k|ng) match dengan mikrotik, mikritik, mikroting, mikriting
[A-Za-z] match dengan alphabet huruf kapital, dan huruf kecil, tapi tidak match dengan 1,2,3,4,5....!@##
[0-9] match dengan 1,2,3,4........0
0[0-9][1-9] match dengan 001 - 099, tidak match dengan 0, 00, 10-99, 000, 100, 101, dst

String opsional dan string meta lainnya
? artinya boleh ada, boleh tidak
. artinya match dengan 1 karakter, apapun itu
* artinya tidak ada sama sekali (nol) atau lebih karakter
+ artinya satu atau lebih karakter
^ batas depan, berarti didepannya gak boleh adalagi karakter dan tutupnya adalah $ yang berarti dibelakannya udah ga ada lagi karakter, biasa disebut jangkar
tetapi didalam [ ], $ bukan string meta..

contoh

(kom)?puter match dengan komputer atau puter
kontr?ol match dengan kontrol atau .... heheheheh
t.ket match dengan tiket, tzket, twket, t1ket, t*ket dan seterusnya
b.?la match dengan bola, bela, bila, atau bla
678 match dengan 12345678, 456789, pokoknya yang mengandung 678
^678 hanya match dengan 678, 6789, deretan 345678 tidak cocok
34$ match dengan 1234, 234, 34 345678 tidak cocok

string meta yang haus resource jika salah penggunaan
.+ match dengan apapun itu.. yang penting string
.* lebih parah lagi.. biarpun bukan string (ga ada karakter) diembat juga


Quantifier

?, +, dan * sebetulnya adalah shortcut dari sebuah sintaks yang lebih umum, yaitu quantifier. Quantifier menyatakan berapa rentang jumlah yang diperbolehkan dari elemen yang di depannya. Format quantifier adalah salah satu dari:

X{m}, artinya elemen X harus terulang sebanyak persis m kali.
X{m,}, artinya elemen X harus ada minimal sebanyak m kali.
X{,n}, artinya elemen X boleh ada hingga terulang maksimal n buah.
X{m,n}, artinya elemen X boleh ada dari m hingga n buah.

Beberapa contoh:
\d{5} cocok dengan bilangan 00000, 10000 hingga 99999 (semua harus terdiri dari digit sebanyak lima buah).
\d{1,5} cocok dengan bilangan 0-99999 (mulai dari satu hingga lima digit).
\d{1,} cocok dengan deretan digit, atau sama dengan pola \d+.
? sama dengan {0,1}, + sama dengan {1,} dan * sama dengan {0,}.

tambah jauh tambah ngeri ya??

untuk membuat sebuah karakter meta menjadi karakter yang berupa string (literal) kita perlu menambahkan "backslash".. ya.. "\"
contoh: [0-9]+(.[0-9]*) >> salah apa benar?? benar benar aja sih.. tapi jika maksudnya adalah
"Rangkaian satu atau lebih digit yang boleh diikuti oleh titik dan nol atau lebih digit lagi" yang maksudnya ntar hanya match dengan : 5, 0.3, 1012, dan 500.500. maka salah total..
kenapa?? karena mengandung karakter meta (.) yang berarti.. boleh 0z1, 0+0 :P


nah.. sekarang.. silahkan periksa2 squid agan2 sekalian... silahkan periksa refresh patternnya.. pelajari apa maksudnya.. :P
sampe sekarang ane juga masih bingung..
 

TS

* Realtime

   
1. Metode: tingkat dijamin
   
2. dirancang untuk lalu lintas yang memiliki latensi yang tepat atau persyaratan throughput
   
3. semua nilai realtime mengambil dari total antrian root. (Tidak inhereting dari antrian induk)
   
4. nilai maksimum adalah 75% dari total bandwidth dalam antrian akar

    
* Linkshare

   
1. Metode: upaya terbaik dequeuing (tidak aktif jika tidak ada paket antri menunggu)
   
2. bekerja dengan bandwidth tersisa setelah tarif realtime telah terpenuhi.
   
3. semua nilai linkshare mengambil dari total antrian orang tua
   
4. bandwidth maksimum adalah 100%

    
* Bandwidth

   
1.
   
2. pf-spesifik variabel, berlebihan untuk linkshare
   
3. merekomendasikan pencocokan nilai ini untuk nilai linkshare Anda
   
4. jika Anda menggunakan nilai ini tetapi menghilangkan linkshare, mungkin menggunakannya sebagai nilai linkshare (Saya belum diuji ini)
   
5. jika Anda menghilangkan nilai ini PF akan mengeluh kesalahan sintaks
(Penjelasan redundansi ini dikutip di bawah ini dari milis)
"Q: Siapa yang butuh dua parameter konfigurasi untuk mengontrol satu variabel"?
"A:.. HFSC memiliki 2 parameter bandwidth yang berbeda, satu untuk penjadwalan realtime dan yang lainnya untuk penjadwalan linksharing Jadi, parameter bandwidth berlebihan tetapi implementasi saat ini kurang mengejutkan bagi mereka yang tidak mengerti HFSC (Saya setuju bahwa itu membingungkan bagi mereka yang tahu HFSC, meskipun.) "

    
* Qlimit

   
1. jumlah paket yang akan antri sebelum PF mulai drop paket.
   
2. default adalah 50
   
3. merekomendasikan nilai yang lebih tinggi untuk lalu lintas di mana keandalan adalah lebih penting daripada penundaan
   
4. untuk lalu lintas P2P, hasil terbaik dicapai melalui trial and error tweaker nilai ini. Anda ingin paket untuk drop ketika antrian lain yang bersaing bandwidth, karena hal ini memungkinkan untuk respon cepat untuk antrian non-P2P, tetapi tidak ingin menjatuhkan paket ketika antrian ini adalah satu-satunya konsumen bandwidth.

    
* Prioritas

   
1. antrian dengan prioritas yang lebih tinggi lebih disukai dalam kasus overload. (Yaitu: ini mempengaruhi urutan paket dequeued, ketika paket sedang menunggu dequeue)
Recommedations

    
* Realtime

   
1. menggunakan ini untuk menentukan bandwidth minimum antrian harus dijamin dalam skenario kasus terburuk untuk berfungsi cukup.

    
* Linkshare

   
1. menggunakan ini untuk menentukan jumlah bandwidth antrian akan menerima ketika mencoba untuk dequeue paket. (Saya yakin ini adalah relatif terhadap apa bandwidth yang tersedia)

    
* Upperlimit

   
1. menggunakan ini untuk menentukan bahwa bandwidth maksimum antrian akan menerima. Ini tidak akan pernah melampaui ini.
(Catatan: upperlimit bukan bagian dari HFSC asli dan saya tidak merekomendasikan menggunakannya kecuali untuk antrian root anda)Catatan

    
* Tugas dari linkshare dan realtime kumulatif. Setiap lalu lintas yang melebihi ambang assignedrealtime akan dequeued menggunakan nilai linkshare ditugaskan.
Tips / Ideas

    
* Memberikan nilai nol linkshare

   
1. Anda dapat menetapkan linkshare dari 0KB dan masih memberikan nilai realtime.
   
2. Jika lalu lintas dalam antrian melebihi nilai realtime ada linkshare akan digunakan untuk dequeue paket-paket backlogged

    
* Mengurangi atau meningkatkan nilai bandwidth dari waktu ke waktu
Realtime dan Linkshare dapat disesuaikan automaticly didasarkan pada penundaan waktunya.
- Mengurangi tingkat dari waktu ke waktu
contoh: HFSC (realtime (192Kb 5000 64KB))

   
1. 192Kbit bandwidth dijamin untuk 5000ms pertama
   
2. Setelah 5000ms jaminan throughput turun ke 64Kbit
   
3. Bila menggunakan metode ini, pertama dan kedua nilai bandwidth yang bisa apa saja yang Anda inginkan, dengan mengingat bahwa nilai pertama harus lebih tinggi dari kedua
- Meningkatkan tingkat dari waktu ke waktu
contoh: HFSC (realtime (0KB 300 128Kb))

   
1. 0Kbit bandwidth dijamin untuk 300ms pertama
   
2. Setelah 300ms 128Kbit bandwidth disediakan
   
3. Bila menggunakan metode ini, nilai pertama harus 0.
Contoh

   
1. Saya ingin menetapkan upperlimit untuk mencocokkan bandwidth / nilai linkshare.
   
2. Hal ini memastikan HFSC menerima persis seperti bandwidth sebanyak Anda mengatakan itu untuk bekerja dengan.
altq pada $ ext_if bandwith 1216Kb HFSC (linkshare 1216Kb upperlimit 1216Kb) antrian {o_def, o_intr, o_crit}

   
1. Di sini saya berikan 640Kb dari linkshare ke antrian o_def.
   
2. Tidak ada lalu lintas sedang ditugaskan untuk antrian ini, namun antrian anak di bawah umur itu akan mengambil dari nilai ini.
   
3. Prioritas lebih rendah dari antrian lain karena lalu lintas ini tidak kritis.
antrian o_def bandwith prioritas 640Kb 7 HFSC (linkshare 640Kb) {o_brst, o_other, o_tput}

   
1. Di sini saya berikan 32KB realtime, untuk menjamin kelancaran arus pada kecepatan rendah.
   
2. Saya juga diberikan 128Kb dari linkshare, sehingga paket setiap antrian dapat dequeued cepat.
antrian o_other bandwith 128Kb qlimit 50 HFSC (realtime 32KB linkshare 128Kb standar)

   
1. Sama seperti di atas.
antrian o_brst bandwith 128Kb qlimit 50 HFSC (realtime 32KB linkshare 128Kb)

   
1. Di sini saya berikan 384KB dari linkshare untuk mendistribusikan antara dua antrian anak.
   
2. Tidak ada realtime yang diberikan di sini karena lalu lintas massal adalah yang paling penting dari semua.
   
3. (Yaitu: aplikasi P2P dan transfer file lalu lintas yang tahu menyebabkan menurunnya Anda ingin menggunakan ALTQ untuk di tempat pertama.).
antrian o_tput bandwith 384KB qlimit 30 HFSC (linkshare 384KB) {o_tp1, o_tp2}

   
1. Di sini saya menugaskan dua subqueues untuk lalu lintas massal.
   
2. Masing-masing diberikan 192Kb dari linkshare.
   
3. Jika massal di setiap antrian ini adalah berebut bandwidth, keduanya akan mendapatkan 50% dari total yang tersedia bagi mereka.
antrian o_tp1 bandwith 192Kb qlimit 30 HFSC (linkshare 192Kb)antrian o_tp2 bandwith 192Kb qlimit 30 HFSC (linkshare 192Kb)

   
1. Di sini saya berikan 384KB dari linkshare ke antrian o_intr.
   
2. Tidak ada lalu lintas sedang ditugaskan untuk antrian ini, namun antrian anak di bawah umur itu akan mengambil dari nilai ini
   
3. Prioritas lebih tinggi dari o_def karena lalu lintas ini membutuhkan penundaan rendah dan throughput stabil (game, ssh, im, vpn, dll).
antrian o_intr bandwith 384KB prioritas 8 HFSC (linkshare 384KB) {o_gme, o_dly, o_vpn}

   
1. Di sini saya memberikan realtime 256KB dan linkshare dari 128Kb.
   
2. Hal ini memastikan antrian game saya menerima tingkat jaminan 256Kbit.
   
3. Nilai linkshare adalah untuk dequeue sesuatu yang melebihi nilai realtime.
antrian o_gme bandwith 128Kb qlimit 50 HFSC (realtime 256KB linkshare 128Kb)

   
1. Essentialy sama seperti di atas tetapi berbeda nilai.
antrian o_dly bandwith 128Kb qlimit 100 HFSC (realtime 192Kb linkshare 128Kb)

   
1. Essentialy sama seperti di atas tetapi berbeda nilai.
antrian o_vpn bandwith 128Kb qlimit 150 HFSC (realtime 192Kb linkshare 128Kb)

   
1. Di sini saya berikan 192Kb dari linkshare ke antrian o_crit.
   
2. Tidak ada lalu lintas sedang ditugaskan untuk antrian ini, namun antrian anak di bawah umur itu akan mengambil dari nilai ini
   
3. Prioritas lebih tinggi dari o_def dan o_intr karena lalu lintas ini membutuhkan penundaan rendah dan throughput stabil. (Dns, icmp, voip, dll)
antrian o_crit bandwith 192Kb prioritas 9 HFSC (linkshare 192Kb) {o_voip, o_ctl, o_ack}

   
1. Di sini saya telah memberikan jaminan 120KB dengan nilai realtime saya.
   
2. Perhatikan saya berikan 0kb dari linkshare karena lalu lintas ini tidak akan melebihi 120Kbit / s dan tidak ada kekhawatiran tentang dequeuing karena ini.
   
3. Saya juga menggunakan qlimit 500 untuk memastikan tidak ada paket yang pernah dijatuhkan dalam antrian ini.
antrian o_voip bandwith 0KB qlimit 500 HFSC (realtime 120KB)

   
1. Di sini saya sudah diberi realtime 48kb untuk menjamin kelancaran arus dns dan lalu lintas icmp.
   
2. Aku sudah memberikan 64KB linkshare untuk memastikan meluap apapun dequeued cepat.
antrian o_ctl bandwith 64KB qlimit 150 HFSC (realtime 48kb linkshare 64KB)

   
1. Di sini saya sudah diberi realtime dari 92KB untuk memastikan paket ack saya selalu mengalir dengan cepat.
   
2. Saya telah dialokasikan 128Kb dari linkshare untuk memastikan setiap overflow, tidak mater seberapa mungkin, adalah dequeued cepat.
antrian o_ack bandwith 128Kb qlimit 500 HFSC (realtime 92KB linkshare 128Kb)

setting-repeater-2-ap-tp-link-5210-client-penerima-5110-ap-penyebar

Setting AP Utama (WA5210G) :
Operation Mode = AP
SAVE
Network :
IP Address = 192.168.1.254
Subnet Mask = 255.255.255.0
Gateway = 192.168.1.1
SAVE
Wireless Basic Setting :
SSID = (sesuaikan) misal TP-Link
Region = Indonesia
Channel = (pilih salah satu antara channel 1 sampe 11) misal channel 6
Power = Pilih yg maksimum dan centang Enable High Power Mode
Mode = 54 Mbps (802.11g)
SAVE
Wireless Mode = Access Point dan centang Enable SSID Broadcast
SAVE


Setting AP Repeater (WA5110G) :
Operation Mode = AP
SAVE
Network :
IP Address = 192.168.1.253
Subnet Mask = 255.255.255.0
Gateway = 192.168.1.1
SAVE
Wireless Basic Setting :
SSID = samakan dengan AP Utama (TP-Link)
Region = Indonesia
Channel = samakan dengan AP utama (Channel 6)
Power = Pilih yg maksimum dan centang Enable High Power Mode
Mode = 54 Mbps (802.11g)
SAVE
Wireless Mode = Universal Repeater
Klik Survey kemudian pilih SSID yg tampil (dalam hal ini SSID-nya TP-Link) kemudian klik connect.
nanti MAC of AP akan terisi secara otomatis
SAVE

Note : jika AP Utama pake security, setting juga security di AP Repeater dengan setting yg sama (WPA-PSK/WPA2-PSK)

SELAMAT MENCOBA...!!