異なるイーサネットフレームの検出


12

イーサネットプロトコルで異なるパケットを区別する方法はありますか?高レベルのプロトコルが使用するため、「長さ」フィールド/エリアはありません。

このプロトコルには物理的スコープと論理的スコープの両方で処理があるため、区別も分離されていると思います。

「EtherType」プロトコルフィールドを使用して論理的な分離が実行されていますか?(つまり、ヘッダーに長さフィールドがある上位レベルのプロトコルのタイプを使用してパケット長を取得します)。

物理的な区別は単に電気信号の非送信ですか?(私の知る限り、高/低電気信号は0/1ビットを表します)。

回答:


14

yttiは答えましたが、興味があるかもしれない関連する詳細がいくつかあります...

イーサネットプロトコルで異なるパケットを区別する方法はありますか?高レベルのプロトコルが使用するため、「長さ」フィールド/エリアはありません。

実際には、イーサネットには複数のカプセル化があります。

  • イーサネットII([RFC 894]で指定されているように、IPで一般的に使用されるのが最も一般的なカプセル化です):長さフィールドはありませんが、代わりにタイプフィールドが使用されます...
       +----+----+------+------+-----+
       | 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)
  • 802.2 LLCイーサネット:長さフィールドがあります
       +----+----+------+------+------+------+-----+
       | DA | SA | Len  | LLC  | SNAP | 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)  <---
       LLC     802.2 LLC Header        (3 bytes)
       SNAP                            (5 bytes)
       Data    Protocol Data           (46 - 1492 bytes)
       FCS     Frame Checksum          (4 bytes)

802.2の長さフィールドの存在に関係なく、96ビットのInterframe Gapを探すことで、ワイヤ上のイーサネットフレームの終わりを常に検出できます。

「EtherType」プロトコルフィールドを使用して論理的な分離が実行されていますか?(つまり、ヘッダーに長さフィールドがある上位レベルのプロトコルのタイプを使用してパケット長を取得します)。

論理的な分離とは、イーサネット内部で実行される異なるプロトコル間の分離を意味すると仮定します。これは、IPv4、IPv6、またはおそらくスパニングツリーフレームを区別することです。

  • イーサネットIIは通常、Typeフィールドを使用します
  • 802.2 LLCイーサネットは通常、5バイトの802.2イーサネットSNAP拡張を使用します。802.2 DSAP / SSAPバイトが0xAAAAの場合、プロトコルはSNAP拡張でのみデコードされます。

物理的な区別は単に電気信号の非送信ですか?(私の知る限り、高/低電気信号は0/1ビットを表します)

簡単に言えば、はい、イーサネットフレーム間には96ビットのギャップがあります。ただし、イーサネットは8b / 10bエンコード(FastEthernet)および64b / 66bエンコード(GigabitEthernet)を使用するため、8b / 10bには「電気信号の非送信」と言うのは技術的に正しくありません。サイレント」状態。


好奇心のために、私は元のイーサネットバージョン2仕様にもリンクしています


7

イーサネットには、開始時にプリアンブルと開始フレームの区切り記号があり、終了時に「IFG」またはフレーム間ギャップがあります。これらは、フレームの開始と終了を決定するために使用されます。


それは物理的または論理的範囲の分離ですか?ただし、プロトコルのデータフィールドに、開始/終了デリミタと同じ情報/文字/信号が含まれる場合はどうなりますか?
リフレクション

1
ギャップはまさに文字通りそれであり、ペイロードでギャップを見つけるリスクはありません。ただし、他のいくつかの非イーサネットコンテキストではこれは心配であり、一部のシンボルがデータのエンコードに使用されないことを確認することで修正できますが、シグナリングのみに使用すると、「有用でない」シンボルを無駄にする効率が低下しますデータ。
-ytti
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.