Beberapa tahun yang lalu saya harus melakukan beberapa perubahan DNS selama beberapa minggu karena saya memindahkan sedikit peralatan dari satu pusat data ke yang lain. Pada saat saya melakukan ini, sekitar 95% dari nameserver di dunia tampaknya menghargai nilai TTL, dan sekitar 5% mengabaikan kita dan mengarangnya sendiri. Dengan kata lain, 95% dari lalu lintas bergerak dalam TTL 15 menit yang kami definisikan. 3% lainnya berhasil di jam pertama, 1% di hari pertama, dan beberapa pejalan kaki membutuhkan waktu hingga tiga hari.
(Ya, oke, saya mengacaukan persentase lalu lintas dengan persentase server nama. Harap masukkan handwaving.)
Ini sekitar tahun 2001, dan kami menggunakan dinosaurus untuk mengirimkan paket melalui tabung. Dugaan saya adalah bahwa nameserver hari ini berperilaku lebih baik, dan akan ada sedikit masalah dengan orang-orang yang tersesat. Apakah ada yang tahu berapa persen lalu lintas akan beralih dalam TTL yang ditentukan hari ini? Apakah masih banyak server nama yang mengabaikan TTL?
sumber
Jawaban:
Kami baru-baru ini pindah dan memiliki segala macam masalah dengan DNS.
Ketika kami melakukan swing over, sebagian besar pelanggan mulai langsung memukul IP baru. Tetapi beberapa masih memukul IP lama selama berminggu-minggu. Kami meninggalkan server selama sebulan atau lebih. Akhirnya kami pergi melalui log IIS pada mesin lama dan memanggil pelanggan memberitahu mereka untuk menyiram DNS di sana perusahaan atau server DNS ISP. Itu membuat mereka yang terakhir pindah.
Itu adalah sejumlah kecil orang yang menggunakan IP lama. Dari 20k pelanggan, mungkin 50 mengalami masalah setelah hari pertama.
sumber
(Sangat) nilai-nilai TTL panjang minggu pada bulan Mei 2011 dihormati oleh sebagian besar nameserver yang menyelesaikan DNS hingga 2 minggu.
Dalam tes menggunakan just-dnslookup.com, memiliki 50 titik pengukuran aktif terdistribusi global, dengan catatan A TTL ditetapkan ke 99,999.999 = 165 minggu (tepat: 165 minggu 2 hari 9 jam 46 menit 39 detik), dan TTL default 2 minggu (= SOA + NS TTL).
Pengembalian pencarian pertama :
Pengembalian pencarian berturut-turut (dikonversi ke nilai TTL asli):
Tes kedua (menggunakan domain yang berbeda) di mana TTL default diatur ke 4 minggu (= SOA + NS TTL) hasilnya di bawah ini.
Pengembalian pencarian pertama :
Pengembalian pencarian berurutan (dikonversi ke panjang TTL penuh):
Dari layanan penyelesaian publik yang paling terkenal / paling terhubung:
sumber
Saya baru-baru ini memindahkan DNS untuk beberapa domain yang meng-host situs pribadi saya dan situs proyek dari GoDaddy ke DNS internal (yeah, secara harfiah rumah saya ). Secara keseluruhan, setiap situs yang saya miliki memiliki akses jarak jauh untuk menghormati TTL dan melakukan transisi dengan baik. Hal yang sama dilaporkan oleh setiap teman yang bisa saya tanyakan untuk diperiksa, baik melalui telepon rumah maupun seluler. Ironisnya, satu-satunya masalah adalah server DNS caching utama di $ University tempat saya bekerja, yang tampaknya benar-benar mengabaikan TTL untuk permintaan yang di-cache (dan bahkan mengabaikan nilai TTL yang mereka tetapkan untuk hasil cache).
Sepertinya, secara keseluruhan, TTL harus dihormati. 56% server otoritatif untuk domain .com dan .net menjalankan BIND, yang jelas sesuai dengan standar. Cablevision / Optimum (setidaknya di NJ) tampaknya menggunakan Nominum CNS, yang juga menghormati TTL.
sumber
Ini bukan jawaban untuk pertanyaan Anda secara khusus; melainkan, hal-hal tambahan untuk dipertimbangkan yang berperan dalam pengujian Anda:
Receptor DNS dan Caching Daemon yang Dirantai
Bukan hanya tepi reseptor DNS yang menyimpan catatan cache. Kadang-kadang orang membuat rantai reseptor dan ini menambah waktu. Apakah ini harus dilakukan atau tidak bisa menjadi diskusi yang panjang berdasarkan apa yang orang coba pecahkan. Saya telah melihat 3 level rekursi di pusat data. Pencampur rekursi dapat memiliki hasil yang beragam, karena penurunan TTL tidak selalu dipertahankan. Beberapa catatan cache sistem operasi. Beberapa sistem juga menggunakan hal-hal seperti
nscd
,dnsmasq
dan metode lain untuk meminimalkan dampak dari masalah recursor lokal dan mengurangi beban pada recursor mereka. Karakteristik pada OS bervariasi berdasarkan versi rilis, caching daemon, versi caching daemon, dll ...[Sunting] Untuk mengulangi, ini bukan perilaku normal dari recursor atau caching daemon. Saya tidak akan mempermalukan yang buggy, tetapi salah satu dari mereka dianggap tidak terawat, meskipun itu dibundel dengan banyak distro linux.
Tembolok DNS Aplikasi
Beberapa browser juga menyimpan catatan. Java dan aplikasi lain juga melakukan cache DNS. Terkadang Anda dapat membatasi maksimal dalam aplikasi.
Hasil Akhir Dapat Dipiringkan
Item di atas dapat dengan mudah mengubah TTL 15 menit menjadi 60+ menit atau bahkan lebih lama.
Inilah sebabnya saya sering menyarankan bahwa aplikasi atau situs web harus mempertimbangkan memiliki beberapa node aktif dalam desain toleransi kesalahan mereka, sehingga klien dapat menentukan lebih cepat ketika satu titik masuk ke situs Anda telah gagal dan secara otomatis menangani masalah ini dalam sebuah rumah yang anggun dan dapat diprediksi. , jika layak. Anycast adalah salah satu metode yang digunakan beberapa perusahaan untuk membuat failover agak transparan dan tidak terlalu bergantung pada perubahan DNS. Ada juga beberapa metode pintar load balancing yang dapat dilakukan dalam javascript menggunakan beberapa catatan DNS.
sumber
Pertanyaan lama, tetapi jawaban baru (2017, 6 tahun kemudian):
Sebelum percobaan di bawah ini, saya sebelumnya mengubah TTL saya dari 14400 (detik = 4 jam) menjadi 300 (detik = 5 menit) tetapi saya melakukannya 2 jam sebelum percobaan dan karena TTL sebelumnya adalah 4 jam saya tidak yakin perubahan saya akan keluar jika server DNS tidak memiliki TTL minimum mereka sendiri.
Eksperimen saya:
Eksperimen 1:
Saya mengubah terjemahan nama-ke-IP (catatan) di server otoritatif kemudian memeriksa:
Setelah 5 menit (300 detik) sekitar setengah dari server global yang diperiksa oleh situs-situs tersebut telah di-udpated.
Setelah 7 menit, semua telah diperbarui kecuali 1.
Eksperimen 2:
Google dan OpenDNS memungkinkan Anda membersihkan cache DNS secara manual untuk domain tertentu. Tautan:
Saya memperbarui A-record lain, dan kemudian segera membersihkan cache DNS Google. Mereka memiliki captcha yang membuat saya "mengklik semua kotak dengan tanda" 3 kali, jadi butuh 1-2 menit sebelum saya bisa menyelesaikan flush.
Setelah 4 menit, hanya 1 server DNS yang diperiksa oleh situs-situs tersebut yang memiliki alamat IP lama. Semua yang lain telah diperbarui.
Jadi membersihkan cache DNS Google, dan memaksanya untuk meminta kembali server otoritatif, tampaknya telah mempercepat propagasi DNS global, mungkin dengan memicu pembaruan cache di seluruh server dunia.
Namun bahkan tanpa Google flush, tampaknya propagasi dalam hitungan menit, bukan jam atau hari.
sumber