Linux ネットワーク アーキテクチャ: XDP、iptables/netfilter および iproute2/tc/ip/Qdiscs

Linux のネットワーク アーキテクチャに関しては、この議論から切り離すことはできません。これらの事。これらの概念は混同されやすいですが、注意深く見てみると、Linux ネットワーク アーキテクチャの設計が実際には非常にシンプルかつ明確であることがわかります。

1. フレームワーク図

まず最初に、画像を見てみましょう: Netfilter と一般的なネットワーキングのパケット フロー この画像は、netfilter プロジェクトの公式 Web サイトから引用したものです。
ここに画像の説明を挿入

2. ネットワーク アーキテクチャは 3 つの主要なブロックに分かれています

  • PDP
  • ネットフィルター
  • Qディスク
ネットワークアーキテクチャのパーツ名 主な機能 説明する
PDP パケット高速転送チャネル 図の緑色で囲った部分は、単純にカーネル内で動作するDPDKとして理解できます。
Qディスク フロー制御、QoS 図の赤丸で囲った部分はLinuxのTCP/IPプロトコルよりも前に動作しており、主な機能はネットワークカードに紐付くトラフィック分類、速度制限、トラフィックシェーピング、障害、遅延、パケットロス、シミュレーションエラーなどです。 。
ネットフィルター 図の色付きの部分は TCP/IP プロトコル スタックを指します。これは主にフィルタリング、リダイレクト、破棄、変更などの機能を含む IP パケット処理に使用され、ファイアウォール、NAT ルーティングなどの機能の構築に使用できます。 主に、いわゆる 5 つのテーブルと 4 つのチェーンによって、テーブル/チェーン/ルールの 3 レベル構造を使用して、Linux TCP/IP プロトコル スタックに出入りするメッセージが TCP/IP プロトコル スタックのあらゆる場所で処理されます。

3. ネットワーク アーキテクチャ ----- 対応する構成ツール ----- 対応する原則と概念

レベル 名前 名前 名前
Linux アーキテクチャ PDP ネットフィルター Qディスク
対応する Linux コマンドとツール iptables iproute2、IP、TC
対応する原則と概念 Qディスク テーブル: nat、マングル、生、フィルター
フィルター チェーン: 入力、出力、プリルーティング、ポストルーティング、フォワード
クラス ルールとアクション: マスカレード、受け入れ、拒否、ドロップ、ログ、マーク、リダイレクト、snat、dnat

おすすめ

転載: blog.csdn.net/meihualing/article/details/130529234