Сыртқы маршруттау алгоритмі
Сыртқы маршруттау хаттамасына BGP (Border Gateway Protocol) жатқызуға болады. Казіргі кезде төртінші версиясы қолданылады, ал қалғандары ескірген әдіске жатады. Хаттама классыз адрестеуді қажет етеді.
Хаттама автономды жүйеде транспортты деңгейдің функцияларын атқарады, ол (TCP, порт 179) деп беріледі.
Жоғарыда айтылып кеткендей автономды жүйе (Autonomous System, AS) барлық желілердің қосындысы болып табылады, яғни бір ережеге байланысты маршрутизаторлардың маршруттау жолы болып табылады. Әрбір автономды жүйенің өз нөмірі бар. Оның өндірістегі өз нөмірі бар Internet Assigned Numbers Authority (IANA). Сол фирма немесе өндіріс 16 – битті комбинацияны, яғни 1 ден 65535 – ке дейінгі сандар Оның ішінде 64512 ден 65535 – ке дейінгі аралық жиіліктік қолдануларда резервтелген.
BGP-де жұмыс істейтін маршрутизаторлар кез – келген желінің күйі туралы мәлімет жібереді де жолдар атрибутын таңдай алады. Бұл атрибуттар автономды жүйенің барлық түрлері қосылған. Сонымен қатар келесі автономды жүйенің IP-адреса де көрсетіледі. BGP хаттамасының маршруттауы тек автономды жүйе негізінде ғана ережелерді сақтай алады. Нәтижесінде осы хаттама негізінде жұмыс істейтін маршрутизатор көршілес автономды жүйеге тек өзі қолданған жолдарды ғана бере алады.
Мысалы, бізде бірнеше автономды жүйе болсын (1.3 сурет).
1.3 сурет – Бірнеше автономды жүйе
306 автономды жүйеден 311 – шы автономды жүйеге ақпаратты жіберу үшін бірнеше жолдар варианттары бар. Олар:
- 306-307-308-311;
- 306-307-310-311;
- 306-309-310-311;
- 306-309-310-307-308-311.
306 – шы автономды жүйе бұл варианттардың барлығын көрмейді, 311- ші маршрутке дейінгі арақашықтықты ғана көруге мүмкіндігі бар. Мысалы, 307 маршрутизатор үшін ең жақсы маршрут ол 307-308-311. 306 – шы автономды жүйе 307 ден көмек сұраса, онда оны тек 307-308-311көре алады яғни трафик жібере алады. Осындай маршруттау әдісі «бірте - бірте» («шаг за шагом») әдісі болып табылады.
Автономды жүйеде қолданылатын хаттама екіге бөлінеді:
а) IBGP (Internal BGP) – егер бір автономды жүйе ішінде;
б) EBGP (External BGP) егер әр түрлі автономды жүйеде болса.
Оpen хабарламасын жібере отырып, BGP хаттамасының , TCP-қосылуларын жүзеге асырады. Бұл хабарлама keepalive хабарламасымен расталуы керек. Содан кейін «қарым – қатынас» қосылулары 60 секунд уақытта keepalive хабарламасы периодты таратылады.
Маршруттау кестесінде ең жақсы маршруттармен байланысу үшін керек команда. Әрі қарай әрбір маршрутизатор осы маршруттарды жинақтап BGP топологиясындағы мәліметтер базасына енгізеді. Жақсы маршруттау әрбір маршруттау кестесінен таңдалынып алынады. Сыртқы BGP маршруты әкімшілік арақашықтығы - 20 ал ішкі 200.
Маршруттау кестесі құрастырылғаннан кейін маршрутизаторлар тек желідегі жаңартылған хабарлар (Update) туралы ғана мәлімет береді. Осылайша маршрутизаторлар басқа қызметтік хабарлар (notification messages) туралы ақпарат жібереді. BGP хаттамасын мынандай жағдайларда қолданылады:
- автономды жүйе транзитті болып табылады, өйткені басқа автономды жүйе үшін басқа да дестелер қолжетімді болу керек;
- автономды жүйе бірнеше автономды жүйелерге қосылған;
- кіріс және шығыс трафиктер үшін жолды таңдауда оңай басқарылатын болуы керек.
BGP хаттамасын мынандай жағдайларда қолдануға болмайды:
- Интернет немесе басқа автономды жүйеге тек бір ғана қосылулар болғанда;
- BGP маршрутизациясын қолданғанда ресурстардың жеткіліксіз болуы;
- провайдердің маршруттау политикасы қолданылатын автономды жүйедегі маршруттаумен тең болған жағдайда.
Шекаралы маршруттау хаттамасы (BGP — Border Gateway Protocol) – бұл автономды жүйелердің маршруттау хаттамасы болып табылады [21, 41]. Ол векторлық маршруттау хаттамасы негізінде қолданыс тапқан.
1.7 Жіберуді басқару хаттамасы (TCP – Transmission Control Protocol)
Көліктік деңгейдің қолданбаларға көрсететін толық қызметін қамтамасыз ететін хаттама болып табылады. TCP — ағынның нағыз көліктік хаттамасы. Ол логикалық қосылуды тағайындайтын дуплексттік байланыс режиміне бағытталған. Ол үшін әр жіберілетін пакет реттік нөмірмен қамтамасыз етіледі, және оның дұрыс қабылдануын қабылдаушы жақ мақұлдауы керек. Осы жағдайда «ағын» термині мынаны білдіреді: екі жақтағы хабарлар жіберілуден бұрын алдымен қосылу орнатылады. Протокол TCP хаттамасының кодасы 6 (оналтылық кодада – 0x06) және ол ақпаратты жіберудің кепіліділігі ретінде қолданылады.
Желілік деңгейде (анығырақ айтқанда, желіаралық деңгейде) TCP/IP желіаралық қатынастарды қамтамасыз ететін (IP) хаттаманы қолдайды, ал ол өз құрамында төрт хаттама ұстайды: адресті анықтау хаттамасы (ARP — Address Resolution Protocol), және орналасуы бойынша желілік адресті анықтау хаттамасы (RARP– Reserve Address Resolution Protocol), Internet басқару хабарларының хаттамасы (ICMP — Internet Control Message Protocol) және топтарды басқарудың желіаралық хаттамасы (IGMP – Internet Group Message Protocol). Осы аталған деңгейде маршруттау хаттамалары қолданылады: маршруттық ақпараттар алмастыру хаттамасы (RIP — Routing Information Protocol), «қысқа жолды бірінші ашу» (OSPF — Open Shortest Path First), маршруттық шекаралық хаттамасы (BGP — Border Gateway Protocol).
Желіаралық қатынастарды қамтамасыз ететін (IP) хаттамасы — TCP/IP хаттамалары пайдаланатын жіберу механизмі. Бұл дейтограмманы жеткізетін бірақ қосылу орындалмаған аса сенімді емес қызмет түрі, бірақ «жіберу күші барынша көп» (best-effort).
Мұндағы «жіберу күші барынша көп» термині мынаны білдіреді: ақпаратты қажетті орнына жеткізу үшін бүкіл бар мүмкіндіктер пайдаланылады, бірақ IP ешқандай қатені тексермейді де оны сүзгіден өткізбейді. IP негізгі деңгейлерде аса сенімді емес, ол сервис деңгейіне кепілдік бере алмайды [7].
1.8 Нағыз уақыт масштабында жұмыс істейтін көлікттік хаттама (Real-time Transport Protocol — RTP)
Бұл хаттама нағыз уақыт масштабында жұмыс істейтін трафикті Интернетке ыңғайластыру үшін құрылған. RTP хаттамасында қатынау механизмі жоқ (циркулярлық шақыру, порт нөмірлері және тағы басқа); бұл хаттама UDP хаттамасымен бірге қолданылуы керек. RTP хаттамасы TCP/IP және UDP хаттамалары стектері мен қолданба бағдарламаларды арасында болады. RTP хаттамасының негізгі жетістігі — уақыт таңбасын, тізбектелген нөмірлеуді немесе араластыруды қамтамасыз ететін механизмді енгізген. Жолдардың маршрутты векторы 1.3 кестеде көрсетілген.
1.3 кесте – Жолдардың маршрутты векторы
Желі | Келесі маршрутизатор | Жол |
N01 | R01 | AS14,AS23, AS67 |
N02 | R05 | AS22,AS67, AS05, AS89 |
N03 | R06 | AS67,AS89, AS09, AS34 |
N04 | R12 | AS62,AS02, AS09 |
1.8.1 Жолдардың маршрутты векторының хабарламалары. Автономдышекарашы маршрутизаторолдардың тиімді маршруты көмегімен дестелерді тарата алады.
Осындай сенімді таратуларда көмекке келетін RIP және OSPF хаттамалары болып табылады.
Әрбір мартшрутизатор мәліметті таратпас бұрын жоллың бос немесе бос еместігін шекрашы маршутизатор көмегімен таңдай алады. Осы процесті мысал түрінде қарастырайық (1.4 сурет).
1.4 суретте Интернет желісінде төрт автономды жүйеден тұратынын көріп тұрмыз. R1 маршрутизаторы жолдар векторының хабарламасын және N1 жетістігін көрсетеді де маршруттау кестесін құрады. Нәтижесінде автономды жүйеге нақты жолды енгізеді. Таңдап алынған жол арқылы R2 маршрутизаторына содан кейін тура осындай әдіспен R3 маршрутизаторына хабар жібере алады. Хабарды алған R3 маршрутизатор өзінің маршруттау кестесін жаңалайды. Осы процестен кейін R4 маршрутизаторына маршруттау кестесін жібереді.
1.4 сурет – Жолдар векторының қалыптасу принциптері
Өрмектен құтылу үшін ең тиімді әдіс ол маршруттау векторы болып табылады. Маршрутизатор хабарды алғаннан кейін оның автономды жүйесінде жолдардың тізімі бар ма соны тексереді. Егер тізімде бар болса, онда өрмектің пайда болу ықтималдығы төмендейді.
Маршрутизации политикасы. Маршрутизация политикасы өте қарапайым, себебі ол жолдар векторын қолданады. Маршрутизатор хабарды қабылдағанда ол жолды тексереді. Егер тізімдегі автономды жүйе марщрутизатордың политикасымен сәйкес келмесе, онда ол осы жолмен соңғы торапты қабылдамайды. Маршрутизатор өзінің маршрутизация кестесін өңдемей – ақ өз тораптарына ақпарат жібермейді. Бұл дегеніміз маршруттау кестесінде және маршруттау әдісінде ең қысқа жолдың және минималды метриканы қажет етпеуі деп түсіну керек. Себебі, әкімшілік маршруттаудың көмегіне жүгінеді.
Жолдар атрибуттары. Жоғарыдағы айтылғандарды ескерсек жол автономды жүйе тізімі ретінде қарастырамыз, бірақ шын мәнінде ол ол атрибуттар тізімі.
Атрибуттар тізімі қабылдаушы маршрутизаторға қандай шешім қабылдау керектігіне шешім қабылдайды.
Атрибуттар екі категорияға бөлінеді: бекітілген (закрепленный) (well-know) және опциональды.
Бекітілген атрибут — бір, әрбір BGP-маршрутизатор айқындау қажет. Опциональды атрибут — бір, которую не надо распознавать каждому BGP-маршрутизатордың айқындауы қажет емес.
Бекітілген атрибуттың өзі екі категорияға бөлінеді: міндетті атрибут және қарасты (усмотрению). BGP дестесінің тақырыбының мысалы 1.5 суретте көрсетілген.
1.5 сурет – BGP дестесінің тақырыбының ұзындығы
1.5 суреттегі белгілеулер:
- маркер бұл 4-байттан тұртаын өріс;
- ұзындық 2 байттан тұрады да хабардың барлық ұзындығын басымен қоса алғанда 2 байтқа тең;
- типі 1 байт ол десте биті. Оның төрт типі бар 1 ден 4 – ке дейін.
Дестелер типі.BGP хабардың төрт типі белгілі: Олар ашық, жаңарту, кезекші, белгі.
"Ашық" хабарлар. Маршрутизаторлардың жағдайы туралы ақпартты алу үшін BGP хаттамасы TCP қосылуын ұйымдастырады. Осы қосылулар ашық деп аталады. "Ашық" пішімделіуі 1.6 суретте көрсетілген.
1.6 сурет – Ашық хабарлар
"Ашық" өрісі төменде көрсетілген:
- нұсқа – BGP нұсқасын анықтайтын пішімі 1 байт;
- қолданыстағы нұсқасы — 4;
- менің автономды жүйем. Бұл өріс 2 байт, ол автономды жүйенің нөмірін анықтайды.
- ұстап тұру уақыты. Бұл өріс 2 байт, максималды секундтардың саны. Егер маршрутизатор бірде бір хабар алмаса, онда ол екінші жақ істен шықты деп ойлайды. Жаңартылған хабарлама пішімі 1.7 суретте көрсетілген.
1.7 сурет – Хабарламаны жаңарту
Хабарламаны жаңарту бөлігі келесідей болады:
- маршруттауды анықтау ұзындығы. Ол өзінен кейінгі өрістің ұзындығын білу үшін қажет мән;
- берілген маршрут. Хабарды тарату үшін белгілі бір қысқа жолды таңдап алу. Таңдалынған жол резервте болады;
- жолдар атрибутының ұзындығы. Бұл өріс 2 байт, ол келесі дестенің өрісінің ұзындығын білдіреді;
- жолдар атрибуты –бұл желідегі маршруттың жолын көрсетумен шектеледі.
- желілік деңгейдегі ақпараттың жақтамасы. Бұл желінің өрісін анықтап хабардың адресін көрсетуінде. Оның ұзындығы IP-адрес префиксі және өріс ұзындығын анықтайды. Префикс ол желілік адрестің барлық бөлігін алады. Мысалы, 153.18.7.0/24.
Префикс 153.18.7, префикстың ұзындығы – 24 битке тең. Бұл BGP4 – тің CIDR (Classes InterDomain Routing – классыз доменді маршрутизациясын қолданады).
Кезекші хабар. Маршрутизатор (BGP тілінде бірдей – peers деген атауға ие), себебі ол жерде де BGP-хаттамасы қолданылады да көршілес маршрутизаторлармен ұстап тұру уақыты аяқталғанға дейін хабарлар алмаса алады. 3 типті хабарлар 1.6 суретте көрсетілгендей тек ортақ бастан (заголовок) тұрады.
Хабардың жетуі әрқашан да қателер табылған жағдайда және маршрутизатор өз жұмысын аяқтаған кезде беріледі. Ол хабардың пішімі 1.8 суретте көрсетілген.
1.8 сурет –Хабардың жетуі
Қате коды ол 1 байттан тұрады және қатенің категориясын анықтайды.
Кіші қате. 1 байт және қатенің типін анықтайды. Қателер туралы мәлімет. Ол қателер туралы нақты ақпарат береді. Яғни қатенің орнын, қай тораптан келенін т.с.с.
BGP TCP-сегменттеріне инкапсуляцияланып, 179 портқа бекітіледі. Бұл дегеніміз қатені бақылаудың және ағынды басқарудың керегі жоқ екенін көрсетеді. Когда TCP-қосылуы ашылғанда хабар алмасу процесі басталып, хабар жетті командасы келмейінше қосылу режимінде болады. Осы бөліну кодтары 1.3 кестеде көрсетілген.
1.3 кесте – Қате кодтары
Қате коды | Кіші код қателіктерді көрсету | Кіші код қателіктерді көрсету |
Хабар тақырыбының (заголовок) қателігі | Негізігі үш кіші код қателіктерді көрсетуге болады:синхронизациялар(1), хабардың нашар ұзындығы (2), (3) | |
Хабарды ашудағы қателіктер | 6 түрлі кіші кодтар бар: қолдау көрсетілмейтін нүсқалар (1), тікелей нашар АС (2), BGP нашар идентификатор (3), қолдау көрсетілмейтін мідеттелмейтін параметрлер (4), табу қателегі (5), қолайсыз уақытты ұстау(6) | |
Хабарды жаңарту қателігі | 6 түрлі кіші кодтар бар: қолдау көрсетілмейтін нүсқалар:плохо атрибуттердің қалыптасқан тізбегі(1), белгілі порттың қалыптасқан атрибуттері (3), атрибут флагының қателігі (5), атрибут ұзындығының қателігі (6), АС- маршрутизацияның жолы (7), келесі аймақтың дұрыс емес (8), ошибка міндетті емес атрибут (9), желінің жарамсыз өрісі (10), AS_PATH (11)нашар қалыптасқан | |
Ұстап тұру уақыты аяқталды | Ішкі код анықталмаған | |
Күйдің ақырғы саны | Это определенная процедурная ошибка. Подкод не определен. | |
Тоқтату | Кіші код анықталмаған |
1.7.2 Байланыс күйiнің хаттамасы OSPF. OSPF хаттамасы (Open Shortest Path First) жүзеге асырылған (ол 1991 жылда қабылданған) байланыс күйінің алгоритмі болып табылады және көптеген ерекшелiктерге ие болатын, үлкен гетерогендi желiлерде қолдануға бағытталған.
OSPF хаттамасы маршрут мәлiметтерінің алмасу хаттамаларын өзгертпей, сақтай отырып, IP желiлеріндегі маршрутты анықтайды.
Тiкелей байланысқан маршрутизаторлар "көршілер" деп аталады. Әрбiр маршрутизатор, өз пiкiрi бойынша, көршiнің халі туралы ақпаратты сақтайды. Маршрутизатор көршi маршрутизаторларға арқа сүйейдi және оларға тек олар дұрыс жұмыс істейтіндігіне сенімді болсы ғана, ақпараттың дестелерін жібереді. Көрші-маршрутизатор байланысының жағдайын білу үшін, олар жиі қысқа HELLO хабарламаларымен алмасады.
Байланыс күйi туралы ақпараттардың желi ішінде таратылуы үшiн маршрутизаторлар басқа хабарламалар түрімен алмасады. Мұндай хабарламалар router links advertisement – маршрутизатор байланыстары туралы (дәлірек айтқанда, байланыстардың күйi туралы) хабарлау деп аталады. OSPF – маршрутизаторлары тек өзінің байланыстар туралы хабарлауларымен ғана емес, бөтен хабарлаулармен де алмасады. Сөйтіп ол ең соңында желiнiң барлық байланыстарының күйі туралы ақпаратты алады. Бұл ақпарат байланыс желiсінiң графын құрастырады және барлық маршрутизаторлар үшін бірдей болады.
Маршрутизатор өз хабарлауында, көршiлер туралы мәлiметтерден басқа, өзі тiкелей байланысатын IP-желілерді атап өтеді. Сондықтан байланыс жел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 болып табылады [8].