Hlavní navigace

IDN aneb žluťoučký.kůň.cz

13. 2. 2004
Doba čtení: 4 minuty

Sdílet

Jedním z témat, která hýbou současným DNS, je zavádění jmen obsahujících znaky z národních abeced. Pryč s ASCII, chceme háčky, čárky, stříšky a čínské omalovánky. Koncept zastřešující tuto snahu se jmenuje Internationalized Domain Names (IDN). Podívejme se, co to je, jak to funguje a co lze v praxi očekávat.

Svět háčkovaných domén vás obohatí o několik dalších zkratek. Dvě nejdůležitější jsou IDN (zmíněná výše) a IDNA, neboli Internationalizing Domain Names in Applications. První označuje domény, které mohou obsahovat všechny znaky z Unicode, druhá pak jejich podporu v aplikacích.

Jádro pudla pochopitelně spočívá v naroubování této nové vlastnosti na stávající systém DNS, který počítá výlučně s ASCII jmény a který není záhodno měnit. Proto se prakticky veškerá podpora IDN soustřeďuje v aplikacích.

Používá se obvyklý trik, který známe už z dřívější doby (například z MIME). Potřebuji-li do technologie omezené na ASCII znaky (zde DNS) dostat i další znaky, vymyslím vhodné kódování, kterými je převedu na (zpravidla delší) ASCII sekvenci. IDNA jde ještě o kousek dál a snaží se vyjít vstříc i takovým jazykovým krkolomnostem, kdy dva různé zápisy znamenají totéž (například různé varianty čínštiny či škrtnuté a přehlasované o v severských jazycích).

Převod jména obsahujícího prapodivné znaky probíhá ve třech fázích:

  1. Nameprep (RFC 3491, RFC 3451) pomocí různého mapování zredukuje počet znaků a variant (převede na malá písmena a různé varianty vyjádření téhož převede na jednotnou formu). Řetězec zatím zůstává v Unicode.
  2. Punycode (RFC 3492) převede znaky vybočující z ASCII na sekvence ASCII znaků.
  3. Před jeho výsledek se přidá předpona xn--, která identifikuje takto kódovaná jména.

Celý tento proces zajišťuje funkce označovaná v terminologii IDN jako ToASCII. Její výsledek je pak označován jako ACE jméno (ASCII Compatible Encoding).

Jejím protějškem je funkce ToUnicode, která převádí ACE jména do Unicode, tedy do rozumně čitelné podoby. Cílem je neobtěžovat pokud možno s celým tímto cirkusem uživatele a tvářit se vůči němu tak, že DNS „umí“ jména s podivnými znaky.

To vše má na starosti aplikace. Řekněme, že ve WWW klientovi napíšete www.višeň.cz. On si interně zavolá ToASCII, převede jméno do ASCII podoby, dotáže se DNS na takto upravené jméno, získá adresu a obrátí se na příslušný WWW server. Jakákoli doménová jména začínající xn-- směřující na obrazovku však předhazuje funkci ToUnicode a představuje je v háčkované podobě. To vše je označováno jako IDNA.

Dle RFC 3490, které definuje základní mechanismy IDN a IDNA, je jasně řečeno, že do databází DNS se pro jména obsahující znaky mimo ASCII musí ukládat jejich ACE varianty. Všechna jména poskytovaná DNS serverem musí obsahovat výlučně ASCII znaky (protože to vyžaduje stávající definice DNS).

Implementace IDNA v aplikacích pochopitelně není povinná. Pokud si dokážete sami provést ToASCII a převést jméno na ACE variantu (nebo ji dostanete hotovou, například při odpovědi na dopis došlý z háčkované domény), klidně budete moci používat exotická jména ve starožitných aplikacích. Jen uživatelský komfort bude stát za starou bačkoru. Na druhé straně ale pokud aplikace chce podporovat národní znaky v doménových jménech, smí to udělat jedině prostřednictvím ID­NA.

Kombinace různých možností zápisu pochopitelně komplikuje porovnávání jmen. Podle IDN jsou dvě domény ekvivalentní, pokud pro ně ToASCII vydá stejnou hodnotu (nerozlišují se v ní malá písmena od velkých).

Praxe

Základní principy používání národních znaků v DNS tedy jsou stanoveny (specifikace RFC 3490, 3491 a 3492 vyšly vloni na jaře). Jak to vypadá s jejich reálným uplatněním? Stručně řečeno: dějí se velké věci.

Otázka speciálních znaků trápí především východní národy. Proto jistě nepřekvapí, že Čína zavedla podporu IDN v prosinci 2000 a Japonsko v únoru 2001. První evropskou top-level doménou podporující IDN je .pl. Poláci jsou velmi progresívní a od září 2003, kdy zahájili registrace domén druhé úrovně obsahujících národní znaky, jich zaregistrovali kolem tří tisíc. Svůj přístup zdokumentovali v Internet draftu draft-bartosiewicz-idn-pltld.

A nejsou už sami. Švédové začali o měsíc později a Dánové od letošního ledna. Svátek práce oslaví alegorickými vozy oslavujícími zavedení IDN v německy mluvících zemích a v Maďarsku, a tak dále, a tak podobně. Chladní zůstávají ve Velké Británii, ale oni to mají v povaze a navíc jaksi postrádají motivaci - s ASCII si docela dobře vystačí.

Možná si touto dobou kladete otázku „A co na to NIC.CZ?“ V tom případě mám pro vás dobrou a špatnou zprávu. Ta dobrá je, že podle přehledu z nedávno skončeného RIPE meetingu (strana 31) se podpora IDN v České republice chystá na září letošního roku. Špatnou zprávou je, že z vnějšího pohledu tomu nic nenasvědčuje. Možná se pod povrchem odehrávají mohutné tektonické pohyby, ale na www.nic.cz/ zatím nijak nepronikly.

Zkoušel jsem zde Googlem hledat některé klíčové pojmy s následujícími výsledky:

BRAND24

IDN jeden nesouvisející výskyt v informaci o 17. valné hromadě CENTR
Unicode nic
xn nic

Typickým znakem přípravy na zavedení IDN je zablokování registrací jmen začínajících xn-- (která jsou vyhrazena pro ACE). V obecných pravidlech registrace domén platných od 1. ledna 2004 o tom není ani slovo. Pravda, článek 12 obsahuje gumovou formulaci „Doménová jména musí vyhovovat normám RFC 1034, 1035, 1122, 1123 a jakýmkoliv je nahrazujícím nebo doplňujícím normám.“ RFC 3490 by se s trochou dobré vůle dalo prohlásit za doplňující normu (i když jasně deklaruje, že nemění služby DNS, ale zavádí jakousi mezivrstvu nad ním). Nicméně u takto významné věci bych očekával explicitní zmínku v textu.

Celkový dojem: vůči zářijovému zavedení IDN pro doménu .cz jsem dost skeptický.

Domníváte se, že bude v září v doméně .cz podpora IDN skutečně zavedena?

Byl pro vás článek přínosný?

Autor článku

Autor dělá nepořádek v příslovích, protože sítě nejen dělá, ale i učí a dokonce také řídí. Působí na Ústavu nových technologií a aplikované informatiky na Technické univerzitě v Liberci. Píše knihy.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).