專利名稱::一種私網用戶使用公網地址接入公網的方法及網關的制作方法
技術領域:
:本發明涉及網絡通信領域,具體涉及一種私網用戶使用公網地址接入公網的方法及網關。
背景技術:
:在現有技術中,局域網(LAN)側私網用戶如果想接入到公網,有兩種方式第一種是橋接^t式,其具體方法為PC(私網用戶)通過網關直接撥號獲取公網地址,此時網關不需要支持地址轉換NAT功能,所有的數據在二層轉發。在這種方式下,每一個私網用戶都擁有一個公網地址。優點是LAN側所有私網用戶上的任何業務可以與廣域網WAN側設備直接進行通信,不進行NAT/NAPT的轉換,不會受到網關的影響,缺點是這種方式造成公網地址資源的浪費。第二種方式是路由模式,其具體方法為LAN側私網用戶向網關申請私網地址,網關向WAN側外網申請公網地址,網關需要支持三層轉發并進行公私網地址/端口的NAT(NetworkAddressTranslation)地址轉換功能。此時WAN側的設備訪問LAN側設備,需要通過網關的防火墻,必須根據需開啟的業務來配置,才能允許WAN側設備訪問內網,另夕卜,對于私網內用戶需要直接與WAN側設備通信的業務,而不需要經過NAT/NAPT轉換,該接入方式不能實現。在實現本發明實施例的過程中,發明人發現現有技術中至少存在如下問題私網中特定用戶上的服務,希望使用公網地址,而且其業務通過網關時不希望在網關上因為地址轉換而受到限制,其他私網用戶也希望同時與公網通信,上述現有技術方案無法同時滿足。
發明內容為解決上述技術問題,即滿足LAN側多臺設備同時上公網需求,也滿足LAN側特定設備的業務可以直接與公網通信的需要,如圖l所示,本發明實施例提供如下技術方案網關從WAN側獲取的網地址;將獲取的公網地址與LAN側的特定私網用戶關聯;當LAN側私網用戶申請地址時,若是特定的私網用戶,則下發公網地址,否則,下發私網地址。本發明實施例還提供了一種能使私網用戶使用公網地址接入公網的網關,該網關包括獲取單元,用于從WAN側獲取公網地址;關聯單元,用于將獲取的公網地址與特定私網用戶相關聯;判斷單元,用于判斷LAN側私網用戶的屬性,并下發地址給相應的私網用戶;轉換翻i奪單元,用于記錄私網用戶NAT/NAPT轉換前后的五元組信息,并翻譯WAN側設備發送的數據,將數據轉發給相應的私網用戶。該網關還包括為特定私網用戶和網關業務專用的端口。上述技術方案具有如下優點既解決了一個私網中的多個用戶的公網IP地址資源占用的問題,又可以使LAN側特定用戶與WAN側設備直接通信。并且針對使用公網地址的私網用戶,網關可不需要支持NAT和ALG,該私網用戶的防火墻功能即可在自身實現,也可在網關上實現,具備更強的安全性。圖1為本發明實施例總技術方案圖。圖2為本發明實施例中的地址分配方案流程圖。圖3、圖4為本發明實施例中的數據轉發方案流程圖。具體實施例方式本發明實施例提供一種私網用戶使用公網地址接入公網的方法,下面結合附圖對本發明實施例進行進一步的說明。請參見圖1,網關從WAN側獲取公網地址后,將該公網地址與需要和WAN側設備直接通信的特定私網用戶關耳關;當LAN側私網用戶申請地址時,若是特定私網用戶,則下發公網地址,否則,下發私網地址。該方法具體包括地址分配方案。網關預先配置并記錄需要使用公網地址的私網用戶即關聯私網用戶PC1的信息,如PC1的MAC地址。但本發明實施例不限于記錄用戶的MAC地址,如果關聯私網用戶有其他唯一性的信息,網關也可以記錄該信息。網關可以通過PPPoE或者DHCP或者靜態配置等方式從WAN側獲得公網地址IP1。網關將IP1進行特殊標記后,放入LAN側地址池。在每臺安裝有TCP/IP協議的計算機里都有一個ARP緩存表,即AddressResolutionProtocol(地址解析協議)。表里的IP地址與MAC地址是——對應的。網關把關聯私網用戶PCI的IP地址、MAC地址輸入到一個靜態表中,形成IP地址-MAC地址的綁定,即實現公網地址IP1與PCI相關聯。為了關聯私網用戶的安全,網關也可以將關聯私網用戶專用的端口與IP、MAC地址綁定在一起。請參見圖2,當私網用戶向網關申請地址時,網關判斷私網用戶的MAC地址是否與記錄的MAC地址信息一致。若一致,則將公網地址IP1下發給關聯私網用戶PCl,PCI可使用該地址直接接入公網。這樣,根據自身業務需要與公網側設備進行直接通信的私網用戶在通信方面變得很便捷。同時直接與公網設備通信的關聯私網用戶PCl的防火墻功能既可在自身實現,也可在網關上實現,具備更強的安全性。若不一致,網關在地址池中將私網地址IP2IPn下發私網用戶。數據轉發方案。網關預先分別為PCl和網關自身的業務應用預留相應的TCP/UPD端口,這些預留的端口對外只能由PCl和網關使用。請參見圖3,當私網用戶向WAN側設備發送數據時,網關判斷其MAC地址與記錄的MAC信息是否一致。若記錄的MAC信息一致,則該私網用戶為關聯私網用戶PCl,網關不對數據報文修改,不進行NAT/NAPT地址轉換,直接轉發數據,并記錄PCl會話的五元組信息。若與記錄的MAC地址信息不一致,則該私網用戶為私網用戶PC2PCn。網關判斷端口是否為關聯私網用戶PCl或網關業務預留的專用端口。若是預留的專用端口,則網關對私網用戶進行地址和端口的NAPT轉換后將數據發送出去,記錄NAPT轉換前后的五元組信息,建立NAT/NAPT映射表。如表l所示,例如,網關申請的公網地址為IP1=202.204.65.2,端口為8080,網關給私網用戶PC2下發的私網IP地址(即源IP地址)為Src-192.168丄2,源端口號為1010,目的IP地址為Des=166.111.80.200,目的端口為80。PC2與WAN側設備通信,經過網關時,網關進行NAPT地址和端口的轉換,將PC2的源IP地址改為公網地址IPl=Src=202.204.65.2,源端口改為8080。這樣,WAN側設備接收到的數據報文中,來源IP地址為網關申請的公網地址IP1,端口為8080。如表1所示,在網關中建立如下NAT/NAPT映射表。網關每進行一次NAT/NAPT轉換,就在映射表中相應地增加一條記錄。另外,也可以在該映射表中記錄直接使用公網地址的關聯私網用戶PC1的五元組信息。每一個私網用戶在NAT/NAPT轉換前后的數據都是——對應的關系。<table>tableseeoriginaldocumentpage7</column></row><table>表1若不是預留的專用端口,則判斷該端口是否已經被其它的私網用戶使用,如果該端口已經#皮<使用,則對私網用戶進行地址和端口號的NAPT轉換后,將數據報文發送出去,并在NAT/NAPT映射表中,記錄其轉換前后的五元組信息;如果該端口沒有被使用,則網關對私網用戶進行網絡地址的NAT轉換后,將數據報文發送出去,并在NAT/NAPT映射表中,記錄其NAT轉換前后的五元組信息。請參見圖4,當WAN側向LAN側私網用戶發送數據時,網關在收到數據報文后,根據在NAT/NAPT映射表中記錄的五元組信息,將收到的數據報文翻譯后,轉發給相應的私網用戶。由于轉換前后的五元組信息都是——對應的關系,因此,網關在收到數據包的時候,可以在映射表中查找相關私網用戶的會話信息,這樣,就可以使數據轉發給相應的私網用戶。本發明實施例還提供了一種私網用戶使用公網地址接入公網的網關,如圖4所示,該網關包括獲取單元l,用于從WAN側獲取公網地址;關聯單元2,用于將獲取的公網地址與特定私網用戶相關聯;判斷單元3,用于判斷LAN側私網用戶的屬性,并下發地址給相應的私網用戶;轉換翻譯單元4,用于記錄私網用戶NAT/NAPT轉換前后的五元組信息,并翻譯WAN側設備發送的數據,將數據轉發給相應的私網用戶。同時,該網關還包括為LAN側特定私網用戶預留的專用端口,和為網關自身業務需要而預留的專用端口。獲取單元1在WAN側通過PPPoE或者DHCP或者靜態配置等方式從WAN側獲得公網地址IP1。關聯單元2記錄下需要與公網側設備直接通信的特定私網用戶的信息,如MAC地址,并將該MAC地址反饋給判斷單元3。關聯單元2對該公網地址IP1進行特殊標記,并把關聯私網用戶PC1的IP地址、MAC地址輸入到一個靜態表中,形成IP地址-MAC地址的綁定,即實現公網地址IP1與PC1相關聯。為了關^:私網用戶的安全,網關也可以將關聯私網用戶專用的端口與IP、MAC地址綁定在一起。當私網用戶申請地址時,判斷單元3根據關聯單元2反饋的MAC地址信息,判斷私網用戶的MAC地址是否與記錄的MAC地址一致。若一致,則將公網地址IP1下發給該用戶;若不一致,則將私用地址IP2IPn下發給該用戶。當私網用戶向WAN側發送數據時,判斷單元3判斷私網用戶的MAC地址是否與記錄的MAC地址一致。若一致,則為關聯私網用戶,判斷單元3直接轉發數據,并將關聯用戶的五元組信息反饋給轉換翻譯單元4。轉換翻譯單元4將關聯私網用戶的五元組信息記錄在NAT/NAPT映射表中。該映射表是存儲在轉換翻譯單元4中的動態存儲表,每個私網用戶進行一次NAT/NAPT轉換后,都在該映射表增加一條該私網用戶轉換前后的五元組信息。若MAC地址與記錄的MAC地址不一致,則該私網用戶為私網用戶PC2~PCn。判斷單元3判斷端口是否為關聯私網用戶PCI或網關業務預留的專用端口。若是預留的專用端口,則判斷單元3將數據報文發送給轉換翻譯單元4,轉換翻譯單元4對私網用戶進行地址和端口的NAPT轉換后將數據發送出去,并在NAT/NAPT映射表中記錄該私網用戶轉換前后的五元組信息。這樣,就實現了若不是預留的專用端口,則判斷單元3判斷該端口是否已經被其它的私網用戶使用。如果該端口已經被使用,則判斷單元3將數據報文發送給轉換翻譯單元4,由轉換翻譯單元4對私網用戶進行地址和端口號的NAPT轉換后,將數據報文發送出去,并在NAT/NAPT映射表中,增加一條該私網用戶轉換前后的五元組信息的記錄;如果該端口沒有4皮-使用,則轉換翻譯單元4對該私網用戶進行網絡地址的NAT轉換后,將數據報文發送出去,并在NAT/NAPT映射表中,記錄其NAT轉換前后的五元組信息。當WAN側向LAN側私網用戶發送數據時,轉換翻i奪單元4在收到數據報文后,將收到的數據報文翻譯后,根據在NAT/NAPT映射表中記錄的五元組信息,轉發給相應的私網用戶。由于轉換前后的五元組信息都是——對應的關系,因此,網關在收到數據包的時候,可以在映射表中查找相關私網用戶的會話信息,這樣,就可以使數據轉發給相應的私網用戶。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。權利要求1、一種私網用戶使用公網地址接入公網的方法,其特征在于,該方法包括獲取公網地址;將獲取的公網地址與LAN側的特定私網用戶關聯;當LAN側私網用戶申請地址時,若是所述特定的私網用戶,則下發公網地址,否則,下發私網地址。2、根據權利要求1所述的私網用戶使用公網地址接入公網的方法,其特征在于,當LAN側私網用戶向WAN側發送數據時,4艮據地址信息,若是公網地址,直接轉發數據報文;若是私網地址,則進行NAT/NAPT轉換后將數據發送,并記錄轉換前后的五元組信息;當WAN側向LAN側私網用戶發送數據時,根據五元組信息,轉發數據纟合相應的私網用戶。3、根據權利要求1所述的私網用戶使用公網地址接入公網的方法,其特征在于,所述的特定私網用戶由網關預先設置并記錄其信息。4、根據權利要求1所述的私網用戶使用公網地址接入公網的方法,其特征在于,當LAN側私網用戶申請地址時,網關判斷私網用戶的信息是否與記錄的信息一致若一致,則下發公網地址;若不一致,則下發私網地址。5、根據權利要求1所述的私網用戶使用公網地址接入公網的方法,其特征在于,當LAN側私網用戶向WAN側設備發送數據時,網關根據記錄的私網用戶信息來判斷是否為其分配專用端口。若是特定私網用戶,則分配專用端口,并直接將數據發送出去;若不是特定私網用戶,則進行NAT/NAPT的轉換后,將數據發送出去。6、一種網關,其特征在于,該網關還包括獲取單元用于從WAN側獲取公網地址;關聯單元用于將獲取的公網地址與特定私網用戶相關聯;判斷單元用于判斷LAN側私網用戶的屬性,并下發地址給相應的私網用戶;轉換翻譯單元用于記錄私網用戶NAT/NAPT轉換前后的五元組信息,并翻譯WAN側設備發送的數據,將數據轉發給相應的私網用戶。7、根據權利要求6所述的網關,其特征在于,所述的關聯單元將公網地址與特定私網用戶信息綁定,形成公網地址與私網用戶關聯。8、根據權利要求6所述的網關,其特征在于,所述的判斷單元在判斷私網用戶信息與記錄的信息不一致時,將數據報文發送給轉換翻譯單元。9、根據權利要求6所述的網關,其特征在于,該網關還包括分別為特定私網用戶、網關業務"i殳置的專用端口。全文摘要本發明實施例提供了一種私網用戶使用公網地址接入公網的方法,該方法包括當LAN側私網用戶向WAN側發送數據時,若是公網地址,則直接轉發數據報文,并記錄特定的私網用戶的五元組信息;若是私網地址,則進行NAT/NAPT轉換后將數據報文發送出去,并在NAT/NAPT映射表中記錄轉換前后的五元組信息;當WAN側向LAN側私網用戶發送數據時,根據NAT/NAPT映射表中的五元組信息,轉發數據報文給相應的私網用戶。本發明實施例還公開了一種能提供給特定私網用戶專用端口的網關。本發明實施例既解決了一個私網中的多個用戶的公網地址資源占用的問題,又可以使特定用戶與WAN側設備直接進行通信,安全性更高。文檔編號H04L12/56GK101360030SQ20081014193公開日2009年2月4日申請日期2008年8月21日優先權日2008年8月21日發明者葉小玲,凱張,才彥峰申請人:華為技術有限公司