Digital Equipment Corporation (DEC) yang di beli dan di ganti namanya menjadi Compaq menciptakan versi asli dari STP. IEEE kemudian menciptakan versi dari STP-nya sendiri yang disebut 802.1D. Semua switch Cisco menjalankan STP versi IEEE 802.1D, yang tidak kompatibel dengan versi DEC.
Tugas utama STP adalah menghentikan terjadinya loop-loop network pada network layer 2 (bridge atau switch). STP secara terus menerus memonitor network untuk menemukan semua link, memastikan bahwa tidak ada loop yang terjadi dengan cara mematikan semua link yang redundant. STP menggunakan algoritma yang disebut spanning-tree algorithm (STA) untuk menciptakan sebuah topologi database, kemudian mencari dan menghancurkan link-link redundant. Dengan menjalankan STP, frame frame hanya akan diteruskan pada link-link utama yang dipilih oleh STP.
Istilah dalam STP :
  • STP - Spanning Tree Protocol adalah sebuah protokol bridge yang menggunakan STA untuk menemukan link redundant (cadangan) secara dinamis dan menciptakan sebuah topologi database spanning-tree. Bridge bertukar pesan BPDU (bridge protocol data unit) dengan bridge lain untuk mendeteksi loop-loop dan kemudian menghilangkan loop-loop itu dengan cara mematikan interface-interface bridge yang dipilihnya.
  • 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.
  • BPDU semua switch bertukar informasi yang digunakan dalam pemilihan root switch, seperti halnya dalam konfigurasi selanjutnya dari network. Setiap switch membandingkan parameter-parameter dalam Bridge Protocol Data Unit (BPDU) yang mereka kirim ke satu tetangga dengan yang mereka peroleh dari tetangga lain.
  • Bridge ID adalah bagaimana STP mengidentifikasi semua switch dalam network. ID ini ditentukan oleh sebuah kombinasi dari apa yang disebut bridge priority (yang bernilai 32.768 secara default pada semua switchj Cisco) dan alamat MAC dasar. Bridge dengan bridge ID terendah akan menjadi root bridge dalam network.
  • Nonroot bridge adalah semua bridge yang bukan root bridge. Nonroot bridge bertukar BPDU dengan semua bridge dan mengupdate topologi database STP pada semua switch, mencegah loop-loop dan menyediakan sebuah cara bertahan terhadap kegagalan link.
  • 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.
  • Designated port adalah sebuah port yang telah ditentukan sebagai cost yang terbaik (cost lebih rendah) daripada port yang lain. Sebuah designated port akan ditandai sebagai sebuah fowarding port (port yang akan mem forward frame).
  • Port Cost menentukan kapan sebuah link dari beberapa link yang tersedia digunakan di antara dua switch dimana kedua port ini bukan root port. Cost dari sebuah link ditentukan oleh bandwidth dari link.
  • Nondesignated port adalah port dengan sebuah cost yang lebih tinggi daripada designated port, yang akan ditempatkan di mode blocking. Sebuah nondesignated port bukan sebuah fowarding port.
  • Fowarding port meneruskan atau memfoward frame.
  • Blocked port adalah port yang tidak meneruskan frame-frame, untuk menghindari loop-loop. Namun sebuah blocked port akan selalu mendengarkan frame.
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.
Cara memilih Designated Port
Jika lebih dari satu link dihubungkan ke root bridge maka cost dari port  menjadi faktor yang di gunakan untuk menentukan port mana yang akan menjadi root port. Jadi untuk menentukan port yang akan digunakan untuk  berkomunikasi dengan root bridge. Pertama harus memperhitungkan cost dari jalur tersebut. Cost dari STP adalah sebuah jalur total yang di akumulasi berdasarkan pada bandwidth yang tersedia pada tiap link.
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.


    Sumber : http://brokenz1.wordpress.com/tag/bpdu/