Multilingual Domain Name 22 Feb 2001 YONEYA, Yoshiro <yone@nic.ad.jp> JPNIC IDN-TF
What is MDN? Multilingual Domain Name. Current domain name is represented with ASCII alpha-numeric and hyphen characters. Multilingualization of Domain Name is, Technical challenge to represent domain name with not only ASCII but also NON-ASCII characters. Almost equivalent to Internationalization of domain name. 22 Feb 2001 IWS2001
What is IDN? Internationalized Domain Name. Framework to multilingualize domain name. Need to be a Global Standard. IETF IDN (Internationalized Domain Name) WG is doing the work. Some confusion by using the word ‘Internationalized’. 22 Feb 2001 IWS2001
Why MDN? Increase of the Internet users who are not familiar with English. Easy to memorize, type in, etc. Drastic change of usage of domain name. Domain name is now used as not only host name but also signboard. Creates new business opportunities. Many ventures began services. 22 Feb 2001 IWS2001
Drawback of MDN Actually, it is localization. Loses global acceptability. Hard to type in or display without appropriate I/O devices. Cause impact to the operation. Requires software update and / or additional processing. Deployment issue. 22 Feb 2001 IWS2001
Standardization trend of MDN REQUIREMENTS ACE NAMEPREP IDNA 22 Feb 2001 IWS2001
Requirements draft-ietf-idn-requirements-04.txt Definition of requirements for MDN. 30 items such as Interoperability / compatibility with current DNS protocol. ISO-10646/Unicode for Character set. Normalization of representation. Easy to add current domain name space. 22 Feb 2001 IWS2001
Requirements Respect to IAB statement. RFC2825 RFC2826 Preservation compatibility with current domain name. RFC2826 Preservation of uniqueness of domain name space. Not to divide the Internet into islands. 22 Feb 2001 IWS2001
ACE ASCII Compatible Encoding. Represent NON-ASCII characters by ASCII characters. Easy to apply current DNS. Minimize impact to current applications. Decreases maximum characters in each label. Penalty of using 5bit to represent 8bit data. Requires some sort of compression algorithm. 22 Feb 2001 IWS2001
ACE Requires explicit ACE-identifier. For reverse conversion. Choice of ACE-ID is political issue. ACE-ID itself is ASCII string, so that if any proposal for ACE-ID is raised, it will be registered as ASCII domain name. Actually happened at gTLD. ZLD – Zero Level Domain – such as ‘.I’ is not realistic. 22 Feb 2001 IWS2001
ACE Impact to operation. Application solution. Configuration file and zone files should be written in ACE. Therefore, supporting tools such as editor and / or filter are essential. Application solution. Local encoding at user interface. ACE at network interface. 22 Feb 2001 IWS2001
ACE Proposed ACEs. RACE (Row-based ACE) BRACE (Bi-mode Row-based ACE) draft-ietf-idn-race-03.txt BRACE (Bi-mode Row-based ACE) draft-ietf-idn-brace-00.txt LACE (Length-based ACE) draft-ietf-idn-lace-01.txt DUDE (Differential Unicode Domain Encoding) draft-ietf-idn-dude-00.txt AMC-ACE-M draft-ietf-idn-amc-ace-m-00.txt 22 Feb 2001 IWS2001
Flow of ACE conversion User 日本語.JP Local Application Code conv Unicode Normaliza-tion 日本語.jp (65e5 672c 8a9e.jp) Compress 1101100001…00000.jp Bit stream BASE32 3bs6kzzmrkpa.jp ACE Network bq--3bs6kzzmrkpa.jp ACE(ID) 22 Feb 2001 IWS2001
NAMEPREP Preparation of Internationalized Host Names draft-ietf-idn-nameprep-02.txt Normalization of representation of the same string in meaning or displaying. Character case (upper, lower), compatible characters (Fullwidth, Halfwidth) Composed characters Umlaut in German, accent in French, voiced sound in Japanese, etc. 22 Feb 2001 IWS2001
NAMEPREP Processes in NAMEPREP map normalize prohibit unassigned Case folding of upper/lower characters (UTR#21) normalize Normalize representation of string (UTR#15) prohibit Check out inappropriate character as domain name. unassigned Treatment of unassigned characters 22 Feb 2001 IWS2001
IDNA Internationalizing Host Names in Applications. Applications do following process. Character set conversion between local and Unicode. NAMEPREP. Character encoding conversion between Unicode and ACE. 22 Feb 2001 IWS2001
IDNA Requires adaptation of Application programs. Alternatives are, Adaptation at resolver. IDNRA – Internationalized Host Names using Resolvers and Applications May work well at name resolution, but might not work within application protocol such as SMTP and HTTP. Adaptation at DNS server. Requires DNS protocol modification. Hard to deploy due to back bone system replacement. 22 Feb 2001 IWS2001
IDNRA Local User UI Application Internal Representation End system Resolver Resolver API Int’l DNS servers DNS servers Application servers 22 Feb 2001 IWS2001
IDNA Local User NAMEPREP To/From ACE To/From Unicode Application UI Internal Representation End system To/From ACE Resolver API Int’l DNS servers Application servers 22 Feb 2001 IWS2001
What is mDNkit? Project of JPNIC Started on Apr 2000 Multilingual Domain Name evaluation kit mDNkit-1.x release series Objectives Evaluation of the MDN technology Promoting standardization of MDN Technical contribution to the Internet community 22 Feb 2001 IWS2001
Components of mDNkit libmdn mdnconv dnsproxy runmdn / mDN Wrapper Core library for MDN processing mdnconv DNS zone / configuration file code converter dnsproxy DNS query / response code converter runmdn / mDN Wrapper Dynamic link resolver library for UNIX / Windows BIND 9 patch MDN enhancements for BIND 9 resolver library 22 Feb 2001 IWS2001
Diagram of components mdnconv dnsproxy libmdn mDN wrapper named named Local Encoding (SJIS, EUC…) zone file Legacy client UNIX client Windows client mdnconv Multilingualized resolver / runmdn mDN wrapper dnsproxy libmdn zone file named named Encoding on DNS Protocol (ACE) 22 Feb 2001 IWS2001
Position of mDNkit Local User UI Application Internal Representation End system Resolver Resolver API mDNkit Int’l DNS servers DNS servers Application servers 22 Feb 2001 IWS2001
New features in mDNkit (work in progress) Adopting NAMEPREP Provides local mapping APIs Provides high-level MDN APIs Multilingual Domain Name tool kit mDNkit-2.x release series Come to be … 22 Feb 2001 IWS2001
Diagram of New features in mDNkit Local User mDNkit High-level APIs Local Mapping To/From ACE NAMEPREP Application UI Local Mapping NAMEPREP Internal Representation End system To/From ACE Resolver Resolver API mDNkit Int’l DNS servers DNS servers Application servers 22 Feb 2001 IWS2001
Localization Support proposals to be involved in NAMEPREP in the future Should be discussed at IETF IDN WG Delimiter mapping To avoid some harmful behavior Local mapping To complement NAMEPREP 22 Feb 2001 IWS2001
(means JPNIC.JP in Japanese) Delimiter mapping Characters that IME converts when ‘.’ is typed in Looks like a domain name, but a single word Ex. ジェーピーニック。JP (means JPNIC.JP in Japanese) Web Browser sends query to Search Engine DNS clients sends query to Root Server! 22 Feb 2001 IWS2001
Local mapping Practically NFKC is sufficient but some exceptions Depends on mapping table of Unicode and Local charset Map such exceptions onto suitable ones for NFKC Ex.1 ‘゛’, ‘゜’ (Voiced and semi-voiced sound mark in Japanese) Need to map onto combining character “シ゛ェーヒ゜ーニック” “ジェーピーニック” Ex.2 ‘-’ (Full-width Hyphen) Need to map onto ASCII hyphen 22 Feb 2001 IWS2001
APIs ACE Local ACE Local UI APIs Code Converter (Local UTF-8) UTF-8 Delimiter map Local map NAMEPREP Map Normalize Prohibit Code Converter (UTF-8 ACE) ACE ACE Service Servers 22 Feb 2001 IWS2001
References IETF IDN WG Web page JPNIC IDN Web page Unicode Consortium http://www.i-d-n.net/ JPNIC IDN Web page http://www.nic.ad.jp/en/research/idn/ Unicode Consortium http://www.unicode.org/ 22 Feb 2001 IWS2001