Кіріспе

Маршруттау протоколдарының класы

Дерек желілеріндегі қашықтық векторы маршруттау протоколы дерек пакеттері үшін ең жақсы маршрутты қашықтық негізінде анықтайды. Қашықтық векторы маршруттау протоколдары қашықтықты пакеттің өтуі керек маршрутизаторлар санымен өлшейді; әр маршрутизатор бір секіріс ретінде есептеледі. Кейбір қашықтық векторы протоколдары желілік кешігу мен белгілі бір маршруттағы трафикке әсер ететін басқа факторларды да ескереді. Желідегі ең жақсы маршрутты анықтау үшін қашықтық векторы протоколын пайдаланатын маршрутизаторлар бір-бірімен ақпарат алмасады, әдетте маршрут кестелерін, сондай-ақ мақсатты желілерге дейінгі секіріс санын және мүмкін басқа трафик ақпаратын алмасады. Қашықтық векторы маршруттау протоколдары маршрутизатордың көршілеріне желі топологиясының өзгеруі туралы мерзімді түрде хабарлауын қажет етеді. Қашықтық векторы маршруттау протоколдары ең жақсы маршрутты есептеу үшін Беллман-Форд алгоритмін қолданады. Желідегі ең жақсы маршрутты есептеудің тағы бір тәсілі сілтеме құнына негізделген және сілтеме күйі маршруттау протоколдары арқылы іске асырылады. "Қашықтық векторы" термині протоколдың желідегі басқа түйіндерге дейінгі қашықтықтардың векторларын (массивтерді) өңдейтінін көрсетеді. Қашықтық векторы алгоритмі ARPANET-тің бастапқы маршруттау алгоритмі болды және маршруттау туралы ақпарат протоколы (RIP) арқылы жергілікті желілерде кеңінен қолданылды.

Әдістеме

Қашықтық векторы протоколын пайдаланатын маршрутизаторлар өздері мен түмені арасындағы қашықтықты анықтайды. Деректер желісі арқылы деректерді тасымалдайтын Интернет-протоколы үшін ең жақсы маршрут пакеттердің түмені желісіне жету үшін өтуі керек маршрутизаторлардың (хоптардың) санымен өлшенеді. Сонымен қатар, кейбір қашықтық векторы протоколдары желілік кешігу сияқты басқа да трафик туралы ақпаратты ескереді. Ең жақсы маршрутты анықтау үшін маршрутизаторлар көрші маршрутизаторлармен жүйелі түрде ақпарат алмасады, әдетте олардың маршрутизациялық кестесі, түмені желісіне дейінгі хоптар саны және мүмкін басқа да трафикке қатысты ақпарат. Қашықтық векторы протоколын іске асыратын маршрутизаторлар тек басқа маршрутизаторлар ұсынған ақпаратқа ғана сенеді және желі топологиясын бағаламайды. Қашықтық векторы протоколдары маршрутизаторлардың маршрутизациялық кестелерін жаңартады және пакетті келесі хоп арқылы қалай жіберу керектігін анықтайды, бұл маршрутизатордың шығыс интерфейсі және қабылдаушы маршрутизатордың интерфейсінің IP-адресі болып табылады. Қашықтық – белгілі бір түйінге жету құнының өлшемі. Кез келген екі түйін арасындағы ең төмен құнды маршрут – ең аз қашықтығы бар маршрут. Қашықтық векторы протоколында жаңартулар мерзімді түрде жүзеге асырылады, онда маршрутизатордың маршрутизациялық кестесінің толық немесе бір бөлігі сол қашықтық векторы маршрутизациялық протоколын пайдалануға конфигурацияланған барлық көршілеріне жіберіледі. Маршрутизатор бұл ақпаратты алғаннан кейін өзінің маршрутизациялық кестесін өзгерте алады және өзгерістер туралы көршілеріне хабарлай алады. Бұл процеске «әңгіме арқылы маршрутизациялау» деген ат берілген, себебі маршрутизаторлар басқа маршрутизаторлардан алған ақпаратқа сенеді және ақпараттың нақты жарамдылығы мен дұрыстығын анықтай алмайды. Тұрақсыздық пен қате маршрутизациялық ақпаратқа қарсы күресуге көмектесетін бірнеше мүмкіндіктер бар.

Қашықтық векторының маршрутталуын дамыту

Ең көне маршруттау протоколы, сондай-ақ ең көне қашықтық векторлы протоколы – маршруттау туралы ақпарат протоколының (RIPv1) 1-ші нұсқасы. RIPv1 1988 жылы ресми түрде стандартталды. Ол желідегі ең қысқа жолды тек қана секірулер негізінде анықтайды, яғни мақсатты желіге жету үшін өтуі керек маршрутизаторлардың саны бойынша. RIP – ішкі шлюз протоколы, сондықтан оны жергілікті желілерде (LAN) ішкі немесе шекаралық маршрутизаторларда қолдануға болады. RIPv1 іске асырылған маршрутизаторлар, әр 30 секунд сайын барлық қосылған желілерге RIPv1 пакеттерін тарату арқылы көрші маршрутизаторлармен маршрутизациялық кестелерін алмасады. RIPv1 үлкен желілерге қолайсыз, себебі ол секірулер санын 15-ке дейін шектейді. Бұл шектеу маршрутизациялық циклдарды болдырмау үшін енгізілді, бірақ сонымен қатар 15-тен астам маршрутизатор арқылы қосылған желілерге қол жеткізу мүмкін емес. Кең аймақтық желілерде (WAN) пайдалануға арналған қашықтық векторлы протокол – шекара шлюз протоколы (BGP). BGP – сыртқы шлюз протоколы, сондықтан ол Интернеттегі шекаралық және сыртқы маршрутизаторларда іске асырылады. Ол маршрутизаторлар арасында Трансмиссиялық бақылау протоколы (TCP) сессиясы арқылы ақпарат алмасады. BGP-ні іске асыратын маршрутизаторлар желідегі ең қысқа жолды секірулерден өзге де факторлардың жиынтығына сүйене отырып анықтайды. BGP-ді әкімшілер белгілі бір маршруттарға басымдық беру немесе олардан бас тарту үшін конфигурациялай алады. BGP-ні интернет-провайдерлер (ISP) және телекоммуникациялық компаниялар пайдаланады. Гибридтік деп сипатталатын қашықтық векторлы протоколдардың арасында, себебі ол сілтемелік күй маршруттау протоколдарымен байланысты маршруттау әдістерін қолданады, – меншік Enhanced Interior Gateway Routing Protocol (EIGRP) протоколы бар. Ол Cisco компаниясы 1980 жылдары әзірлеген, және Open Shortest Path First (OSPF) протоколына қарағанда жақсырақ конвергенцияны қамтамасыз ету және маршрутизаторлар арасындағы желілік трафикті азайту мақсатымен жасалған. Қашықтық векторлы маршруттау протоколының тағы бір мысалы – Babel.

Сансыздыққа дейін санау

Беллман-Форд алгоритмі маршруттандыру циклдарының пайда болуына кедергі келтірмейді және шексіз санау мәселесінен зардап шегеді. Шексіз санау мәселесінің түйіні мынада: егер А, Б-ға өзінде бір жолы бар екенін айтса, Б жолдың ішінде өзінің бар екенін білудің жолы болмайды. Мәселені түсіну үшін A–B–C–D–E–F сияқты байланысқан кіші желіні көзге елестетіңіз, ал маршрутизаторлар арасындағы метрика "секірулер саны" болсын. Енді А желіден ажыратылды делік. Векторды жаңарту процесінде Б, А-ға дейінгі маршруттың бұрынғы 1 қашықтықта болған жолдың енді қолжетімсіз екенін байқайды – Б, А-дан векторлық жаңартуды алмайды. Мәселе мынада, Б сондай-ақ С-ден жаңарту алады, ал С әлі де А-ның ажыратылғанын білмейді – сондықтан ол Б-ға А-ның С-ден екі секіру қашықтықта екенін (С-ден Б-ға дейін) айтады. Б, С-ден А-ға дейінгі жол өзінен (Б) өтетінін білмейтіндіктен, кестесін "B-ден A-ға = 2 + 1" жаңа мәнімен жаңартады. Кейін Б жаңартуды С-ке жібереді және А-ға Б арқылы жетуге болатындықтан (С-нің көзқарасы бойынша), С кестесін "С-ден A-ға = 3 + 1" деп жаңартуға шешім қабылдайды. Бұл желіде баяу таралады, содан кейін шексіздікке жетеді (осы жағдайда алгоритм Беллман-Фордтың босаңсу қасиетіне байланысты өзін-өзі түзетуге қабілетті).

Ауысу жолдары мен шешімдер

RIP циклдардың пайда болу мүмкіндігін азайту үшін "көрініс бөлігі" және "улы кері" техникаларын қолданады, ал "саны шексіз" мәселесіне қарсы тұру үшін максималды секіріс санын пайдаланады. Бұл шаралар кейбір жағдайларда маршруттау циклдарын болдырмаса да, барлық жағдайларда емес. Маршрутты қайтарып алғаннан кейін бірнеше минут бойы маршрут жаңартуларын қабылдаудан бас тарту (күту уақыты) дерлік барлық жағдайларда циклдың пайда болуын болдырмайды, бірақ конвергенция уақытын едәуір ұзартады. Соңғы кезде бірнеше циклсыз қашықтық векторлық протоколдар әзірленді – EIGRP, DSDV және Babel олардың ішіндегі ең танымалдары. Бұлар барлық жағдайларда циклдың пайда болуын болдырмайды, бірақ күрделілігі жоғары, ал OSPF сияқты сілтемелік күй маршруттау протоколдарының сәттілігі олардың енгізілуін баяулатты.