OpenVPN multicast-ты әр клиентке таратады, жазылушыларға емес
Пайдаланушы кеңістігіндегі сервер топ пакетін әр клиентке көшіреді, әр жазылушыға емес. Таралымды бюджеттеңіз, туннель санағыштарымен дәлелдеңіз, содан кейін дизайн ауқымын шектеңіз.
"Multicast қолдайды" протокол сұрағына жауап береді және сыйымдылық сұрағын тиіспеген күйде қалдырады. Операциялық тұрғыдан маңыздысы — сервер бір топ пакеті үшін қанша көшірме шығаратыны және оларды қандай туннельдер тасымалдайтыны. Ағынды қабылдайтын бір жазылған қосымша жеткізудің бір жерде жұмыс істейтінін ғана дәлелдейді. Ол қызығушылығы жоқ клиенттердің өткізу қабілетінен құтылғанын дәлелдемейді.
Бір мүмкіндік мәлімдемесінің ішіндегі үш сұрақ
Топ мүшелігі қабылдаушы топқа қосылды ма деп сұрайды. Туннель арқылы жеткізу пакет туннельден өтті ме деп сұрайды. Көшіру саясаты сервер қанша көшірме жасады және кімге деп сұрайды. Жеткізушінің мәлімдемесі біріншісіне қатысты ақиқат болып, үшіншісі туралы үнсіз қалуы мүмкін, шығын сол жерде жатыр.
Байланыс желісінің өлшемін анықтағанда оларды бөлек ұстаңыз. Сервер жағында шығыс бюджетін тек үшінші сұрақ белгілейді.
Пайдаланушы кеңістігіндегі сервер топ пакетімен не істейді
OpenVPN 2.6-ның дәстүрлі пайдаланушы кеңістігіндегі серверінде келген broadcast немесе multicast пакеті TUN/TAP кіріс жолында жіктеледі және топ бойынша іздеуге емес, broadcast тарату тәртібіне беріледі. Ол тәртіп клиент даналарын аралап өтеді, жіберушіні және кез келген тоқтатылған дананы өткізіп жібереді, VLAN конфигурацияланған жерде тексеруді қолданады және қалған әр клиентке көшірмені кезекке қояды. Ол циклдағы ешбір қадам мүшелік кестесіне жүгінбейді. Бұл broadcast үлгісіндегі көшіру, және бүкіл механизм осы.
Мұны сол код жолының қасиеті деп қараңыз, әмбебап заң деп емес. Жеделдетілген деректер жолдары, басқа іске асырулар және түрлі нұсқалар басқаша әрекет етуі мүмкін, және осылардың ешқайсысы TAP-ты талап немесе жөндеу етпейді.
Бірдеңені өлшеуден бұрын көшірмелерді бюджеттеңіз
Пайдалы жүктеме жылдамдығын алыңыз және оны сәйкес клиенттер санына көбейтіңіз. Секундына бір мегабитті жиырма клиентке жіберетін ағын секундына жиырма мегабит пайдалы жүктеме жасайды, ол серверден инкапсуляция, қайта жіберу және әр клиентке кез келген қосымша шығысқа дейін шығады. Бұл арифметика бюджет, сіздің орналастыруыңыздың өлшемі емес.
ip -s link show tun0Белгілі бір белсенді жіберушімен бекітілген аралыққа дейін және кейін жіберілген байт санағышын оқыңыз. Аралыққа бөліп, пайдалы жүктеме жылдамдығын клиент санына көбейткен мәнмен салыстырыңыз. Бір ағын жылдамдығына жақын сан көшіру шектеулі екенін білдіреді; көбейтілген жылдамдыққа жақын сан әр клиент көшірме алатынын білдіреді.
Санағыш сіздің туннель трафигіңізді де қамтиды, сондықтан сынақ терезесін қысқа, ал хостты басқа уақытта тыныш ұстаңыз. Дәлдік шама ретінен гөрі маңызды емес, және бір көшірмені жиырмадан ажырату үшін осының өзі жеткілікті.
Ауқым сұрағын шешетін екі клиенттік сынақ
Ағынды алуы тиіс бір клиентті және алмауы тиіс екіншісін қосыңыз. Жіберушіні қосыңыз, содан кейін сол аралық үшін екінші клиенттің туннель санағыштарын бақылаңыз. Екінші клиенттегі өсу кең көшірудің тікелей дәлелі, мүмкіндіктер тізімі не десе де.
Түсірілімді топ мекенжайына сүзіп, байланысы жоқ трафикті оқымаңыз, және оны туннель интерфейсімен шектеңіз. Бос емес хостта физикалық интерфейсті түсіру ешкім түсіндіре алмайтын файл жасайды және жинауды ойламаған пайдаланушы деректерін сақтауы мүмкін.
Содан кейін рөлдерді ауыстырыңыз. Егер нәтиже топты емес, қабылдаушыны ұстаса, сіз мүшелікті ескеретін нәрсені көріп отырсыз, ал бұрынғы болжам сіздің пайдаңызға қате болды.
Шектеулерді алып тастаудың орнына шектелген дизайн таңдау
Таралым тым кең болса, түзету — қолдау көрсетілген шектелген тарату тәртібі, өзіңізде бар барлық бақылауды жою емес. Нұсқаларға тарату нүктесін қабылдаушыларға жақындату, топпен бірге көз идентитетін тасымалдайтын көзге тән жазылу моделін қолдану немесе ағынды бөлу кіреді, осылайша қызығушылығы жоқ сайттар ешқашан бір тарату шекарасында отырмайды.
Көз бен топ идентитетін мақсаттың multicast екендігі туралы жалаң фактіден бөлек ұстаңыз. Топты танитын, бірақ көзді танымайтын қабылдаушы нақты арна сұраған жазылушыдан өзгеше жазылушы. Екеуін араластыру кейінгі сыйымдылық жоспарлауын болжамға айналдырады.
Көзге тән multicast арна моделі осы айырмашылықтың сілтемесі. Қандай дизайн таңдасаңыз да, сәйкес теңдестер жиынын, көшіру иесін және келесі жолы оқитын санағышты жазып қойыңыз; сол жазба өткізу қабілетінің тосынсыйын белгілі шығынға айналдырады.