APNIC文摘 — 以太網路50歲生日快樂(中)

本APNIC文摘原標題為Happy 50th birthday, Ethernet,由Geoff Huston撰文。

上篇Huston指出乙太網路的原始設計集簡單、原創及天才之大成,並說明乙太網路如何在缺乏中央報時功能下仍順利運轉。本篇將繼續盤點乙太網路巧妙的設計功能,理解其歷經50年仍屹立不搖的原因。

任何大小都可以?

圖 1 乙太網路框架

乙太網路容許的單一訊框負載為46到1,500位元(如上圖)。IPv4 TCP/IP容許的最小封包是40位元,可以輕易通過此訊框。1,500位元的訊框則會附加24位元的額外負擔。即使在9.6微秒的框架間隔下,最大乙太網路封包的媒體額外負擔仍是非常合理的2.3%。媒體層的傳輸效率因此可達到最高,大小封包的傳輸都可免於過度的額外負擔或疊加負載。

但如此對封包大小的寬容,犧牲的是傳輸速率的穩定。在容許不同尺寸的單一管道媒介中,小封包的傳輸必須等大封包傳輸結束才能開始。然而,乙太網路中沒有排程機制,所以一旦無法立即傳輸,就必須面對未知的等待時間。

權衡資料時程和網路運用之下,乙太網路選擇了效率最大化,而非為了資料時程規定傳輸速度和通量。現在看來,這是明智的決定。

乙太網路演算法和最小封包尺寸之間的關係設計也很巧妙。乙太網路希望維持「單一傳輸器一定永遠知道另一傳輸器處於啟動狀態」。如此一來,封包必須大到前端可以衍生至乙太本地區域網路(Local Area Networks,LAN)的另一端,與對向的碰撞也必須在傳輸結束前回溯至原始傳輸器。

這表示LAN的端對端長度至少要是訊框的一半,若訊框縮小,LAN長度就必須隨之縮短。若增加LAN的實際長度,雖能擴大訊框尺寸,但負載效率也將因此降低。

乙太網路的CSMA/CD設計

「載波檢測多重存取/碰撞偵測」(Carrier Sense Multiple Access with Collision Detection,CSMA/CD)是另一個乙太網路的巧妙功能。傳輸器等共享匯流排系統線路上任何正在進行的任何活動停止後,會再等9.6微秒(10Mbps下的96位元)後才以64位元的前置訊號打頭陣開始傳輸。而在傳輸訊框的同時,傳輸器會監控媒介,確保沒有其他傳輸同時進行。

若傳輸器發現有其他傳輸正在進行中(碰撞),傳輸器會在接續32位元時間內發送「干擾」(jam)信號、放棄傳輸,退回等待一段時間後再重新開始傳輸。此等待時間是以51.2微秒,也就是傳輸64位元(最小乙太網路封包)所需的時間為回合計算。

第一次碰撞後傳輸器會等待1回合,第二次碰撞後等待0到3回合,若持續無法傳輸16次,則整個訊框會被捨棄,並經由媒體存取控制(Media Access Control,MAC)回報錯誤訊息。通常一個訊框被成功送出前須等待的最長時間,不會超過半秒。

換句話說,雖然乙太網路沒有排程機制,無法確知等待傳輸的時長,但它的演算法仍確保公平:所有傳輸器均享有最終傳出封包的機會。乙太網路內仰賴中央控制、沒有單點失效,是真正「平等參與」的對等網路。

獨一無二的MAC位址

乙太網路的另一個創新是客戶端位址。當時網路普遍使用短(通常只有8位元)位址欄位,然後命令LAN管理者將所有連網裝置設定為下一個可用位址。這個技巧避免位址佔掉封包太多空間,藉此提升負載。

乙太網路完全不同,使用48位元的位址欄位。所有製造商都分配到一組號碼,並在這之後加上一組本地專屬後綴,因此所有乙太網路裝置都有自己專屬的MAC位址。

這表示消費者在購入乙太網路裝置後,只要插上網路線就可使用,完全不必擔心本地位址衝突的問題。這不僅大幅簡化有限網路的設置難度,在其他更彈性的連線情境,如無線801.11 Wi-Fi 網路中,也顯得更加有用。

本文內容純屬筆者個人意見,並不代表TWNIC立場

*台灣網路資訊中心(TWNIC)與亞太網路資訊中心(APNIC)合作,定期精選APNIC Blog文章翻譯摘要,提供中心部落格讀者了解目前亞太地區網路發展之最新趨勢。原文標題為Happy 50th birthday, Ethernet

圖片來源: APNIC Blog

Scroll to Top