27.2. 接続追跡の概要
Netfilter
フレームワークは、ファイアウォールで外部ネットワークからのパケットをフィルタリングします。パケットが到着すると、Netfilter
は接続追跡エントリーを割り当てます。このエントリーは、Netfilter
マークを格納し、メモリーテーブル内の接続状態の情報を追跡します。新しいパケットタプルは、既存のエントリーにマップされます。パケットタプルが既存のエントリーにマップされない場合、パケットは、同じ接続のパケットをグループ化する新しい接続追跡エントリーを追加します。たとえば、FTP 接続のすべてのパケットが同じように動作するようにするには、接続追跡エントリーを FTP 接続に割り当てます。
tc
は、qdisc (ネットワークデバイスが送信する前にすべてのトラフィックをキャッチするためのカーネル設定のキューイング規則) を使用してパケットスケジューラーを設定するトラフィックコントローラーユーティリティーです。tc qdisc
コマンドは、同じ接続に属するパケットの帯域幅レートを制限します。
tc
ユーティリティーには、connmark
機能を使用して、接続追跡マークからさまざまなフィールドにデータを取得する接続追跡情報 (ctinfo
) モジュールがあります。パケットマーク情報を格納するために、ctinfo
モジュールは Netfilter
マークと接続状態情報を skb
にコピーします。skb とは、ソケットバッファー (skb) マークメタデータフィールドを表します。
物理メディアを介した送信の場合には、パケットはそのメタデータを失います。パケットがそのメタデータを失う前に、ctinfo
モジュールは Netfilter
マーク値をパケットの IP
フィールドの Diffserv コードポイント (DSCP) の特定の値にマッピングしてコピーします。
関連情報
-
tc (8)
およびtc-ctinfo (8)
の man ページ