Кіріспе
Компьютерлік желілерде бірнеше желілік қосылымдарды параллель біріктіру (агрегациялау) – әртүрлі әдістер арқылы бірнеше желілік қосылымдарды қатар қосу. Байланысты агрегациялау жалғыз қосылымның көтере алған деңгейінен асып түсетін жалпы өткізу қабілетін арттырады және барлық физикалық байланыстардың біреуін қоспағанда, қалғандары бұзылған жағдайда да қосылымды сақтап қалуға мүмкіндік береді. Байланысты агрегациялау тобы (БАГ) – физикалық порттардың біріктірілген жиынтығы. Осы ұғымды сипаттау үшін қолданылатын басқа да терминдер: trunking.
In computer networking, link aggregation is the combining (aggregating) of multiple network connections in parallel by any of several methods. Link aggregation increases total throughput beyond what a single connection could sustain, and provides redundancy where all but one of the physical links may fail without losing connectivity. A link aggregation group (LAG) is the combined collection of physical ports. Other umbrella terms used to describe the concept include trunking,
There are three single points of failure inherent to a typical port cable port connection, in either a computer to switch or a switch to switch configuration: the cable itself or either of the ports the cable is plugged into can fail. Multiple logical connections can be made, but many of the higher level protocols were not designed to fail over completely seamlessly. Combining multiple physical connections into one logical connection using link aggregation provides more resilient communications.
Компьютерден коммутаторға немесе коммутатордан коммутаторға қосылымда типтік порт-кабель байланысына үш негізгі қателік нүктесі тән: кабельдің өзі немесе кабельге қосылған порттардың біреуі бұзылуы мүмкін. Көптеген логикалық байланыстар құруға болады, бірақ жоғары деңгейдегі көптеген протоколдар толыққанды үздіксіз ауысу үшін жасалмаған. Байланысты агрегациялауды пайдаланып бірнеше физикалық байланысты бір логикалық байланысқа біріктіру байланыстың сенімділігін арттырады.
In computer networking, link aggregation is the combining (aggregating) of multiple network connections in parallel by any of several methods. Link aggregation increases total throughput beyond what a single connection could sustain, and provides redundancy where all but one of the physical links may fail without losing connectivity. A link aggregation group (LAG) is the combined collection of physical ports. Other umbrella terms used to describe the concept include trunking,
There are three single points of failure inherent to a typical port cable port connection, in either a computer to switch or a switch to switch configuration: the cable itself or either of the ports the cable is plugged into can fail. Multiple logical connections can be made, but many of the higher level protocols were not designed to fail over completely seamlessly. Combining multiple physical connections into one logical connection using link aggregation provides more resilient communications.
Сәулет
Желілік архитекторлар OSI моделінің ең төменгі үш қабатының кез келгенінде агрегацияны іске асыра алады. 1-ші қабаттағы (физикалық қабаттағы) агрегацияға мысал ретінде бірнеше жиілік жолақтарын біріктіретін электр желісі (мысалы, IEEE 1901) және сымсыз (мысалы, IEEE 802.11) желі құрылғыларын келтіруге болады. OSI 2-қабатта (деректер сілтемесі қабаты, мысалы LAN-дағы Ethernet фреймі немесе WAN-дағы көп сілтемелі PPP, Ethernet MAC мекенжайы) агрегация әдетте коммутатор порттарында жүзеге асырылады, бұл порттар физикалық немесе операциялық жүйе басқаратын виртуалды порттар болуы мүмкін. OSI моделіндегі 3-қабатта (желілік қабатта) агрегация үшін дөңгелек робинді жоспарлау, пакеттік тақырыптардағы өрістерден есептелген хэш-мәндер немесе осы екі әдістің комбинациясы қолданылуы мүмкін. Агрегация қай қабатта болғанына қарамастан, желілік жүктемені барлық байланыстар арасында теңестіруге болады. Дегенмен, реттілік бұзылуын болдырмау үшін, барлық іске асырулар осы мүмкіндікті пайдаланбайды. Көптеген әдістер қателікке ауысуды да қамтамасыз етеді. Біріктіру бірнеше интерфейстің бір логикалық мекенжайды (мысалы, IP) немесе бір физикалық мекенжайды (мысалы, MAC мекенжайы) бөлісуі арқылы немесе әр интерфейстің өзінің жеке мекенжайына ие болуына рұқсат беру арқылы жүзеге асырылуы мүмкін. Бірінші жағдайда, байланыстың екі шеті де бірдей агрегация әдісін қолдануы керек, бірақ бұл екінші жағдайға қарағанда өнімділік бойынша артықшылықтар береді. Channel bonding жүктемені теңдестіруден өзгеше, жүктемені теңдестіру желілік сокеттерге (4-қабат) байланысты трафикті бөледі, ал channel bonding физикалық интерфейстер арасындағы трафикті төменгі деңгейде, пакеттер бойынша (3-қабат) немесе деректер байланысы бойынша (2-қабат) бөлуді білдіреді.
Стандарттау процесі
1990 жылдардың ортасына қарай көптеген желілік коммутатор өндірушілері өздерінің коммутаторлары арасындағы өткізу қабілетін арттыру мақсатында агрегация мүмкіндігін меншіктік кеңейтім ретінде қосты. Әр өндіруші өз әдісін жасады, бұл үйлесімсіздік мәселелеріне алып келді. IEEE 802.3 жұмыс тобы 1997 жылдың қараша айында өткен мәжілісте өзара сәйкес келетін байланыс қабаты стандартын (яғни физикалық және деректер байланысы қабаттарын қамтитын) жасау үшін зерттеу тобын құрды. Көптеген желілік жабдық өндірушілері осы бірлескен стандартты өздерінің жеке стандарттарынан гөрі жылдам қабылдады.
802.1АX
2006 жылдың қарашасында 9-шы нұсқалау жобасы үшін 802.3 техникалық қызмет тобының есебінде, кейбір 802.1 қабаттарының (мысалы, 802.1X қауіпсіздігі) 802.3 қосалқы қабаты ретінде анықталған байланыс жинағынан төменгі протокол стегінде орналасқандығы айтылды. Бұл қайшылықты жою үшін 802.3ax (802.1AX) жұмыс тобы құрылды, нәтижесінде протокол 802.1 тобына ресми түрде берілді және 2008 жылғы 3 қарашада IEEE 802.1AX 2008 жарияланды.
Статикалық конфигурацияға қарағанда артықшылықтары
Ақаулық автоматты түрде орын алады: Егер байланыста, мысалы, құрылғылар арасындағы медиа түрлендіргіште аралық ақаулық туса, қарсы жақ жүйе байланыс мәселесін байқамауы мүмкін. Статикалық байланыс жинағында қарсы жақ байланыс арқылы трафик жіберуді жалғастырады, бұл байланыстың үзілуіне әкеледі. Динамикалық конфигурация: құрылғы қарсы жақтағы конфигурация байланыс жинағын қолдай алатынын тексеруі мүмкін. Статикалық байланыс жинағында кабельдік немесе конфигурациялық қателер байқалмай қалып, желіде күтілмеген әрекеттерге себеп болуы мүмкін.
Практикалық ескертулер
LACP протоколы қосылған барлық байланыстарға кадрларды (LACPDU) жіберу арқылы жұмыс істейді. Егер ол байланыстың екінші жағында LACP қосылған құрылғыны таба алса, сол құрылғы да бір-біріне қарама-қарсы бағыттағы сол байланыстар арқылы кадрларды жібереді, бұл екі құрылғыға өзара бірнеше байланысты анықтауға және оларды бір логикалық байланысқа біріктіруге мүмкіндік береді. LACP екі режимнің бірінде конфигурациялануы мүмкін: белсенді немесе пассивті. Белсенді режимде LACPDU кадрлары конфигурацияланған байланыстар бойынша секунд сайын 1 рет жіберіледі. Пассивті режимде LACPDU кадрлары қарсы жақтан бір кадр алғанға дейін жіберілмейді, яғни «жауап алғанда ғана жауап беретін» протокол.
Жеке меншік сілтемелерді біріктіру
IEEE сілтемелерді агрегациялау қосалқы стандарттарынан басқа, Cisco-ның EtherChannel және Port Aggregation Protocol, Juniper-дің Aggregated Ethernet, AVAYA-ның Multi Link Trunking, Split Multi Link Trunking, Routed Split Multi Link Trunking және Distributed Split Multi Link Trunking, ZTE-нің Smartgroup, Huawei-дің Eth Trunk және Connectify-дің Speedify сияқты бірқатар меншік агрегациялау схемалары бар. Көптеген жоғары деңгейдегі желілік құрылғылар сілтемелерді біріктірудің кейбір түрін қолдайды. *BSD lagg пакеті, Linux bonding драйвері, Solaris dladm aggr және т.б. сияқты бағдарламалық жасақтамаға негізделген іске асырулар көптеген операциялық жүйелер үшін қолжетімді.
Linux драйверлері
Linux байланыстыру драйвері бірнеше желілік интерфейс контроллерлерін (NIC) екі немесе одан да көп (NIC) құлдар деп аталатын бір логикалық байланысқан интерфейске біріктіру әдісін ұсынады. Көптеген қазіргі заманғы Linux дистрибутивтері Linux ядросымен бірге келеді, онда Linux байланыстыру драйвері жүктелетін ядро модулі ретінде интеграцияланған және ifenslave (if = [желілік] интерфейсі) пайдаланушы деңгейін басқару бағдарламасы алдын ала орнатылған. Дональд Бекер Linux-тың бастапқы драйверін бағдарламалады. Ол Linux 2.0 ядросы үшін Beowulf кластерлік жаңартуларымен бірге қолданыла бастады. Linux байланыстыру драйверінің режимдері: Бұл режим пакеттерді қайта реттеуден туындаған келекектерге байланысты мәселелерді тудыруы мүмкін. Активті резервтік көшірме (active backup): Бондтағы тек бір NIC құлы белсенді. Егер белсенді құл сәтсіздікке ұшыраса, басқа құл ғана белсенді болады. Жалғыз логикалық байланысқан интерфейстің MAC-адресі желілік коммутаторда жіберуді жеңілдету үшін тек бір NIC (порт) арқылы сыртқы түрде көрінеді. Бұл режим қатеге төзімділікті қамтамасыз етеді. XOR (balance xor): Пакеттердің бастапқы және соңғы нүктелерінің хэшіне сүйене отырып желілік пакеттерді жіберу. Әдепкі алгоритм тек MAC-адрестерін қарастырады (2-қабат). Жаңа нұсқалар IP-адрестерге (2+3 қабат) және TCP/UDP порт нөмірлеріне (3+4 қабат) негізделген қосымша саясаттарды таңдауға мүмкіндік береді. Бұл әр соңғы MAC-адресі, IP-адресі немесе IP-адресі мен порт комбинациясы үшін сәйкесінше бірдей NIC құлын таңдайды. Жеке байланыстар пакеттерді жеткізуді кепілдік береді және бір NIC жылдамдығымен жібереді. Бұл режим жүктемені теңестіруді және қатеге төзімділікті қамтамасыз етеді. Тарату (broadcast): Барлық құл желілік интерфейстерде желілік пакеттерді тарату. Бұл режим қатеге төзімділікті қамтамасыз етеді. IEEE 802.3ad Динамикалық сілтемені агрегациялау (802.3ad, LACP): Бірдей жылдамдық пен дуплекс параметрлерін бөлісетін агрегациялық топтарды құрайды. 802.3ad спецификациясына сәйкес белсенді агрегатор тобындағы барлық құл желілік интерфейстерді пайдаланады. Бұл режим жоғарыда көрсетілген XOR режиміне ұқсас және теңгерімдеу саясатын қолдайды. Бұл байланыс екі LACP қолдайтын құрылғы арасында динамикалық түрде орнатылады. Адаптивті тарату жүктемесін теңестіру (balance tlb): Арнайы желілік коммутаторды қажет етпейтін Linux байланысу драйверінің режимі. Шығатын желілік пакет трафигі әр желілік интерфейс құлының ағымдағы жүктемесіне (жылдамдыққа қатысты есептелген) сәйкес таратылады. Кіріс трафигі бір қазіргі таңдалған құл желілік интерфейсімен қабылданады. Егер бұл қабылдаушы құл сәтсіз болса, басқа құл сәтсіз болған қабылдаушы құлдың MAC-адресін иеленеді. Адаптивті жүктемені теңдестіру (balance alb) IPv4 трафигі үшін теңдестіру tlb + қабылдау жүктемесін теңдестіруді (rlb) қамтиды және арнайы желілік коммутаторды қажет етпейді. Қабылдау жүктемесін теңдестіру ARP келіссөздері арқылы жүзеге асырылады. Бондтау драйвері жергілікті жүйе жіберген ARP жауаптарын ұстап алады және желілік пакет трафигі үшін әртүрлі желілік құрылғылар әртүрлі MAC-адрестерін қолданатындай бір логикалық байланысқан интерфейстегі NIC құлдарының бірегей аппараттық мекенжайымен бастапқы аппараттық мекенжайын ауыстырады. Linux Team драйвері байланыстыру драйверіне балама ұсынады. Негізгі айырмашылық – Team драйверінің ядролық бөлігі тек қана қажетті кодты қамтиды, ал қалған код (байланысты растау, LACP іске асыру, шешім қабылдау және т.б.) teamd daemon құрамында пайдаланушы кеңістігінде орындалады.
Желілік тірек
Байланысты агрегациялау – кез келген порт немесе құрылғы жеткізе алатын деректер көлемін бірнеше есе арттыратын, жоғары сыйымдылықтағы негізгі желі құрудың тиімді әдісін ұсынады. Байланысты агрегациялау желідегі жүктеме арта келе желілік арқалықтың жылдамдығын қадамдық түрде арттыруға мүмкіндік береді, бұл үшін барлық жабдықты ауыстырып, жаңа аппаратты орнатудың қажеті жоқ. Көптеген негізгі желілерді орнату кезінде бастапқыда қажеттіден артық кабельдер немесе оптикалық талшықтар орнатылады. Мұның себебі – еңбек ақысы кабель бағасынан жоғары, ал қосымша кабельдерді орнату желілік қажеттіліктер өзгеретін жағдайда болашақтағы еңбек ақысын төмендетуге мүмкіндік береді. Байланысты агрегациялау порттар жеткілікті болса, осы артық кабельдерді пайдаланып, қосымша шығындарсыз немесе минималды шығындармен арқалықтың жылдамдығын арттыруға мүмкіндік береді.
Фреймдердің реті
Трафикті теңестіру кезінде желі әкімшілері көбінесе Ethernet фреймдерін қайта реттеуден аулақ болғысы келеді. Мысалы, TCP ретінен шыққан пакеттермен жұмыс істегенде қосымша жүктеме туындайды. Бұл мақсатқа белгілі бір сеансқа қатысты барлық фреймдерді бір байланыс арқылы жіберу арқылы қол жеткізуге болады. Көптеген жағдайларда L2 немесе L3 хэштері (яғни MAC немесе IP мекенжайларға негізделген) қолданылады, бұл бір ағынның әрқашан бірдей физикалық байланыс арқылы жіберілуін қамтамасыз етеді. Дегенмен, егер тек бір немесе өте аз хост жұбы бір-бірімен байланыс жасаса, яғни хэштер жеткілікті өзгеріс бермесе, магистральдағы байланыстар бойынша тең бөлуге қол жеткізу мүмкін болмайды. Бұл клиенттердің жалпы өткізу қабілетін шектейді. Nvidia өздерінің Nvidia Network Access Manager/Firewall құралымен командаласуды қолдайды. HP өнімдеріне арналған NIC-тер үшін HP команда құралын ұсынады, ол 802.3ad және LACP-мен қоса, бірнеше байланыс агрегациясы режимдерін қолдайды. Сонымен қатар, бір желіде бірнеше IP интерфейсі бар серверлерге жүктемені теңестіруге мүмкіндік беретін қарапайым 3-ші қабаттық агрегация бар, ал бірнеше интернет-қосылымы бар үй пайдаланушылары үшін барлық интерфейстерде жүктемені бөлісу арқылы байланыс жылдамдығын арттыруға болады. Broadcom Advanced Control Suite (BACS) арқылы кеңейтілген мүмкіндіктерді ұсынады, оның арқылы BASP (Broadcom Advanced Server Program) командаласу функционалдығы қолжетімді, 802.3ad статикалық LAG, LACP және коммутаторларда қосымша конфигурацияны қажет етпейтін "ақылды командаласу" мүмкіндіктерін ұсынады. BACS арқылы командаласуды әртүрлі өндірушілерден алынған NIC-термен конфигурациялауға болады, егер олардың кем дегенде біреуі Broadcom-нан болса және қалған NIC-тер командаласуды қолдау үшін қажетті мүмкіндіктерге ие болса.
Linux және UNIX
Linux, FreeBSD, NetBSD, OpenBSD, macOS, OpenSolaris және AIX сияқты коммерциялық Unix дистрибутивтері Ethernet байланысын жоғары деңгейде жүзеге асырады және ядро қолдаса, әртүрлі өндірушілерден немесе әртүрлі драйверлерді қолданатын желілік карталарды (NIC) пайдалана алады. Microsoft Hyper-V гипервизор деңгейінде байланыс жинағын (link aggregation) қолдамайды, бірақ Windows жүйесінде командалық жұмыс үшін аталған әдістер Hyper-V-ге де қолданылады.
Бір түймешік
Баланс rr, баланс xor, эфирлік және 802.3ad режимдерінде сілтемелерді біріктіру тобындағы барлық физикалық порттар бір логикалық коммутаторда орналасуы керек, бұл көптеген жағдайларда барлық сілтемелер қосылған физикалық коммутатор істен шыққанда бір ғана әлсіз буынға алып келеді. Активті резервтік, баланс tlb және баланс alb режимдерін екі немесе одан көп коммутаторлармен де орнатуға болады. Бірақ, сәтсіз ауысу кезінде (барлық басқа режимдер сияқты), кейбір жағдайларда белсенді сессиялар (ARP проблемаларына байланысты) сәтсіз аяқталып, қайта іске қосылуы мүмкін. Дегенмен, көптеген өндірушілердің осы мәселені шешетін, бірнеше физикалық коммутаторларды бір логикалық коммутаторға біріктіретін қосымша мүмкіндіктері бар. Nortel-дің split multi link trunking (SMLT) протоколы бірнеше Ethernet сілтемелерін стектегі бірнеше коммутаторларға бөлуге мүмкіндік береді, бұл кез келген әлсіз буынның пайда болуын болдырмайды, сонымен қатар барлық коммутаторлардың бір кіру стекіннен бірнеше агрегациялық коммутаторларға жүктемені тең бөлуін қамтамасыз етеді. Бұл құрылғылар Inter Switch Trunk (IST) арқылы күйін синхрондастырады, нәтижесінде қосылатын (кіру) құрылғыға бір құрылғы (коммутатор блогы) ретінде көрінеді және пакеттердің қайталануын болдырмайды. SMLT барлық жылдамдықтардағы магистральдар үшін секундтың бір бөлігінде ауысу және секундтың бір бөлігінде қалпына келтіру арқылы жоғары сенімділікті қамтамасыз етеді, сонымен қатар соңғы құрылғылар үшін ашық түрде жұмыс істейді. Көп шассилі сілтемелерді біріктіру тобы ұқсас мүмкіндіктерді өндірушіге тән емес жолмен ұсынады. Қосылған құрылғы үшін байланыс әдеттегі сілтемелерді біріктірілген магистраль ретінде көрінеді. Бірнеше көздер арасындағы координация өндірушінің өзіне тән әдісімен жүзеге асырылады.
Бірдей байланыс жылдамдығы
Көптеген жағдайларда, агрегацияда қолданылатын барлық порттар бірдей физикалық типті құрайды, мысалы, барлық мыс порттар (10/100/1000BASE-T), барлық көп модты талшықты порттар немесе барлық бір модты талшықты порттар. Дегенмен, IEEE стандартының талабы – барлық байланыстардың толық дуплекс режимінде жұмыс істеуі және олардың барлығының бірдей жылдамдыққа ие болуы (10, 100, 1000 немесе 10000 Мбит/с). Көптеген коммутаторлар PHY-ге тәуелсіз, яғни коммутаторда мыс, SX, LX, LX10 немесе басқа GBIC/SFP модульдік трансиверлердің қоспасы болуы мүмкін. Әдетте бірдей PHY-ды қолдану қалыпты жағдай, бірақ бір байланыс үшін 1000BASE SX талшығын, ал екінші байланыс үшін 1000BASE LX (ұзын, әртүрлі маршрут) талшығын агрегациялауға болады. Бір маршруттың таралу уақыты ұзақ болуы мүмкін, бірақ көптеген жағдайларда трафик ағыны бір физикалық байланыста сақталады (MAC-адрестерінің, IP-адрестерінің немесе IP/транспорттық қабат порттарының комбинациясының хэші индекстеу үшін қолданылады), сондықтан деректердің реті келмей жеткізілуіне байланысты мәселелер туындамайды.
Ethernet жиынтықтауының сәйкессіздігі
Агрегация сәйкессіздігі – байланыстың екі басындағы агрегация түрінің үйлеспеуі. Кейбір коммутаторлар 802.1AX стандартын қолдамайды, бірақ байланыс агрегациясын статикалық түрде конфигурациялау мүмкіндігін ұсынады. Сондықтан, бірдей статикалық конфигурацияланған коммутаторлар арасындағы байланыс агрегациясы жұмыс істесе, статикалық конфигурацияланған коммутатор мен LACP-ге конфигурацияланған құрылғы арасындағы байланыс агрегациясы сәтсіз аяқталады.
Эфир желісі
Ethernet интерфейстерінде арналарды біріктіру үшін Ethernet коммутаторының және хост компьютердің операциялық жүйесінің бірлескен жұмысы қажет, олар фреймдерді желілік интерфейстер арқылы RAID 0 массивіндегідей I/O дисктерге жолақты түрде бөліп жіберуі тиіс. Осы себепті, арна байланысы туралы әңгімелерде арзан түйіндердің үлкен массиві (RAIN) немесе тәуелсіз желілік интерфейстердің үлкен массиві туралы да айтылады.
Модемдер
Аналогты модемдерде, бірнеше қоңырау шалу арналары POTS желісі арқылы біріктірілуі мүмкін. Мұндай біріктірілген қосылымдар арқылы берілетін деректердің жылдамдығы, сілтемелердің жалпы өткізу қабілетіне жақындауы мүмкін, қарапайым жүктеме теңгерілеу схемаларымен салыстырғанда, олар тек шығыс желілік қосылымдарды сілтемелерге бөліп жібереді.
DSL
Дәл осылай, бірнеше DSL желілерін біріктіру арқылы жоғары өткізу қабілетіне қол жеткізуге болады; Ұлыбританияда ADSL кейде, мысалы, 512 кбит/с жүктеу жылдамдығын және 4 мегабит/с қабылдау жылдамдығын қамтамасыз ету үшін біріктіріледі, егер тек 2 мегабит/с жылдамдыққа қол жеткізу мүмкіндігі болса.
DOCSIS (Қосымша)
DOCSIS 3.0 және 3.1 кабельді теледидар жүйелері арқылы деректерді беру стандарттарына сәйкес, бірнеше арнаны біріктіру мүмкін. DOCSIS 3.0 бойынша, 32 төменгі және 8 жоғары ағынды арнаны біріктіруге болады. Олардың ені әдетте 6 немесе 8 МГц құрайды. DOCSIS 3.1 субтасымалдаушылар деңгейінде және ірі логикалық арналарда агрегацияны қамтитын күрделірек схемаларды анықтайды.
Wi-Fi желісі
802.11 (Wi Fi) бойынша Super G технологиясында арналарды біріктіру қолданылады, ол 108 Мбит/с деп аталады. Ол стандартты 802.11g екі арнасын біріктіреді, әрбір арна үшін 54 Мбит/с деректерді жіберу жылдамдығына ие. IEEE 802.11n стандартында 40 МГц ені бар режим қарастырылған. Бұл арналарды біріктіру емес, ескі 20 МГц арна енінің екі еселенгені, яғни екі жақын 20 МГц жиілік диапазонын пайдалану. Бұл бір 20 МГц арнадан PHY деректерді жіберу жылдамдығын тікелей екі есеге арттыруға мүмкіндік береді.