專(zhuān)利名稱(chēng):實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法、獲取IPv6地址前綴的方法和轉(zhuǎn)換裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法、獲取IPv6地址前綴的方法和轉(zhuǎn)換裝置。
背景技術(shù):
NAT-PT (Network Address Translation-Protocol Translation, N ^ ift tit 換-協(xié)議轉(zhuǎn)換)[RFC2766]就是在做IPv4(Internet Protocol Version 4,IP協(xié)議第四版)/ IPv6 (Internet Protocol Version 6,IP 協(xié)議第六版)地址轉(zhuǎn)換(NAT)時(shí),在 IPv4 分組和 IPv6分組之間進(jìn)行報(bào)頭和語(yǔ)義的翻譯(PT),適用于純IPv4站點(diǎn)和純IPv6站點(diǎn)之間的通 信。對(duì)于一些內(nèi)嵌地址信息的高層協(xié)議(如FTP,即File Transfer Protocol,文件傳輸協(xié) 議),NAT-PT設(shè)備需要和應(yīng)用層的網(wǎng)關(guān)協(xié)作來(lái)完成翻譯。在NAT-PT設(shè)備的基礎(chǔ)上利用端口 信息,就可以實(shí)現(xiàn)NAPT-PT功能。在NAT-PT設(shè)備中,實(shí)現(xiàn)IPv6 (Internet Protocol,網(wǎng)絡(luò)協(xié)議第六版)主機(jī)訪問(wèn) IPv4(網(wǎng)絡(luò)協(xié)議第四版)主機(jī)的方案為IPv6主機(jī)發(fā)送DNS Query (DNS查詢(xún),DNS為Domain Name System的簡(jiǎn)稱(chēng))請(qǐng)求目的主機(jī)FQDN(Fully Qualified Domain Name,完全合格域 名/全稱(chēng)域名)對(duì)應(yīng)的IPv4或IPv6地址,該DNS Query經(jīng)過(guò)NAT-PT設(shè)備之后發(fā)送到 IPv4domain內(nèi)的DNS Sever, DNS server在回應(yīng)的DNS response中攜帶目的主機(jī)對(duì)應(yīng)的 IPv4地址(也就是DNS中的A記錄),DNS response消息經(jīng)過(guò)NAT-PT設(shè)備時(shí),NAT-PT設(shè) 備上的DNS-ALG(DNS Application Level Gateway,DNS應(yīng)用層網(wǎng)關(guān))由于沒(méi)有記錄DNS query狀態(tài),導(dǎo)致DNS response消息中的IPv4地址(A記錄)被DNS-ALG無(wú)條件地翻譯成 IPv6 地址(A6/AAAA 記錄)。但是在某些應(yīng)用場(chǎng)景下,位于IPv6 domain內(nèi)的IPv6主機(jī)可能希望獲得目的 主機(jī)的IPv4地址或者是它已經(jīng)得到了目的主機(jī)的IPv4地址。比如該IPv6主機(jī)是雙棧 (Dual-stack)主機(jī)(同時(shí)支持IPv4和IPv6),它希望知道目的主機(jī)的真實(shí)地址(不論IPv4 還是IPv6地址),如果目的主機(jī)是IPv4地址,則通過(guò)IPv4建立會(huì)話,如果是IPv6地址則 通過(guò)IPv6建立會(huì)話,但是采用了 DNS-ALG之后,即使目的主機(jī)是IPv4的主機(jī),但是由于 DNS-ALG缺省將DNS response消息中的IPv4地址(A記錄)轉(zhuǎn)換成IPv6地址(A6/AAAA記 錄),也就是說(shuō)目的主機(jī)被DNS-ALG偽裝成IPv6主機(jī),源主機(jī)將只能通過(guò)IPv6與目的主機(jī) 通信。在這種情況下,數(shù)據(jù)包到達(dá)NAT-PT設(shè)備進(jìn)行協(xié)議包轉(zhuǎn)換過(guò)程中,由于IPv4和IPv6 報(bào)文頭格式不兼容,會(huì)丟失部分信息。另一種情況就是IPv6 domain內(nèi)的IPv6主機(jī)可能已經(jīng)通過(guò)其他手段得到了目 的主機(jī)的IPv4地址,這種手段沒(méi)有經(jīng)過(guò)DNS-ALG,在這種情況下主機(jī)無(wú)法獲得目的主機(jī)的 IPv6地址。例如P2P (peer-to-peer,點(diǎn)對(duì)點(diǎn))系統(tǒng)向IPv6domain內(nèi)IPv6主機(jī)提供的種子 的地址信息是通過(guò)該P(yáng)2P協(xié)議本身來(lái)傳遞的,如果P2P系統(tǒng)向IPv6主機(jī)提供的種子信息是 IPv4地址,DNS-ALG將無(wú)法捕獲該信息也就無(wú)法進(jìn)行地址轉(zhuǎn)換。又比如IPv6d0main內(nèi)的IPv6主機(jī)從本地的DNSServer得到了目的主機(jī)的IPv4地址,DNS消息沒(méi)有經(jīng)過(guò)DNS-ALG。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法、獲取IPv6地址前綴 的方法和轉(zhuǎn)換裝置,以解決目前不通過(guò)DNS-ALG就難以實(shí)現(xiàn)完全的IPv6主機(jī)訪問(wèn)IPv4主 機(jī)的問(wèn)題。 本發(fā)明實(shí)施例解決上述技術(shù)問(wèn)題的一個(gè)實(shí)施方式是提供一種實(shí)現(xiàn)IPv6主機(jī)訪 問(wèn)IPv4主機(jī)的方法,包括源主機(jī)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;源 主機(jī)在本地對(duì)目的IPv4主機(jī)的IPv4地址進(jìn)行IPv4地址到IPv6地址的轉(zhuǎn)換;所述獲取用 于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的方式包括在源主機(jī)上靜態(tài)配置用于將IPv4 地址轉(zhuǎn)換為IPv6地址的地址前綴;或接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前 綴的消息的方式。本發(fā)明實(shí)施例解決上述技術(shù)問(wèn)題的另一個(gè)實(shí)施方式是提供一種轉(zhuǎn)換裝置,包 括前綴獲取單元,用于獲取將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;地址轉(zhuǎn)換單元,用于根據(jù)前綴獲取單元獲取的地址前綴,進(jìn)行IPv4地址和IPv6地 址的相互轉(zhuǎn)換;所述獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的方式包括在源主機(jī)上 靜態(tài)配置用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;或接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的消息的方式。本發(fā)明實(shí)施例解決上述技術(shù)問(wèn)題的又一個(gè)實(shí)施方式是提供一種獲取用于將 IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的方法,包括擴(kuò)展路由器通告報(bào)文的option字 段,將所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴保存在該路由器通告報(bào)文的擴(kuò)展 option字段中,由路由器發(fā)給源主機(jī)。采用本發(fā)明實(shí)施方式的方法和裝置,不需要通過(guò)DNS-ALG將IPv4地址轉(zhuǎn)換為IPv6 地址,這個(gè)轉(zhuǎn)換工作由IPv6主機(jī)來(lái)完成。當(dāng)IPv6 domain內(nèi)的IPv6主機(jī)是雙棧主機(jī)時(shí), 該IPv6主機(jī)能夠得到目的主機(jī)的IPv4地址,直接使用IPv4地址與目的主機(jī)通信。對(duì)于 IPv6-ony的主機(jī)(即純IPv6主機(jī)),可以通過(guò)上述方法在本地實(shí)現(xiàn)IPv4地址到IPv6地址 的轉(zhuǎn)換,避免因通過(guò)DNS-ALG轉(zhuǎn)換地址而帶來(lái)的一系列問(wèn)題。
圖1為本發(fā)明實(shí)施例的一種實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法流程示意圖;圖2為本發(fā)明實(shí)施例的一種option字段的格式;圖3為本發(fā)明一實(shí)施例中TLV_AFT_PREFIX_0SPFv2的格式示意圖;圖4為本發(fā)明一實(shí)施例中TLV_AFT_PREFIX_0SPFv3的格式示意圖;圖5為本發(fā)明一實(shí)施例中TLV_AFT_PREFIX_ISIS的格式示意圖;圖6為本發(fā)明一實(shí)施例中,地址前綴為任意長(zhǎng)度時(shí)的option格式示意圖;
圖7為本發(fā)明實(shí)施例的一種實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法流程示意圖;
圖8為本發(fā)明實(shí)施例的轉(zhuǎn)換裝置300的結(jié)構(gòu)示意圖9本發(fā)明另一實(shí)施例的轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式以下結(jié)合具體實(shí)施方式
來(lái)說(shuō)明本發(fā)明的實(shí)現(xiàn)過(guò)程。 發(fā)明人在研究過(guò)程中發(fā)現(xiàn),針對(duì)以上問(wèn)題,需要一種機(jī)制能夠使IPv6主機(jī)在本 地實(shí)現(xiàn)將目的主機(jī)的IPv4地址向IPv6地址轉(zhuǎn)換,而不是由NAT-PT設(shè)備上的DNS-ALG來(lái) 完成。比如,源主機(jī)如果是純IPv6主機(jī),而目的主機(jī)是純IPv4主機(jī),源主機(jī)可以在本地 將目的純IPv4主機(jī)的IPv4地址轉(zhuǎn)換為IPv6地址,但源主機(jī)需要知道NAT-PT設(shè)備所配 置的實(shí)現(xiàn)IPv6地址到IPv4地址的翻譯的前綴,比如,NAT-PT設(shè)備收到目的IPv6地址為 prefix: :/96+IPv4地址的數(shù)據(jù)包,可以將該IPv6地址后32位作為協(xié)議轉(zhuǎn)換后IPv4數(shù)據(jù)包 的目的IPv4地址,將獲取的用于將IPv4地址轉(zhuǎn)換為IPv6地址的/96地址前綴添加在目的 主機(jī)的IPv4地址的前面形成一個(gè)IPv6地址。當(dāng)然,也可以是其他的IPv6地址前綴,比如 /32地址前綴或/64地址前綴,或其他長(zhǎng)度小于96的任意前綴,或其他任意長(zhǎng)度的前綴。本發(fā)明實(shí)施例的方案使得IPv6 domain內(nèi)的IPv6主機(jī)可以獲取將目的純IPv4主 機(jī)的IPv4地址轉(zhuǎn)換為IPv6地址所使用的地址前綴,從而在主機(jī)上實(shí)現(xiàn)將目的純IPv4主機(jī) 的IPv4地址到IPv6地址的轉(zhuǎn)換,避免采用DNS-ALG而帶來(lái)的一系列問(wèn)題。如圖1所示,以/96地址前綴為例,本發(fā)明實(shí)施例的實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī) 的方法包括S100、源主機(jī)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的/96地址前綴具體獲取方式,可以通過(guò)靜態(tài)配置的方式或者接收攜帶用于將IPv4地址轉(zhuǎn)換為 IPv6地址的/96地址前綴的消息的方式來(lái)實(shí)現(xiàn)。靜態(tài)配置方式包括在源主機(jī)上手工配置用 于將IPv4地址轉(zhuǎn)換為IPv6地址的/96地址前綴。S102、源主機(jī)在本地進(jìn)行IPv4地址到IPv6地址的轉(zhuǎn)換源主機(jī)根據(jù)獲取的用于將IPv4地址轉(zhuǎn)換為IPv6地址的/96地址前綴,也就是 NAT-PT設(shè)備收到目的IPv6地址為prefix: :/96+IPv4地址的數(shù)據(jù)包,可以將該IPv6地址 后32位作為協(xié)議轉(zhuǎn)換后IPv4數(shù)據(jù)包的目的IPv4地址,將獲取的用于將IPv4地址轉(zhuǎn)換為 IPv6地址的/96地址前綴添加在目的主機(jī)的IPv4地址的前面形成一個(gè)IPv6地址。SlOO中,源主機(jī)也可以通過(guò)接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6地址的/96地 址前綴的消息的方式來(lái)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的/96地址前綴,主要包括 以下方式1)在本發(fā)明的一個(gè)實(shí)施方式中,源主機(jī)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的 /96地址前綴的方式是通過(guò)接收擴(kuò)展后的RA報(bào)文(Router Advertisement,路由器通告) 的方式。該RA報(bào)文攜帶有用于將IPv4地址轉(zhuǎn)換為IPv6地址的/96地址前綴。在RA報(bào)文 中新增option,在該option中攜帶/96地址前綴,該新定義的option,可以命名為Address Translation Prefix (ATP) Option,用來(lái)實(shí)現(xiàn)將NAT-PT設(shè)備所配置的實(shí)現(xiàn)IPv6地址到IPv4 地址翻譯的前綴傳遞給源主機(jī)。這個(gè)新增加的option (ATP option)存放在RA報(bào)文(ICMP 報(bào)文,Internet Control Message Protocol,網(wǎng)際控制報(bào)文協(xié)議)的可變字段中。圖2是該option字段的格式,其中部分字段的定義為T(mén)ype 8-bit unsigned integer,表不 ATP option 類(lèi)型
Length :8_bit unsigned integer.這個(gè) option 的長(zhǎng)度(包括 Type 禾口 Length 字 段)是可變的.因?yàn)檫@個(gè)option可以傳遞一個(gè)或多個(gè)ATP信息,每個(gè)ATP信息包含兩個(gè)元 素 <IPv6Address, Lifetime).IPv6 Address 128-bit unsigned integer.表示用于將 IPv4 地址轉(zhuǎn)換為 IPv6 地址的IPv6地址前綴,IPv6 Address與網(wǎng)絡(luò)掩碼唯一確定一個(gè)IPv6地址前綴,如果是/96 的前綴,這個(gè)IPv6地址與/96的地址掩碼(FFFF: FFFF FFFF FFFF FFFF FFFF :0)與運(yùn)算 表示一個(gè)/96的IPv6地址前綴。
Lifetime :32-bit unsigned integer.表示ATP的有效時(shí)間,在這個(gè)有效時(shí)間內(nèi), 這個(gè)ATP可以用于IPv4地址向IPv6地址的自動(dòng)轉(zhuǎn)換。在這個(gè)ATP的有效期到之前,主機(jī) 可以發(fā)送Router Solicitation來(lái)確保這個(gè)ATP信息的有效性.當(dāng)這個(gè)字段的value = Oxffffffff時(shí)表示這個(gè)ATP有效期是無(wú)限制的。當(dāng)value = 0表示這個(gè)ATP失效,不能再 被使用。另一種擴(kuò)展RA報(bào)文的方式是使用DHCPC (DHCP Container) option,這是一種專(zhuān)門(mén) 用于傳送DHCP option的RA option.該DHCPC option可以包含多個(gè)DHCP option,所以 可以使用DHCPC option來(lái)傳送攜帶有將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的DHCP option。路由器獲取用于實(shí)現(xiàn)IPv4地址到IPv6轉(zhuǎn)換的/96地址前綴信息,可以是在支持 該option的IPv6路由器上靜態(tài)配置用于實(shí)現(xiàn)IPv4地址到IPv6轉(zhuǎn)換的/96地址前綴信息, 這個(gè)/96前綴信息就是NAT-PT設(shè)備所配置的實(shí)現(xiàn)IPv6地址到IPv4地址翻譯的前綴。當(dāng)然 也可以讓NAT-PT設(shè)備通過(guò)動(dòng)態(tài)路由協(xié)議(如OSPF (Open Shortest Path First開(kāi)放式最 短路徑優(yōu)先),IS-IS (Intermediate System to Intermediate System Routing Protocol, 中間系統(tǒng)到中間系統(tǒng)的路由選擇協(xié)議))擴(kuò)展通告該/96前綴,收到攜帶該擴(kuò)展信息的路由 器可以動(dòng)態(tài)獲取NAT-PT設(shè)備上所使用的/96地址翻譯前綴。該路由器周期性發(fā)送RA消息 給主機(jī),該消息中攜帶上述/96地址前綴信息,源主機(jī)收到之后進(jìn)行保存。對(duì)于OSPF 第二版 0SPFv2 的擴(kuò)展,可以通過(guò)為 RI LSA (Router InformationLink State Advertisement) (RFC4970)定義一種新的類(lèi)型 / 長(zhǎng)度 / 值(Type/Length/Value, TLV),比如TLV_AFT_PREFIX_0SPFv2,來(lái)傳遞這個(gè)地址前綴。新定義的TLV_AFT_PREFIX_0SPFv2的格式如圖3所示,其中各個(gè)字段的定義為T(mén)ype :TLV_AFT_PREFIX_0SPFv2Length =Value字段的長(zhǎng)度,以字節(jié)為單位。Value 為一個(gè)8bits的前綴長(zhǎng)度字段prefix-len和一個(gè)IPv6前綴字段 IPv6prefx,該字段長(zhǎng)度視前綴長(zhǎng)度而定。X^t 0SPFv3 白勺 ψ M M% RI LSA (Router Information Link StateAdvertisement) (RFC4970)定義一種新的 TLV TLV_AFT_PREFIX_0SPFv3 來(lái)傳遞這個(gè) 地址前綴。新定義的TLV_AFT_PREFIX_0SPFv3的格式如圖4所示,其中各個(gè)字段的定義為T(mén)ype :TLV_AFT_PREFIX_0SPFv3Length =Value字段的長(zhǎng)度,以字節(jié)為單位。Value 為一個(gè)8bits的前綴長(zhǎng)度字段prefix-len和一個(gè)IPv6前綴字段IPv6prefix,該字段長(zhǎng)度視前綴長(zhǎng)度而定。對(duì)ISIS的擴(kuò)展ISIS可以通過(guò)定義新的TLV類(lèi)型來(lái)為ISIS添加特性,定義一種新的TLVTLV_AFT_ PREFIX_ISIS來(lái)傳遞這個(gè)地址前綴。新定義的TLV_AFT_PREFIX_ISIS的格式如圖5所示,其 中各個(gè)字段的定義為T(mén)ype :TLV_AFT_PREFIX_ISISLength =Value字段的長(zhǎng)度,以字節(jié)為單位。Value 為一個(gè)8bits的前綴長(zhǎng)度字段prefix-len和一個(gè)IPv6前綴字段 IPv6prefix,該字段長(zhǎng)度視前綴長(zhǎng)度而定。2)在動(dòng)態(tài)主機(jī)配置協(xié)議 DHCP (Dynamic Host Configuration Protocol)服務(wù)器上通過(guò)靜態(tài)配置用于實(shí)現(xiàn)IPv4地址到IPv6地址轉(zhuǎn)換的/96地址前綴信息,這個(gè)/96前綴 信息就是NAT-PT設(shè)備所配置的實(shí)現(xiàn)IPv6地址到IPv4地址翻譯的前綴。當(dāng)IPv6主機(jī)通 過(guò)DHCP服務(wù)器動(dòng)態(tài)獲得IP地址及網(wǎng)絡(luò)配置時(shí),DHCP服務(wù)器通過(guò)將該/96地址前綴儲(chǔ)存在 DHCP REPLY報(bào)文的option字段中發(fā)送給該IPv6主機(jī),該IPv6主機(jī)收到之后保存該/96地 址前綴。當(dāng)該IPv6主機(jī)需要訪問(wèn)一個(gè)IPv4主機(jī)的時(shí)候,可以通過(guò)DNS或P2P等其他手段獲 得目的主機(jī)的IPv4地址,然后在目的主機(jī)IPv4地址之前加上從DHCP服務(wù)器所獲取的/96 地址前綴,從而將目的主機(jī)的IPv4地址轉(zhuǎn)換成IPv6地址,作為該IPv6主機(jī)發(fā)出的IPv6數(shù) 據(jù)報(bào)的目的IPv6地址。該IPv6主機(jī)發(fā)出的IPv6數(shù)據(jù)包到達(dá)NAT-PT設(shè)備之后,由于該/96 地址前綴就是NAT-PT設(shè)備所配置的實(shí)現(xiàn)IPv6地址到IPv4地址翻譯的前綴,因此這個(gè)IPv6 地址的后32bit被作為協(xié)議轉(zhuǎn)換后的IPv4數(shù)據(jù)報(bào)的目的IPv4地址,將獲取的用于將IPv4 地址轉(zhuǎn)換為IPv6地址的/96地址前綴添加在目的主機(jī)的IPv4地址的前面形成一個(gè)IPv6 地址。在DHCP REPLY報(bào)文中攜帶該/96地址前綴,也可以通過(guò)在DHCP REPLY報(bào)文的 option字段中新定義一個(gè)ATP option,該新定義的ATP option來(lái)實(shí)現(xiàn)將NAT-PT設(shè)備所配 置的實(shí)現(xiàn)IPv6地址到IPv4地址翻譯的前綴傳遞給源主機(jī),該DHCP REPLY報(bào)文的option 字段中的ATP option,其格式可以與前述RA報(bào)文中的ATP option格式相同。在本發(fā)明的上述實(shí)施方式中,當(dāng)該IPv6主機(jī)需要訪問(wèn)一個(gè)IPv4主機(jī)的時(shí)候,可 以通過(guò)DNS (Domain Name System,域名系統(tǒng))或其他手段獲得目的主機(jī)的IPv4地址,假如 需要轉(zhuǎn)換為IPv6地址,則在目的主機(jī)的IPv4地址之前加上獲得的/96地址前綴從而轉(zhuǎn)換 成IPv6地址,作為IPv6數(shù)據(jù)報(bào)的目的IPv6地址。該數(shù)據(jù)包到達(dá)NAT-PT設(shè)備之后,由于該 /96地址前綴就是NAT-PT設(shè)備所配置的實(shí)現(xiàn)IPv6地址到IPv4地址翻譯的前綴,因此這個(gè) IPv6地址的后32bit被作為協(xié)議轉(zhuǎn)換后的IPv4數(shù)據(jù)報(bào)的目的IPv4地址。本發(fā)明實(shí)施方式的方法,不需要通過(guò)DNS-ALG將IPv4地址轉(zhuǎn)換為IPv6地址,這個(gè) 轉(zhuǎn)換工作由IPv6主機(jī)來(lái)完成。當(dāng)IPv6 domain內(nèi)的IPv6主機(jī)是雙棧主機(jī)時(shí),該IPv6主機(jī) 能夠得到目的主機(jī)的IPv4地址,直接使用IPv4地址與目的主機(jī)通信。對(duì)于IPv6-0ny的主 機(jī)(即純IPv6主機(jī)),可以通過(guò)上述方法在源主機(jī)本地實(shí)現(xiàn)IPv4地址到IPv6地址的轉(zhuǎn)換, 避免因通過(guò)DNS-ALG轉(zhuǎn)換地址而帶來(lái)的一系列問(wèn)題。以上實(shí)施例的實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法是以/96地址前綴為例進(jìn)行示例性說(shuō)明的,該地址前綴也可以是其他任意長(zhǎng)度,比如/32地址前綴或/64地址前綴等,不 限于所列舉的例子。相應(yīng)地,option格式可以如圖6所示,其中各個(gè)字段的定義為T(mén)ype 8-bit unsigned integer,表不 ATP option 類(lèi)型 Length :8_bit unsigned integer.這個(gè) option 的長(zhǎng)度(包括 Type 禾口 Length 字 段)是可變的.因?yàn)檫@個(gè)option可以傳遞一個(gè)或多個(gè)ATP信息,每個(gè)ATP信息包含兩個(gè)元 素 <IPv6Address, Lifetime).prefix-len :8_bit unsigned integer,表不 IPv6prefix 的長(zhǎng)度。IPv6prefix 128-bit unsigned integer.表示用于將 IPv4 地址轉(zhuǎn)換為 IPv6 地 址的IPv6地址前綴。當(dāng)?shù)刂非熬Y可以是任意長(zhǎng)度的前綴時(shí),本發(fā)明實(shí)施例的一種實(shí)現(xiàn)IPv6主機(jī)訪問(wèn) IPv4主機(jī)的方法如圖7所示,該方法包括S70、源主機(jī)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴具體獲取方式,可以通過(guò)靜態(tài)配置的方式或者接收攜帶用于將IPv4地址轉(zhuǎn)換為 IPv6地址的地址前綴的消息的方式來(lái)實(shí)現(xiàn)。靜態(tài)配置方式包括在源主機(jī)上手工配置用于將 IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴。S71、源主機(jī)在本地進(jìn)行IPv4地址到IPv6地址的轉(zhuǎn)換源主機(jī)根據(jù)獲取的用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴,也就是NAT-PT 設(shè)備收到目的IPv6地址為prefiX+IPv4地址的數(shù)據(jù)包,可以將該IPv6地址后32位作為協(xié) 議轉(zhuǎn)換后IPv4數(shù)據(jù)包的目的IPv4地址,將獲取的用于將IPv4地址轉(zhuǎn)換為IPv6地址的地 址前綴添加在目的主機(jī)的IPv4地址的前面形成一個(gè)IPv6地址。請(qǐng)參考圖8,為本發(fā)明實(shí)施例的一種轉(zhuǎn)換裝置800的結(jié)構(gòu)示意圖。該轉(zhuǎn)換裝置800 包括前綴獲取單元802,用于獲取將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;地址轉(zhuǎn)換單元804,用于根據(jù)前綴獲取單元802獲取的地址前綴,進(jìn)行IPv4和 IPv6地址的相互轉(zhuǎn)換。優(yōu)選地,所述地址轉(zhuǎn)換單元804位于主機(jī)側(cè)。優(yōu)選地,如圖9所示,該轉(zhuǎn)換裝置800還可以包括判斷單元806,該判斷單元806用 于確定是否需要將目的IPv4地址根據(jù)前綴獲取單元獲取的地址前綴轉(zhuǎn)換為IPv6地址。當(dāng) IPv6domain內(nèi)的IPv6主機(jī)是雙棧主機(jī)時(shí),該IPv6主機(jī)能夠得到目的主機(jī)的IPv4地址,無(wú) 需進(jìn)行IPv4地址到IPv6地址的轉(zhuǎn)換,直接使用IPv4地址與目的主機(jī)通信。對(duì)于IPv6-0ny 的主機(jī)(即純IPv6主機(jī)),可以通過(guò)上述方法在源主機(jī)本地實(shí)現(xiàn)IPv4地址到IPv6地址的 轉(zhuǎn)換。優(yōu)選地,該地址轉(zhuǎn)換裝置在獲取地址前綴的過(guò)程中,可以通過(guò)靜態(tài)配置的方式,或 者通過(guò)主機(jī)接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的消息的方式來(lái)獲取地 址前綴。靜態(tài)配置方式包括通過(guò)在源主機(jī)上手工配置用于將IPv4地址轉(zhuǎn)換為IPv6地址的 地址前綴來(lái)獲取地址前綴。接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的消息 的方式,主要是通過(guò)在路由器發(fā)布的RA (路由器通告)報(bào)文中攜帶該地址前綴,或者通過(guò)預(yù) 先在DHCP服務(wù)器上配置用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴,當(dāng)主機(jī)通過(guò)DHCP 動(dòng)態(tài)獲得IP地址等網(wǎng)絡(luò)配置信息的時(shí)候,DHCP通過(guò)DHCP REPLY報(bào)文的新增option字段將該地址前綴發(fā)送給發(fā)出請(qǐng)求的主機(jī),主機(jī)收到之后保存該地址前綴。通過(guò)在路由器發(fā)布的RA(路由器通告)報(bào)文中攜帶該地址前綴之前,還可以包 括在路由器上靜態(tài)配置用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴,也可以通過(guò)動(dòng)態(tài) 路由協(xié)議(如OSPF,IS-IS)擴(kuò)展通告該地址前綴,收到攜帶該擴(kuò)展信息的路由器動(dòng)態(tài)獲取 NAT-PT設(shè)備上所使用的地址前綴。該路由器周期性發(fā)送RA消息給主機(jī),該消息中攜帶上述 地址前綴,主機(jī)收到之后進(jìn)行保存。 優(yōu)選地,上述方法和裝置實(shí)施例中,不限于IPv6和IPv4兩種協(xié)議地址之間的轉(zhuǎn) 換,也可以應(yīng)用于其他協(xié)議地址的相互轉(zhuǎn)換。以上實(shí)施例的實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法可以是/96地址前綴,也可以 是其他任意長(zhǎng)度,比如/32地址前綴或/64地址前綴或其他長(zhǎng)度小于96的任意前綴,或其 他任意長(zhǎng)度的地址前綴,具體適用于前述方法實(shí)施例類(lèi)似,不再贅述。通過(guò)以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借 助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是 更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn) 的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括 若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本 發(fā)明各個(gè)實(shí)施例所述的方法。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍和不脫離本發(fā)明的技術(shù)思想范 圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù) 范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
一種實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法,其特征在于,包括源主機(jī)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;源主機(jī)在本地對(duì)目的IPv4主機(jī)的IPv4地址進(jìn)行IPv4地址到IPv6地址的轉(zhuǎn)換;所述獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的方式包括在源主機(jī)上靜態(tài)配置用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;或接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的消息的方式。
2.如權(quán)利要求1所述的方法,其特征在于,所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地 址前綴為/96地址前綴或/32地址前綴或/64地址前綴。
3.如權(quán)利要求1或2所述的方法,其特征在于,接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6 地址的地址前綴的消息的方式包括源主機(jī)通過(guò)接收路由器發(fā)布的路由器通告報(bào)文來(lái)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地 址的地址前綴,所述路由器通告報(bào)文中攜帶所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址 前綴。
4.如權(quán)利要求3所述的方法,其特征在于,所述路由器通告報(bào)文中攜帶所述用于將 IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的方式具體為擴(kuò)展路由器通告報(bào)文的option字段,將所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址 前綴保存在該路由器通告報(bào)文的擴(kuò)展option字段中,由路由器發(fā)給源主機(jī)。
5.如權(quán)利要求4所述的方法,其特征在于,在擴(kuò)展路由器通告報(bào)文的option字段前,還 包括擴(kuò)展動(dòng)態(tài)路由協(xié)議報(bào)文,該擴(kuò)展后的動(dòng)態(tài)路由協(xié)議報(bào)文攜帶該用于將IPv4地址轉(zhuǎn)換 為IPv6地址的地址前綴,并將該擴(kuò)展后的動(dòng)態(tài)路由協(xié)議報(bào)文發(fā)送給路由器;或者在路由器上靜態(tài)配置用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴。
6.如權(quán)利要求3所述的方法,其特征在于,所述源主機(jī)接收所述路由器周期性發(fā)送的 攜帶有所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的路由器通告報(bào)文。
7.如權(quán)利要求4所述的方法,其特征在于,所述源主機(jī)接收所述路由器周期性發(fā)送的 攜帶有所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的路由器通告報(bào)文。
8.一種轉(zhuǎn)換裝置,其特征在于,包括前綴獲取單元,用于獲取將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;地址轉(zhuǎn)換單元,用于根據(jù)前綴獲取單元獲取的地址前綴,進(jìn)行IPv4地址和IPv6地址的 相互轉(zhuǎn)換;所述獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的方式包括在源主機(jī)上靜態(tài) 配置用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;或接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的消息的方式。
9.如權(quán)利要求8所述的裝置,其特征在于,所述用于獲取將IPv4地址轉(zhuǎn)換為IPv6地址 的地址前綴為/96地址前綴或/32地址前綴或/64地址前綴。
10.如權(quán)利要求8所述的裝置,其特征在于,所述地址轉(zhuǎn)換單元位于源主機(jī)側(cè)。
11.如權(quán)利要求8或9所述的裝置,其特征在于,接收攜帶用于將IPv4地址轉(zhuǎn)換為IPv6 地址的地址前綴的消息的方式包括源主機(jī)通過(guò)接收路由器發(fā)布的路由器通告報(bào)文來(lái)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地 址的地址前綴,所述路由器通告報(bào)文中攜帶所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址 前綴。
12.如權(quán)利要求11所述的裝置,其特征在于,所述路由器通告報(bào)文中攜帶所述用于將 IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的方式具體為擴(kuò)展路由器通告報(bào)文的option字段,將所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址 前綴保存在該路由器通告報(bào)文的擴(kuò)展option字段中,由路由器發(fā)給源主機(jī)。
13.如權(quán)利要求8至10中任一所述的裝置,其特征在于,還包括判斷單元,該判斷單元 用于確定是否需要將目的IPv4地址根據(jù)前綴獲取單元獲取的地址前綴轉(zhuǎn)換為IPv6地址; 當(dāng)IPv6domain內(nèi)的IPv6主機(jī)是雙棧主機(jī)時(shí),該IPv6主機(jī)獲取目的主機(jī)的IPv4地址, 直接使用IPv4地址與目的主機(jī)通信;對(duì)于IPv6-0ny的主機(jī),在源主機(jī)本地實(shí)現(xiàn)IPv4地址 到IPv6地址的轉(zhuǎn)換。
14.一種獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴的方法,其特征在于,包括擴(kuò)展路由器通告報(bào)文的option字段,將所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址 前綴保存在該路由器通告報(bào)文的擴(kuò)展option字段中,由路由器發(fā)給源主機(jī)。
15.如權(quán)利要求14所述的方法,其特征在于,在擴(kuò)展路由器通告報(bào)文的option字段前, 還包括擴(kuò)展動(dòng)態(tài)路由協(xié)議報(bào)文,該擴(kuò)展后的動(dòng)態(tài)路由協(xié)議報(bào)文攜帶該用于將IPv4地址轉(zhuǎn)換 為IPv6地址的地址前綴,并將該擴(kuò)展后的動(dòng)態(tài)路由協(xié)議報(bào)文發(fā)送給路由器; 或者在路由器上靜態(tài)配置用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴。
16.如權(quán)利要求14所述的方法,其特征在于,所述用于將IPv4地址轉(zhuǎn)換為IPv6地址的 地址前綴為/96地址前綴或/32地址前綴或/64地址前綴。
全文摘要
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種實(shí)現(xiàn)IPv6主機(jī)訪問(wèn)IPv4主機(jī)的方法、獲取IPv6地址前綴的方法和轉(zhuǎn)換裝置。該方法包括源主機(jī)獲取用于將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;源主機(jī)在本地進(jìn)行IPv4地址到IPv6地址的轉(zhuǎn)換。該轉(zhuǎn)換裝置包括前綴獲取單元和地址轉(zhuǎn)換單元,該前綴獲取單元用于獲取將IPv4地址轉(zhuǎn)換為IPv6地址的地址前綴;該地址轉(zhuǎn)換單元用于根據(jù)前綴獲取單元獲取的地址前綴,進(jìn)行IPv4和IPv6地址的相互轉(zhuǎn)換。
文檔編號(hào)H04L12/56GK101848247SQ200910204110
公開(kāi)日2010年9月29日 申請(qǐng)日期2009年9月29日 優(yōu)先權(quán)日2009年9月29日
發(fā)明者徐小虎, 王雪偉 申請(qǐng)人:華為技術(shù)有限公司