OpenVPN distribúe o multicast a cada cliente, non aos subscritores
O servidor en espazo de usuario copia o paquete de grupo por cliente, non por subscritor. Presuposte a distribución, demóstraa con contadores de túnel e logo limita o deseño.
"Admite multicast" responde a unha pregunta de protocolo e deixa intacta a pregunta de capacidade. O que importa operativamente é cantas copias emite o servidor por un paquete de grupo e que túneles as transportan. Unha aplicación subscrita que recibe o fluxo só demostra que a entrega funciona nalgún sitio. Non demostra que os clientes non interesados se aforraron o ancho de banda.
Tres preguntas dentro dunha soa afirmación de función
A pertenza ao grupo pregunta se o receptor se uniu ao grupo. A entrega polo túnel pregunta se o paquete cruzou o túnel. A política de replicación pregunta cantas copias fixo o servidor e a quen. Unha declaración do provedor pode ser certa para a primeira e muda sobre a terceira, e aí é onde vive o custo.
Mantéñaas separadas cando dimensiones unha ligazón. Só a terceira pregunta fixa o orzamento de saída no lado do servidor.
Que fai o servidor en espazo de usuario cun paquete de grupo
No servidor tradicional en espazo de usuario de OpenVPN 2.6, un paquete de broadcast ou multicast que chega clasifícase na ruta de entrada TUN/TAP e entrégase á rutina de distribución de broadcast en lugar dunha busca por grupo. Esa rutina percorre as instancias de cliente, omite o emisor e calquera instancia detida, aplica a súa comprobación de VLAN onde hai unha configurada e encola unha copia para cada cliente restante. Ningún paso dese bucle consulta unha táboa de pertenza. Iso é replicación de estilo broadcast, e é todo o mecanismo.
Tráteo como unha propiedade desa ruta de código, non como unha lei universal. As rutas de datos aceleradas, outras implementacións e versións distintas poden comportarse doutro xeito, e nada disto converte TAP nun requisito nin nunha reparación.
Presuposte as copias antes de medir nada
Tome a taxa de carga útil e multiplíquea polo número de clientes elixibles. Un fluxo que envía un megabit por segundo a vinte clientes produce vinte megabits por segundo de carga útil que sae do servidor, antes de encapsulación, retransmisión e calquera sobrecarga por cliente. Esa aritmética é un orzamento, non unha medición do seu despregamento.
ip -s link show tun0Lea o contador de bytes transmitidos antes e despois dun intervalo fixo cun emisor coñecido activo. Divida polo intervalo e compare coa taxa de carga útil multiplicada polo número de clientes. Un número próximo á taxa dun só fluxo significa que a replicación está limitada; un número próximo á taxa multiplicada significa que cada cliente recibe unha copia.
O contador tamén inclúe o seu propio tráfico de túnel, así que manteña a xanela de proba curta e o host tranquilo polo demais. A precisión importa menos que a orde de magnitude, que é todo o que necesita para distinguir unha copia de vinte.
Unha proba con dous clientes que resolve a cuestión do alcance
Conecte un cliente que debería recibir o fluxo e un segundo que non. Inicie o emisor e observe os contadores de túnel do segundo cliente durante o mesmo intervalo. O crecemento no segundo cliente é proba directa dunha replicación ampla, diga o que diga a lista de funcións.
Filtre a captura ao enderezo do grupo para non ler tráfico non relacionado, e límitea á interface do túnel. Capturar a interface física nun host ocupado produce un ficheiro que ninguén pode interpretar e pode reter datos de usuario que non pretendía recoller.
Despois invirta os papeis. Se o resultado segue o receptor e non o grupo, está ante algo consciente da pertenza, e a suposición anterior era errónea ao seu favor.
Escoller un deseño limitado en lugar de retirar límites
Cando a distribución é demasiado ampla, a solución é un despregamento de distribución limitado e compatible, non borrar todos os controis que teña. As opcións inclúen achegar o punto de distribución aos receptores, usar un modelo de subscrición específico da fonte que leve a identidade da fonte ademais do grupo, ou dividir o fluxo para que os sitios non interesados nunca estean na mesma fronteira de distribución.
Manteña a identidade de fonte e grupo separada do simple feito de que un destino sexa multicast. Un receptor que recoñece o grupo pero non a fonte é un subscritor distinto dun que pediu un canal concreto. Mesturar ambos converte a planificación de capacidade posterior en conxecturas.
O modelo de canle multicast específico da fonte é a referencia para esa distinción. Escolla o deseño que escolla, anote o conxunto de pares elixibles, o dono da replicación e o contador que lerá a próxima vez; ese rexistro é o que converte unha sorpresa de ancho de banda nun custo coñecido.