專利名稱:一種基于ARP代理的4over6隧道自動(dòng)建立方法
技術(shù)領(lǐng)域:
本發(fā)明屬于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種基于ARP代理的4OVer6隧道自動(dòng)建立方法。
背景技術(shù):
當(dāng)前IPv4互聯(lián)網(wǎng)規(guī)模迅速擴(kuò)大,對(duì)IPv4地址的需求量也在不斷增加,至使全球IPv4地址于2011年已分配完結(jié)。NAT技術(shù)和私有地址的使用雖然一定程度上實(shí)現(xiàn)了地址復(fù)用,但是卻破壞了端到端特性,增加了網(wǎng)絡(luò)結(jié)構(gòu)的復(fù)雜度。IPv6協(xié)議具有更大的地址空間(2128)、更好的編址路由特性和安全性等特點(diǎn),成為了建設(shè)下一代互聯(lián)網(wǎng)的重要協(xié)議。但是由于IPv4與IPv6編址路由不兼容,互聯(lián)網(wǎng)由IPv4過(guò)渡到IPv6需要較長(zhǎng)的時(shí)期。端到端特性是IPv4互聯(lián)網(wǎng)的重要特點(diǎn)。這一特性使得核心網(wǎng)絡(luò)功能簡(jiǎn)單,而端系統(tǒng)相對(duì)復(fù)雜。由于端系統(tǒng)更加可控,使得創(chuàng)新層出不窮,例如P2P應(yīng)用、即時(shí)通信、在線視頻、網(wǎng)絡(luò)定位服務(wù)等。近年來(lái),P2P軟件和即時(shí)通信軟件用戶規(guī)模不斷擴(kuò)大。這些服務(wù)應(yīng)用均涉及到了主機(jī)互訪問題,也使得主機(jī)間互訪成為各過(guò)渡技術(shù)不可忽視的重要內(nèi)容。由于客戶端不可控,過(guò)渡技術(shù)應(yīng)該盡量減少對(duì)客戶端的修改,實(shí)現(xiàn)用戶無(wú)感知的向IPv6過(guò)渡。為在IPv6過(guò)渡時(shí)期保證端系統(tǒng)IPv4協(xié)議棧正常工作,用戶可以正常訪問IPv4服務(wù),并保持互聯(lián)網(wǎng)的端到端特性,IETF Softwire工作組提出Public4over6機(jī)制。Public4over6 機(jī)制通過(guò) DHCPv4over IPv6 技術(shù)跨越 IPv6 接入網(wǎng)為 CE (Customer Edge)動(dòng)態(tài)分配和回收公有IPv4地址,同時(shí)在BR (Border Relay)處維護(hù)CE IPv6地址與IPv4地址的映射表,CE和BR作為IPV4-oVer-1PV6隧道的端點(diǎn),實(shí)現(xiàn)有狀態(tài)IPv4-over-1Pv6封裝/解封裝。其中CE設(shè)備分為CPE路由器(Customer Premise Equipment)和直連主機(jī)。本專利方案主要針對(duì)隧道端點(diǎn)為CPE路由器的場(chǎng)景。DHCPv4ove r IPv6技術(shù),通過(guò)使用IPv6承載DHCPv4報(bào)文,從而使得DHCPv4可以跨越IPv6網(wǎng)絡(luò)正常運(yùn)行。該技術(shù)擴(kuò)展DHCPv4服務(wù)器(TSV, IPv6_Transport Server)使之能夠解析IPv6包中的DHCPv4報(bào)文,繼而利用原有功能完成DHCPv4過(guò)程。在DHCPv4客戶側(cè)增加CRA模塊(Client Relay Agent)用于將DHCPv4報(bào)文封裝入IPv6包以及處理TSV回復(fù)的DHCPv4報(bào)文。LCRA(on_Link Client Relay Agent)是鏈路客戶端中繼代理,可以實(shí)現(xiàn)為同一鏈路上的DHCPv4客戶端提供中繼服務(wù)??蛻舳思纯蓪?shí)現(xiàn)通過(guò)DHCPv4over IPv6獲取公有IPv4地址。LCRA的功能一般是由CPE設(shè)備實(shí)現(xiàn)。主機(jī)間進(jìn)行互訪時(shí),發(fā)起端要廣播ARP請(qǐng)求,以獲得目的端或下一跳的MAC地址來(lái)進(jìn)行通信。如果兩臺(tái)主機(jī)在同一個(gè)網(wǎng)段內(nèi),那么發(fā)起端會(huì)請(qǐng)求目的端主機(jī)的MAC地址;否則發(fā)起端會(huì)請(qǐng)求默認(rèn)網(wǎng)關(guān)的MAC地址。在PubliC4OVer6中,由于同一網(wǎng)段的地址可能分配給連接于不同CPE后的主機(jī),并且CPE后的主機(jī)的實(shí)際網(wǎng)關(guān)是CPE,為使主機(jī)能夠通信,CPE設(shè)備需采用相應(yīng)措施實(shí)現(xiàn),如代理ARP機(jī)制。代理ARP機(jī)制如下:網(wǎng)關(guān)設(shè)備(如CPE)代替無(wú)法直達(dá)的主機(jī)(如其它CPE后的主機(jī))對(duì)ARP請(qǐng)求進(jìn)行回答,以自己的MAC地址代替目標(biāo)主機(jī)的MAC地址。
發(fā)明內(nèi)容
為了克服上述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種基于ARP代理的4over6隧道自動(dòng)建立方法,在Publ ic4over6技術(shù)的基礎(chǔ)上,針對(duì)CPE路由器作為IPv4-over-1Pv6隧道發(fā)起點(diǎn)的場(chǎng)景,通過(guò)對(duì)LCRA功能進(jìn)行擴(kuò)展,獲取真正網(wǎng)關(guān)的地址信息并與CPE的MAC地址進(jìn)行綁定,使CPE設(shè)備實(shí)現(xiàn)代理ARP功能,實(shí)現(xiàn)了在IPv6單棧接入網(wǎng)中,使得連接在CPE設(shè)備下的主機(jī)在不做改動(dòng)的前提下跨越IPv6網(wǎng)絡(luò)獲取公有IPv4地址,并通過(guò)由CPE自動(dòng)建立的隧道實(shí)現(xiàn)訪問IPv4網(wǎng)絡(luò),以及同一 Public4OVer6域內(nèi)的主機(jī)互訪。為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案是:一種基于ARP代理的4over6隧道自動(dòng)建立方法,將LCRA功能與CPE設(shè)備結(jié)合,獲取真正網(wǎng)關(guān)的地址信息并與CPE的MAC地址進(jìn)行綁定,使得CPE設(shè)備開啟代理ARP功能,在由IPv4到IPv6的過(guò)渡時(shí)期以IPv6單棧網(wǎng)絡(luò)為接入網(wǎng),實(shí)現(xiàn)現(xiàn)有IPv4終端主機(jī)不做改動(dòng)的情況下,跨越IPv6網(wǎng)絡(luò)獲取公有IPv4地址,并以CPE路由器作為隧道發(fā)起點(diǎn)建立4over6隧道訪問 IPv4Internet。其中,Public4over6域的主機(jī)通過(guò)DHCPv4over IPv6過(guò)程獲得公有IPv4地址:當(dāng)TSV接收到主機(jī)廣播的Discover請(qǐng)求后進(jìn)行回復(fù),TSV將網(wǎng)關(guān)的IPv4地址添加到Router Option中,將Offer報(bào)文發(fā)送給請(qǐng)求主機(jī)對(duì)應(yīng)的LCRA ;當(dāng)LCRA接收到TSV發(fā)送的ACK報(bào)文后進(jìn)行解析,獲取Router Option選項(xiàng)中網(wǎng)關(guān)的IPv4地址信息,并與CPE路由器的MAC地址綁定;同時(shí),LCRA獲取ACK報(bào)文中地址分配信息,并為該地址在路由表中添加一條/32路由表項(xiàng)。而主機(jī)訪問IPv4Internet的某一公網(wǎng)地址,具體步驟如下:
主機(jī)發(fā)出ARP請(qǐng)求,詢問網(wǎng)關(guān)的MAC地址;發(fā)起點(diǎn)CPE以自己的MAC地址進(jìn)行ARP應(yīng)答;主機(jī)將IPv4報(bào)文發(fā)送至發(fā)起點(diǎn)CPE ;發(fā)起點(diǎn)CPE接收到該報(bào)文后,以自己的IPv6地址為源地址,匯聚點(diǎn)BR的IPv6地址為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文,然后通過(guò)4oVer6隧道發(fā)送給匯聚點(diǎn)BR ;匯聚點(diǎn)BR接收到數(shù)據(jù)包后解封裝成IPv4報(bào)文,然后根據(jù)其中的目的IPv4地址信息進(jìn)行正常IPv4轉(zhuǎn)發(fā);IPv4Internet的服務(wù)器進(jìn)行回復(fù),IPv4報(bào)文路由到達(dá)匯聚點(diǎn)BR ;匯聚點(diǎn)BR接收該IPv4報(bào)文,根據(jù)其目的地址信息查詢IPv4_IPv6映射表,如果在映射表中查詢到該目的地址對(duì)應(yīng)的CPE地址,則以BR的IPv6地址為源地址,CPE的IPv6地址為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文,然后通過(guò)4oVer6隧道發(fā)送給CPE ;否則,丟棄該報(bào)文; 發(fā)起點(diǎn)CPE接收到后將其解封裝成IPv4報(bào)文,然后根據(jù)其中的目的地址信息查詢/32路由表,通過(guò)LAN 口轉(zhuǎn)發(fā)給相應(yīng)的Host主機(jī)。同一 Public域內(nèi)的主機(jī)間進(jìn)行通信,具體步驟如下:發(fā)起端主機(jī)-1首先會(huì)廣播ARP請(qǐng)求,詢問目的端主機(jī)-2的MAC地址;如果主機(jī)-1和主機(jī)-2連接同一個(gè)CPE,則主機(jī)-2接收到ARP請(qǐng)求后進(jìn)行ARP應(yīng)答。主機(jī)-1可根據(jù)主機(jī)-2的地址信息,直接將IPv4報(bào)文發(fā)送給主機(jī)_2。如果主機(jī)-1和主機(jī)-2連接的是不同的CPE,則CPEl會(huì)對(duì)主機(jī)-1的ARP請(qǐng)求進(jìn)行ARP應(yīng)答。當(dāng)主機(jī)-1向主機(jī)-2發(fā)送IPv4報(bào)文,該報(bào)文將先發(fā)給CPEl ;CPEl接收這個(gè)報(bào)文,以自己的IPv6地址為源地址,BR的IPv6地址為目的地址封裝成IPv6報(bào)文,發(fā)送給BR;BR接收到之后進(jìn)行解封裝,根據(jù)得到的IPv4報(bào)文中的目的地址查找IPv4_IPv6映射表,得到主機(jī)-2對(duì)應(yīng)的CPE2的IPv6地址,然后BR以自己的IPv6地址為源地址,CPE2的IPv6地址為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文并轉(zhuǎn)發(fā)給CPE2 ;CPE2接收到報(bào)文進(jìn)行解封裝,根據(jù)IPv4報(bào)文中的目的地址信息查詢/32路由表,然后通過(guò)LAN 口轉(zhuǎn)發(fā)給主機(jī)-2 ;主機(jī)-2以相同過(guò)程向主機(jī)-1回復(fù)。所述發(fā)起端主機(jī)-1通過(guò)廣播ARP請(qǐng)求詢問目的端主機(jī)-2的MAC地址時(shí):如果兩臺(tái)主機(jī)連接的是同一臺(tái)CPE,那么目的端主機(jī)能夠收到發(fā)起端的ARP請(qǐng)求,并使用自己的MAC地址進(jìn)行ARP應(yīng)答;如果兩臺(tái)主機(jī)連接的是不同的CPE,那么CPEl接收到主機(jī)_1的ARP請(qǐng)求后,查詢/32路由表,發(fā)現(xiàn)其中沒有相應(yīng)的表項(xiàng),CPEl使用自己的MAC地址進(jìn)行ARP應(yīng)答。從控制層面和數(shù)據(jù)層面兩個(gè)方面說(shuō)明以上的具體內(nèi)容??刂茖用嬷饕?終端主機(jī)公有IPv4地址的獲取和CPE代理ARP功能的啟動(dòng)。當(dāng)用戶接入CPE下的網(wǎng)絡(luò)時(shí),會(huì)發(fā)起DHCP過(guò)程。通過(guò)LCRA與TSV的交互,TSV將IPv4地址下發(fā)給終端主機(jī)。D HCP回復(fù)報(bào)文中會(huì)包含Router Option選項(xiàng),用于通告終端主機(jī)網(wǎng)關(guān)地址信息。LCRA收到TSV回復(fù)的ACK報(bào)文后,進(jìn)行報(bào)文解析,提取報(bào)文中為主機(jī)分配的IPv4地址信息,用于為該地址添加/32的路由表項(xiàng)。該表項(xiàng)主要有兩方面的作用:1.當(dāng)CPE接收到一個(gè)發(fā)往連接該CPE主機(jī)的4oVer6隧道報(bào)文后進(jìn)行解封裝,然后通過(guò)這條表項(xiàng)將報(bào)文發(fā)給LAN 口,之后轉(zhuǎn)發(fā)給相應(yīng)的主機(jī);2.當(dāng)連接該CPE的主機(jī)進(jìn)行ARP廣播時(shí),CPE可以通過(guò)該表項(xiàng)確定是否進(jìn)行代理ARP。當(dāng)子網(wǎng)內(nèi)的某一主機(jī)發(fā)出DHCPRELEASE報(bào)文或分配的地址租約到期時(shí),CPE會(huì)刪除路由表中的對(duì)應(yīng)表項(xiàng)。同時(shí),LCRA會(huì)從DHCPACK報(bào)文中的Router Option選項(xiàng)中提取網(wǎng)關(guān)的IPv4地址信息,該地址用于與當(dāng)前CPE設(shè)備的MAC地址進(jìn)行綁定。當(dāng)主機(jī)發(fā)出ARP請(qǐng)求獲取網(wǎng)關(guān)的MAC地址時(shí),CPE便會(huì)使用自己的MAC地址進(jìn)行ARP應(yīng)答。數(shù)據(jù)層面主要是對(duì)數(shù)據(jù)的封裝、解封裝和轉(zhuǎn)發(fā)。CPE和BR設(shè)備的作用是進(jìn)行雙向的封裝、解封裝,并將封裝后的報(bào)文通過(guò)4oVer6隧道發(fā)送給對(duì)端。CPE設(shè)備和下連主機(jī)之間、BR與IPv4Internet之間進(jìn)行正常IPv4轉(zhuǎn)發(fā)。BR維護(hù)IPv4_IPv6地址映射表,用于確定正確的IPv6封裝地址。當(dāng)主機(jī)通過(guò)DHCP過(guò)程獲取IPv4地址后,BR會(huì)添加相應(yīng)的IPv4-1Pv6映射表項(xiàng)。其中,IPv4地址是主機(jī)的地址,IPv6地址為CPE的地址。由于同一 CPE下會(huì)連接多臺(tái)主機(jī),因此會(huì)出現(xiàn)一個(gè)IPv6地址對(duì)應(yīng)多個(gè)IPv4地址的情況。BR接收IPv4報(bào)文后,會(huì)根據(jù)其中目的IPv4地址查詢地址映射表,即以IPv4地址作為索引進(jìn)行查詢,然后根據(jù)查詢所得的IPv6地址封裝轉(zhuǎn)發(fā)給相應(yīng)的CPE,因此BR能夠進(jìn)行正確的封裝轉(zhuǎn)發(fā)。
當(dāng)主機(jī)間進(jìn)行互訪時(shí),會(huì)出現(xiàn)兩種情況。一種情況是兩臺(tái)主機(jī)連接的是同一個(gè)CPE。首先,發(fā)起端廣播ARP請(qǐng)求。目的端接收到這個(gè)ARP包后,用自己的IPv4地址和MAC地址進(jìn)行ARP應(yīng)答,雙方即可建立通信。另一種情況是兩個(gè)主機(jī)分別連接同一個(gè)BR下的兩臺(tái)CPE設(shè)備。首先發(fā)起端廣播ARP請(qǐng)求。CPE接收到這個(gè)請(qǐng)求后,查詢其維護(hù)的ARP表,發(fā)現(xiàn)沒有與ARP請(qǐng)求中目的IPv4地址對(duì)應(yīng)的表項(xiàng)。CPE便用自己的MAC地址進(jìn)行ARP應(yīng)答,即CPE進(jìn)行代理ARP。當(dāng)需要向此IPv4地址發(fā)送數(shù)據(jù)時(shí),發(fā)起端主機(jī)先將數(shù)據(jù)發(fā)送給代理網(wǎng)關(guān)CPE,由CPE進(jìn)行封裝,轉(zhuǎn)發(fā)給BR。BR接收到后進(jìn)行解封裝,根據(jù)得到的IPv4報(bào)文中的目的地址查詢IPv4-1Pv6映射表,從而得到目的端對(duì)應(yīng)的CPE設(shè)備的IPv6地址,并將其作為目的地址對(duì)該報(bào)文進(jìn)行再封裝,然后轉(zhuǎn)發(fā)給相應(yīng)的CPE。CPE接收到后進(jìn)行解封裝并轉(zhuǎn)發(fā)給目的主機(jī)。目的端主機(jī)進(jìn)行回復(fù)時(shí)的過(guò)程與上述過(guò)程相同。 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:1.LCRA功能與CPE設(shè)備結(jié)合,在不改動(dòng)客戶主機(jī)的前提下實(shí)現(xiàn)跨IPv6網(wǎng)絡(luò)的公有IPv4地址獲取,并以CPE為發(fā)起點(diǎn)自動(dòng)建立4over6隧道。2.對(duì)LCRA進(jìn)行功能擴(kuò)展,協(xié)助CPE設(shè)備自動(dòng)開啟代理ARP功能。3.實(shí)現(xiàn)IPv6單棧接入網(wǎng)中IPv4主機(jī)間的互訪。
圖1是本發(fā)明的適用場(chǎng)景拓?fù)鋱D。圖2 是 DHCPv4over IPv6 過(guò)程圖。
圖3是主機(jī)訪問外網(wǎng)的報(bào)文交互圖。圖4是同一 CPE下主機(jī)互訪報(bào)文交互圖。圖5是不同CPE下主機(jī)互訪報(bào)文交互圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式。本發(fā)明針對(duì)的應(yīng)用場(chǎng)景如圖1所示,即接入網(wǎng)為IPv6單棧網(wǎng)絡(luò),CPE作為隧道發(fā)起點(diǎn),實(shí)現(xiàn)IPv4終端主機(jī)通過(guò)4over6隧道訪問IPv4Internet。本發(fā)明主要涉及DHCPv4overIPv6和LCRA處理Router Option過(guò)程、主機(jī)訪問Internet報(bào)文交互過(guò)程以及主機(jī)間互訪報(bào)文交互過(guò)程。下面對(duì)這三個(gè)過(guò)程進(jìn)行具體描述。第一、DHCPv4overIPv6 過(guò)程,如圖 2 所示:I)主機(jī)廣播 DHCP Discover 請(qǐng)求;2) LCRA接收到后將報(bào)文的IPv4報(bào)頭替換為IPv6報(bào)頭,源地址為CPE的IPv6地址,目的地址為TSV的IPv6地址;3)TSV收到請(qǐng)求后,將網(wǎng)關(guān)的IPv4地址添加到Router Option選項(xiàng)回復(fù)DHCPOffer,并將DHCP報(bào)文放入IPv6數(shù)據(jù)包中,單播發(fā)給LCRA ;4) LCRA接收到報(bào)文后將IPv6報(bào)頭替換為IPv4報(bào)頭,并將DHCP Offer報(bào)文轉(zhuǎn)發(fā)給相應(yīng)的主機(jī);5)主機(jī)接收到DHCP Offer報(bào)文后,發(fā)送DHCP Request報(bào)文;
6) LCRA收到該報(bào)文后,將其改造并轉(zhuǎn)發(fā)給TSV ;7) TSV收到后進(jìn)行解析得到DHCP Request報(bào)文,然后回復(fù)DHCP ACK報(bào)文,通過(guò)IPv6單播發(fā)給LCRA ;8)LCRA得到DHCP ACK報(bào)文,獲取其中Router Option選項(xiàng)中的網(wǎng)關(guān)地址信息,與CPE的IPv4地址進(jìn)行綁定;同時(shí)獲取報(bào)文中的地址分配信息,然后由CPE設(shè)備為該地址建立一條/32的路由;將DHCP ACK報(bào)文發(fā)送給相應(yīng)主機(jī)。第二、主機(jī)訪問IPv4Internet的過(guò)程,如圖3所示:I)主機(jī)-1 (192.0.0.2/24)需要訪問IPv4Internet的某一公網(wǎng)地址,如,192.0.1.2/24。主機(jī)-1發(fā)出ARP請(qǐng)求,詢問網(wǎng)關(guān)的MAC地址。2)發(fā)起點(diǎn)CPE以自己的MAC地址進(jìn)行ARP應(yīng)答,即進(jìn)行ARP代理;3)主機(jī)-1將IPv4報(bào)文發(fā)送至發(fā)起點(diǎn)CPE ;4)發(fā)起點(diǎn)CPE接收到該報(bào)文后,以自己的IPv6地址(2001::5/64)為源地址,匯聚點(diǎn)BR的IPv6地址(2001:: 2/64)為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文,然后通過(guò)4over6隧道發(fā)送給匯聚點(diǎn)BR ;5)匯聚點(diǎn)BR接收到數(shù)據(jù)包后解封裝成IPv4報(bào)文,然后根據(jù)其中的目的IPv4地址信息(192.0.1.2/24)進(jìn)行正常IPv4轉(zhuǎn)發(fā);6) IPv4Internet的服務(wù)器進(jìn)行回復(fù),其源地址為192.0.1.2/24,目的地址為主機(jī)-1 的 IPv4 地址(192.0.0.2/24);7)匯聚點(diǎn)BR 接收該IPv4報(bào)文,根據(jù)其目的地址信息查詢IPv4_IPv6映射表。如果在映射表中查詢到該目的地址對(duì)應(yīng)的CPE地址(2001:: 5/64),則以自己的IPv6地址為源地址,CPE的IPv6地址為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文,然后通過(guò)4over6隧道發(fā)送給CPE。否則,丟棄該報(bào)文;8)發(fā)起點(diǎn)CPE接收到后將其解封裝成IPv4報(bào)文,然后根據(jù)其中的目的地址信息查詢/32路由表,通過(guò)LAN 口轉(zhuǎn)發(fā)給相應(yīng)的主機(jī)。第三、主機(jī)間互訪的過(guò)程:主機(jī)間互訪存在兩種情況:一種是兩個(gè)主機(jī)連接的是同一臺(tái)CPE,另一種情況是兩個(gè)主機(jī)連接的是不同的CPE。針對(duì)第一種情況,如圖4所示:I)主機(jī)-1 (192.0.0.3/24)廣播 ARP 請(qǐng)求,詢問主機(jī) _2(IP 地址為 192.0.0.4/24)的MAC地址;2)主機(jī)-2接收到主機(jī)-1的ARP請(qǐng)求后,將自己的MAC地址回復(fù)給主機(jī)_1。3)主機(jī)-1和主機(jī)-2即可建立通信。針對(duì)第二種情況,如圖5所示:I)主機(jī)-1 (192.0.0.5/24)廣播 ARP 請(qǐng)求,詢問主機(jī) _2(IP 地址為 192.0.0.6/24)的MAC地址;2) CPEl接收到這個(gè)請(qǐng)求后,查詢/32路由表,沒有找到192.0.0.6/32對(duì)應(yīng)的表項(xiàng),因而使用自己的MAC地址進(jìn)行ARP應(yīng)答,即進(jìn)行ARP代理;主機(jī)-1向主機(jī)-2發(fā)送IPv4報(bào)文時(shí),該報(bào)文會(huì)先發(fā)往CPEl ;3) CPEl接收這個(gè)報(bào)文,以自己的IPv6地址(2001::6/64)為源地址,BR的IPv6地址(2001:: 2/64)為目的地址封裝成IPv6報(bào)文,發(fā)送給BR ;4) BR接收到之后進(jìn)行解封裝,根據(jù)得到的IPv4報(bào)文中的目的地址(192.0.0.6/24)查找IPv4-1Pv6映射表,得到主機(jī)-2對(duì)應(yīng)的CPE2的IPv6地址2001::7/64。然后BR以自己的IPv6地址(2001::2/64)為源地址,CPE2的IPv6地址(2001:: 7/64)為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文并轉(zhuǎn)發(fā)給CPE2 ;5)CPE2接收到報(bào)文進(jìn)行解封裝,根據(jù)IPv4報(bào)文中的目的地址信息查詢/32路由表,然后通過(guò)LAN 口轉(zhuǎn)發(fā)給主機(jī)-2 ;6)主機(jī)-2回復(fù)主機(jī)-1的過(guò)程與上述過(guò)程相同。本發(fā)明在Public4OVer6技術(shù)的基礎(chǔ)上,通過(guò)對(duì)LCRA功能進(jìn)行擴(kuò)展,使其能夠獲取真正網(wǎng)關(guān)的地址信息,CPE設(shè)備通過(guò)其MAC地址與網(wǎng)關(guān)的IP地址的綁定實(shí)現(xiàn)代理ARP功能,從而在IPv6單棧接入網(wǎng)中,使連接在CPE設(shè)備下的主機(jī)在不做改動(dòng)的前提下跨越IPv6網(wǎng)絡(luò)獲取公有IPv4地址,并實(shí)現(xiàn)同一 Public4over6域內(nèi)的主機(jī)互訪。利用上述方法,4over6隧道過(guò)渡技術(shù)實(shí)現(xiàn)了用 戶無(wú)感知的向IPv6平滑過(guò)渡。
權(quán)利要求
1.一種基于ARP代理的4over6隧道自動(dòng)建立方法,其特征在于,將LCRA功能與CPE設(shè)備結(jié)合,獲取真正網(wǎng)關(guān)的地址信息并與CPE的MAC地址進(jìn)行綁定,使得CPE設(shè)備開啟代理ARP功能,在由IPv4到IPv6的過(guò)渡時(shí)期以IPv6單棧網(wǎng)絡(luò)為接入網(wǎng),實(shí)現(xiàn)現(xiàn)有IPv4終端主機(jī)不做改動(dòng)的情況下,跨越IPv6網(wǎng)絡(luò)獲取公有IPv4地址,并以CPE路由器作為隧道發(fā)起點(diǎn)建立 4over6 隧道訪問 IPv4Internet。
2.根據(jù)權(quán)I所述基于ARP代理的4oVer6隧道自動(dòng)建立方法,其特征在于,Public4over6域的主機(jī)通過(guò)DHCPv4over IPv6過(guò)程獲得公有IPv4地址: 當(dāng)TSV接收到主機(jī)發(fā)送的Discover請(qǐng)求后進(jìn)行回復(fù),TSV將網(wǎng)關(guān)的IPv4地址添加到Router Option中,將Offer報(bào)文發(fā)送給請(qǐng)求主機(jī)對(duì)應(yīng)的LCRA ; 當(dāng)LCRA接收到TSV發(fā)送的ACK報(bào)文后進(jìn)行解析,獲取Router Option選項(xiàng)中網(wǎng)關(guān)的IPv4地址信息,并與CPE路由器的MAC地址綁定;同時(shí),LCRA獲取ACK報(bào)文中地址分配信息,并為該地址在路由表中添加一條/32路由表項(xiàng)。
3.根據(jù)權(quán)I或2所述基于ARP代理的4oVer6隧道自動(dòng)建立方法,其特征在于,主機(jī)訪問IPv4Internet的某一公網(wǎng)地址,具體步驟如下: 主機(jī)發(fā)出ARP請(qǐng)求,詢問網(wǎng)關(guān)的MAC地址; 發(fā)起點(diǎn)CPE以自己的MAC地址進(jìn)行ARP應(yīng)答; 主機(jī)將IPv4報(bào)文發(fā)送至發(fā)起點(diǎn)CPE ; 發(fā)起點(diǎn)CPE接收到該報(bào)文后,以自己的IPv6地址為源地址,匯聚點(diǎn)BR的IPv6地址為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文,然后通過(guò)4oVer6隧道發(fā)送給匯聚點(diǎn)BR ; 匯聚點(diǎn)BR接收到數(shù)據(jù)包后解封裝成IPv4報(bào)文,然后根據(jù)其中的目的IPv4地址信息進(jìn)行正常IPv4轉(zhuǎn)發(fā); IPv4Internet的服務(wù)器進(jìn)行回復(fù),IPv4報(bào)文路由到達(dá)匯聚點(diǎn)BR ; 匯聚點(diǎn)BR接收該IPv4報(bào)文,根據(jù)其目的地址信息查詢IPv4-1Pv6映射表,如果在映射表中查詢到該目的地址對(duì)應(yīng)的CPE IPv6地址,則以BR的IPv6地址為源地址,CPE的IPv6地址為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文,然后通過(guò)4oVer6隧道發(fā)送給CPE ;否則,丟棄該報(bào)文; 發(fā)起點(diǎn)CPE接收到后將其解封裝成IPv4報(bào)文,然后根據(jù)其中的目的地址信息查詢/32路由表,通過(guò)LAN 口轉(zhuǎn)發(fā)給相應(yīng)的主機(jī)。
4.根據(jù)權(quán)I或2所述基于ARP代理的4oVer6隧道自動(dòng)建立方法,其特征在于,同一PubI ic域內(nèi)的主機(jī)間進(jìn)行通信,具體步驟如下: 發(fā)起端主機(jī)-1首先會(huì)廣播ARP請(qǐng)求,詢問目的端主機(jī)-2的MAC地址; 如果主機(jī)-1和主機(jī)-2連接同一個(gè)CPE,則主機(jī)-2接收到ARP請(qǐng)求后進(jìn)行ARP應(yīng)答。主機(jī)-1可根據(jù)主機(jī)-2的地址信息,直接將IPv4報(bào)文發(fā)送給主機(jī)-2 ; 如果主機(jī)-1和主機(jī)-2連接的是不同的CPE,則CPEl會(huì)對(duì)主機(jī)-1的ARP請(qǐng)求進(jìn)行ARP應(yīng)答,當(dāng)主機(jī)-1向主機(jī)-2發(fā)送IPv4報(bào)文,該報(bào)文將先發(fā)給CPEl ; CPEl接收這個(gè)報(bào)文,以自己的IPv6地址為源地址,BR的IPv6地址為目的地址封裝成IPv6報(bào)文,發(fā)送給BR; BR接收到之后進(jìn)行解封裝,根據(jù)得到的IPv4報(bào)文中的目的地址查找IPv4-1Pv6映射表,得到主機(jī)-2對(duì)應(yīng)的CPE2的IPv6地址,然后BR以自己的IPv6地址為源地址,CPE2的IPv6地址為目的地址將該IPv4報(bào)文封裝成IPv6報(bào)文并轉(zhuǎn)發(fā)給CPE2 ; CPE2接收到報(bào)文進(jìn)行解封裝,根據(jù)IPv4報(bào)文中的目的地址信息查詢/32路由表,然后通過(guò)LAN 口轉(zhuǎn)發(fā)給主機(jī)-2 ; 主機(jī)-2以相同過(guò)程向主機(jī)-1回復(fù)。
5.根據(jù)權(quán)利要求4所述的基于ARP代理的4oVer6隧道自動(dòng)建立方法,其特征在于,所述發(fā)起端主機(jī)-1通過(guò)廣播ARP請(qǐng)求詢問目的端主機(jī)-2的MAC地址時(shí): 如果兩臺(tái)主機(jī)連接的是同一臺(tái)CPE,那么目的端主機(jī)能夠收到發(fā)起端的ARP請(qǐng)求,并使用自己的MAC地址進(jìn)行ARP應(yīng)答; 如果兩臺(tái)主機(jī)連接的是不同的CPE,那么CPEl接收到主機(jī)-1的ARP請(qǐng)求后,查詢/32路由表,發(fā)現(xiàn)其中沒有相應(yīng)的表項(xiàng),CPEl使用自己的MAC地址進(jìn)行ARP應(yīng)答。
全文摘要
一種基于ARP代理的4over6隧道自動(dòng)建立方法,將LCRA功能與CPE設(shè)備結(jié)合,獲取真正網(wǎng)關(guān)的地址信息并與CPE的MAC地址進(jìn)行綁定,使得CPE設(shè)備開啟代理ARP功能,在由IPv4到IPv6的過(guò)渡時(shí)期以IPv6單棧網(wǎng)絡(luò)為接入網(wǎng),實(shí)現(xiàn)現(xiàn)有IPv4終端主機(jī)不做改動(dòng)的情況下,跨越IPv6網(wǎng)絡(luò)獲取公有IPv4地址,并以CPE路由器作為隧道發(fā)起點(diǎn)建立4over6隧道訪問IPv4Internet,實(shí)現(xiàn)了IPv6單棧接入網(wǎng)中IPv4主機(jī)間的互訪。
文檔編號(hào)H04L12/749GK103227787SQ20131012029
公開日2013年7月31日 申請(qǐng)日期2013年4月9日 優(yōu)先權(quán)日2013年4月9日
發(fā)明者崔勇, 孫琪, 劉聰, 張彬 申請(qǐng)人:清華大學(xué)