DNS W sieciach TCP/IP komputer jest rozpoznawany na podstawie adresu (numeru) IP czyli (w IPv4 jest to 32 bitowa liczba, adres IPv6 jest liczbą 128 bitową). Oprócz adresu IP komputer ma przyporządkowaną nazwę. Istnieje kilka konwencji nazywania komputerów, najczęściej spotykane to nazwy hosta, nazwy DNS oraz nazwy NetBIOS. Istnieją mechanizmy tłumaczące nazwy na numery IP i odwrotnie. Nazwa hosta. W czasach gdy istniała sieć ARPAnet każdy komputer miał przydzieloną własną unikalną nazwę. Nazwy wszystkich komputerów były przechowywane w pliku HOSTS.TXT. Plik ten musiał być ręcznie aktualizowany i centralnie zarządzany oraz rozsyłany z centrum do lokalnych komputerów (zarządzaniem zajmował się Stanford Research Institute Network Information Center). DNS. W miarę rozwoju sieci powyższe rozwiązanie stało się nieakceptowalne. Powstał Domain Name System system nazw domenowych, który jest rozproszonym systemem przechowującym informacje o nazwach komputerów i ich numerach IP. System ten zawiera mechanizmy tłumaczenia nazw. Nazwy te mogą być nazwami komputerów np. elf.ii.uj.edu.pl lub pewnych serwisów (uruchomionych na komputerach), np. www.ii.uj.edu.pl albo poczta.xx.yy.pl. Dane DNS w Internecie przechowywane są na serwerach nazw. Serwer DNS jest odpowiedzialny za swój fragment sieci i udostępnia swoje dane innym serwerom. (Można spotkać określenie serwer nazw, należy jednak pamiętać, że serwery DNS nie są jedynymi serwerami nazw, są jeszcze na przykład serwery WINS przechowujące informacje o nazwach NETBIOS). DNS jest systemem hierarchicznym i jego strukturę można przedstawić w postaci drzewa. Termin domena DNS jest często utożsamiany z poddrzewem drzewa DNS. DNS oznacza również protokół, który pozwala klientom i serwerom komunikować się ze sobą. Dostęp do serwera jest realizowany przez mechanizm określany czasem jako resolver (ta nazwa oznacza również plik konfiguracyjny np. w Unix /etc/resolv.conf). Resolver w Unix dostępny jest przez funkcje biblioteczne gethostbbyname, gethostbyaddr (można ich użyć pisząc programy komunikujące się przez sieć). Przestrzeń nazw DNS jest hierarchiczna i może być przedstawiana za pomocą drzewa z korzeniem bez nazwy, określanym też jako domena główna, root lub kropka. Od korzenia odchodzą gałęzie prowadzące do węzłów odpowiadających domenom górnego poziomu (TLD Top Level Domains). Od tych węzłów odchodzą gałęzie prowadzące do domen niższych poziomów. Jak już wspomniano, termin domena określa część przestrzeni nazw DNS (drzewa DNS) od wybranego węzła w dół hierarchii. Różne domeny zarządzane są przez różne instytucje/organizacje. Ciałem odpowiedzialnym za koordynację nazw domen górnego poziomu a także odpowiedzialnym za przypisywanie adresów IP jest IANA Internet Assigned Numbers Authority (http://www.iana.org/about/). 1
Ciałem nadzorującym od strony technicznej różne działania związane z uzyskiwaniem (rejestrowaniem) nazw domen, numerów Ip, numerów portów jest ICANN - Internet Corporation for Assigned Names and Numbers (http://www.icann.org/). Domeny górnego poziomu (http://www.iana.org/domains/root/db/): 1) arpa specjalna, wykorzystywana do odwzorowania adresów IP w nazwy. 2) Domeny podstawowe (generic, gtld) np: com organizacje komercyjne edu instytucje edukacyjne gov organizacje rządowe w USA mil wojsko USA int organizacje międzynarodowe net sieci org inne organizacje Nowe domeny podstawowe, np: aero przemysł lotniczy (http://www.nic.aero ) biz biznes (http://www.neustarregistry.biz) info dowolne zastosowanie (http://www.nic.info/) museum muzea (http://www.nic.museum/) name użytkownicy indywidualni (http://www.nic.name/) pro zawody (professions) (http://www.registrypro.com) coop cooperatives (http://www.cooperative.org/) i inne, np..asia,.eu,.cat,.jobs,.mobi,.tel,.travel. Są też w użyciu (część w fazie testów) domeny zapisane znakami narodowymi (np. znakami chińskimi czy tajskimi), w ramach Internationalised Domain Names (IDN). 3) Domeny geograficzne (krajowe, country- code cctld), np.: pl Polska uk Zjednoczone Królestwo at Austria de Niemcy us USA Kiedyś domeny takie jak com, edu były zarezerwowane tylko dla USA, obecnie tak nie jest. Domeny drugiego poziomu w wielu krajach domeny drugiego poziomu odzwierciedlają domeny organizacyjne pierwszego poziomu, ale ujmowane na swoim terytorium. Przykłady: edu.pl, com.pl. W niektórych krajach domeny drugiego poziomu określane są przez dwa znaki, nie trzy, np. w Zjednoczonym Królestwie: co.uk (zamiast com.uk), ac.uk (instytucje akademickie). W DNS (np. w plikach konfiguracyjnych) występują często tzw. absolutne nazwy domeny, inaczej zwane w pełni określonymi nazwami domeny (FQDN Fully Qualified Domain Name). FQDN jest to nazwa domeny zakończona kropką (np. ii.uj.edu.pl. ). Jeśli nazwa nie jest zakończona kropką, to może być jakoś uzupełniana. Obszar, inaczej strefa (zone) jest częścią systemu DNS, która jest oddzielnie administrowana. Domeny drugiego poziomu dzielone są na mniejsze strefy. Z kolei te strefy mogą być dalej 2
dzielone. Występuje tu delegowanie zarządzania w dół struktury drzewa. Jednostka odpowiedzialna za zarządzanie daną strefą decyduje ile będzie serwerów DNS w strefie, rejestruje i udostępnia nazwy i numery IP nowych komputerów zainstalowanych w strefie. W tej chwili jest na świecie 13 (typów) serwerów głównych (najwyższego poziomu) zwanych po angielsku root- servers, posiadającymi nazwy od a.root- servers.net do m.root- servers.net. Każdy z serwerów (o określonym numerze IPv4 i IPv6) może być uruchomiony w wielu lokalizacjach. Rozmieszczenie serwerów można zobaczyć tu: http://www.root- servers.org/. Nazwy serwerów i adresy IP można pobrać stąd: ftp://ftp.rs.internic.net/domain/named.root. Poszukiwania w DNS Poszukiwania w DNS mogą być: Proste, do przodu (forward) klient zna nazwę domenową, a chce uzyskać numer IP. Odwrotne (reverse) klient zna adres IP i chce uzyskać nazwę domenową. Przeszukiwanie odwrotne wykorzystuje domenę arpa.in- addr. Na przykład jeśli chcemy poznać nazwę domenową komputera o adresie 149.112.43.15, to w systemie DNS adres ten jest reprezentowany jako specyficzna nazwa w domenie arpa.in- addr. Ta nazwa to: 15.43.112.149.in- addr.arpa Typy serwerów DNS W każdej strefie musi być uruchomiony podstawowy serwer DNS oraz pewna liczba serwerów drugoplanowych, zapewniających usługi w razie awarii serwera podstawowego. Serwer podstawowy pobiera dane z pliku konfiguracyjnego, natomiast serwery drugoplanowe uzyskują dane od serwera podstawowego na drodze tzw. transferu strefy (zone transfer). Serwery drugoplanowe odpytują serwer podstawowy o dane w sposób regularny, zwykle co kilka godzin. Oprócz dwóch wymienionych rodzajów serwerów są jeszcze serwery podręczne (lokalne), których zadaniem jest zapamiętanie na pewien czas w pamięci podręcznej danych uzyskanych od innych serwerów tak, aby kolejne zapytania klientów mogły być obsłużone lokalnie. Serwery DNS działają na portach 53 UDP oraz 53 TCP. Na ogół w warstwie transportu używany jest UDP. Wyjątkiem jest m.in. transmisja danych z serwera podstawowego do drugoplanowego (większe porcje danych) oraz komunikaty w sieciach WAN. Również kiedy w odpowiedzi od serwera (przez UDP) ustawiony jest bit TC (patrz niżej) ponawiane jest zapytanie z wykorzystaniem TCP. Ze względu na sposób uzyskiwania odpowiedzi poszukiwania możemy podzielić na Przeszukiwanie rekurencyjne klient oczekuje od serwera żądanej informacji. W przypadku, gdy serwer nie przechowuje żądanej informacji, sam znajduje ją na drodze wymiany komunikatów z innymi serwerami. 3
Przeszukiwanie iteracyjne występuje między lokalnym serwerem DNS a innymi serwerami DNS. Jeśli odpytywany serwer nie zna szukanego adresu IP, odsyła pytającego do innych serwerów (odpowiedzialnych za daną domenę). Komunikacja klienta z serwerem DNS Przy odwołaniu do nazwy domenowej system zwykle najpierw sprawdza, czy nie jest to nazwa hosta lokalnego, następnie sprawdza plik hosts - o ile istnieje - (np. /etc/hosts, C:\WINDOWS\System32\Drivers\etc\hosts). Jeśli tam nie znajdzie odpowiedniego wpisu, to wysyłane jest zapytanie do pierwszego serwera DNS, którego adres znajduje się w pliku konfiguracyjnym (np. /etc/resolv.conf, w Windows adresy serwerów DNS wpisujemy w ustawieniach TCP/IP). Kolejność sprawdzania można zmienić. Standardowy sposób poszukiwania Klient pyta swój domyślny serwer DNS wysyłając zapytanie rekursywne. Odpytany serwer realizuje zapytania iteracyjne, zaczynając od serwerów głównych, które odsyłają do serwerów niższego poziomu. Mechanizm ten może się wydawać nieefektywny, ale w rzeczywistości dzięki temu, że serwery DNS zapamiętują na pewien czas informacje uzyskane z innych serwerów DNS (cache), często odpowiedź na zapytanie programu- klienta zostaje znaleziona bardzo szybko. Dynamiczny DNS (DDNS) Chyba najważniejsze wpisy w DNS dotyczą serwisów, np. www. Standardowo DNS obsługuje odwzorowanie nazw do statycznych adresów IP (przypisanych na stałe przez dostawcę Internetu). Można jednak skonfigurować odwzorowanie dla adresów zmieniających się dynamicznie. W tym celu należy skorzystać z odpowiednich usługodawców w Internecie, którzy przypisują nazwę do swojego IP i pewnego numeru portu, następnie zapytanie przekierowują do komputera ze zmiennym IP z ewentualną zmianą portu (np. na wypadek, gdyby dostawca Internetu blokował porty 80, 25 itd.). Na komputerze ze zmiennym IP należy zainstalować odpowiedni program (klient DDNS), który będzie powiadamiał serwer DDNS o zmianach adresu IP. Oddzielnym problemem, który należy rozwiązać, jest wykorzystanie serwera NAT i przypisywanie adresów prywatnych do serwisu w sieci. Na ogół wystarczy odpowiednie działanie klienta DDNS oraz odpowiednie skonfigurowanie serwera NAT (np. iptables w Linuksie). Przykładowe konfiguracje serwerów DNS Przykładowy plik /etc/resolv.conf (Unix) nameserver 149.156.78.3 nameserver 149.156.78.95 domain xx.yy.edu.pl 4
Podstawowe wpisy to po słowie nameserver numery IP kolejnych serwerów DNS, które mają być odpytywane w przypadku braku odpowiedzi od poprzedniego. Linia ze słowem domain oznacza domenę domyślną (tzn. co ma być dołączone do nazwy hosta w przypadku, gdy nie określono domeny, np. ftp gandalf). Może się pojawić linia podobna do domain, ze słowem search, po którym jest (maksymalnie sześć) nazw domen. Taka linia oznacza, że poszukiwania mają być prowadzone dla nazw z dołączonymi kolejno nazwami podanych domen. Popularną implementacją serwerów DNS w systemach Unix (Linux) jest BIND (Berkeley Internet Name Domain), pierwsza wersja została napisana przez studentów w początkach lat 80- tych w University of California, Berkeley. Wersja 9 została napisana od nowa (w 2000r.). Do pewnego momentu cała konfiguracja była zapisywana w plikach tekstowych, od wersji 9.4 można korzystać m.in. z baz danych PostgreSQL, MySQL, LDAP. Od marca 2013 jest dostępna wersja 9.9.2. Oficjalna strona WWW: https://www.isc.org/software/bind. Plik konfiguracyjny serwera named (bind): /etc/named.boot (starsze wersje bind) lub: /etc/named.conf (nowsze wersje bind) Główną częścią BIND jest proces o nazwie named. Skonfigurowanie bind może polegać na utworzeniu m.in. pliku /etc/named.conf (w starszych wersjach named.boot). Pliki te zawierają opcje działania programu i informacje o plikach stref. Przykładowy plik /etc/named.boot ; directory /var/named cache. root.cache primary xx.yy.edu.pl pl.edu.yy.xx primary abc.yy.edu.pl pl.edu.yy.abc primary 0.0.127.in- addr.arpa localhost.rev primary 78.156.139.in- addr.arpa 139.156.78 ; ; secondary servers ; secondary pl 148.81.16.51 148.81.4.16 secondary edu.pl 148.81.16.51 148.81.4.16 Przykładowy plik /etc/named.conf options { directory /var/named ; }; zone xx.yy.edu.pl { type master ; file xx.yy.edu.pl ; } 5
lub zone xx.yy.edu.pl { type master ; file xx.yy.edu.pl ; allow- transfer { 156.153.12.15; 142.13.165.2; }; } lub zone xx.yy.edu.pl { type slave ; file xx.yy.edu.pl ; allow- transfer { none; }; } W zone lub options może się pojawić dyrektywa allow- query (analogiczna do allow- transfer), która ogranicza adresy IP, z których mogą pochodzić zapytania. W katalogu /var/named należy utworzyć pliki stref, np. xx.yy.edu.pl Po każdorazowej zmianie w plikach konfiguracyjnych należy serwis restartować, np. w Linux Mandrake: /etc/rc.d/init.d/named restart Proces named powinien być startowany nie z prawami roota, tzn. należy utworzyć konto named, zamiast domyślnego shella np. /bin/bash należy wpisać np. /dev/null. Wówczas named należy uruchamiać np. tak: /usr/bin/named u named g named. Rekordy zasobów Każdy serwer DNS przechowuje informacje o tej części obszaru nazw DNS, dla której jest autorytatywny (administratorzy są odpowiedzialni za poprawność informacji). Informacje zapisywane są w postaci tzw. rekordów zasobów. Dla zwiększenia wydajności serwer DNS może przechowywać również rekordy zasobów domen z innej części drzewa domen. Istnieje szereg typów rekordów zasobów. SOA (Start of Authority) Rekord uwierzytelnienia pierwszy rekord w pliku strefy, określa podmiot odpowiedzialny od tego punktu hierarchii w dół, np.: 65.156.149.in- addr.arpa. IN SOA gandalf.xx.yy.edu.pl. root.gandalf.xx.yy.edu.pl. ( 2013041706 ; Serial 86400 ; Refresh 24 hours 7200 ; Retry 2 hours 2592000 ; Expire 30 days 86400 ; Minimum 24 hours ) lub: 6
@ SOA gandalf.xx.yy.edu.pl. root.gandalf.xx.yy.edu.pl. ( 2013041704 ; Serial 86400 ; Refresh 24 hours 7200 ; Retry 2 hours 2592000 ; Expire 30 days 86400 ; Minimum 24 hours ) lub: xx.yy.edu.pl SOA gandalf.xx.yy.edu.pl. root.gandalf.xx.yy.edu.pl. ( 2013041704 ; Serial 86400 ; Refresh 24 hours 7200 ; Retry 2 hours 2592000 ; Expire 30 days 86400 ; Minimum 24 hours ) Serial pole zawierające numer wersji pliku strefy, zwykle w polu tym odzwierciedlona jest data oraz numer wersji pliku w danym dniu (dwucyfrowy). Refresh określa jak często serwer pomocniczy ma sprawdzać na serwerze podstawowym, czy nie zachodzi potrzeba uaktualnienia plików. Retry czas, po którym serwer pomocniczy będzie ponownie próbował odtworzyć dane po nieudanej próbie odświeżenia. Expire maksymalny limit czasu, przez który serwer pomocniczy może utrzymywać dane w pamięci cache bez ich uaktualnienia. Minimum (Default TTL) domyślny czas, jaki ma być użyty dla rekordów, które nie mają określonego TTL. A Określenie adresu IPv4 (32 bitowego), dla hosta, np.: lambda A 139.156.78.29 AAAA Określenie adresu IPv6 (128 bitowego), dla hosta PTR rekord używany w zapytaniach wskazujących (odwrotnych), adres IP jest wpisany w postaci ciągu etykiet z domeny in- addr.arpa 10 PTR virgo.xx.yy.edu.pl. CNAME (Canonical Name) Nazwa kanoniczna zapisywana jako nazwa domeny, jest aliasem, np.: www.ii.uj.edu.pl CNAME virgo.ii.uj.edu.pl HINFO Informacja o hoście (CPU i system operacyjny), od pewnego czasu ze względów bezpieczeństwa takie rekordy występują rzadko. Przykład: lambda A 139.156.78.29 HINFO "Sun IPX" "SunOS 4.1.4" MX Rekord wymiany poczty. Umożliwia również dostarczenie poczty do hosta alternatywnego, jeśli oryginalny nie działa. Umożliwia tworzenie fikcyjnych hostów, np. ii.uj.edu.pl MX elf.ii.uj.edu.pl. NS Rekord serwera nazw określa nazwę autorytatywnego serwera nazw dla danej domeny, np.: NS gandalf.xx.yy.edu.pl. 7
Polecenia host oraz nslookup Serwery nazw mogą być odpytane przez polecenie dig, nslookup oraz host (patrz help lub man). DHCP (Dynamic Host Configuration Protocol, RFC 1541, 1533, 1534 (współpraca z BOOTP), nowsze 2031, 2032) Wadą BOOTP jest statyczny sposób przydzielania numerów IP. Przydział dynamiczny umożliwia pracę (ale nie jednoczesną) kilku (wielu) komputerów z przydzielonym jednym numerem IP. Serwer DHCP przydziela adresy IP dynamicznie. Obecnie w bardzo wielu sieciach lokalnych komputery nie mają na stałe wpisanych IP, ale pobierają IP od serwera DHCP w momencie startu systemu. Serwer DHCP wykorzystuje trzy metody przypisywania adresów: a) przydział statyczny IP do danego komputera (ustawienie ręczne, danemu adresowi MAC jest przypisywany stale jeden na stałe wybrany IP), b) automatyczny przydział statyczny przy pierwszym starcie komputera i kontakcie z serwerem, c) przydział dynamiczny, w którym serwer wynajmuje adres IP na określony czas. DHCP umożliwia budowanie autokonfigurujących się systemów. Oprócz przydzielenia adresu IP serwer DHCP przesyła do komputera klienta również inne dane konfiguracyjne, np. adres sieci, maskę sieci, adres domyślnego rutera (bramy). 8
Stany klienta DHCP (najważniejsze przejścia): [ ] / DHCPDISCOVER WYBIERZ DHCPOFFER / [ ] [ ] / DHCPRQUEST INICJUJ DHCPNACK LUB skończył się czas wynajmu PRZEWIĄŻ DHCPNACK / [ ] DHCPREQUEST (minął czas przewiązywania stand. 87,5% czasu wynajmu) ODNÓW PROŚBA DHCPACK / [ ] DHCPACK / [ ] DHCPACK / [ ] POWIĄZANI E Konwencja etykietowania krawędzi: [ ] oznacza brak komunikatu, komunikat otrzymany od serwera / komunikat wysłany Serwer definiuje trzy zegary: czasu wynajmu, czasu odnawiania oraz czasu przewiązywania (mogą być jawnie określone bądź domyślne). Zegary te są startowane u klienta w stanie Powiązanie. Format komunikatu DHCP Materiał z tego punktu nie jest obowiązujący do egzaminu. Większość pól jest taka jak w komunikacie BOOTP. [ ] / DHCPREQUEST (minął czas odnawiania - stand. 50% czasu wynajmu) [ ] / DHCPRELEASE (skasowanie wynajmowania) Bity: 0 8 16 24 Operacja Typ sprz. Dł. adr. sprz. Etapy Identyfikator transakcji Sekundy Znaczniki (używany jest tylko najstarszy bit w celu zażądania odpowiedzi typu rozgłaszanie sprzętowe) Adres IP klienta Twój adres IP Adres IP serwera 9
Adres IP rutera Adres sprzętowy klienta (16 oktetów) Nazwa węzła serwera (64 oktety. Tu mogą się znaleźć opcje, jeśli pole nie jest używane standardowo) Nazwa pliku startowego (128 oktetów. Tu mogą się znaleźć opcje, jeśli pole nie jest używane standardowo) Opcje. Tu specyfikowany jest typ komunikatu DHCP (kod (53), Długość (1), Typ (1-7)) (zmienna długość)... Informacje uzupełniające Informacje z tego rozdziału należy traktować jako uzupełniające i nieobowiązujące do egzaminu. Format komunikatu DNS Zarówno dla zapytania jak i odpowiedzi format jest jednakowy. Na początku jest 12- bajtowy nagłówek, po którym następują pola zapytań i odpowiedzi o różnej długości. Bity: 0 15 16 31 Identyfikacja - ustawiane przez klienta, zwracane przez serwer, pozwala zidentyfikować odpowiedź. Znaczniki (omówione niżej) Liczba zapytań Liczba odpowiedzi (rekordów zasobów) Liczba autorytatywnych odpowiedzi Liczba dodatkowych rekordów Zapytania Odpowiedzi Autorytatywne Informacje dodatkowe Znaczniki (kolejno wg adresów): QR (1 bit) 0 oznacza zapytanie, 1 oznacza odpowiedź. Opcode (4bity) 0 standardowe zapytanie, 1- zapytanie odwrotne, 2 zapytanie o status serwera. AA (1 bit) autorytatywna odpowiedź. TC (1 bit) tzw. znacznik obcięty przy korzystaniu z UDP wielkość komunikatu (odpowiedzi) przekroczyła 512 bajtów i przesłano tylko pierwszych 512 bajtów (pozostałe odrzucono). 10
RD (1 bit) pożądana jest rekurencja, 1 oznacza zapytanie rekurencyjne (serwer sam ma obsłużyć zapytanie), 0 oznacza zapytanie iteracyjne (jeśli serwer nie ma odpowiedzi, to powinien przesłać listę serwerów DNS, z którymi klient powinien się skontaktować). RA (1 bit) 1 oznacza, że w serwerze jest dostępna rekurencja. Pole puste 3 bitowe ustawiane na 000. Pole rcode (4 bity) kod odpowiedzi, 0 oznacza brak błędów, 3 oznacza błąd nazwy. Pole zapytania Tu klient umieszcza nazwę, o którą pyta. Nazwa składa się z jednej lub kilku etykiet, z których każda poprzedzona jest bajtem określającym rozmiar etykiety (w znakach). Maksymalny rozmiar jednej etykiety wynosi 63 znaki. Za nazwą w polu zapytania określa się typ zapytania (16 bitów) oraz klasę zapytania (16 bitów). Klasa zapytania ustawiana jest w Internecie na 1. Przykład przesyłanej nazwy (bajty oddzielone są przecinkami): 5,s,i,g,m,a,7,w,s,b,-,n,l,u,3,e,d,u,2,p,l Przykładowe typy zapytań: Typ wartość liczbowa opis A 1 adres IP NS 2 serwer nazw CNAME 5 nazwa kanoniczna PTR 12 rekord wskazujący HINFO 13 informacje o hoście MX 15 rekord wymiany poczty AXFR 252 zapytanie o transfer obszaru ANY 255 zapytanie o wszystkie rekordy Typy odpowiedzi są takie jak powyżej, z wyjątkiem dwóch ostatnich (występują tylko w zapytaniach). Najczęściej używany typ to A zapytanie o adres IP hosta, którego nazwa jest przesłana w zapytaniu. Obszar komunikatu DNS zawierający odpowiedź Trzy ostatnie pola komunikatu DNS mają jednakową strukturę. Struktura ta określana jest mianem rekordu zasobów. Rekord zasobów: Nazwa domeny (32 bity) format taki jak format nazwy w polu zapytanie. Pole to zawiera nazwę domeny, do której odnosi się reszta danych w rekordzie. Typ (16 bitów) kody takie jak typy zapytań Klasa (16 bitów) wartość 1 (jak w zapytaniu) Czas życia (32 bity) liczba określająca ile sekund pole ma być przechowywane w pamięci podręcznej (zwykle 2 dni) Długość danych zasobu (16 bitów) (długość następnego pola w oktetach) 11
Dane zasobu (zmienna długość) format zależy od pola typ, np. dla typu A jest to 32bitowy adres IP. 12