Internationalized Domain Names and ENUM Protocol Suite

Transcription

Internationalized Domain Names and ENUM Protocol Suite
Internationalized Domain Names and ENUM Protocol Suite
Minseok Pyo
Sunyoung Han
Keecheon Kim
Konkuk University
1 Hwayang-dong Gwangjin-gu
Konkuk Univ. Seoul, Korea
+82-2-450-3537
Konkuk University
1 Hwayang-dong Gwangjin-gu
Konkuk Univ. Seoul, Korea
+82-2-450-3537
Konkuk University
1 Hwayang-dong Gwangjin-gu
Konkuk Univ. Seoul, Korea
+82-2-450-3518
[email protected]
[email protected]
[email protected]
ABSTRACT
As the development of Internet usage and globalization of Internet,
the requests of Internationalized Domain Names (IDN) are being
increased. To solve this request, many IDN solutions are
developed. But there are problems of interoperability and
backward compatibility are emerged. In this paper, we suggest
IDN protocol which supports ENUM and IDN Test Suite on
IPv4/IPv6 dual-stack for guarantee interoperability and backward
compatibility.
Categories and Subject Descriptors
C.2.2 [Computer-Communication Networks]:
Network Protocols – application
General Terms
Standardization
Keywords
DNS, IDN, ENUM
1. INTRODUCTION
Many problems were brought up in Internet because the user of
Internet and the area of users are spread around the world as
growth of Internet and various developments of the applied
services. The problems of DNS are the part of new requirement
among them, and they need to be investigated more.
First, non-English speaking countries like Korea, China, Japan,
etc. can’t use Domain Name with their language because the
existing DNS has supported exceptional Domain Name which is
constructed only the type of ASCII such as alphabet, digit and
hyphen(-) [1], [2]. Indeed, as all of the Domain Names are
expressed only English which is based on ASCII, users who are in
non-English speaking countries has complained. Second, as the
Internet growth, various communication systems are integrated
into Internet. And, there are so many URI to remember and use.
Web, E-mail, FTP, Telnet, Phone, Fax and etc. And, it has been
brought up to be problems that it cannot help using the Domain
Name of the existing ASCII type in new applied environment
where the acting of DNS are increased as the home-networking
and mobile-networking are augmented. Those problems make
troubles in the popularization and the globalization of Internet and
the fixing of various applied environment.
Many countries have encouraged researches and developments of
Copyright is held by the author/owner(s)
Asia Pacific Advanced Network 2003, 25-29 August 2003, Busan,
Republic of Korea.
Network Research Workshop 2003, 27 August 2003, Busan, Republic of
Korea.
Internationalized Domain Names (IDN), but also E.164 Number
Mapping (ENUM) [6], [11] to solve these problems. And it brings
up the developments of IDN or ENUM relative solutions. For
example, mBIND, ngDN Kit (Korea), iDNS (Singapore) and
idnkit/mDNkit (Japan). But, there’s no solution that support IDN
and ENUM together.
Likewise, many countries have supported to the development of
various IDN relative solutions, but many problems remain yet.
First, the standard specification for the development of IDN is
setting up condition. Second, from this cause, each various
specifications and the methods of encoding have been used. Third,
the compatibility and interoperability among the existing IDN
solutions are also troubles. Fourth, apply IDN on ENUM service.
Fifth, interoperability with the existing DNS (BIND 4.x, BIND
8.x, and BIND 9.x) is a problem, too. Finally, the gearing
problems with various applied services for supporting Internet
services remain to solve.
In this paper, we suggest IDN protocol specification for IPv4/IPv6
dual-stack. Next, interoperability and backward compatibility are
examined by testing and developing of IDN Test Suite and the
constructing of international test bed. Through these testing
conclusions, it makes better circumstance for global Internet users.
This paper is constructed like this: In the second chapter, the
relational investigations such as IDN, encoding, nameprep and
ENUM are introduced. In the third chapter, IPv6 IDN protocol
suite. In the fourth chapter, International IPv6 IDN test bed. In the
fifth chapter, the test results of IDN solutions are examined. And
finally, this paper is concluded.
2. Relative works
2.1 IDN Protocol Mechanism
2.1.1 Internationalizing Domain Names in
Applications (IDNA)
IDN and a mechanism called IDNA for handling them in a
standard fashion. IDN use characters drawn from a large
repertoire (Unicode), but IDNA allows the non-ASCII characters
to be represented using only the ASCII characters already allowed
in so-called host names today. In particular, IDNA does not
depend on any changes to DNS servers, resolvers, or protocol
elements, because the ASCII name service provided by the
existing DNS is entirely sufficient for IDNA. This backwardcompatible representation is required in existing protocols like
DNS, so that IDN can be introduced with no changes to the
existing infrastructure.
This work is supported by NCA(National Computerization Agency) of
Korea for “Research of International Testbed Construction and IPv6
International Domain Name System (IDN)” Project 2002~2003.
IDNA works by allowing applications to use certain ASCII name
labels (beginning with a special prefix ‘xn— ‘) to represent nonASCII name labels. Adding IDNA support to an existing
application entails changes to the application only. If an
application wants to use non-ASCII characters (IDN) in host
names, then encode the IDN, add prefix ‘xn— ‘ and then send it to
DNS. This mechanism uses Punycode and Nemeprep. This
mechanism is IETF proposed standard. [3]
2.1.2 Internationalized Host Names Using Resolvers
and Applications (IDNRA)
IDNRA requires the updating of applications and resolvers, but
once a user has updated these, she or he could immediately start
using internationalized host names. This protocol mechanism
supports IDN by encoding it resolver or application. First,
resolver was updated. The resolver encodes IDN by ACE and
sends it to DNS. Second, application was updated. The
application encodes IDN and sends it to DNS through resolver.
Third, resolver and application were updated. The application
encodes IDN by using UTF-8 algorithm and sends it to resolver.
And, resolver encodes it by using ACE algorithm then resolves it.
This protocol mechanism is that only user applications and the
resolvers on user's systems are updated, no changes are needed to
the DNS protocol or any DNS servers. This mechanism was
merged into IDNA. [7]
2.1.3 Internationalized Domain Names Server
(IDNS)
IDNS requires the updating of DNS Servers. IDNS encodes the
IDN query on server-side and resolve it. So, it brings up the
problem of backward compatibilities and overload on encoding
procedure. But has an advantage that it could support legacy
application which couldn’t use IDN and there’s no change on
client-side.
2.2 IDN relative solutions
Today, many companies have supported the solution of IDN
around the world. The solutions of IDN are as following.
because the domain name which is encoded are satisfies with RFC
1034[1], RFC 1035[2]. [16].
2.2.3 idnkit/mDNkit
idnkit (mDNkit) by JPNIC is the kit which is able to develop
various applied methods in IDN. And it is constructed by the
patched BIND and DNS Proxy Server for supporting 8bit clean.
DNS Proxy Server can perceive various local characters set from
client, and it transmits the real DNS which is encoded by ACE or
UTF after perceiving languages. This DNS Proxy Server always
listens IP address of IDNS or Port number (53). As soon as the
packet reached, it usurps these packets, and encodes with the
information in constructed files. Likewise, it transmits the packet
to DNS. [17]
2.3 Encoding algorithms
2.3.1 ASCII Compatible Encoding (ACE)
ASCII compatible encoding for IDN. For examples, Punycode [4],
DUDE [8], RACE [9], BRACE, TRACE, SACE and etc. These
encoding algorithms encode IDN to ASCII format except ASCII
formatted host names. So, ASCII host names keep there form.
Host names that through these encoding algorithms are formed
ASCII. Therefore satisfy RFC1034 [1], RFC1035 [2]. Now,
Punycode is IETF proposed standard ACE encoding algorithm.
2.3.2 Unicode Transformation Format (UTF)
Unicode Transformation Format is the method of encoding to
transfer Unicode to specified bits letter, and methods to express
Unicode. For examples, UTF-5, UTF-6, UTF-8 [10] and UTF-16.
It also encodes ASCII letters except UTF-8.
2.4 Nameprep
A Stringprep Profile for Internationalized Domain Names.
Nameprep specifies processing rules that will allow users to enter
internationalized domain names in applications and have the
highest chance of getting the content of the strings correct.
Nameprep is used by the IDNA protocol for preparing domain
names. [5]
2.2.1 ngDN Kit
2.5 E.164 Number Mapping (ENUM)
ngDN Kit, the solution of Korean company (Netpia), is able to
distinguish IDN with MSS (Multi-lingual Scan System), and it
also supports all methods of hierarchical domain and keyword
domain. It services distributed native domain system which is able
to manage at the root server in distinguishing IDN. ngDN Kit,
which distinguishes each letter using MSS after receiving
questions from client and encodes it after distinguishing the
encoding of client’s question in using ESS(Encoding Scan
System), was made as the version so that BIND may perceive
8bits letter. [15]
ENUM uses E.164 numbers (telephone numbers) to identifier of
Internet resources. E.164 numbers are globally unique, language
independent
identifiers
for
resources
on
Public
Telecommunication Networks that can support many different
services and protocols. ENUM system is mapped E.164 number to
Internet addresses. So, E.164 numbers should be used as URIs. If
sender inputs E.164 number to ENUM system, then ENUM
convert that as URIs and returns it. Sender could select URI
among returned URIs and uses it to communicate. [11], [12], [13],
[14]
2.2.2 iDNS
3. IPv6 IDN protocol suite
iDNS solution in Singapore accomplishes the acting of Proxy
Name Server. Not it achieves the acting of real Name Server by
itself, but it accomplishes the functions of transmitting the
adapted type’s data packet from client to real DNS as a gobetween and giving back to client what are recollected the
returned data. iDNS supports ACEs, UTFs and various local
character set. When the client requests the resolving to iDNS
server, IDN letters are transformed into Unicode at first, and they
are transformed to apply UTF-5 encoding. iDNS has compatibility
of all standard Internet protocol and the existing client/sever
To solve the requests of IDN and ENUM, and the problems of
there’s. We propose IDN protocol suite on IPv4/IPv6 dual-stack.
This was consisting of next elements. First IDN protocol
specification which supports ENUM service. Second, IDN Test
Suite for test interoperability and backward compatibility among
IDN solutions and DNS. Third, ENUM client. In addition, we’ve
constructed International IPv6 IDN test bed. Figure 1 represents
IDN protocol suite’s architecture.
Figure 2 represents the specification.
IDN&ENUM server
Cellular Phone
IDN Query
ENUM Query
Web server
We’ve implemented prototype of this specification, which is
called mBIND (Multi-lingual BIND). mBIND based on BIND 9
and which was 8-bit clean set.
PDA
IPv4/IPv6
Internet
Computer
ftp server
3.2 IDN Test Suite
Client
mail server
Gateway
PSTN
IDN Test Suite
Other Client
Q:
IDN : http://건국대.대학.kr
A:
ENUM Client
202.30.38.109
2001:220:1017::2
IP Phone
ENUM : 8224503537
http://건국대.대학.kr
mailto:한선영@건국대.대학.kr
sip:한선영@건국대.대학.kr
Figure 1. IDN Protocol Suite Map.
3.1 IPv6 IDN protocol specification.
We propose IPv6 IDN protocol specification to support IDN and
ENUM service. First, specification supports various RR types and
reverses domains. For examples, A, AAAA, A6, DNAME,
ipv6.int, ipv6.arpa and etc. Second, uses IDNA mechanism which
was IETF’s proposed standard. Third, provides a client plug-in
module supports legacy application and non-IDNA application as
a solution in transition period. Fourth, uses NAPTR record to
support ENUM service.
An application which follows IDNA mechanism performs
resolving as same fashion with existing DNS. So the backward
compatibility was guaranteed and there’s no overhead on DNS
server. But, it takes long time periods to settle an IDNA
mechanism. In addition, perhaps many applications will not
support IDN, which was developed in English speaking country.
For that reason, we apply IDN plug-in module to specification for
support legacy application and non-IDNA applications. NonIDNA applications send query then plug-in module encodes it by
Punycode encoding algorithm and resolve it. This process should
be done by following steps. First, plug-in module checks the
query if which contains IDN. ASCII letters were assigned under
0x80 codes. So, if query contains over-0x80 codes, we could
decide the query includes IDN. This is only for DNS area, not for
other area. Second, if the query includes IDN then encode it by
Punycode encoding algorithm. Finally, DNS resolves the query
and returns result to client.
Today, IDN solutions have being operated in various operating
systems. And, it should be considered backward compatibility and
interoperability between the legacy DNS and the new one. For
testing backward compatibility and interoperability, we developed
IDN Test Suite (called Idnslook) which supports various encoding
algorithms and query types on multi-platform. First, it should
support not only basic letter row of ASCII type in the existing
DNS but also Punycode, RACE, UTF-8, Encoding-n and UTF-5.
Likewise, we can test the interoperability of IDN solutions which
is used various encodings. And we are also able to test backward
compatibility with the existing DNS. Second, it should support A,
PTR, MX, TXT, HINFO, CNAME and SOA to test various DNS
services. APIs which are in Java supports only simplified A, PTR
version, so we developed the resolving routine to support various
query type. It is easily extended by adding int form to the RR type
number. Third, It implemented by Java for supports multiplatform. Fourth, it should support GUI and CUI environments
for convenience. Finally, modulates resolving, encoding and GUI
part for support more reusability, flexibility and extensibility.
Therefore it could be extended functional module more easily.
IDN Test Suite is basically divided into three files. Encoder.java
with encoding related method and Resolver.java file that executes
the resolver are embodied to be used in other programs without
any change. In addition, Idnslook.java file which is the main
program and the part of GUI, it reads the user's input and shows
the result after producing each object that are used in the system.
Also, it has the function of restoring the various set up results into
the environment set up file. Figure 3 represents IDN Test Suite
(Idnslook) and Figure 4 represents query type and encoding type
choice.
Name server input
Query input
Query type choice
Application
Name Service
(A, AAAA or A6)
Encoding type choice
Punycode
Decoder
Punycode
Encoder
ENUM
Service
(NAPTR)
Result output
Query send button
Status display line
ENUM
Resolver
Name
Resolver
IDN & ENUM Check
Figure 3. IDN Test Suite – Idnslook.
[IDN Cl ient]
[IDN & ENUM Server]
Figure 2. IPv6 IDN Specification Design
Konkuk University Zone
Singapore University Zone
Root
Top Level IDN
Figure 4. Query Type & Encoding Type Choice.
3.3 ENUM Client
We developed ENUM client prototype which support IDN. User
inputs ENUM then sends it IDN/ENUM server. The result (URIs)
from server is displayed on client, and then user could choice to
use. ENUM client calls appropriate application for selected URI.
Web
kr
sg
Second Level IDN
ac
co
대학
회사
건국대
삼성
…
…
ac
敎育
ac
co
公司
建國大
三星
…
…
대학
싱가포르
…
co
회사
ac
敎育
co
公司
무역
新可坡
貿易
…
…
…
Figure 7. Domain Hierarchy.
Mail
5. Interoperability test
Phone
Fax
[ENUM Client (prototype)]
Figure 5. ENUM Client.
4. International IPv6 IDN Test bed
We’ve constructed IPv6 IDN test bed for interoperability and
compatibility test with Singapore national Univ, Singapore. But
also, local test bed. Konkuk Univ. manages root server for Korean
domains and local test bed. Singapore Univ. manages root server
for Singaporean domains and there local test bed. IDN root
servers were operated by using mBIND. These are connected
through KOREN and SingaREN. KOREN and SingaREN are
native IPv6 network. So, we could perform IPv6 IDN test. In
addition, we’ve performed IDN test through IPv6 tunneled
network. Figure 6 represents International IPv6 IDN Test bed and
extension plan. Figure 7 represents virtual domain hierarchy of
test bed. So, to access Konkuk Univ.'s web page, we could use the
existing DNS method, ‘http://www.kokkuk.ac.kr’, or also we
could use Korean like ‘http://건국대.대학.kr’.
IDNS Testbed
Testbed extension plan
Network extension plan
Interior Testbed
APAN-JP
XP Seoul
XP Tokyo
IPv6 IDN Root Server
vBNS, Abilene
CA*Net2, etc
TransPAC
KOREN
Singapore
Univ.
Dacom
ATM
Local Testbed
Euro GW
XP Singapore
SingaREN
TEN-155
Figure 6. International IPv6 IDN Test bed.
In this paper, we have tested mBIND and other IDN solutions on
the test bed. The interoperability test is progressed mainly of
International test bed. And, we have tested many encoding from
one DNS. But this test is only for test to confirm the movement of
encoding. Main test items were basic RR type and name query test
applying the encoding which is provided by IDN Test Suite to test
the interoperability of IDN solutions. The result of
interoperability test was produce successful results if they uses
same encoding algorithm or uses supported encoding algorithm
by IDNS. But, if they use different encoding algorithms which
was not-supported on other server-side than result is failure. We
can draw a conclusion from these results that the interoperability
is supported among those servers which look like they are using
the same or supportable encoding systems. Next, the backward
compatibility test. The testing method in this test executes English
domain names on various IDNS. The result of backward
compatibility is success when they use ACE or UTF-8 encoding
algorithm. The result is failure when they use UTF encoding
algorithms except UTF-8.
6. Conclusion
This paper is embodied for IPv6 IDN protocol suite for support
IDN and ENUM. Invented mBIND supports IDNA protocol
mechanism. IDN Test Suite has the characteristics of Java that is
executed in multi-platforms. Also it has various RR type and
encoding type test functions to interoperability and backward
compatibility test. These functions have food points that it can
provide the convenient user interface in testing by producing the
GUI environment, which is distinguished from the existing test
tools. We have tried various tests such as the interoperability and
backward compatibility test among the IDN solutions on test bed
and analyzed the results to find out the problems and presented
the solutions. In addition, we’ve developed ENUM client which
supports IDN.
mBIND, IDN Test Suite and ENUM client are still having many
problems. We’ll investigate stable mBIND version. Integrate IDN
Test Suite with ENUM client and fully support IPv6. In addition,
add functions on IDN Test Suite to robustness, stability and
availability test.
7. REFERENCES
[1] P. Mockapetris, “DOMAIN NAMES - CONCEPTS AND
FACILITIES”, RFC 1034, November 1987.
[2] P. Mockapetris, “DOMAIN NAMES - IMPLEMENTATION
AND SPECIFICATION”, RFC1035, November1987.
[3] P. Faltstrom, P. Hoffman, A. Costello, "Internationalizing
Domain Names in Applications (IDNA)", RFC 3490, March
2003
[4] A. Costello, "Punycode: A Bootstring encoding of Unicode
for IDNA", RFC 3492, March 2003
[5] P. Hoffman, M. Blanchet, "Nameprep: A Stringprep Profile
for Internationalized Domain Names (IDN)", RFC 3491,
March 2003
[6] M. Duerst, "Internationalized Domain Names in URIs",
Internet Draft, November 2002
[7] P. Hoffman, P. Faltstrom, "Internationalized Host Names
Using Resolvers and Applications (IDNRA)", Internet Draft,
August 2000
[8] M. Welter, B. Spolarich, A. Costello, "Differential Unicode
Domain Encoding (DUDE)", Internet Draft, Jun 2001
[9] P. Hoffman, "RACE: Row-based ASCII Compatible
Encoding for IDN", Internet Draft, November 2000
[10] F. Yergeau, “UTF-8, a transformation format of ISO 10646”,
RFC 2270, January 1998
[11] P. Faltstrom, “E.164 number and DNS”, RFC 2916,
September 2000
[12] S. Hollenbeck, "Extensible Provisioning Protocol E.164
Number Mapping", Internet Draft, February 2003
[13] S. Lind, "ENUM Usage Scenarios", Internet Draft, June
2002
[14] P. Faltstrom, M. Mealling, "The E.164 to URI DDDS
Application (ENUM)", Internet Draft, May 2003
[15] Netpia’s website, http://www.netpia.com
[16] iDNS’s website, http://www.i-dns.net
[17] JPNIC’s website, http://www.nic.ad.jp