インターフェース固有のネットワーク・オプション

インターフェース固有のネットワーク・オプション (ISNO) は、 最高のパフォーマンスを得るために、IP ネットワーク・インターフェースをカスタマイズできます。

個々のインターフェースに設定される値は、no コマンドで設定されるシステム全体にわたる値よりも優先されます。 このフィーチャーは、no コマンドの use_isno オプションを使用して、 システム全体で使用可能にしたり (デフォルト)、使用不可にしたりすることができます。 この単一ポイントの ISNO 使用不可オプションは、 システム管理者がパフォーマンス上の問題を特定する必要があるときに、潜在的なチューニング・エラーを防ぐための診断ツールとして組み込まれています。

プログラマーとパフォーマンス分析者は、TCP 接続が確立されるまで、ISNO 値がソケットに現れない (つまり getsockopt() システム・コールで読み取ることができない) ことに注意してください。 このソケットが実際に使用する特定のネットワーク・インターフェースは、接続が完了するまで認識されないので、 ソケットは、no コマンドから取得するシステムのデフォルトを反映します。 TCP 接続が受け付けられ、ネットワーク・インターフェースが認識された後、ISNO 値がソケットに書き込まれます。

以下のパラメーターは、サポートされているネットワーク・インターフェースごとに追加されており、TCP (UDP でない) 接続でのみ有効です。

  • rfc1323
  • tcp_nodelay
  • tcp_sendspace
  • tcp_recvspace
  • tcp_mssdflt

特定のインターフェース用に設定すると、これらの値によって、システムに設定された対応する no オプション値が変更されます。 これらのパラメーターは、 すべてのメイン・ストリーム TCP/IP インターフェース (トークンリング、FDDI、10/100 イーサネット、 およびギガビット・イーサネット) に使用できます。ただし、SP スイッチ上の css# IP は除きます。 簡単な回避策として、SP スイッチのユーザーは、システム全体に影響する no コマンドを実行することによって、 スイッチに適したチューニング・オプションを設定できます。次に、ISNO を使用して、 その他のシステム・インターフェースに必要な値を設定できます。

これらのオプションは TCP/IP インターフェース (en0 または tr0 など) 用に設定されており、ネットワーク・アダプター (ent0 または tok0 など) 用には設定されていません。

AIX® は、MTU 1500 とジャンボ・フレーム・モード (MTU 9000) の両方について、ギガビット・イーサネット・インターフェースのデフォルト値を設定します。 SMIT tcpip 画面でインターフェースを構成した場合は、ISNO オプションがデフォルト値に設定されているはずです (その場合は、優れたパフォーマンスを発揮します)。

10/100 イーサネット・アダプターやトークンリング・アダプターの場合は、 基本的にシステム・グローバルの no のデフォルトで正しく動作するため、システムは ISNO デフォルトを設定しません。 しかし、必要があれば、ISNO 属性を設定して、グローバル・デフォルトをオーバーライドすることも可能です。

以下のサンプルは、MTU 1500 モードのギガビット・イーサネットの tcp_sendspace および tcp_recvspace のデフォルト ISNO 値を表示します。
# ifconfig en0
en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN>
        inet 10.0.0.1 netmask 0xffffff00 broadcast 192.0.0.255
        tcp_sendspace 131072 tcp_recvspace 65536
ジャンボ・フレーム・モードでは、tcp_sendspace tcp_recvspace、および rfc1323 のデフォルト ISNO 値は以下のように設定されます。
 # ifconfig en0
en0: flags=5e080863,c0<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST,GROUPRT,64BIT,CHECKSUM_OFFLOAD,PSEG,CHAIN>
       inet 192.0.0.1 netmask 0xffffff00 broadcast 192.0.0.255
       tcp_sendspace 262144 tcp_recvspace 131072 rfc1323 1
MTU サイズが 4096 バイト以上の場合に rfc1323 を使用可能にし、高速のアダプター (ギガビット以上) に対して tcp_sendspace および tcp_recvspace の値を少なくとも 128 KB に設定するには、次の設定値を使用します。 非常に高速のアダプターは 256 KB に設定されます。 「ブランク」の値は、オプションが設定されないためグローバルの「no」の設定を継承することを意味します。
インターフェース 速度 MTU tcp_sendspace tcp_recvspace rfc1323 tcp_nodelay tcp_mssdflt
lo0 (ループバック) 該当なし 16896 131072 131072 1    
イーサネット (Ethernet) 10 または 100 (M ビット)            
イーサネット (Ethernet) 1000 (ギガビット) 1500 131072 65536 1    
イーサネット (Ethernet) 1000 (ギガビット) 9000 262144 131072 1    
イーサネット (Ethernet) 10 GigE 1500 262144 262144 1    
イーサネット (Ethernet) 10 GigE 9000 262144 262144 1    
イーサチャネル 基盤のインターフェースの速度/MTU を基に構成されます。
仮想イーサネット 該当なし 任意 262144 262144 1    
InfiniBand 該当なし 2044 131072 131072 1    

以下の方法で ISNO オプションを設定できます。

  • SMIT
  • chdev コマンド
  • ifconfig コマンド

SMIT または chdev コマンドを使用すれば、ディスク上の ODM データベース内の値を変更できるので、これらの値は永続化されます。 ifconfig コマンドは、メモリー内の値のみを変更するため、次回のリブート時に ODM に保管されている以前の値に戻ります。