亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種連接建立方法和裝置與流程

文檔序號(hào):12753552閱讀:216來(lái)源:國(guó)知局
一種連接建立方法和裝置與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種連接建立方法和裝置。



背景技術(shù):

NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)是將IP報(bào)文的報(bào)文頭中IP地址轉(zhuǎn)換為另一個(gè)IP地址的過(guò)程,用于解決IP地址不足的問(wèn)題。在實(shí)際應(yīng)用中,NAT可以實(shí)現(xiàn)內(nèi)部網(wǎng)絡(luò)用戶訪問(wèn)外部公共網(wǎng)絡(luò)的功能,也可以允許外部公共網(wǎng)絡(luò)訪問(wèn)部分內(nèi)部網(wǎng)絡(luò)資源(如內(nèi)部服務(wù)器)。由于在外部公共網(wǎng)絡(luò)上顯示的是NAT轉(zhuǎn)換后的公網(wǎng)IP地址,外部公共網(wǎng)絡(luò)不知道內(nèi)部網(wǎng)絡(luò)用戶/內(nèi)部服務(wù)器的IP地址,因此NAT功能還可以保證內(nèi)部網(wǎng)絡(luò)用戶/內(nèi)部服務(wù)器的安全。

NAT配置方式可以包括動(dòng)態(tài)配置方式和靜態(tài)配置方式。在靜態(tài)配置方式中,私網(wǎng)IP地址與公網(wǎng)IP地址一一對(duì)應(yīng)。在動(dòng)態(tài)配置方式中,多個(gè)私網(wǎng)IP地址可以對(duì)應(yīng)一個(gè)公網(wǎng)IP地址,這多個(gè)私網(wǎng)IP地址對(duì)應(yīng)該公網(wǎng)IP地址的多個(gè)端口,從而節(jié)約公網(wǎng)IP地址。無(wú)論采用哪種NAT配置方式,NAT資源的數(shù)量都是有限的。例如,在靜態(tài)配置方式中,假設(shè)公網(wǎng)地址池內(nèi)有10個(gè)公網(wǎng)IP地址,則NAT資源的數(shù)量為10個(gè)。在動(dòng)態(tài)配置方式中,假設(shè)公網(wǎng)地址池內(nèi)有10個(gè)公網(wǎng)IP地址,每個(gè)公網(wǎng)IP地址對(duì)應(yīng)10個(gè)端口,則NAT資源的數(shù)量為100個(gè)。

由于NAT資源的數(shù)量有限,當(dāng)NAT資源被耗盡時(shí),則無(wú)法建立新連接,導(dǎo)致新連接的業(yè)務(wù)中斷。例如,當(dāng)用戶開啟P2P軟件時(shí),該P(yáng)2P軟件會(huì)建立大量連接,這些連接會(huì)迅速消耗NAT資源,待NAT資源被耗盡時(shí),由于沒(méi)有NAT資源,會(huì)導(dǎo)致新連接(P2P連接或者其它應(yīng)用類型的連接)中斷,連接建立失敗。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供一種連接建立方法,所述方法包括:

在接收到連接建立報(bào)文時(shí),若預(yù)先配置的分配資源池內(nèi)沒(méi)有可用的網(wǎng)絡(luò)地址轉(zhuǎn)換NAT資源,則從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用所述NAT資源為所述連接建立報(bào)文建立第一連接;

在識(shí)別出所述第一連接對(duì)應(yīng)的應(yīng)用類型后,確定所述應(yīng)用類型的優(yōu)先級(jí);

若所述優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第二連接,并回收分配給所述第二連接的NAT資源。

本發(fā)明提供一種連接建立裝置,所述裝置包括:

建立模塊,用于在接收到連接建立報(bào)文時(shí),若預(yù)先配置的分配資源池內(nèi)沒(méi)有可用的網(wǎng)絡(luò)地址轉(zhuǎn)換NAT資源,則從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用所述NAT資源為所述連接建立報(bào)文建立第一連接;

處理模塊,用于在識(shí)別出所述第一連接對(duì)應(yīng)的應(yīng)用類型后,確定所述應(yīng)用類型的優(yōu)先級(jí);若所述優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第二連接,并回收分配給所述第二連接的NAT資源。

基于上述技術(shù)方案,本發(fā)明實(shí)施例中,當(dāng)NAT資源被耗盡時(shí),可以優(yōu)先保證高優(yōu)先級(jí)的應(yīng)用類型對(duì)應(yīng)的連接被正常建立,為該連接分配NAT資源,保證用戶關(guān)鍵業(yè)務(wù)的正常使用,提高用戶使用體驗(yàn),防止單個(gè)用戶或者單個(gè)IP濫用NAT資源。而且,在接收到連接建立報(bào)文后,若未識(shí)別出其應(yīng)用類型,由于此時(shí)不知道該連接建立報(bào)文對(duì)應(yīng)的優(yōu)先級(jí),因此,可以先從預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源建立連接,而不是直接丟棄該連接建立報(bào)文,從而避免連接無(wú)法建立的問(wèn)題。待識(shí)別出該連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型后,就可以基于該應(yīng)用類型對(duì)應(yīng)的優(yōu)先級(jí)去釋放更低優(yōu)先級(jí)的連接。

附圖說(shuō)明

為了更加清楚地說(shuō)明本發(fā)明實(shí)施例或者現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例或者現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明一種實(shí)施方式中的應(yīng)用場(chǎng)景示意圖;

圖2是本發(fā)明一種實(shí)施方式中的連接建立方法的流程圖;

圖3是本發(fā)明一種實(shí)施方式中的NAT設(shè)備的硬件結(jié)構(gòu)圖;

圖4是本發(fā)明一種實(shí)施方式中的連接建立裝置的結(jié)構(gòu)圖。

具體實(shí)施方式

在本發(fā)明使用的術(shù)語(yǔ)僅僅是出于描述特定實(shí)施例的目的,而非限制本發(fā)明。本發(fā)明和權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其它含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”是指包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。

應(yīng)當(dāng)理解,盡管在本發(fā)明可能采用術(shù)語(yǔ)第一、第二、第三等來(lái)描述各種信息,但這些信息不應(yīng)限于這些術(shù)語(yǔ)。這些術(shù)語(yǔ)僅用來(lái)將同一類型的信息彼此區(qū)分開。例如,在不脫離本發(fā)明范圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決于語(yǔ)境,此外,所使用的詞語(yǔ)“如果”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”。

本發(fā)明實(shí)施例中提出一種連接建立方法,該方法可以應(yīng)用于NAT設(shè)備上。以圖1為本發(fā)明實(shí)施例的應(yīng)用場(chǎng)景示意圖,NAT設(shè)備可以為一個(gè)獨(dú)立設(shè)備,并部署在出口路由器與防火墻設(shè)備之間,NAT設(shè)備也可以作為一個(gè)功能模塊,并部署在出口路由器或者防火墻設(shè)備上。為了方便描述,圖1中以NAT設(shè)備部署在防火墻設(shè)備上為例進(jìn)行說(shuō)明,即由防火墻設(shè)備執(zhí)行本發(fā)明實(shí)施例的技術(shù)方案。

NAT設(shè)備上配置有多個(gè)NAT資源,這些NAT資源可以是公網(wǎng)IP地址,如公網(wǎng)IP地址1-公網(wǎng)IP地址100等100個(gè)NAT資源。這些NAT資源也可以是公網(wǎng)IP地址+端口,如公網(wǎng)IP地址可以為公網(wǎng)IP地址1-公網(wǎng)IP地址10,端口可以為端口1-端口10,這些公網(wǎng)IP地址和端口可以組合成100個(gè)NAT資源。

在一個(gè)例子中,可以在NAT設(shè)備上預(yù)先配置分配資源池和預(yù)留資源池,并將部分NAT資源分配到分配資源池內(nèi),并將剩余的NAT資源分配到預(yù)留資源池內(nèi)。其中,分配到預(yù)留資源池內(nèi)的NAT資源的數(shù)量可以小于分配到分配資源池內(nèi)的NAT資源的數(shù)量。例如,可以將公網(wǎng)IP地址1-公網(wǎng)IP地址90分配到分配資源池內(nèi),并將公網(wǎng)IP地址91-公網(wǎng)IP地址100分配到預(yù)留資源池內(nèi)。

在一個(gè)例子中,由于不同應(yīng)用的重要性不同,因此可以為不同的應(yīng)用類型配置不同的優(yōu)先級(jí)。例如,郵箱應(yīng)用的優(yōu)先級(jí)為100,聊天應(yīng)用的優(yōu)先級(jí)為50,P2P應(yīng)用的優(yōu)先級(jí)為10。優(yōu)先級(jí)的數(shù)值越大,則表示優(yōu)先級(jí)越高。當(dāng)然,上述描述只是給出了應(yīng)用類型的幾個(gè)示例,在實(shí)際應(yīng)用中,還可以包括其它應(yīng)用類型,而且,各應(yīng)用類型的優(yōu)先級(jí)也可以根據(jù)實(shí)際需要進(jìn)行配置,對(duì)此不做限制。

參見圖2所示,為連接建立方法的流程圖,該方法可以包括以下步驟:

步驟201,在接收到連接建立報(bào)文時(shí),若分配資源池內(nèi)沒(méi)有可用的NAT資源,則從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源為該連接建立報(bào)文建立第一連接。

步驟202,在識(shí)別出第一連接對(duì)應(yīng)的應(yīng)用類型后,確定該應(yīng)用類型的優(yōu)先級(jí)。

步驟203,若該優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第二連接,并回收分配給該第二連接的NAT資源。

針對(duì)步驟201,在一個(gè)例子中,當(dāng)內(nèi)部網(wǎng)絡(luò)中的用戶設(shè)備需要訪問(wèn)公共網(wǎng)絡(luò)的服務(wù)器時(shí),會(huì)發(fā)送針對(duì)同一數(shù)據(jù)流的多個(gè)報(bào)文,即五元組信息(如源IP地址、目的IP地址、源端口、目的端口、協(xié)議類型等)相同的多個(gè)報(bào)文,將針對(duì)同一數(shù)據(jù)流的首個(gè)報(bào)文稱為連接建立報(bào)文。在接收到連接建立報(bào)文之后,由于該連接建立報(bào)文是針對(duì)同一數(shù)據(jù)流的首個(gè)報(bào)文,之前還沒(méi)有為該數(shù)據(jù)流建立過(guò)連接,因此,可以采用后續(xù)步驟,確定為該數(shù)據(jù)流建立連接或者不建立連接。

在一個(gè)例子中,在接收到連接建立報(bào)文時(shí),若在分配資源池內(nèi),當(dāng)前有可用的NAT資源,則可以直接從分配資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該選擇的NAT資源為該連接建立報(bào)文建立連接。若在分配資源池內(nèi),當(dāng)前沒(méi)有可用的NAT資源,則可以從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源為該連接建立報(bào)文建立第一連接。

在一個(gè)例子中,在從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源之前,還可以判斷是否識(shí)別出該連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型;如果沒(méi)有識(shí)別出應(yīng)用類型,則可以執(zhí)行從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源的過(guò)程,并可以利用該NAT資源為該連接建立報(bào)文建立第一連接。

其中,針對(duì)同一數(shù)據(jù)流的多個(gè)報(bào)文,可能基于數(shù)據(jù)流的首個(gè)報(bào)文(即連接建立報(bào)文)就識(shí)別出對(duì)應(yīng)的應(yīng)用類型,如郵箱應(yīng)用或者P2P應(yīng)用等,也可能無(wú)法基于數(shù)據(jù)流的首個(gè)報(bào)文識(shí)別出對(duì)應(yīng)的應(yīng)用類型,而是需要收到數(shù)據(jù)流的多個(gè)報(bào)文后,才能夠識(shí)別出對(duì)應(yīng)的應(yīng)用類型。例如,若可以從數(shù)據(jù)流的首個(gè)報(bào)文中解析出與應(yīng)用類型有關(guān)的字段,則可以基于該字段分析出應(yīng)用類型,即基于數(shù)據(jù)流的首個(gè)報(bào)文識(shí)別出對(duì)應(yīng)的應(yīng)用類型。又例如,在無(wú)法從數(shù)據(jù)流的首個(gè)報(bào)文中解析出與應(yīng)用類型有關(guān)的字段時(shí),可以從數(shù)據(jù)流的后續(xù)報(bào)文(如第三個(gè)報(bào)文)中解析出與應(yīng)用類型有關(guān)的字段,并可以基于該字段分析出應(yīng)用類型,即基于第三個(gè)報(bào)文識(shí)別出對(duì)應(yīng)的應(yīng)用類型。又例如,在無(wú)法從數(shù)據(jù)流的首個(gè)報(bào)文中解析出與應(yīng)用類型有關(guān)的字段時(shí),還可以基于數(shù)據(jù)流的多個(gè)報(bào)文分析出應(yīng)用類型,例如第三個(gè)報(bào)文攜帶內(nèi)容A,第五個(gè)報(bào)文攜帶內(nèi)容B時(shí),表示應(yīng)用類型為應(yīng)用類型A。當(dāng)然,上述過(guò)程只是給出了識(shí)別應(yīng)用類型的幾個(gè)示例,對(duì)于識(shí)別應(yīng)用類型的方式,可以根據(jù)實(shí)際需要進(jìn)行選擇,對(duì)此識(shí)別應(yīng)用類型的方式不做限制。

在一個(gè)例子中,若沒(méi)有識(shí)別出該連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型,則可以從預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源為該連接建立報(bào)文建立第一連接。若識(shí)別出該連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型,則可以確定該應(yīng)用類型的優(yōu)先級(jí);若該優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第三連接,并回收分配給第三連接的NAT資源,并利用回收的NAT資源為該連接建立報(bào)文建立連接;若該優(yōu)先級(jí)是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則拒絕為該連接建立報(bào)文建立連接。

例如,若識(shí)別出連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型為郵箱應(yīng)用,則可以確定該郵箱應(yīng)用的優(yōu)先級(jí)為100,假設(shè)當(dāng)前存在優(yōu)先級(jí)為10的P2P連接,則郵箱應(yīng)用的優(yōu)先級(jí)100不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),選取一個(gè)優(yōu)先級(jí)為10(最低優(yōu)先級(jí))的P2P連接作為第三連接,斷開該第三連接,并回收分配給該第三連接的NAT資源,并利用該NAT資源為該連接建立報(bào)文建立連接。若識(shí)別出連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型為P2P應(yīng)用,則可以確定該P(yáng)2P應(yīng)用的優(yōu)先級(jí)為10,且P2P應(yīng)用的優(yōu)先級(jí)10是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),因此拒絕為該連接建立報(bào)文建立連接,即不再為P2P應(yīng)用建立連接。

在步驟201中,針對(duì)利用NAT資源為連接建立報(bào)文建立連接的過(guò)程,可以從連接建立報(bào)文中解析出五元組信息,如源IP地址、目的IP地址、源端口、目的端口、協(xié)議類型等,并創(chuàng)建一個(gè)會(huì)話,在該會(huì)話中記錄會(huì)話標(biāo)識(shí)、該五元組信息、該NAT資源。利用該NAT資源對(duì)五元組信息中的源IP地址進(jìn)行NAT轉(zhuǎn)換(NAT資源是公網(wǎng)IP地址的情況),或者利用該NAT資源對(duì)五元組信息中的源IP地址和源端口進(jìn)行NAT轉(zhuǎn)換(NAT資源是公網(wǎng)IP地址+端口的情況),并記錄NAT轉(zhuǎn)換后的五元組信息。若接收到針對(duì)該五元組信息(轉(zhuǎn)換前的五元組信息)的后續(xù)報(bào)文,由于已經(jīng)建立連接,因此不再為該五元組信息的后續(xù)報(bào)文建立連接,直接利用該會(huì)話的內(nèi)容進(jìn)行處理,具體處理不再贅述。

針對(duì)步驟202和步驟203,在一個(gè)例子中,針對(duì)同一數(shù)據(jù)流的多個(gè)報(bào)文,若無(wú)法基于數(shù)據(jù)流的首個(gè)報(bào)文識(shí)別出對(duì)應(yīng)的應(yīng)用類型,而是需要收到數(shù)據(jù)流的多個(gè)報(bào)文后,才能夠識(shí)別出對(duì)應(yīng)的應(yīng)用類型,則在從預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源為該連接建立報(bào)文建立第一連接之后,可以在收到該數(shù)據(jù)流的多個(gè)報(bào)文,并識(shí)別出對(duì)應(yīng)的應(yīng)用類型后,通過(guò)該多個(gè)報(bào)文的五元組信息,查詢到對(duì)應(yīng)的第一連接,并將該應(yīng)用類型確定為該第一連接對(duì)應(yīng)的應(yīng)用類型。之后,確定該應(yīng)用類型的優(yōu)先級(jí)。若該優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第二連接,并回收分配給該第二連接的NAT資源。若該優(yōu)先級(jí)是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開第一連接,并回收分配給第一連接的NAT資源。

例如,若識(shí)別出第一連接對(duì)應(yīng)的應(yīng)用類型為郵箱應(yīng)用,則可以確定郵箱應(yīng)用的優(yōu)先級(jí)為100,假設(shè)當(dāng)前存在優(yōu)先級(jí)為10的P2P連接,則郵箱應(yīng)用的優(yōu)先級(jí)100不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),選取一個(gè)優(yōu)先級(jí)為10(最低優(yōu)先級(jí))的P2P連接作為第二連接,斷開該第二連接,并回收分配給該第二連接的NAT資源。若識(shí)別出第一連接對(duì)應(yīng)的應(yīng)用類型為P2P應(yīng)用,則可以確定P2P應(yīng)用的優(yōu)先級(jí)為10,且P2P應(yīng)用的優(yōu)先級(jí)10是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),因此斷開第一連接,并回收分配給第一連接的NAT資源。

在一個(gè)例子中,在從預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源為連接建立報(bào)文建立第一連接之后,為了避免長(zhǎng)時(shí)間未識(shí)別出第一連接對(duì)應(yīng)的應(yīng)用類型,導(dǎo)致預(yù)留資源池內(nèi)的NAT資源被長(zhǎng)時(shí)間占用等問(wèn)題,則在利用NAT資源為連接建立報(bào)文建立第一連接之后,還可以為該第一連接設(shè)置老化定時(shí)器,若在預(yù)設(shè)時(shí)間內(nèi)(即老化定時(shí)器超時(shí)時(shí)),未識(shí)別出該第一連接對(duì)應(yīng)的應(yīng)用類型,則可以直接斷開第一連接,并回收分配給第一連接的NAT資源。若在預(yù)設(shè)時(shí)間內(nèi),識(shí)別出該第一連接對(duì)應(yīng)的應(yīng)用類型,則執(zhí)行“確定該應(yīng)用類型的優(yōu)先級(jí),若該優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第二連接,并回收分配給該第二連接的NAT資源,若該優(yōu)先級(jí)是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開第一連接,并回收分配給第一連接的NAT資源”的過(guò)程?;蛘撸艚邮盏结槍?duì)該第一連接的報(bào)文的數(shù)量達(dá)到預(yù)設(shè)第一數(shù)量時(shí),未識(shí)別出該第一連接對(duì)應(yīng)的應(yīng)用類型,則可以直接斷開第一連接,并回收分配給第一連接的NAT資源。若接收到針對(duì)該第一連接的報(bào)文的數(shù)量未達(dá)到預(yù)設(shè)第一數(shù)量時(shí),就已經(jīng)識(shí)別出該第一連接對(duì)應(yīng)的應(yīng)用類型,則執(zhí)行“確定該應(yīng)用類型的優(yōu)先級(jí),若該優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第二連接,并回收分配給該第二連接的NAT資源,若該優(yōu)先級(jí)是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開第一連接,并回收分配給第一連接的NAT資源”的過(guò)程。

其中,由于針對(duì)同一數(shù)據(jù)流會(huì)發(fā)送多個(gè)報(bào)文,而這多個(gè)報(bào)文都是針對(duì)同一連接的多個(gè)報(bào)文。因此,可以接收到針對(duì)第一連接的多個(gè)報(bào)文,并統(tǒng)計(jì)出針對(duì)該第一連接的報(bào)文的數(shù)量,繼而判斷該數(shù)量是否達(dá)到預(yù)設(shè)第一數(shù)量。

在一個(gè)例子中,在每次回收NAT資源之后,還可以判斷預(yù)留資源池內(nèi)的可用的NAT資源的數(shù)量是否達(dá)到預(yù)設(shè)第二數(shù)量(即預(yù)留資源池內(nèi)初始配置的NAT資源的數(shù)量,如10個(gè))。如果否,則可以將回收的NAT資源分配到該預(yù)留資源池內(nèi),作為該預(yù)留資源池內(nèi)的可用的NAT資源;如果是,則可以將回收的NAT資源分配到該分配資源池內(nèi),作為該分配資源池內(nèi)的可用的NAT資源。

基于上述技術(shù)方案,本發(fā)明實(shí)施例中,當(dāng)NAT資源被耗盡時(shí),可以優(yōu)先保證高優(yōu)先級(jí)的應(yīng)用類型對(duì)應(yīng)的連接被正常建立,為該連接分配NAT資源,保證用戶關(guān)鍵業(yè)務(wù)的正常使用,提高用戶使用體驗(yàn),防止單個(gè)用戶或者單個(gè)IP濫用NAT資源。而且,在接收到連接建立報(bào)文后,若未識(shí)別出其應(yīng)用類型,由于此時(shí)不知道該連接建立報(bào)文對(duì)應(yīng)的優(yōu)先級(jí),因此,可以先從預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源建立連接,而不是直接丟棄該連接建立報(bào)文,避免連接無(wú)法建立的問(wèn)題。待識(shí)別出該連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型后,就可以基于該應(yīng)用類型對(duì)應(yīng)的優(yōu)先級(jí)去釋放更低優(yōu)先級(jí)的連接。

以下結(jié)合一個(gè)具體應(yīng)用場(chǎng)景,對(duì)本發(fā)明實(shí)施例的上述過(guò)程進(jìn)行詳細(xì)說(shuō)明。

步驟1、在接收到連接建立報(bào)文時(shí),則判斷分配資源池內(nèi)是否有可用的NAT資源。如果有,則執(zhí)行步驟2;如果沒(méi)有,則執(zhí)行步驟3。

步驟2、直接從分配資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該選擇的NAT資源為該連接建立報(bào)文建立連接。本步驟2之后,結(jié)束流程。

步驟3、判斷是否識(shí)別出該連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型。如果未識(shí)別出應(yīng)用類型,則執(zhí)行步驟4;如果識(shí)別出應(yīng)用類型,則執(zhí)行步驟8。

步驟4、從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源為該連接建立報(bào)文建立第一連接。本步驟4之后,執(zhí)行步驟5。

步驟5,在識(shí)別出第一連接對(duì)應(yīng)的應(yīng)用類型后,確定該應(yīng)用類型的優(yōu)先級(jí)。若該優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則執(zhí)行步驟6;若該優(yōu)先級(jí)是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則執(zhí)行步驟7。

在一個(gè)例子中,在步驟4之后,為了避免長(zhǎng)時(shí)間未識(shí)別出第一連接對(duì)應(yīng)的應(yīng)用類型,導(dǎo)致預(yù)留資源池內(nèi)的NAT資源被長(zhǎng)時(shí)間占用等問(wèn)題,則在利用NAT資源為連接建立報(bào)文建立第一連接之后,還可以為該第一連接設(shè)置老化定時(shí)器,若在預(yù)設(shè)時(shí)間內(nèi)(即老化定時(shí)器超時(shí)時(shí)),未識(shí)別出該第一連接對(duì)應(yīng)的應(yīng)用類型,則可以直接斷開第一連接,并回收分配給第一連接的NAT資源。若在預(yù)設(shè)時(shí)間內(nèi),識(shí)別出該第一連接對(duì)應(yīng)的應(yīng)用類型,則執(zhí)行步驟5以及后續(xù)步驟?;蛘撸艚邮盏结槍?duì)該第一連接的報(bào)文的數(shù)量達(dá)到預(yù)設(shè)第一數(shù)量時(shí),未識(shí)別出該第一連接對(duì)應(yīng)的應(yīng)用類型,則可以直接斷開第一連接,并回收分配給第一連接的NAT資源。若接收到針對(duì)該第一連接的報(bào)文的數(shù)量未達(dá)到預(yù)設(shè)第一數(shù)量時(shí),就已經(jīng)識(shí)別出該第一連接對(duì)應(yīng)的應(yīng)用類型,則執(zhí)行步驟5以及后續(xù)步驟。

步驟6、斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第二連接,并回收分配給該第二連接的NAT資源。在回收NAT資源后,還可以判斷預(yù)留資源池內(nèi)的可用的NAT資源的數(shù)量是否達(dá)到預(yù)設(shè)第二數(shù)量。如果否,則將回收的NAT資源分配到預(yù)留資源池內(nèi),作為預(yù)留資源池內(nèi)的可用的NAT資源;如果是,則將回收的NAT資源分配到分配資源池內(nèi),作為分配資源池內(nèi)的可用的NAT資源。步驟6之后,結(jié)束流程。

步驟7、斷開該第一連接,并回收分配給該第一連接的NAT資源。在回收NAT資源之后,還可以判斷預(yù)留資源池內(nèi)的可用的NAT資源的數(shù)量是否達(dá)到預(yù)設(shè)第二數(shù)量。如果否,則將回收的NAT資源分配到預(yù)留資源池內(nèi),作為預(yù)留資源池內(nèi)的可用的NAT資源;如果是,則將回收的NAT資源分配到分配資源池內(nèi),作為分配資源池內(nèi)的可用的NAT資源。本步驟7之后,結(jié)束流程。

步驟8、確定識(shí)別出的該連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型的優(yōu)先級(jí)。若該優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則可以執(zhí)行步驟9;若該優(yōu)先級(jí)是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則可以執(zhí)行步驟10。

步驟9、斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第三連接,并回收分配給該第三連接的NAT資源,并利用回收的NAT資源為該連接建立報(bào)文建立連接,并結(jié)束流程。

步驟10、拒絕為該連接建立報(bào)文建立連接,并結(jié)束流程。

基于上述技術(shù)方案,本發(fā)明實(shí)施例中,當(dāng)NAT資源被耗盡時(shí),可以優(yōu)先保證高優(yōu)先級(jí)的應(yīng)用類型對(duì)應(yīng)的連接被正常建立,為該連接分配NAT資源,保證用戶關(guān)鍵業(yè)務(wù)的正常使用,提高用戶使用體驗(yàn),防止單個(gè)用戶或者單個(gè)IP濫用NAT資源。而且,在接收到連接建立報(bào)文后,若未識(shí)別出其應(yīng)用類型,由于此時(shí)不知道該連接建立報(bào)文對(duì)應(yīng)的優(yōu)先級(jí),因此,可以先從預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用該NAT資源建立連接,而不是直接丟棄該連接建立報(bào)文,避免連接無(wú)法建立的問(wèn)題。待識(shí)別出該連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型后,就可以基于該應(yīng)用類型對(duì)應(yīng)的優(yōu)先級(jí)去釋放更低優(yōu)先級(jí)的連接。

基于與上述方法同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種連接建立裝置,該連接建立裝置應(yīng)用在NAT設(shè)備上。其中,該連接建立裝置可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件或者軟硬件結(jié)合的方式實(shí)現(xiàn)。以軟件實(shí)現(xiàn)為例,作為一個(gè)邏輯意義上的裝置,是通過(guò)其所在的NAT設(shè)備的處理器,讀取非易失性存儲(chǔ)器中對(duì)應(yīng)的計(jì)算機(jī)程序指令形成的。從硬件層面而言,如圖3所示,為本發(fā)明提出的連接建立裝置所在的NAT設(shè)備的一種硬件結(jié)構(gòu)圖,除了圖3所示的處理器、非易失性存儲(chǔ)器外,NAT設(shè)備還可以包括其他硬件,如負(fù)責(zé)處理報(bào)文的轉(zhuǎn)發(fā)芯片、網(wǎng)絡(luò)接口、內(nèi)存等;從硬件結(jié)構(gòu)上來(lái)講,該NAT設(shè)備還可能是分布式設(shè)備,可能包括多個(gè)接口卡,以便在硬件層面進(jìn)行報(bào)文處理的擴(kuò)展。

如圖4所示,為本發(fā)明提出的連接建立裝置的結(jié)構(gòu)圖,所述裝置包括:

建立模塊11,用于在接收到連接建立報(bào)文時(shí),若預(yù)先配置的分配資源池內(nèi)沒(méi)有可用的網(wǎng)絡(luò)地址轉(zhuǎn)換NAT資源,則從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用所述NAT資源為所述連接建立報(bào)文建立第一連接;

處理模塊12,用于在識(shí)別出所述第一連接對(duì)應(yīng)的應(yīng)用類型后,確定所述應(yīng)用類型的優(yōu)先級(jí);若所述優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第二連接,并回收分配給所述第二連接的NAT資源。

所述連接建立裝置還包括:判斷模塊(在圖中未體現(xiàn));

所述判斷模塊,用于判斷是否識(shí)別出所述連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型;

所述建立模塊11,具體用于在判斷模塊的判斷結(jié)果為否時(shí),從預(yù)先配置的預(yù)留資源池內(nèi)選擇一個(gè)可用的NAT資源,并利用所述NAT資源為所述連接建立報(bào)文建立第一連接;

所述處理模塊12,還用于在判斷模塊的判斷結(jié)果為是時(shí),確定所述連接建立報(bào)文對(duì)應(yīng)的應(yīng)用類型的優(yōu)先級(jí);若確定的優(yōu)先級(jí)不是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開最低優(yōu)先級(jí)對(duì)應(yīng)的第三連接;若確定的優(yōu)先級(jí)是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則拒絕為所述連接建立報(bào)文建立連接;

所述建立模塊11,還用于在處理模塊斷開所述第三連接后,回收分配給所述第三連接的NAT資源,利用回收的NAT資源為所述連接建立報(bào)文建立連接。

在一個(gè)例子中,所述處理模塊12,還用于在確定所述應(yīng)用類型的優(yōu)先級(jí)之后,若所述優(yōu)先級(jí)是當(dāng)前已經(jīng)建立的所有連接中的最低優(yōu)先級(jí),則斷開所述第一連接,并回收分配給所述第一連接的NAT資源。

在一個(gè)例子中,所述處理模塊12,還用于在所述建立模塊11利用所述NAT資源為所述連接建立報(bào)文建立第一連接之后,若在預(yù)設(shè)時(shí)間內(nèi),未識(shí)別出所述第一連接對(duì)應(yīng)的應(yīng)用類型,則斷開所述第一連接,并回收分配給所述第一連接的NAT資源;或,若接收到針對(duì)所述第一連接的報(bào)文的數(shù)量達(dá)到預(yù)設(shè)第一數(shù)量時(shí),未識(shí)別出所述第一連接對(duì)應(yīng)的應(yīng)用類型,則斷開所述第一連接,并回收分配給所述第一連接的NAT資源。

在一個(gè)例子中,所述處理模塊12,還用于在回收NAT資源后,判斷所述預(yù)留資源池內(nèi)的可用的NAT資源的數(shù)量是否達(dá)到預(yù)設(shè)第二數(shù)量;如果否,將回收的NAT資源分配到所述預(yù)留資源池內(nèi);如果是,將回收的NAT資源分配到所述分配資源池內(nèi)。

其中,本發(fā)明裝置的各個(gè)模塊可以集成于一體,也可以分離部署。上述模塊可以合并為一個(gè)模塊,也可以進(jìn)一步拆分成多個(gè)子模塊。

通過(guò)以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺(tái)的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)硬件,但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。本領(lǐng)域技術(shù)人員可以理解附圖只是一個(gè)優(yōu)選實(shí)施例的示意圖,附圖中的模塊或流程并不一定是實(shí)施本發(fā)明所必須的。

本領(lǐng)域技術(shù)人員可以理解實(shí)施例中的裝置中的模塊可以按照實(shí)施例描述進(jìn)行分布于實(shí)施例的裝置中,也可以進(jìn)行相應(yīng)變化位于不同于本實(shí)施例的一個(gè)或多個(gè)裝置中。上述實(shí)施例的模塊可以合并為一個(gè)模塊,也可進(jìn)一步拆分成多個(gè)子模塊。上述本發(fā)明實(shí)施例序號(hào)僅僅為了描述,不代表實(shí)施例的優(yōu)劣。

以上公開的僅為本發(fā)明的幾個(gè)具體實(shí)施例,但是,本發(fā)明并非局限于此,任何本領(lǐng)域的技術(shù)人員能思之的變化都應(yīng)落入本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1