Cum functioneaza sistemul DNS - Domain Name System
Datorita faptului ca oricine a intrat pe Internet si a accesat un site web, a folosit si implicit sistemul DNS, as vrea sa fac o introducere despre ce inseamna DNS, si poate sa intru si in cateva detalii mai tehnice.
Asadar, Internet-ul este o retea de retele in care fiecare retea are o adresa si fiecare client din retea (calculator/router etc) se identifica printr-o adresa IP. Internetul real functioneaza doar pe baza de adrese IP. O adresa IP este o insiruire de 4 numere de la 0 la 255 despartite prin punct - de exemplu 193.236.56.89
Ca sa vezi un site insa, e destul de greu sa retii numere din astea fara nici o logica. Si asa a aparut sistemul DNS care este responsabil cu asocierea dintre adresele cunoscute de toata lumea de genul www.domeniu.com si adrese IP (si invers)
DNS-ul este un sistem client-server (client=cel care intreaba, iar server=cel care raspunde).
Clientul se numeste “DNS resolver”, iar serverul “DNS server”, sau “nameserver”.
Pentru exemplificare vom lua pentru ajutor tool-ul “nslookup” din windows care ne ajuta sa interogam servere DNS.
In principiu o operatiune de rezolvare a domeniului publib.boulder.ibm.com functioneaza cam asa (desi in realitate sunt implicate si operatii de caching pe care nu le explic aici, deoarece sunt un pic mai sofisticate):
- se imparte domeniul in partile sale componente de la cel mai de sus la cel mai de jos: com, ibm, boulder, publib
- se obtine lista celor 13 nameservere de baza (root nameservers). Aceasta este cunoscuta, fiind publica, sau se poate folosi nslookup:
C:\>nslookup -query=ns . 82.76.253.115
Server: dns-cache-3.rcs-rds.ro
Address: 82.76.253.115
Non-authoritative answer:
(root) nameserver = D.ROOT-SERVERS.NET
(root) nameserver = E.ROOT-SERVERS.NET
(root) nameserver = F.ROOT-SERVERS.NET
(root) nameserver = G.ROOT-SERVERS.NET
(root) nameserver = H.ROOT-SERVERS.NET
(root) nameserver = I.ROOT-SERVERS.NET
(root) nameserver = J.ROOT-SERVERS.NET
(root) nameserver = K.ROOT-SERVERS.NET
(root) nameserver = L.ROOT-SERVERS.NET
(root) nameserver = M.ROOT-SERVERS.NET
(root) nameserver = A.ROOT-SERVERS.NET
(root) nameserver = B.ROOT-SERVERS.NET
(root) nameserver = C.ROOT-SERVERS.NET
- se interogheaza unul din cele 13 nameservere de mai sus in vederea obtinerii nameserverelor pentru TLD-ul .com - vom interoga nameserverul D.ROOT-SERVERS.NET, care are IP-ul 128.8.10.90
C:\>nslookup -query=ns com 128.8.10.90
128.in-addr.arpa nameserver = DILL.ARIN.NET
128.in-addr.arpa nameserver = INDIGO.ARIN.NET
128.in-addr.arpa nameserver = Z.ARIN.NET
128.in-addr.arpa nameserver = X.ARIN.NET
128.in-addr.arpa nameserver = HENNA.ARIN.NET
128.in-addr.arpa nameserver = CHIA.ARIN.NET
128.in-addr.arpa nameserver = BASIL.ARIN.NET
128.in-addr.arpa nameserver = Y.ARIN.NET
*** Can’t find server name for address 128.8.10.90: No information
Server: UnKnown
Address: 128.8.10.90 com nameserver = E.GTLD-SERVERS.NET
com nameserver = K.GTLD-SERVERS.NET
com nameserver = F.GTLD-SERVERS.NET
com nameserver = M.GTLD-SERVERS.NET
com nameserver = D.GTLD-SERVERS.NET
com nameserver = J.GTLD-SERVERS.NET
com nameserver = H.GTLD-SERVERS.NET
com nameserver = C.GTLD-SERVERS.NET
com nameserver = I.GTLD-SERVERS.NET
com nameserver = A.GTLD-SERVERS.NET
com nameserver = B.GTLD-SERVERS.NET
com nameserver = G.GTLD-SERVERS.NET
com nameserver = L.GTLD-SERVERS.NET
A.GTLD-SERVERS.NET internet address = 192.5.6.30
B.GTLD-SERVERS.NET internet address = 192.33.14.30
C.GTLD-SERVERS.NET internet address = 192.26.92.30
D.GTLD-SERVERS.NET internet address = 192.31.80.30
E.GTLD-SERVERS.NET internet address = 192.12.94.30
F.GTLD-SERVERS.NET internet address = 192.35.51.30
G.GTLD-SERVERS.NET internet address = 192.42.93.30
H.GTLD-SERVERS.NET internet address = 192.54.112.30
I.GTLD-SERVERS.NET internet address = 192.43.172.30
J.GTLD-SERVERS.NET internet address = 192.48.79.30
K.GTLD-SERVERS.NET internet address = 192.52.178.30
L.GTLD-SERVERS.NET internet address = 192.41.162.30
M.GTLD-SERVERS.NET internet address = 192.55.83.30
A.GTLD-SERVERS.NET AAAA IPv6 address = 2001:503:a83e::2:30
B.GTLD-SERVERS.NET AAAA IPv6 address = 2001:503:231d::2:30
- se interogheaza unul din nameserverele obtinute la pasul anterior pentru obtinerea nameserverelor pentru urmatorul nivel, respectiv ibm (adica ibm.com). Vom interoga A.GTLD-SERVERS.NET, IP: 192.5.6.30:
C:\>nslookup -query=ns ibm.com 192.5.6.30
(root) nameserver = h.root-servers.net
(root) nameserver = i.root-servers.net
(root) nameserver = k.root-servers.net
(root) nameserver = c.root-servers.net
(root) nameserver = l.root-servers.net
(root) nameserver = j.root-servers.net
(root) nameserver = e.root-servers.net
(root) nameserver = a.root-servers.net
(root) nameserver = d.root-servers.net
(root) nameserver = g.root-servers.net
(root) nameserver = f.root-servers.net
(root) nameserver = m.root-servers.net
(root) nameserver = b.root-servers.net
h.root-servers.net internet address = 128.63.2.53
h.root-servers.net AAAA IPv6 address = 2001:500:1::803f:235
i.root-servers.net internet address = 192.36.148.17
k.root-servers.net internet address = 193.0.14.129
k.root-servers.net AAAA IPv6 address = 2001:7fd::1
c.root-servers.net internet address = 192.33.4.12
l.root-servers.net internet address = 199.7.83.42
l.root-servers.net AAAA IPv6 address = 2001:500:3::42
j.root-servers.net internet address = 192.58.128.30
j.root-servers.net AAAA IPv6 address = 2001:503:c27::2:30
e.root-servers.net internet address = 192.203.230.10
a.root-servers.net internet address = 198.41.0.4
d.root-servers.net internet address = 128.8.10.90
*** Can’t find server name for address 192.5.6.30: No information
Server: UnKnown
Address: 192.5.6.30 Non-authoritative answer:
ibm.com nameserver = internet-server.zurich.ibm.com
ibm.com nameserver = ns.almaden.ibm.com
ibm.com nameserver = ns.austin.ibm.com
ibm.com nameserver = ns.watson.ibm.com
internet-server.zurich.ibm.com internet address = 195.176.20.204
ns.almaden.ibm.com internet address = 198.4.83.35
ns.austin.ibm.com internet address = 192.35.232.34ns.watson.ibm.com internet address = 129.34.20.80
- se interogheaza unul din nameserverele obtinute la pasul anterior pentru obtinerea urmatorului nivel, respectiv boulder (adica boulder.ibm.com). Acest nameserver trebuie sa stie sa rezole orice subdomeniu al sau. Vom interoga deci internet-server.zurich.ibm.com , IP: 195.176.20.204:
C:\>nslookup -query=ns boulder.ibm.com 195.176.20.204
Server: internet-server.zurich.ibm.com
Address: 195.176.20.204boulder.ibm.com nameserver = rock.boulder.ibm.com
boulder.ibm.com nameserver = gateway.boulder.ibm.com
boulder.ibm.com nameserver = ns.watson.ibm.com
ns.watson.ibm.com internet address = 129.34.20.80
rock.boulder.ibm.com internet address = 192.147.13.65
gateway.boulder.ibm.com internet address = 198.17.57.70 - se va interoga asadar un nameserver obtinut la pasul anterior in vederea obtinerii adresei IP a urmatorului nivel - publib (adica adresa pentru public.boulder.ibm.com):
C:\>nslookup -query=a publib.boulder.ibm.com 129.34.20.80
Server: ns.watson.ibm.com
Address: 129.34.20.80Name: publib.boulder.ibm.com
Address: 170.225.15.24
Cam acelasi lucru se poate obtine si cu utilitarul dig, o versiune exista pe net aici: http://www.kloth.net/services/dig.php
De asemenea un site interesant cu utilitare DNS este dnstools.com.
No related posts.
Domenii: Domenii Internet, Studii
Tags: dns


Comentarii (1)
Cum functioneaza sistemul DNS - Domain Name System - Ziarul toateBlogurile.ro
Septembrie 24th, 2010 at 13:25
[...] Cum functioneaza sistemul DNS - Domain Name System Thu Jan 01, 1970 2:00 am Datorita faptului ca oricine a intrat pe Internet si a accesat un site web, a folosit si implicit sistemul DNS, as vrea sa fac o introducere despre ce inseamna DNS, si poate sa intru si in cateva detalii mai tehnice. Asadar, Internet-ul este o retea de retele in care fiecare retea are o adresa si fiecare [...] [...]
Scrie un comentariu