Какво представлява протоколът Spanning Tree?

Протоколът Spanning Tree, понякога наричан просто Spanning Tree, е Waze или MapQuest на съвременните Ethernet мрежи, насочващ трафика по най-ефективния маршрут въз основа на условия в реално време.

Въз основа на алгоритъм, създаден от американския компютърен учен Радиа Пърлман, докато тя работи за Digital Equipment Corporation (DEC) през 1985 г., основната цел на Spanning Tree е да предотврати излишните връзки и зациклянето на комуникационните пътища в сложни мрежови конфигурации. Като вторична функция, Spanning Tree може да насочва пакети около проблемните точки, за да гарантира, че комуникациите могат да преминават през мрежи, които може да изпитват смущения.

Топология на Spanning Tree срещу топология на пръстена

Когато организациите едва започваха да свързват компютрите си в мрежа през 80-те години на миналия век, една от най-популярните конфигурации беше пръстеновидната мрежа. Например, IBM представи своята собствена технология Token Ring през 1985 г.

В пръстеновидната мрежова топология всеки възел се свързва с два други, единият, който се намира пред него на пръстена, и един, който е разположен зад него. Сигналите се движат около пръстена само в една посока, като всеки възел по пътя предава всички и всички пакети, обикалящи около пръстена.

Докато обикновените мрежи с пръстени работят добре, когато има само няколко компютри, пръстените стават неефективни, когато към мрежата се добавят стотици или хиляди устройства. Може да се наложи компютърът да изпрати пакети през стотици възли само за да сподели информация с една друга система в съседна стая. Ширината на честотната лента и пропускателната способност също се превръщат в проблем, когато трафикът може да тече само в една посока, без резервен план, ако възел по пътя се повреди или претовари.

През 90-те години, когато Ethernet стана по-бърз (100Mbit/sec. Fast Ethernet беше въведен през 1995 г.) и цената на Ethernet мрежа (мостове, комутатори, кабели) стана значително по-евтина от Token Ring, Spanning Tree спечели войните за LAN топология и Token Пръстенът бързо избледня.

Как работи Spanning Tree

[РЕГИСТРИРАЙТЕ СЕ СЕГА за последното FutureIT събитие за годината! Предлага се ексклузивен семинар за професионално развитие. FutureIT Ню Йорк, 8 ноември]

Spanning Tree е протокол за пренасочване на пакети данни. Това е една част пътен полицай и една част строителен инженер за мрежовите магистрали, през които преминават данните. Той се намира на слой 2 (слой за връзка с данни), така че просто се занимава с преместването на пакети до подходящата им дестинация, а не какъв вид пакети се изпращат или данните, които съдържат.

Spanning Tree стана толкова вездесъщ, че употребата му е дефинирана вIEEE 802.1D мрежов стандарт. Както е дефинирано в стандарта, само един активен път може да съществува между всеки две крайни точки или станции, за да функционират правилно.

Spanning Tree е проектирано да елиминира възможността данните, преминаващи между мрежовите сегменти, да блокират в цикъл. Като цяло примките объркват алгоритъма за препращане, инсталиран в мрежовите устройства, което го прави така, че устройството вече не знае къде да изпраща пакети. Това може да доведе до дублиране на рамки или препращане на дублиращи се пакети към множество дестинации. Съобщенията могат да се повтарят. Комуникациите могат да се върнат обратно към подателя. Може дори да срине мрежа, ако започнат да се появяват твърде много цикли, изяждайки честотната лента без никакви осезаеми печалби, като същевременно блокира преминаването на друг необвързан трафик.

Протоколът Spanning Treeспира образуването на примкичрез затваряне на всички възможни пътища с изключение на един за всеки пакет данни. Превключвателите в мрежа използват Spanning Tree, за да дефинират коренни пътища и мостове, където данните могат да пътуват, и функционално да затварят дублирани пътища, правейки ги неактивни и неизползваеми, докато е наличен основен път.

Резултатът е, че мрежовите комуникации протичат безпроблемно, независимо колко сложна или обширна става мрежата. В известен смисъл Spanning Tree създава единични пътища през мрежата, за да се движат данни с помощта на софтуер по почти същия начин, по който мрежовите инженери са правили, използвайки хардуер на старите мрежи с верига.

Допълнителни предимства на Spanning Tree

Основната причина, поради която Spanning Tree се използва, е да се елиминира възможността за маршрутизиране на вериги в мрежата. Но има и други предимства.

Тъй като Spanning Tree непрекъснато търси и дефинира кои мрежови пътеки са достъпни за преминаване на пакети с данни, то може да открие дали възел, който се намира по един от тези първични пътища, е деактивиран. Това може да се случи по различни причини, вариращи от хардуерен срив до нова мрежова конфигурация. Това може дори да е временна ситуация въз основа на честотната лента или други фактори.

Когато Spanning Tree открие, че първичен път вече не е активен, той може бързо да отвори друг път, който преди това е бил затворен. След това може да изпраща данни около проблемното място, като в крайна сметка определя отклонението като нов основен път или изпраща пакети обратно към оригиналния мост, ако той отново стане достъпен.

Докато оригиналното Spanning Tree беше сравнително бързо в създаването на тези нови връзки, когато е необходимо, през 2001 г. IEEE въведе Rapid Spanning Tree Protocol (RSTP). Наричан още като 802.1w версия на протокола, RSTP е проектиран да осигури значително по-бързо възстановяване в отговор на мрежови промени, временни прекъсвания или пълна повреда на компоненти.

И докато RSTP въведе ново поведение на конвергенция на пътя и роли на мостови портове, за да ускори процеса, той също така е проектиран да бъде напълно обратно съвместим с оригиналното Spanning Tree. Така че е възможно устройства с двете версии на протокола да работят заедно в една и съща мрежа.

Недостатъци на Spanning Tree

Въпреки че Spanning Tree стана повсеместно през годините след въвеждането му, има хора, които твърдят, че едойде времето. Най-големият недостатък на Spanning Tree е, че затваря потенциални вериги в мрежата, като изключва потенциални пътища, по които данните могат да пътуват. Във всяка дадена мрежа, използваща Spanning Tree, около 40% от потенциалните мрежови пътища са затворени за данни.

В изключително сложни мрежови среди, като тези в центровете за данни, способността за бързо мащабиране, за да се отговори на търсенето, е от решаващо значение. Без ограниченията, наложени от Spanning Tree, центровете за данни биха могли да отворят много повече честотна лента без необходимост от допълнителен мрежов хардуер. Това е малко иронична ситуация, защото сложните мрежови среди са причината Spanning Tree да бъде създадена. И сега защитата, осигурена от протокола срещу зацикляне, по някакъв начин възпира тези среди от пълния им потенциал.

Усъвършенствана версия на протокола, наречена Multiple-Instance Spanning Tree (MSTP), е разработена, за да използва виртуални LAN и да позволи повече мрежови пътища да бъдат отворени едновременно, като същевременно предотвратява образуването на цикли. Но дори и с MSTP, доста потенциални пътища за данни остават затворени във всяка дадена мрежа, използваща протокола.

През годините имаше много нестандартизирани, независими опити за подобряване на ограниченията на честотната лента на Spanning Tree. Докато дизайнерите на някои от тях са заявили успех в усилията си, повечето не са напълно съвместими с основния протокол, което означава, че организациите трябва или да използват нестандартизираните промени на всички свои устройства, или да намерят някакъв начин да им позволят да съществуват с превключватели, работещи със стандартно Spanning Tree. В повечето случаи разходите за поддържане и поддържане на множество разновидности на Spanning Tree не си струват усилията.

Ще продължи ли Spanning Tree в бъдеще?

Освен ограниченията в честотната лента, дължащи се на Spanning Tree, затварящи мрежови пътеки, не са положени много мисли или усилия за замяна на протокола. Въпреки че IEEE понякога пуска актуализации, за да се опита да го направи по-ефективен, те винаги са обратно съвместими със съществуващите версии на протокола.

В известен смисъл Spanning Tree следва правилото „Ако не е счупено, не го поправяйте“. Spanning Tree работи независимо във фонов режим на повечето мрежи, за да поддържа потока на трафика, да предотвратява образуването на цикли, предизвикващи сривове, и да насочва трафика около проблемните точки, така че крайните потребители никога дори да не знаят дали тяхната мрежа изпитва временни прекъсвания като част от ежедневната си работа дневни операции. Междувременно в бекенда администраторите могат да добавят нови устройства към своите мрежи, без да се замислят много дали ще могат да комуникират с останалата част от мрежата или външния свят.

Поради всичко това е вероятно Spanning Tree да остане в употреба още много години. Може да има някои незначителни актуализации от време на време, но основният протокол Spanning Tree и всички критични функции, които изпълнява, вероятно са тук, за да останат.


Време на публикуване: 07 ноември 2023 г