Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr....

39
Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/ Retele de calculatoare Sistemul numelor de domenii SabinCorneliu Buraga http://www.infoiasi.ro/~busaco

Transcript of Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr....

Page 1: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

Retele de calculatoareSistemul numelor de domenii

Sabin­Corneliu Buraga

http://www.infoiasi.ro/~busaco

Page 2: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

“Forgive your enemies,but never forget their names.”

John F. Kennedy

Page 3: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

Cuprins

• Domain Name System (DNS)– Caracterizare– Organizare– Configurare– Comenzi– Primitive– International Domain Names (IDN)

Page 4: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS

• Adresele IP sint dificil de memorat si de “ghicit”• Se utilizeaza un sistem al numelor de domeniipentru a translata adresele IP in nume de domenii si invers

• Numele de domenii se organizeaza in ierarhii

• RFC 1034, 1035

Page 5: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

Page 6: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS | Tipuri de domenii• Primare (Top Level Domains – TLD)

– Infrastructura: ARPA (Address and Routing Parameter Area)

– State (ccTLD) – coduri de state: .fr, .jp, .ro, .tv,…– Generice: .biz, .com, .info, .name, .net, .org, .pro– Sponsorizate: .aero, .edu, .gov, .int, .jobs, .mil, .tel– Rezervate: .example, .invalid, .localhost, .test– Pseudo‐domenii: .bitnet, .local, .root, .uucp etc.

Page 7: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS | Tipuri de domenii

• Sub­domenii:Lungimemaxima: 63 de caractere

• Nume de calculatoare (gazde)

Domeniu de nume– Subarbore al arborelui de domenii– Nu trebuie sa respecte topologia retelei fizice

Page 8: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNSExemplu:

Page 9: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|organizare

• Initial: /etc/hosts – perechi (nume, IP)• Actual: sistem de baze de date distribuite⇒ ierarhii de domenii

• Probleme: toleranta la defecte, supra‐incarcarea radacinii

Page 10: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|organizare• Reguli de alocare a numelor de domenii:

– Fiecare domeniu controleazacum sint alocate subdomeniile sale

– Pentru a crea un nou subdomeniu, se cere permi‐siunea domeniului in care va fi inclus (un domeniu de la un anumit nivel va avea o autoritate)

– Atribuirea de nume de domenii respectagranitele organizationale, nu pe cele ale retelelor

– Un anumit nivel din ierarhia de niveluri poate ficontrolat de mai multe servere

Page 11: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|organizare• Servere de nume (name servers)

– Spatiul de nume DNS se divide in zone ne‐suprapuse– Fiecare zona contine o parte din domenii si numeleserverelor care stocheaza informatiile din acea zona

– Exista un server primar (primary/authoritative name server) care deserveste un anumit domeniu si, eventual, mai multe servere secundare continindbazele de date replicate

– Un server poate fi responsabil al mai multor domenii

Page 12: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

rpi.eduDNS DBrpi.eduDNS DB

uaic.roDNS DB

Authoritative

uaic.roDNS DB

Replici

Server DNS uaic.ro

DNS|organizare• Client DNS

– Denumit resolver, trimite un pachet UDP serverului DNS care cauta numele sireturneaza adresa IP 

resolver

Aplicatie

Page 13: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|organizare

Implementari ale serverului de nume (exemplificari):BIND (Berkeley Internet Name Domain),MSDNS, Nominum, PowerDNS, MaraDNS

Ca resolver (client) interactiv, se poate folosi una dintre comenzile

nslookup, host sau dig

Page 14: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|interogari

• Interogari:– Recursiva – daca un server DNS nu cunoaste adresa pentru numele solicitat, atunci va interoga alt server DNS

– Incrementala – daca serverul DNS nu stie saraspunda, returneaza eroare si adresa altuiserver DNS (numit si referral) care ar putea cunoaste raspunsul la interogare

Page 15: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|interogari• Gasirea unui server DNS pentru a furniza:

– Numele unui domeniu– Adresa IP corespunzatoare unui domeniu simbolic

• Bazele de date DNS – resource record (RR):– Domeniul curent, vers. fisier: SOA (Start Of Authority)– Adresa IP a gazdei: A– Servere de nume: NS (Name Server)– Alias‐uri pentru nume: CNAME (Canonical Name)– Mail exchangers: MX – vezi cursul viitor– Descrierea gazdei (CPU, OS): HINFO – Text neinterpretat (comentarii): TXT

• Interogarile externe (cu alte servere DNS) se stocheaza in memorii cache – DNS caching

Page 16: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|interogari• Exista un server de nume principal (root) pentru a returna adresele serverelor DNS pentru domeniile primare sau de nivel secund

• Interogarile: nume de domeniu, tip (A, NS, MX,…), clasa (1=IP)

• Raspunsurile: nume de domeniu, tip raspuns, clasa (IP), time to live (in sec.), informatii

• TCP se utilizeaza pentru replicarea DNS• UDP pentru interogari (lookups)

Page 17: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|interogari• Exemplu – interogare iterativa

Page 18: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|interogari• Exemplu – interogare recursiva

Page 19: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|optimizari• Proximitatea spatiala: serverele locale vor fi interogatemai des decit cele la distanta

• Proximitatea temporala: daca un set de domenii sintreferentiate repetat, atunci se apeleaza la caching DNS

• Fiecare intrare DNS va avea stabilita o valoare TTL (time to live)

• Se va utiliza si replicarea (servere multiple, servere rootmultiple) – se va interoga cel mai apropiat(geografic) server

• Cind nu exista un server DNS cunoscut ce poate fiinterogat, se poate recurge la OpenDNS

Page 20: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|abrevieri• Serverele vor raspunde numai daca primesc nume complete de domenii (e.g., fenrir.info.uaic.ro)

• Utilizatorii pot da doar nume partiale (de exemplu, fenrir)

• Resolver‐ul va putea completa sufixurile (e.g., fenrir ⇒ fenrir.info.uaic.ro)

• Fiecare resolver va avea definita o lista de sufixuri de incercare

Page 21: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|interogari inverse

• Problema: data o adresa, care va fi numele ei simbolic?

• Raspuns:se va returna o adresa de forma x.x.x.x.in-addr.arpa

Page 22: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|configurare

• Exemplu de fisier /etc/resolv.conf

search net.infoiasi.ro infoiasi.ro info.uaic.rodomain info.uaic.ronameserver 127.0.0.1nameserver 193.226.23.1nameserver 193.226.30.2

Page 23: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|configurare• Exemplu de fisier pentru specificarea unei zone DNStgv.com. in soa vaxa.tgv.com. wing.tgv.com. (199501091 ; serial number10800 ; refresh 3 hr3600 ; retry 1 hr604800 ; expire 1 wk86400 ; min. TTL 1 day

)tgv.com. in ns ns1.tgv.com.ns1.tgv.com. in a 161.44.128.70hq.tgv.com. in a 161.44.128.70

in hinfo VAXSTATION-4000-90 VMStgv.com. in mx 10 hq.tgv.com.fang.tgv.com. in a 161.44.128.87

in mx 10 hq.tgv.com.

Page 24: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|comenzi

• uname• host• nslookup• whois• …

Page 25: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|nslookup

(infoiasi)$ nslookup www.info.uaic.roServer: 85.122.16.1Address: 85.122.16.1#53

www.info.uaic.ro canonical name = vidar.info.uaic.ro.

Name: vidar.info.uaic.roAddress: 85.122.23.146

Page 26: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|whois(infoiasi)$ whois dom ibm.com[whois.crsnic.net]

Domain Name: IBM.COMRegistrar: NETWORK SOLUTIONS, INC.Whois Server: whois.networksolutions.comReferral URL: http://www.networksolutions.comName Server: INTERNET-SERVER.ZURICH.IBM.COMName Server: NS.WATSON.IBM.COMName Server: NS.ERS.IBM.COMName Server: NS.ALMADEN.IBM.COMName Server: NS.AUSTIN.IBM.COMStatus: REGISTRAR-LOCKUpdated Date: 07-jan-2003Creation Date: 19-mar-1986

Page 27: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|dig; <<>> DiG 9.2.3 <<>> www.uaic.ro;; QUESTION SECTION:;www.uaic.ro. IN A

;; ANSWER SECTION:www.uaic.ro. 86400 IN CNAME jad.uaic.ro.jad.uaic.ro. 86400 IN A 85.122.16.7

;; AUTHORITY SECTION:uaic.ro. 86399 IN NS orion.uaic.ro.uaic.ro. 86399 IN NS ns2.roedu.net.uaic.ro. 86399 IN NS ns.iasi.roedu.net.

;; ADDITIONAL SECTION:ns.iasi.roedu.net. 86376 IN A 192.129.4.100ns2.roedu.net. 86376 IN A 192.129.4.10orion.uaic.ro. 86400 IN A 85.122.16.1

Page 28: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|clienti, rezolveri, servere

Cod aplicatie

Cod rezolver

aplicatie

Fisier de config. resolver

Server DNS local

cerereraspuns

UDP

Alte servere DNS

Ca fisier de configurareal resolver‐ului: /etc/resolv.conf

Page 29: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|primitive

• Nu trebuie scris un resolver pentru a aflaadresa IP a unei gazde

• Adresele IP returnate sint network byte order• Functii principale: 

gethostbyname()gethostbyaddr()

• La unele sisteme de operare (e.g., Solaris) va trebui la compilare sa folosim biblioteca nsl(Name Server Library): gcc … -lnsl

Page 30: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|primitive• Se foloseste structura hostent:

#include <netdb.h>struct hostent {char *h_name; /* nume oficial */char **h_aliases; /* alias-uri */int h_addrtype; /* AF_INET/AF_INET6 */int h_length; /* lungime: 4 sau 16 */char **h_addr_list; /* pointeri

la adresele IP */};

Page 31: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|primitiveh_nameh_aliasesh_addrtypeh_lengthh_addr_list

Nume oficial

alias 1

alias 2

null

Adresa IP 1

Adresa IP 2

null

hostent

Page 32: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|primitivestruct hostent *gethostbyname

( const char *hostname );• Returneaza: 

– Succes – adresa structurii hostent create; se foloseste de obicei prima: #define h_addr h_addr_list[0]

– Eroare – constanta NULL, iar variabila h_errno indica eroarea aparuta:

• HOST_NOT_FOUND• TRY_AGAIN• NO_RECOVERY• NO_DATA• NO_ADDRESS

Constante definite in netdb.h

Page 33: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|exemplu• Completarea structurii sockaddr_inavind in loc de adresa IP un nume simbolic:

struct sockaddr_in server; struct hostent *ip_addr; /* incercam sa gasim adresa IP */ if (!(ip_addr = gethostbyname ("www.w3.org"))) { /* eroare la rezolvarea adresei */ }

server.sin_family = AF_INET; server.sin_port = htons (80); /* adresa IP o luam din structura ip_addr */ memcpy (&server.sin_addr.s_addr, ip_addr->h_addr, sizeof (ip_addr->h_addr));

Page 34: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|primitive• Se poate utiliza si gethostbyaddr()• Alte functii utile: 

– uname()– informatii privind gazda curenta– gethostname()– asemanatoare cu uname()– getservbyname()– ofera portul unui serviciu– getservbyaddr()– ofera numele unui serviciu asociat la un port

– gethostbyname2()– pentru adrese IPv6– getaddrinfo(), getnameinfo()– folosite nu doar pentru TCP/IP, ci pentru orice domeniu de adrese (standard POSIX)

Page 35: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|IDN

• International Domain Names (IDN)– Extensie care permite folosireacaracterelor Unicode in numele de domenii, nu doar a celor ASCII

– Suport pentru internationalizarea numelorde domenii

– Pot fi exploatate pentru atacuri de tip phishing (vezi unul din cursurile viitoare)

Page 36: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|administrare

Radacina DNS este oficial administrata de Internet Corporation for Assigned Names

and Numbers (ICANN)

Exista si alte organizatii care oferaradacini alternative (alt DNS roots),precum OpenNIC sau New.Net

Page 37: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

DNS|administrare

• Rezolvarea adreselor in conditiile in care nu existanici o configuratie implicit stabilita, se poate face via o tehnica numita ZEROCONF:– Adresare (self­assigned addressing): alocare de adrese IP gazdelor

– Numire (naming): asocierea de nume simbolicemDNS –multicast DNS

– Descoperirea de servicii: gasirea de servicii de reteain mod automat – vezi siwww.dns­sd.org

Page 38: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

Rezumat

• Domain Name System (DNS)– Caracterizare– Organizare– Configurare– Comenzi– Primitive– International Domain Names (IDN)

Page 39: Retele de calculatoare - profs.info.uaic.robusaco/teach/courses/net/presentations/net8a.pdf · Dr. Sabin-Corneliu Buraga –busaco/ “Forgive your enemies, but never forget their

Dr. Sabin-Corneliu Buraga – www.infoiasi.ro/~busaco/

Intrebari?