摘要:要使IPv4主機(jī)與IPv6主機(jī)進(jìn)行組播通信,必須做協(xié)議轉(zhuǎn)換工作。采用多播轉(zhuǎn)換網(wǎng)關(guān)(MTG)技術(shù)方案能較好地實(shí)現(xiàn)IPv4網(wǎng)和IPv6網(wǎng)之間的組播互通。方法是將MTG部署在IPv4和IPv6網(wǎng)絡(luò)的邊界,將IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)視為地位對(duì)等的兩個(gè)異構(gòu)網(wǎng)絡(luò)。IPv6主機(jī)可以加入組播源位于IPv4網(wǎng)絡(luò)的組播組,IPv4主機(jī)也可以加入組播源位于IPv6網(wǎng)絡(luò)的組播組。在IPv4中,MTG作為IPv6的代理,參與IPv4的組播;同樣,MTG在IPv6中則作為IPv4的代理。在MTG系統(tǒng)內(nèi)部,兩個(gè)代理之間進(jìn)行協(xié)議轉(zhuǎn)換。
關(guān)鍵詞:組播;IPv6協(xié)議;過渡;網(wǎng)關(guān);轉(zhuǎn)發(fā)器
Abstract:Protocoltranslationisrequired for IPv4/IPv6 multicast communication. The Multicast Transition Gateway (MTG) technology is a good solution to the realization of IPv4/IPv6 multicast interoperability. With this technology, the MTG is deployed at the edges of IPv4 and IPv6, and the IPv4 and IPv6 networks are considered as peer-to-peer heterogeneous networks. The IPv6 multicast source can be added to the IPv4 multicast group, and the IPv4 multicast source can also be added to the IPv6 multicast group. In the IPv4 network, MTG as an agent of IPv6 participate in IPv4 multicast, and vise versa. Within the MTG system, the two agents translate protocols.
Keywords:multicast;IPv6protocol; transition; gateway; reflector
在下一代互聯(lián)網(wǎng)中,已確定IPv6必須實(shí)現(xiàn)對(duì)組播的支持,并安排了大量的組播地址空間。雖然在IPv6開始應(yīng)用后純IPv6節(jié)點(diǎn)會(huì)越來越多,但許多IPv4節(jié)點(diǎn)依然會(huì)因?yàn)樗鼈兊某晒\(yùn)作而繼續(xù)存在。因此短期內(nèi)IPv6無法全部替換IPv4,兩者必定會(huì)在很長(zhǎng)一段時(shí)間內(nèi)共存。在這一漫長(zhǎng)的共存期中,按照IPv6的部署策略,純IPv6網(wǎng)絡(luò)將會(huì)區(qū)域性地不斷出現(xiàn)。此時(shí),網(wǎng)絡(luò)將呈現(xiàn)出純IPv4網(wǎng)絡(luò)和純IPv6網(wǎng)絡(luò)共同存在,互相交錯(cuò)的局面。
因此,必須有一套機(jī)制來保證IPv4與IPv6節(jié)點(diǎn)能直接通信以實(shí)現(xiàn)平滑過渡。目前,已有相當(dāng)多的過渡技術(shù)被提出,但它們只適用于單播通信,還不能適用于組播通信。雖然組播通信的過渡技術(shù)尚未成為人們研究工作的重心,但作為一個(gè)很有實(shí)際應(yīng)用意義的研究方向,已經(jīng)開始被越來越多的組織和團(tuán)體關(guān)注[1-4]。
1.組播過渡技術(shù)
1.1雙棧技術(shù)
雙棧的組播過渡解決方案實(shí)際上是純IPv4組播網(wǎng)和純IPv6組播網(wǎng)兩者的疊加。單播中,可以將服務(wù)器配置成雙棧,以便純IPv4和純IPv6的主機(jī)能夠輕松地訪問它。同樣,組播源也可以配置成雙棧,同時(shí)向IPv4組和IPv6組發(fā)送數(shù)據(jù)流,使運(yùn)行不同協(xié)議棧的所有主機(jī)都能接收組播報(bào)文。
在雙棧網(wǎng)絡(luò)上IPv4和IPv6組播可以同時(shí)部署。IPv4和IPv6組播能同時(shí)運(yùn)行在路由器和主機(jī)上,并且能同時(shí)存在于同一網(wǎng)絡(luò)鏈路;路由器也能同時(shí)成為IPv4組和IPv6組的匯聚點(diǎn)(RP)。
對(duì)于簡(jiǎn)單的單源情況,如果數(shù)據(jù)流只存在于一個(gè)封閉環(huán)境中,所有潛在接收者都支持同一IP協(xié)議,則源只需要使用這一IP協(xié)議。在更多的開放環(huán)境中,潛在接收者及其支持的IP協(xié)議是未知的,為了確保所有接收者都能夠接收,需要有一個(gè)IPv4源和一個(gè)IPv6源,此時(shí)必須保證兩個(gè)源都使用同一源數(shù)據(jù)。
只有少量源時(shí),可以利用雙棧技術(shù),將所有源配置成雙棧,同時(shí)向IPv4組和IPv6組發(fā)送報(bào)文。但在一個(gè)視頻會(huì)議中,幾乎每個(gè)人都要同時(shí)接收和發(fā)送數(shù)據(jù),并且一部分參與者使用純IPv4,另一部分使用純IPv6,在這種情況下雙棧技術(shù)將無能為力。另外,使用雙棧技術(shù)時(shí),帶寬的耗費(fèi)將是原來的兩倍。
雙棧技術(shù)不需要額外的設(shè)備,也不需要對(duì)組播數(shù)據(jù)做額外的轉(zhuǎn)換。因此,是最容易實(shí)施的一種方案。適用于應(yīng)用環(huán)境中不需要IPv4主機(jī)與IPv6主機(jī)之間進(jìn)行通信的情況,如內(nèi)容分發(fā)。
1.2協(xié)議轉(zhuǎn)換技術(shù)
協(xié)議轉(zhuǎn)換技術(shù)可以在無需改動(dòng)基礎(chǔ)設(shè)施的情況下,使IPv6主機(jī)能像與IPv6組播組通信一樣,使用普通的IPv6組播協(xié)議與任何IPv4組播組通信。其核心思想是:在使用一種IP協(xié)議的源和使用另一種IP協(xié)議的宿之間的路徑上放置一個(gè)或多個(gè)轉(zhuǎn)換設(shè)備。在極少數(shù)的情況下,轉(zhuǎn)換也在發(fā)送或接收的主機(jī)上完成,這主要針對(duì)運(yùn)行在雙棧主機(jī)上但僅支持一種IP協(xié)議的應(yīng)用程序。常用的轉(zhuǎn)換方法有以下幾種:
(1)轉(zhuǎn)發(fā)器
IPv4中,轉(zhuǎn)發(fā)器(Reflector)方案在無法全局組播時(shí)經(jīng)常被采用。虛擬房間視頻會(huì)議系統(tǒng)(VRVS)是一個(gè)典型的例子,它在核心網(wǎng)上采用純組播,在無法直接通過組播的區(qū)域設(shè)置轉(zhuǎn)發(fā)器作為此區(qū)域的組播代理。核心網(wǎng)與轉(zhuǎn)發(fā)器之間采用單播方式連接,轉(zhuǎn)發(fā)器與端系統(tǒng)之間可以采用純組播也可以使用單播。
IPv4-IPv6組播轉(zhuǎn)發(fā)器在IPv4和IPv6組播之間進(jìn)行轉(zhuǎn)換(Reflect),而不是在單播與組播之間進(jìn)行轉(zhuǎn)換。給定IPv4組地址和端口及IPv6組地址和端口,轉(zhuǎn)發(fā)器將同時(shí)加入兩個(gè)組并監(jiān)聽相應(yīng)的端口,從一個(gè)組接收到的所有數(shù)據(jù)將重新發(fā)送(Resend)至另一組。
按照IPv6的過渡進(jìn)程,轉(zhuǎn)發(fā)器可以有以下兩種部署方案:當(dāng)內(nèi)容提供者所使用的協(xié)議沒有被廣泛支持,并且主機(jī)或應(yīng)用程序不支持雙協(xié)議時(shí),轉(zhuǎn)發(fā)器位于源附近;當(dāng)接收者使用不同于源的另一種協(xié)議時(shí),那么在接收者附近放置轉(zhuǎn)發(fā)器也是非常有效的。
轉(zhuǎn)發(fā)器方案主要缺陷是性能較低,不能支持大規(guī)模的組播應(yīng)用。另外它必須為每個(gè)會(huì)話都啟用一個(gè)實(shí)例,即使沒有接收者,它仍執(zhí)行接收重發(fā)的過程。
因?yàn)樯鲜龅木窒蓿D(zhuǎn)發(fā)器可以被用來為多個(gè)組播組工作,但同時(shí)工作的會(huì)話數(shù)量有限。如果利用轉(zhuǎn)發(fā)器在網(wǎng)絡(luò)上提供服務(wù),用戶必須聯(lián)系管理員,申請(qǐng)?jiān)谟邢薜臅r(shí)間內(nèi)分配一個(gè)會(huì)話;或者可以像隧道代理(Tunnel Broker)一樣,使用Web認(rèn)證等輔助措施來使會(huì)話分配過程自動(dòng)化。
(2)網(wǎng)關(guān)
組播過渡技術(shù)的發(fā)展晚于單播過渡技術(shù),因此大部分組播過渡技術(shù)都不同程度地借鑒了單播過渡技術(shù)的思想。雙棧技術(shù)自然毋須多言,因?yàn)樗诮M播過渡技術(shù)與單播過渡技術(shù)中完全是一致的。轉(zhuǎn)發(fā)器技術(shù)工作于傳輸層,從而避免了報(bào)頭轉(zhuǎn)換,這與單播過渡的TCP-UDP中繼技術(shù)的思想是一致的。IPv4-IPv6組播網(wǎng)關(guān)則是一種類網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換(NAT-PT)的方案。
NAT-PT[5]主要是針對(duì)單播提出的,并不能完全適用于組播。網(wǎng)關(guān)根據(jù)NAT-PT的思想,結(jié)合組播自身的特性優(yōu)化改進(jìn),從而形成適合組播的IPv4-IPv6過渡技術(shù)。
網(wǎng)關(guān)的思想是將IPv4組播地址通過加上指定“/96”的前綴嵌入到IPv6地址中,從而每一個(gè)IPv4組播地址都有一個(gè)相應(yīng)的IPv6組播地址;同樣,每個(gè)IPv6地址也都和一個(gè)IPv4地址對(duì)應(yīng)。參與組播過渡的IPv4與IPv6地址之間是一一映射的關(guān)系,這是IPv4-IPv6組播網(wǎng)關(guān)一個(gè)至關(guān)重要的特性。正是因?yàn)檫@個(gè)特性,協(xié)議轉(zhuǎn)換的工作才能夠順利地進(jìn)行。
網(wǎng)關(guān)可以部署在IPv4和IPv6網(wǎng)絡(luò)的邊界,也可以放置在雙棧網(wǎng)絡(luò)中。它可用于單個(gè)站點(diǎn)或組織,也可以作為服務(wù)在大型網(wǎng)絡(luò)上提供。需要的話,甚至可以為同一網(wǎng)絡(luò)部署多個(gè)網(wǎng)關(guān)。
網(wǎng)關(guān)的主要不足有兩點(diǎn):對(duì)IPv4組播的組成員及源的有效期不敏感、IPv4只能訪問給定前綴的IPv6組。
網(wǎng)關(guān)最大的優(yōu)勢(shì)在于提供IPv4和IPv6組播的相互通信機(jī)制,使用網(wǎng)關(guān)可以建立同時(shí)存在IPv4和IPv6的多方視頻會(huì)議,并可進(jìn)行全雙向連接。NAT-PT已逐漸成為主要的單播過渡方案,與之相近的網(wǎng)關(guān)組播過渡方案無疑是適用性最廣泛的過渡方案之一。
(3)其他過渡技術(shù)
6over4過渡技術(shù)將IPv4網(wǎng)絡(luò)當(dāng)作具有組播功能的一條鏈路,通過IPv6組播地址和IPv4組播地址的映射關(guān)系實(shí)現(xiàn)IPv6協(xié)議的鄰居發(fā)現(xiàn)功能,使孤立IPv6主機(jī)之間形成IPv6互聯(lián)。這種單播過渡機(jī)制本身就是采用IPv4組播作為其底層載體,用于IPv6組播時(shí),只將其目的地址映射到專私用組播地址域——239.0.0.0/8。因?yàn)?over4過渡技術(shù)本身并未大規(guī)模地應(yīng)用,基于它的組播技術(shù)很少被提及。
應(yīng)用層組播(ALM)在應(yīng)用層實(shí)現(xiàn)組播功能,而不是在網(wǎng)絡(luò)層實(shí)現(xiàn)組播功能。其實(shí)際是一種疊加于單播網(wǎng)絡(luò)的邏輯網(wǎng)。因此,ALM的過渡由應(yīng)用層來保證。它的過渡問題最終歸結(jié)為單播IPv6過渡。
NAT-PT+ALG是在現(xiàn)有NAT-PT的基礎(chǔ)上加入組播應(yīng)用層網(wǎng)關(guān)(ALG)以滿足組播的需求。韓國(guó)的ETRI項(xiàng)目和以及歐洲的GTPv6項(xiàng)目曾經(jīng)提出過這種方案。
隧道技術(shù)將一種協(xié)議的組播報(bào)文封裝在另一協(xié)議報(bào)文中,從而可以實(shí)現(xiàn)組播的跨網(wǎng)傳輸。雖然目前不是所有的隧道過渡技術(shù)都支持組播,但在加入需要額外的功能代碼后,很多都可以支持。所有的隧道技術(shù)均是基于雙棧的,因此不能實(shí)現(xiàn)純IPv6主機(jī)和純IPv4主機(jī)之間的通信。
2.多播轉(zhuǎn)換網(wǎng)關(guān)模型
多播轉(zhuǎn)換網(wǎng)關(guān)(MTG)模型是基于Linux2.4內(nèi)核的網(wǎng)關(guān)協(xié)議轉(zhuǎn)換方案原型。
MTG模型在網(wǎng)絡(luò)中的部署如圖1所示,MTG部署在IPv4和IPv6網(wǎng)絡(luò)的邊界。MTG模型將IPv4網(wǎng)絡(luò)和IPv6網(wǎng)絡(luò)視為地位對(duì)等的兩個(gè)異構(gòu)網(wǎng)絡(luò)。從網(wǎng)關(guān)向兩邊看,一邊是純IPv4網(wǎng)絡(luò),另一邊是純IPv6網(wǎng)絡(luò)。網(wǎng)關(guān)的工作對(duì)IPv4和IPv6而言也是對(duì)等的:IPv6主機(jī)可以加入組播源位于IPv4網(wǎng)絡(luò)的組播組,IPv4主機(jī)也可以加入組播源位于IPv6網(wǎng)絡(luò)的組播組。
在IPv4中,MTG作為IPv6的代理,參與IPv4的組播;同樣,MTG在IPv6中則作為IPv4的代理。圖中MTG既可理解為單個(gè)雙棧設(shè)備,也可理解為一個(gè)雙棧網(wǎng)絡(luò)。在MTG系統(tǒng)內(nèi)部,兩個(gè)代理之間進(jìn)行協(xié)議轉(zhuǎn)換。
2.1模型結(jié)構(gòu)
圖2虛線框部分給出了MTG的模型結(jié)構(gòu)。主要由IPv4組播代理(MP4)、IPv6組播代理(MP6)、組播協(xié)議轉(zhuǎn)換器(MT)、地址映射器(AM)、簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議(SNMP)接口、MTG管理信息庫(kù)(MIB)組成。
(1)IPv4組播代理
IPv4組播代理作為IPv6接收節(jié)點(diǎn)的代理加入IPv4組播組,接收從IPv4流出的組播報(bào)文,再將報(bào)文轉(zhuǎn)交給組播協(xié)議轉(zhuǎn)換器。IPv4組播代理的主要工作包括:向IPv4網(wǎng)絡(luò)發(fā)送Internet組管理協(xié)議(IGMP)消息,向IPv4網(wǎng)絡(luò)發(fā)送組播數(shù)據(jù),從IPv4網(wǎng)絡(luò)接收組播報(bào)文。向IPv4網(wǎng)絡(luò)發(fā)送IGMP消息包括響應(yīng)IGMP查詢、主動(dòng)向路由器發(fā)送未經(jīng)同意的成員關(guān)系報(bào)告以及主動(dòng)發(fā)起離開組信息。接收組播報(bào)文時(shí),必須進(jìn)行有效性檢查,如IPv6中所有主機(jī)都已離開該組播組,則報(bào)文不再向組播協(xié)議轉(zhuǎn)換器轉(zhuǎn)交,并立即向IPv4發(fā)起離開組信息。
(2)IPv6組播代理
IPv6組播代理作為IPv6接收節(jié)點(diǎn)的代理加入IPv4組播組,接收從IPv6流出的組播報(bào)文,再將報(bào)文轉(zhuǎn)交給組播協(xié)議轉(zhuǎn)換器。因?yàn)镸TG在IPv4和IPv6中部署情況不同,IPv6組播代理的工作與IPv4有所區(qū)別。IPv6組播代理的工作主要包括:接收IPv6主機(jī)的組播監(jiān)聽發(fā)現(xiàn)(MLD)成員報(bào)告(作為組播指定路由器時(shí))、接收協(xié)議無關(guān)組播(PIM)加入消息、向IPv6網(wǎng)絡(luò)發(fā)送組播數(shù)據(jù)、從IPv6網(wǎng)絡(luò)接收組播報(bào)文。MTG在IPv6中不再作為普通的主機(jī),而是成為IPv6的組播路由器和RP,因此更多地表現(xiàn)出路由器的行為。當(dāng)IPv6中沒有IPv4組播接收者時(shí),MTG能夠獲知并做出反應(yīng),離開IPv4組。這是IPv4組播代理所無法做到的,因此,IPv6組播數(shù)據(jù)總是無條件地被轉(zhuǎn)交給組播協(xié)議轉(zhuǎn)換器,并被向IPv4網(wǎng)絡(luò)中發(fā)送。
(3)組播協(xié)議轉(zhuǎn)換器
組播協(xié)議轉(zhuǎn)換器對(duì)IPv4組播報(bào)文和IPv6組播報(bào)文進(jìn)行相互轉(zhuǎn)換。它主要工作于網(wǎng)絡(luò)層,在IPv4和IPv6間進(jìn)行報(bào)頭轉(zhuǎn)換,必要時(shí)還要對(duì)報(bào)文分片轉(zhuǎn)發(fā)。
由圖2可見,整個(gè)模型的核心模塊是組播協(xié)議轉(zhuǎn)換器,它主要負(fù)責(zé)在IPv4和IPv6報(bào)頭間轉(zhuǎn)換。表1為IPv4和IPv6報(bào)頭字段轉(zhuǎn)換表。
IPv6中8位業(yè)務(wù)類型(Traffic Class)字段目前并未有標(biāo)準(zhǔn)草案做出規(guī)范,但它與IPv4中8位服務(wù)類型(ToS)字段的作用是相似的,主要用于提供某種區(qū)分服務(wù)。目前MTG對(duì)此作等值轉(zhuǎn)換,方便IPv4中基于服務(wù)類型的服務(wù)質(zhì)量(QoS)工作能在IPv6中繼續(xù)。另外MTG對(duì)此提供擴(kuò)展接口,可以根據(jù)需要調(diào)節(jié)轉(zhuǎn)換策略。
IPv6中跳限度(Hop Limit)字段與IPv4中生存時(shí)間(TTL)字段的作用是一致的,用于限制報(bào)文的傳播范圍。它的處理與業(yè)務(wù)類型和服務(wù)類型的轉(zhuǎn)換處理是相同的,也使用等值轉(zhuǎn)換,并提供擴(kuò)展接口。
對(duì)于非指定源組播(SSM)而言,源地址的轉(zhuǎn)換使用MTG的固定IPv4單播地址或固定IPv6單播地址。從IPv6接收者的角度,網(wǎng)關(guān)是所有IPv4數(shù)據(jù)重發(fā)的源;從IPv4的角度,網(wǎng)關(guān)也是所有IPv6數(shù)據(jù)重發(fā)的源。對(duì)于SSM,同一個(gè)組可能同時(shí)用于多個(gè)頻道,從而存在多個(gè)源,因此無法使用一個(gè)固定組播源地址,必須為它在地址映射器中分配新地址。
宿地址即組播組地址。IPv4向IPv6轉(zhuǎn)換時(shí),使用IPv6組播前綴標(biāo)識(shí)——FFxy::/96[6],并將IPv4組播組地址置于低32位。當(dāng)IPv4組播地址是一個(gè)由全球Internet編址中心(GINA)永久分配的組播地址時(shí),組播前綴標(biāo)識(shí)中x標(biāo)記置為“0”,否則為“1”;當(dāng)使用SSM時(shí),組播前綴標(biāo)識(shí)中變量x標(biāo)記置為“3”。組播前綴標(biāo)識(shí)中y按IPv4組播前綴和標(biāo)準(zhǔn)草案RFC2365中定義的IPv6域值的映射進(jìn)行轉(zhuǎn)換。IPv6向IPv4轉(zhuǎn)換時(shí),必須根據(jù)x和y確定地址類型,再?gòu)牡刂酚成淦髦蟹峙銲Pv4組播組地址。注意,IPv6的會(huì)話公告協(xié)議(SAP)地址必須轉(zhuǎn)換為FF0y::2:7FFE形式。當(dāng)IPv4的組播會(huì)話地址在224.2.128.0—224.2.255.255內(nèi)時(shí),SAP地址一般為224.2.127.254;其他情況可參見標(biāo)準(zhǔn)草案RFC2974中的具體定義。
另外,組播協(xié)議轉(zhuǎn)換器還向應(yīng)用層提供回調(diào)接口鏈,滿足應(yīng)用層協(xié)議轉(zhuǎn)換的要求。默認(rèn)的應(yīng)用層回調(diào)用于SAP報(bào)文的協(xié)議轉(zhuǎn)換。
(4)地址映射器
地址映射器為IPv4和IPv6維護(hù)一個(gè)單播地址池和一個(gè)由IPv4和IPv6地址對(duì)組成的地址映射表。IPv4地址池用于IPv6節(jié)點(diǎn)在IPv4域中的臨時(shí)IPv4地址,IPv6地址池用于IPv4節(jié)點(diǎn)在IPv6域中的臨時(shí)IPv6地址。它們被通告給IPv4/IPv6單播路由器,以便發(fā)送給他們的報(bào)文能夠被轉(zhuǎn)發(fā)給網(wǎng)關(guān)及通過逆向路徑轉(zhuǎn)發(fā)(RPF)檢查。
地址映射器涉及3類地址的分配:IPv4組播組地址、IPv4 SSM源地址、IPv6 SSM源地址。
當(dāng)需要分配一個(gè)IPv6地址對(duì)應(yīng)一個(gè)IPv4地址(IPv4源地址)時(shí),地址映射器從地址映射表中選擇一個(gè)合適的IPv6地址返回;當(dāng)沒有一個(gè)合適的項(xiàng)對(duì)應(yīng)IPv4單播地址時(shí),地址映射器從IPv6地址池中選擇返回一個(gè)IPv6單播地址,并向地址映射表中注冊(cè)一個(gè)新的項(xiàng);當(dāng)沒有一個(gè)合適的項(xiàng)對(duì)應(yīng)IPv4組播地址時(shí)(IPv4目的地址),地址映射器向表中注冊(cè)一個(gè)包含IPv4組播組地址和對(duì)應(yīng)IPv6地址的新項(xiàng)。IPv4地址的分配與之類似。
(5)SNMP接口
SNMP接口分為內(nèi)部接口和外部接口。內(nèi)部接口主要為內(nèi)部模塊與MIB交互提供一套完整的方法。外部接口則為用戶提供管理MTG的方法。用戶可使用標(biāo)準(zhǔn)SNMP命令獲知MTG的當(dāng)前運(yùn)行狀態(tài)和動(dòng)態(tài)更改部分的可調(diào)參數(shù)。
(6)MTG管理信息庫(kù)
MTG管理信息庫(kù)提供MTG運(yùn)行所需的環(huán)境配置和記錄MTG當(dāng)前運(yùn)行狀態(tài)。
2.2MTG的工作流程
下面以一視頻會(huì)議為例說明MTG的工作流程。
IPv4中兩名參與者F1和F2,IPv6中也有兩名參與者S1和S2。其中F1為會(huì)議的組織者。所有參與者都運(yùn)行會(huì)話描述協(xié)議(SDR)或類似SAP的監(jiān)聽器獲取會(huì)話信息。
MTG的IPv4和IPv6地址分別為202.112.25.214和3FFE:3206:1000::19D6。同時(shí)將MTG配置為IPv6組播指定路由器。
參與者F1首先向224.2.127.254:9875公告會(huì)議信息,通知其他會(huì)議參與者使用224.5.5.5作為會(huì)話地址,并同時(shí)向IPv4發(fā)送視頻/音頻流。
參與者F2通過SDR直接收到該SAP公告,并啟動(dòng)組播會(huì)議工具。此時(shí)F1和F2可以進(jìn)行會(huì)話。
當(dāng)SAP公告到達(dá)MTG,MP4將其轉(zhuǎn)交至MT,MT對(duì)其進(jìn)行報(bào)頭轉(zhuǎn)換,源地址轉(zhuǎn)換為MTG的固定IPv6地址3FFE:3206:1000::19D6,宿地址為FF0E:0::2:7FFE。并調(diào)用應(yīng)用層回調(diào)函數(shù)解析出組播會(huì)話地址224.5.5.5,然后從AM取得對(duì)應(yīng)的IPv6地址FF1E::224.5.5.5,在應(yīng)用層上對(duì)其攜帶的信息進(jìn)行修改。MT再將已轉(zhuǎn)換的SAP報(bào)文轉(zhuǎn)交給MP6,將之發(fā)送到IPv6網(wǎng)絡(luò)。SAP第一次到達(dá)時(shí),AM會(huì)更新映射表。
參與者S1和參與者S2收到SAP公告之后,發(fā)起MLD成員報(bào)告。MP6收到MLD報(bào)告之后,轉(zhuǎn)交給MT,MT將MLD報(bào)告轉(zhuǎn)換成IGMP成員報(bào)告,通過MP4向IPv4發(fā)送成員關(guān)系報(bào)告,并加入224.5.5.5組。至此,4個(gè)參與者均加入組播會(huì)話。
MP4接收到參與者F1發(fā)出的IPv4組播報(bào)文,并轉(zhuǎn)交給MT,MT對(duì)其進(jìn)行報(bào)頭轉(zhuǎn)換,源地址轉(zhuǎn)換為MTG的固定IPv6地址3FFE:3206:1000::19D6,宿地址224.5.5.5轉(zhuǎn)換為對(duì)應(yīng)的IPv6地址FF1E::224.5.5.5,再經(jīng)由MP6組播給參與者S1和參與者S2。MP6接收到參與者S1和參與者S2發(fā)出的IPv6組播報(bào)文,并轉(zhuǎn)交給MT,MT對(duì)其進(jìn)行報(bào)頭轉(zhuǎn)換,源地址轉(zhuǎn)換為MTG的固定IPv4地址202.112.25.214,宿地址FF1E::224.5.5.5轉(zhuǎn)換為對(duì)應(yīng)的IPv4地址224.5.5.5,再經(jīng)由MP4組播給參與者F1和參與者F2。當(dāng)參與者S1和參與者S2都退出時(shí),MP4不再向MT轉(zhuǎn)交該組組播報(bào)文。
當(dāng)不使用SAP時(shí),會(huì)話地址202.5.5.5必須通過人工傳達(dá)或Web公布等方法告之所有會(huì)議參與者。管理員或者被授權(quán)的終端用戶通過SNMP外部接口注冊(cè)202.5.5.5組播組,并取得IPv6映射地址FF1E::224.5.5.5。IPv6用戶使用FF1E::224.5.5.5地址加入組播會(huì)話。
3.結(jié)束語
要使IPv4主機(jī)與IPv6主機(jī)進(jìn)行組播通信,必須做諸如轉(zhuǎn)發(fā)器(在傳輸層)或網(wǎng)關(guān)(在網(wǎng)絡(luò)層)之類的協(xié)議轉(zhuǎn)換工作。
MTG在實(shí)現(xiàn)網(wǎng)關(guān)基本功能的基礎(chǔ)上,對(duì)網(wǎng)關(guān)作了一定程度的改進(jìn)。網(wǎng)關(guān)對(duì)IPv4組播的組成員及源的有效期不敏感的問題,可以通過使MTG同時(shí)成為IPv4的組播路由器,而使MTG具有獲知組成員狀態(tài)的能力;對(duì)于網(wǎng)關(guān)中IPv4只能訪問給定前綴的IPv6組,從MTG模型結(jié)構(gòu)可以看出,在附加前綴的基礎(chǔ)上,通過可管理的靜態(tài)地址映射,消除了IPv4對(duì)IPv6的訪問限制。
MTG還對(duì)網(wǎng)關(guān)方案未曾具體涉及的問題進(jìn)行了探討。根據(jù)標(biāo)準(zhǔn)草案RFC2365,加入對(duì)不同協(xié)議間組播管理域的映射;通過SNMP接口和擴(kuò)展MIB,將網(wǎng)關(guān)的管理標(biāo)準(zhǔn)化。另外在底層實(shí)現(xiàn)上,MTG采用了逐級(jí)細(xì)化的處理流程,增加了可配置的網(wǎng)關(guān)的擁塞控制策略和報(bào)文調(diào)度策略,可根據(jù)QoS和流量控制要求對(duì)高速緩存中的報(bào)文進(jìn)行可控調(diào)度。
使用MTG,可以有效實(shí)現(xiàn)IPv4-IPv6組播互通。
4.參考文獻(xiàn)
[1]VenaasS.An IPv4 - IPv6 Multicast Gateway[EB/OL].[2003-02-28]. http://www.6net.org/publications/standards/draft-venaas-mboned-v4v6mcastgw-00.txt.
[2]IPv4/IPv6MulticastInteroperability[EB/OL].[2003-07-15]. http://www.6net.org/publications/deliverables/D3.4.4.pdf.
[3]TsuchiyaK,Higuchi H, Sawada S, Nozaki S. An IPv6/IPv4 Multicast Translator Based on IGMP/MLD Proxying (mtp) [EB/OL]. [2002-10-15]. http://www.watersprings.org/pub/id/draft-ietf-ngtrans-mtp-03.txt.
[4]MeyerD.Administratively Scoped IP Multicast[S]. RFC2365, 1998.
[5]TsirtsisG,Srisuresh P. Network Address Translation - Protocol Translation (NAT-PT)[S]. RFC2766, 2000.
[6]HabermanB.Allocation Guidelines for IPv6 Multicast Addresses[S]. RFC3307, 2002.
作者簡(jiǎn)介:
楊獻(xiàn)烽,東南大學(xué)計(jì)算機(jī)科學(xué)與工程系在讀碩士研究生,研究方向?yàn)镮Pv6與組播技術(shù)。
曹爭(zhēng),東南大學(xué)計(jì)算機(jī)科學(xué)與工程系副教授,江蘇省教育和科研計(jì)算機(jī)網(wǎng)網(wǎng)絡(luò)中心副主任。長(zhǎng)期從事計(jì)算機(jī)網(wǎng)絡(luò)方面的科研和教學(xué)工作,承擔(dān)或參加了國(guó)家攻關(guān)課題、國(guó)家“863”課題、國(guó)防預(yù)研課題6項(xiàng),曾獲國(guó)家科技進(jìn)步獎(jiǎng)1項(xiàng)、省部級(jí)科技進(jìn)步獎(jiǎng)6項(xiàng)。
作者:楊獻(xiàn)烽 曹爭(zhēng) 來源:通信世界網(wǎng)