RFC 1035: DNS – Pakety, zóny a záznamy pod mikroskopom
Ak sa pripravujete na CCNA, CCNP či sieťovú prax, určite sa stretnete s DNS – Domain Name System. Kým RFC 1034 opisuje hierarchiu, RFC 1035 je jeho ideálnym nasledovníkom – rieši presný formát DNS paketu, definíciu zónových súborov, formáty otázok i odpovedí. Táto rozšírená príručka vás prevedie detailmi – od binárneho formátu, cez kódovanie názvov, až po praktické AXFR laby.
Čo je RFC 1035?
RFC 1035 (november 1987) špecifikuje:
- binárny formát DNS paketu (Header, Question, Answer, Authority, Additional)
- Encoding menných reťazcov s pointer kompresiou
- typy Resource Record (A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT)
- mechanizmus zónových prenosov (AXFR/IXFR)
Cieľom je zabezpečiť interoperabilitu medzi DNS softvérom – každý by mal čítať i zapisovať tieto pakety správne.
DNS paket – hlavička a sekcie
Každý DNS paket má pevné časti:
- Header (12 bajtov): ID, flags, počty otázok / odpovedí / autorít / doplnkov
- Question: QNAME, QTYPE, QCLASS
- Answer / Authority / Additional: RR listing
Flags zahŕňajú: QR (dotaz alebo odpoveď), opcode, AA, TC, RD, RA, RCODE
Wireshark výpis (hex + interpretácia):
ID: 0x1a2b
Flags: 0x8180 – response, authoritative, rec. bits
QDCOUNT=1, ANCOUNT=2, NSCOUNT=1, ARCOUNT=0
Kodovanie názvov (label encoding)
Názvy sú zapísané ako dłžka + label, zakončené nulou:
www.example.com.
03 'w''w''w' 07 'e''x'...'e' 03 'c''o''m' 00
Pointer kompresia: namiesto opakovania labels sa používa 16‑bitový odkaz (najvyššie bity = 11).
Resource Records – presný formát
RR pozostáva z týchto častí:
- NAME: názov alebo pointer
- TYPE: číselná hodnota (napr. A=1, MX=15, SOA=6)
- CLASS: zvyčajne IN = internet
- TTL: čas platnosti v sekundách
- RDLENGTH + RDATA: dĺžka a obsah, podľa TYPE
Príklad RR:
www.example.com. 300 IN A 93.184.216.34
Zónový transfer – AXFR/IXFR
RFC 1035 definuje zónové prenosy:
- AXFR: full transfer – celý zónový súbor cez TCP
- IXFR: incremental transfer – len zmeny (vyžaduje review serial číslo v SOA)
Skúška v laboch:
dig @ns1.example.com example.com AXFR
; Transfer complete: got 12 records
Tu vidíte sekvenciu paketov cez TCP, vrátane START SOA a END SOA.
Praktické laby a packet captures
V našich laboratóriách s Cisco routermi a Bind servermi si môžete precvičiť:
- Konfiguráciu zóny – SOA, NS, A, MX, CNAME
- Vykonanie AXFR/IXFR a sledovanie TCP handshake + zóny
- Wireshark analýzu: binárne polia, kompresia názvov, flags v odpovediach
- Testovanie pointer kompresie – dvojité odkazy spojené v zozname
FAQ – časté otázky
- Prečo sú DNS pakety väčšinou cez UDP?
Pre rýchlosť a nízku réžiu – TCP sa používa pri truncation alebo AXFR.
- Čo znamená TC flag?
Truncated – odpoveď presahuje 512 bajtov, treba použiť TCP.
- Ako funguje pointer kompresia?
Elegantný spôsob ušetriť opakovanie názvov – pointer ukazuje na predchádzajúci výskyt.
- Prečo má SOA serial?
Na zistenie, či sa zóna zmenila – potrebné pre IXFR.
- Čo ak chýba RDATA pri MX?
Je tam poskytovateľ poštového servera a priorita – napr. “10 mail.example.com.”
Top 5 zaujímavých faktov o RFC 1035
- DNS packet header je len 12 bajtový – kompaktný, ale výkonný.
- Kompresia odkazmi šetrí zhruba 30 % paketov – dôležité v malých UDP odpovediach.
- AXFR beží vždy cez TCP – reťazec paketov nad 512 bajtov.
- TTLs v RR môžu rozdielne, napr. A=300, MX=86400.
- DNS balík sa skladá zo 4 sekcií – Header, Question, Answer, Authority, Additional.
Záver
RFC 1035 je štrukturálnym základom DNS implementácií – až po bit level. Ak zvládnete formáty DNS paketu, pointer kompresiu či AXFR lab zóny, budete mať pevný základ pre CCNA/CCNP skúšky a prax. Vďaka tomto know‑how dokonale porozumiete tomu, čo sa deje, keď zadáte www.example.com
do prehliadača – aj ak sa niečo pokazí.
Ako začať programovať?
Úvod do programovania pre každého bez prechádzajúcich znalostí.
Stiahnite si náš ebook teraz výnimočne zdarma!!!
Viac informacií preberáme na kurze:
Kurz NA0 - Administrácia LAN/WAN a návrh TCP/IP sietí - základné koncepty
Marián Knězek
Súvisiace články: