Pemahaman saya tentang fungsionalitas inti dari DNS adalah untuk menyediakan layanan penamaan / pemetaan antara nama domain (mis. blah-whatever.com
) Dan alamat IP (mis. 100.2.3.4 ).
Selain itu, pemahaman saya tentang cara kerja server DNS Internet adalah bahwa ketika catatan pemetaan domain / IP diubah (katakanlah, blah-whatever.com
sekarang berubah menjadi 105.2.3.4 , dll.), Perubahan ini perlu disebarkan ke setiap server DNS di dunia sebelum perubahan bisa dikatakan "lengkap". Periode propagasi ini kadang-kadang bisa bertahan hingga 24 jam.
Jadi untuk memulainya, jika sesuatu yang saya katakan sejauh ini salah arah atau salah, silakan mulai dengan mengoreksi saya!
Dengan asumsi saya kurang lebih benar, saya tidak mengerti bagaimana perusahaan seperti CloudFlare atau DynamicDNS dapat menawarkan layanan tipe-instan "rollover" di mana Anda mengubah catatan DNS Anda dengan mereka dan - boom - perubahan itu mempengaruhi secara instan.
Saya mengerti ada sesuatu yang disebut "TTL" (waktu untuk hidup, saya kira?!?) Yang berperan dalam kemampuan rollover instan ini, tetapi karena saya sudah tidak jelas pada kemampuan untuk memulai dengan sulit untuk memahami apa TTL ini atau tujuan apa yang dilayaninya.
Jadi saya bertanya: ada apa dengan Dynamic DNS dan pesaingnya yang memungkinkan mereka untuk mengubah pemetaan DNS secara instan (tanpa mengambil 24 jam untuk menyebarkan perubahan DNS seperti orang lain), dan bagaimana TTL masuk ke dalam proses ini? Terima kasih sebelumnya.
sumber
Anda memiliki beberapa kesalahpahaman, jadi saya akan mencoba menjelaskan seluruh proses. (Saya baik dengan detail karena saya terlibat dalam mengoperasikan layanan DNS dinamis publik).
Katakanlah domain Anda adalah example.com , dan misalkan domain example.com di-host dengan beberapa perusahaan DNS dinamis, sebut saja lightfastdns.net (nama fiksi). Domain Anda berisi data DNS - somehost.example.com , yang saat ini mengarah ke 1.1.1.1 .
Ketika Anda membuat perubahan pada catatan DNS Anda, perubahan ini pertama kali dikirimkan ke beberapa server perantara, yang dioperasikan oleh lightfastdns.net, misalnya pembaruan.lightfastdns.net . Ini terjadi hampir secara instan (dalam sepersekian detik). Anda dapat mengirimkan pembaruan Anda melalui antarmuka web atau dengan klien pembaruan dinamis, atau melalui beberapa API. Itu tidak masalah, dalam hal apa pun pembaruan ini akan tiba di beberapa server yang menangani pembaruan DNS.
Server pembaruan ini mendorong catatan Anda yang diperbarui (katakanlah, 1.2.3.4 ) ke " master " server DNS untuk domain Anda. Server DNS ini juga dioperasikan oleh lightfastdns.net . Seberapa cepat itu terjadi: tergantung pada bagaimana penyedia DNS merancang perangkat lunak mereka. (Ini bisa instan, dan bisa setiap 24 jam. Misalnya gandi.net mendorong pembaruan DNS sekali per jam.) Tentu saja, lightfastdns.net kami akan melakukannya secara instan.
Ini Master DNS server yang akan mendorong pembaruan ke slave server DNS untuk example.com domain. Server ini juga dioperasikan oleh perusahaan lightfastdns.net yang sama . Seberapa cepat ini terjadi: dengan master perangkat lunak modern akan langsung mengirim pesan PEMBERITAHUAN kepada para budak , dan mereka akan langsung mendapatkan catatan terbaru dari master. dengan perangkat lunak yang lebih lama kami memiliki nilai REFRESH dan RETRY dalam catatan SOA, tetapi hari ini jarang relevan. Tentu saja, lightfastdns.net kami mengimplementasikan PEMBERITAHUAN dan pembaruan menyebar secara instan.
Apa yang kita miliki sekarang adalah bahwa semua server "otoritatif" untuk domain Anda menerima catatan yang diperbarui ( 1.2.3.4 ). Untuk lightfastdns.net butuh waktu sekitar dua detik.
Sekarang, kita akan pindah ke rumah Ivan di Rusia, dan Ivan ingin membuka " somehost.example.com " di browser-nya. Jika dia tidak pernah membukanya sebelumnya, browsernya tidak tahu alamatnya, jadi browser akan menanyakan sistem operasinya. Tetapi, jika dia mengunjungi situs tersebut baru-baru ini, alamatnya mungkin masih disimpan di dalam browser, dan dia akan menggunakan alamat lama (usang)! Untuk berapa lama ? - Tergantung pada browser, Google Chrome misalnya menyimpan catatan DNS hanya hingga 60 detik. Kami memiliki penundaan hingga 60 detik . untuk fakta ini, saya akan mengatakan bahwa perubahan DNS belum merambat ke browser ini.
Bagaimanapun, setelah 60 detik, atau segera, browser pada akhirnya akan meminta sistem operasi untuk mendapatkan alamat. Sistem operasi mungkin sudah tahu jawaban (lama, usang), dan mengembalikannya, dalam hal ini saya akan mengatakan bahwa catatan baru belum disebarkan ke OS Ivan. Berapa lama OS akan menyimpan nilai lama - dari sistem operasi modern ini dikendalikan oleh parameter TTL . TTL dalam DNS menentukan berapa lama catatan dapat disimpan dalam cache. Lightfastdns.net kami memungkinkan untuk menggunakan TTL yang sangat rendah - 30 detik, jadi kami mendapat penundaan baru hingga 30 detik, secara keseluruhan - sejauh 90 detik .
Jika OS tidak tahu jawabannya, atau jika jawaban yang diketahuinya sekarang sudah usang oleh TTL, OS akan menanyakan resolver DNS (ISP Ivan menugaskannya dengan resolver DNS dns.moscow-telecom.ru ). Di sini, catatan lama mungkin di-cache hingga detik TTL, atau dns.moscow-telecom.ru mungkin tidak tahu alamatnya. Kami mendapatkan 30 detik lagi, karena dns.moscow-telecom.ru juga melakukan cache DNS tidak lebih dari nilai TTL. Kami memiliki penundaan 120 detik . Itulah yang disebut bahwa catatan DNS baru belum disebarkan ke server DNS Moscow-Telecom .
Jika server DNS ISP tidak tahu jawabannya, atau jika jawaban itu tahu sudah usang karena TTL itu berakhir - dns.moscow-telecom.ru akan meminta salah satu otoritatif server DNS untuk example.net (apakah Anda ingat mereka?). Mereka mendapat perubahan sekitar 118 detik yang lalu, dan mereka akan mengembalikan jawaban baru, jawaban ini akan segera dikirim dengan rantai ke DNS resolver, ke OS, dan ke browser Ivan.
Dengan demikian, menyebarkan catatan memakan waktu 2 hingga 120 detik, tergantung pada keadaan berbagai cache. TTL yang lebih panjang - penundaan yang lebih lama dapat terjadi.
Untuk membuatnya lengkap - beberapa ISP melanggar standar dan catatan cache untuk waktu yang lama. Beberapa OS lama menyimpan catatan lama untuk waktu yang lama, dan browser yang lebih lama juga. Tetapi bagi sebagian besar pengguna itu akan berfungsi seperti yang diharapkan.
sumber
Tidak. Perubahan tidak perlu disebarkan ke setiap server DNS di dunia .
Jika Anda mengubah sesuatu dan seseorang meminta catatan yang diubah pada server DNS Anda hasilnya langsung.
Masalahnya adalah jika Anda menanyakan nama ini sebelumnya dan di-cache. Maka Anda akan mendapatkan IP lama hingga cache berakhir. Dalam DNS, Anda dapat menetapkan berapa lama kueri lama valid, dan periode itu sering diatur ke beberapa hari. Untuk DynDNS biasanya disetel lebih rendah, tetapi tidak semua resolver DNS menghormatinya.
sumber