地址轉(zhuǎn)換方法、裝置及數(shù)據(jù)交互方法、系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體涉及一種地址轉(zhuǎn)換方法、裝置及數(shù)據(jù)交互方法、系統(tǒng)。
【背景技術(shù)】
[0002]隨著移動(dòng)互聯(lián)網(wǎng)、物聯(lián)網(wǎng)業(yè)務(wù)和網(wǎng)絡(luò)規(guī)模的發(fā)展,廣泛使用的IPv4地址越來(lái)越成為一種稀缺資源。2011年2月3日全球IPv4可分配地址總池宣布耗盡;2011年4月15日亞太區(qū)IPv4可分配地址池基本耗盡。為了解決IPv4地址不足的問(wèn)題,國(guó)際互聯(lián)網(wǎng)工程任務(wù)組(IETF)提出IPv6編址方式。IPv6具有128位的地址空間,是IPv4地址空間的42.9億倍。中國(guó)在IPv6的推進(jìn)方面處于國(guó)際領(lǐng)先。在政府的帶動(dòng)下,中國(guó)產(chǎn)學(xué)研用各單位通力合作,推進(jìn)IPv6的發(fā)展,建成了世界規(guī)模最大的IPv6實(shí)驗(yàn)方案,并且正在走向試商用。同時(shí)越來(lái)越多的中國(guó)企業(yè)、高校團(tuán)體步入IPv6國(guó)際標(biāo)準(zhǔn)化舞臺(tái),為IPv6技術(shù)發(fā)展做出了積極貢獻(xiàn)。隨著IPv6運(yùn)營(yíng)實(shí)踐日益廣泛,取得的經(jīng)驗(yàn)證明IPv6新技術(shù)部署需要對(duì)現(xiàn)有IPv4應(yīng)用以及用戶有良好的后向兼容性,否則IPv6部署將會(huì)受到過(guò)渡初期業(yè)務(wù)、應(yīng)用的桎梏。比如目前主流應(yīng)用,Skype等即時(shí)通信軟件都不支持IPv6 ;APP Store上已有超過(guò)50萬(wàn)余種的應(yīng)用,升級(jí)這些應(yīng)用來(lái)支持IPv6更是步履維艱。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的主要技術(shù)問(wèn)題是,提供一種地址轉(zhuǎn)換方法、裝置及數(shù)據(jù)交互方法、系統(tǒng),解決現(xiàn)有IPv6不能很好的后向兼容IPv4的問(wèn)題。
[0004]為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種地址轉(zhuǎn)換方法,包括:
[0005]接收應(yīng)用程序模塊發(fā)送的域名請(qǐng)求,所述域名請(qǐng)求包括域名信息以及第一地址類型;
[0006]根據(jù)所述域名信息獲取對(duì)應(yīng)的第二地址,并對(duì)應(yīng)該第二地址生成虛擬的第一地址;
[0007]將所述虛擬的第一地址發(fā)送給所述應(yīng)用程序模塊;
[0008]所述第一地址類型為IPV4地址類型,所述第二地址為IPV6地址;或,所述第一地址類型為IPV6地址類型,所述第二地址為IPV4地址。
[0009]在本發(fā)明的一種實(shí)施例中,根據(jù)所述域名信息獲取對(duì)應(yīng)的第二地址之前,包括判斷根據(jù)所述域名信息是否獲取到對(duì)應(yīng)的第一地址;如否,再根據(jù)所述域名信息獲取對(duì)應(yīng)的第二地址。
[0010]在本發(fā)明的一種實(shí)施例中,所述應(yīng)用程序模塊為安卓應(yīng)用程序模塊。
[0011]為了解決上述問(wèn)題,本發(fā)明還提供了一種數(shù)據(jù)交互方法,包括如上所述的地址轉(zhuǎn)換方法,在將所述虛擬的第一地址發(fā)送給所述應(yīng)用程序模塊后,還包括:
[0012]接收所述應(yīng)用程序模塊根據(jù)所述虛擬的第一地址發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包格式為與所述第一地址對(duì)應(yīng)的第一格式;
[0013]將所述數(shù)據(jù)包轉(zhuǎn)換成與所述第二地址對(duì)應(yīng)的第二格式,并根據(jù)所述第二地址將轉(zhuǎn)換后的數(shù)據(jù)包發(fā)送出去。
[0014]為了解決上述問(wèn)題,本發(fā)明還提供了一種數(shù)據(jù)交互方法,包括如上所述的地址轉(zhuǎn)換方法,在將所述虛擬的第一地址發(fā)送給所述應(yīng)用程序模塊后,還包括:
[0015]接收網(wǎng)絡(luò)側(cè)根據(jù)所述第二地址發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包格式為與所述第二地址對(duì)應(yīng)的第二格式;
[0016]將所述數(shù)據(jù)包轉(zhuǎn)換成與所述虛擬的第一地址對(duì)應(yīng)的第一格式,并根據(jù)所述虛擬的第一地址將轉(zhuǎn)換后的數(shù)據(jù)包發(fā)送給所述應(yīng)用程序模塊。
[0017]為了解決上述問(wèn)題,本發(fā)明還提供了一種地址轉(zhuǎn)換裝置,包括請(qǐng)求處理模塊、地址轉(zhuǎn)換模塊和發(fā)送模塊;
[0018]所述請(qǐng)求處理模塊用于接收應(yīng)用程序模塊發(fā)送的域名請(qǐng)求;所述域名請(qǐng)求包括域名信息以及第一地址類型;
[0019]所述地址轉(zhuǎn)換模塊用于根據(jù)所述域名信息獲取對(duì)應(yīng)的第二地址,并對(duì)應(yīng)該第二地址生成虛擬的第一地址;
[0020]所述發(fā)送模塊用于將所述虛擬的第一地址發(fā)送給所述應(yīng)用程序模塊;
[0021]所述第一地址類型為IPV4地址類型,所述第二地址為IPV6地址;或,所述第一地址類型為IPV6地址類型,所述第二地址為IPV4地址。
[0022]在本發(fā)明的一種實(shí)施例中,所述地址轉(zhuǎn)換模塊還用于在根據(jù)所述域名信息獲取對(duì)應(yīng)的第二地址之前,判斷根據(jù)所述域名信息是否獲取到對(duì)應(yīng)的第一地址。
[0023]在本發(fā)明的一種實(shí)施例中,所述應(yīng)用程序模塊為安卓應(yīng)用程序模塊。
[0024]為了解決上述問(wèn)題,本發(fā)明還提供了一種數(shù)據(jù)交互系統(tǒng),包括應(yīng)用客戶端、請(qǐng)求處理裝置、地址轉(zhuǎn)換裝置以及網(wǎng)絡(luò)側(cè)服務(wù)器;
[0025]所述請(qǐng)求處理裝置用于接收所述應(yīng)用客戶端的應(yīng)用程序模塊發(fā)送的域名請(qǐng)求;所述域名請(qǐng)求包括域名信息以及第一地址類型;以及用于接收所述應(yīng)用程序模塊根據(jù)虛擬的第一地址發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包格式為與所述第一地址對(duì)應(yīng)的第一格式;
[0026]所述地址轉(zhuǎn)換裝置用于根據(jù)所述域名信息獲取對(duì)應(yīng)的第二地址,并對(duì)應(yīng)該第二地址生成、并向所述應(yīng)用程序模塊發(fā)送虛擬的第一地址;以及用于將所述數(shù)據(jù)包轉(zhuǎn)換成與所述第二地址對(duì)應(yīng)的第二格式,并根據(jù)所述第二地址將轉(zhuǎn)換后的數(shù)據(jù)包發(fā)送給所述網(wǎng)絡(luò)側(cè)服務(wù)器。
[0027]為了解決上述問(wèn)題,本發(fā)明還提供了一種數(shù)據(jù)交互系統(tǒng),包括應(yīng)用客戶端、請(qǐng)求處理裝置、地址轉(zhuǎn)換裝置以及網(wǎng)絡(luò)側(cè)服務(wù)器;
[0028]所述請(qǐng)求處理裝置用于接收所述應(yīng)用客戶端的應(yīng)用程序模塊發(fā)送的域名請(qǐng)求;所述域名請(qǐng)求包括域名信息以及第一地址類型;以及用于接收所述網(wǎng)絡(luò)側(cè)服務(wù)器根據(jù)所述第二地址發(fā)送的數(shù)據(jù)包,所述數(shù)據(jù)包格式為與所述第二地址對(duì)應(yīng)的第二格式;
[0029]所述地址轉(zhuǎn)換裝置用于根據(jù)所述域名信息獲取對(duì)應(yīng)的第二地址,并對(duì)應(yīng)該第二地址生成、并向所述應(yīng)用程序模塊發(fā)送虛擬的第一地址;以及用于將所述數(shù)據(jù)包轉(zhuǎn)換成與所述虛擬的第一地址對(duì)應(yīng)的第一格式,并根據(jù)所述虛擬的第一地址將轉(zhuǎn)換后的數(shù)據(jù)包發(fā)送給所述應(yīng)用程序模塊。
[0030]本發(fā)明的有益效果是:
[0031]本發(fā)明提供的地址轉(zhuǎn)換方法、裝置及數(shù)據(jù)交互方法、系統(tǒng),接收應(yīng)用程序模塊發(fā)送的包含域名信息和第一地址類型的域名請(qǐng)求后,根據(jù)該域名信息獲取對(duì)應(yīng)的第二地址,并對(duì)應(yīng)該第二地址生成虛擬的第一地址;將虛擬的第一地址反饋給應(yīng)用程序模塊。本第一地址類型為IPv4地址類型,第二地址為IPv6地址;或第一地址類型為IPV6地址類型,第二地址為IPV4地址。也即,本申請(qǐng)實(shí)現(xiàn)了 IPv4和IPv6地址的相互轉(zhuǎn)換,可以使得IPv6很好的向后兼容IPv4 ;同時(shí)IPv4也可很好的向前兼容IPv6。
【附圖說(shuō)明】
[0032]圖1為本發(fā)明實(shí)施例一提供的地址轉(zhuǎn)換方法流程示意圖;
[0033]圖2為本發(fā)明實(shí)施例一提供的數(shù)據(jù)交互方法流程示意圖一;
[0034]圖3為本發(fā)明實(shí)施例一提供的數(shù)據(jù)交互方法流程示意圖;
[0035]圖4為本發(fā)明實(shí)施例二提供的地址轉(zhuǎn)換裝置結(jié)構(gòu)示意圖;
[0036]圖5為本發(fā)明實(shí)施例二提供的地址轉(zhuǎn)換系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0037]下面通過(guò)【具體實(shí)施方式】結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。
[0038]實(shí)施例一:
[0039]本實(shí)施例提供了一種地址轉(zhuǎn)換方法,具體可應(yīng)用于安卓(android)平臺(tái);請(qǐng)參見(jiàn)圖1所示,其包括:
[0040]步驟101:接收應(yīng)用程序模塊發(fā)送的域名請(qǐng)求(即DNS請(qǐng)求),該域名請(qǐng)求包括域名信息以及第一地址類型;
[0041]步驟102:根據(jù)域名信息獲取對(duì)應(yīng)的第二地址,并對(duì)應(yīng)該第二地址生成虛擬的第一地址;
[0042]步驟103:將虛擬的第一地址發(fā)送給應(yīng)用程序模塊,這樣應(yīng)用程序模塊發(fā)送數(shù)據(jù)時(shí)可以通過(guò)收到的虛擬的第一地址進(jìn)行發(fā)送。
[0043]可見(jiàn),本實(shí)施例提供的地址轉(zhuǎn)換方法實(shí)現(xiàn)了第一地址和第二地址之間的相互轉(zhuǎn)換。本實(shí)施例中,第一地址類型可為IPV4地址類型,第二地址為IPV6地址;或第一地址類型為IPV6地址類型,第二地址為IPV4地址;也即本實(shí)施例提供的方法實(shí)現(xiàn)了 IPv4和IPv6地址的相互轉(zhuǎn)換,可以使得IPv6很好的向后兼容IPv4 ;同時(shí)IPv4也可很好的向前兼容IPv6。
[0044]在本實(shí)施例中,當(dāng)收到應(yīng)用程序模塊發(fā)送的DNS請(qǐng)求后,根據(jù)該請(qǐng)求中的域名信息獲取第二地址之前,還可預(yù)先判斷該局該域名信息是否能獲取到對(duì)應(yīng)的第一地址,也即根據(jù)該域名信息是否能查找到對(duì)應(yīng)類型的服務(wù)器;例如當(dāng)?shù)谝坏刂窞镮Pv4地址時(shí),則判斷根據(jù)該域名信息是否能查找到對(duì)應(yīng)的IPv4服務(wù)器;如不能查找到,則根據(jù)該域名信息查找到對(duì)應(yīng)的IPv6服務(wù)器,進(jìn)而獲取到對(duì)應(yīng)的IPv6地址。反之,當(dāng)?shù)谝坏刂窞镮Pv6地址,第二地址為IPv4地址時(shí),其處理過(guò)程相同。
[0045]在本實(shí)施例中,當(dāng)應(yīng)用于安卓平臺(tái)時(shí),本實(shí)施例中的應(yīng)用程序模塊則為安卓應(yīng)用程序模塊。當(dāng)然,應(yīng)當(dāng)理解是,本實(shí)施例并不僅局限于應(yīng)用在安卓平臺(tái)上,也可應(yīng)用于例如像WIN8平臺(tái)、1S平臺(tái)上。
[0046]請(qǐng)參見(jiàn)圖2所示,實(shí)施例還提供了種數(shù)據(jù)交互方法,騎在上述地址轉(zhuǎn)換方法的基礎(chǔ)上,在將虛擬的第一地址發(fā)送給所述應(yīng)用程序模塊后,還包括:
[0047]步驟201:應(yīng)用程序模塊根據(jù)虛擬的第一地址發(fā)送數(shù)據(jù)包;該數(shù)據(jù)包格式為與第一地址對(duì)應(yīng)的第一格式;例如,當(dāng)?shù)谝坏刂窞镮Pv4地址,則該數(shù)據(jù)包為IPv4數(shù)據(jù)包;
[0048]步驟202:接收應(yīng)用程序模塊根據(jù)該虛擬的第一地址發(fā)送的數(shù)據(jù)包;
[0049]步驟203:將該數(shù)據(jù)包轉(zhuǎn)換成與第二地址對(duì)應(yīng)的第二格式;
[0050]步驟204:根據(jù)第二地址將轉(zhuǎn)換后的數(shù)據(jù)包發(fā)送出去。例如,當(dāng)?shù)诙刂窞镮Pv6地址,此時(shí)則將IPv4數(shù)據(jù)包轉(zhuǎn)換成IPv6數(shù)據(jù)包,并將轉(zhuǎn)換后的數(shù)據(jù)包根據(jù)IPv6地址發(fā)送出去。
[0051]圖2所示是應(yīng)用程序模塊向外發(fā)送數(shù)據(jù)包的過(guò)程,下面以應(yīng)用程序模塊接收網(wǎng)絡(luò)側(cè)的過(guò)程為例,對(duì)本實(shí)施例進(jìn)行進(jìn)一步的說(shuō)明。請(qǐng)參見(jiàn)圖3所示,在將所述虛擬