OpenVPN го испраќа multicast до секој клиент, не до претплатниците
Серверот во корисничкиот простор копира групен пакет по клиент, не по претплатник. Пресметајте го распоредувањето, докажете го со бројачи на тунели и потоа ограничете го обемот на дизајнот.
"Поддржува multicast" одговара на прашање за протоколот и го остава прашањето за капацитетот недопрено. Оперативно важно е колку копии испраќа серверот за еден групен пакет и кои тунели ги носат. Една претплатена апликација што го прима текот докажува само дека испораката работи некаде. Таа не докажува дека незаинтересираните клиенти беа поштедени од пропусниот опсег.
Три прашања во една изјава за функција
Членството во група прашува дали примачот се приклучил на групата. Испораката низ тунел прашува дали пакетот воопшто го преминал тунелот. Политиката на репликација прашува колку копии направил серверот и на кого. Изјавата на добавувач може да биде точна за првото и тивка за третото, а токму таму живее трошокот.
Држете ги одвоени кога ја одредувате големината на врската. Само третото прашање го поставува буџетот за излезен сообраќај на страната на серверот.
Што прави серверот во корисничкиот простор со групен пакет
Во традиционалниот сервер во корисничкиот простор на OpenVPN 2.6, дојдовен broadcast или multicast пакет се класифицира на влезната патека TUN/TAP и се предава на рутината за broadcast распоредување наместо на пребарување по група. Таа рутина ги поминува инстанците на клиентите, го прескокнува испраќачот и секоја запрена инстанца, ја применува својата проверка на VLAN каде што е конфигурирана и става копија во редот за секој преостанат клиент. Ниту еден чекор во таа јамка не се консултира со табела за членство. Тоа е репликација во broadcast стил и тоа е целиот механизам.
Гледајте на ова како својство на таа кодна патека, а не како универзален закон. Забрзаните патеки на податоци, другите имплементации и различните верзии може да се однесуваат поинаку, и ништо од ова не прави TAP да биде барање или поправка.
Пресметајте ги копиите пред да измерите нешто
Земете ја брзината на корисниот товар и помножете ја со бројот на подобните клиенти. Тек што испраќа еден мегабит во секунда до дваесет клиенти создава дваесет мегабити во секунда корисен товар што го напушта серверот, пред инкапсулација, препраќање и какви било трошоци по клиент. Таа аритметика е буџет, а не мерење на вашето распоредување.
ip -s link show tun0Прочитајте го бројачот на испратени бајти пред и по фиксен интервал со еден познат активен испраќач. Поделете со интервалот и споредете со брзината на корисниот товар помножена со бројот на клиенти. Број близу до брзината на еден тек значи дека репликацијата е ограничена; број близу до помножената брзина значи дека секој клиент прима копија.
Бројачот вклучува и сопствен сообраќај на тунелот, затоа држете го тест-прозорецот краток, а домаќинот инаку тивок. Прецизноста е помалку важна од редот на големината, и тоа е сето она што ви треба за да разликувате една копија од дваесет.
Тест со два клиенти што го решава прашањето за обемот
Поврзете еден клиент што треба да го прима текот и втор што не треба. Стартувајте го испраќачот, потоа следете ги бројачите на тунелот на вториот клиент во истиот интервал. Растот кај вториот клиент е директен доказ за широко реплицирање, што и да кажеше списокот со функции.
Филтрирајте го снимањето на адресата на групата за да не читате неврзан сообраќај, и ограничете го на интерфејсот на тунелот. Снимањето на физичкиот интерфејс на зафатен домаќин создава датотека што никој не може да ја протолкува и може да задржи кориснички податоци што не сте имале намера да ги собирате.
Потоа заменете ги улогите. Ако резултатот го следи примачот, а не групата, гледате нешто што е свесно за членството, и претходната претпоставка беше погрешна во ваша корист.
Избор на ограничен дизајн наместо отстранување на ограничувањата
Кога распоредувањето е прешироко, поправката е поддржан ограничен распоред за дистрибуција, а не бришење на секоја контрола што ја имате. Опциите вклучуваат приближување на дистрибутивната точка до примачите, користење модел на претплата специфичен за изворот што ја носи идентитетот на изворот заедно со групата, или разделување на текот така што незаинтересираните локации никогаш не седат на иста дистрибутивна граница.
Држете го идентитетот на изворот и групата одвоен од голиот факт дека одредиштето е multicast. Примач што ја препознава групата, но не и изворот, е различен претплатник од оној што побарал конкретен канал. Мешањето на двете го прави подоцнежното планирање на капацитетот погодување.
Моделот на multicast канал специфичен за изворот е референцата за таа разлика. Каков и дизајн да изберете, запишете го множеството подобни партнери, сопственикот на репликацијата и бројачот што ќе го читате следниот пат; токму тој запис ја претвора изненадувањето со пропусниот опсег во познат трошок.