以太網幀長度 64 octet

ZZ

1.碰撞槽時間

假設公共總線媒體長度爲S,幀在媒體上的傳播速度爲0.7C(光速),網絡的傳輸率爲R(bps),幀長爲L(bps),tPHY爲某站的物理層時延(這個時間要怎麼確定?);
則有:
碰撞槽時間=2S/0.7C+2tPHY
因爲Lmin/R=碰撞槽時間
所以:Lmin =(2S/0.7C+2tPHY )×R
Lmin 稱爲最小幀長度。
碰撞槽時間在以太網中是一個極爲重要的參數,有如下特點:
(1)它是檢測一次碰撞所需的最長時間。
(2)要求幀長度有個下限。(即最短幀長)
(3)產生碰撞,就會出現幀碎片。
(4)如發生碰撞,要等待一定的時間。t=rT。(T爲碰撞槽時間)

2.下面我們來估計在最壞情況下,檢測到衝突所需的時間
(1)A和B是網上相距最遠的兩個主機,設信號在A和B之間傳播時延爲τ,假定A在t時刻開始發送一幀,則這個幀在t+τ時刻到達B,若B在t+τ-ε時刻開始發送一幀,則B在t+τ時就會檢測到衝突,併發出阻塞信號。
(2)阻塞信號將在t+2τ時到達A。所以A必須在t+2τ時仍在發送纔可以檢測到衝突,所以一幀的發送時間必須大於2τ。
(3)按照標準,10Mbps以太網採用中繼器時,連接最大長度爲2500米,最多經過4箇中繼器,因此規定對於10Mbps以太網規定一幀的最小發送時間必須爲51.2μs。
(3)51.2μs也就是512位數據在10Mbps以太網速率下的傳播時間,常稱爲512位時。這個時間定義爲以太網時隙。512位時=64字節,因此以太網幀的最小長度爲512位時=64字節。

3.以太網的幀頭開銷是18字節,可能是“目的MAC(6)+源MAC(6)+Type(2)+CRC(4)”至於IP最大傳輸單元1500,只是規定。

====================================================

最大1518應該有地方限制纔對,先記在這,找到原因再補上
 
以太網最小字節長度(64 bytes)
以太網爲什麼要有最小字節限制:以太網採用的是CSMA/CD方法在介質上傳輸數據,而CSMA/CD的特性要求有最小字節限制
CSMA/CD 爲什麼要有最小字節限制:在CSMA/CD網絡中,發送數據的一方在發送數據的同時會監聽網絡是否有碰撞。
一旦發送方發送完一個最後一個bit以後,仍然沒有檢測到碰撞,它就會認爲,這次傳輸已經成功

A----------------------c(衝突)------------------------------------B

如果發送方(A)傳輸的是一個非常小的幀的話,它發送完幀以後,認爲這次傳輸已經成功,並會在繼續監聽碰撞。
當數據在A與B之間進行傳輸時,B並沒有檢測到A發送幀的第一個bit,認爲線路是空閒的,所以B就會發送幀,這樣在線路上肯定會有碰撞。
碰撞發送以後,由於A不監聽碰撞,所以A也不會進行碰撞處理,不會再重傳幀,導致發出去的這個幀丟失,從而導致數據丟失
這就要求有最小的幀長限制

在IEEE802.3 Baseband 5-4-3中規定:在任意兩個節點之間,最大的physical segments爲5個,所以最多可以有4個repeaters在兩個節點之間。
這5個physical segments 之間, 只有三個可以連接節點,而其它的兩個只能被當作延長網絡之用
在使用10Base-5線纜的網絡中,每個physical segment 最長是500米,所以,每個Ethernet的最大長度是2500米

A------------Repeater1---------- Repeater2--------- Repeater3----------- Repeater4-----------B
|----------------------------------------------2500meter-------------------------------------|

最小時間要求:

A傳送幀的第一個bit到達B,B開始傳輸,產生碰撞,發出碰撞信號,碰撞信號要在A傳輸完最後一個bit時,能夠到達A,從而讓A感知到碰撞,從而重傳這個幀。
一個幀從A-B,B-A的這個時間被稱爲slot time,這個時間計算出來爲57.6 μs.

在10Mbit/s的網絡中,在57.6μs的時間內,能夠傳輸576個bit,所以要求以太網幀的大小最小爲576個bits,從而讓所有的碰撞都能夠被檢測到

以太網幀的構成:


Preamble
Start-of-
Frame-Delimiter
Destination MAC
Source MAC
Type
Payload
CRC
Interframe
Gap
7 bytes
10101010
1 bytes
10101011
6 bytes
6bytes
2 Bytes
46-1500
bytes
4 Bytes
12 bytes


在傳輸完一個數據幀以後,在傳輸下一個數據幀之前,要傳輸12bytes的空閒幀

12 bytes = 12×8 = 96 bits
在10Mbit/s的網絡中,傳輸1個bit 需要的時間爲 1×10-7s
所以Interframe Gap 的時間爲 96×10-7=9.6×10-6 s= 9.6μs
在一個數據幀發送完以後,要等待9.6μs的時間,然後再傳輸下一個數據幀

576bits= 72 bytes
通常情況下我們所說的以太網長度,不包括preamble和start of frame delimiter,所以以太網最小長度爲:72-8= 64 bytes
以太網的最大字節長度(1518/1522)
爲什麼在以太網中,三層的IP包長要規定爲64~1500 字節,都是二層的Ethernet特性來決定的:
最小包長由CSMA/CD的最小檢測碰撞時間來決定
最大包長沒有特別的規定,但是考慮到如下的因數,將IP最大包長設置爲1500 bytes:
1.       以太網是所有的終端共享傳輸介質,如果一臺終端發送一個很長的幀,傳輸時將佔用太多的時間,其它的終端將等待,直到這個幀傳輸完畢。幀越長,等待的時間將越長
2.       如果一個幀太長,如果在傳輸的過程中,發生一個傳輸錯誤,那麼整個幀要重傳,這樣又要佔有大量的時間,導致效率不高---—早期的以太網由於傳輸的錯誤率非常高
3.       幀越長,需要的緩存越大,1979年在設計網卡時,緩存的價格非常昂貴,所以當時選用1500 bytes作爲最大的長度。

標準的以太網的最大字節長度爲1518/1522:
untagged的frame最大幀長爲1518
tagged的frame 最大幀長爲1522
其它的長度都是設備廠商自己規定的:如Jumbo frame 等
MTU1.  MTU:Maximum Transmission Unit,設備發送數據時,任何比MTU大的數據包都會被分片,分片是在三層進行的,所以這裏所說的MTU,指的是三層報文的長度,不包括二層的信息-------指的是最大IP報文的長度
2.  標準的以太網上,MTU值爲1500bytes,不包括以太網頭和CRC(Cyclic Redundancy Check),總共18bytes
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章