公網(wǎng)地址資源的管理方法、端口控制協(xié)議服務(wù)器及客戶端的制作方法
【專利摘要】本發(fā)明實(shí)施例提供了一種公網(wǎng)地址資源的管理方法、端口控制協(xié)議服務(wù)器及客戶端,該方法包括:PCP?Server向PCP?Client發(fā)送探測消息,探測消息是PCP?Server根據(jù)PCP構(gòu)造的,用于請求PCP?Client返回響應(yīng)消息;判斷在預(yù)定時(shí)間內(nèi)是否收到PCP?Client的響應(yīng)消息;若未在預(yù)定時(shí)間內(nèi)收到PCP?Client的響應(yīng)消息,則回收為PCP?Client分配的公網(wǎng)地址資源。本發(fā)明實(shí)施例中的方法使PCP?Server能夠主動(dòng)探測PCP?Client的工作狀態(tài),并及時(shí)收回異常PCP?Client的公網(wǎng)地址資源,減少了公網(wǎng)地址資源的浪費(fèi)。
【專利說明】公網(wǎng)地址資源的管理方法、端口控制協(xié)議服務(wù)器及客戶端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別涉及一種公網(wǎng)地址資源的管理方法、端口控制協(xié)議服務(wù)器及客戶端。
【背景技術(shù)】
[0002]網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation,簡稱NAT)技術(shù)是一種將私網(wǎng)地址轉(zhuǎn)換為公網(wǎng)地址的轉(zhuǎn)換技術(shù)。運(yùn)營級網(wǎng)絡(luò)地址轉(zhuǎn)換(Carried Grade NAT,簡稱CGN),又稱大規(guī)模網(wǎng)絡(luò)地址轉(zhuǎn)換(Large Scale NAT,簡稱LSN),指采用NAT技術(shù)進(jìn)行局域網(wǎng)與因特網(wǎng)(Internet)之間的網(wǎng)絡(luò)地址互換。端口控制協(xié)議(Port Control Protocol,簡稱PCP)定義了端口控制協(xié)議服務(wù)器PCP Server與端口控制協(xié)議客戶端PCP Client之間的消息交互方式,為上行NAT設(shè)備(例如防火墻、CGN設(shè)備等)提供了一種對進(jìn)入局域網(wǎng)的報(bào)文(例如,從Internet訪問局域網(wǎng)主機(jī)的報(bào)文)的轉(zhuǎn)發(fā)控制機(jī)制。具體的,通過在上行NAT設(shè)備上創(chuàng)建的私網(wǎng)地址資源與公網(wǎng)地址資源之間的映射關(guān)系(Mapping)來引導(dǎo)上行NAT設(shè)備對從Internet訪問局域網(wǎng)中用戶終端設(shè)備(Customer Premises Equipment,簡稱CPE)的報(bào)文進(jìn)行轉(zhuǎn)發(fā)、過濾及地址轉(zhuǎn)換。
[0003]CGN設(shè)備通常部署于局域網(wǎng)與Internet的接口處,CGN設(shè)備可以作為PCP Server,根據(jù)PCP為部署于局域網(wǎng)中的CPE分配公網(wǎng)地址資源,建立CPE的私網(wǎng)地址資源與公網(wǎng)地址資源之間的Mapping,并對分配給CPE的公網(wǎng)地址資源進(jìn)行管理。從而使CGN設(shè)備能夠根據(jù)建立的Mapping對從Internet訪問局域網(wǎng)中CPE的報(bào)文進(jìn)行轉(zhuǎn)發(fā)、過濾及地址轉(zhuǎn)換等操作。
[0004]在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn),在現(xiàn)有PCP中,在Mapping的有效時(shí)間內(nèi),即CPE對公網(wǎng)地址資源的使用期內(nèi),若作為PCP Client的CPE發(fā)生故障,CPE將無法使用分配給它的公網(wǎng)地址資源,造成了公網(wǎng)地址資源的浪費(fèi)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供了一種公網(wǎng)地址資源的管理方法、端口控制協(xié)議服務(wù)器及客戶端,能夠減少公網(wǎng)地址資源的浪費(fèi)。
[0006]第一方面,本發(fā)明實(shí)施例提供了一種公網(wǎng)地址資源的管理方法,所述方法包括:
[0007]端口控制協(xié)議服務(wù)器PCP Server向端口控制協(xié)議客戶端PCP Client發(fā)送探測消息,所述探測消息是所述PCP Server根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述PCPClient返回響應(yīng)消息;
[0008]判斷在預(yù)定時(shí)間內(nèi)是否收到所述PCP Client的響應(yīng)消息;
[0009]若未在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,貝U回收所述PCP Server為所述PCP Client分配的公網(wǎng)地址資源。
[0010]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述PCP Client返回響應(yīng)消息。
[0011]結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在所述第一方面的第二種可能的實(shí)現(xiàn)方式中,所述回收所述PCP Server為所述PCP Client分配的公網(wǎng)地址資源之前,還包括:
[0012]判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)是否超過預(yù)定次數(shù), [0013]若向所述PCP Client發(fā)送所述探測消息的次數(shù)未超過所述預(yù)定次數(shù),則再次向所述PCP Client發(fā)送探測消息;
[0014]所述回收所述PCP Server為所述PCP Client分配的公網(wǎng)地址資源,包括:
[0015]若向所述PCP Client發(fā)送所述探測消息的次數(shù)超過所述預(yù)定次數(shù),則回收所述PCP Server為所述PCP Client分配的公網(wǎng)地址資源。
[0016]結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式或第一方面的第二種可能的實(shí)現(xiàn)方式,在所述第一方面的第三種可能的實(shí)現(xiàn)方式中,所述向端口控制協(xié)議客戶端PCPClient發(fā)送探測消息之前,還包括:
[0017]獲取所述PCP Client的活動(dòng)時(shí)間;
[0018]判斷所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長是否超過預(yù)定時(shí)長;
[0019]所述向所述PCP Client發(fā)送探測消息包括:
[0020]當(dāng)所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長超過預(yù)定時(shí)長時(shí),向所述PCP Client發(fā)送探測消息。
[0021]結(jié)合第一方面、第一方面的第一種可能的實(shí)現(xiàn)方式、第一方面的第二種可能的實(shí)現(xiàn)方式或第一方面的第三種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式中,所述方法還包括:
[0022]若在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則更新所述PCP Client的活動(dòng)時(shí)間。
[0023]第二方面,本發(fā)明實(shí)施例提供了一種公網(wǎng)地址資源的管理方法,所述方法包括:
[0024]端口控制協(xié)議客戶端PCP Client接收端口控制協(xié)議服務(wù)器PCP Server發(fā)送的探測消息,所述探測消息是所述PCP Server根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述PCPClient返回響應(yīng)消息;
[0025]根據(jù)所述探測消息向所述PCP Server發(fā)送響應(yīng)消息。
[0026]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述PCP Client返回響應(yīng)消息。
[0027]結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在所述第二方面的第二種可能的實(shí)現(xiàn)方式中,所述向所述PCP Server發(fā)送所述響應(yīng)消息,包括:
[0028]將所述探測消息作為所述響應(yīng)消息發(fā)送給所述PCP Server.[0029]第三方面,本發(fā)明實(shí)施例提供了一種端口控制協(xié)議服務(wù)器,包括:
[0030]發(fā)送模塊,用于向端口控制協(xié)議客戶端PCP Client發(fā)送探測消息,所述探測消息是所述服務(wù)器根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述PCP Client返回響應(yīng)消息;
[0031]判斷模塊,用于判斷在預(yù)定時(shí)間內(nèi)是否收到所述PCP Client的響應(yīng)消息,
[0032]管理模塊,用于若未在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則回收所述服務(wù)器為所述PCP Client分配的公網(wǎng)地址資源。
[0033]在第三方面的第一種可能的實(shí)現(xiàn)方式中,所述發(fā)送模塊發(fā)送的所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCPOptions包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述PCP Client返回響應(yīng)消息。
[0034]結(jié)合第三方面或第三方面的第一種可能的實(shí)現(xiàn)方式,在所述第三方面的第二種可能的實(shí)現(xiàn)方式中,所述判斷模塊,還用于判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)是否超過預(yù)定次數(shù);
[0035]所述發(fā)送模塊,還用于,當(dāng)所述判斷模塊判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)未超過所述預(yù)定次數(shù)時(shí),再次向所述PCP Client發(fā)送探測消息;
[0036]所述管理模塊,具體用于當(dāng)所述判斷模塊判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)超過所述預(yù)定次數(shù)時(shí),回收所述服務(wù)器為所述PCP Client分配的公網(wǎng)地址資源。
[0037]結(jié)合第三方面、第三方面的第一種可能的實(shí)現(xiàn)方式或第三方面的第二種可能的實(shí)現(xiàn)方式,在第三方面的第三種可能的實(shí)現(xiàn)方式中,所述服務(wù)器還包括:
[0038]獲取模塊,用于獲取所述PCP Client的活動(dòng)時(shí)間;
[0039]所述判斷模塊,還用于判斷所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長是否超過預(yù)定時(shí)長;
[0040]所述發(fā)送模塊還用于,當(dāng)所述判斷模塊判斷所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長超過所述預(yù)定時(shí)長時(shí),向所述PCP Client發(fā)送所述探測消息。
[0041]結(jié)合第三方面、第三方面的第一種可能的實(shí)現(xiàn)方式、第三方面的第二種可能的實(shí)現(xiàn)方式或第三方面的第三種可能的實(shí)現(xiàn)方式,在第三方面的第四種可能的實(shí)現(xiàn)方式中,所述管理模塊,還用于若在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則更新所述PCPClient的活動(dòng)時(shí)間。
[0042]第四方面,本發(fā)明實(shí)施例提供了一種端口控制協(xié)議服務(wù)器,所述服務(wù)器包括處理器和存儲器,所述存儲器用于存儲程序,所述處理器用于執(zhí)行所述所述程序,以實(shí)現(xiàn):
[0043]向端口控制協(xié)議客戶端PCP Client發(fā)送探測消息,所述探測消息是所述服務(wù)器根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述PCP Client返回響應(yīng)消息;
[0044]判斷在預(yù)定時(shí)間內(nèi)是否收到所述PCP Client的響應(yīng)消息;
[0045]若未在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則回收為所述PCPClient分配的公網(wǎng)地址資源。
[0046]在第四方面的第一種實(shí)現(xiàn)方式中,所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述PCP Client返回響應(yīng)消息。
[0047]結(jié)合第四方面或第四方面的第一種可能的實(shí)現(xiàn)方式,在第四方面的第二種可能的實(shí)現(xiàn)方式中,所述處理器還用于:
[0048]判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)是否超過預(yù)定次數(shù);
[0049]若向所述PCP Client發(fā)送所述探測消息的次數(shù)未超過所述預(yù)定次數(shù),則再次向所述PCP Client發(fā)送探測消息;
[0050]若向所述PCP Client發(fā)送所述探測消息的次數(shù)超過所述預(yù)定次數(shù),則回收所述PCP Server為所述PCP Client分配的公網(wǎng)地址資源。[0051]結(jié)合第四方面、第四方面的第一種可能的實(shí)現(xiàn)方式或第四方面的第二種可能的實(shí)現(xiàn)方式中,在第四方面的第三種可能的實(shí)現(xiàn)方式中,所述處理器還用于:
[0052]獲取所述PCP Client的活動(dòng)時(shí)間;
[0053]判斷所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長是否超過預(yù)定時(shí)長;
[0054]當(dāng)所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長超過預(yù)定時(shí)長時(shí),向所述PCP Client發(fā)送探測消息。
[0055]結(jié)合第四方面、第四方面的第一種可能的實(shí)現(xiàn)方式、第四方面的第二種可能的實(shí)現(xiàn)方式中或第四方面的第三種可能的實(shí)現(xiàn)方式,在第四方面的第四種可能的實(shí)現(xiàn)方式中,所述處理器還用于,若在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則更新所述PCPClient的活動(dòng)時(shí)間。
[0056]第五方面,本發(fā)明實(shí)施例提供了 一種端口控制協(xié)議客戶端,所述客戶端包括:
[0057]接收模塊,用于接收端口控制協(xié)議服務(wù)器PCP Server發(fā)送的探測消息,所述探測消息是所述PCP Server根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述客戶端返回響應(yīng)消息;
[0058]響應(yīng)模塊,用于根據(jù)所述探測消息向所述PCP Server發(fā)送所述響應(yīng)消息。
[0059]在第五方面的第一種可能的實(shí)現(xiàn)方式中,所述接收模塊接收的所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCPOptions包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述客戶端返回響應(yīng)消息。
[0060]結(jié)合第五方面或第五方面的第一種可能的實(shí)現(xiàn)方式,在第五方面的第二種可能的實(shí)現(xiàn)方式中,所述響應(yīng)模塊用于,
[0061]將所述探測消息作為所述響應(yīng)消息發(fā)送給所述PCP Server。
[0062]第六方面,本發(fā)明實(shí)施例提供了一種端口控制協(xié)議客戶端,所述客戶端包括處理器和存儲器,所述存儲器用于存儲程序,所述處理器用于執(zhí)行所述程序,以實(shí)現(xiàn):
[0063]接收端口控制協(xié)議服務(wù)器PCP Server發(fā)送的探測消息,所述探測消息是所述PCPServer根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述客戶端返回響應(yīng)消息;
[0064]根據(jù)所述探測消息向所述PCP Server發(fā)送響應(yīng)消息。
[0065]在第六方面的第一種可能的實(shí)現(xiàn)方式中,所述處理器接收的探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCPOptions包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述客戶端返回響應(yīng)消息。
[0066]結(jié)合第六方面或第六方面的第一種可能的實(shí)現(xiàn)方式,在第六方面的第二種可能的實(shí)現(xiàn)方式中,所述處理器用于,將所述探測消息作為所述響應(yīng)消息發(fā)送給所述PCP Server0
[0067]本發(fā)明實(shí)施例通過向PCP Client發(fā)送探測消息,若未在預(yù)定時(shí)間內(nèi)收到PCPClient的響應(yīng)消息,則判定PCP Client故障或PCP Client的功能失常,并回收為PCPClient分配的公網(wǎng)地址資源,從而使PCP Server能夠主動(dòng)探測PCP Client的工作狀態(tài),在PCP Client故障或PCP Client的功能失常時(shí),及時(shí)收回為PCP Client分配的公網(wǎng)地址資源,減少了公網(wǎng)地址資源的浪費(fèi)。
【專利附圖】
【附圖說明】
[0068]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0069]圖1是本發(fā)明實(shí)施例提供的PCP應(yīng)用場景的示意圖;
[0070]圖2是本發(fā)明實(shí)施例提供的一種公網(wǎng)地址資源的管理方法的流程圖;
[0071]圖3是本發(fā)明實(shí)施例提供的又一種公網(wǎng)地址資源的管理方法的流程圖;
[0072]圖4是本發(fā)明實(shí)施例提供的又一種公網(wǎng)地址資源的管理方法的流程圖;
[0073]圖5是本發(fā)明實(shí)施例提供的又一種公網(wǎng)地址資源的管理方法的流程圖;
[0074]圖6是本發(fā)明實(shí)施例提供的一種端口控制協(xié)議服務(wù)器的結(jié)構(gòu)示意圖;
[0075]圖7是本發(fā)明實(shí)施例提供的又一種端口控制協(xié)議服務(wù)器的結(jié)構(gòu)示意圖;
[0076]圖8是本發(fā)明實(shí)施例提供的又一種端口控制協(xié)議服務(wù)器的的結(jié)構(gòu)示意圖;
[0077]圖9是本發(fā)明實(shí)施例提供的一種端口控制協(xié)議客戶端的結(jié)構(gòu)示意圖;
[0078]圖10是本發(fā)明實(shí)施例提供的又一種端口控制協(xié)議客戶端的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0079]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。
[0080]下面簡單介紹端口控制協(xié)議(Port Control Protocol,簡稱PCP)應(yīng)用場景。如圖1所示,個(gè)人計(jì)算機(jī)(Personal Computer,簡稱PC)11通過家庭網(wǎng)關(guān)12連接到寬帶遠(yuǎn)程接入服務(wù)器(Broadband Remote Access Server,簡稱BRAS) 13, BRAS13與部署于局域網(wǎng)與因特網(wǎng)(Internet)的接口處的運(yùn)營級網(wǎng)絡(luò)地址轉(zhuǎn)換(Carried Grade NAT,簡稱CGN)設(shè)備14相連接,從而PCll能夠通過家庭網(wǎng)關(guān)、BRAS和CGN設(shè)備訪問Internet。其中,PCll也可以為其它用戶設(shè)備,比如移動(dòng)終端等。Internet可以采用IPv4( Internet Protocol version4,網(wǎng)際協(xié)議版本4)協(xié)議。
[0081]在圖1所示的應(yīng)用場景中,當(dāng)PCll希望被Internet的設(shè)備訪問時(shí),在一種情形下,PCll可以直接作為PCP Client向CGN設(shè)備(作為PCP Server) 14發(fā)起請求,請求CGN設(shè)備14為其分配公網(wǎng)地址資源,該公網(wǎng)地址資源包括公網(wǎng)網(wǎng)絡(luò)協(xié)議(Internet Protocol,簡稱IP)地址和端口。CGN設(shè)備14將為PCll分配公網(wǎng)地址資源,并建立PCll的私網(wǎng)地址資源與公網(wǎng)地址資源之間的映射關(guān)系(Mapping)。在另一種情形下,PCll可以委托家庭網(wǎng)關(guān)12為其向CGN設(shè)備14申請公網(wǎng)地址資源,家庭網(wǎng)關(guān)12可以作為PCP Client向CGN設(shè)備(PCP Server) 14發(fā)起請求,請求CGN設(shè)備14為PCll分配公網(wǎng)地址資源,CGN設(shè)備14建立PCll的私網(wǎng)地址資源與公網(wǎng)地址資源之間的Mapping。當(dāng)Internet的客戶端設(shè)備訪問PCll時(shí),該客戶端設(shè)備的訪問報(bào)文的目的地址為CGN設(shè)備14為PCll分配的公網(wǎng)地址資源,該訪問報(bào)文通過CGN設(shè)備14進(jìn)行轉(zhuǎn)換后轉(zhuǎn)換為PCll的私網(wǎng)地址資源,并經(jīng)過BRAS13和家庭網(wǎng)關(guān)12到達(dá)PC11,以實(shí)現(xiàn)對PCll的訪問。
[0082]在本發(fā)明應(yīng)用場景中,CGN設(shè)備14作為PCP Server能夠基于PCP為所有PCPClient (例如,PCll或家庭網(wǎng)關(guān)12)分配公網(wǎng)地址資源,并能夠?qū)Ψ峙涞墓W(wǎng)地址資源統(tǒng)一管理,在某個(gè)PCP Client的公網(wǎng)地址資源的有效時(shí)間期滿之后,可以回收為該P(yáng)CP Client分配的公網(wǎng)地址資源。[0083]需要說明的是,本發(fā)明實(shí)施例中的PCP Client是指能夠支持PCP的客戶端設(shè)備,在本應(yīng)用場景下,PCP Client可以為用戶終端(PC)或家庭網(wǎng)關(guān);本發(fā)明實(shí)施例中的PCPServer是指能夠支持PCP的服務(wù)端設(shè)備,在前述應(yīng)用場景下,PCP server為CGN設(shè)備,在其它場景下,PCP server還可以為其它上行NAT設(shè)備(比如路由器或者防火墻設(shè)備)或者單獨(dú)的服務(wù)器。在本發(fā)明實(shí)施例中,公網(wǎng)地址資源包括公網(wǎng)IP地址和端口。
[0084]為了便于理解本發(fā)明,下面先介紹一下公網(wǎng)地址資源和私網(wǎng)地址資源。
[0085]在本發(fā)明實(shí)施例中,一個(gè)私網(wǎng)地址資源包括私網(wǎng)IP地址和該私網(wǎng)IP地址對應(yīng)的端口,例如一個(gè)私網(wǎng)地址資源為1.7.1.1:10000,1.7.1.1為私網(wǎng)IP地址,10000為端口號。與私網(wǎng)地址資源類似,一個(gè)公網(wǎng)地址資源也包括公網(wǎng)IP地址和該公網(wǎng)IP地址對應(yīng)的端口。一個(gè)IP地址(私網(wǎng)IP地址或者公網(wǎng)IP地址)可以對應(yīng)多個(gè)端口號。
[0086]由于私網(wǎng)地址資源非常充裕,圖1中,一個(gè)PCll可以具有多個(gè)私網(wǎng)地址資源,同一個(gè)PCl I的每個(gè)私網(wǎng)地址資源的私網(wǎng)IP地址相同,端口不同,不同PCl I的私網(wǎng)IP地址不同。與私網(wǎng)地址資源不同,由于公網(wǎng)IP地址資源比較有限,CGN設(shè)備14不可能為每個(gè)PCll分配不同的公網(wǎng)IP地址,因而CGN設(shè)備14為不同PCll分配的公網(wǎng)地址資源可能會(huì)包括相同的公網(wǎng)IP地址和不同的端口。CGN設(shè)備14會(huì)對應(yīng)不同的私網(wǎng)地址資源為PCll分配不同的公網(wǎng)地址資源,并建立每個(gè)私網(wǎng)地址資源與公網(wǎng)地址資源之間的Mapping。也就是說,一個(gè)PCll對應(yīng)的Mapping的數(shù)量可能是一個(gè)或多個(gè)。
[0087]例如,假設(shè)某個(gè)PClI的私網(wǎng)IP地址為1.7.1.LPCll將端口 10000和20000支配出來申請公網(wǎng)地址資源。CGN設(shè)備14為PCll的私網(wǎng)地址資源1.7.1.1:10000分配的公網(wǎng)地址資源為1.1.1.1: 1000,為私網(wǎng)地址資源1.7.1.1:20000分配的公網(wǎng)地址資源為1.1.1.1:2000。同時(shí),CGN 設(shè)備 14 建立了兩條 Mapping,一條為 1.7.1.1:10000 與 1.1.1.1:1000 之間的 Mapping,另一條為 1.7.1.1:20000 與 1.1.1.1:2000 之間的 Mapping。
[0088]圖2為本發(fā)明實(shí)施例提供的一種公網(wǎng)地址資源的管理方法的流程圖,該方法可以應(yīng)用在圖1所示的應(yīng)用場景中,并且,該方法可以由PCP Server (如圖1中的CGN設(shè)備14)來執(zhí)行,用于管理為PCP Client (如圖1中的PC11)分配的公網(wǎng)地址資源。參見圖2,該方法包括:
[0089]步驟101:PCP Server 向 PCP Client 發(fā)送探測消息。
[0090]其中,該探測消息是PCP Server根據(jù)PCP構(gòu)造的,用于請求PCP Client返回響應(yīng)消息。PCP Server可以包括圖1中的CGN設(shè)備14,PCP Client可以包括用戶終端(如圖1中的PCll或家庭網(wǎng)關(guān)12)或其他用戶終端設(shè)備。
[0091]具體地,該探測消息是根據(jù)PCP構(gòu)造的,是指該探測消息滿足PCP消息的格式,并且,PCP Server和PCP Client能夠識別該探測消息。
[0092]步驟102:PCP Server判斷在預(yù)定時(shí)間內(nèi)是否收到PCP Client的響應(yīng)消息,若在預(yù)定時(shí)間內(nèi)收到PCP Client的響應(yīng)消息,則執(zhí)行步驟103 ;若在預(yù)定時(shí)間內(nèi)未收到PCPClient的響應(yīng)消息,則執(zhí)行步驟104。
[0093]步驟103:PCP Server回收PCP Server為PCP Client分配的公網(wǎng)地址資源。
[0094]其中,若未在預(yù)定時(shí)間內(nèi)收到PCP Client的響應(yīng)消息,則判定PCP Client故障或PCP Client的功能失常,則PCP Server回收PCP Server為PCP Client分配的公網(wǎng)地址資源,該公網(wǎng)地址資源包括公網(wǎng)IP地址和端口??梢岳斫獾氖?,回收后的公網(wǎng)地址資源可以被PCP serve重新分配給其他的PCP client,以減少對公網(wǎng)地址資源的浪費(fèi),提高公網(wǎng)地址資源的的利用率。
[0095]步驟104:PCP Server 更新 PCP Client 的活動(dòng)時(shí)間。
[0096]其中,PCP Client的活動(dòng)時(shí)間為PCP Client向PCP Server發(fā)送PCP消息的時(shí)間,該P(yáng)CP消息可以是PCP Client向PCP Server發(fā)送的請求消息,例如PCP Client向PCPServer發(fā)送的請求公網(wǎng)地址資源的請求消息,還可以是PCP Client回復(fù)PCP Server的響應(yīng)消息。通過PCP Client的活動(dòng)時(shí)間可以知道PCP Client處于工作狀態(tài)的時(shí)間點(diǎn)。
[0097]本發(fā)明實(shí)施例通過向PCP Client發(fā)送探測消息,若未在預(yù)定時(shí)間內(nèi)收到PCPClient的響應(yīng)消息,則判定PCP Client故障或PCP Client的功能失常,并回收為PCPClient分配的公網(wǎng)地址資源,從而在PCP Client故障或PCP Client的功能失常時(shí),使PCPServer能夠主動(dòng)探測PCP Client的工作狀態(tài),及時(shí)收回為PCP Client分配的公網(wǎng)地址資源,減少了公網(wǎng)地址資源的浪費(fèi)。
[0098]圖3為本發(fā)明實(shí)施例提供的又一種公網(wǎng)地址資源的管理方法,該方法可以由PCPServer來執(zhí)行。參見圖3,該方法包括:
[0099]步驟201:PCP Server 獲取 PCP Client 的活動(dòng)時(shí)間。
[0100]具體地,針對局域網(wǎng)中所有PCP Client, PCP Server維護(hù)了一份用戶表。該用戶表記錄了每一個(gè)PCP Client的私網(wǎng)地址資源與公網(wǎng)地址資源之間的所有Mapping、每個(gè)Mapping的Mapping狀態(tài)、以及該P(yáng)CP Client的活動(dòng)時(shí)間。Mapping狀態(tài)包括對Mapping的最近一次操作的操作類型以及操作時(shí)間,其中,操作類型包括查詢、新建、修改、和刪除。由于PCP Server對Mapping的操作通常是根據(jù)PCP Client發(fā)送的PCP消息來進(jìn)行的,所以,該用戶表中各個(gè)Mapping的操作時(shí)間通常為PCP Client發(fā)送PCP消息的時(shí)間。
[0101]由于,PCP Client的活動(dòng)時(shí)間為PCP Client向PCP Server發(fā)送PCP消息的時(shí)間,因此,PCP Client的活動(dòng)時(shí)間通常為用戶表中所述PCP Client的Mapping操作時(shí)間中的最新時(shí)間,也就是說,用戶表中的PCP Client的活動(dòng)時(shí)間是根據(jù)所述PCP Client的Mapping操作時(shí)間來更新的。例如:PCP Client的私網(wǎng)地址資源與公網(wǎng)地址資源之間共有3個(gè)Mapping,如果第一個(gè)Mapping的操作時(shí)間為1:00,第二個(gè)Mapping的操作時(shí)間為1:03,第三個(gè)Mapping的操作時(shí)間為1:05,則該P(yáng)CP Client的活動(dòng)時(shí)間為1:05。
[0102]具體地,獲取PCP Client的活動(dòng)時(shí)間,包括:掃描PCP Server中的用戶表,獲得PCP Client的活動(dòng)時(shí)間。
[0103]步驟202:PCP Server判斷PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長是否超過預(yù)定時(shí)長,若PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長超過預(yù)定時(shí)長,則執(zhí)行步驟203,否則,退出本次流程。
[0104]其中,該預(yù)定時(shí)長為預(yù)先設(shè)置的時(shí)間值。值得說明的是,由于Mapping的有效時(shí)間通常最大為2~32-1秒,因此,該預(yù)定時(shí)長應(yīng)小于2~32-1秒,例如2小時(shí)或12小時(shí)。
[0105]步驟203:PCP Server 向 PCP Client 發(fā)送探測消息。
[0106]其中,該探測消息是PCP Server根據(jù)PCP構(gòu)造的,用于請求PCP Client返回響應(yīng)消息。在本發(fā)明實(shí)施例中,將PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長超過預(yù)定時(shí)長的情況作為向PCP Client發(fā)送探測消息的觸發(fā)條件。在其他實(shí)施方式中,也可以直接向PCP Client發(fā)送探測消息。[0107]具體地,該探測消息可以根據(jù)PCP自行定義。如前所述,PCP Client是能夠支持PCP的客戶端設(shè)備,因此能夠識別PCP消息。探測消息采用PCP消息的格式。一般地,PCP消息的格式如下表1所示。
[0108]表1
【權(quán)利要求】
1.一種公網(wǎng)地址資源的管理方法,其特征在于,所述方法包括: 端口控制協(xié)議服務(wù)器PCP Server向端口控制協(xié)議客戶端PCP Client發(fā)送探測消息,所述探測消息是所述PCP Server根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述PCP Client返回響應(yīng)消息; 判斷在預(yù)定時(shí)間內(nèi)是否收到所述PCP Client的響應(yīng)消息; 若未在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則回收所述PCP Server為所述PCP Client分配的公網(wǎng)地址資源。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述PCP Client返回響應(yīng)消息。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述回收所述PCPServer為所述PCPClient分配的公網(wǎng)地址資源之前,還包括: 判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)是否超過預(yù)定次數(shù); 若向所述PCP Client發(fā)送所述探測消息的次數(shù)未超過所述預(yù)定次數(shù),則再次向所述PCP Client發(fā)送探測消息; 所述回收所述PCP Server為所述PCP Client分配的公網(wǎng)地址資源,包括: 若向所述PCP Client發(fā)送所述探測消息的次數(shù)超過所述預(yù)定次數(shù),則回收所述PCPServer為所述PCP Client分配的公網(wǎng)地址資源。
4.根據(jù)權(quán)利要求1-3任一項(xiàng)所述的方法,其特征在于,所述向端口控制協(xié)議客戶端PCPClient發(fā)送探測消息之前,還包括: 獲取所述PCP Client的活動(dòng)時(shí)間; 判斷所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長是否超過預(yù)定時(shí)長; 所述向所述PCP Client發(fā)送探測消息包括: 當(dāng)所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長超過預(yù)定時(shí)長時(shí),向所述PCPClient發(fā)送探測消息。
5.根據(jù)權(quán)利要求1-4任一項(xiàng)所述的方法,其特征在于,所述方法還包括: 若在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則更新所述PCP Client的活動(dòng)時(shí)間。
6.一種公網(wǎng)地址資源的管理方法,其特征在于,所述方法包括: 端口控制協(xié)議客戶端PCP Client接收端口控制協(xié)議服務(wù)器PCP Server發(fā)送的探測消息,所述探測消息是所述PCP Server根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述PCPClient返回響應(yīng)消息; 根據(jù)所述探測消息向所述PCP Server發(fā)送所述響應(yīng)消息。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述PCP Client返回響應(yīng)消息。
8.根據(jù)權(quán)利要求6或7所述的方法,其特征在于,所述向所述PCPServer發(fā)送所述響應(yīng)消息,包括: 將所述探測消息作為所述響應(yīng)消息發(fā)送給所述PCP Server.
9.一種端口控制協(xié)議服務(wù)器,其特征在于,包括: 發(fā)送模塊,用于向端口控制協(xié)議客戶端PCP Client發(fā)送探測消息,所述探測消息是所述服務(wù)器根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述PCP Client返回響應(yīng)消息; 判斷模塊,用于判斷在預(yù)定時(shí)間內(nèi)是否收到所述PCP Client的響應(yīng)消息, 管理模塊,用于若未在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則回收所述服務(wù)器為所述PCP Client分配的公網(wǎng)地址資源。
10.根據(jù)權(quán)利要求9所述的服務(wù)器,其特征在于,所述發(fā)送模塊發(fā)送的所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述PCP Client返回響應(yīng)消息。
11.根據(jù)權(quán)利要求9或10所述的服務(wù)器,其特征在于, 所述判斷模塊,還用于判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)是否超過預(yù)定次數(shù); 所述發(fā)送模塊,還用于當(dāng)所述判斷模塊判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)未超過所述預(yù)定次數(shù)時(shí),再次向所述PCP Client發(fā)送探測消息; 所述管理模塊,具體用于當(dāng)所述判斷模塊判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)超過所述預(yù)定次數(shù)時(shí),回收所述服務(wù)器為所述PCP Client分配的公網(wǎng)地址資源。
12.根據(jù)權(quán)利要求9-11任一項(xiàng)所述的服務(wù)器,其特征在于,所述服務(wù)器還包括: 獲取模塊,用于獲取所述PCP` Client的活動(dòng)時(shí)間; 所述判斷模塊,還用于判斷所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長是否超過預(yù)定時(shí)長; 所述發(fā)送模塊,還用于當(dāng)所述判斷模塊判斷所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長超過所述預(yù)定時(shí)長時(shí),向所述PCP Client發(fā)送所述探測消息。
13.根據(jù)權(quán)利要求9-12任一項(xiàng)所述的服務(wù)器,其特征在于, 所述管理模塊,還用于若在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,更新所述PCP Client的活動(dòng)時(shí)間。
14.一種端口控制協(xié)議服務(wù)器,其特征在于,所述服務(wù)器包括處理器和存儲器,所述存儲器用于存儲程序,所述處理器用于執(zhí)行所述程序,以實(shí)現(xiàn): 向端口控制協(xié)議客戶端PCP Cl ient發(fā)送探測消息,所述探測消息是所述服務(wù)器根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述PCP Client返回響應(yīng)消息; 判斷在預(yù)定時(shí)間內(nèi)是否收到所述PCP Client的響應(yīng)消息; 若未在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則回收為所述PCP Client分配的公網(wǎng)地址資源。
15.根據(jù)權(quán)利要求14所述的服務(wù)器,其特征在于: 所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述PCP Client返回響應(yīng)消息。
16.根據(jù)權(quán)利要求14或15所述的服務(wù)器,其特征在于,所述處理器還用于: 判斷向所述PCP Client發(fā)送所述探測消息的次數(shù)是否超過預(yù)定次數(shù); 若向所述PCP Client發(fā)送所述探測消息的次數(shù)未超過所述預(yù)定次數(shù),則再次向所述PCP Client發(fā)送探測消息; 若向所述PCP Client發(fā)送所述探測消息的次數(shù)超過所述預(yù)定次數(shù),則回收所述PCPServer為所述PCP Client分配的公網(wǎng)地址資源。
17.根據(jù)權(quán)利要求14-16任一項(xiàng)所述的服務(wù)器,其特征在于,所述處理器還用于: 獲取所述PCP Client的活動(dòng)時(shí)間; 判斷所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長是否超過預(yù)定時(shí)長; 當(dāng)所述PCP Client的活動(dòng)時(shí)間到當(dāng)前時(shí)間之間的時(shí)長超過預(yù)定時(shí)長時(shí),向所述PCPClient發(fā)送探測消息。
18.根據(jù)權(quán)利要求14-17任一項(xiàng)所述的服務(wù)器,其特征在于,所述處理器還用于: 若在所述預(yù)定時(shí)間內(nèi)收到所述PCP Client的響應(yīng)消息,則更新所述PCP Client的活動(dòng)時(shí)間。
19.一種端口控制協(xié)議客戶端,其特征在于,包括: 接收模塊,用于接收端口控制協(xié)議服務(wù)器PCP Server發(fā)送的探測消息,所述探測消息是所述PCP Server根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述客戶端返回響應(yīng)消息; 響應(yīng)模塊,用于根據(jù)所述探測消息向所述PCP Server發(fā)送所述響應(yīng)消息。
20.根據(jù)權(quán)利要求19所述的客戶端,其特征在于,所述接收模塊接收的所述探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述客戶端返回響應(yīng)消息。
21.根據(jù)權(quán)利要求19或20所述的客戶端,其特征在于: 所述響應(yīng)模塊,具體用于將所述探測消息作為所述響應(yīng)消息發(fā)送給所述PCP Server0
22.—種端口控制協(xié)議客戶端,其特征在于,所述客戶端包括處理器和存儲器,所述存儲器用于存儲程序,所述處理器用于執(zhí)行所述程序,以實(shí)現(xiàn): 接收端口控制協(xié)議服務(wù)器PCP Server發(fā)送的探測消息,所述探測消息是所述PCPServer根據(jù)端口控制協(xié)議PCP構(gòu)造的,用于請求所述客戶端返回響應(yīng)消息; 根據(jù)所述探測消息向所述PCP Server發(fā)送響應(yīng)消息。
23.根據(jù)權(quán)利要求22所述的客戶端,其特征在于: 所述處理器接收的探測消息為通知類型的端口控制協(xié)議消息,所述探測消息包括端口控制協(xié)議選項(xiàng)PCP Options,所述PCP Options包括選項(xiàng)編號,所述選項(xiàng)編號用于指示所述客戶端返回響應(yīng)消息。
24.根據(jù)權(quán)利要求22或23所述的客戶端,其特征在于, 所述處理器用于,將所述探測消息作為所述響應(yīng)消息發(fā)送給所述PCP Server0
【文檔編號】H04L29/12GK103535015SQ201380000624
【公開日】2014年1月22日 申請日期:2013年5月24日 優(yōu)先權(quán)日:2013年5月24日
【發(fā)明者】林木加, 劉金坡, 鐘斌 申請人:華為技術(shù)有限公司