摘要:通信工程師網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換技術(shù):隧道技術(shù)一般用于IPv6節(jié)點(diǎn)間的通信,而對(duì)于IPv4和IPv6節(jié)點(diǎn)間的通信,采用直接對(duì)IPv4和IPv6報(bào)文進(jìn)行語(yǔ)法和語(yǔ)義翻譯的網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換(NAT/PT)技術(shù)。
4.8.3.3 網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換技術(shù)
隧道技術(shù)一般用于IPv6節(jié)點(diǎn)間的通信,而對(duì)于IPv4和IPv6節(jié)點(diǎn)間的通信,采用直接對(duì)IPv4和IPv6報(bào)文進(jìn)行語(yǔ)法和語(yǔ)義翻譯的網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換(NAT/PT)技術(shù)?;竟ぷ髟砣鐖D4-47所示,當(dāng)IPv6子網(wǎng)中有IPv6分組發(fā)給網(wǎng)關(guān)時(shí),網(wǎng)關(guān)將其轉(zhuǎn)化成IPv4分組發(fā)向IPv4子網(wǎng):反過(guò)來(lái)當(dāng)IPv4子網(wǎng)中有數(shù)據(jù)分組要發(fā)送時(shí),網(wǎng)關(guān)就將其轉(zhuǎn)化成IPv6分組發(fā)向IPv6子網(wǎng)。轉(zhuǎn)化網(wǎng)關(guān)要維護(hù)一個(gè)IPv4和IPv6地址的映像表。
NAT/PT(NetworkAddressTranslation/ProtocolTranslation)技術(shù)是在SIIT(State-lessIP/ICMPTranslator)技術(shù)上發(fā)展起來(lái)的。SIIT是一種網(wǎng)絡(luò)層的翻譯技術(shù),NAT/PT技術(shù)主要是按照協(xié)議規(guī)范規(guī)定的報(bào)頭格式對(duì)IPv4和IPv6的協(xié)議進(jìn)行轉(zhuǎn)化,從而連接IPv4和IPv6兩個(gè)部分。協(xié)議轉(zhuǎn)化分為兩個(gè)部分,一個(gè)是IPv4和IPv6地址的轉(zhuǎn)化,另外一個(gè)是IPv4和IPv6報(bào)頭的轉(zhuǎn)化。
(1)地址轉(zhuǎn)換
IPv4的地址是32位,而IPv6的地址為128位,兩個(gè)地址格式不同的地址之間需要建立映像關(guān)系。有以下幾種建立方式:封裝IPv4地址為ADDR4類(lèi)型,封裝IPv6地址為AD>DR6類(lèi)型,封裝與IPv4兼容IPv6地址為ADDR64類(lèi)型。
①DNS解析地址
為了擴(kuò)展DNS使其支持IPv6,IETF先后定義了兩種新的資源記錄類(lèi)型:AAAA和A6。為了實(shí)現(xiàn)IPv4和IPv6的轉(zhuǎn)化可以擴(kuò)充DNS服務(wù)器,為IPv4或IPv6的網(wǎng)絡(luò)提供DNS服務(wù)器作“IP轉(zhuǎn)換欺騙”。IPv4主機(jī)(ADDR4)向DNS請(qǐng)求査詢(xún)的時(shí)候,如果DNS服務(wù)器發(fā)現(xiàn)目的主機(jī)只有IPv6地址(ADDR6),將會(huì)返回給該IPv4主機(jī)一個(gè)IPv4的地址(ADDR64)作為査詢(xún)結(jié)果。DNS服務(wù)器要和NAT-PT轉(zhuǎn)換網(wǎng)關(guān)實(shí)時(shí)的通信,保持ADDR4、ADDR6和ADDR64這3個(gè)地址之間對(duì)應(yīng)關(guān)系的更新。這樣NAT-PT網(wǎng)關(guān)就可以根據(jù)這些信息進(jìn)行地址/協(xié)議轉(zhuǎn)換。這種轉(zhuǎn)換同樣適用于當(dāng)IPv6主機(jī)查詢(xún)DNS獲得IPv4地址的時(shí)候。
?、贗Pv4和IPv6地址映像表
地址映像表將IPv4地址和IPv6地址分別看作內(nèi)部地址和全局地址,或者正好相反。內(nèi)部的IPv4主機(jī)和外部的IPv6主機(jī)通信時(shí),將IPv4地址(相當(dāng)于內(nèi)部地址)變換成IPv6地址(相當(dāng)于全局地址),服務(wù)器維護(hù)一個(gè)IPv4與IPv6地址的映像表。反之,當(dāng)內(nèi)部IPv6主機(jī)和外部IPv4主機(jī)進(jìn)行通倍時(shí),IPv6轉(zhuǎn)換為IPv4地址。執(zhí)行NAT/PT的主機(jī)上配置了一個(gè)地址映像表。這個(gè)映像表形如:
10.10.9.200beef:feed::1234:5678
3ffe:lcff::bead:ed:cafe:dffd100.10.9.188
?、劾肐Pv4兼容IPv6地址
類(lèi)似于::10.10.9.188這樣的IPv6地址稱(chēng)為與IPv4兼容的IPv6地址。在v6結(jié)點(diǎn)要訪問(wèn)v4結(jié)點(diǎn)的時(shí)候,可以使用這種地址作為IPv6結(jié)點(diǎn)去訪問(wèn)v4結(jié)點(diǎn)時(shí)的目的地址。NAT/PT網(wǎng)關(guān)處理時(shí)只要把低32位取出來(lái)作為v4包的目的地址即可。對(duì)于IPv6地址來(lái)說(shuō),也可以使用這種與v4兼容的v6地址,但這就要求每個(gè)IPv6結(jié)點(diǎn)有對(duì)應(yīng)的一個(gè)v4地址。
(2)報(bào)頭轉(zhuǎn)換
IPv4報(bào)頭和IPv6報(bào)頭之間有一些字段可以直接轉(zhuǎn)化,而一些字段是對(duì)方特有的,需要特殊處理。
①I(mǎi)Pv4ToIPv6
在IPv4沒(méi)有分段的情況下,也就是IPv4.Df=0,這個(gè)時(shí)候偏移量也為0。IPv6的報(bào)頭轉(zhuǎn)換如下:
IPv6.Version=6:將版本變?yōu)?
IPv6.TrafficClass=IPv4.TOS:直接拷貝,或者按照語(yǔ)義予以翻譯IPv6.FlowLabel=0:可以全部置為0
IPv6.PayloadLength=IPv4.length-length(IPv4-header):新的IPv6中的負(fù)載長(zhǎng)度定義為凈荷的長(zhǎng)度,也就是總長(zhǎng)度減去IPv4報(bào)頭和選項(xiàng)的長(zhǎng)度IPv6.Nextheader=IPv4.Protocol:協(xié)議字段直接拷貝過(guò)來(lái)
IPv6.HopLimit=IPv4.TTL-l:逐跳限制和IPv4的生存時(shí)間含義相似,如果是跳數(shù)為0就要發(fā)出ICMP報(bào)文給源目的地
IPv6.SourceAddress=ADDR64(IPv4.SourceAddress):IPv4地址轉(zhuǎn)換得到的ADDR64地址
IPv6.DestinationAddress=ADDR64(IPv4.DestinationAddress):準(zhǔn)備發(fā)送的目的地址。
IPv6ToIPv4
在IPv6沒(méi)有分段擴(kuò)展報(bào)頭情況下,IPv6轉(zhuǎn)化到IPv4報(bào)頭的算法如下:
IPv4.Version=4:將版本變?yōu)?
IPv4.length=5:沒(méi)有選項(xiàng)擴(kuò)展報(bào)頭的情況
IPv4.TOS=IPv6.TrafficClass:直接拷貝,或者按照語(yǔ)義予以翻譯
IPv4.TotalLength=IPv6.Payloadlength+IPv4.length:總長(zhǎng)度設(shè)S
IPv4.Identification=zero
IPv4.Flags=0
IPv4.FragmentOffset=0
IPv4.Nextheader=IPv6.Protocol:協(xié)議字段直接拷貝過(guò)來(lái)
IPv4.TTL=IPv6.HopLimit-1:IPv4的生存時(shí)間和IPv6逐跳限制和含義相似,如果是0就要發(fā)出ICMP報(bào)文給源目的地
IPv4.HeaderChecksum=sum():需要對(duì)IPv4頭做一個(gè)校驗(yàn)和IPv4.Protocol=IPv6.Nextheader:協(xié)議字段直接拷貝過(guò)來(lái)
IPv4.SourceAddress=ADDR64(IPv6.SourceAddress):IPv6地址轉(zhuǎn)換得到的AD-DR64地址
IPv4.DestinationAddress=ADDR64(IPv6.DestinationAddress):準(zhǔn)備發(fā)送的目的地址。
返回目錄
編輯推薦
中級(jí)通信專(zhuān)業(yè)實(shí)務(wù)
中級(jí)通信專(zhuān)業(yè)實(shí)務(wù)傳輸與接入教程匯總
通信工程師備考資料免費(fèi)領(lǐng)取
去領(lǐng)取
共收錄117.93萬(wàn)道題
已有25.02萬(wàn)小伙伴參與做題