本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,具體為一種基于HTTP反向代理實現(xiàn)無天窗的IPv4網(wǎng)站應(yīng)用向IPv6升級的裝置。
背景技術(shù):
目前互聯(lián)網(wǎng)的基礎(chǔ)協(xié)議是采用32位地址的IPv4。經(jīng)過多年的發(fā)展,IPv4已經(jīng)取得了巨大的成功。隨著網(wǎng)絡(luò)規(guī)模和新型應(yīng)用的持續(xù)增長,IP地址空間不足制約了互聯(lián)網(wǎng)的發(fā)展。截至,2011年2月3日,全球IPv4地址分配完畢,2011年4月19日,亞太I(xiàn)Pv4地址也分配完畢,中國互聯(lián)網(wǎng)發(fā)展即將面臨沒有IPv4地址可用的困境。經(jīng)過多年的發(fā)展,采用128位地址的IPv6已經(jīng)基本成熟?;ヂ?lián)網(wǎng)業(yè)界也已逐漸形成共識,下一代互聯(lián)網(wǎng)IPv6技術(shù)取代IPv4是大勢所趨。
然而,IPv6網(wǎng)絡(luò)發(fā)展面臨應(yīng)用匱乏帶來的制約。目前,互聯(lián)網(wǎng)成熟的應(yīng)用主要集中在IPv4網(wǎng)絡(luò),將現(xiàn)有的IPv4網(wǎng)站類應(yīng)用升級到支持IPv6用戶訪問,業(yè)界主要有三類技術(shù)路線:雙棧技術(shù)、隧道技術(shù)、翻譯技術(shù)。雙棧技術(shù):雙棧技術(shù)要求涉及到網(wǎng)站業(yè)務(wù)交互的各類應(yīng)用系統(tǒng)、網(wǎng)絡(luò)設(shè)備、運營支撐系統(tǒng)的軟硬件設(shè)備同時運行IPv4和IPv6兩套協(xié)議棧,能夠同時處理IPv4和IPv6數(shù)據(jù)包。采用雙棧化路線向IPv6演進,網(wǎng)站和應(yīng)用系統(tǒng)往往需要重寫代碼,包括:網(wǎng)絡(luò)通信套接字、API、URL、存儲結(jié)構(gòu)等;隧道技術(shù):通過隧道技術(shù)升級網(wǎng)站和應(yīng)用系統(tǒng),要求網(wǎng)站和用戶分別安裝IPv6隧道軟件,用戶應(yīng)用程序以IPv4協(xié)議(私有地址)與網(wǎng)站應(yīng)用通信,并把IPv4報文封裝進IPv6隧道,穿透網(wǎng)絡(luò)傳輸,典型技術(shù)有Veno、Dslite、GRE等;翻譯技術(shù):翻譯技術(shù)是在IPv6用戶和IPv4網(wǎng)站間部署IP協(xié)議轉(zhuǎn)換設(shè)備,建立IPv6/IPv4之間地址和端口的映射關(guān)系,以實現(xiàn)透明的IPv6和IPv4互訪互通。典型的技術(shù)有NAT64、IVI、七層反向代理技術(shù)。
雙棧技術(shù)對站點和應(yīng)用系統(tǒng)要求較高,可能牽涉到服務(wù)器和網(wǎng)絡(luò)設(shè)備升級,投資較大且改造周期較長,是一種長期演進的技術(shù),短期內(nèi)比較適合于架構(gòu)和業(yè)務(wù)相對簡單的網(wǎng)站IPv6升級改造。大型網(wǎng)站往往互相引用,單方面的升級改造不可避免地存在“天窗”問題;采用隧道技術(shù),網(wǎng)站只需要新增一個IPv6隧道服務(wù)器,但同時,需要用戶安裝相應(yīng)的IPv6隧道軟件,普適性和方便性都有局限,而且無法解決“天窗”問題,所以適用于C/S模型的應(yīng)用環(huán)境,或者用戶可安裝終端的場景,但不宜大規(guī)模部署;翻譯技術(shù)中的NAT64和IVI屬于網(wǎng)絡(luò)層翻譯技術(shù),只在IP層和傳輸層對IPv4/IPv6報文進行轉(zhuǎn)換,無法識別應(yīng)用層內(nèi)容,而七層反向代理對網(wǎng)站架構(gòu)改動少、部署最快,但和應(yīng)用類型耦合緊密,在普適性方面有局限,無法解決“天窗”問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種基于HTTP反向代理實現(xiàn)無天窗的IPv4網(wǎng)站應(yīng)用向IPv6升級的裝置,以解決上述背景技術(shù)中提出的問題。
為實現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:一種基于HTTP反向代理實現(xiàn)無天窗的IPv4網(wǎng)站應(yīng)用向IPv6升級的裝置,包括控制主機,所述控制主機上設(shè)有人機交互界面,所述控制主機一側(cè)設(shè)有網(wǎng)絡(luò)接口,所述控制主機內(nèi)部設(shè)有核心電路板,所述核心電路板上設(shè)有微處理器、域名服務(wù)系統(tǒng)、檢測數(shù)據(jù)包,所述微處理器分別連接域名服務(wù)系統(tǒng)、檢測數(shù)據(jù)包,所述微處理器通過網(wǎng)絡(luò)接口連接外部IPv6網(wǎng)絡(luò)。
優(yōu)選的,其實現(xiàn)方法包括以下步驟:
A、在網(wǎng)站域名的權(quán)威域名服務(wù)系統(tǒng)上,添加域名的AAAA記錄解析,指向網(wǎng)絡(luò)接口IPv6地址;
B、IPv6用戶查詢到域名的IPv6地址后,向該地址發(fā)起基于IPv6的HTTP請求,HTTP請求的首部攜帶Host屬性為原站點域名;
C、本裝置接收到HTTP請求內(nèi)容后,分析Host屬性值,并通過域名服務(wù)系統(tǒng)查詢域名的A記錄,進行跨網(wǎng)站點訪問,裝置檢測數(shù)據(jù)包Payload,通過將Payload中的IP地址和域名修改為以IPv6裝置域名為父域名的形式,將用戶后續(xù)訪問請求引導(dǎo)到本裝置;通過網(wǎng)站側(cè)部署裝置,幫助IPv4網(wǎng)站提供商快速遷移網(wǎng)站到IPv6網(wǎng)絡(luò)中。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明能夠在網(wǎng)站提供商不修改現(xiàn)有系統(tǒng)的情況下,快速將IPv4網(wǎng)站遷移到IPv6網(wǎng)絡(luò),為IPv6用戶提供訪問IPv4網(wǎng)站的能力;同時,也可以為IPv4用戶提供訪問IPv6網(wǎng)站的能力。該方法能在一定程度上解決IPv6應(yīng)用匱乏的問題,促進IPv6發(fā)展。
附圖說明
圖1為本發(fā)明結(jié)構(gòu)示意圖。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參閱圖1,本發(fā)明提供一種技術(shù)方案:一種基于HTTP反向代理實現(xiàn)無天窗的IPv4網(wǎng)站應(yīng)用向IPv6升級的裝置,包括控制主機1,所述控制主機1上設(shè)有人機交互界面2,所述控制主機1一側(cè)設(shè)有網(wǎng)絡(luò)接口3,所述控制主機1內(nèi)部設(shè)有核心電路板4,所述核心電路板4上設(shè)有微處理器5、域名服務(wù)系統(tǒng)6、檢測數(shù)據(jù)包7,所述微處理器5分別連接域名服務(wù)系統(tǒng)6、檢測數(shù)據(jù)包7,所述微處理器5通過網(wǎng)絡(luò)接口3連接外部IPv6網(wǎng)絡(luò)8。
本發(fā)明的實現(xiàn)方法包括以下步驟:
A、在網(wǎng)站域名的權(quán)威域名服務(wù)系統(tǒng)上,添加域名的AAAA記錄解析,指向網(wǎng)絡(luò)接口IPv6地址;
B、IPv6用戶查詢到域名的IPv6地址后,向該地址發(fā)起基于IPv6的HTTP請求,HTTP請求的首部攜帶Host屬性為原站點域名;
C、本裝置接收到HTTP請求內(nèi)容后,分析Host屬性值,并通過域名服務(wù)系統(tǒng)查詢域名的A記錄,進行跨網(wǎng)站點訪問,裝置檢測數(shù)據(jù)包Payload,通過將Payload中的IP地址和域名修改為以IPv6裝置域名為父域名的形式,將用戶后續(xù)訪問請求引導(dǎo)到本裝置;通過網(wǎng)站側(cè)部署裝置,幫助IPv4網(wǎng)站提供商快速遷移網(wǎng)站到IPv6網(wǎng)絡(luò)中。
實施例案例:
以IPv6用戶訪問睿哲的IPv4站點為例,睿哲域名已經(jīng)在授權(quán)DNS上新增了AAAA記錄,指向IPv4/IPv6轉(zhuǎn)換裝置的IPv6地址,具體實施案例如下:
A、IPv6用戶首先發(fā)出www.reyzar.com的AAAA記錄的DNS查詢請求;睿哲reyzar.com域名的權(quán)威DNS返回IPv4/IPv6轉(zhuǎn)換裝置的IPv6地址(如2001:1:2:3::456)作為AAAA DNS響應(yīng);
B、IPv6用戶將與IPv4/IPv6轉(zhuǎn)換裝置的80號端口建立IPv6的TCP連接,并發(fā)起Host值為www.reyzar.com的HTTP請求;
C、IPv4/IPv6轉(zhuǎn)換裝置先掛起用戶的HTTP請求,并通過Host屬性值,查詢域名的A記錄;
D、reyzar.com權(quán)威DNS返回A記錄地址120.24.65.109(睿哲官網(wǎng)服務(wù)器的IPv4地址);
E、IPv4/IPv6轉(zhuǎn)換裝置向睿哲官網(wǎng)網(wǎng)站120.24.65.109發(fā)起TCP連接,并發(fā)起基于http://www.reyzar.com/的請求;
F、IPv4官網(wǎng)服務(wù)器返回站點的首頁內(nèi)容到IPv4/IPv6轉(zhuǎn)換裝置;
G、IPv4/IPv6轉(zhuǎn)換裝置接收IPv4網(wǎng)站返回的HTTP響應(yīng),對HTTP響應(yīng)的網(wǎng)頁內(nèi)容進行全面遍歷,查找網(wǎng)頁中引用的外部鏈接:
a、對域名格式的外鏈(所有非reyzar.com域名下的URI資源),如http://www.ipv6ready.org.cn/website.jpg,將其域名格式全部添加ipv6.reyzar.com后綴,并將cn映射為ex2替代,修改后的URI為:http://www.ipv6ready.org.ex2.ipv6.reyzar.com/website.jpg;
b、對IPv4地址格式的外鏈(所有以地址格式書寫的URI資源),如http://123.1.2.3/test.jpg,將其“.”修改為“-”,且域名添加ipv6.reyzar.com后綴,修改后的URI為:http://123-1-2-3.ipv6.reyzar.com/test.jpg;IPv4/IPv6轉(zhuǎn)換裝置遍歷IPv4網(wǎng)頁的所有源代碼內(nèi)容,并按照以上規(guī)則,對外鏈URI進行修正;
H、IPv4/IPv6轉(zhuǎn)換裝置將處理后網(wǎng)頁內(nèi)容以IPv6報文形式,封裝成HTTP響應(yīng)報文,并返回至發(fā)起HTTP請求的IPv6用戶;
I、IPv6用戶瀏覽器對HTTP響應(yīng)進行解析,當(dāng)解析到reyzar.com原站內(nèi)的URI資源時,按正常的DNS和HTTP流程即可完成訪問;當(dāng)解析到被處理過的外鏈URI時,即http://www.ipv6ready.org.ex2.ipv6.reyzar.com/website.jpg和http://123-1-2-3.ipv6.reyzar.com/test.jpg;瀏覽器會先向reyzar.com權(quán)威DNS發(fā)起www.ipv6ready.org.ex2.ipv6.reyzar.com和123-1-2-3.ipv6.reyzar.com域名的AAAA查詢請求;
J、在reyzar.com的權(quán)威DNS上,需預(yù)先添加了*.ipv6.reyzar.com的AAAA記錄,指向IPv4/IPv6轉(zhuǎn)換裝置的IPv6地址,權(quán)威DNS收到用戶的查詢請求后,匹配該記錄,并返回記錄結(jié)果,從而把IPv6的請求引導(dǎo)至本裝置;
K、本裝置將收到IPv6用戶發(fā)起的兩個HTTP請求,請求的資源URI分別為http://www.ipv6ready.org.ex2.ipv6.reyzar.com/website.jpg和http://123-1-2-3.ipv6.reyzar.com/test.jpg,且HTTP首部的Host屬性分別為www.ipv6ready.org.ex2.ipv6.reyzar.com和123-1-2-3.ipv6.reyzar.com,本裝置通過以上屬性和URI/URL得知是外部鏈接,遂需要將它恢復(fù)為初始值,再代理IPv6用戶進行IPv4的HTTP請求;
L、外鏈網(wǎng)站站點收到本裝置發(fā)出的IPv4HTTP請求后,按正常流程進行HTTP響應(yīng);
M、本裝置收到外鏈網(wǎng)站站點的響應(yīng)后,再次進入到步驟G的分析、處理流程;
N、本裝置將處理后的所有HTTP響應(yīng)內(nèi)容,以IPv6報文方式返回給初始客戶;
O、至此,一次HTTP交互流程完畢,從以上流程可看出,本裝置可以透明的處理網(wǎng)頁中的外鏈內(nèi)容,對IPv6用戶無感知。
采用本發(fā)明進行IPv4應(yīng)用升級,具有如下的優(yōu)點:大幅降低原IPv4站點的升級成本:原IPv4站點無需進行設(shè)計重構(gòu)、代碼重寫,只需要在域名的權(quán)威DNS上,添加域名相應(yīng)的AAAA記錄(所有升級方式都需要添加AAAA記錄);大幅提高IPv4站點的升級效率:該裝置,可快速、批量地將IPv4網(wǎng)站遷移到IPv6網(wǎng)絡(luò),解決IPv6應(yīng)用匱乏的行業(yè)死鎖問題;成熟地解決“天窗”問題,本裝置是目前為止,最為成熟和有效的天窗問題解決方案。
盡管已經(jīng)示出和描述了本發(fā)明的實施例,對于本領(lǐng)域的普通技術(shù)人員而言,可以理解在不脫離本發(fā)明的原理和精神的情況下可以對這些實施例進行多種變化、修改、替換和變型,本發(fā)明的范圍由所附權(quán)利要求及其等同物限定。