Kenneth Falck's Blog

DNS kaipaa päivitystä

Posted on 2011-03-04 by Kenneth Falck

DNS on skaalautunut ominaisuuksiltaan ja suorituskyvyltään nykypäivän Internetiin yllättävän hyvin, kun huomioidaan että se keksittiin jo vuonna 1983. Hiljalleen se on kuitenkin alkanut osoittaa merkkejä vanhenemisesta.

Tänä päivänä DNS:n suurin yksittäinen ongelma on se, että domain-nimille ei voi määritellä CNAME-tietuetta ilman host-nimeä. CNAME voi ainoastaan määritellä "www.kfalck.net"-tyyppisen osoitteen, ei "kfalck.net"-osoitetta.

Rajoitus johtuu RFC 1034:n osiosta 3.6.2, joka määrittelee, että samassa noodissa CNAMEn kanssa ei saa olla muita tietueita. Domain-tasolla taas samassa noodissa on pakko olla ainakin SOA- ja NS-tietueet sekä yleensä myös MX, joten CNAMEa ei voi liittää samalle tasolle.

Jos siis haluaisin tehdä omalle kfalck.net-domainilleni CNAMEn, en voisi määritellä sitä näin:

@        IN    SOA     ns.kfalck.net. kennu.kfalck.net. (...)
@        IN    NS      ns.kfalck.net.
@        IN    CNAME   kfalck-loadbalancer.amazon.com.

Sen sijaan olisi pakko käyttää www:tä ja määritellä erikseen IP-osoite "kfalck.net"-osoitteelle.

@        IN    SOA     ns.kfalck.net. kennu.kfalck.net. (...)
@        IN    NS      ns.kfalck.net.
@        IN    A       10.69.76.42
www      IN    CNAME   kfalck-loadbalancer.amazon.com.

Tämä ongelma tulee käytännössä eteen, kun tehdään CNAME-pohjaista kuormantasausta. Google App Engine, Amazon LBS ja monet muut pilvipalvelut käyttävät CNAMEa tarjotakseen integraation palveluun, jossa IP-osoitteet vaihtuvat usein.

Tämän seurauksena palveluiden on pakko käyttää osoitteissaan "www"-etuliitettä ja tehdä vielä erikseen ohjaus domain-nimestä www-nimeen. Käytettävyys ja esteettisyys kärsii, kun URL-palkissa sekä kaikissa copy-paste-linkeissä on aina turha www-etuliite mukana, eikä sille voi mitään.