1.2主机名的特征
根据InternetRFC的要求,域主机名(如给予UNIX计算机的主机名)可以最多有24个字符。注意,Windows计算机可以有两个计算机名,一个Windows网络(NetBIOS)名和一个DNS名。图1-4所示的Windows95计算机名不能在这里输入,而是在“Identity(身份)”对话框中输入,其长度不能超过15个字符。
Windows计算机名既短又简单,如:
Hostone
Hosttwo
Hostthree
Windows计算机名可以更长和更复杂,但如果用以下的名字:
Host1-012s-3t4n5a6m7e8-1
Host2-023s-4t5n6a7m8e9-2
Host3-037s-8t9n0a1m2e3-3
则在“Identity”对话框的NetBIOS名字空间中将被认为非法。
避免出现这种情况的最好办法是选择一个能同时满足DNS域名空间和NetBIOS名字空间的计算机名。这意味着所选的计算机名必须不太长,只取15个字符或者更少,并且所用的字符应该在两种环境下都是合法的。如果使用长度超过15个字符的名字,Windows2000会忽略多余的字符。
对服务器或者其他经常使用的主机,应选择比较容易记忆的名字。最好是既简单又有一定含义的名字。在实现DNS前,可先按直观的命名惯例为用户的计算机取名。如对TrentCarter的PC取名为tcarter-pc,对HermanKnief的工作站取名为hknief-ws,等等。服务器也可按命名的惯例来取名,可以先划定一个范围,然后从中选择名字。这可以在所有的主机间产生容易记忆的联系。如对于船只,可选Titanic,Enterprise,Mayflower,对于城市,可选Paris(巴黎)、Munich(慕尼黑)、Seatle(西雅图)等。一个新站点的用户一旦建立,当他们看到所有的打印机被命名为Volcanoes时会是很高兴的。这对于一个小企业来说是很好的,但当它逐渐变大而仍然想做这样的工作的话,则必须发展子域(并且当它更大的时候,则必须使用对于用户来说可加密的标准命名惯例)
Internet网络信息中心InterNIC,或称NIC,是管理域名注册的机构。第14章将说明如何向NIC注册一个新域名。
1.2.1IP主机名
Internet的有关文件中对如何选择主机名定义了一些规则。如果不遵照这些规则而取名,当其他用户或者应用软件打算访问你的计算机时,就可能出问题。已批准的RFC952定义了有效主机名的标准,即规定了什么样的主机名才是有效的和合法的。RFC1035“域的实现和规范”也是必须遵循的。以下是从RFC952摘取的主机名命名指导:
•主机名是长度不超过24个字符的字符串,所用字符可以是字母(A~Z)、数字(0~9)、减号(-)、点号(.)。点号只能用做域名格式的主机名的分隔符。
•主机名中不能有空白或空格符。
•不区分大、小写字母。
•第一个宇符必须是字母。
•最后一个字符不能是减号或点号。
•不能使用单字符主机名,也不能对主机名起绰号。
有些主机名并没有遵照这些标准,例如3com.com,这个主机名显然违反了第一个字符不能是数字的规定。虽然存在着RFC标准和一些实际主机名不一致的现象,但用户还是应该尽可能按照标准来取名。域名遵循如下规则。
1.2.2RFC1035:主机名建议
RFC1035的“域的实现和格式”建议提供了关于域名的语法,这对于熟悉正规计算机语言格式的用户是特别有用的。以下是从这个文件的第6、7页中摘取的内容:
2.3约定
域名系统对一些基本问题有所约定。系统实现者如果在他们的系统中不完全遵守这些约定,则必须注意这些约定对其他主机的访问有没有影响。
2.3.1建议的域名语法
构成域名的DNS描述应尽可能一般化,其基本思想是将已存在的对象的名字用域名表示时所发生的变化应尽可能小。
当为一个已存在的对象分配域名时,精明的用户应选择一个既满足域名系统标准又符合与该对象有关的一些规则的名字,这些规则可以是已公布的,或者是约定俗成的。
例如,当为一个邮件域取名时,用户应遵照本文件中的规定,也应遵守RFC822中的规定。RFC822是和邮件有关的文件。当创建一个新的主机名时,在HOST.TXT中的旧规定还应遵守,以免原有的软件转而使用域名时出现问题。
以下语法可使许多使用域名的应用(如电子邮件、远程登录)正常工作。
<domain>::=<subdomain>|??
<subdomain>::=<lable>|<subdomain>?.?<let-dig>
<lable>::=<letter>[[<ldh-str>]]
<ldh-str>::=<let-dig-hyp>|<let-dig-hyp><ldh-str>
<let-dig-hyp>::=<let-dig>|?-?
<let-dig>::=<letter>|<digit>
<letter>::=从大写A到Z和小写的a到z共52个字母中的任意一个
<digit>::=0~9数字中任意一个
注意在域名中使用大写字母和小写字母具有同样的意义。也就是说,两个域名若拼
写相同,仅使用字母的大小写不同,这两个域名仍被认为是相同的。
在RFC1123和RFC1912中还可以找到关于创建有效域名的规则的更多信息。包含所有
InternetRFC文件资源的网址是:
http://www.isi.edu/rfc-editor/
以及www.merseyworld.com/techwatch/standards下载
1.2.3Windows(NetBIOS)计算机名
Windows计算机名的长度必须小于或等于15个字符,以满足NetBIOS对名字长度的要求。名字中不区分大小写,名字Host-one、HOST-ONE和host-one对UNIX计算机和Windows计算机都是等效的。但Windows计算机名不可以包含DNS中不允许的字符。如果计算机名包含这种非法字符,在DNS中注册时就会出问题,而不论这种注册是人工的还是通过自动WINS特性来注册。Windows计算机应该只使用合法的DNS字符,以免出错。以下的名字在WINS中是合法的,但对多数DNS服务器则是非法的:
1isAnumber(以数字开始)
under_score(下划线是不允许的)
spaceghost(不允许空格键)
这是非常好的建议,也就是对Windows计算机只使用合法的DNS名字。在移植和升级时可能需要保留两个不同的名字表,但应该试图避免这样。
1.3全域名
主机名中若不包括计算机所属的域,则这个主机名是不完全的。当然,如果你所使用的计算机和搜索的主机在同一个域,解析器基于以上假定的基础,可能将添加域名。但如果所搜索的主机在另一个域,并且DNS没有找到它,则很可能是客户机使用了不合格的域名,也就是不包含域成员的信息。很多操作系统为用户提供了一种“猜想-添加”过程的方法。
全域名(FQDN,FullyQualifiedDomainName)是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。例如,acmecompany公司的Web服务器的全域名可以是www.acmecompany.com,而若WWW主机是在销售部子域,则它的全域名可以是www.sales.acmecompany.com。当给出的名字像acmecompany而不是acmecompany.时,他们通常是指主机名,而名字中带有句点的则认为是全域名。这种区别在理解和控制解析过程时是非常重要的。句点实际上指出了域名树的根。
全域名在实际中是非常有用的。电子邮件就使用全域名作为收信人的电子邮件地址,如janicejones@acmecompany.com,其中收信人为janicejones,跟在收信人名字后面是符号@,@后面是邮件服务器的全域名,或者说是邮件服务器所在企业的域名,最后是顶层域名.com。.com意味着acmecompany是一个商业机构。
1.4选择域名
选择域名是一个很复杂的工作。随着近年来Internet的迅速普及,一些人已经发现了在域名上的投机能带来暴利。也就是说,一个人为自己注册了许多域名,希望另一个不太走运的人准备开一个公司,并且试图合法地注册一个相同的域名,如果此域名已被注册,那么后者就必须选择另一个域名,或者试图劝告前者放弃此域名,而后者此举对前者来说是可获利的。当准备注册一个域名时,花点时间想出几个好名字,最好能暗示出自己的预期用途。并考虑一下使用什么样的顶层域名。.com用于商业用途,.net通常是给ISP和其他联网机构所用的,.org则指非盈利的或社会性的组织。相对来说这些已经不是很严格的限制了。对于顶层域名的使用,很多实体会有许多使用相似名字的机会,但它们仍然可以在各自的意图和目的上加以区分。.edu用于教育方面,.gov和.mil则用于政府和军事,这些根据各自可能的注册而受约束。另外的顶层域名,比如说.law,.inc,.mail,.games,.learn等则提供了更多的选择―假设投机者不会把它们全用上。词头的使用也是一个提供域名的好方法。记住,域名越短,已被别人注册的可能性就越大。
在很多时候,注册一个域名就像是试图给自己的汽车申请一个有个性的执照牌。想提出一些独特的见解的人必须思路开阔并且有点创造力。当准备好注册一个域名的时候,InterNIC提供了很多有效的工具来帮助找到一个唯一的名字并进行注册。对于有关InterNIC的信息,查询www.internic.net,如果有兴趣的话,还有可能找到一些新的顶层域名。在这里不能列出很多,但在Internet上却可以很轻松地找到可用的信息。
1.5小结
本章主要介绍了DNS的基本概念和一些主机命名规则。后面的几章将比较深入地讨论如何建立和管理DNS服务器。
IP地址Internet上的每台计算机都有一个IP地址,一个IP地址是一行上的四个数字,每个数字从0到255并用点号隔开。例如123.21.99.1和10.1.1.3,单个IP地址可以自动也可以人工分配。在很多时候,DNS并不关心它们的分配方式。一个名叫IPv6的新标准可能会实现。可以在本书以后的章节中获得更多的信息。