專利名稱:分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)地址轉(zhuǎn)換方法,更具體的說,本發(fā)明涉及一種分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法。
背景技術(shù):
網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT,Network Address Translation)是一個Internet工程任務(wù)組(Internet Engineering Task Force,IETF)標準,用于允許專用網(wǎng)絡(luò)上的多臺PC(使用專用地址段,例如10.0.x.x、192.168.x.x、172.x.x.x)共享單個、全局路由的IPv4地址,NAT-PT過渡機制則是解決IPv4主機和IPv6主機互訪的問題而提出IPv6過度技術(shù)中的一種,在RFC2766--Network AddressTranslation-Protocol Translation(NAT-PT)、RFC2765--Stateless IP/ICMPTranslation Algorithm(SIIT)中定義了IPv6和IPv4節(jié)點互訪時的地址分配方法,當IPv6節(jié)點開始訪問IPv4節(jié)點時,NAT-PT從其IPv4地址緩沖池中為IPv6節(jié)點動態(tài)地分配一個IPv4地址。NAT-PT通過對IPv6和IPv4地址的翻譯、綁定,在無需對節(jié)點做改動的情況下,為IPv6和IPv4域中節(jié)點的相互通信提供了透明的路由。這要求NAT-PT能跟蹤所建立的通信會話,并且屬于該會話的數(shù)據(jù)包要通過同一個NAT-PT設(shè)備。
通常NAT轉(zhuǎn)換包括兩種基本的轉(zhuǎn)換模式基于NAT-PT的工作機制和基于NAPT-PT工作機制,其中基于NAT-PT的工作機制進行網(wǎng)絡(luò)地址轉(zhuǎn)換時,網(wǎng)關(guān)設(shè)備只轉(zhuǎn)換IP地址,不對TCP、UDP端口進行轉(zhuǎn)換,具體轉(zhuǎn)換關(guān)系包括IPv6源地址到IPv4源地址的轉(zhuǎn)換;IPv6目的地址到IPv4目的地址的轉(zhuǎn)換,通常IPv6地址直接采用采用PREFIX::IPv4方式,而不需要專門指定一個純IPv6地址。
上述NAT-PT模式中,源地址必須從網(wǎng)絡(luò)地址轉(zhuǎn)換的網(wǎng)關(guān)設(shè)備IPv4地址池中占用一個IPv4地址,但當?shù)刂烦刂械腎Pv4地址分配完時,網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備不能再為另外的IPv6節(jié)點提供對IPv4節(jié)點的訪問,基于NAPT-PT的網(wǎng)絡(luò)地址轉(zhuǎn)換解決了這個問題,具體的,NAPT-PT模式中通過網(wǎng)絡(luò)地址、端口翻譯和協(xié)議翻譯,能使多個IPv6節(jié)點只使用地址緩沖池中的一個IPv4地址和外部的IPv4節(jié)點進行透明的通信。IPv6節(jié)點的TCP/UDP端口號被翻譯成已分配的IPv4地址的TCP/UDP端口號。通過對傳輸層端口的復(fù)用,理論上基于NAPT-PT模式能在一個IPv4地址上支持63K個TCP和63K個UDP連接,實際應(yīng)用中因為知名端口、保留端口的存在,每個IPv4地址支持的連接數(shù)目會小一些,具體轉(zhuǎn)換關(guān)系包括IPv6源地址+端口號到IPv4源地址+端口號的轉(zhuǎn)換;IPv6目的地址+端口號到IPv4目的地址+端口號的轉(zhuǎn)換,通常IPv6地址直接采用采用PREFIX::IPv4方式,不占用專門的IPv4或者IPv6地址,同時由于有很多知名端口存在,所以在IPv6主機訪問IPv4主機的NAPT-PT方式中,對于目的地址通常還是只做IPv6目的地址到IPv4目的地址的轉(zhuǎn)換,而不轉(zhuǎn)換端口。
目前,在包交換網(wǎng)絡(luò)的物理層要限制每次發(fā)送數(shù)據(jù)幀的最大長度(通過限定報文傳輸?shù)淖畲髠鬏攩卧狹TU),不同的物理層MTU大小不一致,這樣就導致了傳送的IP報文可能大于最大傳輸單元,為了可以傳輸數(shù)據(jù),當IP層發(fā)送報文時,需要檢查出接口的MTU,當發(fā)現(xiàn)報文大于本地出口鏈路MTU時,需要將IP數(shù)據(jù)包分片,分成符合MTU大小的分片報文,到達數(shù)據(jù)流的終點,再將所述的分片報文進行重組恢復(fù)原始發(fā)送報文。
現(xiàn)有技術(shù)中由于分片報文中只有第一個分片報文中(稱為分片報文的首報文)包含有TCP/UDP端口號的信息,后續(xù)分片報文沒有TCP/UDP端口號信息。在現(xiàn)有的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備中,基于NAT-PT和NAPT-PT兩種不同方式,對分片報文提供了不同的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,對于基于NAT-PT工作模式進行網(wǎng)絡(luò)地址轉(zhuǎn)換的,由于采用源/目的IP地址、協(xié)議號三元組進行翻譯,不需要TCP/UDP端口號,所以這種方式中對于分片報文,無論是否攜帶TCP/UDP信息均可以正常翻譯,不需要特殊處理。
而基于NAPT-PT模式進行網(wǎng)絡(luò)地址轉(zhuǎn)換時,采用源/目的IP地址、源/目的端口號、協(xié)議號五元組進行翻譯,由于分片報文中只有首報文包括TCP/UDP端口號,后續(xù)報文不包括TCP/UDP端口號,對后續(xù)報文進行網(wǎng)絡(luò)地址轉(zhuǎn)換時無法查到對應(yīng)的映射關(guān)系,所以對于分片報文不能進行翻譯,而是直接丟棄,這會導致某些業(yè)務(wù)中斷,另外,由于在IPv4網(wǎng)絡(luò)中不能探測路徑MTU,所以IPv4終端只會按照本機的出口MTU對報文分片,而無法給IPv4終端反饋分片報文在途中被丟棄,IPv4終端還會繼續(xù)發(fā)送分片報文,這會導致無用流量占用網(wǎng)絡(luò)帶寬。
發(fā)明內(nèi)容
本發(fā)明解決的技術(shù)問題是提供一種分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,以防止分片報文在進行網(wǎng)絡(luò)地址轉(zhuǎn)換時被丟棄,避免業(yè)務(wù)中斷,降低無用流量占用網(wǎng)絡(luò)帶寬。
為解決上述問題,本發(fā)明的分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,包括a、接收分片報文;b、判斷所述分片報文是否為分片報文的首報文,若判斷為是,執(zhí)行c,否則,判斷所述分片報文為分片報文首報文后的后續(xù)報文,執(zhí)行d;c、對所述分片報文的首報文按照源目的地址、源目的端口號、分片標識以及協(xié)議號六元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換并保存對應(yīng)的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系;d、查找保存的所述網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系,按照所述保存的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系中的源目的地址、分片標識以及協(xié)議號四元組對所述分片報文首報文后的后續(xù)報文進行網(wǎng)絡(luò)地址轉(zhuǎn)換。
其中,步驟d查找保存的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系之前還包括d1、檢測分片報文的首報文的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系是否存在,若是,則執(zhí)行d,否則,丟棄報文。
優(yōu)選地,步驟d1丟棄報文之前還包括等待預(yù)設(shè)的時間后繼續(xù)檢測分片報文的首報文的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系是否存在,若存在,則執(zhí)行d,否則,丟棄報文。
其中,所述網(wǎng)絡(luò)地址轉(zhuǎn)換可為IPv4網(wǎng)絡(luò)地址到IPv6網(wǎng)絡(luò)地址的轉(zhuǎn)換。
其中,所述網(wǎng)絡(luò)地址轉(zhuǎn)換可為IPv6網(wǎng)絡(luò)地址到IPv4網(wǎng)絡(luò)地址的轉(zhuǎn)換。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果本發(fā)明中對分片報文的首報文按照源目的地址、源目的端口號、分片標識以及協(xié)議號六元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換并保存對應(yīng)的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系;對分片報文首報文后的后續(xù)報文僅需通過查找保存的所述網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系,按照所述保存的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系中的源目的地址、分片標識以及協(xié)議號四元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換。可保證分片報文在進行網(wǎng)絡(luò)地址轉(zhuǎn)換時不會被丟棄,也避免了某些業(yè)務(wù)由于分片報文丟棄而中斷,同時也可以降低無用流量占用網(wǎng)絡(luò)帶寬。
圖1是現(xiàn)有技術(shù)中IPv4的報文頭結(jié)構(gòu)示意圖;圖2是現(xiàn)有技術(shù)中IPv6基本報文頭結(jié)構(gòu)示意圖;圖3是現(xiàn)有技術(shù)中IPv6分片擴展頭示意圖;
圖4是本發(fā)明分片報文進行網(wǎng)絡(luò)地址轉(zhuǎn)換的方法流程圖。
具體實施例方式
請參考圖1、圖2及圖3,圖1是現(xiàn)有技術(shù)中IPv4的報文頭結(jié)構(gòu)示意圖,圖2是IPv6基本報文頭結(jié)構(gòu)示意圖,圖3是IPv6分片擴展頭示意圖,IPv4報文頭中包括分片標識、標志、片偏移三個和分片相關(guān)的字段,而IPv6中基本報文頭不攜帶分片信息,參見圖3,而是在IPv6擴展頭中提供了專門的分片頭,其中包括分片標識、下一個頭以及分段偏移等和分片相關(guān)的字段。
本發(fā)明中根據(jù)源目的地址相同的流中,同一個報文的所有分片標識唯一的特點,將映射五元組增加分片頭中的分片標識字段,組成映射六元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換,即對分片報文的首報文按照源目的地址、源目的端口號、分片標識以及協(xié)議號六元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換并保存對應(yīng)的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系,對分片報文首報文后的后續(xù)報文通過查找保存的所述網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系,按照所述保存的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系中的源目的地址、分片標識以及協(xié)議號四元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換,下面具體進行說明。
參考圖4,該圖是本發(fā)明分片報文進行網(wǎng)絡(luò)地址轉(zhuǎn)換的方法流程圖,具體包括如下步驟步驟11,接收報文;步驟12,檢測所接收報文是否為分片報文,若不是分片報文,則按照正常流程處理,若判斷為是分片報文,則繼續(xù)執(zhí)行步驟13;步驟13,判斷該分片報文是否為分片報文的首報文,若判斷為是分片報文的首報文,執(zhí)行步驟14,否則,判斷為是分片報文首報文的后續(xù)報文,執(zhí)行步驟16,步驟14,接收該分片報文的首報文,執(zhí)行步驟15;
步驟15,將所述分片報文的首報文按照源目的地址、源目的端口號、分片標識以及協(xié)議號六元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換并保存對應(yīng)的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系,執(zhí)行步驟16;步驟16,接收該分片報文首報文后的后續(xù)報文,執(zhí)行步驟17;步驟17,檢測分片報文的首報文的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系是否存在,若判斷為是,執(zhí)行步驟18,否則,等待預(yù)設(shè)的時間后繼續(xù)檢測分片報文的首報文的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系是否存在,若存在,執(zhí)行步驟18,否則,執(zhí)行步驟19;步驟18,查找保存的所述網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系,按照所述保存的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系中的源目的地址、分片標識以及協(xié)議號四元組對分片報文首報文后的后續(xù)報文進行網(wǎng)絡(luò)地址轉(zhuǎn)換;步驟19,丟棄報文。
下面以具體例子進行說明,轉(zhuǎn)換設(shè)備判斷出報文為分片報文的首報文時,建立網(wǎng)絡(luò)地址轉(zhuǎn)換的映射關(guān)系,以IPv6向IPv4轉(zhuǎn)換為例,具體如下IPv6 IPv4源地址1001::1源地址129.1.1.1目的地址1002::30.1.1.1 目的地址30.1.1.1源端口號3333 源端口號1025目的端口號23 目的端口號23協(xié)議號TCP協(xié)議號TCP分片標識1024 分片標識1024后續(xù)分片報文到達時,后續(xù)分片不包含端口號信息,本發(fā)明中按照后續(xù)分片報文的源目的IP地址、分片標識、協(xié)議號四元組查找首報文網(wǎng)絡(luò)地址轉(zhuǎn)換保存的映射關(guān)系進行翻譯,本實施例中具體按照如下四元組查找網(wǎng)絡(luò)地址轉(zhuǎn)換的映射關(guān)系源地址=1001::1and目的地址=1002::30.1.1.1and協(xié)議號=TCP and分片標識=1024若查找到對應(yīng)的映射關(guān)系,可確認該報文為上面首報文保存的映射關(guān)系的后續(xù)分片報文,采用上面首報文保存的IPv6和IPv4網(wǎng)絡(luò)地址轉(zhuǎn)換的映射關(guān)系進行翻譯。
對于IPv4向IPv6的轉(zhuǎn)換,本發(fā)明同樣可實現(xiàn),舉例說明,若IPv4向IPv6側(cè)轉(zhuǎn)換通過第一個分片報文建立如下映射關(guān)系IPv4IPv6源地址30.1.1.1源地址1002::30.1.1.1目的地址129.1.1.1 目的地址1001::1源端口號3333 源端口號1025目的端口號23 目的端口號23協(xié)議號TCP 協(xié)議號TCP分片標識1024 分片標識1024后續(xù)分片報文到達時,后續(xù)分片不包含端口號信息,本發(fā)明中按照后續(xù)分片報文的源目的IP地址、分片標識、協(xié)議號四元組查找首報文網(wǎng)絡(luò)地址轉(zhuǎn)換保存的映射關(guān)系進行翻譯,本實施例中具體按照如下四元組查找網(wǎng)絡(luò)地址轉(zhuǎn)換的映射關(guān)系源地址=30.1.1.1and目的地址=129.1.1.1and協(xié)議號=TCP and分片標識=1024若查找到對應(yīng)的映射關(guān)系,可確認該報文為上面首報文保存的映射關(guān)系的后續(xù)分片報文,采用上面首報文保存的IPv4和IPv6網(wǎng)絡(luò)地址轉(zhuǎn)換的映射關(guān)系進行翻譯。
以上所述僅為本發(fā)明的優(yōu)選實施方式,并不構(gòu)成對本發(fā)明保護范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護范圍之內(nèi)。
權(quán)利要求
1.一種分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,其特征在于,包括a、接收分片報文;b、判斷所述分片報文是否為分片報文的首報文,若判斷為是,執(zhí)行c,否則,判斷所述分片報文為分片報文首報文后的后續(xù)報文,執(zhí)行d;c、對所述分片報文的首報文按照源目的地址、源目的端口號、分片標識以及協(xié)議號六元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換并保存對應(yīng)的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系;d、查找保存的所述網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系,按照所述保存的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系中的源目的地址、分片標識以及協(xié)議號四元組對所述分片報文首報文后的后續(xù)報文進行網(wǎng)絡(luò)地址轉(zhuǎn)換。
2.根據(jù)權(quán)利要求1所述的分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,其特征在于,步驟d中查找保存的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系之前還包括d1、檢測分片報文的首報文的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系是否存在,若是,則執(zhí)行d,否則,丟棄報文。
3.根據(jù)權(quán)利要求2所述的分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,其特征在于,步驟d1丟棄報文之前還包括等待預(yù)設(shè)的時間后繼續(xù)檢測分片報文的首報文的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系是否存在,若存在,則執(zhí)行d,否則,丟棄報文。
4.根據(jù)權(quán)利要求1所述的分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,其特征在于,所述網(wǎng)絡(luò)地址轉(zhuǎn)換為IPv4網(wǎng)絡(luò)地址到IPv6網(wǎng)絡(luò)地址的轉(zhuǎn)換。
5.根據(jù)權(quán)利要求1所述的分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,其特征在于,所述網(wǎng)絡(luò)地址轉(zhuǎn)換為IPv6網(wǎng)絡(luò)地址到IPv4網(wǎng)絡(luò)地址的轉(zhuǎn)換。
全文摘要
本發(fā)明提供一種分片報文的網(wǎng)絡(luò)地址轉(zhuǎn)換方法,該方法包括接收分片報文;判斷所述分片報文是否為分片報文的首報文,若判斷為是,對所述分片報文的首報文按照源目的地址、源目的端口號、分片標識以及協(xié)議號六元組進行網(wǎng)絡(luò)地址轉(zhuǎn)換并保存對應(yīng)的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系;否則,判斷所述分片報文為分片報文首報文后的后續(xù)報文,查找保存的所述網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系,按照所述保存的網(wǎng)絡(luò)地址轉(zhuǎn)換映射關(guān)系中的源目的地址、分片標識以及協(xié)議號四元組對所述分片報文首報文后的后續(xù)報文進行網(wǎng)絡(luò)地址轉(zhuǎn)換。本發(fā)明可以防止分片報文在進行網(wǎng)絡(luò)地址轉(zhuǎn)換時被丟棄,避免業(yè)務(wù)中斷,降低無用流量占用網(wǎng)絡(luò)帶寬。
文檔編號H04L12/56GK1960316SQ20051010092
公開日2007年5月9日 申請日期2005年11月4日 優(yōu)先權(quán)日2005年11月4日
發(fā)明者陳洪飛, 張原 申請人:華為技術(shù)有限公司