網絡處理器
編輯網絡處理器,是一種可編程的微處理器,針對通信網絡中數據包的處理和轉發進行了優化。
網絡處理器可以通過大規模并行處理和流水線等技術同時獨立地處理許多數據包。 使用當前處理器(截至 2013 年),由此產生的線速數據傳輸速率高達 200 Gbit/s 雙工。
應用領域
編輯網絡處理器用于接入網絡(DSLAM、基站、入侵防御系統/防火墻、深度包檢測)和核心網絡(交換機、路由器)。 由于它們的可編程性,它們可以被修改,以便在短時間內支持新的服務或協議。 特別是,用于高比特率網絡的網絡處理器專門處理具有 OSI 網絡模型第 2 層(以太網)、第 3 層(IP)和第 4 層(TCP)特征的任務。
數據包處理的主要步驟是(通常按給定的順序執行):
媒體訪問控制媒體訪問控制承擔以太網成幀或ATM信元分段和重組等功能。報頭解析和分類數據包的報頭被解析并與已知模式進行比較(模式匹配)。 這允許將數據包分類為不同的協議(例如 VLAN 標記的以太網、IPv4、IPv6)并在過程中進行相應處理。 如有必要,用于網絡管理和控制的數據包被路由到外部 CPU 進行進一步處理(控制路徑,“慢速路徑”)。發送方的地址和相關的接收接口(端口號)直接輸入源地址表(坐)。 另一方面,IP 路由表通常通過路由協議(例如 BGP、OSPF)間接更新。 一種常見的搜索方法是最長前綴匹配。報頭更新根據協議以適當的方式修改數據包,例如通過交換 MPLS 標簽或減少生存時間值。流量管理/隊列基于先前的路由決策,流量管理器以遵守配置的服務質量 (QoS) 參數的方式控制流量(流量整形、流量監管;另請參閱:ATM 流量管理)。 根據這些服務質量參數和各個優先級,數據包被分類到不同的輸出隊列(queues)中。
架構與結構
編輯由于處理數據包所涉及的各個任務相對簡單,大多數網絡處理器都使用高效的 RISC 處理器,這些處理器的功能再次減少,稱為處理器元素。 高速緩存、內存管理單元 (MMU) 和浮點單元 (FPU) 等標準處理器通用的塊經常缺失。
由于程序流與單個數據包的可用性密切相關,網絡處理器 en 有時未指定為 befe千斤頂驅動的馮諾依曼系統。 相反,使用(奇異的)數據流架構。 根據 Flynn 的分類,它屬于 MISD 架構類。
微架構
高速數據處理的目標不僅可以通過快速處理器時鐘速率實現,還可以通過并行化和流水線化的基本技術實現。 每個單獨的處理器元件可以以不同的方式排列。 三種典型的拓撲結構作為示例給出。
并行處理器流水線結合并行和流水線的一種方法是并行處理器流水線體系結構。 傳入的數據包被分配到一個管道,然后整個管道運行。 示例:Cisco Toaster。并行處理器流水線此架構變體類似于由超標量處理器元素組成的純流水線。 這些也可以是不同的類型。 調度程序將數據包分發給空閑的處理器元件。
功能塊
大多數網絡處理器都有專門的硬編碼功能塊來加速特定的計算密集型任務。 這些包括用于散列和 CRC 計算、統計、模式匹配和帶寬管理(流量管理)的引擎。 這些塊不可編程,但只能在狹窄的范圍內進行配置。
外部協處理器也經常用于支持。 例如用于控制平面管理的通用處理器 (GPP)、基于知識的處理器或安全協處理器。
編程
出于性能原因,許多網絡處理器使用高效的低級硬件功能。 這反過來又需要使用匯編程序或 C 編程語言進行系統級編程。 因此,程序創建類似于微控制器。 只有少數可用的網絡處理器可以使用標準 GNU 工具鏈在 ANSI C 中進行編程。
分界
編輯網絡處理器與通信處理器和可配置 ASSP 不同。
通訊處理器
通信處理器以相對較低的比特率 (1-10 Gbps) 處理數據路徑中的數據包。 因此,它們比網絡處理器 en 便宜。 例如 Cavium 的 OCTEON 芯片或飛思卡爾的 PowerQUICC 芯片。 通信處理器集成了一個或多個標準(MIPS、ARM 等)處理器內核,可在網絡上層(第 4 層到第 7 層)進行數據包處理和控制協議處理。
可配置的 ASSP
在高數據速率領域,ASSP 與網絡處理器競爭。 它們只是可配置的,而不是可編程的,因此不那么復雜。 因此,它們通常用于第 2 層(以太網)數據包處理。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/365102/