MTU に関する考慮事項

MTU に関する考慮事項

Networking サービスは、アンダーレイの物理ネットワークの MTU に基いて、インスタンスのネットワーク・インターフェースなどの仮想ネットワークコンポーネントの MTU を計算します。デフォルトでは、アンダーレイの物理ネットワークの MTU を標準の 1500 バイトと仮定します。

Networking サービスはアンダーレイの物理ネットワークの MTU のみを参照します。アンダーレイの物理ネットワークデバイスの MTU を変更するには、スイッチやルーターなどの物理ネットワークデバイスの設定が必要です。

警告

既存の環境では、 MTU 値は新規のネットワークリソースにのみ適用されます。

ジャンボフレーム

Networking サービスは、アンダーレイの物理ネットワークでのジャンボフレームの使用に対応しており、インスタンスでもオーバーレイプロトコルのオーバーヘッド分を引いたサイズのジャンボフレームを使用できます。例えば、アンダーレイの物理ネットワークが 9000 バイトの MTU の場合、 IPv4 エンドポイントの VXLAN ネットワークではインスタンスは 8950 バイトの MTU を使用できます。 IPv6 エンドポイントのオーバーレイネットワークでは、どのプロトコルの場合でもさらに 20 バイトほどオーバーヘッドが増えます。

Networking サービスは以下のアンダーレイの物理ネットワークアーキテクチャーに対応しています。ケース 1 が最も一般的なアーキテクチャーです。一般には、ケース 2 や 3 のアーキテクチャーは避けるべきでしょう。

ケース 1

使用する MTU 値が 1 つだけの一般的なアンダーレイ物理ネットワークアーキテクチャーの場合、 2 つのオプションを使うことでジャンボフレームを活用できます。 1 つは neutron.conf ファイルで設定し、もう 1 つは ml2_conf.ini ファイルで設定します。ほとんどの環境で、この設定が使用できることでしょう。

例えば、アンダーレイ物理ネットワークの MTU が 9000 バイトの場合には、以下のように設定します。

  1. neutron.conf ファイル:

    [DEFAULT]
    global_physnet_mtu = 9000
    
  2. ml2_conf.ini ファイル:

    [ml2]
    path_mtu = 9000
    

ケース 2

物理ネットワークアーキテクチャーによっては、アンダーレイ物理ネットワークが MTU が異なる複数のレイヤー 2 ネットワークで構成される場合があります。レイヤー 2 エージェントのブリッジマッピングやインターフェースマッピングのオプションで flat/VLAN プロバイダーネットワーク毎に独自の MTU 値を使うように設定できます。

例えば、Open vSwitch エージェントを使う場合で、 provider2 の MTU は 4000 バイト、 provider3 の MTU は 1500 バイト、それ以外のネットワークの MTU は 9000 バイトの場合には、以下のように設定します。

  1. neutron.conf ファイル:

    [DEFAULT]
    global_physnet_mtu = 9000
    
  2. openvswitch_agent.ini ファイル:

    [ovs]
    bridge_mappings = provider1:eth1,provider2:eth2,provider3:eth3
    
  3. ml2_conf.ini ファイル:

    [ml2]
    physical_network_mtus = provider2:4000,provider3:1500
    path_mtu = 9000
    

ケース 3

アンダーレイ物理ネットワークアーキテクチャーによっては、VXLAN や GRE などのプロトコルを使うオーバーレイネットワーク用に専用のレイヤー 2 ネットワークを持つ場合があります。

例えば、オーバーレイネットワーク側の MTU が 4000 バイトで、他のネットワークの MTU が 9000 バイトの場合には、以下のように設定します。

  1. neutron.conf ファイル:

    [DEFAULT]
    global_physnet_mtu = 9000
    
  2. ml2_conf.ini ファイル:

    [ml2]
    path_mtu = 4000
    

    注釈

    プロバイダーネットワークや flat/VLAN のセルフサービスネットワークなどの他のネットワークでは global_physnet_mtu オプションの値が使用されます。

インスタンスのネットワークインターフェース (VIF)

デフォルトでは、 neutron.conf ファイルの advertise_mtu オプションを設定すると、 IPv4 を使うインスタンスに対しては DHCP エージェントが適切な MTU を提供するようになり、 IPv6 を使うインスタンスに対しては L3 エージェントが適切な MTU 値を提供するようになります。 DHCP エージェントは IPv4 のみに対応しているため、 IPv6 の場合には L3 エージェント経由で RA が使用されます。 IPv4 と IPv6 の両方を使うインスタンスでは、提供方法によらず同じ MTU が得られるはずです。

Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.