專利名稱:建立IPv6隧道的方法、IPv6隧道通信方法及IPv4邊緣設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,具體涉及一種建立網(wǎng)際協(xié)議版本6(IPv6,Internet Protocol version 6)隧道的方法、IPv6隧道通信方法及網(wǎng)際協(xié)議版本4(IPv4,Internet Protocol version 4)邊緣設(shè)備。
背景技術(shù):
目前,IPv6網(wǎng)絡(luò)的部署已經(jīng)在全球范圍內(nèi)展開,隨著IPv6網(wǎng)絡(luò)的發(fā)展,現(xiàn)有網(wǎng)絡(luò)中出現(xiàn)了許多局部的IPv6網(wǎng)絡(luò),這些IPv6網(wǎng)絡(luò)可能是通過運(yùn)行IPv4協(xié)議的骨干網(wǎng)絡(luò)相連。為了使這些孤立的“IPv6島”能夠相互聯(lián)通,現(xiàn)有技術(shù)提出的一種解決方案是采用IPv6隧道技術(shù),實(shí)現(xiàn)IPv6報(bào)文穿越IPv4網(wǎng)絡(luò)的通信。
IPv6隧道技術(shù)是將IPv6報(bào)文封裝在IPv4報(bào)文中,從而使得IPv6報(bào)文能夠穿過IPv4網(wǎng)絡(luò)進(jìn)行通信。對于采用IPv6隧道技術(shù)的邊緣設(shè)備來說,在隧道的入口處,需要將IPv6報(bào)文封裝進(jìn)IPv4報(bào)文,該IPv4報(bào)文的源地址和目的地址分別是隧道入口和隧道出口的IPv4地址,從而該IPv4報(bào)文能夠在IPv4網(wǎng)絡(luò)中被路由到隧道出口;在隧道的出口處,再將其中的IPv6報(bào)文取出,并轉(zhuǎn)發(fā)到目的節(jié)點(diǎn),實(shí)現(xiàn)IPv6報(bào)文穿越IPv4網(wǎng)絡(luò)。
現(xiàn)有的IPv6隧道技術(shù)具體有手工配置隧道、6 to 4隧道和自動(dòng)隧道技術(shù)(ISATAP,Intra-Site Automatic Tunnel Addressing Protocol)等?,F(xiàn)有的IPv6隧道技術(shù)的缺點(diǎn)在于通常只能提供點(diǎn)到點(diǎn)隧道;要求邊緣設(shè)備支持多協(xié)議標(biāo)簽交換(MPLS,Multi Protocol Label Switch)技術(shù)或IPv4/IPv6雙協(xié)議棧技術(shù)(即同時(shí)支持IPv4報(bào)文和IPv6報(bào)文轉(zhuǎn)發(fā)和相應(yīng)協(xié)議報(bào)文處理能力),而為使邊緣設(shè)備能夠支持MPLS技術(shù)或IPv4/IPv6雙協(xié)議棧技術(shù),一般需要對現(xiàn)有的邊緣設(shè)備的硬件進(jìn)行更換或升級;現(xiàn)有的隧道技術(shù)都是將IPv6報(bào)文的報(bào)頭(包括報(bào)頭)以后的部分封裝進(jìn)IPv4報(bào)文,且只能提供點(diǎn)到點(diǎn)的隧道,并且,其中有的隧道技術(shù)需要為邊緣設(shè)備配置特定格式的IPv6地址,這更增加了配置難度,也限制了其應(yīng)用。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種建立IPv6隧道的方法、IPv6隧道通信方法及IPv4邊緣設(shè)備,無需IPv4邊緣設(shè)備支持IPv4/IPv6雙協(xié)議?;騇PLS技術(shù),即可實(shí)現(xiàn)IPv6報(bào)文穿越IPv4網(wǎng)絡(luò)的通信。
為解決上述技術(shù)問題,本發(fā)明提供方案如下一種建立IPv6隧道的方法,用于在IPv4邊緣設(shè)備間建立IPv6隧道,所述IPv4邊緣設(shè)備設(shè)置在IPv4網(wǎng)絡(luò)的邊緣,分別與IPv6網(wǎng)絡(luò)和IPv4網(wǎng)絡(luò)連接,并且IPv4邊緣設(shè)備之間通過IPv4網(wǎng)絡(luò)連接,該方法在本地IPv4邊緣設(shè)備上配置該IPv6隧道的至少一個(gè)遠(yuǎn)端的IP地址信息。
本發(fā)明所述建立IPv6隧道的方法中,所述IPv6隧道為點(diǎn)到多點(diǎn)的IPv6隧道;所述配置該IPv6隧道的至少一個(gè)遠(yuǎn)端的IP地址信息是在該IPv6隧道的各端點(diǎn)的IPv4邊緣設(shè)備上配置該端點(diǎn)的多個(gè)遠(yuǎn)端的IP地址信息。
一種IPv6隧道通信方法,應(yīng)用于根據(jù)權(quán)利要求1所建立的IPv6隧道中,包括以下步驟A,IPv4邊緣設(shè)備接收到二層IPv6報(bào)文后,將所述二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文中,并將封裝后的IPv4報(bào)文發(fā)送至其隧道遠(yuǎn)端,所述二層IPv6報(bào)文為數(shù)據(jù)鏈路層上的IPv6報(bào)文,所述封裝后的IPv4報(bào)文中攜帶有用于指示其自身封裝有二層IPv6報(bào)文的指示信息;B,隧道遠(yuǎn)端的IPv4邊緣設(shè)備對其接收到的包括有所述指示信息的IPv4報(bào)文進(jìn)行解封裝,獲取所述二層IPv6報(bào)文后在本地轉(zhuǎn)發(fā)。
本發(fā)明所述IPv6隧道通信方法中,所述步驟A中,所述將封裝后的IPv4報(bào)文發(fā)送至其隧道遠(yuǎn)端是,設(shè)置所述封裝后的IPv4報(bào)文的目的地址為其隧道遠(yuǎn)端的IP地址,根據(jù)本地路由表將所述封裝后的IPv4報(bào)文轉(zhuǎn)發(fā)。
本發(fā)明所述IPv6隧道通信方法中,所述IPv6隧道為點(diǎn)到多點(diǎn)的IPv6隧道;所述步驟A中,所述將封裝后的IPv4報(bào)文發(fā)送至其隧道遠(yuǎn)端是,將所述封裝后的IPv4報(bào)文發(fā)送到其點(diǎn)到多點(diǎn)的IPv6隧道的所有遠(yuǎn)端。
本發(fā)明所述IPv6隧道通信方法中,所述步驟A中,所述IPv4邊緣設(shè)備接收到二層IPv6報(bào)文是,根據(jù)接收到二層報(bào)文的幀頭的類型字段,判斷該二層報(bào)文是否為二層IPv6報(bào)文。
本發(fā)明所述IPv6隧道通信方法中,所述步驟A中,所述將二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文是,將所述二層IPv6報(bào)文封裝在IPv4報(bào)文的凈載荷區(qū)域。
本發(fā)明所述IPv6隧道通信方法中,所述步驟A中,所述指示信息是所述封裝后的IPv4報(bào)文的報(bào)頭中協(xié)議字段的一個(gè)預(yù)定值。
本發(fā)明所述IPv6隧道通信方法中,所述步驟B中,所述在本地轉(zhuǎn)發(fā)所述二層IPv6報(bào)文是在本地對所述二層IPv6報(bào)文進(jìn)行泛洪。
本發(fā)明所述IPv6隧道通信方法中,所述步驟A中,在所述二層IPv6報(bào)文超過預(yù)定長度時(shí),IPv4邊緣設(shè)備進(jìn)一步對所述二層IPv6報(bào)文進(jìn)行分片,將得到的所述二層IPv6報(bào)文的片段分別封裝進(jìn)IPv4報(bào)文中并發(fā)送至其隧道遠(yuǎn)端;所述步驟B中,隧道遠(yuǎn)端的IPv4邊緣設(shè)備進(jìn)一步對從所述封裝后的IPv4報(bào)文中獲取的二層IPv6報(bào)文的片段進(jìn)行重組,得到所述二層IPv6報(bào)文。
本發(fā)明所述IPv6隧道通信方法中,IPv4邊緣設(shè)備從其隧道遠(yuǎn)端學(xué)習(xí)MAC地址以及該MAC對應(yīng)的VLAN信息,并維護(hù)遠(yuǎn)端MAC表項(xiàng),所述遠(yuǎn)端MAC表項(xiàng)中包括隧道信息、從該隧道遠(yuǎn)端學(xué)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系;所述步驟A中,IPv4邊緣設(shè)備接收到二層IPv6報(bào)文后,進(jìn)一步根據(jù)所述二層IPv6報(bào)文的目的MAC地址查找其所維護(hù)的遠(yuǎn)端MAC表項(xiàng),如果其中存在所述目的MAC地址,則將所述封裝后的IPv4報(bào)文發(fā)送至所述目的MAC地址對應(yīng)的隧道遠(yuǎn)端;否則,將所述封裝后的IPv4報(bào)文發(fā)送至所述IPv4邊緣設(shè)備的所有的隧道遠(yuǎn)端。
本發(fā)明所述IPv6隧道通信方法中,IPv4邊緣設(shè)備從本地端口學(xué)習(xí)MAC地址及該MAC地址對應(yīng)的VLAN信息,并維護(hù)本地MAC表項(xiàng),所述本地MAC表項(xiàng)中包括本地端口、從該本地端口學(xué)習(xí)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系;
所述步驟B中,所述在本地轉(zhuǎn)發(fā)所述二層IPv6報(bào)文包括隧道遠(yuǎn)端的IPv4邊緣設(shè)備根據(jù)所述二層IPv6報(bào)文的目的MAC地址查找其所維護(hù)的本地MAC表項(xiàng),如果其中存在所述目的MAC地址,則將所述二層IPv6報(bào)文通過所述目的MAC地址對應(yīng)的本地端口進(jìn)行轉(zhuǎn)發(fā);否則,根據(jù)所述二層IPv6報(bào)文的VLAN信息,在該VLAN對應(yīng)的所有本地端口上對所述二層IPv6報(bào)文進(jìn)行泛洪。
一種IPv4邊緣設(shè)備,包括隧道建立單元,用于配置并保存該IPv4邊緣設(shè)備所屬IPv6隧道的至少一個(gè)遠(yuǎn)端的IP地址信息。
本發(fā)明所述的設(shè)備,其中,所述隧道建立單元進(jìn)一步用于配置并保存該IPv4邊緣設(shè)備所屬點(diǎn)到多點(diǎn)的IPv6隧道的多個(gè)遠(yuǎn)端的IP地址信息。
本發(fā)明所述的設(shè)備,其中,其特征在于還包括隧道建立單元IPv6報(bào)文接收單元,用于接收二層IPv6報(bào)文,將接收到的二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文,并在封裝后的IPv4報(bào)文中設(shè)置用于指示該IPv4報(bào)文中封裝有二層IPv6報(bào)文的指示信息,其中,所述二層IPv6報(bào)文為數(shù)據(jù)鏈路層上的IPv6報(bào)文;IPv4報(bào)文發(fā)送單元,用于根據(jù)所述隧道建立單元配置的IPv6隧道,將所述IPv6報(bào)文接收單元得到的所述封裝后的IPv4報(bào)文發(fā)送至隧道遠(yuǎn)端。
本發(fā)明所述的設(shè)備,其中,所述IPv6報(bào)文接收單元,進(jìn)一步用于將所述二層IPv6報(bào)文封裝在IPv4報(bào)文的凈載荷區(qū)域,并設(shè)置所述封裝后的IPv4報(bào)文的報(bào)頭中協(xié)議字段的一個(gè)預(yù)定值為所述指示信息。
本發(fā)明所述的設(shè)備,其中,隧道建立單元所述IPv4報(bào)文發(fā)送單元,進(jìn)一步用于根據(jù)所述隧道建立單元配置的隧道遠(yuǎn)端的IP地址,設(shè)置所述封裝后的IPv4報(bào)文的目的地址,并根據(jù)本地路由表將所述封裝后的IPv4報(bào)文轉(zhuǎn)發(fā)。
本發(fā)明所述的設(shè)備,其中,所述隧道建立單元進(jìn)一步配置并保存該IPv4邊緣設(shè)備所屬點(diǎn)到多點(diǎn)的IPv6隧道的多個(gè)遠(yuǎn)端的IP地址信息;所述IPv4報(bào)文發(fā)送單元,進(jìn)一步用于將所述封裝后的IPv4報(bào)文發(fā)送到點(diǎn)到多點(diǎn)的IPv6隧道的所有遠(yuǎn)端。
本發(fā)明所述的設(shè)備,其中還包括IPv4報(bào)文接收單元,用于接收來自隧道遠(yuǎn)端的IPv4報(bào)文,并根據(jù)接收到的IPv4報(bào)文中是否攜帶有所述指示信息,判斷出所述封裝后的IPv4報(bào)文并進(jìn)行解封裝,獲取其中的二層IPv6報(bào)文;IPv6報(bào)文轉(zhuǎn)發(fā)單元,用于在本地轉(zhuǎn)發(fā)所述IPv4報(bào)文接收單元獲取的所述二層IPv6報(bào)文。
本發(fā)明所述的設(shè)備,其中還包括遠(yuǎn)端MAC表項(xiàng)維護(hù)單元,用于從隧道遠(yuǎn)端學(xué)習(xí)MAC地址以及該MAC對應(yīng)的VLAN信息,并記錄隧道信息、從該隧道遠(yuǎn)端學(xué)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系;所述IPv4報(bào)文發(fā)送單元,進(jìn)一步根據(jù)所述二層IPv6報(bào)文的目的MAC地址,查找所述遠(yuǎn)端MAC表項(xiàng)維護(hù)單元,如果其中存在所述目的MAC地址,則將所述封裝后的IPv4報(bào)文發(fā)送至所述目的MAC地址對應(yīng)的隧道遠(yuǎn)端;否則,將所述封裝后的IPv4報(bào)文發(fā)送至所述IPv4邊緣設(shè)備的所有的隧道遠(yuǎn)端。
本發(fā)明所述的設(shè)備,其中還包括本地MAC表項(xiàng)維護(hù)單元,用于從本地端口學(xué)習(xí)MAC地址及該MAC地址對應(yīng)的VLAN信息,并記錄本地端口、從該本地端口學(xué)習(xí)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系;所述IPv6報(bào)文轉(zhuǎn)發(fā)單元,進(jìn)一步用于根據(jù)所述二層IPv6報(bào)文的目的MAC地址查找所述本地MAC表項(xiàng)維護(hù)單元,如果其中存在所述目的MAC地址,則將所述二層IPv6報(bào)文通過所述目的MAC地址對應(yīng)的本地端口進(jìn)行轉(zhuǎn)發(fā);否則,根據(jù)所述二層IPv6報(bào)文的VLAN信息,在該VLAN對應(yīng)的所有本地端口上對所述二層IPv6報(bào)文進(jìn)行泛洪。
從以上所述可以看出,本發(fā)明提供的建立IPv6隧道的方法、IPv6隧道通信方法及IPv4邊緣設(shè)備,將包括幀頭的二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文后,通過IPv4網(wǎng)絡(luò)傳輸?shù)剿淼肋h(yuǎn)端后,再提取其中的二層IPv6報(bào)文在本地轉(zhuǎn)發(fā),從而無需對網(wǎng)絡(luò)邊緣設(shè)備進(jìn)行硬件升級,也無需為邊緣設(shè)備配置特定格式的IP地址,即可實(shí)現(xiàn)IPv6報(bào)文穿越IPv4網(wǎng)絡(luò)的通信。本發(fā)明還可建立點(diǎn)到多點(diǎn)的IPv6隧道,實(shí)現(xiàn)點(diǎn)到多點(diǎn)的通信。并且,本發(fā)明還提供了對超長IPv6報(bào)文的分片處理方法。
圖1為一種應(yīng)用本發(fā)明實(shí)施例所述IPv6隧道通信方法的網(wǎng)絡(luò)的結(jié)構(gòu)圖;圖2為本發(fā)明實(shí)施例所述IPv6隧道通信方法的流程圖;圖3為本發(fā)明實(shí)施例所述IPv4邊緣設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明提供了一種建立IPv6隧道的方法、IPv6隧道通信方法及IPv4邊緣設(shè)備,通過在IPv4網(wǎng)絡(luò)中透傳二層IPv6報(bào)文,從而無需IPv4邊緣設(shè)備支持IPv4/IPv6雙協(xié)議棧技術(shù)或MPLS技術(shù),即可實(shí)現(xiàn)IPv6終端通過IPv4網(wǎng)絡(luò)的通信。以下結(jié)合附圖通過具體實(shí)施例對本發(fā)明做詳細(xì)的說明。
圖1所示為一種應(yīng)用本發(fā)明實(shí)施例所述IPv6隧道通信方法的網(wǎng)絡(luò)的結(jié)構(gòu)圖。圖1中包括3個(gè)局部的IPv6網(wǎng)絡(luò)1~3和一個(gè)IPv4網(wǎng)絡(luò),在IPv6網(wǎng)絡(luò)與IPv4網(wǎng)絡(luò)的邊緣處有3個(gè)運(yùn)行IPv4協(xié)議的IPv4邊緣設(shè)備A、B和C。其中,IPv6設(shè)備a1和a2屬IPv6網(wǎng)絡(luò)1,并分別與IPv4邊緣設(shè)備A連接;IPv6設(shè)備b1和b2屬于IPv6網(wǎng)絡(luò)2,并分別與IPv4邊緣設(shè)備B連接;IPv6設(shè)備c1和c2屬于IPv6網(wǎng)絡(luò)3,并分別與IPv4邊緣設(shè)備C連接。這里,為了方便說明,假設(shè)a1、a2、b1、b2、c1和c2的媒體訪問控制(MAC,Media Access Control)地址分別為0000-0000-00A1、0000-0000-00A2、0000-0000-00B1、0000-0000-00B2、0000-0000-00C1和0000-0000-00C2;A、B和C的IPv4地址分別為1.1.1.1、1.1.1.2和1.1.1.3。以下首先對建立IPv6隧道的方法進(jìn)行說明本發(fā)明實(shí)施所述建立IPv6隧道的方法,通過在本地IPv4邊緣設(shè)備上配置該IPv6隧道的至少一個(gè)遠(yuǎn)端的IP地址信息,在IPv4邊緣設(shè)備間建立IPv6隧道。與現(xiàn)有技術(shù)不同的是,本實(shí)施例中隧道兩端的IPv4邊緣設(shè)備無需支持MPLS轉(zhuǎn)發(fā)或IPv4/IPv6雙協(xié)議棧技術(shù)。這里,在運(yùn)行IPv4協(xié)議的IPv4邊緣設(shè)備間建立隧道,隧道的兩端,即本地和遠(yuǎn)端,都是IPv4邊緣設(shè)備。建立隧道時(shí),需要在IPv4邊緣設(shè)備上配置其隧道遠(yuǎn)端的IP地址信息。以圖1為例,在A、B之間建立隧道時(shí),需要分別在A上配置其遠(yuǎn)端B的IP地址1.1.1.2,和在B上配置其遠(yuǎn)端A的IP地址1.1.1.1。
這里,還可以配置點(diǎn)到多點(diǎn)的IPv6隧道,通過點(diǎn)到多點(diǎn)隧道,報(bào)文可以同時(shí)到達(dá)多個(gè)遠(yuǎn)端分別在需要建立點(diǎn)到多點(diǎn)隧道的各端點(diǎn)配置該端點(diǎn)所有遠(yuǎn)端的IP地址信息,用以在該點(diǎn)到多點(diǎn)隧道的各端點(diǎn)之間建立全連接關(guān)系。以圖1為例,假設(shè)在A、B和C之間建立點(diǎn)到多點(diǎn)隧道,可以通過在A上配置該隧道遠(yuǎn)端B和C的IP地址,在B上配置該隧道遠(yuǎn)端A和C的IP地址,在C上配置該隧道遠(yuǎn)端A和B的IP地址,從而形成A到(B和C)、B到(A和C),和C到(A和B)的點(diǎn)到多點(diǎn)的全連接關(guān)系。
以下結(jié)合圖1對本發(fā)明實(shí)施例所述的IPv6隧道通信方法進(jìn)行說明,如圖2所示,本發(fā)明實(shí)施例所述IPv6隧道通信方法包括3個(gè)步驟步驟21,在IPv4邊緣設(shè)備間建立IPv6隧道,所述建立IPv6隧道包括在IPv4邊緣設(shè)備配置其隧道遠(yuǎn)端的IP地址信息。
步驟22,IPv4邊緣設(shè)備接收到二層IPv6報(bào)文后,將所述二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文中,并將封裝后的IPv4報(bào)文發(fā)送至其隧道遠(yuǎn)端,所述封裝后的IPv4報(bào)文中攜帶有用于指示其自身封裝有二層IPv6報(bào)文的指示信息。
這里,所述二層IPv6報(bào)文是數(shù)據(jù)鏈路層上的IPv6報(bào)文,包括以太網(wǎng)幀頭和幀尾,其中幀頭中又包括目的MAC地址、源MAC地址,還可能包括虛擬局域網(wǎng)(VLAN,Virtual Local Area Network)信息(如VLAN標(biāo)識ID)等。
這里,IPv4邊緣設(shè)備對于接收到的二層報(bào)文(以太網(wǎng)幀),可以根據(jù)該二層報(bào)文的幀頭的類型(Type)字段是否為0x86DD,判斷該二層報(bào)文是否為二層IPv6報(bào)文。IPv4邊緣設(shè)備將二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文的凈載荷(Payload)區(qū)域,并設(shè)置所述封裝后的IPv4報(bào)文的報(bào)頭中協(xié)議(Protocol)字段為一個(gè)預(yù)定值,用于作為指示該IPv4報(bào)文中封裝有二層IPv6報(bào)文的指示信息,同時(shí)設(shè)置所述封裝后的IPv4報(bào)文的目的IP地址為隧道遠(yuǎn)端的IP地址,通過本地路由表將所述封裝后的IPv4報(bào)文轉(zhuǎn)發(fā)。
這里,當(dāng)所述IPv4邊緣設(shè)備被配置了點(diǎn)到多點(diǎn)的IPv6隧道時(shí),所述封裝后的IPv4報(bào)文可以是被發(fā)送到該隧道的所有遠(yuǎn)端。仍以圖1為例,如果A、B和C之間配置了點(diǎn)到多點(diǎn)的IPv6隧道,當(dāng)A接收到一個(gè)2層IPv6報(bào)文時(shí),將該報(bào)文封裝進(jìn)IPv4報(bào)文后,分別發(fā)送至遠(yuǎn)端B和C。
步驟23,隧道遠(yuǎn)端的IPv4邊緣設(shè)備根據(jù)接收到的IPv4報(bào)文中是否攜帶有所述指示信息,判斷出所述封裝后的IPv4報(bào)文,并對所述封裝后的IPv4報(bào)文進(jìn)行解封裝,獲取所述二層IPv6報(bào)文后在本地轉(zhuǎn)發(fā)。
這里,所述封裝后的IPv4報(bào)文在IPv4網(wǎng)絡(luò)中被路由到隧道遠(yuǎn)端。隧道遠(yuǎn)端的IPv4邊緣設(shè)備接收到的所述封裝后的IPv4報(bào)文后,只在本地進(jìn)行轉(zhuǎn)發(fā),不再通過隧道發(fā)送至其它遠(yuǎn)端設(shè)備。
隧道遠(yuǎn)端的IPv4邊緣設(shè)備對所述封裝后的IPv4報(bào)文進(jìn)行解封裝,獲取其中的二層IPv6報(bào)文后,可以進(jìn)一步在本地所有端口上對所述二層IPv6報(bào)文進(jìn)行泛洪。繼續(xù)以圖1為例,如果A和B之間配置了隧道,當(dāng)A接收到一個(gè)2層IPv6報(bào)文時(shí),便可以按照步驟22將該報(bào)文封裝進(jìn)IPv4報(bào)文中,發(fā)送至B;B在接收到所述封裝后的IPV4報(bào)文后,解封裝獲取其中的2層IPv6報(bào)文,并在本地所有端口上進(jìn)行泛洪。
需要指出的是,如果IPv4邊緣設(shè)備接收到一個(gè)超過預(yù)定長度的二層IPv6報(bào)文,在步驟22中則無法將該二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文中。此時(shí),可以對該二層IPv6報(bào)文進(jìn)行分片,然后將各片段分別封裝進(jìn)IPv4報(bào)文,并通過隧道發(fā)送到隧道遠(yuǎn)端;在遠(yuǎn)端IPv4邊緣設(shè)備上接收到這些IPv4報(bào)文后,獲取其中的二層IPv6報(bào)文的片段并進(jìn)行重組,從而獲取完整的二層IPv6報(bào)文。
通過以上步驟,本實(shí)施例通過在IPv4網(wǎng)絡(luò)中透傳包括幀頭的二層IPv6報(bào)文,可以實(shí)現(xiàn)“IPv6島”之間的通信。當(dāng)所述二層IPv6報(bào)文為二層廣播報(bào)文或二層組播報(bào)文時(shí),本發(fā)明實(shí)施例所述IPv6隧道通信方法可以按照上述步驟進(jìn)行;當(dāng)所述二層IPv6報(bào)文為二層單播報(bào)文時(shí),本發(fā)明實(shí)施例所述IPv6隧道通信方法中還可以進(jìn)一步通過在隧道端點(diǎn)的IPv4邊緣設(shè)備上維護(hù)本地MAC表項(xiàng)和遠(yuǎn)端MAC表項(xiàng),根據(jù)所述二層IPv6報(bào)文的目的MAC地址有選擇的進(jìn)行轉(zhuǎn)發(fā)封裝后的IPv4報(bào)文,以更加有效的通過IPv4網(wǎng)絡(luò)發(fā)送IPv6報(bào)文,以下對此進(jìn)行說明。
首先,隧道端點(diǎn)上的IPv4邊緣設(shè)備學(xué)習(xí)隧道遠(yuǎn)端的MAC地址和該MAC地址對應(yīng)的VLAN等信息,維護(hù)遠(yuǎn)端MAC表項(xiàng),所述遠(yuǎn)端MAC表項(xiàng)如表1所示,用于記錄隧道信息(如隧道遠(yuǎn)端的IP地址)、從該隧道遠(yuǎn)端學(xué)到的MAC地址、該MAC地址對應(yīng)的VLAN信息(如VLAN ID)之間的對應(yīng)關(guān)系。同時(shí),IPv4邊緣設(shè)備還通過從本地端口學(xué)習(xí)MAC地址及該MAC地址對應(yīng)的VLAN信息,維護(hù)本地MAC表項(xiàng),所述本地MAC表項(xiàng)如表2所示,用于記錄本地端口、從該本地端口學(xué)習(xí)到的MAC地址、該MAC地址對應(yīng)的VLAN信息(如VLAN ID)之間的對應(yīng)關(guān)系。這里,還可以在所述遠(yuǎn)端MAC表項(xiàng)和本地MAC表項(xiàng)中為學(xué)習(xí)到的MAC地址設(shè)置MAC地址老化時(shí)間Age,如果在老化時(shí)間內(nèi)未接收到源地址為該MAC地址的幀,則從所述表項(xiàng)中刪除該MAC地址的對應(yīng)信息。
表1
表2在步驟22中,IPv4邊緣設(shè)備接收到二層IPv6報(bào)文后,進(jìn)一步學(xué)習(xí)所述二層IPv6報(bào)文的源MAC地址、對應(yīng)端口(接收到所述二層IPv6報(bào)文的本地端口)和該源MAC地址對應(yīng)的VLAN信息,并記錄在本地MAC表項(xiàng)中,同時(shí)查找其所維護(hù)的遠(yuǎn)端MAC表項(xiàng),判斷其中是否存在所述二層IPv6報(bào)文的目的MAC地址,如果存在,則將所述封裝后的IPv4報(bào)文發(fā)送至所述目的MAC地址對應(yīng)的隧道遠(yuǎn)端;否則,將所述封裝后的IPv4報(bào)文發(fā)送至該IPv4邊緣設(shè)備的所有的隧道遠(yuǎn)端。
這里,所述IPv4邊緣設(shè)備,還可以進(jìn)一步查找并判斷其本地MAC表項(xiàng)中是否存在所述二層IPv6報(bào)文的目的MAC地址,如果存在,則表明所述二層IPv6報(bào)文不需通過隧道發(fā)送,只需在學(xué)習(xí)到該目的MAC地址的本地端口上轉(zhuǎn)發(fā);如果不存在,則根據(jù)所述二層IPv6報(bào)文的VLAN信息,在該VLAN對應(yīng)的所有本地端口上對所述二層IPv6報(bào)文進(jìn)行泛洪。
在步驟23中,隧道遠(yuǎn)端的IPv4邊緣設(shè)備通過解封裝所述封裝后的IPv4報(bào)文,獲取所述二層IPv6報(bào)文后,進(jìn)一步學(xué)習(xí)所述二層IPv6報(bào)文的源MAC地址、對應(yīng)隧道信息(接收到所述封裝后的IPv4報(bào)文的隧道的遠(yuǎn)端的IP地址)和VLAN信息,并記錄在遠(yuǎn)端MAC表項(xiàng)中,同時(shí),查找其所維護(hù)的本地MAC表項(xiàng),判斷其中是否存在所述二層IPv6報(bào)文的目的MAC地址及對應(yīng)的端口,如果存在,則將所述二層IPv6報(bào)文通過所述目的MAC地址對應(yīng)的本地端口進(jìn)行轉(zhuǎn)發(fā);否則,根據(jù)所述二層IPv6報(bào)文的VLAN信息,在該VLAN對應(yīng)的所有本地端口上對所述二層IPv6報(bào)文進(jìn)行泛洪。
下面仍以圖1中的網(wǎng)絡(luò)舉例,對上述IPv6報(bào)文的轉(zhuǎn)發(fā)作更為具體的說明。
假設(shè)a1、a2、b1、b2、c1和c2都屬于VLAN ID為10的VLAN;在A、B和C之間配置了點(diǎn)到多點(diǎn)隧道,建立全連接關(guān)系;并且,A、B和C上都各自維護(hù)著本地MAC表項(xiàng)和遠(yuǎn)端MAC表項(xiàng)。
第一個(gè)二層IPv6報(bào)文從a1進(jìn)入A(通過A的端口G1/1/1),該二層IPv6報(bào)文的目的MAC地址是0000-0000-00B1(b1的MAC地址),源MAC地址是0000-0000-00A1(a1的MAC地址);A學(xué)習(xí)該二層IPv6報(bào)文的源MAC地址(0000-0000-00A1)、對應(yīng)端口(G1/1/1)和VLAN信息(VLAN ID10),并記錄在本地MAC表項(xiàng)中,如表3所示;A根據(jù)該二層IPv6報(bào)文的目的MAC地址查找其本地MAC表項(xiàng)和遠(yuǎn)端MAC表項(xiàng),由于此時(shí)本地MAC表項(xiàng)和遠(yuǎn)端MAC表項(xiàng)中尚無相應(yīng)記錄,因此沒有找到對應(yīng)的MAC轉(zhuǎn)發(fā)表項(xiàng),于是,A在VLANID為10的所有本地端口上對該二層IPv6報(bào)文進(jìn)行泛洪,這里,由于a1和a2同一個(gè)VLAN,因此A將所述二層IPv6報(bào)文通過與a2連接的端口轉(zhuǎn)發(fā)給a2(由于所述二層IPv6報(bào)文的目的MAC地址并非a2的MAC地址,因此a2不對所述二層IPv6報(bào)文進(jìn)行響應(yīng));同時(shí),A還將所述二層IPv6報(bào)文封裝到IPv4報(bào)文的凈載荷區(qū)域中,并將封裝后的IPv4報(bào)文分別發(fā)送到其隧道遠(yuǎn)端的B和C(所述封裝后的IPv4報(bào)文的目的IP地址為B或C的IP地址,并在所述封裝后的IPv4報(bào)文的報(bào)頭中協(xié)議字段攜帶所述指示信息)。
表3所述封裝后的IPv4報(bào)文在IPv4網(wǎng)絡(luò)中被路由到B和C。B接收到所述封裝后的IPv4報(bào)文后,根據(jù)其報(bào)頭攜帶的指示信息判斷出其攜帶有二層IPv6報(bào)文,因此解封裝出所述二層IPv6報(bào)文,并將所述二層IPv6報(bào)文中的源MAC地址、對應(yīng)隧道信息(隧道遠(yuǎn)端A的IP地址1.1.1.1)和VLAN信息學(xué)習(xí)到B的遠(yuǎn)端MAC表項(xiàng)中,如表4所示;同時(shí),B根據(jù)所述二層IPv6報(bào)文的目的MAC地址查找其本地MAC表項(xiàng),如果此時(shí)B的本地MAC表項(xiàng)尚無相應(yīng)記錄,則根據(jù)所述二層IPv6報(bào)文的VLAN信息,在VLAN ID為10的所有本地端口上對該二層IPv6報(bào)文進(jìn)行泛洪,從而b1、b2都會(huì)收到所述二層IPv6報(bào)文。在C上對所述封裝后的IPv4報(bào)文的處理也與此類似,c1、c2也會(huì)收到所述二層IPv6報(bào)文,不再贅述。
表4通過以上過程,實(shí)現(xiàn)了在IPv4網(wǎng)絡(luò)中第一次透傳二層IPv6報(bào)文。在上述過程之后,如果b1需要對所述二層IPv6報(bào)文進(jìn)行響應(yīng),b1發(fā)出二層IPv6響應(yīng)報(bào)文,所述二層IPv6響應(yīng)報(bào)文目的MAC是所述二層IPv6報(bào)文的源MAC地址(即a1的MAC地址)。B在接收到b1發(fā)出的二層IPv6響應(yīng)報(bào)文后,查找本地MAC表項(xiàng)和遠(yuǎn)端MAC表項(xiàng),發(fā)現(xiàn)在遠(yuǎn)端MAC表項(xiàng)(表4)中有對應(yīng)的MAC地址及該MAC地址對應(yīng)的隧道遠(yuǎn)端的IP地址(A的IP地址1.1.1.1),于是B封裝所述二層IPv6響應(yīng)報(bào)文到IPv4響應(yīng)報(bào)文中,所述IPv4響應(yīng)報(bào)文的目的IP地址為A的IP地址,然后將所述IPv4響應(yīng)報(bào)文單播發(fā)送給A;A接收到所述IPv4響應(yīng)后同樣通過解封裝,獲取其中的二層IPv6響應(yīng)報(bào)文,并根據(jù)該二層IPv6響應(yīng)報(bào)文的目的MAC地址查找本地MAC表項(xiàng)(表3),此次可以找到對應(yīng)MAC地址(a1的MAC地址),于是,A通過該MAC地址對應(yīng)的端口在本地轉(zhuǎn)發(fā)所述二層IPv6響應(yīng)報(bào)文到a1,從而再次實(shí)現(xiàn)了IPv6報(bào)文穿越IPv4網(wǎng)絡(luò)。
基于上述的IPv6隧道通信方法,本實(shí)施例還提供了一種IPv4邊緣設(shè)備,如圖3所示,該IPv4邊緣設(shè)備30包括隧道建立單元31、IPv6報(bào)文接收單元32、IPv4報(bào)文發(fā)送單元33、IPv4報(bào)文接收單元34和IPv6報(bào)文轉(zhuǎn)發(fā)單元35,其中,隧道建立單元31,用于為該IPv4邊緣設(shè)備30配置IPv6隧道。這里,配置IPv6隧道包括配置IPv6隧道遠(yuǎn)端的IP地址信息。這里,所述隧道建立單元31還可以用于配置點(diǎn)到多點(diǎn)的IPv6隧道,并保存所述點(diǎn)到多點(diǎn)隧道所有遠(yuǎn)端的IP地址信息。
其中,IPv6報(bào)文接收單元32,用于接收二層IPv6報(bào)文,將接收到的二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文,并在封裝后的IPv4報(bào)文中設(shè)置用于指示該IPv4報(bào)文中封裝有二層IPv6報(bào)文的指示信息,其中,所述二層IPv6報(bào)文為數(shù)據(jù)鏈路層上的IPv6報(bào)文。這里,所述IPv6報(bào)文接收單元32,還可以進(jìn)一步用于將所述二層IPv6報(bào)文封裝在IPv4報(bào)文的凈載荷區(qū)域,并設(shè)置所述封裝后的IPv4報(bào)文的報(bào)頭中協(xié)議字段的一個(gè)預(yù)定值為所述指示信息。
其中,IPv4報(bào)文發(fā)送單元33,用于根據(jù)所述隧道建立單元31配置的IPv6隧道,將所述IPv6報(bào)文接收單元得到的所述封裝后的IPv4報(bào)文發(fā)送至隧道遠(yuǎn)端。這里,所述IPv4報(bào)文發(fā)送單元33,進(jìn)一步用于根據(jù)所述隧道建立單元配置的隧道遠(yuǎn)端的IP地址,設(shè)置所述封裝后的IPv4報(bào)文的目的地址,并根據(jù)本地路由表將所述封裝后的IPv4報(bào)文轉(zhuǎn)發(fā)。在所述隧道建立單元31配置了點(diǎn)到多點(diǎn)IPv6隧道時(shí),所述IPv4報(bào)文發(fā)送單元33,還進(jìn)一步用于將所述封裝后的IPv4報(bào)文發(fā)送到點(diǎn)到多點(diǎn)的IPv6隧道的所有遠(yuǎn)端。
其中,IPv4報(bào)文接收單元34,用于接收來自隧道遠(yuǎn)端的IPv4報(bào)文,并根據(jù)接收到的IPv4報(bào)文中是否攜帶有所述指示信息,判斷出所述封裝后的IPv4報(bào)文并進(jìn)行解封裝,獲取其中的二層IPv6報(bào)文。
其中,IPv6報(bào)文轉(zhuǎn)發(fā)單元35,用于在本地轉(zhuǎn)發(fā)所述IPv4報(bào)文接收單元34獲取的所述二層IPv6報(bào)文。
這里,所述IPv4邊緣設(shè)備30還可以進(jìn)一步包括遠(yuǎn)端MAC表項(xiàng)維護(hù)單元36和本地MAC表項(xiàng)維護(hù)單元37。
其中,所述遠(yuǎn)端MAC表項(xiàng)維護(hù)單元36,用于從隧道遠(yuǎn)端學(xué)習(xí)MAC地址以及該MAC對應(yīng)的VLAN信息,并記錄隧道信息、從該隧道遠(yuǎn)端學(xué)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系。所述IPv4報(bào)文發(fā)送單元33,進(jìn)一步根據(jù)所述二層IPv6報(bào)文的目的MAC地址,查找所述遠(yuǎn)端MAC表項(xiàng)維護(hù)單元36,如果其中存在所述目的MAC地址,則將所述封裝后的IPv4報(bào)文發(fā)送至所述目的MAC地址對應(yīng)的隧道遠(yuǎn)端;否則,將所述封裝后的IPv4報(bào)文發(fā)送至所述IPv4邊緣設(shè)備的所有的隧道遠(yuǎn)端。
其中,本地MAC表項(xiàng)維護(hù)單元37,用于從本地端口學(xué)習(xí)MAC地址及該MAC地址對應(yīng)的VLAN信息,并記錄本地端口、從該本地端口學(xué)習(xí)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系。所述IPv6報(bào)文轉(zhuǎn)發(fā)單元35,進(jìn)一步用于根據(jù)所述二層IPv6報(bào)文的目的MAC地址查找所述本地MAC表項(xiàng)維護(hù)單元37,如果其中存在所述目的MAC地址,則將所述二層IPv6報(bào)文通過所述目的MAC地址對應(yīng)的本地端口進(jìn)行轉(zhuǎn)發(fā);否則,根據(jù)所述二層IPv6報(bào)文的VLAN信息,在該VLAN對應(yīng)的所有本地端口上對所述二層IPv6報(bào)文進(jìn)行泛洪。
綜上所述,按照本發(fā)明實(shí)施例所述的IPv6隧道通信方法及IPv6邊緣設(shè)備中,可以透傳包括幀頭的二層IPv6報(bào)文,無需IPv4邊緣設(shè)備支持IPv4/IPv6雙協(xié)議?;騇PLS技術(shù),即可實(shí)現(xiàn)穿越IPv4網(wǎng)絡(luò)的通信。并且,本發(fā)明還可以通過在IPv4邊緣設(shè)備間建立點(diǎn)到多點(diǎn)的IPv6隧道,實(shí)現(xiàn)點(diǎn)到多點(diǎn)的通信。
本發(fā)明所述的建立IPv6隧道的方法、IPv6隧道通信方法及IPv6邊緣設(shè)備,并不僅僅限于說明書和實(shí)施方式中所列運(yùn)用,它完全可以被適用于各種適合本發(fā)明之領(lǐng)域,對于熟悉本領(lǐng)域的人員而言可容易地實(shí)現(xiàn)另外的優(yōu)點(diǎn)和進(jìn)行修改,因此在不背離權(quán)利要求及等同范圍所限定的一般概念的精神和范圍的情況下,本發(fā)明并不限于特定的細(xì)節(jié)、代表性的設(shè)備和這里示出與描述的圖示示例。
權(quán)利要求
1.一種建立IPv6隧道的方法,用于在IPv4邊緣設(shè)備間建立IPv6隧道,所述IPv4邊緣設(shè)備設(shè)置在IPv4網(wǎng)絡(luò)的邊緣,分別與IPv6網(wǎng)絡(luò)和IPv4網(wǎng)絡(luò)連接,并且IPv4邊緣設(shè)備之間通過IPv4網(wǎng)絡(luò)連接,其特征在于,在本地IPv4邊緣設(shè)備上配置該IPv6隧道的至少一個(gè)遠(yuǎn)端的IP地址信息。
2.如權(quán)利要求1所述的方法,其特征在于,所述IPv6隧道為點(diǎn)到多點(diǎn)的IPv6隧道;所述配置該IPv6隧道的至少一個(gè)遠(yuǎn)端的IP地址信息是在該IPv6隧道的各端點(diǎn)的IPv4邊緣設(shè)備上配置該端點(diǎn)的多個(gè)遠(yuǎn)端的IP地址信息。
3.一種IPv6隧道通信方法,應(yīng)用于根據(jù)權(quán)利要求1所建立的IPv6隧道中,其特征在于,包括以下步驟A,IPv4邊緣設(shè)備接收到二層IPv6報(bào)文后,將所述二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文中,并將封裝后的IPv4報(bào)文發(fā)送至其隧道遠(yuǎn)端,所述二層IPv6報(bào)文為數(shù)據(jù)鏈路層上的IPv6報(bào)文,所述封裝后的IPv4報(bào)文中攜帶有用于指示其自身封裝有二層IPv6報(bào)文的指示信息;B,隧道遠(yuǎn)端的IPv4邊緣設(shè)備對其接收到的包括有所述指示信息的IPv4報(bào)文進(jìn)行解封裝,獲取所述二層IPv6報(bào)文后在本地轉(zhuǎn)發(fā)。
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟A中,所述將封裝后的IPv4報(bào)文發(fā)送至其隧道遠(yuǎn)端是,設(shè)置所述封裝后的IPv4報(bào)文的目的地址為其隧道遠(yuǎn)端的IP地址,根據(jù)本地路由表將所述封裝后的IPv4報(bào)文轉(zhuǎn)發(fā)。
5.如權(quán)利要求4所述的方法,其特征在于,所述IPv6隧道為點(diǎn)到多點(diǎn)的IPv6隧道;所述步驟A中,所述將封裝后的IPv4報(bào)文發(fā)送至其隧道遠(yuǎn)端是,將所述封裝后的IPv4報(bào)文發(fā)送到其點(diǎn)到多點(diǎn)的IPv6隧道的所有遠(yuǎn)端。
6.如權(quán)利要求3所述的方法,其特征在于,所述步驟A中,所述IPv4邊緣設(shè)備接收到二層IPv6報(bào)文是,根據(jù)接收到二層報(bào)文的幀頭的類型字段,判斷該二層報(bào)文是否為二層IPv6報(bào)文。
7.如權(quán)利要求3所述的方法,其特征在于,所述步驟A中,所述將二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文是,將所述二層IPv6報(bào)文封裝在IPv4報(bào)文的凈載荷區(qū)域。
8.如權(quán)利要求3所述的方法,其特征在于,所述步驟A中,所述指示信息是所述封裝后的IPv4報(bào)文的報(bào)頭中協(xié)議字段的一個(gè)預(yù)定值。
9.如權(quán)利要求3所述的方法,其特征在于,所述步驟B中,所述在本地轉(zhuǎn)發(fā)所述二層IPv6報(bào)文是在本地對所述二層IPv6報(bào)文進(jìn)行泛洪。
10.如權(quán)利要求3所述的方法,其特征在于,所述步驟A中,在所述二層IPv6報(bào)文超過預(yù)定長度時(shí),IPv4邊緣設(shè)備進(jìn)一步對所述二層IPv6報(bào)文進(jìn)行分片,將得到的所述二層IPv6報(bào)文的片段分別封裝進(jìn)IPv4報(bào)文中并發(fā)送至其隧道遠(yuǎn)端;所述步驟B中,隧道遠(yuǎn)端的IPv4邊緣設(shè)備進(jìn)一步對從所述封裝后的IPv4報(bào)文中獲取的二層IPv6報(bào)文的片段進(jìn)行重組,得到所述二層IPv6報(bào)文。
11.如權(quán)利要求3所述的方法,其特征在于,IPv4邊緣設(shè)備從其隧道遠(yuǎn)端學(xué)習(xí)MAC地址以及該MAC對應(yīng)的VLAN信息,并維護(hù)遠(yuǎn)端MAC表項(xiàng),所述遠(yuǎn)端MAC表項(xiàng)中包括隧道信息、從該隧道遠(yuǎn)端學(xué)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系;所述步驟A中,IPv4邊緣設(shè)備接收到二層IPv6報(bào)文后,進(jìn)一步根據(jù)所述二層IPv6報(bào)文的目的MAC地址查找其所維護(hù)的遠(yuǎn)端MAC表項(xiàng),如果其中存在所述目的MAC地址,則將所述封裝后的IPv4報(bào)文發(fā)送至所述目的MAC地址對應(yīng)的隧道遠(yuǎn)端;否則,將所述封裝后的IPv4報(bào)文發(fā)送至所述IPv4邊緣設(shè)備的所有的隧道遠(yuǎn)端。
12.如權(quán)利要求3所述的方法,其特征在于,IPv4邊緣設(shè)備從本地端口學(xué)習(xí)MAC地址及該MAC地址對應(yīng)的VLAN信息,并維護(hù)本地MAC表項(xiàng),所述本地MAC表項(xiàng)中包括本地端口、從該本地端口學(xué)習(xí)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系;所述步驟B中,所述在本地轉(zhuǎn)發(fā)所述二層IPv6報(bào)文包括隧道遠(yuǎn)端的IPv4邊緣設(shè)備根據(jù)所述二層IPv6報(bào)文的目的MAC地址查找其所維護(hù)的本地MAC表項(xiàng),如果其中存在所述目的MAC地址,則將所述二層IPv6報(bào)文通過所述目的MAC地址對應(yīng)的本地端口進(jìn)行轉(zhuǎn)發(fā);否則,根據(jù)所述二層IPv6報(bào)文的VLAN信息,在該VLAN對應(yīng)的所有本地端口上對所述二層IPv6報(bào)文進(jìn)行泛洪。
13.一種IPv4邊緣設(shè)備,其特征在于,包括隧道建立單元,用于配置并保存該IPv4邊緣設(shè)備所屬IPv6隧道的至少一個(gè)遠(yuǎn)端的IP地址信息。
14.如權(quán)利要求13所述的設(shè)備,其特征在于,所述隧道建立單元進(jìn)一步用于配置并保存該IPv4邊緣設(shè)備所屬點(diǎn)到多點(diǎn)的IPv6隧道的多個(gè)遠(yuǎn)端的IP地址信息。
15.如權(quán)利要求13所述的設(shè)備,其特征在于,其特征在于還包括隧道建立單元IPv6報(bào)文接收單元,用于接收二層IPv6報(bào)文,將接收到的二層IPv6報(bào)文封裝進(jìn)IPv4報(bào)文,并在封裝后的IPv4報(bào)文中設(shè)置用于指示該IPv4報(bào)文中封裝有二層IPv6報(bào)文的指示信息,其中,所述二層IPv6報(bào)文為數(shù)據(jù)鏈路層上的IPv6報(bào)文;IPv4報(bào)文發(fā)送單元,用于根據(jù)所述隧道建立單元配置的IPv6隧道,將所述IPv6報(bào)文接收單元得到的所述封裝后的IPv4報(bào)文發(fā)送至隧道遠(yuǎn)端。
16.如權(quán)利要求15所述的設(shè)備,其特征在于,所述IPv6報(bào)文接收單元,進(jìn)一步用于將所述二層IPv6報(bào)文封裝在IPv4報(bào)文的凈載荷區(qū)域,并設(shè)置所述封裝后的IPv4報(bào)文的報(bào)頭中協(xié)議字段的一個(gè)預(yù)定值為所述指示信息。
17.如權(quán)利要求15所述的設(shè)備,其特征在于,隧道建立單元所述IPv4報(bào)文發(fā)送單元,進(jìn)一步用于根據(jù)所述隧道建立單元配置的隧道遠(yuǎn)端的IP地址,設(shè)置所述封裝后的IPv4報(bào)文的目的地址,并根據(jù)本地路由表將所述封裝后的IPv4報(bào)文轉(zhuǎn)發(fā)。
18.如權(quán)利要求15所述的設(shè)備,其特征在于,所述隧道建立單元進(jìn)一步配置并保存該IPv4邊緣設(shè)備所屬點(diǎn)到多點(diǎn)的IPv6隧道的多個(gè)遠(yuǎn)端的IP地址信息;所述IPv4報(bào)文發(fā)送單元,進(jìn)一步用于將所述封裝后的IPv4報(bào)文發(fā)送到點(diǎn)到多點(diǎn)的IPv6隧道的所有遠(yuǎn)端。
19.如權(quán)利要求15所述的設(shè)備,其特征在于還包括IPv4報(bào)文接收單元,用于接收來自隧道遠(yuǎn)端的IPv4報(bào)文,并根據(jù)接收到的IPv4報(bào)文中是否攜帶有所述指示信息,判斷出所述封裝后的IPv4報(bào)文并進(jìn)行解封裝,獲取其中的二層IPv6報(bào)文;IPv6報(bào)文轉(zhuǎn)發(fā)單元,用于在本地轉(zhuǎn)發(fā)所述IPv4報(bào)文接收單元獲取的所述二層IPv6報(bào)文。
20.如權(quán)利要求19所述的設(shè)備,其特征在于還包括遠(yuǎn)端MAC表項(xiàng)維護(hù)單元,用于從隧道遠(yuǎn)端學(xué)習(xí)MAC地址以及該MAC對應(yīng)的VLAN信息,并記錄隧道信息、從該隧道遠(yuǎn)端學(xué)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系;所述IPv4報(bào)文發(fā)送單元,進(jìn)一步根據(jù)所述二層IPv6報(bào)文的目的MAC地址,查找所述遠(yuǎn)端MAC表項(xiàng)維護(hù)單元,如果其中存在所述目的MAC地址,則將所述封裝后的IPv4報(bào)文發(fā)送至所述目的MAC地址對應(yīng)的隧道遠(yuǎn)端;否則,將所述封裝后的IPv4報(bào)文發(fā)送至所述IPv4邊緣設(shè)備的所有的隧道遠(yuǎn)端。
21.如權(quán)利要求19或20所述的設(shè)備,其特征在于還包括本地MAC表項(xiàng)維護(hù)單元,用于從本地端口學(xué)習(xí)MAC地址及該MAC地址對應(yīng)的VLAN信息,并記錄本地端口、從該本地端口學(xué)習(xí)到的MAC地址、該MAC地址對應(yīng)的VLAN信息之間的對應(yīng)關(guān)系;所述IPv6報(bào)文轉(zhuǎn)發(fā)單元,進(jìn)一步用于根據(jù)所述二層IPv6報(bào)文的目的MAC地址查找所述本地MAC表項(xiàng)維護(hù)單元,如果其中存在所述目的MAC地址,則將所述二層IPv6報(bào)文通過所述目的MAC地址對應(yīng)的本地端口進(jìn)行轉(zhuǎn)發(fā);否則,根據(jù)所述二層IPv6報(bào)文的VLAN信息,在該vLAN對應(yīng)的所有本地端口上對所述二層IPv6報(bào)文進(jìn)行泛洪。
全文摘要
本發(fā)明提供了一種建立IPv6隧道的方法、IPv6隧道通信方法及IPv4邊緣設(shè)備。通過在IPv4網(wǎng)絡(luò)中透傳二層IPv6報(bào)文,實(shí)現(xiàn)了IPv6報(bào)文穿越IPv4網(wǎng)絡(luò)的通信。按照本發(fā)明的IPv6隧道通信方法及IPv4邊緣設(shè)備,無需網(wǎng)絡(luò)邊緣設(shè)備支持IPv4/IPv6雙協(xié)議?;騇PLS技術(shù),即可實(shí)現(xiàn)IPv6隧道通信。
文檔編號H04L1/00GK101094155SQ20071011988
公開日2007年12月26日 申請日期2007年8月2日 優(yōu)先權(quán)日2007年8月2日
發(fā)明者劉經(jīng)倫 申請人:杭州華三通信技術(shù)有限公司