剖析IPv6時(shí)代的域名系統(tǒng)

  IPv6協(xié)議是取代IPv4的下一代網(wǎng)絡(luò)協(xié)議,它具有許多新的特性與功能。域名系統(tǒng)(DNS)是Internet的基礎(chǔ)架構(gòu),IPv6的新特性也需要DNS的支持。因此,DNS必須升級(jí)以滿(mǎn)足IPv6的需求。本文將從IPv6 DNS的體系結(jié)構(gòu)、IPv6的地址解析、IPv6地址自動(dòng)配置和即插即用、IPv4到IPv6的過(guò)渡等幾方面對(duì)IPv6時(shí)代的DNS進(jìn)行分析和研究。

  一、 IPv6優(yōu)勢(shì)簡(jiǎn)介

  域名系統(tǒng)(Domain Name System,簡(jiǎn)稱(chēng)DNS)的主要功能是通過(guò)域名和IP地址之間的相互對(duì)應(yīng)關(guān)系來(lái)精確定位網(wǎng)絡(luò)資源,即根據(jù)域名查詢(xún)IP地址,反之亦然。DNS是當(dāng)今Internet的基礎(chǔ)架構(gòu),眾多的網(wǎng)絡(luò)服務(wù)都是建立在DNS體系基礎(chǔ)之上的。業(yè)界權(quán)威人士說(shuō):“只有理解了DNS,才真正懂得了Internet! IPv6協(xié)議是用來(lái)取代IPv4的互聯(lián)網(wǎng)協(xié)議。相比IPv4,IPv6具有很多優(yōu)點(diǎn)。首先,它提供了巨大的地址空間;其次,IPv6的地址結(jié)構(gòu)和地址分配采用嚴(yán)格的層次結(jié)構(gòu),以便于進(jìn)行地址聚合,從而使路由器中路由表的規(guī)模大幅度“瘦身”;再次,IPv6協(xié)議支持網(wǎng)絡(luò)節(jié)點(diǎn)地址的自動(dòng)配置,可以實(shí)現(xiàn)即插即用功能。此外,IPv6協(xié)議對(duì)主機(jī)移動(dòng)性有較好的支持,適合于越來(lái)越多的互聯(lián)網(wǎng)移動(dòng)應(yīng)用;IPv6協(xié)議在安全性、對(duì)多媒體流的支持性等方面都具有超過(guò)IPv4的優(yōu)勢(shì)。

  IPv6網(wǎng)絡(luò)中的DNS非常重要,一些IPv6的新特性和DNS的支持密不可分。本文從IPv6 DNS的體系結(jié)構(gòu)、IPv6的地址解析、IPv6地址自動(dòng)配置和即插即用、IPv4到IPv6的過(guò)渡等幾方面對(duì)IPv6時(shí)代的DNS進(jìn)行了分析和研究。

  二、IPv6域名系統(tǒng)的體系結(jié)構(gòu)

  IPv6網(wǎng)絡(luò)中的DNS與IPv4的DNS在體系結(jié)構(gòu)上是一致的,都采用樹(shù)型結(jié)構(gòu)的域名空間(如圖1所示)。IPv4協(xié)議與IPv6協(xié)議的不同并不意味著需要單獨(dú)應(yīng)用IPv4 DNS體系和IPv6 DNS體系,相反,它們的DNS體系和域名空間必須保持一致,即IPv4和IPv6共同擁有統(tǒng)一的域名空間。在IPv4到IPv6的過(guò)渡階段,域名可以同時(shí)對(duì)應(yīng)于多個(gè)IPv4和IPv6的地址。隨著IPv6網(wǎng)絡(luò)的普及,IPv6地址將逐漸取代IPv4地址。

  圖1的最上方是DNS樹(shù)形結(jié)構(gòu)中惟一的根(Root),用點(diǎn)號(hào)“.”表示。根的下一級(jí)稱(chēng)為頂級(jí)域(Top Level Domain, 簡(jiǎn)稱(chēng)TLD),也稱(chēng)一級(jí)域。頂級(jí)域的下級(jí)就是二級(jí)域(Second Level Domain, 簡(jiǎn)稱(chēng)SLD),二級(jí)域的下級(jí)就是三級(jí)域,依此類(lèi)推。每個(gè)域都是其上級(jí)域的子域(Sub Domain),比如 “.net.cn”是“.cn”的子域,而“cnnic.net.cn”既是“net.cn”的子域,也是“.cn”的子域。

  DNS樹(shù)上的每一個(gè)節(jié)點(diǎn)都有一個(gè)標(biāo)識(shí)(Label),根節(jié)點(diǎn)的標(biāo)識(shí)是“空”(即長(zhǎng)度為0),其他節(jié)點(diǎn)的標(biāo)識(shí)長(zhǎng)度在1~63字節(jié)之間。一個(gè)節(jié)點(diǎn)的域名是由從這個(gè)節(jié)點(diǎn)到根節(jié)點(diǎn)的路徑上的所有標(biāo)識(shí)從左到右順序排列組成的,標(biāo)識(shí)之間用“.”分隔。例如http://www.ccw.net.cn/

  圖 DNS域名空間的樹(shù)型結(jié)構(gòu)

  整個(gè)DNS域名空間劃分成若干個(gè)區(qū)(Zone),見(jiàn)上圖中的橢圓標(biāo)記。每個(gè)區(qū)都有域名服務(wù)器(包括主服務(wù)器和輔服務(wù)器),以資源記錄(Resource Record)的形式來(lái)存儲(chǔ)域名信息。資源記錄包括了主機(jī)名(域名)和IP地址的對(duì)應(yīng)以及子域服務(wù)器的授權(quán)等多種類(lèi)型。 用戶(hù)在使用DNS服務(wù)時(shí),不必細(xì)致地了解DNS域名空間的樹(shù)型結(jié)構(gòu)體系,只須在設(shè)置網(wǎng)絡(luò)時(shí)指定一個(gè)DNS服務(wù)器或使用動(dòng)態(tài)主機(jī)配置(DHCP)等相關(guān)技術(shù)。用戶(hù)的應(yīng)用程序可以通過(guò)操作系統(tǒng)內(nèi)嵌的解析器(Resolver)訪問(wèn)DNS系統(tǒng),查詢(xún)域名相關(guān)的網(wǎng)絡(luò)資源信息。

  三. IPv6地址及其表示方法

  IPv6地址長(zhǎng)度為128比特,地址按照其傳輸類(lèi)型分為3種:

  (1) 單播地址(Unicast Address):用來(lái)標(biāo)識(shí)單一網(wǎng)絡(luò)接口。目標(biāo)地址是單播地址的數(shù)據(jù)包將發(fā)送給以這個(gè)地址為標(biāo)識(shí)的網(wǎng)絡(luò)接口。

 。2) 任播地址(Anycast Address):用來(lái)標(biāo)識(shí)一組網(wǎng)絡(luò)接口(通常屬于不同的節(jié)點(diǎn))。目標(biāo)地址是任播地址的數(shù)據(jù)包發(fā)送給其中路由意義上最近的一個(gè)網(wǎng)絡(luò)接口的地址。

 。3) 多播地址(Multicast Address):用來(lái)標(biāo)識(shí)一組網(wǎng)絡(luò)接口(通常屬于不同的節(jié)點(diǎn))。發(fā)送到多播地址的數(shù)據(jù)包將發(fā)送給本組中所有的網(wǎng)絡(luò)接口。在IPv6中沒(méi)有廣播地址(Broadcast Address),用多播地址取代。 其中,單播地址按照地址的傳輸范圍分為可聚合全局單播地址(Aggregatable Global Unicast Addresses)、NSAP地址、IPX層次地址、站點(diǎn)本地地址(Site-Local Address)和鏈路本地地址(link-Local Address)等。所有的網(wǎng)絡(luò)接口至少要有一個(gè)鏈路本地地址,同時(shí)還可以擁有多個(gè)地址(包括單播地址,任播地址和多播地址)。

  IPv6的地址在表示和書(shū)寫(xiě)時(shí),用冒號(hào)將128比特分割成8個(gè)16比特的部分,每個(gè)部分包括4位的16進(jìn)制數(shù)字。例如:

   1080:0000:0000:0000:0008:0800:200C:123A

  在每個(gè)4位一組的十六進(jìn)制數(shù)中,如其高位為0,則可省略。例如將0800寫(xiě)成800,0008寫(xiě)成8,0000寫(xiě)成0。于是1080:0000:0000:0000:0008:0800:200C:123A可縮寫(xiě)成1080:0:0:0:8:800:200C:123A。為了進(jìn)一步簡(jiǎn)化,規(guī)范中導(dǎo)入了重疊冒號(hào)的規(guī)則,即用重疊冒號(hào)置換地址中的連續(xù)16比特的0。例如,將上例中的連續(xù)3個(gè)0置換后,可以表示成如下的縮寫(xiě)形式: 1080::8:800:200C:123A。重疊冒號(hào)的規(guī)則在一個(gè)地址中只能使用一次,例如:地址0:0:0:BA98:7654:0:0:0可縮寫(xiě)成::BA98:7654:0:0:0或0:0:0:BA98:7654::,但不能記成::BA98:7654::。

  另外,可以用“IPv6地址/前綴長(zhǎng)度”來(lái)表示地址前綴。這個(gè)表示方法類(lèi)似于CIDR中IPv4的地址前綴表示法。這里IPv6地址是上述任一種表示法所表示的IPv6地址,前綴長(zhǎng)度是一個(gè)十進(jìn)制值,指定該地址中最左邊的用于組成前綴的比特?cái)?shù)。例如,對(duì)32比特的前綴10800000(十六進(jìn)制),可以如下表示:

  1080::8:800:200C:123A/32

  1080::/32

四、DNS對(duì)IPv6地址層次性的支持

  IPv6可聚合全局單播地址是在全局范圍內(nèi)使用的地址,必須進(jìn)行層次劃分及地址聚合。它的層次結(jié)構(gòu)如下表所示:

  其中:

  FP(001):用于可聚合全局單播地址的格式前綴(FP:Format Prefix)(3比特);

  TLA ID:頂級(jí)聚合標(biāo)識(shí)符(Top-Level Aggregation Identifier);

  RES:為將來(lái)使用而保留;

  NLA ID:次級(jí)聚合標(biāo)識(shí)符(Next-Level Aggregation Identifier);

  SLA ID:站點(diǎn)級(jí)聚合標(biāo)識(shí)符(Site-Level Aggregation Identifier);

  INTERFACE ID:接口標(biāo)識(shí)符。

  IPv6全局單播地址的分配方式如下:頂級(jí)地址聚合機(jī)構(gòu)TLA(即大的ISP或地址管理機(jī)構(gòu))獲得大塊地址,負(fù)責(zé)給次級(jí)地址聚合機(jī)構(gòu)NLA(中小規(guī)模ISP)分配地址,NLA給站點(diǎn)級(jí)地址聚合機(jī)構(gòu)SLA(子網(wǎng))和網(wǎng)絡(luò)用戶(hù)分配地址。IPv6地址的層次性在DNS中通過(guò)地址鏈技術(shù)可以得到很好的支持。下面從DNS正向地址解析和反向地址解析兩方面進(jìn)行分析。

  1.正向解析

  IPv4的地址正向解析的資源記錄是“A”記錄。IPv6地址的正向解析目前有兩種資源記錄,即,“AAAA”和“A6”記錄。其中,“AAAA”較早提出,它是對(duì)“A”記錄的簡(jiǎn)單擴(kuò)展。由于IP地址由32位擴(kuò)展到128位,擴(kuò)大了4倍,所以資源記錄由“A”擴(kuò)大成4個(gè)“A”。“AAAA”用來(lái)表示域名和IPv6地址的對(duì)應(yīng)關(guān)系,并不支持地址的層次性。

  “A6”在RFC2874中提出,它是把一個(gè)IPv6地址與多個(gè)“A6”記錄建立聯(lián)系,每個(gè)“A6”記錄都只包含了IPv6地址的一部分,結(jié)合后拼裝成一個(gè)完整的IPv6地址!癆6”記錄支持一些“AAAA”所不具備的新特性,如地址聚合、地址更改(Renumber)等。

  首先,“A6”記錄方式根據(jù)TLA、NLA和SLA的分配層次把128位的IPv6的地址分解成為若干級(jí)的地址前綴和地址后綴,構(gòu)成了一個(gè)地址鏈。每個(gè)地址前綴和地址后綴都是地址鏈上的一環(huán),一個(gè)完整的地址鏈組成一個(gè)IPv6地址。這種思想符合IPv6地址的層次結(jié)構(gòu),從而支持地址聚合。

  其次,用戶(hù)在改變ISP時(shí),要隨ISP的改變而改變其擁有的IPv6地址。如果手工修改用戶(hù)子網(wǎng)中所有在DNS中注冊(cè)的地址,是一件非常煩瑣的事情。而在用“A6”記錄表示的地址鏈中,只要改變地址前綴對(duì)應(yīng)的ISP名字即可,這樣大大減少了DNS中資源記錄的修改,并且在地址分配層次中越靠近底層,所需要改動(dòng)的越少。

  2. 反向解析

  IPv6反向解析的記錄和IPv4一樣,是“PTR”,但地址表示形式有兩種。一種是用 “.”分隔的半字節(jié)16進(jìn)制數(shù)字格式(Nibble Format),低位地址在前,高位地址在后,域后綴是“IP6.INT.”。另一種是二進(jìn)制串(Bit-string)格式,以“/[”開(kāi)頭,16進(jìn)制地址(無(wú)分隔符,高位在前,低位在后)居中,地址后加“]”,域后綴是“IP6.ARPA.”。半字節(jié)16進(jìn)制數(shù)字格式與“AAAA”對(duì)應(yīng),是對(duì)IPv4的簡(jiǎn)單擴(kuò)展。二進(jìn)制串格式與“A6”記錄對(duì)應(yīng),地址也象“A6”一樣,可以分成多級(jí)地址鏈表示,每一級(jí)的授權(quán)用“DNAME”記錄。和“A6”一樣,二進(jìn)制串格式也支持地址層次特性。

  五、IPv6中的即插即用與DNS

  IPv6協(xié)議支持地址自動(dòng)配置,這是一種即插即用的機(jī)制。IPv6支持無(wú)狀態(tài)地址自動(dòng)配置和有狀態(tài)地址自動(dòng)配置兩種方式。

  在無(wú)狀態(tài)地址自動(dòng)配置方式下,需要配置地址的網(wǎng)絡(luò)接口先使用鄰居發(fā)現(xiàn)機(jī)制獲得一個(gè)鏈路本地地址。網(wǎng)絡(luò)接口得到這個(gè)鏈路本地地址之后,再接受路由器宣告的地址前綴,結(jié)合接口標(biāo)識(shí)得到一個(gè)全局地址。而有狀態(tài)地址自動(dòng)配置的方式,如DHCP(動(dòng)態(tài)主機(jī)配置協(xié)議),需要一個(gè)DHCP服務(wù)器,通過(guò)客戶(hù)機(jī)/服務(wù)器模式從DHCP服務(wù)器處得到地址配置的信息。

  IPv6節(jié)點(diǎn)通過(guò)地址自動(dòng)配置得到IPv6地址和網(wǎng)關(guān)地址。但是,地址自動(dòng)配置中不包括DNS服務(wù)器的自動(dòng)配置,如何自動(dòng)發(fā)現(xiàn)提供解析服務(wù)的DNS服務(wù)器也是一個(gè)需要解決的問(wèn)題。正在研究的DNS服務(wù)器的自動(dòng)發(fā)現(xiàn)的解決方法可以分為無(wú)狀態(tài)和有狀態(tài)兩類(lèi)。

  在無(wú)狀態(tài)的方式下,需要為子網(wǎng)內(nèi)部的DNS服務(wù)器配置站點(diǎn)范圍內(nèi)的任播地址。要進(jìn)行自動(dòng)配置的節(jié)點(diǎn)以該任播地址為目的地址發(fā)送服務(wù)器發(fā)現(xiàn)請(qǐng)求,詢(xún)問(wèn)DNS服務(wù)器地址、域名和搜索路徑等DNS信息。這個(gè)請(qǐng)求到達(dá)距離最近的DNS服務(wù)器,服務(wù)器根據(jù)請(qǐng)求,回答DNS服務(wù)器單播地址、域名和搜索路徑等DNS信息。節(jié)點(diǎn)根據(jù)服務(wù)器的應(yīng)答配置本機(jī)DNS信息,以后的DNS請(qǐng)求就直接用單播地址發(fā)送給DNS服務(wù)器。

  在有狀態(tài)的DNS服務(wù)器發(fā)現(xiàn)方式下,是通過(guò)類(lèi)似DHCP這樣的服務(wù)器把DNS服務(wù)器地址、域名和搜索路徑等DNS信息告訴節(jié)點(diǎn)。當(dāng)然,這樣做需要額外的服務(wù)器。

  六、 IPv6過(guò)渡階段與DNS

  在從IPv4到IPv6的過(guò)渡過(guò)程中,作為Internet基礎(chǔ)架構(gòu)的DNS服務(wù)也要支持這種網(wǎng)絡(luò)協(xié)議的升級(jí)和轉(zhuǎn)換。IPv4和IPv6的DNS記錄格式等方面有所不同,為了實(shí)現(xiàn)IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)之間的DNS查詢(xún)和響應(yīng),可以采用應(yīng)用層網(wǎng)關(guān)DNS-ALG結(jié)合NAT-PT的方法,在IPv4和IPv6網(wǎng)絡(luò)之間起到一個(gè)翻譯的作用。例如,IPv4的地址域名映射使用“A”記錄,而IPv6使用“AAAA”或“A6”記錄。那么,IPv4的節(jié)點(diǎn)發(fā)送到IPv6網(wǎng)絡(luò)的DNS查詢(xún)請(qǐng)求是“A”記錄,DNS-ALG就把“A”改寫(xiě)成“AAAA”,并發(fā)送給IPv6網(wǎng)絡(luò)中的DNS服務(wù)器。當(dāng)服務(wù)器的回答到達(dá)DNS-ALG時(shí),DNS-ALG修改回答,把“AAAA”改為“A”,把IPv6地址改成DNS-ALG地址池中的IPv4轉(zhuǎn)換地址,把這個(gè)IPv4轉(zhuǎn)換地址和IPv6地址之間的映射關(guān)系通知NAT-PT,并把這個(gè)IPv4轉(zhuǎn)換地址作為解析結(jié)果返回IPv4主機(jī)。IPv4主機(jī)就以這個(gè)IPv4轉(zhuǎn)換地址作為目的地址與實(shí)際的IPv6主機(jī)通過(guò)NAT-PT通信。示意如下圖。 對(duì)于采用雙協(xié)議棧方式的過(guò)渡方法,在DNS服務(wù)器中同時(shí)存在“A”記錄和“AAAA”(或“A6”)記錄。由于節(jié)點(diǎn)既可以處理IPv4協(xié)議,也可以處理IPv6協(xié)議,因此無(wú)需類(lèi)似DNS-ALG的轉(zhuǎn)換設(shè)備。無(wú)論DNS服務(wù)器回答“A”記錄還是“AAAA”記錄,都可以進(jìn)行通信。

  七、 總結(jié)

  隨著Internet技術(shù)的不斷發(fā)展,IPv6已經(jīng)離我們?cè)絹?lái)越近。DNS作為IPv4時(shí)代的網(wǎng)絡(luò)基礎(chǔ)服務(wù),對(duì)Internet起著重要的作用。在即將到來(lái)的IPv6時(shí)代,新的協(xié)議和功能要求DNS不再是僅僅提供傳統(tǒng)意義上的簡(jiǎn)單資源定位,而是一方面提供類(lèi)似IPv4 DNS的基礎(chǔ)功能,另一方面結(jié)合IPv6的新特性,和其他協(xié)議有機(jī)地結(jié)合在一起,提供新的功能,使網(wǎng)絡(luò)的配置、維護(hù)、使用變得更加簡(jiǎn)單方便,讓用戶(hù)感覺(jué)到新技術(shù)帶來(lái)的新體驗(yàn)。

來(lái)源:QQ中文教程網(wǎng)


微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書(shū)
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書(shū)-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書(shū)
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書(shū)》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書(shū)
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書(shū)
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

    業(yè)界最新資訊


      最新招聘信息