Anycast adalah teknik jaringan tempat awalan IP yang sama diiklankan dari berbagai lokasi. Jaringan kemudian memutuskan lokasi untuk merutekan permintaan pengguna, berdasarkan biaya protokol routing dan mungkin 'kesehatan' dari server iklan.
Ada beberapa manfaat bagi siaran mana 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 dari rute siaran mana pun tergantung pada semacam pemeriksaan kesehatan (misalnya, permintaan DNS untuk domain yang terkenal, dalam contoh ini), maka segera setelah server gagal, rutenya dapat dihapus. Setelah jaringan berkumpul kembali, permintaan pengguna akan diteruskan dengan 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 mengambil sebagian permintaan server yang kelebihan beban. Sekali lagi, karena tidak ada konfigurasi klien yang diperlukan, ini dapat dilakukan dengan sangat cepat.
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:
Router menggunakan BGP untuk mengiklankan blok IP yang sama melalui beberapa jalur AS sebagai cara kasar mengarahkan pengguna ke situs "lebih dekat". Pada saat yang sama ia memberikan 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.
Mengiklankan IP layanan yang sama dari banyak titik dalam jaringan Anda sendiri (melalui perutean statis , OSPF , EIGRP , atau apa pun). Jika rute ditimbang berbeda, ia bertindak sebagai mekanisme failover. Jika rute ditimbang secara merata, itu dapat memanfaatkan kapabilitas per-paket atau per-aliran load-balancing dari sebagian besar router vendor-merek-merek. Anda harus berhati-hati bahwa protokol lapisan aplikasi nyaman dengan ini, itu sebabnya Anda hampir selalu mendengarnya digunakan dengan DNSdi 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.
sumber
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 memberikan tanda kutip "terbaik" dan "paling dekat" karena penyedia jaringan dapat memainkan game 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 untuk 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.
sumber
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 yang sebenarnya tentang cara mengkonfigurasi router Cisco dan perangkat lunak routing berbasis host Quagga Open Source 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
Anycast DNS - Bagian 2, Menggunakan Rute Statis
Anycast DNS - Bagian 3, Menggunakan RIP
DNS Anycast - Bagian 3, Menggunakan RIP (lanjutan)
sumber
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.
sumber
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.
sumber
Menurut salah satu kolega saya, ini juga berguna sebagai teknik mitigasi serangan DoS, karena orang-orang hanya dapat menyerang alamat IP broadcast mana saja yang "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 (misalnya paket yang datang ke Eropa ketika ASN menunjukkan N Amerika) blok).
sumber
Juga baik untuk dicatat bahwa Anycast tidak baik atau tidak dapat diandalkan untuk beberapa koneksi TCP yang tidak dapat bertahan ulang atau percakapan panjang.
IP Anycast, menggunakan BGP, memberi tahu internet bahwa ada 2, 3 atau lebih jalur ke HOST tertentu , namun pada kenyataannya ini BUKAN host yang sama , mereka adalah replika persis 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 tanggapan DUPLICATE 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 respons 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.
sumber