專利名稱:基于非標(biāo)準(zhǔn)ospf路由協(xié)議的流量牽引方法及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法及設(shè)備。
背景技術(shù):
流量牽引是通過一定路由欺騙手段將目標(biāo)流量導(dǎo)入牽引設(shè)備,以滿足流量統(tǒng)計、分析以及編輯等需求的一套過程,廣泛應(yīng)用于網(wǎng)絡(luò)攻擊檢測、流量清洗、旁路式流量優(yōu)化等場景?,F(xiàn)有的流量牽引有主動和被動兩種模式(I)主動模式需要在正常流量路徑上設(shè)置過濾點(diǎn)。過濾點(diǎn)基于一定牽引策略對所 有流量進(jìn)行分析,當(dāng)遇到匹配流量時主動將流量推送到牽引設(shè)備。如基于策略路由、基于流分類以及基于用戶標(biāo)示等方法都屬于主動模式流量牽引。主動模式本質(zhì)上講是一種“push”的方法。主動模式流量牽引的缺點(diǎn)在于需要在正常流量路徑上設(shè)置過濾點(diǎn),且需要對所有報文進(jìn)行實時分析。過濾點(diǎn)的引入一方面帶來額外系統(tǒng)開銷,另外一方面其性能也嚴(yán)重影響整個網(wǎng)絡(luò)的傳輸效率以及吞吐率。主動模式流量牽引需要干涉正常流量路徑,不利于部署且不適于大流量場景,例如幾十G以上大流量場景。(2)被動模式對正常流量路徑不做任何侵入。當(dāng)有流量牽引需求時,牽引設(shè)備發(fā)送特定報文給中間網(wǎng)絡(luò)設(shè)備(路由器或者交換機(jī)),以路由欺騙方式誘導(dǎo)中間網(wǎng)絡(luò)設(shè)備將流量轉(zhuǎn)移到目的設(shè)備來。如ARP欺騙、標(biāo)準(zhǔn)路由協(xié)議牽引等方法都屬于被動模式流量牽引。被動模式本質(zhì)上講是一種“pull”的方法。被動模式流量牽引中的缺點(diǎn)在于對于ARP(Address Resolution Protocol,地址解析協(xié)議)欺騙,該方法由牽引設(shè)備向中間網(wǎng)絡(luò)設(shè)備發(fā)送目的網(wǎng)絡(luò)ARP報文實現(xiàn)。由于ARP有age屬性,牽引設(shè)備需要不斷發(fā)送更新以防止相應(yīng)ARP條目老化,當(dāng)被牽引流量存在較多目的IP (Internet Protocol,網(wǎng)絡(luò)之間互連的協(xié)議)時,該方法的穩(wěn)定性和可靠性存在問題。被動模式流量牽引中其次是各種標(biāo)準(zhǔn)路由協(xié)議牽引方法,如OSPF(Open ShortestPath First,開放式最短路徑優(yōu)先),BGP (border gateway protocol,邊界網(wǎng)關(guān)協(xié)議)等。這些方法雖然在穩(wěn)定性、可靠性和擴(kuò)展性上都沒有問題,但標(biāo)準(zhǔn)路由協(xié)議在設(shè)計時更多的是偏向路由決策而不是路由更新,如OSPF的最小生成樹、BGP的路徑矢量模型等都是為了計算到目的網(wǎng)絡(luò)最佳路徑。這些計算需要消耗大量CPU資源以及存儲資源。對于流量分析、流量清洗、傳輸優(yōu)化等性能敏感型應(yīng)用來說,這些都是多余的。
發(fā)明內(nèi)容
本發(fā)明的目的旨在至少解決上述技術(shù)缺陷之一。為此,本發(fā)明的第一個目的在于提供一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法,該方法應(yīng)用范圍廣、并且可以極大降低對計算資源和存儲資源的消耗。本發(fā)明的第二個目的在于提供一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備。為實現(xiàn)上述目的,本發(fā)明第一方面的實施例提供一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法,包括如下步驟牽引設(shè)備的非標(biāo)準(zhǔn)開放式最短路徑優(yōu)先OSPF例程讀取接口策略以初始化相應(yīng)的接口狀態(tài)機(jī)和鄰居狀態(tài)機(jī);初始化完成后,所述牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備經(jīng)過鄰居發(fā)現(xiàn)及數(shù)據(jù)庫同步建立全鄰接關(guān)系,數(shù)據(jù)庫同步過程中牽引設(shè)備基于同步策略對收發(fā)LSA報文進(jìn)行過濾;以及
所述牽引設(shè)備在建立全鄰接關(guān)系后接收流量牽引指令,并根據(jù)所述流量牽引指令和預(yù)設(shè)牽引策略將所述中間網(wǎng)絡(luò)設(shè)備的流量導(dǎo)入至所述牽引設(shè)備。根據(jù)本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法,通過保留完整的接口狀態(tài)機(jī)、鄰居狀態(tài)機(jī)和所有報文格式,盡可能的保留了協(xié)議一致性,使其可以廣泛應(yīng)用于的各種網(wǎng)絡(luò)拓?fù)浜土髁繄鼍?;而通過裁剪不必要的SPF計算、路由存儲與計算,并優(yōu)化全鄰接過程以及路由發(fā)布過程,使其極大降低了對計算資源和存儲資源的消耗本發(fā)明第二方面的實施例提供一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備,包括讀取模塊,用于利用非標(biāo)準(zhǔn)開放式最短路徑優(yōu)先OSPF例程讀取接口策略;初始化模塊,用于根據(jù)所述接口策略對相應(yīng)的接口狀態(tài)機(jī)和鄰居狀態(tài)機(jī)進(jìn)行初始化;同步模塊,用于在初始化完成后,對所述牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備經(jīng)過鄰居發(fā)現(xiàn)及數(shù)據(jù)庫同步建立全鄰接關(guān)系,數(shù)據(jù)庫同步過程中,所述流量牽引設(shè)備基于同步策略對收發(fā)LSA報文進(jìn)行過濾;流量牽引模塊,用于在建立全鄰接關(guān)系后接收流量牽引指令,并根據(jù)所述流量牽引指令和預(yù)設(shè)牽引策略將所述中間網(wǎng)絡(luò)設(shè)備的流量導(dǎo)入至所述牽引設(shè)備。根據(jù)本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備,通過保留完整的接口狀態(tài)機(jī)、鄰居狀態(tài)機(jī)和所有報文格式,使其可以廣泛應(yīng)用于的各種網(wǎng)絡(luò)拓?fù)浜土髁繄鼍埃⑶也眉舨槐匾腟PF計算、路由存儲與計算,并優(yōu)化全鄰接過程以及路由發(fā)布過程,使其極大降低了對計算資源和存儲資源的消耗。本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實踐了解到。
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對實施例的描述中將變得明顯和容易理解,其中圖1為根據(jù)本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法的流程圖;圖2為根據(jù)本發(fā)明實施例的牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備建立全鄰接過程的示意圖;圖3為根據(jù)本發(fā)明實施例的流量牽引過程的示意圖;圖4為根據(jù)本發(fā)明實施例的停止流量牽引過程的示意圖;圖5為根據(jù)本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備的示意圖。
具體實施方式
下面詳細(xì)描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”、“固定”等術(shù)語應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機(jī)械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā)明中的具體含義。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括一個或者更多個該特征。在本發(fā)明的描述中,“多個” 的含義是兩個或兩個以上,除非另有明確具體的限定。下面參考圖1至圖4描述根據(jù)本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法。如圖1所示,本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議包括如下步驟步驟S101,牽引設(shè)備的OSPF例程讀取接口策略以初始化相應(yīng)的接口狀態(tài)機(jī)和鄰居狀態(tài)機(jī)。接口策略以配置文件或者函數(shù)API方式存在。其內(nèi)容包括協(xié)議報文IO方式、接口參數(shù)、ospf參數(shù)等。協(xié)議報文IO方式指的以何種方式發(fā)送和接收數(shù)據(jù)報文。本發(fā)明實施例既支持標(biāo)準(zhǔn)的套接字方法,也支持高性能用戶態(tài)報文處理框架如DPDK的方法。標(biāo)準(zhǔn)套接字方法指的是直接使用套接字接口進(jìn)行報文接收和發(fā)送,有關(guān)收發(fā)過程中緩沖區(qū)構(gòu)造、IP分片重組、ARP查詢等動作全部由標(biāo)準(zhǔn)協(xié)議棧保證。高性能用戶態(tài)報文處理框架如高性能報文框架DPDK的方法指的是所有報文收發(fā)全部由OSPF實施例處理。OSPF實施例基于高性能用戶態(tài)報文處理框架直接從網(wǎng)卡或者用戶自定義先入先出FIFO收發(fā)包,然后由自己處理數(shù)據(jù)緩沖、IP分片重組、ARP查詢等動作。通過抽象底層接口,本發(fā)明實施例的協(xié)議報文IO方式具有良好的擴(kuò)展性和可移植性。接口策略中的接口參數(shù)包括接口名稱、接口 IP、接口 MAC、對端IP、對端MAC、接口 mtu以及接口收發(fā)隊列等。本發(fā)明實施例支持多隊列網(wǎng)卡。接口策略中的ospf參數(shù)包括接口所屬區(qū)域、加密認(rèn)證方式、hello-1nterval,dead-1nterval、接口類型等。其中接口類型包括虛鏈路virtual-link類型、點(diǎn)對點(diǎn)(P2P)類型和廣播(broadcast)類型。p2p接口類型允許本發(fā)明實施例的流量牽引方法工作在廣域長途鏈路。virtual-link接口類型允許本發(fā)明實施例的流量牽引方法跨越過渡區(qū)域。如圖2所示,牽引設(shè)備Pl的OSPF例程在讀取上述接口策略后,基于上述接口策略初始化(init)相應(yīng)的接口狀態(tài)機(jī)并開始在相應(yīng)接口上向?qū)Χ司W(wǎng)絡(luò)設(shè)備(SI)發(fā)送hello報文,進(jìn)入鄰居發(fā)現(xiàn)、DR/BDR選舉以及鄰居狀態(tài)機(jī)初始化階段。hello報文中的DR/BDR字段用于標(biāo)識選舉結(jié)果,而seen字段用于標(biāo)識當(dāng)前鄰居列表。步驟S102,初始化完成后,牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備經(jīng)過鄰居發(fā)現(xiàn)及數(shù)據(jù)庫同步建立全鄰接關(guān)系,數(shù)據(jù)庫同步過程中牽引設(shè)備基于同步策略對收發(fā)LSA報文進(jìn)行過濾。在本發(fā)明的實施例中,數(shù)據(jù)庫同步包括數(shù)據(jù)庫同步主從選舉和數(shù)據(jù)庫同步報文交互。
在初始化完成后,中間網(wǎng)絡(luò)設(shè)備SI和牽引設(shè)備Pl經(jīng)過鄰居發(fā)現(xiàn)、數(shù)據(jù)庫同步主從選舉、數(shù)據(jù)庫同步報文交互以及鏈路狀態(tài)請求與更新等一系列復(fù)雜報文序列即可進(jìn)入到全鄰接狀態(tài)。如圖2所示,中間網(wǎng)絡(luò)設(shè)備SI在接收到Hello報文后,向牽引設(shè)備Pl發(fā)報文D-D (Seq=x, I, M, Master)和 D_D(Seq=y, I, M, Master),牽引設(shè)備 Pl 在接收到上述報文后,向中間網(wǎng)絡(luò)設(shè)備SI發(fā)送報文D-D(Seq=y,M, S lave)。中間網(wǎng)絡(luò)設(shè)備SI在接收到上述報文后,向牽引設(shè)備Pl發(fā)送報文D_D(Seq=y+l, M, Slave),依次類推,直至中間網(wǎng)絡(luò)設(shè)備SI向牽引設(shè)備 Pl 發(fā)送報文 D-D (Seq=y+n, M, Slave)。上述全鄰接過程完全遵循0SPFv2協(xié)議,從而使得本發(fā)明實施例可與任何兼容標(biāo)準(zhǔn)0SPFv2協(xié)議的網(wǎng)絡(luò)設(shè)備建立鄰居關(guān)系。與0SPFv2定義不同的是,在牽引設(shè)備與被牽引設(shè)備完成鏈路狀態(tài)數(shù)據(jù)庫同步并建立全鄰接關(guān)系后,牽引設(shè)備并不進(jìn)行SPF (Shortest Path First,最短路徑優(yōu)先算法)計算,也不進(jìn)行任何與路由相關(guān)的存儲、選擇、更新等。通過移除與SPF和路由 相關(guān)內(nèi)容,本發(fā)明實施例極大地降低了牽引設(shè)備計算資源和存儲資源的需求。另一個與0SPFv2定義不同的是,本發(fā)明實施例在鏈路狀態(tài)數(shù)據(jù)庫更新同步中定義了同步策略。同步策略用于全鄰接建立過程中的數(shù)據(jù)庫同步階段以及全鄰接建立后的周期鏈路狀態(tài)更新階段,用于基于LSA類型選擇性進(jìn)行過濾。該策略通過在LSA(Link-StateAdvertisement,鏈路狀態(tài)廣播)接收和發(fā)送隊列中設(shè)置過濾點(diǎn),允許配置者選擇性的只同步某些類型LSA。如圖2所示,通過在牽引設(shè)備Pl的LSA接收隊列中設(shè)置全過濾,Pl將丟棄重中間網(wǎng)絡(luò)設(shè)備SI發(fā)來的任何LSA更新。對于路由牽引應(yīng)用來說,一方面中間網(wǎng)絡(luò)設(shè)備可能會包含成千上萬條LSA,另外一方面這些LSA對牽弓I設(shè)備來說都無意義。通過應(yīng)用同步策略可以極大降低對牽引設(shè)備的存儲消耗和帶寬消耗。步驟S103,牽引設(shè)備在建立全鄰接關(guān)系后接收流量牽引指令,根據(jù)流量牽引指令和預(yù)設(shè)牽引策略將全鄰接的中間網(wǎng)絡(luò)設(shè)備的流量導(dǎo)入至牽引設(shè)備。牽引策略包含兩方面的內(nèi)容目的網(wǎng)段以及采取何種LSA。在牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備建立全鄰接之后,即可開始進(jìn)行流量牽引。如圖3所示,流量牽引通過構(gòu)造鏈路狀態(tài)請求報文實現(xiàn)。諸如ARP欺騙等方法一次只能發(fā)布一條主機(jī)路由(子網(wǎng)掩碼為32),而本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法可以支持任意路由粒度(子網(wǎng)掩碼從O到32)。換言之,路由牽引方法支持路由子網(wǎng)掩碼從O到32任意粒度。本發(fā)明的實施例中,可以采用OSPF路由協(xié)議中的第一類LSA方式typel、第三類LSA方式type3或第五類LSA方式type5進(jìn)行路由牽引。多種牽引方式不僅可最大化路由發(fā)布的靈活性,并且也可方便對端網(wǎng)絡(luò)設(shè)備進(jìn)行路由進(jìn)行匯總或者過濾下面分別對typel、type3和type5進(jìn)行描述。(I) typeltypel的方法是通過構(gòu)造一條router link實現(xiàn),link類型可以為stub network,link ID為被牽引主機(jī)或者網(wǎng)段,link data為相應(yīng)子網(wǎng)掩碼,可根據(jù)需求設(shè)置metric。(2) type3type3的方法需要首先將本路由器設(shè)置為ABR類型,將相應(yīng)主機(jī)或者網(wǎng)段填入OSPF Header中的link state ID字段,將子網(wǎng)掩碼填入network mask字段。也可根據(jù)需求設(shè)置metric。(3) type5type5的方法首先需要將本路由器設(shè)置為ASBR,對于流量牽引場景來說,相應(yīng)forwarding字段可以設(shè)為全O。type5的方法可以根據(jù)需求設(shè)置為I類還是2類。如圖3所示,牽引設(shè)備Pl向中間網(wǎng)絡(luò)設(shè)備SI發(fā)送LS更新(LS Update)指令,即發(fā)布牽引路由。該指令實際包含兩部分的動作一方面構(gòu)造相應(yīng)LSA并將其安裝到本地鏈路狀態(tài)數(shù)據(jù)庫,另外一方面將該LSA在配置接口上進(jìn)行泛洪。中間網(wǎng)絡(luò)設(shè)備SI在接收到上述泛洪報文后一方面將其安裝到本地鏈路狀態(tài)數(shù)據(jù)庫、刷新路由計算定時器并向牽引設(shè)備Pl回送LS Ack,另外一方面,中間網(wǎng)絡(luò)設(shè)備還會根據(jù)自身協(xié)議狀態(tài)以及所接受LSA類型,選擇性將其泛洪給其它鄰居。對于牽引設(shè)備來說,目的LSA構(gòu)造完成并經(jīng)過合法性檢查后,后續(xù)安裝以及泛洪過程都與0SPFv2協(xié)議要求一致。在本發(fā)明的一個實施例中,步驟S103除了包含上述流量牽引過程,還包含牽引停 止過程。牽引設(shè)備在建立全鄰接關(guān)系后接收牽引撤銷指令,停止對所述中間網(wǎng)絡(luò)設(shè)備流量的導(dǎo)入。停止流量牽引由兩種方法直接關(guān)閉相應(yīng)接口或發(fā)送具有最大年齡的LSA報文。其中,可以通過typel型、type3型或type5型LSA報文撤銷牽引。具體地,關(guān)閉相應(yīng)接口可以停止掉對所有流量的牽引。發(fā)送具有最大年齡max age的LSA信息報可以停止掉對特定流量的牽引。如圖4所示,牽引設(shè)備Pl向中間網(wǎng)絡(luò)設(shè)備SI發(fā)送LS更新指令,其中該LS更新指令的信息報的年齡age為3600秒(second),可以通過typel、type3或type5發(fā)布。中間網(wǎng)絡(luò)設(shè)備SI在接收到上述LSA信息報后,向牽引設(shè)備Pl返回LS Ack0根據(jù)本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法,通過對標(biāo)準(zhǔn)OSPF協(xié)議進(jìn)行必要的裁剪和優(yōu)化。使其一方面可以廣泛應(yīng)用于的各種網(wǎng)絡(luò)拓?fù)浜土髁繄鼍?,另外一方面又極大降低了對牽引設(shè)備計算資源和存儲資源的消耗。本發(fā)明實施例除了定義了基于非標(biāo)準(zhǔn)ospf協(xié)議的流量牽引方法,也定義了相應(yīng)的牽引設(shè)備。下面參考圖5描述根據(jù)本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備。如圖5所示,本發(fā)明實施例提供的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備500,包括讀取模塊510、初始化模塊520、同步模塊530和流量牽引模塊540。讀取模塊510利用OSPF例程從配置文件或者函數(shù)API中讀取接口策略。接口策略以配置文件或者函數(shù)API方式存在。其內(nèi)容包括協(xié)議報文IO方式、接口參數(shù)、ospf參數(shù)等。協(xié)議報文IO方式指的以何種方式發(fā)送和接收數(shù)據(jù)報文。本發(fā)明實施例既支持標(biāo)準(zhǔn)的套接字方法,也支持高性能用戶態(tài)報文處理框架如DPDK的方法。標(biāo)準(zhǔn)套接字方法指的是直接使用套接字接口進(jìn)行報文接收和發(fā)送,有關(guān)收發(fā)過程中緩沖區(qū)構(gòu)造、IP分片重組、ARP查詢等動作全部由標(biāo)準(zhǔn)協(xié)議棧保證。高性能用戶態(tài)報文處理框架如高性能報文框架DPDK的方法指的是所有報文收發(fā)全部由OSPF實施例處理。OSPF實施例基于高性能用戶態(tài)報文處理框架直接從網(wǎng)卡或者用戶自定義先入先出FIFO收發(fā)包,然后由自己處理數(shù)據(jù)緩沖、IP分片重組、ARP查詢等動作。通過抽象底層接口,本發(fā)明實施例的協(xié)議報文10方式具有良好的擴(kuò)展性和可移植性。接口策略中的接口參數(shù)包括接口名稱、接口 IP、接口 MAC、對端IP、對端MAC、接口 mtu以及接口收發(fā)隊列等。本發(fā)明實施例支持多隊列網(wǎng)卡。接口策略中的ospf參數(shù)包括接口所屬區(qū)域、加密認(rèn)證方式、hello-1nterval, dead-1nterval、接口類型等。其中接口類型包括虛鏈路virtual-link類型、點(diǎn)對點(diǎn)(P2P)類型和廣播(broadcast)類型。p2p接口類型允許本發(fā)明實施例的流量牽弓I方法工作在廣域長途鏈路。virtual-1 ink接口類型允許本發(fā)明實施例的流量牽弓I方法跨越過渡區(qū)域。初始化模塊520用于根據(jù)接口策略對相應(yīng)的接口狀態(tài)機(jī)和鄰居狀態(tài)機(jī)進(jìn)行初始化。具體地,初始化模塊520創(chuàng)建相應(yīng)OSPF接口結(jié)構(gòu)體、初始化接口狀態(tài)機(jī)并觸發(fā)協(xié)議報文收發(fā)處理。在接收到對端hello報文后,還將創(chuàng)建相應(yīng)鄰居結(jié)構(gòu)體并初始和觸發(fā)鄰居狀態(tài)機(jī)。同步模塊530用于在初始化完成后,在牽引設(shè)備和中間網(wǎng) 絡(luò)設(shè)備上進(jìn)行數(shù)據(jù)同步建立全鄰接關(guān)系,數(shù)據(jù)庫同步過程中,所述流量牽引設(shè)備基于同步策略對收發(fā)LSA報文進(jìn)行過濾。上述全鄰接過程完全遵循0SPFv2定義,從而可與任何兼容標(biāo)準(zhǔn)0SPFv2協(xié)議的網(wǎng)絡(luò)設(shè)備建立鄰居關(guān)系。通過上述同步模塊530的動作,可以維護(hù)完整鏈路狀態(tài)數(shù)據(jù)庫,但不需要進(jìn)行SPF(Shortest Path First,最短路徑優(yōu)先算法)計算、路由存儲和下發(fā),從而可以去除SPF和路由相關(guān)內(nèi)容,極大地降低對計算資源和存儲資源的需求。其中,同步模塊530執(zhí)行數(shù)據(jù)庫同步還包括設(shè)置同步策略,并根據(jù)設(shè)置的同步策略對接收到的LSA (Link-State Advertisement,鏈路狀態(tài)廣播)請求隊列進(jìn)行過濾以選擇性地同步部分LSA請求。具體地,同步模塊530通過該同步策略,可以基于LSA類型對牽引設(shè)備的LSA請求隊列進(jìn)行過濾,使?fàn)恳O(shè)備可以選擇性的只同步某些LSA或者干脆不做任何請求。很多應(yīng)用場景下牽弓I設(shè)備根本就不需要接收LSA,通過對其進(jìn)行過濾可以降低本地存儲消耗。對于中間網(wǎng)絡(luò)設(shè)備上有大量LSA的條件下,該同步策略可以極大降低對牽引設(shè)備的存儲消耗和帶寬消耗。在牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備建立全鄰接之后,即可開始進(jìn)行流量牽引。流量牽引模塊540用于在建立全鄰接關(guān)系后接收流量牽引指令,根據(jù)流量牽引指令和預(yù)設(shè)牽引策略將全鄰接的中間網(wǎng)絡(luò)設(shè)備的流量導(dǎo)入至牽引設(shè)備。其中,預(yù)設(shè)牽引策略包括牽引設(shè)備發(fā)布牽引路由的LSA方式。其中,牽引路由的LSA方式可以包括OSPF路由協(xié)議中的第一類LSA方式typel、第三類LSA方式type3或第五類LSA方式type5。多種LSA方式不僅可最大化路由發(fā)布的靈活性,并且又可方便對端網(wǎng)絡(luò)設(shè)備進(jìn)行路由進(jìn)行匯總或者過濾優(yōu)選地,采用第五類LSA方式type5的2類LSA發(fā)布牽引路由。并且,考慮到方便中間網(wǎng)絡(luò)設(shè)備過濾,也可以采用第一類LSA方式typel和第三類LSA方式type3發(fā)布牽引路由。下面分別對typel、type3和type5進(jìn)行描述。(I) typeltypel的方法是通過構(gòu)造一條router link實現(xiàn),link類型可以為stub network,link ID為被牽引主機(jī)或者網(wǎng)段,link data為相應(yīng)子網(wǎng)掩碼,可根據(jù)需求設(shè)置metric。(2) type3type3的方法需要首先將本路由器設(shè)置為ABR類型,將相應(yīng)主機(jī)或者網(wǎng)段填入OSPF Header中的link state ID字段,將子網(wǎng)掩碼填入network mask字段。也可根據(jù)需求設(shè)置metric。(3) type5type5的方法首先需要將本路由器設(shè)置為ASBR,對于流量牽引場景來說,相應(yīng)forwarding字段可以設(shè)為全O。type5的方法可以根據(jù)需求設(shè)置為I類還是2類。在本發(fā)明的一個實施例中,流量牽引模塊540還用于在建立全鄰接關(guān)系后接收牽引撤銷指令,停止對所述中間網(wǎng)絡(luò)設(shè)備流量的導(dǎo)入。具體地,通過關(guān)閉相應(yīng)接口或發(fā)送具有最大年齡的LSA信息報以停止流量牽引過程。具體地,流量牽引模塊540關(guān)閉相應(yīng)接口可以停止掉對所有流量的牽引。流量牽
引模塊540發(fā)送具有最大年齡max age的LSA信息報可以停止掉對特定流量的牽引。如圖4所示,牽引設(shè)備500向中間網(wǎng)絡(luò)設(shè)備SI發(fā)送LS更新指令,其中該LS更新指令的信息報的年齡age為3600min,可以通過typel、type3或type5發(fā)布。中間網(wǎng)絡(luò)設(shè)備SI在接收到上述LSA信息報后,向牽引設(shè)備500返回LS Ack0根據(jù)本發(fā)明實施例的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備,通過對標(biāo)準(zhǔn)OSPF協(xié)議進(jìn)行必要的裁剪和優(yōu)化。具體地,通過保留完整的接口狀態(tài)機(jī)、鄰居狀態(tài)機(jī)和所有報文格式,使其可以廣泛應(yīng)用于的各種網(wǎng)絡(luò)拓?fù)浜土髁繄鼍?,并且裁剪不必要的SPF計算、路由存儲與計算,并優(yōu)化全鄰接過程以及三種LSA方式的路由發(fā)布過程,使其極大降低了對計算資源和存儲資源的消耗。本發(fā)明實施例提供的流量牽引設(shè)備可以為統(tǒng)一跨機(jī)房數(shù)據(jù)傳輸系統(tǒng)提供高效、靈活、穩(wěn)定的流量牽引,可以應(yīng)用在ΠΝΡ (統(tǒng)一跨機(jī)房網(wǎng)絡(luò)傳輸平臺系統(tǒng))上。此外,本發(fā)明實施例提供的基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備在將OSPF協(xié)議替換為BGP協(xié)議后,也可以適用于BGP協(xié)議的流量牽引。但一樣需要將其作非標(biāo)準(zhǔn)化處理,移除不必要路由計算內(nèi)容,以降低計算和存儲開銷。考慮到OSPF在現(xiàn)有數(shù)據(jù)中心中應(yīng)用的廣泛性,使用OSPF做流量牽引將能更好的融入現(xiàn)有網(wǎng)絡(luò)拓?fù)洌哺颖阌谶\(yùn)維管理。流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實現(xiàn)在任何計算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下具有一個或多個布線的電連接部(電子裝置),便攜式計算機(jī)盤盒(磁裝置),隨機(jī)存取存儲器(RAM),只讀存儲器(R0M),可擦除可編輯只讀存儲器(EPR0M或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(⑶ROM)。另外,計算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因為可以例如通過對紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲在計算機(jī)存儲器中。應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實現(xiàn)。在上述實施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實現(xiàn)。例如,如果用硬件來實現(xiàn),和在另一實施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項或他們的組合來實現(xiàn)具有用于對數(shù)據(jù)信號實現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。本技術(shù)領(lǐng)域的普通技術(shù)人員可以理解實現(xiàn)上述實施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實施例的步驟之一或其組合。此外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。所述集成的模塊如 果以軟件功能模塊的形式實現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中。上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個或多個實施例或示例中以合適的方式結(jié)合。盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進(jìn)行變化、修改、替換和變型。本發(fā)明的范圍由所附權(quán)利要求極其等同限定。
權(quán)利要求
1.一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法,其特征在于,包括如下步驟牽引設(shè)備的非標(biāo)準(zhǔn)開放式最短路徑優(yōu)先OSPF例程讀取接口策略以初始化相應(yīng)的接口狀態(tài)機(jī)和鄰居狀態(tài)機(jī);初始化完成后,所述牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備經(jīng)過鄰居發(fā)現(xiàn)及數(shù)據(jù)庫同步建立全鄰接關(guān)系,數(shù)據(jù)庫同步過程中牽引設(shè)備基于同步策略對收發(fā)LSA報文進(jìn)行過濾;以及所述牽引設(shè)備在建立全鄰接關(guān)系后接收流量牽引指令,并根據(jù)所述流量牽引指令和預(yù)設(shè)牽引策略將所述中間網(wǎng)絡(luò)設(shè)備的流量導(dǎo)入至所述牽引設(shè)備。
2.如權(quán)利要求1所述的流量牽引方法,其特征在于,所述接口策略用于對OSPF接口進(jìn)行初始化,所述接口策略包括協(xié)議報文IO方式、接口基本參數(shù)和接口 ospf參數(shù)。
3.如權(quán)利要求2所述的流量牽引方法,其特征在于,所述協(xié)議報文IO方式包括標(biāo)準(zhǔn)套接字接口以及基于先入先出FIFO的高性能報文框架DPDK的接口。
4.如權(quán)利要求2所述的流量牽引方法,其特征在于,所述接口基本參數(shù)包括接口名稱、 接口 IP、接口 MAC、接口的最大傳輸單元mtu、對端IP、對端MAC以及收發(fā)隊列ID。
5.如權(quán)利要求2所述的流量牽引方法,其特征在于,所述接口ospf參數(shù)包含區(qū)域設(shè)置、 加密認(rèn)證設(shè)置、ospf hello-1nterval 設(shè)置以及 router-dead-1nterval 設(shè)置。
6.如權(quán)利要求1所述的流量牽引方法,其特征在于.所述牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備經(jīng)過鄰居發(fā)現(xiàn)及數(shù)據(jù)庫同步,包括如下步驟設(shè)置同步策略,所述同步策略用于全鄰接建立過程中的數(shù)據(jù)庫同步階段以及全鄰接建立后的周期鏈路狀態(tài)更新階段,用于基于LSA類型選擇性進(jìn)行過濾。
7.如權(quán)利要求1所述的流量牽引方法,其特征在于,所有預(yù)設(shè)牽引策略用于指定以 typel型、type3型或type5型LSA報文發(fā)布路由牽引。
8.如權(quán)利要求7所述的流量牽引方法,其特征在于,所述路由牽引方法支持路由子網(wǎng)掩碼從O到32任意粒度。
9.如權(quán)利要求1所述的流量牽引方法,其特征在于,還包括如下步驟所述牽引設(shè)備在建立全鄰接關(guān)系后接收牽引撤銷指令,停止對所述中間網(wǎng)絡(luò)設(shè)備流量的導(dǎo)入。
10.如權(quán)利要求9所述的流量牽引方法,其特征在于,以typel型、type3型或type5型 LSA報文撤銷牽引。
11.一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備,其特征在于,包括讀取模塊,用于利用非標(biāo)準(zhǔn)開放式最短路徑優(yōu)先OSPF例程讀取接口策略;初始化模塊,用于根據(jù)所述接口策略對相應(yīng)的接口狀態(tài)機(jī)和鄰居狀態(tài)機(jī)進(jìn)行初始化;同步模塊,用于在初始化完成后,對所述牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備經(jīng)過鄰居發(fā)現(xiàn)及數(shù)據(jù)庫同步建立全鄰接關(guān)系,數(shù)據(jù)庫同步過程中,所述流量牽引設(shè)備基于同步策略對收發(fā)LSA 報文進(jìn)行過濾;以及。流量牽引模塊,用于在建立全鄰接關(guān)系后接收流量牽引指令,并根據(jù)所述流量牽引指令和預(yù)設(shè)牽引策略將所述中間網(wǎng)絡(luò)設(shè)備的流量導(dǎo)入至所述牽引設(shè)備。
12.如權(quán)利要求11所述的流量牽引設(shè)備,其特征在于,所述接口策略用于對OSPF接口進(jìn)行初始化,所述接口策略包括協(xié)議報文10方式、接口基本參數(shù)和接口 ospf參數(shù)。
13.如權(quán)利要求12所述的流量牽引設(shè)備,其特征在于,所述協(xié)議報文10方式包括標(biāo)準(zhǔn)套接字接口以及基于先入先出FIFO的高性能報文框架DPDK的接口。
14.如權(quán)利要求12所述的流量牽引設(shè)備,其特征在于,所述接口基本參數(shù)包括接口名稱、接口 IP、接口 MAC、接口的最大傳輸單元mtu、對端IP、對端MAC以及收發(fā)隊列ID。
15.如權(quán)利要求12所述的流量牽引設(shè)備,其特征在于,所述接口ospf參數(shù)包含區(qū)域設(shè)置、加密認(rèn)證設(shè)置、ospf hello-1nterval 設(shè)置以及 router-dead-1nterval 設(shè)置。
16.如權(quán)利要求11所述的流量牽引設(shè)備,其特征在于,所述同步模塊設(shè)置同步策略,所述同步策略作用于全鄰接建立過程中的數(shù)據(jù)庫同步階段以及全鄰接建立后的周期鏈路狀態(tài)更新階段,用于基于LSA類型選擇性進(jìn)行過濾。
17.如權(quán)利要求11所述的流量牽引設(shè)備,其特征在于,所有預(yù)設(shè)牽引策略用于指定以 typel型、type3型或type5型LSA報文發(fā)布路由牽引。
18.如權(quán)利要求17所述的流量牽引設(shè)備,其特征在于,所述路由牽引方法支持路由子網(wǎng)掩碼從O到32任意粒度。
19.如權(quán)利要求11所述的流量牽引設(shè)備,其特征在于,所述流量牽引模塊還用于在建立全鄰接關(guān)系后接收牽引撤銷指令,停止對所述中間網(wǎng)絡(luò)設(shè)備流量的導(dǎo)入。
20.如權(quán)利要求19所述的流量牽引設(shè)備,其特征在于,以typel型、type3型或type5 型LSA報文撤銷牽引。
全文摘要
本發(fā)明提供一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引方法,該方法包括如下步驟牽引設(shè)備的非標(biāo)準(zhǔn)開放式最短路徑優(yōu)先OSPF例程讀取接口策略以初始化相應(yīng)的接口狀態(tài)機(jī)和鄰居狀態(tài)機(jī);初始化完成后,牽引設(shè)備和中間網(wǎng)絡(luò)設(shè)備經(jīng)過鄰居發(fā)現(xiàn)及數(shù)據(jù)庫同步建立全鄰接關(guān)系,數(shù)據(jù)庫同步過程中牽引設(shè)備基于同步策略對收發(fā)LSA報文進(jìn)行過濾;牽引設(shè)備在建立全鄰接關(guān)系后接收流量牽引指令,并根據(jù)流量牽引指令和預(yù)設(shè)牽引策略將中間網(wǎng)絡(luò)設(shè)備的流量導(dǎo)入至牽引設(shè)備。本發(fā)明還提出一種基于非標(biāo)準(zhǔn)OSPF路由協(xié)議的流量牽引設(shè)備。本發(fā)明可以通過對標(biāo)準(zhǔn)OSPF協(xié)議進(jìn)行必要的裁剪和優(yōu)化,在保留了其兼容性的前提下,極大的降低了其對牽引設(shè)備計算資源和存儲資源的需求。
文檔編號H04L12/755GK103001880SQ201210507068
公開日2013年3月27日 申請日期2012年11月30日 優(yōu)先權(quán)日2012年11月30日
發(fā)明者萬綿濤, 吳教仁, 劉濤, 羅楓, 劉寧, 張 誠 申請人:北京百度網(wǎng)訊科技有限公司