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.

Published 4.3.2011