MTU に関する考慮事項

MTU に関する考慮事項

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

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

ジャンボフレーム

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

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

注釈

You can trigger MTU recalculation for existing networks by changing the MTU configuration and restarting the neutron-server service. However, propagating MTU calculations to the data plane may require users to delete and recreate ports on the network.

When using the Open vSwitch or Linux bridge drivers, new MTU calculations will be propogated automatically after restarting the l3-agent service.

ケース 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)

The DHCP agent provides an appropriate MTU value to instances using IPv4, while the L3 agent provides an appropriate MTU value to instances using IPv6. IPv6 uses RA via the L3 agent because the DHCP agent only supports IPv4. Instances using IPv4 and IPv6 should obtain the same MTU value regardless of method.

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.