Ini adalah Pertanyaan Canonical tentang Propagasi DNS
Berapa lama untuk menyebarkan berbagai jenis rekaman?
Apakah beberapa merambat lebih cepat dari yang lain?
Mengapa perlu waktu untuk menyebarluaskan data DNS dan bagaimana cara kerjanya?
Ini adalah Pertanyaan Canonical tentang Propagasi DNS
Berapa lama untuk menyebarkan berbagai jenis rekaman?
Apakah beberapa merambat lebih cepat dari yang lain?
Mengapa perlu waktu untuk menyebarluaskan data DNS dan bagaimana cara kerjanya?
Jawaban:
"Perambatan DNS" bukanlah fenomena nyata, per se. Sebaliknya, itu adalah efek nyata dari fungsi caching yang ditentukan dalam protokol DNS. Mengatakan bahwa perubahan "menyebar" antara server DNS adalah kepalsuan yang nyaman, yang bisa dibilang, lebih mudah dijelaskan kepada pengguna non-teknis daripada menjelaskan semua detail protokol DNS. Ini bukan cara protokol bekerja.
Server DNS rekursif membuat permintaan atas nama klien. Server DNS rekursif, biasanya dijalankan oleh ISP atau departemen TI, digunakan oleh komputer klien untuk menyelesaikan nama sumber daya Internet. Server DNS rekursif menyimpan hasil kueri yang mereka buat untuk meningkatkan efisiensi. Pertanyaan untuk informasi yang sudah di-cache dapat dijawab tanpa membuat pertanyaan tambahan. Durasi, dalam detik, hasil di-cache seharusnya didasarkan pada nilai yang dapat dikonfigurasi yang disebut Time To Live (TTL). Nilai ini ditentukan oleh server DNS yang berwenang untuk catatan yang diminta.
Tidak ada satu jawaban untuk semua pertanyaan yang diajukan karena DNS adalah protokol terdistribusi. Perilaku DNS tergantung pada konfigurasi server DNS otoritatif untuk catatan yang diberikan, konfigurasi server DNS rekursif yang membuat permintaan atas nama komputer klien, dan fungsionalitas caching DNS yang terpasang pada sistem operasi komputer klien.
Ini praktik yang baik untuk menentukan nilai TTL yang cukup pendek untuk mengakomodasi perubahan harian dari catatan DNS, tetapi cukup lama untuk menciptakan "kemenangan" dalam caching (yaitu tidak terlalu pendek untuk men-cache cache terlalu cepat untuk memberikan peningkatan efisiensi). Menggunakan strategi yang seimbang dengan nilai-nilai TTL menghasilkan "kemenangan" untuk semua orang. Ini mengurangi penggunaan beban dan bandwidth untuk server DNS resmi untuk domain tertentu, server root, dan server TLD. Ini mengurangi pemanfaatan bandwidth upstream untuk operator server DNS rekursif. Ini menghasilkan respons permintaan yang lebih cepat untuk komputer klien.
Sebagai catatan DNS TTL diatur beban yang lebih rendah dan pemanfaatan bandwidth pada server DNS otoritatif akan meningkat karena server DNS rekursif tidak akan dapat men-cache hasil untuk jangka waktu yang lama. Sebagai TTL catatan, perubahan yang lebih tinggi ke catatan tidak akan tampak "berpengaruh" dengan cepat karena komputer klien akan terus menerima hasil cache yang disimpan di server DNS rekursif mereka. Mengatur TTL yang optimal bermuara pada tindakan penyeimbangan antara pemanfaatan dan kemampuan untuk mengubah catatan dengan cepat dan melihat perubahan itu tercermin pada klien.
Perlu dicatat bahwa beberapa ISP kasar dan mengabaikan nilai-nilai TTL yang ditentukan oleh server DNS otoritatif (menggantikan penggantian administratif mereka sendiri, yang merupakan pelanggaran RFC). Tidak ada yang bisa dilakukan mengenai hal ini, dari sudut pandang teknis. Jika operator server DNS yang melecehkan dapat ditemukan keluhan kepada administrator sistem mereka dapat mengakibatkan penerapan praktik terbaik mereka (bisa dibilang apa yang masuk akal untuk setiap insinyur jaringan yang akrab dengan DNS). Jenis penyalahgunaan khusus ini bukan masalah teknis.
Jika semua orang "bermain sesuai aturan" perubahan pada catatan DNS dapat "berlaku" dengan sangat cepat. Dalam hal mengubah alamat IP yang ditetapkan untuk catatan "A", misalnya, backoff eksponensial dari nilai TTL akan dilakukan, menjelang waktu perubahan akan dilakukan. TTL dapat dimulai pada 1 hari, misalnya, dan diturunkan menjadi 12 jam untuk periode 24 jam, kemudian 6 jam untuk periode 12 jam, 3 jam untuk periode 6 jam, dll, turun ke beberapa interval kecil yang sesuai. Setelah TTL dicadangkan, catatan dapat diubah dan TTL dikembalikan ke nilai yang diinginkan untuk operasi sehari-hari. (Tidak perlu menggunakan backoff eksponensial, namun strategi ini meminimalkan waktu catatan akan memiliki TTL rendah dan mengurangi beban pada server DNS yang berwenang.)
Setelah membuat catatan perubahan log DNS harus dipantau untuk upaya akses yang dibuat sebagai akibat dari catatan DNS lama. Dalam contoh mengubah catatan "A" untuk merujuk ke alamat IP baru, server harus tetap ada di alamat IP lama untuk menangani upaya akses yang dihasilkan dari komputer klien yang masih menggunakan catatan "A" yang lama. Setelah upaya akses berdasarkan catatan lama telah mencapai tingkat rendah yang dapat diterima, alamat IP lama dapat digunakan. Jika permintaan yang terkait dengan catatan lama tidak berkurang dengan cepat, ada kemungkinan bahwa (seperti dijelaskan di atas) server DNS rekursif mengabaikan TTL otoritatif. Mengetahui sumber alamat IP dari upaya akses, bagaimanapun, tidak memberikan informasi langsung ke server DNS rekursif yang bertanggung jawab untuk memasok catatan lama.
Secara pribadi, saya telah melihat perubahan "segera berlaku", dalam beberapa jam, dan dalam beberapa kasus dengan ISP yang rusak otak, setelah beberapa hari. Melakukan backoff dari TTL Anda dan memperhatikan bagaimana prosesnya bekerja akan meningkatkan perubahan Anda untuk sukses, tetapi Anda tidak pernah bisa memastikan apa yang dilakukan oleh beberapa orang idiot yang bermaksud baik dengan server DNS rekursif mereka.
1.1.1.1
atau 8.8.8.8
atau 9.9.9.9
atau 80.80.80.80
. Penting untuk dipahami bahwa mereka disiarkan: balasan mungkin berubah berdasarkan pada IP sumber karena akan berpotensi secara fisik berbeda secara instan DAN cache yang mereka miliki bersifat global untuk semua contoh, atau tidak.