專利名稱:實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法。
背景技術(shù):
NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)分成兩種一種是純粹的IP(互聯(lián)網(wǎng)協(xié)議)地址轉(zhuǎn)換,私網(wǎng)IP地址和公網(wǎng)IP地址是一一對(duì)應(yīng)關(guān)系,主要用途是隔離私網(wǎng)和外部的公網(wǎng)用戶。另一種是基于IP地址和四層協(xié)議端口號(hào)綁定的NAPT(網(wǎng)絡(luò)地址端口變換)技術(shù),主要用于解決IP地址不夠用的問題,利用NAPT可以實(shí)現(xiàn)私網(wǎng)到公網(wǎng)的多對(duì)一的地址變換。
現(xiàn)有的NAT應(yīng)用主要是NAPT技術(shù)的應(yīng)用,NAPT的提出是為了解決公網(wǎng)IP地址不足的問題,通過把四層的端口號(hào)和IP地址綁定,可以用很少的外部公網(wǎng)IP地址實(shí)現(xiàn)大量的本地私網(wǎng)IP地址和外部連接,且NAPT過程對(duì)外部主機(jī)是完全透明的。NAPT將私網(wǎng)IP地址變換成分配給該子網(wǎng)的公網(wǎng)IP地址,同時(shí)把該公網(wǎng)IP對(duì)應(yīng)的報(bào)文的4層一個(gè)端口號(hào)分配給這個(gè)會(huì)話,以區(qū)分使用同一個(gè)IP地址的不同會(huì)話和連接。
目前,實(shí)現(xiàn)NAPT的方法主要有兩種一種是在網(wǎng)絡(luò)設(shè)備的CPU上實(shí)現(xiàn)的純軟件算法,該方法速度很慢,而且當(dāng)NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)表的表項(xiàng)數(shù)較大時(shí),軟件的查表性能將大幅下降,從而導(dǎo)致對(duì)報(bào)文轉(zhuǎn)發(fā)性能急劇下降;另一種是基于網(wǎng)絡(luò)處理器的軟件算法,這種算法利用網(wǎng)絡(luò)處理器的強(qiáng)大計(jì)算能力和查表能力,用軟件實(shí)現(xiàn)NAT,所采用的網(wǎng)絡(luò)處理器為IXP1200網(wǎng)絡(luò)處理器,IXP1200是第一代的網(wǎng)絡(luò)處理器,所以其存在一些固有的缺陷導(dǎo)致對(duì)NAPT處理時(shí)效率低下,IXP1200所存在的缺陷包括一方面網(wǎng)絡(luò)處理器內(nèi)部沒有硬件查表單元,所有查表操作都是由軟件完成,對(duì)于需要大量查表操作的NAPT變換同樣力不從心;另一方面網(wǎng)絡(luò)處理器內(nèi)部沒有用于字節(jié)流處理的專用硬件,所以對(duì)于需要大量字節(jié)變換處理的操作效率低下;而且網(wǎng)絡(luò)處理器內(nèi)部共享總線,所以數(shù)據(jù)存取能力有限,因此,基于IXP1200實(shí)現(xiàn)的NAPT同樣性能較低,無法適應(yīng)日益發(fā)展的網(wǎng)絡(luò)通信系統(tǒng)的性能要求。
綜上所述,現(xiàn)有技術(shù)所述的兩種網(wǎng)絡(luò)地址轉(zhuǎn)換方法均因?yàn)榧夹g(shù)本身所存在的缺陷,使其在應(yīng)用中普遍存在轉(zhuǎn)發(fā)性能不高,且在用戶數(shù)增加時(shí)轉(zhuǎn)發(fā)性能下降的問題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,以提高基于網(wǎng)絡(luò)地址轉(zhuǎn)換的網(wǎng)絡(luò)通信中數(shù)據(jù)轉(zhuǎn)發(fā)的性能,保證網(wǎng)絡(luò)通信中用戶數(shù)增加的情況下數(shù)據(jù)轉(zhuǎn)發(fā)性能穩(wěn)定。
本發(fā)明的目的是這樣實(shí)現(xiàn)的一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括a、第一模塊查找確定報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的新的地址信息;b、第一模塊計(jì)算地址信息轉(zhuǎn)換前后的地址信息的差值,并將該差值和報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的地址信息暫存;c、第二模塊將原報(bào)文中的地址信息轉(zhuǎn)換為第一模塊暫存的地址信息;
d、第二模塊根據(jù)暫存的地址信息和暫存的轉(zhuǎn)換前后的地址信息的差值,計(jì)算確定地址信息轉(zhuǎn)換后的報(bào)文的新的地址信息校驗(yàn)和值,并將報(bào)文中的原地址信息校驗(yàn)和值轉(zhuǎn)換為新的地址信息校驗(yàn)和值。
所述的第一模塊采用的是C5網(wǎng)絡(luò)處理器的CPRC(通道處理器代碼執(zhí)行單元)模塊,所述的第二模塊采用的是C5網(wǎng)絡(luò)處理器的SDP(串行數(shù)據(jù)處理器)模塊,且CPRC模塊與SDP模塊間通過合并空間進(jìn)行數(shù)據(jù)信息的交互共享。
步驟b所述的將報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的地址信息暫存,包括b1、由CPRC模塊判斷需要進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換的報(bào)文是否為需要轉(zhuǎn)換源地址信息,如果是,執(zhí)行步驟b2,否則,執(zhí)行步驟b3;b2、根據(jù)報(bào)文的源地址信息查找確定網(wǎng)絡(luò)地址轉(zhuǎn)換后的新的源地址信息,并將新的源地址信息和報(bào)文原來的目的地址信息作為報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的地址信息暫存于合并空間中,執(zhí)行步驟c;b3、根據(jù)報(bào)文的目的地址信息查找確定網(wǎng)絡(luò)地址轉(zhuǎn)換后的新的目的地址信息,并將新的目的地址信息和報(bào)文原來的源地址信息作為報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的地址信息暫存于合并空間中,執(zhí)行步驟c。
所述的步驟c為由SDP模塊確定需要進(jìn)行NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)的報(bào)文,并將需要進(jìn)行NAT的報(bào)文的源IP(互聯(lián)網(wǎng)協(xié)議)地址和目的IP地址轉(zhuǎn)換為合并空間中的源IP地址和目的IP地址,將報(bào)文的源IP地址對(duì)應(yīng)的四層協(xié)議端口號(hào)或封裝在IP協(xié)議中的用于標(biāo)識(shí)一個(gè)流的編號(hào)和目的IP地址對(duì)應(yīng)的四層協(xié)議端口號(hào)或封裝在IP協(xié)議中的用于標(biāo)識(shí)一個(gè)流的編號(hào)轉(zhuǎn)換為合并空間中保存的源端口號(hào)或編號(hào)和目的端口號(hào)或編號(hào)。
所述的步驟d包括d1、根據(jù)暫存的IP地址轉(zhuǎn)換前后的差值,計(jì)算確定進(jìn)行NAT后的報(bào)文的新的IP地址校驗(yàn)和值,d2、確定進(jìn)行NAT的報(bào)文傳輸層所采用的協(xié)議,并根據(jù)所采用的協(xié)議及轉(zhuǎn)換前后的端口號(hào)的差值進(jìn)行報(bào)文端口號(hào)的校驗(yàn)和值的計(jì)算;d3、由SDP模塊將報(bào)文中的原IP地址校驗(yàn)和值轉(zhuǎn)換為新的IP地址校驗(yàn)和值,將報(bào)文中的原端口號(hào)校驗(yàn)和值轉(zhuǎn)換為新的端口號(hào)校驗(yàn)和值。
所述的步驟d3還包括由SDP模塊將完成網(wǎng)絡(luò)地址轉(zhuǎn)換的報(bào)文轉(zhuǎn)發(fā)出去。
由上述技術(shù)方案可以看出,本發(fā)明將進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換所需要進(jìn)行的各項(xiàng)工作進(jìn)行合理分工,并分別由C5(及后續(xù)發(fā)展型號(hào))網(wǎng)絡(luò)處理器中的CPRC和SDP完成,從而提高的網(wǎng)絡(luò)地址轉(zhuǎn)換的效率,實(shí)現(xiàn)了網(wǎng)絡(luò)地址轉(zhuǎn)換的快速進(jìn)行,為網(wǎng)絡(luò)通信系統(tǒng)中基于網(wǎng)絡(luò)地址轉(zhuǎn)換的報(bào)文的線速轉(zhuǎn)發(fā)提供了基礎(chǔ),即本發(fā)明的實(shí)施可以大大提高基于網(wǎng)絡(luò)地址轉(zhuǎn)換的網(wǎng)絡(luò)通信中數(shù)據(jù)轉(zhuǎn)發(fā)的性能。
圖1為C5網(wǎng)絡(luò)處理器的CP結(jié)構(gòu)示意圖;圖2為本發(fā)明中網(wǎng)絡(luò)地址轉(zhuǎn)換過程流程圖;圖3為進(jìn)行NAPT時(shí)計(jì)算地址信息校驗(yàn)和值的流程圖。
具體實(shí)施例方式
本發(fā)明所述的網(wǎng)絡(luò)地址轉(zhuǎn)換的實(shí)現(xiàn)方法的核心思想是將進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換所需要完成的各項(xiàng)工作進(jìn)行合理的分工,再分別由不同的處理模塊處理完成,從而以較低的成本實(shí)現(xiàn)網(wǎng)絡(luò)地址的快速轉(zhuǎn)換,解決了NAT轉(zhuǎn)發(fā)性能不高的問題。
本發(fā)明的實(shí)現(xiàn)可以采用硬件設(shè)備C5網(wǎng)絡(luò)處理器,該處理器是MOTOROLA(摩托羅拉)公司的用于網(wǎng)絡(luò)協(xié)議處理和報(bào)文轉(zhuǎn)發(fā)的高速網(wǎng)絡(luò)處理器,C5網(wǎng)絡(luò)處理器中集成有高速的硬件查表引擎CPRC模塊和基于字節(jié)的串行報(bào)文處理引擎SDP模塊,本發(fā)明正是利用C5網(wǎng)絡(luò)處理器的這一特點(diǎn),設(shè)計(jì)了一種網(wǎng)絡(luò)地址轉(zhuǎn)換方法,實(shí)現(xiàn)NAT的高速轉(zhuǎn)發(fā),從而使連接數(shù)量的改變而影響網(wǎng)絡(luò)設(shè)備的轉(zhuǎn)發(fā)性能;當(dāng)然本發(fā)明的實(shí)現(xiàn)也可以采用其它與C5網(wǎng)絡(luò)處理器功能作用類似的硬件設(shè)備,如C5網(wǎng)絡(luò)處理器的后續(xù)發(fā)展型號(hào)。
CPRC模塊和SDP是C5網(wǎng)絡(luò)處理器報(bào)文基本處理單元所包含的兩個(gè)部分,如圖1所示,其中CPRC模塊是基于MIPS(精簡(jiǎn)指令集的CPU內(nèi)核體系)內(nèi)核的RISC(精簡(jiǎn)指令集CPU)核,用于高層協(xié)議處理;SDP模塊是基于硬件字節(jié)處理引擎,使用微碼處理字節(jié)流,微碼的主要作用是控制SDP模塊中的專用硬件和VLIW(超長(zhǎng)指令字)的微引擎,使之能夠逐字節(jié)的處理報(bào)文的報(bào)文頭部信息,并完成相應(yīng)的報(bào)文修改工作,CPRC模塊和SDP模塊之間通過合并空間通信,即合并空間是CPRC和SDP之間交換信息用的共享存儲(chǔ)空間,本發(fā)明中即應(yīng)用了C5網(wǎng)絡(luò)處理器的下行部分的SDP模塊和CPRC模塊進(jìn)行報(bào)文的NAT處理。
下面結(jié)合C5網(wǎng)絡(luò)處理器的結(jié)構(gòu)及其功能作用對(duì)本發(fā)明所述的實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法作進(jìn)一步的描述,參見圖2,具體包括步驟1由C5網(wǎng)絡(luò)處理器的CPRC模塊確定需要轉(zhuǎn)換的報(bào)文地址信息;對(duì)于NAPT(網(wǎng)絡(luò)地址端口變換)及NAT首先需要根據(jù)報(bào)文的去向確定需要轉(zhuǎn)換的地址信息,即確定源地址信息進(jìn)行轉(zhuǎn)換,還是目的地址信息需要轉(zhuǎn)換;步驟2根據(jù)該地址信息查找NAT表確定轉(zhuǎn)換后的新的地址信息;需要轉(zhuǎn)換的地址信息確定下來之后,則根據(jù)該地址信息查找NAT表得到變換后的IP地址和端口號(hào),且該操作仍然由CPRC模塊完成;步驟3CPRC模塊計(jì)算轉(zhuǎn)換前后的地址信息的差值,并將獲得的差值,以及步驟2獲得的新的源地址信息或目的地址信息和原報(bào)文中的目的地址信息或源地址信息暫存于合并空間中,等待SDP共享使用該差值數(shù)據(jù);如果確定需要轉(zhuǎn)換報(bào)文的源地址信息,則計(jì)算轉(zhuǎn)換前的源地址信息和通過查表確定的新的源地址信息的差值,同時(shí)將查找NAT表獲得的新的源地址信息和原報(bào)文中的目的地址信息暫存于合并空間中,如轉(zhuǎn)換前報(bào)文的源地址為202.168.100.8,目的地址為192.160.123.5,且由步驟1和步驟2確定需要將報(bào)文的源地址轉(zhuǎn)換成新的地址197.146.111.9,則保存在合并空間中的地址信息分別為源地址197.146.111.9和目的地址192.160.123.5,這樣在SDP模塊進(jìn)行地址轉(zhuǎn)換時(shí)無需考慮轉(zhuǎn)換源地址信息還是目的地址信息,只需將報(bào)文的源地址信息和目的地址信息分別轉(zhuǎn)換成合并空間中保存的源地址信息和目的地址信息即可,即SDP模塊直接將報(bào)文的源地址和目的地址分別轉(zhuǎn)換為源地址197.146.111.9、目的地址192.160.123.5;如果確定需要轉(zhuǎn)換報(bào)文的目的地址信息,則計(jì)算轉(zhuǎn)換前的目的地址信息和通過查表確定的新的目的地址信息的差值,同時(shí)將查找NAT表獲得的新的目的地址信息和報(bào)文的源地址信息暫存于合并空間中,以方便SDP模塊進(jìn)行地址信息轉(zhuǎn)換,地址信息差值的計(jì)算方法由RFC1071標(biāo)準(zhǔn)規(guī)定;對(duì)于NAT僅需要計(jì)算轉(zhuǎn)換前后IP(互聯(lián)網(wǎng)協(xié)議)地址的差值即可,而對(duì)于NAPT則因?yàn)镹APT變換需要對(duì)IP頭的IP地址和TCP頭的端口號(hào)進(jìn)行修改,且IP頭和TCP/UDP頭都有校驗(yàn)和,所以對(duì)IP頭和TCP/UDP(傳輸控制協(xié)議/數(shù)據(jù)報(bào)協(xié)議)頭的修改以后必須重新計(jì)算相應(yīng)的三層和四層的校驗(yàn)和,這就需要分別計(jì)算3層和4層的轉(zhuǎn)換前后的差值,即分別計(jì)算轉(zhuǎn)換前后IP地址的差值和轉(zhuǎn)換前后端口的差值,然后將計(jì)算獲得的差值寫入合并空間,以方便SDP模塊進(jìn)行新的校驗(yàn)和計(jì)算使用;由于SDP模塊只能進(jìn)行8位運(yùn)算,如果SDP對(duì)3層和4層的轉(zhuǎn)換前后差值進(jìn)行計(jì)算將會(huì)耗費(fèi)大量的時(shí)間,所以本發(fā)明中采用了差值的計(jì)算由CPRC模塊完成,節(jié)省時(shí)間,以提高整個(gè)轉(zhuǎn)換過程的效率;
步驟4SDP模塊確定需要進(jìn)行NAT或NAPT的報(bào)文,根據(jù)步驟2保存于合并空間中的報(bào)文的源地址信息和目的地址信息,進(jìn)行報(bào)文的NAT或NAPT,即進(jìn)行報(bào)文的源IP地址和目的IP地址的轉(zhuǎn)換;對(duì)于需要進(jìn)行NAT的報(bào)文,只需要進(jìn)行IP地址的轉(zhuǎn)換;對(duì)于需要進(jìn)行NAPT的報(bào)文,則還需要將報(bào)文的源IP地址對(duì)應(yīng)的四層協(xié)議端口號(hào)或封裝在IP協(xié)議中的用于標(biāo)識(shí)一個(gè)流的編號(hào)和目的IP地址對(duì)應(yīng)的四層協(xié)議端口號(hào)或封裝在IP協(xié)議中的用于標(biāo)識(shí)一個(gè)流的編號(hào)轉(zhuǎn)換為合并空間中保存的源端口號(hào)或編號(hào)和目的端口號(hào)或編號(hào);步驟5SDP模塊確定報(bào)文所采用的傳輸層協(xié)議,并根據(jù)合并空間中的地址信息差值計(jì)算新的校驗(yàn)和值,新的校驗(yàn)和值的計(jì)算方法由RFC1071標(biāo)準(zhǔn)規(guī)定;SDP模塊對(duì)CheckSum(校驗(yàn)和)的計(jì)算包括如果是NAT則僅計(jì)算新的IP地址的校驗(yàn)和值,如果是NAPT則需要分別計(jì)算新的IP地址的校驗(yàn)和值和新的端口號(hào)的校驗(yàn)和值;對(duì)于NAPT的校驗(yàn)和值的計(jì)算方法進(jìn)一步驟包括步驟51SDP模塊讀取合并空間中暫存的由CPRC計(jì)算出的轉(zhuǎn)換前后的IP地址差值;步驟52讀取需要進(jìn)行NAPT的報(bào)文轉(zhuǎn)換前IP地址的校驗(yàn)和值;步驟53根據(jù)步驟51從合并空間讀取的IP地址差值和步驟52讀取的轉(zhuǎn)換前IP地址的校驗(yàn)和值計(jì)算新的IP地址校驗(yàn)和值,即計(jì)算進(jìn)行NAPT所需要的轉(zhuǎn)換后的IP地址的校驗(yàn)和值,計(jì)算的方法由RFC1071標(biāo)準(zhǔn)規(guī)定;
步驟54繼續(xù)由SDP模塊從合并空間讀取由CPRC計(jì)算出的轉(zhuǎn)換前后的端口號(hào)差值,該端口號(hào)差值根據(jù)所需要進(jìn)行NAPT的報(bào)文所采用的四層協(xié)議類型,可以為TCP端口號(hào)差值、UDP端口號(hào)差值或ICMP(互聯(lián)網(wǎng)控制報(bào)文協(xié)議)端口號(hào)差值;步驟55讀取需要進(jìn)行NAPT的報(bào)文中轉(zhuǎn)換前的端口號(hào)校驗(yàn)和值;步驟56根據(jù)步驟54從合并空間讀取的的端口號(hào)差值和步驟55讀取的轉(zhuǎn)換前端口號(hào)校驗(yàn)和值計(jì)算進(jìn)行NAPT所需要的轉(zhuǎn)換后的端口號(hào)的校驗(yàn)和值,對(duì)于新的端口號(hào)的校驗(yàn)和值的計(jì)算同樣需要根據(jù)報(bào)文所采用的四層協(xié)議類型分別進(jìn)行TCP端口號(hào)校驗(yàn)和值、UDP端口號(hào)校驗(yàn)和值或ICMP端口號(hào)校驗(yàn)和值的計(jì)算;步驟6SDP模塊根據(jù)步驟5計(jì)算出的新的地址信息的校驗(yàn)和值,將報(bào)文的地址信息校驗(yàn)和值轉(zhuǎn)換為新的地址信息的校驗(yàn)和值,如果是需要NAT的報(bào)文則僅需要進(jìn)行IP地址校驗(yàn)和的轉(zhuǎn)換,如果是需要NAPT的報(bào)文,則需要進(jìn)行IP地址校驗(yàn)和及端口號(hào)校驗(yàn)和的轉(zhuǎn)換。
經(jīng)過上述步驟1至步驟6的過程即可以實(shí)現(xiàn)本發(fā)明的目的,即實(shí)現(xiàn)網(wǎng)絡(luò)通信系統(tǒng)中網(wǎng)絡(luò)地址轉(zhuǎn)換的快速進(jìn)行,為基于網(wǎng)絡(luò)地址轉(zhuǎn)換的報(bào)文實(shí)現(xiàn)線速轉(zhuǎn)發(fā)提供基礎(chǔ)。
權(quán)利要求
1.一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于包括a、第一模塊查找確定報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的新的地址信息;b、第一模塊計(jì)算地址信息轉(zhuǎn)換前后的地址信息的差值,并將該差值和報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的地址信息暫存;c、第二模塊將原報(bào)文中的地址信息轉(zhuǎn)換為第一模塊暫存的地址信息;d、第二模塊根據(jù)暫存的地址信息和暫存的轉(zhuǎn)換前后的地址信息的差值,計(jì)算確定地址信息轉(zhuǎn)換后的報(bào)文的新的地址信息校驗(yàn)和值,并將報(bào)文中的原地址信息校驗(yàn)和值轉(zhuǎn)換為新的地址信息校驗(yàn)和值。
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于所述的第一模塊采用的是C5網(wǎng)絡(luò)處理器的CPRC(通道處理器代碼執(zhí)行單元)模塊,所述的第二模塊采用的是C5網(wǎng)絡(luò)處理器的SDP(串行數(shù)據(jù)處理器)模塊,且CPRC模塊與SDP模塊間通過合并空間進(jìn)行數(shù)據(jù)信息的交互共享。
3.根據(jù)權(quán)利要求2所述的實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于步驟b所述的將報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的地址信息暫存,包括b1、由CPRC模塊判斷需要進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換的報(bào)文是否為需要轉(zhuǎn)換源地址信息,如果是,執(zhí)行步驟b2,否則,執(zhí)行步驟b3;b2、根據(jù)報(bào)文的源地址信息查找確定網(wǎng)絡(luò)地址轉(zhuǎn)換后的新的源地址信息,并將新的源地址信息和報(bào)文原來的目的地址信息作為報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的地址信息暫存于合并空間中,執(zhí)行步驟c;b3、根據(jù)報(bào)文的目的地址信息查找確定網(wǎng)絡(luò)地址轉(zhuǎn)換后的新的目的地址信息,并將新的目的地址信息和報(bào)文原來的源地址信息作為報(bào)文進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換后的地址信息暫存于合并空間中,執(zhí)行步驟c。
4.根據(jù)權(quán)利要求3所述的實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于所述的步驟c為由SDP模塊確定需要進(jìn)行NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)的報(bào)文,并將需要進(jìn)行NAT的報(bào)文的源IP(互聯(lián)網(wǎng)協(xié)議)地址和目的IP地址轉(zhuǎn)換為合并空間中的源IP地址和目的IP地址,將報(bào)文的源IP地址對(duì)應(yīng)的四層協(xié)議端口號(hào)或封裝在IP協(xié)議中的用于標(biāo)識(shí)一個(gè)流的編號(hào)和目的IP地址對(duì)應(yīng)的四層協(xié)議端口號(hào)或封裝在IP協(xié)議中的用于標(biāo)識(shí)一個(gè)流的編號(hào)轉(zhuǎn)換為合并空間中保存的源端口號(hào)或編號(hào)和目的端口號(hào)或編號(hào)。
5.根據(jù)權(quán)利要求4所述的實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于所述的步驟d包括d1、根據(jù)暫存的IP地址轉(zhuǎn)換前后的差值,計(jì)算確定進(jìn)行NAT后的報(bào)文的新的IP地址校驗(yàn)和值,d2、確定進(jìn)行NAT的報(bào)文傳輸層所采用的協(xié)議,并根據(jù)所采用的協(xié)議及轉(zhuǎn)換前后的端口號(hào)的差值進(jìn)行報(bào)文端口號(hào)的校驗(yàn)和值的計(jì)算;d3、由SDP模塊將報(bào)文中的原IP地址校驗(yàn)和值轉(zhuǎn)換為新的IP地址校驗(yàn)和值,將報(bào)文中的原端口號(hào)校驗(yàn)和值轉(zhuǎn)換為新的端口號(hào)校驗(yàn)和值。
6.根據(jù)權(quán)利要求5所述的實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于所述的步驟d3還包括由SDP模塊將完成網(wǎng)絡(luò)地址轉(zhuǎn)換的報(bào)文轉(zhuǎn)發(fā)出去。
全文摘要
本發(fā)明涉及一種實(shí)現(xiàn)網(wǎng)絡(luò)地址轉(zhuǎn)換的方法。該方法是將進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換所需要進(jìn)行的各項(xiàng)工作進(jìn)行合理分工,并分別由C5網(wǎng)絡(luò)處理器中的CPRC和SDP完成,即在CPRC模塊中確定報(bào)文中需要轉(zhuǎn)換的地址信息、計(jì)算需要轉(zhuǎn)換的地址信息的差值,并查表確定轉(zhuǎn)換后的地址信息,在SDP模塊中則進(jìn)行報(bào)文轉(zhuǎn)換后的地址信息的校驗(yàn)和值的計(jì)算、報(bào)文的地址信息的轉(zhuǎn)換,并將報(bào)文轉(zhuǎn)發(fā)出去。本發(fā)明可以提高網(wǎng)絡(luò)地址轉(zhuǎn)換的效率,為網(wǎng)絡(luò)通信系統(tǒng)中基于網(wǎng)絡(luò)地址轉(zhuǎn)換的報(bào)文的線速轉(zhuǎn)發(fā)提供了基礎(chǔ)。
文檔編號(hào)H04L12/28GK1509021SQ0215830
公開日2004年6月30日 申請(qǐng)日期2002年12月19日 優(yōu)先權(quán)日2002年12月19日
發(fā)明者暴亮, 暴 亮 申請(qǐng)人:華為技術(shù)有限公司