Download presentation
Presentation is loading. Please wait.
1
第五章 資料連結層
2
5.1 簡介 資料連接層主要是在做實體層與網路層之間的溝通橋樑。 其主要提供之功能:
(1)媒體存取控制:控制電腦上的資料何時可傳輸至通訊線路,即實體層 (2)錯誤控制:偵測及控制從實體層所傳來的資料是否發生傳輸錯誤 (3)訊息描述:識別所要接受訊息框的開始訊號與結束訊號
3
當媒體存取控制子層準備好要將資料往傳輸媒體上送時,會先將資料切割成較小的小封包(packet),此封包稱為訊息框(Frame)。
為了要讓接收端可以辨識訊息框的開始與結束,傳送端會在資料前後分別加上框頭記號及框尾記號。 傳輸資料時將資料切割成數個小封包的兩個原因: (1)資料在傳送過程中有可能發生錯誤。若未切割則難進行流量控制及錯誤處理。 (2)在區域網路中,傳輸媒體是共用的,若未切割易造成電腦佔用傳輸媒體時間過長,將使其他電腦等待時間過長,影響傳輸效率。
4
5.2媒體存取控制 媒體存取控制的功能是在有數個電腦需要共用一條網路傳輸媒體來傳遞資料之狀況下,來控制彼此爭取使用此線路的權利,並制定一套電腦間共享通信媒體的方法。 媒體存取控制的方法分成二大類,一為控制存取法:使用量及網路範圍較大時;另一為競爭存取法:用在使用量及網路範圍較小的情況下。
5
控制存取法(Controlled Access)
控制存取法是指網路系統上有一控制機制,由此機制來安排與決定哪一台機器何時可以存取傳輸媒介。 將控制存取的機制安裝於前端處理器上,即可決定哪個終端機何時可以使用連結至主電腦上的線路,而進行資料存取的動作。 控制存取法可分為:開關法(X-ON/X-OFF)與投票法(Polling)。
6
開關法(X-ON/X-OFF):是最早被用來作媒體存取控制的方法之之一,僅適用於文字訊息的傳輸,通常運用在半雙工點對點的網路架構上,如電腦與印表機之間的資料傳送。
基本概念:若電腦A要傳送訊息給電腦B,則須等到電腦B傳送X-ON訊息告知電腦A表示已準備接收,電腦A才開始傳送。在傳送過程中,電腦A持續的發出訊號要求電腦B回應是否可接收資料,若電腦B回應給電腦A一個X-OFF訊號,這就表示電腦B處於忙碌狀態,電腦A將暫停傳送直到收到另一個X-ON訊息止。
7
投票法(Polling):利用一特殊訊號來當作”票”,整個網路上規定僅有一張票,當網路上某設備取得此張票時,則其對傳輸媒體就擁有使用權,進行資料傳輸工作。
取得投票權的方式: (1)中央控制式的方法由一網路設備來當做主控制機器,其將依序詢問各網路設備是否要取得投票權。可對網路設備設定其被詢問的優先順序與每一週期的次數。 (2)分散式(Hub-polling),通常稱為token passing,不需要一控制中心,由某一台電腦開始進行詢問的動作,在傳送完畢後,將”票”傳給網路上的下一台電腦,如此持續下去,直到”票”傳回出發地,則完成一週期的工作。
8
競爭存取法(Contention) 競爭存取法是當網路上設備有資料要傳輸時,則其會先偵測此時網路傳輸媒體是否有被使用,若沒有被使用,則此設備搶得發言權可開始傳輸資料。 若同時有二各設備以上偵測到網路傳輸媒體沒被使用而要傳輸資料時,發生衝突的問題,將利用競爭存取法內的機制處理這種「衝突」,才能讓對談持續進行。著名的乙太網路,其媒體存取控制的方法即使用競爭存取法。
9
5.3 錯誤控制 人為錯誤指的是在輸入時的一個疏失,目前已有一些特殊應用程式可協助解決。
網路錯誤是在傳輸過程中所發生的傳輸錯誤,它是由網路硬體及軟體所控制。 媒體存取控制子層在接收到一個訊息框時,必須做錯誤偵測的動作,以防止接收到錯誤的訊息。網路錯誤可以分為兩種:訊號改變和訊號遺失。
10
網路傳輸錯誤發生的原因: (1)線路突然停止提供傳輸(Line outage) (2)熱雜訊(white noise) (3)脈衝干擾(Impulse noise) (4)越線對談(Cross-talk) (5)回音(Echoes) (6)衰減(Attenuation) (7)互調式雜訊(Intermodulation noise) (8)波的敏感(Jitter) (9)調波失真(Harmonic distortion)
11
錯誤預防
12
錯誤偵測 同位元檢查法(parity checking)
偶數同位法中,其計算公式為計算每一封包的訊息位元1的總數,如果總數是奇數則錯誤偵測控制資料的運算結果為1,否則為0。在奇數同位法則恰好和偶數同位法相反。 錯誤偵測率也較低,約只有50%
13
水平冗餘檢查法(Longitudinal Redundancy Checking)
因同時有偶數個位元發生錯誤時,同位元檢查法並無法檢查出來,故由一個附加的額外字元叫做BCC(block check character)來作資料縱軸的校對工作,並且整合原同位元檢查法來作資料橫軸的校對工作,可提升偵測率至約有98%。 例如:傳送的封包訊息為「DATA」,其運算為:
14
檢查和法(checksum) 水平冗餘檢查法雖可提高錯誤的偵測率,但卻增加許多額外的資料傳遞,降低傳輸的效率。故利用類似於水平冗餘檢查法,以數學計算的方式增加一個或一系列的字元在訊息的最後面,它可提供約95%的錯誤偵測率。 檢查和法的運算步驟: (1)先將資料轉換為十進制的數值 (2)將它們加總起來 (3)除以255取餘數 (4)傳送“資料+餘數”
15
例如:要傳送”DATA”的資料,檢查和法的運算步驟為
第一步: 第二步: = 282 第三步: 282 / 255= 1 餘數27,將餘數轉成二進制為 11011 第四步:傳送的資料為
16
循環冗餘檢查法(Cyclic Redundancy Check,CRC)
運用循環冗餘檢查法來作錯誤偵測時,傳送端與接收端必須利用相同的多項式來檢查其資料,此多項式稱為產生者多項式(generator polynomial),簡寫為G(x)。 運算後餘數加入到傳送資料的位元數之不同而區分成CRC-8、CRC-16、CRC-24、CRC-32等,位元數越高錯誤偵測率越高。 G(x)的位元數必須要比所要傳送的資料的位元數小而且最小的位元需為1,才有辦法運算出其錯誤檢查的控制碼。
17
其運算方法如下: 第一步:要傳送的資料P 第二步:找出產生者多項式G 第三步:運算 P/G = Q(商) … R(餘數) 第四步:傳送P + R 例如: 第一步:假設現在要傳送P= ” ” 第二步:我們選擇多項式G= ” (x5+x3+1)” 第三步: /101001= …11010 第四步:計算後得知要傳送的資料為 P+R = “ ”
18
錯誤更正 持續要求重送法又稱為滑動視窗法 (sliding window),其適用於全雙工的傳輸技術上。是最簡單、最有效率、最便宜、與最直接的方法。 重送是說當接受端偵測出資料錯誤後,向傳送端發出一個資料錯誤的訊號,並且要求它再送一次,這種方法叫做自動要求重送ARQ(automatic repeat request) 兩種運作方式:等待要求重送(Stop-and-wait ARQ)與持續要求重送(Continuous ARQ)。
19
等待要求重送(Stop-and-wait ARQ):傳送端每傳一個訊息就等待回應,如果正確就繼續傳送,如果錯誤就再傳一次,此種方法通常利用於半雙工的傳輸技術上。
20
持續要求重送(Continuous ARQ):傳送端不等回應,一直連續傳送,直到若收到接收端錯誤的回應則從所傳回的錯誤訊息指示是第”n個錯誤”,則從第n個訊息之後都重新傳送。
21
漢明碼Hamming Coding 漢明碼是由英國的漢明博士於所發明,其可以檢查出1位元的資料錯誤並加以更正。因為每位元上的值不是0就是1,只要知道哪一欄位資料發生錯誤,再將那一欄位的資料加以反向,即可將資料更正。 例如:傳遞資料為 ”1100101”,則此資料經由漢明碼的編碼過程,則會產生錯誤檢查碼。
22
其運算方式如下: (1)漢明碼會將要傳輸出去的資料2的冪次位元部分(如1、2、4、8、16…位元)做為錯誤檢查碼位元。需要用到1、2、4、8等4個位元來當成錯誤檢查碼位元,才有空間將7位元的資料給傳遞出去,其結果為: (2)將其空白位元部分做為資料位元,依序填入欲傳遞的資料。將資料填入3、5、6、7、9、10、11等位元,所以要傳輸的資料有11位元,其結果如下:
23
(3)建立檢查碼與資料碼關係圖,並配合偶數同位元檢查法來運算檢查碼的值。檢查碼與資料碼關係圖的縱向,表示出該位元的二進制值;在橫向上,其起始位元為檢查碼,其他的資料位元則為其運算位元。
24
個檢查碼的運算方式 P1=D3⊕D5⊕D7⊕D9⊕D11 為湊得偶數1故P1為0 P2=D3⊕D6⊕D7⊕D10⊕D11 為湊得偶數1故P2為0 P4=D5⊕D6⊕D7 1+0+0 為湊得偶數1故P4為1 P8=D9⊕D10⊕D11 1+0+1 為湊得偶數1故P8為0 其傳送的資料將成為00111000101
25
若接收端收到資料為00111000111 ,則經由漢明碼反算 Bit1 = P1⊕D3⊕D5⊕D7⊕D9⊕D11 = 0 Bit2 = P2⊕D3⊕D6⊕D7⊕D10⊕D11 = 1 Bit3 = P4⊕D5⊕D6⊕D = 0 Bit4 = P8⊕D9⊕D10⊕D = 1 其結果為 1010,換算成十進制,則為 10 表示第十個位元的資料有誤,需要進行更正。
26
5.4 訊息描述 訊息描述主要目的是要讓接收端可以清楚的識別所要接受的訊息的開始與結束位置,以便確切的掌握整個傳輸的資料。
當媒體存取控制子層準備好一個封包要往傳輸媒體上送時,不僅會加入檢查碼,另外還需加入開始與結束的特別碼。 開始與結束的特別碼的加入方式可分二種,一為非同步傳輸,另一為同步傳輸。
27
非同步傳輸(Asynchronous Transmission)
以每一字元為一傳輸單元,其特性是在每一個字元的前後,加入額外的判別位元來告知收受端開始與結束的位置,以保證每一個字元都能被完整地送達。 方法較簡單,但因每個字元間都插入與資料內容無關的控制位元與錯誤偵測位元,故資料傳輸率較同步傳輸低。
28
同步傳輸(Synchronous Transmission)
將一群字元看成一個封包,在封包的前後加入判別位元來告知接收端開始與結束的位置,確保一群字元完整送達。 因其所增加的控制位元與錯誤偵測位元出現率較非同步傳輸來得低,故資料傳輸率比較高。此種傳輸方式主要應用在大型電腦上高速的資料傳輸或區域網路的資料傳輸。
29
5.5 傳輸效率 影響流量的因素眾多,故網路的傳輸效率之計算以美國國家標準局(ANSI)提供之規定,以實際資料傳輸的有效性為依據,稱為資訊位元傳輸率(TRIB,Transmission Rate of Information Bits) TRIB是針對在單位時間內一條通訊網路上資訊傳輸時有效數量的量測方法。依據使用的協定不同中,因為要求的控制字元數量不同以及區段間時序不同導致TRIB的計算方式也會不同。
30
TRIB 的計算公式 = K=每一字元所包含的訊息位元 M=字元的區段長度 R=數據機每秒可傳送的字元量 C=每一區段中非資訊字元(即控制字元)的平均數量 P=一個區段因為錯誤而需要重傳的機率 T=區段傳輸時之間隔(秒)
31
TRIB= =8900 bps 8*(600-10)(1-0.01) (600/1200)+0.025
假設每秒傳輸9600Bits的半雙工網路,其每一字元為8位元,每一通訊區段有600個字和10 個字的控制位元,發生錯誤重傳的機率為每100個傳輸區段有1個需要重傳,延遲時間由規格輸得知為25毫秒,則其流量的計算方法如下: TRIB= =8900 bps K=每一字元為8位元 M=每一區段知600個字元 R=1200字元/秒(由9600位元/秒除以8位元/字元而得) C=每一區段10個控制字元 P=0.01(每100個傳輸區段有1個需要重傳) T=25毫秒反向傳輸時間 8*(600-10)(1-0.01) (600/1200)+0.025
32
5.6 資料連結層的通訊協定 KERMIT SDLC (synchronous data link control)
HDLC (High-Level Data Link Control) LAP-B (Link Access Procedure-Balanced) SLIP (Serial Line Internet Protocol) PPP(Point-to-Point Protocol) Token Ring Ethernet
Similar presentations