在傳統以太網中,爲什麼要有最小幀長度和最大幀長度的限制?

在傳統以太網中,爲什麼要有最小幀長度和最大幀長度的限制?

以太網(IEEE 802.3)幀格式:

1、前導碼:7字節0x55,一串10間隔,用於信號同步

2、幀起始定界符:1字節0xD5(10101011),表示一幀開始

3DA(目的MAC)6字節

4SA(MAC)6字節

5、類型/長度:2字節,01500保留爲長度域值,153665535保留爲類型域值(0x06000xFFFF)

6、數據:461500字節

7、幀校驗序列(FCS)4字節,使用CRC計算從目的MAC到數據域這部分內容而得到的校驗和

CSMA/CD作爲MAC算法的一類LAN稱爲以太網。CSMA/CD衝突避免的方法:先聽後發、邊聽邊發、隨機延遲後重發。一旦發生衝突,必須讓每臺主機都能檢測到。關於最小發送間隙和最小幀長的規定也是爲了避免衝突。

考慮如下的情況,主機發送的幀很小,而兩臺衝突主機相距很遠。在主機A發送的幀傳輸到B的前一刻,B開始發送幀。這樣,當A的幀到達B時,B檢測到衝突,於是發送衝突信號。假如在B的衝突信號傳輸到A之前,A的幀已經發送完畢,那麼A將檢測不到衝突而誤認爲已發送成功。由於信號傳播是有時延的,因此檢測衝突也需要一定的時間。這也是爲什麼必須有個最小幀長的限制。

按照標準,10Mbps以太網採用中繼器時,連接的最大長度是2500,最多經過4箇中繼器,因此規定對10Mbps以太網一幀的最小發送時間爲51.2微秒。這段時間所能傳輸的數據爲512位,因此也稱該時間爲512位時。這個時間定義爲以太網時隙,或衝突時槽。512位=64字節,這就是以太網幀最小64字節的原因。

512位時是主機捕獲信道的時間。如果某主機發送一個幀的64字節仍無衝突,以後也就不會再發生衝突了,稱此主機捕獲了信道。

由於信道是所有主機共享的,如果數據幀太長就會出現有的主機長時間不能發送數據,而且有的發送數據可能超出接收端的緩衝區大小,造成緩衝溢出。爲避免單一主機佔用信道時間過長,規定了以太網幀的最大幀長爲1500

100Mbps以太網的時隙仍爲512位時,以太網規定一幀的最小發送時間必須爲5.12μs

1000Mbps以太網的時隙增至512字節,即4096位時,4.096μs

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章