Sunteți pe pagina 1din 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Regasirea Informatiilor pe WEB


Curs 07: Protocolul DNS

s.l. dr. ing. Alexandru ARCHIP


alexandru.archip@cs.tuiasi.ro
Facultatea de Automatic
a si Calculatoare, Iasi

an universitar: 2014 2015

RIWeb 2014 2015/C07: Protocolul DNS

1/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Cuprins
1

Arhitectura generala a motoarelor de catare


Motor de cautare pe WEB
Robot WEB

Definitie, scurt istoric, caracteristici


Definitie
Scurt istoric
Caracteristici principale

Specificatii protocol DNS


Formatul unui mesaj DNS
Header-ul unui mesaj DNS
Sectiunea Question
Sectiunea Answer

Discutii

RIWeb 2014 2015/C07: Protocolul DNS

2/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Motor de c
autare pe WEB

Motor de cautare pe WEB

Figura 1: Arhitectura general


a a motoarelor de c
autare pe WEB [7]

RIWeb 2014 2015/C07: Protocolul DNS

3/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Robot WEB

Arhitectura unui robot WEB

Figura 2: Componentele unui robot WEB (n englez


a: web crawler )[7]

RIWeb 2014 2015/C07: Protocolul DNS

4/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Definitie

Defintie DNS

DNS Domain Name System


sistem de nume ierarhic utilizat n identificarea oricarei resurse (calculator,
serviciu, etc.) conectate la/prin intermediul Internet sau n cadrul oricarei
retele particulare;
informatiile sunt stocate n forma unei baze de date distribuite ierarhic;
sistemul este supranumit coloana vertebrala a Internet-ului;
cel mai important rol: maparea numelor semnificative uman peste
identificatori numerici (binari) semnificativi la nivel de echipament de retea,
ntr-un mod scalabil si independent de locatia fizica efectiva a resursei.

RIWeb 2014 2015/C07: Protocolul DNS

5/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Scurt istoric

Scurt istoric al DNS


1967 Nu exista!!
1971 Peggy Karp host mnemonics RFC 226
HOSTS.TXT tabel ce cuprindea toate resursele unei retele
mapate sub forma adresa ip nume resursa;
fiecare operator din cadrul retelei trebuia sa copie local, pe fiecare
calculator, acest fisier;
prima versiune completa a tabelului: 1972.
1981 Dr. David Mills concepte si facilitati necesare pentru Internet
Name Domains RFC 799.
Ross Wm. Rader despre RFC 799
RFC 799 outlined the concepts and facilities required for an Internet
Name Domains system that would eventually scale to facilitate
addressing of thousands of hosts.
RIWeb 2014 2015/C07: Protocolul DNS

6/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Scurt istoric

Scurt istoric al DNS (2)


1982 Jon Postel & Zaw-Sing Su RFC 819 prima descriere generala a
unei structuri DNS si a ceea ce ar trebui sa permita o astfel de
structura la nivel de comunicatie inter-retele.
1983 Dr. Paul Mockapetris
RFC 882 Domain Names Concepts and Facilities (n prezent,
anulat si completat de RFC 1034)
RFC 883 Domain Names Implementation and Specification (n
prezent, anulat si completat de RFC 1035)
defineste urmatoarele notiuni fundamentale:
Autoritate: sfera de influenta (zona/subdomeniu) asupra
careia o entitate are control complet.
Delegare: mecanismul prin care o entitate capata control
complet asupra unei sfere de influenta (zona/subdomeniu).

RIWeb 2014 2015/C07: Protocolul DNS

7/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Caracteristici principale

Caracteristici principale: structura

Figura 3: Structura ierarhic


a a DNS

RIWeb 2014 2015/C07: Protocolul DNS

8/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Caracteristici principale

Caracteristici principale: rezolvarea numelor

Figura 4: Rezolvarea numelor: etapa local


a

RIWeb 2014 2015/C07: Protocolul DNS

9/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Caracteristici principale

Caracteristici principale: rezolvarea numelor (2)

Figura 5: Rezolvarea numelor: etapa recursiv


a

RIWeb 2014 2015/C07: Protocolul DNS

10/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Caracteristici principale

Caracteristicile principale ale protocolului DNS


Nivel protocol n stiva TCP/IP
nivel APLICAT
IE (nivel 4)
Nivel protocol n stiva OSI
nivel PREZENTARE (nivel 6)
Protocol transport utilizat implicit
UDP
Port implicit
53
Tip protocol
fara stare
Schema de transfer
comunicatie de tip cerere/raspuns
Schema URI
dns:
RIWeb 2014 2015/C07: Protocolul DNS

11/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Formatul unui mesaj DNS

Formatul unui mesaj DNS

Cererea/raspunsul DNS
au acelasi format unic
Structura unui mesaj DNS
Header Dimensiune: 12 octeti
Informatii continute: tipul mesajului, informatii generale despre
mesaj, campuri ce indica numarul total de intrari cuprinse n
celelalte sectiuni ale mesajului
Question Dimesiune: variabila
Informatii continute: una sau mai multe ntrebari adresate unui
server DNS

RIWeb 2014 2015/C07: Protocolul DNS

12/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Formatul unui mesaj DNS

Formatul unui mesaj DNS (2)

Structura unui mesaj DNS (2)


Answer Dimensiune: variabila
Informatii continute: una sau mai multe nregistrari ce cuprind
raspunsurile cerute n campul anterior
Authority Dimesiune: variabila
Informatii continute: se indica server-ele autoritare (unul sau mai
multe) ce trebuie utilizate n cazul unei recursii a cererii
Additional Dimesiune: variabila
Informatii continute: alte informatii

RIWeb 2014 2015/C07: Protocolul DNS

13/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Header-ul unui mesaj DNS

Header-ul mesajului DNS


Caracteristici generale
structurat pe c
ampuri semnificatia unui camp este data de entitatea care
l seteaza

Figura 6: Formatul header-ului DNS


RIWeb 2014 2015/C07: Protocolul DNS

14/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Header-ul unui mesaj DNS

Header-ul mesajului DNS (2)

ID
Dimensiune: 2 octeti (16 biti)
Descriere: Identifier camp generat de client n momentul scrierii cererii.
Este copiat de catre server n mesajul raspuns. Are rolul de a identifica la
nivel de client cererile distincte transmise de acelasi client.
QR
Dimensiune: 1/8 octeti (1 bit)
Descriere: Query/Response Flag diferentiaza tipul mesajului (cerere 0
sau r
aspuns 1).

RIWeb 2014 2015/C07: Protocolul DNS

15/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Header-ul unui mesaj DNS

Header-ul mesajului DNS (3)

Opcode
Dimensiune: 1/2 octeti (4 biti)
Descriere: Operation Code se specifica (pe partea de client, valoarea
fiind copiata n raspuns) tipul cererii DNS
Valori posibile:
0 - QUERY cerere standard
1 - IQUERY cerere invers
a
2 - STATUS cerere asupra st
arii unui server
3 - (rezervat) valoare rezervata, neutilizat
a
4 - NOTIFY ad
augat de RFC 1996 rolul de a solicita (din partea unui
server autoritar) reactualizarea servere-lor subordonate)
5 - UPDATE ad
augat de RFC 2136 rol n implementarea DNS dinamice

RIWeb 2014 2015/C07: Protocolul DNS

16/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Header-ul unui mesaj DNS

Header-ul mesajului DNS (4)


AA
Dimensiune: 1/8 octeti (1 bit)
Descriere: Authoritative Answer Flag camp setat de catre server pentru
a indica tipul entitatii care a generat raspunsul (entitate de tip Autoritate sau
nu).
TC
Dimensiune: 1/8 octeti (1 bit)
Descriere: Truncation Flag camp setat de catre server pentru a indica
daca mesajul a fost trunchiat sau nu.
RD
Dimensiune: 1/8 octeti (1 bit)
Descriere: Recursion Desired camp setat de catre client pentru a forta
server-ul interogat sa realizeze cereri recursive
RIWeb 2014 2015/C07: Protocolul DNS

17/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Header-ul unui mesaj DNS

Header-ul mesajului DNS (5)

RA
Dimensiune: 1/8 octeti (1 bit)
Descriere: Recursion Available camp setat de catre server pentru a
specifica daca server-ul suporta cereri recursive sau nu.
Z
Dimensiune: 3/8 octeti (3 biti)
Descriere: Zero camp rezervat 3 biti cu valoare implicita 0.

RIWeb 2014 2015/C07: Protocolul DNS

18/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Header-ul unui mesaj DNS

Header-ul mesajului DNS (6)


Rcode
Dimensiune: 1/2 octeti (4 biti)
Descriere: Response Code campul este setat pe 0 de catre client. Serverul
va seta acest camp corespunzator cu statusul cererii.
Valori posibile:
0 - NO ERROR
1 - Format error cererea contine erori de sintax
a
2 - Server Failure eroare de server
3 - (rezervat) valoare rezervata, neutilizat
a
4 - Name error numele specificat nu a fost reg
asit
5 - Refused serverul refuz
a procesarea cererii
6 - YX Domain exist
a, desi nu ar trebui, un nume n cadrul unui domeniu
7 - YX RR Set exist
a, desi nu ar trebui, un set de nregistr
ari ale unei resurse
8 - NX RR Set setul de nregistr
ari aferent unei resurse ar trebui s
a existe
9 - Not Auth serverul care a primit cererea nu este autoritate pe domeniu
10 - Not Zone numele specificat n cerere nu exist
a n zona indicat
a
RIWeb 2014 2015/C07: Protocolul DNS

19/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Header-ul unui mesaj DNS

Header-ul mesajului DNS (7)


QDCount
Dimensiune: 2 octeti (16 biti)
Descriere: Question Count camp setat de catre client, specifica numarul
de ntrebari din cerere.
ANCount
Dimensiune: 2 octeti (16 biti)
Descriere: Answer Record Count camp setat de catre server, specifica
numarul de raspunsuri din cerere.
NSCount
Dimensiune: 2 octeti (16 biti)
Descriere: Authority Record Count camp setat de catre server, specifica
numarul de intrari corespunzatoare sectiunii Authority din mesaj.
RIWeb 2014 2015/C07: Protocolul DNS

20/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Header-ul unui mesaj DNS

Header-ul mesajului DNS (8)

ARCount
Dimensiune: 2 octeti (16 biti)
Descriere: Additional Record Count camp setat de catre server, specifica
numarul de intrari corespunzatoare sectiunii Additional din mesaj.

RIWeb 2014 2015/C07: Protocolul DNS

21/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Sectiunea Question

Sectiunea Question a mesajului DNS

contine nterbarea adresata de catre client server-ului DNS


orice mesaj DNS trebuie s
a contin
a cel putin o nregistrare pentru
aceast
a sectiune.

Figura 7: Formatul sectiunii Question

RIWeb 2014 2015/C07: Protocolul DNS

22/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Sectiunea Question

Sectiunea Question a mesajului DNS (2)


Question Name
contine numele resursei pentru care se solicita informatiile specificate n mesaj
Exemplu
Resursa: www.xyzindustries.com

Codificarea: [3]www[13]xyzindustries[3]com[0]

Figura 8: Codificarea c
ampului Question Name
RIWeb 2014 2015/C07: Protocolul DNS

23/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Sectiunea Question

Sectiunea Question a mesajului DNS (3)


QType Question Type
Dimensiune: 2 octeti (16 biti)
Rol: specifica tipul ntrebarii adresate server-ului:
Valoare 1: se cere rezolvarea numelui transmis n cerere (obtinerea adresei
IPv4 asociat
a numelui);
Valoare 28: similar valorii 1, dar r
aspunsul oferit va contine adresa IPv6 a
resursei dorite.

QClass Question Class


Dimensiune: 2 octeti (16 biti)
Rol: specifica, pentru resursa ceruta, clasa din care ar trebui sa faca parte
raspunsul
Dac
a r
aspunsul urm
arit este adresa IP asociat
a unui nume, atunci acest
c
amp trebuie s
a contin
a valoarea 1 (IN).

RIWeb 2014 2015/C07: Protocolul DNS

24/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Sectiunea Answer

Sectiunea Answer a mesajului DNS


sectiunea Answers a unui mesaj DNS contine rezolvarea cererii client. In
mod uzual, acest raspuns este obtinut sub forma unui Resource Record
DNS (RR).

Figura 9: Formatul unui RR DNS

RIWeb 2014 2015/C07: Protocolul DNS

25/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Sectiunea Answer

Structura unui Resource Record

Name
Dimensiune: variabila
Contine numele resursei ce face obiectul prezentului RR. Formatul poate fi:
o secvent
a de etichete ce se ncheie cu un octet cu valoarea 0 ;
un pointer (Figura 10);
o secvent
a de etichete ce se ncheie cu un pointer.

Figura 10: Formatul unui pointer

RIWeb 2014 2015/C07: Protocolul DNS

26/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Sectiunea Answer

Structura unui Resource Record (2)


Type
Dimensiune: 2 octeti (16 biti)
Rol: specifica tipul RR daca n cerere a fost solicitata adresa IP, atunci
acest camp are valoarea 1.
Class
Dimensiune: 2 octeti (16 biti)
Rol: precizeaza clasa de care apartine RR curent.
TTL
Dimensiune: 4 octeti (32 biti)
Rol: specifica durata (n secunde) pentru care RR-ul inclus n raspuns poate
fi retinut n cache (durata de validitate a RR-ului curent).
RIWeb 2014 2015/C07: Protocolul DNS

27/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Sectiunea Answer

Structura unui Resource Record (3)


RDLenght
Dimensiune: 2 octeti (16 biti)
Rol: specifica lungimea n octeti a campului Rdata.
In cazul n care raspunsul contine adresa IPv4 dorit
a, atunci acest camp va
avea valoarea 4.
RData
Dimensiune: variabila
Rol: contine unul sau mai multe subcampuri ce prezinta informatiile dorite
despre RR-ul curent.
Subc
ampul Address: dimensiune 4 octeti (32 biti) adresa IP a
resursei indicate.

RIWeb 2014 2015/C07: Protocolul DNS

28/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Discutii

Cum se pot afla numele de domenii nregistrate la o anumita adresa IP?


Cum se poate implementa n mod eficient un cache DNS?

RIWeb 2014 2015/C07: Protocolul DNS

29/ 30

Cuprins

Arhitectura general
a a motoarelor de c
atare

Definitie, scurt istoric, caracteristici

Specificatii protocol DNS

Discutii

Bibliografie

Bibliografie

http://en.wikipedia.org/wiki/Domain name system

Ross Wm. Rader, One History of DNS, 2001

http://www.rfc-archive.org/getrfc.php?rfc=226

tcpipguide.com: DNS Message Processing and General Message Format

http://www.zytrax.com/books/dns/ch15/

http://www.networksorcery.com/enp/protocol/dns.htm

Christopher D. Manning, Prabhakar Raghavan and Hinrich Sch


utze,
Introduction to Information Retrieval, Cambridge University Press. 2008

RIWeb 2014 2015/C07: Protocolul DNS

30/ 30