什么是主机名?
类比于学校课堂,每个学生都有一个编号/ID来识别他/她的身份,在互联网(或者任何计算机网络)的"classroom"中,每个设备都需要通过一个主机名来唯一标识。因此,主机名就是用来帮助在网络中识别设备的名字。
带下划线(_)字符的主机名。
在制定有效和无效主机名
标准的时期,常见的终端界面是Teletype(TTY) ASR-33的键盘。现在这个键盘上从来没有一个下划线(_)键(查看这张图片:http://www.pdp8.net/asr33/pics/kbd_top.shtml?large),因此不可能使用带有下划线(_)的主机名
。请查看此链接以获取更多详细信息: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
_
的特殊情况吗?我感觉微软公司可能也会用到这个特性。 - rookdocker
中使用 _
作为 postgres
数据库主机名时,我遇到了一个错误。 - FreeSoftwareServers主机名是通常用于(通常是DNS)名称解析的完全限定名称。虽然下划线似乎被允许,但不符合适当的RFC关于可允许字符的规定,如果在本地环境之外使用可能会引起不兼容问题。
也许Windows将其作为90年代Netbios / Netbeui的遗留问题。