Domenii

Arhive

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)

Cum functioneaza DNS-ul

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.204

    boulder.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.80

    Name:    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:

Comentarii (1)


[...] 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

Nume *

Email *

Website