2010-08-05 23 views
12

以太網II幀格式不包含長度字段,我想了解如何在沒有它的情況下檢測到幀的結束。如何確定以太網II幀的長度?

不幸的是,我不知道物理,但下面這些對我來說聽起來很合理:我們假設第1層(物理層)爲我們提供了一種傳輸原始位的方式,以便可以區分比特被髮送的情況以及沒有任何信息被髮送的情況(如果數字數據通過相位調製被編碼成模擬信號,例如這是真的 - 但我不知道這是否真的是這樣做的)。在這種情況下,以太網卡可能會等待,直到出現一定的時間間隔,而不再發送位,然後確定幀傳輸已完成。

這是真的發生了什麼事?

如果是:我在哪裏可以找到這些東西,以及「特定時間間隔」長度的常見值是什麼?爲什麼確實 IEEE 802.3有長度字段?

如果不是:它是怎麼做的呢?

謝謝你的幫助!

Hanno

+0

你讀過維基百科的文章了嗎?它似乎回答你的問題。 http://en.wikipedia.org/wiki/Ethernet_II_framing – 2010-08-05 16:45:41

回答

13

你的假設是對的。 layer1內部的長度字段不需要。

Layer1使用其他方法來檢測幀的結束,這取決於物理層的類型。

  • 帶有10Base-T後面跟着一個TP_IDL波形。可以檢測到缺少進一步的曼徹斯特編碼數據位。
  • 具有100Base-T幀結束於可能不發生在有效載荷數據中(因爲其4B/5B編碼)的流分隔符結束位模式。

粗略的描述,你可以找到例如這裏: http://ww1.microchip.com/downloads/en/AppNotes/01120a.pdf「以太網操作原理」