Home

Kamis, 09 Januari 2014

spanning tree



PENDAHULUAN
Pembaca yang budiman, satu hal yang memberatkan hati penulis ketika melangkah ke bab ini (dan bab berikutnya) adalah sulitnya melakukan praktik perintah-perintah dengan hanya berbekal packet tracer dan GNS3. Kita benar-benar hanya memerlukan perangkat switch sungguhan. Memang ada beberapa perintah yang bisa diuji pada packet tracer dan GNS3. Namun, hasilnya kadangkala tidak sama dengan apa yang penulis harapkan.


Meskipun cukup berat, penulis berusaha untuk menyelesaikan semua bab dengan segenap kemampuan yang ada. Semoga saja Pembaca yang budiman tidak kecewa dengan tidak dapat sepenuhnya mempraktikkan materi bab ini (dan seterusnya) berbekal packet tracer atau GNS3.


Kita sudah belajar melakukan konfigurasi trunk link. Dua buah switch dapat berkomunikasi via trunk link. Lalu apa yang terjadi jika suatu ketika trunk link mengalami masalah ? penyebab masalah bisa berbagai kemungkinan. Mulai dari kesalahan konfigurasi, bridging loop, broadcast traffic, sampai dengan kerusakan fisik pada jalur kabel yang digunakan. Kondisi ini dapat menyebabkan komunikasi di antar kedua switch terputus.



Salah satu persoalan yang sering muncul pada network yang terdiri atas banyak switch adalah bridging loop. Frame bisa mengalir terus, berputar – putar tanpa henti, dan pada akhirnya dapat menyebabkan network down. penulis pernah menyinggung tentang bridging loop (network loop) di buku CCNA. Oleh sebab itu, teori tentang bridging loop tidak akan banyak disinggung dalam buku ini.


Sebuah network yang bagus tidak hanya dapat mentrasmisikan frame atau paket secara efisien. Akan tetapi, juga harus mempu pulih (recover) dengan cepat manakala network mengalamai kegagalan.


Pada network layer 3. Protokol routing dapat mengetahui path alternatif. Sehingga ketika path utama gagal, rute alternatif dapat ditemukan. Selain itu, dibolehkan adanya load sharing yang melalui beberapa path untuk mencapai tujuan.


Sedangkan pada network layer 2 (switch dan bridge), tidak ada protokol routing. Selain itu, memang tidak boleh ada path lain untuk mencapai tujuan. Sebab akan membingungkan switch atau bridge.
Sebagai gantinya, dapat digunakan protokol STP yang membolehkan adanya path cadangan jika path utama gagal. Sehingga proses recovery dapat dilakukan dengan cepat.


Jadi, Spanning Tree Protocol (STP) adalah sebuah protokol yang digunakna untuk mencegah terjadinya network loop, dengan cara menemukan redundant link, lalu mengebloknya hingga redundant link tersebut benar-benar dibutuhkan.


Sebuah network yang memungkinkan terjadinya loop, disebut loop topology, akan dirubah oleh STP sehingga terbentuk topologi logika Tree topology, yaitu :
1.       Menentukkan Bridge ID paling rendah

2.       Menentukan Root path cost paling rendah

3.       Menentukan Sender Bridge ID paling rendah

4.       Menentukan Sender Port ID paling rendah


STP akan melakukan pemilihan untuk menentukan :
·         Sebuah Root Bridge

·         Sebuah Root Port untuk setiap non-Root bridge

·         Sebuah Designated port untuk setiap segmen network


Ada beberapa jenis STP, yaitu:
·         Common Spanning Tree (CST)
Mengikuti standar IEEE 802.1Q dan hanya mengizinkan sebuah proses/instan STP untuk semua VLAN, semua CST BPDU akan melalui trunk link menggunakan native VLAN dengan untagged frames.


·         Per-VLAN Spanning Tree (PVST)
Dapat mengaktifkan banyak instan STP. Masing-masing VLAN ditangai oleh instan STP yang berbeda. Sehingga masing-masing STP dapat dikonfigurasi terpisah. Performanya lebih baik dibandingkan CST. PVST dibuat dan dimiliki oleh Cisco, jadi hanya dapat digunakan oleh perangkat buatan Cisco

·         Per-VLAN Spanning Tree Plus (PVST +)
Mendukung CST dan PVST. Sehingga dapat digunakan bersama perangkat lainya (non-Cisco).
Buku lain menyebutkan bahwa STP dapat dibagi menjadi dua, yaitu :
·         Rapid Spanning Tree Protocol
·         Multiple SPT

Penjelasannya sebagai berikut :
·         Rapid Spanning Tree Protocol (RSTP) – IEEE 802.w.
STP menangani transisi dari kondisi aktif (active state) menuju kondisi forward (fordwarding state) ke setiap port dalam waktu 30 hingga 180 detik. Sedangkan RSTP dapat mempersingkat waktu transisi


·         Multiple Spanning Tree (MST) - IEEE 802.1s.
Switch yang mendukung VLAN umumnya akan menjalankan sebuah process Spanning Tree per-VLAN. Jika Switch tersebut mendukung ratusan VLAN maka ratusan proses Spanning Tree harus dijalankan. Kondisi tersebut jelas kurang baik. Karena jika akan menguras tenaga (CPU pada switch) dan memperlambat pemulihan manakala terjadi masalah network.

MST dapat mengurasi proses yang berjalan dengan cara menggabungkan beberapa VLAN yang topologinya sejenis menjadi hanya sebuah proses saja. Sehingga dapat menghemat tenaga dan mempercepat pemulihan manakala terjadi masalah network.

Bridge hanya mengukung 1 buah Spanning Tree  untuk setiap perangkatnya. Sedangkan switch dapat mendukung beberapa Spanning Tree pada sebuah perangkat.

Sebuah switch akan mengirim dan menerima BPDU (Bridge Protocol Data Unit). Ada dua jenis BPDU, yaitu :
·         Configuration BPDU
Digunakan untuk proses komputasi spanning tree. Dikirim setiap 2 detik dari Root ke Switch di bawahnya (downstream switch). Fungsinya untuk :
o   Melakukan pemilihan (election)
o   Memelihara koneksi antar-switch
o   Mengirim informasi timer dari Root

·         Topology Change Notification (TCN) BPDU
Digunakan untuk memberitahu perubahan pada topologi network. Dikirim dari downstream switch ke Root. TCN BPDU akan dikirim apabila :
o   Ada link yang gagal
o   Sebuah port mulai melakukan forwarding, dan sudah ada sebuah designated port
o   Switch menerima TCN dari tetangganya

Ketika switch menerima sebuah TCN BPDU, maka dia akan meng-ACK-nya dengan mengirim balik configuration BPDU yang sudah memiliki TCN Acknowledgement hit set.

Ketika Root menerima sebuah TCN BPDU, dia akan mulai mengirim configuration BPDU dengan TCN bit di-set dengan periode waktu tertentu, yang lamanya sama dengan maksimum umut + waktu forward delay.

Switch mana pun yang menerima configuration BPDU akan mengubah total MAC, bagian aging time dengan waktu Forward Delay.  Sehingga MAC addresses akan berumur lebih cepat. Perubahan topology menyebabkan pemilihan (election) Root bridge, Root ports, dan Designated Ports.

Beberapa metode yang digunakan untuk mempercepat konvergensi STP manakala muncul kegagalan link, yaitu :

·         PortFast – Access layer node
Bekerja antara switch dengan host. Mempercepat recovery pada port yang terhubung dengan host yang sedang booting atau mati seketika.

·         UplinkFast – Access layer switch
Bekerja antar switch dengan switch (distribution layer). Mempercepat recovery uplink manakala primary Root port gagal.

·         BackboneFast – Redundant backbone path
Bekerja di layer core. Mempercepat recovery di tingkat backbone network.

KONFIGURASI STP

Berikut ini contoh beberapa perintah untuk konfigurasi STP.
·         Menampilkan informasi STP untuk VLAN
Pola perintahnya :
Switch(config)# sh spanning-tree vlan vlan-id
Vlan – id yaitu VLAN ID atau nomor VLAN.

Contoh :
Switch# show spanning-tree vlan 100

VLAN0100
Spanning tree enabled protocol ieee
Root ID Priority 4200
Address 00b.sf65.1f80
Cost 4
Port 1 (GigabitEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32868 (priority 32768 sys-id-ext 100)
Address 000c.8554.9a80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
[output omitted]


Perintah Root ID dan Bridge ID yang ditampilkan perintah diatas

·         Menampilkan informasi STP untuk port

Switch(config)#sh spanning-tree int int_no

int_no yaitu nomor interface , missal fa0/1, gig0/1


·         Menampilkan informasi timer STP

Switch(config)#sh spanning-tree bridge brief


·         Mengubah STP priority
Pola pemakaian perintahnya :

Switch(config)#spanning-tree vlan vlan-id priority value

Vlan-id yaitu VLAN ID atau nomor VLAN, sedangkan value adalah Bridge ID

·         Bridge ID atau Bridge priority atau Bridge MAC address
Nilai untuk Bridge ID adalah 0 s/d 65.535 atau 2 byte (dari 0 s/d 0xffff)

·         Port ID atau Port priotity atau nomor port
Nilai port ID adalah 0 s/d 63 atau 6 bit. nilai default-nya adalah 32.

Contoh perintahnya :
Switch(config)#spanning-tree vlan 100 priority 0

Switch# show spanning-tree vlan 100
VLAN0100
Spanning tree enabled protocol ieee
Root ID priority 100
Address 000c.8554.9a80
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID priority 100 (priority 0 sys-is-ext 100)
Address 000c.8554.9a80
Hello time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

·         Menentukan Root
Biasanya Root akan ditentukan melalui mekanisme pemilihan yang melibatkan STP. Namun, kita juga bisa menentukan Root secara manual. Pola perintahnya :

Switch(config)#spanning-tree vlan vlan-id root (primary | secondary)

Berikut ini contoh perintahnya :

Switch(config)#spanning-tree vlan 1 root primary

Vlan 1 bridge priority set to 24576
Vlan 1 bridge max aging time unchanged at 20
Vlan 1 bridge hello time unchanged at 2
Vlan 1 bridge forward delay unchanged at 15

·         Menentukan Port Cost pada access port
Biasanya Port cost ditentukan secara otomatis. Namun, kita bisa menentukan port cost secara manual. Misalkan port fa0/1 akan diubah. Pola perintahnya :

Switch(config-if)#spanning-tree cost value

Berikut ini contoh perintahnya :

Switch(config)#inf fa0/1
Switch(config-if)#spanning-tree cost 19

Post Cost, merupakan nilai kumulatif masing-masing link yang dihitung dari Bridge hingga mencapai Root (Root Bridge). Nilai masing-masing port/link bergantung pada bandwidth atau kecepatannya. Nilai ini ditentukan oleh IEEE. Berikut daftarnya :

Tabel: Nilai untuk port cost menurut IEEE
Link Bandwidth
Nilai
4 Mbps
250
10 Mbps
100
16 Mbps
62
45 Mbps
39
100 Mbps
19
155 Mbps
14
622 Mbps
6
1 Gbps
4
10 Gbps
2

·         Menentukan Port Cost pada Trunk Port

Switch(config)#int fa0/1
Switch(config-if)#spanning-tree vlan vlan-id cost value

Berikut ini contoh perintahnya :

Switch(config)#int fa0/1
Switch(config-if)#spanning-tree vlan 100 cost 19


·         Mengaktifkan Portfast
Portfast adalah fitur yang disediakan oleh perangkat switch Cisco agar pembentukan Tree lebih cepat (network lebih cepat mengalami konvergensi) saat link gagal. Portfast dapat diterapkan pada interface tertentu:

Switch(config)#int fa0/1
Switch(config-if)#spanning-tree port-fast

Atau pun secara global (untuk semua interface)

Switch(config)#spanning-tree port-fast default


·         Mengaktifkan UplinkFast
Mirip dengan Portfast, hanya saja diberlakukan untuk link antar-switch. Gunakan perintah

Switch(config)#spanning-tree uplinkfast


·         Mengaktikan BackboneFast
Mirip dengan UplinFast dan Portfast, hanya saja diberlakukan untuk link core. Gunakan perintah :

Switch(config)#sh spanning-tree backbonefast


·         Mengubah STP timer
Menampilan STP timer :

Switch#sh spanning-tree vlan 100

VLAN100
Spanning tree enabled protocol ieee
Root ID priority 100
Address 000c.8554.9a80
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID priority 100 (priority 0 sys-id-ext 100)
Address 000c.8554.9a80
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300

Beberapa perintah yang digunakan untuk mengubah Hello, Forward, dan Max age. Pola perintahnya

Switch(config)#spanning-tree [vlan vlan-id] hello-time seconds
Switch(config)#spanning-tree [vlan vlan-id] forward-time seconds
Switch(config)#spanning-tree [vlan vlan-id] max-age seconds

Contoh perintah:

Switch(config)#spanning-tree hello-time 10
Switch(config)#spanning-tree vlan 40 hello-time 10

Switch(config)#spanning-tree forward-time 7
Switch(config)#spanning-tree vlan 40 forward-time 7

Switch(config)#spanning-tree max-age 45
Switch(config)#spanning-tree vlan 40 max-age 45


RAPID SPANNING TREE PROTOCOL
Rapid Spanning Tree Protocol (RSTP) 802.1w merupakan sebuah standar untuk mempercepat konvergensi STP. Pada STP dikenal state atau status dari port, yang meliputi :
·         Blocking
·         Listening
·         Learning
·         Forwarding
·         Disable
Aktifitas apa saja yang terjadi selama state tersebut dapat dilihat pada tabel.
Tabel: STP state dan aktifitas port
STP Port State
Yang dilakukan
Yang tidak dilakukan
Durasi
Disable
-
Mengirim, menerima data
-
Learning
Mengirim,menerima BPDU, mempelajari MAC address
Mengirim, menerima data
Forward delay timer (15 detik)
Listening
Mengirim, menerima BPDU
Mengirim, menerima data, mempelajari MAC address
Forward delay timer (15 detik)
Forwarding
Mengirim, menerima BPDU, mempelajari MAC address, mengirim dan menerima data

Terbatas, sepanjang port aktif dan tidak mendeteksi loop
blocking
Menerima BPDU
Mengirim, menerima data, mempelajari MAC address
Terbatas, jika sudah mendeteksi loop

Ada sedikit perbedaan antara STP dengan RSTP. Berikut ini beberapa perbedaan RSTP dengan STP.

Tabel: perbandingan STP/RSTP state
STP State
RSTP State
Disable
Discarding
Learning
Learning
Listening
Discarding
Forwarding
Forwarding
Blocking
Discarding

Perbedaan lainya yaitu pada ketentuan yang berlaku untuk port, sebagai berikut :
·         Root port (sama dengan STP)
·         Designated port (sama dengan STP)
·         Alternate port, merupakan backup dari Root port
·         Backup port, merupakan backup dari designated port
·         Disable port, port yang tidak digunakan oleh Spannig Tree
·         Edge port, port yang terhubung dengan end user


MULTIPLE SPANNING TREE PROTOCOL

Dengan Multiple Spanning Tree (MST), kita dapat membuat group VLAN dan menjalankan sebuah instan SPT untuk grup VLAN tadi. Sehingga dapat mengurangi jumlah Root bridge, Root port, Designated port, dan BPDU.

Switch yang berada pada area MST yang sama dapat menggunakan konfigurasi yang sama, berikut ini contoh pola penggunaan perintah konfigurasi MST

Switch(config)#spanning-tree mode mst
Switch(config)#spanning-tree mst configuration
Switch(config-mst)#name region_name
Switch(config-mst)#revision number
Switch(config-mst)#instance number vlan vlan_range
Switch(config-mst)#~z

Switch#spanning-tree mst


MEMPROTEKSI STP

Network yang menggunakan STP akan menggunakan BPDU untuk proses komunikasi antar-switch atau bridge. Untuk menghasilkan topologi yang efisien maka penempatan atau lokasi Root haruslah dapat diprediksi. Sehingga apabila ada “switch” asing yang baru saja dipasang di network tersebut tidak akan menyebabkan “kekacauan” topologi.

Untuk mengantisipasi kondisi ini maka Cisco telah menambahkan fitur STP yang disebut Root Guard dan BPDU Guard.

a) Root Guard
setelah network telah mencapai loop free, yaitu STP topologi sudah konvergen, port pada switch akan ditandai sebagai:

·         Root port
Atau
·         Designed port
Atau
·         Blocking port
Atau
·         Alternate port
Atau
·         Forwarding port

Root bridge akan selalu berusaha menentukan Root port dan Alternate port untuk proses pembentukan Tree. Namun, bisa saja switch yang salah satu atau tidak diharapkan menjadi Root bridge.

Root Guard dapat mencegah switch yang salah/tidak diharapkan menjadi Root. Root port diaktifkan pada port selain Root port, dan pada switch selain Root bridge. Untuk mengaktifkan dan verifikasi Root Guard, gunakan perintah:


Switch(config-if)#spanning-tree guard root
Switch# sh spanning-tree inconsistentports

b) BPDU Guard
BPDU Guard dapat mencegah network loop jika switch lain dihubungkan dengan port portfast. Contoh perintah untuk mengaktifkan dan verifikasi BPDU guard:

Switch(config)#spanning-tree portfast bpduguard default
Switch(config-if)#spanning-tree bpduguard enable
Switch#show spanning-tree summary totals

selain Root Guard dan BPDU Guard, cisco juga menambahkan dua fitur lain pada STP untuk mendeteksi dan mencegah BPDU loss. Kedua fitur tersebut adalah Loop Guard dan Unidirectional Link Detection (UDLD).

c) Loop Guard
Loop Guard mencegah network loop yang mungkin terjadi jika sebuah port melakukan transisi dari blocking state ke forwarding state. Loop Guard seharusnya diaktifkan di semua port switch yang memiliki peluang menjadi Root atau Designated port. Untuk mengaktifkan Loop Guard bagi semua link yang ada di switch, gunakan perintah:

Switch(config)#spanning-tree loopguard default

d) UDLD
normalnya switch terkoneksi secara dua arah (bidirectional link). Artinya traffic mengalir dua arah. Karena suatu hal, dapat terjadi koneksi hanya berjalan satu arah. Walaupun switch mendeteksinya sebagai bidirectional link. Inilah yang disebut unidirectional link.

UDLD memiliki dua mode pengoperasian :

·         Normal mode
Manakala terdeteksi unidirectional link, port masih diizinkan untuk melanjutkan pengoperasian

·         Aggressive mode
Manakala terdeteksi unidirectional link, switch akan mengambil alih untuk mengulangi kembali membangun link
UDLD secara default telah di-disable. UDLD penting diaktifkan pada port filter optic. Pada port Ethernet tidaklah terlalu penting. Namun, kita boleh mengaktifkan UDLD pada port Ethernet.
Untuk mengaktikan mode normal gunakan perintah:
Switch(config)#udld enable
Untuk mengaktifkan mode aggressive gunakan perintah :
Switch(config)#udld aggressive

e) BPDU Filtering
BPDU filtering adalah cara lain mencegah loop. Secara default fitur ini dinonaktifkan. Untuk mengaktifkannya gunakan perintah sebagai berikut :
Switch(config)#spanning-tree portfast bpdufilter default
Switch(config-if)#spanning-tree bpdufilter enable

kita harus agak berhati-hati mengaktifkan BDPU filtering. Gunakan hanya dalam kondisi yang terkendali, seperi port switch hanya akan terhubung dengan sebuah host, sehingga tidak mungkin terjadi loop.

Aktifkan BPDU filtering jika kita yakin bahwa perangkat yang terhubung dengan port, tidak mengizinkan pengiriman atau penerimaan BPDU.

Root Guard, diterapkan pada port yang tidak ada Root bridge
BPDU Guard, diterapkan pada semua port dimana fitur Portfast telah diaktifkan
Loop Guard, diterapkan pada non-designated port, namun boleh diterapkan di semua port.
UDLD, diterapkan pada fiber optic link dan harus di-enable di kedua ujung link.

RANGKUMAN
VLAN atau Virtual LAN atau logical LAN atau logical subnet, merupakan sebuah cara untuk memecah network menjadi beberapa network (segmen) yang lebih kecil.

Cisco membagi VLAN menjadi :
·         End-to-end VLAN
·         Local  VLAN

Beberapa keuntungan VLAN antara lain:
·         Pemakaian bandwidth secara optimal
·         Pembentukan network logika
·         Meningkatkan Security
·         Memudahkan pembuatan IP subnet
·         Memudahkan administrasi



Protokol untuk trunk
·         ISL
·         IEEE 802.1Q
·         IEEE 802.10
·         LANE

Konfigurasi trunk link:
·         Static configuration
·         Dynamic configuration (dynamic autonegotition)

Beberapa jenis serangan pada switch yaitu:
·         MAC address-based attacks
·         Spoofing attacks
·         VLAN-based attacks















3 komentar:

  1. Mas kurang 1, masukin contoh konfigurasi sama topologinya dong. 2 Multilayer Switch (layer3) dan 1 switch layer 2 yang saling terhubung (STP). Yang mendukung VLAN dibawahnya.

    BalasHapus