ペイロードを最小46バイトにパディングして、64バイトのイーサネットフレームを形成する理由は何ですか。
以下は、minが41バイトになると述べています。
/programming/14526139/what-is-the-minimum-packet-size-for-tcp-over-ipv4
点をつなぐことができませんでした。
ペイロードを最小46バイトにパディングして、64バイトのイーサネットフレームを形成する理由は何ですか。
以下は、minが41バイトになると述べています。
/programming/14526139/what-is-the-minimum-packet-size-for-tcp-over-ipv4
点をつなぐことができませんでした。
回答:
フレーム全体は、少なくとも64バイトでなければなりません。これは単なるペイロードではなく、ヘッダーとフレームチェックシーケンスを含みます。FCSは最後に4バイトを使用します。イーサネットヘッダーは、2つの6バイトのMACアドレスと2バイトのタイプフィールドで構成され、合計14バイトです。64-4-14 =46。IPv4パケットには、イーサネットヘッダーの上に少なくとも20バイトの追加ヘッダーがあり、最小ペイロードサイズは26バイトになります。TCPとUDPはその上にさらにヘッダーを追加します。
もう1つ注意すべき点は、ワイヤ上の最小長のフレームのサイズが実際には64バイトよりも大きいことです。8バイトのプリアンブル/フレーム区切りデリミタと、すべてのパケットに接続される12バイトのフレーム間ギャップがあり、64バイトパケットは64 + 8 + 12 = 84バイトを占有します。
他の質問の41バイトの回答は、TCPヘッダーとIPヘッダーのみを考慮しています。データバイトが0のTCPパケットを送信すると、ヘッダーは40バイトになります。有効なTCPパケットをこれより小さくすることはできません。ただし、このパケットを送信しようとすると、イーサネットFCSが接続される前に、46バイトまでゼロが埋め込まれます。
これが最初にイーサネットで行われた理由は、指定された最大ケーブル長ですべてのデバイスが衝突を確実に検出できるように、ワイヤ上の最小フレーム長を確保するためでした。10Mイーサネットの初期の実装では共有同軸メディアを使用し、接続されたデバイスは2つが共有メディアで同時に送信を試みたときにそれを検出できる必要があったため、これが必要です。スイッチの代わりにハブを使用して構築されたツイストペアを介した少し古い10Mおよび100Mイーサネットネットワークも、衝突を検出できる必要がありました。ただし、最近のほとんどのイーサネットネットワークは切り替えられ、共有メディアを使用しないため、これは厳密には必要ありませんが、互換性の理由から、仕様の一部です。64バイトより短いフレームはラントフレームと呼ばれ、
質問がないではない指定した輸送媒体を。IPv4は、シリアルポートなど、ほとんどすべてのもので使用できます。
イーサネットフレームには最小サイズがあり、速度にも依存します。10/ 100 MBitは最小64バイト、ギガビットは最小512バイトです。このトランスポート層は小さなパケットを送信できないため、パディングが必要です。
元のイーサネット仕様では、64バイトでケーブルがエンドツーエンドでいっぱいになり、すべてのホストで衝突を検出できました。元のイーサネット標準でも、ヘッダーに14バイト、フレームチェックシーケンスに4バイトを指定していました。これは18バイトです。64から18を引くと、最小ペイロードとして46が得られます。それ以降、4バイトのVLANタグを追加できます。したがって、VLANタグの場合、最小ペイロードサイズは42です。VLANタグがない場合、最小ペイロードサイズは46のままです。
最小イーサネットフレームサイズは、元の半二重バリアントに対して定義されました。半二重では、衝突が発生している間、衝突を確実に検出して伝播する必要があります。信号は、セグメント内の2つのステーション間の最長距離にわたって伝播し、衝突検出を可能にし、妨害信号を送信中に送信機に伝播する必要があります。すべてをまとめると、フレーム内で512ビットまたは64バイトになります。
ファストイーサネット(100 Mbit / s)では、本質的に半二重の同軸ケーブルが放棄され、全二重対応のメディア(=方向ごとに専用の信号パスを持つメディア)のみが使用されました。これにより、衝突検出が大幅に高速化され、ファストイーサネット上のフレームの方がはるかに短い時間でも、同じ最小フレームサイズを使用できます。
ギガビットイーサネットには当初、半二重モードが含まれていましたが、フレームサイズではなく最小イーサネットパケットサイズを増やすためにパディングが必要です。半二重GbEは実際にはどこにも使用されておらず、現在は使用されていません。
スイッチド、全二重イーサネットでは、これらの考慮事項は廃止されています。ただし、イーサネットは互換性に基づいて構築されています。すべての物理層のバリアントが共存し、相互に対話できます。したがって、最小フレームサイズが変更されることはなく、従来の10メガビット/秒の半二重ノードは、それほど苦労することなく、現代のマルチギガビットネットワークで機能します。
ただし、これらの詳細については多くの混乱があり、多くは間違って引用されています。参照は、IEEE 802.3条項4.4.2 MACパラメータです。