亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法

文檔序號:7953478閱讀:459來源:國知局
專利名稱:網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),特別涉及網(wǎng)絡(luò)地址轉(zhuǎn)換方法。
背景技術(shù)
由于IPv4網(wǎng)絡(luò)協(xié)議本身的不足,加之現(xiàn)在越來越多的網(wǎng)絡(luò)設(shè)備接入,網(wǎng)絡(luò)地址正面臨著被分配耗盡的危險(xiǎn)。為了緩解這個(gè)問題,網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)技術(shù)被提出并得到了應(yīng)用。NAT技術(shù)可以將網(wǎng)絡(luò)數(shù)據(jù)流中的多個(gè)關(guān)鍵元素,尤其是網(wǎng)絡(luò)地址按一定規(guī)律進(jìn)行轉(zhuǎn)換,在局部范圍內(nèi)形成互不沖突的地址/端口組合,從而提高網(wǎng)絡(luò)地址的利用效率?,F(xiàn)有NAT技術(shù)通常有兩種方式1.采用軟件方式實(shí)現(xiàn),即網(wǎng)絡(luò)數(shù)據(jù)包全部交由CPU,依靠軟件的方式從包內(nèi)檢出五個(gè)關(guān)鍵元素(SIP,SPORT,DIP,DPORT,PROTOCOL),再根據(jù)要求完成源地址轉(zhuǎn)換——SNAT,即轉(zhuǎn)換SIP或SPORT,或目的地址轉(zhuǎn)換——DNAT,即轉(zhuǎn)換DIP或DPORT。此方法的缺點(diǎn)是,數(shù)據(jù)包從通訊端口到CPU必須經(jīng)過PCI總線、系統(tǒng)RAM通道、南橋通道等轉(zhuǎn)換過程,才能交給軟件處理,軟件執(zhí)行NAT轉(zhuǎn)換還需要進(jìn)行大量計(jì)算和頻繁的RAM讀寫,尤其是對每個(gè)包都要進(jìn)行一次,耗費(fèi)了大量CPU時(shí)間和系統(tǒng)資源,使整個(gè)系統(tǒng)在完成NAT功能時(shí)效率驟降。
2.采用NP(網(wǎng)絡(luò)處理器)方式實(shí)現(xiàn),NP在對網(wǎng)絡(luò)包處理的速度和效率上較高,但最終仍然是基于微代碼的執(zhí)行過程,速度比不上硬件。在從包中檢出五元組的過程中NP比CPU的效率高,但在進(jìn)行NAT地址轉(zhuǎn)換時(shí),仍然要依賴于微代碼的計(jì)算和頻繁的RAM讀寫才能確定要轉(zhuǎn)換的地址,在這個(gè)方面,NP的效率也并不高。

發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題,就是針對現(xiàn)有NAT技術(shù),轉(zhuǎn)換速度慢,耗費(fèi)系統(tǒng)資源,降低系統(tǒng)效率的缺點(diǎn),提供一種直接在FPGA/CPLD,ASIC等硬件基礎(chǔ)上實(shí)現(xiàn)的網(wǎng)絡(luò)地址轉(zhuǎn)換方法。
本發(fā)明解決所述技術(shù)問題,采用的技術(shù)方案是,網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法,包括如下步驟a.按照預(yù)定格式配置規(guī)則表;b.從數(shù)據(jù)包中抽取五元組,與規(guī)則表進(jìn)行匹配;c.若匹配上某一表項(xiàng),則根據(jù)表項(xiàng)內(nèi)容對網(wǎng)絡(luò)地址進(jìn)行轉(zhuǎn)換;d.若未匹配上表項(xiàng),則輸出未匹配信號。
本發(fā)明的有益效果是,能充分發(fā)揮硬件的速度優(yōu)勢,將繁雜的搜索和轉(zhuǎn)換計(jì)算過程固化后得到高速執(zhí)行,支持小數(shù)據(jù)包的線速處理。硬件在實(shí)現(xiàn)時(shí),各個(gè)功能模塊相對獨(dú)立,NAT的運(yùn)行不會以減低其它模塊的效率為代價(jià)。同時(shí),硬件對RAM的讀寫效率非常高,讀寫的數(shù)據(jù)格式也能夠精簡,能進(jìn)一步提高轉(zhuǎn)換效率。保證了系統(tǒng)在開啟NAT功能時(shí)整體數(shù)據(jù)流的處理過程仍然能高速執(zhí)行。


圖1是本發(fā)明的流程圖;圖2是NAT模塊的示意圖。
具體實(shí)施例方式
下面結(jié)合附圖及實(shí)施例,信息描述本發(fā)明的技術(shù)方案。
本發(fā)明的技術(shù)方案是,網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法,包括如下步驟a.按照預(yù)定格式配置規(guī)則表;b.從數(shù)據(jù)包中抽取五元組,與規(guī)則表進(jìn)行匹配;c.若匹配上某一表項(xiàng),則根據(jù)表項(xiàng)內(nèi)容對網(wǎng)絡(luò)地址進(jìn)行轉(zhuǎn)換;d.若未匹配上表項(xiàng),則輸出未匹配信號;具體的是,所述網(wǎng)絡(luò)地址包括IP地址和PORT號;進(jìn)一步的是,所述步驟c中IP地址的轉(zhuǎn)換為隨機(jī)轉(zhuǎn)換、指定范圍轉(zhuǎn)換或羅列選??;所述步驟c中PORT號的轉(zhuǎn)換為隨機(jī)轉(zhuǎn)換或指定范圍轉(zhuǎn)換;更進(jìn)一步的是,所述步驟c中網(wǎng)絡(luò)地址轉(zhuǎn)換包括源地址轉(zhuǎn)換和目的地址轉(zhuǎn)換。
本發(fā)明的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,首先,按照預(yù)定格式,在NAT模塊中建立規(guī)則表。從數(shù)據(jù)包中抽取五元組,包括源地址SIP,SPORT;目的地址DIP,DPORT;以及PROTOCOL。將上述五元組輸入NAT模塊。在NAT模塊中,五元組與規(guī)則表進(jìn)行匹配,根據(jù)規(guī)則表的內(nèi)容決定做哪一種轉(zhuǎn)換源地址轉(zhuǎn)換——SNAT;或目的地址轉(zhuǎn)換——DNAT。最后,計(jì)算并得出需要轉(zhuǎn)換的IP地址和PORT號(MIP和MPORT)。
上述規(guī)則表包括五元組內(nèi)容、匹配規(guī)則、做何種轉(zhuǎn)換,即DNAT或SNAT、IP的轉(zhuǎn)換范圍、PORT的轉(zhuǎn)換范圍等參數(shù)。從數(shù)據(jù)包中抽取五元組,搜索整個(gè)規(guī)則表,根據(jù)五元組和匹配規(guī)則確定是否匹配上某一表項(xiàng)。如果未匹配上表項(xiàng),則輸出未匹配信號,以便其他模塊進(jìn)行處理;如果匹配上表項(xiàng),則根據(jù)表項(xiàng)內(nèi)容對IP和PORT進(jìn)行轉(zhuǎn)換。程序流程參見圖1,NAT模塊結(jié)構(gòu)見圖2。
實(shí)施例1IP地址的轉(zhuǎn)換分三種方式一為隨機(jī)范圍轉(zhuǎn)換,即范圍不固定;二為指定范圍轉(zhuǎn)換,這要求用戶在規(guī)則表中預(yù)先對基值和偏移量進(jìn)行配置;三為羅列選取,即轉(zhuǎn)換的值在一個(gè)羅列的表項(xiàng)中隨機(jī)選擇一個(gè),這也要求用戶在規(guī)則表中預(yù)先對羅列表進(jìn)行配置。
假設(shè)轉(zhuǎn)換之前的IP地址均為192.168.0.1,在隨機(jī)范圍轉(zhuǎn)換模式下,得到的MIP會是一個(gè)任意的IP地址,比如123.89.67.251。在指定范圍轉(zhuǎn)換模式下,得到的MIP會是一定范圍內(nèi)的任意IP地址,這里的范圍取決于規(guī)則表中的配置(基地址+偏移量)。比如規(guī)則表的配置為基地址=119.160.2.0,偏移量=50,則得到的MIP是119.160.2.0至119.160.2.50范圍內(nèi)的一個(gè)任意IP地址,如119.160.2.34。在羅列選取模式下,得到的MIP會是規(guī)則表中所羅列的IP地址的其中之一。比如規(guī)則表羅列的地址有三個(gè)0號地址120.2.7.13,1號地址120.2.7.39,2號地址120.2.7.254;根據(jù)192.168.0.1的低2位的數(shù)值01,得到的MIP應(yīng)該取1號地址120.2.7.39。將轉(zhuǎn)換后的MIP安要求輸出。
實(shí)施例2
PORT號的轉(zhuǎn)換分兩種方式一為隨機(jī)范圍轉(zhuǎn)換,即范圍不固定;二為指定范圍轉(zhuǎn)換,這要求用戶在規(guī)則表中預(yù)先對基值和偏移量進(jìn)行配置。
假設(shè)轉(zhuǎn)換之前的PORT號均為80,在隨機(jī)范圍轉(zhuǎn)換模式下,得到的MPORT會是一個(gè)不大于65535的任意的PORT號,比如8880。在指定范圍轉(zhuǎn)換模式下,得到的MPORT是一定范圍內(nèi)的任意值,這里的范圍取決于規(guī)則表中的配置(基值+偏移量)。比如規(guī)則表的配置為基地址=3000,偏移量=80,則得到的MPORT是3000至3080范圍內(nèi)的一個(gè)任意值,如3056。將轉(zhuǎn)換后的MPORT按要求輸出。
上述實(shí)施例中,若網(wǎng)絡(luò)地址是源地址——SIP,SPORT;則對應(yīng)的轉(zhuǎn)換為源地址轉(zhuǎn)換——SNAT。若網(wǎng)絡(luò)地址為目的地址——DIP,DPORT;則對應(yīng)的轉(zhuǎn)換為目的地址轉(zhuǎn)換——DNAT。
權(quán)利要求
1.網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法,包括如下步驟a.按照預(yù)定格式配置規(guī)則表;b.從數(shù)據(jù)包中抽取五元組,與規(guī)則表進(jìn)行匹配;c.若匹配上某一表項(xiàng),則根據(jù)表項(xiàng)內(nèi)容對網(wǎng)絡(luò)地址進(jìn)行轉(zhuǎn)換;d.若未匹配上表項(xiàng),則輸出未匹配信號。
2.根據(jù)權(quán)利要求1所述的網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法,其特征在于所述網(wǎng)絡(luò)地址包括IP地址和PORT號。
3.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法,其特征在于所述步驟c中IP地址的轉(zhuǎn)換為隨機(jī)轉(zhuǎn)換、指定范圍轉(zhuǎn)換或羅列選取。
4.根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法,其特征在于所述步驟c中PORT號的轉(zhuǎn)換為隨機(jī)轉(zhuǎn)換或指定范圍轉(zhuǎn)換。
5.根據(jù)權(quán)利要求1、2、3或4所述的網(wǎng)絡(luò)地址轉(zhuǎn)換的硬件實(shí)現(xiàn)方法,其特征在于所述步驟c中網(wǎng)絡(luò)地址轉(zhuǎn)換包括源地址和目的地址轉(zhuǎn)換。
全文摘要
本發(fā)明涉及網(wǎng)絡(luò)技術(shù),特別涉及網(wǎng)絡(luò)地址轉(zhuǎn)換方法。本發(fā)明解決了現(xiàn)有NAT技術(shù),轉(zhuǎn)換速度慢,耗費(fèi)系統(tǒng)資源,降低系統(tǒng)效率的問題,公開了一種直接在FPGA/CPLD,ASIC等硬件基礎(chǔ)上實(shí)現(xiàn)的網(wǎng)絡(luò)地址轉(zhuǎn)換方法。本發(fā)明的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,首先按照預(yù)訂格式,在NAT模塊中建立規(guī)則表;從數(shù)據(jù)包中抽取五元組并輸入NAT模塊,在NAT模塊中,五元組與規(guī)則表進(jìn)行匹配,根據(jù)規(guī)則表的內(nèi)容決定轉(zhuǎn)換類型,最后,計(jì)算出需要轉(zhuǎn)換的IP地址和PORT號。本發(fā)明的有益效果是,能充分發(fā)揮硬件的速度優(yōu)勢,轉(zhuǎn)換速度快,效率高。本發(fā)明的技術(shù)方案,主要用于網(wǎng)絡(luò)芯片的設(shè)計(jì)。
文檔編號H04L29/12GK1809033SQ20061002029
公開日2006年7月26日 申請日期2006年2月16日 優(yōu)先權(quán)日2006年2月16日
發(fā)明者游游, 趙承志, 王步偉 申請人:四川南山之橋微電子有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1