專利名稱:處理私有網(wǎng)路經(jīng)ip切割的封包的閘道器系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于閘道器傳遞經(jīng)IP切割的封包的技術(shù),尤指一種處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng)及方法。
背景技術(shù):
一般在IP網(wǎng)路中,當(dāng)一封包送到IP層時,若其封包長度大于最大傳遞單元(Maximum Transmission Unit,MTU)時,必須經(jīng)過IP切割(IPFragmentation)后方能透過介面?zhèn)鬟f,圖1A顯示一封包經(jīng)過IP切割后所形成的三個IP封包,圖1B顯示該三個IP封包的識別欄位(Identification)、及來源位置欄位(Source Address)為相同的值,以表示該三個IP封包是由同一封包經(jīng)過IP切割而獲得,而旗標(biāo)欄位(Flags)中的MF(More Fragments)比特為“1”表該IP封包還有后續(xù)同一組被切割的IP封包,為“0”表該IP封包并無后續(xù)同一組被切割的IP封包,切割位移欄位(Fragment Offset)表該IP封包資料在該未經(jīng)IP切割的封包內(nèi)的位移,經(jīng)切割后的一組封包中的第一IP封包的切割位移欄位為0,故由上述的欄位值,目的端的機器便能順利地重組該封包。
由于網(wǎng)際網(wǎng)路上的機器迅速增加,合法的IP地址不敷使用,故一般在私有網(wǎng)路與網(wǎng)際網(wǎng)路之間是使用一NAPT閘道器(NAPT Gateway)來進行地址的轉(zhuǎn)換,其在進行封包繞送時是采用NAPT(Network Addressand Port Translation)轉(zhuǎn)換方式,來讓私有網(wǎng)路中的多臺機器共享一個合法的IP地址,然而,某些NAPT閘道器無法正確處理由私有網(wǎng)路送出經(jīng)過IP切割的封包,或是當(dāng)私有網(wǎng)路中的兩臺機器剛好同時送出經(jīng)IP切割的封包具有相同的識別欄位(Identification)及目的地址時,由圖2顯示一位于私有網(wǎng)路的第一機器10欲傳送一經(jīng)過IP切割后所形的三個IP封包至第三機器30,該三個IP封包有相同的識別欄位(Identification)及來源地址欄位(Source Address)的值,以表示該三個IP封包是由同一封包經(jīng)過IP切割而獲得,而經(jīng)由該NAPT閘道器50繞送該三個IP封包時,當(dāng)該閘道器收到被IP切割的第一封包時,依一般NAPT轉(zhuǎn)換規(guī)則處理,而將該封包的來源地址、來源接口、目的地址、目的接口、轉(zhuǎn)換的閘道器合法地址及轉(zhuǎn)換的來源接口予以記錄至一NAPT表格的一NAPT項目中,將該封包的來源地址予以轉(zhuǎn)換為該閘道器地址并轉(zhuǎn)換來源接口。
然而,同時若有另一位于該私有網(wǎng)路的第二機器20欲傳送一組經(jīng)IP切割的封包至第三機器30,該組封包的識別欄位(Identification)是由該第二機器20所指定,若其識別欄位值恰巧與第一機器10欲傳送至第三機器30的封包的識別欄位相同值時,經(jīng)由該NAPT閘道器轉(zhuǎn)換后,該組封包的IP標(biāo)頭(IP Header)將具有與機器10送出那組經(jīng)IP切割的封包相同的來源位置欄位值及識別欄位值,該目的端的第三機器30將無法分辨機器10及機器20二者送出經(jīng)IP切割的封包,做出正確的重組,亦無法對該第一機器10及第二機器20做出正確的反應(yīng),導(dǎo)致目的端機器在收到封包時會產(chǎn)生混淆而無法正確處理的情形,此時會產(chǎn)生問題,因此,故現(xiàn)有NAPT閘道器的設(shè)計實有予以改進的必要。
發(fā)明人爰因于此,本于積極發(fā)明的精神,亟思一種可以解決上述問題的“處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng)及方法”,幾經(jīng)研究實驗終至完成此項發(fā)明。
發(fā)明內(nèi)容
本發(fā)明的主要自的是在提供一種處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng)及方法,能解決前述現(xiàn)有技術(shù)的各種無法正確處理經(jīng)IP切割的封包的缺點,及由私有網(wǎng)路的二機器同時發(fā)送具有相同識別欄位值的IP切割封包的問題。
依據(jù)本發(fā)明的一特色,是提出一種處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng)及方法,是能解決由私有網(wǎng)路的機器傳遞經(jīng)IP切割封包到網(wǎng)際網(wǎng)路的問題,及由私有網(wǎng)路的二機器同時發(fā)送經(jīng)IP切割且IP標(biāo)頭(IPHeader)具有相同識別欄位值的封包組到網(wǎng)際網(wǎng)路同一機器的問題,該方法其包括下述步驟(A)當(dāng)該閘道器收到由私有網(wǎng)路傳來某一組被IP切割的第一封包時,依一般NAPT轉(zhuǎn)換規(guī)則處理,而將該封包的來源地址、來源接口、目的地址、目的接口、轉(zhuǎn)換后的來源接口、及閘道器的合法地址予以記錄至一NAPT表格的一NAPT項目中,并將該封包的來源地址、IP識別及該NAPT項目的索引予以記錄至一切割表格的一切割項目中;(B)將該封包上的IP識別變更為對應(yīng)該封包的切割表格的切割項目的索引值;(C)當(dāng)同一組經(jīng)IP切割的封包經(jīng)過該閘道器時,以該封包上的來源地址、IP識別來查詢該封包切割表格,以找出對應(yīng)的切割項目,由該切割項目所記錄的NAPT索引值,擷取該NAPT表格的對應(yīng)NAPT項目,再依據(jù)該NAPT項目,將該封包的來源地址予以轉(zhuǎn)換為該閘道器的合法地址;以及(D)將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值。
其中,于步驟(A)中,還將該封包的存取時間記錄至該NAPT項目中。
其中還包含一步驟(E)以將新的存取時間寫入該NAPT項目。
其中,于步驟(D)中,是將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值加上一固定值。
其中還包含一步驟(E)以當(dāng)同一組經(jīng)IP切割的最后一個封包經(jīng)過該閘道器處理后,或是該閘道器逾時未收到同一組經(jīng)IP切割的其他封包時,將該封包切割表格中對應(yīng)的切割項目予以回收。
依據(jù)本發(fā)明的另一特色,是提出一種處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng),是能解決由私有網(wǎng)路的機器傳遞經(jīng)IP切割封包到網(wǎng)際網(wǎng)路的問題,及由私有網(wǎng)路的二機器同時發(fā)送經(jīng)IP切割且IP標(biāo)頭(IPHeader)具有相同識別欄位值的封包組到網(wǎng)際網(wǎng)路同一機器的問題,其主要包括位于私有網(wǎng)路中第一機器、第二機器及位于一網(wǎng)際網(wǎng)路的第三機器,該第一機器及第二機器可將欲透過網(wǎng)路傳送至該第三機器的封包經(jīng)IP切割為一組復(fù)數(shù)個封包后,再予以傳送;以及,至少一在該私有網(wǎng)路與綱際網(wǎng)路之間的閘道器,以將由一資料流所傳送來的該組被IP切割的復(fù)數(shù)個封包導(dǎo)向該第三機器;其中,當(dāng)該閘道器收到某一組被IP切割的第一封包時,依一般NAPT轉(zhuǎn)換規(guī)則處理,而將該封包的來源地址、來源接口、目的地址、目的接口、轉(zhuǎn)換的閘道器合法地址及轉(zhuǎn)換后來源接口予以記錄至一NAPT表格的一NAPT項目中,并將該封包的來源地址、IP識別及該NAPT項目的索引予以記錄至一切割表格的一切割項目中,并將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值;之后,當(dāng)同一組經(jīng)IP切割的封包經(jīng)過該閘這器時,以該封包上的來源地址、、IP識別來查詢該封包切割表格,以找出對應(yīng)的切割項目,由該切割項目所記錄的NAPT索引值,擷取該NAPT表格的對應(yīng)NAPT項目,依據(jù)該NAPT項目,將該封包的來源地址予以轉(zhuǎn)換為閘道器合法地址,以及將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值。
其中,當(dāng)收到被IP切割的第一封包時,該閘道器亦將該封包的存取時間記錄至該NAPT項目中。
其中,當(dāng)同一組經(jīng)IP切割的封包經(jīng)過時,該閘道器亦將新的存取時間寫入該切割項目。
其中,當(dāng)同一組經(jīng)IP切割的封包經(jīng)過時,該閘道器是將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值加上一固定值。
其中,當(dāng)同一組經(jīng)IP切割的最后一個封包經(jīng)過該閘道器處理后,或是該閘道器逾時未收到同一組經(jīng)IP切割的其他封包時,該閘道器將該封包切割表格中對應(yīng)的切割項目予以回收。
由于本發(fā)明構(gòu)造新穎,能提供產(chǎn)業(yè)上利用,且確有增進功效,故依法申請發(fā)明專利。
圖1A是一資料封包經(jīng)由IP切割的示意圖;圖1B是一該IP切割后的封包組IP標(biāo)頭各欄位示意圖;圖2是已知NAPT閘道器所可能產(chǎn)生問題的示意圖;圖3是本發(fā)明閘道器傳遞經(jīng)IP切割封包的方法的流程圖;圖4是本發(fā)明傳遞方法中NAPT表格及切割表格的格式示意圖;圖5是本發(fā)明傳遞方法的封包傳送過程欄位轉(zhuǎn)換示意圖。
具體實施例方式
有關(guān)本發(fā)明的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng)及方法的一較佳實施例,請先參照圖5所示的系統(tǒng)運用架構(gòu)圖,其中包括位于一私有網(wǎng)路中第一機器10及第二機器20、在該私有網(wǎng)路與網(wǎng)際網(wǎng)路之間使用本發(fā)明的NAPT閘道器(NAPT Gateway)50及位于一網(wǎng)際網(wǎng)路的第三機器30,該第一機器10及第二機器20可將欲透過網(wǎng)路傳送至該第三機器30的封包經(jīng)IP切割(IP fragmentation)為一組復(fù)數(shù)個封包后,再予以傳送,該NAPT閘道器50將由一資料流所傳送來的該組被切割的復(fù)數(shù)個封包導(dǎo)向該第三機器30。
圖3是顯示該閘道器50傳遞經(jīng)IP切割的封包方法的流程圖,首先,于步驟S301中,該閘道器50判斷是否一資料流收到一被IP切割的封包,如是則再判斷該收到的封包是否為一被IP切割的封包組中的第一封包(步驟S302),其中,如該封包的切割位移欄位(FragmentOffset)的值為0,且旗標(biāo)(Flags)欄位中的MF(More Fragment)比特為1時,表該封包為該被IP切割的封包組中的第一封包,若切割位移欄位不為0時,則表該封包不是該被IP切割的封包組中的第一封包。
當(dāng)步驟S302判定該封包為一被IP切割的封包組中的第一封包時,則執(zhí)行步驟S303依一般NAPT轉(zhuǎn)換規(guī)則處理,而將該封包的來源地址(Source Address)、來源接口(Source Port)、存取時間,轉(zhuǎn)換的閘道器50的合法地址、轉(zhuǎn)換后來源接口、目的地址、目的接口予以記錄至一NAPT表格的一NAPT項目中,并于步驟S304將該封包的來源地址、IP識別、存取時間及該NAPT項目的索引予以記錄至一切割表格的一切割項目中如圖4所示。
于步驟S305將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值,該封包上的來源地址變更為該轉(zhuǎn)換的閘道器50的地址,該封包上的來源接口變更為該轉(zhuǎn)換后來源接口。
若于步驟S302中判定該封包不為一被IP切割的封包組中的第一封包時,則執(zhí)行步驟S306以該封包上的來源地址、IP識別來查詢該封包切割表格,以找出對應(yīng)的切割項目,由該切割項目所記錄的NAPT索引值,擷取該NAPT表格的對應(yīng)NAPT項目,于步驟S307依據(jù)該NAPT項目,將該封包的來源地址予以轉(zhuǎn)換為閘道器合法地址;于步驟S308將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值,并將新的存取時間寫入該NAPT項目。
步驟S309判斷該收到的封包是否為該被IP切割的封包組中的最后一個封包,其是以檢視該封包的IP封包標(biāo)頭(IP haed)中的旗標(biāo)(Flags)欄位的MF(More Fragments)比特,若該MF比特為“0”表該IP封包并無后續(xù)的IP封包而為最后一個封包,若步驟S309判定該收到的封包為該被IP切割的封包組中的最后一個封包時,則該閘道器50刪除該組封包在切割表格的記錄(步驟S310),若步驟S309判定該收到的封包不為該被IP切割的封包組中的最后一個封包,則至步驟S301繼續(xù)等待接收封包。
又當(dāng)步驟S301判定沒有收到封包時,如已逾一時間仍未收到同一組IP切割的其他封包(步驟S311),則表示封包傳遞發(fā)生錯誤,故直接執(zhí)行步驟S310,以刪除該組封包在切割表格的記錄。
圖5是顯示依據(jù)本發(fā)明的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器的方法的封包傳送過程示意圖,在圖5中第一機器10及第二機器20同時所傳送經(jīng)IP切割的封包其識別欄位的值相同,若由現(xiàn)有的NAPT閘道器傳遞該等封包至第三機器30時則會產(chǎn)生問題,然本發(fā)明的方法將第一機器10的識別欄位的值轉(zhuǎn)成0001,第二機器20的識別欄位的值轉(zhuǎn)成0002而傳遞至第三機器30時,則無上述的問題。
綜上所述,本發(fā)明無論就目的、手段及功效,均異于現(xiàn)有技術(shù)的特征,為處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器的設(shè)計上的一大突破。惟應(yīng)注意的是,上述諸多實施例僅是為了便于說明而舉例而已,本發(fā)明所主張的權(quán)利范圍自應(yīng)以申請專利范圍所述為準,而非僅限于上述實施例。
權(quán)利要求
1.一種處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器的方法,其特征在于,主要包括下述步驟(A)當(dāng)該閘道器收到被IP切割的第一封包時,依一般NAPT轉(zhuǎn)換規(guī)則處理,而將該封包的來源地址、來源接口、目的地址、目的接口、轉(zhuǎn)換的閘道器合法地址及轉(zhuǎn)換后來源接口予以記錄至一NAPT表格的一NAPT項目中,并將該封包的來源地址、IP識別及該NAPT項目的索引予以記錄至一切割表格的一切割項目中;(B)將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值;(C)當(dāng)同一組經(jīng)IP切割的封包經(jīng)過該閘道器時,以該封包上的來源地址、IP識別來查詢該封包切割表格,以找出對應(yīng)的切割項目,由該切割項目所記錄的NAPT索引值,擷取該NAPT表格的對應(yīng)NAPT項目,依據(jù)該NAPT項目,將該封包的來源地址予以轉(zhuǎn)換為閘道器合法地址;以及(D)將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值。
2.如權(quán)利要求1所述的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器的方法,其特征在于,其中,于步驟(A)中,還將該封包的存取時間記錄至該NAPT項目中。
3.如權(quán)利要求2所述的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器的方法,其特征在于,其中還包含一步驟(E)以將新的存取時間寫入該NAPT項目。
4.如權(quán)利要求1所述的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器的方法,其特征在于,其中,于步驟(D)中,是將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值加上一固定值。
5.如權(quán)利要求2所述的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器的方法,其特征在于,其中還包含一步驟(E)以當(dāng)同一組經(jīng)IP切割的最后一個封包經(jīng)過該閘道器處理后,或是該閘道器逾時未收到同一組經(jīng)IP切割的其他封包時,將該封包切割表格中對應(yīng)的切割項目予以回收。
6.一種處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng),其特征在于,主要包括一位于網(wǎng)際網(wǎng)路的第一機器;至少一位于私有網(wǎng)路的第二機器,其可向該第一機器傳送經(jīng)IP切割的封包;以及一NAPT閘道器,其位于該私有網(wǎng)路與網(wǎng)際網(wǎng)路之間,以轉(zhuǎn)換該第二機器所發(fā)經(jīng)IP切割的封包,傳向該第一機器;其中,當(dāng)該閘道器收到被IP切割的第一封包時,將該封包的來源地址、來源接口、目的地址、目的接口、轉(zhuǎn)換的閘道器合法地址及轉(zhuǎn)換后來源接口予以記錄至一NAPT表格的一NAPT項目中,并將該封包的來源地址、IP識別及該NAPT項目的索引予以記錄至一切割表格的一切割項目中,再將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值;之后,同一組經(jīng)IP切割的封包經(jīng)過該閘道器時,以該封包上的來源地址、IP識別來查詢該封包切割表格,來找出對應(yīng)的切割項目,由該切割項目所記錄的NAPT索引值,擷取該NAPT表格的對應(yīng)NAPT項目,并依據(jù)該NAPT項目,將該封包的來源地址予以轉(zhuǎn)換為閘道器合法地址,且將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值。
7.如權(quán)利要求6所述的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng),其特征在于,其中,當(dāng)收到被IP切割的第一封包時,該閘道器亦將該封包的存取時間記錄至該NAPT項目中。
8.如權(quán)利要求7所述的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng),其特征在于,其中,當(dāng)同一組經(jīng)IP切割的封包經(jīng)過時,該閘道器亦將新的存取時間寫入該切割項目。
9.如權(quán)利要求6所述的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng),其特征在于,其中,當(dāng)同一組經(jīng)IP切割的封包經(jīng)過時,該閘道器是將該封包上的IP識別變更為對應(yīng)該封包的切割項目的索引值加上一固定值。
10.如權(quán)利要求6所述的處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng),其特征在于,其中,當(dāng)同一組經(jīng)IP切割的最后一個封包經(jīng)過該閘道器處理后,或是該閘道器逾時未收到同一組經(jīng)IP切割的其他封包時,該閘道器將該封包切割表格中對應(yīng)的切割項目予以回收。
全文摘要
處理私有網(wǎng)路經(jīng)IP切割的封包的閘道器系統(tǒng)及方法,當(dāng)一閘道器由私有網(wǎng)路收到一資料流經(jīng)IP切割的第一封包時,依一般NAPT轉(zhuǎn)換規(guī)則處理,將封包的相關(guān)資料、轉(zhuǎn)換的閘道器地址及轉(zhuǎn)換后的來源接口記錄至一NAPT表格的一NAPT項目錄至一切割表格的一切割項目中,及將封包上的IP識別變更為對應(yīng)封包的切割表格的切割項目的索引值;當(dāng)同一組經(jīng)IP切割的其他封包經(jīng)過閘道器時,以封包上的資料來查詢封包切割表格,以找出對應(yīng)的切割項目,由切割項目所記錄的NAPT索引值,擷取NAPT表格的對應(yīng)NAPT項目,依據(jù)該NAPT項目記錄,將封包來源地址轉(zhuǎn)換為閘道器地址及將封包的IP識別變更為對應(yīng)封包的切割表格的切割項目的索引值。
文檔編號H04L29/12GK1505346SQ0215439
公開日2004年6月16日 申請日期2002年12月4日 優(yōu)先權(quán)日2002年12月4日
發(fā)明者林軍鼐 申請人:財團法人資訊工業(yè)策進會