Маршруттау құраушылары
Маршруттау негіздері және IP-маршруттау
Маршруттау 2 негізгі құраушыдан тұрады:
- маршруттаудың оптимальді тракттарын анықтау;
- коммутация.
Бағытты анықтау. Бағытты анықтау түрлі көрстекіштер (бөлек айнымалы бойынша алгоримдік есептеулерден нәтиже шығаратын өлшемдер – мысалы, бағыт ұзындығы) немесе көрсеткіштер үйлесіміне негізделуі мүмкін. Маршруттаудың бағдарламалық алгоритмдерін жүзеге асыру арқылы жеткізілу нүктесіне дейінгі ең тиімді бағыттарды анықтау үшін бағыт көрсеткіштерін есептеп шығарады.
Бағытты анықтау үдерісін жеңілдету үшін маршруттау алгоритмдері инициализацияланып, бағыттық ақпарат сақтаулы тұрған маршруттау кестелерін қолдайды. Бағыттық ақпарат пайдаланылатын маршруттау алгоритміне байланысты өзгеріп отырады.
Маршруттау алгоритмдері бағыттық кестелерді қандай да бір ақпарат жиынтығымен толтырып отырады. «Жеткізілу нүктесі\келесі таралым» байланысы маршрутизаторға берілген жеткізілу нүктесінің дестені ақырғы жеткізілу нүктесіне жеткізу жолында «келесі таралымға», яғни белгілі бір маршрутизаторға жеткізілу жолымен анықталады. Келіп түскен дестені қабылдау кезінде маршрутизатор жеткізілу нүктесін тексеріп, бұл адресті келесі таралыммен байланыстыруға тырысады. 1.1-кестеде «жеткізілу нүктесі/келесі таралым» бағыттық кестесінің мысалы келтірілген.
1.1 кесте – Тағайындалған пункт/Next Hop-тың маршруттау кестесі
Желімен байланыс | Жіберу |
Node A | |
Node B | |
Node C | |
Node A | |
Node A | |
Node B | |
Node A |
Маршрут кестелерінде, сонымен қоса, басқа да ақпарат болуы мүмкін. "Көрсеткіштер" қандай да бір арна не тракттың қажеттілігі туралы ақпарат береді. Маршрутизаторлар тиімді бағыттарды анықтау үшін көрсеткіштерді салыстырады. Көрсеткіштер бір бірінен маршруттау алгоритмінің қолданылған сызбасына байланысты ажыратылады.
Маршрутизаторлар түрлі хабарламалар тарату арқылы бір-бірімен кеңесіп, өз бағыттық кестелерін толықтырып отырады. Мұндай хабарламалардың бір түрі «маршруттаудың жаңартылуы» туралы хабарлама болып табылады. Маршруттау жаңартылымдары әдетте бүкіл бағыттық кесте немесе оның бөлігін қамтиды. Бүкіл маршрутизаторлардан түсетін маршруттау жаңартылуы туралы ақпаратты талдап, олардың кез-келгені желі топологиясының толық суретін құра алады. Маршрутизаторлардың алмасатын басқа хабарламаларының мысалы ретінде «арнаның жағдайы туралы жарияландырулар» бола алады [1]. Арнаның жағдайы туралы жарияландырулар басқа маршрутизаторларға жіберуші арналардың жағдайлары туралы ақпарат береді. Арналық ақпаратты сонымен қоса желі топологиясының толық суретін құруға пайдалануға болады. Желі топологиясының ұғынықты болған сәтінен кейін маршрутизаторлар жеткізілу нүктелеріне деген тиімді бағыттарды анықтай алады.
Коммутация. Коммутация алгоритмдері негізінен маршруттау хаттамаларының көпшілігі үшін салыстырмалы түрде жеңіл болып табылады. Көбіне негізгі есептеуіш машина басқа негізгі есептеуіш машинаға десте жіберу қажеттілігін анықтайды. Белгілі бір тәсілмен маршрутизатор адресін алып, негізгі есептеуіш машина-жіберуші әдейі маршрутизатордың физикалық адресіне бағытталған дестені жібереді (МАС деңгейі), алайда негізгі есептеуіш машинаның жеткізілу нүктесінің хаттама адресі (желілік деңгей) де қоса жүреді.
Дестенің жеткізілу нүктесінің хаттама адресін тексерістен өткізген соң, маршрутизатор бұл дестені келесі маршрутизаторға қалай жіберу керек екендігін біле ме, жоқ па соны анықтайды. Екінші жағдайда (маршрутизатор бұл дестені қалай жіберу керек екенін білмейді) десте еленбейді. Бірінші жағдайда маршрутизатор дестені келесі маршрутизаторға жеткізілу нүктесінің физикалық адресін келесі маршрутизатордың физикалық адресіне алмастыру арқылы келесі ауысымдар бойынша жіберіп отырады.
Жоғарыда жіберуші мен ақырғы жеткізілу нүктесі арасындағы коммутация қарастырылған. Стандартизациялау бойынша Халықаралық Ұйым (ISO) иерархиялық терминология жасап шығарды, ол осы үдерісті суреттеуге өз көмегін тигізе алады. Егер осы терминологияны қолдансақ, желілер арасында дестелерді тасымалдай алмайтын желі құрылғылары ақырғы жүйелер деп аталады (IS). Аралық жүйелер ары қарай «маршруттау домендері» (ішкідомендік IS) көлемінде хабарланатын жүйелерге және маршруттау доменімен қоса басқа да маршруттау домендерінің ("доменаралық IS") көлемінде хабарлана алатын жүйелерге жіктеледі. Әдетте «маршруттау домені» - бұл ортақ әкімшілік басқару астындағы және әкімшілік басқарудың белгілі бір қағидалары бойынша реттелетін біріккен желінің бір бөлігі. Маршруттау домендері сонымен қатар "автономды жүйелер" (AS) деп аталады. Белгілі бір хаттамалар үшін маршруттау домендері қосымша "маршруттау бөлімшелеріне" жіктеле алады, алайда бөлімше ішіндегі және олардың арасындағы коммутация үшін сонымен қоса маршруттаудың доменішілік хаттамалары қолданылады.
Маршруттау алгоритмдері
Маршруттау алгоритмдерін бірнеше басты мінездемелерге сүйене отырып, ажыратуға болады. Біріншіден, нәтиже беруші маршруттау хаттамасының жұмысына алгоритмді жасақтаушы есептейтін нақты есептер әсер етеді. Екіншіден, маршруттау алгоритмдері әртүрлі және олардың әрқайсысы маршруттау желісі мен ресурстарына әртүрлі әсер етеді. Және, ең соңғысы, маршруттау алгоритмдері тиімді бағыттарды есептеп шығаруға әсер ететін түрлі көрсеткіштерді пайдаланады.
Тиімділік. Тиімділік жұмыс дайындығының ең ортақ мақсаты болып табылады. Ол маршруттау алгоритмінің «ең үздік» бағытын таңдай алу қабілеттілігін сипаттайды. Ең үздік бағыт есепті жүргізу кезінде қолданылатын осы көрсеткіштердің сипаттамалары мен «салмағына» байланысты болады. Мысалы, маршруттау алгоритмі бірнеше ауысымды біршама кешіктіріп жібере алар еді, бірақ есептегенде кешіктіру «салмағы» өте маңызды деп саналуы мүмкін. Әрине, маршруттау хаттамалары өз көрсеткіштерінің есеп алгоритмдерін қатаң түрде анықтаулары қажет.
Жеңілдік пен аз өндірістік емес шығындар. Маршруттау алгоритмдері жеңіл болып жасақталады. Басқаша айтқанда, маршруттау алгоритмі өзінің функционалдық мүмкіндіктерін бағдарламалық қамтамасыздандырудың және қолдану коэффициентінің минималды шығындарымен тиімді түрде көрсетуі қажет. Бұл тиімділік, әсіресе, маршруттау алгоритмін жүзеге асырушы бағдарламаның физикалық ресурстары шектелген компьютерде жұмыс істеу кезінде аса қажет болып табылады.
Тіршілікке бейімділік пен тұрақтылық. Маршруттау алгоритмдері тіршілікке бейім болуы қажет. Басқаша айтқанда, олар бірегей немесе алдын ала болжауға болмайтын жағдайлар кезінде, мысалы құралдардың істен шығуы, жоғары қысым түсіру жағдайлары және қате іске асырулар жағдайында олар өз қызметтерін нақты әрі дұрыс орындауы қажет. Маршрутизаторлар желінің тораптық нүктелерінде орналасатындығынан олардың істен шығуы едәуір қиындықтар шақыртуы мүмкін.
Маршруттау алгоритмдерінің ең үздіктері сынаққа төзімді, желінің түрлі жұмыс жағдайларына төзімді болып, өз сенімділігін дәлелдеген алгоритмдер болып табылады.
Шапшаң жинақылық. Маршруттау алгоритмдері тез жинақталуы керек. Жинақталу – бүкіл маршрутизаторлар арасындағы тиімді деген бағыт бойынша келісім. Желідегі кез-келген жағдай бағыттардың қайтарылған немесе жетімді болуына әсер етсе, маршрутизаторлар маршруттаудың жаңартылуы туралы хабарламалар таратады. Маршруттау жаңартылуы туралы хабарламалар тиімді бағыттардың қайта санағын жүргізе отырып, ақыры бүкіл маршрутизаторларды осы бағыттар бойынша келісімге келтіруге мәжбүрлеп, желіні аралайды. Баяу жинақталатын маршруттау алгоритмдері маршруттау түйіндерінің пайда болуына немесе желінің істен шығуына ықпал етеді.
Иілгіштік. Маршруттау алгоритмдері сонымен қатар иілгіш болуы қажет. Басқаша айтқанда, маршруттау алгоритмдері тез әрі нақты желідегі түрлі жағдайларға бейімделе алуы керек. Мысалы, желі сегменті қабылданбады делік. Көптеген маршруттау алгоритмдері осы қиындық туралы білген соң тез арада бүкіл бағыттар үшін осы сегмент әдетте пайдаланатын ең жақсы жол таңдайды. Маршруттау алгоритмдері олардың желінің өткізу жолағының өзгерістеріне, маршрутизаторға дейін жету кезегінің өлшемдеріне, желінің кешігу өлшемі мен басқа да айнымалыларға бағдарламалар бойынша арнайы бейімделуі мүмкін.
1.2.1 Алгоритм түрлері. Маршруттау алгоритмдерін келесідей топтауға болады:
- статикалық немесе динамикалық алгоритмдер;
- бір бағытты немесе көп бағытты алгоритмдер;
- бір деңгейлі немесе иерархиялық алгоритмдер;
- бас есептеу машинасында немесе маршрутизаторда интеллектпен болатын алгоритмдер;
- домен iшiндегi немесе домен аралық алгоритмдер;
- арналар күйi немесе қашықтықтың векторының алгоритмдері.
Статикалық маршруттау алгоритмдері тіпті алгоритм болу-болмауының өзі екіталай. Маршруттауға дейін маршруттаудың статикалық кестелерін тағайындау желі әкімшісі міндетінде. Егер желі әкімшісі оны өзгертпесе, ол өзгеріссіз қалады. Статикалық бағыттарды қолданатын алгоритмдерді жасақтау жеңіл, ол желі трафигі бірыңғай және желі сызбасы салыстырмалы түрде жеңіл болып табылатын ортада жұмыс жасайды.
Маршруттаудың статикалық жүйелері желідегі өзгерістерге әсер білдірмеу мүмкіндігінің себебінен, олар қазіргі ірі, үнемі өзгеріп отыратын желілер үшін қажет емес деп табылады. 1990 жылы басымдылық танытатын алгоритмдердің көпшілігі – динамикалық болып табылады.
Динамикалық маршруттау алгоритмдері нақты уақыт ауқымындағы өзгермелі жағдайларға бейімделеді. Олар бұны маршруттау жаңартылуы туралы түсетін хабарламалар көмегімен жасайды. Егер де хабарламада желіде өзгерістің орын алғаны жайлы айтылса, маршруттау бағдарламалары бағыттарды санап, маршруттауды түзеті туралы жаңа хабарламалар таратады. Мұндай хабарламалар желіні шолып, маршрутизаторларды өз алгоритмдерін жіберуге қайта ынталандырып, және осылайша маршруттау кестелерін өзгертуге себеп болады. Динамикалық маршруттау алгоритмдері реті келген жерде статикалық бағыттарды толықтыра алады. Мысалы, "соңғы жарияландыру маршрутизаторын" жасауға болады (яғни берілген бағыт бойынша жіберілмеген дестелердің барлығы таратылатын маршрутизатор). Мұндай маршрутизатор барлық хабарламалардың берілген жағдай бойынша өңделетінін кепілдендіре отырып, жіберілмеген дестелер қоймасының рөлін ойнайды.
Кейбір күрделі маршруттау хаттамалары көптеген бағыттарды бір жеткізілу нүктесіне даярлайды. Мұндай көп бағытты алгоритмдер трафиктің көп сандық түзулері бойынша мультиплексті таралымның орын алуына жағдай жасайды; бір бағытты алгоритмдер бұны жасай алмайды. Көп бағытты алгоритмдердің артықшылығы анық – олар едәуір көп өткізілу мүмкіндігі мен сенімділік қамтамасыз етеді.
Кейбір маршруттау алгоритмдері басқалары маршруттау иерархиясын пайдаланып жатқанда, жазық кеңістікті пайдаланады. Маршруттаудың бір деңгейлі жүйесінде бүкіл маршрутизаторлар бірімен бірін салыстырғанда тең. Иерархиялық маршруттау жүйесінде кейбір маршрутизаторлар маршруттау (backbone – базасы) негізін қалайды. Базалық емес маршрутизаторлардың дестелері базалық маршрутизаторларға көшіп, жеткізілу нүктесінің жалпы аймағына жеткенше солар арқылы өтеді. Осы сәттен бастап, олар соңғы базалық маршрутизатордан ақырғы жеткізілу нүктесіне дейін бір немесе бірнеше базалық емес маршрутизаторлар арқылы өтеді [1].
Маршруттау жүйелері көп жағдайда домен немесе автономды жүйелер (AS) не облыстар деп аталатын логикалық тораптар тобын құрайды. Иерархиялық жүйелерде қандай да бір доменнің маршрутизаторлары басқа доменнің маршрутизаторларымен ақылдаса алады, ал осы доменнің басқа маршрутизаторлары тек қана өз доменінің шегінде ғана осы байланысты ұстап тұра алады. Өте ірі желілерде қосымша иерархиялық деңгейлер болуы мүмкін. Ең жоғарғы иерархиялық деңгей маршрутизаторлары маршруттау базасын құрайды.
Иерархиялық маршруттаудың негізгі артықшылығы оның көптеген компаниялар ұйымын құруға еліктеу алуында, ал бұл олардың трафик сызбаларын өте жақсы қолдайды. Желілік байланыстың үлкен бөлігі шағын компаниялар (домендер) тобының шегінде құрылады. Ішкі домендік маршрутизаторлар өз көлемінде басқа маршрутизаторлар туралы ғана білу қажет, өйткені олардың маршруттау алгоритмдері жеңілдендірілген болуы мүмкін. Сәйкесінше, қолданылатын маршруттау алгоритміне тәуелді маршруттаудың жаңартылу трафигі де қысқартылуы мүмкін.
Иерархиялық маршруттаудың негiзгi артықшылығы ол көптеген серiктестiктердiң ұйымдастырылуын имитациялайды, демек, олардың трафиктерінiң сұлбасын өте жақсы қолдайтын болып табылады. Желілік байланыстың көпшілігі шағын серiктестiктер топтарының (домендер) шектерiнде орын алады. Домен iшiндегi маршрутизаторларға тек қана өз доменi шектерiндегi басқа маршрутизаторлар туралы бiлуге керек, сондықтан олардың маршруттау алгоритмдері қарапайымдылау болу мүмкін. Сәйкесiнше қолданылатын маршруттау алгоритміне тәуелдi болатын маршруттаудың жаңарту трафигі де кiшiрею мүмкін.
Маршруттаудың кейбiр алгоритмдері дереккөздiң түпкi түйiнi барлық маршрутты анықтайды деп ойлайды. Әдетте бұны дереккөзден болатын маршруттау деп атайды. Дереккөзден болатын маршруттау жүйелерiнде маршрутизаторлар жай ғана дестелерді тарату және сақтау құрылғылары ретінде ешбір ойлаусыз, келесі аялдамасына жөнелтіп жұмыс iстейдi.
Басқа алгоритмдер бас есептеу машиналары маршруттар туралы ештеңе бiлмейді деп ойлайды. Мұндай алгоритмдерді қолданғанда, маршрутизаторлар, өз есептеулеріне негiзделіп, бiрiккен желi арқылы маршрутты анықтайды. Жоғарыда қарастырылған бiрiншi жүйеде маршруттаудың интеллекті бас есептеу машинасында орналасқан. Ал қарастырылған екiншi жағдайда маршрутизаторлар маршруттау интеллектімен бөлінген.
Бас есептеу машинасында интеллекті бар маршруттау мен маршрутизатордағы интеллекті бар маршруттау арасында ымыраласу маршруттың оптималдығы мен трафиктiң өнiмсiз шығындарын салыстыру жолымен жетедi. Көбінесе, бас есептеу машинасындағы интеллекті бар жүйелер ең жақсы маршруттарды таңдайды, себебі десте жiберілгенге дейін қабылдаушы бекетiне дейінгі барлық мүмкiн болатын маршруттарды табады. Содан кейін олар берілген нақты жүйенiң ұтымдылығының анықтауына негізделіп, ең жақсы маршруттарды таңдайды. Дегенмен, барлық маршруттарды анықтау актісі iздестiрудiң айтарлықтай трафигін және уақыттың үлкен көлемiн жиi талап етедi.
Маршруттаудың кейбiр алгоритмдері тек қана домендердiң шектерiнде және кейбіреулері домендердiң шектерiнде де, олардың арасындағы да жұмыс iстейдi. Алгоритмдердің бұл екi түрлерiнiң табиғаты әр түрлi. Сондықтан домен iшiндегi маршруттауының ұтымды алгоритмі домен аралық маршруттаудың ұтымды алгоритм болуы мiндеттi емес.
Арна күйiнiң алгоритмдері маршрут мәлiметтерi ағындарын бiрiккен желiнiң барлық түйiндерiне бағыттайды. Бірақ, әрбiр маршрутизатор тек қана өз арналарының күйi сипаттайтын маршрут кестесiнiң бөлiгiн жiбередi. Қашықтықтың векторының алгоритмдері (Бэлман-Фордтың алгоритмдері ретінде белгiлi) тек қана өз көршiлерiне әрбiр маршрутизатордан өз маршрут кестесiнiң бөлiгiн немесе толығымен жiберудi талап етедi. Iс жүзiнде арналар күйiнiң алгоритмдері шағын түзетулердi барлық бағыттарға бағыттайды. Ал қашықтық векторының алгоритмдері iрiлеу түзетулердi тек қана көршi маршрутизаторларына жібереді.
Қашықтық векторының алгоритмдеріне қарағанда, арналар күйінің алгоритмдері ілмектің пайда болуына азырақ бейiмделген. Басқа жағынан қарастырғанда, арналар күйінің алгоритмдері қашықтық векторының алгоритмдеріне қарағанда күрделi есептеулермен сипатталады және үлкен процессорлық қуат пен жадыны талап етеді. Сол себепті, арналар күйiнiң алгоритмдерін iске асыру және қолдау қымбатырақ болады. Олардың айырмашылығына қарамастан, алгоритмнің екi түрі де әр түрлi жағдайларда жақсы жұмыс iстейдi.
1.2.2. Алгоритм көрсеткіштері (метрикалар). Маршрут кестелерінде коммутация бағдарламалары ең дұрыс маршрут таңдау үшін пайдаланатын ақпарат болады.
Маршруттау алгоритмдерінде көптеген әр түрлi көрсеткiштер қолданылады. Маршруттаудың күрделi алгоритмдері маршрутты таңдағанда көптеген көрсеткiштерге негiзделе алады және нәтижесінде бiр жеке көрсеткiш (гибридті) пайда болатындай оларды қиыстырады. Төменде маршруттау алгоритмдарында қолданылатын көрсеткiштер атап көрсетiлген:
- маршруттың ұзындығы. Маршруттың ұзындығы маршруттаудың жалпы көрсеткiшi болып табылады. Маршруттаудың кейбiр хаттамалары желiнiң администраторларына желiнiң әрбiр арнасына кез келген бағаларды тағайындауға мүмкiндiк бередi. Бұл жағдайда тракттiң ұзындығы әрбiр траверстеген арнамен байланысқан шығындардың сомасы болып табылады. Маршруттаудың басқа хаттамалары "жіберілу санын", яғни десте дереккөзден қабылдаушы бекетiне дейінгі жолдағы желiлердi бiрiктiретін барлық құрылғылардан (мысалы, маршрутизатор) өтетін өтулердi сипаттайтын көрсеткiшті анықтайды;
- сенiмдiлiк. Маршруттау алгоритмдерінің контекстіндегі сенiмдiлiк, желiнiң әрбiр арнасының сенiмдiлiгiне жатады. Желiнiң кейбiр арналары басқаларына қарағанда жиiрек істен шығуы мүмкін. Желiнiң кейбір арналарының ақаулары басқа арналардың ақауларына қарағанда тезірек немесе жеңiлірек жояды. Сенiмдiлiк бағасын тағайындағанда есептеуге сенiмдiлiктiң кез келген факторлары қабылдану мүмкін. Әдетте сенiмдiлiктiң бағалары желiнiң администраторларымен желiнiң арналарына белгiленедi және бұл кез келген цифрлық шамалар болады;
- кідіріс. Маршруттау кідірісі дегеніміз дестенің дереккөзден қабылдаушы бекетiне бiрiккен желi арқылы орын ауыстыруы үшiн қажеттi уақыт мерзiмi. Кідіріс көптеген факторларға тәуелді: желiнiң аралық арналарының өткiзу жолағын, дестенің таралу жолындағы әрбір маршрутизатор портындағы кезекті, желінің аралық арналарындағы асқын жүктелуді және дестені ауыстыруға қажетті физикалық арақашықтық. Себебі, мұнда бiрнеше маңызды айнымалылардың конгломерациясы орын алады. Бұл жерде кідіріс уақыты жалпы және пайдалы көрсеткiш болып табылады;
- өткiзу жолағы. Өткiзу жолағы қандай да бір арна трафигінiң қуатына жатады. Қалған көрсеткiштері тең болғанда, Ethernet 10 Mbps арнасы өткiзу жолағы 64 Кбит/с болатын кез келген жалға алынған сызығына қалаулы. Өткiзу жолағы максималды арнаның қол жетерлiк өткiзу қабiлеттiнiң бағасы жоғары болса да, өткізу жолағы үлкен арна арқылы өтетiн маршруттар азырақ жылдам әрекет ететiн арналар арқылы өтетін маршруттардан мiндеттi түрде жақсы болмауы мүмкін.