乙太網路資料幀(802.3)最大與最小長度

來源:互聯網
上載者:User

標籤:檢測   驅動   ieee   框架格式   tcp   進一步   應該   crc   情況   

乙太網路資料幀(802.3)最大與最小長度
2017年03月20日 19:40:01 Farmwang 閱讀數:5370更多
個人分類: TCP/IP
乙太網路(IEEE 802.3)框架格式:

1、前置碼:7位元組0x55,一串1、0間隔,用於訊號同步
2、幀起始定界符:1位元組0xD5(10101011),表示一幀開始
3、DA(目的MAC):6位元組
4、SA(源MAC):6位元組
5、類型/長度:2位元組,0~1500保留為長度域值,1536~65535保留為類型域值(0x0600~0xFFFF)
6、資料:46~1500位元組
7、幀校正序列(FCS):4位元組,使用CRC計算從目的MAC到資料域這部分內容而得到的校正和。

據RFC894的說明,乙太網路封裝IP資料包的最大長度是1500位元組,也就是說乙太網路最大幀長應該是乙太網路首部加上1500,再加上7位元組的前置同步碼和1位元組的幀開始定界符,具體就是:7位元組前置同步嗎+1位元組幀開始定界符+6位元組的目的MAC+6位元組的源MAC+2位元組的框架類型+1500+4位元組的FCS。

按照上述,最大幀應該是1526位元組,但是實際上我們抓包得到的最大幀是1514位元組,為什麼不是1526位元組呢?原因是當資料幀到達網卡時,在物理層上網卡要先去掉前置同步碼和幀開始定界符,然後對幀進行CRC檢驗,如果幀校正和錯,就丟棄此幀。如果校正和正確,就判斷幀的目的硬體地址是否符合自己的接收條件(目的地址是自己的物理硬體地址、廣播位址、可接收的多播硬體地址等),如果符合,就將幀交“裝置驅動程式”做進一步處理。這時我們的抓包軟體才能抓到資料,因此,抓包軟體抓到的是去掉前置同步碼、幀開始分界符、FCS之外的資料,其最大值是6+6+2+1500=1514。

乙太網路規定,乙太網路幀資料域部分最小為46位元組,也就是乙太網路幀最小是6+6+2+46+4=64。除去4個位元組的FCS,因此,抓包時就是60位元組。當資料欄位的長度小於46位元組時,MAC子層就會在資料欄位的後面填充以滿足資料幀長不小於64位元組。由於填充資料是由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。

乙太網路資料幀(802.3)最大與最小長度

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.