流量采集DIP智能加速網(wǎng)卡: 基于FPGA 可編程網(wǎng)卡的高性能采集方案
FPGA專用網(wǎng)絡(luò)硬件加速 | Linux環(huán)境可編程 | 100G流量卸載|OVS卸載
受益于近年可編程門陣列(FPGA)技術(shù)的發(fā)展,我們得以設(shè)計全新的軟硬結(jié)合的高性能流量采集方案用于替代標(biāo)準(zhǔn)網(wǎng)卡的DPDK+Hyperscan方案。以占用較低的內(nèi)存IO和CPU能力,線速捕獲網(wǎng)絡(luò)報文,并完成特定功能的業(yè)務(wù)卸載,用戶通過API完成后續(xù)處理。采用這項(xiàng)技術(shù)可為網(wǎng)絡(luò)流量分析構(gòu)建在標(biāo)準(zhǔn)服務(wù)器,特別是國產(chǎn)化硬件平臺架構(gòu)上實(shí)現(xiàn)高密度計算的解決?案。有助于解決一直以來國產(chǎn)化平臺全流量采集性能相對偏低、穩(wěn)定性不足的
產(chǎn)品規(guī)格
關(guān)鍵特性 | 適?于所有幀??的零丟包數(shù)據(jù)包捕獲;所有幀??的線速數(shù)據(jù)包傳輸;納秒級精確時間戳;報?切?、去重等預(yù)處理;板載?內(nèi)存緩沖確保在擁塞期間傳輸數(shù)據(jù)包;多端?同源同宿投遞到X86多核隊(duì)列。 |
?絡(luò)接口 | 2/4 *10GE/GE(SFP+);2*100GE/40GE(QSFP28/QSFP+) |
主機(jī)隊(duì)列 | 隊(duì)列數(shù)16,多端?同源同宿負(fù)載均衡到隊(duì)列 |
報??持 | ?持2層VLAN、4層MPLS標(biāo)簽;VxLAN、GRE/GTP/L2TP/PPTP/PPPOE等隧道報?、IPv4、IPv6、ICMP、SCTP等 |
負(fù)載策略 | SIP、SIP+SP、DIP、DIP+DP、SDIP、SDIP+SDP、VLAN、ROUND ROBIN、?播等策略 |
匹配條件 | 源IP、?的IP、協(xié)議類型、源端?、?的端?; VLAN ID; 輸?接?號; 報??度; MPLS標(biāo)簽; 隧道報?匹配時可選擇內(nèi)層或者外層。 |
匹配動作 | 丟棄;轉(zhuǎn)發(fā)到端?;轉(zhuǎn)發(fā)到主機(jī)(接收隊(duì)列) |
?持系統(tǒng) | Linux |
接?API | uuSDK |
產(chǎn)品系列
芯片類型 | 專用網(wǎng)絡(luò)處理芯片 | FPGA芯片 | |||||||||
型號 | FW-uNIC720 | FW-uNIC740 | FW-uNIC920 | FW-uNIC1044 | FW-uNIC1020P | FW-uNIC1040 | FW-uNIC1100 (開發(fā)板) | FW-uNIC690 (驗(yàn)證平臺) | |||
圖片 |
![]()
| | | | | | | | |||
網(wǎng)絡(luò)接口 | 2*10GE | 2/4*10GE | 2*100GE | 4*10GE | 2*10G/2.5G POS | 1*40GE | 2*100GE | 2*100GE,2*40GE | |||
主機(jī)接口 | PCIE3.0*8 | PCIE3.0*8 | PCIE3.0*16 | PCIE3.0*8 | PCIE3.0*8 | PCIE3.0*8 | PCIE3.0*16 | PCIE3.0*8 | |||
內(nèi)存 | 8GB DDR4 | 8/16/32/64GB DDR4 | 8/16/32/64GB DDR4 | 8GB DDR4 | 8GB DDR4 | 8GB DDR4 | 8GB DDR4 | 8GB DDR3 | |||
尺寸 | 68.9 mm x 111.15mm半高半長 | 167.65 mm x 111.15mm全高半長 | 全高3/4長 | 68.9 mm x 111.15mm半高半長 | 68.9 mm x 111.15mm半高半長 | 68.9 mm x 111.15mm半高半長 | 167.65 mm x 111.15mm全高半長 | 160MM*210MM | |||
主芯片 | CAVIUM OCTEONIII CN7360-AAP 1.5GHZ | Marvell OCTEON TX2 CN9670 | Intel Arria10 FPGA | Intel Stratix10 FPGA | Xilinx 690T或者國產(chǎn)FPGA | ||||||
散熱方式 | 板載散熱片被動散熱 | 板載風(fēng)扇主動散熱 | 板載散熱片被動散熱 | 板載散熱片被動散熱 | 板載風(fēng)扇主動散熱 | ||||||
應(yīng)用場景 | 適合高性能流量采集,轉(zhuǎn)發(fā),業(yè)務(wù)較復(fù)雜的場景。如會話管理,協(xié)議識別,URL匹配,浮動關(guān)鍵詞,前綴五元組,TCP服務(wù)質(zhì)量統(tǒng)計,正則表達(dá)式通配符匹配打標(biāo)簽等 | 適合高性能流量采集,轉(zhuǎn)發(fā),業(yè)務(wù)較為簡單,對散熱要求高的場景。如會話流表加速轉(zhuǎn)發(fā),SDH鏈路協(xié)議轉(zhuǎn)換,高性能收發(fā)包RSS分發(fā)等 |
產(chǎn)品優(yōu)勢
智能加速網(wǎng)卡 V& DPDK+Hyperscan對比
- 根據(jù)真實(shí)網(wǎng)絡(luò)環(huán)境中完成的測試表明,使用智能網(wǎng)卡能使整體系統(tǒng)性能提升2-3倍,減少服務(wù)器部署規(guī)模的同時,也大量節(jié)約了機(jī)房空間、電源、冷卻和管理等運(yùn)維成 本(OPEX)節(jié)省系統(tǒng)成本,具有高性價比。
- 高性能轉(zhuǎn)發(fā):使用靜態(tài)buff ring,減少了網(wǎng)卡需要進(jìn)行IO讀取主機(jī)desc ring來獲取緩存地址的帶寬,將帶寬更加重復(fù)利用與采集,并且減少了對主機(jī)內(nèi)存的訪問,避免對上層CPU防存的干擾;集中式釋放模式,避免多次少量釋放ring bell的IO、CPU占用。通過一系列優(yōu)化技術(shù),保證智能網(wǎng)卡在線速采集轉(zhuǎn)發(fā)報文的同時對主機(jī)內(nèi)存I/O,CPU占用率小。
- 國產(chǎn)化支持:由于國產(chǎn)CPU單核處理性能受限,國產(chǎn)服務(wù)器一般采用NUMA多節(jié)點(diǎn)模式增加CPU個數(shù)來實(shí)現(xiàn)多核心堆疊,導(dǎo)致內(nèi)存墻問題更加突出。使用標(biāo)準(zhǔn)網(wǎng)卡可能出現(xiàn)性能陡然下降的情況;智能網(wǎng)卡經(jīng)過優(yōu)化可以將內(nèi)存訪問進(jìn)行流水化,從而縮小內(nèi)存訪問時延使采集卡DMA上傳性能得到大量提升,達(dá)到與INTEL平臺相同的采集性。
- 實(shí)現(xiàn)真正的零拷貝:標(biāo)準(zhǔn)?卡雖然使?DPDK技術(shù)將報?收到?戶空間,由于動態(tài)內(nèi)存,要頻繁的緩存隊(duì)列成員申請與釋放,在后端業(yè)務(wù)有較長處理時間時需要將 報文進(jìn)行拷貝存儲;使用智能網(wǎng)卡可以配置超大報文緩存隊(duì)列,使服務(wù)器能真正實(shí) 現(xiàn)零拷貝情況下占用pkt buffer進(jìn)行一定時間的操作再釋放緩存。
- 高精確度的硬件時間戳:使用多核網(wǎng)卡硬件接口PTP時間戳,比在收取報文后服務(wù)器獲取時間打上的軟件時間戳更加精確,更能體現(xiàn)網(wǎng)絡(luò)報文的實(shí)際情況;而且能減少服務(wù)器為獲取時間產(chǎn)生的CPU占用。
- 基于會話或者特定策略的快速轉(zhuǎn)發(fā):對于某些防火墻、IDS/IPS等網(wǎng)安應(yīng)用,真正需 要處理的網(wǎng)絡(luò)流量占比非常小,常見使用DPDK方案,無法在網(wǎng)卡端識別哪些流量需要處理,只能把所有流量收上來,再在服務(wù)器上做篩選清洗,大部分流量再返回到原鏈路上,浪費(fèi)了大量的CPU和IO資源。使用智能網(wǎng)卡在入口前端預(yù)處理,可以將大部分正常流量轉(zhuǎn)發(fā),只將少部分的關(guān)注流量上傳到主機(jī),可顯著提升系統(tǒng)性能。
- 完整的RSS功能支持:標(biāo)準(zhǔn)網(wǎng)卡只能對普通報文做RSS分發(fā),對于比如隧道報文無法解析,導(dǎo)致無法保證同一個會話送到同一個CPU隊(duì)列,常見做法是服務(wù)器用專門的核心收包,然后做二次分發(fā)。智能網(wǎng)卡可自動解析MPLS、GRE等隧道頭部,提取正確的五元組做同源同宿分發(fā)到主機(jī)多個隊(duì)列,將同一個會話的報文送到同一個CPU隊(duì)列處理,提高主機(jī)cache一致性。
- 定制化卸載:標(biāo)準(zhǔn)網(wǎng)卡相比,智能網(wǎng)卡可定制化編程,卸載服務(wù)器處理。