4.94 CPUスケジューリング方式の設定

[書式]

[設定値及び初期値]

[説明]

CPUスケジューリング方式を設定する。

hash を選択した場合、受信パケットから算出されたハッシュ値を基にしてパケットの転送処理を 実行するCPUコアが決まる。

load-balance を選択した場合、各CPUコアの負荷が均等になるようにパケットの転送処理を実行 するCPUコアがパケット単位で変化する。

lan-based を選択した場合、パケットを受信した LAN インターフェースによって転送処理を実行する CPU コアが次のように決まる。( vRX シリーズ は CPU コア数が 4、NIC 数が 4 の場合の例 )

受信 LAN インターフェース vRX シリーズ その他の機種
LAN1 CPU1 CPU0
LAN2 CPU2 CPU1
LAN3 CPU3 CPU2
LAN4 CPU1 CPU3

fixed を選択した場合、パケットを受信した LAN インターフェースによらず、転送処理は常に CPU1 で実行される。

[ノート]

BRI/PRIインターフェースで受信したパケットは、本コマンドの設定の対象にならない。

本コマンドを実行すると、すべてのLANインターフェースの初期化処理が実行されるため、 すべてのLANインターフェースにおいて一時的にリンクダウンが発生する。

vRX Amazon EC2 版 で本コマンドによる設定の変更を反映するには、ルーターの再起動が必要となる。

ノーマルパスの処理対象となるパケットは、本コマンドの設定に従って決定されたCPUコアでは 受信処理のみが実行され、転送処理は常に CPU0 ( vRX シリーズ の場合) または CPU1 ( その他の機種の場合 ) で実行される。これは、ip routing process コマンドで normal が設定されている場合はすべてのパケットが対象となる。

CPUスケジューリング方式に hash を選択した場合、IPv4/IPv6ヘッダを持たない受信パケットの転送処理は CPU1 ( vRX シリーズ の場合 ) または CPU0 ( RTX5000、RTX3500 の場合 ) で実行される。RTX3510、RTX1300 では以下の通りとなる。

RTX3510、RTX1300
プロトコル 転送処理を実行するCPUコア
ARP CPU0
上記以外 CPU2

CPUスケジューリング方式に load-balance を選択した場合、パケットの順番が入れ替わる可能性がある。 パケットの順番が入れ替わるとUDPを用いるアプリケーションで問題が発生する可能性がある。system packet-scheduling filter コマンドを使用可能な機種では、該当パケットの転送処理を実行する CPU コアを固定することでパケットの順番の入れ替わりを抑制することができる。なお、TCPではパケットの順番が入れ替わっても通常は問題は発生しない。

IPsecでは、どのCPUスケジューリング方式であっても、ESPシーケンス番号の順序通りにESPパケットが送信されないことがあるため、対向側ルーターの受信処理でESPシーケンスエラーが発生し、ESPパケットが破棄される可能性がある。ESPシーケンスエラーは、対向側ルーターの ipsec sa policy コマンドで anti-replay-check を off にして、ESPシーケンス番号のチェックを行わないようにすることで回避できる。

RTX5000、RTX3500 は Rev.14.00.13 以降で使用可能。

[適用モデル]

vRX シリーズ, RTX5000, RTX3510, RTX3500, RTX1300