Solaris カーネルのチューンアップ・リファレンスマニュアル

ルート別のメトリック

Solaris 8 リリースでは、ルート別のメトリック (測定基準) を使用して、一定のプロパティを IPv4 や IPv6 のルーティングテーブルエントリに関連付けることができます。

たとえば、システムに、fast ethernet と gigabit ethernet という 2 つの異なるネットワークインタフェースがあるとします。tcp_recv_hiwat のシステムデフォルト値は 24,576 バイトです。このデフォルト値は fast ethernet インタフェースには十分ですが、gigabit ethernet インタフェースには不十分な可能性があります。

tcp_recv_hiwat のシステムデフォルト値を増やす代わりに、gigabit ethernet インタフェースのルーティングエントリに別のデフォルトの TCP 受信ウィンドウサイズを関連付けることができます。これにより、そのルートを通るすべての TCP 接続には、大きくした受信ウィンドウサイズが使用されます。

IPv4 の場合、ルーティングテーブルは次のように表示されます (netstat -rn)。


192.123.123.0        192.123.123.4         U        1      4  hme0
192.123.124.0        192.123.124.4         U        1      4  ge0
default              192.123.123.1         UG       1      8

次のコマンドを実行します。


# route change -net 192.123.124.0 -recvpipe x

このコマンドの結果、ge0 リンクの 192.123.124.0 ネットワークへのすべての接続には、デフォルトの受信ウィンドウサイズ 24567 の代わりに、受信バッファサイズ x が使用されます。

宛先が a.b.c.d ネットワークにあり、そのネットワーク固有のルーティングエントリがない場合は、そのネットワークに接頭辞ルートを追加し、メトリックを変更できます。たとえば、次のようにします。


# route add -net a.b.c.d 192.123.123.1 -netmask w.x.y.z
# route change -net a.b.c.d -recvpipe y

接頭辞ルートのゲートウェイがデフォルトのルーターであることに留意してください。そのネットワークへのすべての接続は受信バッファサイズ y を使用します。複数のインタフェースがある場合は、-ifp 引数を使用して、使用するインタフェースを指定します。それによって、特定の宛先に対してどのインタフェースを使用するかを制御できます。メトリックを検査するには、route(1M) get コマンドを使用します。