Home

STP Configuration (including STP Tool Kit)

1 Comment

Baru sadar…gw pernah posting MSTP, tapi config2 STP lain engga pernah dibahas wkwkwk

Theory here… , MSTP (and FlexLinks) here…

Yang kita bahas:

  • Changing Root Bridge ID (by modifying priority or value itself) (*)
  • Changing STP modes (-)
  • Tuning STP by STP Toolkits
    • PortFast (and EdgePort) (*)
    • BPDU Guard (*)
    • UplinkFast & BackboneFast
    • BPDU Filter
    • Root Guard
    • Loop Guard & UDLD
  • Err-Disable Recovery (*)
  • Changing STP Port Cost (-)
    • Path Cost Method
  • Changing STP Port Priority (-)
  • Changing STP Link Type
  • Changing STP Timer
  • Changing STP Diameter

(*) = Lab-nya ada di Official Course CCNAv3

(-) = Only Theory Mentioned in Official Course CCNAv3

Lets start…here’s the initial topology

===========================

Changing Bridge ID

Digambar atas kita bisa liat bahwa SW1 bukan root bridge…how we change that

First Technique…changing root priority

Verifikasi

By default Root Bridge ID yang tadinya 32768 dirubah jadi 24576, klo pake command “root secondary“(buat backup primary) jadinya 28672

Disitu kok 24577 Man? Bridge ID + VLAN ID…24576 + 1 (nomor VLAN “1”) jadi 24577

Second Technique…changing the Bridge ID value itself

Hanya bisa diisi pake kelipatan 4096, why? Kelipatan 16

STP pake BPDU message yang isinya Root Bridge ID (8 byte) buat handle protocol STP, dimana 2 byte (16 bit) pertama buat bridge ID, 6 byte (48 bit) buat mac-address

1 byte = 8 bit, 2×8 = 16 bit…masa mesti gw ingetin juga

16 bit = nilainya bisa dari 0 sampe 65535, so…65536/4096 = 16…kelipatan 16 bit

Verifikasi topology

…kita liat bahwa SW1 sudah jadi root bridge (note: packet tracer v6 suka error GUI/display STP nya…kadang ijo semua X_X)

=============

Changing STP modes

Ada 3 mode yang bisa kita pilih: PVST (default), rapid-pvst, dan MST (packet tracer ga ada MST)

Sekarang kita rubah modenya jadi “spanning-tree mode rapid“, dan ketika kita show…

Spanning tree enabled protocol rstp…kok bukan rapid-pvst? Rapid itu maksudnya rapid pvst…

Klo PVST+ (default STP mode) tulisannya “spanning tree enabled protocol ieee

================

PortFast

Biasanya ketika kita colok kabel ke port switch kan “oren” dulu tuh..baru “ijo”

Ini karena ada STP timer lg ngecek BPDU yang masuk, total “waiting time”-nya 50 detik (pake PVST biasa loh ya, bukan rapid…dia mah cepet)

Nah, kita bisa bikin STP ga ngecek BPDU, alias ga ada waiting time dari oren ke ijo…

Ada 2 cara:

Nah, Pake portfast itu bikin switch “skip” BPDU checking, makanya ada “caution”…jgn coba2 dipasang itu port ke switch lain…

Bisa juga di config secara global buat semua interface…

Tes colok aja sendiri…di packet tracer pun bisa

=============

BPDU Guard

Lalu klo port yang dipasang portfast tiba2 dicolok switch lain gimana? Bisa berabe tuh…

Pasang BPDU Guard, ada 2 cara:

Important note: klo di Rapid-PVST, BPDU Guard ini ga perlu, karena begitu port yang dipasang portfast nerima BPDU, maka status portfast-nya hilang, hence named: EDGEPORT (jadi klo di Rapid PVST lu cuma ngasih konfig portfast aja…ga perlu BPDU Guard)

Kita liat config int fa1/0/1-nya

Kesimpulannya klo kita pake PVST+, portfast sama bpdu guard pasti digandeng konfig-nya

Lets verify…gw pake Kali Linux, trus kirim BPDU kesana

Hasilnya…

Kita cek pake “show interface status

Trus klo restorenya gimana? Klo ga sengaja gimana? Bisa auto recovery ga? Bisa

============

ErrDisable Recovery

Default interval untuk auto port recovery itu 300 detik, kita bisa change MINIMUM 30 detik

Apa aja yang bisa di recover selain bpduguard? Tiap seri switch mungkin beda2…

Coba ketik “show errdisable detect

Kita bisa liat tipe error apa aja yang kita setting untuk auto recover

Nyok kita liat tipe error apa aja yang kita set auto recovery…

============

UplinkFast and BackboneFast

2 tool ini HANYA dipake di PVST untuk improve convergence (di RSTP udah built-in)

UplinkFast: biar klo link ijo mati, yang oren (alternate port) langsung ijo

Backbonefast: biar klo link ke ROOT BRIDGE mati, mereka langsung kirim BPDU ke alternate/blocked port trus sama switch penerima BPDU tersebut langsung ngirim RLQ (root link query) message untuk nyari siapa yang jadi Root Bridge selanjutnya (skip 20 second of max_age timer that cause other non-Root bridge become root-bridge itself)

Verification

===========

BPDU Filter

Simple…to prevent switch generating BPDU

Why disable? Isn’t dangerous? Take a look at this design…

============

Root Guard

This configuration is to prevent Root Bridge from being changed (changing Root Bridge can change STP topology, which switchport is blocked or which switchport is forwarding)

===========

Loop Guard and UDLD (Uni-Directional Link Detection)

What if switch on the other side not sending BPDU because software problem? Loop Guard is the answer

What if switch on the other side not sending BPDU because cable mis-wiring (typically in Optical Cable)? UDLD is the answer

Recommend? Enabled them both

Or enabled them globally

Bedanya apa udld biasa sama agresif? yang biasa hanya “nge-detect” alias Cuma ngasi informasi bahwa ini link uni-directional (undetermined port state), sedangkan yang agresif begitu detect uni-directional langsung coba attempt koneksi lagi (ngirim 8 frame per detik), klo switch tetangga ga respon juga maka akan dijadiin “errdisable” itu port

Best-practices? Aggressive mode…if distruptive (switch hang/lambat/not-responding), switch into normal state (enable state), ga kuat kayaknya dijadiin agresif wkwkw

And config on both side!! (udld beda mode gpp), biar sama2 bisa detect

============

STP Port Cost

STP Always calculated port cost first (baca: link bandwidth), lower the value the better priority

So…how can we change FastEthernet to lower it cost

Default cost dari STP ditentukan oleh IEEE (ya…hapalan mati…)

=================

STP Pathcost Method

1 Gbit dengan cost 4 itu pake STP short method (default), pake long-method 1 Gbit itu cost-nya 20,000

Kok bisa ada long sama short? Bandwidth makin lama makin gede value-nya…klo pake metode short…susah nanti yg 40gbit, 100gbit, atau 1terabit (short pake 16-bit, 16 bit max value kan 0-65355)

Kasus yang sama kek OSPF “auto-cost refrence-bandwidth

Taken from cisco.com:

Gantinya gimana? On all-switch (if they have any link greater than 10gbit, long mode is a must)

Note: MST use long method by default, PVST use short method

===================

STP Port Priority

Lemme show you the picture

My Question…if we didn’t configure EtherChannel, how STP can decide which port to block? The port priority (jangan kebalik2 antara port cost sama port priority)

By default…the higher the port number is, the higher chance to be blocked

Here’s the pic from SW3:

How we change it? On SW4to influence SW3 which port to be blocked (don’t do it in SW3)

SW4 interface fa0/2 konek ke SW3…change the priority there…

Kita juga bisa ketik “spanning-tree port-priority [value]” (without vlan) on interface configuration but packet tracer doesn’t have that command.

Lets see the effect

Lets see if port state changed or not

Previously on SW3 is Fa0/2 that blocked, let see now…

Fa0/1 blocked…because it heads to SW4 higher number priority number switch port

=============

STP Link Type

Theres 2 link type of STP: P2p (point-to-point) and Shr (shared)

STP determine what type of link depends on what kind of duplex other side is using

Full Duplex use P2p and Half Duplex use Shr (which is Hub kind of device)

How we can change it? For what impact we aim for?

Lets see the effect

According to Scott Morris #4713, RSTP hanya bisa “kerja cepat” klo link-nya point-to-point, jadi klo lo mau “maksa” link Shared untuk achieve rapid transition phase in RSTP environment…then do it

(Most of switches today is full duplex though)

=================

STP Timer

Hello-time: switch kirim BPDU by default tiap 2 detik, bisa kita tune jadi 1-10 detik

Forward-time: waktu yang dibutuhkan dari listening ke learning (default 15 detik), bisa kita tune jadi 4-30 detik

Max-Age: “masa hidup” BPDU yang disimpen diswitch, klo expired, dibuang…untuk hemat RAM (default 20 detik), bisa kita tune jadi 6-40 detik

But remember, Setting time too fast, although it ensure STP stability…it means more BPDU will be processed (lets say you tune STP hello from 2s into 1s), more CPU load

Set this timer in Root Bridge Switch only (all other switch will use timer from Root Bridge)

==============

STP Diameter

Biasa nge-lab STP paling 3 switch kan? Atau 4 switch?…pernah 7 ga?!? Nyambung semua jadi satu lingkaran wkwkwk

Kita bisa set maksimum “Luas” STP…max 7 switch (4 sampe 5 aja udah mabok…)

=============

References

http://www.omnisecu.com/cisco-certified-network-associate-ccna/bridge-protocol-data-unit-bpdu-frame-format.php

http://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/10555-15.html

https://cciepursuit.wordpress.com/2008/03/07/spanning-tree-link-type/

https://learningnetwork.cisco.com/thread/3691

https://networklessons.com/spanning-tree/spanning-tree-backbone-fast/

http://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/12014-18.html

http://blog.ine.com/2008/07/05/udld-modes-of-operation/

http://www.cisco.com/c/en/us/support/docs/lan-switching/spanning-tree-protocol/19120-122.html

https://supportforums.cisco.com/discussion/11582661/stp-timers

https://supportforums.cisco.com/discussion/10167346/pathcost-method

http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst4000/8-2glx/configuration/guide/spantree.html#wp1193557

Layer 2 Design

4 Comments

Design Layer 2 hampir selalu membahas STP, Trunk, UDLD, EtherChannel, dan VSS

Prerequisite learning this article: Switching Knowledge

==============================

STP (Spanning Tree Protocol) in Network Design Perspective

USE ONLY WHEN YOU HAVE TO…

Klo ga perlu…jgn gunakan STP, STP bikin topologi makin komplek, semakin komplek berarti troubleshooting makin susah, semakin banyak pula makan resource Switch (dan resource kepala kita hahaha)

Plus….link yang diblok bener2 under-utilized, ga kirim/nerima frame apa2, kek jalan kosong ga pernah dipake…(kecuali punya banyak VLAN, “vlan A link X diblok dan vlan B link Y diblok) bener ga??

Kapan kita ENGGA gunain STP? Look at picture below:

Ketika kita konek ke Server local, STP bisa kita eliminasi.

kapan pake STP?

Ketika kita perlu konek ke WAN…uplink ke WAN harus ada backup, dengan menambahkan link backup…berarti memunculkan kemungkinan Broadcast Storm, klo ada broadcast storm…disitulah STP muncul, klo ada STP Muncul…artinya CPU-nya Switch harus bekerja ekstra lebih keras (selain harus ngurusin STP, dia kan juga harus ngurusin VLAN, mac-address, dan segala macam L2 forwarding lainnya)

Tapi kan bisa aja Server itu penting…masa ga perlu redundancy? That’s why the planning in project meeting is important my friend

In that meeting, we design which area that get the redundancy…which area is not…jangan semua area dikasi redundancy…proper planning and designing saves Cost (unless you’re very skillful sales executive…expert at “morotin duit client”)

Ada ga yang bisa gantiin STP? Ada

  • FlexLinks: “manual” backup…konsep flexlink itu bikin primary link dan backup link, backup link akan selalu inactive sampe primary link mati (versi manual dari STP)

How about the convergence? Slow…butuh beberapa detik untuk backup link jadi active

Wah ga cocok dong dengan Delay Sensitive Application? Emang…tapi FlexLink bisa digunakan klo lo males pergi ke site network…Cuma untuk ketik “no shutdown” ke sebuah link yang jadi backup hahaha (ada loh yang bikin link backup…BENER2 BACKUP….di shutdown, hahaha)

  • L2MP: Layer 2 Multi Path, designed with the IS-IS algorithm (which is capable of L2-L3 technology)

Imagine if Switch use L3 Routing Intelligence for L2 Path Decision instead of solely depends on L2 Technology like STP…that’s what L2MP capable of, now we can get rid of STP

Wow…keren dong,..device apa yang bisa? Nexus 5000 dan 7000

Hahaha…nanti kapan2 gw bahas tentang L2MP

Now back to STP (if you have to implement STP)

STP ada fitur “add-on”, Cisco bilang ini namanya STP Toolkit, apa aja isinya:

  • PortFast: bikin port diswitch langsung “ijo” ga pake “oren” dulu…
  • Loop Guard: bikin port diswitch detect link mati
  • Root Guard: biar Root Bridge nya ga ganti
  • BPDU Guard: bikin port itu ga mau nerima BPDU
  • Bridge Assurance
  • EtherChannel Guard
  • PVST Simulation

Gunanya apa? Untuk menjaga stabilitas L2 topology (lo ga pengen kan root bridge ganti2 tiap saat dan bikin network lo jadi kacau)

Wokeh…untuk yang pernah belajar STP…pasti uda ga asing dengan yang namanya PortFast, LoopGuard, RootGuard, dan BDPU Guard

But there’s 3 more things that foreign and new in our ears (eyes) right…which is bridge assurance, EtherChannel Guard, dan PVST Simulation

  • Bridge Assurance (BA) : enabled by default on Cat6500 Switch, klo biasanya switch kirim BPDU lewat normal port, dengan BA itu BPDU dikirim lewat semuanya (termasuk alternate/blocked port)

gunanya apa? Untuk jaga Root Bridge Stability, begitu Switch yang ada Bridge Assurance kirim BPDU trus ga ada reply, dia akan kasi tau ke switch lain (inconsistent port)

Biasanya kan klo pake “guard-guard yang lain” di switch, kirimnya klo ga di designated port, pasti di root port…dengan BA, BPDU juga dikirim lewat blocked port (buat jaga2 aja)

bro…gw kirim agen rahasia ke link blocked port gw, harusnya GA ADA jawaban, tapi sekarang malah ada BPDU Replay…Celaka inih, be careful with our STP Root Bridge, watch it closely…guard it” hahaha…James Bond/PASPAMPRES-nya versi STP nih

Note for BA:

  • Only in IOS 12.2(33)SXI and later
  • Both side must perform Bridge Assurance (ya iya la, ntar bingung switch sebelah “kok ada BPDU kirim2 kesini?!?”)
  • Works only on R-PVST+ and MST
  • Only on P2P link (jadi ga bisa ke Hub)
  • EtherChannel Guard: bertugas untuk jaga konsistensi EtherChannel, biasanya kan untuk bikin EtherChannel minimal 2 link di switch A dan 2 link di switch B

Dengan EtherChannel Guard, kita bisa detect (dari switch A) “wah, link switch B 1 port-nya ada yang ga perform EtherChannel nih, sedangkan port gw 2-2nya smoothly perform EtherChannel

State port-nya jadi “root-inconsistent state”

  • PVST Simulation: MST bisa inter-operability dengan R-PVST+, tau kenapa? Because of PVST Simulation

Gw ambil dari Cisco-nya langsung deh kenapa kita harus disable/enable PVST Simulation:

You may want to control the connection between MST and Rapid PVST+ to protect against accidentally connecting an MST-enabled port to a port enabled to run Rapid PVST+. Because Rapid PVST+ is the default STP mode, you may encounter many Rapid PVST+ connections

Jadi PVST simulation bisa kita matiin…hanya port2 tertentu/switch2 tertentu aja yang pake R-PVST bole ikut2an MST

Currently, in later Cisco Later appliances…all variants of STP supported are only PVST+, R-PVST+, and MST

Eh…itu BA, EtherGuard sama PVST Simulation bisa di switch 2900 series ga? Ato di 3750 gituh? Engga…bisanya di 6500 hahaha

*Note: untuk MST, tiap device beda2 untuk nampung MST Instance, contoh Nexus 5000 sanggup sampe 65 MST Instances dalam 1 region (switch2 dengan konfigurasi MST yang sama = 1 region)

*Note: Cisco merekomendasikan untuk pake MST klo mau konek ke switch dari vendor lain untuk ensure full interoperability

Kapan dan dimana kita implement those STP toolkits?

  • Loop Guard/Bridge Assurance: between Distribution Switches Links and uplink port on Access Switch ke distribution switch
  • RootGuard: on port Distribution Switch that face Access Switch (karena biasanya root bridge-nya di setting di Distribution Switch)
  • BPDU Guard/Root Guard: on port Access Switch that face End Devices

And don’t forget to implement Switch Security Features such as Port Security in area/switch/port that needs maximum security

==========================================

VLAN and Trunk

Always disable DTP (Dynamic Trunking Protocol)

Why? To prevent VLAN Hopping

Nah, karena DTP itu fitur default dari switch Cisco, klo tiba2 ada hacker nyolok kabel ke port yang lagi nganggur dan dia punya software yang bisa bikin port NIC dia seakan2 trunk…ARTINYA DIA DAPET AKSES KESEMUA VLAN (trunk secara default allow semua vlan)

Tinggal cari Native VLAN di network yang dia tempel…bungkus frame yang VLAN-nya mau diserang pake Native VLAN-ID tag (Double VLAN Tag) trus kirim…

Apa yang terjadi dengan frame yang ditempelin native vlan?!?…VLAN Tag itu dibuang dan dikirim ke tempat (switch) yang bersangkutan, guess what…masi ada VLAN Tag lagi didalemnya kan?!? (that’s why this trick called Double Tagging)

Nah, ditempat switch yang bersangkutan akan dibaca “the real” VLAN tag nya..di forward-lah ke tujuan…dapet de si hacker resource VLAN yang bersangkutan (That’s why this method is called VLAN HOPPING…loncat2)

Trus bagusnya apa DTP? Kenapa DTP diciptain? Salah satu alasan kenapa DTP diciptain adalah untuk detect mismatch configuration…klo DTP dimatiin, lo ga akan tau itu link sebelah trunk apa bukan, access apa bukan, apa jangan2 error lagi…

Klo perlu…Manual Pruning, jadi lo set VLAN2 mana aja yang bole lewat trunk A, trunk B, dll

Trus klo VLAN-nya banyak gimana? untuk jaga konsistensi nomor dan penamaan VLAN aja uda repot?!?

That’s why VLAN Trunking Protocol alias VTP is created

But be careful, REVISION NUMBER…this little thing can make or break your network in instant

Note when implementing VTP:

  • Always use transparent mode first before plug the device into your network
  • Check the Revision Number (using transparent mode will reset revision counter number to Zero)
  • Use VTP Pruning (save your as* a big time when implementing VLAN Pruning)

==================================

UDLD (UniDirectional Link Detection)

Fitur ini dibikin karena adanya kasus pada Fiber Connection, biasanya kan dalam 1 kabel fiber ada 2 “mini kabel”, 1 buat transfer (Tx) dan 1 lagi buat receive (Rx)

Nah, kasusnya kek dibawah ini…

SwA kirim lewat Tx…diterima di SwB Rx, begitu SwB mau reply…ga bisa (mungkin kabel Tx didalemnya putus)

SwA akan mikir “ini BPDU yang gw kirim diterima kok…ga ditolak..tapi kenapa ga ada respons ya?!

Fitur STP lain yang namanya Loop Guard ga bisa detect problem dengan kasus seperti ini, dia taunya…”begitu gw kirim BPDU ga diterima…gw langsung mark jadi inconsistent

Lagian dari “kacamata” upper layer (L3 keatas)…ini link masi dinyatakan hidup, gara2 “buktinya gw bisa ngirim tuh” behavior

Dengan UDLD, SwA akan melakukan 8x percobaan untuk kirim BPDU untuk memutuskan ini link error

8x Kelamaan? Aggressive mode…begitu fail…SHUT!! Err-disable state

Recommendation: Always Enable UDLD…Globally

Note for implementing UDLD:

  • When enabling UDLD globally, Copper Ethernet is excepted (karena dianggep ini ke komputer port, ga pake fiber2an, klo mau ya setting lagi sendiri…tapi jarang sih Ethernet “kena” problem UDLD, biasanya pake LoopGuard uda cukup)
  • Both side must configure UDLD, otherwise the port goes to err-disable state

Conclusion: klo MPLS layer 2/3 (2.5), UDLD itu layer 1/2 (1.5)

=======================================

EtherChannel

Up to 8 ports per EtherChannel group

  • Use PAgP for connecting Cisco Devices
  • Use LACP for mixed vendor (Personally, I choose this because of the feature that I’ll explain below)
  • Alternatively, use manual EtherChannel: On/On
  • The Port Group cannot be used for P-VLAN
  • The Port Group cannot be used for SPAN (it can for R-SPAN)

Some vendors call EtherChannel with term of NIC Team, Bonding, MLT (Multi-Link Trunking), Link Aggregation…but essentially…it all the same

FEC = FastEtherChannel (with fastE link), GEC = Giga..with gigaEthernet, The powerful one is the MEC (MultiChassis EtherChannel)…in VSS

Biasanya klo EtherChannel itu bikin 2 link di 1 device jadi 1 port virtual, klo di MEC bikin 2 device dengan masing2 link jadi 1 device…dapet EtherChannel-nya…dapet pula “Device” Channel-nya

Eh…itu VSS bisa di 2900 ga? Ato di 3750? Jgn bilang ini juga ga bisa lagi T_T?

Cuma ada di switch Cat6500 wkwkwk

klo ga ada VSS, bisa pake yang lain ga? bisa pake Switch 3750, namanya StackWise

stackwise

StackWise meminimalisir kabel yang digunakan untuk redudancy (walaupun ga bisa MEC, ini semacam mini-VSS lah)

stackwise

VSS and StackWise

Nah, kenapa gw lebih suka LACP,…arena ada fitur namanya LACP Hot Standby

Apaan tu LACP Hot Standby?…lo bisa bikin 16 link jadi LACP, bedanya yang 8 link jadi active, 8 link satunya lagi standby…

Jadi ensure LACP bundling-nya tetep 8 port, ada satu mati, masih ada yang bisa gantiin

Plus berguna untuk routing protocol metric…

Here are the details, kita ambil contoh OSPF:

OSPF pake Cost kan?? Yup

Cost dari bandwidth kan?? Yup

Klo gw bundling 8 port 1 Gb berarti jadi 8 Gb kan?? Yup

Nah, klo itu bundling (etherChannel Group port) gw masukin OSPF berarti cost-nya kecil dong (8Gb)?? Hmm..bener juga

Klo gw punya desain seperti ini…kira2 mana yang dipilih? Jalur atas apa bawah?

Jalur atas, karena costnya lebih kecil, bandwidth-nya lebih gede gara2 EtherChannel bundling

Trus apa yang terjadi klo 1 port di etherchannel mati? Bisa lewat bawah kan? hmm…bisa, soalnya bandwidth-nya jadi kurang

Itulah gunanya LACP Hot Standby…ensure the packet still goes to EtherChannel port

==============================================

VSS…goes right here

==============================================

Common L2 Design

Tinggal pilih…mo pake STP…berarti ada yang di blok

Ato mo diakalin…link antar Distribution Switch dijadiin L3 port (using no switchport command) yang hanya bisa dilakukan di multilayer switch (3550 series keatas)

ato…pake Nexus wkwkwk

==================================

Reference:

ARCH-Designing Cisco Network Service Architecture (642-874) Student Guide

Cisco Catalyst 6500 Switch STP Configuration Guide

Cisco Nexus 5000 MST Configuration Guide

UDLD on Greg Ferro (CCIE #6920) blog

EtherChannel on Rick Mur (CCIEx4 #21946) IPExpert blog

Older Entries