一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

崔鵬程:初識XDP

Linux閱碼場 ? 來源:Linux內(nèi)核之旅 ? 2020-08-03 15:59 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在計算機(jī)網(wǎng)絡(luò)中,Hook鉤子在操作系統(tǒng)中用于在調(diào)用前或執(zhí)行過程中攔截網(wǎng)絡(luò)數(shù)據(jù)包。Linux內(nèi)核中暴露了多個鉤子,BPF程序可以連接到這些鉤子上,實(shí)現(xiàn)數(shù)據(jù)收集和自定義事件處理。

Linux內(nèi)核中的鉤子點(diǎn)很多,比如說網(wǎng)絡(luò)子系統(tǒng)中存在兩個鉤子:XDP和TC。它們結(jié)合在一起,可以用來處理RX和TX上兩個鏈路上靠近NIC的數(shù)據(jù)包,從而實(shí)現(xiàn)了許多網(wǎng)絡(luò)應(yīng)用的開發(fā)。今天我們簡單介紹下XDP。

XDP全稱為eXpress Data Path,是Linux內(nèi)核網(wǎng)絡(luò)棧的最底層。它只存在于RX路徑上,允許在網(wǎng)絡(luò)設(shè)備驅(qū)動內(nèi)部網(wǎng)絡(luò)堆棧中數(shù)據(jù)來源最早的地方進(jìn)行數(shù)據(jù)包處理,在特定模式下可以在操作系統(tǒng)分配內(nèi)存(skb)之前就已經(jīng)完成處理。 XDP暴露了一個可以加載BPF程序的網(wǎng)絡(luò)鉤子。在這個鉤子中,程序能夠?qū)魅氲臄?shù)據(jù)包進(jìn)行任意修改和快速決策,避免了內(nèi)核內(nèi)部處理帶來的額外開銷。這使得XDP在性能速度方面成為最佳鉤子,例如緩解DDoS攻擊等 DPDK Intel DPDK全稱Intel Data Plane Development Kit,是intel提供的數(shù)據(jù)平面開發(fā)工具集,為Intel architecture(IA)處理器架構(gòu)下用戶空間高效的數(shù)據(jù)包處理提供庫函數(shù)和驅(qū)動的支持,它不同于Linux系統(tǒng)以通用性設(shè)計為目的,而是專注于網(wǎng)絡(luò)應(yīng)用中數(shù)據(jù)包的高性能處理。 DPDK應(yīng)用程序是運(yùn)行在用戶空間上利用自身提供的數(shù)據(jù)平面庫來收發(fā)數(shù)據(jù)包,繞過了Linux內(nèi)核協(xié)議棧對數(shù)據(jù)包處理過程。Linux內(nèi)核將DPDK應(yīng)用程序看作是一個普通的用戶態(tài)進(jìn)程,包括它的編譯、連接和加載方式和普通程序沒有什么兩樣。DPDK程序啟動后只能有一個主線程,然后創(chuàng)建一些子線程并綁定到指定CPU核心上運(yùn)行。

XDP 相對于DPDK,XDP具有以下優(yōu)點(diǎn):

無需第三方代碼庫和許可

同時支持輪詢式和中斷式網(wǎng)絡(luò)

無需分配大頁

無需專用的CPU

無需定義新的安全網(wǎng)絡(luò)模型

XDP的使用場景包括:

DDoS防御

防火墻

基于XDP_TX的負(fù)載均衡

網(wǎng)絡(luò)統(tǒng)計

復(fù)雜網(wǎng)絡(luò)采樣

高速交易平臺

XDP輸入?yún)?shù)XDP暴露的鉤子具有特定的輸入上下文,它是單一輸入?yún)?shù)。它的類型為 struct xdp_md,在內(nèi)核頭文件bpf.h 中定義,具體字段如下所示:


程序執(zhí)行時,data和data_end字段分別是數(shù)據(jù)包開始和結(jié)束的指針,它們是用來獲取和解析傳來的數(shù)據(jù),第三個值是data_meta指針,初始階段它是一個空閑的內(nèi)存地址,供XDP程序與其他層交換數(shù)據(jù)包元數(shù)據(jù)時使用。最后兩個字段分別是接收數(shù)據(jù)包的接口和對應(yīng)的RX隊列的索引。當(dāng)訪問這兩個值時,BPF代碼會在內(nèi)核內(nèi)部重寫,以訪問實(shí)際持有這些值的內(nèi)核結(jié)構(gòu) struct xdp_rxq_info。

XDP輸出參數(shù)在處理完一個數(shù)據(jù)包后,XDP程序會返回一個動作(Action)作為輸出,它代表了程序退出后對數(shù)據(jù)包應(yīng)該做什么樣的最終裁決,也是在內(nèi)核頭文件bpf.h 定義了以下5種動作類型:

可以看出這個動作的本質(zhì)是一個int值。前面4個動作是不需要參數(shù)的,最后一個動作需要額外指定一個NIC網(wǎng)絡(luò)設(shè)備名稱,作為轉(zhuǎn)發(fā)這個數(shù)據(jù)包的目的地。

XDP的位置

最顯而易見的是,竟然可以在如此低的層面上把數(shù)據(jù)包丟棄或者回彈回去,如果面臨DDoS攻擊,采用這種方式的話,數(shù)據(jù)包就沒有必要上升到Netfilter層面再被丟棄了。說白了,XDP允許數(shù)據(jù)包在進(jìn)入Linux協(xié)議棧之前就能受到判決。這相當(dāng)于在網(wǎng)卡驅(qū)動層面運(yùn)行了一個eBPF程序,該程序決定數(shù)據(jù)包何去何從。 而且,假設(shè)我們經(jīng)過目標(biāo)網(wǎng)絡(luò)設(shè)備的Ingress流量被我們的XDP程序drop了,專業(yè)術(shù)語叫RX流向。那么Egress流量是否也會被drop掉呢? 答案是,不會。XDP hook不會作用到Egress流量,也就是TX流向。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 內(nèi)核
    +關(guān)注

    關(guān)注

    3

    文章

    1416

    瀏覽量

    41380
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11508

    瀏覽量

    213631
  • 網(wǎng)絡(luò)設(shè)備

    關(guān)注

    0

    文章

    326

    瀏覽量

    30423

原文標(biāo)題:崔鵬程: 初識XDP

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【Milk-V Duo S 開發(fā)板免費(fèi)體驗】Milk-V Duo S 開發(fā)板試用報告(1)開箱

    一、初識 盼啊盼,終于盼來了這塊Milk-V Duo S。先看一下Duo S的包裝。(圖1) 圖1 可以看到,外圈有一層塑料外殼,并且材質(zhì)很好,摸起來很順滑。而用普通Milk-V Duo比較
    發(fā)表于 06-29 19:43

    零死角玩轉(zhuǎn)STM32——初級篇

    ,從裸奔到系統(tǒng),讓您零死角玩轉(zhuǎn) STM32。 目錄內(nèi)容: 1、如何編譯和下載程序 2、JLINK 驅(qū)動安裝與 MDK 環(huán)境搭建 3、如何新建工程模板 4、初識 STM32 庫 5、流水
    發(fā)表于 05-21 13:48

    【米爾-全志T536開發(fā)板試用體驗】 試用測評報-初識T536

    【米爾-全志T536開發(fā)板試用體驗】 試用測評報-初識T536 從電子發(fā)燒友網(wǎng)申請到MYC-LT536核心板及開發(fā)板有一段時間了,因為工作中有用到全志V536開發(fā)方案,仔細(xì)的對比了這個新出的開發(fā)板
    發(fā)表于 04-23 11:35

    匯川技術(shù)與鵬程無限簽署戰(zhàn)略合作協(xié)議

    近日,蘇州匯川技術(shù)有限公司(以下簡稱“匯川技術(shù)”)與深圳鵬程無限新能源有限公司(以下簡稱“鵬程無限”)在蘇州正式簽署戰(zhàn)略合作協(xié)議。雙方將圍繞儲能技術(shù)研發(fā)、市場協(xié)同及能源解決方案創(chuàng)新展開深度合作,共同
    的頭像 發(fā)表于 04-17 16:33 ?490次閱讀

    海辰儲能推動中歐儲能生態(tài)發(fā)展

    近日,西班牙首相桑切斯與中國企業(yè)家見面會在京舉行。海辰儲能聯(lián)合創(chuàng)始人、總裁王鵬程作為儲能企業(yè)代表受邀參加并發(fā)言。
    的頭像 發(fā)表于 04-15 15:47 ?410次閱讀

    英飛凌推出用于超高功率密度設(shè)計的全新E型XDP混合反激控制器IC

    :IFNNY)又推出E型混合反激控制器系列。專為高性能應(yīng)用設(shè)計的全新XDP混合反激數(shù)字控制器系列,采用先進(jìn)的不對稱半橋(AHB)拓?fù)浣Y(jié)構(gòu),將反激轉(zhuǎn)換器的簡易性和諧振轉(zhuǎn)換器的效率相結(jié)合,從而實(shí)現(xiàn)高功率密度設(shè)計。因此,該控制器系列適用于各類AC/DC應(yīng)用,包括二級市場和原廠充電器、
    的頭像 發(fā)表于 03-28 16:42 ?378次閱讀
    英飛凌推出用于超高功率密度設(shè)計的全新E型<b class='flag-5'>XDP</b>混合反激控制器IC

    汽車電路初識

    第一章 汽車電路分析基礎(chǔ)第二章 汽車電路圖識讀第三章 典型汽車電器電路分析第四章 汽車電路檢修第五章 汽車電子電路圖識讀
    發(fā)表于 03-10 18:04 ?7次下載

    TVP5146M2怎么設(shè)置才能實(shí)現(xiàn)四路視頻同時采集?

    畫面的不連續(xù)。TVP5146M2怎么設(shè)置才能實(shí)現(xiàn)四路視頻同時采集,要CIF格式就行了,謝謝了,幫幫忙,這個設(shè)備的太急了 !
    發(fā)表于 02-06 08:04

    零基礎(chǔ)開發(fā)小安派-Eyes-S1【進(jìn)階篇】——初識 LVGL 并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學(xué)習(xí)小安派: 1、零基礎(chǔ)開發(fā)小安派-Eyes-S1【入門篇】——初識小安派
    的頭像 發(fā)表于 01-06 16:14 ?813次閱讀
    零基礎(chǔ)開發(fā)小安派-Eyes-S1【進(jìn)階篇】——<b class='flag-5'>初識</b> LVGL 并搭建最小工程

    零基礎(chǔ)開發(fā)小安派-Eyes-S1——初識LVGL并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預(yù)留TF卡座,并且引出USB接口,可接入USB攝像頭。 從零開始學(xué)習(xí)小安派: 1、零基礎(chǔ)開發(fā)小安派-Eyes-S1【入門篇】——初識小安派
    的頭像 發(fā)表于 01-03 14:09 ?893次閱讀

    東樹:預(yù)計今年中國新能源乘用車銷量1330萬輛滲透率57%

    行業(yè)芯事行業(yè)資訊
    電子發(fā)燒友網(wǎng)官方
    發(fā)布于 :2025年01月02日 13:56:28

    初識光模塊之光模塊的分類

    高速先生成員--周偉 說到光模塊,很多用過光模塊的人肯定很清楚光模塊有很多種,但還有很多人只是見過或者知道有光模塊,但光模塊具體怎么分類的,我相信很多人都和我們一開始接觸光模塊一樣都是一知半解,甚至云里霧里的只知道都是光模塊,但具體有什么不一樣就有點(diǎn)摸不著頭腦了。閑話少說,接下來我們就來給大家介紹一下我們今天的主人公吧。 光模塊(optical module)由光電子器件、功能電路和光接口等組成,光電子器件包括發(fā)射和接收兩部分。簡單的說,光模塊的作用就是發(fā)送端把電信號轉(zhuǎn)換成光信號,通過光纖傳送后,接收端再把光信號轉(zhuǎn)換成電信號。常見的傳輸方式如下圖所示。 從結(jié)構(gòu)組成上看,絕大多數(shù)基礎(chǔ)性光模塊均采用了收發(fā)一體形式,其內(nèi)部主要由光發(fā)射組件TOSA(Transmitting Optical Sub-Assembly)、光接收組件ROSA(Receiving Optical Sub-Assembly)、發(fā)射驅(qū)動電路(激光器芯片)、接收信號處理電路(探測器芯片)構(gòu)成,另外還有一種將發(fā)射組件與接收組件合二為一的BOSA(Bi-Directional Optical Sub-Assembly)組件,形成的單纖雙向光模塊,BOSA可以看作是TOSA與ROSA的集成體,同時具有光發(fā)射與接收的功能。簡單的光模塊內(nèi)部構(gòu)成大致如下圖所示。 在發(fā)射端,驅(qū)動芯片對原始電信號進(jìn)行處理,然后驅(qū)動半導(dǎo)體激光器(LD)或發(fā)光二極管(LED)發(fā)射出調(diào)制光信號。在接收端,光信號進(jìn)來之后,由光探測器芯片轉(zhuǎn)換為電信號,經(jīng)前置放大器后輸出電信號。 為什么說光模塊很難弄明白呢,主要是它的種類太多,同時可以按照不同的角度去進(jìn)行分類,通俗來說就是本來同一個東西但有很多種不同的叫法,更BT的是有時同樣的叫法可以有很多種不同的東西,所以就經(jīng)常會被人搞混,云里霧里的。常用的可以按照單口最大傳輸速率(單口帶寬)、接口封裝類型、波長、傳輸模式、傳輸距離和調(diào)制格式等去進(jìn)行分類,下面我們分別介紹幾種常見的分類方式。 按照單口最大傳輸速率(單口最大傳輸帶寬更合適些)來分: 1、按單口最大傳輸速率分類: 按照單口最大的傳輸帶寬,也就是一個光口總的傳輸速率可以分為:3.2Tbps(3.2TE)光模塊、1.6Tbps(1.6TE)光模塊、800Gbps(800GE)光模塊、400Gbps(400GE)光模塊、200Gbps(200GE)光模塊、100Gbps(100GE)光模塊、40Gbps(40GE)光模塊、25Gbps(25GE)光模塊、10Gbps(10GE)光模塊、1.25Gbps(1GE)光模塊、FE光模塊等。我們說的1.6T光模塊,其實(shí)指的是這個光模塊單口最大的傳輸速率是1.6Tbps。 2、按單對最大傳輸速率分類(這種分類一般用的少,主要是設(shè)計和仿真人員會關(guān)注) 按照光器件所能承載的單對無誤碼傳輸?shù)淖畲箅娦盘査俾蕘磉M(jìn)行分類,也就是我們設(shè)計和仿真時關(guān)心的單對差分信號的傳輸速率,可以分為:125Mbps、1.25Gbps、10.3125Gbps、25/28Gbps、50/56Gbps、100/112Gbps和200G/224Gbps等光模塊。單對差分速率乘以發(fā)送或接收對數(shù)就決定了上面單口最大的速率,同時也決定了這個光模塊每秒可以傳輸多少數(shù)據(jù)。如上面的1.6TE光模塊一般就是由200G/224Gbps的單對差分速率乘以8對得到的,也就是說我們現(xiàn)在做的1.6TE光模塊它的單對差分信號速率最高到了200/224Gbps,這么高速的傳輸速率在PCB板上傳輸,對PCB的設(shè)計和制板工藝考驗巨大,這種情況下就需要在設(shè)計過程中通過精確的仿真來確保通道的性能,同時還需要有靠譜的加工才能保證最終產(chǎn)品的落地,哪一個環(huán)節(jié)都不能出現(xiàn)太大的偏差。 3、按接口封裝類型分類(最常見的) 傳輸速率越高,結(jié)構(gòu)越復(fù)雜,由此產(chǎn)生了不同的接口封裝類型。常見的光模塊封裝類型有:SFP(1GE)光模塊、SFP+(10GE)光模塊、SFP28(25GE)光模塊、QSFP+(40GE)光模塊、CFP(40GE-100GE)光模塊、CFP2 /CFP4(100GE-400GE)光模塊、QSFP28(100GE)光模塊、QSFP-DD(400GE-800GE)光模塊、OSFP(800GE)光模塊、OSFP-XD/OSFP224(1.6TE)光模塊等。還有早期速率比較低的GBIC,就是Giga Bit-rate Interface Converter(千兆接口轉(zhuǎn)換器)光模塊在2000年之前,GBIC是最流行的光模塊封裝,也是應(yīng)用最廣泛的千兆模塊形態(tài)。下面可以看看每種具體光模塊的介紹。 SFP,全稱Small Form Pluggable,即小型可熱插拔光模塊。它的小,就是相對GBIC封裝來說的。SFP的體積比GBIC模塊減少了一半,可以在相同的面板上配置多出一倍以上的端口數(shù)量。在功能上,兩者差別不大,都支持熱插拔。SFP支持最大帶寬是4Gbps。 XFP,是10-Gigabit Small Form-factor Pluggable的簡稱,又叫萬兆SFP。XFP采用一條XFI(10Gb串行接口)連接的全速單通道串行模塊。 SFP+,它和XFP一樣是10G的光模塊。SFP+的尺寸和SFP一致,比XFP更緊湊(縮小了30%左右),功耗也更低(減少了一些信號控制功能)。此外,為了增加容量和空間,還會把多個SFP+口做成一個器件,延生出了zSFP+等。 QSFP,Quad Small Form-factor Pluggable的簡稱,也即四通道SFP接口,很多XFP中成熟的關(guān)鍵技術(shù)都應(yīng)用到了該設(shè)計中。根據(jù)速度可將QSFP分為4x10GQSFP+、4x25GQSFP28、8x25GQSFP28-DD光模塊等。以QSFP28為例,它適用于4x25GE接入端口。使用QSFP28可以不經(jīng)過40G直接從25G升級到100G,大幅簡化布線難度以及降低成本。和SFP+一樣,為了容量和空間考慮,會把多個QSFP接口上下左右堆成多個接口作為一個整體,這樣就衍生出了QSFP+、zQSFP+和microQSFP等接口,如下圖所示。 QSFP-DD,DD指的是“Double Density(雙倍密度)”。將QSFP的4通道增加了一排通道,變?yōu)榱?通道。它可以與CDFP方案兼容,原先的QSFP28模塊仍可以使用,只需再插入一個模塊即可。QSFP-DD的電口金手指數(shù)量是QSFP28的2倍。QSFP-DD每路采用25Gbps NRZ或者50Gbps PAM4信號格式。采用PAM4,最高可以支持400Gbps速率。 OSFP,Octal Small Form Factor Pluggable的簡稱,“O”代表“八進(jìn)制”,它被設(shè)計為使用8個電氣通道來實(shí)現(xiàn)400GbE(8*56GbE,但56GbE的信號由25G的DML激光器在PAM4的調(diào)制下形成),尺寸略大于QSFP-DD,更高瓦數(shù)的光學(xué)引擎和收發(fā)器,散熱性能稍好。 CFP,Centum gigabits Form Pluggable的簡稱,也叫密集波分光通信模塊。傳輸速率可達(dá)100-400Gbps。CFP是在SFP接口基礎(chǔ)上設(shè)計的,尺寸更大,支持100Gbps數(shù)據(jù)傳輸。CFP可以支持單個100G信號,一個或多個40G信號。 CFP、CFP2、CFP4、CFP8的區(qū)別在于體積。CFP2的體積是CFP的二分之一,CFP4是CFP的四分之一。CFP8是專門針對400G提出的封裝形式,其尺寸與CFP2相當(dāng)。支持25Gbps和50Gbps的通道速率,通過16x25G或8x50G電接口實(shí)現(xiàn)400Gbps模塊速率。 在光口側(cè)主要是使用8路53Gbps PAM4或者4路106Gbps PAM4實(shí)現(xiàn)400G的信號傳輸,在電口側(cè)使用8路53Gbps PAM4電信號,采用OSFP或QSFP-DD的封裝形式。 相比較來說,QSFP-DD封裝尺寸更小(和傳統(tǒng)100G光模塊的QSFP28封裝類似),更適合數(shù)據(jù)中心應(yīng)用。 OSFP封裝尺寸稍大一些,由于可以提供更多的功耗,所以更適合電信應(yīng)用。 其他的幾種不常見的分類方式: 按照傳輸距離分類,有100米、300米、550米、10千米、20千米、40千米、80千米、120千米和160千米等光模塊; 按照傳輸波長分類,有850nm、1310nm、1490nm、1550nm等光模塊; 按照傳輸模式分類,有單模(黃色)、多模(橘黃色、藍(lán)綠色)等光模塊; 本期問題:關(guān)于光模塊更深層次的介紹,您還有哪些想知道的?我們會根據(jù)大家的回復(fù)來針對性的解答。
    發(fā)表于 12-10 08:59

    初識光模塊之光模塊的分類

    高速先生成員--周偉 說到光模塊,很多用過光模塊的人肯定很清楚光模塊有很多種,但還有很多人只是見過或者知道有光模塊,但光模塊具體怎么分類的,我相信很多人都和我們一開始接觸光模塊一樣都是一知半解,甚至云里霧里的只知道都是光模塊,但具體有什么不一樣就有點(diǎn)摸不著頭腦了。閑話少說,接下來我們就來給大家介紹一下我們今天的主人公吧。 光模塊(optical module)由光電子器件、功能電路和光接口等組成,光電子器件包括發(fā)射和接收兩部
    的頭像 發(fā)表于 12-10 08:58 ?909次閱讀
    <b class='flag-5'>初識</b>光模塊之光模塊的分類

    廈門市領(lǐng)導(dǎo)蒞臨海辰儲能調(diào)研

    近日,廈門市委副書記、市長伍斌率隊蒞臨海辰儲能調(diào)研,深入了解企業(yè)發(fā)展現(xiàn)狀與未來規(guī)劃。海辰儲能聯(lián)合創(chuàng)始人、總裁王鵬程熱情接待并陪同調(diào)研。
    的頭像 發(fā)表于 10-24 11:03 ?1211次閱讀

    中興通訊麗:AI與5G-A共融共創(chuàng)

    7月16日資訊,2024世界人工智能大會匯聚了全球頂尖的科學(xué)家、企業(yè)領(lǐng)袖及投資精英,共襄盛舉,深入探討AI技術(shù)的最新進(jìn)展、產(chǎn)業(yè)趨勢以及道德治理的創(chuàng)新路徑。中興通訊首席發(fā)展官麗受邀出席央視網(wǎng)《科技新觀察》節(jié)目,就人工智能時代下的數(shù)智化轉(zhuǎn)型發(fā)表了獨(dú)到見解。
    的頭像 發(fā)表于 07-16 16:24 ?872次閱讀