DNS專題(一)——關(guān)于域名系統(tǒng)簡介③

字號(hào):

1.2主機(jī)名的特征
    根據(jù)InternetRFC的要求,域主機(jī)名(如給予UNIX計(jì)算機(jī)的主機(jī)名)可以最多有24個(gè)字符。注意,Windows計(jì)算機(jī)可以有兩個(gè)計(jì)算機(jī)名,一個(gè)Windows網(wǎng)絡(luò)(NetBIOS)名和一個(gè)DNS名。圖1-4所示的Windows95計(jì)算機(jī)名不能在這里輸入,而是在“Identity(身份)”對(duì)話框中輸入,其長度不能超過15個(gè)字符。
    Windows計(jì)算機(jī)名既短又簡單,如:
    Hostone
    Hosttwo
    Hostthree
    Windows計(jì)算機(jī)名可以更長和更復(fù)雜,但如果用以下的名字:
    Host1-012s-3t4n5a6m7e8-1
    Host2-023s-4t5n6a7m8e9-2
    Host3-037s-8t9n0a1m2e3-3
    則在“Identity”對(duì)話框的NetBIOS名字空間中將被認(rèn)為非法。
    避免出現(xiàn)這種情況的辦法是選擇一個(gè)能同時(shí)滿足DNS域名空間和NetBIOS名字空間的計(jì)算機(jī)名。這意味著所選的計(jì)算機(jī)名必須不太長,只取15個(gè)字符或者更少,并且所用的字符應(yīng)該在兩種環(huán)境下都是合法的。如果使用長度超過15個(gè)字符的名字,Windows2000會(huì)忽略多余的字符。
    對(duì)服務(wù)器或者其他經(jīng)常使用的主機(jī),應(yīng)選擇比較容易記憶的名字。是既簡單又有一定含義的名字。在實(shí)現(xiàn)DNS前,可先按直觀的命名慣例為用戶的計(jì)算機(jī)取名。如對(duì)TrentCarter的PC取名為tcarter-pc,對(duì)HermanKnief的工作站取名為hknief-ws,等等。服務(wù)器也可按命名的慣例來取名,可以先劃定一個(gè)范圍,然后從中選擇名字。這可以在所有的主機(jī)間產(chǎn)生容易記憶的聯(lián)系。如對(duì)于船只,可選Titanic,Enterprise,Mayflower,對(duì)于城市,可選Paris(巴黎)、Munich(慕尼黑)、Seatle(西雅圖)等。一個(gè)新站點(diǎn)的用戶一旦建立,當(dāng)他們看到所有的打印機(jī)被命名為Volcanoes時(shí)會(huì)是很高興的。這對(duì)于一個(gè)小企業(yè)來說是很好的,但當(dāng)它逐漸變大而仍然想做這樣的工作的話,則必須發(fā)展子域(并且當(dāng)它更大的時(shí)候,則必須使用對(duì)于用戶來說可加密的標(biāo)準(zhǔn)命名慣例)
    Internet網(wǎng)絡(luò)信息中心InterNIC,或稱NIC,是管理域名注冊(cè)的機(jī)構(gòu)。第14章將說明如何向NIC注冊(cè)一個(gè)新域名。
    1.2.1IP主機(jī)名
    Internet的有關(guān)文件中對(duì)如何選擇主機(jī)名定義了一些規(guī)則。如果不遵照這些規(guī)則而取名,當(dāng)其他用戶或者應(yīng)用軟件打算訪問你的計(jì)算機(jī)時(shí),就可能出問題。已批準(zhǔn)的RFC952定義了有效主機(jī)名的標(biāo)準(zhǔn),即規(guī)定了什么樣的主機(jī)名才是有效的和合法的。RFC1035“域的實(shí)現(xiàn)和規(guī)范”也是必須遵循的。以下是從RFC952摘取的主機(jī)名命名指導(dǎo):
    •主機(jī)名是長度不超過24個(gè)字符的字符串,所用字符可以是字母(A~Z)、數(shù)字(0~9)、減號(hào)(-)、點(diǎn)號(hào)(.)。點(diǎn)號(hào)只能用做域名格式的主機(jī)名的分隔符。
    •主機(jī)名中不能有空白或空格符。
    •不區(qū)分大、小寫字母。
    •第一個(gè)宇符必須是字母。
    •最后一個(gè)字符不能是減號(hào)或點(diǎn)號(hào)。
    •不能使用單字符主機(jī)名,也不能對(duì)主機(jī)名起綽號(hào)。
    有些主機(jī)名并沒有遵照這些標(biāo)準(zhǔn),例如3com.com,這個(gè)主機(jī)名顯然違反了第一個(gè)字符不能是數(shù)字的規(guī)定。雖然存在著RFC標(biāo)準(zhǔn)和一些實(shí)際主機(jī)名不一致的現(xiàn)象,但用戶還是應(yīng)該盡可能按照標(biāo)準(zhǔn)來取名。域名遵循如下規(guī)則。
    1.2.2RFC1035:主機(jī)名建議
    RFC1035的“域的實(shí)現(xiàn)和格式”建議提供了關(guān)于域名的語法,這對(duì)于熟悉正規(guī)計(jì)算機(jī)語言格式的用戶是特別有用的。以下是從這個(gè)文件的第6、7頁中摘取的內(nèi)容:
    2.3約定
    域名系統(tǒng)對(duì)一些基本問題有所約定。系統(tǒng)實(shí)現(xiàn)者如果在他們的系統(tǒng)中不完全遵守這些約定,則必須注意這些約定對(duì)其他主機(jī)的訪問有沒有影響。
    2.3.1建議的域名語法
    構(gòu)成域名的DNS描述應(yīng)盡可能一般化,其基本思想是將已存在的對(duì)象的名字用域名表示時(shí)所發(fā)生的變化應(yīng)盡可能小。
    當(dāng)為一個(gè)已存在的對(duì)象分配域名時(shí),精明的用戶應(yīng)選擇一個(gè)既滿足域名系統(tǒng)標(biāo)準(zhǔn)又符合與該對(duì)象有關(guān)的一些規(guī)則的名字,這些規(guī)則可以是已公布的,或者是約定俗成的。
    例如,當(dāng)為一個(gè)郵件域取名時(shí),用戶應(yīng)遵照本文件中的規(guī)定,也應(yīng)遵守RFC822中的規(guī)定。RFC822是和郵件有關(guān)的文件。當(dāng)創(chuàng)建一個(gè)新的主機(jī)名時(shí),在HOST.TXT中的舊規(guī)定還應(yīng)遵守,以免原有的軟件轉(zhuǎn)而使用域名時(shí)出現(xiàn)問題。
    以下語法可使許多使用域名的應(yīng)用(如電子郵件、遠(yuǎn)程登錄)正常工作。
    <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個(gè)字母中的任意一個(gè)
    <digit>::=0~9數(shù)字中任意一個(gè)
    注意在域名中使用大寫字母和小寫字母具有同樣的意義。也就是說,兩個(gè)域名若拼
    寫相同,僅使用字母的大小寫不同,這兩個(gè)域名仍被認(rèn)為是相同的。
    在RFC1123和RFC1912中還可以找到關(guān)于創(chuàng)建有效域名的規(guī)則的更多信息。包含所有
    InternetRFC文件資源的網(wǎng)址是:
    http://www.isi.edu/rfc-editor/
    以及www.merseyworld.com/techwatch/standards下載
    1.2.3Windows(NetBIOS)計(jì)算機(jī)名
    Windows計(jì)算機(jī)名的長度必須小于或等于15個(gè)字符,以滿足NetBIOS對(duì)名字長度的要求。名字中不區(qū)分大小寫,名字Host-one、HOST-ONE和host-one對(duì)UNIX計(jì)算機(jī)和Windows計(jì)算機(jī)都是等效的。但Windows計(jì)算機(jī)名不可以包含DNS中不允許的字符。如果計(jì)算機(jī)名包含這種非法字符,在DNS中注冊(cè)時(shí)就會(huì)出問題,而不論這種注冊(cè)是人工的還是通過自動(dòng)WINS特性來注冊(cè)。Windows計(jì)算機(jī)應(yīng)該只使用合法的DNS字符,以免出錯(cuò)。以下的名字在WINS中是合法的,但對(duì)多數(shù)DNS服務(wù)器則是非法的:
    1isAnumber(以數(shù)字開始)
    under_score(下劃線是不允許的)
    spaceghost(不允許空格鍵)
    這是非常好的建議,也就是對(duì)Windows計(jì)算機(jī)只使用合法的DNS名字。在移植和升級(jí)時(shí)可能需要保留兩個(gè)不同的名字表,但應(yīng)該試圖避免這樣。
    1.3全域名
    主機(jī)名中若不包括計(jì)算機(jī)所屬的域,則這個(gè)主機(jī)名是不完全的。當(dāng)然,如果你所使用的計(jì)算機(jī)和搜索的主機(jī)在同一個(gè)域,解析器基于以上假定的基礎(chǔ),可能將添加域名。但如果所搜索的主機(jī)在另一個(gè)域,并且DNS沒有找到它,則很可能是客戶機(jī)使用了不合格的域名,也就是不包含域成員的信息。很多操作系統(tǒng)為用戶提供了一種“猜想-添加”過程的方法。
    全域名(FQDN,F(xiàn)ullyQualifiedDomainName)是指主機(jī)名加上全路徑,全路徑中列出了序列中所有域成員。全域名可以從邏輯上準(zhǔn)確地表示出主機(jī)在什么地方,也可以說全域名是主機(jī)名的一種完全表示形式。從全域名中包含的信息可以看出主機(jī)在域名樹中的位置。例如,acmecompany公司的Web服務(wù)器的全域名可以是www.acmecompany.com,而若WWW主機(jī)是在銷售部子域,則它的全域名可以是www.sales.acmecompany.com。當(dāng)給出的名字像acmecompany而不是acmecompany.時(shí),他們通常是指主機(jī)名,而名字中帶有句點(diǎn)的則認(rèn)為是全域名。這種區(qū)別在理解和控制解析過程時(shí)是非常重要的。句點(diǎn)實(shí)際上指出了域名樹的根。
    全域名在實(shí)際中是非常有用的。電子郵件就使用全域名作為收信人的電子郵件地址,如janicejones@acmecompany.com,其中收信人為janicejones,跟在收信人名字后面是符號(hào)@,@后面是郵件服務(wù)器的全域名,或者說是郵件服務(wù)器所在企業(yè)的域名,最后是頂層域名.com。.com意味著acmecompany是一個(gè)商業(yè)機(jī)構(gòu)。
    1.4選擇域名
    選擇域名是一個(gè)很復(fù)雜的工作。隨著近年來Internet的迅速普及,一些人已經(jīng)發(fā)現(xiàn)了在域名上的投機(jī)能帶來暴利。也就是說,一個(gè)人為自己注冊(cè)了許多域名,希望另一個(gè)不太走運(yùn)的人準(zhǔn)備開一個(gè)公司,并且試圖合法地注冊(cè)一個(gè)相同的域名,如果此域名已被注冊(cè),那么后者就必須選擇另一個(gè)域名,或者試圖勸告前者放棄此域名,而后者此舉對(duì)前者來說是可獲利的。當(dāng)準(zhǔn)備注冊(cè)一個(gè)域名時(shí),花點(diǎn)時(shí)間想出幾個(gè)好名字,能暗示出自己的預(yù)期用途。并考慮一下使用什么樣的頂層域名。.com用于商業(yè)用途,.net通常是給ISP和其他聯(lián)網(wǎng)機(jī)構(gòu)所用的,.org則指非盈利的或社會(huì)性的組織。相對(duì)來說這些已經(jīng)不是很嚴(yán)格的限制了。對(duì)于頂層域名的使用,很多實(shí)體會(huì)有許多使用相似名字的機(jī)會(huì),但它們?nèi)匀豢梢栽诟髯缘囊鈭D和目的上加以區(qū)分。.edu用于教育方面,.gov和.mil則用于政府和軍事,這些根據(jù)各自可能的注冊(cè)而受約束。另外的頂層域名,比如說.law,.inc,.mail,.games,.learn等則提供了更多的選擇—假設(shè)投機(jī)者不會(huì)把它們?nèi)蒙?。詞頭的使用也是一個(gè)提供域名的好方法。記住,域名越短,已被別人注冊(cè)的可能性就越大。
    在很多時(shí)候,注冊(cè)一個(gè)域名就像是試圖給自己的汽車申請(qǐng)一個(gè)有個(gè)性的執(zhí)照牌。想提出一些獨(dú)特的見解的人必須思路開闊并且有點(diǎn)創(chuàng)造力。當(dāng)準(zhǔn)備好注冊(cè)一個(gè)域名的時(shí)候,InterNIC提供了很多有效的工具來幫助找到一個(gè)的名字并進(jìn)行注冊(cè)。對(duì)于有關(guān)InterNIC的信息,查詢www.internic.net,如果有興趣的話,還有可能找到一些新的頂層域名。在這里不能列出很多,但在Internet上卻可以很輕松地找到可用的信息。
    1.5小結(jié)
    本章主要介紹了DNS的基本概念和一些主機(jī)命名規(guī)則。后面的幾章將比較深入地討論如何建立和管理DNS服務(wù)器。
    IP地址Internet上的每臺(tái)計(jì)算機(jī)都有一個(gè)IP地址,一個(gè)IP地址是一行上的四個(gè)數(shù)字,每個(gè)數(shù)字從0到255并用點(diǎn)號(hào)隔開。例如123.21.99.1和10.1.1.3,單個(gè)IP地址可以自動(dòng)也可以人工分配。在很多時(shí)候,DNS并不關(guān)心它們的分配方式。一個(gè)名叫IPv6的新標(biāo)準(zhǔn)可能會(huì)實(shí)現(xiàn)??梢栽诒緯院蟮恼鹿?jié)中獲得更多的信息。