コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

最大伝送単位の概要

Virtual Private Cloud(VPC)ネットワークのデフォルトの最大伝送単位(MTU)1460 バイトです。ただし、MTU が異なる VPC ネットワークを構成できます。

MTU は、ネットワーク レイヤ プロトコルでサポートされる、ヘッダーとデータの両方を含めた最大パケットのサイズ(バイト単位)です。Google Cloud では、VPC ネットワークごとに MTU を構成できます。そのネットワークを使用する VM インターフェースも、その MTU を使用するように構成する必要があります。この MTU 値は、IP パケット(データグラム)のサイズを表します。イーサネット ヘッダーは含みません。

有効な MTU

VPC ネットワークにはデフォルトの MTU 1460 がありますが、MTU として 1500(標準イーサネット)、最大 8896(ジャンボ フレーム)、最小 1300 をサポートするように構成できます。ただし、1600 より大きい MTU は、送信元インターフェースと宛先インターフェースが同じサブネット内にあり、サブネットのプライマリ IPv4 範囲からの内部 IPv4 アドレスを使用して通信している場合にのみ使用できます。

次の表に、VM が別の VM と通信する際に使用できる最大パケットサイズを示します。

宛先 VM のロケーション IP アドレスの種類 許可されるパケットサイズ

送信元 VM と同じ VPC サブネット

IP マスカレード エージェントを使用してトラフィックをノード IP アドレスで使用する GKE クラスタ

プライマリ サブネット範囲からの内部 IPv4 8896 両方の VM インターフェースの MTU がネットワークと同じで、使用されるアドレスがサブネットのプライマリ範囲からのものである場合、TCP トラフィックと UDP トラフィックの両方がそのネットワーク MTU で送信されます。

同じネットワークの異なるサブネット

ピアリングしたネットワーク

セカンダリ IP アドレスを使用する同じサブネット

IP マスカレード エージェントを使用していない GKE クラスタ

内部 IPv6 アドレスまたは外部 IPv6 アドレスを使用した同じサブネット

内部 IPv4

内部または外部 IPv6

1600
  • TCP: VM が最大セグメント サイズ(MSS)を含む TCP SYN パケットを送信し、データグラムのサイズが 1,600 バイトを超える場合、Google Cloud は、データグラムのサイズが 1,600 になるように MSS 値を書き換えて MSS クランプを行います。SYN ACK パケットについても同様です。また、VM が 1,600 バイトを超える TCP パケットを送信すると、Google Cloud はパケットをドロップし、MTU が 1600 であることを示す ICMP Fragmentation-Needed メッセージを返します。
  • UDP: VM が 1,600 バイトを超える IP データグラムを送信すると、Google Cloud はパケットをドロップし、MTU が 1600 であることを示す ICMP Fragmentation-Needed メッセージを返します。

インターネット

別の VM の外部 IP アドレス

外部 IPv4 または IPv6 1500。ただし、最大 1600 バイトまでのパケットはドロップされません。
  • TCP: VM が MSS を含む TCP SYN パケットを送信し、データグラムのサイズが 1,600 MTU を超える場合、Google Cloud は、データグラムのサイズが 1,500 になるように MSS 値を書き換えて MSS クランプを行います。SYN ACK パケットについても同様です。また、VM が 1,600 バイトを超える TCP パケットを送信すると、Google Cloud はパケットをドロップし、MTU が 1500 であることを示す ICMP Fragmentation-Needed メッセージを返します。
  • UDP: VM が 1,600 バイトを超える IP データグラムを送信すると、Google Cloud はパケットをドロップし、MTU が 1500 であることを示す ICMP Fragmentation-Needed メッセージを返します。
Cloud VPN トンネルを介したオンプレミス 内部 1460 Cloud VPN での MTU の違いをご覧ください。
Cloud Interconnect 接続を介したオンプレミス 内部 1440 または 1500 Cloud Interconnect での MTU の違いをご覧ください。

MTU を超えるパケットの処理

MTU は、UDP トラフィックと TCP トラフィックの両方に影響します。

  • Don't-Fragment(DF)ビットが設定されている場合、IP パケットが宛先パスにあるリンクの MTU を超えると、パケットがドロップされます。また、リンクが Google Cloud 内にある場合は、DF ビットが設定されていなくてもパケットがドロップされます。パケットがドロップされると、リンクで受け入れ可能な MTU を示すタイプ 3 コード 4 Fragmentation-Needed の ICMP パケットが送信側に返されます。パス検出の詳細については、パス MTU 検出(PMTUD)をご覧ください。
  • TCP は、接続の設定時に MSS をネゴシエートします。その後、接続の両方のエンドポイントで小さいほうの MTU サイズにパケットが分割されます。また、一部のネットワーク パスで Google Cloud は MSS クランプを実行します。これにより、アドバタイズされた SYN パケットと SYN ACK パケットの MSS 値が低くなり、通信が可能になります。

VM と MTU の設定

Google 提供の OS イメージに基づく Linux VM の場合、その作成時に VPC ネットワークの MTU がインターフェースの MTU に自動的に設定されます。VM に複数のネットワーク インターフェースがある場合、接続されたネットワークの MTU が各インターフェースに設定されます。VM を実行している VPC の MTU を変更する場合は、VM を停止して再起動し、新しい MTU を取得する必要があります。VM が再起動すると、変更されたネットワーク MTU が DHCP から通知されます。DHCP オプション 26 にネットワークの MTU が含まれます。

Windows VM のインターフェースは、起動時に VPC ネットワークの MTU を使用するように自動的に構成されません。代わりに、Google 提供の OS イメージに基づく Windows VM には固定の MTU 1460 が構成されています。Google 提供の OS イメージに基づく Windows VM が存在する VPC ネットワークの MTU を変更する場合は、Windows VM の MTU 設定を変更する必要があります。

カスタム イメージを使用する VM で MTU 設定を確認します。VPC ネットワークの MTU が優先される可能性もありますが、MTU が固定値に設定されている可能性もあります。

手順については、VPC ネットワークの MTU 設定を変更するをご覧ください。

MTU の不一致

MTU の不一致は、通信を行う 2 つの VM で MTU の設定が異なる状態を意味します。これにより、接続の問題が発生することがあります。インスタンスをルーターとして使用し、VM 内で Kubernetes を使用しているケースもあります。

ほとんどの場合、異なる MTU のインスタンス間の TCP 接続は、MSS ネゴシエーションによって成功しますが、その場合、接続の両端で低いほうの MTU が使用されます。

これは、2 つの VM が同じネットワークかピアリングされたネットワークかに関係なく適用されます。

Cloud VPN での MTU の違い

Cloud VPN では常に 1,460 バイトの MTU が使用されます。トンネルの片側の VM とネットワークで MTU が高い場合、Google Cloud は MSS クランプを使用して TCP MTU を 1,460 に減らします。

VM が、構成で処理可能なサイズを超える TCP または UDP パケットを送信すると、Google Cloud はパケットをドロップし、PMTUD を有効にするために ICMP エラー メッセージを送信して UDP パケットの MTU を低く設定します。

Cloud VPN と MTU の詳細については、トンネル MTUMTU に関する考慮事項をご覧ください。

Cloud VPN と MTU の詳細については、トンネル MTU をご覧ください。

Cloud Interconnect での MTU の違い

Cloud Interconnect の MTU には 1440 または 1500 を指定できます。

通信する VM の MTU が 1460 より高く、VLAN アタッチメントの MTU が 1440 の場合は、MSS クランプにより TCP 接続の MTU が 1440 に設定され、TCP トラフィックが送信されます。

MSS クランプは UDP パケットに影響しないため、VPC ネットワークの MTU が 1460 より高く、VLAN アタッチメントの MTU が 1440 の場合、1,412 バイトを超える UDP データグラム(1,412 バイトの UDP データ + 8 バイトの UDP ヘッダー + 20 バイトの IPv4 ヘッダー = 1,440 バイト)はドロップされます。その場合、次のいずれかを行います。

  • 接続された VPC ネットワークの MTU を 1460 に下げる。
  • 小さい UDP パケットを送信するようにアプリケーションを調整する。
  • VPC ネットワークの MTU が 1500 の場合、既存の VLAN アタッチメントの MTU を変更するか(1500 バイトに変更します)、MTU が 1500 バイトの新しい VLAN アタッチメントを作成できます。

Cloud Interconnect と MTU の詳細については、Cloud Interconnect MTU をご覧ください。

次のステップ

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの VPC のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

VPC 無料トライアル