女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

崔鵬程:初識XDP

Linux閱碼場 ? 來源:Linux內核之旅 ? 2020-08-03 15:59 ? 次閱讀

在計算機網絡中,Hook鉤子在操作系統中用于在調用前或執行過程中攔截網絡數據包。Linux內核中暴露了多個鉤子,BPF程序可以連接到這些鉤子上,實現數據收集和自定義事件處理。

Linux內核中的鉤子點很多,比如說網絡子系統中存在兩個鉤子:XDP和TC。它們結合在一起,可以用來處理RX和TX上兩個鏈路上靠近NIC的數據包,從而實現了許多網絡應用的開發。今天我們簡單介紹下XDP。

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

XDP 相對于DPDK,XDP具有以下優點:

無需第三方代碼庫和許可

同時支持輪詢式和中斷式網絡

無需分配大頁

無需專用的CPU

無需定義新的安全網絡模型

XDP的使用場景包括:

DDoS防御

防火墻

基于XDP_TX的負載均衡

網絡統計

復雜網絡采樣

高速交易平臺

XDP輸入參數XDP暴露的鉤子具有特定的輸入上下文,它是單一輸入參數。它的類型為 struct xdp_md,在內核頭文件bpf.h 中定義,具體字段如下所示:


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

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

可以看出這個動作的本質是一個int值。前面4個動作是不需要參數的,最后一個動作需要額外指定一個NIC網絡設備名稱,作為轉發這個數據包的目的地。

XDP的位置

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 內核
    +關注

    關注

    3

    文章

    1410

    瀏覽量

    41115
  • Linux
    +關注

    關注

    87

    文章

    11465

    瀏覽量

    212812
  • 網絡設備
    +關注

    關注

    0

    文章

    325

    瀏覽量

    30332

原文標題:崔鵬程: 初識XDP

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    零死角玩轉STM32——初級篇

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

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

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

    匯川技術與鵬程無限簽署戰略合作協議

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

    海辰儲能推動中歐儲能生態發展

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

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

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

    汽車電路初識

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

    TVP5146M2怎么設置才能實現四路視頻同時采集?

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

    零基礎開發小安派-Eyes-S1【進階篇】——初識 LVGL 并搭建最小工程

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

    零基礎開發小安派-Eyes-S1——初識LVGL并搭建最小工程

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

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

    行業芯事行業資訊
    電子發燒友網官方
    發布于 :2025年01月02日 13:56:28

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

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

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

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

    廈門市領導蒞臨海辰儲能調研

    近日,廈門市委副書記、市長伍斌率隊蒞臨海辰儲能調研,深入了解企業發展現狀與未來規劃。海辰儲能聯合創始人、總裁王鵬程熱情接待并陪同調研。
    的頭像 發表于 10-24 11:03 ?1142次閱讀

    中興通訊麗:AI與5G-A共融共創

    7月16日資訊,2024世界人工智能大會匯聚了全球頂尖的科學家、企業領袖及投資精英,共襄盛舉,深入探討AI技術的最新進展、產業趨勢以及道德治理的創新路徑。中興通訊首席發展官麗受邀出席央視網《科技新觀察》節目,就人工智能時代下的數智化轉型發表了獨到見解。
    的頭像 發表于 07-16 16:24 ?798次閱讀

    【《軟件開發珠璣》閱讀體驗】+ 初識

    非常感恩電子發燒友論壇,讓我有幸閱讀如此優秀的作品。 今天收到了的書,非常精美! 在書的扉頁中,有劉總的簽名: 太有意義了。 書中大佬們讀了《推薦序》 還有21位大佬為此書寫了《推薦語》,給本書以極其高度的評價: 本文的譯者為“死月”,他在譯者序中,表達了翻譯完本書之后的收獲“ 在翻譯完這本書之后,我對軟件工程,對需求、設計、項目管理、文化與團隊合質量和過程改進有了全新的認知,我也可以嘗試著為自己摘下“只會寫代碼”的標簽了。相信在未來的職業生涯中,這本書給我帶來的知識能讓我在各個地方發光發熱,在某種意義上可以幫我突破一些瓶頸。 同樣,我期望這本書也能在正在閱讀此書的你未來的職業生涯中,以某種形式為你帶來一些不一樣的視角,幫你更輕松地解決一些可能本來不那么容易解決的問題。能翻譯這本書,對我來說,已經很值了;如果這本書還能為更多人提供價值,那真的是超值了。 在《序言》中,作者解釋了”珠璣“,珠璣的即為珍珍,在于不斷的成長。我在想,譯者為何不直接譯為”珍珠“。 在《關于作者》中,介紹了作者Karl Wiegers 學位、作品,以及他是一位愛好廣泛,同時又非常有愛心的一位大神。
    發表于 06-21 16:33