DNS-järjestelmä (Domain Name System) on järjestelmä, jota käytetään tietokoneen isäntänimen muuntamiseen IP-osoitteeksi Internetissä. Jos tietokoneen on esimerkiksi kommunikoitava example.net-verkkopalvelimen kanssa, tietokoneesi tarvitsee example.net-verkkopalvelimen IP-osoitteen. DNS:n tehtävänä on muuntaa isäntänimi verkkopalvelimen IP-osoitteeksi. DNS:ää kutsutaan joskus Internetin puhelinluetteloksi, koska se muuntaa ihmisten tunteman verkkosivuston nimen numeroksi, jota Internet todella käyttää.
DNS määritellään RFC-asiakirjoissa (Request for Comments). Nämä ovat tietokoneverkkoja koskevia teknisiä asiakirjoja. DNS on määritelty pääasiassa RFC 1034:ssä ja RFC 1035:ssä. Myöhemmin on olemassa RFC-asiakirjoja, joissa määritellään järjestelmään tehtäviä muutoksia.
Miten DNS toimii käytännössä?
DNS-kyselyn perusvaiheet ovat yleensä seuraavat:
- Resolver (asiakas): Käyttöjärjestelmän tai selaimen osalta toimiva DNS-resolver kysyy nimeä. Resolver voi olla paikallinen välimuisti tai Internet-palveluntarjoajan (ISP) tarjoama palvelin.
- Juuri- ja TLD-palvelimet: Jos resolver ei tiedä vastausta, se kysyy ensin juuripalvelimilta, jotka ohjaavat eteenpäin kyseisen huipputason (TLD) palvelimelle (esim. .com, .fi).
- Toimeenpaneva nimiavaruus: TLD-palvelin kertoo, mikä nimiavaruuden osa (nimipalvelin) on vastuussa kyseisestä aliverkkotunnuksesta. Lopuksi resolver kysyy kyseiseltä auktoritatiiviselta nimipalvelimelta, joka antaa lopullisen IP-osoitteen.
- Vastaus ja välimuisti: Saatu vastaus tallennetaan välimuistiin (caching) tietyn ajan (TTL), jotta tulevat kyselyt ovat nopeampia.
Tärkeimmät DNS-komponentit
- Resolver: Asiakaspuolen ohjelmisto, joka aloittaa kyselyn ja kerää vastauksen.
- Auktoritatiivinen nimipalvelin: Säilyttää tiedon tietyn verkkotunnuksen DNS-tietueista.
- Juuri- ja TLD-palvelimet: Juuri (root) = DNS-hierarkian ylin taso; TLD-palvelimet käsittelevät huippu-tason alueita kuten .fi, .com.
- Välimuisti: Nopeuttaa uudelleenkäyttöä vähentämällä toistuvia kyselyjä.
Yleisimmät DNS-tietueet
- A: Yhdistää isäntänimen IPv4-osoitteeseen.
- AAAA: Yhdistää isäntänimen IPv6-osoitteeseen.
- CNAME: Alias, joka ohjaa toisen nimen kautta.
- MX: Määrittää sähköpostin vastaanottajat (mail exchangers) tietylle verkkotunnukselle.
- NS: Nimeää auktoritatiiviset nimipalvelimet verkkotunnukselle.
- SOA: Start of Authority — kertoo verkkotunnuksen perustiedot ja hallintatiedot.
- TXT: Tekstimuotoinen tietue, jota käytetään esimerkiksi varmennukseen (SPF, DKIM) ja muuhun metatietoon.
Välimuisti (TTL) ja suorituskyky
Jokaisella DNS-vastauksella on TTL (Time To Live) -arvo, joka määrää kuinka kauan vastaus säilyy välimuistissa ennen kuin se pitää hakea uudelleen. Lyhyt TTL mahdollistaa muutosten nopean näkyvyyden mutta lisää verkkoliikennettä; pitkä TTL vähentää kyselyjä ja parantaa suorituskykyä, mutta muutokset näkyvät hitaammin.
Tietoturva ja yksityisyys
- DNSSEC: DNS Security Extensions lisäävät todennuksen ja estävät tietojen väärennöksen varmistamalla, että DNS-vastaukset ovat peräisin todelliselta auktoritatiiviselta lähteeltä.
- Salattuja yhteyksiä: DNS over TLS (DoT) ja DNS over HTTPS (DoH) salaavat DNS-kyselyt, parantaen yksityisyyttä ja suojaa salakuuntelua vastaan.
- Hyökkäykset: Yleisiä uhkia ovat DNS-kapina (DNS spoofing), palvelunestohyökkäykset (DDoS) ja välimuistin myrkytys.
Vianmääritys ja työkalut
Yleisimmät työkalut DNS-ongelmien selvittämiseen ovat mm. nslookup, dig ja host. Ne näyttävät tietueet, vastausajan, auktoritatiiviset nimipalvelimet ja muut hyödylliset tiedot.
Käytännön vinkkejä
- Jos sivusto ei aukea, kokeile tyhjentää paikallinen DNS-välimuisti tai vaihtaa DNS-palvelinta (esim. ISP:n oletus tai julkiset palvelimet) testinä.
- Huomioi TTL-kenttä, kun teet muutoksia DNS-tietueisiin; suunnittele muutosprosessit niin, että päivitykset leviävät odotetusti.
- Ota käyttöön DNSSEC ja salatut kyselyt, jos tarvitset parempaa tietoturvaa ja yksityisyyttä.
DNS on keskeinen osa Internetin toimintaa: se tekee ihmisten muistin mukaisista nimistä toimivan yhteydenväylän laitteiden käyttämille numeroille ja mahdollistaa siten sujuvan verkkoliikenteen. RFC-asiakirjat (kuten RFC 1034 ja RFC 1035) sekä myöhemmät laajennukset ja suojausratkaisut määrittävät ja kehittävät tätä järjestelmää edelleen.