• BPF

    編輯
    本詞條由“匿名用戶” 建檔。

    BPF(BPF),也稱為伯克利過濾器,在類Unix操作系統上提供數據鏈路層的接口,允許發送和接收數據鏈路層上的數據包。如果網絡接口驅動程序支持混雜模式,則可以將接口切換到此模式,以便可以接收網絡上的所有數據包,包括用于其他網絡適配器的數據包。 BPF還支持過濾數據包,以便只處理感興趣的數據包,從而節省計算能力。 Berkeley過濾器功能作為BPFVM的機器語言解釋器實現。因此,計算機程序可以從數...

    目錄
    1. 1 BPF

      BPF(BPF),也稱為伯克利過濾器,在類 Unix 操作系統上提供數據鏈路層的接口,允許發送和接收數據鏈路層上的數據包。 如果網絡接口驅動程序支持混雜模式,則可以將接口切換到此模式,以便可以接收網絡上的所有數據包,包括用于其他網絡適配器的數據包。

      BPF 還支持過濾數據包,以便只處理感興趣的數據包,從而節省計算能力

      Berkeley 過濾器功能作為 BPF VM 的機器語言解釋器實現。 因此,計算機程序可以從數據包中讀取數據,對其執行算術運算,將結果與過濾器定義進行比較,然后接受或拒絕該數據包。 在某些系統上,包括 FreeBSD 和 WinPcap,支持實時編譯(將虛擬機指令轉換為機器語言)以提高系統性能。 由于在 Linux 下也支持了即時編譯,所以 BPF 在內核中發展成為一個通用的虛擬機。 BPF 是 LLVM 的官方后端(從 3.7 版開始)。

      BPF過濾數據包

      解釋器可以運行在內核態或用戶態。用于Linux或WinPcap機制下的套接字過濾器。 Pcap API 的 libpcap/WinPcap 實現提供了一個用戶模式解釋器。 在沒有內核模式支持過濾機制的系統上,它可以用來過濾用戶模式數據包。

      2007 年,Robert Watson 和 Christian Peron 為 BPF 實現添加了零拷貝緩沖區擴展。 這允許設備驅動程序捕獲的數據包直接寫入用戶模式程序的內存,無需額外的數據復制。

      內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/369946/

      (2)
      詞條目錄
      1. BPF

      輕觸這里

      關閉目錄

      目錄
      91麻精品国产91久久久久