一種基于dcc協(xié)議的ipv6地址編碼、解碼方法及對(duì)應(yīng)的系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種基于DCC協(xié)議的IPV6地址編碼、解碼方法及其對(duì)應(yīng)的系統(tǒng),其中,所述的編碼方法包括:加載在DCC協(xié)議中配置的各AVP屬性的配置文件;對(duì)配置文件中的具有IPV6地址特性的AVP配置對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù);通過(guò)API接口加載原始DCC消息,并依次解析所述DCC消息中的各AVP;從DCC消息中解析出的各AVP中提取出具有IPV6地址特性的AVP,并找到該AVP對(duì)應(yīng)的編碼函數(shù);調(diào)用各AVP對(duì)應(yīng)的編碼函數(shù),對(duì)原始DCC消息中的IPV6地址進(jìn)行編碼處理,形成編碼后的DCC消息流輸出。通過(guò)本發(fā)明,實(shí)現(xiàn)了基于DCC協(xié)議對(duì)IPV6地址進(jìn)行編解碼,可以從技術(shù)上解決網(wǎng)絡(luò)實(shí)名制問(wèn)題,此時(shí)的IP資源不再緊張,完全可以為每個(gè)用戶分配一個(gè)固定的IPV6地址。
【專利說(shuō)明】
_種基于DGG協(xié)議的IPV6地址編碼、解碼方法及對(duì)應(yīng)的系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種基于DCC協(xié)議的IPV6地址編碼、解碼方法及其對(duì)應(yīng)的系統(tǒng)。
【背景技術(shù)】
[0002]從計(jì)算機(jī)技術(shù)發(fā)展、因特網(wǎng)規(guī)律和網(wǎng)絡(luò)傳輸速率等方面來(lái)看,現(xiàn)行的IPV4都已經(jīng)不適用了。其中最主要的問(wèn)題就是IPV4的32比特的IP地址空間已經(jīng)無(wú)法滿足迅速膨脹的因特網(wǎng)規(guī)模。因此,IPV6協(xié)議在電信核心網(wǎng)以及終端上的應(yīng)用會(huì)出現(xiàn)并且越來(lái)越多。
[0003]IPv6地址為128位長(zhǎng),通常寫作8組,每組為四個(gè)十六進(jìn)制數(shù)的形式。例如:FE80:0000:0000:0000: AAAA: 0000:00C2:0002是一個(gè)合法的IPv6地址。IPv6地址可以用零壓縮法進(jìn)行長(zhǎng)度的縮減。
[0004]零壓縮法的含義為:如果地址中幾個(gè)連續(xù)段位的值都是0,那么這些O就可以簡(jiǎn)單的以::來(lái)表示。那么上述地址就可以寫成FE80:: AAAA: 0000:00C2:0002的簡(jiǎn)化方式。但零壓縮法在地址中只能用一次。另外,地址中每個(gè)段位中前導(dǎo)的零也可以省略,那么再次簡(jiǎn)化后即為FE80:: AAAA: O: C2:2形式。
[0005]DCC協(xié)議的編解碼系統(tǒng)中,IP地址使用的數(shù)據(jù)類型為Address。它以一個(gè)可變長(zhǎng)字符串為基礎(chǔ),前兩個(gè)字節(jié)為ddressType,從第三個(gè)字節(jié)開(kāi)始表示地址,每一個(gè)字節(jié)值表示IP地址的8位長(zhǎng)。這樣,IPV6地址就使用16個(gè)字節(jié)來(lái)表示。
[0006]目前,DCC協(xié)議的編解碼系統(tǒng)還無(wú)法對(duì)IPV6地址進(jìn)行處理。但隨著電信核心網(wǎng)的發(fā)展,必然使用IPV6地址,這樣就要求編解碼系統(tǒng)盡快支持此類應(yīng)用場(chǎng)景。
【發(fā)明內(nèi)容】
[0007]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種基于DCC協(xié)議的IPV6地址編碼、解碼方法及其對(duì)應(yīng)的系統(tǒng),能夠解決現(xiàn)有技術(shù)的不足。
[0008]本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:
[0009 ] 一方面,本發(fā)明提供了一種基于DCC協(xié)議的IPV6地址編碼方法,包括:
[0010]Sla、加載在DCC協(xié)議中配置的各AVP屬性的配置文件;
[0011 ] S2a、對(duì)配置文件中的具有IPV6地址特性的AVP配置對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù);
[0012]S3a、通過(guò)API接口加載原始DCC消息,并依次解析所述DCC消息中的各AVP;
[0013]S4a、從DCC消息中解析出的各A VP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的編碼函數(shù);
[0014]S5a、調(diào)用各AVP對(duì)應(yīng)的編碼函數(shù),對(duì)原始DCC消息中的IPV6地址進(jìn)行編碼處理,形成編碼后的DCC消息流輸出。
[0015]另一方面,本發(fā)明提供了一種基于DCC協(xié)議的IPV6地址解碼方法,包括:
[0016]Slb、接收編碼后的DCC消息流,并解析該DCC消息流中的各AVP;
[0017]S2b、從解析出的各A VP中提取出具有IPV6地址特性的AVP,并找到該AVP對(duì)應(yīng)的解碼函數(shù);
[0018]S3b、調(diào)用對(duì)應(yīng)的解碼函數(shù),對(duì)編碼后的DCC消息流中的IPV6地址進(jìn)行解碼處理,得到解碼后的IPV6值。
[0019]再一方面,本發(fā)明提供了一種基于DCC協(xié)議的IPV6地址編碼系統(tǒng),包括:
[0020]配置文件加載單元,用于加載在DCC協(xié)議中配置的各AVP屬性的配置文件;
[0021]函數(shù)配置單元,用于對(duì)配置文件中的具有IPV6地址特性的AVP配置對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù);
[0022]第一解析單元,用于通過(guò)API接口加載原始DCC消息,并依次解析所述DCC消息中的各 AVP;
[0023 ]第一查找單元,用于從DCC消息中解析出的各A VP中提取出具有IP V6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的編碼函數(shù);
[0024]編碼處理單元,用于調(diào)用各AVP對(duì)應(yīng)的編碼函數(shù),對(duì)原始DCC消息中的IPV6地址進(jìn)行編碼處理;
[0025]輸出單元,用于將編碼后的DCC消息流輸出。
[0026]又一方面,本發(fā)明提供了一種基于DCC協(xié)議的IPV6地址解碼系統(tǒng),包括:
[0027]第二解析單元,用于接收編碼后的DCC消息流,并解析該DCC消息流中的各AVP;
[0028]第二查找單元,用于從解析出的各AVP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的解碼函數(shù);
[0029]解碼單元,用于調(diào)用對(duì)應(yīng)的解碼函數(shù),對(duì)編碼后的DCC消息流中的IPV6地址進(jìn)行解碼處理,得到解碼后的IPV6值。
[0030]本發(fā)明提供的一種基于DCC協(xié)議的IPV6地址編碼、解碼方法及其對(duì)應(yīng)的系統(tǒng),針對(duì)DCC協(xié)議的配置文件中具有IPV6地址特性的AVP,通過(guò)在配置文件中配置這些AVP對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù),對(duì)DCC消息流中的IPV6地址進(jìn)行編碼和解碼處理,形成DCC消息流,從而實(shí)現(xiàn)了運(yùn)營(yíng)系統(tǒng)中的數(shù)據(jù)流轉(zhuǎn),實(shí)現(xiàn)了基于DCC協(xié)議對(duì)IPV6地址進(jìn)行編解碼,可以從技術(shù)上解決網(wǎng)絡(luò)實(shí)名制問(wèn)題,此時(shí)的IP資源不再緊張,完全可以為每個(gè)用戶分配一個(gè)固定的IPV6地址。
【附圖說(shuō)明】
[0031 ]圖1為本發(fā)明實(shí)施例一的一種基于DCC協(xié)議的IPV6地址編碼方法流程圖;
[0032]圖2為本發(fā)明實(shí)施例二的一種基于DCC協(xié)議的IPV6地址解碼方法流程圖;
[0033]圖3為基于DCC協(xié)議的IPV6地址編碼、解碼的整個(gè)過(guò)程示意圖;
[0034]圖4為本發(fā)明實(shí)施例三的一種基于DCC協(xié)議的IPV6地址編碼系統(tǒng)示意圖;
[0035]圖5為本發(fā)明實(shí)施例四的一種基于DCC協(xié)議的IPV6地址進(jìn)行解碼系統(tǒng)示意圖。
【具體實(shí)施方式】
[0036]以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0037]實(shí)施例一、一種基于DCC協(xié)議的IPV6地址編碼方法。以下結(jié)合圖1對(duì)本實(shí)施例提供的編碼方法進(jìn)行說(shuō)明。
[0038]參見(jiàn)圖1,本實(shí)施例提供的編碼方法包括:SIa、加載在DCC協(xié)議中配置的各AVP屬性的配置文件。
[0039 ] S2a、對(duì)配置文件中的具有IPV6地址特性的AVP配置對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù)。
[0040] S3a、通過(guò)API接口加載原始DCC消息,并依次解析所述DCC消息中的各AVP。
[0041 ] S4a、從DCC消息中解析出的各A VP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的編碼函數(shù)。
[0042]S5a、調(diào)用各AVP對(duì)應(yīng)的編碼函數(shù),對(duì)原始DCC消息中的IPV6地址進(jìn)行編碼處理,形成編碼后的DCC消息流輸出。
[0043]具體的,將DCC協(xié)議中配置的各AVP屬性的config.xml配置文件加載在內(nèi)存中,其中,AVP通常具有IPV4地址特性或者IPV6地址特性或者其它的地址特性。對(duì)于配置文件中具有IPV6地址特性的AVP,配置該AVP對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù),其中,一個(gè)地址對(duì)應(yīng)一個(gè)AVP,一個(gè)AVP配置其對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù)。
[0044]將原始的DCC消息通過(guò)API接口加載到內(nèi)存中,依次解析原始DCC消息中的各AVP,并從解析出的各AVP種提取出具有IPV6地址特性的AVP,并根據(jù)前述的配置查找到具有IPV6地址特性的AVP對(duì)應(yīng)的編碼函數(shù)。分別調(diào)用各AVP對(duì)應(yīng)的編碼函數(shù),對(duì)原始DCC消息中的對(duì)應(yīng)IPV6地址進(jìn)行編碼處理。具體的編碼處理過(guò)程為:對(duì)原始DCC消息中的IPV6地址的128位,按照每8位一個(gè)字節(jié)進(jìn)行分段,總共得到16個(gè)字節(jié);對(duì)分段后的每一個(gè)字節(jié)作十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換,將每一個(gè)字節(jié)有十六進(jìn)制轉(zhuǎn)換為十進(jìn)制,即每一個(gè)字節(jié)為O到255之間的數(shù)值,得到十進(jìn)制的16個(gè)字節(jié)的IPV6地址;從轉(zhuǎn)換后的十進(jìn)制的16個(gè)字節(jié)的IPV6地址的第三個(gè)字節(jié)開(kāi)始,將每一個(gè)十進(jìn)制字節(jié)填寫到Address類型變量的字節(jié)中。對(duì)原始DCC消息中的每一個(gè)IPV6地址進(jìn)行了編碼處理之后,通過(guò)API接口,將編碼后的IPV6地址保存到DCC消息流中,以DCC消息流的形式輸出給外部設(shè)備使用。
[0045]實(shí)施例二、一種基于DCC協(xié)議的IPV6地址解碼方法。以下結(jié)合圖2對(duì)本實(shí)施例提供的解碼方法進(jìn)行說(shuō)明。
[0046]參見(jiàn)圖2,本實(shí)施例提供的解碼方法包括:Slb、接收編碼后的DCC消息流,并解析該DCC消息流中的各AVP。
[0047]S2b、從解析出的各A VP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的解碼函數(shù)。
[0048]S3b、調(diào)用對(duì)應(yīng)的解碼函數(shù),對(duì)編碼后的DCC消息流中的IPV6地址進(jìn)行解碼處理,得到解碼后的IPV6值。
[0049]其中,調(diào)用對(duì)應(yīng)的解碼函數(shù),對(duì)編碼后的DCC消息流中的IPV6地址進(jìn)行解碼的具體過(guò)程為:對(duì)編碼后的DCC消息流中的IPV6地址的16個(gè)十進(jìn)制字節(jié),從第三個(gè)字節(jié)開(kāi)始,依次將每一個(gè)十進(jìn)制字節(jié)轉(zhuǎn)化為十六進(jìn)制字節(jié),并且每?jī)蓚€(gè)字節(jié)之間以設(shè)定的第一間隔符分害J,形成8個(gè)段位的十六進(jìn)制IPV6地址;對(duì)所述8個(gè)段位的十六進(jìn)制IPV6地址字符串,從頭開(kāi)始查找,若存在連續(xù)段位的字符串值均為0,則將該連續(xù)段位的字符串采用設(shè)定的第二間隔符,代替,形成零壓縮處理后的IPV6地址字符串;對(duì)于零壓縮處理后的IPV6字符串,從頭開(kāi)始查找,若每一段位的開(kāi)頭為O或00或000,則將開(kāi)頭的O或00或000省略掉,形成省略前導(dǎo)零處理后的IPV6地址字符串。
[0050]其中,零壓縮處理以及省略前導(dǎo)零處理的一個(gè)具體例子為:比如,得到的8個(gè)段位的十六進(jìn)制IPV6地址字符串為FE80: OOOO: 0000:0000: AAAA: 0000:00C2:0002為一個(gè)合法的IPV6地址,IPV6地址可以采用零壓縮法以及省略前導(dǎo)零壓縮法進(jìn)行長(zhǎng)度壓縮。零壓縮法的含義為:如果IPV6地址中幾個(gè)連續(xù)段位的值都是0,那么這些O就可以簡(jiǎn)單的以::來(lái)表示。那么上述IPV6地址就可以寫成FE80::AAAA:0000:00C2:0002的簡(jiǎn)化方式,但零壓縮法在IPV6地址中只能用一次。另外,IPV6地址中每個(gè)段位中前導(dǎo)的零也可以省略,那么再次簡(jiǎn)化后即為FE80:: AAAA: O: C2:2形式。
[0051]參見(jiàn)圖3,對(duì)上述的基于DCC協(xié)議的IPV6地址編碼和解碼方法結(jié)合起來(lái)進(jìn)行說(shuō)明。首先讀取配置文件,并加載到內(nèi)存,然后,讀取原始的DCC消息并加載到內(nèi)存。判斷該原始的DCC消息時(shí)需要編碼處理還是需要解碼處理,當(dāng)原始的DCC消息需要編碼處理時(shí),解析DCC消息中的AVP,找到與該AVP匹配的編碼函數(shù),采用編碼函數(shù)對(duì)IPV6地址進(jìn)行編碼。具體的編碼過(guò)程為:對(duì)原始IPV6地址按位截取,每8位截取一次,得到16個(gè)字節(jié),將每一字節(jié)進(jìn)行十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換,從第三個(gè)字節(jié)開(kāi)始,將每一個(gè)十進(jìn)制的字節(jié)填寫到Address類型變量的對(duì)應(yīng)字節(jié)中。將編碼后IPV6地址通過(guò)API接口保存在DCC消息流中。當(dāng)原始的DCC消息需要解碼處理時(shí),解析DCC消息中的各AVP,找到該AVP匹配的解碼函數(shù),采用解碼函數(shù)對(duì)IPV6地址進(jìn)行解碼。具體的解碼過(guò)程為:讀取編碼后的IPV6地址,按字節(jié)循環(huán),將字節(jié)中的十進(jìn)制轉(zhuǎn)換為十六進(jìn)制,并且每?jī)蓚€(gè)字節(jié)以分隔符分割,并對(duì)分割后的IPV6地址進(jìn)行零壓縮法處理和省略前導(dǎo)零處理,得到解碼后的IPV6地址,并通過(guò)API接口輸出。
[0052]實(shí)施例三、一種基于DCC協(xié)議的IPV6地址編碼系統(tǒng)。以下結(jié)合圖4對(duì)本實(shí)施例提供的編碼系統(tǒng)進(jìn)行說(shuō)明。
[0053]參見(jiàn)圖4,本實(shí)施例提供的編碼系統(tǒng)包括配置文件加載單元41、函數(shù)配置單元42、第一解析單元43、第一查找單元44以及編碼處理單元45,其中,編碼處理單元45包括分段模塊451、第一轉(zhuǎn)換模塊452和填寫模塊453。
[0054]配置文件加載單元41,用于加載在DCC協(xié)議中配置的各AVP屬性的配置文件。
[0055]函數(shù)配置單元42,用于對(duì)配置文件中的具有IPV6地址特性的AVP配置對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù)。
[0056]第一解析單元43,用于通過(guò)API接口加載原始DCC消息,并依次解析所述DCC消息中的各A VP ο
[0057]第一查找單元44,用于從DCC消息中解析出的各AVP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的編碼函數(shù)。
[0058]編碼處理單元45,用于調(diào)用各AVP對(duì)應(yīng)的編碼函數(shù),對(duì)原始DCC消息中的IPV6地址進(jìn)行編碼處理。
[0059]編碼處理單元45包括分段模塊451,用于對(duì)原始DCC消息中的IPV6地址的128位,按照每8位一個(gè)字節(jié)進(jìn)行分段,總共得到16個(gè)字節(jié)。
[0060]第一轉(zhuǎn)換模塊452,用于對(duì)分段后的每一個(gè)字節(jié)作十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換,得到十進(jìn)制的16個(gè)字節(jié)的IPV6地址。
[0061]填寫模塊453,用于從轉(zhuǎn)換后的十進(jìn)制的16個(gè)字節(jié)的IPV6地址的第三個(gè)字節(jié)開(kāi)始,將每一個(gè)十進(jìn)制字節(jié)填寫到Address類型變量的字節(jié)中。
[0062]輸出單元46,用于通過(guò)API接口,將編碼后的IPV6地址保存至IjDCC消息流中,以供輸出給外部設(shè)備使用。
[0063]實(shí)施例四、一種基于DCC協(xié)議對(duì)IPV6地址進(jìn)行解碼的系統(tǒng)。下面結(jié)合圖5對(duì)本實(shí)施例提供的解碼系統(tǒng)進(jìn)行描述。
[0064]參見(jiàn)圖5,本實(shí)施例提供的解碼系統(tǒng)包括第二解析單元51、第二查找單元52和解碼單元53,其中,解碼單元53包括第二轉(zhuǎn)換模塊531、第一壓縮處理模塊532和第二壓縮處理模塊533 0
[0065]第二解析單元51,用于接收編碼后的DCC消息流,并解析該DCC消息流中的各AVP。
[0066]第二查找單元52,用于從解析出的各AVP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的解碼函數(shù)。
[0067]解碼單元53,用于調(diào)用對(duì)應(yīng)的解碼函數(shù),對(duì)編碼后的DCC消息流中的IPV6地址進(jìn)行解碼處理,得到解碼后的IPV6值。
[0068]解碼單元53包括第二轉(zhuǎn)換模塊531,用于對(duì)編碼后的DCC消息流中的IPV6地址的16個(gè)十進(jìn)制字節(jié),從第三個(gè)字節(jié)開(kāi)始,依次將每一個(gè)十進(jìn)制字節(jié)轉(zhuǎn)化為十六進(jìn)制字節(jié),并且每?jī)蓚€(gè)字節(jié)之間以設(shè)定的第一間隔符分割,形成8個(gè)段位的十六進(jìn)制IPV6地址。
[0069]第一壓縮處理模塊532,用于對(duì)所述8個(gè)段位的十六進(jìn)制IPV6地址字符串,從頭開(kāi)始查找,若存在連續(xù)段位的字符串值均為0,則將該連續(xù)段位的字符串采用設(shè)定的第二間隔符代替,形成零壓縮處理后的IPV6地址字符串。
[0070]第二壓縮處理模塊533,用于對(duì)于零壓縮處理后的IPV6字符串,從頭開(kāi)始查找,若每一段位的開(kāi)頭為O或00或000,則將開(kāi)頭的O或00或000省略掉,形成省略前導(dǎo)零處理后的IPV6地址字符串。
[0071 ]本發(fā)明提供的一種基于DCC協(xié)議的IPV6地址編碼、解碼方法及其對(duì)應(yīng)的系統(tǒng),針對(duì)DCC協(xié)議的配置文件中具有IPV6地址特性的AVP,通過(guò)在配置文件中配置這些AVP對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù),對(duì)DCC消息流中的IPV6地址進(jìn)行編碼和解碼處理,形成DCC消息流,從而實(shí)現(xiàn)了運(yùn)營(yíng)系統(tǒng)中的數(shù)據(jù)流轉(zhuǎn)。本發(fā)明實(shí)現(xiàn)了基于DCC協(xié)議對(duì)IPV6地址進(jìn)行編解碼,可以從技術(shù)上解決網(wǎng)絡(luò)實(shí)名制問(wèn)題,此時(shí)的IP資源不再緊張,完全可以為每個(gè)用戶分配一個(gè)固定的IPV6地址。
[0072]在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“實(shí)施例一”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體方法、裝置或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不必須針對(duì)的是相同的實(shí)施例或示例。而且,描述的具體特征、方法、裝置或者特點(diǎn)可以在任一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說(shuō)明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
[0073]以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于DCC協(xié)議的IPV6地址編碼方法,其特征在于,包括: SIa、加載在DCC協(xié)議中配置的各屬性值對(duì)AVP屬性的配置文件; S2a、對(duì)配置文件中的具有IPV6地址特性的AVP配置對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù); S3a、通過(guò)API接口加載原始DCC消息,并依次解析所述DCC消息中的各AVP; S4a、從DCC消息中解析出的各A VP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的編碼函數(shù); S5a、調(diào)用各AVP對(duì)應(yīng)的編碼函數(shù),對(duì)原始DCC消息中的IPV6地址進(jìn)行編碼處理,形成編碼后的DCC消息流輸出。2.如權(quán)利要求1所述的基于DCC協(xié)議的IPV6地址編碼方法,其特征在于,所述步驟S5a中對(duì)原始DCC消息中的IPV6地址進(jìn)行編碼處理具體包括: 對(duì)原始DCC消息中的IPV6地址的128位,按照每8位一個(gè)字節(jié)進(jìn)行分段,總共得到16個(gè)字-K-T ; 對(duì)分段后的每一個(gè)字節(jié)作十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換,得到十進(jìn)制的16個(gè)字節(jié)的IPV6地址; 從轉(zhuǎn)換后的十進(jìn)制的16個(gè)字節(jié)的IPV6地址的第三個(gè)字節(jié)開(kāi)始,將每一個(gè)十進(jìn)制字節(jié)填寫到Address類型變量的字節(jié)中。3.如權(quán)利要求2所述的基于DCC協(xié)議的IPV6地址編碼方法,其特征在于,所述步驟S5a中形成編碼后的DCC消息流輸出具體包括: 通過(guò)API接口,將編碼后的IPV6地址保存到DCC消息流中,以便輸出給外部設(shè)備使用。4.一種基于DCC協(xié)議的IPV6地址解碼方法,其特征在于,包括: Slb、接收編碼后的DCC消息流,并解析該DCC消息流中的各AVP; S2b、從解析出的各AVP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的解碼函數(shù); S3b、調(diào)用對(duì)應(yīng)的解碼函數(shù),對(duì)編碼后的DCC消息流中的IPV6地址進(jìn)行解碼處理,得到解碼后的IPV6地址并輸出。5.如權(quán)利要求4所述的基于DCC協(xié)議的IPV6地址解碼方法,其特征在于,所述步驟S3b中對(duì)編碼后的DCC消息流中的IPV6地址進(jìn)行解碼處理具體包括: 對(duì)編碼后的DCC消息流中的IPV6地址的16個(gè)十進(jìn)制字節(jié),從第三個(gè)字節(jié)開(kāi)始,依次將每一個(gè)十進(jìn)制字節(jié)轉(zhuǎn)化為十六進(jìn)制字節(jié),并且每?jī)蓚€(gè)字節(jié)之間以設(shè)定的第一間隔符分割,形成8個(gè)段位的十六進(jìn)制IPV6地址; 對(duì)所述8個(gè)段位的十六進(jìn)制IPV6地址字符串,從頭開(kāi)始查找,若存在連續(xù)段位的字符串值均為O,則將該連續(xù)段位的字符串采用設(shè)定的第二間隔符代替,形成零壓縮處理后的IPV6地址字符串; 對(duì)于零壓縮處理后的IPV6字符串,從頭開(kāi)始查找,若每一段位的開(kāi)頭為O或OO或OOO,則將開(kāi)頭的O或00或000省略掉,形成省略前導(dǎo)零處理后的IPV6地址字符串。6.一種基于DCC協(xié)議的IPV6地址編碼系統(tǒng),其特征在于,包括: 配置文件加載單元,用于加載在DCC協(xié)議中配置的各AVP屬性的配置文件; 函數(shù)配置單元,用于對(duì)配置文件中的具有IPV6地址特性的AVP配置對(duì)應(yīng)的編碼函數(shù)和解碼函數(shù); 第一解析單元,用于通過(guò)API接口加載原始DCC消息,并依次解析所述DCC消息中的各AVP ; 第一查找單元,用于從DCC消息中解析出的各A VP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的編碼函數(shù); 編碼處理單元,用于調(diào)用各AVP對(duì)應(yīng)的編碼函數(shù),對(duì)原始DCC消息中的IPV6地址進(jìn)行編碼處理; 輸出單元,用于將編碼后的DCC消息流輸出。7.如權(quán)利要求6所述的基于DCC協(xié)議的IPV6地址編碼系統(tǒng),其特征在于,所述編碼處理單元具體包括: 分段模塊,用于對(duì)原始DCC消息中的IPV6地址的128位,按照每8位一個(gè)字節(jié)進(jìn)行分段,總共得到16個(gè)字節(jié); 第一轉(zhuǎn)換模塊,用于對(duì)分段后的每一個(gè)字節(jié)作十六進(jìn)制到十進(jìn)制的轉(zhuǎn)換,得到十進(jìn)制的16個(gè)字節(jié)的IPV6地址; 填寫模塊,用于從轉(zhuǎn)換后的十進(jìn)制的16個(gè)字節(jié)的IPV6地址的第三個(gè)字節(jié)開(kāi)始,將每一個(gè)十進(jìn)制字節(jié)填寫到Address類型變量的字節(jié)中。8.如權(quán)利要求7所述的基于DCC協(xié)議的IPV6地址編碼系統(tǒng),其特征在于,所述輸出單元具體用于: 通過(guò)API接口,將編碼后的IPV6地址保存到DCC消息流中,以供輸出給外部設(shè)備使用。9.一種基于DCC協(xié)議的IPV6地址解碼系統(tǒng),其特征在于,包括: 第二解析單元,用于接收編碼后的DCC消息流,并解析該DCC消息流中的各AVP; 第二查找單元,用于從解析出的各AVP中提取出具有IPV6地址特性的AVP,并查找到該AVP對(duì)應(yīng)的解碼函數(shù); 解碼單元,用于調(diào)用對(duì)應(yīng)的解碼函數(shù),對(duì)編碼后的DCC消息流中的IPV6地址進(jìn)行解碼處理,得到解碼后的IPV6地址并輸出。10.如權(quán)利要求9所述的基于DCC協(xié)議的IPV6地址解碼系統(tǒng),其特征在于,所述解碼單元具體包括: 第二轉(zhuǎn)換模塊,用于對(duì)編碼后的DCC消息流中的IPV6地址的16個(gè)十進(jìn)制字節(jié),從第三個(gè)字節(jié)開(kāi)始,依次將每一個(gè)十進(jìn)制字節(jié)轉(zhuǎn)化為十六進(jìn)制字節(jié),并且每?jī)蓚€(gè)字節(jié)之間以設(shè)定的第一間隔符分割,形成8個(gè)段位的十六進(jìn)制IPV6地址; 第一壓縮處理模塊,用于對(duì)所述8個(gè)段位的十六進(jìn)制IPV6地址字符串,從頭開(kāi)始查找,若存在連續(xù)段位的字符串值均為0,則將該連續(xù)段位的字符串采用設(shè)定的第二間隔符代替,形成零壓縮處理后的IPV6地址字符串; 第二壓縮處理模塊,用于對(duì)于零壓縮處理后的IPV6字符串,從頭開(kāi)始查找,若每一段位的開(kāi)頭為O或00或000,則將開(kāi)頭的O或00或000省略掉,形成省略前導(dǎo)零處理后的IPV6地址字符串。
【文檔編號(hào)】H04L29/12GK105872063SQ201610228476
【公開(kāi)日】2016年8月17日
【申請(qǐng)日】2016年4月13日
【發(fā)明人】方輝盛
【申請(qǐng)人】北京思特奇信息技術(shù)股份有限公司