Puncte:0

Cum funcționează în practică un server de nume de domeniu TLD?

drapel cn

Cum exact rezolvă un server de nume TLD o interogare și identifică serverul de nume autorizat cu informațiile necesare? Un server de nume TLD pentru „.com” stochează serverul de nume corespunzător pentru fiecare site web cu TLD „.com”? Nu este aceasta o bază de date masivă? Sau există un fel de algoritm care decide ce nume de domenii sunt atribuite căror servere de nume autorizate și, astfel, rulând numele de domeniu prin algoritmul, puteți identifica serverul de nume autorizat potrivit?

Îmi pare rău, pare o întrebare foarte simplă, dar nu găsesc nimic online, pot găsi doar explicații la nivel de suprafață ale DNS-ului, cum ar fi Aceasta de CloudFlare, dar nimic care să intre în detaliile esențiale.

dave_thompson_085 avatar
drapel jp
În 1980 sau 1990 da ar fi fost problematic. Astăzi puteți obține un disc de 1e13 octeți pentru mai puțin de 100 USD și, probabil, cu mai puțin de 100 de octeți per domeniu, ceea ce permite o duzină de domenii pentru fiecare persoană de pe Pământ.
redpanda2236 avatar
drapel cn
@dave_thompson_085 ok, cred că intuiția mea a fost greșită lol. Știți exact cum mapează numele de domeniu la serverul de nume potrivit? Este o masă hash?
dave_thompson_085 avatar
drapel jp
Ar putea fi. Ați putea să vă uitați la software-ul serverului DNS cu sursă deschisă, cum ar fi bind și djbdns, dar operatorii TLD și root aproape sigur folosesc software personalizat, dacă nu în întregime personalizat. Având în vedere criticitatea lor, aș paria că există o practică, dacă nu o regulă totală, de a _nu_ să folosească toți același software pentru a preveni riscul de eșec total din cauza unei erori sau a unei vulnerabilități. (Oamenii din telecomunicații își amintesc încă cu durere ziua în urmă cu 32 de ani în care comutatoarele „taxării” AT&T s-au prăbușit în mod repetat din cauza unei erori, făcând rețeaua lor națională de distanță lungă inutilizabilă ore întregi.)
Puncte:2
drapel cn

Cum exact rezolvă un server de nume TLD o interogare și identifică serverul de nume autorizat cu informațiile necesare?

Un server de nume TLD nu face nimic diferit de orice alt server de nume autorizat la orice alt nod din arborele DNS, adică în funcție de design și o proprietate a protocolului DNS ca bază de date descentralizată.

Probabil că ați uitat de „avionul de înmatriculare”. DNS se ocupă de rezoluție, numită „planul de rezoluție”. Acesta explică cum să obțineți datele, nu cum au fost stocate datele în primul rând (cu excepția unor lucruri precum actualizările DNS, dar aceasta este pentru o utilizare locală, nu globală).

Planul de înregistrare este că, de obicei, există registre și registratori. Un registru gestionează un TLD. Se asigură că serverele de nume funcționează și primește comanda de la registratori. Registrarii au clienți finali care aleg domenii și le înregistrează. Registratorii trimit comenzi către registre, de obicei, cu un protocol numit EPP.

Deci, în rezumat, un registru menține o bază de date (de obicei relațională) cu toate datele, inclusiv lucruri nepublicate în DNS, dar disponibile prin alte protocoale precum whois sau RDAP (ex: contacte).Această bază de date este utilizată pentru a configura serverele de nume autorizate TLD cu toate delegațiile, alias NS înregistrări.

Un server de nume TLD pentru „.com” stochează serverul de nume corespunzător pentru fiecare site web cu TLD „.com”?

Da, conform discuției de mai sus.

Nu este aceasta o bază de date masivă?

Pentru unele TLD-uri cum ar fi .com da, dar:

  • doar câteva sute de milioane de înregistrări, ceea ce bazele de date pot gestiona complet, sunt alte cazuri cu mult mai multe date
  • TLD ca acesta este o excepție, majoritatea TLD-urilor sunt mult mai mici; ccTLD-urile tipice sunt câteva milioane de domenii, de exemplu

Sau există un fel de algoritm care decide ce nume de domenii sunt atribuite căror servere de nume autorizate și, astfel, rulând numele de domeniu prin algoritmul, puteți identifica serverul de nume autorizat potrivit?

Nu, nu este. Când înregistrați un nume de domeniu (la orice nivel din arborele DNS de fapt), sunteți liber să alegeți orice server de nume doriți să îl gestionați (cu excepția unor cazuri extreme foarte specifice, cum ar fi .tel în trecut, când registrul forța anumite servere de nume).

Îmi pare rău, pare o întrebare foarte simplă, dar nu găsesc nimic online,

https://en.wikipedia.org/wiki/Domain_name_registry este scurt, dar poate fi o bună introducere. De îndată ce înțelegeți că există rezoluție pe de o parte (DNS-ul) și înregistrare pe cealaltă (întregul registru/registrare), ar trebui să vă ajute să înțelegeți mai bine lucrurile.

Puncte:1
drapel cn

Un server de nume TLD pentru „.com” stochează serverul de nume corespunzător pentru fiecare site web cu TLD-ul „.com”?

Da. Există multe servere în spatele mai multor IP-uri de servicii, oricare dintre ele poate deservi interogarea. dig -t NS com. pentru a obține o listă.

Pentru distracție am descărcat com. de la ICANN. Zona are o dimensiune de 22 GB, 3,9 GB comprimați. Mare pentru DNS, dar mic pentru bazele de date și sistemele de stocare moderne. Operatorii pot alege ce implementare a bazei de date stochează datele de zonă și cum sunt replicate. Foarte probabil, fiecare nod are propria copie, pentru a crește disponibilitatea generală a serviciului în cazul unui timp de nefuncționare care afectează unele servere.

Zona conține serverele DNS care au autoritate pentru un anumit nume. Cei care urmăresc blogul de infrastructură al lui Stack Exchange s-ar putea să-și amintească că își fac pariurile pe furnizorii de DNS și, într-adevăr, acesta este încă prezent:

ns1.serverfault.com. 172800 într-un 198.252.206.80
ns3.serverfault.com. 172800 într-un 69.59.197.60
serverfault.com. 172800 în ns ns-1135.awsdns-13.org.
serverfault.com. 172800 în ns ns-860.awsdns-43.net.
serverfault.com. 172800 în ns ns-cloud-c1.googledomains.com.
serverfault.com. 172800 în ns ns-cloud-c2.googledomains.com.
stackoverflowdevinsights.com. 172800 în ns ns1.serverfault.com.
stackoverflowdevinsights.com. 172800 în ns ns3.serverfault.com.

Vezi și la Super User: Există o modalitate de a obține fișierul complet de zonă pentru un domeniu fără a contacta gazda acestuia?

Puncte:1
drapel in

Ei bine, trebuie să aibă toate înregistrările de delegare (NS) și lipici (A/AAAA) pentru zona lor. dig com NS dezvăluie că există tot atâtea servere de nume câte servere rădăcină:

;; SECȚIUNEA RĂSPUNSURI:
com. 63343 ÎN NS i.gtld-servers.net.
com. 63343 ÎN NS l.gtld-servers.net.
com. 63343 ÎN NS f.gtld-servers.net.
com. 63343 ÎN NS b.gtld-servers.net.
com. 63343 ÎN NS k.gtld-servers.net.
com. 63343 ÎN NS h.gtld-servers.net.
com. 63343 ÎN NS j.gtld-servers.net.
com. 63343 ÎN NS c.gtld-servers.net.
com. 63343 ÎN NS d.gtld-servers.net.
com. 63343 ÎN NS g.gtld-servers.net.
com. 63343 ÎN NS e.gtld-servers.net.
com. 63343 ÎN NS a.gtld-servers.net.
com. 63343 ÎN NS m.gtld-servers.net.

Deci, puteți interoga oricare dintre ele astfel: caută google.com @a.gtld-servers.net. Și vă spun serverele de nume autorizate pentru domeniul solicitat:

;; SECȚIUNEA AUTORITATE:
google.com. 172800 ÎN NS ns2.google.com.
google.com. 172800 ÎN NS ns1.google.com.
google.com. 172800 ÎN NS ns3.google.com.
google.com. 172800 ÎN NS ns4.google.com.

;; SECȚIUNE SUPLIMENTARĂ:
ns2.google.com. 172800 ÎN AAAA 2001:4860:4802:34::a
ns2.google.com. 172800 IN A 216.239.34.10
ns1.google.com. 172800 ÎN AAAA 2001:4860:4802:32::a
ns1.google.com. 172800 IN A 216.239.32.10
ns3.google.com. 172800 ÎN AAAA 2001:4860:4802:36::a
ns3.google.com. 172800 IN A 216.239.36.10
ns4.google.com. 172800 ÎN AAAA 2001:4860:4802:38::a
ns4.google.com. 172800 IN A 216.239.38.10

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.