是否有其他 DNS 类 在 INTERNET 之外有用的用例?

Is there any use cases where other DNS classes are useful apart INTERNET?

IN(ternet) class 是默认的。

我知道另一个有用的,CHAOS :

censurfridns :

% dig @91.239.100.100 version.bind TXT CHAOS +short
"9.11.4-P2+dampening"

其他的有用例吗?

来自http://www.faqs.org/rfcs/rfc2929.html

RR CLASS IANA Considerations

DNS CLASSes have been little used but constitute another dimension of the DNS distributed database. In particular, there is no necessary relationship between the name space or root servers for one CLASS and those for another CLASS. The same name can have completely different meanings in different CLASSes although the label types are the same and the null label is usable only as root in every CLASS. However, as global networking and DNS have evolved, the IN, or Internet, CLASS has dominated DNS use.

There are two subcategories of DNS CLASSes: normal data containing classes and QCLASSes that are only meaningful in queries or updates.

The current CLASS assignments and considerations for future
assignments are as follows:

 Decimal    Hexadecimal

 0    0x0000 - assignment requires an IETF Standards Action.

 1    0x0001 - Internet (IN).

 2    0x0002 - available for assignment by IETF Consensus as a data CLASS.

 3    0x0003 - Chaos (CH) [Moon 1981].

 4    0x0004 - Hesiod (HS) [Dyer 1987].

 5 - 127    0x0005 - 0x007F - available for assignment by IETF Consensus as data
      CLASSes only.

 128 - 253    0x0080 - 0x00FD - available for assignment by IETF Consensus as
      QCLASSes only.

 254    0x00FE - QCLASS None [RFC 2136].

 255    0x00FF - QCLASS Any [RFC 1035].

 256 - 32767    0x0100 - 0x7FFF - assigned by IETF Consensus.

 32768 - 65280    0x8000 - 0xFEFF - assigned based on Specification Required as defined
      in [RFC 2434].

 65280 - 65534    0xFF00 - 0xFFFE - Private Use.

 65535    0xFFFF - can only be assigned by an IETF Standards Action.

其他的现在基本都废弃不用了

请参阅 https://miek.nl/2009/july/31/dns-classes/ 了解一些解释,例如:

The CH class has its use in the Chaosnet, which is a network implementation that didn’t make it, unlike the current Ethernet + TCP/IP combo. [..] Today the CH class is missused by BIND, for the following neat tricks: ...

The HS class has its origins Project Athena (also see Wikipedia. Which is a naming server ala nis or more recent ldap. With HS class you can put user and group data in your DNS, so you can do without an ldap server. The package hesiod still can be installed if you want to play with this.

Section 3.2 of RFC2929(2000 年 9 月!)已经说过:

DNS CLASSes have been little used but constitute another dimension of the DNS distributed database. [..] However, as global networking and DNS have evolved, the IN, or Internet, CLASS has dominated DNS use.

现在普遍认为 DNS 规范在 类 以及它们之间的隔离程度方面不够明确。

这份2016年7月的最新文档(https://tools.ietf.org/id/draft-sullivan-dns-class-useless-03.html)对目前的状态和未来要做的事情进行了解释:

Domain Name System Resource Records are identified in part by their class. The class field is not effective, and it is not used the way it appears to have been intended. This memo makes no recommendation about the DNS parameters registry, but urges those defining new RRTYPEs to define them for all classes.

[..]

As of this writing, there are only three "ordinary" classes assigned. Class 1 is the Internet or IN class. Class 3 is the Chaos or CH class. Class 4 is the Hesiod or HS class. Class 2 is noted in [RFC1035] as the CSNET or CS class, but the current registry (at http://www.iana.org/assignments/dns-parameters/dns-parameters.xml#dns-parameters-2) no longer includes the assignment.

[..]

  1. DNS classes are effectively vestigial

Given the considerations above, it is plain that DNS classes are unlikely to be useful in the future. Designers of new name systems should consider the design of classes in the DNS. If a similar feature is desirable, its design needs to be different in order to be useful. Given the the way the DNS has managed to thrive effectively without classes, however, it would be worth asking whether the feature is useful at all.

您可以找到很多关于它的讨论,特别是在 IETF 工作组 dnsop 中,针对这些主题:

RFC 8324 - DNS Privacy, Authorization, Special Uses, Encoding, Characters, Matching, and Root Structure: Time for Another Look? 中也引用了这个特定的 Internet 草案 作为 [Sullivan-Class] 在:

In recent years, demand for new and extended services and uses of the DNS have, in turn, led to proposals for DNS extensions or changes of various sorts. [..] A few features of the original DNS specification, such as the CLASS property and label types, have also been suggested to be so badly specified that they should be deprecated [Sullivan-Class].

3.6. Alternate Namespaces for Public Use in the DNS Framework: The CLASS Problem

The DNS standards include specification of a CLASS value, which "identifies a protocol family or instance of a protocol" (RFC 1034, Section 3.6, and elsewhere). While CLASS was used effectively in the early days of the DNS to manage different protocol families within the same administrative environment, recent attempts to use it to either partition the DNS namespace in other ways such as for non-ASCII names (partially to address the issues in Sections 3.2 and 3.3) or use DNS mechanisms for entirely different namespaces have exposed fundamental problems with the mechanism [Sullivan-Class]. Perhaps the most fundamental of those problems is disagreement about whether multiple CLASSes were intended to exist within a given zone (with records within RRSETs) or whether different CLASSes implied different zones. Different implementations make different assumptions [Faltstrom-2004] [Vixie-20170704]. These problems have led to recommendations that it be dropped entirely [Sullivan-Class], but discussions on the IETF list and in WGs in mid-2017 made it clear that there is no clear consensus on that matter.