Forstå DNS-protokollen (del 1)



Domain Name Service aka DNS

The Domain Name Service er det jeg vil kalle en "tett" protokollen. Jeg vil kalle det tett fordi det er så mye å DNS ​​at det har resultert i mange bøker blir skrevet utelukkende på DNS, hva det er, og hva det gjør. I motsetning til enkelte andre applikasjonslaget protokoller, som utfører bare en funksjon, gjør DNS normal oppløsning på domenenavn til IP-adresse og andre ting som hjelp ruten din e-post. Ved å rute mener jeg ikke at DNS har plutselig forvandlet til en ruting protokoll, men heller at gjennom utbredelsen av noe som kalles MX-poster, kan e-posten sendes til riktig postserveren.

I denne serien av artikler om DNS vil vi dekke strukturen av domenenavnet tjenesten som helhet. Vi vil deretter gå videre til å dekke litt mer om hvordan DNS faktisk fungerer via sin hierarkisk design. Videre vil vi dekke ganske mange eksempler på det som kalles ressurs poster og RCODES, også hva de betyr og hvordan vi kan bryte dem ut. Dette vil bli gjort på pakkenivå for å bidra til å gi oss sammenheng i tilfelle du trenger å undersøke nettverket på pakkenivået på et senere tidspunkt. Bare husk at, som jeg nevnte tidligere, denne artikkelserien vil egentlig bare skraper i overflaten av DNS. Det jeg vil ikke bli dekket er selve oppsettet av DNS i et nettverk, og feilsøking av det. Med det sagt la oss begynne vår utforskning av dette ofte lite verdsatt protokollen.

Den spede begynnelse

For de systemansvarlige der ute, kan du nesten kartlegge tidlige begynnelse av DNS til vekst av interne DNS som vises av Microsoft. I Windows NT hadde vi det som ble kalt LM Hosts-fil. Finnes i LMHOSTS filen var en kartlegging av NetBIOS-navn til IP-adresser. Dette ble gjort for å lette oppgaven med å finne datamaskiner og tjenester som tilbys på det interne nettverket. Det ble raskt etterfulgt av WINS-serveren, og deretter av Active Directory.

Et mål av disse ulike ordninger var å kartlegge en IP-adresse til et vertsnavn. Dette statisk kartlegging av IP-adresser til datamaskin navn var faktisk begynnelsen på DNS, slik vi kjenner det i dag. Tilbake i de tidlige dagene av ARPA du bare hadde en fil med en liste over datamaskiner og deres navn på en datamaskin. Det var ikke noe slikt som DNS i form vi kjenner det i dag. Det var absolutt ikke distribuert som det er nå, men mer så holdt på individuelle datamaskiner. Koblingen på ARPA gir noen interessant lesning som det detaljer kort fødselen av Internett. Selv om avholdelse av en liste med navn på hver datamaskin raskt ble upraktisk som internett vokste. På grunn av denne DNS slik vi kjenner det i dag sakte begynte å vokse. Noen vet DNS som Distributed Name Service, og det er en ganske nøyaktig betegnelse på ingen datamaskin inneholder en liste over alle domenenavn til IP-adresser. Vennligst se her for et eksempel på den distribuerte natur DNS.

Du vil se at på toppen av diagrammet jeg bare linket til er hvor DNS root server ville ligge. Nedenfor roten serveren er toppnivådomener, som eksemplifisert ved .com Edu og .mil blant andre. Flere av disse domenene er for eksklusiv bruk av USA, som det er der Internett faktisk stammer fra. Helt til venstre i diagrammet er der du ser .arpa. Dette brukes for "reverse oppslag" og i hovedsak er det motsatte av hva DNS er normalt brukt for. I et omvendt oppslag spør du at en IP-adresse løses til et domenenavn. Det er det Arpa domenet er brukt til. Hvert av nivåene på at diagrammet inneholder IP-adressen til DNS-serveren over den. Selv om du kanskje tror at en root DNS-server inneholder en enorm mengde oppføringer, dette er faktisk ikke tilfelle i det hele tatt. Du kan sjekke dette nettstedet eller dette området ut for å vise DNS root-serverne.

Så hva er faktisk finnes i roten DNS server? Godt spørsmål. Den inneholder faktisk en fil kalt "Root Zone File". Denne filen inneholder alle navn og IP-adresser for autoritative DNS-servere på toppnivådomenet aka: TLD. Et eksempel på et toppdomene ville være .com og Edu blant andre. Hvordan innholdet roten navn serverens få bygget da? Vel det er i stor grad gjort av folk på IANA. Finnes i denne linken er et vell av informasjon i tillegg. Du kan se etter portoppdrag, samt protokoll oppdrag her. Du kan definitivt vurdere IANA en definitiv kilde til informasjon som de er "Internet Assigned Numbers Authority".

Tilbake til DNS root serverne skjønt. Det er ingen faktiske trafikken som går gjennom DNS root serverne som sådan. De vil gjøre ingen faktiske ruting. Disse serverne som nevnt bare inneholde en kartlegging av IP-adressene til domenenavn DNS-servere for toppnivådomenet. Hvis du husker jeg nevnte tidligere at DNS er faktisk veldig mye en "distribuert" navn tjeneste. Som sådan er det ingen datamaskin som inneholder en liste over alle DNS-informasjon. Det ville være ganske mye umulig å gjøre det, eller upraktisk i beste fall.

Anyhow Jeg vil ikke gå i dybden for dypt inn nedbryting av DNS-hierarkiet i seg selv, som det er mange gode nettsteder som allerede gjør nettopp det. En annen del av DNS har å gjøre med caching av DNS registrerer seg. Å ta en titt på DNS ​​cache på maskinen hjemme bare skrive slik på en DOS-ledeteksten,

ipconfig /displaydns

Dette vil bringe opp DNS-postene som den (kan si deg er å bruke Windows XP) XP resolver vil sjekke før du går til din ISP DNS server for å ha spørringen du utstede løst. Det kan være lurt å gi følgende link en lese så vel for den inneholder noen god informasjon om DNS caching på en Windows XP-maskin. Finnes i den informasjonen som de ovenfor angitte kommandoen utganger til DOS-ledeteksten er rekord navn, oppføringstype, ttl verdien av den bufrede DNS rekord målt i sekunder, datalengde, seksjon, og til slutt oppføringstypen. Du kan se et eksempel produksjon av ipconfig /displaydns kommandoen nedenfor. Ganske ryddig ting!

testlab-CS4
-------------------------------------- ----------------
Record navn. . . . . : Testlab-CS4
Record Type. . . . . : 1
Time To Live. . . . : 30318069
data Lengde. . . . . : 4
avsnitt. . . . . . . : Svar
A (Host) Record. . . :

192.168.1.110

Den rekordtypenummeret du ser ovenfor er knyttet til "A" posten. En fullstendig liste over platetypenummere og tilhørende posttyper kan bli funnet her. Vel på dette notatet vil jeg bryte opp en del en av denne tre del serier på DNS. I del to og tre vil vi grave dypere inn i dette mangesidig protokollen. Inntil da!