Membagi Bandwith IIX dan INT Pada Queue Tree Dengan Implementasi HTB MikroTik

Hierarchical Token Bucket atau disingkat dengan HTB membuat queue pada mikrotik lebih terstruktur. Dengan tidak menerapkan implementasi HTB pada queue, kemungkinan untuk hasil yang didapat berbeda dengan keinginan, dikarenakan ada beberapa parameter yang kurang pas terhadap HTB. Artikel dan tips ini saya buat setelah membaca artikel dari http://Mikrotik.co.id yang berjudul "Mendalami HTB pada QoS RouterOS Mikrotik".

Pada Artikel tersebut yang perlu diingat mengenai HTB:

1. HTB hanya bisa berjalan, apabila rule queue client berada di bawah setidaknya 1 level parent, setiap queue client memiliki parameter limit-at dan max-limit, dan parent queue harus memiliki besaran max-limit.
2. Jumlah seluruh limit-at client tidak boleh melebihi max-limit parent.
3. Max-limit setiap client harus lebih kecil atau sama dengan max-limit parent.
4. Untuk parent dengan level tertinggi, hanya membutuhkan max-limit (tidak membutuhkan parameter limit-at).
5. Untuk semua parent, maupun sub parent, parameter priority tidak diperhitungkan. Priority hanya diperhitungkan pada child queue.
6. Perhitungan priority baru akan dilakukan setelah semua limit-at (baik pada child queue maupun sub parent) telah terpenuhi.

Dan di dalam pembentukan queue tree pada artikel dengan judul diatas, ada 3 parameter yang harus diperhatikan, yaitu:
# parent (yang harus diisi dengan outgoing-interface),
# packet-mark (harus dibuat terlebih dahulu di ip-firewall-mangle),
# max-limit (yang merupakan batas kecepatan maksimum), atau dikenal juga dengan MIR (Maximum Information Rate).

Namun disini saya tambahkan satu parameter lagi yang bisa menjadi perhatian, yaitu:
# limit-at (dimana pada client harus disesuaikan terhadap max-limit parent, dengan nilai limit-at maka sekurang-kurangnya pada client tetap bisa mendapatkan BW).

Berikut salah satu contoh queue tree dengan memisahkan IIX / INT, dan penerapannya terhadap implementasi HTB.

Dengan Asumsi:
- interface ke-arah lokal diberi nama LAN
- interface ke-arah luar/internet diberi nama WAN
- Jumlah pc client sebanyak 10 unit
- Koneksi IIX 2Mb Download dan 1Mb Upload
- Koneksi INT 1Mb Download dan 512k Upload
- Telah memiliki list address "Nice" / Ip Indonesia (untuk memisahkan IIX dan INT).

1. Pertama yang dilakukan membuat mangle masing-masing pc untuk mendapatkan mark packet IIX dan INT nya.

Membuat list ip address dengan nama "nat-addr", dengan isian rentang ip local, pada contoh ini saya menggunakan subnet /24, yang artinya rentang ip tersebut dari 0-254.
/ ip firewall address-list
add list=nat-addr address=192.168.10.0/24 comment="" disabled=no

Kemudian dilanjutkan dengan membuat mangle pemisahan IIX dan INT, pada asumsi ini list nice dianggap telah ada.
/ ip firewall mangle
add chain=prerouting src-address=192.168.10.1 dst-address-list=nice \
action=mark-connection new-connection-mark=pc01.iix.c comment="pc01 IIX" \
disabled=no
add chain=prerouting connection-mark=pc01.iix.c action=mark-packet \
new-packet-mark=pc01.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.1 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc01.int.c comment="pc01 INT" disabled=no
add chain=prerouting connection-mark=pc01.int.c action=mark-packet \
new-packet-mark=pc01.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.2 dst-address-list=nice \
action=mark-connection new-connection-mark=pc02.iix.c comment="pc02 IIX" \
disabled=no
add chain=prerouting connection-mark=pc02.iix.c action=mark-packet \
new-packet-mark=pc02.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.2 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc02.int.c comment="pc02 INT" disabled=no
add chain=prerouting connection-mark=pc02.int.c action=mark-packet \
new-packet-mark=pc02.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.3 dst-address-list=nice \
action=mark-connection new-connection-mark=pc03.iix.c comment="pc03 IIX" \
disabled=no
add chain=prerouting connection-mark=pc03.iix.c action=mark-packet \
new-packet-mark=pc03.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.3 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc03.int.c comment="pc03 INT" disabled=no
add chain=prerouting connection-mark=pc03.int.c action=mark-packet \
new-packet-mark=pc03.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.4 dst-address-list=nice \
action=mark-connection new-connection-mark=pc04.iix.c comment="pc04 IIX" \
disabled=no
add chain=prerouting connection-mark=pc04.iix.c action=mark-packet \
new-packet-mark=pc04.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.4 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc04.int.c comment="pc04 INT" disabled=no
add chain=prerouting connection-mark=pc04.int.c action=mark-packet \
new-packet-mark=pc04.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.5 dst-address-list=nice \
action=mark-connection new-connection-mark=pc05.iix.c comment="pc05 IIX" \
disabled=no
add chain=prerouting connection-mark=pc05.iix.c action=mark-packet \
new-packet-mark=pc05.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.5 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc05.int.c comment="pc05 INT" disabled=no
add chain=prerouting connection-mark=pc05.int.c action=mark-packet \
new-packet-mark=pc05.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.6 dst-address-list=nice \
action=mark-connection new-connection-mark=pc06.iix.c comment="pc06 IIX" \
disabled=no
add chain=prerouting connection-mark=pc06.iix.c action=mark-packet \
new-packet-mark=pc06.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.6 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc06.int.c comment="pc06 INT" disabled=no
add chain=prerouting connection-mark=pc06.int.c action=mark-packet \
new-packet-mark=pc06.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.7 dst-address-list=nice \
action=mark-connection new-connection-mark=pc07.iix.c comment="pc07 IIX" \
disabled=no
add chain=prerouting connection-mark=pc07.iix.c action=mark-packet \
new-packet-mark=pc07.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.7 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc07.int.c comment="pc07 INT" disabled=no
add chain=prerouting connection-mark=pc07.int.c action=mark-packet \
new-packet-mark=pc07.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.8 dst-address-list=nice \
action=mark-connection new-connection-mark=pc08.iix.c comment="pc08 IIX" \
disabled=no
add chain=prerouting connection-mark=pc08.iix.c action=mark-packet \
new-packet-mark=pc08.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.8 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc08.int.c comment="pc08 INT" disabled=no
add chain=prerouting connection-mark=pc08.int.c action=mark-packet \
new-packet-mark=pc08.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.9 dst-address-list=nice \
action=mark-connection new-connection-mark=pc09.iix.c comment="pc09 IIX" \
disabled=no
add chain=prerouting connection-mark=pc09.iix.c action=mark-packet \
new-packet-mark=pc09.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.9 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc09.int.c comment="pc09 INT" disabled=no
add chain=prerouting connection-mark=pc09.int.c action=mark-packet \
new-packet-mark=pc09.int.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.10 dst-address-list=nice \
action=mark-connection new-connection-mark=pc10.iix.c comment="pc10 IIX" \
disabled=no
add chain=prerouting connection-mark=pc10.iix.c action=mark-packet \
new-packet-mark=pc10.iix.p comment="" disabled=no
add chain=prerouting src-address=192.168.10.10 src-address-list=nat-addr \
dst-address-list=!nice action=mark-connection \
new-connection-mark=pc10.int.c comment="pc10 INT" disabled=no
add chain=prerouting connection-mark=pc10.int.c action=mark-packet \
new-packet-mark=pc10.int.p comment="" disabled=no


2. Selanjutnya membuat type pcq, sebagai tuas pemisah antara download dan upload dari masing-masing IIX dan INT yang telah dipisahkan.
Untuk pcq up-stream diberi nama "pcq-up
Untuk pcq down-stream diberi nama "pcq-down"
/ queue type
add name="pcq-up" kind=pcq pcq-rate=0 pcq-limit=50 \
pcq-classifier=src-address,src-port pcq-total-limit=2000
add name="pcq-down" kind=pcq pcq-rate=0 pcq-limit=50 \
pcq-classifier=dst-address,dst-port pcq-total-limit=2000

3. Membuat queue tree
Membuat parentnya terlebih dahulu:
/ queue tree
add name="net iix-dw" parent=LAN packet-mark="" limit-at=0 queue=pcq-down \
priority=8 max-limit=2000000 burst-limit=0 burst-threshold=0 burst-time=0s \
disabled=no
add name="net iix-up" parent=WAN packet-mark="" limit-at=0 queue=pcq-up \
priority=8 max-limit=1000000 burst-limit=0 burst-threshold=0 burst-time=0s \
disabled=no
add name="net int-dw" parent=LAN packet-mark="" limit-at=0 queue=pcq-down \
priority=8 max-limit=1000000 burst-limit=0 burst-threshold=0 burst-time=0s \
disabled=no
add name="net int-up" parent=WAN packet-mark="" limit-at=0 queue=pcq-up \
priority=8 max-limit=512000 burst-limit=0 burst-threshold=0 burst-time=0s \
disabled=no

Perhatikan jenis queue type yang dipakai pada masing-masing parent dengan type WAN dan LAN. Parent WAN menggunakan queue type pcq-up dan parent LAN menggunakan queue type pcq-down. Dan juga pada masing-masing parent tidak diset "limit-at" hanya menggunakan "max-limit" saja.

Selanjutnya membuat child dari masing-masing parent tersebut.

Koneksi IIX downstream:
/ queue tree
add name="pc01 IIX Down" parent="net iix-dw" packet-mark=pc01.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc02 IIX Down" parent="net iix-dw" packet-mark=pc02.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc03 IIX Down" parent="net iix-dw" packet-mark=pc03.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc04 IIX Down" parent="net iix-dw" packet-mark=pc04.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc05 IIX Down" parent="net iix-dw" packet-mark=pc05.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc06 IIX Down" parent="net iix-dw" packet-mark=pc06.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc07 IIX Down" parent="net iix-dw" packet-mark=pc07.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc08 IIX Down" parent="net iix-dw" packet-mark=pc08.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc09 IIX Down" parent="net iix-dw" packet-mark=pc09.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc10 IIX Down" parent="net iix-dw" packet-mark=pc10.iix.p \
limit-at=200000 queue=default priority=7 max-limit=2000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no

Asumsi koneksi sebelumnya telah disebutkan bahwa IIX download sebesar 2MB, untuk itu pada "limit-at" dipasang nilai 200000 atau sebesar 200k untuk masing-masing unit. Nilai 200k diambil dari 2000000:10 = 200000 (200k). Nilai Total BW dibagi Jumlah Total PC. Sedangkan pada nilai "max-limit" diberi nilai sebesar nilai total bandwidth.

Tujuannya adalah ketika pc hanya aktif 1 unit, maka bandwitdh bisa dipakai total kepada user tersebut, ketika 2 unit pc aktif nilai bandwidth akan dibagi dua menjadi 1Mb untuk nilai total masing-masing pc (jika menggunakan maksimal), dan jika 10 pc aktif maka bandwidth dialokasikan secara merata sebesar 200k kepada masing-masing pc, dikarenakan adanya batas "limit-at", sehingga walau pc aktif tersebut saling download, tetapi tidak akan mengganggu bandwitdh pc lainnya.

Koneksi IIX upstream:
/ queue tree
add name="pc01 IIX Up" parent="net iix-up" packet-mark=pc01.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc02 IIX Up" parent="net iix-up" packet-mark=pc02.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc03 IIX Up" parent="net iix-up" packet-mark=pc03.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc04 IIX Up" parent="net iix-up" packet-mark=pc04.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc05 IIX Up" parent="net iix-up" packet-mark=pc05.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc06 IIX Up" parent="net iix-up" packet-mark=pc06.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc07 IIX Up" parent="net iix-up" packet-mark=pc07.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc08 IIX Up" parent="net iix-up" packet-mark=pc08.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc09 IIX Up" parent="net iix-up" packet-mark=pc09.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc10 IIX Up" parent="net iix-up" packet-mark=pc10.iix.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no

Koneksi Total IIX Up = 1Mb, untuk masing-masing unit diberi nilai 100k pada "limit-at" nya dan 1Mb untuk "max-limit".

Koneksi INT downstream:
/ queue tree
add name="pc01 INT Down" parent="net int-dw" packet-mark=pc01.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc02 INT Down" parent="net int-dw" packet-mark=pc02.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc03 INT Down" parent="net int-dw" packet-mark=pc03.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc04 INT Down" parent="net int-dw" packet-mark=pc04.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc05 INT Down" parent="net int-dw" packet-mark=pc05.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc06 INT Down" parent="net int-dw" packet-mark=pc06.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc07 INT Down" parent="net int-dw" packet-mark=pc07.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc08 INT Down" parent="net int-dw" packet-mark=pc08.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc09 INT Down" parent="net int-dw" packet-mark=pc09.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc10 INT Down" parent="net int-dw" packet-mark=pc10.int.p \
limit-at=100000 queue=default priority=7 max-limit=1000000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no

Koneksi INT upstream:
/ queue tree
add name="pc01 INT Up" parent="net int-up" packet-mark=pc01.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc02 INT Up" parent="net int-up" packet-mark=pc02.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc03 INT Up" parent="net int-up" packet-mark=pc03.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc04 INT Up" parent="net int-up" packet-mark=pc04.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc05 INT Up" parent="net int-up" packet-mark=pc05.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc06 INT Up" parent="net int-up" packet-mark=pc06.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc07 INT Up" parent="net int-up" packet-mark=pc07.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc08 INT Up" parent="net int-up" packet-mark=pc08.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc09 INT Up" parent="net int-up" packet-mark=pc09.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no
add name="pc10 INT Up" parent="net int-up" packet-mark=pc10.int.p \
limit-at=50000 queue=default priority=7 max-limit=512000 burst-limit=0 \
burst-threshold=0 burst-time=0s disabled=no

Nilai 50k didapat dari total INT Up sebesar 512k:10 = 51.2k yang dibulatkan menjadi 50k.

Penjelasan:
1. Nilai Limit-at pada client jika ditotalkan tidak boleh melebihi nilai dari max-limit yang ada pada parent. Berfungsi sebagai penahan bandwitdh agar tidak ditarik oleh pc aktif lainnya ketika bandwitdh telah melebihi batasnya.
2. Nilai max-limit pada client, disesuaikan dengan keinginan anda sendiri asal tidak kurang dari nilai "limit-at". Pada kondisi ini, saya menyamakan nilai max-limit client dengan nilai max-limit yang ada pada parent, dengan tujuan ketika pc lain tidak aktif (hanya 1 pc) bandwidth bisa dipergunakan sendiri secara maksimal, begitupun ketika ada 2 pc aktif dan seterusnya.
3. Nilai priority pad pc client harus lebih kecil dari nilai priority parent. Pada contoh ini, nilai priority parent adalah 8 dan nilai priority pada client adalah 7.
4. priority pada antar parent/subparent tidak berpengaruh satu dengan lainnya. Hanya berpengaruh terhadap nilai priority client.

Berikut preview gambar pada MikroTik yang saya kelola dengan menggunakan system rule diatas. Dan sampai saat ini, syukurlah MikroTik nya belum mengalami kendala dengan system pembagian bandwidth, dan semoga tidak terjadi.




Gambar ini diambil jam 3 pagi, makanya tidak ada traffick. Yang terlihat hanya koneksi icmp/ping milik netwacth MikroTik untuk check saja yang aktif.

Salam Codet.

11 comments:

  1. kenapa pada saat buat mangel packet mark ujung nya C
    "packet-mark=pc10.iix.c"
    tetapi pada saat di queue tree ujung nya P
    "packet-mark=pc10.iix.p"

    kesalahan penulisan kah?

    ReplyDelete
  2. to saintbreey :
    coba anda perhatikan dengan seksama, dan bila perlu lakukan copy-paste di MikroTik anda listing tersebut diatas.

    c merupakan connection-mark sedangkan....
    p merupakan packetnya

    ReplyDelete
  3. ane coba kok ndak jalan ya

    ReplyDelete
  4. buat warnet game campur browsing g mana mas ?

    ReplyDelete
  5. Untuk youtube itu sendiri tidak tertangkap lokal yah, padahal ISP banyak yang sudah memberikan jalur untuk lokal. Kenapa hanya Youtube saja, padahal seluruhnya sudah ter koneksi dengan benar, baik IIX dan INT.

    ReplyDelete
  6. lumayan untuk blajar mikrotik

    ReplyDelete
  7. Sangat membantu totorialnya terutama saya pemula di jaringan. udah d tes hasilnya bs. terima ksih banyak bos mantap.....

    ReplyDelete
  8. Mas, mau tanya nih, gimana ya kalau localnya terdiri dari beberapa segmen jaringan. Contohnya 192.168.1.0/24 dan 192.168.2.0/24.. Terima kasih

    ReplyDelete
  9. Mangle game online nya ko gak ada mas ?

    ReplyDelete