乙太網是不可靠的,這意味著它並不知道對方有沒有收到自己發出的資料報,但如果他發出的資料報發生錯誤,他會進行重傳。乙太網的錯誤主要是發生碰撞,碰撞是指兩台機器同時監聽到網路是空閒的,同時傳送資料,就會發生碰撞,碰撞對於乙太網來說是正常的。
我們來看一下,假設a檢測到網路是空閒的,開始發資料報,盡力傳輸,當資料報還沒有到達b時,b也監測到網路是空閒的,開始發資料報,這時就會發生碰撞,b首先發現發生碰撞,開始傳送碰撞訊號,所謂碰撞訊號,就是連續的01010101或者10101010,十六進製制就是55或aa。這個碰撞訊號會返回到a,如果碰撞訊號到達a時,a還沒有發完這個資料報,a就知道這個資料報發生了錯誤,就會重傳這個資料報。但如果碰撞訊號會返回到a時,資料報已經發完,則a不會重傳這個資料報。
我們先看一下,乙太網為什麼要設計這樣的重傳機制。首先,乙太網不想採用連線機制,因為會降低效率,但他又想有一定的重傳機制,因為乙太網的重傳是微秒級,而傳輸層的重傳,如tcp的重傳達到毫秒級,應用層的重傳更達到秒級,我們可以看到越底層的重傳,速度越快,所以對於乙太網錯誤,乙太網必須有重傳機制。
要保證乙太網的重傳,必須保證a收到碰撞訊號的時候,資料報沒有傳完,要實現這一要求,a和b之間的距離很關鍵,也就是說訊號在a和b之間傳輸的來回時間必須控制在一定範圍之內。ieee定義了這個標準,乙個碰撞域內,最遠的兩台機器之間的round-trip time 要小於512bit time.(來回時間小於512位時,所謂位時就是傳輸乙個位元需要的時間)。這也是我們常說的乙個碰撞域的直徑。
512個位時,也就是64位元組的傳輸時間,如果乙太網資料報大於或等於64個位元組,就能保證碰撞訊號到達a的時候,資料報還沒有傳完。
這就是為什麼乙太網要最小64個位元組,同樣,在正常的情況下,碰撞訊號應該出現在64個位元組之內,這是正常的乙太網碰撞,如果碰撞訊號出現在64個位元組之後,叫 late collision。這是不正常的。
總結:最小資料幀的設計原因和乙太網電纜長度有關,為的是讓兩個相距最遠的站點能夠感知到雙方的資料發生了碰撞;最遠兩端資料的往返時間就是爭用期,乙太網的爭用期是51.2微妙,正好傳送64byte資料。
注:為什麼乙太網的爭用期是51.2us?
在極限條件下,乙個區域網中兩個收發器間(允許接4個中繼器)的最大距離為2500m,往返5000m,同軸電纜的時延特性為5us/km,即如遇衝突,端到端往返時延為25us。然而這是理想的時延,考慮到中繼器的額外時延,最壞情況下取估計時延為45us,再加上強化衝突需傳送48bit,接受方要接受到48bit後才確認衝突,即在增加4.8us,共49.8us,所以通常乙太網取51.2us為爭用期的時間長度(傳輸512bit,即64位元組時間),即幀的長度至少為64位元組。
為什麼乙太網資料幀最小為64位元組
如果把 乙太網 比作是一棟 房子 這棟房子可以算得上是人類構建的非常了不起的 建築 了,乙太網設計人員制定了一系列的標 準,這些看似有意義似乎又沒有意義的數字 標準構成了乙太網的磚瓦基石,今天我們來看一塊位於這棟 房子 底層的 磚基 乙太網最小幀長為什麼是64 位元組。首先我們先來看一下乙太網資料幀...
為什麼乙太網最小幀是64位元組
理解csma cd,主要有三個方面 1 多點接入 2 載波監聽 3 碰撞檢測。這裡值得一提的是,csma cd 使用場景是在乙個站不能同時傳送資料和接收資料,即適用場景為 半雙工通訊。多點接入 就是說這是匯流排型網路,許多計算機接在匯流排上。載波監聽 傳送前先監聽。就是每個計算機在傳送資料前,先要檢...
為什麼傳統乙太網最小幀長度是64位元組
這裡說的傳統乙太網是指10mbit s乙太網.下面簡述下乙太網工作原理 乙太網中各工作站 計算機 的工作方式與計算機系統中的匯流排類似,各工作站共享匯流排。假設匯流排上a傳送資料到b,則連線到匯流排上的工作站都會收到a的資料,然後通過匹配幀中的目的位址來判斷是不是傳送給自己的資料,如果是傳送給自己的...