Ethernet 網路 - 翻轉工作室

文章推薦指數: 80 %
投票人數:10人

Ethernet 網路是採用『載波檢測多重存取附碰撞偵測』(Carrier Sense Multiple Access with Collision Detection, CSMA/CD)協定,是 IEEE 802.3 所制定的『媒介存取控制』 ... TCP/IP協定與Internet網路:第二章雛形區域網路-Ethernet 上一頁         下一頁   翻轉工作室:粘添壽   2-2Ethernet網路        目前網路環境裡的區域網路大多是Ethernet網路,而Ethernet網路是1972年由Digital公司、Intel公司和Xerox公司依照CSMA/CD協定標準所制定的。

早期Ethernet網路製作簡單,連線也非常容易,因此漸漸被工業界喜愛,應用範圍也漸漸擴大。

所以目前講區域網路主要以Ethernet為標準。

但CSMA/CD協定也有致命的缺點,就是頻寬分配不均、易發生碰撞的現象而影響傳輸效率。

但目前新的技術足以克服,使效率和速率較原來標準完善。

我們以Ethernet標準網路為基礎開始介紹,再進入FastEthernet和GigabitEthernet網路。

2-2-1Ethernet網路簡介        Ethernet網路的基本結構為匯流排(Bus)架構,如圖2-8所示,基本特性如下: 圖2-8CSMA/CD網路基本架構圖 (1)Ethernet網路基本上為匯流排架構,傳輸媒介為同軸電纜(CoaxialCable)。

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

(2)網路上同一時間只允許一部工作站發送訊號,如果有兩部以上同時發送訊號,則它們之間的訊號將會在網路上發生碰撞(Collision),造成錯誤訊息而失效(無法解碼)。

發生碰撞時,所有傳送中的工作站必須停止傳送,另找適當時機再重新傳送。

因此,每部工作站都必須具有偵測碰撞的功能。

(3)同軸電纜上傳遞的訊號為電波方式。

電波傳遞到纜線的端點會發生反射的現象,造成反射波和前進波混合,而發生訊號錯誤。

為了讓網路不要發生反射波現象,我們必須在網路的兩個端點安裝『終端器』(Terminator),以便吸收前進波而使不致發生反射波的現象。

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

(5)同軸電纜和工作站之間必須透過『收發器』(Transceiver)和『收發器電纜』(TransceiverCable)的連接。

收發器是電流訊號和電波訊號之間的轉換,其功能是在同軸電纜上發送和接收訊號。

收發器電纜是一般絞對線電纜,其傳遞電流訊號。

由以上的特性,我們將標準Ethernet網路的基本規格歸類如下: (1)傳輸速率:10Mbps(高速Ethernet可達100Mbps~1Gbps) (2)訊框格式:IEEE802.3CSMA/CD格式,最大訊框為1518位元組,最小訊框為64位元組。

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

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

(5)不提供保證傳送延遲服務:CSMA/CD協定為競爭式,沒有優先權傳輸服務。

所以不保證工作站是否能在某段時間內取得傳輸媒介的使用權。

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

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

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

2-2-2Ethernet運作原理        Ethernet網路是採用『載波檢測多重存取附碰撞偵測』(CarrierSenseMultipleAccesswithCollisionDetection,CSMA/CD)協定,是IEEE802.3所制定的『媒介存取控制』(MediumAccessControl,MAC)通訊協定。

它的上層必須配合IEEE802.2LLC(如圖2-7),而下層可依照不同環境需求結合各種傳輸媒介。

CSMA/CD協定是屬於廣播方式傳輸,其工作站不是在傳送資料(發送訊號),就是在接收資料(接收訊號)。

網路上同一時間只允許一部工作站傳送資料,其餘則處於接收情況。

圖2-9為CSMA/CD通訊協定的運作流程圖,可分為傳送資料和接收資料兩部分,以下分別說明之: (A)傳送資料流程: (1)工作站欲傳送資料前,首先聆聽(Listen)網路上是否有訊號在傳送(CarrierSense)?如果網路上是安靜的(Quiet),表示沒有任何工作站在使用,便可開始傳送資料;否則就必須等待,而且繼續聆聽。

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

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

(4)如發生碰撞(由訊號改變來判斷是否碰撞),傳送端將送出擾亂訊號,告知所有工作站,網路已發生碰撞現象,不要再繼續傳送訊號。

如果連續發生16次以上的碰撞,表示網路或電腦發生嚴重的故障,停止傳送並等待修護人員來修護。

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

(B)接收資料流程: (1)工作站如沒有在傳送資料,就在接收狀態下。

當它接收完資料,如判斷該資料太短便將其拋棄(可能傳送途中發生碰撞而停止傳送),繼續接收資料。

否則接下一個流程(2)。

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

如果是,接下一個流程(3)。

(3)由訊框中FCS(FrameCheckSequence)欄位的值,以CRC(CycleRedundancyCheck)檢查方法,檢查訊框內資料是否發生錯誤。

如果已發生錯誤則通知LLC(由LLC要求對方重送該訊框),回到流程(1)。

如果沒有錯誤則接流程(4)。

(4)以訊框中長度(Length)欄位的值,與計算資料欄位內資料長度是否相符。

如果不符,則通知LLC(由LLC要求對方重送該訊框);如果相符,則刪除訊框的頭尾,將資料(LLC-PDU)傳給LLC。

回到流程(1)繼續接收資料。

圖2-9CSMA/CD通訊協定流程 2-2-3Ethernet延遲等待時間        在CSMA/CD協定中,可能同時有多部工作站正準備傳送資料,它們都會在網路上檢測(CarrierSense)是否有其他工作站正在傳送資料。

如果有一部工作站檢測出網路是空閒時(Quiet),便立即將資料送出,但也有可能與其它工作站同時將資料送出,因此發生碰撞的機率也非常大。

因此,在Ethernet網路上,發送訊號者必須隨時讀回資料,以便確認是否有碰撞發生。

如果讀回的資料和發送的資料相同(表示傳輸訊號可解碼回原來資料),則沒有發生碰撞的現象。

如果讀回的訊號,無法解碼(decoding)回原來資料,則表示發送出來的訊號已和其他訊號相重疊,成為另一個訊號,和原來發送的訊號不同,也就無法解碼回原來資料。

我們判斷這不明訊號也許是其他電腦所發送的,因此稱為碰撞(Collision)現象。

其實,這不一定是發生碰撞,也許是接線不良,造成訊號損失過度嚴重,以致發送端無法解碼回原來資料,也有可能係因纜線受到外來訊號干擾所造成的。

在此我們假設網路情況都非常好,不明訊號皆來自其他工作站。

(因此對一個網路管理者而言,網路時常發生碰撞時,必須另外思考有關網路環境的問題) 發送訊號者如果偵測出已發生碰撞,必須放棄正在傳送中的資料,並送出擾亂訊號告知其他電腦目前已發生碰撞,不要繼續發送資料。

這時候,每一個發送訊號者必須等待一段時間後再繼續檢測網路是否空閒,回到最起始流程(如圖2-9)。

現在,我們來思考一個問題,如果我們在通訊協定裡規定一個固定等待的時間,這時候所有電腦都等待一個固定時間後再去監聽網路,大家都認為空閒,所以同時開始傳送資料,碰撞就此發生。

因此,等待時間不可以被固定,而必須是隨機性的。

然而,產生這一個隨機時間又必須考慮到目前網路的情況,如果網路負載很高,該次傳送資料已連續碰撞多次了,等待的隨機時間就必須久一點;如果從來沒有碰撞過,就可以短一點。

如何來產生這『隨機延遲時間』(RandomDelayTime),CSMA/CD採用『二元指數後退演算法』(BinaryExponentialBackoffAlgorithm),簡述如下: ●n:連續發生碰撞次數(n<=16)。

當同一筆訊框連續碰撞超過16次,表示目前網路負載過重,或者是網路狀況有問題。

此時,工作站必須停止傳送,並報告網路狀況。

●k:k=MIN(n,10),MIN是最小值函數。

亦即,若碰撞次數超過10次,皆以10計算。

●r:r是隨機延遲單位。

r是介於0和(2k-1)之間(0<=r<=2k-1)。

例如,k=3,表示於r={0,1,2,3,4,5,6,7}之間隨機(random)取一個數。

●t:t是延遲單位時間。

一般都採用網路上的『時槽時間』(SlotTime)。

一個時槽表示訊號傳遞到網路上最遠距離的『來回傳遞延遲時間』(Round-TripPropagationDelay)。

在CSMA/CD的通訊協定裡制定網路最遠距離為2500公尺,來回時間是51.2us。

●隨機延遲時間=r*t。

隨機延遲時間等於延遲單位時間的隨機延遲單位的倍數。

       例如,當第一次發生碰撞時(n=1),k=MIN(1,10)=1,r={0,1},因此延遲時間有兩種可能:一種立即傳送(0*51.2us);另一種等待51.2us(1*51.2us)。

如果第二次發生碰撞(n=2),k=MIN(2,10)=2,r={0,1,2,3},因此延遲時間變成四種隨機機率(0,51.2us,102.4us,153.6us)。

當碰撞超過10次時(n>=10),k=MIN(10,10)=10,r={0,1,2,…,210},最高的等待時間是1023個時槽(1023*51.2us)。

2-2-4Ethernet訊框格式        『MAC訊框格式』(MAC-Frame,EthernetI訊框)牽涉到實體傳輸媒介存取的技術,它是一組在網路上傳送的連續訊號。

訊框的結構和長短,與網路的存取方法有連帶的關係,在後文會有詳細的說明。

Ethernet訊框最長為1518位元組、最短為64位元組。

其格式如圖2-10所示。

圖2-10CSMA/CD訊框格式(EthernetI訊框) 其中: ●前置訊號(Preamble):7個位元組(1010101~1010)。

主要是達成接收端的同步功能(Synchronization)。

當傳送端連續發送前置訊號時,接收端利用訊號內的同步訊號(曼撤斯特編碼技巧)調整本身的時序,使其同步於傳送端。

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

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

此位址又稱為『Ethernet位址』(EthernetAddress)。

●來源位址(SourceAddress,SA):用來註明這訊框是誰發送的。

其長度也如同DA可以是2或6個位元組。

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

●LLC資料:此欄位是訊息欄位。

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

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

●訊框檢查序列(FrameCheckSequence,FCS):4個位元組,紀錄該訊框的錯誤檢查碼。

其所檢查的範圍是從DA欄位到PAD欄位之間的資料,錯誤檢查的方法是採用CRC-32(CyclicRedundancyCheck)技巧,CRC-32多項式如下: G(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x+1 2-2-5Ethernet最小訊框        為了實現Ethernet網路中碰撞偵測的功能,必須有最小訊框的限制。

依照CSAM/CD協定規定,工作站之間最遠的距離是2500公尺(並非完全相同於網路範圍),在這距離之中也許會包含:電纜、半增益電電纜、AUI電纜、增益器、及其他所有設備。

我們將從最末端的工作站發出訊號,到達最遠距離的『來回傳遞延遲時間』(Round-TripPropagationDelayTime),稱之為一個『時槽』(Timeslot)。

預估經歷所有網路設備(網路卡、增益器、收發器)和纜線(同軸電纜、收發器電纜,半增益器電纜)的延遲大約46.38us(微秒)。

但為了計算方便及預估不同設備之間的誤差,我們將一個時槽設定為51.2us。

如圖2-11所示,工作站A和B在相隔最遠距離(2500公尺)。

又CSMA/CD通訊協定裡,傳送端(A)將訊號發送至網路上,再將其讀回判斷是否發生碰撞。

於最差狀態(WorstCase)下,當訊號傳遞到最遠的地方時,剛好另一端工作站(B)發送出訊號,兩個訊號發生碰撞。

如果訊號太短,發送端傳送完後,訊號還未到達最遠距離,有可能偵測後,才發生碰撞現象。

因此,訊框太短有可能無法偵測碰撞現象,所以我們必須增加訊框長度,讓發送端在訊框傳送完成之前,訊框有足夠的時間到達最遠地方。

萬一發生碰撞,發送端才能偵測到碰撞現象。

也因此,才有最小訊框的限制。

圖2-11訊框長度與碰撞偵測        到底最小訊框是多少?我們必須預估最差狀況下,在最遠的地方發生碰撞,而且能將碰撞訊號傳回原來發送端的時間內,此時發送端還在傳送訊框。

這一來回的時間剛好是一個時槽(51.2us)。

也就是說,一個訊框傳遞的時間至少要一個時槽時間以上。

我們以網路傳送速率10Mbps來計算,最小訊框是: 10×106×51.2×10-6=512位元=64位元組。

由圖2-10CSMA/CD的訊框格式中,在整個訊框裡包含著DA、SA、LEN、FCS和LLC-PDU。

這些總共的長度必須高於64為元組,因此我們可以算出最小資料: 64-6(DA)-6(SA)-2(LEN)-4(FCS)=46位元組。

如果LLC-PDU長度不足46位元組,就加入PAD欄位的無用的資料,以補足46位元。

因為LLC-PDU的資料長度在LEN欄位內有紀錄,所以補上PAD欄位並不影響接收端的判斷。

2-2-6Ethernet實體層 為了滿足不同環境的需求,IEEE802.3標準在實體層上提供多種不同架構的版本,各種版本規格如表2-1所示。

早期Ethernet網路大多以10Base5為傳輸骨幹,而以10Base2和10BaseT為分歧連線來連接一般工作站。

雖然目前已甚少使用,但這些都是Ethernet網路的基本觀念,我們用圖2-12來說明各網路系統的特性如下: 表2-1Ethernet網路實體層規格 參數 10Base5 10Base2 10BaseT 10Broad36 傳輸媒體 同軸電纜 (50歐姆) 同軸電纜 (50歐姆) 無遮蔽式 雙絞線 同軸電纜 (75歐姆) 訊號處理技術 基頻 (Manchester) 基頻 (Manchester) 基頻 (Manchester) 寬頻 (DPSK) 資料傳輸速度 10Mbps 10Mbps 10Mbps 10Mbps 每段最大長度 500公尺 185公尺 100公尺 1800公尺 網路最大長度 2500公尺 925公尺 500公尺 3600公尺 每段最多可連接工作站 100 30 *** *** 工作站距離 2.5公尺*n 0.5公尺*n *** *** 電纜線直徑 10mm 5mm 0.4~0.6mm *** (A)10Base5網路系統 10Base5網路是依照CSMA/CD網路標準所製作,它的網路架構就如圖2-12所示。

早期Ethernet網路剛開始使用時,都以10Base5作為傳輸骨幹。

其主要特性如下: ●  傳輸速率10Mbps。

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

●  同軸電纜直徑10mm(RG-11),又稱『粗線Ethernet』(ThickEthernet)。

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

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

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

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

●  使用阻抗為50歐姆的同軸電纜。

電纜兩端必須接與纜線阻抗相同的電阻,以消除反射波。

我們將該電阻裝成接頭直接鎖在纜線的端點,稱之為『終端器』(Terminator)。

●  時槽時間(SlotTime)為51.2us。

相當於512位元時間,一位元時間為0.1us。

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

●  傳送訊框間格時間(Inter-frameGap)為9.6us。

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

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

(B)10Base2網路系統 10Base2網路的纜線連線比較簡單,但傳輸距離較短,主要是用在連接終端電腦。

一般佈線時,我們會以10Base5為網路主幹,工作站之間的串接再使用10Base2。

10Base2和10Base5最主要的不同點是,10Base2將MAU部分裝設在網路卡上,因此不需要AUI接頭和AUI電纜。

同軸電腦直接透過BNC接頭連上網路卡,多部電腦之間只要利用同軸電纜和BNC接頭就可以串接在一起,如圖2-12所示。

所以對整個佈線系統而言,比10Base5簡單又便宜。

其特性如下: ●  使用同軸電纜的直徑為5mm、阻抗為50歐姆(RG-58A/U)。

因此也稱為『細線Ethernet』(ThinEthernet)。

●  傳輸速率為10Mbps。

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

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

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

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

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

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

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

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

(C)10BaseT網路系統 如果用10Base2來佈放電腦端的連線,在某區段中任何地方斷線,或任何一處的BNC接頭接觸不良,將使該區段的網路將完全癱瘓。

尤其在辦公自動化的環境裡,當網路故障時,要找出故障點,的確不是一件容易的事。

10BaseT網路系統保持原來CSMA/CD的特性,將網路架構更改為星狀的集中式。

集中設備稱之為『集線器』(HUB),又稱為10BaseTHUB,如圖2-12所示。

任何一部工作站都有專線連接到集線器上,如果該連線斷線,將不會影響到其他工作站的通訊。

因此在佈線方面比10Base2容易得多,而且維護上也較容易。

10BaseT網路特性如下: ●   傳輸速率為10Mbps。

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

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

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

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

●  網路最大範圍為500公尺。

●  利用集中器串接以延伸距離。

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

●  其他特性與10Base5及10Base2的參數相同,彼此可以經由訊號增益器相連接起來成為一個Ethernet網路。

如圖2-12表示由10Base5為網路骨幹,10Base2和10BaseT為分歧電腦連線。

圖2-12Ethernet網路基本架構 2-2-7Ethernet編碼技巧        傳送端將數位資料轉換成數位訊號稱之為『編碼』(Encoding),編碼設備稱為『編碼器』(Enoder)。

編碼後將訊號透過傳輸媒體,接收端接收到訊號再將『解碼』(Decoding)為原來資料,該設備稱為『解碼器』(Decoder)。

網路上設備都具有傳送及接收功能,執行此功能設備就是『編碼解碼器』(coder-decoder,codec),如圖2-13所示。

一般此裝置都設置在網路卡上,譬如Ethernet網路卡。

圖2-13編碼/解碼器(Codec)        在數位編碼技巧上有兩大類的表示法,一則是直接用脈衝(Pulse)訊號的高電位和低電位來表示二進位的0和1,例如電報發送方式。

另一則是利用脈衝訊號的變化情形(高低電位的變化)來表示二進位的0和1,Ethernet網路就是使用這種編碼技巧的『曼徹斯特編碼』(ManchesterEncoding)。

曼徹斯特編碼的主要特性是無論二進位資料是0或1,在每一個位元時間的中央一定有電位變化(由高電位到低電位,或由低電位到高電位),利用位元中間變化的情形來表示1或0,其編碼如下:(如圖2-14所示) ●0:位元中間由高電位變化到低電位(high→low)。

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

曼徹斯特編碼的特點是每一位元中間都有變化,傳輸雙方可利用這個特性達到雙方同步。

但該特性也是缺點,因為每個位元都有變化,表示頻寬必須是傳輸速率的兩倍。

在目前高速網路上,傳輸媒介的頻寬非常珍貴,是決定傳輸速率的主要因素之一,不可能再浪費在編碼技術上,因此曼徹斯特編碼並不適合於高速網路上使用。

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



請為這篇文章評分?