Spanning Tree Protocol (STP)

Saat desain LAN memerlukan beberapa switch, umumnya network enginer menyertakan segment LAN yang redundant diantara switch-switch tersebut. Tujuannya sederhana, switch-switch berkemungkinan mengalami kegagalan beroperasi, atau ada kemungkinan kabel terputus atau ter-unplug sehingga dengan adanya segment redundant ini, layanan network masih bisa berjalan walaupun ada kendala diatas.

LAN dengan link yang redundant memungkinkan frame mengalami looping didalam network tanpa henti. Frame yang looping ini menyebabkan gangguan performansi pada network. Oleh karena itu, LAN memanfaatkan Spanning Tree Protocol (STP), yang memungkinkan LAN tetap bisa menggunakan link redundant tanpa harus menanggung resiko adanya frame yang looping dalam network.

Tanpa adanya Spanning Tree Protocol (STP), LAN dengan link yang redundant mengakibatkan adanya frame yang looping tanpa henti didalam network. Dengan STP, beberapa switch akan mem-block interface/port-nya agar port tersebut tidak bisa lagi mem-forward frames keluar. STP akan menentukan port mana yang harus di block sehingga hanya 1 link saja yang aktif dalam satu segment LAN. Hasilnya, frame tetap bisa ditransfer antar-komputer tanpa menyebabkan gangguan akibat adanya frame yang looping tanpa henti di dalam network.

Istilah dalam STP, beberapa diantaranya adalah :
Root Bridge adalah bridge dengan bridge ID terbaik. Dengan STP, kuncinya adalah agar semua switch di network memilih sebuah root bridge yang akan menjadi titik fokus di dalam network tersebut. Semua keputusan lain di network seperti port mana yang akan di blok dan port mana yang akan di tempatkan dalam mode fowarding.
Root port selalu merupakan link yang terhubung secara langsung ke root bridge atau jalur terpendek ke root bridge. Jika lebih dari satu link terhubung ke root bridge maka sebuah cost dari port ditentukan dengan mengecek bandwidth dari setiap link. Port dengan cost paling rendah menjadi root port. Jika banyak link memiliki cost yang sama maka bridge dengan bridge ID diumumkan yang lebih rendah akan di gunakan. Karena berbagai link dapat berasal dari alat yang sama, maka nomor port yang terendahlah yang akan digunakan.
Cara memilih Root Bridge
Bridge ID digunakan untuk memilih root bridge di dalam domain STP dan juga menentukan root port. ID ini panjangnya 8 byte dan mencakup baik priority maupun alamat MAC dari alat. Priority default pada semua alat yang menjalankan STP versi IEEE adalah 32.768.
Untuk menentukan root bridge, priority dari setiap bridge dikombinasikan dengan alamat MAC. Jika dua switch atau bridge ternyata memiliki nilai priority yang sama, maka alamat MAC menjadi penilai untuk memutuskan siapa yang memiliki ID yang terendah (yang juga terbaik). Contoh jika ada switch A dan B dan keduanya memiliki priority default yang sama yaitu 32.768, maka alamat MAC yang akan digunakan untuk penentuan. Jika alamat MAC switch A adalah 0000.0A00.1300 dan alamat MAC switch B adalah 0000.0A00.1315 maka switch A akan menjadi root bridge.
BPDU secara default dikirimkan setiap 2 detik, keluar dari semua port yang aktif pada sebuah bridge dan switch dengan bridge ID yang terendah dipilih sebagai root bridge. Kita dapat mengubah bridge ID dengan cara menurunkan prioritynya sehingga ia akan menjadi root bridge secara otomatis.
Status Port Spanning Tree :
Blocking (memblok) sebuah port yang di block tidak akan meneruskan frame, ia hanya mendengarkan BPDU-BPDU. Tujuan dari status blocking adalah untuk mencegah penggunaan jalur yang mengakibatkan loop. Semua port secara default berada dalam status blocking ketika switch dinyalakan.
Listening (mendengar) port mendengar BPDU untuk memastikan tidak ada loop yang terjadi pada network sebelum mengirimkan frame data. Sebuah port yang berada dalam status listening mempersiapkan diri untuk memfoward frame data tanpa mengisi tabel alamat MAC.
Learning (mempelajari) port switch mendengarkan BPDU dan mempelajari semua jalur di network switch. Sebuah port dalam status learning mengisi tabel alamat MAC tetapi tidak memfoward frame data.
Fowarding (mem foward) port mengirimkan dan menerima semua frame data pada port bridge. Jika port masih sebuah designated port atau root port yang berada pada akhir dari status learning maka ia akan masuk ke status ini.
Disabled (tidak aktif) sebuah port dalam status disabled (secara administratif) tidak berpatisipasi dalam melakukan fowarding terhadap frame ataupun dalam STP. Sebuah port dalam status disabled berarti tidak bekerja secara virtual.


Cara Kerja Spanning Tree


STP menggunakan 3 kriteria untuk meletakkan port pada status forwarding :

* STP memilih root switch. STP menempatkan semua port aktif pada root switch dalam status Forwarding.
* Semua switch non-root menentukan salah satu port-nya sebagai port yang memiliki ongkos (cost) paling kecil untuk mencapai root switch. Port tersebut yang kemudian disebut sebagai root port (RP) switch tersebut akan ditempatkan pada status forwarding oleh STP.
* Dalam satu segment Ethernet yang sama mungkin saja ter-attach lebih dari satu switch. Diantara switch-switch tersebut, switch dengan cost paling sedikit untuk mencapai root switch disebut designated bridge, port milik designated bridge yang terhubung dengan segment tadi dinamakan designated port (DP). Designated port juga berada dalam status forwarding.

Semua port/interface selain port/interface diatas berada dalam status Blocking.

STP Bridge ID dan Hello BPDU

STP bridge ID (BID) adalah angka 8-byte yang unik untuk setiap switch. Bridge ID terdiri dari 2-byte priority dan 6-byte berikutnya adalah system ID, dimana system ID berdasarkan pada MAC address bawaan tiap switch. Karena menggunakan MAC address bawaan ini dapat dipastikan tiap switch akan memiliki Bridge ID yang unik.

STP mendefinisikan pesan yang disebut bridge protocol data units (BPDU), yang digunakan oleh switch untuk bertukar informasi satu sama lain. Pesan paling utama adalah Hello BPDU, berisi Bridge ID dari switch pengirim.

Pemilihan Root Switch

Switch-switch akan memilih root switch berdasarkan Bridge ID dalam BPDU. Root switch adalah switch dengan Bridge ID paling rendah. Kita ketahui bahwa 2-byte pertama dari switch digunakan untuk priority, karena itu switch dengan priority paling rendah akan terpilih menjadi root switch.

Namun kadangkala, ada beberapa switch yang memiliki nilai priority yang sama, untuk hal ini maka pemilihan root switch akan ditentukan berdasarkan 6-byte System ID berikutnya yang berbasis pada MAC address, karena itu switch dengan bagian MAC address paling rendah akan terpilih sebagai root switch.

Menentukan Root Port dari setiap switch

Selanjutnya dalam proses STP adalah, setiap non-root switch akan menentukan salah satu port-nya sebagai satu-satunya root port miliknya. Root port dari sebuah switch adalah port dimana dengan melalui port tersebut switch bisa mencapai root switch dengan cost paling kecil.

Menentukan Designated Port untuk setiap segment LAN

Designated port untuk setiap segment dalam LAN adalah switch port yang mengirimkan paket Hello ke segment LAN dengan cost terkecil. Ketika switch non-root mengirimkan pesan Hello, maka switch non-root akan menyertakan nilai cost tersebut kedalam pesan. Hasilnya, switch dengan cost terkecil untuk mencapai root switch menjadi DP dalam segment tersebut.

Saat Terjadi Perubahan dalam network

Berikut adalah proses yang terjadi saat topology STP berjaln normal tanpa ada perubahan:

1. Root switch membuat dan mengirimkan Hello BPDU dengan cost 0 keluar melalui semua port/interfacenya yang aktif.
2. Switch non-root menerima Hello dari root port miliknya. Setelah mengubah isi dari Hello menjadi Bridge ID dari switch pengirim, switch mem-forward Hello ke designated port.
3. Langkah 1 dan 2 berulang terus sampai terjadi perubahan pada topology STP.

Ketika ada interface atau switch yang gagal beroperasi, maka topology STP akan berubah; dengan kata lain terjadi STP convergence.

* Interface yang tetap berada dalam status yang sama, maka tidak perlu ada perubahan.
* Interface yang harus berubah dari forwarding menjadi blocking, maka switch akan langsung merubahnya menjadi blocking.
* Interface yang harus berubah dari blocking menjadi forwarding, maka switch pertama kali akan mengubahnya menjadi listening, kemudian menjadi learning.Setelah itu interface akan diletakkan pada status forwarding.

Saat terjadi STP Convergence, switch akan menentukan interface-interface mana yang akan dirubah statusnya. Namun, perubahan status dari blocking menjadi forwarding tidak bisa langsung dilakukan begitu saja, karena dapat menyebabkan frame looping temporarer. Untuk mencegah terjadinya looping temporarer itu, STP harus merubah status port tersebut menjadi 2 status transisi terlebih dahulu sebelum merubahnya menjadi forwarding:

* Listening: seperti halnya blocking, interface dalam keadaan listening tidak mem-forward frame. (15 detik)
* Learning: interface dalam status ini masih belum mem-forward frame, tapi switch sudah mulai melakukan pemeriksaan MAC address dari frame-frame yang diterima pada interface ini. (15 detik)

Switch akan menunggu 20 detik sebelum memutuskan untuk melakukan perubahan status dari blocking menjadi forwarding, setelah itu butuh waktu 30 detik untuk transisi ke Listening dan Learning terlebih dahulu. karena itu total yang dibutuhkan agar suatu port berubah dari blocking menjadi forwarding adalah 20+30=50 detik.

0 komentar:

Posting Komentar