最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

一種地址轉(zhuǎn)換設(shè)備分配端口的方法和地址轉(zhuǎn)換設(shè)備的制作方法

文檔序號(hào):7983723閱讀:239來(lái)源:國(guó)知局
一種地址轉(zhuǎn)換設(shè)備分配端口的方法和地址轉(zhuǎn)換設(shè)備的制作方法
【專利摘要】本發(fā)明公開(kāi)了一種地址轉(zhuǎn)換設(shè)備分配端口的方法和地址轉(zhuǎn)換設(shè)備,為用戶應(yīng)用使用的私有IP地址分配公有IP地址和端口塊,并在端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊;當(dāng)用戶應(yīng)用屬于重要應(yīng)用時(shí),NAT設(shè)備在對(duì)私有IP地址進(jìn)行轉(zhuǎn)換時(shí),從重要應(yīng)用專用端口塊中獲取端口。本發(fā)明公開(kāi)的地址轉(zhuǎn)換設(shè)備分配端口的方法和地址轉(zhuǎn)換設(shè)備,根據(jù)用戶應(yīng)用的類型進(jìn)行差異化分配端口,在用戶的端口塊內(nèi)的端口分配完畢后,用戶后續(xù)的重要應(yīng)用仍然可以獲取端口資源從而不影響用戶的應(yīng)用體驗(yàn),從而提高用戶的應(yīng)用體驗(yàn)。
【專利說(shuō)明】一種地址轉(zhuǎn)換設(shè)備分配端口的方法和地址轉(zhuǎn)換設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)地址轉(zhuǎn)換【技術(shù)領(lǐng)域】,尤其涉及一種地址轉(zhuǎn)換設(shè)備分配端口的方法和地址轉(zhuǎn)換設(shè)備。
【背景技術(shù)】
[0002]IANACThe Internet Assigned Numbers Authority:互聯(lián)網(wǎng)數(shù)字分配機(jī)構(gòu))的公有IPv4地址已經(jīng)分配完畢,而向基于IPv6的下一代互聯(lián)網(wǎng)過(guò)渡是一個(gè)長(zhǎng)期過(guò)程,過(guò)渡期間將不可避免引入私網(wǎng)IPv4地址,因此需在現(xiàn)有網(wǎng)絡(luò)內(nèi)部署地址轉(zhuǎn)換NAT設(shè)備。NAT (NetworkAddressTranslation)屬接入廣域網(wǎng)(WAN)技術(shù),是一種將私有(保留)地址轉(zhuǎn)化為合法IP地址的轉(zhuǎn)換技術(shù),它被廣泛應(yīng)用于各種類型Internet接入方式和各種類型的網(wǎng)絡(luò)中。NAT不僅解決了 IP地址不足的問(wèn)題,而且還能夠有效地避免來(lái)自網(wǎng)絡(luò)外部的攻擊,隱藏并保護(hù)網(wǎng)絡(luò)內(nèi)部的計(jì)算機(jī)。
[0003]接入用戶采用私有IP地址上網(wǎng)時(shí),傳統(tǒng)的地址轉(zhuǎn)換設(shè)備從公有IP地址池中分配一個(gè)共有IPv4地址,再隨機(jī)分配一個(gè)端口,形成私有IP地址與公有IP地址+端口的映射關(guān)系,地址轉(zhuǎn)換設(shè)備通過(guò)Log日志記錄該地址映射關(guān)系,并通過(guò)Syslog協(xié)議實(shí)時(shí)地告知溯源系統(tǒng),以實(shí)現(xiàn)用戶溯源。這種基于每連接隨機(jī)分配公有IPv4地址和端口的方式將會(huì)產(chǎn)生大量log信息,log信息上送溯源系統(tǒng)不僅要占用大量的網(wǎng)絡(luò)資源,而且基于UDP的Syslog協(xié)議不能確保log信息的安全無(wú)差錯(cuò)傳送,影響溯源的實(shí)時(shí)性和準(zhǔn)確性。
[0004]為了解決上述問(wèn)題,業(yè)界提出了一種解決基于用戶的端口塊分配方案,由網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備生成私有IPv4地址與公有IP地址、端口塊的固定映射關(guān)系,同時(shí)溯源系統(tǒng)采用相同的方法生成相同的映射關(guān)系。這種方法給用戶分配一個(gè)固定的端口塊,用戶上網(wǎng)時(shí)從端口塊中隨機(jī)分配一個(gè)端口,這種方法不需要地址轉(zhuǎn)換設(shè)備將地址映射關(guān)系實(shí)時(shí)上報(bào)溯源系統(tǒng),但是如果分配給用戶的端口塊內(nèi)的端口資源分配完畢,用戶將不能繼續(xù)使用網(wǎng)絡(luò)應(yīng)用,用戶的一些重要的應(yīng)用將受到影響。

【發(fā)明內(nèi)容】

[0005]有鑒于此,本發(fā)明要解決的一個(gè)技術(shù)問(wèn)題是提供一種地址轉(zhuǎn)換設(shè)備分配端口的方法,根據(jù)用戶應(yīng)用的類型進(jìn)行差異化分配端口。
[0006]一種地址轉(zhuǎn)換NAT設(shè)備分配端口的方法,包括:NAT設(shè)備為用戶應(yīng)用使用的私有IP地址分配公有IP地址和端口塊;所述NAT設(shè)備將私有IP地址轉(zhuǎn)換為所述公有IP地址加所述端口塊中的端口號(hào)的形式;所述NAT設(shè)備在所述端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊;當(dāng)用戶應(yīng)用屬于重要應(yīng)用時(shí),所述NAT設(shè)備在對(duì)私有IP地址進(jìn)行轉(zhuǎn)換時(shí),從所述重要應(yīng)用專用端口塊中獲取端口;其中,所述用戶應(yīng)用的類型分為普通應(yīng)用和重要應(yīng)用。
[0007]根據(jù)本發(fā)明的方法的一個(gè)實(shí)施例,進(jìn)一步的,當(dāng)重要應(yīng)用專用端口塊中的端口使用完時(shí),則所述NAT設(shè)備為重要應(yīng)用使用的私有IP地址分配所述端口塊中、不屬于所述重要應(yīng)用專用端口塊的端口號(hào)。[0008]根據(jù)本發(fā)明的方法的一個(gè)實(shí)施例,進(jìn)一步的,當(dāng)用戶應(yīng)用建立新的會(huì)話session時(shí),根據(jù)所述session的目的端口信息,判斷所述用戶應(yīng)用的類型;如果所述session為重要應(yīng)用,判斷所述重要應(yīng)用專用端口塊剩余的端口數(shù),如果剩余端口數(shù)大于0,則所述NAT設(shè)備從所述重要應(yīng)用專用端口塊中選取最小的端口號(hào)分配給所述session ;如果剩余端口數(shù)等于0,進(jìn)一步判斷所述端口塊中、不屬于所述重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則所述NAT設(shè)備分配所述端口塊中不屬于所述重要應(yīng)用專用端口塊的最小的端口號(hào)給所述session ;如果端口數(shù)等于O,對(duì)普通應(yīng)用使用的端口進(jìn)行隨機(jī)釋放,貝Ij所述NAT設(shè)備將此被釋放的端口號(hào)分配給所述session。
[0009]根據(jù)本發(fā)明的方法的一個(gè)實(shí)施例,進(jìn)一步的,如果所述session為普通應(yīng)用,判斷所述端口塊中不屬于所述重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則所述NAT設(shè)備分配所述端口塊中不屬于所述重要應(yīng)用專用端口塊的最小的端口號(hào)給所述session ;如果端口數(shù)等于O,則不為所述session分配端口號(hào)。
[0010]根據(jù)本發(fā)明的方法的一個(gè)實(shí)施例,進(jìn)一步的,所述重要應(yīng)用包括:Http應(yīng)用、Email應(yīng)用、Ftp應(yīng)用、Telnet應(yīng)用或VoIP應(yīng)用。
[0011]本發(fā)明要解決的一個(gè)技術(shù)問(wèn)題是提供一種地址轉(zhuǎn)換NAT設(shè)備,能夠根據(jù)用戶應(yīng)用的類型進(jìn)行差異化分配端口。
[0012]一種地址轉(zhuǎn)換NAT設(shè)備,包括:地址和端口分配裝置,用于為用戶應(yīng)用使用的私有IP地址分配公有IP地址和端口塊;并且,在所述端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊;地址轉(zhuǎn)換裝置,用于將私有IP地址轉(zhuǎn)換為所述公有IP地址加所述端口塊中的端口號(hào)的形式;當(dāng)用戶應(yīng)用屬于重要應(yīng)用時(shí),在對(duì)私有IP地址進(jìn)行轉(zhuǎn)換時(shí),從所述重要應(yīng)用專用端口塊中獲取端口 ;其中,所述用戶應(yīng)用的類型分為普通應(yīng)用和重要應(yīng)用。
[0013]根據(jù)本發(fā)明的設(shè)備的一個(gè)實(shí)施例,進(jìn)一步的,當(dāng)重要應(yīng)用專用端口塊中的端口使用完時(shí),則所述地址轉(zhuǎn)換裝置為重要應(yīng)用使用的私有IP地址分配所述端口塊中、不屬于所述重要應(yīng)用專用端口塊的端口號(hào)。
[0014]根據(jù)本發(fā)明的設(shè)備的一個(gè)實(shí)施例,進(jìn)一步的,當(dāng)用戶應(yīng)用建立新的會(huì)話session時(shí),所述地址轉(zhuǎn)換裝置根據(jù)所述session的目的端口信息,判斷所述用戶應(yīng)用的類型;如果所述session為重要應(yīng)用,判斷所述重要應(yīng)用專用端口塊剩余端口數(shù),如果剩余端口數(shù)大于0,則所述地址轉(zhuǎn)換裝置從所述重要應(yīng)用專用端口塊中選取最小的端口號(hào)分配給所述session;如果剩余端口數(shù)等于0,進(jìn)一步判斷所述端口塊中不屬于所述重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則所述地址轉(zhuǎn)換裝置分配所述端口塊中不屬于所述重要應(yīng)用專用端口塊的最小的端口號(hào)給所述session ;如果端口數(shù)等于0,對(duì)普通應(yīng)用使用的端口進(jìn)行隨機(jī)釋放,則所述地址轉(zhuǎn)換裝置將此被釋放的端口號(hào)分配給所述session。
[0015]根據(jù)本發(fā)明的設(shè)備的一個(gè)實(shí)施例,進(jìn)一步的,如果所述session為普通應(yīng)用,所述地址轉(zhuǎn)換裝置判斷所述端口塊中不屬于所述重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則所述地址轉(zhuǎn)換裝置分配所述端口塊中不屬于所述重要應(yīng)用專用端口塊的最小的端口號(hào)給所述session ;如果端口數(shù)等于0,則所述地址轉(zhuǎn)換裝置不為所述session分配端口號(hào)。
[0016]根據(jù)本發(fā)明的設(shè)備的一個(gè)實(shí)施例,進(jìn)一步的,所述重要應(yīng)用包括:Http應(yīng)用、Email應(yīng)用、Ftp應(yīng)用、Telnet應(yīng)用或VoIP應(yīng)用。[0017]本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法和地址轉(zhuǎn)換設(shè)備,根據(jù)用戶應(yīng)用的類型進(jìn)行差異化分配端口,在用戶的端口塊內(nèi)的端口分配完畢后,用戶后續(xù)的重要應(yīng)用仍然可以獲取端口資源從而不影響用戶的應(yīng)用體驗(yàn),從而提高用戶的應(yīng)用體驗(yàn)。
【專利附圖】

【附圖說(shuō)明】
[0018]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0019]圖1為根據(jù)本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法的一個(gè)實(shí)施例的流程圖;
[0020]圖2A-2C為根據(jù)本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法的一個(gè)實(shí)施例中端口塊設(shè)置的示意圖;
[0021]圖3為根據(jù)本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法的另一個(gè)實(shí)施例的流程圖;
[0022]圖4為根據(jù)本發(fā)明的地址轉(zhuǎn)換設(shè)備的一個(gè)實(shí)施例的示意圖。
【具體實(shí)施方式】
[0023]下面參照附圖對(duì)本發(fā)明進(jìn)行更全面的描述,其中說(shuō)明本發(fā)明的示例性實(shí)施例。下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0024]圖1為根據(jù)本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法的一個(gè)實(shí)施例的流程圖;如圖1所示:
[0025]步驟102,NAT設(shè)備為用戶應(yīng)用使用的私有IP地址分配公有IP地址和端口塊;NAT設(shè)備將私有IP地址轉(zhuǎn)換為公有IP地址加端口塊中的端口號(hào)的形式。根據(jù)一個(gè)實(shí)施例,對(duì)多個(gè)用戶應(yīng)用的多個(gè)私有IP地址的轉(zhuǎn)換分配一個(gè)公有IP地址和端口塊,也可以對(duì)多個(gè)用戶應(yīng)用的多個(gè)私有IP地址的轉(zhuǎn)換分配多個(gè)公有IP地址和端口塊,在轉(zhuǎn)換地址時(shí)選取多個(gè)公有IP地址中的一個(gè)IP地址。
[0026]步驟103,NAT設(shè)備在端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊。
[0027]步驟104,當(dāng)用戶應(yīng)用屬于重要應(yīng)用時(shí),NAT設(shè)備在對(duì)私有IP地址進(jìn)行轉(zhuǎn)換時(shí),從重要應(yīng)用專用端口塊中獲取端口。
[0028]用戶應(yīng)用的類型分為普通應(yīng)用和重要應(yīng)用,可以根據(jù)具體的應(yīng)用類型進(jìn)行設(shè)置,由運(yùn)營(yíng)商或用戶進(jìn)行確定哪種業(yè)務(wù)是重要應(yīng)用。
[0029]根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)重要應(yīng)用專用端口塊中的端口使用完時(shí),則NAT設(shè)備為重要應(yīng)用使用的私有IP地址分配端口塊中、不屬于重要應(yīng)用專用端口塊的端口號(hào)。
[0030]當(dāng)用戶應(yīng)用建立新的會(huì)話session時(shí),根據(jù)session的目的端口信息,判斷用戶應(yīng)用的類型;如果session為重要應(yīng)用,判斷重要應(yīng)用專用端口塊剩余的端口數(shù),如果剩余端口數(shù)大于0,則NAT設(shè)備從重要應(yīng)用專用端口塊中選取最小的端口號(hào)分配給session。
[0031]如果剩余端口數(shù)等于0,進(jìn)一步判斷端口塊中、不屬于重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于O,則NAT設(shè)備分配端口塊中不屬于重要應(yīng)用專用端口塊的最小的端口號(hào)給session ;如果端口數(shù)等于O,對(duì)普通應(yīng)用使用的端口進(jìn)行隨機(jī)釋放,則NAT設(shè)備將此被釋放的端口號(hào)分配給session。
[0032]如果session為普通應(yīng)用,判斷端口塊中不屬于重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則NAT設(shè)備分配端口塊中不屬于重要應(yīng)用專用端口塊的最小的端口號(hào)給session ;如果端口數(shù)等于O,則不為session分配端口號(hào)。
[0033]圖2A-2C為根據(jù)本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法的一個(gè)實(shí)施例中端口塊設(shè)置的示意圖。本發(fā)明的方法基于用戶分配的固定端口塊,預(yù)留一段端口給用戶的重要應(yīng)用專用,即為重要應(yīng)用專用端口塊。普通應(yīng)用只能使用非預(yù)留的端口。用戶的重要應(yīng)用優(yōu)先選用預(yù)留的端口,預(yù)留端口使用完后可以繼續(xù)使用非預(yù)留的端口,如果非預(yù)留的端口已經(jīng)被普通業(yè)務(wù)使用完畢,則釋放普通應(yīng)用的端口,分配給后續(xù)的重要應(yīng)用使用。
[0034]用戶使用私有IP地址a上網(wǎng),地址轉(zhuǎn)換設(shè)備根據(jù)算法或直接配置的映射表將其源地址a轉(zhuǎn)換成公有IP地址A,同時(shí)分配固定的端口塊[port_min, port_max],即:a—> (A,[port_min, port_max])。
[0035]在端口塊[port_min,port_max]中為 Http、Email、Ftp、Telnet、VoIP 等重要應(yīng)用預(yù)留端口塊[P1, P2],其中Pp P2分別表示預(yù)留的開(kāi)始端口和結(jié)束端口。預(yù)留端口塊的方式可以按照port_min或port_max的偏移量來(lái)定義,預(yù)留端口塊的大小根據(jù)重要應(yīng)用的多少來(lái)確定,端口塊和預(yù)留端口塊中的端口號(hào)可以連續(xù)也可以不連續(xù)。
[0036]如圖2A所示,用戶應(yīng)用分配的端口塊以及在端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊,即預(yù)留端口塊,在端口塊和預(yù)留端口塊中的端口的端口號(hào)都為連續(xù)的端口號(hào),預(yù)留端口塊設(shè)置在端口塊的中間。如圖2B所示,對(duì)于分配的固定端口塊[port_min,port_max],port_min位最小端口,port_max為最大端口。預(yù)留的端口塊在端口塊的起始段,即p^portjnin。如圖2C所示,為對(duì)于分配的固定端口塊[port_min, port_max],預(yù)留的端口塊在端口塊的末段,即 p2=port_maxo
[0037]圖3為根據(jù)本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法的另一個(gè)實(shí)施例的流程圖;如圖所示:
[0038]步驟301,為用戶應(yīng)用分配公有IP地址和端口塊;并在端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊,即為預(yù)留端口塊(在以下的描述中,預(yù)留端口塊即為重要應(yīng)用專用端口塊)。
[0039]計(jì)算重要應(yīng)用預(yù)留的端口數(shù)=Portjes=P2-P1+]^ port_res大小應(yīng)合理設(shè)定,port_res過(guò)大會(huì)影響普通應(yīng)用的體驗(yàn),port_res過(guò)小會(huì)頻繁的擠用或釋放普通應(yīng)用正在使用的端口。計(jì)算普通應(yīng)用的端口數(shù):
[0040]port_other= (port_max_port_min) - (P2-P1);
[0041]其中,分配的端口塊為[port_min, port_max], P1^ p2分別表示預(yù)留的開(kāi)始端口和結(jié)束端口,port_other是在預(yù)留端口沒(méi)有使用完畢的情況下普通應(yīng)用可以使用的端口數(shù)。
[0042]地址轉(zhuǎn)換設(shè)備實(shí)時(shí)記錄預(yù)留端口和其他端口的使用情況,count_res表示預(yù)留端口剩余數(shù),初始狀態(tài)count_res=port_res,每分配一個(gè)預(yù)留端口后count_res減I ;count_other表示非預(yù)留端口剩余數(shù),初始狀態(tài)count_other=port_other,非預(yù)留端口每分配一個(gè),count_other 減 I。
[0043]步驟302,用戶上網(wǎng)建立應(yīng)用的session。[0044]其中,當(dāng)用戶上網(wǎng)建立第一個(gè)應(yīng)用的session時(shí),根據(jù)session五元組的目的端口信息,判斷用戶使用的應(yīng)用類型。五元組即為源IP、目的IP、源端口、目的端口、協(xié)議類型。例如,Telnet應(yīng)用的端口號(hào)為23,為TCP連接,F(xiàn)TP應(yīng)用的端口號(hào)為20、21,為TCP連接等
坐寸ο
[0045]如果應(yīng)用類型是Http、Email、Ftp、Telnet、VoIP等重要應(yīng)用,則分配給這個(gè)session 的端口 Portjiext=P1,同時(shí)預(yù)留端口的剩余數(shù)減 1,count_res=port_res_l。如果應(yīng)用類型是普通應(yīng)用,則分配給這個(gè)session的端口 port_next=port_min,同時(shí)非預(yù)留端口的剩余數(shù)減I,count_other=port_other_l。地址轉(zhuǎn)換設(shè)備為建立的session分配端口后,記錄下端口的使用情況。
[0046]步驟303,當(dāng)用戶使用業(yè)務(wù)建立新的session時(shí),根據(jù)session五元組的目的端口信息,判斷用戶使用的應(yīng)用類型。
[0047]如果建立的session 是 Http、Email、Ftp(File TransferProtocol)>Telnet>VoIP(Voice over Internet Protocol)等重要應(yīng)用,進(jìn)入步驟304,判斷預(yù)留端口剩余數(shù)count_res的大小,如果count_res>0,表示預(yù)留端口還有空閑,進(jìn)入步驟306 ;
[0048]步驟306,根據(jù)地址轉(zhuǎn)換設(shè)備保存的預(yù)留端口的使用記錄從空閑端口中選取最小的端口分配給新建立的session,則port_next=空閑端口,同時(shí)預(yù)留端口數(shù)count_res減
1
[0049]如果count_res=0,則表示預(yù)留端口使用完畢,需要從非預(yù)留端口塊中分配端口。進(jìn)入步驟307 ;
[0050]步驟307,判斷非預(yù)留端口剩余數(shù)count_other的大小。如果count_other>0,表示非預(yù)留端口還有空閑,進(jìn)入步驟310。
[0051]步驟310,根據(jù)地址轉(zhuǎn)換設(shè)備保存的非預(yù)留端口使用記錄從空閑端口中選取最小的端口分配給新建立的session,則port_next=空閑端口,同時(shí)非預(yù)留端口剩余數(shù)count_other 減 I。
[0052]如果count_other=0,貝U表示非預(yù)留端口使用完畢,貝U進(jìn)入步驟311。
[0053]步驟311,對(duì)普通應(yīng)用使用的端口進(jìn)行隨機(jī)抽簽釋放,產(chǎn)生隨機(jī)數(shù)R=random()%port_othe;r。通過(guò)RandomO函數(shù)生成隨機(jī)數(shù),并通過(guò)此隨機(jī)數(shù)對(duì)分配給普通應(yīng)用的端口總數(shù)port_other進(jìn)行求余運(yùn)算生成R,則可以確保產(chǎn)生的隨機(jī)數(shù)R為不超過(guò)分配給普通應(yīng)用的端口總數(shù)port_other的隨機(jī)數(shù)。
[0054]根據(jù)本發(fā)明的一個(gè)實(shí)施例,在端口塊和預(yù)留端口塊中端口的端口號(hào)都為連續(xù)的端 口號(hào)。如果 R〈Pfport_min,貝[I port_next=port_min+ (randomO%port_other);如果R>=p1-port_min,貝[I port_next=port_min+ (random O %port_other) +port_res (這種情況為預(yù)留端口塊設(shè)置在端口塊的中間)。通過(guò)加隨機(jī)數(shù)確定為重要應(yīng)用分配的端口號(hào)。
[0055]如果建立的session是普通應(yīng)用,貝U進(jìn)入步驟305。
[0056]步驟305,判斷非預(yù)留端口剩余數(shù)count_other的大小,如果count_other>0,表示非預(yù)留端口有空閑,則進(jìn)入步驟308.[0057]步驟308,選擇最小的空閑端口分配給新建的session,port_next=空閑端口,同時(shí) count_other 減 I ;
[0058]如果count_other=0,貝U表示非預(yù)留端口使用完畢,進(jìn)入步驟309。[0059]步驟309,本次session不能建立,用戶不能繼續(xù)使用普通應(yīng)用。
[0060]用戶使用業(yè)務(wù)的session結(jié)束后,相應(yīng)的端口釋放,地址轉(zhuǎn)換設(shè)備實(shí)時(shí)更新端口使用記錄,相應(yīng)的count_res或count_other加I。
[0061]根據(jù)本發(fā)明的一個(gè)實(shí)施例,對(duì)于分配的固定端口塊[port_min,port_max],預(yù)留的端口塊在端口塊的起始段,即P1=Portjiiin,則用戶新建立session的端口 port_next分配如下:
[0062]在預(yù)留端口和非預(yù)留端口都分配完的情況下,如果session的應(yīng)用是普通應(yīng)用,則session不能建立;如果session的應(yīng)用是重要應(yīng)用,則從非預(yù)留端口塊中釋放端口 P2+ (randomO %port_other),將此端口分配給新建立的session, port_next=p2+ (random()%port_other),通過(guò)加隨機(jī)數(shù)確定為重要應(yīng)用分配的端口號(hào)。其中,在端口塊和預(yù)留端口塊中端口的端口號(hào)都為連續(xù)的端口號(hào)。
[0063]對(duì)于分配的固定端口塊[port_min, port_max],預(yù)留的端口塊在端口的末段,即p2=port_max,則用戶新建立session的端口 port_next分配如下:
[0064]在預(yù)留端口和其他端口都分配完的情況下,如果session的應(yīng)用是普通應(yīng)用,則session不能建立;如果session的應(yīng)用是重要應(yīng)用,則從非預(yù)留端口塊中釋放端口port_min+ (randomO%port_other),將此端口分配給新建立的 session, port_next=port_min+ (randomO%port_other)通過(guò)加隨機(jī)數(shù)確定為重要應(yīng)用分配的端口號(hào)。其中,在端口塊和預(yù)留端口塊中端口的端口號(hào)都為連續(xù)的端口號(hào)。
[0065]目前通常有兩種方法進(jìn)行端口的分配。方法1:地址轉(zhuǎn)換設(shè)備按每session分配端口,多個(gè)用戶的session按照空閑端口的大小順序分配可用端口,用戶的應(yīng)用同等對(duì)待。這種方式多個(gè)用戶可以復(fù)用可分配的端口塊,端口資源的使用效率較高,但每session的映射關(guān)系需要實(shí)時(shí)傳送給溯源系統(tǒng),且存在端口分配完畢后多個(gè)用戶都不能再使用新的應(yīng)用的問(wèn)題。在運(yùn)營(yíng)商中大規(guī)模部署時(shí),地址轉(zhuǎn)換設(shè)備會(huì)生成大量的log記錄信息,并由于溯源的需要上傳到log服務(wù)器,造成網(wǎng)絡(luò)資源浪費(fèi),且基于UDP傳輸機(jī)制的Syslog協(xié)議不能確保log信息的正確上送。
[0066]方法2:地址轉(zhuǎn)換設(shè)備按每用戶分配固定端口塊,用戶的session按照端口塊的空閑端口的大小順序分配可用端口,用戶的應(yīng)用同等對(duì)待。這種方式可以較少或消除地址轉(zhuǎn)換設(shè)備和溯源系統(tǒng)的交互信息量,但用戶的端口塊內(nèi)的端口分配完畢后用戶因獲取不到端口資源無(wú)法繼續(xù)使用新的應(yīng)用。
[0067]本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法對(duì)比方法術(shù)1:用戶session分配端口的情況不需實(shí)時(shí)傳送給溯源系統(tǒng),用戶的不同應(yīng)用差異化分配端口,可用端口全部分配完畢后,用戶新的重要業(yè)務(wù)還可以繼續(xù)使用。本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法對(duì)比方法2:在每用戶分配固定端口塊的情況下,用戶的不同應(yīng)用差異化分配端口,可用端口全部分配完畢,用戶還可以繼續(xù)使用新的重要應(yīng)用。
[0068]圖4為根據(jù)本發(fā)明的地址轉(zhuǎn)換設(shè)備的一個(gè)實(shí)施例的示意圖。如圖4所示,地址轉(zhuǎn)換NAT設(shè)備41包括:地址和端口分配裝置411和412。地址和端口分配裝置411為用戶應(yīng)用使用的私有IP地址分配公有IP地址和端口塊;并且,在端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊;地址轉(zhuǎn)換裝置412將私有IP地址轉(zhuǎn)換為公有IP地址加端口塊中的端口號(hào)的形式;當(dāng)用戶應(yīng)用屬于重要應(yīng)用時(shí),在對(duì)私有IP地址進(jìn)行轉(zhuǎn)換時(shí),從重要應(yīng)用專用端口塊中獲取端口 ;用戶應(yīng)用的類型分為普通應(yīng)用和重要應(yīng)用。
[0069]根據(jù)本發(fā)明的一個(gè)實(shí)施例,當(dāng)重要應(yīng)用專用端口塊中的端口使用完時(shí),則地址轉(zhuǎn)換裝置412為重要應(yīng)用使用的私有IP地址分配端口塊中、不屬于重要應(yīng)用專用端口塊的端口號(hào)。
[0070]當(dāng)用戶應(yīng)用建立新的會(huì)話session時(shí),地址轉(zhuǎn)換裝置412根據(jù)session的目的端口信息,判斷用戶應(yīng)用的類型;如果session為重要應(yīng)用,判斷重要應(yīng)用專用端口塊剩余端口數(shù),如果剩余端口數(shù)大于0,則地址轉(zhuǎn)換裝置412從重要應(yīng)用專用端口塊中選取最小的端口號(hào)分配給session;如果剩余端口數(shù)等于0,進(jìn)一步判斷端口塊中不屬于重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則地址轉(zhuǎn)換裝置412分配端口塊中不屬于重要應(yīng)用專用端口塊的最小的端口號(hào)給session;如果端口數(shù)等于0,對(duì)普通應(yīng)用使用的端口進(jìn)行隨機(jī)釋放,則地址轉(zhuǎn)換裝置412將此被釋放的端口號(hào)分配給session。
[0071]如果session為普通應(yīng)用,地址轉(zhuǎn)換裝置412判斷端口塊中不屬于重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則地址轉(zhuǎn)換裝置412分配端口塊中不屬于重要應(yīng)用專用端口塊的最小的端口號(hào)給session ;如果端口數(shù)等于0,則地址轉(zhuǎn)換裝置412不為session分配端口號(hào)。
[0072]重要應(yīng)用包括:Http應(yīng)用、Email應(yīng)用、Ftp應(yīng)用、Telnet應(yīng)用或VoIP應(yīng)用等等。
[0073]本發(fā)明的地址轉(zhuǎn)換設(shè)備分配端口的方法和地址轉(zhuǎn)換設(shè)備,提供了一種區(qū)分不同應(yīng)用差異化分配端口的方法,在用戶的端口塊內(nèi)的端口分配完畢后,用戶后續(xù)的重要應(yīng)用仍然可以獲取端口資源從而不影響用戶的應(yīng)用體驗(yàn),從而提高用戶的應(yīng)用體驗(yàn)。
[0074]可能以許多方式來(lái)實(shí)現(xiàn)本發(fā)明的方法和系統(tǒng)。例如,可通過(guò)軟件、硬件、固件或者軟件、硬件、固件的任何組合來(lái)實(shí)現(xiàn)本發(fā)明的方法和系統(tǒng)。用于方法的步驟的上述順序僅是為了進(jìn)行說(shuō)明,本發(fā)明的方法的步驟不限于以上具體描述的順序,除非以其它方式特別說(shuō)明。此外,在一些實(shí)施例中,還可將本發(fā)明實(shí)施為記錄在記錄介質(zhì)中的程序,這些程序包括用于實(shí)現(xiàn)根據(jù)本發(fā)明的方法的機(jī)器可讀指令。因而,本發(fā)明還覆蓋存儲(chǔ)用于執(zhí)行根據(jù)本發(fā)明的方法的程序的記錄介質(zhì)。
[0075]本發(fā)明的描述是為了示例和描述起見(jiàn)而給出的,而并不是無(wú)遺漏的或者將本發(fā)明限于所公開(kāi)的形式。很多修改和變化對(duì)于本領(lǐng)域的普通技術(shù)人員而言是顯然的。選擇和描述實(shí)施例是為了更好說(shuō)明本發(fā)明的原理和實(shí)際應(yīng)用,并且使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明從而設(shè)計(jì)適于特定用途的帶有各種修改的各種實(shí)施例。
【權(quán)利要求】
1.一種地址轉(zhuǎn)換NAT設(shè)備分配端口的方法,其特征在于,包括:
NAT設(shè)備為用戶應(yīng)用使用的私有IP地址分配公有IP地址和端口塊;所述NAT設(shè)備將私有IP地址轉(zhuǎn)換為所述公有IP地址加所述端口塊中的端口號(hào)的形式; 所述NAT設(shè)備在所述端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊;當(dāng)用戶應(yīng)用屬于重要應(yīng)用時(shí),所述NAT設(shè)備在對(duì)私有IP地址進(jìn)行轉(zhuǎn)換時(shí),從所述重要應(yīng)用專用端口塊中獲取端口 ; 其中,所述用戶應(yīng)用的類型分為普通應(yīng)用和重要應(yīng)用。
2.如權(quán)利要求1所述的方法,其特征在于: 當(dāng)重要應(yīng)用專用端口塊中的端口使用完時(shí),則所述NAT設(shè)備為重要應(yīng)用使用的私有IP地址分配所述端口塊中、不屬于所述重要應(yīng)用專用端口塊的端口號(hào)。
3.如權(quán)利要求2所述的方法,其特征在于: 當(dāng)用戶應(yīng)用建立新的會(huì)話session時(shí),根據(jù)所述session的目的端口信息,判斷所述用戶應(yīng)用的類型; 如果所述session為重要應(yīng)用,判斷所述重要應(yīng)用專用端口塊剩余的端口數(shù),如果剩余端口數(shù)大于0,則所述NAT設(shè)備從所述重要應(yīng)用專用端口塊中選取最小的端口號(hào)分配給所述 session ; 如果剩余端口數(shù)等于0,進(jìn)一步判斷所述端口塊中、不屬于所述重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則所述NAT設(shè)備分配所述端口塊中不屬于所述重要應(yīng)用專用端口塊的最小的端口號(hào)給所述session;如果端口數(shù)等于0,對(duì)普通應(yīng)用使用的端口進(jìn)行隨機(jī)釋放,則所述NAT設(shè)備將此被釋放的端口號(hào)分配給所述session。
4.如權(quán)利要求1所述的方法,其特征在于: 如果所述session為普通應(yīng)用,判斷所述端口塊中不屬于所述重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則所述NAT設(shè)備分配所述端口塊中不屬于所述重要應(yīng)用專用端口塊的最小的端口號(hào)給所述session ;如果端口數(shù)等于O,則不為所述session分配端口號(hào)。
5.如權(quán)利要求1所述的方法,其特征在于: 所述重要應(yīng)用包括:超文本傳送協(xié)議Http應(yīng)用、電子郵件Email應(yīng)用、Ftp應(yīng)用、Telnet應(yīng)用或VoIP應(yīng)用。
6.一種地址轉(zhuǎn)換NAT設(shè)備,其特征在于,包括: 地址和端口分配裝置,用于為用戶應(yīng)用使用的私有IP地址分配公有IP地址和端口塊;并且,在所述端口塊內(nèi)設(shè)置重要應(yīng)用專用端口塊; 地址轉(zhuǎn)換裝置,用于將私有IP地址轉(zhuǎn)換為所述公有IP地址加所述端口塊中的端口號(hào)的形式;當(dāng)用戶應(yīng)用屬于重要應(yīng)用時(shí),在對(duì)私有IP地址進(jìn)行轉(zhuǎn)換時(shí),從所述重要應(yīng)用專用端口塊中獲取端口; 其中,所述用戶應(yīng)用的類型分為普通應(yīng)用和重要應(yīng)用。
7.如權(quán)利要求6所述的設(shè)備,其特征在于: 當(dāng)重要應(yīng)用專用端口塊中的端口使用完時(shí),則所述地址轉(zhuǎn)換裝置為重要應(yīng)用使用的私有IP地址分配所述端口塊中、不屬于所述重要應(yīng)用專用端口塊的端口號(hào)。
8.如權(quán)利要求7所述的設(shè)置,其特征在于: 當(dāng)用戶應(yīng)用建立新的會(huì)話session時(shí),所述地址轉(zhuǎn)換裝置根據(jù)所述session的目的端口信息,判斷所述用戶應(yīng)用的類型; 如果所述session為重要應(yīng)用,判斷所述重要應(yīng)用專用端口塊剩余端口數(shù),如果剩余端口數(shù)大于0,則所述地址轉(zhuǎn)換裝置從所述重要應(yīng)用專用端口塊中選取最小的端口號(hào)分配給所述session ; 如果剩余端口數(shù)等于0,進(jìn)一步判斷所述端口塊中不屬于所述重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則所述地址轉(zhuǎn)換裝置分配所述端口塊中不屬于所述重要應(yīng)用專用端口塊的最小的端口號(hào)給所述session;如果端口數(shù)等于0,對(duì)普通應(yīng)用使用的端口進(jìn)行隨機(jī)釋放,則所述地址轉(zhuǎn)換裝置將此被釋放的端口號(hào)分配給所述session。
9.如權(quán)利要求6所述的設(shè)備,其特征在于: 如果所述session為普通應(yīng)用,所述地址轉(zhuǎn)換裝置判斷所述端口塊中不屬于所述重要應(yīng)用專用端口塊的端口數(shù)的大小,如果端口數(shù)大于0,則所述地址轉(zhuǎn)換裝置分配所述端口塊中不屬于所述重要應(yīng)用專用端口塊的最小的端口號(hào)給所述session;如果端口數(shù)等于0,則所述地址轉(zhuǎn)換裝置不為所述session分配端口號(hào)。
10.如權(quán)利要求6 所述的設(shè)備,其特征在于: 所述重要應(yīng)用包括=Http應(yīng)用、EmaiI應(yīng)用、Ftp應(yīng)用、Telnet應(yīng)用或VoIP應(yīng)用。
【文檔編號(hào)】H04L29/12GK103701941SQ201210366609
【公開(kāi)日】2014年4月2日 申請(qǐng)日期:2012年9月28日 優(yōu)先權(quán)日:2012年9月28日
【發(fā)明者】郭泓偉, 楊國(guó)良, 鄒易風(fēng), 伍佑明, 李忠超, 張國(guó)賢, 王潔, 郭 東, 張曉宇, 王吉順, 徐良紅 申請(qǐng)人:中國(guó)電信股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1