一種負(fù)載均衡的方法和裝置制造方法
【專利摘要】本發(fā)明提出一種負(fù)載均衡的方法和裝置,應(yīng)用于NPV交換機(jī)上,所述方法包括:當(dāng)需要進(jìn)行負(fù)載均衡操作時,遍歷預(yù)先建立的上下行接口映射表,根據(jù)負(fù)載分擔(dān)策略確定出需要將對應(yīng)流量調(diào)整到新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項;降低確定出的映射表項的轉(zhuǎn)發(fā)優(yōu)先級,在光纖通道FC路由表中下發(fā)目的FC地址與該映射表項相同并且出接口為所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的負(fù)載均衡LB路由表項,并保存該LB路由表項與所述映射表項的對應(yīng)關(guān)系;其中所述LB路由表項的轉(zhuǎn)發(fā)優(yōu)先級高于所述映射表項降低后的轉(zhuǎn)發(fā)優(yōu)先級。通過本發(fā)明,能夠在在業(yè)務(wù)不中斷的情況下實現(xiàn)上行接口的負(fù)載均衡。
【專利說明】一種負(fù)載均衡的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種負(fù)載均衡的方法和裝置。
【背景技術(shù)】
[0002]在FC (Fiber Channel,光纖通道)SAN (Storage Area Network,存儲局域網(wǎng)絡(luò))中,通信的雙方,通常一端為網(wǎng)絡(luò)服務(wù)器,另一端為磁盤設(shè)備。服務(wù)器與磁盤設(shè)備之間可以通過光纖或者銅纜直接連接在一起,也可以通過交換機(jī)間接連接在一起。
[0003]在交換式架構(gòu)中,服務(wù)器和磁盤設(shè)備都被稱之為節(jié)點設(shè)備(Node),是數(shù)據(jù)發(fā)送和接收的實體;FC交換機(jī)作為中間傳輸設(shè)備提供數(shù)據(jù)轉(zhuǎn)發(fā)和網(wǎng)絡(luò)控制功能。交換式架構(gòu)提供了很好的擴(kuò)展能力,能夠支持上萬臺甚至更多的節(jié)點設(shè)備互聯(lián)。
[0004]請參見圖1和圖2,由FC交換機(jī)和節(jié)點設(shè)備組成的網(wǎng)絡(luò)稱為FC SAN,由FC交換機(jī)組成的中間傳輸網(wǎng)絡(luò)稱為Fabric (架構(gòu))網(wǎng)絡(luò)。在FC SAN中,對于直接連接節(jié)點設(shè)備的邊緣交換機(jī)的需求量很大,為了使邊緣交換機(jī)可以突破一個FC SAN中239臺最大交換機(jī)數(shù)目的限制,因此開發(fā)了 NPV (N_Port Virtualization,N模式端口虛擬化)交換機(jī),簡稱NPV交換機(jī)。其中N模式是節(jié)點設(shè)備上的端口模式,節(jié)點設(shè)備上N模式的端口稱作N端口 ;NPV交換機(jī)的作用就是將多個本地連接的節(jié)點設(shè)備上的N端口聚集到一個或多個外部NP端口上。
[0005]在光纖通道網(wǎng)絡(luò)中,交換機(jī)的端口模式通常包括:E模式、F模式和NP模式;處于E模式的端口稱為E端口,E端口用來連接其它交換機(jī)的E端口;處于F模式的接口稱為F端口,F(xiàn)端口用來連接節(jié)點設(shè)備的N端口或者其它交換機(jī)的NP端口;處于NP模式的接口稱為NP端口,NP端口用來連接其它交換機(jī)的F端口。
[0006]NPV交換機(jī)位于Fabric網(wǎng)絡(luò)邊緣,在節(jié)點設(shè)備與核心交換機(jī)之間。核心交換機(jī)工作在FCF (Fibre Channel Forwarder,光纖通道轉(zhuǎn)發(fā)者)模式,NPV交換機(jī)通過F接口(F_Port)和節(jié)點設(shè)備的N接口( N_Port)相連,通過N接口和核心交換機(jī)的F接口相連。最終,節(jié)點設(shè)備通過NPV交換機(jī)接入到Fabric網(wǎng)絡(luò)中,所有節(jié)點設(shè)備的業(yè)務(wù)流量都通過NPV交換機(jī)轉(zhuǎn)發(fā)到核心交換機(jī)。其中節(jié)點設(shè)備是指發(fā)送和接收數(shù)據(jù)的實體,比如Fabric網(wǎng)絡(luò)中的服務(wù)器和磁盤設(shè)備。
[0007]對于節(jié)點設(shè)備來說,NPV交換機(jī)相當(dāng)于一臺FCF模式的交換機(jī),接口呈現(xiàn)為F模式;而對于核心交換機(jī)來說,NPV交換機(jī)相當(dāng)于一臺節(jié)點設(shè)備,接口呈現(xiàn)為N模式。
[0008]在NPV交換機(jī)上,和節(jié)點設(shè)備相連的接口稱為下行口,也稱之為serverinterface。和核心交換機(jī)相連的接口稱為上行口,也稱之為external interface。上行口和下行口可以是FC接口或者VFC接口,但必須配置為NP模式。每個下行口會唯一映射到一個生效(鏈路up)的上行口,所有和該下行口相連的節(jié)點設(shè)備的數(shù)據(jù)都會通過映射的上行口轉(zhuǎn)發(fā)到核心交換機(jī)上。
[0009]對于NPV交換機(jī),會自動的進(jìn)行上下行口的映射,在下行口生效前,NPV交換機(jī)會從當(dāng)前所有生效的上行口中選擇一個負(fù)載最小的上行口,將下行口映射到選中的上行口。其中這里所說的負(fù)載是指上行口上映射的下行口的數(shù)目。[0010]當(dāng)自動映射不能滿足組網(wǎng)需求(比如需要下行口通過指定的上行口連接到Fabric網(wǎng)絡(luò))時,可以通過配置上下行口映射關(guān)系來將下行口映射到指定的上行口或上行口的集合。一旦配置了映射關(guān)系,則下行口就只能映射到用戶配置的上行口,如果配置的上行口未生效,則對應(yīng)的下行口也無法生效。
[0011]上下行口建立映射關(guān)系后,從下行口過來的流量均通過映射的上行口進(jìn)行轉(zhuǎn)發(fā)。當(dāng)有新的上行口生效時,NPV交換機(jī)并不會自動對已有的上下行口映射進(jìn)行重新映射,以達(dá)到負(fù)載均衡。因為重新映射時,NPV交換機(jī)將對所有下行口進(jìn)行鏈路初始化,要求和下行口相連的所有節(jié)點設(shè)備重新進(jìn)行注冊,這樣會導(dǎo)致流量中斷。因此,當(dāng)有新的上行口生效時,如果用戶希望重新進(jìn)行上下行口映射,以達(dá)到更好的負(fù)載均衡效果,可通過命令行觸發(fā)重新映射,然而此時會對所有下行口進(jìn)行鏈路初始化,造成業(yè)務(wù)中斷。
【發(fā)明內(nèi)容】
[0012]本發(fā)明提出一種負(fù)載均衡的方法,應(yīng)用于NPV交換機(jī)上,所述方法包括:
[0013]當(dāng)需要進(jìn)行負(fù)載均衡操作時,遍歷預(yù)先建立的上下行接口映射表,根據(jù)負(fù)載分擔(dān)策略確定出需要將對應(yīng)流量調(diào)整到新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項;
[0014]降低確定出的映射表項的轉(zhuǎn)發(fā)優(yōu)先級,在FC路由表中下發(fā)目的FC地址與該映射表項相同并且出接口為所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的LB路由表項,并保存該LB路由表項與所述映射表項的對應(yīng)關(guān)系;其中所述LB路由表項的轉(zhuǎn)發(fā)優(yōu)先級高于所述映射表項降低后的轉(zhuǎn)發(fā)優(yōu)先級。
[0015]優(yōu)選地,所述根據(jù)負(fù)載分擔(dān)策略確定出需要調(diào)整到新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項包括:
[0016]對所述映射表按照上行接口進(jìn)行分組;
[0017]在包含映射表項數(shù)目最多的分組中,選擇源MAC地址相同的一條或多條映射表項作為所述需要調(diào)整到所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項。
[0018]優(yōu)選地,所述方法還包括:當(dāng)有上行接口失效時,判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項,如果是,刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將所述映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值;如果否,遍歷所述映射表以及FC路由表,將與該失效上行接口對應(yīng)的下行接口映射到當(dāng)前所有生效的上行接口中負(fù)載最小的上行接口。
[0019]優(yōu)選地,所述方法還包括:當(dāng)有新加入下行接口生效時,遍歷所述映射表以及FC路由表,將該新加入下行接口映射到所有生效的上行接口中負(fù)載最小的上行接口 ;
[0020]當(dāng)有下行接口失效時,刪除所述映射表中與該失效下行口對應(yīng)的失效表項,并判斷所述FC路由表中是否已下發(fā)了出接口為該下行接口對應(yīng)的上行接口的LB路由表項,如果是,并且與該LB路由表項對應(yīng)的映射表項中的下行接口均為該失效的下行口時,則刪除該LB路由表項。
[0021]優(yōu)選地,所述方法還包括:當(dāng)將失效上行接口對應(yīng)的下行接口或者新加入下行接口映射到當(dāng)前所有生效的上行接口中負(fù)載最小的上行接口后,該上行接口的負(fù)載高于其他上行接口時,則進(jìn)一步判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項,如果是,則刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值。
[0022]本發(fā)明還提出一種負(fù)載均衡的裝置,應(yīng)用于NPV交換機(jī)上,所述裝置包括:
[0023]確定模塊,用于當(dāng)需要進(jìn)行負(fù)載均衡操作時,遍歷預(yù)先建立的上下行接口映射表,根據(jù)負(fù)載分擔(dān)策略確定出需要將對應(yīng)流量調(diào)整到新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項;
[0024]下發(fā)模塊,用于降低確定出的映射表項的轉(zhuǎn)發(fā)優(yōu)先級,在FC路由表中下發(fā)目的FC地址與該映射表項相同并且出接口為所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的LB路由表項,并保存該LB路由表項與所述映射表項的對應(yīng)關(guān)系;其中所述LB路由表項的轉(zhuǎn)發(fā)優(yōu)先級高于所述映射表項降低后的轉(zhuǎn)發(fā)優(yōu)先級。
[0025]優(yōu)選地,所述確定模塊進(jìn)一步用于:
[0026]對所述映射表按照上行接口進(jìn)行分組;
[0027]在包含映射表項數(shù)目最多的分組中,選擇源MAC地址相同的一條或多條映射表項作為所述需要調(diào)整到所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項。
[0028]優(yōu)選地,所述裝置還包括:判斷模塊,用于當(dāng)有上行接口失效時,判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項,如果是,刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將所述映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值;如果否,遍歷所述映射表以及FC路由表,將與該失效上行接口對應(yīng)的下行接口映射到當(dāng)前所有生效的上行接口中負(fù)載最小的上行接口。
[0029]優(yōu)選地,所述判斷模塊還用于:當(dāng)有新加入下行接口生效時,遍歷所述映射表以及FC路由表,將該新加入下行接口映射到所有生效的上行接口中負(fù)載最小的上行接口 ;
[0030]當(dāng)有下行接口失效時,刪除所述映射表中與該失效下行口對應(yīng)的失效表項,并判斷所述FC路由表中是否已下發(fā)了出接口為該下行接口對應(yīng)的上行接口的LB路由表項,如果是,并且與該LB路由表項對應(yīng)的映射表項中的下行接口均為該失效的下行口時,則刪除該LB路由表項。
[0031]優(yōu)選地,所述判斷模塊進(jìn)一步用于:當(dāng)將失效上行接口對應(yīng)的下行接口或者新加入下行接口映射到當(dāng)前所有生效的上行接口中負(fù)載最小的上行接口后,該上行接口的負(fù)載高于其他上行接口時,則進(jìn)一步判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項,如果是,則刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值。
[0032]通過本發(fā)明,能夠?qū)崿F(xiàn)NPV交換機(jī)在在業(yè)務(wù)不中斷的情況下實現(xiàn)上行接口的負(fù)載均衡。
【專利附圖】
【附圖說明】
[0033]圖1是Fabric網(wǎng)絡(luò)的組網(wǎng)圖;
[0034]圖2是FC SAN網(wǎng)絡(luò)的組網(wǎng)圖;
[0035]圖3是本發(fā)明實施例提出的一種負(fù)載均衡方法的流程圖;
[0036]圖4是本發(fā)明實施例提出的一種負(fù)載均衡裝置的邏輯結(jié)構(gòu)圖?!揪唧w實施方式】
[0037]本申請?zhí)岢鲆环N負(fù)載均衡的方法,應(yīng)用于NPV交換機(jī)上,當(dāng)有上行接口生效時,通過自動降低部分映射表項的優(yōu)先級,并在FC路由表中下發(fā)均衡路由,使相應(yīng)源MAC的流量匹配FC路由表轉(zhuǎn)發(fā),從而實現(xiàn)在業(yè)務(wù)不中斷的情況下達(dá)到負(fù)載均衡的目的。
[0038]以下參照附圖對本申請的各實施例作進(jìn)一步地詳細(xì)說明。
[0039]請參見圖3,本發(fā)明的實施例提出一種負(fù)載均衡的方法,應(yīng)用在NPV交換機(jī)上,所述方法執(zhí)行如下步驟:
[0040]S301、當(dāng)需要進(jìn)行負(fù)載均衡操作時,遍歷預(yù)先建立的上下行接口映射表,根據(jù)負(fù)載分擔(dān)策略確定出需要將對應(yīng)流量調(diào)整到新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項;
[0041]S302、降低確定出的映射表項的轉(zhuǎn)發(fā)優(yōu)先級,在FC路由表中下發(fā)目的FC地址與該映射表項相同并且出接口為所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的LB路由表項,并保存該LB路由表項與所述映射表項的對應(yīng)關(guān)系;其中所述LB路由表項的轉(zhuǎn)發(fā)優(yōu)先級高于所述映射表項降低后的轉(zhuǎn)發(fā)優(yōu)先級。
[0042]在本實施例中,NPV交換機(jī)在執(zhí)行以上步驟前,首先需要在上下行接口映射表(以下簡稱“映射表”)中引入轉(zhuǎn)發(fā)優(yōu)先級字段。默認(rèn)情況下,來自下行接口(以下簡稱“下行口”)的流量優(yōu)先匹配映射表進(jìn)行轉(zhuǎn)發(fā),因此引入轉(zhuǎn)發(fā)優(yōu)先級字段后,映射表的轉(zhuǎn)發(fā)優(yōu)先級高于FC路由表。
[0043]在初始狀態(tài)下,NPV交換機(jī)根據(jù)自動映射建立上下行接口映射表,并為該映射表中所有映射表項設(shè)置一個高于FC路由表中各路由表項的默認(rèn)轉(zhuǎn)發(fā)優(yōu)先級。其中,在實際應(yīng)用中該默認(rèn)轉(zhuǎn)發(fā)優(yōu)先級可設(shè)置為最高,比如I (值越小,轉(zhuǎn)發(fā)優(yōu)先級越高)。
[0044]當(dāng)上下行接口映射表建立完成后,NPV交換機(jī)主動遍歷已經(jīng)建立完成的映射表,判斷當(dāng)前是否需要進(jìn)行負(fù)載均衡操作。
[0045]如果當(dāng)前已經(jīng)達(dá)到負(fù)載均衡狀態(tài),比如上行口與下行口均為一一映射,或者上行口數(shù)量多于下行口數(shù)量時,表明設(shè)備當(dāng)前處于負(fù)載均衡操作,則無需繼續(xù)處理。如果當(dāng)前處于非負(fù)載均衡狀態(tài),比如可能是因為有新加入上行接口(以下簡稱“上行口 ”)生效,或下行口退出打破了當(dāng)前負(fù)載均衡的狀態(tài),則NPV交換機(jī)執(zhí)行以上步驟進(jìn)行負(fù)載均衡操作。
[0046]具體地,當(dāng)有新加入上行口生效需要進(jìn)行負(fù)載均衡操作時,NPV交換機(jī)遍歷所述映射表,對所述映射表按照上行接口進(jìn)行分組,在包含映射表項數(shù)目最多的分組中,選擇源MAC地址相同的一條或多條映射表項作為所述需要調(diào)整到所述新加入上行接口的映射表項。
[0047]當(dāng)確定了需要調(diào)整到新加入上行接口的映射表項,則降低該映射表項的轉(zhuǎn)發(fā)優(yōu)先級,在FC路由表中下發(fā)目的FC地址與該映射表項相同并且出接口為所述新加入上行口的負(fù)載均衡路由表項(以下簡稱“LB路由表項”),并保存該LB路由表項與所述映射表項的對應(yīng)關(guān)系;
[0048]其中,LB為FC路由表中新定義的路由協(xié)議類型,表示與其對應(yīng)的路由條目為負(fù)載均衡路由;所述LB路由表項的轉(zhuǎn)發(fā)優(yōu)先級高于所述映射表項降低后的轉(zhuǎn)發(fā)優(yōu)先級。當(dāng)同一個源MAC地址的流量有多條,比如同一個源MAC訪問不同的目的FC地址時,NPV交換機(jī)必須根據(jù)目的FC地址下發(fā)多條LB路由表項。[0049]在本實施例中,當(dāng)有上行口失效時,NPV交換機(jī)首先判斷FC路由表中是否已下發(fā)了出接口為該上行口的LB路由表項;
[0050]如果是,刪除該LB路由表項,根據(jù)保存的所述對應(yīng)關(guān)系將所述映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值;同時,遍歷所述映射表以及FC路由表,將與該失效上行口對應(yīng)的下行口映射到當(dāng)前所有生效的上行口中負(fù)載最小的上行口 ;其中,所述當(dāng)前所有生效的上行口包括映射表中的生效上行口和未包括在映射表中的生效上行口(即只在FC路由表中下發(fā)了 LB路由表項的生效上行口)。
[0051 ] 如果否,遍歷所述映射表以及FC路由表,直接將與該失效上行口對應(yīng)的下行口映射到當(dāng)前所有生效的上行口中負(fù)載最小的上行口。其中,所述當(dāng)前所有生效的上行口包括映射表中的生效上行口和未包括在映射表中的生效上行口(即只在FC路由表中下發(fā)了 LB路由表項的生效上行口)。
[0052]進(jìn)一步的,將與該失效上行口對應(yīng)的下行口映射到當(dāng)前所有生效的上行口中負(fù)載最小的上行口后,如果該上行口的負(fù)載高于其他上行接口,則進(jìn)一步判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項;
[0053]如果是,則刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值;當(dāng)將與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值后,該上行接口的負(fù)載仍然高于其他上行接口,則根據(jù)已有實現(xiàn),與該上行口對應(yīng)的所有下行口都需要重新登錄,作為生效的新加入下行口重新進(jìn)行上行口的映射操作;
[0054]如果否,則直接根據(jù)已有實現(xiàn),與該上行口對應(yīng)的所有下行口都需要重新登錄,作為生效的新加入下行口重新進(jìn)行上行口的映射操作。
[0055]在本實施例中,當(dāng)有新加入下行口生效時,NPV交換機(jī)遍歷所述映射表以及FC路由表,將該新加入下行口映射到所有生效的上行接口中負(fù)載最小的上行接口 ;
[0056]等同的,當(dāng)將該新加入下行口映射到所有生效的上行接口中負(fù)載最小的上行接口后,如果該上行口的負(fù)載高于其他上行接口,則進(jìn)一步判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項;
[0057]如果是,則刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值;當(dāng)將與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值后,該上行接口的負(fù)載仍然高于其他上行接口,則根據(jù)已有實現(xiàn),與該上行口對應(yīng)的所有下行口都需要重新登錄,作為生效的新加入下行口重新進(jìn)行上行口的映射操作;
[0058]如果否,則直接根據(jù)已有實現(xiàn),與該上行口對應(yīng)的所有下行口都需要重新登錄,作為生效的新加入下行口重新進(jìn)行上行口的映射操作。
[0059]在本實施例中,當(dāng)有下行口失效時,刪除所述映射表中與該失效下行口對應(yīng)的失效表項,并判斷所述FC路由表中是否已下發(fā)了出接口為該下行口對應(yīng)的上行口的LB路由表項,如果是,并且與該LB路由表項對應(yīng)的映射表項中的下行接口均為該失效的下行口時,則刪除該LB路由表項;另外,當(dāng)該LB路由表項對應(yīng)多條映射表項,并且該多條映射表項中的下行口均不同時,其中一個下行口失效時并不立即刪除該LB路由表項,只有當(dāng)該多條映射表項中的下行口均失效時,才刪除該LB路由表項。[0060]等同的,當(dāng)有下行口退出需要進(jìn)行負(fù)載均衡操作時,NPV交換機(jī)仍遍歷所述映射表,對所述映射表按照上行接口進(jìn)行分組,在包含映射表項數(shù)目最多的分組中,選擇源MAC地址相同的一條或多條映射表項作為所述需要調(diào)整到當(dāng)前負(fù)載最小的上行接口的映射表項。
[0061]當(dāng)確定了需要調(diào)整到當(dāng)前負(fù)載最小的上行接口的映射表項,則降低該映射表項的轉(zhuǎn)發(fā)優(yōu)先級,在FC路由表中下發(fā)目的FC地址與該映射表項相同并且出接口為所述當(dāng)前負(fù)載最小的上行接口的負(fù)載均衡路由表項,并保存該LB路由表項與所述映射表項的對應(yīng)關(guān)系;其中,所述LB路由表項的轉(zhuǎn)發(fā)優(yōu)先級高于所述映射表項降低后的轉(zhuǎn)發(fā)優(yōu)先級。當(dāng)同一個源MAC地址的流量多條,比如訪問不同的目的FC地址時,NPV交換機(jī)必須根據(jù)目的FC地址下發(fā)多條LB路由表項。
[0062]以下通過一個具體例子對本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)說明。
[0063]假設(shè)當(dāng)前NPV交換機(jī)建立的映射表如下表所示:
[0064]
【權(quán)利要求】
1.一種負(fù)載均衡的方法,其特征在于,所述方法應(yīng)用于N端口虛擬化NPV交換機(jī)上,包括: 當(dāng)需要進(jìn)行負(fù)載均衡操作時,遍歷預(yù)先建立的上下行接口映射表,根據(jù)負(fù)載分擔(dān)策略確定出需要將對應(yīng)流量調(diào)整到新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項; 降低確定出的映射表項的轉(zhuǎn)發(fā)優(yōu)先級,在光纖通道FC路由表中下發(fā)目的FC地址與該映射表項相同并且出接口為所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的負(fù)載均衡LB路由表項,并保存該LB路由表項與所述映射表項的對應(yīng)關(guān)系;其中所述LB路由表項的轉(zhuǎn)發(fā)優(yōu)先級高于所述映射表項降低后的轉(zhuǎn)發(fā)優(yōu)先級。
2.如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)負(fù)載分擔(dān)策略確定出需要將對應(yīng)流量調(diào)整到新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項包括: 對所述映射表按照上行接口進(jìn)行分組; 在包含映射表項數(shù)目最多的分組中,選擇源MAC地址相同的一條或多條映射表項作為所述需要調(diào)整到所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項。
3.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)有上行接口失效時,判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項,如果是,刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將所述映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值;如果否,遍歷所述映射表以及FC路由表,將與該失效上行接口對應(yīng)的下行接口映射到當(dāng)前所有生效的上行接口中負(fù)載最小的上行接口。
4.如權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 當(dāng)有新加入下行接口生效時,遍歷所述映射表以及FC路由表,將該新加入下行接口映射到所有生效的上行接口中負(fù)載最小的上行接口; 當(dāng)有下行接口失效時,刪除所述映射表中與該失效下行口對應(yīng)的失效表項,并判斷所述FC路由表中是否已下發(fā)了出接口為該下行接口對應(yīng)的上行接口的LB路由表項,如果是,并且與該LB路由表項對應(yīng)的映射表項中的下行接口均為該失效的下行口時,則刪除該LB路由表項。
5.如權(quán)利要求3或者4所述的方法,其特征在于,所述方法還包括: 當(dāng)將失效上行接口對應(yīng)的下行接口或者新加入下行接口映射到當(dāng)前所有生效的上行接口中負(fù)載最小的上行接口后,該上行接口的負(fù)載高于其他上行接口時,則進(jìn)一步判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項,如果是,則刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值。
6.一種負(fù)載均衡的裝置,應(yīng)用于NPV交換機(jī)上,其特征在于,所述裝置包括: 確定模塊,用于當(dāng)需要進(jìn)行負(fù)載均衡操作時,遍歷預(yù)先建立的上下行接口映射表,根據(jù)負(fù)載分擔(dān)策略確定出需要將對應(yīng)流量調(diào)整到新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項; 下發(fā)模塊,用于降低確定出的映射表項的轉(zhuǎn)發(fā)優(yōu)先級,在FC路由表中下發(fā)目的FC地址與該映射表項相同并且出接口為所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的LB路由表項,并保存該LB路由表項與所述映射表項的對應(yīng)關(guān)系;其中所述LB路由表項的轉(zhuǎn)發(fā)優(yōu)先級高于所述映射表項降低后的轉(zhuǎn)發(fā)優(yōu)先級。
7.如權(quán)利要求6所述的裝置,其特征在于,所述確定模塊進(jìn)一步用于: 對所述映射表按照上行接口進(jìn)行分組; 在包含映射表項數(shù)目最多的分組中,選擇源MAC地址相同的一條或多條映射表項作為所述需要調(diào)整到所述新加入上行接口或當(dāng)前負(fù)載最小的上行接口的映射表項。
8.如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 判斷模塊,用于當(dāng)有上行接口失效時,判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項,如果是,刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將所述映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值;如果否,遍歷所述映射表以及FC路由表,將與該失效上行接口對應(yīng)的下行接口映射到當(dāng)前所有生效的上行接口中負(fù)載最小的上行接口。
9.如權(quán)利要求6所述的裝置,其特征在于,所述判斷模塊還用于: 當(dāng)有新加入下行接口生效時,遍歷所述映射表以及FC路由表,將該新加入下行接口映射到所有生效的上行接口中負(fù)載最小的上行接口; 當(dāng)有下行接口失效時,刪除所述映射表中與該失效下行口對應(yīng)的失效表項,并判斷所述FC路由表中是否已下發(fā)了出接口為該下行接口對應(yīng)的上行接口的LB路由表項,如果是,并且與該LB路由表項對應(yīng)的映射表項中的下行接口均為該失效的下行口時,則刪除該LB路由表項。
10.如權(quán)利要求8或者9所述的裝置,其特征在于,所述判斷模塊進(jìn)一步用于: 當(dāng)將失效上行接口對應(yīng)的下行接口或者新加入下行接口映射到當(dāng)前所有生效的上行接口中負(fù)載 最小的上行接口后,該上行接口的負(fù)載高于其他上行接口時,則進(jìn)一步判斷所述FC路由表中是否已下發(fā)了出接口為該上行接口的LB路由表項,如果是,則刪除該LB路由表項,同時根據(jù)保存的所述對應(yīng)關(guān)系將映射表中與該LB路由表項對應(yīng)的映射表項的優(yōu)先級恢復(fù)為默認(rèn)值。
【文檔編號】H04L12/931GK103929367SQ201410156109
【公開日】2014年7月16日 申請日期:2014年4月17日 優(yōu)先權(quán)日:2014年4月17日
【發(fā)明者】周天弋 申請人:杭州華三通信技術(shù)有限公司