Bagaimana mungkin Server Nama Root untuk menangani semua permintaan DNS?

18

Saya membaca tentang DNS beberapa hari yang lalu dan mempelajari bagaimana permintaan diproses. Jika Anda menjelajahi www.example.com, maka permintaan akan masuk ke Root Name Server untuk melihat siapa yang memiliki alamat .com tersebut, lalu permintaan lain akan pergi ke server DNS lain yang lebih lokal untuk melihat siapa yang memiliki example.com alamat dan sebagainya.

Bagaimana mungkin secara teknis bahwa 13 Server Nama Root dapat menangani semua permintaan yang dilakukan oleh milyaran pengguna Internet secara simultan tanpa harus melakukan apa pun?

Rox
sumber
11
Omong-omong, ringkasan Anda tentang cara kerja DNS salah. Pertanyaan yang diajukan ke server nama root bukanlah "siapa yang memiliki .com?" tetapi "apa alamat IP dari www.example.com?" (server nama root membalas dengan referensi ke pemilik .com). Server nama root melihat seluruh permintaan (yang berguna untuk statistik, penggalian data, dll).
bortzmeyer
@bortzmeyer Alasan utama seluruh nama dikirim ke server root adalah karena tidak setiap titik dalam nama merupakan batas otoritas. Dalam praktiknya saya percaya selalu ada batas otoritas di bawah TLD, tetapi pada prinsipnya itu tidak dijamin. Oleh karena itu di beberapa titik di masa depan, mungkin diputuskan untuk memperkenalkan TLD khusus di mana lapisan kedua ditangani oleh server root sehingga ketika Anda meminta server root untuk a.b.c.exampleAnda akan diberitahu siapa yang bertanggung jawab c.exampledaripada siapa yang bertanggung jawab example.
kasperd

Jawaban:

51

Mereka 13 cluster server yang sangat tersedia , bukan hanya 13 server.

Antara lain, operator nameserver root diharuskan memiliki kapasitas yang cukup untuk menangani tiga kali beban lalu lintas normal ( RFC 2870 ). Ini mengarah pada kelompok yang agak besar.

Namun, nameserver root hanya melayani tanggapan untuk domain tingkat atas diri mereka sendiri, yaitu com., net., uk., ae., dll, dan nameserver yang permintaan akar bisa cache informasi ini hingga 48 jam , yang secara dramatis mengurangi beban di nameserver root. Ini mengarah pada kelompok yang lebih kecil.

Server nama root ada di lebih dari 130 lokasi fisik di 53 negara; dengan hanya 13 nama server, ini dilakukan melalui keajaiban IPv4 anycast.

Server nameserver root juga memiliki situs web sendiri , yang mungkin Anda temukan bacaan yang menarik.

Michael Hampton
sumber
48 h adalah TTL dari catatan NS di root. Tapi itu bisa ditimpa oleh server nama TLD itu sendiri. Misalnya, untuk .jp, hanya 24 jam.
bortzmeyer
Yah, kita sedang berbicara tentang root nameserver di sini. :)
Michael Hampton
RFC 2870 cukup ketinggalan zaman hari ini. Karena serangan dDoS, server nama root harus siap untuk menjawab lebih dari tiga kali lalu lintas normal.
bortzmeyer
8
53 negara? apakah ini kebetulan atau mereka memilihnya seperti port permintaan DNS ?? : D
amyassin
10

Mereka tidak melakukannya. Root nameserver hanya perlu memberi tahu Anda apa yang menangani nameserver com. Mulai saat itu, Anda tidak perlu pergi ke mereka untuk menangani domain apa pun di dalamnya com. Server nameserver root tidak tahu siapa yang memiliki example.com. Mereka root nameserver, bukan com nameserver.

Apa yang dikatakan slimsuperhero juga benar. Banyak server nama volume tinggi menggunakan siaran apa saja untuk memiliki satu alamat IP yang dilayani oleh sejumlah server di seluruh dunia.

David Schwartz
sumber
Tetapi jika 1 miliar pengguna berselancar ke alamat .com yang berbeda pada detik yang sama, akankah server nama root menangani semua permintaan?
Rox
3
Tidak. Untuk satu hal, pengguna hanya berbicara dengan nameserver rekursif (yang menghubungkan ke server nama lain untuk mendapatkan jawaban) dan server nama root tidak bersifat rekursif (mereka hanya menyajikan informasi lokal yang sudah mereka ketahui). Pengguna berbicara dengan server nama mereka sendiri (biasanya disediakan oleh ISP mereka) yang hanya perlu menanyakan server nama root sekali untuk server yang menangani com.
David Schwartz
1
@ Davidvidchwartz benar - jadi alih-alih satu miliar permintaan dari satu miliar pengguna, mereka hanya akan mendapatkan sekitar satu juta permintaan dari satu juta ISP, yang masing-masing melayani seribu pengguna.
Shadur
@ Shadur: Sekarang, nameserver untuk comdi sisi lain harus mengalahkan jauh lebih besar.
David Schwartz
1
Dan saya cukup yakin mereka diskalakan dan dikelompokkan dengan tepat.
Shadur
6

Setiap server root sebenarnya bukan server, mereka adalah sekelompok besar server. Selain itu, jawaban DNS di-cache sehingga tidak setiap permintaan mencapai server root.

Gevial
sumber
3

Perhatikan bahwa Anda tidak menggunakan server root. Anda biasanya menggunakan server DNS yang disediakan oleh Penyedia Layanan Internet Anda yang biasanya dapat segera merespons jika informasi yang Anda butuhkan ada dalam cache lokal mereka. Hanya jika tidak di-cache, server DNS hulu mereka diminta dan hanya server root yang diminta (dan respons itu kemudian di-cache)

Thorbjørn Ravn Andersen
sumber
0

Sebenarnya ini 13 alamat IP Anycast yang menyelesaikan banyak server di seluruh dunia. Anda dapat melihat Tautan untuk menemukan server-server itu jika diperlukan. Semua server ini dikelola oleh otoritas terkait.

Fakta bahwa kita masih menggunakan hanya 13 alamat IP (Dan sekelompok server yang memiliki alamat IP yang sama) adalah untuk memastikan bahwa ukuran paket tidak akan melampaui 512 byte. Lalu mengapa? kami memiliki TCP yang dapat melampaui ukuran paket ini mengapa kami tidak dapat menggunakannya ?. Masalahnya adalah, TCP melibatkan overhead yang sangat tinggi karena mencakup beberapa langkah dan prosedur untuk membangun koneksi TCP. Karena itu, seluruh proses permintaan DNS akan berjalan lambat.

Hal-hal seperti DNS tidak pernah bisa lambat dan itu sebabnya kami masih menggunakan sistem lama yang sama.

Jaison
sumber
Jawaban atas permintaan untuk .tidak lagi cocok dalam 512 byte. Karena IPv6 sekarang menjadi kebutuhan, jawabannya telah berkembang menjadi 811 byte. Dengan EDNS yang dapat dikembalikan dalam satu respons. Namun pertanyaan untuk .tidak diperlukan begitu sering sehingga beberapa perjalanan pulang pergi adalah showstopper. Hal ini terutama diperlukan bagi para receptor untuk mempelajari perubahan terbaru pada alamat IP root, yang jarang berubah.
kasperd
@kasperd saya tidak yakin. Saya memeriksa menggali + jejak untuk catatan A normal atau catatan AAAA dan semua tanggapan (dari server tingkat Root, server tingkat atas atau dalam server nama) berada di bawah 508 hingga 509 byte. Bisakah Anda menjelaskan lebih banyak tentang itu?
Jaison
Anda perlu menggunakan EDNS atau TCP untuk mendapatkan respons penuh. Permintaan UDP tanpa EDNS tidak pernah mendapatkan respons lebih dari 512 byte.
kasperd