メインコンテンツへジャンプする

JPNICはインターネットの円滑な運営を支えるための組織です

ロゴ:JPNIC

WHOIS 検索 サイト内検索 WHOISとは? JPNIC WHOIS Gateway
WHOIS検索 サイト内検索

mDNkit Specifications


Overall Structure

Kit Components

The mDNkit is comprised of the following components.

MDN library

This libary implements basic processing related to multilingual domain name conversion. The following features are provided.

  • Encoding conversion庁。
  • NAMEPREP
  • Local mapping
  • Analysis and assembly of DNS message

All of the following components are created using this library.

Also, an API is provided to allow applications that use these functions to convert multilingual domain names. This follows IDNA, which a proposal for the multilingual domain name processing architecture. In this architecture, the client application itself executes NAMEPREP and converts encoding to the IDN encoding, then calls the resolver.

mdnsproxy

Operating as a proxy server for the DNS server, this command relays DNS messages from the client to the DNS server and relays DNS messages returned from the DNS server to the client.

When DNS messages sent from the client are relayed, the domain name in the message is converted from the local encoding used by the client to the DNS protocol encoding (IDN encoding) used by the multilingualized DNS server and NAMEPREP is also performed.

In addition, when a DNS message returned from the DNS server is relayed, the domain name in the message is converted from the IDN encoding to the local encoding.

mdnconv

This is an encoding conversion tool for zone master files and named.conf file. These locally-encoded files are converted to the IDN encoding used by the multilingualized DNS server, and NAMEPREP is performed at the same time.

BIND 9 patch

This patch adds to BIND 9 the ability to support multilingual domain names. This patch adds encoding conversion of multilingual domain names and NAMEPREP functions to tools such as dig and nslookup. Because of this, multilingual domain names are supported.

runmdn

This command allows UNIX applications to support of multilingual domain names without re-compiling. By dynamically linking the MDN library when the application is executed, encoding conversion of multilingual domain names and normalization functions (NAMEPREP) are added to the resolver linked to the application. Because of this, multilingual domain names can be handled without using mdnsproxy.

mDN Wrapper

This is a Wrapper DLL for WINSOCK that allows Windows-based applications to support multilingual domain names. Usually, Windows applications resolve domain names with WINSOCK. mDN Wrapper intercepts the WINSOCK call and performs encoding conversion and NAMEPREP of multilingual domain names. The same thing can be done with dnsproxy; however, when mDN Wrapper is used different local encoding used by applications can be accepted.

8-bit through patch

When dnsproxy is used to convert multilingual domain name encoding or perform normalization, these functions are not required in the DNS server or resolver library. However, when 8-bit code such as UTF-8 is used for DNS protocol encoding, the conventional DNS server cannot be used and modification must be performed so that 8-bit code can be passed without error.

When the local encoding uses 8-bit code such as SJIS, the resolver library also must be modified so that 8-bit code can be passed without error. Furthermore, some applications check domain names themselves and do not pass 8-bit code.

Furthermore, some applications check domain names themselves and do not pass 8-bit code.

For these reasons, this kit provides the following patches:

  • Patch that makes the BIND 8 name server and resolver 8-bit through
  • Patch that makes the URL analysis part of Squid庁。8-bit through (Squid is a Web cache server)

The specifications of these 8-bit through patches are not discussed here.

Component Diagram

The following two diagrams illustrate how and where each component is used.

The first diagram depicts multilingual domain name processing by the client application using the API for name resolution or the client side resolver without using mdnsproxy.

mDNkit components #2

The second diagram depicts multilingual domain name processing using mdnsproxy.

mDNkit components #1

In the diagrams, the italicized parts are compoments included in the kit.

Local encoding such as SJIS is used in the upper half of the diagram, and IDN encoding used by multilingualized DNS such as Punycode is used in the lower half of the diagram. The components provided by this kit serve as a bridge between these two worlds.

このページを評価してください

このWebページは役に立ちましたか?
よろしければ回答の理由をご記入ください

それ以外にも、ページの改良点等がございましたら自由にご記入ください。

回答が必要な場合は、お問い合わせ先をご利用ください。

ロゴ:JPNIC

Copyright© 1996-2025 Japan Network Information Center. All Rights Reserved.