專利名稱:一種報文轉(zhuǎn)發(fā)的方法、設(shè)備及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種報文轉(zhuǎn)發(fā)的方法、設(shè)備及系統(tǒng)。
背景技術(shù):
用戶主機需要獲取IPv6 (Internet Protocol Version 6,互聯(lián)網(wǎng)協(xié)議版本6)地 Jat W, ηΤ Α ^ DHCPv6 (Dynamic Host Configuration Protocol for IPv6, IPv6 云力|± 機配置協(xié)議)服務(wù)器發(fā)送DHCPv6請求報文,該DHCPv6請求報文中包含IA_NA(Identity Association for Non-temporary Addresses, #1(^0^ :IA_TA (Identity Association for Temporary Addresses,臨時地址的身份關(guān)聯(lián))選項;DHCPv6服務(wù)器在收到上述DHCPv6請求報文后,為上述用戶主機分配IPv6地址,并向該用戶主機返回DHCPv6 應(yīng)答報文,將分配的IPv6地址攜帶在DHCPv6應(yīng)答報文的IA_NA選項或IA_TA選項中。上述過程中,中間路由器做DHCPv6 relay (中繼),根據(jù)DHCPv6應(yīng)答報文中攜帶的IPv6地址的前綴生成鄰居表中的鄰居表項,進而根據(jù)該鄰居表轉(zhuǎn)發(fā)DHCPv6應(yīng)答報文。目前,路由器設(shè)備普遍存在鄰居表資源少的問題,因此,路由器能夠連接的節(jié)點有限,網(wǎng)絡(luò)規(guī)模受限。如果需要擴大網(wǎng)絡(luò)規(guī)模,就需要增加相應(yīng)的路由器,這樣提高了組網(wǎng)的成本。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種報文轉(zhuǎn)發(fā)的方法、設(shè)備及系統(tǒng),解決路由器設(shè)備鄰居表資源少導(dǎo)致的問題。一種報文轉(zhuǎn)發(fā)的方法,包括中間路由器將用戶主機發(fā)來的動態(tài)主機配置協(xié)議DHCPv6請求報文轉(zhuǎn)發(fā)給DHCPv6 服務(wù)器;所述中間路由器接收所述DHCPv6服務(wù)器發(fā)送的DHCPv6應(yīng)答報文,所述DHCPv6應(yīng)答報文中攜帶有為所述用戶主機分配的互聯(lián)網(wǎng)協(xié)議IPv6地址;所述中間路由器獲取IPv6地址的前綴的長度;所述中間路由器根據(jù)獲取的前綴的長度,從所述IPv6地址中獲取IPv6地址的前所述中間路由器根據(jù)所述前綴生成前綴路由表項,根據(jù)所述前綴路由表項轉(zhuǎn)發(fā)所述DHCPv6應(yīng)答報文。一種路由器,包括請求報文轉(zhuǎn)發(fā)模塊,用于將用戶主機發(fā)來的動態(tài)主機配置協(xié)議DHCPv6請求報文轉(zhuǎn)發(fā)給DHCPv6服務(wù)器;應(yīng)答報文接收模塊,用于接收所述DHCPv6服務(wù)器發(fā)送的DHCPv6應(yīng)答報文,所述 DHCPv6應(yīng)答報文中攜帶有為所述用戶主機分配的互聯(lián)網(wǎng)協(xié)議IPv6地址;前綴獲取模塊,用于獲取IPv6地址的前綴的長度,并根據(jù)所述前綴的長度,從所述IPv6地址中獲取IPv6地址的前綴;路由轉(zhuǎn)發(fā)模塊,用于根據(jù)所述前綴生成前綴路由表項,并根據(jù)所述前綴路由表項轉(zhuǎn)發(fā)所述DHCPv6應(yīng)答報文。一種動態(tài)主機配置協(xié)議DHCP服務(wù)器,所述DHCP服務(wù)器通過中間路由器連接用戶主機,所述DHCP服務(wù)器包括請求報文接收模塊,用于接收來自用戶主機的DHCPv6請求報文;應(yīng)答報文發(fā)送模塊,用于通過所述中間路由器向所述用戶主機發(fā)送DHCPv6應(yīng)答報文,所述DHCPv6應(yīng)答報文中攜帶有為所述用戶主機分配的互聯(lián)網(wǎng)協(xié)議版本6IPv6地址以及所述IPv6地址的前綴的長度,以便所述中間路由器根據(jù)所述前綴的長度獲取所述IPv6 地址的前綴并根據(jù)所述前綴生成前綴路由表項。一種報文轉(zhuǎn)發(fā)系統(tǒng),包括中間路由器、和通過所述中間路由器與用戶主機連接的動態(tài)主機配置協(xié)議DHCP服務(wù)器;所述DHCP服務(wù)器,用于接收來自用戶主機的DHCPv6請求報文,通過所述中間路由器向所述用戶主機發(fā)送DHCPv6應(yīng)答報文,所述DHCPv6應(yīng)答報文攜帶有為所述用戶主機分配的IPv6地址;所述中間路由器,用于接收所述DHCPv6應(yīng)答報文,根據(jù)獲取的地址前綴的長度獲取所述IPv6地址的前綴,并根據(jù)所述前綴生成前綴路由表項以及根據(jù)所述前綴路由表項轉(zhuǎn)發(fā)報文。本發(fā)明實施例提供的方法、設(shè)備及系統(tǒng),由于路由器根據(jù)IPv6地址生成前綴路由表項,根據(jù)路由表進行報文轉(zhuǎn)發(fā),而不是根據(jù)鄰居表來進行報文轉(zhuǎn)發(fā)。這樣就避免了鄰居表資源少而導(dǎo)致的網(wǎng)絡(luò)規(guī)模受限和轉(zhuǎn)發(fā)效率低的問題。又由于路由器的路由表資源較大,因此,通過生成路由的方式轉(zhuǎn)發(fā)報文,也提高了路由器設(shè)備的利用率。
圖1為本發(fā)明一個實施例提供的方法流程圖;圖2為本發(fā)明實施例提供的網(wǎng)絡(luò)結(jié)構(gòu)示意圖;圖3為本發(fā)明應(yīng)用實施例一提供的方法信令圖;圖4為本發(fā)明應(yīng)用實施例二提供的方法信令圖;圖5為本發(fā)明實施例提供的中間路由器結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例提供的服務(wù)器結(jié)構(gòu)示意圖;圖7為本發(fā)明實施例提供的系統(tǒng)結(jié)構(gòu)示意圖。
具體實施例方式本發(fā)明實施例提供一種報文轉(zhuǎn)發(fā)的方法。在中間路由器側(cè),該方法如圖1所示,包括如下操作S101、中間路由器將用戶主機發(fā)來的DHCPv6請求報文轉(zhuǎn)發(fā)給DHCPv6服務(wù)器;S102、所述中間路由器接收所述DHCPv6服務(wù)器發(fā)送的DHCPv6應(yīng)答報文,該DHCPv6 應(yīng)答報文中攜帶有為所述用戶主機分配的IPv6地址。其中,所述IPv6地址的前綴長度不超過所述中間路由器的處理能力,通常,中間
5路由器的最大處理能力為路由長度64位,則上述的前綴長度不超過64位。S103、所述中間路由器獲取為所述用戶主機分配的IPv6地址的前綴的長度;S104、所述中間路由器根據(jù)獲取的前綴的長度,從所述IPv6地址中獲取IPv6地址的前綴;S105、所述中間路由器根據(jù)所述前綴生成前綴路由表項,根據(jù)所述前綴路由表項轉(zhuǎn)發(fā)所述DHCPv6應(yīng)答報文。具體的,所述中間路由器將所述前綴學(xué)習(xí)到路由表中,根據(jù)所述路由表進行路由。本發(fā)明實施例提供的方法,由于路由器根據(jù)IPv6地址生成前綴路由,根據(jù)路由表進行報文轉(zhuǎn)發(fā),而不是根據(jù)鄰居表來進行報文轉(zhuǎn)發(fā)。這樣就避免了鄰居表資源少而導(dǎo)致的網(wǎng)絡(luò)規(guī)模受限或組網(wǎng)成本高的問題。又由于路由器的路由表資源較大,因此,通過生成路由的方式轉(zhuǎn)發(fā)報文,也提高了路由器設(shè)備的利用率。上述本發(fā)明實施例提供的方法中,中間路由器具體是獲取IPv6地址的前綴長度, 根據(jù)前綴長度,從IPv6地址中截取前綴。其中,IPv6地址的前綴長度可以但不僅限于包括靜態(tài)配置和動態(tài)配置兩種方式。靜態(tài)配置由于前綴長度固定,可以預(yù)先在中間路由器能夠讀取的存儲空間中配置前綴長度,配置的前綴長度與DHCPv6服務(wù)器分配的前綴長度一致。具體的,可以由管理員進行配置,也可以由DHCPv6服務(wù)器配置。所述的存儲空間可以設(shè)置在中間路由器內(nèi)部,也可以設(shè)置在中間路由器能夠訪問的其他網(wǎng)絡(luò)節(jié)點中。本發(fā)明實施例中,DHCPv6服務(wù)器為各個用戶主機分配的前綴長度可以相同,也可以不同。如果為各個用戶主機分配的前綴長度不同, 則在存儲空間中配置前綴長度時,具體按照用戶主機標(biāo)識與為該用戶主機分配的前綴長度的對應(yīng)關(guān)系來保存配置。應(yīng)當(dāng)指出的是,無論為各個用戶主機分配的前綴長度是否相同, DHCPvB服務(wù)器為每個用戶主機分配的前綴內(nèi)容均不同,以便根據(jù)前綴來識別各個用戶主機。通過靜態(tài)配置前綴長度后,中間路由器從上述配置信息中獲取IPv6地址的前綴長度。動態(tài)配置在動態(tài)配置實現(xiàn)方式中,所述的DHCPv6應(yīng)答報文中攜帶IPv6地址的前綴長度,作為舉例而非限定,該DHCPv6應(yīng)答報文中包含地址分配策略選項,該地址分配策略選項中包括所述前綴長度等。則,所述的中間路由器從所述DHCPv6應(yīng)答報文中獲取IPv6地址的前綴長度。本發(fā)明實施例提供的方法中,S105中所述的中間路由器根據(jù)所述前綴生成前綴路由表項具體包括所述中間路由器根據(jù)所述前綴,生成路由表的前綴路由表項,所述前綴路由表項的內(nèi)容包括所述的前綴;出接口信息,所述出接口信息為所述中間路由器收到的所述DHCPv6請求報文的三層接口 ;下一跳信息,所述下一跳信息為所述用戶主機的源IP地址和主機MAC。下面將對本發(fā)明實施例在實際應(yīng)用過程中的具體實現(xiàn)方式進行詳細的說明。如圖2所示的網(wǎng)絡(luò)示意圖中,用戶主機通過邊緣路由器連接到網(wǎng)絡(luò),邊緣路由器可以是AN(Access Node,接入節(jié)點),也可以是RG(Residential Gateway,駐地網(wǎng)關(guān))等,其具體實現(xiàn)設(shè)備可以是網(wǎng)橋。中間路由器可以但不僅限于是BNG(Broadband Network (Gateway,寬帶網(wǎng)絡(luò)網(wǎng)關(guān))。應(yīng)當(dāng)指出的是,圖3僅是一種網(wǎng)絡(luò)示意圖,其中,邊緣路由器可以連接不止一臺用戶主機,中間路由器可以連接不止一臺邊緣路由器,DHCPv6服務(wù)器可以連接不止一臺中間路由器。應(yīng)用實施例一在圖2所示的網(wǎng)絡(luò)中,假設(shè)邊緣路由器由網(wǎng)橋?qū)崿F(xiàn),中間路由器為BNG。預(yù)先在 BNG可以讀取的存儲空間中配置IPv6地址的前綴長度,具體配置方式如前所述,這里不再贅述。則應(yīng)用實施例一的處理過程如圖3所示,包括如下操作S301、用戶主機向BNG發(fā)送DHCPv6請求報文;該DHCPv6請求報文中包含IA_NA或IA_TA選項,該DHCPv6請求報文用來向DHCPv6 請求報文申請128位的IPv6地址;S302、BNG將上述DHCPv6請求報文轉(zhuǎn)發(fā)給DHCPv6服務(wù)器;S303、DHCPv6服務(wù)器為該用戶主機分配IPv6地址;其中,DHCPv6服務(wù)器為每個用戶主機分配的IPv6地址的前綴各不相同,分配的前綴長度固定,且前綴長度不超過中間路由器的處理能力。S304、DHCPv6服務(wù)器向BNG返回DHCPv6應(yīng)答報文,并將為用戶主機分配的IPv6地址包含在DHCPv6應(yīng)答報文中的IA_NA或IA_TA選項中;S305、BNG偵聽到DHCPv6應(yīng)答報文,獲取DHCPv6應(yīng)答報文中的IPv6地址;S306.BNG從配置信息中獲取該用戶主機對應(yīng)的前綴長度,按照該前綴長度截取上述IPv6地址的前綴,根據(jù)該前綴生成路由表的前綴路由表項;S307、BNG根據(jù)生成的前綴路由表項向用戶主機轉(zhuǎn)發(fā)DHCPv6應(yīng)答報文。在網(wǎng)橋-BNG的網(wǎng)絡(luò)架構(gòu)中,鄰居表資源不足的問題尤其突出。通過本發(fā)明應(yīng)用實施例一提供的技術(shù)方案,采用靜態(tài)方式配置前綴長度,以便BNG根據(jù)IPv6地址生成前綴路由,根據(jù)路由表轉(zhuǎn)發(fā)報文,而不是根據(jù)鄰居表轉(zhuǎn)發(fā)報文,避免了鄰居表資源不足的問題。充分利用了 BNG路由表資源比較大的優(yōu)勢,提高了設(shè)備的利用率。應(yīng)用實施例二在圖2所示的網(wǎng)絡(luò)中,假設(shè)邊緣路由器由網(wǎng)橋?qū)崿F(xiàn),中間路由器為BNG。則應(yīng)用實施例二的處理過程如圖4所示,包括如下操作S401、用戶主機向BNG發(fā)送DHCPv6請求報文;該DHCPv6請求報文中包含IA_NA或IA_TA選項,該DHCPv6請求報文用來向DHCPv6 請求報文申請128位的IPv6地址;S402、BNG將上述DHCPv6請求報文轉(zhuǎn)發(fā)給DHCPv6服務(wù)器;S403、DHCPv6服務(wù)器為該用戶主機分配IPv6地址;其中,DHCPv6服務(wù)器為每個用戶主機分配的IPv6地址的前綴各不相同,分配的前綴長度固定,且前綴長度不超過中間路由器的處理能力。S404、DHCPv6服務(wù)器向BNG返回DHCPv6應(yīng)答報文;該DHCPv6應(yīng)答報文中包含IA_NA或IA_TA選項,所述的IA_NA或IA_TA選項中攜帶為用戶主機分配的IPv6地址。該 DHCPv6 中還包含 ADD_ALL0C_P0LICY 選項,ADD_ALL0C_P0LICY 選項為本發(fā)明提出的擴展選項,該選項用來攜帶地址分配策略,具體包括該前綴的長度等。S405、BNG偵聽到DHCPv6應(yīng)答報文,獲取DHCPv6應(yīng)答報文中的IPv6地址;S406、BNG從該DHCPv6應(yīng)答報文中獲取該用戶主機對應(yīng)的前綴長度,按照該前綴長度截取上述IPv6地址的前綴,根據(jù)該前綴生成路由表的前綴路由表項;S407、BNG根據(jù)生成的前綴路由表項向用戶主機轉(zhuǎn)發(fā)DHCPv6應(yīng)答報文。在網(wǎng)橋-BNG的網(wǎng)絡(luò)架構(gòu)中,鄰居表資源不足的問題尤其突出。通過本發(fā)明應(yīng)用實施例二提供的技術(shù)方案,采用動態(tài)配置方式,在DHCPv6應(yīng)答報文中攜帶前綴長度,以便BNG 根據(jù)IPv6地址生成前綴路由,進而根據(jù)路由表轉(zhuǎn)發(fā)報文,而不是根據(jù)鄰居表轉(zhuǎn)發(fā)報文,避免了鄰居表資源不足的問題。充分利用了 BNG路由表資源比較大的優(yōu)勢,提高了設(shè)備的利用率。應(yīng)用實施例三在如圖2所示的網(wǎng)絡(luò)中,假設(shè)有兩臺用戶主機(A和B)連接到網(wǎng)橋上。假設(shè)DHCPv6 服務(wù)器為A和B分配的IPv6地址的前綴不同,但前綴長度均為64位。例如,為A和B分配的IPv6地址如下A = 2001:1:1:1:0:0:0:1B = 2001:1:1:2:0:0:0:1。其中,為A分配的IPv6地址的前綴為2001 1 1 1,為B分配的IPv6地址的前綴長度為 2001:1:1:2。那么,通過上述應(yīng)用實施例一或應(yīng)用實施例二提供的方法,根據(jù)BNG生成的前綴
路由選項更新的路由表如下所示
權(quán)利要求
1.一種報文轉(zhuǎn)發(fā)的方法,其特征在于,包括中間路由器將用戶主機發(fā)來的動態(tài)主機配置協(xié)議DHCPv6請求報文轉(zhuǎn)發(fā)給DHCPv6服務(wù)器;所述中間路由器接收所述DHCPv6服務(wù)器發(fā)送的DHCPv6應(yīng)答報文,所述DHCPv6應(yīng)答報文中攜帶有為所述用戶主機分配的互聯(lián)網(wǎng)協(xié)議IPv6地址; 所述中間路由器獲取IPv6地址的前綴的長度;所述中間路由器根據(jù)獲取的前綴的長度,從所述IPv6地址中獲取IPv6地址的前綴; 所述中間路由器根據(jù)所述前綴生成前綴路由表項,根據(jù)所述前綴路由表項轉(zhuǎn)發(fā)所述 DHCPv6應(yīng)答報文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述中間路由器獲取IPv6地址的前綴的長度包括所述中間路由器從配置信息中獲取所述前綴的長度; 或者,所述中間路由器從所述DHCPv6應(yīng)答報文中獲取所述前綴的長度,所述DHCPv6應(yīng)答報文中攜帶有所述IPv6地址的前綴的長度。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述中間路由器根據(jù)所述前綴生成前綴路由表項具體包括所述中間路由器根據(jù)所述前綴,生成路由表的前綴路由表項,所述前綴路由表項的內(nèi)容包括所述前綴、出接口信息以及下一跳信息。
4.一種路由器,其特征在于,包括請求報文轉(zhuǎn)發(fā)模塊,用于將用戶主機發(fā)來的動態(tài)主機配置協(xié)議DHCPv6請求報文轉(zhuǎn)發(fā)給DHCPv6服務(wù)器;應(yīng)答報文接收模塊,用于接收所述DHCPv6服務(wù)器發(fā)送的DHCPv6應(yīng)答報文,所述DHCPv6 應(yīng)答報文中攜帶有為所述用戶主機分配的互聯(lián)網(wǎng)協(xié)議IPv6地址;前綴獲取模塊,用于獲取IPv6地址的前綴的長度,并根據(jù)所述前綴的長度,從所述 IPv6地址中獲取IPv6地址的前綴;路由轉(zhuǎn)發(fā)模塊,用于根據(jù)所述前綴生成前綴路由表項,并根據(jù)所述前綴路由表項轉(zhuǎn)發(fā)所述DHCPv6應(yīng)答報文。
5.根據(jù)權(quán)利要求4所述的路由器,其特征在于,所述前綴獲取模塊具體包括前綴長度獲取子模塊,用于從配置信息中獲取所述前綴的長度,或者用于從所述 DHCPv6應(yīng)答報文中獲取所述前綴的長度;前綴獲取子模塊,用于根據(jù)所述前綴長度獲取子模塊獲取的前綴的長度,從所述IPv6 地址中獲取所述前綴。
6.根據(jù)權(quán)利要求4或5所述的路由器,其特征在于,所述路由轉(zhuǎn)發(fā)模塊具體包括 路由生成子模塊,用于根據(jù)所述前綴,生成路由表的前綴路由表項,所述前綴路由表項的內(nèi)容包括所述前綴、出接口信息以及下一跳信息;報文轉(zhuǎn)發(fā)子模塊,用于根據(jù)所述路由生成子模塊生成的前綴路由表項,轉(zhuǎn)發(fā)所述 DHCPv6應(yīng)答報文。
7.一種動態(tài)主機配置協(xié)議DHCP服務(wù)器,所述DHCP服務(wù)器通過中間路由器連接用戶主機,其特征在于,所述DHCP服務(wù)器包括請求報文接收模塊,用于接收來自用戶主機的DHCPv6請求報文;應(yīng)答報文發(fā)送模塊,用于通過所述中間路由器向所述用戶主機發(fā)送DHCPv6應(yīng)答報文, 所述DHCPv6應(yīng)答報文中攜帶有為所述用戶主機分配的互聯(lián)網(wǎng)協(xié)議版本6IPv6地址以及所述IPv6地址的前綴的長度,以便所述中間路由器根據(jù)所述前綴的長度獲取所述IPv6地址的前綴并根據(jù)所述前綴生成前綴路由表項。
8.一種報文轉(zhuǎn)發(fā)系統(tǒng),其特征在于,包括中間路由器、和通過所述中間路由器與用戶主機連接的動態(tài)主機配置協(xié)議DHCP服務(wù)器;所述DHCP服務(wù)器,用于接收來自用戶主機的DHCPv6請求報文,通過所述中間路由器向所述用戶主機發(fā)送DHCPv6應(yīng)答報文,所述DHCPv6應(yīng)答報文攜帶有為所述用戶主機分配的 IPv6地址;所述中間路由器,用于接收所述DHCPv6應(yīng)答報文,根據(jù)獲取的地址前綴的長度獲取所述IPv6地址的前綴,并根據(jù)所述前綴生成前綴路由表項以及根據(jù)所述前綴路由表項轉(zhuǎn)發(fā)報文。
全文摘要
本發(fā)明涉及一種根據(jù)地址分配策略減少使用鄰居表的方法,包括中間路由器將用戶主機發(fā)來的DHCPv6請求報文轉(zhuǎn)發(fā)給服務(wù)器;中間路由器接收服務(wù)器發(fā)送的DHCPv6應(yīng)答報文,DHCPv6應(yīng)答報文中攜帶為用戶主機分配的IPv6地址,IPv6地址的前綴長度不超過中間路由器的處理能力;所述中間路由器獲取IPv6地址的前綴,根據(jù)前綴生成前綴路由。本發(fā)明實施例還提供一種中間路由器和DHCPv6服務(wù)器。由于路由器根據(jù)IPv6地址生成前綴路由,根據(jù)路由進行報文轉(zhuǎn)發(fā),而不是通過生成鄰居表來進行報文轉(zhuǎn)發(fā)。這樣就避免了鄰居表資源少而導(dǎo)致的網(wǎng)絡(luò)規(guī)模受限的問題。又由于路由器的路由表資源較大,因此,通過生成路由的方式轉(zhuǎn)發(fā)報文,也提高了路由器設(shè)備的利用率。
文檔編號H04L12/56GK102439918SQ201180002197
公開日2012年5月2日 申請日期2011年10月11日 優(yōu)先權(quán)日2011年10月11日
發(fā)明者戴岳華, 羅勇 申請人:華為技術(shù)有限公司