イーサネットフレームのMTUサイズが1500バイトとして計算されたのはなぜですか?


38

この数に到達するために行われた特定の計算があり、その計算で考慮された要因は何でしたか。


2
IEEEの人々は、FCSが今日1.5kでもたらす数学的保証が9kですべて真実ではなくなるため、9kを標準に追加することに抵抗しています。
ytti

5
@ytti、これは1500フレーム以上を支持することに対する議論の1つにすぎません。Geoff Thomsonの手紙の全文(ジャンボフレームの標準化に対するIEEEの異議を含む)は、draft-ietf-isis-ext-eth-01付録1にあります。反対意見は「考察」という言葉で始まります
マイクペニントン

何か答えがありましたか?もしそうなら、質問が永遠にポップアップし続けないように答えを受け入れ、答えを探してください。または、独自の回答を提供して受け入れることもできます。
ロンモーピン

回答:


27

答えはdraft-ietf-isis-ext-eth-01のセクション3〜5にあります。イーサネットは、イーサネットII(DIX)および802.3カプセル化で同じ2バイトの異なる方法を使用します。

  • イーサネットIIは、タイプのイーサネット送信元MACアドレスの後の最初の2バイトを使用します
  • 802.3は、長さフィールドに同じ2バイトを使用します。

競合するバイトがイーサネットヘッダーのどこにあるかを正確に示す、各フレームタイプの注釈付きの図を以下に示します。

  • RFC 894(一般にイーサネットIIフレームとして知られている)は、これらのバイトをタイプに使用します

       +----+----+------+------+-----+
       | DA | SA | Type | Data | FCS |
       +----+----+------+------+-----+
                 ^^^^^^^^
    
       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Type    Protocol Type           (2 bytes: >= 0x0600 or 1536 decimal)  <---
       Data    Protocol Data           (46 - 1500 bytes)
       FCS     Frame Checksum          (4 bytes)
    
  • IEEE 802.3 with 802.2 LLC / SNAP(スパニングツリー、ISISで使用)は、これらのバイトを長さに使用します

       +----+----+------+------+-----+
       | DA | SA | Len  | Data | FCS |
       +----+----+------+------+-----+
                 ^^^^^^^^
    
       DA      Destination MAC Address (6 bytes)
       SA      Source MAC Address      (6 bytes)
       Len     Length of Data field    (2 bytes: <= 0x05DC or 1500 decimal)  <---
       Data    Protocol Data           (46 - 1500 bytes)
       FCS     Frame Checksum          (4 bytes)
    

イーサネットIIと802.3の両方のカプセル化は、同じリンク上に存在できる必要があります。IEEEがイーサネットペイロードを1536バイト(0x600 hex)を超えることを許可した場合、大きな802.3 LLCまたはSNAPフレームをイーサネットIIフレームと区別することは不可能です。イーサネットのタイプ値は0x600 hexで始まります。

編集:

誰もが興味がある場合に備えて、イーサネットバージョン1仕様イーサネットバージョン2仕様の PDFコピーへのリンクを含めています ...



2
イーサネットIIフレームのタイプフィールドは0x0600(IEEE 802.3x-1997仕様による)から始まります。これは、802.3の最大最大長がそのすぐ下にあったためです。したがって、それは単なる原因であり、原因ではありません。
番号

1
@nos、これが原因ではなく効果であると主張するためには、原因を証明できることを前提としています...提案された原因の信頼できる証拠を提供できますか?1980年に公開された元のイーサネットバージョン1仕様では、既にTypeフィールドが使用され、1984年にはEthertype 0x0800
Mike Pennington

2
実際、イーサネットIおよびIIの仕様には既にタイプフィールドがあり(当時は制限がありませんでした)、最大データ長1500が指定されていました-当時は802.3フレームはありませんでした。したがって、タイプフィールドのために、後の仕様で1500の制限が追加されたと結論付けることはできません。
番号

2
@nos同意しない、イーサネットIIは既存の標準と共存しなければなりませんでした。また、同じフィールドを使用して、以前の標準の型フィールドと新しい標準の長さフィールドの両方として機能することも定義しました。同じネットワーク内で共存しなければならない2つの標準間の混乱の可能性がないことを考えると、既存のタイプのように見える長さは許可されません。既存のタイプリストは0x600、それよりも少ない数で開始されるため、選択する必要がありました。標準へのさらなる拡張を許可しないためには、必要に応じて使用可能な帯域を残しておく必要がありました。

14

範囲の反対側-1500バイトでは、この制限の導入につながる2つの要因がありました。まず、パケットが長すぎる場合、イーサネットケーブルを使用して他のトラフィックに余分な遅延をもたらします。もう1つの要因は、初期の共有ケーブルトランシーバーに組み込まれた安全装置です。この安全装置はアンチバブルシステムでした。トランシーバーに接続されたデバイスに障害が発生し、継続的に送信を開始すると、他のトラフィックがそのイーサネットケーブルセグメントを使用するのを効果的にブロックします。このような事態から保護するために、初期のトランシーバーは、伝送が約1.25ミリ秒を超えると自動的に停止するように設計されていました。これは、1500バイト強のデータコンテンツに相当します。ただし、せせらぎが検出された場合、トランシーバーは単純なアナログタイマーを使用して送信を遮断したため、安全装置をトリガーしない最大データサイズの安全な近似値として1500の制限が選択されました。

出典:http : //answers.yahoo.com/question/index?qid=20120729102755AAn89M1


5
こんにちは@ user1171:StackExchangeの推奨スタイルは、回答資料をここに含め、参照としてリンクアウトすることです。そうすれば、リンクが最終的に腐敗した場合でも、答えは有用です。
クレイグコンスタンティン

ジャバー機能では、10 Mbit / s(IEEE 802.3 Clause 8.2.1.5)で20から150 ms、ファストイーサネット(27.3.2.1.4節)で40から75 kbit、ギガビットイーサネットで2倍後にMAUをシャットダウンする必要がありました。フレームの長さをはるかに超えています。Yahooの投稿が間違っています。
Zac67

10

イーサネットが10Base5と10Base2の共有メディアまたはバスとして最初に開発されたとき、フレームの衝突は頻繁に発生し、設計の一部として予想されていました。 これとは対照的に、ほとんどすべてが個別のコリジョンドメインで切り替えられ、誰もコリジョンが発生することを想定していない全二重を実行している場合です。

「エーテル」を使用するためのメカニズムは、CMSA / CD(Carrier Sense Multiple Access / Collision Detection)を採用しました

キャリアセンスとは、送信したいステーションがワイヤをリッスンする必要があることを意味します-キャリア信号を検知します-その媒体でのマルチアクセスであるため、他の誰も話していないことを確認します。 Allowing 1500 bytes (though an arbitrary number as far as I can tell) was a compromise that meant a station could not capitalize the wire too long by talking too much at one time. フレームで送信されるバイト数が多いほど、その送信が完了するまで他のすべてのステーションが待機する時間が長くなります。言い換えれば、バーストが短くなるか、MTUが小さくなると、他のステーションが送信する機会が増え、公平なシェアが得られます。伝送媒体の速度が遅くなると(10Mb / s)、MTUが増加するにつれて(1500を超えることが許可されている場合)、ステーションの送信遅延が長くなります。

興味深い必然的な質問は、なぜ最小フレームサイズが64バイトなのでしょうか? フレームは512ビットの「スロット」で送信され、媒体での往復信号の伝搬に51.2usかかりました。ステーションは、IFG(96ビットのフレーム間ギャップ)を検知して会話を開始するタイミングをリッスンするだけでなく、他のフレームとの衝突をリッスンする必要があります。衝突検出は、最大の伝搬遅延を想定し、それを2倍にする(安全のため)ため、誰かが終端抵抗を忘れたときに、ワイヤのもう一方の端からほぼ同時に開始する伝送や、自身の伝送の信号反射を見逃さないケーブルの両端。ステーションは、衝突を検知する前にデータの送信を完了してはならないため、512ビットまたは64バイトの待機がこれを保証します。


2

当初、最大 ペイロードは802.3で1500バイトと定義されていました。Ethernet v2は、1536以上のフレーム長をサポートし、これがIP実装で使用されます。ほとんどのキャリアクラスベンダーは、最近では約9000バイト(「ジャンボフレーム」)をサポートしています。1500バイトがすべてのイーサネット実装がサポートする必要がある標準であるため、これは通常、すべてのインターフェイスでデフォルトとして設定されているものです。


IEEEで定義されたmaxValidFrameをGoogleで検索する必要があります。その結果、今日で共通している9キロバイトのジャンボフレームの実装は、イーサネットと正式に準拠していないが、彼らは、イーサネットIIペイロードのために非常にうまく機能
マイク・ペニントン

厳密に言えば、802.3準拠ではありません。ただし、IPはEthernet v2を使用しているため、802.3についても考えない傾向があります

5
Jumbosは、802.3xが承認された後、Ethernet IIまたは802.3に準拠していません。802.3x節4.2.7.1は、1500BのペイロードでmaxValidFrameを定義しています。したがって、1997年以降、1500バイトを超えるペイロードは準拠していません。IEEE 802.3議長がこの問題に関してIETFに送っ手紙を見てください。要するに、802.3はフレーム標準以上のものです...それはフレーミングとハードウェア要件の両方を定義します。これは、ハードウェアの実装がフレーム形式への準拠に依存することを意味します。CSMA-CD付きの半二重には、1500B未満のペイロードが必要です。
マイクペニントン

-1

最小イーサネットフレームは、イーサネットスロット時間に基づいています。これは、10Mイーサネットの場合、512ビット長(64バイト)です。イーサネットヘッダーとCRCの18バイトを減算すると、46バイトのペイロードが得られます。

CSMA / CDが正しく機能するように、イーサネットスロット時間が指定されました。最小フレームサイズが可能な限り長いケーブル長を超えないようにする必要があります。確定的な衝突検出ができなかった場合は不可能です。ケーブルの最大長で衝突を検出した後、送信者に戻るには衝突検出信号が必要です。


3
最小イーサネットフレームサイズを決定するメカニズムが、現在の最大1500バイトの事実上の標準とどのように関係しているかを理解するのに苦労しています。詳しく説明してください!
-Stuggi

2
@Stuggiありません。
ケンシャープ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.