Apa perbedaan antara Anycast dan GeoDNS / GeoIP wrt HA?

17

Berdasarkan uraian Wikipedia tentang Anycast , ini mencakup distribusi pemetaan nama-domain-ke-banyak-IP di banyak server DNS serta membalas ke klien dengan server yang paling dekat secara geografis (atau tercepat).

Dalam konteks situs yang didistribusikan secara global dan sangat tersedia seperti google.com (atau layanan CDN apa pun dengan banyak lokasi tepi global) ini kedengarannya seperti dua fitur utama yang diperlukan.

Layanan DNS seperti Amazon's Route53, EasyDNS dan DNSMadeEasy semuanya mengiklankan diri mereka sebagai jaringan Anycast-enabled.

Oleh karena itu asumsi saya adalah bahwa masing-masing layanan DNS ini secara transparan menawarkan kepada saya dua fitur mematikan: pemetaan multi-IP-ke-domain DAN mengarahkan klien ke simpul terdekat.

Namun , masing-masing layanan ini tampaknya memisahkan kedua fungsi ini, merujuk pada yang kedua (mengarahkan klien ke simpul terdekat) sebagai "GeoDNS", "GeoIP" atau "Global Traffic Director" dan mengenakan biaya tambahan untuk layanan tersebut.

Jika penyewa inti dari sistem berkemampuan Anycast sudah melakukan ini, mengapa fungsi ini disisihkan sebagai fitur tambahan ini? Apa fitur "GeoDNS" ini yang tidak dapat dilakukan oleh layanan DNS Anycast standar (sesuai dengan definisi Anycast dari Wikipedia - Saya mengerti apa yang diiklankan, hanya saja bukan karena itu belum tersirat).

Saya menjadi sangat bingung ketika layanan DNS seperti Route53 yang tidak mendukung fitur "GeoDNS" samar-samar ini mendaftar fungsi seperti:

Cepat - Menggunakan jaringan anycast global server DNS di seluruh dunia, Route 53 dirancang untuk secara otomatis mengarahkan pengguna Anda ke lokasi optimal tergantung pada kondisi jaringan. Akibatnya, layanan ini menawarkan latensi kueri rendah untuk pengguna akhir Anda, serta latensi pembaruan rendah untuk kebutuhan manajemen catatan DNS Anda.

... yang terdengar persis seperti apa yang hendak dilakukan oleh GeoDNS, tetapi mengarahkan geografis klien adalah sesuatu yang secara eksplisit belum mereka dukung .

Pada akhirnya saya mencari dua fitur berikut dari penyedia DNS:

  1. Memetakan beberapa alamat IP ke satu nama domain (seperti google.com, amazon.com, dll.)
  2. Memanfaatkan layanan DNS yang akan menanggapi permintaan klien untuk domain itu dengan alamat IP dari server terdekat kepada yang diminta.

Seperti yang disebutkan, sepertinya ini semua adalah bagian dari layanan DNS "Anycast" (semua layanan ini), tetapi fitur dan pemasaran yang saya lihat dari mereka menyarankan sebaliknya, membuat saya berpikir saya perlu belajar sedikit lebih banyak tentang bagaimana DNS berfungsi sebelum membuat pilihan penempatan.

Terima kasih sebelumnya atas segala klarifikasi.

Riyad Kalla
sumber

Jawaban:

17

Manfaat utama GeoDNS adalah bahwa ia menyelesaikan nama yang sama untuk alamat IP yang berbeda berdasarkan alamat IP pemohon.

Server DNS Anycasted akan mengembalikan alamat IP yang sama terlepas dari siapa yang melakukan permintaan.

Keduanya bekerja pada lapisan jaringan yang berbeda. Anycast berada di bawah GeoDNS karena tidak memiliki rasa lokasi pemohon alamat IP, hanya tempatnya di diagram jaringan. Apa yang mungkin dekat dengan server DNS mungkin tidak dekat dengan sumber daya yang diminta , dan server DNS Anycasted tidak memiliki cara untuk mengatakan ini.

GeoDNS menggunakan peta lokasi sumber daya dan melakukan logika untuk menentukan sumber daya mana yang paling dekat dengan alamat IP yang diminta, dan kemudian mengembalikan alamat IP tersebut.

Kecuali jika Anda menempatkan server DNS Anda dengan sumber daya jaringan Anda, apa yang dekat dengan server DNS tidak akan selalu dekat dengan sumber daya, jadi menggunakan Anycast sebagai metode data-lokalitas Anda kurang efektif daripada GeoDNS lurus.

sysadmin1138
sumber
Tepat, saya bahkan tidak mempertimbangkan 2-tahap penyelesaian alamat (pertama-tama menemukan server DNS itu sendiri, kemudian menemukan server yang ditargetkan). Terima kasih!
Riyad Kalla
6

Aspek anycast BGP memungkinkan klien mengirim permintaan ke server DNS yang diberikan, dan mengirimkan permintaan itu ke instance terdekat dari server DNS berdasarkan tabel routing BGP, semoga mendapatkan respons cepat.

Namun, server DNS biasa yang didistribusikan secara geografis dan anycasted tidak memiliki kemampuan menanggapi pertanyaan berbeda tergantung pada lokasi klien yang meminta - ini adalah fitur tambahan bahwa layanan "Geo-DNS" menyediakan biaya tambahan, memungkinkan Anda mengirim klien ke mesin virtual layanan yang dekat dengan mereka.

Alasan fitur ini ada adalah bahwa BGP anycast berfungsi dengan baik untuk sesuatu yang tidak memiliki kewarganegaraan seperti DNS, di mana ia cepat dan kotor dan tidak memerlukan koneksi atau kegigihan sesi, tetapi untuk sesuatu seperti server web, Anda ingin tetap menggunakan instance di seluruh dunia dan pastikan klien tertentu akan tetap menggunakan contoh tertentu - merutekan perubahan pada koneksi-tengah tabel BGP global akan memutus koneksi TCP, memutus sesi aplikasi web, dan umumnya menyebabkan kekacauan; anycast umumnya tidak digunakan untuk server web karena alasan ini.

Yang terbaik adalah memberikan pengguna IP di county X untuk sebuah instance di negara X melalui DNS, yang Anda gunakan untuk membayar tunai dengan layanan Geo-DNS.

Shane Madden
sumber
4

Secara tradisional, Anda akan memiliki beberapa server DNS. Seorang klien akan memilih satu secara acak, dan memintanya untuk alamat IP server web Anda. Ini bagus jika server DNS dekat dengan klien, tetapi buruk jika - seperti yang sering terjadi - server DNS jauh dari klien. Bagaimanapun, klien akan mendapatkan alamat IP yang sama sebagai jawaban.

Anycast memungkinkan banyak server merespons alamat IP yang sama. Dengan DNS broadcast mana pun, ketika klien mencoba untuk berbicara dengan server nama Anda, server nama terdekat / tercepat merespons. Ini berarti bahwa klien selalu mendapat respons cepat terhadap permintaan DNS-nya. Namun, ia masih akan selalu mendapatkan jawaban yang sama untuk kueri DNS-nya - IP server Anda. Jika server Anda jauh dari klien, pengalaman klien mungkin tidak optimal.

GeoDNS memungkinkan server DNS merespons dengan alamat IP yang berbeda, tergantung di mana klien berada. (Jelas ini mengharuskan Anda untuk memiliki beberapa server yang terdistribusi secara geografis.) GeoDNS tidak menyiratkan siaran apa pun, meskipun biasanya Anda akan menggunakan keduanya, sehingga klien akhirnya mendapatkan kueri DNS-nya dijawab oleh server DNS terdekat secara geografis, yang kemudian membalas dengan alamat IP dari server web terdekat secara geografis.

Cody Hatch
sumber