用于轉(zhuǎn)換網(wǎng)絡(luò)地址的系統(tǒng)和方法
【專利摘要】本發(fā)明描述了一種用于在計算機(jī)網(wǎng)絡(luò)上在IPv6地址與IPv4地址之間進(jìn)行轉(zhuǎn)換的設(shè)備和方法。例如,用于從網(wǎng)際協(xié)議版本4(IPv4)IPv4地址文字生成網(wǎng)際協(xié)議版本6(IPv6)IPv6地址的方法的一個實(shí)施例包括:通過使所述IPv4地址文字與第一域名服務(wù)器的域名相結(jié)合在第一主機(jī)處為域名查詢構(gòu)建主機(jī)名,所述第一域名服務(wù)器被配置成解釋包含所述IPv4地址文字的所述主機(jī)名以生成包括所述IPv4地址的A記錄;其中所述A記錄可用來生成合成IPv6地址,所述合成IPv6地址包括標(biāo)識網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)64服務(wù)器的第一部分和標(biāo)識與所述IPv4地址文字相關(guān)聯(lián)的IPv4主機(jī)的第二部分;以及在所述第一主機(jī)處接收所述合成IPv6地址,所述合成IPv6地址可由所述第一主機(jī)用來通過所述NAT64服務(wù)器連接到所述IPv4主機(jī)。
【專利說明】用于轉(zhuǎn)換網(wǎng)絡(luò)地址的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般地涉及數(shù)據(jù)處理系統(tǒng)領(lǐng)域。更特別地,本發(fā)明涉及一種用于轉(zhuǎn)換網(wǎng)絡(luò)地址的改進(jìn)系統(tǒng)和方法。
【背景技術(shù)】
[0002]當(dāng)前存在被稱為網(wǎng)際協(xié)議版本4 (IPv4)和網(wǎng)際協(xié)議版本6 (IPv6)的兩種形式的TCP/IP網(wǎng)絡(luò)協(xié)議。IPv6被設(shè)計成接續(xù)當(dāng)前跨越因特網(wǎng)廣泛使用的網(wǎng)際協(xié)議版本4 (IPv4)。IPv6還大大地與IPv4不相容,利用了不同的尋址空間和連接協(xié)議。因此,如圖1中所圖示的那樣,配置有IPv6接口而非IPv4接口的客戶端101或服務(wù)器102可以直接地通過IPV6網(wǎng)絡(luò)110而非IPv4網(wǎng)絡(luò)111進(jìn)行通信。類似地,配置有IPv4接口而非IPv6接口的客戶端121或服務(wù)器122可以直接地通過IPv4網(wǎng)絡(luò)111而非IPv6網(wǎng)絡(luò)110進(jìn)行通信。如所圖示的那樣,裝配有IPv4和IPv6接口的某些客戶端100和服務(wù)器(未示出)可以通過IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)進(jìn)行通信。
[0003]各種IPv6過渡機(jī)制已被指定以促進(jìn)因特網(wǎng)從其IPv4基礎(chǔ)設(shè)施向IPv6的下一代尋址系統(tǒng)的過渡。兩個這樣的過渡機(jī)制是NAT64 (網(wǎng)絡(luò)地址轉(zhuǎn)換64)和DNS64 (域名服務(wù)器64)。NAT64執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換功能以允許純IPv6(IPv6-only)主機(jī)與純IPv4 (IPv4_only)主機(jī)進(jìn)行通信。如圖1中所圖示的那樣,NAT64服務(wù)器115作用為至少一個IPv4地址的端點(diǎn)和32比特的IPv6網(wǎng)絡(luò)段。IPv6主機(jī)嵌入它希望在使用這些比特與之通信的IPv4地址,并且將其分組發(fā)送到結(jié) 果得到的地址。NAT64服務(wù)器然后在IPv6地址與IPv4地址之間創(chuàng)建NAT映射。DNS64服務(wù)器116將由典型地使IPv4地址與主機(jī)名相關(guān)聯(lián)的大多數(shù)DNS服務(wù)器所返回的“A”記錄轉(zhuǎn)換為包括合成IPv4映射的IPv6地址的“AAAA”記錄。這個合成地址指向NAT64轉(zhuǎn)換器的IPv6接口,并且這個地址的一部分對實(shí)際的IPv4地址進(jìn)行編碼(以供NAT64轉(zhuǎn)換器使用以與IPv4目的地連接)。
[0004]例如,在圖1中,IPV6客戶端101可以通過使用與IPv4服務(wù)器122相關(guān)聯(lián)的網(wǎng)絡(luò)名(例如,www.skype.com)對DNS64服務(wù)116進(jìn)行DNS查詢而與IPV4月艮務(wù)器122進(jìn)行通信。作為響應(yīng),DNS64服務(wù)將標(biāo)識NAT64服務(wù)器115的IPv4映射的IPv6地址返回給IPV6客戶端122。IPv6客戶端101然后經(jīng)由NAT64服務(wù)器115與IPv4服務(wù)器122連接。
[0005]然而,如果純IPv6客戶端具有“IPv4地址文字即,它經(jīng)由除DNS查找以外的機(jī)制接收到的IPv4地址,則上述機(jī)制失敗。作為示例,諸如Bittorrent?客戶端和Skype?客戶端之類的特定對等(P2P)客戶端可以響應(yīng)于查詢從其他客戶端接收IPv4地址文字。在這些情況下,如果它們沒有IPv4接口則客戶端不能使用IPv4地址文字。
[0006]若干方法已被提出來解決這些問題,但不管怎樣全部是不足的并且可能需要NAT64/DNS64的改變(在最低限度)和/或客戶端操作系統(tǒng)網(wǎng)絡(luò)棧的改變。例如,若干提
Analysis of Solution Proposals for Hosts to Learn NAT64 Prefix, BehaviorEngineering for Hindrance Avoidance (BEHAVE) (2010 年 10 月 17 日)中被描述。在這個文檔的4.3部分中描述的一個提議是與本專利申請?zhí)貏e相關(guān)的。這個部分描述了具有IPv4文字的IPv6主機(jī)可以如何發(fā)送DNS查詢以得到眾所周知的純IPv4完全限定域名(FQDN)的AAAA記錄。如果主機(jī)接收到否定答復(fù),則在網(wǎng)絡(luò)上不存在DNS64或NAT64服務(wù)。如果主機(jī)接收到答復(fù),則網(wǎng)絡(luò)必須正在利用IPv6地址合成。在接收到合成的AAAA資源記錄之后,主機(jī)檢查所接收到的IPv6地址并且試圖譯解由NAT64和DNS64所使用的網(wǎng)絡(luò)特定前綴(NSP)(例如,通過從合成的IPv6地址“減去”已知的IPv4地址)。一旦NSP是已知的,主機(jī)就可以使用其IPv4地址來合成它自己的IPv6地址。
[0007]然而,因為各種不同的編碼技術(shù)可以被用來將IPv4地址嵌入在IPv6地址內(nèi),所以“減去”IPv4地址以確定NSP也許不總是可能的。因此,對于某些客戶端和/或服務(wù)器來說需要附加的技術(shù)將IPv4文字轉(zhuǎn)換為IPv6地址。
【發(fā)明內(nèi)容】
[0008]描述了用于在計算機(jī)網(wǎng)絡(luò)上在IPv6地址與IPv4地址之間進(jìn)行轉(zhuǎn)換的設(shè)備和方法。例如,用于從網(wǎng)際協(xié)議版本4 (IPv4) IPv4地址文字生成網(wǎng)際協(xié)議版本6 (IPv6) IPv6地址的方法的一個實(shí)施例包括:通過使IPv4地址文字與第一域名服務(wù)器的域名相結(jié)合在第一主機(jī)處為域名查詢構(gòu)建主機(jī)名,所述第一域名服務(wù)器被配置成解釋包含IPv4地址文字的主機(jī)名以生成包括IPv4地址的A記錄;其中所述A記錄可用來生成合成IPv6地址,所述合成IPv6地址包括標(biāo)識網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT) 64服務(wù)器的第一部分和標(biāo)識與IPv4地址文字相關(guān)聯(lián)的IPv4主機(jī)的第二部分;以及在第一主機(jī)處接收合成IPv6地址,所述合成IPv6地址可由第一主機(jī)用來通過NAT64服務(wù)器連接到IPv4主機(jī)。
【專利附圖】
【附圖說明】
[0009]能夠從與下圖相結(jié)合的以下具體描述獲得對本發(fā)明的更好理解,在以下圖中:
圖1圖示了包括NAT64服務(wù)和DNS64服務(wù)的現(xiàn)有技術(shù)網(wǎng)絡(luò)架構(gòu)。
[0010]圖2圖示了根據(jù)本發(fā)明的一個實(shí)施例的系統(tǒng)架構(gòu)。
[0011]圖3圖示了用于確定合成IPv6地址編碼方案并且使用該編碼方案來生成合成IPv6地址的軟件架構(gòu)。
[0012]圖4圖示了用于檢測主機(jī)是否在DNS64/NAT64環(huán)境中的方法的一個實(shí)施例。
[0013]圖5圖示了用于使用IPv4文字地址來生成合成IPv6地址的方法的一個實(shí)施例。
[0014]圖6圖示了用于分析多個DNS響應(yīng)以確定NAT64地址的方法的一個實(shí)施例。
[0015]圖7圖示了根據(jù)本發(fā)明的一個實(shí)施例的示例性主機(jī)的系統(tǒng)架構(gòu)。
【具體實(shí)施方式】
[0016]在以下描述中,出于說明的目的,許多特定細(xì)節(jié)被闡述以便提供對在下面所描述的本發(fā)明的實(shí)施例的徹底理解。然而,對于本領(lǐng)域的技術(shù)人員而言將顯而易見的是,可以在沒有這些特定細(xì)節(jié)中的一些的情況下實(shí)踐本發(fā)明的實(shí)施例。在其他實(shí)例中,眾所周知的結(jié)構(gòu)和裝置被以框圖形式示出以避免混淆本發(fā)明的實(shí)施例的基本原理。
[0017]本發(fā)明的一個實(shí)施例通過與由應(yīng)用提供商(或其他第三方)所操作的專用DNS轉(zhuǎn)換服務(wù)器相結(jié)合地使用特別精心制作的DNS查詢以允許NAT64/DNS64作為其他應(yīng)用功能的結(jié)果而提供針對可能在手邊的任何IPv4文字地址的合成映射來解決上面所討論的限制。例如,在對等(P2P)實(shí)施方式中,可以響應(yīng)于來自P2P網(wǎng)絡(luò)上的其他客戶端或服務(wù)器的查詢返回這些文字地址。然而,應(yīng)該注意的是,本發(fā)明的基本原理不限于P2P實(shí)施方式。
[0018]在圖2中所圖示的一個實(shí)施例中,當(dāng)IPv4地址文字在手邊時,在客戶端200上執(zhí)行的IPv4文字地址處理模塊204構(gòu)建請求與〈IPv4地址 >.< 服務(wù)器名 >.< 應(yīng)用提供商 > 相關(guān)聯(lián)的AAAA (IPv6地址)記錄的DNS查詢,其中〈IPv4地址 > 是IPv4文字而〈服務(wù)器名>.〈應(yīng)用提供商〉標(biāo)識DNS轉(zhuǎn)換服務(wù)器201。作為示例,如果IPv4地址文字是172.16.254.1并且DNS轉(zhuǎn)換服務(wù)器201是nat64_discovery.example, com,則DNS查詢將是對172.16.254.1.nat64_ discovery, example, com。在這個實(shí)施例中,對“nat64_discovery.example, com”負(fù)責(zé)的DNS轉(zhuǎn)換服務(wù)器201是對于任何查詢“w.x.y.z.nat64-discovery.example, com”返回A (IPv4地址)記錄“w.x.y.z”的專用服務(wù)器。因此,在上述示例中它將返回 “172.16.254.1”。
[0019]在操作中,查詢172.16.254.1.nat64_discovery.example, com 最初被查詢專用DSN轉(zhuǎn)換服務(wù)器201的DNS64服務(wù)器202接收到。DNS轉(zhuǎn)換服務(wù)器201用A記錄172.16.254.1來響應(yīng),DNS64服務(wù)器使用所述A記錄172.16.254.1來構(gòu)建合成IPv6地址(AAAA記錄),它然后將所述合成IPv6地址返回給客戶端200上的IPv4文字地址處理邏輯204??蛻舳?00然后可以通過NAT64裝置115 ( S卩,由經(jīng)合成的IPv6地址來標(biāo)識)打開到由IPv4地址172.16.254.1所標(biāo)識的遠(yuǎn)程客戶端220-221或服務(wù)器222的連接。
[0020]可以以各種方式實(shí)現(xiàn)IPv4文字地址處理模塊204同時仍然符合本發(fā)明的基本原理。例如,在一個實(shí)施例中,IPv4文字地址處理模塊204包括較大的對等(P2P)應(yīng)用程序(例如,諸如Bittorrent客戶端或Skype客戶端)或其他類型的應(yīng)用的組件。替換地,或者此外,IPv4文字地址處理模塊204可以被作為在客戶端200上執(zhí)行的操作系統(tǒng)的組件(例如,作為配備有操作系統(tǒng)的網(wǎng)絡(luò)棧的部分)提供。然而,應(yīng)該注意的是,本發(fā)明的基本原理不限于IPv4文字地址處理模塊204的任何特定實(shí)施方式。
[0021]注意,如果沒有NAT64/DNS64存在則由IPv4文字地址處理模塊204所生成的查詢可能導(dǎo)致失敗。因此,如果失敗被檢測到(或者如果指定數(shù)目的失敗被檢測到),則可以不進(jìn)行進(jìn)一步的嘗試。可以設(shè)置記錄下NAT64/DNS64不存在并且IPv4文字地址當(dāng)前不能夠被使用(假定沒有IPv4接口可用)的標(biāo)志。
[0022]如在本發(fā)明的【背景技術(shù)】部分中所討論的那樣,試圖提取由單個查詢產(chǎn)生的合成的IPv6前綴是不夠的,因為不能夠基于單個響應(yīng)確定確切的映射方案。例如,映射方案可能不是線性的(在這種情況下簡單的逐位替代將不管用)和/或多個NAT64裝置可以在使用中,同時實(shí)行負(fù)荷平衡和/或其他技術(shù)的DNS64可以在使用中以優(yōu)化哪一個NAT64被選擇用于給定IPv4目的地。
[0023]然而,也許可以通過啟發(fā)式地分析對IPv4文字地址查詢的多個響應(yīng)來譯解映射方案。因此,在圖3中所圖示的本發(fā)明的一個實(shí)施例中,IPv4文字地址處理模塊204對于在手邊的所有IPv4文字地址(或其子集)執(zhí)行如上所述的查詢,并且接收所對應(yīng)的合成地生成的IPv6地址。然后,在一個實(shí)施例中,網(wǎng)絡(luò)特定前綴(NSP)分析模塊205分析各查詢的結(jié)果以試圖確定正被DNS64/NAT64系統(tǒng)所使用的IPv6編碼方案。例如,如果IPv4地址被簡單地嵌入在IPv6地址的特定32比特字段(例如,上部/下部32個比特)內(nèi),則NSP分析模塊205可以通過執(zhí)行IPv4文字與結(jié)果得到的合成IPv6地址之間的相互關(guān)系來標(biāo)識編碼方案。一旦編碼方案被確定,在客戶端200上執(zhí)行的合成IPv6地址生成器206就可以使用任何IPv4文字合成地生成IPv6地址(至少只要客戶端是在相同的DNS64/NAT64環(huán)境內(nèi))。更先進(jìn)的處理技術(shù)可以被采用來從IPv6地址“減去”已知的IPv4地址以得出合成 IPv6 編碼方案(例如,諸如在of Solution Proposals for Hosts to Learn
NAT64 Prefix, Behavior Engineering for Hindrance Avoidance (BEHAVE) (2010年 10月17日)中所描述的那樣)。
[0024]用于確定主機(jī)是否在DNS64/NAT64環(huán)境內(nèi)的方法的一個實(shí)施例在圖4中被圖示。在401處,主機(jī)連接到IPv6網(wǎng)絡(luò)并且在402處,主機(jī)使用已知具有IPv4地址而非IPv6地址的網(wǎng)絡(luò)名來生成測試查詢。例如,在一個實(shí)施例中,測試查詢可以采取如上所述的〈IPv4地址 >.< 服務(wù)器名 >.< 應(yīng)用提供商 > 的形式。當(dāng)然,可以使用各種其他已知的IPv4主機(jī)名同時仍然符合本發(fā)明的基本原理。如果在403處確定對測試查詢的響應(yīng)被接收、確定,則在404處,主機(jī)是在DNS64/NAT64環(huán)境中的確定被做出。主機(jī)然后可以試圖確定如上所述的NSP映射方案。如果無響應(yīng)被接收到,則在405處做出主機(jī)不在DNS64/NAT64環(huán)境中的確定。
[0025]圖5圖示了用于使用IPv4文字地址通過IPv6網(wǎng)絡(luò)連接到純IPv4主機(jī)的方法的一個實(shí)施例。這個方法的某些方面在上面相對于圖2中所示出的系統(tǒng)架構(gòu)被描述了。然而,本發(fā)明的這個實(shí)施例的基本原理不限于任何特定系統(tǒng)架構(gòu)。
[0026]在501處,導(dǎo)致一個或多個IPv4文字地址的查詢被生成。作為示例,P2P客戶端(例如,Bittorrent或Skype客戶端)可以響應(yīng)于查詢接收到一個或多個IPv4文字。在502處,IPv4文字地址使用預(yù)先指定的編碼方案而被轉(zhuǎn)換成網(wǎng)絡(luò)名。返回到前一個示例,網(wǎng)絡(luò)名可以采取形式〈IPv4地址 >.< 服務(wù)器名 >.< 應(yīng)用提供商 >,其中〈IPv4地址 > 是IPv4文字地址而〈服務(wù)器名 >.< 應(yīng)用提供商 > 標(biāo)識專用DNS轉(zhuǎn)換服務(wù)器。在503處,使用所述網(wǎng)絡(luò)名發(fā)出AAAA查詢,并且在504處,DNS64將該查詢轉(zhuǎn)發(fā)到DNS轉(zhuǎn)換服務(wù)器(例如,在一個實(shí)施例中由〈服務(wù)器名 >.< 應(yīng)用提供商 > 來標(biāo)識)。在505處,DNS轉(zhuǎn)換服務(wù)器響應(yīng)于該查詢(例如,在一個實(shí)施例中〈IPv4地址 >)生成A記錄,并且在506處,DNS64使用A記錄來合成IPv6地址。在507處,IPv6地址被傳送到請求主機(jī),并且在508處,主機(jī)使用經(jīng)合成的IPv6地址來打開通過NAT64到IPv4主機(jī)的連接。
[0027]圖6圖示了用于使用IPv4文字來檢測用于合成IPv6地址的IPv6編碼方案的方法的一個實(shí)施例。這個方法的某些方面在上面相對于圖3中所示出的系統(tǒng)架構(gòu)被描述了。然而,本發(fā)明的這個實(shí)施例的基本原理不限于任何特定系統(tǒng)架構(gòu)。
[0028]在601處使用已知具有IPv4地址而非IPv6地址的主機(jī)的網(wǎng)絡(luò)名生成多個測試DNS查詢。在一個實(shí)施例中,例如,應(yīng)用提供商(即,提供客戶端軟件的實(shí)體)提供滿足這個要求的多個已知網(wǎng)絡(luò)名(例如,testl.nat64-discovery.example, com、test2.nat64-discovery.example, com等)。替換地,可以使用各種眾所周知的公共主機(jī)名。在602處,對各查詢的響應(yīng)被以標(biāo)識特定NAT64或一組NAT64裝置的合成地生成的IPv6地址的形式接收。在603處,響應(yīng)被分析以確定用來生成合成IPv6地址的編碼方案。作為示例,每個IPv6地址可以簡單地用IPv6地址的指定的32比特字段對IPv4地址進(jìn)行編碼,而余下的IPv6地址可以被用來標(biāo)識NAT64服務(wù)器。替換地,每個主機(jī)名可以在NAT64映射中分配隨機(jī)或順序?qū)ぶ凡?。在這樣一種情況下,確定IPv6編碼方案可能是困難的(或不可能的)。假定某種形式的啟發(fā)分析能夠被用來確定編碼方案(例如,通過從IPv6地址“減去”已知的IPv4地址)然后,一旦被確定了,在604處,主機(jī)就可以使用任何IPv4文字合成地生成IPv6地址(例如,作為P2P應(yīng)用或其他應(yīng)用類型的部分)。
[0029]在一個實(shí)施例中,不是如上面所描述的那樣將查詢從DNS64服務(wù)器202傳送到IPv4 DNS轉(zhuǎn)換器201,而是DNS64服務(wù)器202本身可以包括從測試查詢中提取IPv4地址所需要的邏輯。返回到前一個示例,如果測試查詢采取形式〈IPv4地址 >.< 服務(wù)器名 >.< 應(yīng)用提供商 >,其中〈IPv4地址 > 是IPv4文字而〈服務(wù)器名 >.< 應(yīng)用提供商 > 標(biāo)識DNS轉(zhuǎn)換服務(wù)器201,則DNS64服務(wù)器可以被配置有這個映射方案的知識,并且可以假裝為轉(zhuǎn)換服務(wù)器201而不實(shí)際地進(jìn)行查詢,從而減少DNS64服務(wù)器202和DNS轉(zhuǎn)換器服務(wù)器201上的總體負(fù)荷。各種附加的修改被設(shè)想成在本發(fā)明的基本原理的范圍內(nèi)。
[0030]能夠在各種不同的數(shù)據(jù)處理裝置上實(shí)現(xiàn)本文中所描述的方法中的任何一個,所述不同的數(shù)據(jù)處理裝置包括通用計算機(jī)系統(tǒng)、專用計算機(jī)系統(tǒng)以及移動計算裝置。例如,可以執(zhí)行本文中所描述的方法的數(shù)據(jù)處理系統(tǒng)可以包括臺式計算機(jī)、膝上型計算機(jī)、平板計算機(jī)、智能電話、蜂窩電話、個人數(shù)字助理(PDA)、嵌入式電子裝置或任何形式的消費(fèi)電子裝置。圖7示出了可以與本發(fā)明一起使用的典型數(shù)據(jù)處理系統(tǒng)的一個示例。注意,雖然圖7圖示了諸如計算機(jī)系統(tǒng)之類的數(shù)據(jù)處理系統(tǒng)的各種組件,但是它不旨在表示互連組件的任何特定架構(gòu)或方式,同樣地細(xì)節(jié)不與本發(fā)明有密切關(guān)系。還將了解的是,還可以與本發(fā)明一起使用具有比圖7所示出的更少組件或者更多組件的其他類型的數(shù)據(jù)處理系統(tǒng)。圖7的數(shù)據(jù)處理系統(tǒng)可以為Macintosh計算機(jī)或PC計算機(jī)。如圖7中所示,數(shù)據(jù)處理系統(tǒng)701包括用來互連該系統(tǒng)的各種組件的一個或多個總線709。一個或多個處理器703被耦接到如本領(lǐng)域中已知的一個或多個總線709。存儲器705可以為DRAM或非易失性RAM,或者可以為閃速存儲器或其他類型的存儲器。這個存儲器使用本領(lǐng)域中已知的技術(shù)而被耦接到一個或多個總線709。數(shù)據(jù)處理系統(tǒng)701還能夠包括非易失性存儲器707,所述非易失性存儲器707可以為硬盤驅(qū)動器或閃速存儲器或磁光驅(qū)動器或磁存儲器或光驅(qū)或即使在電力被從系統(tǒng)移除之后也維持?jǐn)?shù)據(jù)的其他類型的存儲器系統(tǒng)。非易失性存儲器707和存儲器705使用已知接口和連接技術(shù)而被全部耦接到一個或多個總線709。顯示控制器711被耦接到一個或多個總線709以便接收待在顯示裝置713上顯示的顯示數(shù)據(jù),所述顯示裝置713能夠顯示本文中所描述的用戶接口特征或?qū)嵤├械娜魏我粋€。顯示裝置713能夠包括用來提供觸摸屏的集成觸摸輸入。數(shù)據(jù)處理系統(tǒng)701還能夠包括為一個或多個輸入/輸出(I/O)裝置提供接口的一個或多個I/O控制器715,所述一個或多個I/O裝置諸如一個或多個鼠標(biāo)、觸摸屏、觸摸板、游戲桿以及包括本領(lǐng)域中已知的那些的其他輸入裝置和輸出裝置(例如揚(yáng)聲器)。輸入/輸出裝置717通過如本領(lǐng)域中已知的一個或多個I/O控制器715而被耦接。雖然圖7示出了非易失性存儲器707和存儲器705被直接地而不是通過網(wǎng)絡(luò)接口耦接到一個或多個總線,但將了解的是,數(shù)據(jù)處理系統(tǒng)可以利用遠(yuǎn)離本系統(tǒng)的非易失性存儲器,諸如通過諸如調(diào)制解調(diào)器或以太網(wǎng)接口或無線接口之類的網(wǎng)絡(luò)接口而被耦接到數(shù)據(jù)處理系統(tǒng)系統(tǒng)的網(wǎng)絡(luò)存儲裝置,所述無線接口諸如無線WiFi收發(fā)器或無線蜂窩電話收發(fā)器或此類收發(fā)器的組合。如本領(lǐng)域中所知道的那樣,一個或多個總線709可以包括用來在各種總線之間互連的一個或多個橋接器或控制器或適配器。在一個實(shí)施例中,I/O控制器715包括用于控制USB外圍設(shè)備的USB適配器,并且能夠控制以太網(wǎng)端口或無線收發(fā)器或無線收發(fā)器的組合。從本描述將顯而易見的是,可以至少部分地用軟件來體現(xiàn)本發(fā)明的各方面。也就是說,可以響應(yīng)于其處理器執(zhí)行在諸如存儲器705或非易失性存儲器707或此類存儲器的組合之類的有形的、非暫時性存儲器中包含的一系列指令在數(shù)據(jù)處理系統(tǒng)中執(zhí)行本文中所描述的技術(shù)和方法,并且這些存儲器中的每一個都是一種機(jī)器可讀有形存儲介質(zhì)的形式。在各種實(shí)施例中,硬連線電路可以與軟件指令相結(jié)合地使用以實(shí)現(xiàn)本發(fā)明。因此技術(shù)不限于硬件電路和軟件的任何特定組合,也不限于用于由數(shù)據(jù)處理系統(tǒng)所執(zhí)行的指令的任何特定源。
[0031]在前述說明書中,已經(jīng)參考其特定示例性實(shí)施例描述了本發(fā)明。將明顯的是,在不背離如在以下權(quán)利要求中所闡述的本發(fā)明的較廣精神和范圍的情況下可以對其做出各種修改。本說明書和圖因此將被視為是說明性意義而非限制性意義。
[0032]本發(fā)明的實(shí)施例可以包括如上面所闡述的各個步驟。步驟可以用使通用或?qū)S锰幚砥鲌?zhí)行特定步驟的機(jī)器可執(zhí)行指令來體現(xiàn)。替換地,這些步驟可以通過包含用于執(zhí)行步驟的硬連線邏輯的特定硬件組件或者通過編程計算機(jī)組件和定制硬件組件的任何組合來執(zhí)行。本發(fā)明的元件還可以被作為機(jī)器可讀介質(zhì)提供以用于存儲機(jī)器可執(zhí)行程序代碼。機(jī)器可讀介質(zhì)可以包括但不限于軟盤、光盤、CD-ROM以及磁光盤、ROM、RAM、EPROM、EEPR0M、磁或光卡或適于存儲電子程序代碼的其他類型的媒體/機(jī)器可讀介質(zhì)。
[0033]遍及前述描述,出于說明的目的,許多特定細(xì)節(jié)被闡述以便提供對本發(fā)明的徹底理解。然而,對于本領(lǐng)域的技術(shù)人員而言將顯而易見的是,可以在沒有這些特定細(xì)節(jié)中的一些的情況下實(shí)踐本發(fā)明。例如,對于本領(lǐng)域的技術(shù)人員而言將容易顯而易見的是,本文中所描述的功能模塊和方法可以被實(shí)現(xiàn)為軟件、硬件或其任何組合。此外,盡管在本文中在客戶端P2P應(yīng)用的上下文中對本發(fā)明的一些實(shí)施例進(jìn)行了描述,但是可以以服務(wù)器應(yīng)用或任何其他形式的客戶端應(yīng)用的形式實(shí)現(xiàn)本發(fā)明的基本原理。因此,應(yīng)該根據(jù)以下權(quán)利要求來判斷本發(fā)明的范圍和精神。
【權(quán)利要求】
1.一種用于從網(wǎng)際協(xié)議版本4 (IPv4) IPv4地址文字生成網(wǎng)際協(xié)議版本6 (IPv6)IPv6地址的計算機(jī)實(shí)現(xiàn)的方法,其包括: 通過使所述IPv4地址文字與第一域名服務(wù)器的域名相結(jié)合在第一主機(jī)處為域名查詢構(gòu)建主機(jī)名,所述第一域名服務(wù)器被配置成解釋包含所述IPv4地址文字的所述主機(jī)名以生成包括所述IPv4地址的A記錄; 其中所述A記錄可用來生成合成IPv6地址,所述合成IPv6地址包括標(biāo)識網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT) 64服務(wù)器的第一部分和標(biāo)識與所述IPv4地址文字相關(guān)聯(lián)的IPv4主機(jī)的第二部分;以及 在所述第一主機(jī)處接收所述合成IPv6地址,所述合成IPv6地址可由所述第一主機(jī)用來通過所述NAT64服務(wù)器連接到所述IPv4主機(jī)。
2.如權(quán)利要求1中所述的方法,其中,構(gòu)建所述主機(jī)名包括將所述IPv4地址文字附加到能夠?qū)⑺鶚?gòu)建的主機(jī)名轉(zhuǎn)換為具有所述IPv4地址的A記錄響應(yīng)的專用域名服務(wù)器的域名。
3.如權(quán)利要求1中所述的方法,其中,所述合成IPv6地址由執(zhí)行以下操作的第二域名服務(wù)器來生成: 查詢由所述構(gòu)建的域名所標(biāo)識的所述第一域名服務(wù)器以檢索所述A記錄; 使所述A記錄與已知NAT64服務(wù)器的地址相結(jié)合以形成所述合成IPv6地址,所述NAT64服務(wù)器可用于在IPv4主機(jī)與IPv6主機(jī)之間進(jìn)行轉(zhuǎn)換。
4.如權(quán)利要求3中所述的方 法,其進(jìn)一步包括: 在所述第一主機(jī)處分析多個合成地生成的IPv6地址以確定用來將所述IPv4文字編碼到合成IPv6地址中的編碼方案。
5.如權(quán)利要求4中所述的方法,其中,分析包括執(zhí)行所述合成IPv6地址與用來生成所述IPv6地址中的每一個的所述IPv4文字地址之間的相互關(guān)系以標(biāo)識所述IPv4地址如何被編碼在所述合成IPv6地址內(nèi)。
6.如權(quán)利要求4中所述的方法,其進(jìn)一步包括: 一旦所述編碼方案已被確定,就隨后在所述第一主機(jī)處生成合成IPv6地址。
7.一種用于確定用于合成IPv6地址的編碼方案的計算機(jī)實(shí)現(xiàn)的方法,其包括: 為已知具有IPv4地址而非IPv6地址的多個遠(yuǎn)程主機(jī)生成DNS查詢; 接收與所述多個DNS查詢相對應(yīng)的IPv6地址; 鑒于其對應(yīng)的已知IPv4地址來分析每個IPv6地址;以及 基于所述分析,確定用來將網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT) 64地址編碼在所述IPv6地址內(nèi)的編碼方案,所述NAT64地址標(biāo)識當(dāng)與所述遠(yuǎn)程主機(jī)中的每一個進(jìn)行通信時可用于執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換的NAT64服務(wù)器。
8.如權(quán)利要求7中所述的方法,其中,鑒于其對應(yīng)的已知IPv4地址來分析每個IPv6地址包括執(zhí)行每個IPv6地址與其關(guān)聯(lián)的IPv4地址之間的相互關(guān)系。
9.如權(quán)利要求7中所述的方法,其進(jìn)一步包括: 通過利用所確定的編碼方案用IPv4文字地址生成合成IPv6地址。
10.如權(quán)利要求9中所述的方法,其進(jìn)一步包括: 通過由所述合成IPv6地址所標(biāo)識的NAT64裝置打開與由所述IPv4文字地址所標(biāo)識的遠(yuǎn)程主機(jī)的通信連接。
11.一種用于從網(wǎng)際協(xié)議版本4 (IPv4) IPv4地址文字生成網(wǎng)際協(xié)議版本6 (IPv6)IPv6地址的計算機(jī)實(shí)現(xiàn)的系統(tǒng),所述系統(tǒng)包括用于存儲程序代碼的存儲器和用于處理所述程序代碼以執(zhí)行以下操作的處理器: 通過使所述IPv4地址文字與第一域名服務(wù)器的域名相結(jié)合在第一主機(jī)處為域名查詢構(gòu)建主機(jī)名,所述第一域名服務(wù)器被配置成解釋包含所述IPv4地址文字的所述主機(jī)名以生成包括所述IPv4地址的A記錄; 其中所述A記錄可用來生成合成IPv6地址,所述合成IPv6地址包括標(biāo)識網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)64服務(wù)器的第一部分和標(biāo)識與所述IPv4地址文字相關(guān)聯(lián)的IPv4主機(jī)的第二部分;以及 在所述第一主機(jī)處接收所述合成IPv6地址,所述合成IPv6地址可由所述第一主機(jī)用來通過所述NAT64服務(wù)器連接到所述IPv4主機(jī)。
12.如權(quán)利要求11中所述的系統(tǒng),其中,構(gòu)建所述主機(jī)名包括將所述IPv4地址文字附加到能夠?qū)⑺鶚?gòu)建的主機(jī)名轉(zhuǎn)換為具有所述IPv4地址的A記錄響應(yīng)的專用域名服務(wù)器的域名。
13.如權(quán)利要求11中所述的系統(tǒng),其中,所述合成IPv6地址由執(zhí)行以下操作的第二域名服務(wù)器來生成: 查詢由所述構(gòu)建的域名所標(biāo)識的所述第一域名服務(wù)器以檢索所述A記錄; 使所述A記錄與已知NAT64服務(wù)器的地址相結(jié)合以形成所述合成IPv6地址,所述NAT64服務(wù)器可用于在IPv4主機(jī)與IPv6主機(jī)之間進(jìn)行轉(zhuǎn)換。
14.如權(quán)利要求13中所述的系統(tǒng)`,其包括當(dāng)被所述處理器執(zhí)行時,使所述處理器執(zhí)行以下附加的操作的附加的程序代碼: 在所述第一主機(jī)處分析多個合成地生成的IPv6地址以確定用來將所述IPv4文字編碼到合成IPv6地址中的編碼方案。
15.如權(quán)利要求14中所述的系統(tǒng),其中,分析包括執(zhí)行所述合成IPv6地址與用來生成所述IPv6地址中的每一個的所述IPv4文字地址之間的相互關(guān)系以標(biāo)識所述IPv4地址如何被編碼在所述合成IPv6地址內(nèi)。
16.如權(quán)利要求14中所述的系統(tǒng),其包括當(dāng)被所述處理器執(zhí)行時,使所述處理器執(zhí)行以下附加的操作的附加的程序代碼: 一旦所述編碼方案已被確定,就隨后在所述第一主機(jī)處生成合成IPv6地址。
17.一種用于確定用于合成IPv6地址的編碼方案的計算機(jī)實(shí)現(xiàn)的系統(tǒng),所述系統(tǒng)包括用于存儲程序代碼的存儲器和用于處理所述程序代碼以執(zhí)行以下操作的處理器: 為已知具有IPv4地址而非IPv6地址的多個遠(yuǎn)程主機(jī)生成DNS查詢; 接收與所述多個DNS查詢相對應(yīng)的IPv6地址; 鑒于其對應(yīng)的已知IPv4地址來分析每個IPv6地址;以及 基于所述分析,確定用來將網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT) 64地址編碼在所述IPv6地址內(nèi)的編碼方案,所述NAT64地址標(biāo)識當(dāng)與所述遠(yuǎn)程主機(jī)中的每一個進(jìn)行通信時可用于執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換的NAT64服務(wù)器。
18.如權(quán)利要求17中所述的系統(tǒng),其中,鑒于其對應(yīng)的已知IPv4地址來分析每個IPv6地址包括執(zhí)行每個IPv6地址與其關(guān)聯(lián)的IPv4地址之間的相互關(guān)系。
19.如權(quán)利要求17中所述的系統(tǒng),其包括當(dāng)被所述處理器執(zhí)行時,使所述處理器執(zhí)行以下附加的操作的附加的程序代碼: 通過利用所述確定的編碼方案用IPv4文字地址生成合成IPv6地址。
20.如權(quán)利要求19中所述的系統(tǒng),其包括當(dāng)被所述處理器執(zhí)行時,使所述處理器執(zhí)行以下附加的操作的附加的程序代碼: 通過由所述合成IPv6地址所標(biāo)識的NAT64裝置打開與由所述IPv4文字地址所標(biāo)識的遠(yuǎn)程主機(jī)的通信連接。
21.如權(quán)利要求20中所述的系統(tǒng),其進(jìn)一步包括: 通過由所述合成IPv6地址所標(biāo)識的NAT64裝置打開與由所述IPv4文字地址所標(biāo)識的遠(yuǎn)程主機(jī)的通信連接。
22.—種機(jī)器可讀介質(zhì),其具有當(dāng)被機(jī)器執(zhí)行時使所述機(jī)器執(zhí)行以下操作的存儲在其上的程序代碼: 通過使所述IPv4地址文字與第一域名服務(wù)器的域名相結(jié)合在第一主機(jī)處為域名查詢構(gòu)建主機(jī)名,所述第一域名服務(wù)器被配置成解釋包含所述IPv4地址文字的所述主機(jī)名以生成包括所述IPv4地址 的A記錄; 其中所述A記錄可用來生成合成IPv6地址,所述合成IPv6地址包括標(biāo)識網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)64服務(wù)器的第一部分和標(biāo)識與所述IPv4地址文字相關(guān)聯(lián)的IPv4主機(jī)的第二部分;以及 在所述第一主機(jī)處接收所述合成IPv6地址,所述合成IPv6地址可由所述第一主機(jī)用來通過所述NAT64服務(wù)器連接到所述IPv4主機(jī)。
23.如權(quán)利要求22中所述的機(jī)器可讀介質(zhì),其中,構(gòu)建所述主機(jī)名包括將所述IPv4地址文字附加到能夠?qū)⑺鶚?gòu)建的主機(jī)名轉(zhuǎn)換為具有所述IPv4地址的A記錄響應(yīng)的專用域名服務(wù)器的域名。
24.如權(quán)利要求22中所述的機(jī)器可讀介質(zhì),其中,所述合成IPv6地址由執(zhí)行以下操作的第二域名服務(wù)器來生成: 查詢由所述構(gòu)建的域名所標(biāo)識的所述第一域名服務(wù)器以檢索所述A記錄; 使所述A記錄與已知NAT64服務(wù)器的地址相結(jié)合以形成所述合成IPv6地址,所述NAT64服務(wù)器可用于在IPv4主機(jī)與IPv6主機(jī)之間轉(zhuǎn)換。
25.如權(quán)利要求24中所述的機(jī)器可讀介質(zhì),其包括當(dāng)被所述機(jī)器執(zhí)行時,使所述機(jī)器執(zhí)行以下附加的操作的附加的程序代碼: 在所述第一主機(jī)處分析多個合成地生成的IPv6地址以確定用來將所述IPv4文字編碼到合成IPv6地址中的編碼方案。
26.如權(quán)利要求25中所述的機(jī)器可讀介質(zhì),其中,分析包括執(zhí)行所述合成IPv6地址與用來生成所述IPv6地址中的每一個的所述IPv4文字地址之間的相互關(guān)系以標(biāo)識所述IPv4地址如何被編碼在所述合成IPv6地址內(nèi)。
27.如權(quán)利要求25中所述的機(jī)器可讀介質(zhì),其包括當(dāng)被所述處理器執(zhí)行時,使所述處理器執(zhí)行以下附加的操作的附加的程序代碼: 一旦所述編碼方案已被確定,就隨后生成合成IPv6地址。
28.一種機(jī)器可讀介質(zhì),其具有當(dāng)被機(jī)器執(zhí)行時使所述機(jī)器執(zhí)行以下操作的存儲在其上的程序代碼: 為已知具有IPv4地址而非IPv6地址的多個遠(yuǎn)程主機(jī)生成DNS查詢; 接收與所述多個DNS查詢相對應(yīng)的IPv6地址; 鑒于其對應(yīng)的已知IPv4地址來分析每個IPv6地址;以及 基于所述分析,確定用來將網(wǎng)絡(luò)地址轉(zhuǎn)換(MT) 64地址編碼在所述IPv6地址內(nèi)的編碼方案,所述NAT64地址標(biāo)識當(dāng)與所述遠(yuǎn)程主機(jī)中的每一個進(jìn)行通信時可用于執(zhí)行網(wǎng)絡(luò)地址轉(zhuǎn)換的NAT64服務(wù)器。
29.如權(quán)利要求28中所述的機(jī)器可讀介質(zhì),其中,鑒于其對應(yīng)的已知IPv4地址來分析每個IPv6地址包括執(zhí)行每個IPv6地址與其關(guān)聯(lián)的IPv4地址之間的相互關(guān)系。
30.如權(quán)利要求28中所述的機(jī)器可讀介質(zhì),其包括當(dāng)被所述機(jī)器執(zhí)行時,使所述機(jī)器執(zhí)行以下附加的操作的附加的程序代碼: 通過利用所述確定的編碼方案用IPv4文字地址生成合成IPv6地址。
31.如權(quán)利要求30中所述的機(jī)器可讀介質(zhì),其包括當(dāng)被所述機(jī)器執(zhí)行時,使所述機(jī)器執(zhí)行以下附加的操作的附加的程序代碼: 通過由所述合成IPv6地址所標(biāo)識的NAT64裝置打開與由所述IPv4文字地址所標(biāo)識的遠(yuǎn)程主機(jī)的通信連接。`
【文檔編號】H04L29/12GK103636182SQ201280017888
【公開日】2014年3月12日 申請日期:2012年4月5日 優(yōu)先權(quán)日:2011年4月11日
【發(fā)明者】馬修·考夫曼 申請人:斯凱普公司