OpenVPN multicast'i abonelere değil her istemciye dağıtır
Kullanıcı alanındaki sunucu grup paketini abone başına değil istemci başına kopyalar. Dağıtımı bütçeleyin, tünel sayaçlarıyla kanıtlayın ve ardından tasarımın kapsamını daraltın.
"Multicast destekler" bir protokol sorusunu yanıtlar ve kapasite sorusunu el sürmeden bırakır. Operasyonel olarak önemli olan, sunucunun bir grup paketi için kaç kopya gönderdiği ve bunları hangi tünellerin taşıdığıdır. Akışı alan tek bir abone uygulama, yalnızca teslimatın bir yerde çalıştığını kanıtlar. İlgisiz istemcilerin bant genişliğinden muaf tutulduğunu kanıtlamaz.
Tek bir özellik iddiasının içindeki üç soru
Grup üyeliği, alıcının gruba katılıp katılmadığını sorar. Tünel üzerinden teslimat, paketin tüneli geçip geçmediğini sorar. Çoğaltma politikası, sunucunun kaç kopya yaptığını ve kime yaptığını sorar. Bir satıcı açıklaması birincisi için doğru, üçüncüsü hakkında sessiz olabilir ve maliyet tam orada yaşar.
Bir bağlantının boyutunu belirlerken bunları ayrı tutun. Sunucu tarafındaki çıkış bütçesini yalnızca üçüncü soru belirler.
Kullanıcı alanı sunucusu bir grup paketiyle ne yapar
Geleneksel OpenVPN 2.6 kullanıcı alanı sunucusunda, gelen broadcast veya multicast paketi TUN/TAP giriş yolunda sınıflandırılır ve grup başına aramaya değil broadcast dağıtım yordamına verilir. Bu yordam istemci örneklerini dolaşır, göndereni ve durdurulmuş her örneği atlar, VLAN yapılandırılmış yerde denetimini uygular ve kalan her istemci için bir kopyayı kuyruğa koyar. O döngüdeki hiçbir adım üyelik tablosuna başvurmaz. Bu broadcast tarzı çoğaltmadır ve mekanizmanın tamamı budur.
Bunu o kod yolunun bir özelliği olarak görün, evrensel bir yasa olarak değil. Hızlandırılmış veri yolları, diğer uygulamalar ve farklı sürümler başka davranabilir ve bunların hiçbiri TAP'ı zorunluluk ya da onarım haline getirmez.
Bir şeyi ölçmeden önce kopyaları bütçeleyin
Yük hızını alın ve uygun istemci sayısıyla çarpın. Saniyede bir megabiti yirmi istemciye gönderen bir akış, kapsülleme, yeniden iletim ve istemci başına herhangi bir ek yükten önce sunucudan çıkan saniyede yirmi megabit yük üretir. Bu aritmetik bir bütçedir, dağıtımınızın ölçümü değildir.
ip -s link show tun0Bilinen bir etkin gönderici varken sabit bir aralıktan önce ve sonra gönderilen bayt sayacını okuyun. Aralığa bölün ve yük hızının istemci sayısıyla çarpımıyla karşılaştırın. Tek bir akışın hızına yakın bir sayı, çoğaltmanın sınırlı olduğu anlamına gelir; çarpılmış hıza yakın bir sayı, her istemcinin bir kopya aldığı anlamına gelir.
Sayaç kendi tünel trafiğinizi de içerir, bu yüzden test penceresini kısa, ana makineyi ise başka zaman sessiz tutun. Hassasiyet büyüklük düzeninden daha az önemlidir ve bir kopyayı yirmiden ayırmak için ihtiyacınız olan tek şey budur.
Kapsam sorusunu kesin olarak çözen iki istemcili test
Akışı alması gereken bir istemciyi ve almaması gereken ikinci bir istemciyi bağlayın. Göndericiyi başlatın, ardından aynı aralıkta ikinci istemcinin tünel sayaçlarına bakın. İkinci istemcideki büyüme, özellik listesi ne derse desin, geniş çoğaltmanın doğrudan kanıtıdır.
Yakalamayı grup adresine filtreleyerek ilgisiz trafiği okumayın ve tünel arabirimiyle sınırlayın. Meşgul bir ana makinede fiziksel arabirimi yakalamak, kimsenin yorumlayamayacağı bir dosya üretir ve toplamayı amaçlamadığınız kullanıcı verilerini saklayabilir.
Sonra rolleri değiştirin. Sonuç grubu değil alıcıyı izliyorsa, üyelik bilincine sahip bir şeye bakıyorsunuz ve önceki varsayım sizin lehinize yanlıştı.
Sınırları kaldırmak yerine sınırlı bir tasarım seçmek
Dağıtım çok geniş olduğunda çözüm, sahip olduğunuz her denetimi silmek değil, desteklenen sınırlı bir dağıtım düzenidir. Seçenekler arasında dağıtım noktasını alıcılara yaklaştırmak, kaynak kimliğini grupla birlikte taşıyan kaynağa özgü bir abonelik modeli kullanmak veya akışı bölerek ilgisiz sitelerin asla aynı dağıtım sınırında oturmamasını sağlamak vardır.
Kaynak ve grup kimliğini, hedefin multicast olduğu çıplak gerçeğinden ayrı tutun. Grubu tanıyıp kaynağı tanımayan alıcı, belirli bir kanal isteyen aboneden farklı bir abonedir. İkisini karıştırmak sonraki kapasite planlamasını tahmine dönüştürür.
Kaynağa özgü multicast kanal modeli bu ayrımın referansıdır. Hangi tasarımı seçerseniz seçin, uygun eş kümesini, çoğaltmanın sahibini ve bir dahaki sefere okuyacağınız sayacı yazın; o kayıt, bant genişliği sürprizini bilinen bir maliyete dönüştüren şeydir.