Varje gång du skriver in en webbadress eller skickar ett e-postmeddelande arbetar DNS i bakgrunden. Utan domännamnssystemet skulle vi behöva komma ihåg långa sifferserier för att besöka en webbplats. Här förklarar vi vad DNS är, hur en DNS-uppslagning går till och vilka DNS-poster du behöver känna till som domänägare.
Vad är DNS?
Domännamnssystemet, eller DNS (engelska: Domain Name System), är ett system som förenklar adresseringen av datorer på IP-nätverk som internet. Det kopplar ihop domännamn av typen example.com med IP-adresser av typen 192.0.2.26, som används för själva kommunikationen. DNS brukar liknas vid en telefonkatalog som kopplar ihop ett telefonnummer med en person eller ett företag.
DNS är inte bundet till internet utan kan användas i andra IP-nätverk, och det fungerar också som en mer generell databas – till exempel för att ange vilken e-postserver som hanterar e-posten för en domän.
DNS historia
På ARPANET, internets föregångare, sköttes kopplingen mellan datornamn och IP-adresser med textfiler (HOSTS.TXT) som innehöll listor över alla datorer man behövde kommunicera med. När nätet växte blev det ohållbart. DNS uppfanns 1983 av den amerikanske datavetaren Paul Mockapetris. Standarden specificerades ursprungligen i RFC 882 och uppdaterades 1987 i RFC 1034 och RFC 1035.
Så fungerar en DNS-uppslagning
- Du skriver in en adress, till exempel www.stockholm.se, och webbläsaren frågar din internetoperatörs DNS-server vilken IP-adress domännamnet pekar på.
- Om servern redan känner till svaret skickar den tillbaka rätt IP-adress direkt.
- Om inte, kontaktar den en av internets rotservrar. Rotservrarna känner till alla toppdomäner, som .se, och hänvisar vidare till den namnserver som ansvarar för domänen.
- Förfrågan går ofta i flera steg tills datorn till sist får rätt IP-adress.
- Både operatörens DNS-server och din egen dator sparar svaret en tid, så att nästa förfrågan kan besvaras snabbare.
DNS kan också göra bakuppslag, där en IP-adress omvandlas till ett namn. Tekniskt använder DNS både UDP och TCP på port 53. Nästan alla frågor är en UDP-förfrågan och ett UDP-svar, medan TCP används till exempel när datamängden överstiger 512 byte, som vid zonöverföringar.
Rotservrarna
För att en DNS-server ska ha något att utgå från när den får en fråga om en zon den inte känner till finns 13 delegerade rotservrar världen över. En av dem, i.root-servers.net, drivs av svenska Netnod. Bakom de 13 namngivna rotservrarna finns hundratals maskiner som ser till att kapaciteten räcker. Samtliga toppdomäner delegeras från rotservrarna.
Vanliga DNS-poster
- A – kopplar ett namn till en IPv4-adress.
- AAAA – kopplar ett namn till en IPv6-adress.
- CNAME – hanterar alias.
- MX – anger vilka servrar som hanterar e-post för domänen.
- NS – anger vilken DNS-server som är ansvarig för zonen.
- PTR – kopplar en IP-adress till ett namn (bakuppslag).
- SOA – markerar starten på en ny zon.
- SRV – en variant av MX för godtyckliga tjänster.
- TXT – textsträngar, som bland annat används för att publicera Sender Policy Framework (SPF) för e-post.
Dynamisk DNS
De flesta internetleverantörer tilldelar sina kunder IP-adresser dynamiskt. Det har gjort det svårt att koppla ett eget domännamn till en egen dator. Lösningen är dynamiska DNS-servrar, som med hjälp av ett litet program uppdateras med den IP-adress som gäller för tillfället.
Säkerhet och DNSSEC
Eftersom DNS-informationen är utspridd över världens DNS-servrar anses systemet driftsäkert. Men angrepp förekommer: 2016 utsattes DNS-leverantören Dyn för överbelastningsattacker, vilket störde tjänster som Twitter, Paypal, Reddit och Spotify.
DNSSEC (Domain Name System Security Extensions) är en utvidgning som ska öka säkerheten. Den använder kryptografiska signaturer för att säkerställa att svaret kommer från rätt källa och inte har manipulerats, och skyddar mot så kallad cacheförgiftning, där DNS luras med falsk information.
Internationella domännamn
Fram till 2003 fungerade DNS bara med bokstäverna a–z, siffrorna 0–9 och bindestreck. I dag går det att använda många fler tecken, och varje toppdomän bestämmer vilka som får användas. Tecknen omkodas med punycode, och sådana namn kallas IDN (Internationalized Domain Name).