1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<!-- $Id: bind9.html,v 1.4 2001/10/23 06:04:05 miyayama Exp $ -->
<html lang="en-US">
<head>
<title>BIND 9 patch</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<link rev="made" href="mailto:idn-cmt@nic.ad.jp">
<link rel="stylesheet" type="text/css" href="spec.css">
</head>
<body>
<h1>BIND 9 Patch</h1>
<ul>
<li><a href="#overview">Overview</a>
<li><a href="#arch">Architecture</a>
<li><a href="#dig">Fixes in dig/host/nslookup </a>
</ul>
<hr>
<h2><a name="overview">Overview</a></h2>
<p>
The BIND 9 patch file included in the mDNkit provides the ability to support both conventional ASCII character domain names and non-ASCII character-derived multilingual domain names.
</p>
<p>
Specifically, this patch adds the following functions to BIND 9.
</p>
<ul>
<li>
Uses dig, host, and nslookup commands to accept domain names in the local encoding and displays domain names included in the inquiry result using local encoding.
</ul>
<p>
Instructions for how to apply the patch file to BIND 9 is explained at the beginning of the patch file. Before using the patch file, be sure to check the version of BIND being used.
</p>
<hr>
<h2><a name="arch">Architecture</a></h2>
<p>
BIND 9 included in mDNkit version 1 provides the following functgions in addition to the functions explained in the Overview.
</p>
<ul>
<li>
lightweight resolver API (lwres_gethostbyname, etc.) is used to resolve host names denoted in local encoding.
<li>
Returns host names denoted in the local encoding as the name resolution result.
<li>
Deals in UTF-8 characters as domain names in DNS server (named).
</ul>
<p>
This method, which implements multilingual domain name processing such as normilization or encoding conversion in the resolver layer, and which enables to deal UTF-8 characters on DNS protocol, is becoming a prominent architecture for multilingual domain name processing.
<a href="../../reference/draft/draft-ietf-idn-idna-06.txt">IDNA</a> prescribes to perform all processing in the application, and to use ACE encoding on DNS protocol.
mDNkit version 2 complies with IDNA. For that reason, the above functions are removed from BIND 9 patch.
</p>
<p>
The following diagram shows the function implemented in each component and the encoding used by the interface between the components.
</p>
<p>
<img src="../../img/spec/bind9_arch.jpg" alt="bind9 resolver architecture">
</p>
<hr>
<h2><a name="dig">Fixes in dig/host/nslookup </a></h2>
<p>
The DNS inquiry commands called dig, host, and nslookup are included in BIND 9. Because of the BIND 9 patch in mDNkit, these commands can handle multilingual domain names. Specifically, the following functions are added.
</p>
<ul>
<li>Encoding conversion<br>
Converts domain names expressed in local encoding entered using command arguments or through standard input to the encoding used by the DNS protocol and issues a DNS inquiry.
<p>
Also converts multilingual domain names included in the DNS response to local encoding and displays the result.
</p>
<li>Normalization<br>
When converting domain names expressed in local encoding to the encoding used in DNS protocol as a result of a DNS inquiry, the domain names are normalized.
</ul>
<p>
The <a href="library.html#res">res module</a> of the MDN library is used for processing. The <a href="clientconfig.html">mDNkit configuration file</a> is used to make the setting.
</p>
</body>
</html>
|