Kami memiliki dua server DNS yang tercantum dalam catatan NS kami. Tadi malam, salah satu server DNS kami turun. Seperti yang diharapkan, beberapa server DNS tidak menyelesaikan nama host kami. Saya berasumsi ini akan bersifat sementara dan akan mulai bekerja setelah TTL dari catatan NS kami akan kedaluwarsa (1 jam).
Satu jam kemudian, saya masih mendapatkan DNS timeout dari desktop yang menggunakan Earthlink, Verizon dan OpenDNS severs. Saya menguji untuk melihat apakah server DNS lain menjawab:
dig @ns2.example.com www.example.com +short
Ini berhasil.
Pertanyaan saya:
- Apakah ada yang punya jawaban mengapa server DNS lain tidak mengenai server DNS kami yang lain bahkan setelah TTL kedaluwarsa?
- Apakah server DNS lebih memilih server DNS utama domain (dari
SOA
catatan)? - Apakah ada algoritma yang digunakan untuk memilih server nama dari catatan NS yang tersedia? Saya berasumsi ini adalah implementasi khusus tetapi mungkin ada beberapa standar yang berlaku di sini.
domain-name-system
bind
isp
Belmin Fernandez
sumber
sumber
Jawaban:
Ini adalah iritasi yang tidak menguntungkan. Beberapa server DNS seharusnya meningkatkan keandalan, tetapi dalam praktiknya seringkali memiliki efek sebaliknya.
Masalahnya adalah bahwa klien hanya menunggu respon yang begitu lama, dan server menunggu dengan jumlah waktu yang sama. Katakanlah Anda memiliki dua server DNS, A dan B. Say A berfungsi dan B telah gagal. Ini terjadi:
Klien terhubung ke server nama Z dan meminta informasi. Z memilih B dan mengirim kueri.
Klien kehabisan waktu karena server nama Z tidak merespons.
Klien mencoba server nama Y. Y memilih B dan mengirim kueri.
Beri nama server Z waktu habis dan coba A. Ia mendapat jawaban yang benar, tetapi klien tidak menunggu lagi.
Klien kehabisan waktu karena server nama Y tidak merespons.
Klien menyerah, karena kedua server namanya gagal merespons.
Beri nama server Y waktu habis dan coba A. Ini mendapatkan jawaban yang benar, tetapi klien tidak menunggu lagi.
Dan tidak ada solusi yang baik. Semakin lama Anda menunggu untuk melihat apakah server nama membalas, semakin lama Anda harus menunggu karena server nama yang Anda tunggu sendiri menunggu lebih lama. Boleh dibilang, masalahnya adalah bahwa Y dan Z tidak menyerah pada B cukup cepat.
Pada dasarnya, jika ada server nama Anda yang keluar, beberapa klien akan, melalui nasib buruk semata, berhenti karena mereka hanya mencoba yang buruk.
Sisi baiknya, jika Anda memiliki dua server nama dan satu gagal, sekitar 75% server nama akan mendapatkan jawaban, bukan 0%.
sumber
Z
) tidak akan melakukan cache nameserver mana yang terakhir digunakan yang berfungsi?