Domenenavn system

Domain Name System
(DNS)
Familie Internett-protokollfamilie
Funksjon Oppløsning av domenenavn
havner 53/UDP, 53/TCP
Plassering i protokollstabelen
App DNS
Transport TCP eller UDP
Nett IP ( IPv4 , IPv6 )
standarder

RFC 881 (The Domain Name Scheme and Agenda, 1983)
RFC 1034 (1987)

RFC 1035 (1987)

Domain Name System ( DNS ) [ 1 ] er et desentralisert hierarkisk navnesystem for enheter koblet til IP -nettverk som Internett eller et privat nettverk . Dette systemet knytter forskjellig informasjon til domenenavn som er tildelt hver av deltakerne. Dens viktigste funksjon er å "oversette" menneskelesbare navn til binære identifikatorer knyttet til datamaskiner koblet til nettverket, for å kunne lokalisere og adressere disse datamaskinene over hele verden. [ 2 ]

DNS-serveren bruker en hierarkisk , distribuert database som lagrer informasjon knyttet til domenenavn på nettverk som Internett . Selv om DNS som database er i stand til å knytte forskjellige typer informasjon til hvert navn, er de vanligste bruksområdene tilordning av domenenavn til IP-adresser og plasseringen av e-postserverne til hvert domene.

Kartleggingen av navn til IP-adresser er absolutt den mest kjente funksjonen til DNS-protokollene. Hvis for eksempel IP-adressen til Google-nettstedet er 216.58.210.163, når de fleste denne datamaskinen ved å spesifisere www.google.com og ikke IP-adressen. I tillegg til å være lettere å huske, er navnet mer pålitelig. [ 3 ]​ Den numeriske adressen kan endres av mange årsaker, uten at du trenger å endre navnet på nettstedet. Selv i tilfelle en nettside bruker et innholdsleveringsnettverk ( CDN , for akronymet på engelsk) gjennom DNS, vil brukeren motta IP-adressen til den nærmeste serveren i henhold til deres geografiske plassering (hver CDN har i sin tur sin egen DNS servere).

Historikk

Hovedsakelig ble DNS født fra behovet for enkelt å huske navnene på alle serverne som er koblet til Internett. I utgangspunktet var SRI (nå SRI International ) vert for en fil kalt HOSTS som inneholdt alle kjente domenenavn. [ 4 ]​ [ 5 ]

Den eksplosive veksten av nettverket gjorde det sentraliserte navnesystemet i vertsfilen upraktisk, og i november 1983 publiserte Jon Postel planleggingen i RFC 881 og publiserte senere, sammen med Paul Mockapetris , RFC 882 og RFC 883 samme år. . I oktober 1984 og etter lange diskusjoner utstedte de RFC 920 [ 6 ] som definerte hva som i dag har utviklet seg til den moderne DNS (disse RFC - ene 882 og 883 ble erstattet i 1987 med RFC-ene 1034 og RFC 1035 ). [ 7 ]

I fravær av DNS-servere, vil brukerne måtte skrive IP-adressen til nettstedet i stedet for å skrive URL-en, noe som ville skape forvirring og Internett-navigasjon ville bli svært komplisert for brukerne.

På dette stadiet var den beste måten å gi "kontinuitet" å ha flere servere som svarer på flere spørsmål. En server var mester og de andre var slaver . Hver av slavene måtte med jevne mellomrom sjekke med masteren at dataene ikke var endret.

Omtrent 10 år senere ble det gjort noen store justeringer i DNS-protokollen. Dette var en mer dynamisk måte å holde servere oppdatert på, ved å bruke NOTIFY og inkrementelle soneoverføringer ( IXFR ). [ 8 ]

NOTIFY var en viktig endring. I stedet for å vente på at en slave skal sjekke, kan masteren sende NOTIFY-meldinger til slavene, og oppfordre dem til å innhente de nye dataene. På sin side betydde IXFR en endring i måten data ble kommunisert på. Hvis du endret bare én av hundrevis av poster, ville den opprinnelige spesifikasjonen sende hundrevis av meldinger. IXFR endret systemet, slik at bare poster som ble endret kunne sendes. [ 8 ]

Den neste utviklingen av DNS kom da dynamiske endringer ble definert i RFC 2136 . Dette gjorde det mulig for serveradministratorer å gjøre registerendringer bedre. Senere, i RFC 2671 , ble DNS-utvidelsesmekanismer (EDNS) definert , som ytterligere moderniserte systemet. [ 8 ]

Interessen for å utvide mulige domenenavn til å inkludere tegn fra andre språk ble reflektert i internasjonaliserte domenenavn som definert i RFC 5890 og RFC 5891 i 2010.

Komponenter

Tre hovedkomponenter brukes til den praktiske driften av DNS-systemet:

Fase 1 kunder Et DNS-klientprogram som kjører på brukerens datamaskin som genererer DNS-navneoppløsningsforespørsler til en DNS-server (for eksempel: Hvilken IP-adresse tilsvarer navn.domene?) DNS-servere De svarer på kundeforespørsler. Rekursive servere har muligheten til å videresende forespørselen til en annen server hvis de ikke har den forespurte adressen. myndighetssoner Det er en del av domenenavnet som er ansvarlig for en DNS-server, som kan ha autoritet over flere soner. (For eksempel: subdomain.Wikipedia.ORG, subdomain.COM, etc.)

Forstå delene av et domenenavn

Et domenenavn består vanligvis av to eller flere deler (teknisk "etiketter"), atskilt med punktum når det er skrevet som tekst. For eksempel www.example.com eller en.wikipedia.org

DNS består av et hierarkisk sett med DNS-servere. Hvert domene eller underdomene har en eller flere "autoritetssoner" som publiserer informasjon om domenet og navnetjenestene til et inkludert domene. Hierarkiet av autoritetssoner faller sammen med hierarkiet av domener. På toppen av det hierarkiet er rotserverne - serverne som reagerer når de søker å løse et domene på første og andre nivå.

DNS i den virkelige verden

Brukere kommuniserer vanligvis ikke direkte med DNS-serveren: navneløsning gjøres transparent av klientapplikasjoner (for eksempel nettlesere , e-postklienter og andre applikasjoner som bruker Internett). Når du gjør en forespørsel som krever et DNS-oppslag, sendes forespørselen til operativsystemets lokale DNS-server. Operativsystemet, før det etablerer kommunikasjon, sjekker om svaret er i hurtigbufferen. I tilfelle den ikke blir funnet vil forespørselen bli sendt til en eller flere DNS-servere, [ 9 ] brukeren kan bruke sin ISP sine egne servere, de kan bruke en gratis domeneløsningstjeneste eller leie en avansert domeneløsningstjeneste betaling som vanligvis er tjenester inngått av selskaper for deres hastighet og sikkerheten de tilbyr.


De fleste hjemmebrukere bruker DNS-serveren som tilbys av Internett-leverandøren, bortsett fra de som tilpasser utstyret eller ruterne for visse offentlige servere. Adressen til disse serverne kan konfigureres manuelt eller automatisk gjennom DHCP (dynamisk IP). I andre tilfeller har nettverksadministratorer konfigurert sine egne DNS-servere.

I begge tilfeller ser først DNS-serverne som mottar forespørselen for å se om de har svaret i hurtigbufferen. Hvis ja, server svaret; ellers ville de starte søket rekursivt. Når svaret er funnet, vil DNS-serveren bufre resultatet for fremtidig bruk og returnere resultatet. [ 9 ]

Vanligvis transporterer DNS-protokollen forespørslene og svarene mellom klient og server ved å bruke UDP-protokollen , siden den er mye raskere. Anledningene der TCP-protokollen brukes er: når svar som er større enn 512 byte i lengde må transporteres (for eksempel ved bruk av DNSSEC) og når informasjon utveksles mellom servere (for eksempel ved soneoverføring), av pålitelighetsårsaker. [ 10 ]

DNS-hierarki

Domenenavneområdet har en trestruktur . Bladene og nodene til treet brukes som medieetiketter. Et fullstendig kvalifisert domenenavn for et objekt består av sammenkoblingen av alle etikettene til en bane. Etiketter er alfanumeriske strenger (med "-" som eneste tillatte symbol), må være minst ett tegn og maksimalt 63 tegn lange, og må begynne med en bokstav (og ikke med "-"). [ 11 ]​ Individuelle etiketter er atskilt med punktum. Et domenenavn slutter med et punktum (selv om denne siste punktum vanligvis utelates da den er rent formell). Et riktig utformet domenenavn (FQDN, for akronymet på engelsk), er for eksempel dette: www.example.com. (inkludert perioden på slutten).

Et domenenavn må inneholde alle punktum og har en maksimal lengde på 255 tegn.

Et domenenavn skrives alltid fra høyre mot venstre. Prikken helt til høyre for et domenenavn skiller rotkoden fra hierarkiet. Dette første nivået er også kjent som et toppnivådomene (TLD).

Objektene til et DNS-domene (for eksempel datamaskinnavnet) er registrert i en sonefil som ligger på en eller flere navneservere.

Typer DNS-servere

Dette er typene servere i henhold til deres funksjon: [ 9 ]

Primær eller lærere lagre dataene til et navneområde i filene deres. sekundærer eller slaver de får dataene fra primærserverne gjennom en soneoverføring. Lokal eller cache de jobber med samme programvare, men de inneholder ikke databasen for navneløsning. Når et spørsmål sendes til dem, konsulterer de på sin side de tilsvarende DNS-serverne, og lagrer svaret i databasen deres for å fremskynde gjentakelsen av disse forespørslene i en kontinuerlig eller gratis fremtid.

Typer domenenavnoppløsning

En DNS-server kan løse et domenenavn på en "rekursiv" eller "iterativ" måte. [ 12 ] I en "iterativ" spørring ber en klient en DNS-server om å hente hele svaret for seg selv (dvs. gitt domenet my.domain.com , forventer klienten å motta den tilsvarende IP-adressen). På den annen side, gitt en "rekursiv" spørring, gir ikke DNS-serveren et fullstendig svar: når det gjelder mitt.domene.com , returnerer den første serveren som spørringen gjøres til (en rotserver), IP-en. adresser fra toppnivåservere (TDL) som er ansvarlige for .com -domenet . Så klienten må nå gjøre en ny spørring til en av disse serverne, som noterer seg .domain.com- suffikset og svarer med den tilsvarende DNS-serverens IP, for eksempel dns.domain.com . Til slutt sender klienten en ny spørring til dns.domain.com for å få IP-adressen til my.domain.com .

I praksis er en verts spørring til en lokal DNS rekursiv, mens spørringer utført av den lokale DNS er iterative. Rekursive spørringer utføres også bare hvis den lokale DNS-serveren ikke har de tilsvarende bufrede dataene (eller hvis de har utløpt). Oppsummert utføres den normale oppløsningsprosessen som følger:

  1. Den lokale DNS-serveren mottar en rekursiv spørring fra klientvertens resolver .
  2. Den lokale DNS utfører iterative spørringer til de tilsvarende serverne.
  3. Den lokale DNS-serveren leverer oppløsningen til verten som ba om informasjonen.
  4. Resolveren på klientverten leverer svaret til den tilsvarende applikasjonen .

Sikkerhetsproblemer

Opprinnelig var sikkerhetshensyn ikke store designhensyn i DNS-programvare eller annen programvare for distribusjon på det tidlige Internett, siden nettverket ikke var åpent for deltakelse av allmennheten. Utvidelsen av Internett til kommersiell sektor på 1990-tallet endret imidlertid kravene til sikkerhetstiltak for å beskytte dataintegritet og brukerautentisering .

Mange sårbarhetsproblemer ble oppdaget og utnyttet av ondsinnede brukere. Et slikt problem er DNS-bufferforgiftning , der data distribueres til hurtigbufferløsere under dekke av å være en opprinnende autoritetsserver, og dermed forurenser datalageret med potensielt falsk informasjon og lange utløpstider (tid-til-live). Deretter kan legitime søknadsforespørsler omdirigeres til nettverksutstyr som drives med skadelig innhold.

DNS-svar var tradisjonelt ikke signert kryptografisk , noe som tillot mange muligheter for angrep; DNS Security Extensions (DNSSEC) endrer DNS for å legge til muligheten til å ha kryptografisk signerte svar. DNSCurve er foreslått som et alternativ til DNSSEC. Andre utvidelser, for eksempel TSIG , legger til støtte for kryptografisk autentisering mellom pålitelige jevnaldrende og brukes ofte til å autorisere soneoverføringer eller dynamiske oppdateringsoperasjoner.

Noen domenenavn kan brukes til bedrag. For eksempel er paypal.com og paypa1.com forskjellige navn, men brukere kan kanskje ikke se forskjellen avhengig av fonten de bruker. I mange skrifttyper ser bokstaven l og tallet 1 veldig like ut eller til og med identiske. Dette problemet er alvorlig i systemer som tillater internasjonaliserte domenenavn, siden mange tegn i ISO 10646 kan vises identiske på typiske dataskjermer. Denne sårbarheten blir av og til utnyttet i phishing . [ 13 ]

Teknikker som forward-commit reverse FDNS kan også brukes til å validere DNS-resultater.

Ressursposter

Domain Name System spesifiserer en database med informasjonselementer for nettverksressurser. Informasjonselementtyper er kategorisert og organisert med en liste over DNS-posttyper - Resource Records (RRs). Hver post har en type (navn og nummer), en utløpstid ( time to live ), en klasse og typespesifikke data. Ressursposter av samme type beskrives som et ressurspostsett (RRset) og har ikke en bestemt rekkefølge. DNS-løsere returnerer hele settet ved spørring, men servere kan implementere round-robin- bestilling for lastbalansering . Derimot fungerer Domain Name System Security Extensions (DNSSEC) på hele settet med ressursposter i kanonisk rekkefølge.

Når de sendes over et Internett-protokollnettverk , bruker alle poster det vanlige formatet spesifisert i RFC 1035 : [ 14 ]

Felt for ressurspost (RR).
Landsbygda Beskrivelse Lengde ( oktetter )
YAM Navn på noden som posten tilhører Variabel
TYPE RR-type i numerisk form (for eksempel 15 for MX RR) to
KLASSE klassekode to
TTL Antall sekunder RR er gyldig (maksimum er 2 31 −1, som er omtrent 68 år) 4
RDLENGDE RDATA-feltlengde (spesifisert i oktetter) to
RDATA Ytterligere RR-spesifikke data Variabel, i henhold til RDLENGTH

NAME er det fullt kvalifiserte domenenavnet til noden i treet. Under tilkoblingen kan navnet forkortes ved hjelp av etikettkomprimering der endene på domenenavn nevnt tidligere i pakken kan erstattes med slutten av det faktiske domenenavnet. En uavhengig @ brukes for å angi gjeldende opprinnelse.

TYPE er posttypen. Indikerer formatet på dataene og gir en ide om tiltenkt bruk. For eksempel brukes A -posten til å oversette fra et domenenavn til en IPv4-adresse , NS -posten viser hvilke navneservere som kan svare på spørsmål i en DNS-sone , og MX -posten spesifiserer e-postserveren som brukes til å håndtere e-post fra et domene. spesifisert i en e-postadresse lag av dns som er.

RDATA er relevante typespesifikke data, for eksempel IP-adresse for adresseposter, eller prioritet og vertsnavn for MX-poster. Kjente posttyper kan bruke tag-komprimering på RDATA-feltet, bortsett fra "ukjente" posttyper ( RFC 3597 ).

KLASSE er klassen til posten satt til IN (Internett) for vanlige DNS-poster som involverer vertsnavn, servere eller IP-adresser. I tillegg er det klassene Chaos (CH) og Hesiod (HS). Hver klasse er et eget navneområde med potensielt forskjellige delegeringer av DNS-soner.

I tillegg til ressurspostene som er definert i en sonefil , definerer domenenavnsystemet også ulike forespørselstyper som kun brukes i kommunikasjon med andre DNS-noder (på tilkoblingen), for eksempel ved utføring av soneoverføringer (AXFR / IXFR) eller for EDNS (OPT).

Jokertegn DNS-poster

Domenenavnsystemet støtter jokertegn DNS-poster , som spesifiserer navn som begynner med stjernekoden "*", for eksempel * .example. [ 15 ] ​[ 16 ]​ DNS-poster knyttet til jokertegndomenenavn spesifiserer regler for generering av ressursposter innenfor en enkelt DNS-sone ved å erstatte etiketter med samsvarende komponenter av navnet, inkludert eventuelle spesifiserte etterkommere. For eksempel, i den følgende konfigurasjonen, spesifiserer DNS-sonen x.example at alle underdomener, inkludert underdomener til underdomener, til x.example bruker e-postutveksleren (MX) axexample . A-posten for axexample er nødvendig for å spesifisere IP-adressen til postutveksleren. Siden dette resulterer i å ekskludere dette domenenavnet og dets underdomener fra samsvar med jokertegn, må det også defineres en ekstra MX-post for axexample-underdomenet, samt en jokertegn MX-post for alle underdomenene i DNS-sonen.

x.eksempel. MX 10 akseeksempel. *.x.eksempel. MX 10 akseeksempel. *.ax eksempel. MX 10 akseeksempel. akseeksempel. MX 10 akseeksempel. akseeksempel. ÅÅÅÅ 2001:db8::1

Rollen til jokertegnposter ble foredlet i RFC 4592 , fordi den opprinnelige definisjonen i RFC 1034 var ufullstendig og førte til feiltolkning av implementere. [ 16 ]

Typer DNS-poster

De mest brukte posttypene er:

Type register Betydning
EN Adresse ( adresse ). Denne posten brukes til å oversette vertsservernavn til IPv4-adresser.
AAAA Adresse ( adresse ). Denne posten brukes i IPv6 for å oversette vertsnavn til IPv6-adresser .
CNAME Kanonisk navn ( kanonisk navn ). Den brukes til å lage flere vertsnavn, eller aliaser, for et domenes vertsservere. Den brukes når flere tjenester (som FTP og webserver) kjører på en server med én enkelt IP-adresse . Hver tjeneste har sin egen DNS-oppføring (som "ftp.example.com." og "www.example.com."). Dette brukes også når du kjører flere HTTP -servere , med forskjellige navn, på samme vert. Aliaset skrives først og deretter det virkelige navnet. Eks. «Eksempel1 I CNAME eksempel2»
NS Navneserver ( navneserver ). Definerer assosiasjonen mellom et domenenavn og navneserverne som lagrer informasjonen for det domenet. Hvert domene kan assosieres med et hvilket som helst antall navneservere
MX Postutveksling . _ Knytter et domenenavn til en liste over e-postutvekslere for det domenet. Den har en lastbalanse og prioritet for bruk av en eller flere posttjenester
PTR Indikator ( peker ). Også kjent som en "omvendt post", fungerer den omvendt av A-posten, og oversetter IP-er til domenenavn. Brukes i omvendt DNS-sonekonfigurasjonsfil
SOA Myndighet for området ( start av myndighet ). Gir informasjon om sonens primære DNS-server
SRV Tjenestepost ( SRV-post )
NOEN All informasjon av alle typer som finnes. (Ikke en posttype, men en spørringstype)

Limlogg

En "A"- og "AAAA"-post sies å være en " limpost " når den definerer et domene pekt på av en NS-post. En limpost knytter en "lim" IP-adresse til underdomenet du vil bruke som DNS-server. [ 17 ]

Anta for eksempel at vi har domenet "dittdomene.com" som jeg har underdomenene "ns1.dittdomene.com" og "ns2 for. dittdomene.com". Så kan vi lage en konfigurasjon som: [ 18 ]

dittdomene.com I NS ns1.dittdomene.com dittdomene.com I NS ns2.dittdomene.com ns1.yourdomain.com IN A 182.18.164.24 ns1.yourdomain.com I YYYY 2400:3b00:1:1::2 ns2.yourdomain.com IN A 103.231.77.204 ns2.yourdomain.com I YYYY 2400:3b00:20:4::d4

De fire siste registrene sies å være limregistre.

DNS-standarder

Følgende dokumenter definerer domenenavnsystemet:

Sikkerhet

Se også

Angrep

Referanser

  1. ^ "The Domain Name System" (html) . Microsoft TechNet . Arkivert fra originalen 12. april 2008 . Hentet 16. juli 2018 . "Domain Name System (DNS) er en hierarkisk, distribuert database som inneholder tilordninger av DNS-domenenavn til forskjellige typer data, for eksempel IP-adresser (Internet Protocol). DNS-systemet lar deg bruke vennlige navn, som www.microsoft.com, for enkelt å finne datamaskiner og andre ressurser på TCP/IP-baserte nettverk. DNS er en standard for Internet Engineering Task Force (IETF). » 
  2. «Kommentar funksjon på Internett?» (html) . progresser en informatique (på fransk) . Arkivert fra originalen 16. juli 2018 . Hentet 16. juli 2018 . «Slik at chaque serveur puisse être identifié et atteint, ils possèdent tous une adresse IP unique, comme votre lieu de domicile or votre telefonnummer. Siden en IP-adresse er vanskelig å beholde (eks: 216.27.69.178), kan nous leur donnons aussi un nom, som google.com, facebook.com, etc. Dans le sjargong, ce nom s'appelle un nom de domaine eller en adresse URL. (...) Datamaskinen din sender en forespørsel til leverandøren av Internett-tilgang (Swissco, Free, etc.) og ruteren (senderen) ber om en DNS-server (Domain Name Server) som er tour Faire tilsvarer domenenavnet du en gang krevd å ha en unik IP-adresse for å omdirigere ditt første krav til Google-serveren som passer til IP-adressen som ikke samsvarer med et google.com-domenenavn. 
  3. "DNS-spørring fra CMD" . Arkivert fra originalen 8. desember 2015 . Hentet 26. november 2015 . 
  4. ^ Stewart, Williams (2015). Domain Name System (DNS ) historikk . Hentet 28. februar 2016 . 
  5. ^ Stewart, Williams (2015). "Hva er en domenehistorikk (DNS ) " . Hentet 28. februar 2016 . 
  6. ^ "Hvordan DNS fungerer" (html) . Microsoft Technet (på engelsk) . 10. juli 2009. Arkivert fra originalen 16. juli 2018 . Hentet 16. juli 2018 . «Domain Name System introdusert i 1984 ble dette nye systemet. Med DNS ligger vertsnavnene i en database som kan distribueres mellom flere servere, noe som reduserer belastningen på en server og gir muligheten til å administrere dette navnesystemet per partisjon. DNS støtter hierarkiske navn og tillater registrering av ulike datatyper i tillegg til vertsnavn til IP-adressetilordning brukt i HOSTS-filer. Fordi DNS-databasen er distribuert, er dens potensielle størrelse ubegrenset og ytelsen blir ikke forringet når flere servere legges til. » 
  7. ^ "Historie til DNS" . CyberTelecom (på engelsk) . Hentet 28. februar 2016 . 
  8. ^ abc Lewis , Edward (2. mai 2013). "Historien og utviklingen av DNS - Starter fra begynnelsen " . Hentet 28. februar 2016 . 
  9. abc " 6.2 . Slik fungerer DNS» . Linux Network Administration Guide . Hentet 28. februar 2016 . 
  10. Sharma, Nirmal (31. oktober 2009). "Hvorfor DNS fungerer på både TCP og UDP" . windowsnetworking.com (på engelsk) . Hentet 28. februar 2016 . 
  11. Se RFC 1035 , avsnitt "2.3.1. Syntaks for navnpreferanse"
  12. James, Kurose; Keith, Ross. Computer Networks: A Top-Down Approach (5. utgave). Pearson. s. 128-132. ISBN  9788478291335 . 
  13. APWG. "Global Phishing Survey: Domain Name Use and Trends in 1H2010." 2010-19-15 apwg.org Arkivert 2012-10-3 på Wayback Machine . (på engelsk)
  14. RFC 5395 , Domain Name System (DNS) IANA Considerations , D. Eastlake 3rd (november 2008), seksjon 3
  15. RFC 1034 , Domenenavn - Konsepter og fasiliteter P. Mockapetris (november 1987)
  16. a b RFC 4592 , The Role of Wildcards in the Domain Name System , E. Lewis (juli 2006)
  17. Lag limposter . arsys.es
  18. Limposter og hvorfor de er avgjørende . Nilabh Mishra. catchpoint.com. 14. april 2017

Eksterne lenker