在主机名中使用下划线

时间:2012-06-09 09:12:45

标签: android dns

维基百科声称强调are used by both Android and Microsoft Windows Systems in hostnames。我的问题是,这些主机名是什么?你有这些奇怪的主机名名称及其用途的例子吗?

5 个答案:

答案 0 :(得分:25)

What are host names?

类似于学校教室,每个学生都有卷号/身份证,以便识别他/她,在 Internet (或任何计算机网络)的教室中每个设备网络中需要唯一标识。这是通过主机名完成的。因此,主机名是有助于识别网络中设备的名称。

Hostnames with underscore(_) character.

在为有效和无效hostnames制定标准期间,公共终端接口是Teletype(TTY)ASR-33的键盘。现在这个keyborad从来没有下划线(_)键(查看此图片http://www.pdp8.net/asr33/pics/kbd_top.shtml?large),因此不可能在其中加上带有下划线(_)的hostname。请查看此链接以获取更多详细信息:http://www.quora.com/Domain-Name-System-DNS/Why-are-underscores-not-allowed-in-DNS-host-names

可以在域名中使用下划线(_)字符。正如这篇文章所述,Can (domain name) subdomains have an underscore "_" in it?有一个下划线是完全有效的。一些示例(如帖子中所示)是_jabber._tcp.gmail.com_sip._udp.apnic.net。这里使用下划线的另一个例子是http://ideaharbor.org/notes/technical/enabling-chat-outside-google-apps。虽然它有效使用强调它不是推荐的做法。

您帖子中的维基百科链接指出,Microsoft Windows和Android智能手机不会强制执行反对在主机名中使用下划线的规则。不执行此规则可能会导致问题,因为许多系统拒绝此类主机名。

希望你从这个解释中得到一些东西。

修改

关于这个问题的进一步调查,我发现了这篇精彩的文章,我想这些文章澄清了主机名中下划线的用法:

http://networkadminkb.com/KB/a156/windows-2003-dns-and-the-underscore.aspx

答案 1 :(得分:7)

您对维基百科页面的阅读不正确。它没有说那些系统使用下划线,它表示他们支持下划线。

如果此类系统的管理员在配置时使用下划线,那么当它无法与世界其他地方互操作时,这是他自己的错误。

答案 2 :(得分:5)

主机名(包括域组件)仅允许包含字母字符,数字字符,连字符和句点。这最初在RFC 952中指定,并在RFC 1123中更新。 The wikipedia article linked in the question表示Android和Windows 允许使用违反此语法的主机名。

这些名称肯定是无效的主机名,但它们是明确有效的DNS记录,即使它们是通常包含主机名的地址记录。我不知道使用下划线的野外主机名的示例。为什么允许这样做?正如RFC 2181的“名称语法”部分所述,DNS旨在成为通用命名服务,因此它不会尝试强制执行可能适用于各个记录类型的所有不同名称语法。

因此,即使主机名中不允许使用下划线,程序是否应该允许它们的问题也更为微妙。在DNS的上下文中,必须允许下划线。如果要设置特定计算机的主机名,则绝对不允许使用它们,因为它们无效。如果你使用的是主机名,比如说要访问一个网址,我想你可能会争辩说如果它解决了你应该允许它,努力"be liberal in what you accept"

答案 3 :(得分:2)

WayBack机器有this list,但可能不再准确。

对于Configuring Domain Name System (DNS) servers

答案 4 :(得分:1)

主机名是(通常是DNS)名称解析中使用的{完全限定}名称。显然允许的下划线不符合关于允许字符的适当rfc,如果在本地环境之外使用,可能会引起不兼容问题。

也许Windows将此作为90年代的Netbios / Netbeui宿醉。