Bagaimana saya bisa mengirim pengunjung ke server terdekat menggunakan DNS?

20

Apakah ada cara untuk melokalkan entri dns? Artinya, bahwa pengguna dari asia menyelesaikan mydomain.com ke ip lain daripada pengguna dari usa atau eropa. Ini akan sangat membantu untuk memberikan pengguna server terdekat. DNS adalah satu-satunya teknik yang digunakan sejauh ini, artinya saya tidak dapat menempatkan beberapa softwarerouting atau sistem pusat menggantikan dns untuk menyelesaikan ini.

kcode
sumber

Jawaban:

20

Ya, saat ini ada dua solusi populer untuk masalah ini.

Yang pertama disebut Anycast, di mana blok IP yang sama secara harfiah digunakan di banyak lokasi di seluruh dunia. Dengan kata lain, server nama untuk domain Anda selalu mengembalikan alamat IP yang sama, tetapi alamat IP tersebut sebenarnya ditugaskan untuk lebih dari satu set server fisik.

Anda dapat membaca lebih lanjut tentang ini di sini http://en.wikipedia.org/wiki/Anycast

Teknik kedua lagi melibatkan AnyCast, namun kali ini, kisaran alamat IP yang disiarkan merujuk ke server nama kami sendiri. Karena server nama hanya akan meminta dari klien yang paling dekat dengan mereka (sebagaimana ditentukan oleh keajaiban BGP), mereka sendiri dapat mengembalikan alamat IP yang secara logis lokal ke klien.

Contoh dari ini adalah domain google l.google.com

Dari tuan rumah di Australia

crimson:~ dave$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com is an alias for www-notmumbai.l.google.com.
www-notmumbai.l.google.com has address 66.249.89.99
www-notmumbai.l.google.com has address 66.249.89.147
www-notmumbai.l.google.com has address 66.249.89.103
www-notmumbai.l.google.com has address 66.249.89.104

Dari tuan rumah di AS

[dave@odessa ~]$ host www.google.com
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.95.99
www.l.google.com has address 74.125.95.147
www.l.google.com has address 74.125.95.104
www.l.google.com has address 74.125.95.106
www.l.google.com has address 74.125.95.105
www.l.google.com has address 74.125.95.103

Jadi, CNAME untuk www.google.comresolve ke www.l.google.com, tetapi ketika Anda menyelesaikan itu, tergantung pada lokasi Anda, klien Anda menerima satu set yang berbeda dari alamat IP. Ini karena server nama yang menerima permintaan www.l.google.comadalah server nama lokal , relatif terhadap klien.

Dave Cheney
sumber
5
Jawaban ini secara teknis menjawab pertanyaan, tetapi saya pikir ini agak tidak berguna dalam hal menjadi jawaban nyata untuk masalah aktual: sebagian besar pihak tidak memiliki siaran, jadi jawaban Anda berada di luar jangkauan semua pihak tersebut.
cnst
jadi pendaftar mana yang menawarkan solusi ini?
dinamis
Juga perlu dicatat bahwa DNS memiliki fitur ini secara asli. Letakkan server DNS di suatu wilayah dengan catatan yang menunjuk ke server web di wilayah itu. Ulangi di daerah lain. Keuntungan.
dmourati
@dmourati: bukankah ini akan menyebarkan dan memperbarui server DNS lainnya? Saya selalu berasumsi bahwa server DNS selalu menyebarkan informasi sampai semuanya tersinkronisasi.
Guru Prasad
@GuruPrasad Beberapa host (biasanya di wilayah geografis yang berbeda) diberi alamat IP unicast yang sama dan rute yang berbeda ke alamat tersebut diumumkan melalui BGP. Router menganggap ini sebagai rute alternatif ke tujuan yang sama, meskipun mereka sebenarnya rute ke tujuan yang berbeda dengan alamat yang sama. Seperti biasa, router memilih rute dengan metrik jarak berapa pun yang digunakan (biaya terendah, paling padat, terpendek). Memilih rute dalam pengaturan ini sama dengan memilih tujuan. == wikipedia / anycast ---- tetapi bekerja lebih baik di IPv6 daripada deskripsi ini
Garet Claborn
2

Jika Anda hanya ingin melokalisasi server untuk Asia, Amerika Utara, dan Eropa, maka Anda dapat memutuskan untuk menjalankan sendiri aplikasi web dan DNS Anda.

Dengan DNS, Anda dapat menggunakan sesuatu seperti pendekatan DNS Split-Horizon , yang dapat dicapai melalui fungsionalitas terintegrasi dari server DNS Anda (mereka dapat menyebutnya GeoDNS ), atau melalui firewall yang akan mengarahkan rentang IP-address yang berbeda ke berbagai operasi contoh server DNS Anda (Anda dapat menjalankan beberapa salinan server yang berbeda pada mesin lokal Anda, yang akan mendengarkan alamat IP lokal yang berbeda).

Anda mungkin bisa mendapatkan hasil yang diharapkan dalam ≈90% kasus dengan membalas permintaan DNS dari RIPE dan AfriNIC IP-address dengan Acatatan host Anda di Eropa, permintaan dari APNIC - host di Asia, dan permintaan dari alamat IP dari / 8 blok dikelola oleh ARIN , LACNIC dan sisa ruang alamat / 8 dengan Acatatan server Anda di Amerika Utara. Ini akan memiliki beberapa hasil yang salah dalam situasi tertentu (beberapa / 8 blok dibagi antara Eropa dan Amerika Utara, beberapa ruang alamat disiarkan dll), tetapi yang terburuk yang akan terjadi adalah beberapa latensi tambahan kepada pihak yang terkena dampak, jadi, seharusnya tidak t menjadi masalah besar.

(Dan, ya, harus ada cara untuk membuat hal-hal ini lebih mudah, tetapi, sejauh ini, sepertinya tidak ada.)

cnst
sumber
2

Saya memiliki masalah yang sama. Perusahaan kami memiliki pelanggan di Rusia dan Cina dan mereka semua membutuhkan koneksi yang sangat cepat ke layanan kami. Kami menggunakan Amazon Route 53 Geo dns dan baru saja membuat dua catatan, satu akan mengarahkan pelanggan dari Cina ke kluster wilayah Tokyo kami dan pelanggan dari Rusia ke London.

amanbolat
sumber