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