端口分配方法和網(wǎng)絡(luò)地址轉(zhuǎn)換裝置制造方法
【專利摘要】本公開涉及一種端口分配方法和網(wǎng)絡(luò)地址轉(zhuǎn)換裝置。該方法包括在用戶首次發(fā)起應(yīng)用會話時,通過檢查用戶發(fā)送的數(shù)據(jù)包的優(yōu)先級確定用戶的服務(wù)等級,并從用戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4地址;根據(jù)用戶的服務(wù)等級從待分配給用戶的公有IPv4地址中為用戶差異化分配端口塊,并將分配給用戶的公有IPv4地址與端口塊信息發(fā)送至溯源系統(tǒng);從為用戶分配的端口塊中選擇一個端口分配給用戶發(fā)起的應(yīng)用會話;在資源信息表中為用戶建立私有IPv4地址與公有IPv4地址和端口塊之間的映射關(guān)系并記錄為用戶分配的端口塊的使用情況。本公開能夠為不同等級的用戶提供不同的服務(wù)質(zhì)量。
【專利說明】端口分配方法和網(wǎng)絡(luò)地址轉(zhuǎn)換裝置
【技術(shù)領(lǐng)域】
[0001] 本公開涉及下一代互聯(lián)網(wǎng)技術(shù),特別地,涉及一種端口分配方法和網(wǎng)絡(luò)地址轉(zhuǎn)換 裝直。
【背景技術(shù)】
[0002] 隨著公有IPv4地址的逐漸枯竭,私有IPv4地址的應(yīng)用將越來越廣泛,而網(wǎng)絡(luò)地址 轉(zhuǎn)換設(shè)備的部署也會變得越來越普遍。用戶使用私有IPv4地址上網(wǎng)時,通常網(wǎng)絡(luò)地址轉(zhuǎn)換 設(shè)備從公有IPv4地址池中分配一個地址,再分配一個端口,形成私有IPv4地址與公有IPv4 地址和端口的映射關(guān)系。分配端口的方式包括每會話分配和每用戶分配兩種方式。
[0003] 地址轉(zhuǎn)換設(shè)備作地址轉(zhuǎn)換時,如果按每會話分配端口,多個用戶復(fù)用一個公有 IPv4地址可分配的端口塊,可以減小端口分配完畢的可能性,但每會話的映射關(guān)系需要實 時傳送給認(rèn)證系統(tǒng),以便認(rèn)證系統(tǒng)中保留相同的映射關(guān)系。并且一個公有IPv4地址的可用 端口分配完畢后,復(fù)用這個IPv4地址的用戶都不能繼續(xù)使用新的應(yīng)用。
[0004] 地址轉(zhuǎn)換設(shè)備作地址轉(zhuǎn)換時,如果按每用戶分配端口塊,可以減少或消除地址轉(zhuǎn) 換設(shè)備和認(rèn)證系統(tǒng)之間的交互過程,但分配給一個用戶的端口塊的端口使用完畢后,用戶 將無法繼續(xù)使用新的應(yīng)用。
[0005] 現(xiàn)有的地址轉(zhuǎn)換設(shè)備分配端口的方法存在以下問題:
[0006] (1)用戶分配端口或分配固定大小的端口塊均存在端口使用完畢的問題,影響用 戶的使用體驗。
[0007] (2)用戶分配的端口或端口塊沒有差異化會導(dǎo)致服務(wù)質(zhì)量沒有保證。
【發(fā)明內(nèi)容】
[0008] 本公開鑒于以上問題中的至少一個提出了新的技術(shù)方案。
[0009] 本公開在其一個方面提供了一種端口分配方法,能夠為不同等級的用戶提供不同 的服務(wù)質(zhì)量。
[0010] 本公開在其另一方面提供了一種網(wǎng)絡(luò)地址轉(zhuǎn)換裝置,能夠為不同等級的用戶提供 不同的服務(wù)質(zhì)量。
[0011] 根據(jù)本公開,提供一種端口分配方法,包括:
[0012] 在用戶首次發(fā)起應(yīng)用會話時,通過檢查用戶發(fā)送的數(shù)據(jù)包的優(yōu)先級確定用戶的服 務(wù)等級,并從用戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4地址;
[0013] 根據(jù)用戶的服務(wù)等級從待分配給用戶的公有IPv4地址中為用戶分配端口塊,并 將分配給用戶的公有IPv4地址與端口塊信息發(fā)送至溯源系統(tǒng);
[0014] 從為用戶分配的端口塊中選擇一個端口分配給用戶發(fā)起的應(yīng)用會話;
[0015] 在資源信息表中為用戶建立私有IPv4地址與公有IPv4地址和端口塊之間的映射 關(guān)系并記錄為用戶分配的端口塊的使用情況。
[0016] 在本公開的一些實施例中,該方法還包括:
[0017] 在用戶再次發(fā)起新應(yīng)用會話時,自用戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4 地址,基于私有IPv4地址和資源信息表查詢分配給用戶的端口塊中是否還存在空閑端口;
[0018] 如存在空閑端口,則從空閑端口中為用戶再次發(fā)起的新應(yīng)用會話分配一個端口, 并更新資源信息表中為用戶分配的端口塊的使用情況;
[0019] 如不存在空閑端口,則通過檢查用戶再次發(fā)起新應(yīng)用會話時發(fā)送的數(shù)據(jù)包的優(yōu)先 級獲知用戶的服務(wù)等級;
[0020] 判斷用戶的服務(wù)等級是否為最高等級用戶;
[0021] 如為最高等級用戶,則基于資源信息表查詢?yōu)橛脩舴峙涞墓蠭Pv4地址的預(yù)留 端口塊中是否還存在空閑端口,否則,不能為用戶建立再次發(fā)起的新應(yīng)用會話;
[0022] 如存在空閑端口,則從預(yù)留端口塊中的空閑端口中為用戶再次發(fā)起的新應(yīng)用會話 分配一個端口,并更新資源信息表中為最高等級用戶預(yù)留的端口塊的使用情況,否則,不能 為用戶建立再次發(fā)起的新應(yīng)用會話。
[0023] 在本公開的一些實施例中,該方法還包括:
[0024] 在用戶首次發(fā)起的應(yīng)用會話或再次發(fā)起的新應(yīng)用會話結(jié)束后,釋放各應(yīng)用會話所 使用的端口,并更新資源信息表中為用戶分配的公有IPv4地址的各端口的使用情況。
[0025] 在本公開的一些實施例中,用戶的服務(wù)等級越高為用戶分配的端口塊越大。
[0026] 根據(jù)本公開,還提供了一種網(wǎng)絡(luò)地址轉(zhuǎn)換裝置,包括:
[0027] 用戶等級確定單元,用于在用戶首次發(fā)起應(yīng)用會話時,通過檢查用戶發(fā)送的數(shù)據(jù) 包的優(yōu)先級確定用戶的服務(wù)等級;
[0028] 私有IP地址提取單元,用于從用戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4地 址;
[0029] 端口分配單元,用于根據(jù)用戶的服務(wù)等級從待分配給用戶的公有IPv4地址中為 用戶分配端口塊,從為用戶分配的端口塊中選擇一個端口分配給用戶發(fā)起的應(yīng)用會話;
[0030] 地址信息發(fā)送單元,用于將分配給用戶的公有IPv4地址與端口塊信息發(fā)送至溯 源系統(tǒng);
[0031] 資源信息記錄單元,用于在資源信息表中為用戶建立私有IPv4地址與公有IPv4 地址和端口塊之間的映射關(guān)系并記錄為用戶分配的端口塊的使用情況。
[0032] 在本公開的一些實施例中,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置還包括用戶空閑端口判斷單元、用 戶等級判斷單元和預(yù)留端口查詢單元,其中,
[0033] 用戶空閑端口判斷單元,用于在用戶再次發(fā)起新應(yīng)用會話且私有IP地址提取單 元自用戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4地址后,基于私有IPv4地址和資源信 息表查詢分配給用戶的端口塊中是否還存在空閑端口,如存在空閑端口,則端口分配單元 從空閑端口中為用戶再次發(fā)起的新應(yīng)用會話分配一個端口;
[0034] 用戶等級判斷單元,用于在用戶再次發(fā)起新應(yīng)用會話且為用戶分配的端口塊中無 空閑端口時,通過檢查用戶再次發(fā)起新應(yīng)用會話時發(fā)送的數(shù)據(jù)包的優(yōu)先級判斷用戶的服務(wù) 等級是否為最1?等級用戶;
[0035] 預(yù)留端口查詢單元,用于如用戶等級判斷單元判斷出用戶為最高等級用戶,則基 于資源信息表查詢?yōu)橛脩舴峙涞墓蠭Pv4地址的預(yù)留端口塊中是否還存在空閑端口,如 存在空閑端口,則從預(yù)留端口塊的空閑端口中為用戶再次發(fā)起的新應(yīng)用會話分配一個端 π ;
[0036] 資源信息記錄單元,還用于在用戶再次發(fā)起新應(yīng)用會話后更新資源信息表中為用 戶分配的公有IPv4地址的各端口的使用情況。
[0037] 在本公開的一些實施例中,資源信息記錄單元還在用戶首次發(fā)起的應(yīng)用會話或再 次發(fā)起的新應(yīng)用會話結(jié)束并釋放各應(yīng)用會話所使用的端口后,更新資源信息表中為用戶分 配的公有IPv4地址的各端口的使用情況。
[0038] 在本公開的一些實施例中,用戶的服務(wù)等級越高,端口分配單元為用戶分配的端 口塊越大。
[0039] 通過本公開的技術(shù)方案,在用戶首次發(fā)起應(yīng)用會話時,根據(jù)數(shù)據(jù)包的優(yōu)先級確定 用戶的服務(wù)等級,再根據(jù)用戶的服務(wù)等級為不同用戶分配大小不等的端口塊,以確保不同 服務(wù)等級的用戶具有不同的服務(wù)質(zhì)量,進而能夠為各類用戶提供差異化的服務(wù)質(zhì)量。
【專利附圖】
【附圖說明】
[0040] 此處所說明的附圖用來提供對本公開的進一步理解,構(gòu)成本申請的一部分。在附 圖中:
[0041] 圖1示出了一種具有服務(wù)質(zhì)量的端口分配示意圖。
[0042] 圖2是本公開一個實施例的端口分配方法的流程示意圖。
[0043] 圖3是本公開一個實施例的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖。
[0044] 圖4是本公開另一實施例的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0045] 下面將參照附圖描述本公開。要注意的是,以下的描述在本質(zhì)上僅是解釋性和示 例性的,決不作為對本公開及其應(yīng)用或使用的任何限制。除非另外特別說明,否則,在實施 例中闡述的部件和步驟的相對布置以及數(shù)字表達(dá)式和數(shù)值并不限制本公開的范圍。另外, 本領(lǐng)域技術(shù)人員已知的技術(shù)、方法和裝置可能不被詳細(xì)討論,但在適當(dāng)?shù)那闆r下意在成為 說明書的一部分。
[0046] 本公開基于用戶的服務(wù)等級為用戶分配不同大小的端口塊,并且在為最高等級用 戶分配的端口塊均被使用的情況下還可以將預(yù)留端口塊內(nèi)的端口分配給最高等級的用戶 使用。非最高等級用戶只能使用分配的端口塊內(nèi)的端口,端口使用完畢后將不能再繼續(xù)使 用新的應(yīng)用。本公開的方法為最高等級用戶分配了比較大的端口塊,優(yōu)先選用所分配的端 口塊,在分配的端口塊內(nèi)的端口使用完后可以繼續(xù)使用預(yù)留的端口。
[0047] 圖1示出了一種具有服務(wù)質(zhì)量的端口分配示意圖。
[0048] 如圖1所示,其體現(xiàn)了:
[0049] (1)差異化的端口塊分配方法:網(wǎng)絡(luò)地址轉(zhuǎn)換裝置通過檢查用戶發(fā)送的數(shù)據(jù)包的 優(yōu)先等級確定用戶的服務(wù)等級,根據(jù)用戶的服務(wù)等級為不同等級用戶分配不同大小的端口 塊,具體地,IP報文的TOS (Type Of Service,服務(wù)類型)域用來定義用戶的優(yōu)先等級,該 優(yōu)先等級是基于用戶的,用戶發(fā)起應(yīng)用請求,如果運營商部署了 Q〇S(Quality of Service, 服務(wù)質(zhì)量)的話就會給用戶的數(shù)據(jù)包在T0S上打上相應(yīng)的標(biāo)記,數(shù)據(jù)包送到網(wǎng)絡(luò)地址轉(zhuǎn)換裝 置上作地址轉(zhuǎn)換時,通過查看T0S域就可以知道用戶的優(yōu)先等級,并且用戶的服務(wù)等級與 數(shù)據(jù)包的優(yōu)先等級是一致的。
[0050] 如圖1所示,用戶1等級最低,為其分配的端口塊最小,用戶2等級次低,為其分配 的端口塊大于用戶2小于用戶3,用戶3等級高于用戶1和用戶2,為其分配的端口塊大于 用戶1和用戶2。
[0051] (2)端口塊預(yù)留:端口預(yù)留是由網(wǎng)絡(luò)地址轉(zhuǎn)換裝置實現(xiàn)的,預(yù)留端口塊的大小由運 營商決定,如果希望最高等級的用戶具有更好的服務(wù)質(zhì)量保證,就為最高等級用戶在同一 個IPv4地址中預(yù)留較多的端口。這些預(yù)留端口是給所有具有最高等級用戶復(fù)用的,最高等 級用戶在使用完為自身分配的端口后才可以考慮使用預(yù)留端口,每個最高等級用戶可以任 意使用預(yù)留端口塊中的空閑端口。
[0052] 圖2是本公開一個實施例的端口分配方法的流程示意圖。
[0053] 如圖2所示,該實施例可以包括以下步驟:
[0054] S202,在用戶首次發(fā)起應(yīng)用會話時,通過檢查用戶發(fā)送的數(shù)據(jù)包的優(yōu)先級確定用 戶的服務(wù)等級,并從用戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4地址;
[0055] 具體地,可以從數(shù)據(jù)包的T0S域中提取優(yōu)先級信息,該優(yōu)先級信息即對應(yīng)為用戶 的服務(wù)等級,運營商可以將等級服務(wù)作為一項增值業(yè)務(wù)提供給用戶,例如,可以申請最高等 級用戶、中等級用戶與低等級用戶,不同等級用戶對應(yīng)的服務(wù)質(zhì)量不同,此外,該私有IP地 址可以由寬帶接入服務(wù)器等分配。
[0056] S204,根據(jù)用戶的服務(wù)等級從待分配給用戶的公有IPv4地址中為用戶分配端口 塊,并將分配給用戶的公有IPv4地址與端口塊信息發(fā)送至溯源系統(tǒng);
[0057] 每個公有IPv4地址可以包括65536個端口,其中部分端口作為特殊端口不能分配 給用戶,還有部分端口是為最高等級用戶預(yù)留的復(fù)用端口,其余端口可以根據(jù)用戶等級分 配給各類用戶,例如,用戶的服務(wù)等級越高為用戶分配的端口塊越大,這樣才能保證高等級 用戶具有較高的服務(wù)質(zhì)量。
[0058] 其中,待分配給用戶的公有IPv4地址是公有IPv4地址池中未被使用的IPv4地 址。在進行公有IPv4地址與端口分配時,一般情況下是一個公有IPv4地址不夠分配后再使 用下一個可分配的公有IPv4地址。同時將公有IPv4地址與端口塊信息發(fā)送給溯源系統(tǒng), 其目的是在將來發(fā)現(xiàn)某些內(nèi)容需要溯源時可以根據(jù)公有IP地址和端口信息反查出對應(yīng)的 用戶,該溯源系統(tǒng)可以是 AAA (Authentication, Authorization and Accounting,認(rèn)證、授 權(quán)和計費)服務(wù)器,也可以是日志服務(wù)器。
[0059] S206,從為用戶分配的端口塊中選擇一個端口分配給用戶發(fā)起的應(yīng)用會話,具體 地,可以按端口順序選擇也可以隨機選擇。
[0060] S208,在資源信息表中為用戶建立私有IPv4地址與公有IPv4地址和端口塊之間 的映射關(guān)系并記錄為用戶分配的端口塊的使用情況。
[0061] 其中,建立私有IPv4地址與公有IPv4地址和端口塊之間的映射關(guān)系的目的是在 用戶再次發(fā)起應(yīng)用會話時,可以利用從數(shù)據(jù)包中提取的私有IPv4地址和該映射關(guān)系查找 出已為該用戶分配的端口塊;記錄為用戶分配的端口塊的使用情況的目的是在為用戶發(fā)起 的新應(yīng)用會話分配端口時,可以根據(jù)端口塊中各端口的使用情況確定為新應(yīng)用會話分配哪 個空閑端口。
[0062] 該實施例在用戶首次發(fā)起應(yīng)用會話時,根據(jù)數(shù)據(jù)包的優(yōu)先級確定用戶的服務(wù)等 級,再根據(jù)用戶的服務(wù)等級為不同用戶分配大小不等的端口塊,以確保不同服務(wù)等級的用 戶具有不同的服務(wù)質(zhì)量,進而能夠為各類用戶提供差異化的服務(wù)質(zhì)量。
[0063] 在本公開另一實施例的端口分配方法中,還可以包括以下步驟:
[0064] (1)無論用戶首次發(fā)起的應(yīng)用會話是否結(jié)束,在用戶再次發(fā)起新應(yīng)用會話時,自用 戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4地址,基于私有IPv4地址和資源信息表查詢 分配給用戶的端口塊中是否還存在空閑端口;
[0065] 具體地,該私有IPv4地址與首次應(yīng)用會話發(fā)起時使用的私有IPv4地址相同,首先 利用該私有IPv4地址和資源信息表中存儲的映射關(guān)系可以查找出為該用戶分配的IPv4地 址和端口塊,再利用資源信息表中記錄的為用戶分配的端口塊的使用情況判斷是否還有未 被使用的端口。
[0066] (2)如存在空閑端口,則從空閑端口中為用戶再次發(fā)起的新應(yīng)用會話分配一個端 口,并更新資源信息表中為用戶分配的端口塊的使用情況;每次在為新應(yīng)用會話分配完端 口后均需更新資源信息表中為用戶分配的端口塊的使用情況,以確保下次再進行端口分配 時能夠獲得準(zhǔn)確的端口使用狀況,防止再次分配已使用的端口。
[0067] (3)如不存在空閑端口,則通過檢查用戶再次發(fā)起新應(yīng)用會話時發(fā)送的數(shù)據(jù)包的 優(yōu)先級獲知用戶的服務(wù)等級;此時,表明在用戶首次發(fā)起應(yīng)用會話時網(wǎng)絡(luò)地址轉(zhuǎn)換裝置給 該用戶分配的所有端口均被占用,目前無空閑端口。
[0068] (4)判斷用戶的服務(wù)等級是否為最高等級用戶。
[0069] (5)如為最高等級用戶,則基于資源信息表查詢?yōu)橛脩舴峙涞墓蠭Pv4地址的預(yù) 留端口塊中是否還存在空閑端口,否則,不能為用戶建立再次發(fā)起的新應(yīng)用會話,即,如果 該用戶不是最高等級用戶,則該新應(yīng)用會話建立失敗。
[0070] (6)如存在空閑端口,則從預(yù)留端口塊中的空閑端口中為用戶再次發(fā)起的新應(yīng)用 會話分配一個端口,并更新資源信息表中為最高等級用戶預(yù)留的端口塊的使用情況,否則, 不能為用戶建立再次發(fā)起的新應(yīng)用會話;
[0071] 如果再次發(fā)起應(yīng)用會話時網(wǎng)絡(luò)地址轉(zhuǎn)換裝置為最高等級用戶分配的所有端口均 被占用,且在為用戶分配的公有IP v 4地址的預(yù)留端口塊中如果還有空閑端口,則可以為 最高等級用戶再次發(fā)起的新應(yīng)用會話分配一個空閑的預(yù)留端口,以確保其會話能夠正常建 立,如為最高等級用戶預(yù)留的端口也無空閑,則最高等級用戶發(fā)起的新應(yīng)用會話建立失敗。
[0072] 從該實施例可以看出,當(dāng)用戶再次發(fā)起新應(yīng)用會話時,也可以根據(jù)不同用戶等級 為各類用戶提供差異化服務(wù),并確保最高等級用戶具有較好的服務(wù)質(zhì)量,即,在為用戶分配 的端口不空閑的情況下,仍可以復(fù)用空閑的預(yù)留端口。
[0073] 進一步地,在用戶首次發(fā)起的應(yīng)用會話或再次發(fā)起的新應(yīng)用會話結(jié)束后,釋放各 應(yīng)用會話所使用的端口,并更新資源信息表中為用戶分配的公有IPv4地址的各端口的使 用情況,以使得用戶再次發(fā)起新應(yīng)用會話時可以使用這些已釋放的空閑端口。
[0074] 在本公開又一實施例的端口分配方法中,可以包括以下流程:
[0075] (1)用戶使用私有IPv4地址上網(wǎng),首次發(fā)起應(yīng)用會話時,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置檢查 用戶數(shù)據(jù)包的優(yōu)先級,根據(jù)用戶的服務(wù)等級確定給用戶分配的端口塊大小。
[0076] 網(wǎng)絡(luò)地址轉(zhuǎn)換裝置中有一個資源信息表,其記錄了公有IPv4地址以及相應(yīng)的端 口分配和使用情況。在用戶發(fā)起會話應(yīng)用時,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置查詢該資源信息表,如果用 戶的私有IPv4地址不在該資源信息表中,則表明該用戶是第一次發(fā)起應(yīng)用會話。然后根據(jù) 從數(shù)據(jù)包中提取出的優(yōu)先級別獲知用戶等級,再根據(jù)該用戶等級確定應(yīng)該給該用戶分配多 大的端口塊。
[0077] (2)檢查待分配給用戶的公有IPv4地址的剩余端口塊是否足夠分給待分的用戶, 如果分配的IPv4地址沒有足夠的端口塊,則轉(zhuǎn)向下一個待分配的公有IPv4地址和對應(yīng)的 端口塊。
[0078] (3)根據(jù)用戶的服務(wù)等級給用戶分配設(shè)定大小的端口塊,并從分配的端口塊中選 擇一個端口分配給該用戶的應(yīng)用會話,同時更新網(wǎng)絡(luò)地址轉(zhuǎn)換裝置的資源信息表。其中,分 配端口的方式可以是隨機的,也可以是采取一定的算法來分配,以便于查找空閑端口為出 發(fā)點。
[0079] (4)用戶會話結(jié)束后,釋放應(yīng)用使用的端口,同時更新網(wǎng)絡(luò)地址轉(zhuǎn)換裝置的資源信 息表。
[0080] (5)用戶發(fā)起新的應(yīng)用會話時,檢查分配給該用戶的端口塊是否還有空閑的端口, 如果還有空閑端口,就從端口塊中分配一個空閑端口給用戶發(fā)起的新應(yīng)用會話,同時更新 網(wǎng)絡(luò)地址轉(zhuǎn)換裝置的資源信息表。
[0081] (6)如果分配給用戶的端口塊中沒有空閑端口,則檢查數(shù)據(jù)包的優(yōu)先等級,判斷用 戶的服務(wù)等級,如果是最高等級的用戶,則檢查預(yù)留端口塊是否還有空閑端口。如果還有空 閑端口,就從預(yù)留端口塊中分配一個端口給用戶的應(yīng)用會話,同時更新網(wǎng)絡(luò)地址轉(zhuǎn)換裝置 的資源信息表。如果預(yù)留端口塊中沒有空閑端口,則用戶的應(yīng)用會話不能建立。
[0082] (7)如果分配給用戶的端口塊中沒有空閑端口并且用戶不是最高等級的用戶,則 用戶的應(yīng)用會話不能建立,該用戶無法使用新的應(yīng)用。
[0083] (8)在為用戶分配端口塊和最1?等級的用戶使用預(yù)留端口塊中的端口時,需將端 口分配情況以及預(yù)留端口的使用情況實時傳送給認(rèn)證系統(tǒng)和/或日志服務(wù)器,以便用于單 點認(rèn)證和實時溯源等需要。
[0084] 需要指出的是,同一個用戶可以同時發(fā)起多個會話,但是分配給該用戶的端口使 用完后會話就不能再建立新會話了。
[0085] 接下來,通過一個更具體的實例對上述實施例進行詳細(xì)說明。
[0086] 用戶1、用戶2、用戶3認(rèn)證通過后,從私有地址池10. 10. 10. 2?10. 10. 10. 254中 獲取了私有 IPv4 地址:10· 10. 10. 2、10. 10. 10. 3、10. 10. 10. 4。
[0087] 假設(shè)網(wǎng)絡(luò)地址轉(zhuǎn)換裝置的公有IPv4地址池為200. 10. 10. 2?200. 10. 10. 254。每 個公有IPv4地址的端口號為0?65535,其中,0?2000可以作為特殊端口不分配給用戶, 2001?60000作為用戶端口分配給用戶的應(yīng)用會話,60001?65535作為預(yù)留端口分配給 最高等級的用戶復(fù)用。需要指出的是,上述分配方式僅是一個示例,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置可以 靈活配置這些端口的功能。
[0088] 用戶1上網(wǎng)時發(fā)起應(yīng)用會話,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置為用戶1分配轉(zhuǎn)換后的源IPv4地 址200. 10. 10. 2,同時檢查數(shù)據(jù)包的優(yōu)先等級,假設(shè)用戶1是等級1的用戶,網(wǎng)絡(luò)地址轉(zhuǎn)換裝 置給用戶1分配的端口塊的范圍是2001?3000,可以從中選擇端口 2001作為轉(zhuǎn)換后的源 端口,并將分配給用戶1的IPv4地址200. 10. 10. 2和端口塊2001?3000的分配信息發(fā)送 給AAA服務(wù)器或日志服務(wù)器。
[0089] 此后,用戶1再次發(fā)起新的應(yīng)用會話,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置檢查端口塊2001?3000 中是否有空閑端口,如果有空閑端口,則從中選擇一個空閑端口作為轉(zhuǎn)換后的源端口;如果 沒有空閑端口,則用戶的會話將失敗,用戶不能繼續(xù)使用新的應(yīng)用。
[0090] 用戶2上網(wǎng)時發(fā)起應(yīng)用會話,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置為用戶2分配轉(zhuǎn)換后的源IPv4地 址200. 10. 10. 2,同時檢查數(shù)據(jù)包的優(yōu)先等級,假設(shè)用戶2是等級2的用戶,網(wǎng)絡(luò)地址轉(zhuǎn)換裝 置給用戶2分配的端口塊的范圍是3001?5000,其他流程與用戶1相同。
[0091] 用戶3上網(wǎng)時發(fā)起應(yīng)用會話,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置為用戶3分配轉(zhuǎn)換后的源IPv4地 址200. 10. 10. 2,同時檢查數(shù)據(jù)包的優(yōu)先等級,假設(shè)用戶3是等級3的最高等級用戶,網(wǎng)絡(luò)地 址轉(zhuǎn)換裝置給用戶3分配的端口塊的范圍是5001?8000,可以從中選擇端口 5001作為轉(zhuǎn) 換后的源端口,并將分配給用戶3的IPv4地址200. 10. 10. 2和端口塊5001?8000的分配 信息發(fā)送給AAA服務(wù)器或日志服務(wù)器。
[0092] 此后,用戶3再次發(fā)起新的應(yīng)用會話,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置檢查端口塊5001-8000中 是否有空閑端口,如果有空閑端口,則從中選擇一個空閑端口作為轉(zhuǎn)換后的源端口;如果沒 有空閑端口,則檢查預(yù)留的端口塊60001?65535中是否有空閑端口,若有空閑端口,則從 中選擇一個空閑端口作為轉(zhuǎn)換后的源端口,同時將端口分配信息發(fā)送給AAA服務(wù)器或日志 服務(wù)器,若預(yù)留端口塊沒有空閑端口,則用戶3新發(fā)起的會話將失敗,用戶3將不能繼續(xù)使 用新的應(yīng)用。
[0093] 在該實例中,網(wǎng)絡(luò)地址轉(zhuǎn)換裝置為用戶1分配了 1000個端口,為用戶2分配了 2000個端口,為用戶3分配了 3000個端口,并且用戶3還可以與其他具有最高等級用戶一 起復(fù)用60001?65535內(nèi)的端口,實現(xiàn)了一種具有差異化的、具有服務(wù)質(zhì)量的端口分配方 法。
[0094] 本領(lǐng)域普通技術(shù)人員可以理解,實現(xiàn)上述方法實施例的全部和部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算設(shè)備可讀取存儲介質(zhì)中,該程 序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟,而前述的存儲介質(zhì)可以包括ROM、RAM、磁碟 和光盤等各種可以存儲程序代碼的介質(zhì)。
[0095] 圖3是本公開一個實施例的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖。
[0096] 如圖3所示,該實施例中的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置30可以包括用戶等級確定單元302、 私有IP地址提取單元304、端口分配單元306、地址信息發(fā)送單元308和資源信息記錄單元 310。其中,
[0097] 用戶等級確定單元302,用于在用戶首次發(fā)起應(yīng)用會話時,通過檢查用戶發(fā)送的數(shù) 據(jù)包的優(yōu)先級確定用戶的服務(wù)等級;
[0098] 私有IP地址提取單元304,用于從用戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4 地址;
[0099] 端口分配單元306,用于根據(jù)用戶的服務(wù)等級從待分配給用戶的公有IPv4地址中 為用戶分配端口塊,從為用戶分配的端口塊中選擇一個端口分配給用戶發(fā)起的應(yīng)用會話, 其中,用戶的服務(wù)等級越高端口分配單元為用戶分配的端口塊越大;
[0100] 地址信息發(fā)送單元308,用于將分配給用戶的公有IPv4地址與端口塊信息發(fā)送至 溯源系統(tǒng);
[0101] 資源信息記錄單元310,用于在資源信息表中為用戶建立私有IPv4地址與公有 IPv4地址和端口塊之間的映射關(guān)系并記錄為用戶分配的端口塊的使用情況。
[0102] 該實施例在地址轉(zhuǎn)換設(shè)備進行地址轉(zhuǎn)換時,能夠根據(jù)用戶的不同等級給用戶分配 不同大小的端口塊,進一步地,還可以給高等級的用戶預(yù)留端口塊,減少用戶端口使用完畢 的可能性,從而提高了用戶的應(yīng)用體驗,使各類用戶具有不同的服務(wù)質(zhì)量保證。
[0103] 圖4是本公開另一實施例的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置的結(jié)構(gòu)示意圖。
[0104] 如圖4所示,與圖3中的實施例相比,該實施例中的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置40還可以 包括用戶空閑端口判斷單元402、用戶等級判斷單元404和預(yù)留端口查詢單元406,其中,
[0105] 用戶空閑端口判斷單元402,用于在用戶再次發(fā)起新應(yīng)用會話且私有IP地址提取 單元自用戶發(fā)送的數(shù)據(jù)包中提取用戶使用的私有IPv4地址后,基于私有IPv4地址和資源 信息表查詢分配給用戶的端口塊中是否還存在空閑端口,如存在空閑端口,則端口分配單 元從空閑端口中為用戶再次發(fā)起的新應(yīng)用會話分配一個端口;
[0106] 用戶等級判斷單元404,用于在用戶再次發(fā)起新應(yīng)用會話且為用戶分配的端口塊 中無空閑端口時,通過檢查用戶再次發(fā)起新應(yīng)用會話時發(fā)送的數(shù)據(jù)包的優(yōu)先級判斷用戶的 服務(wù)等級是否為最高等級用戶;
[0107] 預(yù)留端口查詢單元406,用于如用戶等級判斷單元判斷出用戶為最高等級用戶,則 基于資源信息表查詢?yōu)橛脩舴峙涞墓蠭Pv4地址的預(yù)留端口塊中是否還存在空閑端口, 如存在空閑端口,則從預(yù)留端口塊的空閑端口中為用戶再次發(fā)起的新應(yīng)用會話分配一個端 Π ;
[0108] 資源信息記錄單元還用于在用戶再次發(fā)起新應(yīng)用會話后更新資源信息表中為用 戶分配的公有IPv4地址的各端口的使用情況。
[0109] 進一步地,資源信息記錄單元還在用戶首次發(fā)起的應(yīng)用會話或再次發(fā)起的新應(yīng)用 會話結(jié)束并釋放各應(yīng)用會話所使用的端口后,更新資源信息表中為用戶分配的公有IPv4 地址的各端口的使用情況。
[0110] 本說明書中各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其 他實施例的不同之處,各個實施例之間相同和相似的部分可以相互參見。對于裝置實施例 而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處可以參見方法實施例 部分的說明。
[0111] 雖然已參照示例性實施例描述了本公開,但應(yīng)理解,本公開不限于上述的示例性 實施例。對于本領(lǐng)域技術(shù)人員顯然的是,可以在不背離本公開的范圍和精神的條件下修改 上述的示例性實施例。所附的權(quán)利要求的范圍應(yīng)被賦予最寬的解釋,以包含所有這樣的修 改以及等同的結(jié)構(gòu)和功能。
【權(quán)利要求】
1. 一種端口分配方法,其特征在于,包括: 在用戶首次發(fā)起應(yīng)用會話時,通過檢查所述用戶發(fā)送的數(shù)據(jù)包的優(yōu)先級確定所述用戶 的服務(wù)等級,并從所述用戶發(fā)送的數(shù)據(jù)包中提取所述用戶使用的私有IPv4地址; 根據(jù)所述用戶的服務(wù)等級從待分配給用戶的公有IPv4地址中為所述用戶分配端口 塊,并將分配給所述用戶的公有IPv4地址與端口塊信息發(fā)送至溯源系統(tǒng); 從為所述用戶分配的端口塊中選擇一個端口分配給用戶發(fā)起的應(yīng)用會話; 在資源信息表中為所述用戶建立私有IPv4地址與公有IPv4地址和端口塊之間的映射 關(guān)系并記錄為所述用戶分配的端口塊的使用情況。
2. 根據(jù)權(quán)利要求1所述的端口分配方法,其特征在于,所述方法還包括: 在所述用戶再次發(fā)起新應(yīng)用會話時,自所述用戶發(fā)送的數(shù)據(jù)包中提取所述用戶使用的 私有IPv4地址,基于所述私有IPv4地址和所述資源信息表查詢分配給所述用戶的端口塊 中是否還存在空閑端口; 如存在空閑端口,則從空閑端口中為所述用戶再次發(fā)起的新應(yīng)用會話分配一個端口, 并更新所述資源信息表中為所述用戶分配的端口塊的使用情況; 如不存在空閑端口,則通過檢查所述用戶再次發(fā)起新應(yīng)用會話時發(fā)送的數(shù)據(jù)包的優(yōu)先 級獲知所述用戶的服務(wù)等級; 判斷所述用戶的服務(wù)等級是否為最高等級用戶; 如為最高等級用戶,則基于所述資源信息表查詢?yōu)樗鲇脩舴峙涞墓蠭Pv4地址的 預(yù)留端口塊中是否還存在空閑端口,否則,不能為所述用戶建立再次發(fā)起的新應(yīng)用會話; 如存在空閑端口,則從預(yù)留端口塊中的空閑端口中為所述用戶再次發(fā)起的新應(yīng)用會話 分配一個端口,并更新所述資源信息表中為最高等級用戶預(yù)留的端口塊的使用情況,否則, 不能為所述用戶建立再次發(fā)起的新應(yīng)用會話。
3. 根據(jù)權(quán)利要求1或2所述的端口分配方法,其特征在于,所述方法還包括: 在所述用戶首次發(fā)起的應(yīng)用會話或再次發(fā)起的新應(yīng)用會話結(jié)束后,釋放各應(yīng)用會話所 使用的端口,并更新所述資源信息表中為所述用戶分配的公有IPv4地址的各端口的使用 情況。
4. 根據(jù)權(quán)利要求1所述的端口分配方法,其特征在于,所述用戶的服務(wù)等級越高為所 述用戶分配的端口塊越大。
5. -種網(wǎng)絡(luò)地址轉(zhuǎn)換裝置,其特征在于,包括: 用戶等級確定單元,用于在用戶首次發(fā)起應(yīng)用會話時,通過檢查所述用戶發(fā)送的數(shù)據(jù) 包的優(yōu)先級確定所述用戶的服務(wù)等級; 私有IP地址提取單元,用于從所述用戶發(fā)送的數(shù)據(jù)包中提取所述用戶使用的私有 IPv4地址; 端口分配單元,用于根據(jù)所述用戶的服務(wù)等級從待分配給用戶的公有IPv4地址中為 所述用戶分配端口塊,從為所述用戶分配的端口塊中選擇一個端口分配給用戶發(fā)起的應(yīng)用 會話; 地址信息發(fā)送單元,用于將分配給所述用戶的公有IPv4地址與端口塊信息發(fā)送至溯 源系統(tǒng); 資源信息記錄單元,用于在資源信息表中為所述用戶建立私有IPv4地址與公有IPv4 地址和端口塊之間的映射關(guān)系并記錄為所述用戶分配的端口塊的使用情況。
6. 根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置,其特征在于,所述網(wǎng)絡(luò)地址轉(zhuǎn)換裝置還 包括用戶空閑端口判斷單元、用戶等級判斷單元和預(yù)留端口查詢單元,其中, 所述用戶空閑端口判斷單元,用于在所述用戶再次發(fā)起新應(yīng)用會話且所述私有IP地 址提取單元自所述用戶發(fā)送的數(shù)據(jù)包中提取所述用戶使用的私有IPv4地址后,基于所述 私有IPv4地址和所述資源信息表查詢分配給所述用戶的端口塊中是否還存在空閑端口, 如存在空閑端口,則所述端口分配單元從空閑端口中為所述用戶再次發(fā)起的新應(yīng)用會話分 配一個端口; 所述用戶等級判斷單元,用于在所述用戶再次發(fā)起新應(yīng)用會話且為所述用戶分配的端 口塊中無空閑端口時,通過檢查所述用戶再次發(fā)起新應(yīng)用會話時發(fā)送的數(shù)據(jù)包的優(yōu)先級判 斷所述用戶的服務(wù)等級是否為最高等級用戶; 所述預(yù)留端口查詢單元,用于如所述用戶等級判斷單元判斷出所述用戶為最高等級用 戶,則基于所述資源信息表查詢?yōu)樗鲇脩舴峙涞墓蠭Pv4地址的預(yù)留端口塊中是否還 存在空閑端口,如存在空閑端口,則從預(yù)留端口塊中的空閑端口中為所述用戶再次發(fā)起的 新應(yīng)用會話分配一個端口; 所述資源信息記錄單元,還用于在所述用戶再次發(fā)起新應(yīng)用會話后更新所述資源信息 表中為所述用戶分配的公有IPv4地址的各端口的使用情況。
7. 根據(jù)權(quán)利要求5或6所述的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置,其特征在于,所述資源信息記錄單元 還在所述用戶首次發(fā)起的應(yīng)用會話或再次發(fā)起的新應(yīng)用會話結(jié)束并釋放各應(yīng)用會話所使 用的端口后,更新所述資源信息表中為所述用戶分配的公有IPv4地址的各端口的使用情 況。
8. 根據(jù)權(quán)利要求5所述的網(wǎng)絡(luò)地址轉(zhuǎn)換裝置,其特征在于,所述用戶的服務(wù)等級越高 所述端口分配單元為所述用戶分配的端口塊越大。
【文檔編號】H04L29/12GK104144226SQ201310170751
【公開日】2014年11月12日 申請日期:2013年5月10日 優(yōu)先權(quán)日:2013年5月10日
【發(fā)明者】伍佑明, 李陽春, 黃燦燦, 鄒潔, 譚景華 申請人:中國電信股份有限公司