本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)業(yè)務(wù)加速方法和設(shè)備。
背景技術(shù):
為提升設(shè)備資源利用率和業(yè)務(wù)部署效率、降低運維成本,歐洲電信標(biāo)準(zhǔn)化協(xié)會(英文:European Telecommunications Standards Institute,ETSI)制定了網(wǎng)絡(luò)功能虛擬化(英文:Network Functions Virtualization,NFV)框架。如圖1所示,NFV通過軟件虛擬化技術(shù),在通用設(shè)備(如X86服務(wù)器、交換機(jī)和存儲設(shè)備等)上執(zhí)行虛擬應(yīng)用來實現(xiàn)網(wǎng)絡(luò)功能(如防火墻功能、路由器、服務(wù)網(wǎng)關(guān)等功能),通常情況下,可以將這些虛擬化的網(wǎng)絡(luò)功能稱為虛擬網(wǎng)絡(luò)功能(英文:virtualized Network Function,vNF),將部署虛擬網(wǎng)絡(luò)功能的通用設(shè)備以及vNF的設(shè)備稱為vNF設(shè)備。
目前,現(xiàn)有技術(shù)人員通常采用通用商用機(jī)架(英文:Commerical Off-The-Shelf,COTS)設(shè)備來作為vNF設(shè)備,該設(shè)備中的服務(wù)器、以太網(wǎng)網(wǎng)卡(英文:Network Interface Card,NIC)等部件都采用標(biāo)準(zhǔn)件。由于通用COTS設(shè)備的強項是計算能力,當(dāng)用來實現(xiàn)輸入輸出(英文:Input Output,IO)業(yè)務(wù)數(shù)據(jù)流處理的網(wǎng)絡(luò)功能時,在能耗比和性能方面遠(yuǎn)不如網(wǎng)絡(luò)專用芯片,相比于網(wǎng)絡(luò)專用芯片存在15~30倍左右的差距,所以,當(dāng)采用COTS設(shè)備作為vNF設(shè)備時,嚴(yán)重降低了vNF設(shè)備的IO業(yè)務(wù)數(shù)據(jù)流處理能力。
為解決該問題,如圖2所示,人們在vNF設(shè)備中每個服務(wù)器的收發(fā)接口配置了可編程的智能網(wǎng)卡(Smart NIC),服務(wù)器中的處理器對業(yè)務(wù)數(shù)據(jù)流數(shù)據(jù)進(jìn)行處理后,通過外圍組件快速互連總線(英文:Peripheral Component Interconnect express BUS,PCIe BUS)將業(yè)務(wù)數(shù)據(jù)流發(fā)送至該Smart NIC,由Smart NIC將接收到的業(yè)務(wù)數(shù)據(jù)流通過以太網(wǎng)總線(英文:Ethernet BUS,Eth BUS)發(fā)往數(shù)據(jù)中心,由于Smart NIC為可編程的網(wǎng)卡,可以根據(jù)需要對該網(wǎng)卡的傳輸速率進(jìn)行擴(kuò)展,提高業(yè)務(wù)數(shù)據(jù)流的傳輸速率,實現(xiàn)對業(yè)務(wù)數(shù)據(jù)流的加速處理。但是,受限于PCIe BUS標(biāo)準(zhǔn)演進(jìn)節(jié)奏和插槽的工程制約,PCIe BUS上承載的業(yè)務(wù)數(shù)據(jù)流有限,使處理器與Smart NIC間的業(yè)務(wù)數(shù)據(jù)流傳輸速率受到限制,導(dǎo)致vNF設(shè)備上業(yè)務(wù)數(shù)據(jù)流加速不足的問題。
技術(shù)實現(xiàn)要素:
為解決上述問題,本發(fā)明提供一種網(wǎng)絡(luò)業(yè)務(wù)加速方法和設(shè)備,以解決現(xiàn)有vNF設(shè)備上業(yè)務(wù)數(shù)據(jù)流加速不足的問題。
為達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:
第一方面,本發(fā)明提供一種網(wǎng)絡(luò)業(yè)務(wù)加速方法,該方法可以包括:
在vNF設(shè)備旁邊部署一網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備,該網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備通過以太網(wǎng)總線與vNF設(shè)備連接,接收vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流,對接收到的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理后,通過自身的以太網(wǎng)接口向數(shù)據(jù)中心網(wǎng)絡(luò)發(fā)送處理后的業(yè)務(wù)數(shù)據(jù)流。
與現(xiàn)有業(yè)務(wù)加速技術(shù)相比,在本發(fā)明提供的技術(shù)方案中,vNF設(shè)備將自身的業(yè)務(wù)數(shù)據(jù)流通過以太網(wǎng)總線傳輸至網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備,由網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備進(jìn)行處理,并通過以太網(wǎng)接口發(fā)送至數(shù)據(jù)中心網(wǎng)絡(luò),由于以太網(wǎng)接口支持的數(shù)據(jù)傳輸速率比較靈活,可以很好將加速后的業(yè)務(wù)數(shù)據(jù)流傳輸至數(shù)據(jù)中心網(wǎng)絡(luò),避免了現(xiàn)有技術(shù)中vNF設(shè)備需要將接收到的業(yè)務(wù)數(shù)據(jù)流通過PCIe總線傳輸至服務(wù)器進(jìn)行處理導(dǎo)致的PCIe總線帶寬限制帶來的加速不足的問題。
在第一方面的一種可實現(xiàn)方式中,結(jié)合第一方面,可以采用本發(fā)明提供的加速方案進(jìn)行加速的業(yè)務(wù)數(shù)據(jù)流包括但不限于下述任一種數(shù)據(jù)流:
L2轉(zhuǎn)發(fā)數(shù)據(jù)流、L3轉(zhuǎn)發(fā)數(shù)據(jù)流、PPPoE數(shù)據(jù)流、IPoE數(shù)據(jù)流、流量管理與工程數(shù)據(jù)流、ACL數(shù)據(jù)流、vSwitch數(shù)據(jù)流、QoS數(shù)據(jù)流、IPSec數(shù)據(jù)流、MACSec數(shù)據(jù)流、WAN加速數(shù)據(jù)流、DPI數(shù)據(jù)流、RDMA數(shù)據(jù)流。
如此,擴(kuò)大了本發(fā)明提供的業(yè)務(wù)加速方案的適用范圍,不僅可以IO密集型業(yè)務(wù)數(shù)據(jù)流進(jìn)行加速,還可以對計算密集型業(yè)務(wù)數(shù)據(jù)流進(jìn)行加速。其中,IO密集型業(yè)務(wù)數(shù)據(jù)流可以指:具有超大流量吞吐量、業(yè)務(wù)特性比較固定、具備一定可編程性的業(yè)務(wù)數(shù)據(jù)流,如:上述的L2數(shù)據(jù)流、L3數(shù)據(jù)流、ACL數(shù)據(jù)流、以及QoS數(shù)據(jù)流等等;計算密集型業(yè)務(wù)數(shù)據(jù)流可以指:流量吞吐量不大、業(yè)務(wù)特性比較復(fù)雜、可編程性要求高的業(yè)務(wù)數(shù)據(jù)流,如:上述的IPSec數(shù)據(jù)流、DPI數(shù)據(jù)流以及MACSec數(shù)據(jù)流等等。
在第一方面的又一種可實現(xiàn)方式中,結(jié)合第一方面或第一方面的可實現(xiàn)方式,由于本發(fā)明實施例中的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備主要針對vNF設(shè)備上的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,其強項即為IO處理的網(wǎng)絡(luò)功能,所以,當(dāng)業(yè)務(wù)數(shù)據(jù)流為IO密集型業(yè)務(wù)數(shù)據(jù)流時,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以接收vNF設(shè)備直接發(fā)出的業(yè)務(wù)數(shù)據(jù)流,對接收到的業(yè)務(wù)數(shù)據(jù)流處理后轉(zhuǎn)發(fā)出去。
如此,可以將vNF設(shè)備的IO密集型業(yè)務(wù)數(shù)據(jù)流全部接收過來進(jìn)行處理,提高IO數(shù)據(jù)流的處理速度。
在第一方面的再一種可實現(xiàn)方式中,結(jié)合第一方面或第一方面的可實現(xiàn)方式,由于本發(fā)明實施例中的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備主要針對vNF設(shè)備上的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,當(dāng)用來實現(xiàn)計算型的網(wǎng)絡(luò)功能時,其能耗比和性能方面與通用CPU優(yōu)勢不突出或不足,所以,為了更好地體現(xiàn)出網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的處理能力,當(dāng)業(yè)務(wù)數(shù)據(jù)流為計算密集型業(yè)務(wù)數(shù)據(jù)流時,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以接收vNF設(shè)備發(fā)出的經(jīng)過COST設(shè)備處理后的業(yè)務(wù)數(shù)據(jù)流,其中,COST設(shè)備用于對vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流進(jìn)行計算處理。
如此,可以將vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流先經(jīng)過COST設(shè)備進(jìn)行計算處理后,再由網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備進(jìn)行報文識別、路由封裝等處理,將對計算密集型業(yè)務(wù)數(shù)據(jù)流的計算處理交由專門的COST處理設(shè)備進(jìn)行處理,讓網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備專注于業(yè)務(wù)數(shù)據(jù)流的轉(zhuǎn)發(fā),減輕網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的計算處理功能,提高業(yè)務(wù)加速效率。
在第一方面的再一種可實現(xiàn)方式中,結(jié)合第一方面或第一方面的任一種可實現(xiàn)方式,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以通過旁掛或者直通方式與vNF設(shè)備連接。
如此,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以方便地與vNF設(shè)備連接在一起。
在第一方面的再一種可實現(xiàn)方式中,結(jié)合第一方面或第一方面的任一種可實現(xiàn)方式,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備還可以部署在云環(huán)境中。
如此,可以將網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備形成資源池應(yīng)用在云環(huán)境中,通過SDN來實現(xiàn)網(wǎng)絡(luò)資源的動態(tài)調(diào)度和統(tǒng)一管理,為實現(xiàn)網(wǎng)絡(luò)功能提供虛擬化的網(wǎng)絡(luò)資源。
在第一方面的再一種可實現(xiàn)方式中,結(jié)合第一方面或第一方面的任一種可實現(xiàn)方式,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以為1RU/2RU刀片式盒式設(shè)備。
如此,可以將網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備設(shè)置為集裝箱樣式,便于布放在標(biāo)準(zhǔn)的DC機(jī)架上。
第二方面,本發(fā)明還提供一種網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備,該網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以與vNF設(shè)備通過以太網(wǎng)總線連接,包括:
接收單元,用于接收虛擬網(wǎng)絡(luò)功能vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流;網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備與vNF設(shè)備通過以太網(wǎng)總線連接;
處理單元,用于對接收單元接收到的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理;
發(fā)送單元,用于通過網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的以太網(wǎng)接口向數(shù)據(jù)中心網(wǎng)絡(luò)發(fā)送處理單元處理后的業(yè)務(wù)數(shù)據(jù)流。
其中,第二方面的具體實現(xiàn)方式可以參考第一方面或第一方面的可實現(xiàn)方式提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法中網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的行為功能,在此不再重復(fù)贅述。因此,第二方面提供的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以達(dá)到與第三方面相同的有益效果。
第三方面,本發(fā)明還提供一種網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備,該網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以與vNF設(shè)備通過以太網(wǎng)總線連接,包括:
通信單元,用于接收虛擬網(wǎng)絡(luò)功能vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流;網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備與vNF設(shè)備通過以太網(wǎng)總線連接;
處理器,用于對接收單元接收到的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理;
通信單元,用于通過網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的以太網(wǎng)接口向數(shù)據(jù)中心網(wǎng)絡(luò)發(fā)送處理單元處理后的業(yè)務(wù)數(shù)據(jù)流。
其中,第三方面的具體實現(xiàn)方式可以參考第一方面或第一方面的可實現(xiàn)方式提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法中網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的行為功能,在此不再重復(fù)贅述。因此,第三方面提供的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以達(dá)到與第三方面相同的有益效果。此外,該設(shè)備還可以包括存儲器,該存儲器用于與處理器耦合,其保存該裝置必要的程序指令和數(shù)據(jù)。
第四方面,本發(fā)明實施例提供一種存儲一個或多個程序的非易失性計算機(jī)可讀存儲介質(zhì),該一個或多個程序包括指令,指令當(dāng)被包括第二方面或第三方面或上述任一種可實現(xiàn)方式的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備執(zhí)行時,使網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備執(zhí)行以下事件:
接收vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流,對接收到的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理后,通過自身的以太網(wǎng)接口向數(shù)據(jù)中心網(wǎng)絡(luò)發(fā)送處理后的業(yè)務(wù)數(shù)據(jù)流。
其中,第四方面的具體實現(xiàn)方式可以參考第一方面或第一方面的可實現(xiàn)方式提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法中網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的行為功能,在此不再重復(fù)贅述。
附圖說明
圖1為NFV虛擬化示意圖;
圖2為現(xiàn)有業(yè)務(wù)數(shù)據(jù)流加速示意圖;
圖3為本發(fā)明實施例提供的原理框圖;
圖4為本發(fā)明實施例提供的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的結(jié)構(gòu)圖;
圖5為本發(fā)明實施例提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法的流程圖;
圖6為本發(fā)明實施例提供的一種網(wǎng)絡(luò)業(yè)務(wù)加速過程示意圖;
圖7為本發(fā)明實施例提供的又一種網(wǎng)絡(luò)業(yè)務(wù)加速過程示意圖;
圖8為本發(fā)明實施例提供的云環(huán)境示意圖;
圖9為本發(fā)明實施例提供的一種網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備10的結(jié)構(gòu)圖。
具體實施方式
本發(fā)明的基本原理是:如圖3所示,在vNF設(shè)備旁部署一個包含以太網(wǎng)接口的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備,將該網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備與vNF設(shè)備通過以太網(wǎng)總線(Eth BUS)無阻塞連接起來,vNF設(shè)備將自身業(yè)務(wù)數(shù)據(jù)流傳輸至網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備,由網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備對接收到的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,并將處理后的業(yè)務(wù)數(shù)據(jù)流通過以太網(wǎng)總線(Eth BUS)發(fā)往數(shù)據(jù)中心網(wǎng)絡(luò)進(jìn)行處理,以此提高業(yè)務(wù)數(shù)據(jù)流的傳輸速率,實現(xiàn)對vNF設(shè)備上業(yè)務(wù)數(shù)據(jù)流的加速處理。
下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,需要說明的是,本文中術(shù)語“和/或”,僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,A和/或B,可以表示:單獨存在A,同時存在A和B,單獨存在B這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
本發(fā)明實施例提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法適用于圖3所示的網(wǎng)絡(luò)中,用于對vNF設(shè)備上的IO業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,如圖3所示,該網(wǎng)絡(luò)可以包含:vNF設(shè)備、網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備以及數(shù)據(jù)中心網(wǎng)絡(luò)。其中,vNF設(shè)備為邏輯概念,其可以包含多個虛擬機(jī)(英文:Virtual Machine,VM),每個VM可以對應(yīng)實現(xiàn)一種或多種網(wǎng)絡(luò)功能(英文:Network Function,NF),如:該vNF設(shè)備可以包含多個虛擬的服務(wù)器、虛擬的存儲器以及虛擬的交換機(jī)(圖3中未示出),在物理實現(xiàn)上,該vNF設(shè)備可以承載在數(shù)據(jù)中心(英文:Date Center,DC)的任一宿主機(jī)(Host)上,該宿主機(jī)可以為通用的COST設(shè)備;網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備布放在vNF設(shè)備旁,可以通過旁掛方式或者直通方式與vNF設(shè)備連接,主要用于對vNF設(shè)備與數(shù)據(jù)中心網(wǎng)絡(luò)間的IO業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,且在處理后通過自身的以太網(wǎng)接口將IO業(yè)務(wù)數(shù)據(jù)流發(fā)往數(shù)據(jù)中心網(wǎng)絡(luò);數(shù)據(jù)中心網(wǎng)絡(luò)可以包含多個交換機(jī)(如骨干交換機(jī)(Spine Switch)、葉子交換機(jī)(Leaf Switch))、以及服務(wù)器,其中,數(shù)據(jù)中心網(wǎng)絡(luò)中的服務(wù)器可以為當(dāng)前主流的服務(wù)器機(jī)架(rack),該服務(wù)器rack可以包含機(jī)頂交換機(jī)(英文:Top Of Rack,TOR)、服務(wù)器和存儲單元,通常情況下,從網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的以太網(wǎng)接口發(fā)往數(shù)據(jù)中心網(wǎng)絡(luò)的業(yè)務(wù)數(shù)據(jù)流可以先通過數(shù)據(jù)中心的交換機(jī)到服務(wù)器rack的TOR,再從TOR轉(zhuǎn)發(fā)到服務(wù)器rack內(nèi)的服務(wù)器進(jìn)行最后的業(yè)務(wù)處理。
其中,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備通過旁掛方式與vNF設(shè)備連接可以指:vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流不經(jīng)過vNF設(shè)備所在的Host發(fā)往網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備。網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備通過直通方式與vNF設(shè)備連接可以指:vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流經(jīng)過vNF設(shè)備所在的Host發(fā)往網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備。
需要說明的是,圖3僅為示例圖,其中,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的個數(shù)對本發(fā)明提供的方案不構(gòu)成限定,在實際應(yīng)用中,可以根據(jù)需要以不同圖3所示的個數(shù)進(jìn)行網(wǎng)絡(luò)部署,如:對于大中型數(shù)據(jù)中心而言,若加速的業(yè)務(wù)數(shù)據(jù)流的量需求比較大,則可以根據(jù)需求將多個網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備堆疊在一起同時進(jìn)行業(yè)務(wù)數(shù)據(jù)流加速,以提供更好的業(yè)務(wù)加速效果,動態(tài)靈活擴(kuò)展本身也降低了網(wǎng)絡(luò)的初始成本。
其中,為了便于安裝,圖3所示的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以為標(biāo)準(zhǔn)的1RU/2RU刀片式盒式設(shè)備。具體的,為了實現(xiàn)本發(fā)明實施例提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法,如圖4所示,圖3中的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備100可以包括:通信單元1011、處理器1012、存儲器1013、至少一個通信總線1014、電源(Power)1015、風(fēng)扇(Fan)1016、時鐘(英文:CLOCK,CLK)1017;其中,通信單元1011、處理器1012以及存儲器1013通過通信總線相互連接,電源1015、風(fēng)扇1016、時鐘1017通過兩線式串行總線(英文:Inter-Integrated Circuit,I2C)總線與處理器1012連接。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的結(jié)構(gòu)并不構(gòu)成對網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的限定,可以包括比圖示更多的部件,或者組合某些部件,或者不同的部件布置。
其中,通信單元1011為網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備100與外部網(wǎng)元(如數(shù)據(jù)中心網(wǎng)絡(luò))之間進(jìn)行業(yè)務(wù)數(shù)據(jù)流交互的單元,該通信單元1011可以包含通信接口1和通信接口2,其中,通信接口1用于接收vNF設(shè)備發(fā)送的業(yè)務(wù)數(shù)據(jù)流,該通信接口1可以為標(biāo)準(zhǔn)的設(shè)備北向接口;通信接口2可用于向數(shù)據(jù)中心網(wǎng)絡(luò)發(fā)送處理后的業(yè)務(wù)數(shù)據(jù)流;可選的,在本發(fā)明實施例中,通信接口2可以為標(biāo)準(zhǔn)的以太網(wǎng)接口,支持100M、GE、10/25/40/50GE、100/200GE、400GE等多種傳輸速率,并且該通信接口2所支持的傳輸速率可以根據(jù)需要進(jìn)行動態(tài)設(shè)置和持續(xù)演進(jìn),以保證該通信接口2的傳輸速率與數(shù)據(jù)中心網(wǎng)絡(luò)的接口速率保持一致,避免業(yè)務(wù)數(shù)據(jù)流傳輸時帶寬出現(xiàn)瓶頸。
處理器1012可以包含多個中央處理器(英文:Central Processing Unit,CPU)(如圖4所示的處CPU1和CPU2)或者包含多個網(wǎng)絡(luò)處理器(英文:Network Processing Unit,NPU),可以是特定集成電路(英文:Application Specific Integrated Circuit,ASIC),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路,例如:一個或多個數(shù)字信號處理器(英文:Digital Signal Processor,DSP),或,一個或者多個現(xiàn)場可編程門陣列(英文:Field Programmable Gate Array,F(xiàn)PGA),也可以為多核系統(tǒng)級芯片(英文:System on Chip,SoC)。具體的,處理器1012可以用于對網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備100接收到的vNF設(shè)備發(fā)送的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,且可以對電源1015、風(fēng)扇1016、時鐘1017進(jìn)行管理。
存儲器1013可以是易失性存儲器(英文:volatile memory),如:隨機(jī)存取存儲器(英文:Random-Access Memory,RAM);也可以是非易失性存儲器(英文:non-volatile memory),如:只讀存儲器(英文:Read-Only Memory,ROM)、快閃存儲器(英文:flash memory),硬盤(英文:Hard Disk Drive,HDD),還可以是固態(tài)硬盤(英文:Solid-State Drive,SSD),或者上述種類的存儲器的組合。存儲器1013可以用于存儲數(shù)據(jù)和/或代碼,處理器1012可以通過運行或執(zhí)行存儲在存儲器1013內(nèi)的程序代碼,以及調(diào)用存儲在存儲器1013內(nèi)的數(shù)據(jù),實現(xiàn)網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備100的各種功能。
通信總線1014可以分為地址總線、數(shù)據(jù)總線、控制總線等,可以是以太網(wǎng)總線、工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(英文:Industry Standard Architecture,ISA)總線、外部設(shè)備互連(英文:Peripheral Component,PCI)總線或擴(kuò)展工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(英文:Extended Industry Standard Architecture,EISA)總線等。為便于表示,圖4中僅用一條粗線表示各個通信總線,但并不表示僅有一根總線或一種類型的總線。
電源1015,可以為電池,通過電源管理系統(tǒng)與處理器1012邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。
風(fēng)扇1016,用于對網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備100進(jìn)行降溫、散熱。
時鐘1017,用于使網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備100與其他設(shè)備保持時鐘同步。
為了便于描述,以下實施例以步驟的形式示出并詳細(xì)描述了本發(fā)明提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法,其中,示出的步驟也可以在除圖4所示網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備100之外的其他任一計算機(jī)中執(zhí)行。此外,雖然在方法流程圖中示出了本發(fā)明提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法的邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖5為本發(fā)明實施例提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法的流程圖,由圖4所示的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備100執(zhí)行,如圖5所示,該方法可以包括以下步驟:
步驟101:網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備接收vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流。
其中,該業(yè)務(wù)數(shù)據(jù)流可以包括但不限于下述任一數(shù)據(jù)流:
2層(英文:Layer2,L2)轉(zhuǎn)發(fā)數(shù)據(jù)流;
3層(英文:Layer3,L3)轉(zhuǎn)發(fā)數(shù)據(jù)流;
以太網(wǎng)上的點到點連接協(xié)議(英文:Point-to-Point Protocol over Ethernet,PPPoE)數(shù)據(jù)流;
以太網(wǎng)上的因特網(wǎng)協(xié)議(英文:Internet Protocol over Ethernet,IPoE)數(shù)據(jù)流;
流量管理與工程數(shù)據(jù)流;
訪問控制列表(英文:Access Control List,ACL)數(shù)據(jù)流;
虛擬交換機(jī)(英文:Virtual Switch,vSwitch)數(shù)據(jù)流;
服務(wù)質(zhì)量(英文:Quality of Service,QoS)數(shù)據(jù)流;
因特網(wǎng)協(xié)議安全性(英文:Internet Protocol Security,IPSec)數(shù)據(jù)流;
媒體接入控制安全性(英文:Media Access Control Security,MACSec)數(shù)據(jù)流;
廣域網(wǎng)(英文:Wide Area Network,WAN)加速數(shù)據(jù)流;
深度包檢測(英文:Deep Packet Inspection,DPI)數(shù)據(jù)流;
遠(yuǎn)程直接數(shù)據(jù)存取(英文:Remote Direct Memory Access,RDMA)數(shù)據(jù)流。
可選的,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以與vNF設(shè)備通過以太網(wǎng)總線連接,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備通過標(biāo)準(zhǔn)的北向接口接收vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流。
步驟102:網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備對接收到的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理。
可選的,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以借助適合網(wǎng)絡(luò)數(shù)據(jù)報文處理的處理器(如:NPU、SoC、FPGA等)對接收到的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,如:網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以對接收到業(yè)務(wù)數(shù)據(jù)流進(jìn)行報文識別、路由協(xié)議封裝等報文轉(zhuǎn)發(fā)時的一些處理,其中,這些處理可以為現(xiàn)有處理過程,在此不再詳細(xì)贅述。
步驟103:網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備通過自身的以太網(wǎng)接口向數(shù)據(jù)中心網(wǎng)絡(luò)發(fā)送處理后的業(yè)務(wù)數(shù)據(jù)流。
其中,以太網(wǎng)接口的傳輸速率可以與數(shù)據(jù)中心網(wǎng)絡(luò)的接口速率保持一致,以徹底解除加速資源的帶寬瓶頸,將加速資源的能力發(fā)揮到極致。例如:數(shù)據(jù)中心網(wǎng)絡(luò)的接口速率為100GE,則以太網(wǎng)接口的傳輸速率也可以設(shè)置100GE。
由上可知,相較于現(xiàn)有業(yè)務(wù)加速技術(shù),在圖5所示的技術(shù)方案,vNF設(shè)備將自身的業(yè)務(wù)數(shù)據(jù)流傳輸至網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備,由網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備進(jìn)行處理后,通過網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備上的以太網(wǎng)接口發(fā)送至數(shù)據(jù)中心網(wǎng)絡(luò),由于以太網(wǎng)接口支持的數(shù)據(jù)傳輸速率比較靈活,可以很好將加速后的業(yè)務(wù)數(shù)據(jù)流傳輸至數(shù)據(jù)中心網(wǎng)絡(luò),避免了現(xiàn)有技術(shù)中vNF設(shè)備需要將接收到的業(yè)務(wù)數(shù)據(jù)流通過PCIe總線傳輸至服務(wù)器進(jìn)行處理,再由服務(wù)器通過PCIe總線將處理后的業(yè)務(wù)數(shù)據(jù)流傳輸至網(wǎng)卡,由網(wǎng)卡發(fā)往數(shù)據(jù)中心網(wǎng)絡(luò)的過程中,PCIe總線帶寬限制帶來的加速不足的問題。
其中,在本發(fā)明實施例中,根據(jù)業(yè)務(wù)數(shù)據(jù)流類型的不同,vNF設(shè)備發(fā)出的業(yè)務(wù)數(shù)據(jù)流大致可以分為IO密集型業(yè)務(wù)數(shù)據(jù)流和計算密集型業(yè)務(wù)數(shù)據(jù)流兩種類型。IO密集型業(yè)務(wù)數(shù)據(jù)流可以指:具有超大流量吞吐量、業(yè)務(wù)特性比較固定、具備一定可編程性的業(yè)務(wù)數(shù)據(jù)流,如:上述的L2數(shù)據(jù)流、L3數(shù)據(jù)流、ACL數(shù)據(jù)流、以及QoS數(shù)據(jù)流等等;計算密集型業(yè)務(wù)數(shù)據(jù)流可以指:流量吞吐量不大、業(yè)務(wù)特性比較復(fù)雜、可編程性要求高的業(yè)務(wù)數(shù)據(jù)流,如:上述的IPSec數(shù)據(jù)流、DPI數(shù)據(jù)流以及MACSec數(shù)據(jù)流等等。
由于本發(fā)明實施例中的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備主要針對vNF設(shè)備上的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,其強項即為IO處理的網(wǎng)絡(luò)功能,當(dāng)用來實現(xiàn)計算型的網(wǎng)絡(luò)功能時,其能耗比和性能方面與通用CPU優(yōu)勢不突出或不足,所以,為了更好地體現(xiàn)出網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的處理能力,在本發(fā)明實施例中,vNF設(shè)備將自身發(fā)出的業(yè)務(wù)數(shù)據(jù)流進(jìn)行區(qū)分,當(dāng)業(yè)務(wù)數(shù)據(jù)流為IO密集型業(yè)務(wù)數(shù)據(jù)流時,如圖6所示,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備直接接收從vNF設(shè)備發(fā)出的IO密集型業(yè)務(wù)數(shù)據(jù)流,對這些數(shù)據(jù)流進(jìn)行處理后發(fā)往數(shù)據(jù)中心網(wǎng)絡(luò)。
當(dāng)業(yè)務(wù)數(shù)據(jù)流為計算密集型業(yè)務(wù)數(shù)據(jù)流時,如圖7所示,vNF設(shè)備先將這類業(yè)務(wù)數(shù)據(jù)流發(fā)往計算能力比較強的COTS設(shè)備,由COTS設(shè)備進(jìn)行計算,然后,COTS設(shè)備將計算后的業(yè)務(wù)數(shù)據(jù)流通過葉子交換機(jī)或者云網(wǎng)絡(luò)發(fā)往網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備對計算后的業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理,并將處理后的業(yè)務(wù)數(shù)據(jù)流發(fā)往數(shù)據(jù)中心網(wǎng)絡(luò)。
其中,COTS設(shè)備可以包含NIC、虛擬機(jī)監(jiān)視器(英文:Virtual Machine Monitor,或者Hypervisor)、多個具有計算能力的虛擬機(jī)(英文:Virtual Machine,VM),具體的,COST設(shè)備可以通過自身的NIC接收vNF設(shè)備發(fā)送的計算密集型業(yè)務(wù)數(shù)據(jù)流,由虛擬機(jī)監(jiān)視器將接收到的計算密集型業(yè)務(wù)數(shù)據(jù)流交給VM進(jìn)行計算,并由VM將計算后的業(yè)務(wù)數(shù)據(jù)流發(fā)往葉子交換機(jī)或云網(wǎng)絡(luò)。
如此,圖6和圖7所示的技術(shù)方案,不僅解決了IO密集型業(yè)務(wù)數(shù)據(jù)流加速時受制于PCIe總線的帶寬導(dǎo)致的加速性能不足的難題,而且,將網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備計算處理的能力釋放出來,借助于計算能力較強的設(shè)備對vNF設(shè)備發(fā)出的計算密集型業(yè)務(wù)數(shù)據(jù)流進(jìn)行計算處理,很好地實現(xiàn)了計算密集型業(yè)務(wù)數(shù)據(jù)流的加速。
進(jìn)一步可選的,圖5所示的方案還可以包括:
網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以從接收到的vNF設(shè)備發(fā)送的業(yè)務(wù)數(shù)據(jù)流中檢測到異常業(yè)務(wù)數(shù)據(jù)流,根據(jù)預(yù)設(shè)處理策略對異常業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理。
其中,異常業(yè)務(wù)數(shù)據(jù)流是指網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備無法直接處理的數(shù)據(jù)流;可選的,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以通過借鑒現(xiàn)有其他設(shè)備檢測自身接收到的異常數(shù)據(jù)流的方式來檢測出異常業(yè)務(wù)數(shù)據(jù)流,本發(fā)明實施例在此不再詳細(xì)贅述。
預(yù)設(shè)處理策略可以根據(jù)需要進(jìn)行設(shè)置,本發(fā)明實施例對此不進(jìn)行限定,如:可以為丟棄該異常業(yè)務(wù)數(shù)據(jù)流,或者可以為向vNF設(shè)備發(fā)送請求消息,請求vNF設(shè)備重新發(fā)送該業(yè)務(wù)數(shù)據(jù)流。
如此,可以通過對業(yè)務(wù)數(shù)據(jù)流的檢測處理,保證業(yè)務(wù)數(shù)據(jù)流傳輸?shù)臏?zhǔn)確性。
進(jìn)一步可選的,在本發(fā)明實施例提供的技術(shù)方案中,本案提供的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備還可以形成資源池應(yīng)用在云環(huán)境中,通過軟件定義網(wǎng)絡(luò)(英文:Software Defined Network,SDN)來實現(xiàn)網(wǎng)絡(luò)資源的動態(tài)調(diào)度和統(tǒng)一管理;例如,如圖8所示,多個網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備可以堆疊在一起形成加速器資源池,該資源池可以和其他資源池(如:交換機(jī)資源池、計算資源池、以及存儲資源池)共同部署在云環(huán)境中,為實現(xiàn)網(wǎng)絡(luò)功能提供虛擬化的網(wǎng)絡(luò)資源。
上述主要從網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的角度對本發(fā)明實施例提供的網(wǎng)絡(luò)業(yè)務(wù)加速方法進(jìn)行了介紹??梢岳斫獾氖?,上述設(shè)備為了實現(xiàn)上述功能,其包括了執(zhí)行各個功能相應(yīng)的硬件結(jié)構(gòu)和/或軟件模塊。本領(lǐng)域技術(shù)人員應(yīng)該很容易意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,本發(fā)明能夠以硬件或硬件和計算機(jī)軟件的結(jié)合形式來實現(xiàn)。某個功能究竟以硬件還是計算機(jī)軟件驅(qū)動硬件的方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
本發(fā)明實施例可以根據(jù)上述方法示例、結(jié)合附圖9對網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備進(jìn)行功能模塊的劃分,例如,可以對應(yīng)各個功能劃分各個功能模塊,也可以將兩個或兩個以上的功能集成在一個處理模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。需要說明的是,本發(fā)明實施例中對模塊的劃分是示意性的,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式。
在采用對應(yīng)各個功能劃分各個功能模塊的情況下,圖9為本發(fā)明實施例中所涉及的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備10的一種可能的結(jié)構(gòu)示意圖,如圖9所示,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備10可以用于實施上述方法實施例中網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備所執(zhí)行的方法,該網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備10可以包括:接收單元101、處理單元102、業(yè)務(wù)接口單元103;其中,接收單元101用于支持網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備執(zhí)行圖5所示的步驟101,處理單元102用于支持網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備執(zhí)行圖5所示的步驟102,業(yè)務(wù)接口單元103用于支持網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備執(zhí)行圖5所示的步驟103;
需要說明的是,上述方法實施例涉及的各步驟的所有相關(guān)內(nèi)容均可以援引到對應(yīng)功能模塊的功能描述,在此不再重復(fù)贅述。
進(jìn)一步的,如圖9所示,該網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備還可以包含:控制單元104、設(shè)備管理控制單元105、電源106、風(fēng)扇107、以及時鐘108;其中,控制單元104主要用于對網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備接收到的異常業(yè)務(wù)數(shù)據(jù)流進(jìn)行處理;設(shè)備管理控制單元105主要用于通過I2C對電源106、風(fēng)扇107、以及時鐘108進(jìn)行管理控制。
在采用集成的單元的情況下,圖9所示的接收單元101、業(yè)務(wù)接口單元103可以集成為一個通信模塊,該通信模塊可以為圖4所示的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的通信單元1011,由通信單元1011執(zhí)行接收單元101和業(yè)務(wù)接口單元103的功能;加速處理單元102、控制單元104、設(shè)備管理控制單元105可以集成為一個處理模塊,該處理模塊可以為圖4所示的網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備的處理器1012,由處理器1012執(zhí)行上述加速處理單元102、控制單元104、設(shè)備管理控制單元105的功能。進(jìn)一步的,網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備10還可以包括存儲模塊,存儲模塊用于存儲網(wǎng)絡(luò)業(yè)務(wù)加速設(shè)備10的程序代碼和數(shù)據(jù),處理模塊用于執(zhí)行存儲模塊中的程序代碼和數(shù)據(jù)以實現(xiàn)上述方法實施例中轉(zhuǎn)發(fā)節(jié)點的相應(yīng)功能。
本領(lǐng)域技術(shù)人員應(yīng)該可以意識到,在上述一個或多個示例中,本發(fā)明所描述的功能可以用硬件、軟件、固件或它們的任意組合來實現(xiàn)。當(dāng)使用軟件實現(xiàn)時,可以將這些功能存儲在計算機(jī)可讀介質(zhì)中或者作為計算機(jī)可讀介質(zhì)上的一個或多個指令或代碼進(jìn)行傳輸。計算機(jī)可讀介質(zhì)包括計算機(jī)存儲介質(zhì)和通信介質(zhì),其中通信介質(zhì)包括便于從一個地方向另一個地方傳送計算機(jī)程序的任何介質(zhì)。存儲介質(zhì)可以是通用或?qū)S糜嬎銠C(jī)能夠存取的任何可用介質(zhì)。
以上所述的具體實施方式,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的技術(shù)方案的基礎(chǔ)之上,所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包括在本發(fā)明的保護(hù)范圍之內(nèi)。