RFC 1035: DNS - Pakety, zóny a záznamy pod drobnohledem
Pokud se připravujete na CCNA, CCNP nebo síťovou praxi, určitě narazíte na DNS – Domain Name System. Zatímco RFC 1034 popisuje hierarchii, RFC 1035 je jeho ideálním následníkem – řeší přesný formát DNS paketu, definici zónových souborů, formáty dotazů a odpovědí. Tento rozšířený průvodce vás provede detaily – od binárního formátu přes kódování názvů až po praktické AXFR laby.
Co je RFC 1035?
RFC 1035 (listopad 1987) specifikuje:
- binární formát DNS paketu (Header, Question, Answer, Authority, Additional)
- kódování doménových řetězců s pointer kompresí
- typy Resource Record (A, AAAA, CNAME, MX, NS, PTR, SOA, SRV, TXT)
- mechanismus přenosu zón (AXFR/IXFR)
Cílem je zajistit interoperabilitu mezi DNS softwarem – každý by měl umět tyto pakety správně číst i zapisovat.
DNS paket – hlavička a sekce
Každý DNS paket má pevnou strukturu:
- Header (12 bajtů): ID, příznaky, počty dotazů / odpovědí / autorit / doplňků
- Question: QNAME, QTYPE, QCLASS
- Answer / Authority / Additional: seznam záznamů RR
Příznaky zahrnují: QR (dotaz nebo odpověď), opcode, AA, TC, RD, RA, RCODE
Wireshark výpis (hex + interpretace):
ID: 0x1a2b
Flags: 0x8180 – odpověď, autoritativní, rec. bity
QDCOUNT=1, ANCOUNT=2, NSCOUNT=1, ARCOUNT=0
Kódování názvů (label encoding)
Názvy se zapisují jako délka + label, zakončené nulou:
www.example.com.
03 'w''w''w' 07 'e''x'...'e' 03 'c''o''m' 00
Pointer komprese: místo opakování se použije 16bitový odkaz (nejvyšší bity = 11).
Resource Records – přesný formát
RR (záznam) se skládá z těchto částí:
- NAME: název nebo pointer
- TYPE: číselná hodnota (např. A=1, MX=15, SOA=6)
- CLASS: obvykle IN = internet
- TTL: doba platnosti v sekundách
- RDLENGTH + RDATA: délka a obsah podle typu
Příklad záznamu RR:
www.example.com. 300 IN A 93.184.216.34
Přenos zón – AXFR/IXFR
RFC 1035 definuje dva typy přenosu zón:
- AXFR: kompletní přenos – celá zóna přes TCP
- IXFR: inkrementální přenos – pouze změny (vyžaduje kontrolu serial čísla v SOA)
Lab příklad:
dig @ns1.example.com example.com AXFR
; Transfer complete: got 12 records
Zde vidíte sekvenci TCP paketů s úvodním a závěrečným SOA.
Praktické laby a zachytávání paketů
V našich Cisco a Bind laboratořích si můžete procvičit:
- Konfiguraci zóny – SOA, NS, A, MX, CNAME
- Provést AXFR/IXFR a sledovat TCP handshake + přenos zóny
- Wireshark analýzu: binární pole, komprese názvů, příznaky v odpovědích
- Testování pointer komprese – víceúrovňové odkazy
FAQ – časté otázky
- Proč se DNS většinou přenáší přes UDP?
Pro rychlost a nízkou režii – TCP se používá při truncation nebo AXFR.
- Co znamená příznak TC?
Truncated – odpověď přesahuje 512 bajtů, musí se přejít na TCP.
- Jak funguje pointer komprese?
Efektivní způsob ušetření místa – odkazuje na dříve použitou část názvu.
- Proč má SOA záznam pole serial?
K identifikaci změn v zóně – nezbytné pro IXFR.
- Co když u MX chybí RDATA?
Musí obsahovat prioritu a FQDN poštového serveru – např. “10 mail.example.com.”
Top 5 zajímavých faktů o RFC 1035
- Hlavička DNS paketu má pouze 12 bajtů – kompaktní a efektivní.
- Kompresí pomocí pointerů lze ušetřit až 30 % velikosti – zvlášť důležité u UDP.
- AXFR se vždy přenáší přes TCP – přenosy nad 512 bajtů.
- Různé TTL pro různé záznamy – např. A=300, MX=86400
- DNS paket se skládá ze 4 sekcí – Header, Question, Answer, Authority, Additional.
Závěr
RFC 1035 tvoří kostru DNS implementací – až po bitovou úroveň. Pokud zvládnete strukturu DNS paketu, pointer kompresi i AXFR v praxi, budete připraveni na zkoušky CCNA/CCNP i skutečné sítě. Díky těmto znalostem přesně pochopíte, co se děje, když do prohlížeče zadáte www.example.com
– a jak odhalit a opravit chybu.
Jak začít programovat?
Úvod do programování pro každého bez předchozích znalostí.
Stáhněte si náš ebook teď výjimečně zdarma!!!
Viac informacií preberáme na kurze:
Kurz NA0 - Administrace a návrh LAN/WAN TCP/IP sítí - základní koncepty
Marián Knězek