專利名稱:組播地址的轉換方法及裝置的制作方法
技術領域:
本發(fā)明涉及通訊領域,特別是指一種組播地址的轉換方法及裝置。
背景技術:
隨著IPv4地址池的枯竭,向IPv6網(wǎng)絡過渡勢在必行。但是現(xiàn)有網(wǎng)絡完全過渡到 IPv6網(wǎng)絡還有相當長的時間,IPv4和IPv6網(wǎng)絡共存的狀況會長期存在。另一方面,組播技術廣泛應用在IPTV、視頻點播、視頻會議等傳統(tǒng)模式,以及移動終端廣告、網(wǎng)絡Store、云計算等新興模式中。所以,如何解決在過渡網(wǎng)絡環(huán)境中的組播應用問題變得非常必要。目前,各方在過渡場景中解決組播問題主要使用的是隧道、翻譯兩種技術,其中不可避免的都需要建立IPv4組播地址和IPv6組播地址之間的轉換關系,用來在網(wǎng)絡邊緣進行組播的通訊,組播地址在IPv4和IPv6間的轉換成為應用基礎。
現(xiàn)有IPv4組播地址和IPv6組播地址之間的轉換,主要是draft-1etf-mboned -64-multicast-address-format草案規(guī)定的轉換方法。該方法定義ASM (Any Source Multicast,任意源組播)前綴 FFXX:8000: :/20 和 SSM(SourceSpecific Multicast,特定源組播)前綴FF3X:0:8000: :/96,把IPv4組播地址作為IPv6組播地址的后32位,與定義的組播前綴用拼接的方式組合起來進行組播地址轉換。這種組播地址轉換的方法簡單易實現(xiàn),但是存在一定的不足由于使用的IPv6組播前綴是固定的,針對ASM組播地址和SSM組播地址各有一個統(tǒng)一的前綴,不區(qū)分IPv4地址范圍,所有的IPv4 SSM組播地址都會映射到同一個IPv6 SSM組播前綴,所有的IPv4 ASM組播地址都會映射到同一個IPv6ASM組播前綴。拿ASM組播地址來說,也就是如果在設備上使用了一個固定的IPv6 ASM前綴后,所有組播IPv4 ASM地址都會轉換成統(tǒng)一 IPv6組播前綴的組播地址。而所有想要和IPv4網(wǎng)絡進行互通的組播應用,也必須使用規(guī)定的組播前綴,這樣限制了 IPv6組播前綴的使用量和靈活性,也無法對IPv4組播地址空間進行劃分。另外還存在的不足在于,因為至少要留32 位給IPv4組播地址,所以IPv6組播前綴最長用到96。
綜上所述,現(xiàn)有的 組播地址轉換方法不能很好地利用IPv6的組播地址空間,也不能對IPv4和IPv6的組播地址空間進行更精確的劃分,應用的多樣性、靈活性和安全性存在不足。發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種組播地址的轉換方法及裝置,能夠更好的利用IPv6地址空間,在網(wǎng)絡中實現(xiàn)IPv4組播地址和IPv6組播地址間的轉換。
為解決上述技術問題,本發(fā)明的實施例提供技術方案如下
一方面,提供一種組播地址的轉換方法,包括
獲取待轉換的組播地址所對應的轉換規(guī)則,所述轉換規(guī)則包括有組播地址前綴、 IPv4組播地址類型和IPv4組播地址偏移位置;
根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址。
進一步地,在所述待轉換的組播地址為IPv4組播地址時,所述轉換規(guī)則包括有 IPv6組播地址前綴和IPv4組播地址前綴,在所述IPv4組播地址類型指示基于IPv4組播地址后綴形成所述目標組播地址時,所述根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址包括
根據(jù)所述IPv4組播地址前綴和所述IPv4組播地址計算出IPv4組播地址后綴;
在IPv6地址的起始位置放置所述IPv6組播地址前綴,在所述IPv4組播地址偏移位置指示的位置放置所述IPv4組播地址后綴,其它空位置0,形成目標IPv6組播地址。
進一步地,在所述轉換規(guī)則包括有IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在IPv6地址中從所述IPv4組播地址偏移位置參數(shù)定義的起始偏移位置的后一位開始放置所述IPv4組播地址后綴;
在所述轉換規(guī)則未包括IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在IPv6地址的最后位置放置所述IPv4組播地址后綴。
進一步地,在所述待轉換的組播地址為IPv4組播地址時,所述轉換規(guī)則包括有 IPv6組播地址前綴和IPv4組播地址前綴,在所述IPv4組播地址類型指示基于IPv4組播地址形成所述目標組播地址時,所述根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址包括
在IPv6地址的起始位置放置所述IPv6組播地址前綴,在所述IPv4組播地址偏移位置指示的位置放置所述IPv4組播地址,其它空位置0,形成目標IPv6組播地址。
進一步地,在所述轉換規(guī)則包括有IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在IPv6地址中從所述IPv4組播地址偏移位置參數(shù)定義的起始偏移位置的后一位開始放置所述IPv4組播地址;
在所述轉換規(guī)則未包括IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在IPv6地址的最后32位放置所述IPv4組播地址。
進一步地,在所述待轉換的組播地址為IPv6組播地址時,所述轉換規(guī)則包括有 IPv4組播地址前綴,在所述IPv4組播地址類型指示基于IPv4組播地址后綴形成所述目標組播地址時,所述根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址包括
根據(jù)所述IPv4組播地址前綴的長度計算出IPv4組播地址后綴的長度;
所述IPv6組播地址中,在IPv6組播地址偏移位置指示的位置根據(jù)所述IPv4組播地址后綴的長度獲取IPv4組播地址后綴;
拼接所述IPv4組播地址前綴和所述IPv4組播地址后綴形成目標IPv4組播地址。
進一步地,在所述轉換規(guī)則包括有IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在所述IPv6組播地址中從所述IPv4組播地址偏移位置參數(shù)定義的起始偏移位置的后一位開始獲取所述IPv4組播地址后綴;
在所述轉換規(guī)則 未包括IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在所述IPv6組播地址的最后位置獲取所述IPv4組播地址后綴。
進一步地,在所述待轉換的組播地址為IPv6組播地址時,所述IPv4組播地址類型指示基于IPv4組播地址形成所述目標組播地址時,所述根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址包括
所述IPv6組播地址中,在所述IPv6組播地址偏移位置指示的位置獲取32位的地址作為所述目標IPv4組播地址。
進一步地,在所述轉換規(guī)則包括有IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在所述IPv6組播地址中從所述IPv4組播地址偏移位置參數(shù)定義的起始偏移位置的后一位開始獲取所述IPv4組播地址;
在所述轉換規(guī)則未包括IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在所述IPv6組播地址的最后32位獲取所述IPv4組播地址。
本發(fā)明實施例還提供了一種實現(xiàn)如上所述方法的組播地址的轉換裝置,所述裝置包括
獲取模塊,用于獲取待轉換的組播地址所對應的轉換規(guī)則,所述轉換規(guī)則包括有組播地址前綴、IPv4組播地址類型和IPv4組播地址偏移位置;
轉換模塊,用于根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址。
本發(fā)明的實施例具有以下有益效果
上述方案中,首先獲取待轉換的組播地址所對應的轉換規(guī)則,再根據(jù)所述轉換規(guī)則將組播地址轉換為目標組播地址。本發(fā)明的技術方案中,每條轉換規(guī)則中配置有相應的地址前綴,可以設置多條轉換規(guī)則,使一個網(wǎng)絡范圍內(nèi)的各個區(qū)域或組織都能得到屬于自己的地址前綴,這樣可以使地址轉換過程保持在指定的地址范圍內(nèi),就可以在服務范圍內(nèi)更精細的進行組播地址范圍的劃分,增強服務的靈活性和安全性,有利于網(wǎng)絡管理。另外, 本發(fā)明的技術方案支持基于IPv4組播地址后綴的IPv6組播地址組成方式,沒有前綴長度的限制,能夠更好的利用IPv6組播地址空間。
圖1為本發(fā)明實施例的組播地址的轉換方法的流程示意圖2為本發(fā)明實施例的組播地址的轉換裝置的結構框圖3為本發(fā)明實施例基于IPv4組播地址后綴的IPv6組播地址組成格式示意圖4為本發(fā)明實施例基于IPv4組播地址的IPv6組播地址組成格式示意圖5為本發(fā)明實施例將IPv4組播地址轉換成IPv6組播地址的流程示意圖6為本發(fā)明實施例 將IPv6組播地址轉換成IPv4組播地址的流程示意圖7為本發(fā)明實施例使用組播地址的轉換裝置的場景示意圖8為本發(fā)明實施例另一使用組播地址的轉換裝置的場景示意圖。
具體實施方式
為使本發(fā)明的實施例要解決的技術問題、技術方案和優(yōu)點更加清楚,下面將結合附圖及具體實施例進行詳細描述。
本發(fā)明的實施例針對現(xiàn)有的組播地址轉換方法不能很好地利用IPv6的組播地址空間,也不能對IPv4和IPv6的組播地址空間進行更精確的劃分,應用的多樣性、靈活性和安全性存在不足的問題,提供一種組播地址的轉換方法及裝置,能夠更好的利用IPv6地址空間,在網(wǎng)絡中實現(xiàn)IPv4組播地址和IPv6組播地址間的轉換。
圖1為本發(fā)明實施例的組播地址的轉換方法的流程示意圖,如圖1所示,本實施例包括
步驟101 :獲取待轉換的組播地址所對應的轉換規(guī)則,所述轉換規(guī)則包括有組播地址前綴、IPv4組播地址類型和IPv4組播地址偏移位置;
步驟102 :根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址。
本發(fā)明實施例中可以預先設置一個或多個轉換規(guī)則,每個轉換規(guī)則定義如下
{ruie_ipv6_m_prefix, rule_ipv4_m_pref!x,< mle_ipv4—offset >,
< rule._ipv4—type >}
其中,rule_ipv6_m_prefix表示轉換規(guī)則中的IPv6組播地址前綴,包含掩碼長度;rule_ipv4_m_prefix表示轉換規(guī)則中的IPv4組播地址前綴,包含掩碼長度;這樣的一對前綴表示了對應的IPv6組播地址和IPv4組播地址的轉換關系。
rule_ipv4_offset為IPv4組播地址偏移位置參數(shù),它是轉換規(guī)則中的可選包含參數(shù),用來表示IPv4組播地址或是IPv4組播地址后綴在IPv6組播地址中的偏移位置,也就是IPv4組播地址或是IPv4組播地址后綴在IPv6組播地址中從起始位偏移的位置。如果轉換規(guī)則中不包含這個參數(shù),表示在IPv6組播地址的最后位放置IPv4組播地址或是IPv4 組播地址后綴。
rule_ipv4_type為IPv4組播地址類型參數(shù),它也是轉換規(guī)則中的可選包含參數(shù), 用來表示在IPv6組播地址中包含的是IPv4組播地址后綴還是完整的IPv4組播地址,也可以理解成是選用基于IPv4組播地址或IPv4組播地址后綴的IPv6組播地址組成格式。如果轉換規(guī)則中不包含這個參數(shù)或者rule_ipv4_type的值為O,則表示是基于IPv4組播地址后綴的IPv6組播地址組成格式;如果rule_ipv4_type的值為1,則表示基于IPv4組播地址的IPv6組播地址組成格式。
本發(fā)明定義了兩種IPv6組播地址格式,一種是基于IPv4組播地址后綴的IPv6組播地址組成格式,一種是基于IPv4組播地址的IPv6組播地址組成格式。具體采用哪種格式,由rule_ipv4_type來確定,rule_ipv4_type為O表示采用基于IPv4組播地址后綴的 IPv6組播地址組成格式,rule_ipv4_type為I表示采用基于IPv4組播地址的IPv6組播地址組成格式。在轉換規(guī)則中不包含rule_ipv4_type的情況下,默認采用基于IPv4組播地址后綴的IPv6組播地址組成格式。
一、基于IPv4組播地址后綴的IPv6組播地址組成格式中,IPv6組播地址由轉換規(guī)則中的IPv6組播地址前綴和IPv4組播地址后綴以及在有空位情況下補充的O組成。具體是從IPv6組播地址的起始位起,放置IPv6組播地址前綴;從轉換規(guī)則定義的起始偏移位置的后一位開始放置IPv4組播地址后綴,如果轉換規(guī)則中不包含rule_ipv4_offset,則默認把IPv4組播地址后綴直接放置在IPv6組播地 址的最后部分;其余位置填充O。
其中,IPv4組播地址后綴ipv4_m_suff ix是指需轉換的IPv4組播地址去掉rule_ipv4_m_prefix后剩余的部分,其長度為32減去rule_ipv4_m_prefix的長度。
圖3為基于IPv4組播地址后綴的IPv6組播地址組成格式示意圖,如圖3所示,從 IPv6組播地址的左端O位置起始,包含η比特的rule_ipv6_m_prefix,這里η也就表示了 rule_ipv6_m_prefix的掩碼長度;從O位置起始偏移rule_ipv4_offset,放置IPv4組播地址后綴ipv4_m_suffix,后綴占用m比特;其余空位用O填充。
其中,ipv4_m_suffix是由IPv4組播地址去除掉rule_ipv4_m_prefix后剩余的部分,由IPv4地址長度32減去rule_ipv4_m_prefix掩碼長度得到ipv4_m_suffix的長度,也就是m的值。在確定的rule_ipv6_m_prefix和ipv4_m_suffix以外的部分,也就是圖3中的P比特和q比特所占部分,用O填充。這里P和q的值可以為0,也就是表示沒有這部分空余,這要靠確定的兩部分rule_ipv4_m_prefix和ipv4_m_suffix以及參數(shù)rule_ ipv4_offset來決定。rule_ipv4_offset是可選包含的參數(shù),如果轉換規(guī)則中沒有包含這個參數(shù),那么ipv4_m_suffix是放置在IPv6組播地址的最后部分,也就是第128位之前的部分,此時q為O。
這種地址格式下,轉換規(guī)則中IPv6組播地址前綴的長度η和IPv4組播地址后綴的長度m之和不超過128即可,S卩n+m〈=128。η最大可以是128,此時要求m為0,這樣的轉換規(guī)則也就是表示一個確定的IPv6組播地址對應一個確定的IPv4組播的地址。如果轉換規(guī)則中包含rule_ipv4_offset,其值不能大于128_m,也就是必須留給ipv4_m_suffix足夠的空間。
二、基于IPv4組播地址的IPv6組播地址組成格式中,IPv6組播地址由IPv6組播地址前綴和完整的IPv4組播地址以及在有空位情況下補充的O組成。具體是從IPv6的起始位起,放置IPv6組播地址前綴;從轉換規(guī)則定義的起始偏移位置的后一位開始放置完整的IPv4組播地址,如果轉換規(guī)則中不包含rule_ipv4_offset,則默認把IPv4組播地址直接放置在IPv6組播地址的最后部分的32位;其余位置填充O。
圖4為基于IPv4組播地址的IPv6組播地址組成格式,如圖4所示,從IPv6組播地址的左端O位置起始,包含η比特的rule_ipv6_m_prefix,這里η也就表示了 rule_ipv6_ m_prefix的掩碼長度;從O位置起始偏移rule_ipv4_offset,放置完整的IPv4組播地址 ipv4_m_addr ,占用32比特;其余位置用O填充。
其中,在確定的rule_ipv6_m_prefix和ipv4_m_addr以外的部分,也就是圖4中的P比特和q比特所占部分,用O填充。這里P和q的值可以為0,也就是表示沒有這部分空余,這要靠確定的兩部分 rule_ipv4_m_pref ix 和 ipv4_m_addr 以及參數(shù) rule_ipv4_offset 來決定。rule_ipv4_offset是可選包含的參數(shù),如果轉換規(guī)則中沒有包含這個參數(shù),那么 ipv4_m_addr是放置在IPv6組播地址的最后部分,占用32位,此時q為O。
這種地址格式下,轉換規(guī)則中IPv6組播地址前綴的長度η和IPv4組播地址的長度32之和不超過128即可,即η+32〈=128,也就是η〈=96。另外,如果包含rule_ipv4_ offset,其值不能大于128 - 32=96,也就是必須留給ipv4_m_addr足夠的空間。
在進行組播地址間的轉換時,首先在需要進行組播地址轉換的設備上獲取需要使用的一組轉換規(guī)則,其中可以包含一個或多個轉換規(guī)則。
在IPv4組播地址向IPv6組播地址轉換的過程中,需要被轉換的IPv4組播地址到轉換規(guī)則中的IPv6組播地址前綴進行匹配,按照最長匹配的方法匹配到合適的IPv6組播地址前綴后,即獲取到一條具體的轉換規(guī)則并得到相應的IPv6組播地址前綴。如果沒有匹配到合適的IPv6組播地址前綴,則不作轉換處理。根據(jù)該轉換規(guī)則中可選的嵌入IPv4組播地址類型參數(shù)來選擇基于IPv4組播地址后綴還是IPv4組播地址的IPv6組播地址組成方式,如果該轉換規(guī)則中沒有定義IPv4組播地址類型參數(shù)則默認選擇基于IPv4組播地址后綴的IPv6組播地址組成方式;根據(jù)可選參數(shù)IPv4組播地址偏移位置來確定IPv4組播地址或IPv4組播地址后綴在IPv6組播地址中的偏移位置,如果該轉換規(guī)則中沒有定義IPv4 組播地址偏移位置則默認選擇在IPv6組播地址的最后位置。然后根據(jù)IPv6組播地址格式, 構建目標IPv6組播地址。
在IPv6組播地址向IPv4組播地址轉換的過程中,需要被轉換的IPv6組播地址到轉換規(guī)則中的IPv4組播地址前綴進行匹配,按照最長匹配的方法匹配到合適的IPv4組播地址前綴后,即獲取到一條具體的轉換規(guī)則并得到相應的IPv4組播地址前綴。如果沒有匹配到合適的IPv4組播地址前綴,則不作轉換處理。根據(jù)轉換規(guī)則中可選的嵌入IPv4組播地址類型參數(shù)來選擇基于IPv4組播地址后綴還是IPv4組播地址的IPv6組播地址組成方式,如果該轉換規(guī)則中沒有定義IPv4組播地址類型參數(shù)則默認選擇基于IPv4組播地址后綴的IPv6組播地址組成方式;根據(jù)可選參數(shù)IPv4組播地址偏移位置來確定IPv4組播地址或IPv4組播地址后綴在IPv6組播地址中的偏移位置。如果是基于IPv4組播地址后綴的方式,根據(jù)轉換規(guī)則中IPv4組播地址前綴的長度來計算出IPv4組播地址后綴的長度,然后按照IPv4組播地址偏移位置參數(shù)指定的位置和計算出的IPv4組播地址后綴長度獲取到 IPv4組播地址后綴,如果沒有包含IPv4組播地址偏移位置參數(shù)則直接從IPv6組播地址最后段按照計算的IPv4組播地址后綴長度獲取IPv4組播地址后綴,拼接轉換規(guī)則中的IPv4 地址前綴與獲取到的IPv4組播地址后綴,獲取到目標IPv4組播地址。如果是基于IPv4組播地址的IPv6組播地址組成方式,直接從偏移位置后一位開始獲取完整的IPv4組播地址, 如果沒有包含IPv4組播地址偏移位置參數(shù)則直接從IPv6組播地址最后32位獲取完整的 IPv4組播地址。
本發(fā)明實施例還提供了一種組播地址的轉換裝置,如圖2所示,本實施例包括
獲取模塊20,用于獲取待轉換的組播地址所對應的轉換規(guī)則,所述轉換規(guī)則包括有組播地址前綴、IPv4組播地址類型和IPv4組播地址偏移位置;
轉換模塊21,用于根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址。
該轉換裝置支持上述IPv4組播地址和IPv6組播地址間的轉換,能夠在獲取定義的一組轉換規(guī)則后,把輸入的能夠匹配到一條轉換規(guī)則的IPv4組播地址轉換成IPv6組播地址,把輸入的能夠匹配到一條轉換規(guī)則的IPv6組播地址轉換成IPv4組播地址,實現(xiàn)組播協(xié)議報文和數(shù)據(jù)報文的轉發(fā),溝通IPv4和IPv6網(wǎng)絡的組播應用。
本發(fā)明定義的轉換規(guī)則,可以根據(jù)組播地址前綴進行匹配,只對能夠匹配到組播地址前綴的地址進行轉換,否則不進行轉換。在某個范圍內(nèi),只希望獲取到某些組播地址的服務,這樣在一條轉換規(guī)則中就配置相應的地址前綴,而不希望得到服務的組播地址由于不能匹配而 無法穿越IPv4/IPv6網(wǎng)絡的邊界,這樣在設備使用中有較好的靈活性和安全性。本發(fā)明的技術方案可以設置多條轉換規(guī)則,使得一個網(wǎng)絡范圍內(nèi)的各個區(qū)域或組織都可以得到屬于自己的地址前綴,地址轉換過程保持在指定的地址范圍內(nèi),這樣就可以在服務范圍內(nèi)更精細的進行組播地址范圍的劃分,增強服務的靈活性和安全性,有利于網(wǎng)絡管理。另外,現(xiàn)有技術中由于要保證完整IPv4地址的32位,IPv6組播地址前綴的長度最長為96,而本發(fā)明中支持使用基于IPv4地址后綴的IPv6組播地址組成方式,沒有前綴長度的限制,甚至可以擴展到IPv6極限的128位,能夠更好的利用IPv6組播地址空間。
下面結合具體的實施例對本發(fā)明的組播地址的轉換方法進行介紹
實施例一
本實施例能夠將IPv4組播地址轉換為IPv6組播地址,如圖5所示,本實施例具體包括以下步驟
首先需要獲取預先定義的一組轉換規(guī)則,這一組規(guī)則中可以包含一條或多條轉換規(guī)則。
1、輸入待轉換的IPv4組播地址ipv4_m_addr,在該組轉換規(guī)則中進行匹配,具體可以按照IPv4組播地址前綴最長匹配的原則進行匹配;
2、如果沒有匹配到轉換規(guī)則,則做結束處理;如果匹配到一條轉換規(guī)則,進入步驟 3 ;
3、獲取匹配的轉換規(guī)則,其中包含rule_ipv6_m_prefix和其他參數(shù);
4、判斷轉換規(guī)則中是否有rule_ipv4_type,如果轉換規(guī)則沒有包含這個參數(shù)或是這個參數(shù)值為0,進入步驟5,如果轉換規(guī)則包含了這個參數(shù)且參數(shù)為1,則進入步驟9 ;
5、根據(jù)轉換規(guī)則中rule_ipv4_m_prefix和輸入的IPv4組播地址計算ipv4_m_ suffix,包括計算其長度;
6、判斷轉換規(guī)則中rule_ipv4_offset參數(shù)是否存在,如果不存在,貝U進入步驟7, 如果存在進入步驟8 ;
7、IPv6組播地址按照rule_ipv6_m_prefix在最前,ipv4_m_suff ix在最后的方式組成,其他空位補O。組成目標IPv6組播地址ipv6_m_addr,進入步驟12 ;
8、IPv6 組播地址把 rule_ipv6_m_prefix 在最前,從 rule_ipv4_offset 指定的位置的后一位開始放置ipv4_m_suffix,其余空位補O。進 入步驟12 ;
9、判斷轉換規(guī)則中rule_ipv4_offset參數(shù)是否存在,如果不存在,貝U進入步驟 10,如果存在進入步驟11 ;
10、IPv6 組播地址按照 rule_ipv6_m_pref ix 在最前,ipv4_m_addr 在最后的 32 位方式組成,其他空位補O。組成目標IPv6組播地址ipv6_m_addr,進入步驟12 ;
11、IPv6 組播地址把 rule_ipv6_m_prefix 在最前,從 rule_ipv4_offset 指定的位置的后一位開始放置ipv4_m_addr,其余空位補O。進入步驟12 ;
12、輸出轉換結果,也就是目標IPv6組播地址ipv6_m_addr。
以上流程只是給出一種從IPv4組播地址向IPv6組播地址轉換的流程,其中對可選包含參數(shù)rule_ipv4_type和rule_ipv4_offset的判斷先后順序可以進行改變。上述流程是先判斷的rule_ipv4_type后判斷rule_ipv4_offset,也可以用先判斷rule_ipv4_ offset后判斷rule_ipv4_type對流程進行調(diào)整,涉及到步驟細節(jié)稍有不同,流程中執(zhí)行步驟也可以進行簡單的拆分或合并,但不影響輸出結果。
實施例二
本實施例能夠將IPv6組播地址轉換為IPv4組播地址,如圖6所示,本實施例具體包括以下流程
前置條件是獲取預先定義的一組轉換規(guī)則,這一組規(guī)則中可以包含一條或多條轉換規(guī)則。
1、輸入待轉換的IPv6組播地址ipv6_m_addr,在轉換規(guī)則中進行匹配,具體地,可以按照IPv6地址前綴最長匹配的原則進行匹配;
2、如果沒有匹配到轉換規(guī)則,則做結束處理;如果匹配到一條轉換規(guī)則,進入步驟 3 ;
3、獲取匹配的轉換規(guī)則,其中包含rule_ipv4_m_prefix和其他參數(shù);
4、判斷轉換規(guī)則中是否有rule_ipv4_type,如果轉換規(guī)則中沒有這個參數(shù)或是這個參數(shù)值為0,進入步驟5,如果存在這個參數(shù)且參數(shù)為1,則進入步驟10 ;
5、根據(jù)轉換規(guī)則中 rule_ipv4_m_prefix 計算 ipv4_m_suffix 的長度;
6、判斷轉換規(guī)則中rule_ipv4_offset參數(shù)是否存在,如果不存在,則進入步驟7, 如果存在進入步驟8 ;
7、根據(jù)ipv4_m_suffix的長度在輸入IPv6組播地址最后的部分獲取ipv4_m_ suffix,進入步驟9 ;
8、按rule_ipv4_offset指定的位置,從輸入的IPv6組播地址偏移rule_ipv4_ offset位,按照ipv4_m_suffix的長度從其后一位開始獲取ipv4_m_suffix。進入步驟9 ;
9、拼接 rule_ipv4_m_prefix 和 ipv4_m_suffix 得到目標 IPv4 組播地址 ipv4_m_ addr,進入步驟13
10、判斷轉換規(guī)則中rule_ipv4_ofTset參數(shù)是否存在,如果不存在,則進入步驟 11,如果存在進入步驟12 ;
11、從輸入IPv6組播地址最后段的部分獲取32位的ipv4_m_addr,進入步驟13 ;
12、按rule_ipv4_offset指定的位置,從輸入的IPv6組播地址偏移rule_ipv4_ offset位,從其后一位開始獲取32位的ipv4_m_addr,進入步驟13 ;
13、輸出轉換結果,也就是目標IPv4組播地址ipv4_m_addr。
以上流程只是給出一種從IPv6組播地址向IPv4組播地址轉換的流程,其中對可選包含參數(shù)rule_ipv4_type和rule_ipv4_offset的判斷先后順序可以進行改變。上述流程是先判斷的rule_ipv4_type后判斷rule_ipv4_offset,也可以用先判斷rule_ipv4_ offset后判斷rule_ipv4_type對流程進行調(diào)整,涉及到步驟細節(jié)稍有不同,流程中執(zhí)行步驟也可以進行簡單的拆分或合并,但不影響輸出結果。
下面結合具體的應用場景對本發(fā)明的組播地址的轉換裝置進行介紹
圖7為本發(fā)明實施例的組播地址的轉換裝置的一種應用場景,在圖7中轉換裝置連接IPv6和IPv4網(wǎng)絡。IPv6網(wǎng)絡中有計算機1,想要獲取由IPv4網(wǎng)絡中的計算機2發(fā)出的組播數(shù)據(jù)。
轉換裝置獲取的轉換規(guī)則中包含兩個轉換規(guī)則
{ffl8:5: :/40, 235.0.0.0/24, 104, O};
{ffl8:6: :/40, 235. 1.0.0/24, 96, I};
假設計算機I想 要獲取的組播數(shù)據(jù)的組地址是fT18:5: :6:0 ;計算機2發(fā)送的組播數(shù)據(jù)目標地址是235. O. 0.6ο
在計算機I向計算機2進行數(shù)據(jù)請求時,計算機I發(fā)送對組ffl8: :6:0的報告報文,如MLD (Multicast Listener Discover,組播偵聽發(fā)現(xiàn))報告報文,經(jīng)過網(wǎng)絡組播協(xié)議傳輸?shù)睫D換裝置。
轉換裝置用ffl8:5: :6:0去匹配轉換規(guī)則,正好匹配到rule_ipv6_m_prefix的 ffl8:5: :/40,得到這條轉換規(guī)則。該轉換規(guī)則中rule_ipv4_type是O,表示是基于IPv4組播地址后綴的IPv6組播地址格式。轉換規(guī)則中對應rule_ipv4_m_prefix是235. O. O. 0/24, 則可以得知ipv4_m_suffix長度為8比特。再從轉換規(guī)則中獲取rule_ipv4_offset是104, 就可以從ffl8:5::6:0的第105位開始獲取8個比特的數(shù)據(jù)也就是0x06,按照10進制是 6,拼接 rule_ipv4_m_prefix 和 ipv4_m_suffix 就可以得到 IPv4 組播地址 235. O. O. 6。這樣經(jīng)過轉換裝置的組播協(xié)議報文就把在IPv6報文中使用的請求組播地址ffl8:5: :6:0轉換成了在IPv4網(wǎng)絡中使用的235. O. O. 6。
在IPv4網(wǎng)絡部分,由轉換裝置向網(wǎng)絡中發(fā)送過來關于235. O. O. 6的組播協(xié)議報文,比如 PIM-SM (Protocol Independent Multicast-Sparse Mode,稀疏模式獨立組播協(xié)議)加入報文,一直發(fā)送到計算機2連接的第一跳組播路由設備上,建立跨地址族的網(wǎng)絡轉發(fā)路徑,把235. 0. 0. 6的組播數(shù)據(jù)引向轉換裝置。
組播數(shù)據(jù)流到達轉換裝置用235. 0. 0. 6去匹配轉換規(guī)則,正好匹配到rule_ipv4_ m_prefix 的 235. O. O. 0/24,得到這條轉換規(guī)則,rule_ipv6_m_prefix 是 ff 18:5: :/40。轉換規(guī)則中rule_ipv4_type是O,表示是基于IPv4組播地址后綴的IPv6組播地址格式。根據(jù) 235. 0. 0. 0/24 和 235. 0. 0. 6 可以得至Ij ipv4_m_suffix 為 6,長度為 8 比特。目標 IPv6 組播地址ipv6_m_addr,前面的部分用rule_ipv6_m_prefix填充,也就是ffll8:5::,轉換規(guī)則中 rule_ipv4_offset 是 104,就是在 ipv6_m_addr 的第 105 位放置 ipv4_m_suffix, rule_ipv6_m_prefix 和 ipv4_m_suffix 之間以及 ipv4_m_suffix 后的空余位補 0,得到 ffl8:5: :6:0。這樣經(jīng)過轉換裝置,IPv4網(wǎng)絡中使用235. 0. 0. 6的組播數(shù)據(jù)流到達IPv6網(wǎng)絡中就轉換成ffl8:5::6:0。從而根據(jù)組播協(xié)議建立的組播轉發(fā)條目發(fā)送,一直到計算機 I。
上述方案僅用于說明地址轉換的過程,而不限制組播協(xié)議報文和數(shù)據(jù)部分如何轉換。
圖8為本發(fā)明實施例的組播地址的轉換裝置的另一種應用場景,在圖8中轉換裝置I連接IPv6網(wǎng)絡A和IPv4網(wǎng)絡B,轉換裝置2連接IPv4網(wǎng)絡B和IPv6網(wǎng)絡C。IPv6網(wǎng)絡A中有計算機1,想要通過IPv4網(wǎng)絡B來獲取IPv6網(wǎng)絡C中的計算機2發(fā)出的組播數(shù)據(jù)。
轉換裝置I和轉換裝置2獲取的轉換規(guī)則包含兩條轉換規(guī)則
{ffl8:5:: /40, 235. 0. 0. 0/24, 104, 0};
{ffl8:6: :/40, 2 35. 1.0.0/24, 96, I};
假設計算機I想要獲取的組播數(shù)據(jù)的組地址是ffl8:5: :6:0 ;計算機2發(fā)送的組播數(shù)據(jù)目標地址是ffl8:5: :6:0o
計算機I發(fā)送關于ffl8:5::6:0的組播請求信息,進過網(wǎng)絡傳遞和協(xié)議轉換到達轉換裝置1,根據(jù)圖7說明的具體轉換方式,依照轉換規(guī)則把ff8:5: :6:0轉換成 235. 0. 0. 6,并發(fā)送到網(wǎng)絡B中。經(jīng)過網(wǎng)絡B的傳送到達轉換裝置2,同樣根據(jù)圖7說明的具體轉換方式,依照轉換規(guī)則把235. 0. 0. 6轉換成ff 18:5: : 6: 0,在網(wǎng)絡C中使用ff8:5: : 6:0進行組播加入。建立跨地址族的網(wǎng)絡轉發(fā)路徑。而網(wǎng)絡C中計算機2則發(fā)送ffl8:5::6:0 的組播數(shù)據(jù),經(jīng)過轉換裝置2后轉換成235. O. O. 6在網(wǎng)絡B中繼續(xù)傳播,再經(jīng)過轉換裝置I 后轉換成f Π8:5::6:0發(fā)送到網(wǎng)絡A中的計算機I。
圖7和圖8只是選擇兩種場景介紹本發(fā)明的組播地址的轉換裝置的使用場景,而本發(fā)明的組播地址的轉換裝置的使用場景不限于這兩種場景,如IPv4網(wǎng)絡獲取IPv6網(wǎng)絡的組播數(shù)據(jù),IPv4網(wǎng)絡跨IPv6網(wǎng)絡獲取IPv4網(wǎng)絡組播數(shù)據(jù)的場景同樣可以使用。
本發(fā)明的技術方案提供了 IPv4組播地址和IPv6組播地址間的轉換方法,以及執(zhí)行這種轉換方法的轉換裝置,應用場景廣泛,而且可以通過設置的轉換規(guī)則對現(xiàn)有組播地址轉換技術兼容。IPv4組播地址后綴的使用,更充分的釋放了 IPv6前綴的長度空間,多前綴規(guī)則的使用可以對服務范圍內(nèi)組播地址使用進行更精細的劃分,增強組播服務的靈活性和安全性,更易于管理。
此說明書中所描述的許多功能部件都被稱為模塊,以便更加特別地強調(diào)其實現(xiàn)方式的獨立性。
本發(fā)明實施例中,模塊可以用軟件實現(xiàn),以便由各種類型的處理器執(zhí)行。舉例來說,一個標識的可執(zhí)行代碼模塊可以包括計算機指令的一個或多個物理或者邏輯塊,舉例來說,其可以被構建為對象、過程或函數(shù)。盡管如此,所標識模塊的可執(zhí)行代碼無需物理地位于一起,而是可以包括存儲在不同物理上的不同的指令,當這些指令邏輯上結合在一起時,其構成模塊并且實現(xiàn)該模塊的規(guī)定目的。
實際上,可執(zhí)行代碼模塊可以是單條指令或者是許多條指令,并且甚至可以分布在多個不同的代碼段上,分布在不同程序當中,以及跨越多個存儲器設備分布。同樣地,操作數(shù)據(jù)可以在模塊內(nèi)被識別,并且可以依照任何適當?shù)男问綄崿F(xiàn)并且被組織在任何適當類型的數(shù)據(jù)結構內(nèi)。所述操作數(shù)據(jù)可以作為單個數(shù)據(jù)集被收集,或者可以分布在不同位置上 (包括在不同存儲設備上),并且至少部分地可以僅作為電子信號存在于系統(tǒng)或網(wǎng)絡上。
在模塊可以利用軟件實現(xiàn)時,考慮到現(xiàn)有硬件工藝的水平,所以可以以軟件實現(xiàn)的模塊,在不考慮成本的情況下,本領域技術人員都可以搭建對應的 硬件電路來實現(xiàn)對應的功能,所述硬件電路包括常規(guī)的超大規(guī)模集成(VLSI)電路或者門陣列以及諸如邏輯芯片、晶體管之類的現(xiàn)有半導體或者是其它分立的元件。模塊還可以用可編程硬件設備,諸如現(xiàn)場可編程門陣列、可編程陣列邏輯、可編程邏輯設備等實現(xiàn)。
在本發(fā)明各方法實施例中,所述各步驟的序號并不能用于限定各步驟的先后順序,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,對各步驟的先后變化也在本發(fā)明的保護范圍之內(nèi)。
以上所述是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明所述原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
權利要求
1.一種組播地址的轉換方法,其特征在于,包括獲取待轉換的組播地址所對應的轉換規(guī)則,所述轉換規(guī)則包括有組播地址前綴、IPv4 組播地址類型和IPv4組播地址偏移位置;根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址。
2.根據(jù)權利要求1所述的組播地址的轉換方法,其特征在于,在所述待轉換的組播地址為IPv4組播地址時,所述轉換規(guī)則包括有IPv6組播地址前綴和IPv4組播地址前綴,在所述IPv4組播地址類型指示基于IPv4組播地址后綴形成所述目標組播地址時,所述根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址包括根據(jù)所述IPv4組播地址前綴和所述IPv4組播地址計算出IPv4組播地址后綴;在IPv6地址的起始位置放置所述IPv6組播地址前綴,在所述IPv4組播地址偏移位置指示的位置放置所述IPv4組播地址后綴,其它空位置0,形成目標IPv6組播地址。
3.根據(jù)權利要求2所述的組播地址的轉換方法,其特征在于,在所述轉換規(guī)則包括有IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在IPv6地址中從所述IPv4組播地址偏移位置參數(shù)定義的起始偏移位置的后一位開始放置所述IPv4組播地址后綴;在所述轉換規(guī)則未包括IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在IPv6地址的最后位置放置所述IPv4組播地址后綴。
4.根據(jù)權利要求1所述的組播地址的轉換方法,其特征在于,在所述待轉換的組播地址為IPv4組播地址時,所述轉換規(guī)則包括有IPv6組播地址前綴和IPv4組播地址前綴,在所述IPv4組播地址類型指示基于IPv4組播地址形成所述目標組播地址時,所述根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址包括在IPv6地址的起始位置放置所述IPv6組播地址前綴,在所述IPv4組播地址偏移位置指示的位置放置所述IPv4組播地址,其它空位置0,形成目標IPv6組播地址。
5.根據(jù)權利要求4所述的組播地址的轉換方法,其特征在于,在所述轉換規(guī)則包括有IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在IPv6地址中從所述IPv4組播地址偏移位置參數(shù)定義的起始偏移位置的后一位開始放置所述IPv4組播地址;在所述轉換規(guī)則未包括IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在IPv6地址的最后32位放置所述IPv4組播地址。
6.根據(jù)權利要求1所述的組播地址的轉換方法,其特征在于,在所述待轉換的組播地址為IPv6組播地址時,所述轉換規(guī)則包括有IPv4組播地址前綴,在所述IPv4組播地址類型指示基于IPv4組播地址后綴形成所述目標組播地址時,所述根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址包括根據(jù)所述IPv4組播地址前綴的長度計算出IPv4組播地址后綴的長度;所述IPv6組播地址中,在IPv6組播地址偏移位置指示的位置根據(jù)所述IPv4組播地址后綴的長度獲取IPv4組播地址后綴;拼接所述IPv4組播地址前綴和所述IPv4組播地址后綴形成目標IPv4組播地址。
7.根據(jù)權利要求6所述的組播地址的轉換方法,其特征在于,在所述轉換規(guī)則包括有IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在所述IPv6組播地址中從所述IPv4組播地址偏移位置參數(shù)定義的起始偏移位置的后一位開始獲取所述IPv4組播地址后綴;在所述轉換規(guī)則未包括IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在所述IPv6組播地址的最后位置獲取所述IPv4組播地址后綴。
8.根據(jù)權利要求1所述的組播地址的轉換方法,其特征在于,在所述待轉換的組播地址為IPv6組播地址時,所述IPv4組播地址類型指示基于IPv4組播地址形成所述目標組播地址時,所述根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址包括所述IPv6組播地址中,在所述IPv6組播地址偏移位置指示的位置獲取32位的地址作為所述目標IPv4組播地址。
9.根據(jù)權利要求8所述的組播地址的轉換方法,其特征在于,在所述轉換規(guī)則包括有IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在所述IPv6組播地址中從所述IPv4組播地址偏移位置參數(shù)定義的起始偏移位置的后一位開始獲取所述IPv4組播地址;在所述轉換規(guī)則未包括IPv4組播地址偏移位置參數(shù)時,所述IPv4組播地址偏移位置指示在所述IPv6組播地址的最后32位獲取所述IPv4組播地址。
10.一種實現(xiàn)如權利要求1-9中任一項所述方法的組播地址的轉換裝置,其特征在于, 所述裝置包括獲取模塊,用于獲取待轉換的組播地址所對應的轉換規(guī)則,所述轉換規(guī)則包括有組播地址前綴、IPv4組播地址類型和IPv4組播地址偏移位置;轉換模塊,用于根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址。
全文摘要
本發(fā)明提供一種組播地址的轉換方法及裝置,屬于通訊領域。其中,該組播地址的轉換方法,包括獲取待轉換的組播地址所對應的轉換規(guī)則,所述轉換規(guī)則包括有組播地址前綴、IPv4組播地址類型和IPv4組播地址偏移位置;根據(jù)所述轉換規(guī)則將所述組播地址轉換為目標組播地址。本發(fā)明的技術方案能夠更好的利用IPv6地址空間,在網(wǎng)絡中實現(xiàn)IPv4組播地址和IPv6組播地址間的轉換。
文檔編號H04L29/12GK103051744SQ20131000569
公開日2013年4月17日 申請日期2013年1月8日 優(yōu)先權日2013年1月8日
發(fā)明者曹亞林, 葛崇志, 韓杰 申請人:中興通訊股份有限公司