電腦網路與連結技術:第九章 Gigabit Ethernet 網路連結  上一頁           下一頁

 

翻轉工作室:粘添壽

 

9-4  Gigabit Ethernet 訊框傳輸週期

 

Gigabit Ethernet 網路有一個重要的目標就是必須和現有的 Ethernet 標準(10 Mbps Ethernet, 100 Mbps Ethernet)相容,才能建構於同一網路上。也就是說,它們之間所傳送的訊框也必須符合 CSMA/CD 標準格式。因此,Gigabit Ethernet 沒有變更 Ethernet 協定中最短訊框(64 位元組)及最長訊框(1518 位元組)的限制,甚至連發生碰撞的延遲時間計算方式(二元指數後退演算法)也沒有改變。讓我們回顧一下,最小訊框計算方式:

最小訊框 = 時槽時間(51.2 us)× 傳輸速率(10 Mbps, 100 Mbps, 1000Mbps

如果我們將傳輸速率提高到 1000 Mbps,同時還要保留最小訊框長度(64 位元組),唯一的方法就是減低時槽時間(小於 51.2 us)。一個時槽時間就是來回傳遞延遲時間(round-trip propagation delay),亦是,訊號在最遠距離兩端來回的時間;如要減低訊號來回時間,只好縮短網路的距離。如依照 Fast Ethernet 的技術而將速率提高到 1000 Mbps,網路距離將由 205 公尺縮短到 25 公尺,如此Gigabit Ethernet 網路將出不了機房。所以我們的思考範圍不能侷限於縮短網路範圍,更非僅思考提高傳輸媒介的品質(100BaseTx)或數量(100BaseT4)便可達成;然而最小訊框的限制最主要目的是為了讓傳送端有足夠的時間來作碰撞偵測。另一種想法是在不改變最小訊框的前提之下,加長訊框停留在傳輸媒體上的時間,也就是說,在最小訊框的後面增加載波延伸(Carrier Extension),以維持碰撞偵測的功能。如此便能保留 205 公尺的網路距離,還能將傳輸速率提高到 1000 Mbps。此時 IEEE 802.3z Gigabit Ethernet 標準將時槽時間由原來的 512 位元(64 位元組)時間增加8 倍到 4096 位元(512 位元組)時間。

 

9-4-1 載延伸週期

 

在『載波延伸』(Carrier Extension)的技術下,最短訊框的長度仍然為 64 位元組(與 10/100 Mbps Ethernet 相同)。但每次成功傳送所需的載波感測最短時間增加為 512 位元組時間,依照傳送訊框的長短,有兩種不同的傳輸方式:

(1) 傳送訊框長度高於 512 位元組時:其工作並沒有變更,傳送端將訊框發送出去後,未感測到碰撞發生,即表示發送正常。

(2) 傳送訊框長度低於 512 位元組時:表示傳送訊框時間低於一個時槽時間(512 位元組時間)。傳送端發送完訊框後,在訊框的 FCS 欄位之後增加載波延伸訊號。載波延伸訊號的長度以補滿一個時槽時間為準,如圖 9-2 所示。如果在傳送過程之中發現碰撞,不論是發生在傳送訊框本身或載波延伸部份,則立刻停止發送,並送出一個 32 位元長度的擾亂訊號(Jam Signal)。

9-2 含延伸載波之訊框傳輸週期

 

在接收端部分也必須特別的處理,我們希望如果碰撞發生在載波延伸部分,接收端也會將該訊框丟棄。事實上,接收端很難區分擾亂訊號和一般數據訊號。如果碰撞發生在載波延伸部分,接收端可能已經完整的收到該筆資料,而且經過錯誤檢查並傳送給上一層 LLC。這時候它才收到擾亂訊號,又無法辨識擾亂訊號或一般數據訊號,接收端將不知道傳送端已發生碰撞而應拋棄該訊框。在這種情況下,傳送端認為碰撞而重送,接收端卻認為接收成功,造成訊框重覆問題。

為了克服碰撞發生在載波延伸部分的問題,接收端必須作稍微的修改。傳送端在發送載波延伸訊號時偵測出發送碰撞,它必定停止發送載波延伸訊號,而改發送擾亂訊號。這樣的話,整個訊框時間將少於一個時槽時間(512 位元組時間),接收端就利用這個因素來判斷該訊框是否有發生碰撞。因此,在接收端部份,當它偵測出前置訊號(Preamble)和訊框起始符號(SFD)便開始計數(設定延伸旗標)。將包含資料訊框和載波延伸訊號累加器來,如果少於一個時槽時間就停止,便判斷傳送端因碰撞而停止發送。相反的,如果累加時間超過一個時槽時間,就判斷訊框傳送正常(其中可能沒有載波延伸訊號)。

 

9-4-2 訊框爆發週期

 

從另外一個角度來看,雖然我們只要稍微修改 CSMA/CD 通訊協定,就能增加時槽時間而不必變更最小訊框的限制。但如果我們連續傳送最小訊框(或較短訊框)時,會發現整個網路傳輸絕大部分都在傳送載波延伸訊號。雖然我們將傳輸速率提高十倍(100 Mbps 1000 Mbps),但整個傳輸效率並沒有增加。因為每傳送一筆最小訊框竟然花費 8 倍的訊框時間。我們有一個簡單的構想,就是將一些較短的訊框(也許大於最小訊框)組合成一個較大的訊框再來傳送,這可提高網路的傳輸效率,但如此更改所影響的層面非常大。首先,影響網路傳送即時性的問題,當MAC 層收到一個訊框後必須即時送給 LLC 層,如要傳送多筆訊框給 LLC 層,則 LLC 層的通訊協定也必須修改;再者,封裝後的訊框如要轉送到較低速率(10/100 Mbps)區段,可能需要重新拆裝組合,所有路由器或橋接器必須重新更改。由以上觀察,重整訊框來提高傳輸效率所發生的困難重重而不可行。

IEEE 802.3z 也期望訊框傳輸中能具有水管式(pipelining)傳輸技術,能在一個時槽時間內傳送若干個較短訊框,同時又能保持 MAC 層的一次『傳送/接收』一筆訊框的功能。因此,提出一種稱為『訊框爆發』(Frame Bursting的技術。訊框爆發技術也和訊框打包一樣,允許在一個訊爆(burst)週期中傳送多筆訊框,訊框之間則以延伸載波來區分。

但是訊爆的最大長度還是以訊框最大長度(1518 位元組)為基準,而不是以時槽時間(512 位元組)為基準。所以訊爆的概念是採用最長訊框,希望訊框傳送都採用最長訊框來提高網路的傳輸效率。而且最長訊框也是標準 Ethernet 協定所規範,對整個通訊協定來講變更可降到最小。

9-3 為一個訊爆週期的範例。每一個訊爆中的第一筆訊框的傳送時間至少必須等於一個時槽時間(512 Bytes),如果訊框過短,則以延伸載波加長之。此特性保證碰撞只會影響到訊爆的第一個訊框,因此傳送端和接收端都能保持一次『傳送/接收』一個訊框的特性。訊框爆發技術傳送訊框技術如下:(傳送端部分)

(1) 傳送訊框之前,傳送端首先檢查訊爆計時器是否已啟動。

(2) 在訊框傳送當中,傳送端繼續偵測是否發生碰撞,如發生碰撞時,便將訊爆計時器關閉並歸零,並停止傳送(送出擾亂訊號)回到1.。否則緊接著3.

(3) 傳送完第一個訊框後,並且繼續擁有線路使用權。此時檢查訊爆計時器是否溢時。

(4) 此時表示已送完 96 位元訊框間隔的延伸載波,如還有訊框要傳送就繼續傳送;否則就清除及關閉計時器,等待下一個傳送。

 

9-3 訊爆週期範例

 

由上述可以看出一個訊框要傳送之前,必須先偵測是否在訊爆週期內,但傳送之後,該訊框結束時,可能已超出訊爆週期時間,而且這種情況是被允許的。早期在 IEEE 802.3z 的草案中,將一個訊爆週期最大長度設為 12000 位元時間。此值剛好比因公平考量而制定的最大訊框長度1518 位元組(12144 位元)稍小。因此,對於一個訊爆週期中所包含的訊框來說,無論其長度如何組合,工作站每次傳送訊爆的長度至少可以等於一個最大訊框長度,最多也不會超過兩個最大訊框。不過,進一步的研究卻發現增加訊框上限能明顯改善效能。因此 IEEE 802.3z 1997 年將訊爆週期上限提升到 65536 位元時間。

將訊框爆發技術加到 CSMA/CD 通訊協定時,接收端也必須作部份修改:

(1) 當接收端依照 CSMA/CD 通訊協定的程序接收到第一筆訊框時(還未知是否是訊爆訊框),也就是說,它偵測到前置訊號(Preamble)和訊框起始符號後,便啟動延伸旗標(Extending Flag)並接收訊號直到載波結束。在這段期間內計數訊框長度加延伸載波長度是否大於或等於一個時槽時間(512 位元組)。如果是,則清除延伸旗標再進入(2).;否則,直接進入(2).

(2) 此時接收端已收到一個訊框,再觀察延伸旗標是否被清除。如未清除,表示傳送端在發送訊框時發生碰撞而停止,此時接收端將該訊框丟棄,並清除延伸旗標回到載波偵測,預備再重新接收訊框;否則,表示傳送端在發送訊框時沒有發生碰撞,並且將該訊框傳送給上一層,直接進入(3)

(3) 接收端繼續偵測載波,其情況有三種:(1) 載波停止傳送,表示傳送端不再傳送訊框(不是訊爆傳送),則回到預備接收訊號狀態。(2) 偵測到訊框間隔(96 位元)之後,也沒有載波繼續傳送,表示傳送端欲結束該訊爆,不再傳送訊框,則回到預備接收訊號狀態。(3) 訊框間隔之後,偵測到另一個訊框(由前置訊號和訊框起始符號),便依照正常接收訊框程序接收訊號,如發生碰撞則停止,否則回到(2).繼續下一個訊框接收。