IPv4用戶訪問IPv6資源的通信方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信技術(shù),尤其是一種IPv4用戶訪問IPv6資源的通信方法與系統(tǒng)。
【背景技術(shù)】
[0002] 隨著第四版本互聯(lián)網(wǎng)協(xié)議(IPv4)地址緊缺的進(jìn)一步加劇,互聯(lián)網(wǎng)數(shù)據(jù)中心(IDC) 也逐漸出現(xiàn)IPv4地址欠缺的現(xiàn)象。為促進(jìn)IPv4向第六版本互聯(lián)網(wǎng)協(xié)議(IPv6)的發(fā)展,運(yùn) 營商可為互聯(lián)網(wǎng)內(nèi)容提供商(ICP)提供支持純IPv6的IDC,要求ICP提供支持IPv6的業(yè) 務(wù),同時(shí)通過協(xié)議翻譯的方法實(shí)現(xiàn)對現(xiàn)有IPv4用戶的訪問支持。
[0003] 目前,實(shí)現(xiàn)IPv4用戶訪問IPv6資源的方案有以下三種,但是在實(shí)現(xiàn)本發(fā)明的過程 中,發(fā)明人發(fā)現(xiàn)以下方式至少存在如下的相應(yīng)問題:
[0004] 第一種是IVI方式。IVI方式僅要求在IPv4用戶訪問的目的IPv6地址(即:ICP 地址中)內(nèi)嵌IPv4公有地址作為IPv4用戶訪問的目的IPv4地址,由于采用網(wǎng)絡(luò)層翻譯方 式,實(shí)現(xiàn)效率高;但其并無法節(jié)省IPv4地址消耗,因此無法緩解IDC出現(xiàn)的IPv4公有地址 欠缺狀況;
[0005] 第二種是代理(Proxy)方式。Proxy方式采用應(yīng)用層翻譯,實(shí)現(xiàn)效率低,可擴(kuò)展性 差,在網(wǎng)絡(luò)中進(jìn)行規(guī)模部署可能性較低;
[0006] 第三種是通過中繼網(wǎng)絡(luò)地址翻譯(NAT)實(shí)現(xiàn)的穿透(Traversal Using Relay NAT, TURN) IPv6方式。TURN IPv6要求ICP和IPv4用戶客戶端單元均支持TURN客戶端單元 (client)實(shí)現(xiàn)NAT穿越,無法應(yīng)用于瀏覽器/服務(wù)器(B/S)類業(yè)務(wù)。
[0007] 因此,上述三種方式均無法在滿足現(xiàn)網(wǎng)部署需求的情況下節(jié)省IPv4公有地址。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明實(shí)施例所要解決的一個(gè)技術(shù)問題是:提供一種IPv4用戶訪問IPv6資源的 通信方法與系統(tǒng),支持IPv4用戶訪問IPv6資源,且可以節(jié)省IPv4公有地址。
[0009] 本發(fā)明實(shí)施例提供的一種IPv4用戶訪問IPv6資源的通信方法,包括:
[0010] 域名解析服務(wù)DNS服務(wù)器接收IPv4用戶客戶端單元發(fā)送的IPv4地址查詢請求, 該IPv4地址查詢請求中包括請求訪問的IPv6服務(wù)器的域名信息;
[0011] DNS服務(wù)器根據(jù)所述IPv6服務(wù)器的域名信息,查詢所述IPv6服務(wù)器的域名記錄中 預(yù)先配置的協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的IPv4地址并返回所述客戶端單元;
[0012] 客戶端單元基于所述協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的IPv4地址,向所述協(xié)議轉(zhuǎn)換網(wǎng)關(guān)發(fā)送業(yè)務(wù) 訪問請求,該業(yè)務(wù)訪問請求中包括IPv6服務(wù)器的域名信息和作為所述客戶端單元使用的 IPv4地址的源IPv4地址;
[0013] 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)基于所述IPv6服務(wù)器的域名信息向DNS服務(wù)器發(fā)起IPv6地址查詢 請求,并接收DNS服務(wù)器查詢域名記錄返回的所述IPv6服務(wù)器的IPv6地址;
[0014] 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)查詢映射表中是否已建立所述源IPv4地址的映射條目;
[0015] 若映射表中已建立所述源IPv4地址的映射條目,協(xié)議轉(zhuǎn)換網(wǎng)關(guān)從預(yù)先配置的 IPv4地址池中選擇一個(gè)未被分配的IPv4地址分配給所述IPv6服務(wù)器,作為本次業(yè)務(wù)訪問 的目的IPv4地址;若映射表中未建立所述源IPv4地址的映射條目,協(xié)議轉(zhuǎn)換網(wǎng)關(guān)從所述 IPv4地址池中任意選擇一個(gè)IPv4地址分配給所述IPv6服務(wù)器,作為本次業(yè)務(wù)訪問的目的 IPv4地址;
[0016] 所述協(xié)議轉(zhuǎn)換網(wǎng)關(guān)在映射表中建立所述源IPv4地址的映射條目并向所述客戶端 單元返回重定向應(yīng)答消息,所述重定向應(yīng)答消息中包括所述目的IPv4地址;所述源IPv4地 址的映射條目包括所述源IPv4地址、目的IPv4地址、由所述源IPv4地址生成的源IPv6地 址、和作為目的IPv6地址的所述IPv6服務(wù)器的IPv6地址;
[0017] 客戶端單元基于所述目的IPv4地址重新發(fā)送業(yè)務(wù)訪問數(shù)據(jù)報(bào)文,該業(yè)務(wù)訪問數(shù) 據(jù)報(bào)文被發(fā)送至協(xié)議轉(zhuǎn)換網(wǎng)關(guān),該業(yè)務(wù)訪問數(shù)據(jù)報(bào)文中包括所述源IPv4地址與所述目的 IPv4地址;
[0018] 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)查詢映射表,基于包括所述源IPv4地址與所述目的IPv4地址的映 射條目,將所述業(yè)務(wù)訪問數(shù)據(jù)報(bào)文中的所述源IPv4地址與所述目的IPv4地址分別轉(zhuǎn)換為 所述映射條目中的源IPv6地址和目的IPv6地址后以IPv6協(xié)議發(fā)送給所述IPv6服務(wù)器;
[0019] 響應(yīng)于接收到所述IPv6服務(wù)器返回的業(yè)務(wù)數(shù)據(jù)報(bào)文,基于所述映射條目對所述 業(yè)務(wù)數(shù)據(jù)報(bào)文進(jìn)行地址轉(zhuǎn)換后以IPv4協(xié)議發(fā)送給所述客戶端單元。
[0020] 基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,還包括:
[0021] 預(yù)先在DNS服務(wù)器中創(chuàng)建所述IPv6服務(wù)器的域名記錄,該域名記錄中包括所述 IPv6服務(wù)器的域名、IPv6地址和協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的IPv4地址。
[0022] 基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,協(xié)議轉(zhuǎn)換網(wǎng)關(guān)從所述IPv4地址池中任 意選擇一個(gè)IPv4地址分配給所述IPv6服務(wù)器包括:
[0023] 協(xié)議轉(zhuǎn)換網(wǎng)關(guān)優(yōu)先從IPv4地址池中選擇已經(jīng)分配給另一個(gè)IPv6服務(wù)器使用的 IPv4地址分配給所述IPv6服務(wù)器。
[0024] 基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,還包括:
[0025] 由預(yù)先存儲的映射前綴信息與所述源IPv4地址組合生成所述源IPv6地址的操 作。
[0026] 基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,還包括:
[0027] 所述協(xié)議轉(zhuǎn)換網(wǎng)關(guān)檢測到斷開與所述客戶端單元之間的連接,收回分配給所述 IPv6服務(wù)器的IPv4地址并刪除所述映射條目。
[0028] 基于本發(fā)明上述方法的另一個(gè)實(shí)施例中,還包括:
[0029] 所述協(xié)議轉(zhuǎn)換網(wǎng)關(guān)在映射條目中生成用于表示所述映射條目創(chuàng)建時(shí)刻的時(shí)間戳, 并根據(jù)預(yù)先配置的生存周期信息進(jìn)行計(jì)時(shí);
[0030] 響應(yīng)于計(jì)時(shí)時(shí)長到達(dá)生存周期規(guī)定的時(shí)長,刪除所述映射條目。
[0031] 本發(fā)明實(shí)施例提供的一種IPv4用戶訪問IPv6資源的通信系統(tǒng),包括IPv6服務(wù) 器,其特征在于,還包括:
[0032] DNS服務(wù)器,用于存儲域名記錄,包括域名與IP地址之間的對應(yīng)關(guān)系,其中IPv6服 務(wù)器的域名記錄包括所述IPv6服務(wù)器的域名、IPv6地址和協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的IPv4地址之間 的對應(yīng)關(guān)系;接收IPv4用戶客戶端單元發(fā)送的IPv4地址查詢請求,根據(jù)該IPv4地址查詢 請求中IPv6服務(wù)器的域名信息查詢所述IPv6服務(wù)器的域名記錄中協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的IPv4 地址并返回所述客戶端單元;
[0033] 客戶端單元,位于使用IPv4地址的主機(jī)上,包括客戶端或者瀏覽器,用于基于所 述協(xié)議轉(zhuǎn)換網(wǎng)關(guān)的IPv4地址,向所述協(xié)議轉(zhuǎn)換網(wǎng)關(guān)發(fā)送業(yè)務(wù)訪問請求,該業(yè)務(wù)訪問請求中 包括IPv6服務(wù)器的域名信息和作為所述客戶端單元使用的IPv4地址的源IPv4地址;以 及基于所述協(xié)議轉(zhuǎn)換網(wǎng)關(guān)返回的重定向應(yīng)答消息中的目的IPv4地址重新發(fā)送業(yè)務(wù)訪問數(shù) 據(jù)報(bào)文,該業(yè)務(wù)訪問數(shù)據(jù)報(bào)文被發(fā)送至協(xié)議轉(zhuǎn)換網(wǎng)關(guān),該業(yè)務(wù)訪問數(shù)據(jù)報(bào)文中包括所述源 IPv4地址與所述目的IPv4地址;
[0034] 協(xié)議轉(zhuǎn)換網(wǎng)關(guān),用于基于所述IPv6服務(wù)器的域名信息向DNS服務(wù)器發(fā)起IPv6地 址查詢請求,并接收DNS服務(wù)器查詢域名記錄返回的所述IPv6服務(wù)器的IPv6地址;查詢映 射表中是否已建立所述源IPv4地址的映射條目;若映射表中已建立所述源IPv4地址的映 射條目,從預(yù)先配置的IPv4地址池中選擇一個(gè)未被分配的IPv4地址分配給所述IPv6服務(wù) 器,作為本次業(yè)務(wù)訪問的目的IPv4地址;若映射表中未建立所述源IPv4地址的映射條目, 從所述IPv4地址池中任意選擇一個(gè)IPv4地址分配給所述IPv6服務(wù)器,作為本次業(yè)務(wù)訪問 的目的IPv4地址;以及在映射表中建立所述源IPv4地址的映射條目并向所述客戶端單元 返回重定向應(yīng)答消息,所述重定向應(yīng)答消息中包括所述目的IPv4地址;所述源IPv4地址的 映射條目包括所述源IPv4地址、目的IPv4地址、由所述源IPv4地址生成的源IPv6地址、和 作為目的IPv6地址的所述IPv6服務(wù)器的IPv6地址;接收到客戶端單元發(fā)送的業(yè)務(wù)訪問數(shù) 據(jù)報(bào)文后查詢映射表,基于包括所述源IPv4地址與所述目的IPv4地址的映射條目,將所述 業(yè)務(wù)訪問數(shù)據(jù)報(bào)文中的所述源IPv4地址與所述目的IPv4地址分別轉(zhuǎn)換為所述映射條目中 的源IPv6地址和目的IPv6地址后以IPv6協(xié)議發(fā)送給所述IPv6服務(wù)器;并在接收到所述 IPv6服務(wù)器返回的業(yè)務(wù)數(shù)據(jù)報(bào)文時(shí),