乙太網為什麼要限制最小幀長?

2021-07-08 18:14:41 字數 1304 閱讀 8766

乙太網中傳輸的資料幀的長度並不是乙個常數,而是乙個範圍內的,乙太網幀長度最大限制(mtu)是1518位元組,最小長度是64位元組。限制幀的最大長度是為了避免一台裝置長時間占用通道,所以在傳輸過程中一定要有機制強制乙個裝置停止傳輸,讓出通道的使用。那麼為何要限制最小的幀長度呢?乙個過小的資料會讓乙太網不能正常工作嗎?

首先,這是乙個歷史問題,今天確實沒有必要限制最小幀長了。早期的乙太網使用匯流排拓撲,網路中多台裝置共享乙個物理通道。這樣就導致了多台裝置同時傳送訊號的時候會發生碰撞,導致多台裝置傳輸失敗。然而,經過長時間的演進,特別是交換機的出現,讓乙太網成為了乙個星型拓撲、全雙工獨享鏈路的網路。我們使用的網線中有8根銅線,其中使用了4根,備用4根。收發採用的電平訊號在兩根銅線中傳播。收發電路分離的方法使得全雙工成為可能。

現在開始回答這個歷史上的問題。過短的資料幀確實會帶來問題。原因在於電訊號是非常快的,過短的幀會導致幀傳輸時間非常小。以至於在乙個區域網的物理環境中,想要給遠一點的裝置傳資料幀的時候。幀在發完之後還有裝置沒有探測到這個幀,於是也開始使用通道。這是就會發生碰撞。並且,幀的發出者並不知道幀發生了碰撞。因為乙太網沒有提供可靠傳輸的機制,幀的發出者在傳送完幀後認為幀傳輸完成,不會再傳送這一幀。

解決這個問題就需要讓發出者傳送乙個幀的時間不要太短。這個時間需要考慮最壞的情況。考慮網路中物理距離最遠的兩台裝置,他們中乙個發訊號,另外乙個是最晚得知這個訊號的。因此幀傳輸時間至少要保證幀能傳到最遠的裝置。這個時間是物理距離限制除以光速。如果乙太網提公升頻寬,但是又要保證最小幀長度不變,就不得不犧牲線路的傳輸距離。因為頻寬提高時,傳送相同長度的資料幀的時間會縮短。我們又必須保證在這個時間內讓網路內所有裝置都能接受到這個訊號。這就解釋了為什麼乙太網頻寬越來越大,但是最長傳輸距離卻越來越小。

僅僅讓最遠端的裝置受到幀的傳輸時間能保證幀傳送完之後不再發生碰撞嗎?很可惜,這段時間還不夠。再考慮乙個最壞的情況,幀在最遠點發生了碰撞,但是發出者必須要等待和第一次傳輸相同的時間才能發現碰撞的產生。因此,最小傳輸時間必須保證讓最遠端的裝置收到訊號,並且讓訊號發出者收到最遠端是否發生了碰撞。這兩個情景的最快情況決定了最小傳輸時間是網路最長距離的兩倍處理除以光速。

對於早期的乙太網,傳輸頻寬是10mbps,最小幀是64bytes。傳送完最小幀的時間是:tm

in=64

×8bi

t10×10

6=51.2μs

最長傳播距離是:di

sten

ce=1

2tmi

n×0.7c

=5736m

因此,csma/cd要求10m乙太網的最大物理距離是5736公尺,超過這個距離,就會使得csma/cd出現錯誤。

這個距離超出了電訊號衰減的距離。

乙太網 突破最大幀長 乙太網幀最小幀長與最大幀長

討論乙太網的幀長,就不得不先提一下乙太網的大名鼎鼎的csma cd協議。1.1 csma cd協議 csma cd是英文carrier sense multiple access collision detected 的縮寫,可把它翻成 載波監聽多路訪問 衝突檢測 或 帶有衝突檢測的載波偵聽多路訪問...

乙太網幀最小幀長與最大幀長

討論乙太網的幀長,就不得不先提一下乙太網的大名鼎鼎的csma cd協議。1.1 csma cd協議 csma cd是英文carrier sense multiple access collision detected 的縮寫,可把它翻成 載波監聽多路訪問 衝突檢測 或 帶有衝突檢測的載波偵聽多路訪問...

乙太網資料幀最短幀長問題

1.乙太網幀的最短長度為64位元組,或者幀中的資料不得少於46個位元組,其中乙太網幀頭有18位元組 乙太網2的值為 mac 2型別 4crc,注意,如果是802.3的規範,它支援snap和802.3以太,其中的2個位元組的型別欄位就變為幀的長度 小於以上長度的幀或資料需要在幀中加入 填充資料 pad...