專利名稱:一種分配公網(wǎng)地址的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種分配公網(wǎng)地址的方法及裝置。
背景技術(shù):
隨著因特網(wǎng)的發(fā)展,互聯(lián)網(wǎng)協(xié)議(英文全稱為Internet Protocol,英文縮寫為IP)地址短缺已經(jīng)成為一個越來越嚴(yán)重的問題,目前,有兩種主要解決方法,引入互聯(lián)網(wǎng)協(xié)議第六版(英文全稱為Internet Protocol Version 6,英文縮寫為IPv6)技術(shù)和網(wǎng)絡(luò)地址轉(zhuǎn)換(英文全稱為Network Address Translation,英文縮寫為NAT)。雖然引入IPv6可從 根本上解決地址耗盡問題,但由于目前大部分內(nèi)容和應(yīng)用還是基于互聯(lián)網(wǎng)協(xié)議第四版(英文全稱為Internet Protocol Version 4,英文縮寫為IPv4),若硬性的全面切換到IPv6可能面臨現(xiàn)有業(yè)務(wù)無法承擔(dān)的風(fēng)險。在IPv4向IPv6的演進這一較為長期的過程中,出于用戶感知度、技術(shù)成熟度和部署難易度等方面考慮,NAT技術(shù)是解決IP地址短缺的主要選擇方案。在NAT技術(shù)中,最典型的地址轉(zhuǎn)換方法是網(wǎng)絡(luò)地址和端口轉(zhuǎn)換(英文全稱為Network Address and Port Translation,英文縮寫為NAPT)方法。該方法具體為,在局域網(wǎng)中,每個私網(wǎng)用戶設(shè)備占用一個內(nèi)部地址和一個內(nèi)部端口號,該內(nèi)部地址即為私網(wǎng)地址,該內(nèi)部端口號即為私網(wǎng)端口號,當(dāng)私網(wǎng)用戶設(shè)備要與外部網(wǎng)絡(luò)進行通信時,NAT設(shè)備將該私網(wǎng)地址和該私網(wǎng)端口號轉(zhuǎn)換為空閑的外部地址和外部端口號,該空閑的外部地址即為公網(wǎng)地址,該外部端口號即為公網(wǎng)端口號,從而實現(xiàn)該局域網(wǎng)的該私網(wǎng)用戶設(shè)備與外部網(wǎng)絡(luò)的正常通信,因此,通過NAT技術(shù)可以使多臺設(shè)備共享一個公有網(wǎng)絡(luò)地址,實現(xiàn)較好地解決公共IP地址短缺的問題。但是利用這種方法,當(dāng)私網(wǎng)用戶設(shè)備每次與外部網(wǎng)絡(luò)設(shè)備建立連接時,NAT設(shè)備都會為該私網(wǎng)用戶設(shè)備申請新的公網(wǎng)端口,導(dǎo)致連接速率低,并且對于NAT設(shè)備來說,需要記錄每一個分配給私網(wǎng)用戶設(shè)備的端口的使用日志,導(dǎo)致管理復(fù)雜,上述私網(wǎng)用戶設(shè)備與外部網(wǎng)絡(luò)設(shè)備建立的連接可以通過傳輸控制協(xié)議(英文全稱為Transmission Control Protocol,英文縮寫為TCP)建立,也可以通過安全套接層(英文全稱為Secure Sockets Layer,英文縮寫為SSL)協(xié)議建立,也可以通過安全傳輸層(英文全稱為Transport Layer Security,英文縮寫為TLS)協(xié)議建立,也可以通過用戶數(shù)據(jù)報協(xié)議(英文全稱為User Datagram Protocol,英文縮寫為UDP)建立。為解決上述問題,現(xiàn)有技術(shù)還提供了一種按照端口范圍(Port-range)分配地址方法,具體是,當(dāng)私網(wǎng)用戶設(shè)備與外部網(wǎng)絡(luò)通過建立連接進行通信時,NAT設(shè)備會選擇一個空閑的公網(wǎng)地址和公網(wǎng)端口塊分配給該私網(wǎng)用戶設(shè)備,該公網(wǎng)端口塊是由該公網(wǎng)地址對應(yīng)的公網(wǎng)端口中的一段連續(xù)的空閑端口組成,若該私網(wǎng)用戶設(shè)備在通信時,將已分配給該私網(wǎng)用戶設(shè)備的公網(wǎng)端口塊中的端口全部占用,如還需要使用公網(wǎng)端口則需要再次申請,但是,由于同一私網(wǎng)用戶設(shè)備必須采用同一公網(wǎng)地址,當(dāng)該公網(wǎng)地址對應(yīng)的公網(wǎng)端口中沒有空閑端口可分配時,也就是該公網(wǎng)地址對應(yīng)的公網(wǎng)端口已經(jīng)全部被分配出去時,將導(dǎo)致該私網(wǎng)用戶設(shè)備申請不到公網(wǎng)端口,進而使該私網(wǎng)用戶設(shè)備無法與外部網(wǎng)絡(luò)設(shè)備建立新的連接。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種分配公網(wǎng)地址的方法及裝置,用于降低在為私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址后,所述私網(wǎng)用戶設(shè)備新增與公網(wǎng)網(wǎng)絡(luò)設(shè)備建立連接時分配不到公網(wǎng)端口的概率。根據(jù)本發(fā)明實施例的一個方面,一種分配公網(wǎng)地址的方法,包括接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所 述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,所述第一公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,所述第二端口集合包括至少一個端口,所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合存在空閑端口,從所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合包含至少一個端口 ;當(dāng)確定所述第一空閑端口集合中的端口都被占用,并且第一公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口時,從所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,所述第二空閑端口集合至少包含一個端□。根據(jù)本發(fā)明實施例的另一個方面,一種分配公網(wǎng)地址的方法,包括接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,且從所述第一公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合至少包含一個端口,將所述第一空閑端口集合中的端口存入第一端口集合中,所述第一端口集合對應(yīng)所述第一公網(wǎng)IP地址,所述第一端口集合中的端口數(shù)量不大于第一門限值;當(dāng)確定從所述第一空閑端口集合存入所述第一端口集合中的端口都被占用,并且所述第一公網(wǎng)IP地址對應(yīng)的端口中存在空閑端口時,為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,所述第二空閑端口集合至少包含一個端口,將所述第二空閑端口集合中的端口存入第二端口集合中,所述第二端口集合對應(yīng)所述第一公網(wǎng)IP地址,所述第二端口集合中的端口數(shù)量不大于第二門限值,所述第一門限值與所述第二門限值的和不大于所述第一公網(wǎng)IP地址對應(yīng)的全部端口數(shù)量。根據(jù)本發(fā)明實施例的另一個方面,一種分配公網(wǎng)地址的裝置,包括第一接收單元,用于接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;第一分配單元,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,所述第一公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,所述第二端口集合包括至少一個端口,所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合存在空閑端口,從所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合包含至少一個端口;第二分配單元,用于當(dāng)確定所述第一空閑端口集合中的端口都被占用,并且第一公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口時,從所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,所述第二空閑端口集合至少包含一個端口。根據(jù)本發(fā)明實施例的又一個方面,一種分配公網(wǎng)地址的裝置,包括第三接收單元,用于接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;第四分配單元,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,且從所述第一公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合至少包 含一個端口,將所述第一空閑端口集合中的端口存入第一端口集合中,所述第一端口集合對應(yīng)所述第一公網(wǎng)IP地址,所述第一端口集合中的端口數(shù)量不大于第一門限值;第五分配單元,用于當(dāng)確定從所述第一空閑端口集合存入所述第一端口集合中的端口都被占用,并且所述第一公網(wǎng)IP地址對應(yīng)的端口中存在空閑端口時,為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,所述第二空閑端口集合至少包含一個端口,將所述第二空閑端口集合中的端口存入第二端口集合中,所述第二端口集合對應(yīng)所述第一公網(wǎng)IP地址,所述第二端口集合中的端口數(shù)量不大于第二門限值,所述第一門限值與所述第二門限值的和不大于所述第一公網(wǎng)IP地址對應(yīng)的全部端口數(shù)量。根據(jù)本發(fā)明實施例的一個方面提供的分配公網(wǎng)地址的方法及裝置,通過對公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,對于首次申請公網(wǎng)IP地址的私網(wǎng)網(wǎng)絡(luò)設(shè)備,分配公網(wǎng)IP地址后,從所分配的公網(wǎng)IP地址的第一端口集合為所述私網(wǎng)網(wǎng)絡(luò)設(shè)備分配端口,所述私網(wǎng)網(wǎng)絡(luò)設(shè)備新增與公網(wǎng)網(wǎng)絡(luò)設(shè)備建立連接時,則從所述分配的公網(wǎng)IP地址的第二端口集合為所述私網(wǎng)網(wǎng)絡(luò)設(shè)備分配端口,這樣通過預(yù)留所述分配的公網(wǎng)IP地址的第二端口集合,用于所述私網(wǎng)網(wǎng)絡(luò)設(shè)備與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接時的端口分配,從而降低了所述私網(wǎng)用戶與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接分配不到公網(wǎng)端口的概率。根據(jù)本發(fā)明實施例的另一個方面提供的分配公網(wǎng)地址的方法及裝置,通過將公網(wǎng)IP地址的端口中分配給首次申請公網(wǎng)IP地址的私網(wǎng)網(wǎng)絡(luò)設(shè)備的端口數(shù)量限制在第一門限值內(nèi),并且預(yù)留該公網(wǎng)IP地址的端口中第二門限值數(shù)量的端口,用于所述私網(wǎng)網(wǎng)絡(luò)設(shè)備與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接時的端口分配,從而當(dāng)所述私網(wǎng)網(wǎng)絡(luò)設(shè)備新增與公網(wǎng)網(wǎng)絡(luò)設(shè)備建立連接時,降低了所述私網(wǎng)用戶與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接分配不到公網(wǎng)端口的概率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實施例提供的分配公網(wǎng)地址的方法的流程示意圖一;
圖2為本發(fā)明實施例提供的公網(wǎng)IP地址及其對應(yīng)的端口的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例提供的分配公網(wǎng)地址的方法的流程示意圖二 ;圖4為本發(fā)明實施例提供的分配公網(wǎng)地址的方法的流程示意圖三;圖5為本發(fā)明實施例提供的分配公網(wǎng)地址的方法的流程示意圖四;圖6為本發(fā)明實施例提供的分配公網(wǎng)地址的方法的流程示意圖五;圖7為本發(fā)明實施例提供的分配公網(wǎng)地址的裝置的結(jié)構(gòu)示意圖一;圖8為本發(fā)明實施例提供的分配公網(wǎng)地址的裝置的結(jié)構(gòu)示意圖二 ; 圖9為本發(fā)明實施例提供的分配公網(wǎng)地址的裝置的結(jié)構(gòu)示意圖三;圖10為本發(fā)明實施例提供的分配公網(wǎng)地址的裝置的結(jié)構(gòu)示意圖四。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。參見圖1,本發(fā)明實施例提供了一種分配公網(wǎng)地址的方法,包括以下內(nèi)容。101、接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接。所述連接可以為TCP連接或UDP連接或SSL連接或TSL連接,相應(yīng)地,所述第一請求報文可以為TCP建立連接請求報文或UDP建立連接請求報文或SSL建立連接請求報文或TSL建立連接請求報文,本發(fā)明實施例不做具體限制。102、當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,所述第一公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,所述第二端口集合包括至少一個端口,所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合存在空閑端口,從所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合包含至少一個端□。所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合是為沒有分配過任何公網(wǎng)IP地址的私網(wǎng)用戶設(shè)備分配端口的端口集合,所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合是為已經(jīng)分配過公網(wǎng)IP地址的私網(wǎng)用戶設(shè)備再次分配端口的端口集合,該第一公網(wǎng)IP地址對應(yīng)的端口的結(jié)構(gòu)示意圖,如圖2所示。為了清楚描述本發(fā)明實施例提供的分配公網(wǎng)地址的方法,示例性的,在本發(fā)明實施例中以10. 0. 0.1:4567作為私網(wǎng)IP地址和私網(wǎng)端口號,以128. 0. 0. I作為第一公網(wǎng)IP地址為例進行說明。舉例來說,例如,所述第一公網(wǎng)IP地址128.0.0. I對應(yīng)的端口 0 65535分為第一端口集合和第二端口集合,其中所述IP地址128. 0. 0. I對應(yīng)的第一端口集合的端口范圍為0 50000,所述IP地址128. 0. 0. I對應(yīng)的第二端口集合對應(yīng)的端口范圍為50001 65535。當(dāng)收到私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文攜帶有私網(wǎng)IP地址10. 0. 0.1,根據(jù)所述私網(wǎng)IP地址10. 0. 0. I確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配所述第一公網(wǎng)IP地址128. 0. 0. 1,并且從所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的第一端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合包含至少一個端口,例如,所述第一空閑端口集合中端口范圍為3812 4812。具體的,確定沒有為所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址的方法可以是,通過查找存儲私網(wǎng)用戶表的數(shù)據(jù)庫,所述私網(wǎng)用戶表信息中存儲有已分配公網(wǎng)IP地址的私網(wǎng)用戶IP地址和公網(wǎng)端口,當(dāng)在所述數(shù)據(jù)庫中沒有查找到存儲了所述私網(wǎng)用戶設(shè)備的私網(wǎng)IP地址的私網(wǎng)用戶表,則確定沒有為所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址。103、當(dāng)確定所述第一空閑端口集合中的端口都被占用,并且第一公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口時,從所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,所述第二空閑端口集合至少包含一個端口。所述私網(wǎng)用戶設(shè)備每次與公網(wǎng)中的網(wǎng)絡(luò)設(shè)備連接一個業(yè)務(wù),也就是每次與公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立一次連接都會使用所述第一空閑端口集合中的端口,所述第一空閑端口集合中的端口都被占用是指所述第一空閑端口集合中的端口都被所述私網(wǎng)用戶設(shè)備使用。示例性的,當(dāng)確定所述第一空閑端口集合3812 4812中的端口都被占用的情況下,并且所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的第二端口集合中存在空閑端口時,從所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,如50678 60678。可選地,當(dāng)確定所述第一空閑端口集合中的端口都被占用之前還包括接收所述私網(wǎng)用戶設(shè)備發(fā)送的第二請求報文,觸發(fā)對所述第一空閑端口集合中的端口占用情況進行檢測,所述第二請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;或者啟動檢測定時器,當(dāng)所述檢測定時器到時后,觸發(fā)對所述第一空閑端口集合中的端口占用情況進行檢測。進一步的,如圖3所示,所述方法還包括104、當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址,并且所述公網(wǎng)地址池中不存在第二公網(wǎng)IP地址,所述第二公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,所述第二公網(wǎng)IP地址的第一端口集合存在空閑端口時,為所述私網(wǎng)用戶設(shè)備分配第三公網(wǎng)IP地址,所述第三公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,所述第三公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口,從所述第三公網(wǎng)IP地址對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第三空閑端口集合,所述第三空閑端口集合至少包含一個端口。當(dāng)所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口時,所述第三公網(wǎng)IP地址也可以為所述第一公網(wǎng)IP地址,當(dāng)所述第二公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口時,所述第三公網(wǎng)IP地址也可以為所述第二公網(wǎng)IP地址。
這樣實現(xiàn)的好處在于,當(dāng)其他私網(wǎng)用戶設(shè)備需要申請公網(wǎng)IP地址時,如果此時公網(wǎng)地址池中所有公網(wǎng)IP地址對應(yīng)的第一端口集合中都沒有空閑端口,這時為所述其他私網(wǎng)用戶設(shè)備分配一個公網(wǎng)IP地址,所述分配的公網(wǎng)IP地址的第二端口集合存在空閑端口,并且從所述分配的公網(wǎng)IP地址的第二端口集合為所述其他私網(wǎng)用戶設(shè)備分配公網(wǎng)端口,這樣能夠保證及時為私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址和端口,保障私網(wǎng)用戶設(shè)備與公網(wǎng)中網(wǎng)絡(luò)設(shè)備及時建立通信??蛇x地,如圖4所示,所述方法還包括105、接收所述私網(wǎng)用戶設(shè)備的下線通知消息,回收所述第一空閑端口集合和所述
第二空閑端口集合。具體的,當(dāng)所述私網(wǎng)用戶設(shè)備不再需要公網(wǎng)地址和公網(wǎng)端口資源時,會發(fā)送一個攜帶有帶私網(wǎng)IP地址的下線通知消息,在接收到所述下線通知后,釋放分配給所述私網(wǎng)用戶設(shè)備的公網(wǎng)IP地址和公網(wǎng)端口,以使得所述公網(wǎng)IP地址資源可以再分配給其他私網(wǎng)用戶設(shè)備,這樣一來,充分利用了公網(wǎng)IP地址,節(jié)約了資源。所述回收所述第一空閑端口集合 和所述第二空閑端口集合是指將所述第一空閑端口集合中的端口和所述第二空閑端口集合中的端口的被占用標(biāo)志清除,使其可以再分配給其他私網(wǎng)用戶設(shè)備。當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收所述第三空閑端口集合。可選地,參考圖4所示,所述方法還包括106、若在預(yù)設(shè)的時間門限內(nèi)沒有接收到所述私網(wǎng)用戶設(shè)備發(fā)送來的報文,回收所
述第一空閑端口集合和所述第二空閑端口集合。示例性的,若在預(yù)設(shè)的時間門限內(nèi),沒有接收到攜帶有所述私網(wǎng)IP地址10.0.0. I的報文,釋放分配給所述私網(wǎng)用戶設(shè)備的公網(wǎng)IP地址和公網(wǎng)端口,以使得所述公網(wǎng)IP地址資源可以再分配給其他私網(wǎng)用戶設(shè)備,這樣一來,充分利用了公網(wǎng)IP地址,節(jié)約了資源,所述回收所述第一空閑端口集合和所述第二空閑端口集合是指將所述第一空閑端口集合中的端口和所述第二空閑端口集合中的端口的被占用標(biāo)志清除,使其可以再分配給其他私網(wǎng)用戶設(shè)備。當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收所述第三空閑端口集合。可選的,參考圖4所示,所述方法還包括107、若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,回收所述第一空閑端口集合和所述第二空閑端口集合。示例性的,若在預(yù)設(shè)的時間門限內(nèi),沒有接收到向所述私網(wǎng)IP地址10. 0. 0. I發(fā)送的報文,釋放分配給所述私網(wǎng)用戶設(shè)備的公網(wǎng)IP地址和公網(wǎng)端口,以使得所述公網(wǎng)IP地址資源可以再分配給其他私網(wǎng)用戶設(shè)備,這樣一來,充分利用了公網(wǎng)IP地址,節(jié)約了資源,所述回收所述第一空閑端口集合和所述第二空閑端口集合是指將所述第一空閑端口集合中的端口和所述第二空閑端口集合中的端口的被占用標(biāo)志清除,使其可以再分配給其他私網(wǎng)用戶設(shè)備。當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收所述第三空閑端口集合??蛇x地,參考圖4所示,所述方法還包括108、當(dāng)所述第二空閑端口集合中的端口都沒有被占用時,回收所述第二空閑端口
口 O所述第二空閑端口集合中的端口的回收不需要等到所述私網(wǎng)用戶發(fā)送下線通知,只要判斷所述第二空閑端口集合中的端口都沒有被占用時,即可回收所述第二空閑端口集合中的端口,這樣能夠加速所述第二空閑端口集合中的空閑端口的回收,進一步提高所述第一公網(wǎng)IP地址對應(yīng)第二端口集合中端口的利用率,提高所述私網(wǎng)用戶設(shè)備與公網(wǎng)中網(wǎng)絡(luò)設(shè)備新增連接時,從所述第一公網(wǎng)IP地址對應(yīng)第二端口集合申請到端口的概率。
可見,通過本發(fā)明實施例提供的一種分配公網(wǎng)地址的方法,通過對公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,對于首次申請公網(wǎng)IP地址的私網(wǎng)網(wǎng)絡(luò)設(shè)備,分配公網(wǎng)IP地址后,從所分配的公網(wǎng)IP地址的第一端口集合為所述私網(wǎng)網(wǎng)絡(luò)設(shè)備分配端口,所述私網(wǎng)網(wǎng)絡(luò)設(shè)備新增與公網(wǎng)網(wǎng)絡(luò)設(shè)備建立連接時,則從所述分配的公網(wǎng)IP地址的第二端口集合為所述私網(wǎng)網(wǎng)絡(luò)設(shè)備分配端口,這樣通過預(yù)留所述分配的公網(wǎng)IP地址的第二端口集合,用于所述私網(wǎng)網(wǎng)絡(luò)設(shè)備與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接時的端口分配,從而降低了所述私網(wǎng)用戶與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接分配不到公網(wǎng)端口的概率。參見圖5,本發(fā)明實施例提供了另一種分配公網(wǎng)地址的方法,包括以下內(nèi)容。501、接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求 文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接。所述連接可以為TCP連接或UDP連接或SSL連接或TSL連接,相應(yīng)地,所述第一請求報文可以為TCP建立連接請求報文或UDP建立連接請求報文或SSL建立連接請求報文或TSL建立連接請求報文,本發(fā)明實施例不做具體限制。502、當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,且從所述第一公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合至少包含一個端口,將所述第一空閑端口集合中的端口存入第一端口集合中,所述第一端口集合對應(yīng)所述第一公網(wǎng)IP地址,所述第一端口集合中的端口數(shù)量不大于第一門限值。為了清楚描述本發(fā)明實施例提供的分配公網(wǎng)地址的方法,示例性的,在本發(fā)明實施例中以10. 0. 0.1:4567作為私網(wǎng)IP地址和私網(wǎng)端口號,以128. 0. 0. I作為第一公網(wǎng)IP地址為例進行說明。示例性的,當(dāng)根據(jù)所述私網(wǎng)IP地址10. 0. 0. I確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址后,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址128. 0. 0. 1,且從所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,例如,所述第一空閑端口集合中端口范圍為3812 4812,將所述第一空閑端口集合中的端口存入第一端口集合中,所述第一端口集合中的端口數(shù)量不大于第一門限值,即若要給所述私網(wǎng)IP地址10. 0. 0. I分配公網(wǎng)IP地址,需要確定所述公網(wǎng)IP地址對應(yīng)的第一端口集合中的端口數(shù)量不大于第一門限值后,再給所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址,其中,所述第一端口集合中存儲的端口是為沒有分配任何公網(wǎng)IP地址的私網(wǎng)用戶設(shè)備分配的端口。具體的,確定沒有為所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址的方法可以是,通過查找存儲私網(wǎng)用戶表的數(shù)據(jù)庫,所述私網(wǎng)用戶表信息中存儲有已分配公網(wǎng)IP地址的私網(wǎng)用戶IP地址和公網(wǎng)端口,當(dāng)在所述數(shù)據(jù)庫中沒有查找到存儲了所述私網(wǎng)用戶設(shè)備的私網(wǎng)IP地址的私網(wǎng)用戶表,則確定沒有為所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址。503、當(dāng)確定從所述第一空閑端口集合存入所述第一端口集合中的端口都被占用,并且所述第一公網(wǎng)IP地址對應(yīng)的全部端口中存在空閑端口時,為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,所述第二空閑端口集合至少包含一個端口,將所述第二空閑端口集合中的端口存入第二端口集合中,所述第二端口集合對應(yīng)所述第一公網(wǎng)IP地址,所述第二端口集合中的端口數(shù)量不大于第二門限值,所述第一門限值與所述第二門限值的和不大于所述第一公網(wǎng)IP地址對應(yīng)的全部端口數(shù)量。
所述第一門限值用于限定對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中端口數(shù)量的最大值,所述第二門限值用于限定對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中端口數(shù)量的最大值。示例性的,當(dāng)確定從所述第一空閑端口集合3812 4812存入到所述第一端口集合中的端口都被占用,并且所述第一公網(wǎng)IP地址對應(yīng)的端口中存在空閑端口時,為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,如50678 60678,所述第二空閑端口集合至少包含一個端口,將所述第二空閑端口集合中的端口存入對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中,且所述第二端口集合中的端口數(shù)量不大于第二門限值,即若要給所述私網(wǎng)用戶設(shè)備再次分配所述第一公網(wǎng)IP地址對應(yīng)的端口,需要確定所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合中的端口數(shù)量不大于第二門限值后,再從所述第一公網(wǎng)IP地址對應(yīng)的空閑端口中分配所述第二空閑端口給所述私網(wǎng)用戶設(shè)備,并且所述第一門限值與所述第二門限值的和不大于所述第一公網(wǎng)IP地址對應(yīng)的全部端口數(shù)量。 可選地,當(dāng)確定所述第一空閑端口集合中的端口都被占用之前還包括接收所述私網(wǎng)用戶設(shè)備發(fā)送的第二請求報文,觸發(fā)對所述第一空閑端口集合中的端口占用情況進行檢測,所述第二請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;或者啟動檢測定時器,當(dāng)所述檢測定時器到時后,觸發(fā)對所述第一空閑端口集合中的端口占用情況進行檢測。進一步的,如圖5所示,所述方法還包括504、當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址,并且所述公網(wǎng)地址池中不存在第二公網(wǎng)IP地址,對應(yīng)所述第二公網(wǎng)IP地址的第一端口集合中的端口數(shù)量小于第三門限值,為所述私網(wǎng)用戶設(shè)備分配第三公網(wǎng)IP地址,從所述第三公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第三空閑端口集合,所述第三空閑端口集合至少包含一個端口,將所述第三空閑端口集合中的端口存入第二端口集合中,所述第二端口集合對應(yīng)所述第三公網(wǎng)IP地址,所述第二端口集合中的端口數(shù)量不大于第四門限值。所述第三門限值用于限定對應(yīng)所述第二公網(wǎng)IP地址的所述第一端口集合中端口的最大數(shù)值,所述第四門限值用于限定對應(yīng)所述第三公網(wǎng)IP地址的所述第二端口集合中端口的最大數(shù)值。這樣實現(xiàn)的好處在于,當(dāng)其他私網(wǎng)用戶設(shè)備需要申請公網(wǎng)IP地址時,如果此時公網(wǎng)地址池中對應(yīng)每個公網(wǎng)IP地址的第一端口集合中的端口數(shù)量都已經(jīng)達到門限值,這時為所述其他私網(wǎng)用戶設(shè)備分配一個公網(wǎng)IP地址,所述分配的公網(wǎng)IP地址存在空閑端口,并且對應(yīng)所述分配的公網(wǎng)IP地址的第二端口集合中的端口數(shù)量沒有達到門限值,并且從所述分配的公網(wǎng)IP地址的空閑端口中為所述其他私網(wǎng)用戶設(shè)備分配公網(wǎng)端口,這樣能夠保證及時為私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址和端口,保障私網(wǎng)用戶設(shè)備與公網(wǎng)中網(wǎng)絡(luò)設(shè)備及時建立通信。可選地,如圖6所示,所述方法還包括505、接收所述私網(wǎng)用戶設(shè)備的下線通知消息,回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口和從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口。具體的,當(dāng)私網(wǎng)用戶設(shè)備不再需要公網(wǎng)地址和公網(wǎng)端口資源,會發(fā)送一個攜帶有帶私網(wǎng)IP地址的下線通知消息,在接收到該下線通知后,釋放分配給所述私網(wǎng)用戶設(shè)備的公網(wǎng)IP地址和公網(wǎng)端口,以使得所述公網(wǎng)IP地址資源可以再分配給其他私網(wǎng)用戶設(shè)備,這樣一來,充分利用了公網(wǎng)IP地址,節(jié)約了資源??蛇x地,參考圖6所示,所述方法還包括506、若在預(yù)設(shè)的時間門限內(nèi)沒有接收到所述私網(wǎng)用戶設(shè)備發(fā)送來的報文,回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口和從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口。示例性的,若在預(yù)設(shè)的時間門限內(nèi),沒有接收到攜帶有所述私網(wǎng)IP地址10.0.0. I的報文,則回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口,回收從該所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口,當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收從所述第三空閑端口集合存到對應(yīng)所述第三公網(wǎng)IP地址的第二端口集合中的端口,這樣,便于充分利用了公網(wǎng)IP地址及對應(yīng)所述公網(wǎng)IP地址的端口,提高了資源利用率。 可選地,參考圖6所示,所述方法還包括507、若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口和從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端□。示例性的,若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,即發(fā)送攜帶有所述私網(wǎng)地址10. 0. 0. I的報文,則回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口和從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口,當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收從所述第三空閑端口集合存到對應(yīng)所述第三公網(wǎng)IP地址的第二端口集合中的端口,這樣,便于充分利用了公網(wǎng)IP地址及對應(yīng)所述公網(wǎng)IP地址的端口,提高了資源利用率??蛇x地,參考圖6所示,所述方法還包括508、當(dāng)從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口沒有被占用時,回收從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口。所述回收從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口不需要等到所述私網(wǎng)用戶發(fā)送下線通知,只要判斷從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口沒有被占用時,即可回收從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口,這樣能夠加速從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口的回收,這樣,進一步提高所述第一公網(wǎng)IP地址的端口的利用率,提高所述私網(wǎng)用戶設(shè)備與公網(wǎng)中網(wǎng)絡(luò)設(shè)備新增連接時,從所述第一公網(wǎng)IP地址對應(yīng)的端口集合中申請到端口的概率??梢?,通過本發(fā)明實施例提供的一種分配公網(wǎng)地址的方法,通過將公網(wǎng)IP地址的端口中分配給首次申請公網(wǎng)IP地址的私網(wǎng)網(wǎng)絡(luò)設(shè)備的端口數(shù)量限制在第一門限值內(nèi),并且預(yù)留該公網(wǎng)IP地址的端口中第二門限值數(shù)量的端口,用于所述私網(wǎng)網(wǎng)絡(luò)設(shè)備與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接時的端口分配,從而當(dāng)所述私網(wǎng)網(wǎng)絡(luò)設(shè)備新增與公網(wǎng)網(wǎng)絡(luò)設(shè)備建立連接時,降低了所述私網(wǎng)用戶與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接分配不到公網(wǎng)端口的概率。參見圖7,本發(fā)明實施例提供了一種分配公網(wǎng)地址的裝置70,所述裝置70包括第一接收單元701,用于接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接。第一分配單元702,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,所述第一公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,所述第二端口集合包括至少一個端口,所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合存在空閑端口,從所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合包含至少一個端口。第二分配單元703,用于當(dāng)確定所述第一空閑端口集合中的端口都被占用,并且第 一公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口時,從所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,所述第二空閑端口集合至少包含一個端口。所述連接可以為TCP連接或UDP連接或SSL連接或TSL連接,相應(yīng)地,所述第一請求報文可以為TCP建立連接請求報文或UDP建立連接請求報文或SSL建立連接請求報文或TSL建立連接請求報文,本發(fā)明實施例不做具體限制。所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合是為沒有分配過任何公網(wǎng)IP地址的私網(wǎng)用戶設(shè)備分配端口的端口集合,所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合是為已經(jīng)分配過公網(wǎng)IP地址的私網(wǎng)用戶設(shè)備再次分配端口的端口集合,該第一公網(wǎng)IP地址對應(yīng)的端口的結(jié)構(gòu)示意圖,如圖2所示。為了清楚描述本發(fā)明實施例提供的分配公網(wǎng)地址的裝置,示例性的,在本發(fā)明實施例中以10. 0. 0. 1:4567作為私網(wǎng)IP地址和私網(wǎng)端口號,以128. 0. 0. I作為第一公網(wǎng)IP地址為例進行說明。舉例來說,例如,所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的端口 0 65535分為第一端口集合和第二端口集合,其中所述IP地址128. 0. 0. I對應(yīng)的第一端口集合的端口范圍為0 50000,所述IP地址128. 0. 0. I對應(yīng)的第二端口集合對應(yīng)的端口范圍為50001 65535。當(dāng)所述第一接收單元701收到私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文攜帶有私網(wǎng)IP地址10. 0. 0. 1,所述第一分配單元702根據(jù)所述私網(wǎng)IP地址10. 0. 0. I確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配所述第一公網(wǎng)IP地址128. 0. 0. 1,并且從所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的第一端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合包含至少一個端口,例如,所述第一空閑端口集合中端口范圍為3812 4812。具體的,確定沒有為所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址的方法可以是,通過查找存儲私網(wǎng)用戶表的數(shù)據(jù)庫,所述私網(wǎng)用戶表信息中存儲有已分配公網(wǎng)IP地址的私網(wǎng)用戶IP地址和公網(wǎng)端口,當(dāng)在所述數(shù)據(jù)庫中沒有查找到存儲了所述私網(wǎng)用戶設(shè)備的私網(wǎng)IP地址的私網(wǎng)用戶表,則確定沒有為所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址。所述私網(wǎng)用戶設(shè)備每次與公網(wǎng)中的網(wǎng)絡(luò)設(shè)備連接一個業(yè)務(wù),也就是每次與公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立一次連接都會使用所述第一空閑端口集合中的端口,所述第一空閑端口集合中的端口都被占用是指所述第一空閑端口集合中的端口都被所述私網(wǎng)用戶設(shè)備使用。
示例性的,當(dāng)所述第二分配單元703確定所述第一空閑端口集合3812 4812中的端口都被占用的情況下,并且所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的第二端口集合中存在空閑端口時,從所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,如50678 60678。進一步的,為了確定所述第一空閑端口集合中的端口是否全被占用,如圖7所示,該裝置70還包括第二接收單元704,用于接收所述私網(wǎng)用戶設(shè)備發(fā)送的第二請求報文,觸發(fā)對所述第一空閑端口集合中的端口占用情況進行檢測,所述第二請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接?;蛘?,參考圖7所示,該裝置還包括
·
第一啟動觸發(fā)單元705,用于啟動檢測定時器,當(dāng)所述檢測定時器到時后,觸發(fā)對所述第一空閑端口集合中的端口占用情況進行檢測。進一步的,如圖8所示,該裝置70還包括第三分配單元706,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址,并且所述公網(wǎng)地址池中不存在第二公網(wǎng)IP地址,所述第二公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,所述第二公網(wǎng)IP地址對應(yīng)的第一端口集合存在空閑端口時,為所述私網(wǎng)用戶設(shè)備分配第三公網(wǎng)IP地址,所述第三公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,所述第三公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口,從所述第三公網(wǎng)IP地址對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第三空閑端口集合,所述第三空閑端口集合至少包含一個端口。當(dāng)所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口時,所述第三公網(wǎng)IP地址也可以為所述第一公網(wǎng)IP地址,當(dāng)所述第二公網(wǎng)IP地址對應(yīng)的第二端口集合存在空閑端口時,所述第三公網(wǎng)IP地址也可以為所述第二公網(wǎng)IP地址。這樣實現(xiàn)的好處在于,當(dāng)其他私網(wǎng)用戶設(shè)備需要申請公網(wǎng)IP地址時,如果此時公網(wǎng)地址池中所有公網(wǎng)IP地址對應(yīng)的第一端口集合中都沒有空閑端口,這時所述第三分配單元706為所述其他私網(wǎng)用戶設(shè)備分配一個公網(wǎng)IP地址,所述分配的公網(wǎng)IP地址的第二端口集合存在空閑端口,并且從所述分配的公網(wǎng)IP地址的第二端口集合為所述其他私網(wǎng)用戶設(shè)備分配公網(wǎng)端口,這樣能夠保證及時為私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址和端口,保障私網(wǎng)用戶設(shè)備與公網(wǎng)中網(wǎng)絡(luò)設(shè)備及時建立通信??蛇x地,參考圖7所示,該裝置70,還包括第一回收單元707,用于接收所述私網(wǎng)用戶設(shè)備的下線通知消息,回收所述第一空閑端口集合和所述第二空閑端口集合。具體的,當(dāng)所述私網(wǎng)用戶設(shè)備不再需要公網(wǎng)地址和公網(wǎng)端口資源時,會發(fā)送一個攜帶有帶私網(wǎng)IP地址的下線通知消息,在所述第一回收單元707接收到所述下線通知后,釋放分配給所述私網(wǎng)用戶設(shè)備的公網(wǎng)IP地址和公網(wǎng)端口,以使得所述公網(wǎng)IP地址資源可以再分配給其他私網(wǎng)用戶設(shè)備,這樣一來,充分利用了公網(wǎng)IP地址,節(jié)約了資源。所述回收所述第一空閑端口集合和所述第二空閑端口集合是指將所述第一空閑端口集合中的端口和所述第二空閑端口集合中的端口的被占用標(biāo)志清除,使其可以再分配給其他私網(wǎng)用戶設(shè)備。當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收所述第三空閑端口集合??蛇x地,該裝置70,還包括第二回收單元708,用于若在預(yù)設(shè)的時間門限內(nèi)沒有接收到所述私網(wǎng)用戶設(shè)備發(fā)送來的報文,回收所述第一空閑端口集合和所述第二空閑端口集合。示例性的,若在預(yù)設(shè)的時間門限內(nèi),所述第二回收單元708沒有接收到攜帶有所述私網(wǎng)IP地址10. 0. 0. I的報文,釋放分配給所述私網(wǎng)用戶設(shè)備的公網(wǎng)IP地址和公網(wǎng)端口,以使得所述公網(wǎng)IP地址資源可以再分配給其他私網(wǎng)用戶設(shè)備,這樣一來,充分利用了公網(wǎng)IP地址,節(jié)約了資源,所述回收所述第一空閑端口集合和所述第二空閑端口集合是指將所述第一空閑端口集合中的端口和所述第二空閑端口集合中的端口的被占用標(biāo)志清除,使其可以再分配給其他私網(wǎng)用戶設(shè)備。當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集 合時,還需要回收所述第三空閑端口集合??蛇x地,該裝置70,還包括第三回收單元709,用于若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,回收所述第一空閑端口集合和所述第二空閑端口集合。示例性的,若在預(yù)設(shè)的時間門限內(nèi),所述第三回收單元709沒有接收到向所述私網(wǎng)IP地址10. 0. 0. I發(fā)送的報文,釋放分配給所述私網(wǎng)用戶設(shè)備的公網(wǎng)IP地址和公網(wǎng)端口,以使得所述公網(wǎng)IP地址資源可以再分配給其他私網(wǎng)用戶設(shè)備,這樣一來,充分利用了公網(wǎng)IP地址,節(jié)約了資源,所述回收所述第一空閑端口集合和所述第二空閑端口集合是指將所述第一空閑端口集合中的端口和所述第二空閑端口集合中的端口的被占用標(biāo)志清除,使其可以再分配給其他私網(wǎng)用戶設(shè)備。當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收所述第三空閑端口集合。可選地,該裝置70還包括第四回收單元710,用于當(dāng)所述第二空閑端口集合中的端口都沒有被占用時,回收所述第二空閑端口集合。所述第二空閑端口集合中的端口的回收不需要等到所述私網(wǎng)用戶發(fā)送下線通知,只要判斷所述第二空閑端口集合中的端口都沒有被占用時,所述第四回收單元710即可回收所述第二空閑端口集合中的端口,這樣能夠加速所述第二空閑端口集合中的空閑端口的回收,進一步提高所述第一公網(wǎng)IP地址對應(yīng)第二端口集合中端口的利用率,提高所述私網(wǎng)用戶設(shè)備與公網(wǎng)中網(wǎng)絡(luò)設(shè)備新增連接時,從所述第一公網(wǎng)IP地址對應(yīng)第二端口集合申請到端口的概率??蛇x地,本發(fā)明實施例提供的上述單元可以合并為一個或者多個。在實現(xiàn)時,所述第一接收單元701和所述第二接收單元704可以由一個或多個物理接口實現(xiàn),所述第一分配單元702、所述第二分配單元703和所述第三分配單元706可以為處理器,所述第一啟動觸發(fā)單元705可以為定時器,所述第一回收單元707、所述第二回收單元708、所述第三回收單元709和所述第四回收單元710也可以為處理器。所述一個或多個物理接口和處理器使所述裝置完成了本實施例中執(zhí)行的操作??梢?,通過本發(fā)明實施例提供的一種分配公網(wǎng)地址的裝置,通過對公網(wǎng)IP地址對應(yīng)的端口分為第一端口集合和第二端口集合,對于首次申請公網(wǎng)IP地址的私網(wǎng)網(wǎng)絡(luò)設(shè)備,分配公網(wǎng)IP地址后,從所分配的公網(wǎng)IP地址的第一端口集合為所述私網(wǎng)網(wǎng)絡(luò)設(shè)備分配端口,所述私網(wǎng)網(wǎng)絡(luò)設(shè)備新增與公網(wǎng)網(wǎng)絡(luò)設(shè)備建立連接時,則從所述分配的公網(wǎng)IP地址的第二端口集合為所述私網(wǎng)網(wǎng)絡(luò)設(shè)備分配端口,這樣通過預(yù)留所述分配的公網(wǎng)IP地址的第二端口集合,用于所述私網(wǎng)網(wǎng)絡(luò)設(shè)備與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接時的端口分配,從而降低了所述私網(wǎng)用戶與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接分配不到公網(wǎng)端口的概率。本發(fā)明實施例提供的分配公網(wǎng)地址的裝置90,如圖9所示,包括第三接收單元901,用于接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接。第四分配單元902,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址;并從所述第一公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,所述第一空閑端口集合至少包含一個端口,將所述第一空閑端口集合中的端口存入第一端口集合中,所述第一端口集合對應(yīng)所述第一公網(wǎng)IP地址,所述第一端口集合中的端口數(shù)量不大于第一門限值。第五分配單元903,用于當(dāng)確定從所述第一空閑端口集合存入所述第一端口集合中的端口都被占用,并且所述第一公網(wǎng)IP地址對應(yīng)的全部端口中存在空閑端口時,為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,所述第二空閑端口集合至少包含一個端口,將所述第二空閑端口集合中的端口存入第二端口集合中,所述第二端口集合對應(yīng)所述第一公網(wǎng)IP地址,所述第二端口集合中的端口數(shù)量不大于第二門限值,所述第一門限值與所述第二門限值的和不大于所述第一公網(wǎng)IP地址對應(yīng)的全部端口數(shù)量。為了清楚描述本發(fā)明實施例提供的分配公網(wǎng)地址的方法,示例性的,在本發(fā)明實施例中以10. 0. 0.1:4567作為私網(wǎng)IP地址和私網(wǎng)端口號,以128. 0. 0. I作為第一公網(wǎng)IP地址為例進行說明。示例性的,當(dāng)所述第四分配單元902根據(jù)所述私網(wǎng)IP地址10.0.0. I確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址后,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址128. 0. 0. 1,且從所述第一公網(wǎng)IP地址128. 0. 0. I對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合,例如,所述第一空閑端口集合中端口范圍為3812 4812,將所述第一空閑端口集合中的端口存入第一端口集合中,所述第一端口集合中的端口數(shù)量不大于第一門限值,即若要給所述私網(wǎng)IP地址10. 0. 0. I分配公網(wǎng)IP地址,需要確定所述公網(wǎng)IP地址對應(yīng)的第一端口集合中的端口數(shù)量不大于第一門限值后,再給所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址,其中,所述第一端口集合中存儲的端口是為沒有分配任何公網(wǎng)IP地址的私網(wǎng)用戶設(shè)備分配的端口。具體的,所述第四分配單元902確定沒有為所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址的方法可以是,通過查找存儲私網(wǎng)用戶表的數(shù)據(jù)庫,所述私網(wǎng)用戶表信息中存儲有已分配公網(wǎng)IP地址的私網(wǎng)用戶IP地址和公網(wǎng)端口,當(dāng)在所述數(shù)據(jù)庫中沒有查找到存儲了所述私網(wǎng)用戶設(shè)備的私網(wǎng)IP地址的私網(wǎng)用戶表,則確定沒有為所述私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址。所述第一門限值用于限定對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中端口數(shù)量的最大值,所述第二門限值用于限定對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中端口數(shù)量的最大值。示例性的,當(dāng)所述第五分配單元903確定從所述第一空閑端口集合3812 4812存入到所述第一端口集合中的端口都被占用,并且所述第一公網(wǎng)IP地址對應(yīng)的端口中存在空閑端口時,為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,如50678 60678,所述第二空閑端口集合至少包含一個端口,將所述第二空閑端口集合中的端口存入對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中,且所述第二端口集合中的端口數(shù)量不大于第二門限值,即若要給所述私網(wǎng)用戶設(shè)備再次分配所述第一公網(wǎng)IP地址對應(yīng)的端口,需要確定所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合中的端口數(shù)量不大于第二門限值后,再從所述第一公網(wǎng)IP地址對應(yīng)的空閑端口中分配所述第二空閑端口給所述私網(wǎng)用戶設(shè)備,并且所述第一門限值與所述第二門限值的和不大于所述第一公網(wǎng)IP地址對應(yīng)的全部端口數(shù)量。進一步的,為了確定從該第一空閑端口集合存入該第一端口集合中的端口都被占用,參考圖9所示,該裝置90還包括 第四接收單元904,用于接收所述私網(wǎng)用戶設(shè)備發(fā)送的第二請求報文,觸發(fā)對從所述第一空閑端口集合存入所述第一端口集合中的端口占用情況進行檢測,所述第二請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接?;蛘?,第二啟動觸發(fā)單元905,用于啟動檢測定時器,當(dāng)所述檢測定時器到時后,觸發(fā)對從所述第一空閑端口集合存入所述第一端口集合中的端口占用情況進行檢測。進一步的,如圖10所示,該裝置90還包括第六分配單元906,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址,并且所述公網(wǎng)地址池中不存在第二公網(wǎng)IP地址,對應(yīng)所述第二公網(wǎng)IP地址的第一端口集合中的端口數(shù)量小于第三門限值,為所述私網(wǎng)用戶設(shè)備分配第三公網(wǎng)IP地址,從所述第三公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第三空閑端口集合,所述第三空閑端口集合至少包含一個端口,將所述第三空閑端口集合中的端口存入第二端口集合中,所述第二端口集合對應(yīng)所述第三公網(wǎng)IP地址,所述第二端口集合中的端口數(shù)量不大于第四門限值。這樣實現(xiàn)的好處在于,當(dāng)其他私網(wǎng)用戶設(shè)備需要申請公網(wǎng)IP地址時,如果此時公網(wǎng)地址池中對應(yīng)每個公網(wǎng)IP地址的第一端口集合中的端口數(shù)量都已經(jīng)達到門限值,這時所述第六分配單元906為所述其他私網(wǎng)用戶設(shè)備分配一個公網(wǎng)IP地址,所述分配的公網(wǎng)IP地址存在空閑端口,并且對應(yīng)所述分配的公網(wǎng)IP地址的第二端口集合中的端口數(shù)量沒有達到門限值,并且從所述分配的公網(wǎng)IP地址的空閑端口中為所述其他私網(wǎng)用戶設(shè)備分配公網(wǎng)端口,這樣能夠保證及時為私網(wǎng)用戶設(shè)備分配公網(wǎng)IP地址和端口,保障私網(wǎng)用戶設(shè)備與公網(wǎng)中網(wǎng)絡(luò)設(shè)備及時建立通信。可選地,如圖10所示,該裝置90還包括第五回收單元907,用于接收所述私網(wǎng)用戶設(shè)備的下線通知消息,回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口和從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口。具體的,當(dāng)私網(wǎng)用戶設(shè)備不再需要公網(wǎng)地址和公網(wǎng)端口資源,會發(fā)送一個攜帶有帶私網(wǎng)IP地址的下線通知消息,當(dāng)所述第五回收單元907接收到該下線通知后,釋放分配給所述私網(wǎng)用戶設(shè)備的公網(wǎng)IP地址和公網(wǎng)端口,以使得所述公網(wǎng)IP地址資源可以再分配給其他私網(wǎng)用戶設(shè)備,這樣一來,充分利用了公網(wǎng)IP地址,節(jié)約了資源??蛇x地,參考圖10所示,該裝置90還包括第六回收單元908,用于若在預(yù)設(shè)的時間門限內(nèi)沒有接收到所述私網(wǎng)用戶設(shè)備發(fā)送來的報文,回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口和從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口。示例性的,若在預(yù)設(shè)的時間門限內(nèi),第六回收單元908沒有接收到攜帶有所述私網(wǎng)IP地址10. 0. 0. I的報文,則回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口,回收從該所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口,當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收從所述第三空閑端口集合存到對應(yīng)所述第三公網(wǎng)IP地址的第二端口集合中的端口,這樣,便于充分利用了公網(wǎng)IP地址及對應(yīng)所述公網(wǎng)IP地址的端口,提高了資源利用率??蛇x地,參考圖10所示,該裝置90還包括第七回收單元909,用于若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口和從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第 二端口集合中的端口。示例性的,若在預(yù)設(shè)的時間門限內(nèi)所述第七回收單元909沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,即發(fā)送攜帶有所述私網(wǎng)地址10. 0. 0. I的報文,則回收從所述第一空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端口集合中的端口和從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口,當(dāng)為所述私網(wǎng)用戶設(shè)備分配了所述第三空閑端口集合時,還需要回收從所述第三空閑端口集合存到對應(yīng)所述第三公網(wǎng)IP地址的第二端口集合中的端口,這樣,便于充分利用了公網(wǎng)IP地址及對應(yīng)所述公網(wǎng)IP地址的端口,提高了資源利用率。可選地,參考圖10所示,該裝置90還包括第八回收單元910,用于當(dāng)從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口沒有被占用時,回收從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口。所述回收從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口不需要等到所述私網(wǎng)用戶發(fā)送下線通知,只要所述第八回收單元910判斷從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口沒有被占用時,即可回收從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口,這樣能夠加速從所述第二空閑端口集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端口集合中的端口的回收,這樣,進一步提高所述第一公網(wǎng)IP地址的端口的利用率,提高所述私網(wǎng)用戶設(shè)備與公網(wǎng)中網(wǎng)絡(luò)設(shè)備新增連接時,從所述第一公網(wǎng)IP地址對應(yīng)的端口集合中申請到端口的概率。
可選地,本發(fā)明實施例提供的上述單元可以合并為一個或者多個。在實現(xiàn)時,所述第三接收單元901和所述第四接收單元904可以由一個或多個物理接口實現(xiàn),所述第四分配單元902、所述第五分配單元903和所述第六分配單元906可以為處理器,所述第二啟動觸發(fā)單元905可以為定時器,所述第五回收單元907、所述第六回收單元908、所述第七回收單元909和所述第八回收單元910也可以為處理器。所述一個或多個物理接口和處理器使所述裝置完成了本實施例中執(zhí)行的操作??梢?,通過本發(fā)明實施例提供的一種分配公網(wǎng)地址的裝置,通過將公網(wǎng)IP地址的端口中分配給首次申請公網(wǎng)IP地址的私網(wǎng)網(wǎng)絡(luò)設(shè)備的端口數(shù)量限制在第一門限值內(nèi),并且預(yù)留該公網(wǎng)IP地址的端口中第二門限值數(shù)量的端口,用于所述私網(wǎng)網(wǎng)絡(luò)設(shè)備與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接時的端口分配,從而當(dāng)所述私網(wǎng)網(wǎng)絡(luò)設(shè)備新增與公網(wǎng)網(wǎng)絡(luò)設(shè)備建立連接時,降低了所述私網(wǎng)用戶與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接分配不到公網(wǎng)端口的概率。在本發(fā)明所有實施例中,所述分配公網(wǎng)地址的裝置可以通過支持NAT功能的路由器、支持NAT功能的交換機或是運營級地址轉(zhuǎn)發(fā)(英文全稱為Carrier Grade NAT,英文縮寫為CGN)設(shè)備來實現(xiàn),或者是通過支持NAT功能的其他網(wǎng)絡(luò)設(shè)備來實現(xiàn)。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡 管參照前述實施例對本發(fā)明進行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。
權(quán)利要求
1.ー種分配公網(wǎng)地址的方法,其特征在于,包括 接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接; 當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,所述第一公網(wǎng)IP地址對應(yīng)的端ロ分為第一端ロ集合和第二端ロ集合,所述第二端ロ集合包括至少ー個端ロ,所述第一公網(wǎng)IP地址對應(yīng)的第一端ロ集合存在空閑端ロ,從所述第一公網(wǎng)IP地址對應(yīng)的第一端ロ集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端ロ集合,所述第一空閑端ロ集合包含至少ー個端Π ; 當(dāng)確定所述第一空閑端ロ集合中的端ロ都被占用,并且第一公網(wǎng)IP地址對應(yīng)的第二端ロ集合存在空閑端ロ時,從所述第一公網(wǎng)IP地址對應(yīng)的第二端ロ集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端ロ集合,所述第二空閑端ロ集合至少包含ー個端ロ。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在所述當(dāng)確定所述第一空閑端ロ集合中的端ロ都被占用之前還包括 接收所述私網(wǎng)用戶設(shè)備發(fā)送的第二請求報文,觸發(fā)對所述第一空閑端ロ集合中的端ロ占用情況進行檢測,所述第二請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;或者, 啟動檢測定時器,當(dāng)所述檢測定時器到時后,觸發(fā)對所述第一空閑端ロ集合中的端ロ占
3.根據(jù)權(quán)利要求I或2所述的方法,其特征在于,所述方法還包括 當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址,并且所述公網(wǎng)地址池中不存在第二公網(wǎng)IP地址,所述第二公網(wǎng)IP地址對應(yīng)的端ロ分為第一端ロ集合和第二端ロ集合,所述第二公網(wǎng)IP地址對應(yīng)的第一端ロ集合存在空閑端ロ時,為所述私網(wǎng)用戶設(shè)備分配第三公網(wǎng)IP地址,所述第三公網(wǎng)IP地址對應(yīng)的端ロ分為第一端ロ集合和第二端ロ集合,所述第三公網(wǎng)IP地址對應(yīng)的第二端ロ集合存在空閑端ロ,從所述第三公網(wǎng)IP地址對應(yīng)的第二端ロ集合的空閑端ロ中為所述私網(wǎng)用戶設(shè)備分配第三空閑端ロ集合,所述第三空閑端ロ集合至少包含ー個端ロ。
4.根據(jù)權(quán)利要求I至3任ー權(quán)利要求所述的方法,其特征在于,所述方法還包括 接收所述私網(wǎng)用戶設(shè)備的下線通知消息,回收所述第一空閑端ロ集合和所述第二空閑端ロ集合;或者 若在預(yù)設(shè)的時間門限內(nèi)沒有接收到所述私網(wǎng)用戶設(shè)備發(fā)送來的報文,回收所述第一空閑端ロ集合和所述第二空閑端ロ集合;或者 若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,回收所述第一空閑端ロ集合和所述第二空閑端ロ集合。
5.根據(jù)權(quán)利要求I至4任ー權(quán)利要求所述的方法,其特征在于,所述方法還包括 當(dāng)所述第二空閑端ロ集合中的端ロ都沒有被占用時,回收所述第ニ空閑端ロ集合。
6.ー種分配公網(wǎng)地址的方法,其特征在于,包括 接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,且從所述第一公網(wǎng)IP地址對應(yīng)的空閑端ロ中為所述私網(wǎng)用戶設(shè)備分配第一空閑端ロ集合,所述第一空閑端ロ集合至少包含ー個端ロ,將所述第一空閑端ロ集合中的端ロ存入第一端ロ集合中,所述第一端ロ集合對應(yīng)所述第一公網(wǎng)IP地址,所述第一端ロ集合中的端ロ數(shù)量不大于第一門限值; 當(dāng)確定從所述第一空閑端ロ集合存入所述第一端ロ集合中的端ロ都被占用,并且所述第一公網(wǎng)IP地址對應(yīng)的端口中存在空閑端ロ時,為所述私網(wǎng)用戶設(shè)備分配第二空閑端ロ集合,所述第二空閑端ロ集合至少包含ー個端ロ,將所述第二空閑端ロ集合中的端ロ存入第二端ロ集合中,所述第二端ロ集合對應(yīng)所述第一公網(wǎng)IP地址,所述第二端ロ集合中的端ロ數(shù)量不大于第二門限值,所述第一門限值與所述第二門限值的和不大于所述第一公網(wǎng)IP地址對應(yīng)的全部端口數(shù)量。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,在所述當(dāng)確定從所述第一空閑端ロ集合存入所述第一端ロ集合中的端ロ都被占用之前還包括 接收所述私網(wǎng)用戶設(shè)備發(fā)送的第二請求報文,觸發(fā)對從所述第一空閑端ロ集合存入所述第一端ロ集合中的端口占用情況進行檢測,所述第二請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;或者 啟動檢測定時器,當(dāng)所述檢測定時器到時后,觸發(fā)對從所述第一空閑端ロ集合存入所述第一端ロ集合中的端ロ占用情況進行檢測。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述方法還包括 當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址,并且所述公網(wǎng)地址池中不存在第二公網(wǎng)IP地址,對應(yīng)所述第二公網(wǎng)IP地址的第一端ロ集合中的端口數(shù)量小于第三門限值,為所述私網(wǎng)用戶設(shè)備分配第三公網(wǎng)IP地址,從所述第三公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第三空閑端ロ集合,所述第三空閑端ロ集合至少包含ー個端ロ,將所述第三空閑端ロ集合中的端ロ存入第二端ロ集合中,所述第二端ロ集合對應(yīng)所述第三公網(wǎng)IP地址,所述第二端ロ集合中的端口數(shù)量不大于第四門限值。
9.根據(jù)權(quán)利要求6至8任ー權(quán)利要求所述的方法,其特征在于,所述方法還包括 接收所述私網(wǎng)用戶設(shè)備的下線通知消息,回收從所述第一空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端ロ集合中的端口和從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ ;或者 若在預(yù)設(shè)的時間門限內(nèi)沒有接收到所述私網(wǎng)用戶設(shè)備發(fā)送來的報文,回收從所述第一空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端ロ集合中的端口和從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ ;或者 若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,回收從所述第一空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端ロ集合中的端口和從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ。
10.根據(jù)權(quán)利要求6至9任ー權(quán)利要求所述的方法,其特征在于,所述方法還包括 當(dāng)從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ沒有被占用時,回收從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ。
11.ー種分配公網(wǎng)地址的裝置,其特征在于,包括 第一接收單元,用于接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接; 第一分配単元,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址,所述第一公網(wǎng)IP地址對應(yīng)的端ロ分為第一端ロ集合和第二端ロ集合,所述第二端ロ集合包括至少ー個端ロ,所述第一公網(wǎng)IP地址對應(yīng)的第一端ロ集合存在空閑端ロ,從所述第一公網(wǎng)IP地址對應(yīng)的第一端ロ集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端ロ集合,所述第一空閑端ロ集合包含至少ー個端ロ; 第二分配単元,用于當(dāng)確定所述第一空閑端ロ集合中的端ロ都被占用,并且第一公網(wǎng)IP地址對應(yīng)的第二端ロ集合存在空閑端ロ時,從所述第一公網(wǎng)IP地址對應(yīng)的第二端ロ集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端ロ集合,所述第二空閑端ロ集合至少包含ー個端ロ。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括 第二接收單元,用于接收所述私網(wǎng)用戶設(shè)備發(fā)送的第二請求報文,觸發(fā)對所述第一空閑端ロ集合中的端口占用情況進行檢測,所述第二請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;或者, 第一啟動觸發(fā)單元,用于啟動檢測定時器,當(dāng)所述檢測定時器到時后,觸發(fā)對所述第一空閑端ロ集合中的端ロ占用情況進行檢測。
13.根據(jù)權(quán)利要求11或12所述的裝置,其特征在于,還包括 第三分配単元,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址,并且所述公網(wǎng)地址池中不存在第二公網(wǎng)IP地址,所述第二公網(wǎng)IP地址對應(yīng)的端ロ分為第一端ロ集合和第二端ロ集合,所述第二公網(wǎng)IP地址對應(yīng)的第一端ロ集合存在空閑端ロ吋,為所述私網(wǎng)用戶設(shè)備分配第三公網(wǎng)IP地址,所述第三公網(wǎng)IP地址對應(yīng)的端ロ分為第一端ロ集合和第二端ロ集合,所述第三公網(wǎng)IP地址對應(yīng)的第二端ロ集合存在空閑端ロ,從所述第三公網(wǎng)IP地址對應(yīng)的第二端ロ集合的空閑端ロ中為所述私網(wǎng)用戶設(shè)備分配第三空閑端ロ集合,所述第三空閑端ロ集合至少包含ー個端ロ。
14.根據(jù)權(quán)利要求11至13任ー權(quán)利要求所述的裝置,其特征在于,還包括 第一回收單元,用于接收所述私網(wǎng)用戶設(shè)備的下線通知消息,回收所述第一空閑端ロ集合和所述第二空閑端ロ集合;或者 第二回收單元,用于若在預(yù)設(shè)的時間門限內(nèi)沒有接收到所述私網(wǎng)用戶設(shè)備發(fā)送來的報文,回收所述第一空閑端ロ集合和所述第二空閑端ロ集合;或者 第三回收單元,用于若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,回收所述第一空閑端ロ集合和所述第二空閑端ロ集合。
15.根據(jù)權(quán)利要求11至14任ー權(quán)利要求所述的裝置,其特征在于,還包括 第四回收單元,用于當(dāng)所述第二空閑端ロ集合中的端ロ都沒有被占用時,回收所述第ニ空閑端ロ集合。
16.ー種分配公網(wǎng)地址的裝置,其特征在于,包括 第三接收單元,用于接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文,所述第一請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接; 第四分配単元,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)互聯(lián)網(wǎng)協(xié)議IP地址,并且從所述第一公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端ロ集合,所述第一空閑端ロ集合至少包含ー個端ロ,將所述第一空閑端ロ集合中的端ロ存入第一端ロ集合中,所述第一端ロ集合對應(yīng)所述第一公網(wǎng)IP地址,所述第一端ロ集合中的端口數(shù)量不大于第一門限值; 第五分配単元,用于當(dāng)確定從所述第一空閑端ロ集合存入所述第一端ロ集合中的端ロ都被占用,并且所述第一公網(wǎng)IP地址對應(yīng)的端口中存在空閑端ロ時,為所述私網(wǎng)用戶設(shè)備分配第二空閑端ロ集合,所述第二空閑端ロ集合至少包含ー個端ロ,將所述第二空閑端ロ集合中的端ロ存入第二端ロ集合中,所述第二端ロ集合對應(yīng)所述第一公網(wǎng)IP地址,所述第ニ端ロ集合中的端口數(shù)量不大于第二門限值,所述第一門限值與所述第二門限值的和不大于所述第一公網(wǎng)IP地址對應(yīng)的全部端口數(shù)量。
17.根據(jù)權(quán)利要求16所述的裝置,其特征在于,所述分配公網(wǎng)地址的裝置還包括 第四接收單元,用于接收所述私網(wǎng)用戶設(shè)備發(fā)送的第二請求報文,觸發(fā)對從所述第一空閑端ロ集合存入所述第一端ロ集合中的端口占用情況進行檢測,所述第二請求報文用于所述私網(wǎng)用戶設(shè)備和公網(wǎng)中的網(wǎng)絡(luò)設(shè)備建立連接;或者 第二啟動觸發(fā)單元,用于啟動檢測定時器,當(dāng)所述檢測定時器到時后,觸發(fā)對從所述第一空閑端ロ集合存入所述第一端ロ集合中的端口占用情況進行檢測。
18.根據(jù)權(quán)利要求16或17所述的裝置,其特征在于,還包括 第六分配単元,用于當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址,并且所述公網(wǎng)地址池中不存在第二公網(wǎng)IP地址,對應(yīng)所述第二公網(wǎng)IP地址的第一端ロ集合中的端口數(shù)量小于第三門限值,為所述私網(wǎng)用戶設(shè)備分配第三公網(wǎng)IP地址,從所述第三公網(wǎng)IP地址對應(yīng)的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第三空閑端ロ集合,所述第三空閑端ロ集合至少包含ー個端ロ,將所述第三空閑端ロ集合中的端ロ存入第二端ロ集合中,所述第二端ロ集合對應(yīng)所述第三公網(wǎng)IP地址,所述第二端ロ集合中的端ロ數(shù)量不大于第四門限值。
19.根據(jù)權(quán)利要求16至18任ー權(quán)利要求所述的裝置,其特征在于,還包括 第五回收單元,用于接收所述私網(wǎng)用戶設(shè)備的下線通知消息,回收從所述第一空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端ロ集合中的端口和從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ ;或者 第六回收單元,用于若在預(yù)設(shè)的時間門限內(nèi)沒有接收到所述私網(wǎng)用戶設(shè)備發(fā)送來的報文,回收從所述第一空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端ロ集合中的端口和從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ ;或者 第七回收單元,用于若在預(yù)設(shè)的時間門限內(nèi)沒有接收到公網(wǎng)網(wǎng)絡(luò)設(shè)備向所述私網(wǎng)用戶設(shè)備發(fā)送的報文,回收從所述第一空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第一端ロ集合中的端ロ和從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ。
20.根據(jù)權(quán)利要求16至19任ー權(quán)利要求所述的裝置,其特征在于,還包括 第八回收單元,用于當(dāng)從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第ニ端 ロ集合中的端ロ沒有被占用時,回收從所述第二空閑端ロ集合存到對應(yīng)所述第一公網(wǎng)IP地址的第二端ロ集合中的端ロ。
全文摘要
本發(fā)明實施例提供了分配公網(wǎng)地址的方法,該方法包括接收私網(wǎng)用戶設(shè)備發(fā)送的第一請求報文;當(dāng)確定沒有為所述私網(wǎng)用戶設(shè)備分配任何公網(wǎng)IP地址時,從公網(wǎng)地址池中為所述私網(wǎng)用戶設(shè)備分配第一公網(wǎng)IP地址,從所述第一公網(wǎng)IP地址對應(yīng)的第一端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第一空閑端口集合;當(dāng)確定所述第一空閑端口集合中的端口都被占用,從所述第一公網(wǎng)IP地址對應(yīng)的第二端口集合的空閑端口中為所述私網(wǎng)用戶設(shè)備分配第二空閑端口集合,本發(fā)明實施例還提供了分配公網(wǎng)地址的裝置,通過本發(fā)明實施例提供的技術(shù)方案,降低了所述私網(wǎng)用戶與公網(wǎng)網(wǎng)絡(luò)設(shè)備新增連接分配不到公網(wǎng)端口的概率。
文檔編號H04L29/12GK102685272SQ20121017433
公開日2012年9月19日 申請日期2012年5月30日 優(yōu)先權(quán)日2012年5月30日
發(fā)明者郭英輝 申請人:華為技術(shù)有限公司