標(biāo)題: 在傳統(tǒng)以太網(wǎng)中,為什么要有最小幀長度和最大幀長度的限制? [打印本頁]

作者: 51黑tt    時間: 2016-3-5 20:15
標(biāo)題: 在傳統(tǒng)以太網(wǎng)中,為什么要有最小幀長度和最大幀長度的限制?
以太網(wǎng)(IEEE 802.3)幀格式:
1、前導(dǎo)碼:7字節(jié)0x55,一串10間隔,用于信號同步
2、幀起始定界符:1字節(jié)0xD5(10101011),表示一幀開始
3、DA(目的MAC)6字節(jié)
4、SA(MAC)6字節(jié)
5、類型/長度:2字節(jié),01500保留為長度域值,153665535保留為類型域值(0x06000xFFFF)
6、數(shù)據(jù):461500字節(jié)
7、幀校驗序列(FCS)4字節(jié),使用CRC計算從目的MAC到數(shù)據(jù)域這部分內(nèi)容而得到的校驗和。
以CSMA/CD作為MAC算法的一類LAN稱為以太網(wǎng)。CSMA/CD沖突避免的方法:先聽后發(fā)、邊聽邊發(fā)、隨機延遲后重發(fā)。一旦發(fā)生沖突,必須讓每臺主機都能檢測到。關(guān)于最小發(fā)送間隙和最小幀長的規(guī)定也是為了避免沖突。
考慮如下的情況,主機發(fā)送的幀很小,而兩臺沖突主機相距很遠(yuǎn)。在主機A發(fā)送的幀傳輸?shù)紹的前一刻,B開始發(fā)送幀。這樣,當(dāng)A的幀到達(dá)B時,B檢測到?jīng)_突,于是發(fā)送沖突信號。假如在B的沖突信號傳輸?shù)紸之前,A的幀已經(jīng)發(fā)送完畢,那么A將檢測不到?jīng)_突而誤認(rèn)為已發(fā)送成功。由于信號傳播是有時延的,因此檢測沖突也需要一定的時間。這也是為什么必須有個最小幀長的限制。
按照標(biāo)準(zhǔn),10Mbps以太網(wǎng)采用中繼器時,連接的最大長度是2500米,最多經(jīng)過4個中繼器,因此規(guī)定對10Mbps以太網(wǎng)一幀的最小發(fā)送時間為51.2微秒。這段時間所能傳輸?shù)臄?shù)據(jù)為512位,因此也稱該時間為512位時。這個時間定義為以太網(wǎng)時隙,或沖突時槽。512位=64字節(jié),這就是以太網(wǎng)幀最小64字節(jié)的原因。
512位時是主機捕獲信道的時間。如果某主機發(fā)送一個幀的64字節(jié)仍無沖突,以后也就不會再發(fā)生沖突了,稱此主機捕獲了信道。
由于信道是所有主機共享的,如果數(shù)據(jù)幀太長就會出現(xiàn)有的主機長時間不能發(fā)送數(shù)據(jù),而且有的發(fā)送數(shù)據(jù)可能超出接收端的緩沖區(qū)大小,造成緩沖溢出。為避免單一主機占用信道時間過長,規(guī)定了以太網(wǎng)幀的最大幀長為1500。
100Mbps以太網(wǎng)的時隙仍為512位時,以太網(wǎng)規(guī)定一幀的最小發(fā)送時間必須為5.12μs。
1000Mbps以太網(wǎng)的時隙增至512字節(jié),即4096位時,4.096μs。






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1