TCP/IP 協定與 Internet 網路:第二章 雛形區域網路 - Ethernet  上一頁           下一頁

 

翻轉工作室:粘添壽

 

2-2 Ethernet 網路

        目前網路環境裡的區域網路大多是 Ethernet 網路,而 Ethernet 網路是 1972 年由Digital公司、Intel公司和Xerox公司依照 CSMA/CD 協定標準所制定的。早期 Ethernet 網路製作簡單,連線也非常容易,因此漸漸被工業界喜愛,應用範圍也漸漸擴大。所以目前講區域網路主要以 Ethernet 為標準。但 CSMA/CD 協定也有致命的缺點,就是頻寬分配不均、易發生碰撞的現象而影響傳輸效率。但目前新的技術足以克服,使效率和速率較原來標準完善。我們以 Ethernet 標準網路為基礎開始介紹,再進入 Fast Ethernet Gigabit Ethernet 網路。

2-2-1 Ethernet 網路簡介

        Ethernet 網路的基本結構為匯流排(Bus)架構,如圖 2-8 所示,基本特性如下:

2-8 CSMA/CD 網路基本架構圖

(1) Ethernet網路基本上為匯流排架構,傳輸媒介為同軸電纜(Coaxial Cable)。該傳輸媒介為網路上所有工作站之間通訊的橋樑,任何一部工作站欲傳送資料給其他工作站,必須將資料廣播到(Broadcasting)傳輸媒介上,而且所有工作站都要能收到網路上所廣播的訊息,如果有任何一部工作站無法接收到他人發送的訊息(也許網路太大),則表示網路不正常。

(2) 網路上同一時間只允許一部工作站發送訊號,如果有兩部以上同時發送訊號,則它們之間的訊號將會在網路上發生碰撞(Collision),造成錯誤訊息而失效(無法解碼)。發生碰撞時,所有傳送中的工作站必須停止傳送,另找適當時機再重新傳送。因此,每部工作站都必須具有偵測碰撞的功能。

(3) 同軸電纜上傳遞的訊號為電波方式。電波傳遞到纜線的端點會發生反射的現象,造成反射波和前進波混合,而發生訊號錯誤。為了讓網路不要發生反射波現象,我們必須在網路的兩個端點安裝『終端器』(Terminator,以便吸收前進波而使不致發生反射波的現象。

(4) 由上述情況可以看出,網路上任何一處斷線、接觸不良、或終端器脫漏將使整個網路癱瘓。

(5) 同軸電纜和工作站之間必須透過『收發器』(Transceiver『收發器電纜』(Transceiver Cable的連接。收發器是電流訊號和電波訊號之間的轉換,其功能是在同軸電纜上發送和接收訊號。收發器電纜是一般絞對線電纜,其傳遞電流訊號。

由以上的特性,我們將標準 Ethernet 網路的基本規格歸類如下:

(1) 傳輸速率:10Mbps(高速 Ethernet 可達 100 Mbps ~ 1 Gbps

(2) 訊框格式:IEEE 802.3 CSMA/CD格式 ,最大訊框為 1518 位元組,最小訊框為 64 位元組。

(3) 傳輸媒介: 50 歐姆之同軸電纜(Coaxial Cable)、無遮蔽式雙絞線(UTP)或光纖(Optical Fiber)。

(4) 網路拓樸圖:匯流排架構、廣播方式傳輸,最大網路範圍 2500 公尺。

(5) 不提供保證傳送延遲服務:CSMA/CD 協定為競爭式,沒有優先權傳輸服務。所以不保證工作站是否能在某段時間內取得傳輸媒介的使用權。

(6) 頻寬使用不保證公平:工作站的使用頻寬沒有平均分配,由競爭原則取得頻寬使用權。

(7) 高負載時頻寬使用率低:高負載時工作站之間碰撞機率提昇,易造成頻寬使用率降低。

(8) 較不適合多媒體資訊傳輸:因不保證傳輸延遲時間,而且基本協定規格的速率只有 10 Mbps,所以對即時傳輸的多媒體應用較不適合。

2-2-2 Ethernet 運作原理

        Ethernet 網路是採用『載波檢測多重存取附碰撞偵測』(Carrier Sense Multiple Access with Collision Detection, CSMA/CD協定,是 IEEE 802.3 所制定的『媒介存取控制』(Medium Access Control, MAC通訊協定。它的上層必須配合 IEEE 802.2 LLC(如圖 2-7),而下層可依照不同環境需求結合各種傳輸媒介。CSMA/CD 協定是屬於廣播方式傳輸,其工作站不是在傳送資料(發送訊號),就是在接收資料(接收訊號)。網路上同一時間只允許一部工作站傳送資料,其餘則處於接收情況。圖 2-9 CSMA/CD 通訊協定的運作流程圖,可分為傳送資料和接收資料兩部分,以下分別說明之:

(A) 傳送資料流程:

(1) 工作站欲傳送資料前,首先聆聽(Listen)網路上是否有訊號在傳送(Carrier Sense)?如果網路上是安靜的 (Quiet),表示沒有任何工作站在使用,便可開始傳送資料;否則就必須等待,而且繼續聆聽。

(2) 當工作站將資料(訊框)傳送出去後,必須立即將其讀回,判斷是否與其他工作站碰撞(Collision Detection)?如發生碰撞便馬上退回不再傳送,等待某一『隨機時間』(Random Time後再回到流程 (1) 繼續聆聽;否則便可繼續傳送。

(3) 資料是否傳送完畢?如完畢便發送介面程式通知上一層(LLC 層);否則回到流程 (2) 繼續發送。

(4) 如發生碰撞(由訊號改變來判斷是否碰撞),傳送端將送出擾亂訊號,告知所有工作站,網路已發生碰撞現象,不要再繼續傳送訊號。如果連續發生16 次以上的碰撞,表示網路或電腦發生嚴重的故障,停止傳送並等待修護人員來修護。

(5) 在網路上可能有多部工作站在載波偵測(Carrier Sense)準備要傳送資料,也有可能在傳送途中與其它工作站的訊號發生碰撞。

(B) 接收資料流程:

(1) 工作站如沒有在傳送資料,就在接收狀態下。當它接收完資料,如判斷該資料太短便將其拋棄(可能傳送途中發生碰撞而停止傳送),繼續接收資料。否則接下一個流程 (2)

(2) 由訊框內的目的位址(Destination Address, DA)判斷是否傳送給自己,如果不是傳給自己的就將該訊框拋棄,回到流程 (1)。如果是,接下一個流程 (3)

(3) 由訊框中 FCSFrame Check Sequence)欄位的值,以 CRCCycle Redundancy Check)檢查方法,檢查訊框內資料是否發生錯誤。如果已發生錯誤則通知 LLC(由 LLC 要求對方重送該訊框),回到流程 (1)。如果沒有錯誤則接流程 (4)

(4) 以訊框中長度(Length)欄位的值,與計算資料欄位內資料長度是否相符。如果不符,則通知 LLC(由 LLC 要求對方重送該訊框);如果相符,則刪除訊框的頭尾,將資料(LLC-PDU)傳給 LLC。回到流程 (1) 繼續接收資料。

2-9 CSMA/CD 通訊協定流程

2-2-3 Ethernet 延遲等待時間

        CSMA/CD 協定中,可能同時有多部工作站正準備傳送資料,它們都會在網路上檢測(Carrier Sense)是否有其他工作站正在傳送資料。如果有一部工作站檢測出網路是空閒時(Quiet),便立即將資料送出,但也有可能與其它工作站同時將資料送出,因此發生碰撞的機率也非常大。因此,在 Ethernet網路上,發送訊號者必須隨時讀回資料,以便確認是否有碰撞發生。如果讀回的資料和發送的資料相同(表示傳輸訊號可解碼回原來資料),則沒有發生碰撞的現象。如果讀回的訊號,無法解碼(decoding)回原來資料,則表示發送出來的訊號已和其他訊號相重疊,成為另一個訊號,和原來發送的訊號不同,也就無法解碼回原來資料。我們判斷這不明訊號也許是其他電腦所發送的,因此稱為碰撞(Collision)現象。其實,這不一定是發生碰撞,也許是接線不良,造成訊號損失過度嚴重,以致發送端無法解碼回原來資料,也有可能係因纜線受到外來訊號干擾所造成的。在此我們假設網路情況都非常好,不明訊號皆來自其他工作站。(因此對一個網路管理者而言,網路時常發生碰撞時,必須另外思考有關網路環境的問題)

發送訊號者如果偵測出已發生碰撞,必須放棄正在傳送中的資料,並送出擾亂訊號告知其他電腦目前已發生碰撞,不要繼續發送資料。這時候,每一個發送訊號者必須等待一段時間後再繼續檢測網路是否空閒,回到最起始流程(如圖 2-9)。現在,我們來思考一個問題,如果我們在通訊協定裡規定一個固定等待的時間,這時候所有電腦都等待一個固定時間後再去監聽網路,大家都認為空閒,所以同時開始傳送資料,碰撞就此發生。因此,等待時間不可以被固定,而必須是隨機性的。然而,產生這一個隨機時間又必須考慮到目前網路的情況,如果網路負載很高,該次傳送資料已連續碰撞多次了,等待的隨機時間就必須久一點;如果從來沒有碰撞過,就可以短一點。如何來產生這『隨機延遲時間』(Random Delay TimeCSMA/CD採用『二元指數後退演算法』(Binary Exponential Backoff Algorithm,簡述如下:

n連續發生碰撞次數 (n <= 16) 。當同一筆訊框連續碰撞超過 16 次,表示目前網路負載過重,或者是網路狀況有問題。此時,工作站必須停止傳送,並報告網路狀況。

kk = MIN (n, 10)MIN 是最小值函數。亦即,若碰撞次數超過 10 次,皆以 10 計算。

rr 是隨機延遲單位。r 是介於 0 和(2k -1)之間(0 <= r < = 2k -1)。例如,k = 3,表示於 r = {0, 1, 2, 3, 4, 5, 6, 7} 之間隨機(random)取一個數。

tt是延遲單位時間。一般都採用網路上的『時槽時間』(Slot Time。一個時槽表示訊號傳遞到網路上最遠距離的『來回傳遞延遲時間』(Round-Trip Propagation Delay。在 CSMA/CD 的通訊協定裡制定網路最遠距離為 2500 公尺,來回時間是 51.2 us

隨機延遲時間 = r * t。隨機延遲時間等於延遲單位時間的隨機延遲單位的倍數。

        例如,當第一次發生碰撞時(n = 1),k = MIN(1, 10) = 1r = {0, 1},因此延遲時間有兩種可能:一種立即傳送(0 * 51.2 us);另一種等待 51.2 us1 * 51.2us)。如果第二次發生碰撞(n = 2),k = MIN(2, 10) = 2r = {0, 1, 2, 3},因此延遲時間變成四種隨機機率(0, 51.2us, 102.4us, 153.6us)。當碰撞超過 10 次時(n >= 10),k = MIN(10, 10) = 10r = {0, 1, 2, , 210},最高的等待時間是 1023 個時槽(1023 * 51.2us)。

2-2-4 Ethernet訊框格式

        MAC 訊框格式』(MAC-FrameEthernet I 訊框)牽涉到實體傳輸媒介存取的技術,它是一組在網路上傳送的連續訊號。訊框的結構和長短,與網路的存取方法有連帶的關係,在後文會有詳細的說明。Ethernet 訊框最長為 1518 位元組、最短為 64 位元組。其格式如圖 2-10 所示。

2-10 CSMA/CD 訊框格式(Ethernet I 訊框)

其中:

前置訊號(Preamble):7個位元組(1010101~1010)。主要是達成接收端的同步功能(Synchronization)。 當傳送端連續發送前置訊號時,接收端利用訊號內的同步訊號(曼撤斯特編碼技巧)調整本身的時序,使其同步於傳送端。

訊框起始符號(Start Frame Delimiter, SFD):一個位元組 (10101011),表示訊框的開始,也表示前置訊號的結束。

目的地位址(Destination Address, DA):用來註明該訊框欲傳送給目的工作站之 MAC 位址,其長度可以是 2 6 個位元組,一般都採用 6 個位元組(48 Bits)格式。此位址又稱為Ethernet 位址』(Ethernet Address

來源位址(Source Address , SA):用來註明這訊框是誰發送的。其長度也如同 DA 可以是2 6 個位元組。

長度(Length, LEN):2 個位元組,紀錄訊息欄內資料(LLC-PDU)的長度。

LLC 資料:此欄位是訊息欄位。就是由邏輯鏈路控制層(LLC)所產生的通訊協定單元(LLC-PDU),最長為 1500 byte

補位(Padding, PAD):如果LLC資料(LLC-PDU)小於 46 個位元組時,填入PAD 內隨意資料(無意義的資料),以補滿訊息 46 位元組。

訊框檢查序列(Frame Check Sequence, FCS):4 個位元組,紀錄該訊框的錯誤檢查碼。其所檢查的範圍是從 DA 欄位到 PAD 欄位之間的資料,錯誤檢查的方法是採用 CRC-32Cyclic Redundancy Check)技巧,CRC-32 多項式如下:

G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x +1

2-2-5 Ethernet 最小訊框

        為了實現 Ethernet 網路中碰撞偵測的功能,必須有最小訊框的限制。依照 CSAM/CD 協定規定,工作站之間最遠的距離是 2500 公尺(並非完全相同於網路範圍),在這距離之中也許會包含:電纜、半增益電電纜、AUI 電纜、增益器、及其他所有設備。我們將從最末端的工作站發出訊號,到達最遠距離的『來回傳遞延遲時間』(Round-Trip Propagation Delay Time,稱之為一個『時槽』(Time slot。預估經歷所有網路設備(網路卡、增益器、收發器)和纜線(同軸電纜、收發器電纜,半增益器電纜)的延遲大約 46.38 us(微秒)。但為了計算方便及預估不同設備之間的誤差,我們將一個時槽設定為 51.2 us

如圖 2-11 所示,工作站 A B 在相隔最遠距離(2500公尺)。又CSMA/CD通訊協定裡,傳送端(A)將訊號發送至網路上,再將其讀回判斷是否發生碰撞。於最差狀態(Worst Case)下,當訊號傳遞到最遠的地方時,剛好另一端工作站(B)發送出訊號,兩個訊號發生碰撞。如果訊號太短,發送端傳送完後,訊號還未到達最遠距離,有可能偵測後,才發生碰撞現象。因此,訊框太短有可能無法偵測碰撞現象,所以我們必須增加訊框長度,讓發送端在訊框傳送完成之前,訊框有足夠的時間到達最遠地方。萬一發生碰撞,發送端才能偵測到碰撞現象。也因此,才有最小訊框的限制。

2-11 訊框長度與碰撞偵測

        到底最小訊框是多少?我們必須預估最差狀況下,在最遠的地方發生碰撞,而且能將碰撞訊號傳回原來發送端的時間內,此時發送端還在傳送訊框。這一來回的時間剛好是一個時槽(51.2 us)。也就是說,一個訊框傳遞的時間至少要一個時槽時間以上。我們以網路傳送速率 10Mbps 來計算,最小訊框是:

10 × 106 × 51.2 × 10-6 = 512 位元 = 64 位元組。

由圖 2-10 CSMA/CD 的訊框格式中,在整個訊框裡包含著 DASALENFCS LLC-PDU。這些總共的長度必須高於 64 為元組,因此我們可以算出最小資料:

64 - 6 (DA) - 6 (SA) - 2 (LEN) - 4 (FCS) = 46 位元組。

如果 LLC-PDU 長度不足 46 位元組,就加入 PAD 欄位的無用的資料,以補足 46 位元。因為 LLC-PDU 的資料長度在 LEN 欄位內有紀錄,所以補上 PAD 欄位並不影響接收端的判斷。

2-2-6 Ethernet 實體層

為了滿足不同環境的需求,IEEE 802.3標準在實體層上提供多種不同架構的版本,各種版本規格如表 2-1 所示。早期 Ethernet 網路大多以 10Base5 為傳輸骨幹,而以 10Base2 10BaseT 為分歧連線來連接一般工作站。雖然目前已甚少使用,但這些都是 Ethernet 網路的基本觀念,我們用圖 2-12 來說明各網路系統的特性如下:

2-1 Ethernet 網路實體層規格

參數

10Base5

10Base2

10BaseT

10Broad36

傳輸媒體

同軸電纜

(50 歐姆)

同軸電纜

(50 歐姆)

無遮蔽式

雙絞線

同軸電纜

(75 歐姆)

訊號處理技術

基頻

(Manchester)

基頻

(Manchester)

基頻

(Manchester)

寬頻

(DPSK)

資料傳輸速度

10 Mbps

10 Mbps

10 Mbps

10 Mbps

每段最大長度

500 公尺

185 公尺

100 公尺

1800 公尺

網路最大長度

2500 公尺

925 公尺

500 公尺

3600 公尺

每段最多可連接工作站

100

30

***

***

工作站距離

2.5 公尺* n

0.5 公尺*n

***

***

電纜線直徑

10 mm

5 mm

0.4 ~ 0.6 mm

***

(A) 10Base5 網路系統

10Base5 網路是依照 CSMA/CD 網路標準所製作,它的網路架構就如圖 2-12 所示。早期 Ethernet 網路剛開始使用時,都以 10Base5 作為傳輸骨幹。其主要特性如下:

   傳輸速率 10Mbps

   基頻傳輸技術,使用 Manchester 編碼。

   同軸電纜直徑 10mmRG-11),又稱『粗線 Ethernet』(Thick Ethernet

   每一段同軸電纜的最大長度為 500 公尺。

   網路最大範圍可達 2500 公尺。

   每一段同軸電纜上最多可接 100 部電腦。

   任何二個收發器(MAU)之間的距離為 2.5 公尺的整數倍。

   使用阻抗為 50 歐姆的同軸電纜。電纜兩端必須接與纜線阻抗相同的電阻,以消除反射波。我們將該電阻裝成接頭直接鎖在纜線的端點,稱之為『終端器』(Terminator

   時槽時間(Slot Time)為 51.2us。相當於 512 位元時間,一位元時間為 0.1us

   每一筆訊框在連續發生碰撞的情形下,最高嘗試傳送次數為 16 次。

   傳送訊框間格時間(Inter-frame Gap)為 9.6 us

   訊框傳送發生碰撞後延遲時間的取樣範圍最大為 210 ,即是 [0, 1, 2, .., 1023] 的時槽時間。

   訊框傳送發生碰撞後送出的擾亂訊號(Jamming Signal)長度為 32 位元。

(B) 10Base2 網路系統

10Base2 網路的纜線連線比較簡單,但傳輸距離較短,主要是用在連接終端電腦。一般佈線時,我們會以 10Base5 為網路主幹,工作站之間的串接再使用 10Base210Base2 10Base5 最主要的不同點是,10Base2 MAU 部分裝設在網路卡上,因此不需要 AUI 接頭和 AUI 電纜。同軸電腦直接透過 BNC 接頭連上網路卡,多部電腦之間只要利用同軸電纜和 BNC 接頭就可以串接在一起,如圖 2-12 所示。所以對整個佈線系統而言,比 10Base5 簡單又便宜。其特性如下:

   使用同軸電纜的直徑為 5mm、阻抗為 50 歐姆(RG-58A/U)。因此也稱為『細線 Ethernet』(Thin Ethernet

   傳輸速率為 10Mbps

   基頻傳輸技術、使用 Manchester 編碼。

   每一段同軸電纜的最大長度為 185 公尺。

   網路最長可達 925 公尺(185 × 5 = 925)。

   任何兩部電腦之間的連線為 0.5 公尺的整數倍。

   每一段同軸電纜上最多可接上 30 部工作站。

   每一段同軸電纜的兩端需接上 50 歐姆的終端器。

   每段同軸電纜的連線是利用 BNC-T 型連接器以『雛菊花環式』(Daisy Chaining串接法,將電腦串接起來。

   其他特性和 10Base5 的參數相同,彼此可以經由訊號增益器相連接起來成為一個 Ethernet 網路,如圖 2-12 所示。

(C) 10BaseT 網路系統

如果用 10Base2 來佈放電腦端的連線,在某區段中任何地方斷線,或任何一處的 BNC 接頭接觸不良,將使該區段的網路將完全癱瘓。尤其在辦公自動化的環境裡,當網路故障時,要找出故障點,的確不是一件容易的事。10BaseT 網路系統保持原來 CSMA/CD 的特性,將網路架構更改為星狀的集中式。集中設備稱之為『集線器』(HUB,又稱為 10BaseT HUB,如圖 2-12 所示。任何一部工作站都有專線連接到集線器上,如果該連線斷線,將不會影響到其他工作站的通訊。因此在佈線方面比 10Base2 容易得多,而且維護上也較容易。10BaseT 網路特性如下:

    傳輸速率為 10Mbps

   基頻傳輸,資料編碼採用 Manchester 技巧。

   使用直徑 0.4 ~ 0.6mm 的雙絞線(Cat-3 UTP)。

   雙絞線接頭為 RJ-458 pin)、接續規格為 EIA-568B 方式。

   工作站和集線器之間的絞對線最長 100 公尺。

   網路最大範圍為 500 公尺。

   利用集中器串接以延伸距離。最多可以串接五段傳輸線(其中兩條為中繼傳輸線),也就是說最多只能連接四台集線器。

   其他特性與 10Base5 10Base2 的參數相同,彼此可以經由訊號增益器相連接起來成為一個 Ethernet 網路。如圖 2-12 表示由 10Base5 為網路骨幹,10Base2 10BaseT 為分歧電腦連線。

2-12 Ethernet 網路基本架構

2-2-7 Ethernet 編碼技巧

        傳送端將數位資料轉換成數位訊號稱之為『編碼』(Encoding,編碼設備稱為『編碼器』(Enoder。編碼後將訊號透過傳輸媒體,接收端接收到訊號再將『解碼』(Decoding為原來資料,該設備稱為『解碼器』(Decoder。網路上設備都具有傳送及接收功能,執行此功能設備就是『編碼解碼器』(coder-decoder, codec,如圖 2-13 所示。一般此裝置都設置在網路卡上,譬如 Ethernet 網路卡。

2-13 編碼/解碼器(Codec

        在數位編碼技巧上有兩大類的表示法,一則是直接用脈衝(Pulse)訊號的高電位和低電位來表示二進位的0 1,例如電報發送方式。另一則是利用脈衝訊號的變化情形(高低電位的變化)來表示二進位的0 1Ethernet 網路就是使用這種編碼技巧的『曼徹斯特編碼』(Manchester Encoding。曼徹斯特編碼的主要特性是無論二進位資料是01,在每一個位元時間的中央一定有電位變化(由高電位到低電位,或由低電位到高電位),利用位元中間變化的情形來表示1 0,其編碼如下:(如圖 2-14 所示)

0位元中間由高電位變化到低電位(high low)。

1位元中間由低電位變化到高電位(low high)。

曼徹斯特編碼的特點是每一位元中間都有變化,傳輸雙方可利用這個特性達到雙方同步。但該特性也是缺點,因為每個位元都有變化,表示頻寬必須是傳輸速率的兩倍。在目前高速網路上,傳輸媒介的頻寬非常珍貴,是決定傳輸速率的主要因素之一,不可能再浪費在編碼技術上,因此曼徹斯特編碼並不適合於高速網路上使用。

2-14 曼徹斯特編碼技巧範例

 

<GOTOP>