**Протокол за скелетно дрво** (**Spanning Tree Protocol**  (**STP**) ) е мрежен протокол кој гарантира топологија без јамки за било која премостена етернет локална мрежа. Основната функција на STP е да оневозможи јамка од мостови и броадкаст зрачење која е резултат од нив. STP исто така дозволува мрежниот дизјан да вклучи редудантни врски за да овозможи автоматски резервни патишта ако активниот линк пропадне, без опасност од јамка од мостови, или потреба од мануелно овозможување или оневозможување на овие резервни врски.

STP е стандардизиран како IEEE 802.1D. Како што сугерира името, создава скелетно дрво внатре во мрежата во поврзани мостови од ниво два (обично мрежни преклопници), и ги оневозможува линковите кои не се дел од скелетното дрво, оставајќи единствен активен пат помеѓу било кои две мрежни јазли.
STP е заснован на алгоритмот кој беше создаден од Radia Perlman додека таа работела за Digital Equipment Corporation.

Работење на протоколот
----------------------

Работењето е едноставна како колекција на мостови во лан мрежа можат да бидат претставени како граф чии јазли се мостови и лан сегменти, и чии рабови се интерфејсот кој ги поврзува мостовите со сегментите. За да се прекине јамка во лан додека се одржува пристап до сите лан сегменти, мостовите заеднички го пресметуваат скелетното дрво. Скелетното дрво не е нужно со минималната цена. Мрежниот администратор може да ги намали цените на скелетното дрво, ако е потребно со менување на дел од конфигурацијата на таков начин да влијае врз изборот на избирање на коренот на скелетното дрво. Скелетното дрво кое мостовите го пресметуваат користејќи го STP може да биде одредено со користење на следниве правила.

1. Пример мрежа. Ознчените квадратчиња означуваат мостови (бројот означува ID на мостот). Облачињата што имаат буква означуваат сегмент од мрежата.
2. Мостот со ID 3 е најмал. Па затоа, мостот 3 е коренов мост.
3. По претпоставка дека за изминувањето на секој сегмент од мрежата ќе не чини единица 1, за најкратката патека од мостот 4 до коренов мост ќе помине низ мрежниот сегмент c.
4. Најкратката патека до коренов мост од сегментот поминува низ мостот 92. .

**Избирање на коренов мост(root).** *коренов мост* на скелетното дрво е мост со најмал ID на мост. Секој мост има подесувачки приоритетен број и MAC адреса; мостовиот ID ги содржи двата броја комбинирани заедно. Мостов приоритет плус MAC адреса (32768.0200.0000.1111), мостовата приоритетна основа е 32768 и може да биде конфигурирана во повеќекратни од 4096. Кога се споредуваат два ID на мостови, делот за приоритет се спроедуваат први, а MAC адресите се споредени ако и само ако приоритетите се еднакви. Свичот со најмал приоритет од сите свичови ќе биде корен, ако има нерешен случај, тогаш свичот со најмал приоритет и најмала MAC адреса ќе биде коренот.
Одредете ги најевтините патишта до корен мостот. Пресметаното скелетно дрво има својства за пораки од кои било поврзани уреди до коренот
ке поминат пат со најмала цена, т.е пат од уредот до коренот има минимална цена помеѓу сите патишта од уредот до коренот. Цената од патот е сумата од сите цени на сите сегменти во патот. Различни технологии имаат различни основни цени за мрежни сегменти. Својствотот според кое пораките секогаш одат по патишта со најмали цени до коренот е гарантирано со следниве две правила.

**Определување на патот со најмала цена од секој мост.** Откако е избран корен, секој мост ја одредува цената на секој возможен пат од него до коренот. Од овие го избира тој со најмалата цена. Портата поврзана со тој пат станува коренова порта на мостот.

*Пат со најмала цена од секој мрежен сегмент.* Мостовите во мрежниот сегмент заеднички утврдуваат кој мост го има патот со најмала цена од мрежниот сегмент до коренот. Портата која го поврзе мостот со мрежниот сегмент е тогаш означена порта за сегментот (designated port).

**Оневозможи ги сите други патишта до коренот.** Секоја активна порта која не е коренова порта или назначена порта е блокирана порта. *blocked port* (BP).

**Модификации во случај на нерешеност.** Горенаведените правила ја поедноставуваат ситуацијата благо, бидејќи возможно е да има нерешеност, на пример две или повеќе порти на еден мост да се прилепени на патот со најмала цена до коренот или две или повеќе мостови во истиот мрежен сегмент да имаат еднакви цени за пат до мостот. Да се растурат вакви нерешености:

*Растурање нерешености за коренови порти.* Кога повќе патишта од мост се патишта со минимална цена, избраниот пат го користи соседниот мост со понискиот мостов ID. Кореновата порта е таа која се поврзува со мостот со најмал мостов ID.

*Растурање нерешености за назначени порти.* Кога повеќе од еден мост во сегмент доведува до патот со најмала цена до коренот, мостот со помал мостов ID е користен за проследување пораки до коренот. Портата која го прикачува тој мост до мрежниот сегмент е одберената порта за сегментот.

*Финално резрешување.* Во некои случаи, може сè уште да постои нерешеност, исто кога два моста се поврзани со повеќе кабли. Во овој случај патот кој поминува низ портата на соседниот мост го има најмалиот порт идентификатор [портен приоритет(основна =128) + портен број] е користен.

Во краток преглед, секвенцата на настани за одредување на најдобриот пат до коренот е:

* Најмалиот ID на мост - Го одредува мостот кој ќе биде корен
* Најмалата цена до корен мостот - Го фаворизира нагорниот прекинувач со најмалата цена до коренот
* Најмалото ID на праќачкиот мост - Служи за финално разрешување ако повеќе нагорни прекинувачи имаат иста цена до коренот
* Најмала ID на порта на праќачот - Служи за финално разрешување ако прекинувачот има мовеќе врски до единствен нагорен прекинувач каде:
	+ Мостов ID = приоритет (16 бита) + ID (MAC адреса) (48 бита); основниот мостов приоритет е 32768 и
	+ ID на порта = приоритет (8 бита) + ID (интерфејс број) (12 бита); основниот портен приоритет е 128.

### Податочна брзина и STP цени на патот

Табелава подолу ги покажува основните цени на интерфејс за дадена податочна брзина

| Брзина на податоци
 | STP Цена (802.1D-1998)
 | RSTP Цена (802.1D-2004) |
| --- | --- | --- |
| 4 Mbit/s
 | 250
 | 5,000,000
 |
| 10 Mbit/s
 | 100
 | 2,000,000
 |
| 16 Mbit/s
 | 62
 | 1,250,000
 |
| 100 Mbit/s
 | 19
 | 200,000
 |
| 1 Gbit/s
 | 4
 | 20,000
 |
| 2 Gbit/s
 | 3
 | 10,000
 |
| 10 Gbit/s
 | 2
 | 2,000
 |

### Податочни единици на протоколот за мостови (Bridge protocol)

Горенаведените правила опишуваат еден начин за одредување дали скелетното дрво ќе биде пресметано со алгоритамот,но за правилата како што се напишани побаруваат знаење за целата мрежа. Мостовите треба да го одредат корен мостот и да ги пресметаат порт функциите (корен, назначен, или блокиран) само со информацијата која што ја имаат. За да се осигура дека секој мост има доволно информации, мостовите користат специјални податочни рамки наречени Податочни единки на мостов протокол за да разменат информација за ID-јата на мостовите и цените на корен патиштата.
Мостот праќа BPDU рамка користејќи уникатна MAC адреса на самата порта како изворна адреса, и дестинациска адреса од STP мултикаст адреси 01:80:C2:00:00:00.

Има два вида на BPDUs во оригиналната STP спецификација:

Конфигурациски BPDU (CBPDU), користен за пресметка на скелетно дрво
Нотификација за промена на топологија (TCN) BPDU , користен за да ги означи промените во мрежната топологија.

BPDU се разменуваат често (обично на секои две секунди) и овозможуваат на прекинувачите да ги следат мрежните промени и да почнат и прекинат проследување до порти како што е побарано.

Кога уред е прво доделен на прекинувачка порта, нема одма да почне да проследува податоци. Наместо тоа ќе иде преку број на состојби додека ги обработи BPDU-ата и ја одреди топологијата на мрежата. Кога домаќин е доделен, како на пример компјутер, печатач или опслужувач, портата секогаш ќе иде во проследувачка положба, макар и после одложување за околу 30 секунди додека иде преку слушачки и учешки положби. Времето потрошено во овие состојби е одредено од вредност познатака како проследувачки застој (освновно е на 15 секунди и поставено од корен мостот). Но ако друг прекинувач е поврзан, портата може да остане во блокирачка состјоба ако е одредено дека ќе предизвика лупа во мрежата.(TCN) BPDUs се користат за да информираат други прекинувачи за порт промени. TCN се внесени во мрежата од не-мостов прекинувач и пропагирани до коренот. По приемот на TCN, мостовиот прекинувач ќе постави топологиски променливо знаме во неговиот нормален BDPUs. Ова знаме е пропагирано до сите други прекинувачи за да им нареди брзо да ги остарат нивните проследувачки записи во табелите.

#### Системски ID екстензии

ID на мостот е поле внатре во BPDU пакетот. Има должина од 8 бајта. Првите два бајта се мостовиот приоритет, цели броеви без знак од 0-65,535.
Последните 6 бајта се MAC адресата обезбедена од мостот. Пред IEE 802.1D-2004, првите два бајта даваа 16 битен мостов приоритет. Од IEEE 802.1D 2004, првите 4 бита се со подесувачки приоритет, и последните 12 бита ја носат наставката на ID-то на мостовиот систем. Во случај на MST, наставката на ID-то на мостовиот систем го носи MSTP инстанца бројот.

Прегледајте
-----------

* Distributed minimum spanning tree
* EtherChannel
* Ethernet Automatic Protection Switching
* Flex Links
* Media Redundancy Protocol
* Minimum spanning tree
* Shortest Path Bridging, замена за протоколот за скелетно дрво
* TRILL (Transparent Interconnection of Lots of Links)
* Unidirectional Link Detection
* Virtual Link Trunking

Наводи
------

1. ↑  „802.1D IEEE Standard for Local and Metropolitan Area Networks. Media Access Control (MAC) Bridges" (PDF). IEEE. 2004. стр. 154. Посетено на 19 April 2012.

Надворешни врски
----------------

|  |  |
| --- | --- |
| Ризница | „Spanning Tree Protocol" на Ризницата ? |

* Cisco home page for the Spanning-Tree protocol family (discusses CST, MISTP, PVST, PVST+, RSTP, STP)
* Educational explanation of STP Архивирано на 4 март 2016 г. www.cisco.com
* STP article in the Wireshark wiki Includes a sample PCAP-file of captured STP traffic.
* Perlman, Radia. „Algorhyme". University of California at Berkeley. Архивирано од изворникот 2011-07-19. Посетено на 2011-09-01.
* IEEE Standards
	+ ANSI/IEEE 802.1D-2004 standard, section 17 discusses RSTP (Regular STP is no longer a part of this standard. This is pointed out in section 8.)
	+ ANSI/IEEE 802.1Q-2005 standard, section 13 discusses MSTP
* RFCs
	+ RFC 2674-1999, proposed standard, Definitions of Managed Objects for Bridges with Traffic Classes, Multicast Filtering and Virtual LAN Extensions
	+ RFC 1525-1993, - SBRIDGEMIB, proposed standard, Definitions of Managed Objects for Source Routing Bridges
	+ RFC 1493-1993 - BRIDGEMIB, draft standard, Definitions of Managed Objects for Bridges
* Spanning Tree Direct vs Indirect Link Failures - CCIE Study Архивирано на 12 август 2011 г.