專利名稱::在pat下實現pptpalg的方法
技術領域:
:本發明涉及數據通訊領域,并且特別地,設計一種在動態可重用網絡地址轉換(PAT/NAPT)下實現點對點隧道協議(PPTP)應用層網關(ApplicationLayerGateway,ALG)的方法。
背景技術:
:網絡地址轉換(NAT)纟支術是一種地址映射4支術,該:技術通常用于在子i或內具有私網IPi也址的主枳/沐問外部主才幾時,^!尋該主才幾的私網IP地址映射為一個外部唯一可識別的7>網IP地址;同時,將外部主才幾返回鄉會內部主片幾的z厶網IP;也址映射回內部標志該主4幾的私網IP地址,4吏得返回的翁:據包能夠正確到達內部目的主才幾。該才支術使得不同私有網絡可以使用相同的私有IP地址段而不會導致外部網絡的地址信息出現混亂,從而擴展了IP地址的應用范圍。NAT—^:可分為以下三種類型(1)靜、態NAT,內部私網IPi也址和7^網(Internet)IPi也址的映射是靜態——對應的,如果結合端口來實現靜態映射關系,就是端口重定向或靜態PAT/NAPT;(2)動態不可重用NAT,-使用公網IP地址池才支術,從^>網IP地址池中獲耳又一個可用的7>網IP地址進行轉換;在通信完畢之后,該/>網ip地址也#:釋》文回地址池中,在4吏用過程中,一個7>網ip只能有一個映射關系;(3)動態可重用NAT(PAT/NAPT),與動態不可重用才莫式相比,通信的映射是通過IP地址和端口號的組合來完成的。通過應用對內部網與外部網之間的服務進行轉發的設備,稱為應用層網關(ApplicationLayerGateway,ALG)。另外,在相關技術中,點對點隧道協議(PPTP)是廣泛使用的虛擬專用網絡協議(有關PPTP的詳細描述見RFC2367,這里不進行詳細描述),其用于在IP網絡上建立PPP會話隧道,并且在Windows98、WindowsMillenniumEdition、Windows2000、以及WindowsXP等中都包含有該協議。PPTP是用于在中間網絡上傳輸點對點協議(PPP)幀的一種隧道才幾制。在這種配置下,PPTP隧道和PPP會話運行在兩個相同的機器上,呼叫方充當PPTP網絡服務器(PNS)。通過利用PPP的身^f分-驗^正、加密、和協i義配置才幾制,PPTP連接同時為遠程訪問和路由器到路由器的虛擬專用網(VPN)連接提供了一條在公共網絡(例如,Internet)上創建安全連接的途徑。PPTP報文可分為控制報文、管理報文、和數據報文。控制報文和管理報文本身都是TCP報文。管理報文在目前的RFC文檔中還沒有給出具體定義;控制報文可分為15種,其格式大致相同,具體信息如表l所示。此外,數據報文采用修改過的GRE封裝方式。<table>tableseeoriginaldocumentpage6</column></row><table><table>tableseeoriginaldocumentpage7</column></row><table>表1由于PPTP數據報文中沒有端口號信息,因此,在采用PAT方式時就存在以下問題由于數據才艮文無法得到類似TCP/UDP的端口號,所以在PAT方式下無法查找轉換信息并進行轉換;并且,要經過啟用NAT的^各由器時,實現以PPTP協議建立VPNP遂道的功能,就需要為每個撥號客戶單獨分配一個公網地址,這顯然是不合適的。目前,尚未提出能夠解決上述問題的技術方案。
發明內容考慮到上述問題而做出本發明,為此,本發明的主要目的在于才是供一種在動態可重用網絡;也址轉才灸下實3見點對點隧道妨、i義應用層網關的方案,以解決路由器在啟用了動態可重用網絡地址轉換規則時,無法經由該路由器利用點對點隧道協議建立虛擬專用網的問題,并且不需要為每個點對點隧道協i義撥號都單獨分配一個Z^網IP地址。根據本發明的實施例,提供了一種在動態可重用網絡地址轉換下實3見點-寸點隧道十辦-漢應用層網關的方法。該方法包括根據接收到的報文頭中的協議字段確定報文的類型,其中,報文的類型包括傳輸控制協議報文和IP數據報文;判斷傳輸控制協議報文是否是點對點隧道協議控制報文;以及判斷IP數據報文是否是點對點隧道協議數據報文;以及在判斷傳輸控制協議報文是點對點隧道協議控制報文的情況下,判斷組網方式,并才艮據組網方式的判斷結果確定是否^^換點對點隧道協議控制報文的呼叫ID;在判斷IP數據報文是點對點隧道協議數據報文的情況下,查找映射條目,并根據查找結果確定是否換點對點隧道協議數據報文的呼叫ID。其中,在判斷傳輸控制協議報文是點對點隧道協議控制報文的情況下,進一步包^:以下處理查找用于轉換點對點隧道協議控制凈艮文的IP地址和TCP端口的映射條目,并才艮據點對點隧道協議控制報文的類型、數據流向來判斷3各由器的組網方式;在組網方式為預定方式的情況下,判斷是否需要替換點對點隧道協議控制報文的呼叫ID;如果不需要替換點對點隧道協議控制報文的呼叫ID,則在點對點隧道協議控制報文為預定類型的情況下,通過索引鏈遍歷整個鏈,更新映射條目的使用情況;如果需要替換點對點隧道協議控制報文的呼叫ID,則查找是否存在對應的映射條目;在未找到映射條目的情況下,創建映射條目,將創建的映射條目加入到點對點隧道協議應用控制層條目的索引鏈中,并替換點對點隧道協議才艮文的呼叫ID;以及在組網方式不是預定方式的情況下,替換點對點隧道協議控制才艮文的IP地址和TCP端口。其中,組網方式的預定方式為點對點隧道仂4義網絡月良務器位于相對于路由器的私有網絡。并且,數據流向包括點對點隧道協議網絡服務器與點對點隧道協議接入集中器之間的數據流向。另夕卜,預定類型包括回顯請求消息和回顯應答消息。另一方面,在判斷IP數據報文是點對點隧道協議數據報文的情況下,進一步包4舌以下處理步駛《A,以IP地址和點對點隧道協i義端口查找映射條目;以及步驟B,如果查找到映射條目,則替換點對點隧道協議數據報文地IP地址;否則根據點對點隧道協議網絡月艮務器與對點隧道協議接入集中器之間的數據流向查找其它映射條目。其中,在步驟B中,在未查找到映射條目的情況下,進一步包括如果點對點隧道協議數據報文是由點對點隧道協議網絡服務器發送給點對點隧道協議集中接入器的,則查找地址管理方法中所保存的IP映射關系,并根據IP映射關系對點對點隧道協議數據報文的IP地址進行替換;以及如果點對點隧道協議數據報文是由點對點隧道協議集中接入器發送給點對點隧道協議網絡服務器的,則以點對點隧道協議數據報文中包含的點對點隧道協議網絡服務器的呼叫ID和IP地址來查找映射條目,并對點對點隧道協議數據報文的呼叫ID和IP地址進行替換。此外,點對點隧道妨4義端口為1723端口。通過本發明的上述4支術方案,解決了路由器在啟用了動態可重用網絡地址轉換規則時,無法利用點對點隧道協議經由該路由器建立虛擬專用網的問題;并且,不需要為每個點對點隧道協議撥號都單獨分配一個^>網IP:l也址;節省了要申請的外部7>網IP;也址,降<氐了組網的費用。此處所說明的附圖用來提供對本發明的進一步理解,構成本申請的一部分,本發明的示意性實施例及其說明用于解釋本發明,并不構成對本發明的不當限定。在附圖中例;一實例;圖3是才艮據本發明實施例的在動態可重用網絡地址轉換下實現PPTPALG的方法的流禾呈圖;法的組網示意圖;圖5是在PNS位于私網內部的情況下,在與其相連的i各由器上啟用PAT規則時,建立會話過程中PPTP控制才艮文在PPTPALG中的處理過程;以及圖6是在PNS位于私網內部的情況下,在與其相連的路由器上啟用PAT規則時,建立會話過程中PPTP控制才艮文在PPTPALG中的處理過禾呈。具體實施方式一個PPTP隧道中可以存在多個會話,會話可以由PNS主動發起,也可以由PAC主動發起。用于唯一標識會話的是一對CALLID,這對CALLID分別由PAC和PNS分配。不同的隧道中CALLID可以相同。因ot匕當不同的PNS撥號到同一個PAC時,PAC所分配的CALLID不會出現相同的情況,但PNS分配的CALLID可能出現相同的情況。對于PPTPALG,PPTP撥號的基本組網形式有兩種一種是PNS位于私網內部,PAC位于公網上,如圖1所示;另一種是PNS位于/>網上,而PAC位于私網內部,這種情況需要配置靜態PAT規則,將PAC的1723端口(PPTP專用)映射到某個乂>網地址的1723端口,見圖2所示。在圖1所示的組網環境中,當一個私網中有多個PNS撥號到外部的網絡,如果與該私網相連的路由器上啟用的是PAT規則,且配置的7>網IP地址池中只有一個公網IPi也址時,則不同PNS發出的PPTP報文在轉換后就使用了同一個公網IP地址。如果地址池中有多個7^網IP地址時,則有可能出現不同PNS發出的PPTP才艮文在轉換后使用同一個/>網IP地址情況。這種情況雖然對建立隧道不會有影響,但是對處理隧道中的會話就會產生影響。由于不同的隧道中的會話可以使用相同的CALLID,在建立會話后,路由器在處理PPTP數據報文就會出現混亂。PPTP數據報文中不含端口信息,當私網的不同PNS使用同一個CALLID時,路由器在收到PAC發給PNS的數據報文時,由于PPTP數據報文中的CALLID是由對端分配的(即由PNS分配的),就無法區分出該PPTP數據報文是屬于哪個p迭道叨(5個會^舌的。為了解決這個問題,就需要在處理PPTP數據報文時,有能區分這些會話的唯一標識。也就是說,由PAC發給PNS的PPTP數據報文中的CALLID對于整個私網來說應該是唯一的。要保i正這些PNS所分配互不相同,就需要在對PPTP報文進行PAT轉換時,也對PNS所分配的CALLID進行轉換,以保證PAC所得到的PNS的CALLID不沖突。在本實施例中,提供了一種在動態可重用網絡地址轉換下實現點對點隧道協議(PPTP)應用層網關(ALG)的方法。如圖3所示,根據本發明實施例的方法包括步驟S302,根據接收到的報文頭中的協議字段確定報文的類型,其中,報文的類型包括傳輸控制協議(TCP)報文和IP數據報文;步驟S304-2,判斷TCP報文是否是PPTP控制報文;步驟S304-4,判斷IP數據報文是否是PPTP數據報文;以及步驟S306-2,在判斷TCP報文是PPTP控制報文的情況下,判斷組網方式,并根據組網方式的判斷結果確定是否替換PPTP控制報文的CALLID;步驟S306-4,在判斷IP數據報文是PPTP數據報文的情況下,查找映射條目,并根據查找結果確定是否換PPTP數據報文的CALLID。其中,在判斷TCP報文是PPTP控制報文的情況下,進一步包^括以下處J里查找用于轉換PPTP控制報文的IP地址和TCP端口的映射條目,并根據PPTP控制報文的類型、數據流向來判斷路由器的組網方式;在組網方式為預定方式的情況下,判斷是否需要替換PPTP控制報文的CALLID;如果不需要S齊換PPTP控制報文的CALLID,則在點對點隧道協議控制報文為預定類型(回顯請求消息和回顯應答消息,echorequest/reply)的情況下,通過索引銀遍歷整個鏈,更新映射條目的使用情況;如果需要替才灸PPTP控制才艮文的CALLID,則查找是否存在對應的映射條目;在未找到映射條目的情況下,創建映射條目,將創建的映射條目力n入到PPTP應用控制層條目的索引鏈中,并替換PPTP凈艮文的CALLID;以及在組網方式不是預定方式的情況下,替換PPTP控制報文的IP;也址和TCP端口。其中,組網方式的預定方式為PNS位于相對于路由器的私有網絡。圖1示出了預定組網方式的實例.。如圖1所示,PNS位于私網內部,PAC位于公網上,與PNS相連的路由器上配置的是PAT規則。除了建立PPTP撥號外,PNS的用戶可以利用PATMJ!'j正常訪問外部網^",實王見其它類型的應用。并且,數據流向包括PNS與PAC之間的數據流向、以及控制報文在3各由器上NAT出/入接口之間的流向。另一方面,在判斷IP數據報文是PPTP數據報文的情況下,進一步包括以下處理步驟A,以IP地址和PPTP端口(即,固定的1723端口)查找映射條目;以及步驟B,如果查找到映射條目,則替換PPTP數據報文地IP地址;否則根據PNS與PAC之間的數據流向查4戈其它映射條目。其中,在步驟B中,在未查找到映射條目的情況下,進一步包括如果PPTP數據報文是由PNS發送給PAC的,則查找地址管理方法中所保存的IP映射關系,并根據IP映射關系對PPTP數據報文的IP地址進4于替換;以及如果PPTP數據報文是由PAC發送給PNS的,則以PPTP數據凈艮文中包含的PNS的CALLID和IP地址來查找映射條目,并對PPTP數據凈艮文的CALLID和IP地址進行替換。在PAT下實現PPTPALG的方法涉及PPTP4空制才艮文和PPTP數據凈艮文的不同處理。在實際處理過程中,PPTPALG對PPTP控制才艮文的處理可以是以下步驟第一步,以TCP端口來判斷是否是PPTP控制才艮文;第二步,查找用于轉換IP地址和TCP端口的映射條目;然后以控制報文類型、PNS和PAC之間數據流向、以及控制報文在路由器上NAT出/入接口之間的流向,來判斷其組網方式;第三步,如果是圖1所示的組網方式(即,PNS相對于路由器位于私有網絡),判斷是否需要替換控制報文的CALLID;否則執行第七步;第四步,如果不需要替換CALLID,則執行第六步;第五步,如果需要替換CALLID,則查找是否有對應的映射條目;沒找到映射條目時,創建該映射條目,并力口入到PPTPALG條目的索引鏈中;然后替才灸凈艮文的CALLID;第六步,如果是"echor叫uest/echoreply"消息,則通過索引鏈遍歷整個鏈,更新所有映射條目的使用情況,防止其老化;第七步替換控制報文的IP地址和TCP端口;其中,之所以采用防止老化的處理是因為由PAT關見則產生的地址和端口的映射條目,存在老化的問題p如果一個由PAT規則產生的映射條目,在經過一段時間沒有被使用到,該映射條目會被刪除掉,并釋放出所占用的端口資源。PPTP撥號連接成功后,會定時發送"echorequest/reply"控制報文,來保證隧道的正常連接。在收到"echorequest/r印ly,,后,由于這兩個才艮文不含CALLID信息,在NAT轉換過程中只會使用到用于TCP4艮文中IP地址和TCP端口轉換的映射條目,而無法查找到用于PNS所分配的CALLID轉換的映射條目。這樣在隧道中當超過NAT映射條目老化時間的內,如果沒有PPTP數據才艮文通過時,用于PNS所分配的CALLID轉換的映射條目就會^皮老化掉,而乂人造成該條目所對應的會話斷開。為了防止這個問題,在創建這些映射條目時,需要為它們建立起索引鏈。索引鏈的鏈頭就是用于TCP報文中IP地址和TCP端口轉換的映射條目,以后每建立一個會話所對應的用于PNS的CALLID轉換的條目,就將條目加入索引鏈的尾部。這樣路由器在處理"echor叫uest/reply,,控制才艮文時,就可以才艮據這個索引鏈來遍歷所有會話的相關條目,并在上面打上使用標志,來防止這些條目的老化。另一方面,實際處理過程中,PPTPALG對PPTP凄t據才艮文的處理可以是以下步艱《第一步,以IP數據包頭中協議類型和其它字段判斷是否是PPTP數據才艮文;第二步,如果是PPTP數據報文,以IP地址和固定的PPTP端口1723查找映射條目;第三步,如果找到映射條目,則替換PPTP數據報文的IP地址,然后轉發結束處理;第四步,如果沒找到條目,則根據PPTP數據報文在PNS和PAC之間流向查找所需要的映射條目。根據PPTP數據報文在PNS和PAC之間流向的判斷如下第五步,如果是PNS發給PAC的PPTP數據報文,則找到地址管理方法中所保存的IP映射關系,替換PPTP數據報文的IP地址,然后轉發結束處理;第六步,如果是PAC發給PNS的PPTP數據才艮文,則以PPTP數據報文中所含的PNS的CALLID和IP地址來找到相應的映射條目,替換CALLID和IP地址,然后轉發結束處理。應當理解,對于PPTP數據報文實現的上述處理對組網方式沒有類似于PPTP控制報文對組網方式的限制。即,處理可以在圖1所示的組網中實現對PPTP凄t據才艮文的處理之外,還可以在圖2所示的組網中實現對PPTP數據才艮文的處理。在圖2所示的組網中,PNS位于公網上,而PAC位于私網內部,與PAC相連的路由器上配置靜態PAT規則,將PAC的1723端口(PPTP專用)映射到某個公網地址的1723端口。并且,在圖2所示的組網中,PNS和PAC建立隧道在經過配置了靜態PAT規則的i各由器時,是不會出現隧道或會話沖突的,因此只要在處理PPTP數據報文時按照靜態PAT規則中的IP地址映射關系對IP地址進4亍替換即可下面將結合具體實例對本發明進行描述。石更4牛部分由一臺以上的主才幾(充當PNS)、兩臺^各由器、一臺服務器(充當PAC)和網線若干等組成,其組網關系圖如圖4所示。首先,在路由器R1上啟動PAT規則(a)啟用NAT功能,并設置路由器接口的NAT屬性(al)啟用NAT功能(ipnatstart)(a2)設置與PNS相連的接口的IP地址和NAT屬性(注PNS的IP地址i殳置為192.168.1.0網卓殳中的某個地址)interfacefei—1/1ipaddress192.168.1.1255.255.255.0ipnatinside(為NAT入接口)(a3)設置與公網相連的接口的IP地址和NAT屬性interfacefei—2/1ipaddress1.2.3.1255.255.255.0ipnatoutside(注NAT出接口)(b)配置PAT規則所要用到的公網IP地址池ipnatpoolpool11.2.3.21.2.3.2prefix-length24(c)配置PAT規則所要用到的訪問控制列表ipaccess-liststandard1permit192.168.1.00.0.0.255其次,在^各由器R2啟用靜態PAT功能(d)啟用NAT功能,并設置路由器接口的NAT屬性(dl)啟用NAT功能(ipnatstart)(d2)設置與PAC相連的才妄口的IP地址和NAT屬性interfacefei1/1ipaddress10.40.10.1255.255.255.0ipnatinside(d3):沒置與7>網相連的4妻口的IP地址和NAT屬性interfacefei一2/1ipaddress1.2.3.10255.255.255.0ipnatinside(e)在路由器R2配置靜態PAT規則(PAC的IP地址為10.40.10.8)ipnatinsidesourcestatictcp10.40.10.817231.2.3.81723最后,在PNS建立PPTP撥號連4妄,撥號的目的IP地址為1.2.3.8,執4亍撥號功能后就可以建立VPN了。圖5是PNS位于私網內部,與其相連的路由器上啟用PAT規則,PNS主動發起會話連接時,在建立會話過程中PPTP控制報文在PPTPALG中的處理情況。圖5示出了是,人建立會話開始到結束會話期間,包括建立會話所用的控制報文、設置連接信息、WAN錯誤通報、斷開撥號等各種報文在PPTPALG中的處理過程。圖5中步驟2)、4)、6)、8)、11)、14)中所帶有的符號","用于表示該報文4皮PPTPALG修改過,并且該PPTP控制報文是經過PPTPALG替換過CALLID的才艮文。'圖6是PNS位于私網內部,與其相連的路由器上啟用PAT規則,PAC主動發起會話連接時,在建立會話過程中PPTP控制報文在PPTPALG中的處理情況。圖6中步驟2)、5)、7)、9)、12)、15)中所帶有的符號","用于表示該報文被PPTPALG修改過,并且該PPTP控制報文是經過PPTPALG替換過CALLID的報文。以上描述可以看出,由于CallID的作用類似于TCP/UDP協議中的端口號,因此可以將CallID當作TCP/UDP的端口號來進行PAT轉換,從而實現區分會話的目的。這樣,在建立一個PPTP撥號連4妄的過程中,需要產生兩個映射條目一個用于TCP沖艮文中IP地址和TCP端口轉換,為私網IP;也址+TCP端口<-網IP;也址+津爭:換后的TCP端口;另一個用于PNS所分配的CALLID轉換,為私網IP地址+PNS的CALLID<->公網IP地址+轉換后的PNS的CALLID。這兩個映射條目所使用公網IP地址必須一致。對于產生用于PNS所分配的CALLID轉換的映射條目,可以當成有另一個TCP才艮文經過了路由器,該TCP報文的源端口就是PNS的CALLID;至于映射條目中轉換后的源端口,則作為是轉換后的CALLID。在建立和維護會話的過程中,PPTP的15種控制報文中包含的CALLID信息并不相同,其中,有的報文不含CALLID信息,有的只有PAC/PNS其中一個的CALLID信息,還有一些凈艮文含有兩者的CALLID信息。因此,只有含有PNS的CALLID信息的報文才需要PPTPALG處理。在處理這些含有PNS的CALLID信息的控制報文時,就需要進行兩次查找一次是以IP地址+TCP端口的組合來查找用于TCP報文中IP地址和TCP端口轉換的映射條目;另一種是以IP地址+PNS的CALLID的組合來查找用于PNS的CALLID轉換的映射條目。由于在建立PNS的CALLID映射條目時,是將CALLID作為TCP端口來處理的,因此這兩次的查找使用相同的方法。另外,PPTP數據凈艮文中所含的CALLID信息為對端所分配的CALLID。因此,在處理由PAC發給PNS的數據報文需要替換IP地址和CALLID,將PNS的CALLID當作TCP端口,按照查找TCP報文的NAT映射條目的方法即可。在處理由PNS發給PAC的數據報文時只要替換IP地址。由于CALLID不需要替換,不能按IP地址和TCP端口的方法來查找到所需的條目。這里只需〗故一些額外處理,在建立會話的過程中,保存IP地址的轉換結果,在需要時;^艮據轉換前的IP地址查找即可。也可以按卩合希查找的方法、以目的IP地址(PAC的IP地址)和PAC的CALLID為關^l建值,建立其沖突表、哈希表。在處理由PNS發給PAC的數據報文時,用哈希方法找到相應的條目替換才艮文的源IP地址(PNS的IP地址)即可。綜上所述,本發明在不需要進行額外的配置的情況下,解決了^各由器在啟用了動態可重用網絡i也址4爭換身見則時,無法利用PPTP經由該;洛由器建立虛擬專用網的問題;并且,不需要為每個PPTP撥號老卩單獨分配一個/>網IPi也址;J:匕夕卜,只需利用7>網ip》也址戶斤能提供的端口資源中的一小部分,而且不影響其它類型報文的正常傳輸,從而節省了要申請的外部公網IP地址,降低了組網的費用。以上所述僅為本發明的優選實施例而已,并不用于限制本發明,對于本領域的技術人員來說,本發明可以有各種更改和變化。凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的4呆護范圍之內。權利要求1.一種在動態可重用網絡地址轉換下實現點對點隧道協議應用層網關的方法,其特征在于,包括根據接收到的報文頭中的協議字段確定所述報文的類型,其中,所述報文的類型包括傳輸控制協議報文和IP數據報文;判斷所述傳輸控制協議報文是否是點對點隧道協議控制報文;以及判斷所述IP數據報文是否是點對點隧道協議數據報文;以及在判斷所述傳輸控制協議報文是所述點對點隧道協議控制報文的情況下,判斷組網方式,并根據組網方式的判斷結果確定是否替換所述點對點隧道協議控制報文的呼叫ID;在判斷所述IP數據報文是所述點對點隧道協議數據報文的情況下,查找映射條目,并根據查找結果確定是否換所述點對點隧道協議數據報文的呼叫ID。2.根據權利要求1所述的方法,其特征在于,在判斷所述傳輸控制協議報文是所述點對點隧道協議控制報文的情況下,進一步包4舌以下處理查找用于轉換所述點對點隧道協議控制報文的IP地址和TCP端口的映射條目,并根據所述點對點隧道協議控制報文的類型、以及數據流向來判斷所述路由器的組網方式;在所述組網方式為預定方式的情況下,判斷是否需要替換所述點對點隧道協議控制報文的呼叫ID;如果不需要替換所述點對點隧道協議控制才艮文的呼叫ID,則在所述點對點隧道協議控制報文為預定類型的情況下,通過索引鏈遍歷整個鏈,更新所述映射條目的使用情況;如果需要替換所述點對點隧道協議控制報文的呼叫ID,則查找是否存在對應的映射條目;在未找到所述映射條目的情況下,創建映射條目,將所述創建的映射條目加入到點對點隧道協議應用控制層條目的索引鏈中,并替換所述點對點隧道協i義才艮文的呼叫ID;以及在所述組網方式不是所述預定方式的情況下,替換所述點對點隧道協議控制報文的IP地址和TCP端口。3.根據權利要求2所述的方法,其特征在于,所述組網方式的所述預定方式為所述點對點隧道協議網絡服務器位于相對于所述^各由器的私有網絡。4.根據權利要求2所述的方法,其特征在于,所述數據流向包括點對點隧道協議網絡服務器與點對點隧道協議接入集中器之間的凄t據流向、以及所述點對點隧道協i義控制凈艮文在路由器上網紹J也址4爭才灸的出/入接口之間的凝:才居-克向。—5.根據權利要求2所述的方法,其特征在于,所述預定類型包括回顯i青求消息和回顯應答消息。6.根據權利要求1所述的方法,其特征在于,在判斷所述IP數據報文是所述點對點隧道協議數據報文的情況下,進一步包括以下處-里步驟A,以IPi也址和點對點隧道協i義端口查找映射條目;以及步驟B,如果查找到所述映射條目,則替換所述點對點隧道協議數據凈艮文地IP地址;否則4艮據所述點對點隧道協議網絡服務器與所述點對點隧道協議接入集中器之間的數據流向查找其它映射條目。7.根據權利要求6所述的方法,其特征在于,在所述步驟B中,在未查找到所述映射條目的情況下,進一步包括如果所述點對點隧道協i義^t據4艮文是由所述點對點隧道協議網絡服務器發送給所述點對點隧道協議集中接入器的,則查找地址管理方法中所保存的IP映射關系,并才艮據所述IP映射關系對所述點對點隧道協i義凄t據才艮文的IP地址進4亍替換;以及如果所述點對點隧道協i義凄t據才艮文是由所述點對點隧道協議集中接入器發送給所述點對點隧道協議網絡服務器的,則以所述點對點隧道協議數據報文中包含的所述點對點隧道協議網絡服務器的呼叫ID和IP地址來查找映射條目,并對所述點對點隧道協議數據報文的呼叫ID和IP地址進行替換。8.根據權利要求6所述的方法,其特征在于,所述點對點隧道協i義端口為1723端口。全文摘要本發明公開了一種在動態可重用網絡地址轉換下實現PPTPALG的方法,包括根據接收到的報文頭中的協議字段確定報文的類型,其中,報文的類型包括TCP報文和IP數據報文;判斷TCP報文是否是PPTP控制報文;以及判斷IP數據報文是否是PPTP數據報文;以及在判斷TCP報文是PPTP控制報文的情況下,判斷組網方式,并根據組網方式的判斷結果確定是否替換PPTP控制報文的CALLID;在判斷IP數據報文是PPTP數據報文的情況下,查找映射條目,并根據查找結果確定是否換PPTP數據報文的CALLID。文檔編號H04L12/56GK101150513SQ20071016425公開日2008年3月26日申請日期2007年10月17日優先權日2007年10月17日發明者勇孫,晨林,軼鄭,晨陳,陳爾嚴申請人:中興通訊股份有限公司