[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [idn] Canonicalization: [28] through [31]
At 9:22 AM -0400 6/28/00, J. William Semich wrote:
>"The protocol MUST specify canonicalization. If canonicalization is done at
>the server, the server should be able to recognize requests that have
>already been canonicalized and should treat them as such."
Sorry to sound like a parrot here, but the requirements document has
a *very* good picture of the relevant parts of the DNS; we should use
the terminology from the picture.
To refresh people's memory, the picture is:
+---------------+ +---------------------+
| Application | | (Base data) |
+---------------+ +---------------------+
| Application service interface |
| For ex. GethostbyXXXX interface | (no standard)
+---------------+ +---------------------+
| Resolver | | Auth DNS server |
+---------------+ +---------------------+
| <----- DNS service interface -----> |
+------------------------------------------------------------------+
| DNS service |
| +-----------------------+ +--------------------+ |
| | Forwarding DNS server | | Caching DNS server | |
| +-----------------------+ +--------------------+ |
| |
| +-------------------------+ |
| | Parent-zone DNS servers | |
| +-------------------------+ |
| |
| +-------------------------+ |
| | Root DNS servers | |
| +-------------------------+ |
| |
+------------------------------------------------------------------+
Thus, the wording you are proposing would need to be changed to:
"The protocol MUST specify canonicalization. If canonicalization is
done in any server within the DNS service, another server within the
DNS service SHOULD be able to recognize requests that have already
been canonicalized and SHOULD treat them as such."
I think that's what you meant; if not, please reword. And, if it is
what you meant, I think you can start seeing some problems:
- You are now requiring the root servers to both check for
canonicalization (more work) and possibly perform canonicalization
(more work)
- Versioning for IDN within the DNS service box must be designed very
carefully. We know that ISO 10646 gets updated about once a year. It
would be pretty rude to say "those new characters can't be used for a
few years until we update all this software". Putting the
canonicalization above the DNS service interface avoids this.
I agree that specifying the solution in the requirements document is
the wrong thing to do. In addition, underspecifying the requirements
is also bad because it will lead to lax proposals for the protocol.
We have already seen too many "solutions" to the problem that
hand-wave over the hard issues and, in so doing, hurt all the users
of those solutions. This is particularly harmful to Asians, who will
have new significant characters added to ISO 10646 in the coming
years.
Thus, how about the following wording:
"The protocol MUST specify canonicalization, it MUST specify exactly
where in the DNS that canonicalization happens and does not happen,
it MUST specify how additions to ISO 10646 will affect the stability
of the DNS and the amount of work done on the root DNS servers."
--Paul Hoffman, Director
--Internet Mail Consortium