專利名稱:網(wǎng)絡(luò)地址轉(zhuǎn)換加速的機(jī)構(gòu)與方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)地址轉(zhuǎn)換,特別是利用處理信息包的表頭以加速網(wǎng)絡(luò)地址的轉(zhuǎn)換的機(jī)構(gòu)與方法。
利用一臺(tái)地址分享器(IP sharing device),可使家庭的數(shù)臺(tái)計(jì)算機(jī)或公司的內(nèi)部計(jì)算機(jī)由相同的一個(gè)地址與網(wǎng)絡(luò)聯(lián)系。其原理為家庭的數(shù)臺(tái)計(jì)算機(jī)或公司的內(nèi)部計(jì)算機(jī)自成一局域網(wǎng)絡(luò)(Local AreaNetwork,LAN),利用地址分享器與外部的廣域網(wǎng)絡(luò)(Wide AreaNetwork,WAN)聯(lián)系,參考
圖1,網(wǎng)絡(luò)服務(wù)提供者所提供的地址(例如圖1的140.112.233.246)指到這臺(tái)地址分享器,任何傳送到網(wǎng)絡(luò)服務(wù)提供者所提供的地址的信息包都將送到地址分享器來(lái)判斷而傳送到局域網(wǎng)絡(luò)需要此信息包的計(jì)算機(jī)。局域網(wǎng)絡(luò)內(nèi)部的每臺(tái)計(jì)算機(jī)都有各自的私人地址(Private IP),例如圖1的192.168.1.2到4,這地址由地址分享器來(lái)提供,且僅能在此局域網(wǎng)絡(luò)間使用。當(dāng)局域網(wǎng)絡(luò)內(nèi)任一臺(tái)計(jì)算機(jī)發(fā)出一信息包到廣域網(wǎng)絡(luò)時(shí),會(huì)通過(guò)地址分享器再傳送到外部。此時(shí)地址分享器將會(huì)將信息包內(nèi)記錄的虛擬地址等相關(guān)來(lái)源的數(shù)據(jù)取代為網(wǎng)絡(luò)服務(wù)提供者所提供的地址(因?yàn)榫钟蚓W(wǎng)絡(luò)內(nèi)使用的虛擬地址在廣域網(wǎng)絡(luò)無(wú)法判別),例如圖1中的第一臺(tái)計(jì)算機(jī)的信息包內(nèi)虛擬地址數(shù)據(jù)192.168.1.2會(huì)變?yōu)榫W(wǎng)絡(luò)服務(wù)提供者所提供的地址140.112.233.246,且地址分享器也接記錄此信息包由哪一臺(tái)計(jì)算機(jī)所傳出,如此傳出的信息包外部的廣域網(wǎng)絡(luò)會(huì)判斷為由地址分享器所擁有的地址所傳出的。當(dāng)外部的廣域網(wǎng)絡(luò)傳回了響應(yīng)的信息包也會(huì)傳回到地址分享器,而地址分享器依的前的記錄,可將信息包適當(dāng)傳回需要此信息包數(shù)據(jù)的計(jì)算機(jī)。由如此的轉(zhuǎn)換過(guò)程,除可使多臺(tái)計(jì)算機(jī)用同一個(gè)地址外,而且可以由這轉(zhuǎn)換過(guò)程,使外界無(wú)法輕易得知內(nèi)部的數(shù)據(jù)而加強(qiáng)網(wǎng)絡(luò)的安全性。目前共定義三個(gè)區(qū)段為私人地址的區(qū)段,分別為10.0.0.0-10.255.255.255、172.16.0.0-172.31.255.255、192.168.0.0-192.168.255.255。
利用地址分享器,可以使多臺(tái)計(jì)算機(jī)使用同一個(gè)網(wǎng)絡(luò)服務(wù)提供者所提供的地址來(lái)與外部網(wǎng)絡(luò)聯(lián)系,而目前的地址分享器是利用軟件的方式來(lái)處理虛擬地址與網(wǎng)絡(luò)服務(wù)提供者所提供的廣域網(wǎng)絡(luò)中的的應(yīng)對(duì)與轉(zhuǎn)換,相對(duì)上有時(shí)會(huì)因轉(zhuǎn)換速度不及造成傳輸?shù)男畔鼣?shù)據(jù)需等待地址分享器的網(wǎng)絡(luò)地址轉(zhuǎn)換處理的完成,因此本發(fā)明將現(xiàn)有技術(shù)中的網(wǎng)絡(luò)地址轉(zhuǎn)換過(guò)程以硬件處理,并將網(wǎng)絡(luò)地址轉(zhuǎn)換方法加以改進(jìn),使網(wǎng)絡(luò)的數(shù)據(jù)傳輸不因網(wǎng)絡(luò)地址轉(zhuǎn)換而造成延遲的問(wèn)題。
本發(fā)明的另一目的為,提供一種網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,利用新的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,可以減少網(wǎng)絡(luò)地址轉(zhuǎn)換表的面積和相對(duì)應(yīng)的碼體,并加快處理的速度。
根據(jù)以上所述的目的,本發(fā)明提供了一種網(wǎng)絡(luò)地址轉(zhuǎn)換加速器。本發(fā)明利用網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,使轉(zhuǎn)換過(guò)程所需處理的數(shù)據(jù)可以分成數(shù)份同時(shí)處理,減少處理所需時(shí)間,處理效能最佳化,增進(jìn)處理效能,并采用新的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,可以減少網(wǎng)絡(luò)地址轉(zhuǎn)換表的面積和相對(duì)應(yīng)的碼體,并加快處理的速度,確保處理所需的時(shí)間短于網(wǎng)絡(luò)數(shù)據(jù)傳輸所需的時(shí)間,避免網(wǎng)絡(luò)數(shù)據(jù)的傳輸因網(wǎng)絡(luò)地址轉(zhuǎn)換所造成的延遲。
圖中符號(hào)說(shuō)明
10 比較引擎12 取代引擎14 存儲(chǔ)器16 語(yǔ)法解析引擎18 地址轉(zhuǎn)換表20-40 網(wǎng)絡(luò)地址轉(zhuǎn)換加速器的運(yùn)作步驟42-62 取代引擎的運(yùn)作步驟方塊70 編碼器72 計(jì)數(shù)器處理中心74 登錄器76 直接存儲(chǔ)器存取器78 有限狀態(tài)器80 靜態(tài)存儲(chǔ)器控制器82 嵌入式靜態(tài)存儲(chǔ)器84 加總值器90-94 區(qū)塊102-146聯(lián)系信號(hào)150聯(lián)系一152聯(lián)系二154聯(lián)系三156聯(lián)系四Rx 接收引擎Tx 傳送引擎本發(fā)明的一較佳實(shí)施例的流程圖如圖2所示,為由局域網(wǎng)絡(luò)傳至廣域網(wǎng)絡(luò)的流程圖。本發(fā)明的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器所包含的組件有比較引擎10、取代引擎12。其操作流程說(shuō)明如下。
信息包由廣域網(wǎng)絡(luò)傳至局域網(wǎng)絡(luò)或由局域網(wǎng)絡(luò)傳至廣域網(wǎng)絡(luò)時(shí),如步驟20,經(jīng)過(guò)媒體獨(dú)立接口(media independent interface,MII)傳至接收引擎Rx。信息包中含有欲傳送的數(shù)據(jù)的一小段及通訊協(xié)議所要求的來(lái)源、目的地信息等的訊息,利用語(yǔ)法解析引擎16將信息包數(shù)據(jù)拆為欲傳送的數(shù)據(jù)及來(lái)源、目的地信息等的訊息兩部分,其中欲傳送的數(shù)據(jù)經(jīng)步驟30送至存儲(chǔ)器14暫存,來(lái)源、目的地信息等的訊息經(jīng)步驟22送至比較引擎10,比較引擎10再通過(guò)步驟24,于地址轉(zhuǎn)換表中查詢,查詢結(jié)果經(jīng)步驟26傳回至比較引擎10。比較引擎10再將查詢的結(jié)果經(jīng)步驟28傳至語(yǔ)法分析引擎16,使語(yǔ)法分析引擎16確認(rèn)查詢的數(shù)據(jù)為哪一個(gè)信息包的數(shù)據(jù),再將數(shù)據(jù)傳送或阻擋。信息包與描述數(shù)據(jù)(descriptor)由接收引擎Rx經(jīng)步驟30儲(chǔ)存至存儲(chǔ)器14。如果經(jīng)地址轉(zhuǎn)換表18查詢后確認(rèn)需更換,則經(jīng)步驟32激活取代引擎12,而取代引擎12經(jīng)步驟34通過(guò)系統(tǒng)總線將儲(chǔ)存于存儲(chǔ)器14中需取代的部分?jǐn)?shù)據(jù)的信息包的數(shù)據(jù)讀出,取代后經(jīng)步驟36通過(guò)系統(tǒng)總線寫回到存儲(chǔ)碞器14。以取代的信息包數(shù)據(jù)經(jīng)步驟38送至傳送引擎Tx等待送出,再經(jīng)步驟40通過(guò)MII接口將信息包數(shù)據(jù)送出。上述的步驟中,有些步驟可以同時(shí)進(jìn)行,例如步驟22、24及26可以與步驟30在同一時(shí)間內(nèi)同時(shí)處理。
現(xiàn)有技術(shù)中的網(wǎng)絡(luò)地址轉(zhuǎn)換表則包含了三個(gè)部分虛擬信息(masquerading information)、私人信息(private information)及公共信息(public information)。由于目前網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)大部分都以互聯(lián)網(wǎng)絡(luò)通訊協(xié)議(Internet Protocol,IP)來(lái)傳輸,本發(fā)明的地址轉(zhuǎn)換表含有的內(nèi)容可分為兩部分,一部分是虛擬信息,另一部份為私人信息,而去除了公共信息。如此可減少三分的一的轉(zhuǎn)換表大小,因此查詢過(guò)程所需時(shí)間可以減少,提高查詢地址轉(zhuǎn)換表的效率。而由于缺乏公共信息部分的數(shù)據(jù),當(dāng)響應(yīng)的信息包來(lái)源并非由原先信息包傳送的目的地傳回時(shí),例如有人假造一個(gè)信息包,其信息包的目的地為我們的真實(shí)的網(wǎng)絡(luò)地址時(shí),則由于缺乏公共信息來(lái)比對(duì),硬件會(huì)錯(cuò)認(rèn)而接收。因此,我們將傳送到廣域網(wǎng)絡(luò)的信息包的目的地的端口(port)為根據(jù),利用額外的軟件來(lái)排列虛擬信息的端口,使響應(yīng)的信息包的來(lái)源的端口因不符虛擬信息的排序而送錯(cuò)端點(diǎn),以免接收不正確的信息包影響網(wǎng)絡(luò)的安全性等問(wèn)題。
在網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,查詢網(wǎng)絡(luò)地址轉(zhuǎn)換表的時(shí)間必須短于信息包完整儲(chǔ)存好的時(shí)間才不會(huì)影響信息包的儲(chǔ)存過(guò)程。也就是說(shuō),一個(gè)信息包傳送網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,語(yǔ)法解析的過(guò)程,包含步驟22、24、26及28必須在儲(chǔ)存的步驟30完成前完成。一個(gè)最糟糕的信息包的情況為如圖3所示,包含表頭(header)、16位的數(shù)據(jù)(data),和除錯(cuò)碼(CRC)。文件頭部分的數(shù)據(jù)長(zhǎng)度為60字節(jié),而內(nèi)部(即在總線內(nèi)部每個(gè)周期)每周期傳送T位的數(shù)據(jù),故需時(shí)60/T。而數(shù)據(jù)與除錯(cuò)碼的傳輸速度規(guī)定媒體獨(dú)立接口為每周期1/2字節(jié)的傳輸速率(媒體獨(dú)立接口的傳輸速率為100兆位模式,運(yùn)算頻率為25百萬(wàn)赫茲,所以每周期傳輸4位,即1/2字節(jié)),在此例子(最糟糕的情況)中,數(shù)據(jù)長(zhǎng)度為2字節(jié)(16位),除錯(cuò)碼的長(zhǎng)度為4字節(jié)(32位),故共需(2+4)x2,共12個(gè)周期。而總線內(nèi)部與媒體獨(dú)立接口的頻率不同,假設(shè)媒體獨(dú)立接口與總線內(nèi)部一個(gè)周期所需的時(shí)間比為F,所以媒體獨(dú)立接口的12個(gè)周期時(shí)間和總線內(nèi)部的12*F的周期時(shí)間相等。故傳送信息包共需60/T+12*F個(gè)總線內(nèi)部周期時(shí)間。
而比較引擎同時(shí)間同時(shí)必須查詢P個(gè)端口,即P個(gè)周期時(shí)間,以及若此時(shí)正好比較引擎被要求讀寫,所以同時(shí)必須多花一個(gè)周期時(shí)間,所以查詢網(wǎng)絡(luò)地址轉(zhuǎn)換表內(nèi)的個(gè)體數(shù)據(jù)(entry)時(shí)間最糟糕的情況需P+1個(gè)周期時(shí)間。當(dāng)網(wǎng)絡(luò)地址轉(zhuǎn)換表內(nèi)共有E筆的個(gè)體數(shù)據(jù),就需E*(P+1)個(gè)周期時(shí)間,而同步處理時(shí)有P個(gè)端口就需再多需P個(gè)周期時(shí)間。故查詢過(guò)程共需E*(P+1)+P。假設(shè)必須使用W個(gè)比較引擎來(lái)同時(shí)處理,故比較過(guò)程共需[E*(P+1)+P]/W。此時(shí)必須滿足 /W<60/T+12*F (1)假設(shè)E為16,F(xiàn)為75/25=3,P為2,T為4(一次傳一個(gè)字符,為4字節(jié)),因此可得W>0.98,則需要一個(gè)比較引擎。若有64筆的個(gè)體數(shù)據(jù),使用四個(gè)比較引擎,則每個(gè)比較引擎處理其中的16筆,就可確保查詢網(wǎng)絡(luò)地址轉(zhuǎn)換表的時(shí)間短于信息包儲(chǔ)存的時(shí)間。因此在不同設(shè)計(jì)環(huán)境,可依需求使用更多的比較引擎來(lái)同時(shí)處理,就可確保查詢網(wǎng)絡(luò)地址轉(zhuǎn)換表的時(shí)間短于信息包儲(chǔ)存的時(shí)間而不會(huì)影響信息包的儲(chǔ)存過(guò)程。
表頭可分為四大部分,參考圖4,分別是MAC、PPP、IP、UDP。MAC代表以太網(wǎng)絡(luò)媒體儲(chǔ)存控制表頭(Ethernet MAC Header)、PPP代表以太網(wǎng)絡(luò)上的點(diǎn)對(duì)點(diǎn)表頭及點(diǎn)對(duì)點(diǎn)協(xié)議(PPPoE Header+PPPProtocol)、IP代表互聯(lián)網(wǎng)絡(luò)通訊協(xié)議表頭(IP Header)及UDP代表使用者數(shù)據(jù)電報(bào)協(xié)議表頭(UDP header)。在步驟40中,可以調(diào)整傳送引擎Tx而有刪除與增加的功能,使信息包在以太網(wǎng)絡(luò)(etherent)與點(diǎn)對(duì)點(diǎn)(point-to-point,PPP)區(qū)域間傳送時(shí),可刪除或增加以太網(wǎng)絡(luò)上的點(diǎn)對(duì)點(diǎn)表頭(PPPoE Header)。在傳送了最初的12字節(jié)后,即來(lái)源媒體儲(chǔ)存控制地址及目的地媒體儲(chǔ)存控制地址(source MACaddress and destination MAC address)后,改變以太網(wǎng)絡(luò)類型的部分(ethernet type field)及增加或移除7(點(diǎn)對(duì)點(diǎn)8位,PPP8)或8(點(diǎn)對(duì)點(diǎn)16位,PPP16)字節(jié)數(shù)據(jù)。
對(duì)于不連續(xù)的信息包(fragment packet),信息包的表頭沒(méi)有顯示傳輸控制協(xié)議/使用者數(shù)據(jù)電報(bào)協(xié)議表頭(TCP/UDP)的表頭,所以可以傳送一個(gè)信號(hào)通知網(wǎng)絡(luò)地址轉(zhuǎn)換加速器的個(gè)體比較器(entrycomparator)不需比對(duì)端口的數(shù)值。
參考圖5,信息包由局域網(wǎng)絡(luò)傳至廣域網(wǎng)絡(luò)時(shí),取代引擎需將來(lái)源的地址和端口的數(shù)據(jù)由私人地址和端口的數(shù)據(jù)變?yōu)樘摂M地址和端口的數(shù)據(jù),使廣域網(wǎng)絡(luò)可判斷此信息包的來(lái)源,或者由廣域網(wǎng)絡(luò)傳至局域網(wǎng)絡(luò)時(shí),取代引擎需將目的地的地址和端口的數(shù)據(jù)由虛擬地址和端口的數(shù)據(jù)變?yōu)樗饺说刂泛投丝诘臄?shù)據(jù),使局域網(wǎng)絡(luò)正確傳給內(nèi)部的計(jì)算機(jī)。取代引擎的運(yùn)作步驟34與36的詳細(xì)運(yùn)作流程請(qǐng)參考圖6,方塊42代表取代引擎開始運(yùn)作,這過(guò)程需兩個(gè)周期時(shí)間,即可取得描述符號(hào)(descriptor)的地址及起始位(start bit)的信息。而方塊44代表讀取信息包數(shù)據(jù)的地址(packet data address)的信息,需時(shí)一個(gè)周期時(shí)間。接下來(lái)方塊46依方塊42中得知的讀取描述符號(hào)的地址而讀取讀取描述符號(hào)的信息,包括(1)互聯(lián)網(wǎng)絡(luò)通訊協(xié)議表頭(IPHeader)的長(zhǎng)度,大小為4位、(2)傳輸控制協(xié)議/使用者數(shù)據(jù)電報(bào)協(xié)議表頭(TCP/UDP),大小為1位、(3)命中個(gè)體數(shù)目(hit entrynumber),可以以5位來(lái)描述32筆個(gè)體、(4)比對(duì)的方向(directionof comparator),大小為位及(5)傳輸控制協(xié)議的架構(gòu)(TCPconfiguration),大小為位,這過(guò)程需要一個(gè)周期時(shí)間。方塊48為由靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)來(lái)抓取個(gè)體的數(shù)據(jù)(entry information),所需的時(shí)間與靜態(tài)隨機(jī)存儲(chǔ)器有關(guān),一般需2到4個(gè)周期時(shí)間。方塊50是讀取信息包信息內(nèi)的互聯(lián)網(wǎng)絡(luò)通訊協(xié)議的加總值(IP checksum),需一個(gè)周期的時(shí)間。方塊52為重新計(jì)算互聯(lián)網(wǎng)絡(luò)通訊協(xié)議的加總值,需兩個(gè)周期的時(shí)間。方塊54為確認(rèn)使用者數(shù)據(jù)電報(bào)協(xié)議的加總值加總值是否為0,若是則略過(guò)傳輸控制協(xié)議/使用者數(shù)據(jù)電報(bào)協(xié)議的計(jì)算(方塊58),直接進(jìn)入方塊60,若非則進(jìn)行方塊58。方塊56是讀取信息包信息內(nèi)的互聯(lián)網(wǎng)絡(luò)通訊協(xié)議的加總值(IP checksum),需一個(gè)周期的時(shí)間。方塊58為為重新計(jì)算傳輸控制協(xié)議/使用者數(shù)據(jù)電報(bào)協(xié)議的加總值,需三個(gè)周期的時(shí)間。方塊60為寫回?cái)?shù)據(jù)的過(guò)程,包含(1)寫入媒體存取控制地址(MAC address)、(2)寫入媒體存取控制端口的數(shù)值地址(MAC port number address)、(3)寫入新的地址(IP address)及(4)寫入新的地址的端口(port number address),需六個(gè)周期的時(shí)間。方塊62為寫回新的互聯(lián)網(wǎng)絡(luò)通訊協(xié)議的加總值及新的傳輸控制協(xié)議/使用者數(shù)據(jù)電報(bào)協(xié)議的加總值。如此,即完成了信息包的網(wǎng)絡(luò)地址轉(zhuǎn)換的動(dòng)作。
圖7為網(wǎng)絡(luò)地址轉(zhuǎn)換加速器各組件間的硬件架構(gòu)示意圖。包含編碼器(NAT EMAC Decoder)70、計(jì)數(shù)器處理中心(NAT Countermanager)72、登錄器(NAT registers)74、直接存儲(chǔ)器存取器(DirectMemory Access,DMA)76、有限狀態(tài)器(Finite State Machine,F(xiàn)SM)78、靜態(tài)存儲(chǔ)器控制器(NAT SRAM Controller)80、以及加總值器(NAT Checksum)84。而其中AHB(advanced high-performance bus)代表高效能總線,網(wǎng)絡(luò)地址轉(zhuǎn)換加速器通過(guò)總線與計(jì)算機(jī)等取得聯(lián)系。例如當(dāng)信號(hào)一的計(jì)數(shù)需求102與信號(hào)二的計(jì)數(shù)需求104通過(guò)編碼器70,通知計(jì)數(shù)器處理中心72而增加計(jì)數(shù)需求(counter request)及計(jì)數(shù)的數(shù)值(counter value)。而計(jì)數(shù)器處理中心72向登錄器74登錄,并接受登錄器74的清除計(jì)數(shù)118的要求。區(qū)塊90相當(dāng)于比較引擎的相關(guān)運(yùn)作的部分,當(dāng)信號(hào)一的讀取需求106與信號(hào)二的讀取需求108進(jìn)來(lái)時(shí),通知靜態(tài)存儲(chǔ)器控制器80做讀取需求114,而靜態(tài)存儲(chǔ)器控制器80而將做讀取響應(yīng)116并向嵌入式靜態(tài)存儲(chǔ)器(EmbeddedSRAM)82讀取數(shù)據(jù)126。而靜態(tài)存儲(chǔ)器控制器80也可接收計(jì)數(shù)器處理中心72的登錄讀寫需求122而執(zhí)行登錄的讀與寫的動(dòng)作。因此嵌入式靜態(tài)存儲(chǔ)器82利用登錄讀寫需求122來(lái)建立網(wǎng)絡(luò)地址轉(zhuǎn)換表,而以讀取需求114、讀取響應(yīng)116來(lái)執(zhí)行比較的動(dòng)作。區(qū)塊92則相當(dāng)于取代引擎的相關(guān)運(yùn)作部分,有限狀態(tài)器78向靜態(tài)存儲(chǔ)器控制器80做網(wǎng)絡(luò)地址轉(zhuǎn)換的需求128并接收網(wǎng)絡(luò)地址轉(zhuǎn)換的響應(yīng)130,也對(duì)加總值器84要求加總值的計(jì)算132,而加總值器84也響應(yīng)加總值的計(jì)算的響應(yīng)134給有限狀態(tài)器78。而有限狀態(tài)器78將對(duì)計(jì)數(shù)器處理中心72做減少計(jì)數(shù)的要求124。而區(qū)塊94為相當(dāng)于存儲(chǔ)器的相關(guān)運(yùn)作部分,登錄器74對(duì)有限狀態(tài)器78做登錄設(shè)定的指令136,而接收有限狀態(tài)器78的設(shè)定中斷狀態(tài)的登錄138,并通過(guò)總線響應(yīng)信號(hào)140與外在系統(tǒng)(個(gè)人計(jì)算機(jī)等)取得聯(lián)系,而直接存儲(chǔ)器存取器76由有限狀態(tài)器78接收驅(qū)動(dòng)總線的控制信號(hào)142,響應(yīng)信號(hào)146給有限狀態(tài)器78,且通過(guò)總線響應(yīng)信號(hào)144與外在系統(tǒng)取得聯(lián)系。
因此,網(wǎng)絡(luò)地址轉(zhuǎn)換加速器通過(guò)總線與外在系統(tǒng)的聯(lián)系可分為四個(gè)部分,參考圖8,包含聯(lián)系一150、聯(lián)系二152、聯(lián)系三154以及聯(lián)系四156。聯(lián)系一150包含外在系統(tǒng)對(duì)網(wǎng)絡(luò)地址轉(zhuǎn)換加速器的網(wǎng)絡(luò)地址轉(zhuǎn)換表的計(jì)數(shù)增加位、網(wǎng)絡(luò)地址轉(zhuǎn)換表的計(jì)數(shù)增加個(gè)體位等,以及網(wǎng)絡(luò)地址轉(zhuǎn)換加速器響應(yīng)網(wǎng)絡(luò)地址轉(zhuǎn)換表可計(jì)數(shù)數(shù)值增加狀態(tài)等。聯(lián)系二152為比較引擎的部分,由外在系統(tǒng)傳給網(wǎng)絡(luò)地址轉(zhuǎn)換加速器包含網(wǎng)絡(luò)地址轉(zhuǎn)換表的讀取要求、媒體儲(chǔ)存控制方向位、網(wǎng)絡(luò)地址轉(zhuǎn)換表查詢數(shù)據(jù)、不連續(xù)位、網(wǎng)絡(luò)地址轉(zhuǎn)換表查詢確認(rèn)信號(hào)等,而網(wǎng)絡(luò)地址轉(zhuǎn)換加速器響應(yīng)命中的網(wǎng)絡(luò)地址轉(zhuǎn)換表的地址、命中的網(wǎng)絡(luò)地址轉(zhuǎn)換表的端口、路地址轉(zhuǎn)換表的反向位等。聯(lián)系三154為取代引擎的部分,由外在系統(tǒng)傳給網(wǎng)絡(luò)地址轉(zhuǎn)換加速器包含信息包取代要求、信息包取代個(gè)體、信息包取代認(rèn)可等,而網(wǎng)絡(luò)地址轉(zhuǎn)換加速器響應(yīng)信息包取代中斷(interrupt)、信息包取代差錯(cuò)中斷(error interrupt)。
網(wǎng)絡(luò)地址轉(zhuǎn)換加速器除上述的組件外,亦可以增加一組件來(lái)處理網(wǎng)絡(luò)地址轉(zhuǎn)換以外的動(dòng)作,例如防火墻(Fireware)、虛擬服務(wù)器(Virtual Server)等。防火墻基本上是為了預(yù)防別人來(lái)存取局域網(wǎng)絡(luò),進(jìn)而管制網(wǎng)絡(luò)上數(shù)據(jù)的進(jìn)出。防火墻為進(jìn)入局域網(wǎng)絡(luò)的唯一信道,因此任何進(jìn)出的數(shù)據(jù)都要經(jīng)過(guò)防火墻,再經(jīng)由防火墻來(lái)決定是否能夠通行,因此可以增加安全性。而虛擬服務(wù)器為提供架設(shè)服務(wù)器功能,可指定內(nèi)部局域網(wǎng)絡(luò)的特定主機(jī)為Web、Mail、FTP.....等類型的服務(wù)器。通過(guò)連接端口(port)即可與局域網(wǎng)絡(luò)及廣域網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的傳送或接收。
綜合以上所述,本發(fā)明揭露了一種網(wǎng)絡(luò)地址轉(zhuǎn)換加速器。根據(jù)本發(fā)明的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其網(wǎng)絡(luò)地址轉(zhuǎn)換表的數(shù)據(jù)只包含虛擬信息及私人信息,較一般網(wǎng)絡(luò)地址轉(zhuǎn)換表少了公共信息,如此可以減少網(wǎng)絡(luò)地址轉(zhuǎn)換表的面積和相對(duì)應(yīng)的碼體,并加快處理的速度。而且可使網(wǎng)絡(luò)地址的轉(zhuǎn)換由硬件來(lái)處理,可使處理速率較現(xiàn)有技術(shù)中使用軟件處理為快,而且可將信息包分成數(shù)份給多個(gè)比較引擎處理,如此可確保網(wǎng)絡(luò)地址轉(zhuǎn)換所需的時(shí)間短于網(wǎng)絡(luò)數(shù)據(jù)傳輸所需的時(shí)間,避免網(wǎng)絡(luò)數(shù)據(jù)的傳輸因網(wǎng)絡(luò)地址轉(zhuǎn)換所造成的延遲。
以上所述僅為本發(fā)明的較佳實(shí)施例,并非用以限定本發(fā)明的保護(hù)范圍;凡其它為脫離本發(fā)明所揭示的精神下所完成的等效改變或修飾,均應(yīng)包含在權(quán)利要求書的范圍內(nèi)。
權(quán)利要求
1.一種網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,包含一第一處理器,用以處理網(wǎng)絡(luò)地址轉(zhuǎn)換,使一信息包的一表頭的地址與端口數(shù)據(jù)與一網(wǎng)絡(luò)地址轉(zhuǎn)換表進(jìn)行比對(duì)以得到相對(duì)應(yīng)的一地址與端口數(shù)據(jù),在將該信息包的該表頭的地址與端口數(shù)據(jù)取代為相對(duì)應(yīng)的該地址與端口數(shù)據(jù);一第二處理器,處理非網(wǎng)絡(luò)地址轉(zhuǎn)換的復(fù)數(shù)個(gè)動(dòng)作;復(fù)數(shù)個(gè)端口接口,用以連接該網(wǎng)絡(luò)地址轉(zhuǎn)換加速器至一局域網(wǎng)絡(luò)及一廣域網(wǎng)絡(luò),以傳送或接收該網(wǎng)絡(luò)地址轉(zhuǎn)換加速器與該局域網(wǎng)絡(luò)及該廣域網(wǎng)絡(luò)的傳送數(shù)據(jù)。
2.如權(quán)利要求1所述的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,上述的第一處理器包含至少一比較引擎,同時(shí)將一信息包的一表頭的地址與端口數(shù)據(jù)與一網(wǎng)絡(luò)地址轉(zhuǎn)換表進(jìn)行比對(duì)以得到相對(duì)應(yīng)的一地址與端口數(shù)據(jù);以及一取代引擎,依該相對(duì)應(yīng)的地址與端口數(shù)據(jù)將該信息包的該表頭的數(shù)據(jù)進(jìn)行取代動(dòng)作。
3.如權(quán)利要求2所述的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,上述的網(wǎng)絡(luò)地址轉(zhuǎn)換表包含虛擬信息(masquerading information)及私人信息(private information)。
4.如權(quán)利要求3所述的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,上述的網(wǎng)絡(luò)地址轉(zhuǎn)換表的私人信息的端口的順序依傳送至廣域網(wǎng)絡(luò)的一目的地的端口來(lái)排序。
5.如權(quán)利要求2所述的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,上述的網(wǎng)絡(luò)地址轉(zhuǎn)換表的復(fù)數(shù)個(gè)個(gè)體(entries)數(shù)據(jù)分割成與該至少一比較引擎數(shù)目相等的數(shù)量。
6.如權(quán)利要求5所述的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,上述的至少一比較引擎一對(duì)一對(duì)應(yīng)于該分割的網(wǎng)絡(luò)地址轉(zhuǎn)換表的復(fù)數(shù)個(gè)個(gè)體,并同時(shí)進(jìn)行查詢。
7.如權(quán)利要求6所述的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,上述的查詢的時(shí)間少于一含數(shù)據(jù)最少一信息包完整儲(chǔ)存于一存儲(chǔ)器的時(shí)間;其中該最糟糕情況為該信息包包含一60字節(jié)的表頭、一二字節(jié)的數(shù)據(jù)及一四字節(jié)的除錯(cuò)碼。
8.如權(quán)利要求2所述的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,更包含至少一傳送引擎,該傳送引擎有刪除與增加的功能,使該信息包在一以太網(wǎng)絡(luò)(etherent)與一點(diǎn)對(duì)點(diǎn)(point-to-point,PPP)區(qū)域間傳送時(shí),可刪除或增加該信息包的以太網(wǎng)絡(luò)上的點(diǎn)對(duì)點(diǎn)表頭(PPPoEHeader)。
9.如權(quán)利要求2所述的網(wǎng)絡(luò)地址轉(zhuǎn)換加速器,其特征在于,上述的至少一比較引擎,在該信息包為一不連續(xù)信息包(fragmentpacket)時(shí),不去比較該信息包的端口的數(shù)值。
10.一種網(wǎng)絡(luò)地址轉(zhuǎn)換加速的方法,其特征在于,包含用一比較法,將一信息包的一表頭的地址與端口數(shù)據(jù)與一網(wǎng)絡(luò)地址轉(zhuǎn)換表進(jìn)行比對(duì)以得到相對(duì)應(yīng)的一地址與端口數(shù)據(jù);以及用一取代法,依該相對(duì)應(yīng)的地址與端口數(shù)據(jù)將該信息包的該表頭的數(shù)據(jù)進(jìn)行取代動(dòng)作。
全文摘要
使用軟件處理網(wǎng)絡(luò)地址轉(zhuǎn)換經(jīng)常會(huì)因處理速率不及網(wǎng)絡(luò)的傳輸而使數(shù)據(jù)的儲(chǔ)存速率受到影響,本發(fā)明利用硬件來(lái)處理網(wǎng)絡(luò)地址轉(zhuǎn)換,并可根據(jù)環(huán)境設(shè)計(jì)多個(gè)比較引擎加快網(wǎng)絡(luò)地址轉(zhuǎn)換,使即使在最糟糕的情況,信息包的網(wǎng)絡(luò)地址轉(zhuǎn)換的時(shí)間仍快于信息包儲(chǔ)存至存儲(chǔ)器所需的時(shí)間,故可確保網(wǎng)絡(luò)地址轉(zhuǎn)換的動(dòng)作不影響網(wǎng)絡(luò)的數(shù)據(jù)傳輸。
文檔編號(hào)G06F12/10GK1431600SQ0310359
公開日2003年7月23日 申請(qǐng)日期2003年1月29日 優(yōu)先權(quán)日2003年1月29日
發(fā)明者江明融, 莊智傑, 陳俊裕, 李俊男, 張恒愷 申請(qǐng)人:華邦電子股份有限公司