TDAT2004 Datakommunikasjon med nettverksprogrammering
Oppgave 17, Tjenerhierarki
Av: Anita Kristine Aune og Marit Holm

1. Innledning

Tjenerhierarkiet hører hjemme i applikasjonslaget som en del av navnetjenesten DNS (Domain Name System) og brukes for å kunne navigere seg enklere på Internett. Tjenerhierarkiet forteller oss om strukturen til DNS, altså hvilke navnetjenere som inneholder hvilken informasjon, og i hvilken rekkefølge og hvordan de kommuniserer med hverandre.

Det er ICANN (Internet Corporation for Assigned Names and Numbers) som har overordnet ansvar for domenenavn på verdensbasis. Ansvar for administrering av norske domenenavn er delegert til Norid (Norsk registreringstjeneste for Internett domenenavn).


2. Ønsket funksjonalitet

Funksjonaliteten til tjenerhirearkiet er å strukturere de forskjellige navnetjenerne i DNS. Det hjelper DNS å koble ressursdata til domenenavn. Det gir oss muligheten til å koble for eksempel et domenenavn til sin tilhørende IP-adresse, slik at bruker ikke trenger å forholde seg til lange IP-adresser. DNS brukes av alle applikasjoner hvor man adresserer maskiner ved navn, for eksempel epost eller i web.

3. Virkemåte

3.1 Domenestruktur

For å unngå å måtte skrive og huske IP-adresser når man skal navigere seg på nettet, mapper DNS domenenavnene til IP-adresser. DNS og domenenavnene er hierarkisk strukturert, og består av flere ledd. Disse leddene er kalles nivåer, og deles inn i rotnivå, toppnivå, domenenivå og subdomenenivå.

Rotnivå
Rotnivået har oversikt over alle de andre tjenerne, og vet hvilke tjenere som hører til de ulike toppnivåene.

Toppnivå
Toppnivådomenene er delt i to grupper - nasjonale domener og organisatoriske. Alle land har fått tildelt hver sin kode på to bokstaver (eksempelvis no, se, uk eller fr) og dette er de nasjonale domenene. De organisatoriske er domener som eksempelvis com, net og org.


Domenenivå
Domenenivå er selve navnet på nettsiden (eksempelvis ntnu). Begrensninger for hvem som kan registrere et domene er knyttet til de ulike toppnivåene. Norid har bestemt at organisasjoner som er registrert i Enhetsregisteret kan ha inntil 100 domener direkte under .no, mens privatpersoner med norsk fødselsnummer og postadresse kan ha inntil fem. Det er derimot åpent for alle å registrere seg under .com-domenet, dersom navnet er ledig.


Subdomene
Subdomene er en del av domenet. Eksempelvis er innsida.ntnu.no et subdomene av ntnu.no, som igjen er et subdomene av toppdomenet no. 

 

Figur 1: Rotnivået har oversikt over alle toppnivådomenene. Alle toppnivådomenene har en oversikt over sine respektive underdomener, og disse igjen har en oversikt over sine underdomener.


3.2 Tjenerhierarkiet

Navnetjenere
Når en bruker vil aksessere en nettside, spør maskinen først en lokal navnetjener. IP-adressen til denne navnetjeneren vil være lagt inn på datamaskinen på forhånd, dette blir gjerne konfigurert ved oppstart av maskinen. Hvis denne lokale navnetjeneren ikke har mellomlagret IP-adressen til det forespurte domenet, vil den kunne ta forespørselen videre på vegne av klienten. Den vil da også kunne mellomlagre denne informasjonen en viss tidsperiode, slik at det er klart til neste gang det gjøres et oppslag på dette domenenavnet.

Øverst på DNS-navnetreet er rotnavnetjenere. De har alle en kopi av samme data, som forteller hvilke navnetjenere som er ansvarlig for toppnivådomenene, for eksempel “.no” eller “.com”. Disse navnetjenerne igjen holder oversikt over sine underdomener. Tilslutt når vi fram til den navnetjeneren som faktisk har lagret sammenhengen mellom IP-adresse og domenenavn, dette kalles en autoritativ navnetjener. Navnetjenere som kun mellomlagrer denne informasjonen, kalles ikke-autoritative navnetjenere.

Oppslag
Ved oppslag på et domenenavn, vil klienten spørre den lokale navnetjeneren. Hvis informasjonen ikke allerede er mellomlagret, må navnetjeneren spørre videre for klienten. Da vil den først spørre rotnavnetjeneren hva IP-adressen til domenenavnet er. Rotnavnetjeneren lagrer ikke IP-adresser, men vil kunne si hvilken toppnivå navnetjener den lokale navnetjeneren må spørre videre. Toppnivå navnetjeneren vil sannsynligvis ikke kunne gi IP-adressen den heller, men vil kunne hjelpe ennå et steg videre på veien. Slik vil det fortsette, enten til vi møter på den autoritative navnetjeneren, eller til vi møter på en navnetjener som har mellomlagret informasjonen.  

Spørringene fra en navnetjener til en annen foregår ofte rekursivt, altså i flere ledd. En lokal navnetjener spør en navnetjener “A”, og denne tar forespørselen videre og spør navnetjener “B”, helt til en navnetjener finner den ønskede informasjonen.

Spørringene mot rot- og toppnivå navnetjenere er derimot gjerne satt opp til å gå iterativt, fordi disse mottar veldig mange spørringer. Dette betyr at den lokale navnetjeneren for eksempel spør rotnavnetjeneren, og kun får en henvisning om hvor den kan lete videre til svar. Dermed må den lokale navnetjeneren spørre igjen, denne gangen til toppnivå navnetjeneren.


Figur 2: Et eksempel på en spørring, hvor den lokale navnetjeneren først må spørre rotnavnetjener og deretter toppnivå navnetjener og kun får en henvisning videre begge gangene. Når den deretter spør navnetjener A, vil navnetjener A ta forespørselen videre og spørre navnetjener B, og slik vil det fortsette til informasjonen er funnet. Deretter sendes den tilbake igjennom leddene.    

4. Referanser



  • No labels