Soru “Anycast” nedir ve nasıl yardımcı olur?


Okuduğumda birkaç saniye öncesine kadar hiç haber alamadım "Bazı havalı veya kullanışlı sunucu / ağ oluşturma püf noktaları nelerdir?".

Wikipedia "anycast"Bu makale oldukça resmidir ve nasıl kullanılacağına dair zihinsel bir tablo uyandırmaz.

Birisi, "herhangi bir" mesajın ne olduğu, ne şekilde yapılandırıldığını (sadece genel anlamda) ve faydalarının ne olduğunu (ne kolaylaştırıyor?) Birkaç gayri resmi cümlede açıklayabilir mi?


78
2018-05-29 18:54


Menşei




Cevaplar:


Anycast, aynı IP ön ekinin birden çok konumdan bildirildiği ağ oluşturma tekniğidir. Daha sonra ağ, yönlendirme protokolü maliyetlerine ve muhtemelen reklam sunucularının 'sağlığına' dayalı olarak bir kullanıcı isteğini yönlendirecek konuma karar verir.

Herhangi bir zamanda çeşitli faydalar vardır. İlk olarak, herhangi bir yayın servisinin kullanıcıları (DNS mükemmel bir örnektir) her zaman “en yakın” (bir yönlendirme protokolü perspektifinden) DNS sunucusuna bağlanacaktır. Bu, gecikmeyi azaltır ve aynı zamanda yük dengeleme düzeyini sağlar (tüketicilerinizin ağınızda eşit olarak dağıldığı varsayılarak).

Bir başka avantaj, yapılandırma yönetiminin kolaylığıdır. Bir sunucu / iş istasyonunun konuşlandırıldığı yere (Asya, Amerika, Avrupa) bağlı olarak farklı DNS sunucularını yapılandırmak yerine, her konumda yapılandırılmış bir IP adresiniz vardır.

Herhangi bir tarihin nasıl uygulandığına bağlı olarak, aynı zamanda yüksek kullanılabilirlik seviyesi sağlayabilir. Herhangi bir güzergahın reklamının bir tür sağlık kontrolüne (örneğin, iyi bilinen bir alan için bir DNS sorgusu) bağlı olması durumunda, bir sunucu başarısız olduğunda, rotası kaldırılabilir. Ağ yeniden bir kez onaylandığında, kullanıcı istekleri herhangi bir manuel müdahale veya yeniden yapılandırma gerekmeden, bir sonraki en yakın DNS örneğine sorunsuzca iletilecektir.

Son avantaj, yatay ölçeklendirme; Bir sunucunun aşırı yüklendiğini fark ederseniz, başka bir yere aşırı yüklenen sunucunun isteklerinin bir miktarını almasına izin verecek bir yere yerleştirmeniz yeterlidir. Yine, istemci yapılandırması gerekmediğinden, bu çok hızlı bir şekilde yapılabilir.


83
2018-05-29 19:22



Herhangi bir yayın, tek noktaya göre daha fazla bant genişliği kullanıyor mu? Bir paket gönderdiğimizde, aynı IP adresini paylaşan binlerce sunucumuz olduğunu düşünelim. o adres, tek noktaya göre olduğundan daha fazla bant genişliği almaz mı? - Pacerier
Herhangi bir adrese gönderilen trafik yok, adresi yalnızca bir yere ulaştıracak. Düşünebilirsin çok noktayaPaketlerin çok noktaya yayın grup adresine gönderildiği yer, o grupla ilgilenen tüm ana bilgisayarlara gönderilir. - Murali Suriar
Sorun değil mi "Bir sunucu / iş istasyonunun dağıtıldığı yere bağlı olarak farklı DNS sunucularını yapılandırmak yerine"alan adları ile çözüldü? Peki, alan adlarının zaten yapması basitçe yinelenen herhangi bir noktanın ne anlamı var? - Pacerier
@Pacerier - DNS sunucunuzu bulmak için alan adlarını kullanamazsınız - bu dairesel bir bağımlılıktır. Örnek: dns.foo.com'u yapılandırın. DNS sunucunuz olarak. Dns.foo.com'a ne tür bir IP adresi gönderebilirim? Biliyorum, DNS’de bakacağım. vb. - Murali Suriar


Beni “her zaman” anlamasında kafamı karıştıran şeylerden biri, yüksek düzeyde bir terim olsa da, pratik uygulamada genellikle iki örneğe dönüşmesidir:

  1. Kullanan yönlendiriciler BGP Aynı IP bloğunu birden fazla reklam vermek GİBİ Kullanıcıları "daha yakın" bir siteye yönlendirmenin kaba bir yolu olarak yollar. Aynı zamanda, sorunlu bir siteden rotaları geri çekerek diğer sitelere neredeyse saydam yük devretme sağlar. Bu, neredeyse tüm protokoller için yararlı olabilir, ancak açıkçası, birçok arka uç veri senkronizasyon endişesi yaratır.

  2. Aynı servis IP'sini kendi ağınızdaki birden fazla noktadan ( Statik yönlendirme, OSPF, EIGRP, ya da her neyse). Rotalar ağırlıklı ise farklı olarakBir yük devretme mekanizması olarak işlev görür. Rotalar ağırlıklı ise eşit olarak Birçok marka-satıcı yönlendiricinin paket başına veya akış başına yük dengeleme özelliklerinden yararlanabilir. Dikkat etmelisin ki uygulama katmanı protokol bununla rahat, bu yüzden hemen hemen her zaman bunun ile kullanılan duymak DNS Bir talebin her zaman bir paket olduğu ve her şeyin vatansız olduğu yer. Şahsen, DNS ve uygun yük dengeleyicileri kombinasyonu hemen hemen her zaman daha iyi bir çözüm olacağı zaman, bu uygulama katman endişeleri ağ katmanında hacky intruzyonu olarak görüyorum.


31
2018-05-30 04:24



Bir paket ve vatansızlıktan sözetmek için +1 - nponeccop
DNS ile ilgili sorun, bir kullanıcı veya başka bir uzak çözümleyici ve en yakın sunucuyu çözümleyicinin kullanabileceği kullanıcılardan farklı olabileceği yönündedir. Tabii ki bu sadece geçerli olmayan herhangi bir DNS için geçerlidir (örneğin, tcp anycast veya başka bir kullanım). - akostadinov
@cagenut, Paket başına yük dengelemesi durumunda HTTP kırılabilir mi (hatta ağırlıklar nedeniyle)? - Pacerier


Özellikle DNS gibi UDP tabanlı servisler için kullanılır. Temel olarak, dünya genelinde birden çok veri merkezindeki aynı rotayı duyurursunuz. Bu şekilde, müşterileriniz BGP yollarına dayalı "en iyi" ve "en yakın" veri merkezine gönderilecektir. Ağ sağlayıcılarının oyunları oynayabilmeleri ve belirli şebekelerden gelen trafiği farklı şekilde yönlendirebilmeleri nedeniyle "en iyi" ve "en yakın" kelimeleri koyarım. Genel olarak, işler her zaman en iyisi için çalışır, ancak bu bir garanti değildir.

Bunun bir örneği, DNS sunucularınızı 1.2.3.4 ve 1.2.3.5 olarak listelemek olabilir. Yönlendiricileriniz, birden fazla veri merkezinin 1.2.3 / 24'ü için bir rota yayınlayacaktı. Japonya'daysanız ve orada bir veri merkeziniz varsa, oraya varırsınız. ABD'deyseniz, ABD veri merkezinize gönderilirsiniz. Yine, bu, BGP yönlendirme ve gerçek coğrafi yönlendirme dayalı değil, ancak genellikle şeyler nasıl bozulur.


16
2018-05-29 19:01



Çatışmalar nasıl önlenir? - Pacerier
Çatışmalarla ne demek istediğinden emin değilim. BGP, çatışmalara gerçekten izin vermiyor. Sadece bir rota seçiyor. Herhangi bir zamanda bir (çoğu zaman göz ardı edilen) problem yasaldır. Teknik olarak, anycasting farklı patentlerle kaplıdır. Kimse bunu zorlamaz, ancak farklı trafik türleri (CDN, DNS, TCP vs UDP) farklı patentlerle kaplıdır. Bu paragraf IANAL ile kaplanmalıdır. - diq
Yani bu ip2location servislerinin yanlış olduğunu mu söylüyorsun? IP için resmi bir yer olmadığı için herhangi bir yer hangi BGP bilgisayarı ile konuştuğunuza bağlı? - Pacerier


Orijinal yanıtım gereği, blogumda daha fazla makale yayınladım: Anycast DNS - Bölüm 3, RIP ve Anycast DNS Kullanımı - Bölüm 3, RIP Kullanımı (devamı). İkincisi daha fazla ayrıntıya girer, ancak www.netlinxinc.com/netlinx-blog.html adresinde, RIP kullanarak Anycast DNS için Cisco yönlendiricileri ve Açık Kaynak Quagga ana bilgisayar tabanlı yönlendirme yazılımını nasıl yapılandıracağınıza dair gerçek tarifler bulacaksınız.

Şu an dizinin dördüncü makalesini yazmaya çalışıyorum. Bu, Anycast DNS'nin OSPF'yi kullanarak nasıl dağıtılacağı hakkında bilgiler sağlayacaktır. Son dizide, BGP kullanarak Anycast DNS dağıtımı için tarifleri göstereceğim.

Anycast DNS - Bölüm 1, Genel Bakış

Anycast DNS - Bölüm 2, Statik Yolları Kullanma

Anycast DNS - Bölüm 3, RIP Kullanımı 

Anycast DNS - Bölüm 3, RIP Kullanımı (devam) 


8
2018-05-31 16:32



Bu yüzden, herhangi bir yerden dolayı, İnternet'teki bir başkasının ISS'nizin size verdiği aynı kamusal IP'ye sahip olması mümkün mü? - Pacerier
Sadece ISS'lerin herhangi bir sunucu kurmasını sağlayabildiği doğru değil mi? - Pacerier
Aslında, sahip olmanız gerekir çoklu ISS'ler herhangi bir şey yapmak için. - Pacerier


Bu esas olarak şu anda DNS olduğunu ...

Gayri resmi olarak, aynı hizmeti kullanarak, aynı hizmeti dünyanın farklı yerlerinde kurmanıza olanak sağlayarak hizmetinizi daha esnek ve daha iyi ağ erişimi / gecikme / hız ile sağlar. Birisi bu adresi sorguladığında en yakın / en iyi rota verilir.

Sunucu bakış açısından:

Tek noktaya tek bir kişiye gidiyorsanız ve çok noktaya yayın bir kaç kişiye gidiyorsunuz ve yayınlamak tüm insanlara gidiyorsunuz, o zaman her türlü schitzophrenic oluyor ve her bir kişi için en uygun kişiliğin onlara bağlı olduğu birden fazla kişiliğe sahip oluyor. Hmm. En iyi benzetme değil.


4
2018-05-29 19:19





Anycast'in gerçekten ilginç bir kullanımı DNS'dir. 5 farklı DNS sunucusunu çeşitli fiziksel ve ağ konumlarına yerleştirebilirsiniz, ancak tek (veya bazen hem birincil hem de ikincil DNS) adreslerini paylaşabilirsiniz. Kaynağın nerede olduğuna bağlı olarak, en yakın düğüme yönlendirilirler. Bu, bazı trafik dengeleme yapar ve bir DNS sunucusu ölürse artıklık sağlar.


3
2018-05-29 19:03



Ama zaten DNS sistemi tarafından sağlanan artıklık değil mi? - Pacerier


Meslektaşlarımdan birine göre, bir "DoS" saldırı azaltma tekniği olarak da kullanışlıdır, çünkü insanlar sadece "en yakın" herhangi bir IP adresine saldırabilirler, bu yüzden ABD'de bir sürü zombinin olması durumunda, Euro siteniz Paketleri aslında gönderemedikleri için çoğunlukla etkilenmezler.

Ayrıca, doğru bir şekilde BGP'de ilan edilmemesi muhtemel bir yerden geliyorsa (örneğin, ASN bir N Amerikan'a işaret ettiğinde Avrupa'ya gelen paketler), sahte bir şekilde paketlenmesini (bir şekilde saf olarak) kullanmanın bir yolu olarak kullanmak mümkün olabilir. blok).


2
2018-05-31 17:16



Eh, basit durumda bile, sadece AS yolu olan kişileri durdurmak o sunucuya gider - ör. Sizi Comcast'den alan ama AT & T'den olmayan kişileri durdurabilirsiniz. Yedekleme için "doğru" ayarlandıysanız (L7 hizmetini takip edin, ne zaman düşeceğini bildirmeyi bırakın), o zaman bir sunucu nuke olacağından ve bir dahaki sefere hareket edeceği için DoS saldırılarını halletmek aslında çok daha zorlayıcıdır. duyurular indirildi ... - James Cape
@JamesCape, İlginç, Ama bir sonraki aşamaya geçtiğinde, insanlar doğru bağlantı kuramadığından dolayı doz başarısız oldu mu? - Pacerier
@Pacerier En basit durumda, her yerde aynı IP'yi reklamsız olarak ilan edersiniz, evet. Ancak, hizmetin yanıt vermediği için ABD'de reklamı zekice kullanmaya ve reklamı geri çekmeye çalışırsanız, Avrupa'da tek reklam kalan tek reklam olacaktır. Böylece tüm ABD zombileri bir sonraki müsait sunucuya vuracak ve onu da öldürecek. - James Cape


Ayrıca, Anycast'in sıfırlama veya uzun konuşmalardan kurtulabilen bazı TCP bağlantıları için iyi veya güvenilir olmadığını da not etmek gerekir.

BGP kullanarak Anycast IP'ler internete olduğunu söyler Belirli bir HOST için 2, 3 veya daha fazla yolAncak, gerçekte bunlar Aynı anaDaha düşük gecikme bağlantılarına ulaşmak için çoklu veri merkezlerinde reklam veren ana bilgisayarların tam kopyalarıdır.

Örneğin, bu sunucuya ping işlemi yapıyorsanız, 1981 / 51.86.133 için 301 olmayan www yönlendirmesi yapan 3 sunucum var. Sunucularınızın ABD-Doğu, ABD olduğu gibi, DUPLICATE yanıtlarını zaman zaman alabilir veya bulunduğunuz yere bağlı olarak düşürebilirsiniz. -West ve EUR. Kısa zamanlamalı bağlantılar için (tarayıcı önbellekleri olan 301'ler gibi) bu, en yakın veri merkezindeki yerel bir sunucu tarafından hızlı bir yanıt verir.

Bir artıklık noktasından hiçbir şekilde herhangi bir zamanda yerleşik değildir, çünkü her site için bağımsız bir artıklığa ihtiyacınız olacaktır, çünkü IP (tipik senaryolarda) her zaman bu veri merkezlerine işaret edecektir.


2
2017-10-13 12:58



Yeniden "ping"; UDP bağlantısı yok mu? - Pacerier
Yeniden "IP'nin (tipik senaryolarda) her zaman bu veri merkezlerine işaret ettiği gibi"; Emin misiniz? Bu sunucu kesintiye uğrarsa, en yakın sunucuya işaret etmeye başlarlar değil mi? - Pacerier