[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