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




















