BPDU
Főnév
BPDU (tsz. BPDUs)
A BPDU (Bridge Protocol Data Unit) egy alapvető adatstruktúra, amelyet az IEEE 802.1D szabvány szerinti Spanning Tree Protocol (STP) használ. A BPDU-k kulcsfontosságú szerepet játszanak a hurokmentes hálózati topológia kialakításában és fenntartásában kapcsolók (switch-ek) között.
A modern hálózatokban gyakran előfordul, hogy redundáns (többszörös) útvonalakat hozunk létre a hálózati eszközök között, hogy hibatűrést és nagyobb elérhetőséget biztosítsunk. Azonban ezek a redundáns kapcsolatok hurok kialakulásához vezethetnek, ami adatcsomagok végtelen körforgását okozza a hálózatban – ez az úgynevezett broadcast storm, ami komolyan megzavarhatja a hálózat működését.
A Spanning Tree Protocol (STP) célja, hogy ezeket a hurkokat automatikusan felismerje és megszüntesse azáltal, hogy csak egyetlen aktív útvonalat engedélyez minden végpont között. A BPDU-k ebben a folyamatban központi szerepet játszanak: ezek az információhordozó csomagok, amelyeket a switch-ek egymásnak küldenek, hogy megegyezzenek a hálózati topológia hierarchiájáról.
Hogyan működik a BPDU és a Spanning Tree Protocol?
1. Root Bridge kiválasztása
A STP legelső feladata az, hogy meghatározza a Root Bridge-et, vagyis azt a kapcsolót, amely a topológia „gyökere” lesz. Minden switch BPDU-kat küld a szomszédainak, amelyek tartalmazzák a saját Bridge ID-ját (azaz az azonosítóját, amely egy prioritás értékből és a MAC-címéből áll).
A switch, amely a legalacsonyabb Bridge ID-val rendelkezik, lesz a Root Bridge. A BPDU-k folyamatosan frissülnek – minden eszköz csak azt a BPDU-t továbbítja, amely a „legjobb” (legalacsonyabb) úton vezet a Root Bridge-hez.
2. Legjobb útvonal meghatározása
Minden switch kiszámolja a legkisebb költségű utat a Root Bridge-hez. Ez az út a legkisebb path cost alapján kerül kiválasztásra. A Path Cost általában az egyes kapcsolatok sávszélességéből számolódik (pl. 100 Mbps, 1 Gbps).
3. Port állapotok
Az STP különféle port állapotokat használ, hogy megakadályozza a hurok kialakulását:
- Root Port: az az egyetlen port minden switch-en, amely a legjobb úton csatlakozik a Root Bridge-hez.
- Designated Port: az a port, amelyen keresztül egy adott szegmens legjobban elérheti a Root Bridge-et. Ez aktív marad.
- Blocked Port: ezek a portok le vannak tiltva, hogy ne alakuljon ki hurok. Ezek nem továbbítanak adatforgalmat, csak BPDU-kat fogadnak.
4. Port állapotok időzítése
A STP több időzítési értéket is használ:
- Hello Time: milyen gyakran küld BPDU-t a Root Bridge (alapértelmezett: 2 másodperc).
- Forward Delay: mennyi ideig marad egy port Listening vagy Learning állapotban (általában 15 másodperc).
- Max Age: mennyi ideig tartja meg egy switch a kapott BPDU információt, mielőtt érvénytelennek tekinti (általában 20 másodperc).
BPDU típusai
Két fő típusa van a BPDU-nak:
- Configuration BPDU
Ezeket használja a hagyományos STP a hálózati topológia felépítéséhez és karbantartásához. Információkat tartalmaznak például:- Root Bridge ID
- Sender Bridge ID
- Port ID
- Path Cost
- Timer értékek
- Topology Change Notification (TCN) BPDU
Ezeket a kapcsolók akkor küldik, ha változást érzékelnek a hálózatban (pl. új eszköz kapcsolódik vagy megszűnik egy kapcsolat). A Root Bridge ez alapján módosíthatja a hálózat időzítési paramétereit, például csökkentheti a MAC-címek öregedési idejét.
BPDU védelem és támadások
A BPDU-k biztonsági szempontból is fontosak. Egy rosszindulatú eszköz például képes lehet hamis BPDU üzeneteket küldeni, hogy átvegye a Root Bridge szerepét, ami lehetővé teszi számára az adatforgalom megfigyelését vagy megszakítását. Ennek megelőzésére léteznek STP biztonsági funkciók, például:
- BPDU Guard: ha egy BPDU-t észlel egy „edge” (végberendezéshez csatlakozó) porton, automatikusan letiltja azt a portot.
- Root Guard: megakadályozza, hogy egy nem kívánt eszköz Root Bridge-é váljon.
- BPDU Filter: leállítja vagy blokkolja a BPDU üzenetek küldését/fogadását bizonyos portokon.
Fejlettebb STP verziók és BPDU-k
Az alap STP (802.1D) mellett léteznek fejlettebb változatok is, például:
- Rapid Spanning Tree Protocol (RSTP – 802.1w): gyorsabb konvergenciát biztosít, szintén BPDU-kat használ, de más logikával.
- Multiple Spanning Tree Protocol (MSTP – 802.1s): több VLAN csoportot képes egy-egy spanning tree-hez rendelni, szintén BPDU-t használ.
Összefoglalás
A BPDU a STP alapvető építőköve. Nélküle a kapcsolók nem tudnák meghatározni, hogy melyik útvonalat kell használni, mely portokat kell blokkolni, és hogyan kell reagálni topológiai változásokra. A BPDU egyfajta „kommunikációs nyelv”, amely lehetővé teszi, hogy a switch-ek önállóan, dinamikusan egy hurokmentes, megbízható hálózati struktúrát hozzanak létre és tartsanak fenn.