專利名稱:一種DS-lite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法、系統(tǒng)和網(wǎng)絡(luò)節(jié)點的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信的組播技術(shù),尤其涉及一種輕量級雙協(xié)議棧(DS-lite,Dual-Stack-lite)網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法、系統(tǒng)和網(wǎng)絡(luò)節(jié)點。
背景技術(shù):
在IPv4到IPv6的演進中,很多業(yè)務(wù)仍然是IPv4格式,而且很多客戶端設(shè)備無法很快的更新或升級到IPv6,因此IPv4和IPv6將共存很長一段時間,在這段演進時間中,在推進IPv6服務(wù)的同時,需要保證IPv4服務(wù)需要不被打斷,DS-Iite網(wǎng)絡(luò)架構(gòu)是個很好的解決方案。但是在現(xiàn)有的一些業(yè)務(wù)如網(wǎng)絡(luò)電視(IPTV)等,存在著組播的需求,而現(xiàn)階段DS-Iite網(wǎng)絡(luò)架構(gòu)只覆蓋了單播服務(wù)的應(yīng)用。 Draft-qin-softwire-delite-multicast 實現(xiàn)了米用 DS-lite 網(wǎng)絡(luò)架構(gòu)進行4-6-4組播的需求,其網(wǎng)絡(luò)拓撲圖如圖I所示,其中mB4 (Multicast BasicBridgingBroadBand element)模塊是DS-lite網(wǎng)絡(luò)架構(gòu)組播中兩個基本功能模塊之一,一般位于客戶端設(shè)備(CPE),主要用于Internet組管理協(xié)議(IGMP, InternetGroupManagement Protocol)到組播偵聽發(fā)現(xiàn)協(xié)議(MLD, Multicast Listener Discover)的轉(zhuǎn)換以及將IPv4-in-IPv6組播報文解封裝成相應(yīng)的IPv4組播報文,并發(fā)送到合適的IPv4 組播接收者;組播地址族翻譯路由(mAFTR, multicast AddressFamily TransitionRouter element)是另外一個功能模塊,主要用于將IPv4組播源的IPv4組播報文封裝成相應(yīng)的IPv4-in-IPv6組播報文,并在IPv6接入網(wǎng)的合適的IPv6組播分布樹中發(fā)送。在IPv6組播分布樹建立完畢后,IPv4組播源發(fā)送IPv4組播報文到達mAFTR ;當mAFTR接收到該IPv4組播報文后,mAFTR根據(jù)IPv4組播報文的地址在IPv4組播路由表中進行查找,如果在IPv4組播路由表中找到接口匹配的地址,那么mAFTR對這個IPv4組播報文進行封裝,在封裝過程中使用預(yù)先給mAFTR配置的前綴,利用無狀態(tài)映射算法,將IPv4組播報文中的IPv4地址映射到相應(yīng)的IPv4_embedded IPv6地址,并用這些IPv4_embeddedIPv6地址作為源地址和組播地址,將IPv4組播報文封裝為IPv4-in-IPv6組播報文,其中,在IPv4-in-IPv6組播報文中,mAFTR并不對收到的IPv4組播報文的源地址和目的地址做任何的NAT轉(zhuǎn)換,mAFTR將IPv4-in-IPv6組播報文沿著IPv6組播分布樹發(fā)送到相應(yīng)的mB4 ;當mB4收到IPv4-in_IPv6組播報文時,mB4首先檢查IPv4-in_IPv6組播報文的組播地址是否在預(yù)先分配的mPref ix范圍內(nèi)、以及源地址是否在分配的uPref ix范圍內(nèi),如果不在,則會丟棄該IPv4-in-IPv6組播報文,如果都在,則解封裝該IPv4-in-IPv6組播報文,從而得到原始的IPv4組播報文,并且將這個報文組播到下游的IPv4組播接收者。上述draft-qin-softwire-dslite-multicast 主要描述了當網(wǎng)絡(luò)為 4-6-4 時,使用Ds-Iite網(wǎng)絡(luò)架構(gòu)作為過渡方案時的組播情形,其中,使用IPv4-in-IPv6的隧道技術(shù)通過IPv6網(wǎng)絡(luò)來發(fā)送IPv4組播報文,雖然可以減輕mAFTR的負擔(dān)并且能夠利用IPv6網(wǎng)絡(luò)的組播能力,但是,這種方案只是將IPv4組播報文中的IPv4地址映射到相應(yīng)的IPv4-embedded IPv6地址,僅相當于在IPv4組播報文上增加了用于在IPv6網(wǎng)絡(luò)傳送的報文頭,IPv4組播報文仍舊為IPv4格式,這樣不利于該IPv4組播報文在IPv6網(wǎng)絡(luò)中的傳送效率,不能最大的利用IPv6網(wǎng)絡(luò)的組播能力。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法、系統(tǒng)和網(wǎng)絡(luò)節(jié)點,提高IPv4組播報文在IPv6網(wǎng)絡(luò)中的傳送效率,最大的利用IPv6網(wǎng)絡(luò)的組播能力。為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的本發(fā)明提供的一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法,該方法包括
當mAFTR接收到組播源發(fā)送的IPv4組播報文時,將所述IPv4組播報文翻譯成IPv6組播報文,并將所述IPv6組播報文發(fā)送到mB4 ;當mB4接收到所述IPv6組播報文時,將所述IPv6組播報文翻譯成IPv4組播報文,并將所述IPv4組播報文組播到下游的組播接收者。上述方案中,所述mAFTR將IPv4組播報文翻譯成IPv6組播報文為新建IPv6組播報文,將所述IPv6組播報文報頭中的所有字段基于所述IPv4組播報文報頭填寫,報文內(nèi)容不變。上述方案中,所述mAFTR將IPv4組播報文翻譯成IPv6組播報文為所述mAFTR新建IPv6組播報文,將新建的IPv6組播報文報頭中的版本(Version)字段置為6 ;傳輸種類(Traffic Class)字段值置為與IPv4組播報文中的服務(wù)類型(TOS, Type Of Service)相同;流量標簽(Flow Label)字段值置為0 ;有效荷載長度(Playload Length)字段值為IPv4組播報文的完整長度(Total Length)值減去IPv4頭的長度值;下一個報頭(NextHeader)的值從IPv4組播報文報頭中的協(xié)議(protocol)字段獲得;跳數(shù)限制(Hop Limit)字段的值與IPv4組播報文中的生存時間(TTL,Time to Live)字段值相同;源地址(SourceAddress)字段的值從IPv4組播報文的源地址獲得;目的地址(Destination Address)字段的值從IPv4組播報文的目的地址獲得;所述IPv6組播報文中的內(nèi)容與IPv4組播報文中的內(nèi)容相同。上述方案中,所述mB4將所述IPv6組播報文翻譯成IPv4組播報文為新建IPv4組播報文,將所述IPv4組播報文報頭中的所有字段基于所述IPv6組播報文報頭填寫,報文內(nèi)容不變。上述方案中,所述mB4將所述IPv6組播報文翻譯成IPv4組播報文為所述mB4新建IPv4組播報文,將所述IPv4組播報文報頭中的Version字段置為4 ;互聯(lián)網(wǎng)頭文件長度(Internet Header Length)值置為5 ;T0S值置為IPv6組播報文中的TrafficClass的值;Total Length值置為IPv6組播報文中playload值加上IPv4頭長度的值;Identification、Flags、Fragment Off字段值都置為0 ;TTL字段的值為IPv6組播報文中的Hop Limit字段的值;Source Address字段的值為IPv6組播報文中的源地址映射到IPv4組播報文的源地址destination Address字段的值為IPv6組播報文中的組播地址映射到IPv4組播報文中的組播地址;所述IPv4組播報文中的內(nèi)容與IPv6組播報文中的內(nèi)容相同。
上述方案中,該方法進一步包括在任意信源組播(ASM, Any-SourceMulticast)模式中,mAFTR接收到IPv4組播報文為注冊報文時,mAFTR解封裝注冊報文后得到IPv4組播報文。本發(fā)明提供的一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的系統(tǒng),該系統(tǒng)包括mAFTR、mB4 ;其中,所述mAFTR,用于接收到組播源發(fā)送的IPv4組播報文時,將所述IPv4組播報文翻譯成IPv6組播報文,并將所述IPv6組播報文發(fā)送到mB4 ;所述mB4,用于接收到所述IPv6組播報文時,將所述IPv6組播報文翻譯成IPv4組播報文,并將所述IPv4組播報文組播到下游的組播接收者。上述方案中,所述mAFTR,具體用于接收到組播源發(fā)送的IPv4組播報文時,新建IPv6組播報文,將該IPv6組播報文報頭中的所有字段基于所述IPv4組播報文報頭填寫,報 文內(nèi)容不變。上述方案中,所述mB4,具體用于接收到mAFTR發(fā)送的IPv6組播報文時,新建IPv4組播報文,將該IPv4組播報文報頭中的所有字段基于所述IPv6組播報文報頭填寫,報文內(nèi)容不變。本發(fā)明提供的一種DS-Iite網(wǎng)絡(luò)承載組播業(yè)務(wù)的網(wǎng)絡(luò)節(jié)點,所述網(wǎng)絡(luò)節(jié)點包括mAFTR,所述mAFTR接收到組播源發(fā)送的IPv4組播報文時,將所述IPv4組播報文翻譯成IPv6組播報文,并將所述IPv6組播報文發(fā)送到mB4。本發(fā)明提供了一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法、系統(tǒng)和網(wǎng)絡(luò)節(jié)點,當mAFTR接收到組播源發(fā)送的IPv4組播報文時,將該IPv4組播報文翻譯成IPv6組播報文,并將該IPv6組播報文發(fā)送到mB4 ;當mB4接收到該IPv6組播報文時,將該IPv6組播報文翻譯成IPv4組播報文,并將該IPv4組播報文組播到下游的組播接收者;如此,能夠?qū)Pv4組播報文完全轉(zhuǎn)化為IPv6組播報文在IPv6網(wǎng)絡(luò)中傳送,提高IPv4組播報文在IPv6網(wǎng)絡(luò)中的傳送效率,最大的利用IPv6網(wǎng)絡(luò)的組播能力。
圖I為現(xiàn)有技術(shù)中DS-Iite組播網(wǎng)絡(luò)拓撲示意圖;圖2為本發(fā)明實現(xiàn)一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法的流程示意圖;圖3為本發(fā)明配置uPrefix和mPrefix64的網(wǎng)絡(luò)架構(gòu)示意圖;圖4為本發(fā)明地址映射示意圖;圖5為本發(fā)明實例一中IPv6組播分布樹的建立的網(wǎng)絡(luò)架構(gòu)示意圖;圖6為本發(fā)明實例二中IPv6組播分布樹的建立的網(wǎng)絡(luò)架構(gòu)示意圖;圖7為本發(fā)明SSM模式的網(wǎng)絡(luò)架構(gòu)示意圖;圖8為本發(fā)明在SSM模式中實現(xiàn)DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法的流程示意圖;圖9為本發(fā)明ASM模式的網(wǎng)絡(luò)架構(gòu)示意圖;圖10為本發(fā)明在ASM模式中實現(xiàn)DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法的流程示意圖。
具體實施例方式本發(fā)明的基本思想是當mAFTR接收到組播源發(fā)送的IPv4組播報文時,將該IPv4組播報文翻譯成IPv6組播報文,并將該IPv6組播報文發(fā)送到mB4 ;當mB4接收到該IPv6組播報文時,將該IPv6組播報文翻譯成IPv4組播報文,并將該IPv4組播報文組播到下游的組播接收者。下面通過附圖及具體實施例對本發(fā)明做進一步的詳細說明。本發(fā)明實現(xiàn)一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法,如圖2所示,該方法包括以下幾個步驟步驟101 :當mAFTR接收到組播源發(fā)送的IPv4組播報文時,將該IPv4組播報文翻譯成IPv6組播報文,并將該IPv6組播報文發(fā)送到mB4 ;具體的,當mAFTR接收到組播源發(fā)送的IPv4組播報文時,mAFTR根據(jù)IPv4組播報 文的地址在IPv4組播路由表中進行查找,如果在IPv4組播路由表中找到匹配的接口地址,則mAFTR將IPv4組播報文翻譯成IPv6組播報文,并通過IPv6組播分布樹將該IPv6組播報文發(fā)送到mB4 ;所述mAFTR將IPv4組播報文翻譯成IPv6組播報文,一般是新建IPv6組播報文,將該IPv6組播報文報頭中的所有字段基于所述IPv4組播報文報頭填寫,報文內(nèi)容不變,具體為所述mAFTR新建IPv6組播報文,將該IPv6組播報文報頭中的Version字段置為6 ;Traffic Class字段值置為與IPv4組播報文中的TOS相同;Flow Label字段值置為0 ;Playload Length字段值為IPv4組播報文減去IPv4頭的長度值;Next Header的值從IPv4組播報文報頭中的protocol字段獲得;Hop Limit字段的值與IPv4組播報文中的TTL字段值相同;SourceAddress字段的值從IPv4組播報文的源地址獲得!Destination Address字段的值從IPv4組播報文的目的地址獲得、忽略IPv4組播報文中的IPv4選項字段;該IPv6組播報文中的內(nèi)容與IPv4組播報文中的內(nèi)容相同。所述Source Address字段的值從IPv4組播報文的源地址獲得,一般是mAFTR根據(jù)配置的單播前綴(uPrefix, unicast Prefix)以及利用無狀態(tài)映射算法,將IPv4組播報文的源地址映射到IPv6組播報文的源地址。所述Destination Address字段的值從IPv4組播報文的目的地址獲得,一般是mAFTR根據(jù)配置的組播前綴(mPrefix64,multicast Prefix)利用無狀態(tài)映射算法,將IPv4組播報文的組播地址映射到IPv6組播報文的組播地址。進一步的,本步驟還包括若在IPv4組播報文的負載中存在TCP、UDP和ICMP的校驗和(checksum),則根據(jù)映射得到的IPv6組播報文的源和組播地址重新計算校驗和。本步驟中,所述uPrefix和mPrefix64的配置方法,結(jié)合圖3所示,包括(I) CPE和mAFTR向動態(tài)主機配置協(xié)議6 (DHCPv6)服務(wù)器發(fā)送DHCPv6請求報文,請求獲取 uPrefix 和 mPrefix64 ;(2)DHCPv6 服務(wù)器收到所述 DHCPv6 請求報文后,將 mPrefix64(ff00:abc: :/96)和uPrefix (2001 :db8: :/96)附帶在DHCPv6應(yīng)答報文的選項中發(fā)送到CPE和mAFTR ;(3) CPE和mAFTR收到DHCPv6應(yīng)答報文后,記錄選項中的uPrefix和mPrefix64,完成配置。當然,上述CPE和mAFTR的uPrefix和mPrefix64的配置也可以通過其他方法配置,比如直接通過管理員手動給CPE和mAFTR配置,但必須保證給CPE和mAFTR所配置的前綴必須相同;這里,所述CPE上一般有mB4,即給CPE配置的uPrefix和mPrefix64也同時配置在mB4上。 在CPE和mAFTR獲得前綴后,所述將IPv4組播報文的源地址映射到IPv6組播報文的源地址和將IPv4組播報文的組播地址映射到IPv6組播報文的組播地址,其具體映射過程如圖4所不在圖4 中,IPv4 組播報文的組播地址(230. I. 2. 3)與 mPref ix64 (ffOO: abc: :/96)映射到IPv6組播報文的組播地址(ffOO:abc: :230. I. 2. 3),IPv4組播報文的源地址(192. I. 2. 3)與uPrefix (2001 :db8: :/96)映射到IPv6組播報文的源地址(2001 :db8: :192. I. 2. 3)。下面用實例一和二對本步驟中所述IPv6組播分布樹的建立進行詳細描述。實例一如圖5 所不,mAFTR 位于 MLD Querier/PIMv6 指定路由器(DRDesignatedRouter)時,如果部署指定信源組播(SSM, Source-Specific Multicast)模式,假設(shè)IPv4組播源為S (192. I. 2. 3),IPv4接收者A要接受S的組播報文時,需要加入相應(yīng)的IPv4組播組,IPv6組播分布樹的建立的具體步驟如下(I) IPv4接收者A發(fā)送IGMP報告報文給CPEl,在IGMP報告報文中指示需要加入IPv4組播組的地址G (230. I. 2. 3);(2)位于CPEl上的mB4接收到所述IGMP報文后,根據(jù)預(yù)先配置的mPref ix64和uPrefix以及無狀態(tài)映射算法生成IPv4組播組的地址G(230. I. 2. 3)相對應(yīng)的IPv6組播組地址G,(ffOO:abc: :230. I. 2. 3),即將IPv4組播組的地址G映射到IPv6組播組地址 G,(ffOO:abc: :230. I. 2. 3)、IPv4 源 S 映射到 IPv6 源 S,(2001: db8:: 192. I. 2. 3),之后mB4發(fā)送MLD報文到MLD Querier/PIMv6DR,在所述MLD報文中包含IPv6組播組地址G,(ffOO:abc: :230. I. 2. 3);(3)mAFTR對MLD中的IPv6組播組地址G’檢驗通過后,生成PMv4Join報文,所述PIMv4Join報文包含IPv4接收者A想要加入的IPv4組播組的地址G (230. I. 2. 3);具體的,由于mAFTR位于MLD Querier/PIMv6DR上,當mAFTR收到這個MLD報文后,根據(jù)所述IPv6組播組地址G’檢查相應(yīng)的記錄并將接收到這個MLD報文的端口加入到Out-Interface-List中,如果沒有相應(yīng)的記錄,mAFTR生成與這個IPv6組播組地址G’對應(yīng)的新的記錄。mAFTR檢驗MLD報文中的IPv6組播組地址G,(ffOO:abc: :230. I. 2. 3)的前綴是否屬于配置的mPrefix64,如果檢驗通過,那么mAFTR從IPv6組播組G,(ffOO:abc: :230. I. 2. 3)中映射出相應(yīng)的IPv4組播組的地址G(230. I. 2. 3),并檢驗相對應(yīng)的IPv4組播路由表,將隧道接口添加到Out-Interface-List中,mAFTR還生成一個PIMv4Join報文,所述PMv4Join報文包含想要加入的IPv4組播組的地址G (230. I. 2. 3)。(4) mAFTR 將 PIMv4Join 報文發(fā)送到 RP (Rendezvous Point)或者 IPv4 組播源。這樣,一條IPv6組播分布樹就已經(jīng)建立,IPv4組播源的組播報文可以通過這個組播分布樹發(fā)送數(shù)據(jù)到IPv4接收者A。實例二 如圖6所示,mAFTR位于更上游的PMv6路由器中,如果部署SSM模式,假設(shè)IPv4組播源為S (192. I. 2. 3)。IPv4接收者A要接受S的組播數(shù)據(jù)時,需要加入相應(yīng)的IPv4組播組,IPv6組播分布樹的建立的具體步驟如下
(I) IPv4接收者A發(fā)送IGMP報告報文給mB4,在IGMP報告報文中指示需要加入IPv4組播組的地址G (230. I. 2. 3);(2)位于CPEl上的mB4接受到所述IGMP報告報文后,根據(jù)預(yù)先配置的mPref ix64和uPrefix以及無狀態(tài)映射算法生成IPv4組播組的地址G(230. I. 2. 3)相對應(yīng)的IPv6組播組地址G,(ffOO:abc: :230. I. 2. 3),即將IPv4組播組的地址G映射到IPv6組播組地址 G,(ffOO:abc: :230. I. 2. 3)、IPv4 源 S 映射到 IPv6 源 S,(2001:db8:: 192. I. 2. 3),之后mB4發(fā)送MLD報文到MLDQuerier/PMv6DR,在所述MLD報文中包含IPv6組播組地址G,(ffOO:abc: :230. I. 2. 3);(3) PIM DR收到所述報文MLD報文后,經(jīng)過MLD Querier的處理生成PMv6Join報文,在PMv6Join報文中包含IPv6組播組地址G’ (ffOO: abc: : 230. I. 2. 3), PIM DR將生成的PMv6Join報文發(fā)送到mAFTR ;(4)mAFTR對所述PMv6Join報文中的IPv6組播組地址G’檢驗通過后,生成PIMv4Join報文,所述PMv4Join報文包含IPv4接收者A想要加入的IPv4組播組的地址G (230. I. 2. 3);具體的,mAFTR收到所述PMv6Join報文后,根據(jù)所述PMv6Join報文中的IPv6組播組地址G’ (ffOO:abc: :230. 1.2.3)檢查相應(yīng)的記錄并將接收到所述PIMv6Join報文的端口加入到Out-Interface-List中,如果沒有相應(yīng)的記錄,mAFTR生成與IPv6組播組地址G’對應(yīng)的新的記錄,之后mAFTR檢驗PMv6Join報文中的IPv6組播組地址G,(ffOO: abc: : 230. I. 2. 3)的前綴是否屬于配置的 mPref ix64 (ffOO: abc: : /96),如果檢驗通過,那么mAFTR從IPv6組播組地址G’ (ffOO:abc: :230. 1.2.3)中映射出相應(yīng)的IPv4組播組的地址G(230. I. 2. 3),并檢驗相對應(yīng)的IPv4組播路由表,將隧道接口添加到Out-Interface-List中,mAFTR還生成一個PIMv4Join報文,所述PIMv4Join報文包含想要加入的IPv4組播組的地址G(230. I. 2. 3)。
(4) mAFTR將PMv4Join報文發(fā)送到RP或者IPv4組播源。這樣,一條IPv6組播分布樹就已經(jīng)建立,IPv4組播源的組播報文可以通過這個組播分布樹發(fā)送數(shù)據(jù)到IPv4接收者A。步驟102 當mB4接收到該IPv6組播報文時,將該IPv6組播報文翻譯成IPv4組播報文,并將該IPv4組播報文組播到下游的組播接收者;具體的,當mB4收到IPv6組播報文后,檢驗該IPv6組播報文的組播地址是否與配置的mPrefix64匹配、源地址是否與配置的uPrefix匹配,在均匹配時,mB4將該IPv6組播報文翻譯成IPv4組播報文,并根據(jù)該IPv4組播報文中的組播成員信息將該IPv4組播報文組播到下游的組播接收者;所述mB4將該IPv6組播報文翻譯成IPv4組播報文,一般是新建IPv4組播報文,將該IPv4組播報文報頭中的所有字段基于所述IPv6組播報文報頭填寫,報文內(nèi)容不變,具體為所述mB4新建IPv4組播報文,將該IPv4組播報文報頭中的Version字段置為4 ;Internet Header Length值置為5 ;T0S值置為IPv6組播報文中的TrafficClass的值;Total Length值置為IPv6組播報文中playload值加上IPv4頭長度的值;Identification、Flags、Fragment Off 字段值都置為 0 ;Time to Live 字段的值為 IPv6 組播報文中的Hop Limit字段的值;SourceAddress字段的值為IPv6組播報文中的源地址映射到IPv4組播報文的源地址!Destination Address字段的值為IPv6組播報文中的組播地址映射到IPv4組播報文中的組播地址;該IPv4組播報文中的內(nèi)容與IPv6組播報文中的內(nèi)容相同。為了實現(xiàn)上述方法,本發(fā)明還提供一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的系統(tǒng),該系統(tǒng)包括mAFTR、mB4 ;其中,所述mAFTR,用于接收到組播源發(fā)送的IPv4組播報文時,將該IPv4組播報文翻譯成相應(yīng)的IPv6組播報文,并將該IPv6組播報文發(fā)送到mB4 ;所述mB4,用于接收到該IPv6組播報文時,將該IPv6組播報文翻譯成相應(yīng)的IPv4組播報文,并將該IPv4組播報文組播到下游的組播接收者;所述mAFTR,具體用于接收到組播源發(fā)送的IPv4組播報文時,新建IPv6組播報文, 將該IPv6組播報文報頭中的所有字段基于所述IPv4組播報文報頭填寫,報文內(nèi)容不變;具體的,所述mAFTR接收到組播源發(fā)送的IPv4組播報文時,新建IPv6組播報文,將該IPv6組播報文報頭中的Version字段置為6 ;Traffic Class字段值置為與IPv4組播報文中的TOS相同;Flow Label字段值置為0 ;Playl0adLength字段值為IPv4組播報文減去IP頭的長度值;Next Header的值從IPv4組播報文報頭中的protocol獲得;Hop Limit的值與IPv4組播報文中的TTL值相同;Source Address字段的值從IPv4組播報文的源地址獲得;DestinationAddress字段的值從IPv4組播報文的目的地址獲得、忽略IPv4組播報文中的IPv4選項字段;該IPv6組播報文中的內(nèi)容與IPv4組播報文中的內(nèi)容相同;所述mB4,具體用于接收到mAFTR發(fā)送的IPv6組播報文時,新建IPv4組播報文,將該IPv4組播報文報頭中的所有字段基于所述IPv6組播報文報頭填寫,報文內(nèi)容不變;具體的,所述mB4接收到mAFTR發(fā)送的IPv6組播報文時,新建IPv4組播報文,將該IPv4組播報文報頭中的Version字段置為4 ;Internet Header Length值置為5 ;T0S值置為IPv6組播報文中的Traffic Class的值;Total Length值置為IPv6組播報文中playload 值加上 IPv4 頭長度的值!Identification、Flags、Fragment Off 字段值都置為0 ;Time to Live字段的值為IPv6組播報文中的HopLimit字段的值;Source Address字段的值為IPv6組播報文中的源地址映射到IPv4組播報文的源地址destination Address字段的值為IPv6組播報文中的組播地址映射到IPv4組播報文中的組播地址。所述mAFTR,具體用于通過IPv6組播分布樹將所述IPv6組播報文發(fā)送到mB4。進一步的,所述mAFTR,還用于接收到IPv4組播報文為注冊報文時,解封裝所述注冊報文后得到IPv4組播報文?;谏鲜鱿到y(tǒng),本發(fā)明還實現(xiàn)一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的網(wǎng)絡(luò)節(jié)點,該網(wǎng)絡(luò)節(jié)點包括mAFTR,所述mAFTR接收到組播源發(fā)送的IPv4組播報文時,將所述IPv4組播報文翻譯成IPv6組播報文,并將所述IPv6組播報文發(fā)送到mB4 ;所述mAFTR,具體用于接收到組播源發(fā)送的IPv4組播報文時,新建IPv6組播報文,將該IPv6組播報文報頭中的所有字段基于所述IPv4組播報文報頭填寫,報文內(nèi)容不變;具體的,所述mAFTR接收到組播源發(fā)送的IPv4組播報文時,新建IPv6組播報文,將該IPv6組播報文報頭中的Version字段置為6 ;Traffic Class字段值置為與IPv4組播報文中的TOS相同;Flow Label字段值置為0 ;Playl0adLength字段值為IPv4組播報文減去IP頭的長度值;Next Header的值從IPv4組播報文報頭中的protocol獲得;Hop Limit的值與IPv4組播報文中的TTL值相同;Source Address字段的值從IPv4組播報文的源地址獲得;DestinationAddress字段的值從IPv4組播報文的目的地址獲得、忽略IPv4組播報文中的IPv4選項字段;該IPv6組播報文中的內(nèi)容與IPv4組播報文中的內(nèi)容相同。下面結(jié)合具體實施例詳細說明本發(fā)明的方法的實現(xiàn)過程和原理。實施例一
本實施例如圖7所示,SSM模式中,IPv4network中的主機B (192. I. 2. 3)要通過IPv6網(wǎng)絡(luò)向IPv4接收者A所在的IPv4組播組發(fā)送IPv4組播報文,則實現(xiàn)DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法,如圖8所示,該方法包括以下幾個步驟步驟201 :主機B生成IPv4組播報文,并將該IPv4組播報文發(fā)送到mAFTR,其中源地址為主機B的地址S (192. I. 2. 3),目的地址為IPv4組播組的地址G (230. I. 2. 3);步驟202 當mAFTR接收到所述IPv4組播報文后,將該IPv4組播報文翻譯成IPv6組播報文,并通過IPv6組播分布樹將該IPv6組播報文發(fā)送到mB4 ;具體的,當mAFTR接收到所述IPv4組播報文后,mAFTR根據(jù)IPv4組播報文的地址在IPv4組播路由表中進行查找,如果在IPv4組播路由表中找到匹配的接口地址,則mAFTR將IPv4組播報文翻譯成相應(yīng)的IPv6組播報文,并通過IPv6組播分布樹將該IPv6組播報文發(fā)送到mB4 ;所述mAFTR將IPv4組播報文翻譯成相應(yīng)的IPv6組播報文,具體為所述mAFTR新建IPv6組播報文,將該IPv6組播報文報頭中的Version字段置為6 ;Traffic Class字段的值置為與IPv4組播報文中的TOS相同;Flow Label字段值置為0 ;Playload Length字段值置為IPv4組播報文減去去IP頭的長度值;Next Header的值從IPv4組播報文報頭中的protocol獲得;Hop Limit的值與IPv4組播報文中的TTL值相同;Source Address的值為根據(jù)配置的uPrefix前綴以及利用無狀態(tài)映射算法,將IPv4組播報文的源地址S(192. I. 2. 3)映射到 IPv6 組播報文的源地址 S,(2001 :db8: :192. I. 2. 3) !DestinationAddress字段的值為根據(jù)配置的mPrefix64利用無狀態(tài)映射算法,將IPv4組播報文的組播地址映射到IPv6組播報文的組播地址G,(ffOO:abc: :230. I. 2. 3);忽略IPv4組播報文中的IPv4選項字段;該IPv6組播報文中的內(nèi)容與IPv4組播報文中的內(nèi)容相同。步驟203 當mB4收到該IPv6組播報文時,將該IPv6組播報文翻譯成IPv4組播報文,并將該IPv4組播報文組播到下游的IPv4接收者A ;具體的,當mB4收到IPv6組播報文后,檢驗該IPv6組播報文的組播地址G,(ffOO:abc: :230. I. 2. 3)是否與配置的 mPrefix64(ffOO:abc: :/96)匹配、源地址S,(2001 :db8: :192. I. 2. 3)是否與配置的 uPref ix (2001: db8: :/96)匹配,在均匹配時,mB4將該IPv6組播報文翻譯成IPv4組播報文,并根據(jù)該IPv4組播報文中的組播成員信息將該IPv4組播報文組播到下游的IPv4接收者A ;所述mB4將該IPv6組播報文翻譯成IPv4組播報文,具體為所述mB4新建IPv4組播報文,將該IPv4組播報文報頭中的Version字段置為4 ;InternetHeader Length值置為 5 ;Type Of Service 值置為 IPv6 組播報文中的 Traffic Class 的值;Total Length 值置為 IPv6 組播報文中 playload 加上 IPv4 頭長度的值;Identification、Flags、FragmentOff字段值都置為0 ;Time to Live字段的值0為IPv6組播報文中的Hop Limit字段的值;Source Address的值為IPv6組播報文中的源地址S,(2001 :db8: : 192. I. 2. 3)映射到IPv4組播報文中的源地址S (192. I. 2. 3) !Destination Address的值為IPv6組播報文中的組播地址G,(ffOO:abc: :230. I. 2. 3)映射到IPv4組播報文中的組播地址G(230. I. 2. 3)。實施例二 本實施例如圖9所示,ASM中,IPv4network中的某一主機B (192. I. 2. 3)要通過IPv6網(wǎng)絡(luò)向IPv4接收者A所在的IPv4組播組發(fā)送IPv4組播報文,則實現(xiàn)DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法,如圖10所示,該方法包括以下幾個步驟
步驟301 :主機B生成IPv4組播報文,并將該IPv4組播報文發(fā)送到主機B所在的DR, DR將該IPv4組播報文發(fā)送到mAFTR,其中源地址為主機B的地址S (192. I. 2. 3),目的地址為IPv4組播組的地址G (230. I. 2. 3);這里,如果主機B是第一次向外組播,那么DR封裝該IPv4組播報文為注冊報文,并且發(fā)送給作為RP的mAFTR ;如果已經(jīng)存在從RP到DR所在的SPT,那么DR則把該IPv4組播報文直接發(fā)送給作為RP的mAFTR。步驟302 當mAFTR接收到所述IPv4組播報文后,將該IPv4組播報文翻譯成IPv6組播報文,并通過IPv6組播分布樹將該IPv6組播報文發(fā)送到mB4 ;具體的,當mAFTR接收到所述IPv4組播報文后,如果所述IPv4組播報文為注冊報文,那么mAFTR解封裝注冊報文后得到IPv4組播報文,并向主機B發(fā)送加入報文;如果mAFTR收到為封裝的IPv4組播報文,那么mAFTR則向主機B所在的DR發(fā)送注冊停止報文(Register-Stop Message) ;mAFTR根據(jù)IPv4組播報文的地址在IPv4組播路由表中進行查找,如果在IPv4組播路由表中找到匹配的接口地址,則mAFTR將IPv4組播報文翻譯成IPv6組播報文,并通過IPv6組播分布樹將該IPv6組播報文發(fā)送到mB4 ;所述mAFTR將IPv4組播報文翻譯成IPv6組播報文的方法與步驟202類似,這里不再贅述。步驟303 當mB4收到該IPv6組播報文時,將該IPv6組播報文翻譯成IPv4組播報文,并將該IPv4組播報文組播到下游的IPv4接收者A ;這里,所述mB4將該IPv6組播報文翻譯成IPv4組播報文的方法與步驟203類似,這里不再贅述。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。
權(quán)利要求
1.一種輕量級雙協(xié)議棧(DS-Iite)網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法,其特征在于,該方法包括 當組播地址族翻譯路由(mAFTR)接收到組播源發(fā)送的IPv4組播報文時,將所述IPv4組播報文翻譯成IPv6組播報文,并將所述IPv6組播報文發(fā)送到mB4 ; 當mB4接收到所述IPv6組播報文時,將所述IPv6組播報文翻譯成IPv4組播報文,并將所述IPv4組播報文組播到下游的組播接收者。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述mAFTR將IPv4組播報文翻譯成IPv6組播報文為新建IPv6組播報文,將所述IPv6組播報文報頭中的所有字段基于所述IPv4組播報文報頭填寫,報文內(nèi)容不變。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述mAFTR將IPv4組播報文翻譯成IPv6組播報文為所述mAFTR新建IPv6組播報文,將新建的IPv6組播報文報頭中的版本(Version)字段置為6 ;傳輸種類(Traffic Class)字段值置為與IPv4組播報文中的服務(wù)類型(TOS)相同;流量標簽(Flow Label)字段值置為0 ;有效荷載長度(PlayloadLength)字段值為IPv4組播報文的完整長度(Total Length)值減去IPv4頭的長度值;下一個報頭(Next Header)的值從IPv4組播報文報頭中的協(xié)議(protocol)字段獲得;跳數(shù)限制(Hop Limit)字段的值與IPv4組播報文中的生存時間(TTL)字段值相同;源地址(SourceAddress)字段的值從IPv4組播報文的源地址獲得;目的地址(DestinationAddress)字段的值從IPv4組播報文的目的地址獲得;所述IPv6組播報文中的內(nèi)容與IPv4組播報文中的內(nèi)容相同。
4.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述mB4將所述IPv6組播報文翻譯成IPv4組播報文為新建IPv4組播報文,將所述IPv4組播報文報頭中的所有字段基于所述IPv6組播報文報頭填寫,報文內(nèi)容不變。
5.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述mB4將所述IPv6組播報文翻譯成IPv4組播報文為所述mB4新建IPv4組播報文,將所述IPv4組播報文報頭中的Version字段置為4 ;互聯(lián)網(wǎng)頭文件長度(Internet HeaderLength)值置為5 ;T0S值置為IPv6組播報文中的Traffic Class的值;Total Length值置為IPv6組播報文中playload值加上IPv4頭長度的值;Identification、Flags、Fragment Off字段值都置為0 ;TTL字段的值為IPv6組播報文中的Hop Limit字段的值;Source Address字段的值為IPv6組播報文中的源地址映射到IPv4組播報文的源地址destination Address字段的值為IPv6組播報文中的組播地址映射到IPv4組播報文中的組播地址;所述IPv4組播報文中的內(nèi)容與IPv6組播報文中的內(nèi)容相同。
6.根據(jù)權(quán)利要求I至5任一項所述的方法,其特征在于,該方法進一步包括在任意信源組播(ASM)模式中,mAFTR接收到IPv4組播報文為注冊報文時,mAFTR解封裝注冊報文后得到IPv4組播報文。
7.一種DS-Iite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的系統(tǒng),其特征在于,該系統(tǒng)包括mAFTR、mB4 ;其中, 所述mAFTR,用于接收到組播源發(fā)送的IPv4組播報文時,將所述IPv4組播報文翻譯成IPv6組播報文,并將所述IPv6組播報文發(fā)送到mB4 ; 所述mB4,用于接收到所述IPv6組播報文時,將所述IPv6組播報文翻譯成IPv4組播報文,并將所述IPv4組播報文組播到下游的組播接收者。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述mAFTR,具體用于接收到組播源發(fā)送的IPv4組播報文時,新建IPv6組播報文,將該IPv6組播報文報頭中的所有字段基于所述IPv4組播報文報頭填寫,報文內(nèi)容不變。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述mB4,具體用于接收到mAFTR發(fā)送的IPv6組播報文時,新建IPv4組播報文,將該IPv4組播報文報頭中的所有字段基于所述IPv6組播報文報頭填寫,報文內(nèi)容不變。
10.一種DS-Iite網(wǎng)絡(luò)承載組播業(yè)務(wù)的網(wǎng)絡(luò)節(jié)點,其特征在于,所述網(wǎng)絡(luò)節(jié)點包括mAFTR,所述mAFTR接收到組播源發(fā)送的IPv4組播報文時,將所述IPv4組播報文翻譯成IPv6組播報文,并將所述IPv6組播報文發(fā)送到mB4。
全文摘要
本發(fā)明公開了一種輕量級雙協(xié)議棧(DS-lite)網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的方法,當組播地址族翻譯路由(mAFTR)接收到組播源發(fā)送的IPv4組播報文時,將該IPv4組播報文翻譯成IPv6組播報文,并將該IPv6組播報文發(fā)送到mB4;當mB4接收到該IPv6組播報文時,將該IPv6組播報文翻譯成IPv4組播報文,并將該IPv4組播報文組播到下游的組播接收者;本發(fā)明同時還公開了一種DS-lite網(wǎng)絡(luò)架構(gòu)承載組播業(yè)務(wù)的系統(tǒng)和網(wǎng)絡(luò)節(jié)點。通過本發(fā)明的方案,能夠?qū)Pv4組播報文完全轉(zhuǎn)化為IPv6組播報文在IPv6網(wǎng)絡(luò)中傳送,提高IPv4組播報文在IPv6網(wǎng)絡(luò)中的傳送效率,最大的利用IPv6網(wǎng)絡(luò)的組播能力。
文檔編號H04L29/12GK102780567SQ20111011863
公開日2012年11月14日 申請日期2011年5月9日 優(yōu)先權(quán)日2011年5月9日
發(fā)明者秦超, 金利忠, 馬高峰 申請人:中興通訊股份有限公司