Кіріспе
Көп тарату маршруттау протоколы
Протокол тәуелсіз көп тарату (PIM) – LAN, WAN немесе Интернет арқылы деректерді бір-көпке және көп-көпке таратуды қамтамасыз ететін Интернет-протокол (IP) желілері үшін көп тарату маршруттау протоколдарының отбасы. Ол протокол тәуелсіз деп аталады, өйткені PIM өзінің топологиясын анықтау механизмін қамтымайды, бірақ басқа маршруттау протоколдары ұсынған маршруттау ақпаратын пайдаланады. PIM нақты бірбіржолғы маршруттау протоколына тәуелді емес; ол желіде қолданылатын кез келген біржолғы маршруттау протоколын пайдалана алады. PIM өзінің маршруттау кестелерін құрамайды. PIM кері жол бойынша жіберу үшін біржолғы маршруттау кестесін пайдаланады. PIM-нің төрт түрі бар:
PIM сирек режим (PIM SM) әр топ үшін кездесу нүктесінде (RP) тамырланған бір бағытты ортақ ағаштарды нақты құрады және қалау бойынша әрбір көз үшін ең қысқа жол ағаштарын құрады. PIM SM әдетте кең аумақты пайдалану үшін жақсы масштабталады. PIM тығыз режим (PIM DM) тығыз көп тарату маршруттауын пайдаланады. Ол көп тарату трафигін кең аумаққа тарату арқылы ең қысқа жол ағаштарын жасайды, содан кейін қабылдағыштар жоқ ағаштардың тармақтарын қысқартады. PIM DM-ді жүзеге асыру оңай, бірақ әдетте масштабталу қасиеттері нашар. DVMRP – алғашқы көп тарату маршруттау протоколы. RFC 3973 қараңыз. Екі бағытты PIM (Bidir PIM) екі бағытты ағаштарды нақты құрады. Ол ешқашан ең қысқа жол ағашын құрмайды, сондықтан PIM SM-ге қарағанда соңғы нүктедегі кешігу болуы мүмкін, бірақ жақсы масштабталады, өйткені оған көздік ерекше жағдай қажет емес.
PIM Sparse Mode (PIM SM) explicitly builds unidirectional shared trees rooted at a rendezvous point (RP) per group, and optionally creates shortest path trees per source. PIM SM generally scales fairly well for wide area usage. PIM Dense Mode (PIM DM) uses dense multicast routing. It implicitly builds shortest path trees by flooding multicast traffic domain wide, and then pruning back branches of the tree where no receivers are present. PIM DM is straightforward to implement but generally has poor scaling properties. The first multicast routing protocol, DVMRP used dense mode multicast routing. See RFC 3973. Bidirectional PIM (Bidir PIM) explicitly builds shared bi directional trees. It never builds a shortest path tree, so may have longer end to end delays than PIM SM, but scales well because it needs no source specific state.
Нұсқалар
PIM-нің екі нұсқасы бар. Нұсқалар тікелей үйлесімді емес, бірақ бір желіде бірге жұмыс істей алады. Желілік жабдық екі нұсқаны да қолдай алады. PIMv2, PIMv1-ге қарағанда келесідей жақсартуларға ие: әр топ үшін бір ғана RP пайдаланылады. RP-ні іздеуді Bootstrap Router (BSR) жүзеге асырады. Топтар сиреп немесе тығыз режимде болуы мүмкін; интерфейстер де солай. Протоколдың икемділігі мен тиімділігі жалпы жақсартылған.
Көп тарату көздері
Деректер көзі алғаш рет топқа дерек жібергенде, оның белгіленген маршрутизаторы (DR) деректердің өзімен бірге капсуладанған тіркелу хабарламаларын Rendezvous Point (RP) -ке жібереді. Егер деректердің жылдамдығы жоғары болса, RP дереккөзге қатысты нақты қосылу/кесу хабарламаларын қайтарымға жіберуі мүмкін, ал дереккөздің дерек пакеттері нәтижедегі жіберу күйі бойынша RP-ге капсуласыз жетеді. Олар капсуладанған немесе түпнұсқа күйде келсе де, RP дереккөздің декапсуладанған дерек пакеттерін RP-ге орталықтанған тарату ағашы арқылы топ мүшелеріне жібереді. Егер деректер жылдамдығы талап етсе, жергілікті қабылдағыштары бар маршрутизаторлар белгілі бір дереккөз үшін ең қысқа жолмен тарату ағашына қосылып, осы дереккөздің пакеттерін ортақ RP-ге орталықтанған ағаштан кесіп тастауға болады. Төмен деректер жылдамдығы бар дереккөздер үшін RP-ге де, соңғы секіру маршрутизаторларына да дереккөзге арналған ең қысқа жол ағашына қосылу қажет емес, ал дерек пакеттері ортақ RP ағашы арқылы жеткізілуі мүмкін. Басқа маршрутизаторлар осы топтық пакеттерді алуға жазылғаннан кейін, RP осы көп тарату тобынан жазылуын тоқтатады, егер оған басқа маршрутизаторға немесе түйінге де пакеттерді жіберу қажет болмаса. Сонымен қатар, маршрутизаторлар кері жолды жіберуді пайдаланып, көп тарату пакеттерін алуды қалайтын маршрутизаторлар арасында пакеттерді жіберуде циклдар болмауын қамтамасыз етеді.
Тығыз режим
Тығыз режимдегі мультикаст – мультикаст абоненттеріне пакеттерді жіберу үшін ағаш құруға қолданылатын режимнің бірі. Бұл сирек режимге қарағанда альтернативті нұсқа. Тығыз режимдегі негізгі болжам – көп таратылатын пакет ағынының көп бөлігінде қабылдағыштардың болуы. Сирек режимде қабылдағыштардың саны салыстырмалы түрде аз болады. Тығыз режим олардың көпшілігі мультикаст пакеттерін қабылдауға тіркелген топтар үшін өте қолайлы, сондықтан көптеген маршрутизаторлар осы пакеттерді қабылдап, жіберуі керек (жоғары тығыздықтағы топтар). Бұл айырмашылық екі протоколдың бастапқы мінез-құлқы мен механизмдерінде көрінеді. Тығыз режим IP мультикаст маршруттауын басқару үшін салыстырмалы түрде қарапайым тәсілді қолданады. Көз бастапқыда тікелей қосылған әрбір маршрутизаторға хабарлама жібереді. Бұл көрші маршрутизаторлар деректерді өздерінің көршілеріне жібереді. Егер маршрутизатор осы топтың деректерін қабылдағысы келмесе (егер басқа PIM маршрутизаторлары болмаса және ешбір хост топқа қызығушылық танытпаса), ол өзінің қызығушылық танытпауын білдіру үшін Prune хабарламасын жібереді. Prune хабарламасын алғаннан кейін маршрутизатор өзінің күйін өзгертеді, осылайша ол осы пакеттерді сол интерфейстен жібермейді. Егер маршрутизатордағы барлық интерфейстер кесілсе, маршрутизатор да кесіледі. Cisco IOS-тің ескі нұсқаларында PIM DM барлық мультикаст трафигін 3 минут сайын қайта жіберетін. Бұл аз көлемді мультикаст үшін жарайды, бірақ жоғары өткізгіштік қабілеті бар мультикаст пакеттерінің ағыны үшін емес. Cisco IOS-тің жаңа нұсқалары 12.1(5)T нұсқасынан бастап PIM тығыз режимдегі күйді жаңарту деп аталатын жаңа мүмкіндікті қолдайды. Бұл мүмкіндік шығыс интерфейстердегі Prune күйін жаңарту үшін PIM күйін жаңарту хабарламаларын пайдаланады. Сонымен қатар, топологиялық өзгерістер тез анықталады. Әдепкі бойынша PIM күйін жаңарту хабарламалары әр 60 секунд сайын жіберіледі. Бұдан өзге, маршрутизаторлар кері жолды пайдалану арқылы мультикаст пакеттерін қабылдағысы келетін маршрутизаторлар арасында пакеттерді жіберуде циклдардың пайда болмауын қамтамасыз етеді. Егер дерек пакеті RPF емес интерфейс арқылы алынса, циклдарды болдырмау үшін механизм қажет. Егер RPF емес интерфейс LAN болса, Assert хабарламасы жіберіледі. Forwarder емес маршрутизаторлар, егер оларға мультикаст ағыны қажет болмаса, өздерінің RPF интерфейсіне Prune хабарламасын жібереді. Шығатын интерфейс тізімінде (OILIST) интерфейстердің болмауына байланысты ауысқан кезде тек бір Prune хабарламасы жіберіледі. LAN Prune қабылдағышы оған 3 секунд бойы әрекет етуді кейінге қалдырады, сонда егер басқа LAN маршрутизаторына әлі де мультикаст ағыны қажет болса, ол Prune хабарламасын күштен шығару (ауыстыру) үшін PIM Join хабарламасын жібере алады. ("Бұл маршрутизаторға ол қажет емес, бірақ маған әлі де керек!") Егер маршрутизатор Prune-ден бас тартса, кейіннен қабылдағыш IGMP хабарламасымен мультикаст ағынын сұраса, маршрутизатор Graft хабарламасын жібереді. Бұл, "Мына жерде маған көп ауқымды трансляция керек" деген сияқты.