Pengertian Spanning Tree Protocol (STP)
Pengertian Spanning Tree Protocol (STP) sesuai dengan fungsi dari STP itu sendiri, yaitu dengan tugas utamanya untuk mencegah terjadinya network loops yang terjadi pada layer 2 (device Switch maupun Bridge). STP dengan konstan selalu memonitoring network untuk menemukan links dan memastikan supaya tidak terjadi loops dengan menutup links yang redundant (berlebihan).
Spanning Tree Protocol Operation
- STP menemukan semua links pada network dan menutup links yang redundant. STP benar-benar memastikan/mencegah terjadinya network loops dengan memilih salah satu Switch sebagai root-bridge. Root-bridge port dinamakan designated port (Forwarding-state port). Forwarding-state port bertugas menerima dan mengirim (meneruskan) traffic.
- Setelah salah satu switch ditentukan sebagai root-bridge maka yang lain bertindak sebagai non-root bridge. (lihat gambar diatas)
- Kemudian port (yang berada di switch non-root bridge) yang mempunyai nilai cost terkecil (yang ditentukan oleh bandwidth link) dan terhubung ke port root-bridge (designated port) dinamakan root port (juga bertugas meneruskan traffic).
- Port yang telah ditentukan dan memiliki nilai path-cost paling kecil ke root-bridge dinamakan designated port. Port lain atau port yang berada di jalur yang sama dianggap non-designated (tidak meneruskan traffic) dan dinamakan blocking mode. (lihat gambar diatas)
Memilih Root Bridge
Switch maupun Bridge menjalankan pertukaran informasi STP dengan BPDUs (Bridge Protocol Data Units). BPDUs mengirim pesan konfigurasi menggunakan multicast frame. Bridge ID dari setiap device mengirim ke device lainya menggunakan BPDUs.
Bridge ID digunakan untuk menentukan Root-bridge dan Root-port. Bridge ID panjangnya 8-byte didalamnya termasuk priority dan MAC address dari masing-masing device.
Untuk menentukan Root-bridge, priority dan MAC address device digabung. Jika kedua switch mempunyai nilai priority yang sama, maka MAC address lah yang digunakan untuk menentukan, yaitu dengan memilih salah satu switch yang mempunyai nilai ID MAC yang paling kecil.
Contoh: Pada topologi ada dua buah switch, masing-masing memiliki identitas SW 1 dan SW2. Keduanya memiliki priority yang sama yaitu 32768, maka untuk menentukan root-bridge kita menggunakan MAC Address. Disini SW1 memiliki nilai MAC address: 0000.0c00.1111.1111 dan SW2 nilai MAC addressnya: 0000.0c00.2222.2222 . Maka yang bertindak sebagai root-bridge adalah SW1 karena memiliki nilai ID MAC yang lebih kecil daripada SW2.
Memilih Designated Port
Untuk menentukan port yang akan digunakan untuk komunikasi dengan root-bridge, terlebih dahulu kita harus mengetahui apa itu path-cost. STP cost merupakan total akumulasi path-cost berdasarkan pada bandwidth pada links. Untuk menentukan designated port silahkan baca lagi pada penjelasan diatas.
Spanning-Tree Port States
Port pada switch maupun bridge menjalankan STP transisi melalui 4 states yang berbeda:
- Blocking maksudnya tidak mem-forward frames. Semua port switch blocking state secara default ketika switch hidup.
- Listening maksudnya listen BPDUs untuk memastikan tidak ada loop pada network sebelum melewati data frames.
- Learning maksudnya learn MAC addresses dan membuat tabel filter tetapi tidak mem-forward frames.
- Forwarding maksudnya mengirim dan menerima semua data pada bridged port.
Biasanya, port switch itu menggunakan blocking dan forwarding states. Forwarding port ditentukan yang mana port tersebut mempunyai nilai cost terkecil ke root-bridge. Namun. jika topologi jaringanya berubah karena dari salah satu link switch failed (gagal) atau pihak administrator menambahkan switch pada topologi tersebut maka port switch akan melakukan listening dan learning states.
Blocking ports digunakan untuk mencegah terjadinya loop pada network. Kadang sebuah switch menentukan best-path ke root-bridge, kemudian semua port lain akan blocking states hingga port yang ter-blocking states menerima BPDUs.
Jika sebuah switch menentukan bahwa port ter-blocking states maka harus ada yang menjadi designated port, kemudian switch akan melakukan listening state. Setelah itu switch akan mengecek BPDUs untuk memastikan bahwa switch tidak membuat sebuah loop sesekali port forwarding states.
Convergence
Convergence terjadi ketika switch/bridge
teralihkan dari forwarding atau blocking states lain. Tidak ada data yang di forward selama kejadian ini. Convergence penting untuk memastikan semua device mempunyai database yang sama. Sebelum data di forward, semua device harus telah ter-
upadted. Kejadian ini membutuhkan waktu
50 detik, dari
blocking hingga
forwarding states. Direkomendasikan untuk tidak mengubah default timer STP (tetapi timer bisa disesuaikan jika perlu).
Forward delay adalah waktu untuk mengalihkan sebuah port dari listening atau dari learning ke Forward states.
STP Example