Zestaw 9¶
DNS¶
Zaimplementuj prostego klienta usługi DNS, który rekurencyjnie znajduje odpowiedź typu A
(mapowanie adresu domenowego na IPv4).
Na stronie ćwiczeń znajdują się materiały dotyczące protokołu DNS i prosta implementacja klienta DNS, która nie zawiera rekurencyjnego wyszukiwania odpowiedzi.
Możesz przetestować działanie swojego klienta na następujących przykładach:
random.tcs.uj.edu.pl
->149.156.75.213
. Wyszukiwanie może wyglądać mniej więcej tak:a.root-servers.net
->a-dns.pl
->a.jetta.uoks.uj.edu.pl
.sieci.tcs.uj.edu.pl
->149.156.75.213
. W tym wyszukiwaniu okazuje się, że domenasieci.tcs.uj.edu.pl
nie ma wpisuA
, ale jest wpisemCNAME
przekierowującym dorandom.tcs.uj.edu.pl
.www.tcs.uj.edu.pl
->149.156.169.67
. W tym wyszukiwaniu okazuje się, że domenawww.tcs.uj.edu.pl
nie ma wpisuA
, ale jest wpisemCNAME
przekierowującym doproxy.prod.portal.uj.edu.pl
, które wskazuje na149.156.169.67
.serwer.sieci.tcs.ovh
->149.156.75.212
. Wyszukiwanie może wyglądać mniej więcej tak:a.root-servers.net
->d.nic.fr
->ns102.ovh.net
. Dodatkową komplikacją jest to, że serwerd.nic.fr
nie podaje adresów IP w sekcji additional i trzeba je samemu wyszukać.
Swoją implementację możesz oprzeć o dostarczony szablon.