Ringkasnya
Protokol DNS awalnya dirancang untuk berjalan di atas IPv4 + UDP, dengan payload UDP maksimum tanpa fragmentasi sebesar 512 byte. Daftar root nameserver harus muat dalam satu paket respons UDP (agar tidak beralih ke TCP, yang menambah latensi dan kerumitan). Jika dihitung mundur dari tata letak byte pesan DNS, jumlah maksimum root server yang muat adalah 13. Angka ini bukan dipilih karena "kebetulan cukup" — ini batas keras protokol sejak 1995, yang dipertahankan sampai sekarang demi kompatibilitas dengan miliaran perangkat.
1. Batasan Keras Protokol: 512 Byte
1.1 MTU IPv4 dan UDP tanpa fragmentasi
Jaringan ARPANET / IPv4 awal mewajibkan MTU minimum 576 byte. Setiap host harus mampu menerima paket sebesar ini, jika tidak, keterjangkauan paling dasar pun tidak bisa dijamin (RFC 791).
Total Length is the length of the datagram, measured in octets,
including internet header and data. This field allows the length of
a datagram to be up to 65,535 octets. Such long datagrams are
impractical for most hosts and networks. All hosts must be prepared
to accept datagrams of up to 576 octets (whether they arrive whole
or in fragments). It is recommended that hosts only send datagrams
larger than 576 octets if they have assurance that the destination
is prepared to accept the larger datagrams.- Panjang total 576 byte − header IP umum 20 byte − header UDP 8 byte ≈ 548 byte yang dapat dipakai (dengan opsi IP, header bisa mencapai 60 byte, sehingga sisanya lebih sedikit)
- RFC 1035 § 4.2.1 memilih pangkat dua yang lebih konservatif, 512 byte, sebagai batas keras DNS over UDP — tetap aman meskipun header IP membawa opsi penuh
- Jika respons UDP melebihi 512 byte, respons harus dipotong dengan flag TC diaktifkan, sehingga klien terpaksa beralih ke TCP — dan three-way handshake TCP melipatgandakan latensi resolusi pertama
Dengan kata lain, "daftar root server lengkap harus muat dalam satu paket UDP 512 byte" — jika tidak, setiap kueri root di seluruh dunia harus lewat TCP, yang pada perangkat keras tahun 1980-an hampir sama dengan lumpuh.
1.2 Tata letak byte pesan DNS
Struktur respons lengkap untuk kueri record NS milik . (server mengembalikan semua record NS root beserta record A glue):
Header (12 byte)Rumus panjang total:
L(N) = 12 + 5 + 31 + 15(N-1) + 16N = 31N + 33Dengan memasukkan batas 512 byte:
31N + 33 ≤ 512 ⇒ N ≤ 15.45Secara teori ini memungkinkan hingga 15 grup, tetapi perlu ruang cadangan untuk tanda tangan DNSSEC, pseudo-record EDNS0 OPT, dan padding field, sehingga ditetapkan 13 grup — RFC 2010 (1996) menetapkan kriteria operasional root server, dan jumlahnya tidak berubah sejak M-root beroperasi tahun berikutnya.
1.3 Uji sendiri — <code>dig +noedns -t ns .</code> mengembalikan sekitar 490–510 byte
Itu teorinya. Sekarang mari kita benar-benar bertanya ke root server dengan dig dan melihat seberapa besar respons sebenarnya:
$ dig +noedns -t ns .
; <<>> DiG 9.10.6 <<>> +noedns -t ns .
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35973
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 15
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
. 430502 IN NS a.root-servers.net.
. 430502 IN NS b.root-servers.net.
… (total 13 record NS, c–l dihilangkan)
. 430502 IN NS m.root-servers.net.
;; ADDITIONAL SECTION:
a.root-servers.net. 516909 IN A 198.41.0.4
b.root-servers.net. 562547 IN A 170.247.170.2
… (ke-13 record glue A semuanya muat)
m.root-servers.net. 516941 IN A 202.12.27.33
a.root-servers.net. 516930 IN AAAA 2001:503:ba3e::2:30
b.root-servers.net. 562547 IN AAAA 2801:1b8:10::b
↑ hanya 2 record AAAA yang muat — paket sudah penuh
;; Query time: 8 msec
;; SERVER: 192.168.1.1#53
;; MSG SIZE rcvd: 492
Baris kunci di akhir — total respons sekitar 490–510 byte, dengan aman di bawah 512 (angka pastinya bergantung pada root yang ditanya dan berapa record glue IPv6 yang dikembalikan) — sesuai dengan anggaran byte di atas. Perhatikan flag +noedns: dig mengirim EDNS0 secara bawaan, yang menghasilkan respons jauh di atas 800 byte. Justru karena itulah 512 byte tidak lagi menjadi batas keras setelah EDNS0 didukung luas — tetapi angka 13 sudah terkunci saat itu.
2. Dari Mana Angka 13? Sejarah Singkat
Angka ini tidak ditetapkan sejak awal. Jumlah root server mengalami beberapa kali perluasan; setelah M-root (WIDE, Jepang) beroperasi pada 1997, jumlahnya tidak pernah berubah lagi:
| Tahun | Jumlah | Peristiwa Kunci |
|---|---|---|
| 1984 | 4 | Desain awal protokol DNS, semua server berada di AS |
| 1991 | 7 | Penambahan node akademik / Departemen Pertahanan AS |
| 1995 | 9 | RIPE NCC bergabung (K-root) — yang pertama di Eropa |
| 1997 | 13 | WIDE Project bergabung (M-root) — yang pertama di Asia, jumlah terkunci |
| 2007 | 13 | Dukungan dual-stack IPv6 ditambahkan, tetapi "jumlah grup" IP tetap |
| 2023 | 13 | USC-ISI memindahkan IP B-root ke 170.247.170.2 (IP lama 199.9.14.201 dipensiunkan) |
Setelah terkunci di angka 13, nama huruf A sampai M tidak pernah berubah — hanya perangkat keras yang ditingkatkan dan mirror anycast yang ditambah. File root hint internet (named.root) sudah lama tertanam dalam kode miliaran resolver rekursif dan klien stub; mengubah satu angka saja berarti meningkatkan seluruh internet.
3. Tetapi Apakah Benar Hanya Ada 13 Mesin di Seluruh Dunia?
Tidak. Ini kesalahpahaman yang paling umum. "13 grup root server" mengacu pada 13 nama NS (a–m.root-servers.net), masing-masing terpetakan ke satu alamat IPv4 dan satu alamat IPv6 — bukan 13 mesin fisik.
Di balik setiap IP ada sebuah klaster anycast — alamat IP yang sama diumumkan melalui BGP secara bersamaan oleh ratusan datacenter di seluruh dunia, dan kueri DNS pengguna dirutekan ke mirror terdekat berdasarkan RTT. Saat sebuah root server "down", biasanya itu hanya berarti mirror di satu kota sedang dalam pemeliharaan — resolusi global tidak terpengaruh.
Status 13 Grup Root Server pada 2024
| Huruf | Operator | IPv4 | IPv6 | Mirror Anycast |
|---|---|---|---|---|
| A | Verisign, Inc. | 198.41.0.4 | 2001:503:ba3e::2:30 | 53 |
| B | Information Sciences Institute (USC) | 170.247.170.2 | 2801:1b8:10::b | 6 |
| C | Cogent Communications | 192.33.4.12 | 2001:500:2::c | 12 |
| D | University of Maryland | 199.7.91.13 | 2001:500:2d::d | 187 |
| E | NASA Ames Research Center | 192.203.230.10 | 2001:500:a8::e | 254 |
| F | Internet Systems Consortium | 192.5.5.241 | 2001:500:2f::f | 274 |
| G | US DOD Network Information Center | 192.112.36.4 | 2001:500:12::d0d | 6 |
| H | US Army Research Laboratory | 198.97.190.53 | 2001:500:1::53 | 17 |
| I | Netnod | 192.36.148.17 | 2001:7fe::53 | 75 |
| J | Verisign, Inc. | 192.58.128.30 | 2001:503:c27::2:30 | 168 |
| K | RIPE NCC | 193.0.14.129 | 2001:7fd::1 | 113 |
| L | ICANN | 199.7.83.42 | 2001:500:9f::42 | 218 |
| M | WIDE Project | 202.12.27.33 | 2001:dc3::35 | 12 |
| Total mirror anycast (2024) | 1395 | |||
Tiongkok daratan (Beijing, Shanghai, Shenzhen, Guangzhou, Hefei, dan lainnya) menampung node mirror anycast untuk beberapa root server termasuk F / I / J / K / L; RTT terukur ke root server dari dalam Tiongkok biasanya di bawah 20ms.
4. Setelah EDNS0, 512 Byte Tidak Lagi Menjadi Batas Nyata
Anda mungkin bertanya: paket DNS berukuran 4KB atau lebih kini sudah umum, jadi mengapa tidak "melampaui 13" saja?
- EDNS0 (RFC 2671 pada 1999, kini RFC 6891) — menegosiasikan payload UDP yang lebih besar (umumnya 4096 byte), didukung oleh semua resolver modern
- DNSSEC mewajibkan EDNS0, karena data tanda tangannya saja sudah jauh melebihi 512 byte
- Fallback TCP — three-way handshake TCP modern ditambah TLS / cookie kini sudah murah
Namun daftar root server kini merupakan konsensus seluruh jaringan: setiap resolver rekursif di dunia menuliskan 13 grup ini secara permanen di file hint-nya (named.root), dan di balik resolver tersebut ada miliaran perangkat. Dorongan untuk berubah nol, sedangkan risikonya adalah internet global yang terpecah, sehingga angka ini hampir pasti akan tetap 13 selamanya.
Singkatnya: "13 grup" secara fisik sudah lama usang, tetapi secara rekayasa mustahil diubah.
5. Poin Penting
- Alasan historis: batas 512 byte DNS over UDP → batas matematis 15 grup → dipilih 13 dengan ruang cadangan, tetap sejak M-root beroperasi pada 1997
- Inersia protokol: memperbarui file hint di miliaran perangkat tidak realistis, sehingga angkanya tidak pernah berubah
- Kapasitas nyata: 1395+ node mirror anycast, sehingga risiko titik kegagalan tunggal nyaris nol
- Dapat dijangkau dari Tiongkok: beberapa root server termasuk F / I / J / K / L memiliki mirror di Tiongkok daratan, dengan RTT terukur < 20ms
Bacaan Lanjutan
- Tencent Cloud: Mengapa di Seluruh Dunia Hanya Ada 13 Grup Root NameserverSumber rujukan perhitungan panjang byte protokol dalam artikel ini
- Daftar Resmi Root Servers IANASumber otoritatif untuk operator / IP / jumlah mirror anycast
- Peta Sebaran Mirror Langsung root-servers.orgStatistik jumlah mirror global secara real-time
- RFC 1035 § 4.2.1 — DNS UDP usage Teks asli batas 512 byte
- RFC 6891 — Extension Mechanisms for DNS (EDNS0) Cara melampaui 512 byte