SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Retele de calculatoare




           Retele de calculatoare
       Sistemul numelor de domenii
                 Sabin-Corneliu Buraga
                     busaco@infoiasi.ro
              http://www.infoiasi.ro/~busaco


Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [1]
Retele de calculatoare



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

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [2]
Retele de calculatoare



                                                                 DNS
    • Adresele IP sint dificil de memorat
      si de “ghicit”
    • Se utilizeaza un sistem al numelor de
      domenii pentru a translata adresele IP
      in nume de domenii si invers
    • Numele de domenii se organizeaza
      in ierarhii

    • RFC 1034, 1035
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [3]
Retele de calculatoare



                                                                 DNS




Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [4]
Retele de calculatoare



                                                                 DNS
 • Nume de domenii
     – De lungime maxima de 255 caractere
     – Primare:
         • Generice: .org, .net, .mil, .gov, .int, .edu, .com,
           .ws, .biz, .info
         • State: .uk, .us, .fr, .ro, .jp, .am, .to, .fm, .tv,…
     – Sub-domenii:
         • Maxim 63 de caractere
     – Nume de calculatoare (gazde)
     – Domeniu de nume
         • Subarbore al arborelui de domenii
         • Nu trebuie sa respecte topologia retelei fizice
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [5]
Retele de calculatoare



                                                                 DNS
 • Exemplu:




Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [6]
Retele de calculatoare



                                   DNS|organizare
 • Initial: /etc/hosts – perechi (nume, IP)
 • Actual: sistem de baze de date distribuite
   ⇒ ierarhii de domenii
 • Reguli de alocare a numelor de domenii:
     – Fiecare domeniu controleaza
       cum sint alocate subdomeniile sale
     – Pentru a crea un nou subdomeniu, se cere permisiunea
       domeniului in care va fi inclus
       (un domeniu la un anumit nivel va avea o autoritate)
     – Atribuirea de nume de domenii respecta
       granitele organizationale, nu pe cele ale retelelor
     – Un anumit nivel din ierarhia de niveluri poate fi controlat
       de mai multe servere
 • Probleme: toleranta la defecte,
   supra-incarcarea radacinii
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [7]
Retele de calculatoare



                                   DNS|organizare
 • Servere de nume (name servers)
     – Spatiul de nume DNS se divide
       in zone care nu se suprapun
     – Fiecare zona contine o parte din domenii si
       numele serverelor 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
       continind bazele de date replicate
     – Un server poate fi responsabil al mai multor
       domenii
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [8]
Retele de calculatoare



                                   DNS|organizare
 • Client DNS
     – Denumit resolver, trimite un pachet UDP
       serverului DNS care cauta numele si
       returneaza adresa IP
     Aplicatie                        Server DNS uaic.ro


                                                      uaic.ro
                                                        rpi.edu
                                 uaic.ro
     resolver                                            rpi.edu
                                                      DNS DB
                                                       DNS DB
                                 DNS DB                  DNS DB

                               Authoritative             Replici
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [9]
Retele de calculatoare



                                   DNS|organizare

 • Implementarea serverului de nume:
   BIND (Berkeley Internet Name Domain)
     – Daemonul named, configurat prin /etc/named.conf
     – Domeniul local si lista serverelor DNS
       pentru acel domeniu se gasesc in /etc/resolv.conf

 • Ca resolver interactiv,
   se pot folosi comenzile nslookup, host sau dig

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [10]
Retele de calculatoare



                                     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
       sa raspunda, returneaza eroare si adresa
       altui server DNS (numit si referral) care
       ar putea cunoaste raspunsul la interogare

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [11]
Retele de calculatoare



                                     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
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [12]
Retele de calculatoare



                                     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)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [13]
Retele de calculatoare



                                     DNS|interogari
 • Exemplu – interogare iterativa




Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [14]
Retele de calculatoare



                                     DNS|interogari
 • Exemplu – interogare recursiva




Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [15]
Retele de calculatoare



                                    DNS|optimizari
 • Proximitatea spatiala: serverele locale vor fi
   interogate mai des decit cele la distanta
 • Proximitatea temporala: daca un set de
   domenii sint referentiate 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 root multiple); se va interoga cel mai
   apropiat (geografic) server
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [16]
Retele de calculatoare



                                       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
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [17]
Retele de calculatoare



                    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



Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [18]
Retele de calculatoare



                                 DNS|configurare
 • Exemplu de fisier /etc/resolv.conf


 search net.infoiasi.ro infoiasi.ro info.uaic.ro
 domain info.uaic.ro
 nameserver 127.0.0.1
 nameserver 193.226.23.1
 nameserver 193.226.30.2



Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [19]
Retele de calculatoare



                                 DNS|configurare
 • Exemplu de fisier pentru specificarea unei zone DNS
 tgv.com. in soa vaxa.tgv.com. wing.tgv.com. (
   199501091    ; serial number
   10800        ; refresh 3 hr
   3600         ; retry 1 hr
   604800       ; expire 1 wk
   86400        ; min. TTL 1 day
 )
 tgv.com.       in ns ns1.tgv.com.
 ns1.tgv.com.   in a 161.44.128.70
 hq.tgv.com.    in a 161.44.128.70
                in hinfo VAXSTATION-4000-90 VMS
 tgv.com.       in mx 10 hq.tgv.com.
 fang.tgv.com. in a 161.44.128.87
                in mx 10 hq.tgv.com.

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [20]
Retele de calculatoare



                                        DNS|comenzi

                      • uname
                      • host
                      • nslookup
                      • whois
                      •…


Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [21]
Retele de calculatoare



                                        DNS|comenzi
 (infoiasi)$ nslookup
 > thor.info.uaic.ro
 Server:         127.0.0.1
 Address:        127.0.0.1#53
 Name:   thor.info.uaic.ro
 Address: 193.231.30.225
 Name:   thor.info.uaic.ro
 Address: 193.231.30.131
 thor.info.uaic.ro
   mail exchanger = 30 orion.uaic.ro.
 thor.info.uaic.ro
   mail exchanger = 40 relay-1.dntis.ro.
 thor.info.uaic.ro
   mail exchanger = 10 thor.info.uaic.ro.
 thor.info.uaic.ro
   mail exchanger = 20 fenrir.info.uaic.ro.

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [22]
Retele de calculatoare



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

 Whois Server Version 1.3

     Domain Name: IBM.COM
     Registrar: NETWORK SOLUTIONS, INC.
     Whois Server: whois.networksolutions.com
     Referral URL: http://www.networksolutions.com
     Name Server: INTERNET-SERVER.ZURICH.IBM.COM
     Name Server: NS.WATSON.IBM.COM
     Name Server: NS.ERS.IBM.COM
     Name Server: NS.ALMADEN.IBM.COM
     Name Server: NS.AUSTIN.IBM.COM
     Status: REGISTRAR-LOCK
     Updated Date: 07-jan-2003
     Creation Date: 19-mar-1986
     Expiration Date: 20-mar-2005
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [23]
Retele de calculatoare

                          DNS|clienti, rezolveri,
                                         servere

          Cod aplicatie
                                cerere
                                         Server DNS         Alte servere
           Cod rezolver        raspuns
                                            local               DNS
                                 UDP

                   aplicatie

              Fisier de
               config.                       Ca fisier de configurare
              resolver
                                         al resolver-ului: /etc/resolv.conf
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [24]
Retele de calculatoare



                                      DNS|primitive
 • Nu trebuie scris un resolver pentru a afla
   adresa IP a unei gazde
 • Adresele IP returnate sint network byte order
 • Pentru a putea folosi functiile de conversie
   DNS, la unele sisteme de operare (e.g., Sun)
   va trebui la compilare sa folosim biblioteca
   nsl (Name Server Library): gcc … -lnsl
 • Functii principale:
     – gethostbyname()
     – gethostbyaddr()
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [25]
Retele de calculatoare



                                      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 ori 16 */
   char **h_addr_list;                 /*   pointeri
                                            la adresele IP */
 };

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [26]
Retele de calculatoare



                                      DNS|primitive
   hostent
                                            Nume oficial
   h_name
                                                  alias 1
   h_aliases
   h_addrtype                                     alias 2
   h_length
                                  null
   h_addr_list

                                                  Adresa IP 1
                                                  Adresa IP 2
                                  null
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [27]
Retele de calculatoare



                                      DNS|primitive
 struct 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
                                    Constante definite
         •   NO_RECOVERY
                                      in netdb.h
         •   NO_DATA
         •   NO_ADDRESS

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [28]
Retele de calculatoare



                                        DNS|exemplu
 • Completarea structurii sockaddr_in
   avind 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 (quot;www.w3.orgquot;)))
   { /* 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));
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [29]
Retele de calculatoare



                                      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)

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [30]
Retele de calculatoare



                                                 DNS|IDN
 • International Domain Names (IDN)
     – Extensie care permite folosirea
       caracterelor Unicode in numele de domenii,
       nu doar a celor ASCII
     – Suport pentru internationalizarea numelor
       de domenii

     – Pot fi exploatate pentru atacuri de tip
       phishing (vezi unul din cursurile viitoare)
Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [31]
Retele de calculatoare



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

Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [32]
Retele de calculatoare




                         Intrebari?




Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [33]

Weitere ähnliche Inhalte

Andere mochten auch

Computer Networks. Retrospective & perspective
Computer Networks. Retrospective & perspectiveComputer Networks. Retrospective & perspective
Computer Networks. Retrospective & perspectiveSabin Buraga
 
Programare Web (Introducere in securitate)
Programare Web (Introducere in securitate)Programare Web (Introducere in securitate)
Programare Web (Introducere in securitate)Sabin Buraga
 
Computer Networks. Main concepts
Computer Networks. Main conceptsComputer Networks. Main concepts
Computer Networks. Main conceptsSabin Buraga
 
Computer Networks.Protocols
Computer Networks.ProtocolsComputer Networks.Protocols
Computer Networks.ProtocolsSabin Buraga
 
Facultatea de Informatica Iasi - Admitere 2008 - FII pentru viitor
Facultatea de Informatica Iasi - Admitere 2008 - FII pentru viitorFacultatea de Informatica Iasi - Admitere 2008 - FII pentru viitor
Facultatea de Informatica Iasi - Admitere 2008 - FII pentru viitorSabin Buraga
 
Computer Networks. TCP/IP
Computer Networks. TCP/IPComputer Networks. TCP/IP
Computer Networks. TCP/IPSabin Buraga
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...Sabin Buraga
 
Căutarea resurselor Web
Căutarea resurselor WebCăutarea resurselor Web
Căutarea resurselor WebSabin Buraga
 
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleWeb 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleSabin Buraga
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Sabin Buraga
 
Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Sabin Buraga
 

Andere mochten auch (12)

Computer Networks. Retrospective & perspective
Computer Networks. Retrospective & perspectiveComputer Networks. Retrospective & perspective
Computer Networks. Retrospective & perspective
 
Programare Web (Introducere in securitate)
Programare Web (Introducere in securitate)Programare Web (Introducere in securitate)
Programare Web (Introducere in securitate)
 
Computer Networks. Main concepts
Computer Networks. Main conceptsComputer Networks. Main concepts
Computer Networks. Main concepts
 
Computer Networks.Protocols
Computer Networks.ProtocolsComputer Networks.Protocols
Computer Networks.Protocols
 
Facultatea de Informatica Iasi - Admitere 2008 - FII pentru viitor
Facultatea de Informatica Iasi - Admitere 2008 - FII pentru viitorFacultatea de Informatica Iasi - Admitere 2008 - FII pentru viitor
Facultatea de Informatica Iasi - Admitere 2008 - FII pentru viitor
 
Computer Networks. TCP/IP
Computer Networks. TCP/IPComputer Networks. TCP/IP
Computer Networks. TCP/IP
 
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni WebWeb 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
Web 2016 (02/13) Programare Web – Protocolul HTTP. Cookie-uri. Sesiuni Web
 
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
Web 2016 (03/13) Programare Web – Servere de aplicații. Arhitectura aplicații...
 
Căutarea resurselor Web
Căutarea resurselor WebCăutarea resurselor Web
Căutarea resurselor Web
 
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturaleWeb 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
Web 2016 (01/13) Spațiul World Wide Web – aspecte arhitecturale
 
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
Foi de stiluri CSS – concepte esențiale (...și puțin mai mult)
 
Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016Dezvoltator Web?! – ...în 2016
Dezvoltator Web?! – ...în 2016
 

Mehr von Sabin Buraga

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleSabin Buraga
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebSabin Buraga
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebSabin Buraga
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Sabin Buraga
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Sabin Buraga
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelSabin Buraga
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Sabin Buraga
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Sabin Buraga
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTSabin Buraga
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Sabin Buraga
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Sabin Buraga
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeSabin Buraga
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSabin Buraga
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSabin Buraga
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.Sabin Buraga
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSabin Buraga
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSabin Buraga
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSabin Buraga
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSabin Buraga
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5Sabin Buraga
 

Mehr von Sabin Buraga (20)

Web 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturaleWeb 2020 01/12: World Wide Web – aspecte arhitecturale
Web 2020 01/12: World Wide Web – aspecte arhitecturale
 
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni WebWeb 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
Web 2020 02/12: Programare Web – HTTP. Cookie-uri. Sesiuni Web
 
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie WebWeb 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
Web 2020 03/12: Programare Web – Arhitectura aplicaţiilor Web. Inginerie Web
 
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
Web 2020 04/12: Programare Web – Dezvoltarea aplicaţiilor Web în PHP
 
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
Web 2020 05/12: Modelarea datelor. Familia XML. Extragerea datelor cu XPath. ...
 
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object ModelWeb 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
Web 2020 06/12: Procesarea datelor XML & HTML. Document Object Model
 
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
Web 2020 07/12: Procesarea datelor XML & HTML – Simple API for XML. Procesări...
 
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
Web 2020 08/12: Servicii Web. De la arhitecturi orientate spre servicii la SO...
 
Web 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma RESTWeb 2020 09/12: Servicii Web. Paradigma REST
Web 2020 09/12: Servicii Web. Paradigma REST
 
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
Web 2020 10/12: Servicii Web. Micro-servicii. Serverless. Specificarea API-ur...
 
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
Web 2020 11/12: Interacţiune Web asincronă. Aplicaţii Web de tip mash-up. JAM...
 
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţialeWeb 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
Web 2020 12/12: Securitatea aplicaţiilor Web. Aspecte esenţiale
 
STAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor WebSTAW 01/12: Arhitectura aplicaţiilor Web
STAW 01/12: Arhitectura aplicaţiilor Web
 
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţialeSTAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
STAW 02/12: Programare Web: Limbajul JavaScript. Aspecte esenţiale
 
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
STAW 03/12: Programare Web: Limbajul JavaScript. Aspecte moderne: ES6 et al.
 
STAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.jsSTAW 04/12: Programare Web: Node.js
STAW 04/12: Programare Web: Node.js
 
STAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului WebSTAW 05/12: Arhitectura navigatorului Web
STAW 05/12: Arhitectura navigatorului Web
 
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uriSTAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
STAW 06/12: JavaScript în navigatorul Web. De la DOM la Ajax şi mash-up-uri
 
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScriptSTAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
STAW 07/12: Ingineria dezvoltării aplicaţiilor JavaScript
 
STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5STAW 08/12: Programare Web. Suita de tehnologii HTML5
STAW 08/12: Programare Web. Suita de tehnologii HTML5
 

Computer Networks. Domain Name System

  • 1. Retele de calculatoare Retele de calculatoare Sistemul numelor de domenii Sabin-Corneliu Buraga busaco@infoiasi.ro http://www.infoiasi.ro/~busaco Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [1]
  • 2. Retele de calculatoare Cuprins • Domain Name System (DNS) – Caracterizare – Organizare – Configurare – Comenzi – Primitive – International Domain Names (IDN) Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [2]
  • 3. Retele de calculatoare DNS • Adresele IP sint dificil de memorat si de “ghicit” • Se utilizeaza un sistem al numelor de domenii pentru a translata adresele IP in nume de domenii si invers • Numele de domenii se organizeaza in ierarhii • RFC 1034, 1035 Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [3]
  • 4. Retele de calculatoare DNS Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [4]
  • 5. Retele de calculatoare DNS • Nume de domenii – De lungime maxima de 255 caractere – Primare: • Generice: .org, .net, .mil, .gov, .int, .edu, .com, .ws, .biz, .info • State: .uk, .us, .fr, .ro, .jp, .am, .to, .fm, .tv,… – Sub-domenii: • Maxim 63 de caractere – Nume de calculatoare (gazde) – Domeniu de nume • Subarbore al arborelui de domenii • Nu trebuie sa respecte topologia retelei fizice Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [5]
  • 6. Retele de calculatoare DNS • Exemplu: Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [6]
  • 7. Retele de calculatoare DNS|organizare • Initial: /etc/hosts – perechi (nume, IP) • Actual: sistem de baze de date distribuite ⇒ ierarhii de domenii • Reguli de alocare a numelor de domenii: – Fiecare domeniu controleaza cum sint alocate subdomeniile sale – Pentru a crea un nou subdomeniu, se cere permisiunea domeniului in care va fi inclus (un domeniu la un anumit nivel va avea o autoritate) – Atribuirea de nume de domenii respecta granitele organizationale, nu pe cele ale retelelor – Un anumit nivel din ierarhia de niveluri poate fi controlat de mai multe servere • Probleme: toleranta la defecte, supra-incarcarea radacinii Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [7]
  • 8. Retele de calculatoare DNS|organizare • Servere de nume (name servers) – Spatiul de nume DNS se divide in zone care nu se suprapun – Fiecare zona contine o parte din domenii si numele serverelor 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 continind bazele de date replicate – Un server poate fi responsabil al mai multor domenii Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [8]
  • 9. Retele de calculatoare DNS|organizare • Client DNS – Denumit resolver, trimite un pachet UDP serverului DNS care cauta numele si returneaza adresa IP Aplicatie Server DNS uaic.ro uaic.ro rpi.edu uaic.ro resolver rpi.edu DNS DB DNS DB DNS DB DNS DB Authoritative Replici Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [9]
  • 10. Retele de calculatoare DNS|organizare • Implementarea serverului de nume: BIND (Berkeley Internet Name Domain) – Daemonul named, configurat prin /etc/named.conf – Domeniul local si lista serverelor DNS pentru acel domeniu se gasesc in /etc/resolv.conf • Ca resolver interactiv, se pot folosi comenzile nslookup, host sau dig Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [10]
  • 11. Retele de calculatoare 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 sa raspunda, returneaza eroare si adresa altui server DNS (numit si referral) care ar putea cunoaste raspunsul la interogare Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [11]
  • 12. Retele de calculatoare 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 Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [12]
  • 13. Retele de calculatoare 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) Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [13]
  • 14. Retele de calculatoare DNS|interogari • Exemplu – interogare iterativa Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [14]
  • 15. Retele de calculatoare DNS|interogari • Exemplu – interogare recursiva Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [15]
  • 16. Retele de calculatoare DNS|optimizari • Proximitatea spatiala: serverele locale vor fi interogate mai des decit cele la distanta • Proximitatea temporala: daca un set de domenii sint referentiate 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 root multiple); se va interoga cel mai apropiat (geografic) server Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [16]
  • 17. Retele de calculatoare 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 Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [17]
  • 18. Retele de calculatoare 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 Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [18]
  • 19. Retele de calculatoare DNS|configurare • Exemplu de fisier /etc/resolv.conf search net.infoiasi.ro infoiasi.ro info.uaic.ro domain info.uaic.ro nameserver 127.0.0.1 nameserver 193.226.23.1 nameserver 193.226.30.2 Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [19]
  • 20. Retele de calculatoare DNS|configurare • Exemplu de fisier pentru specificarea unei zone DNS tgv.com. in soa vaxa.tgv.com. wing.tgv.com. ( 199501091 ; serial number 10800 ; refresh 3 hr 3600 ; retry 1 hr 604800 ; expire 1 wk 86400 ; min. TTL 1 day ) tgv.com. in ns ns1.tgv.com. ns1.tgv.com. in a 161.44.128.70 hq.tgv.com. in a 161.44.128.70 in hinfo VAXSTATION-4000-90 VMS tgv.com. in mx 10 hq.tgv.com. fang.tgv.com. in a 161.44.128.87 in mx 10 hq.tgv.com. Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [20]
  • 21. Retele de calculatoare DNS|comenzi • uname • host • nslookup • whois •… Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [21]
  • 22. Retele de calculatoare DNS|comenzi (infoiasi)$ nslookup > thor.info.uaic.ro Server: 127.0.0.1 Address: 127.0.0.1#53 Name: thor.info.uaic.ro Address: 193.231.30.225 Name: thor.info.uaic.ro Address: 193.231.30.131 thor.info.uaic.ro mail exchanger = 30 orion.uaic.ro. thor.info.uaic.ro mail exchanger = 40 relay-1.dntis.ro. thor.info.uaic.ro mail exchanger = 10 thor.info.uaic.ro. thor.info.uaic.ro mail exchanger = 20 fenrir.info.uaic.ro. Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [22]
  • 23. Retele de calculatoare DNS|whois (infoiasi)$ whois dom ibm.com [whois.crsnic.net] Whois Server Version 1.3 Domain Name: IBM.COM Registrar: NETWORK SOLUTIONS, INC. Whois Server: whois.networksolutions.com Referral URL: http://www.networksolutions.com Name Server: INTERNET-SERVER.ZURICH.IBM.COM Name Server: NS.WATSON.IBM.COM Name Server: NS.ERS.IBM.COM Name Server: NS.ALMADEN.IBM.COM Name Server: NS.AUSTIN.IBM.COM Status: REGISTRAR-LOCK Updated Date: 07-jan-2003 Creation Date: 19-mar-1986 Expiration Date: 20-mar-2005 Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [23]
  • 24. Retele de calculatoare DNS|clienti, rezolveri, servere Cod aplicatie cerere Server DNS Alte servere Cod rezolver raspuns local DNS UDP aplicatie Fisier de config. Ca fisier de configurare resolver al resolver-ului: /etc/resolv.conf Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [24]
  • 25. Retele de calculatoare DNS|primitive • Nu trebuie scris un resolver pentru a afla adresa IP a unei gazde • Adresele IP returnate sint network byte order • Pentru a putea folosi functiile de conversie DNS, la unele sisteme de operare (e.g., Sun) va trebui la compilare sa folosim biblioteca nsl (Name Server Library): gcc … -lnsl • Functii principale: – gethostbyname() – gethostbyaddr() Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [25]
  • 26. Retele de calculatoare 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 ori 16 */ char **h_addr_list; /* pointeri la adresele IP */ }; Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [26]
  • 27. Retele de calculatoare DNS|primitive hostent Nume oficial h_name alias 1 h_aliases h_addrtype alias 2 h_length null h_addr_list Adresa IP 1 Adresa IP 2 null Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [27]
  • 28. Retele de calculatoare DNS|primitive struct 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 Constante definite • NO_RECOVERY in netdb.h • NO_DATA • NO_ADDRESS Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [28]
  • 29. Retele de calculatoare DNS|exemplu • Completarea structurii sockaddr_in avind 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 (quot;www.w3.orgquot;))) { /* 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)); Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [29]
  • 30. Retele de calculatoare 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) Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [30]
  • 31. Retele de calculatoare DNS|IDN • International Domain Names (IDN) – Extensie care permite folosirea caracterelor Unicode in numele de domenii, nu doar a celor ASCII – Suport pentru internationalizarea numelor de domenii – Pot fi exploatate pentru atacuri de tip phishing (vezi unul din cursurile viitoare) Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [31]
  • 32. Retele de calculatoare Rezumat • Domain Name System (DNS) – Caracterizare – Organizare – Configurare – Comenzi – Primitive – International Domain Names (IDN) Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [32]
  • 33. Retele de calculatoare Intrebari? Sabin-Corneliu Buraga 2006/2007 – www.infoiasi.ro/~busaco/ [33]