Кіріспе
Spanning Tree Protocol (STP) - Ethernet желілері үшін циклсыз логикалық топология құратын желілік протокол. STP-нің негізгі функциясы көпірлік циклдерді және олардан туындайтын таратуды болдырмау болып табылады. Spanning tree желілік жобаға резервтік сілтемелерді қосуға мүмкіндік береді, егер белсенді сілтеме сәтсіз болса, қатеге төзімділікті қамтамасыз етеді. Атауынан көрініп тұрғандай, STP 2-ші қабаттағы көпірлер желісіндегі түйіндердің қатынасын сипаттайтын spanning tree құрайды және бұл spanning tree-нің бөлігі емес сілтемелерді өшіреді, кез келген екі желі түйіні арасында бір белсенді жолды қалдырады. STP алгоритмі Радия Перлман Digital Equipment Corporation компаниясында жұмыс істеген кезде ойлап тапқан алгоритміне негізделген. 2001 жылы IEEE 802.1w ретінде Rapid Spanning Tree Protocol (RSTP) енгізілді. RSTP желілік өзгерістерге немесе ақауларға жауап ретінде айтарлықтай жылдам қалпына келтіруді қамтамасыз етеді, бұл үшін жаңа конвергенция мінез-құлқы мен көпір порттарының рөлдері енгізілді. RSTP стандартты STP-мен кері үйлесімді болу үшін жобаланды. STP бастапқыда IEEE 802.1D ретінде стандартталған, бірақ spanning tree (802.1D), rapid spanning tree (802.1w) және multiple spanning tree (802.1s) функционалдығы 2014 жылғы IEEE 802.1Q стандартына енгізілді. STP әлі де қолданылып жүргенімен, қазіргі заманғы көптеген желілерде оның негізгі қолданылуы қатеге төзімділік механизмі емес, циклды қорғау механизмі болып табылады. LACP сияқты сілтеме агрегациясы протоколдары екі немесе одан да көп сілтемені байланыстырып, жалпы сілтеме сыйымдылығын арттыра отырып, қатеге төзімділікті қамтамасыз етеді.
The Spanning Tree Protocol (STP) is a network protocol that builds a loop free logical topology for Ethernet networks. The basic function of STP is to prevent bridge loops and the broadcast radiation that results from them. Spanning tree also allows a network design to include backup links providing fault tolerance if an active link fails. As the name suggests, STP creates a spanning tree that characterizes the relationship of nodes within a network of connected layer 2 bridges, and disables those links that are not part of the spanning tree, leaving a single active path between any two network nodes. STP is based on an algorithm that was invented by Radia Perlman while she was working for Digital Equipment Corporation. In 2001, the IEEE introduced Rapid Spanning Tree Protocol (RSTP) as 802.1w. RSTP provides significantly faster recovery in response to network changes or failures, introducing new convergence behaviors and bridge port roles to do this. RSTP was designed to be backwards compatible with standard STP. STP was originally standardized as IEEE 802.1D but the functionality of spanning tree (802.1D), rapid spanning tree (802.1w), and multiple spanning tree (802.1s) has since been incorporated into IEEE 802.1Q 2014. While STP is still in use today, in most modern networks its primary use is as a loop protection mechanism rather than a fault tolerance mechanism. Link aggregation protocols such as LACP will bond two or more links to provide fault tolerance while simultaneously increasing overall link capacity.
Протоколдық операция
Spanning Tree протоколының (STP) қажеттілігі жергілікті желілердегі (LAN) коммутаторлардың бір қосылымның бұзылуы жағдайында сенімділікті арттыру үшін көбінесе артық байланыстарды пайдалана отырып өзара байланысты болуынан туындады. STP-ге қосылған LAN коммутаторлары түбірлік көпірді (root bridge) сайлағаннан кейін, түбірлік емес барлық көпірлер өз порттарының біреуін түбірлік порт ретінде тағайындайды. Бұл коммутаторды түбірлік көпірмен байланыстыратын порт немесе егер бірнеше жол болса, түбірлік көпір есептегендей басымдық жолды қолданатын порт болады. Барлық коммутаторлар түбірлік көпірмен тікелей байланыспағандықтан, олар бір-бірімен STP BPDU арқылы байланысады. Әр коммутатор өз жолының құнын көрші коммутаторлардан алынған құнға қосып, түбірлік көпірге дейінгі жолдың жалпы құнын анықтайды. Түбірлік көпірге барлық мүмкін жолдардың құны есептелгеннен кейін, әр коммутатор түбірлік порт ретінде ең төмен құны немесе ең жоғары өткізгіштік қабілеті бар, түбірлік көпірге жететін жолға қосылатын портты тағайындайды.
Порт мемлекеттері
STP қосылған LAN-дегі барлық коммутатор порттары жіктеледі. Негізгі конфигурация LAN-дағы барлық коммутаторларда STP-ні қосуды және олардың әрқайсысында STP-нің бірдей нұсқасын таңдауды қажет етеді. Әкімші қай коммутатордың түбірлік көпір болатынын анықтап, коммутаторларды сәйкес түрде конфигурациялай алады. Егер түбірлік көпір істен шықса, протокол көпір ID негізінде автоматты түрде жаңа түбірлік көпірді тағайындайды. Егер барлық коммутаторлардың бірдей көпір ID-і болса, мысалы, әдепкі ID, және түбірлік көпір істен шықса, теңдік туындайды және протокол коммутатордың MAC-адресіне сүйене отырып, бір коммутаторды түбірлік көпір ретінде тағайындайды. Коммутаторларға көпір ID тағайындалғаннан кейін және протокол түбірлік көпір коммутаторын таңдағаннан кейін, порт құны, жол құны және порт басымдылығына сүйене отырып, түбірлік көпірге ең жақсы жол есептеледі. Ақырында STP жол құнын байланыстың еніне сәйкес есептейді, бірақ коммутаторлар арасындағы байланыстардың ені бірдей болуы мүмкін. Әкімшілер порт құнын конфигурациялау арқылы протоколдың таңдауын өзгерте алады, порт құны неғұрлым төмен болса, протокол қосылған байланысты таңдалған жолдың түбірлік порты ретінде таңдау ықтималдығы соғұрлым жоғары болады. Топологиядағы басқа коммутаторлардың өздерінің түбірлік портын немесе түбірлік көпірге ең төмен құнды жолды қалай таңдауы порт басымдылығымен анықталады. Ең жоғары басымдық жолдың ең аз басымдығын білдіреді. Егер коммутатордың барлық порттарының басымдығы бірдей болса, кадрларды жіберу үшін ең төмен нөмірленген порт таңдалады.
Түбір көпір және көпірдің ID
Тамыр көпірі – ең кіші (ең төменгі) көпір ID-сіне ие көпір. Әр көпірдің конфигурацияланатын басымдық саны және MAC мекенжайы болады; көпір ID – көпір басымдығы мен MAC мекенжайының біріктірілген түрі. Мысалы, басымдығы 32,768 және MAC мекенжайы бар көпірдің ID-сі… Көпір басымдығының бастапқы мәні 32,768-ге тең, және оны тек 4096-ға еселенген санмен ғана конфигурациялауға болады. Екі көпір ID-сін салыстырғанда, ең алдымен басымдық бөліктері салыстырылады, ал MAC мекенжайлары тек басымдықтар тең болған жағдайда ғана салыстырылады. Барлық коммутаторлардың арасындағы ең төменгі басымдыққа ие коммутатор тамыр болады; егер теңдік болса, онда ең төменгі басымдыққа және ең төменгі MAC мекенжайына ие коммутатор тамыр болады. Мысалы, егер А (MAC = ) және В (MAC = ) коммутаторларының басымдығы 32,768 болса, онда А коммутаторы тамыр көпір ретінде таңдалады. Егер желі әкімшілері В коммутаторын тамыр көпірге айналдырғысы келсе, оның басымдығын 32,768-ден кем етіп орнату керек.
Көпір протоколы деректері бірліктері
Жоғарыда келтірілген ережелер алгоритмнің қандай аралық ағашты есептейтінін анықтаудың бір жолын сипаттайды, бірақ жазылған ережелер желінің толық құрамын білуді талап етеді. Көпірлер тамырлық көпірді анықтап, порттардың рөлдерін (тамырлық, белгіленген немесе бұғатталған) тек өздеріне бар ақпаратты пайдаланып есептеуі керек. Әрбір көпірдің жеткілікті ақпаратқа ие екеніне көз жеткізу үшін, көпірлер көпір протоколы дерек бірліктері (BPDU) деп аталатын арнайы дерек фреймдерін пайдаланып, аралық ағаш протоколы, көпір идентификаторлары және тамырға дейінгі жолдың құны туралы ақпарат алмасады. Көпір BPDU фреймін порттың бірегей MAC-адресін бастапқы адрес ретінде және STP көп тарату адресін мақсатты MAC-адрес ретінде немесе Cisco-ға тән Per VLAN Spanning Tree үшін 01:00:0C:CC:CC:CD адресін пайдаланып жібереді. Перлман жасаған алгоритмге негізделген бастапқы STP (802.1D) спецификациясында BPDU-дың екі түрі бар. Келесі нұсқалары 1998 және 2004 жылдары жарияланды, оларға түрлі кеңейтімдер енгізілді. Перлманның алғашқы аралық ағаш протоколы DEC STP деп аталды, ол стандарт емес және IEEE нұсқасынан хабарлама форматымен және таймер параметрлерімен ерекшеленеді. Кейбір көпірлер IEEE және DEC нұсқаларын бірге қолданады, бірақ олардың өзара жұмыс істеуі желі әкімшісі үшін қиындықтар тудыруы мүмкін. Стандарттың әртүрлі іске асырылымдары өзара үйлесімді болуына кепілдік берілмейді, мысалы, әдепкі таймер параметрлерінің айырмашылығына байланысты. IEEE сатушылардан протоколды іске асыру сәйкестік туралы мәлімдеме беруді ұсынады, онда қандай мүмкіндіктер мен опциялар іске асырылғаны көрсетіледі. RSTP стандартты STP-мен кері үйлесімді болу үшін жасалған. RSTP топология өзгергеннен кейін аралық ағаш конвергенциясын едәуір жылдамдатады, осыны іске асыру үшін жаңа конвергенция мінез-құлқы мен көпір порттарының рөлдерін енгізеді. STP топологияның өзгеруіне жауап беру үшін 30-дан 50 секундқа дейін уақыт ала алады, ал RSTP әдетте 3 еселік «сәлемдесу» уақытында (әдепкісі: 3 x 2 секунд) немесе физикалық байланыс үзілгеннен кейін бірнеше миллисекунд ішінде өзгерістерге жауап бере алады. «Сәлемдесу» уақыты – RSTP бірнеше мақсаттар үшін пайдаланатын маңызды және конфигурацияланатын уақыт аралығы; оның әдепкі мәні 2 секунд.
VLAN-қа арналған стандарттар
STP және RSTP коммутатор порттарын VLAN бойынша бөліп көрсетпейді. Дегенмен, бірнеше VLAN бар Ethernet коммутациялық желілерде, әртүрлі VLAN-дардағы трафик әртүрлі байланыстарды пайдалануы үшін бірнеше аралық ағаштар құру жиі қажет болады.
Өзгеше стандарттар
IEEE VLAN үшін Spanning Tree протоколын стандарттағанға дейін, VLAN-ге қабілетті коммутаторларды сатқан бірнеше өндірушілер өздерінің VLAN-ге қабілетті Spanning Tree протоколының нұсқаларын жасады. Cisco, VLAN капсулалау үшін өзінің меншікті Inter Switch Link (ISL) және 802.1Q VLAN капсулалауын пайдаланатын Per VLAN Spanning Tree (PVST) меншік протоколын әзірледі, іске қосты және жариялады, сондай-ақ 802.1Q VLAN капсулалауын қолданатын PVST+ протоколын жариялады. Екі стандарт та әрбір VLAN үшін жеке Spanning Tree ағашын іске асырады. Cisco коммутаторлары қазір көбінесе PVST+ протоколын қолданады және егер LAN-дағы басқа коммутаторлар да сол VLAN STP протоколын қолданса ғана VLAN үшін Spanning Tree ағаштарын іске асыра алады. HP өзінің кейбір желілік коммутаторларында PVST және PVST+ үйлесімділігін қамтамасыз етеді. Extreme Networks бұл мүмкіндікті екі шектеумен ұсынады: VLAN таңбаланбаған/жергілікті порттарда және ID 1 идентификаторы бар VLAN үшін қолдау жоқ. PVST+ магистральдық-терминалдық аймақ арқылы туннельдеуге мүмкіндік береді. Juniper Networks өндірушісі, өз кезегінде, Cisco-ның PVST протоколымен үйлесімділікті қамтамасыз ету үшін VLAN Spanning Tree Protocol (VSTP) протоколын әзірледі және іске қосты, соның арқасында екі өндірушінің коммутаторларын бір LAN-ға біріктіруге болады. Әдепкі бойынша, VSTP RSTP протоколын негізгі Spanning Tree протоколы ретінде пайдаланады, бірақ егер желіде ескі көпірлер болса, STP протоколын қолдануға мәжбүрлеуге болады. Juniper Networks коммутаторларында VSTP конфигурациясы туралы толық ақпарат ресми құжаттамада жарияланды. Cisco сондай-ақ Rapid Spanning Tree протоколының меншік нұсқасын жариялады. Ол PVST сияқты әрбір VLAN үшін Spanning Tree ағашын құрайды. Cisco бұл әдісті Rapid Per VLAN Spanning Tree (RPVST) деп атайды.
Бірнеше аралық ағашты протокол
Multiple Spanning Tree Protocol (MSTP) бастапқыда IEEE 802.1s 2002 стандартында анықталды және кейіннен IEEE 802.1Q 2005 стандартымен біріктірілді, бұл VLAN-дардың тиімділігін арттыру үшін RSTP-ні кеңейтеді. Стандартта бір немесе бірнеше VLAN-ды карталайтын аралық ағаш көп аралық ағаш (MST) деп аталады. MSTP бойынша әрбір VLAN немесе VLAN-дар тобы үшін жеке аралық ағаш анықталуы мүмкін. Әрі қарай, әкімші бір аралық ағаш ішінде баламалы жолдарды анықтай алады. Коммутаторлар бірінші кезекте MST аймағына тағайындалады, содан кейін VLAN-дар осы MST-ге сәйкес карталанады немесе тағайындалады. Ортақ аралық ағаш (CST) – бірнеше VLAN-дар карталанған MST болып табылады, ал бұл VLAN-дар тобы MST инстанциясы (MSTI) деп аталады. CST стандарттары STP және RSTP стандарттарымен кері үйлесімді. Тек бір VLAN тағайындалған MST ішкі аралық ағаш (IST) болып табылады. MSTP өзінің аралық ағаш ақпаратының барлығын бір BPDU форматында қамтиды. Бұл әрбір VLAN үшін аралық ағаш ақпаратын жеткізуге қажетті BPDU санын ғана емес, сонымен қатар RSTP және тіпті классикалық STP-мен кері үйлесімділікті де қамтамасыз етеді. MSTP мұны стандартты RSTP BPDU-дан кейін қосымша ақпарат аймағын және MSTI хабарламаларының бірнешеуін (0-ден 64 инстанцияға дейін, бірақ практикалық тұрғыда көптеген көпірлер одан аз қолдайды) кодтау арқылы іске асырады. Осы MSTI конфигурациялық хабарламаларының әрқайсысы әрбір инстанция үшін аралық ағаш ақпаратын жеткізеді. Әрбір инстанцияға конфигурацияланған VLAN-дардың саны тағайындалуы мүмкін, ал осы VLAN-дарға тағайындалған кадрлар MST аймағында болғанда осы аралық ағашта жұмыс істейді. Әрбір BPDU-да бүкіл VLAN-дың аралық ағашқа картасын жеткізуден аулақ болу үшін көпірлер өздерінің VLAN-дың MD5 дайджестін MSTP BPDU-дағы инстанция кестесіне кодтайды. Бұл дайджест басқа MSTP көпірлерімен бірге басқа әкімшілік конфигурацияланған мәндерді пайдаланып, көрші көпірдің өзімен бірдей MST аймағында екенін анықтау үшін қолданылады. MSTP RSTP көпірлерімен толық үйлесімді, себебі MSTP BPDU RSTP көпірімен RSTP BPDU ретінде қабылдануы мүмкін. Бұл конфигурация өзгерістерінсіз RSTP көпірлерімен үйлесімділікті қамтамасыз етумен қатар, MSTP аймағынан тыс кез келген RSTP көпірлері аймақты, аймақтағы MSTP көпірлерінің санына қарамастан, бір RSTP көпірі ретінде көреді. MSTP аймағын RSTP көпірі ретінде қарастыруды жеңілдету үшін MSTP протоколы RSTP қолданатын хабарлама жасы таймерінің орнына уақыт санағы ретінде қалған секірулер деп аталатын айнымалыны пайдаланады. Хабарлама жасы тек бір рет өсіріледі, егер аралық ағаш ақпараты MST аймағына кірсе, сондықтан RSTP көпірлері аймақты аралық ағаштағы бір ғана секіру ретінде көреді. MSTP аймағының шетіндегі порттар, RSTP немесе STP көпіріне немесе соңғы нүктеге қосылған порттар шекаралық порттар деп аталады. RSTP-дегідей, бұл порттарды шеткі порттар ретінде конфигурациялауға болады, бұл соңғы нүктелерге қосылған кезде жіберу күйін жылдам өзгертуді жеңілдетеді.
Ең қысқа жолды көпірлеу
IEEE 802.1aq, сонымен қатар Ұқыпты Жолды Көпірлеу (SPB) деп аталады, бірнеше тең құнды жолдар арқылы коммутаторлар арасындағы қосымша байланыстардың жұмыс істеуіне мүмкіндік береді, 2-деңгейлі топологияларды кеңейтеді, жылдамрақ конвергенцияны қамтамасыз етеді және барлық құрылғылар арасындағы өткізу қабілетін арттыру арқылы тор топологияларын тиімді пайдалануға мүмкіндік береді, бұл трафиктің тор желісіндегі барлық жолдар бойынша бөлінуіне жағдай жасайды. SPB көптеген қолданыстағы функцияларды біріктіреді, оның ішінде Spanning Tree Protocol (STP), Multiple Spanning Tree Protocol (MSTP), Rapid Spanning Tree Protocol (RSTP), байланыс агрегациясы және Multiple MAC Registration Protocol (MMRP) бір байланыс күйі протоколына.
Жүйелік идентификаторды кеңейту
Көпір ID (BID) – BPDU пакетінің ішіндегі өріс. Оның ұзындығы сегіз байтты құрайды. Алғашқы екі байты – 0–65,535 аралығындағы белгісіз бүтін сан болып табылатын көпірдің басымдығы. Соңғы алты байты – көпірмен ұсынылған MAC-адресі. IEEE 802.1D 2004 стандартына дейін алғашқы екі байт 16 биттік көпір басымдығын көрсететін. IEEE 802.1D 2004 стандартынан бастап, алғашқы төрт биті конфигурацияланатын басымдыққа, ал соңғы он екі биті көпір жүйесі ID кеңейтімдерін камтиды. MST жағдайында көпір жүйесі ID кеңейтімдері MSTP инстанциясының нөмірін қамтиды. Кейбір өндірушілер көпір жүйесі ID кеңейтімдерін VLAN ID-сін камту үшін орнатады, бұл әрбір VLAN үшін жеке шабақ ағашын құруға мүмкіндік береді, мысалы Cisco-ның PVST технологиясы сияқты.
Кемшіліктер мен қазіргі тәжірибе
Спаннинг-ағаш – конвергенция уақыты ұзақ болатын ескі протокол. Дұрыс пайдаланбау немесе іске асыру желілік үзілістерге себеп болуы мүмкін. Байланыстарды тоқтату – жоғары сенімділік пен циклдарды болдырмаудың қарапайым тәсілі. Қазіргі заманғы желілер логикалық немесе физикалық топологиялық циклдардың табиғи әрекетін тежейтін, басқаратын немесе жоятын протоколдарды қолдану арқылы барлық қосылған байланыстарды пайдалана алады. Жаңа, берік протоколдарға TRILL (Көптеген байланыстардың мөлдір өзара байланысы) протоколы, сондай-ақ Перлман жасаған және IEEE ұсынған ең қысқа жолмен көпірлеу кіреді. Желілік құрылғылар арасындағы байланыстарды 3-ші деңгейдегі IP байланыстары ретінде конфигурациялау және сенімділікті қамтамасыз ету үшін, сондай-ақ циклдарды болдырмау мақсатында IP маршрутизациясын пайдалану – танымал балама. Cisco Virtual Switching System, Virtual PortChannel және HP Intelligent Resilient Framework сияқты коммутаторларды виртуалдандыру әдістері бірнеше коммутаторларды бір логикалық бірлікке біріктіреді. Мұндай көп шассилі байланыс жинағы қалыпты портты арқалық сияқты жұмыс істейді, бірақ бірнеше коммутаторлар арқылы таратылады. Керісінше, бөлу технологиясы бір физикалық шассиді бірнеше логикалық бірліктерге бөледі. Желінің шетінде пайдаланушылардың қателікпен жасаған циклдарын болдырмау үшін циклдарды анықтау конфигурацияланады.