城域網(wǎng)IPv6過渡技術(shù)—NAT64中雙棧用戶的業(yè)務(wù)流程
前面提到DS-lite對于雙棧用戶的DNS request是啟用DNS-proxy,即將用戶的IPv4 DNS終結(jié)在家庭網(wǎng)關(guān)B4上,再有B4發(fā)起DNS request,之所以采用這種方式是因為DS-lite默認B4和AFTR之間的網(wǎng)絡(luò)是IPv6單棧的,因此將DNS request采用IPv6方式承載。
在NAT64中,雙棧用戶的IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)有可能都能訪問服務(wù)器,用戶采用哪種報文格式進行DNS請求和業(yè)務(wù)轉(zhuǎn)發(fā)呢?
典型的雙棧系統(tǒng)DNS訪問行為如下圖所示。首先,雙棧主機會同時發(fā)起AAAA和A的請求,在部署了DNS44和DNS64的情況下,可以獲得AAAA的響應(yīng),也可以獲得A的響應(yīng);然后,主機優(yōu)先選擇IPv6網(wǎng)絡(luò)進行業(yè)務(wù)訪問,在IPv6網(wǎng)絡(luò)失敗的情況下,再選擇IPv4網(wǎng)絡(luò)進行訪問,網(wǎng)絡(luò)層設(shè)備根據(jù)主機發(fā)起的數(shù)據(jù)包類型采用相應(yīng)的協(xié)議進行承載。
上述流程,用戶是先發(fā)起IPv6訪問,再IPv6網(wǎng)絡(luò)不可用時,再選擇采用IPv4網(wǎng)絡(luò)訪問,增加了用戶業(yè)務(wù)等待時間,降低了業(yè)務(wù)體驗。為了解決這個問題,將典型的雙棧系統(tǒng)進行了優(yōu)化,即雙棧終端同時發(fā)起TCP SYN IPv6和TCP SYN IPv4過程。
當(dāng)IPv6網(wǎng)絡(luò)不可用時,優(yōu)化后的流程如下圖所示:當(dāng)用戶在規(guī)定時間內(nèi)僅收到IPv4網(wǎng)絡(luò)相應(yīng),則發(fā)起IPv4承載。
當(dāng)IPv4和IPv6網(wǎng)絡(luò)不可用時,優(yōu)化后的流程如下圖所示:用戶在獲得IPv4和IPv6同時相應(yīng)是,將發(fā)起IPv6承載,并通知IPv4中斷TCP服務(wù)。
以上流程來源于RFC6555(Happy Eyeballs : Success with Dual-Stack Hosts)的描述。從上述描述也可以看出,標(biāo)準規(guī)定在IPv6網(wǎng)絡(luò)可用狀態(tài)時,優(yōu)先選擇IPv6網(wǎng)絡(luò)承載,僅當(dāng)IPv6網(wǎng)絡(luò)不通時,才會選擇IPv4網(wǎng)絡(luò)承載。因此對于雙棧用戶訪問IPv4資源的情況,且同時獲得AAAA和A響應(yīng)時,優(yōu)先選擇采用IPv6網(wǎng)絡(luò)嘗試業(yè)務(wù)訪問,所以不會直接采用IPv4承載訪問業(yè)務(wù)。
這樣設(shè)計的初衷是為了促進IPv6網(wǎng)絡(luò)的發(fā)展,另外,對于雙棧用戶,假如要采用IPv4承載,還需要分配IPv4地址,仍然會加大對IPv4的地址壓力,若采用的IPv4地址為私網(wǎng)IPv4,還將會引入NAT444部署來解決地址轉(zhuǎn)換,業(yè)務(wù)體驗跟直接采用IPv6承載再經(jīng)過NAT64訪問IPv4服務(wù)器是一致的。因此推薦用戶優(yōu)先采用IPv6承載方式進行服務(wù)而不是優(yōu)先選擇IPv4承載方式。
原文鏈接:http://blog.csdn.net/hanlijin/article/details/17076067