本申請(qǐng)涉及網(wǎng)絡(luò)通信技術(shù),特別涉及報(bào)文轉(zhuǎn)發(fā)方法和裝置。
背景技術(shù):
策略路由是依據(jù)用戶制定的策略對(duì)報(bào)文進(jìn)行路由轉(zhuǎn)發(fā)的。策略路由具體包含:匹配項(xiàng)和動(dòng)作項(xiàng),用于對(duì)滿足匹配項(xiàng)如報(bào)文長度、報(bào)文優(yōu)先級(jí)等的報(bào)文,執(zhí)行指定的動(dòng)作項(xiàng)比如重定向至某一個(gè)出接口轉(zhuǎn)發(fā)。
目前,策略路由均是采用訪問控制列表(ACL:Access Control List)表項(xiàng)實(shí)現(xiàn),當(dāng)接收到報(bào)文時(shí),為報(bào)文匹配ACL表項(xiàng),匹配到ACL表項(xiàng)時(shí),基于ACL表項(xiàng)中的動(dòng)作項(xiàng)處理報(bào)文,圖1舉例示出了基于策略路由的報(bào)文轉(zhuǎn)發(fā)示意圖。
但是,轉(zhuǎn)發(fā)芯片本地的ACL資源非常有限,無法容納足夠多的策略路由,并且,ACL表項(xiàng)實(shí)現(xiàn)的策略路由是預(yù)先配置好的,而預(yù)先配置策略路由,一方面是靈活性比較差,另一方面是無法適配策略路由中動(dòng)態(tài)變化的出接口。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝藞?bào)文轉(zhuǎn)發(fā)方法和裝置,以避免策略路由由ACL表項(xiàng)實(shí)現(xiàn)時(shí)因ACL資源規(guī)格小而帶來的問題。
本申請(qǐng)?zhí)峁┑募夹g(shù)方案包括:
一種報(bào)文轉(zhuǎn)發(fā)方法,該方法包括:
根據(jù)預(yù)先配置的用于實(shí)現(xiàn)策略路由的路由策略和路由策略相匹配的出接口生成全狀態(tài)負(fù)載均衡slb流表項(xiàng),slb流表項(xiàng)為策略路由表項(xiàng);
下發(fā)slb流表項(xiàng)至轉(zhuǎn)發(fā)芯片以使轉(zhuǎn)發(fā)芯片優(yōu)先基于匹配的slb流表項(xiàng)進(jìn)行報(bào)文轉(zhuǎn)發(fā)。
一種報(bào)文轉(zhuǎn)發(fā)方法,該方法包括:
接收下發(fā)的全狀態(tài)負(fù)載均衡slb流表項(xiàng),slb流表項(xiàng)為策略路由表項(xiàng)用于實(shí)現(xiàn)策略路由,slb流表項(xiàng)的匹配項(xiàng)至少包含了報(bào)文的特征標(biāo)識(shí)值和轉(zhuǎn)發(fā)信息庫FIB表項(xiàng)指示的等價(jià)多徑ECMP表項(xiàng)索引;
接收?qǐng)?bào)文,為報(bào)文匹配FIB表項(xiàng),依據(jù)匹配到的FIB表項(xiàng)的ECMP表項(xiàng)索引和報(bào)文的特征標(biāo)識(shí)值匹配slb流表項(xiàng),依據(jù)匹配到的slb流表項(xiàng)的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)報(bào)文。
一種報(bào)文轉(zhuǎn)發(fā)裝置,該裝置包括:
表項(xiàng)生成單元,用于根據(jù)預(yù)先配置的用于實(shí)現(xiàn)策略路由的路由策略和路由策略相匹配的出接口生成全狀態(tài)負(fù)載均衡slb流表項(xiàng),slb流表項(xiàng)為策略路由表項(xiàng);
表項(xiàng)下發(fā)單元,用于下發(fā)表項(xiàng)生成單元生成的slb流表項(xiàng)至轉(zhuǎn)發(fā)芯片以使轉(zhuǎn)發(fā)芯片優(yōu)先基于匹配的slb流表項(xiàng)進(jìn)行報(bào)文轉(zhuǎn)發(fā)。
一種報(bào)文轉(zhuǎn)發(fā)裝置,該裝置包括:
表項(xiàng)接收單元,用于接收下發(fā)的全狀態(tài)負(fù)載均衡slb流表項(xiàng),slb流表項(xiàng)為策略路由表項(xiàng)用于實(shí)現(xiàn)策略路由,slb流表項(xiàng)的匹配項(xiàng)至少包含了報(bào)文的特征標(biāo)識(shí)值和轉(zhuǎn)發(fā)信息庫FIB表項(xiàng)指示的等價(jià)多徑ECMP表項(xiàng)索引;
報(bào)文處理單元,用于接收?qǐng)?bào)文,為報(bào)文匹配FIB表項(xiàng),依據(jù)匹配到的FIB表項(xiàng)的ECMP表項(xiàng)索引和報(bào)文的特征標(biāo)識(shí)值匹配slb流表項(xiàng),依據(jù)匹配到的slb流表項(xiàng)的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)報(bào)文。
由以上技術(shù)方案可以看出,本發(fā)明中,策略路由由slb流表項(xiàng)實(shí)現(xiàn),slb流表項(xiàng)資源的規(guī)格大,甚至和路由表項(xiàng)資源的規(guī)格相當(dāng),遠(yuǎn)大于ACL表項(xiàng)資源,本發(fā)明大大擴(kuò)展了策略路由,避免策略路由由ACL表項(xiàng)實(shí)現(xiàn)時(shí)因ACL資源規(guī)格小而帶來的問題;
進(jìn)一步地,在本發(fā)明中,slb流表項(xiàng)可任意修改,這完全避免因?yàn)楝F(xiàn)有預(yù)先配置策略路由而帶來的諸如靈活性差等問題。
附圖說明
此處的附圖被并入說明書中并構(gòu)成本說明書的一部分,示出了符合本公開的實(shí)施例,并與說明書一起用于解釋本公開的原理。
圖1為報(bào)文轉(zhuǎn)發(fā)示意圖;
圖2為本發(fā)明提供的方法流程圖;
圖3為本發(fā)明提供的轉(zhuǎn)發(fā)芯片轉(zhuǎn)發(fā)報(bào)文示意圖;
圖4為本發(fā)明提供的實(shí)施例示意圖;
圖5為本發(fā)明提供的裝置結(jié)構(gòu)示意圖;
圖6為本發(fā)明提供的另一裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。
目前,轉(zhuǎn)發(fā)芯片比如jericho芯片本身支持全狀態(tài)負(fù)載均衡(slbstatefull loadbalance)機(jī)制。slb機(jī)制應(yīng)用于聚合口或等價(jià)多徑(ECMP:Equal-Cost Multipath)場景,用于實(shí)現(xiàn)在聚合口或ECMP場景中控制發(fā)向同一目的地址的流量穩(wěn)定固定在同一個(gè)出口轉(zhuǎn)發(fā)。
以聚合口為例描述slb機(jī)制的原理:在第一次向目的地址轉(zhuǎn)發(fā)報(bào)文時(shí),依據(jù)目的地址匹配到聚合口,則通過哈希(HASH)算法從聚合口中確定出用于轉(zhuǎn)發(fā)該報(bào)文的聚合成員口來轉(zhuǎn)發(fā)報(bào)文,并根據(jù)報(bào)文的報(bào)文關(guān)鍵字(key)和目的地址主動(dòng)學(xué)習(xí)一個(gè)slb流表項(xiàng),slb流表項(xiàng)指向確定出的聚合成員口,之后當(dāng)后續(xù)再接收到發(fā)向上述目的地址的報(bào)文時(shí),優(yōu)先匹配slb流表項(xiàng),依據(jù)slb流表項(xiàng)指向的聚合成員口轉(zhuǎn)發(fā)報(bào)文。
基于slb機(jī)制的原理可以看出,即使后續(xù)聚合口中的聚合成員口發(fā)生變化,也始終保證發(fā)向同一目的地址的報(bào)文的固定在同一個(gè)聚合成員口轉(zhuǎn)發(fā),直至slb流表項(xiàng)老化被刪除。
對(duì)于轉(zhuǎn)發(fā)芯片,其支持的slb流表項(xiàng)資源(用于存放slb流表項(xiàng))的規(guī)格大,遠(yuǎn)遠(yuǎn)大于ACL資源(用于存放ACL表項(xiàng)的資源)的規(guī)格。在具體應(yīng)用中,轉(zhuǎn)發(fā)芯片支持的slb流表項(xiàng)資源的規(guī)格與路由表項(xiàng)的規(guī)格相當(dāng)。
基于此,在本發(fā)明中,策略路由不再由ACL實(shí)現(xiàn),而是由slb表項(xiàng)實(shí)現(xiàn),如上描述的slb表項(xiàng)資源規(guī)格大,通過slb表項(xiàng)實(shí)現(xiàn)策略路由完全可以避免因?yàn)锳CL資源非常有限而導(dǎo)致無法實(shí)現(xiàn)足夠多的策略路由,大大擴(kuò)展了策略路由。
下面對(duì)本發(fā)明提供的方法進(jìn)行描述:
參見圖2,圖2為本發(fā)明提供的方法流程圖。該流程是由網(wǎng)絡(luò)設(shè)備的軟件實(shí)現(xiàn),具體地,作為一個(gè)實(shí)施例,這里所指的網(wǎng)絡(luò)設(shè)備的軟件可為網(wǎng)絡(luò)設(shè)備的CPU。
需要說明的是,為防止本發(fā)明實(shí)現(xiàn)策略路由的slb流表項(xiàng)和現(xiàn)有slb流表項(xiàng)沖突,則在本發(fā)明中,禁止轉(zhuǎn)發(fā)芯片自動(dòng)學(xué)習(xí)slb流表項(xiàng),使能軟件層自動(dòng)學(xué)習(xí)slb流表項(xiàng)的特性,以實(shí)現(xiàn)軟件自動(dòng)學(xué)習(xí)slb流表項(xiàng),并且,軟件自動(dòng)學(xué)習(xí)的slb流表項(xiàng)是用于實(shí)現(xiàn)策略路由,其和現(xiàn)有slb機(jī)制中的slb流表項(xiàng)不同,為使轉(zhuǎn)發(fā)芯片支持軟件自動(dòng)學(xué)習(xí)的用于實(shí)現(xiàn)策略路由的slb流表項(xiàng),則還需要進(jìn)一步使能轉(zhuǎn)發(fā)芯片支持用于實(shí)現(xiàn)策略路由的slb流表項(xiàng)的特性。
如圖2所示,該流程可包括以下步驟:
步驟201,根據(jù)預(yù)先配置的用于實(shí)現(xiàn)策略路由的路由策略和路由策略相匹配的出接口生成全狀態(tài)負(fù)載均衡slb流表項(xiàng)。
在本步驟201中生成的slb流表項(xiàng)與原有slb機(jī)制中轉(zhuǎn)發(fā)芯片動(dòng)態(tài)學(xué)習(xí)的slb流表項(xiàng)所起的作用不同,本步驟201中生成的slb流表項(xiàng)是用于實(shí)現(xiàn)策略路由,原有slb機(jī)制中轉(zhuǎn)發(fā)芯片動(dòng)態(tài)學(xué)習(xí)的slb流表項(xiàng)是用于保證發(fā)向同一目的地址的報(bào)文的穩(wěn)定在固定的出口轉(zhuǎn)發(fā)。
在本步驟201中生成的slb流表項(xiàng),如上描述是用于實(shí)現(xiàn)策略路由的,相當(dāng)于是策略路由表項(xiàng),為了保證優(yōu)先基于匹配的slb流表項(xiàng)轉(zhuǎn)發(fā)報(bào)文,可設(shè)置slb流表項(xiàng)的優(yōu)先級(jí)高于普通的FIB表項(xiàng)。
在本發(fā)明中,如步驟201描述,實(shí)現(xiàn)策略路由的slb流表項(xiàng)是動(dòng)態(tài)生成的,這完全避免因?yàn)楝F(xiàn)有預(yù)先配置策略路由而帶來的諸如靈活性差等問題。
步驟202,下發(fā)slb流表項(xiàng)至轉(zhuǎn)發(fā)芯片以使轉(zhuǎn)發(fā)芯片優(yōu)先基于匹配的slb流表項(xiàng)進(jìn)行報(bào)文轉(zhuǎn)發(fā)。
當(dāng)轉(zhuǎn)發(fā)芯片接收到slb流表項(xiàng)時(shí),后續(xù)就會(huì)基于接收的slb表項(xiàng)轉(zhuǎn)發(fā)報(bào)文。圖3進(jìn)行了描述:
參見圖3,圖3為本發(fā)明的另一方法流程圖。該流程應(yīng)用于轉(zhuǎn)發(fā)芯片,包括以下步驟:
步驟301,接收下發(fā)至本芯片的slb流表項(xiàng)。
作為一個(gè)實(shí)施例,slb流表項(xiàng)包含匹配項(xiàng)和動(dòng)作項(xiàng),其中,匹配項(xiàng)至少包含了報(bào)文的特征標(biāo)識(shí)值和FIB表項(xiàng)指示的ECMP表項(xiàng)索引。
步驟302,接收?qǐng)?bào)文,為報(bào)文匹配FIB表項(xiàng),依據(jù)匹配到的FIB表項(xiàng)的ECMP表項(xiàng)索引和報(bào)文的特征標(biāo)識(shí)值匹配slb流表項(xiàng),依據(jù)匹配到的slb流表項(xiàng)的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)報(bào)文。
如上描述的,slb流表項(xiàng)的優(yōu)先級(jí)遠(yuǎn)高于常用的路由表項(xiàng),基于此,當(dāng)轉(zhuǎn)發(fā)芯片接收到報(bào)文時(shí),若匹配到slb流表項(xiàng),如步驟302描述,依據(jù)匹配到的slb流表項(xiàng)的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)報(bào)文,不再依賴于FIB表項(xiàng)轉(zhuǎn)發(fā);而當(dāng)未匹配到slb流表項(xiàng)時(shí),則可基于匹配到的FIB表項(xiàng)的ECMP表項(xiàng)索引對(duì)應(yīng)的ECMP表項(xiàng)中的出接口(也是FEC)轉(zhuǎn)發(fā)報(bào)文。
至此,完成圖3所示流程。
下面通過一個(gè)具體實(shí)施例對(duì)圖2、圖3進(jìn)行描述:
參見圖4,圖4為本發(fā)明提供的實(shí)施例示意圖。假如基于路由協(xié)議動(dòng)態(tài)學(xué)習(xí)到至目的地1.1.1.1存在以下6個(gè)出接口相關(guān)聯(lián)的出接口表項(xiàng):FECa至FECf。這里的FECa至FECf具有不同索引。FECa至FECf均為轉(zhuǎn)發(fā)芯片硬件層面的出接口表項(xiàng),具體包含了出端口、出VLAN等信息。
假如根據(jù)業(yè)務(wù)需求生成一個(gè)用于指向目的地1.1.1.1的FIB表項(xiàng),生成的FIB表項(xiàng)根據(jù)業(yè)務(wù)需求指示了以下兩個(gè)出接口表項(xiàng):FECa、FECb。在實(shí)際應(yīng)用中,F(xiàn)ECa、FECb不包含在FIB表項(xiàng)中,而是存在于與FIB表項(xiàng)獨(dú)立的ECMP表項(xiàng),ECMP表項(xiàng)的索引包含在FIB表項(xiàng)中。以FIB表項(xiàng)指示的ECMP表項(xiàng)索引為ECMP1,ECMP1對(duì)應(yīng)的表項(xiàng)記為ECMP表項(xiàng)1_1為例,為便于描述,這里將FECa、FECb記為缺省FEC表項(xiàng),則簡言之,ECMP表項(xiàng)1_1概括為:
ECMP1:缺省FEC表項(xiàng)->FECa、FECb;
假如根據(jù)業(yè)務(wù)需求配置以下路由策略:
策略1:用于表示針對(duì)攜帶設(shè)定特征標(biāo)識(shí)值(以DSCP值為16為例)且匹配了ECMP1的報(bào)文,由ECMP2替代ECMP1進(jìn)行轉(zhuǎn)發(fā)。ECMP2為ECMP表項(xiàng)1_2的索引。ECMP表項(xiàng)1_2包含以下FEC:FECc、FECd(記為第一類FEC表項(xiàng))。ECMP表項(xiàng)1_2概括為:
ECMP2:第一類FEC表項(xiàng)->FECc、FECd;
策略2:用于表示針對(duì)攜帶設(shè)定特征標(biāo)識(shí)值(以DSCP值為8為例)且匹配了ECMP1的報(bào)文,由ECMP3替代ECMP1進(jìn)行轉(zhuǎn)發(fā)。ECMP3為ECMP表項(xiàng)1_3的索引。ECMP表項(xiàng)1_3包含以下FEC:FECe、FECf(記為第二類FEC表項(xiàng))。ECMP表項(xiàng)1_3概括為:
ECMP3:第二類FEC表項(xiàng)->FECe、FECf;
基于策略1生成slb流表項(xiàng)并下發(fā)至轉(zhuǎn)發(fā)芯片,該生成的slb流表項(xiàng)記為slb流表項(xiàng)1_1。slb流表項(xiàng)1_1包含了匹配項(xiàng)和動(dòng)作項(xiàng),匹配項(xiàng)為DSCP值16+ECMP1,動(dòng)作項(xiàng)為ECMP2替代ECMP1作為出接口轉(zhuǎn)發(fā)報(bào)文。表1舉例示出了slb流表項(xiàng)1_1:
表1
類似地,基于策略2生成slb流表項(xiàng)并下發(fā)至轉(zhuǎn)發(fā)芯片,該生成的slb流表項(xiàng)記為slb流表項(xiàng)2_2。slb流表項(xiàng)2_2包含了匹配項(xiàng)和動(dòng)作項(xiàng),匹配項(xiàng)為DSCP值8+ECMP1,動(dòng)作項(xiàng)為通過ECMP3替代ECMP1作為出接口轉(zhuǎn)發(fā)報(bào)文。表2舉例示出了slb流表項(xiàng)2_2:
表2
以上舉例描述了如何生成slb流表項(xiàng)。下面描述轉(zhuǎn)發(fā)芯片如何利用slb流表項(xiàng)轉(zhuǎn)發(fā)報(bào)文:
轉(zhuǎn)發(fā)芯片將下發(fā)至本地的slb流表項(xiàng)1_1、slb流表項(xiàng)2_2存儲(chǔ)至slb流表項(xiàng)資源。
之后,轉(zhuǎn)發(fā)芯片接收?qǐng)?bào)文,為報(bào)文匹配FIB表項(xiàng),依據(jù)匹配到的FIB表項(xiàng)指示的ECMP表項(xiàng)索引和報(bào)文的特征標(biāo)識(shí)值匹配slb流表項(xiàng);
當(dāng)轉(zhuǎn)發(fā)芯片匹配到slb流表項(xiàng),則依據(jù)匹配到的slb流表項(xiàng)中的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)報(bào)文。舉例,假如匹配到的FIB表項(xiàng)指示的ECMP表項(xiàng)索引為ECMP1,報(bào)文的特征標(biāo)識(shí)值為DSCP值16,則最終匹配到的slb流表項(xiàng)為slb流表項(xiàng)1_1,轉(zhuǎn)發(fā)芯片依據(jù)匹配到的slb流表項(xiàng)1_1的動(dòng)作項(xiàng)即ECMP2替代ECMP1作為出接口轉(zhuǎn)發(fā)報(bào)文。
作為本發(fā)明的一個(gè)實(shí)施例,假如轉(zhuǎn)發(fā)芯片依據(jù)匹配到的FIB表項(xiàng)指示的ECMP表項(xiàng)索引和報(bào)文的特征標(biāo)識(shí)值未匹配到slb流表項(xiàng),則直接基于FIB表項(xiàng)指示的ECMP表示索引所指示的FEC表項(xiàng)轉(zhuǎn)發(fā),比如,假如匹配到的FIB表項(xiàng)指示的ECMP表項(xiàng)索引為ECMP1,報(bào)文的特征標(biāo)識(shí)值為除DSCP值16、DSCP值8之外的其他值,則依據(jù)ECMP1和報(bào)文的特征標(biāo)識(shí)值未匹配到的slb流表項(xiàng),轉(zhuǎn)發(fā)芯片直接依據(jù)ECMP1指示的缺省FEC表項(xiàng)即FECa、FECb轉(zhuǎn)發(fā)報(bào)文。
至此,完成實(shí)施例的描述。
需要說明的是,在本發(fā)明中,slb流表項(xiàng)可動(dòng)態(tài)維護(hù),這里的維護(hù)是由軟件比如CPU實(shí)現(xiàn)的。
作為一個(gè)實(shí)施例,動(dòng)態(tài)維護(hù)slb流表項(xiàng)可包括:
當(dāng)檢測(cè)到生成slb流表項(xiàng)的路由策略發(fā)生變化時(shí),或者路由策略匹配的出接口發(fā)生變化時(shí),依據(jù)變化適應(yīng)修改slb流表項(xiàng);
這里的路由策略發(fā)生變化具體是指路由策略包含的匹配項(xiàng)發(fā)生變化,比如報(bào)文特征值發(fā)生變化等。以slb流表項(xiàng)1_1為例,假如根據(jù)業(yè)務(wù)需求需要調(diào)整ECMP2中的特征標(biāo)識(shí)值,比如修改ECMP2中的特征標(biāo)識(shí)值即DSCP值16為DSCP值8,則需要自適應(yīng)修改slb流表項(xiàng)1_1的匹配項(xiàng)中的特征標(biāo)識(shí)值即DSCP值16為DSCP值8。
作為本發(fā)明的一個(gè)實(shí)施例,路由策略匹配的出接口發(fā)生變化可包括:增加出接口、刪除出接口、修改出接口。
其中,當(dāng)新增加路由策略匹配的出接口時(shí),在依據(jù)該路由策略已生成的slb流表項(xiàng)中添加新增加的出接口。舉例,假如檢測(cè)到新增加了出接口,該增加的出接口相關(guān)聯(lián)的出接口表項(xiàng)FECg屬于第一類FEC表項(xiàng),則在slb流表項(xiàng)1_1的ECMP2中添加新增加的FECg;
當(dāng)刪除路由策略匹配的出接口時(shí),在依據(jù)該路由策略已生成的slb流表項(xiàng)中刪除該被刪除的出接口。舉例,假如檢測(cè)到有出接口被刪除,該被刪除的出接口相關(guān)聯(lián)的出接口表項(xiàng)為第一類FEC表項(xiàng)中的FECc,則在slb流表項(xiàng)1_1的ECMP2中刪除FECc。
作為一個(gè)特例,當(dāng)檢測(cè)到slb流表項(xiàng)中所有出接口均被刪除時(shí),則直接從轉(zhuǎn)發(fā)芯片刪除slb流表項(xiàng)。舉例,假如檢測(cè)到第一類FEC表項(xiàng)中FECc、FECd相關(guān)聯(lián)的出接口均被刪除,則從轉(zhuǎn)發(fā)芯片刪除slb流表項(xiàng)1_1。
當(dāng)修改路由策略匹配的出接口時(shí),在依據(jù)該路由策略已生成的slb流表項(xiàng)中修改出接口。舉例,假如檢測(cè)到第一類FEC表項(xiàng)中FECc相關(guān)聯(lián)的出接口被修改,被修改后的出接口相關(guān)聯(lián)的出接口表項(xiàng)不再是FECc,而是FECh,則在slb流表項(xiàng)1_1中添加FECh,并同時(shí)刪除FECc。
可以看出,通過動(dòng)態(tài)維護(hù)slb流表項(xiàng)可以任意修改、任意指定slb流表項(xiàng)中的出接口,適配動(dòng)態(tài)變化的端口,很好的滿足了用戶需求。
以上對(duì)本發(fā)明提供的方法進(jìn)行了描述。下面對(duì)本發(fā)明提供的裝置進(jìn)行修改:
參見圖5,圖5為本發(fā)明提供的裝置結(jié)構(gòu)圖。如圖5所示,該裝置包括:
表項(xiàng)生成單元,用于根據(jù)預(yù)先配置的用于實(shí)現(xiàn)策略路由的路由策略和路由策略相匹配的出接口生成全狀態(tài)負(fù)載均衡slb流表項(xiàng),slb流表項(xiàng)為策略路由表項(xiàng);
表項(xiàng)下發(fā)單元,用于下發(fā)表項(xiàng)生成單元生成的slb流表項(xiàng)至轉(zhuǎn)發(fā)芯片以使轉(zhuǎn)發(fā)芯片優(yōu)先基于匹配的slb流表項(xiàng)進(jìn)行報(bào)文轉(zhuǎn)發(fā)。
優(yōu)選地,該裝置進(jìn)一步包括:
更新單元,用于當(dāng)檢測(cè)到路由策略發(fā)生變化時(shí),或者出接口發(fā)生變化時(shí),依據(jù)變化自適應(yīng)修改slb流表項(xiàng);
其中,出接口發(fā)生變化包括:增加出接口、刪除出接口、修改出接口。
優(yōu)選地,該裝置進(jìn)一步包括:
控制單元,用于禁止轉(zhuǎn)發(fā)芯片自動(dòng)學(xué)習(xí)slb流表項(xiàng),以及,
使能軟件層自動(dòng)學(xué)習(xí)slb流表項(xiàng)的特性,并使能轉(zhuǎn)發(fā)芯片支持用于實(shí)現(xiàn)策略路由的slb流表項(xiàng)的特性。
至此,完成圖5所示裝置結(jié)構(gòu)描述。
參見圖6,圖6為本發(fā)明提供的另一裝置結(jié)構(gòu)圖。如圖6所示,該裝置包括:
表項(xiàng)接收單元,用于接收下發(fā)的全狀態(tài)負(fù)載均衡slb流表項(xiàng),slb流表項(xiàng)為策略路由表項(xiàng)用于實(shí)現(xiàn)策略路由,slb流表項(xiàng)的匹配項(xiàng)至少包含了報(bào)文的特征標(biāo)識(shí)值和轉(zhuǎn)發(fā)信息庫FIB表項(xiàng)指示的等價(jià)多徑ECMP表項(xiàng)索引;
報(bào)文處理單元,用于接收?qǐng)?bào)文,為報(bào)文匹配FIB表項(xiàng),依據(jù)匹配到的FIB表項(xiàng)的ECMP表項(xiàng)索引和報(bào)文的特征標(biāo)識(shí)值匹配slb流表項(xiàng),依據(jù)匹配到的slb流表項(xiàng)的動(dòng)作項(xiàng)轉(zhuǎn)發(fā)報(bào)文。
優(yōu)選地,報(bào)文處理單元在依據(jù)匹配到的FIB表項(xiàng)的ECMP表項(xiàng)索引和報(bào)文的特征標(biāo)識(shí)值未匹配到slb流表項(xiàng)時(shí),進(jìn)一步執(zhí)行以下步驟:
基于匹配到的FIB表項(xiàng)的ECMP表項(xiàng)索引對(duì)應(yīng)的ECMP表項(xiàng)中的出接口轉(zhuǎn)發(fā)報(bào)文。
至此,完成圖6所示裝置結(jié)構(gòu)描述。
以上僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。