pengembangan-web-mp-pd.com

Apa itu "anycast" dan apa manfaatnya?

Saya belum pernah mendengar siaran sampai beberapa detik yang lalu ketika saya membaca " Apa trik server/jaringan yang keren atau berguna? ".

The wikipedia " Anycast " artikel di dalamnya cukup formal dan tidak benar-benar membangkitkan gambaran mental tentang bagaimana ia akan digunakan.

Dapatkah seseorang menjelaskan dalam beberapa kalimat informal apa "siaran" itu, bagaimana Anda mengonfigurasinya (hanya dalam pengertian umum), dan apa manfaatnya (apa yang membuatnya lebih mudah)?

85
username

Anycast adalah teknik jaringan tempat awalan IP yang sama diiklankan dari berbagai lokasi. Jaringan kemudian memutuskan lokasi untuk mengarahkan permintaan pengguna, berdasarkan biaya protokol routing dan mungkin 'kesehatan' dari server iklan.

Ada beberapa manfaat untuk siaran apa pun. Pertama, dalam kondisi mapan, pengguna layanan anycast (DNS adalah contoh yang sangat baik) akan selalu terhubung ke server DNS 'terdekat' (dari perspektif protokol routing). Ini mengurangi latensi, serta menyediakan tingkat penyeimbangan beban (dengan asumsi bahwa konsumen Anda didistribusikan secara merata di seluruh jaringan Anda).

Keuntungan lain adalah kemudahan manajemen konfigurasi. Daripada harus mengkonfigurasi server DNS yang berbeda tergantung di mana server/workstation digunakan (Asia, Amerika, Eropa), Anda memiliki satu alamat IP yang dikonfigurasi di setiap lokasi.

Bergantung pada bagaimana siaran diterapkan, itu juga dapat memberikan tingkat ketersediaan tinggi. Jika iklan rute siaran mana pun bergantung pada semacam pemeriksaan kesehatan (mis. Kueri DNS untuk domain terkenal, dalam contoh ini), maka segera setelah server gagal, rutenya dapat dihapus. Setelah jaringan berkumpul kembali, permintaan pengguna akan diteruskan secara mulus ke instance DNS terdekat berikutnya, tanpa perlu intervensi manual atau konfigurasi ulang.

Keuntungan akhir adalah penskalaan horizontal; jika Anda menemukan bahwa satu server kelebihan beban, cukup gunakan yang lain di lokasi yang memungkinkannya untuk mengambil sebagian permintaan server yang kelebihan beban. Sekali lagi, karena tidak ada konfigurasi klien yang diperlukan, ini dapat dilakukan dengan sangat cepat.

88
Murali Suriar

Salah satu hal yang sering membingungkan saya dalam memahami "siaran" adalah bahwa, meskipun merupakan istilah tingkat tinggi, dalam implementasi praktis biasanya bermuara pada dua contoh:

  1. Router menggunakan BGP untuk mengiklankan blok IP yang sama melalui banyak SEBAGAI jalur sebagai kasar cara mengarahkan pengguna ke situs "lebih dekat". Pada saat yang sama ia menyediakan failover yang hampir transparan ke situs lain dengan hanya menarik rute dari situs yang bermasalah. Ini dapat berguna untuk hampir semua protokol, meskipun jelas itu menimbulkan banyak masalah sinkronisasi data backend.

  2. Mengiklankan IP layanan yang sama dari banyak titik dalam jaringan Anda sendiri (via routing statis , OSPF , EIGRP , atau apa pun). Jika rute ditimbang berbeda ia bertindak sebagai mekanisme failover. Jika rute ditimbang secara merata , rute ini dapat memanfaatkan kapabilitas per-paket atau per-aliran load-balancing pada sebagian besar router vendor merek-merek. Anda harus berhati-hati bahwa lapisan aplikasi protokol nyaman dengan ini, itu sebabnya Anda hampir selalu mendengar tentang itu digunakan dengan DNS di mana permintaan selalu satu paket dan semuanya tanpa kewarganegaraan. Secara pribadi, saya melihat ini sebagai intrusi hacky menyangkut lapisan aplikasi ke dalam lapisan jaringan ketika kombinasi DNS dan load-balancers yang tepat hampir selalu menjadi solusi yang lebih baik.

32
cagenut

Terutama digunakan untuk layanan berbasis UDP seperti DNS. Pada dasarnya, Anda mengumumkan rute yang sama dari beberapa pusat data di seluruh dunia. Dengan cara ini, klien Anda akan dikirim ke pusat data "terbaik" dan "terdekat" berdasarkan rute BGP. Saya memberi tanda kutip "terbaik" dan "paling dekat" karena penyedia jaringan dapat memainkan permainan dan mengarahkan lalu lintas dari jaringan tertentu secara berbeda. Secara umum, segala sesuatunya berjalan baik dengan siaran apa pun, tetapi itu bukan jaminan.

Contohnya adalah dengan mendaftarkan server DNS Anda sebagai 1.2.3.4 dan 1.2.3.5. Router Anda akan mengumumkan rute untuk 1.2.3/24 dari beberapa pusat data. Jika Anda berada di Jepang dan memiliki pusat data di sana, kemungkinan Anda akan berakhir di sana. Jika Anda berada di AS, Anda akan dikirim ke pusat data AS Anda. Sekali lagi, ini didasarkan pada perutean BGP dan bukan perutean geografis yang sebenarnya, tetapi biasanya itulah yang terjadi.

16
diq

Berdasarkan tanggapan asli saya, saya baru saja memposting dua artikel lagi di blog saya yang berjudul: Anycast DNS - Bagian 3, Menggunakan RIP dan Anycast DNS - Bagian 3, Menggunakan RIP (lanjutan). Yang terakhir masuk ke rincian lebih lanjut, tetapi di www.netlinxinc.com/netlinx-blog.html Anda akan menemukan resep aktual tentang cara mengkonfigurasi router Cisco dan perangkat lunak routing berbasis Host Open Quagga Host untuk Anycast DNS menggunakan RIP.

Saat ini saya sedang mengerjakan penulisan artikel keempat dalam seri ini. Ini akan memberikan penerima tentang cara menggunakan DNS Anycast menggunakan OSPF. Terakhir dalam seri ini, saya akan menunjukkan resep untuk menggunakan Anycast DNS menggunakan BGP.

DNS Anycast - Bagian 1, Ikhtisar

DNS Anycast - Bagian 2, Menggunakan Rute Statis

DNS Anycast - Bagian 3, Menggunakan RIP

DNS Anycast - Bagian 3, Menggunakan RIP (lanjutan)

9
netlinxman

Mengingat ini terutama DNS saat ini ...

Secara informal itu membuat layanan Anda lebih tangguh dan dengan akses/latensi/kecepatan jaringan yang lebih baik dengan memungkinkan Anda untuk mengatur layanan yang sama di beberapa lokasi di seluruh dunia semua menggunakan alamat yang sama. Ketika seseorang menanyakan alamat itu, mereka diberikan rute terdekat/terbaik.

Dari perspektif server:

Jika unicast Anda pergi ke satu orang, dan multicast Anda pergi ke beberapa orang, dan siaran adalah Anda pergi ke semua orang, maka setiap siaran menjadi schitzophrenic dan memiliki banyak kepribadian di mana kepribadian yang paling cocok untuk setiap orang terhubung dengan mereka. Hmm. Bukan analogi terbaik.

4
Alex

Penggunaan anycast yang sangat menarik adalah DNS. Anda dapat menempatkan 5 server DNS yang berbeda di berbagai lokasi fisik dan jaringan tetapi berbagi satu alamat (atau kadang-kadang DNS primer dan sekunder). Tergantung di mana sumbernya, mereka diarahkan ke simpul terdekat mereka. Ini melakukan beberapa keseimbangan lalu lintas ditambah menyediakan redundansi jika server DNS mati.

3
dexedrine

Ini juga baik untuk dicatat bahwa Anycast tidak baik atau tidak dapat diandalkan untuk beberapa koneksi TCP yang tidak dapat selamat dari pengaturan ulang atau percakapan panjang apa pun).

IP Anycast, menggunakan BGP, memberi tahu internet bahwa ada 2, 3 atau lebih jalur ke Host tertent, namun pada kenyataannya ini BUKAN Host yang sama, semuanya tepat replika host yang diiklankan di beberapa pusat data untuk mencapai koneksi latensi yang lebih rendah.

Sebagai contoh, saya memiliki 3 server melakukan 301 redirection non-www untuk 198.251.86.133, jika Anda melakukan ping Host ini, Anda mungkin mendapatkan DUPLICATE tanggapan di kali, atau bahkan turun tergantung di mana Anda berada, karena server saya adalah US-East, US -West, dan EUR. untuk koneksi singkat waktunya (seperti 301 yang cache browser) ini memberikan respon cepat oleh server lokal di pusat data terdekat.

Dari sudut pandang redundansi tidak ada yang dibangun ke dalam siaran, Anda masih perlu redundansi independen di setiap situs karena IP akan (dalam skenario khas) selalu mengarah ke pusat data tersebut.

2
Jacob Evans

Menurut salah satu kolega saya, ini juga berguna sebagai teknik mitigasi serangan DoS, karena orang-orang hanya dapat menyerang alamat IP siaran "terdekat", jadi jika ada banyak zombie di, katakanlah, AS, situs Euro Anda akan menjadi sebagian besar tidak terpengaruh, karena mereka tidak dapat benar-benar mengirim paket ke sana.

Juga dimungkinkan untuk menggunakannya sebagai cara untuk (agak naif) menyaring paket palsu jika mereka jelas datang dari suatu tempat yang tidak mungkin diiklankan di BGP sebagai rute yang benar (mis. Paket yang datang ke Eropa ketika ASN menunjukkan N Amerika) blok).

2
MarkR