メインコンテンツまでスキップ

5.1. Layering (階層化)

IPアーキテクチャでは、送信するパケットのサイズの選択は、IP上の層のプロトコルによって行われます。本メモは、このようなプロトコルを「パケット化プロトコル (packetization protocol)」と呼びます。パケット化プロトコルは通常、トランスポートプロトコル (例えば、TCP)ですが、より高い層のプロトコル (例えば、UDP上に構築されたプロトコル)である場合もあります。

パケット化層でPath MTU Discoveryを実装すると、層間の問題の一部が簡素化されますが、いくつかの欠点があります。実装は各パケット化プロトコルに対して再実行する必要がある可能性があり、異なるパケット化層間でPMTU情報を共有することが困難になり、一部のパケット化層によって維持される接続指向の状態がPMTU情報を長期間保存するために容易に拡張できない可能性があります。

したがって、IP層がPMTU情報を保存し、ICMPv6層が受信したPacket Too Bigメッセージを処理することが推奨されます。パケット化層は、PMTUの変化に応じて送信するメッセージのサイズを変更することで応答できます (may)。この階層化をサポートするために、パケット化層はMMS_S、「最大送信トランスポートメッセージサイズ (maximum send transport-message size)」[RFC1122] の値の変化を学習する方法が必要です。

MMS_Sは、送信できる最大のIPパケットEMTU_SからIPv6ヘッダー (IPv6拡張ヘッダーを含む)のサイズを差し引いて計算されるトランスポートメッセージサイズです。MMS_Sは、PMTU、パケットフラグメンテーションと再構成のサポート、およびパケット再構成制限 ([RFC8200] のSection 4.5「Fragment Header」を参照)を含む要因の組み合わせによって制限されます。送信元フラグメンテーションが利用可能な場合、EMTU_Sは、上位層プロトコルを使用するか、プロトコル要件 (IPv6の場合は1500オクテット)に基づいて受信者によって示されるEMTU_Rに設定されます。PMTUより大きいメッセージが送信される場合、送信元はフラグメントを作成し、それぞれがPMTUによって制限されます。送信元フラグメンテーションが望ましくない場合、EMTU_SはPMTUに設定され、上位層プロトコルは独自のフラグメンテーションと再構成を実行するか、それに応じてメッセージのサイズを制限することが期待されます。

ただし、パケット化層は、送信元フラグメンテーションを必要とするメッセージの送信を避けることが奨励されます (フラグメンテーションに反対する理由については、[FRAG] を参照)。