1. 程式人生 > >資料鏈路層--計算機網路

資料鏈路層--計算機網路

資料鏈路層

1.資料鏈路層的功能

資料鏈路層在物理層提供服務的基礎上向網路層提供服務,其主要作用是加強物理層傳輸原始位元流的功能,將物理層提供的可能出錯的物理連線改造成為邏輯上無差錯的資料鏈路,使之對網路層表現為一條無差錯的鏈路。

1.為網路層提供服務

對網路層而言,資料鏈路層的基本任務是將源機器中來自網路層的資料傳輸到目標機器的網路層。資料鏈路層通常可為網路層提供的服務有:

  1. 無確認的無連線服務。源機器傳送資料幀時不需先建立鏈路連線,目的機器收到資料幀時不需發回確認。對丟失的幀,資料鏈路層不負責重發而交給上層處理。適用於實時通訊或誤位元速率較低的通訊通道,如乙太網。
  2. 有確認的無連線服務。源機器傳送資料幀時不需先建立鏈路連線,但目的機器收到資料幀時必須發回確認。源機器在所規定的時間內沒有收到確定訊號,就重傳丟失的幀,以提高傳輸的可靠性。該服務適用於誤位元速率較高的通訊通道,如無線通訊。
  3. 有確認的面向連線服務。幀傳輸過程分為三個階段:建立資料鏈路、傳輸幀、釋放資料鏈路。目的機器對收到的每一幀都要給出確認,源機器收到確認後才能傳送下一幀,因而服務可靠性最高。該服務適用於通訊要求(可靠性,實時性)較高的場合。

     注意:有連線就一定要有確認,即不存在無確認的面向連線的服務。
    

2.鏈路管理

資料鏈路層連線的建立,維持和釋放過程就稱作鏈路管理 。主要用於面向連線的服務。在多個站點共享同一物理通道的情況下(如區域網中)如何在要求通訊的站點間分配和管理通道也屬於資料鏈路層管理的範疇。

3.幀定界、幀同步與透明傳輸

兩個工作站之間傳輸資訊時,必須將網路層的分組封裝成幀,以幀的格式進行傳送。將一段資料的前後分別新增首部和尾部,就構成了幀。首部和尾部中含有很多控制資訊,它的一個重要作用是確定幀的界限,即幀定界

幀同步指的是接收方應當能從接受的二進位制位元流中區分幀的起始與終止。如果在資料中恰好出現與幀定界符相同的位元組合(會誤認為“傳輸結束”而丟棄後面的資料),就要採取透明傳輸解決這個問題。透明傳輸就是不管所傳資料是什麼樣的而位元組合,都應當能在鏈路上傳送。

4.流量控制

流量控制實際上就是限制傳送方的資料流量,使其傳送速率不致超過接收方的接受能力。
流量控制並不是資料鏈路層所特有的功能,許多高層協議中也必須提供此功能,只不過控制的物件不同而已。對於資料鏈路層來說,控制的是相鄰兩結點之間資料鏈路上的流量,而對於運輸層來說,控制的是從源端到目的端之間的流量。

5.差錯控制

差錯控制指的是用以使傳送方確定接收方是否正確收到了由它放的資料的方法。通常,錯誤可分為位錯和幀錯。
位錯

指幀中某些位出現了差錯。通常採用迴圈冗餘校驗(CRC)方式發現位錯,通過自動重傳請求(ARQ)方式來重傳出錯的幀。具體做法:讓傳送方將要傳送的資料幀附加一定的CRC冗餘檢錯碼一併傳送,接收方則根據檢錯碼對資料幀進行錯誤檢測,若發現錯誤,則丟棄,傳送方超時重傳該資料幀。這種差錯控制方法就稱為ARQ法。ARQ法返回很少的控制資訊,便可有效地確認所發資料幀是否被正確接收。
幀錯是指幀的丟失、重複或失序等錯誤。在資料鏈路層引入定時器和編號機制,可以保證每一幀最終都能有且僅有一次正確地交付給目的結點。

2.組幀

資料鏈路層之所以要把位元組合成幀為單位傳輸,是為了在出錯時只重發出錯的幀,而不必重發全部資料,從而提高了效率。為了使接收方能正確地接收並檢查所傳輸的幀,傳送方必須依據一定的規則把網路層遞交的分組封裝成幀(組幀)。組幀主要解決幀定界、幀同步、透明傳輸等問題。組幀的實現方法包括四種:字元計數法;字元填充的首位定界符法;位元填充的首尾標誌法;違規編碼法。

3.差錯控制

傳輸中的差錯都是由於噪聲引起的。噪聲有兩大類:一類是通道所固有的、持續存在的隨機熱噪聲;另一類是由於外界特定的短暫原因所造成的衝擊噪聲。前者可以通過提高信噪比來減少或避免干擾,而後者不可能靠提高訊號幅度來避免干擾造成的差錯,是產生差錯的重要原因。
通常利用編碼技術進行差錯控制,主要有兩類,自動重傳請求(ARQ)和前向糾錯(FEC)。在ARQ方式中,接收端檢測出差錯時,就設法通知傳送端重發,知道接收到正確的碼字為止。在FEC中,接收端不但能發現差錯,還能確定二進位制數碼的錯誤位置,並加以糾正。因此差錯控制又可分為檢錯編碼糾錯編碼

  1. 檢錯編碼:都是採用冗餘編碼技術。核心思想是在有效資料被髮送前,先按某種關係附加上一定的冗餘位,構成一個符合某一規則的碼字後再發送。當要傳送的有效資料變化時,相應的冗餘位也隨之變化,使得碼字遵從不變的原則。接收端根據收到碼字是否符合原規則,從而判斷是否出錯。常見的檢錯編碼有:奇偶校驗碼;迴圈冗餘碼(CRC)–傳送出去的就是m+r位,利用幀檢驗序列(FCS)進行得到,r是餘數。
  2. 糾錯編碼:最常用的是海明碼,它能發現雙位元錯,但只能糾正單位元錯。

4.流量控制與可靠傳輸機制

4.1流量控制、可靠傳輸與滑動視窗機制

流量控制及對鏈路上的幀的傳送速率的控制,以使接收方有足夠的緩衝空間來接收每一個幀。流量控制的基本方法是由接收方控制傳送方傳送資料的速率,常見的方式有兩種:停止等待協議和滑動視窗協議。

1.停止-等待協議:傳送方沒傳送一幀,都要等待接收方的應答訊號,之後才能傳送下一幀;接收方每接收一幀,都要反饋一個應答訊號,表示可接收下一幀,如果接收方不反饋應答訊號,則接收方必須要一直等待。每次只允許傳送一幀,然後就陷入等待接收方確認資訊的過程中,因而傳輸效率很低。
2.滑動視窗協議:在任意時刻,傳送方都維持一組連續的允許傳送的幀的序號,稱為傳送視窗;同時接收方也維持一組連續的允許接收幀的序號,稱為接收視窗。
從滑動視窗的概念來看,停止-等待協議、後退N幀協議和選擇重傳協議只在傳送視窗大小和接收視窗大小有所差別。停止-等待協議:傳送視窗=1,接收視窗=1;後退N幀協議:傳送視窗>1,接收視窗=1;選擇重傳協議:傳送視窗>1,接收視窗>1.
當接收視窗大小為1,可保證幀的有序接收。
3.可靠傳輸機制:資料鏈路層的可靠傳輸通常使用確認和超時重傳。確認是一種無資料控制幀,這種控制幀使得接收方可以讓傳送方知道哪些內容被正確接收。有些情況下為了提高傳輸效率,將確認捎帶在一個回覆幀中,成為捎帶確認。超時重傳是指傳送方在傳送某一資料幀以後就開啟一個計時器,在一定時間內如果沒有得到傳送的資料幀的確認幀,那麼就重新發送該資料幀,知道成功為止。自動重傳請求通過接收方請求傳送方重傳出錯的資料幀來回復出錯的幀。傳統的自動重傳請求分為:即停等式ARQ、後退N幀ARQ以及選擇性重傳ARQ。後兩種是滑動視窗技術與請求重發技術結合。

4.2單幀滑動視窗與停止-等待協議

在停止等待協議中,除了資料幀丟失,還可能出現以下兩種差錯
1.到達目的站的幀可能遭到破壞,接收站利用差錯檢測技術檢出後,丟棄該幀,源站裝備了計時器,若超時仍未收到確認,則再發送相同的幀。
2.資料幀正確而確認幀被破壞。為了避免這樣的問題,傳送的幀交替地用0和1來標識,肯定確認則分別用ACK0和ACK1標識,當收到的確認有誤時,重傳已傳送的幀。

4.3多幀滑動視窗與後退N幀協議(GBN)

在後退N幀ARQ中,傳送方不需要再收到上一幀的ACK後才能開始傳送下一幀,而是可以連續傳送幀。當接收方檢測出失序的資訊幀後,要求傳送方重發最後一個正確接收的資訊幀之後的所有未被確認的幀;或者當傳送方傳送了N個幀後,若發現該N個幀的前一個幀在計時器超時後仍未返回其確認的資訊,則該幀被判為出錯或丟失,此時傳送方就不得不又重傳該出錯幀及隨後的N個幀。也就是說接收方只允許按順序接收幀。

4.4多幀滑動視窗與選擇重傳協議(SR)

為進一步提高通道的利用率,可設法只重傳出現差錯的資料幀或者是計時器超時的資料幀。但此時必須加大接收視窗,以便接收下發送序號不連續但仍處在接收視窗中的哪些資料幀,等到所缺序號的資料幀收到後再一併送交主機。

5.介質訪問控制

介質訪問控制所要完成的主要任務是為使用介質的每個結點隔離來自同意新到上其他結點所傳送的訊號,以協調活動結點的傳輸。用來決定廣播通道中通道分配的協議屬於資料鏈路層的一個子層,稱為介質訪問控制層(MAC)子層。

5.1通道劃分介質訪問控制

通道劃分介質訪問控制將使用介質的每個裝置與來自同一通訊通道上的其他裝置的通訊隔離開來,把時域和頻域資源合理地分配給網路上的裝置。通道劃分介質訪問控制分為4種:1.頻分多路複用(FDM)2.時分多路複用(TDM)3.波分多路複用(WDM)4碼分多路複用(CDM)

5.2隨機訪問介質訪問控制

在隨機訪問協議中,不採用集中控制方式解決傳送資訊的次序問題,所有使用者可以根據自己的意願隨機地傳送資訊,佔用通道全部速率。為了解決隨機接入發生的碰撞,每個使用者需按照一定的規則反覆地重傳它的幀,直到該幀無碰撞地通過。這些規則就是隨機訪問介質訪問控制協議,常用的協議有:ALOHA協議;CSMA協議;CSMA/CD協議;CSMA/CA協議等。它們的核心思想都是:勝利者通過爭用獲得通道,從而獲得資訊的傳送權。

  1. ALOHA協議:當網路中的任何一個站點需要傳送資料時,可以不進行任何檢測就傳送資料。如果在一段時間內沒有收到確認,該站點就認為傳輸過程中發生了衝突。傳送站點需要等待一段時間後在傳送資料,直至傳送成功。(原始協議),後來又有改進的叫時隙ALOHA協議:把各站在時間上都同步起來,並將時間劃分我一段段等長的時隙,規定只能在每個時隙開始時才能傳送一個幀,從而避免了使用者傳送資料的隨意性,減少了產生衝突的可能性,提高了通道的利用率。
  2. CSMA協議:載波偵聽多路訪問:每個站點在傳送前都先偵聽一下共用的通道,發現通道空閒後再發送,將會大大減少衝突的可能,從而提高通道的利用率。1-堅持CSMA;非堅持CSMA;p-堅持CSMA。
  3. CSMA/CD協議:載波偵聽多路訪問/碰撞檢測:先聽後發(傳送前先偵聽),邊聽邊發(碰撞檢測,判斷自己在傳送資料時其他站點是否也在傳送資料),衝突停發,隨機重發(採用截斷二進位制指數退避演算法來等待一段時間)。只能進行半雙工通訊。為了確保傳送站在傳送資料的同時能檢測到可能存在的衝突,需要在傳送完幀之前就能收到自己傳送出去的資料,即幀的傳輸時延至少要兩倍於訊號在匯流排中的傳播時延。最小幀長 = 匯流排傳播時延*資料傳輸速率*2。二進位制退避演算法可使重傳需要推遲的平均時間隨重傳次數的增大而增大,因而減小發生碰撞的概率,有利於整個系統的穩定。應用到有線區域網。
  4. CSMA/CA協議:應用到無線區域網,對CSMA/CD進行修改,把碰撞檢測改成碰撞避免,並不是指協議可以完全避免碰撞,而是指協議的設計要儘量減少碰撞發生的概率。採用二進位制指數退避演算法。CSMA/CA還是用愉悅通道、ACK幀、RTS/CTS幀等三種機制來實現碰撞避免。

     二進位制退避演算法:1.確定基本退避時間,一般取兩倍的匯流排端到端傳播時延2T(爭用期)。2.定義引數k,k等於重傳次數,但k不超過10,k = min【重傳次數,10】。3.從離散的整數集合【0,1,...,2**k-1】中隨機去除一個數r,重傳所需要退避的時間將是r倍的基本退避時間,即2rT。4.當重傳達16次仍不成功時,說明網路太擁擠,認為此幀永遠無法正確發出,拋棄此幀並向高層報告出錯。
     CSMA/CD與CSMA/CA主要區別如下:1.前者可以檢測衝突,但無法避免;CSMA/CA傳送包的同時不能檢測到通道上有無衝突,本結點處沒有衝突並不意味著在接收結點處就沒有衝突,只能儘量避免。2.傳輸介質不同。CSMA/CD用於匯流排式乙太網,而CSMA/CA則用於無線區域網。3.檢測方式不同。前者通過電纜中電壓變化來檢測;而後者採用能量檢測、載波檢測和能量載波混合檢測三種檢測通道空閒的方式。4.在本結點處有無衝突,並不一定意味著在接收結點(無)處就有衝突。
    

5.3輪詢訪問介質訪問控制:令牌傳遞協議

在輪詢訪問中,使用者不能隨機地傳送資訊,而是通過一個集中控制的監控站,以迴圈的方式輪詢每個節點,再決定通道的分配。典型的協議是令牌傳遞協議,主要使用在令牌環區域網中。

6.區域網

6.1區域網的基本概念和體系結構

區域網是在一個較小的地理範圍內將各種計算機、外部裝置和資料庫系統等通過雙絞線、同軸電纜等連線介質互相連線起來,組成資源和資訊共享的計算機互聯裝置。
區域網的特性主要由三個要素決定:拓撲結構、傳輸介質、介質訪問控制方式。
IEEE802標準定義的區域網參考模型只對應於OSI參考模型的資料鏈路層和物理層,並將資料鏈路層拆分為兩個子層:邏輯鏈路控制LLC子層和媒體接控制MAC子層。與接入到傳輸媒體有關的內容都放在MAC子層,它向上層遮蔽對物理層訪問的各種差異,提供對物理層的統一訪問介面,主要功能包括:組幀和拆卸幀,位元傳輸差錯檢測、透明傳輸。LLC子層與傳輸媒體無關,它向網路層提供無確認無連線、面向連線、帶確認無連線、高速傳送4種不同的連線服務型別。

6.2乙太網與IEEE802.3

IEEE802.3標準是一種基帶匯流排型的區域網標準,描述物理層和資料鏈路層的MAC子層的實現方法。乙太網邏輯上採用匯流排型拓撲結構,乙太網中所有計算機共享同一條匯流排,資訊以廣播方式傳送。乙太網採用兩項措施簡化通訊:採用無連線的工作方式;部隊傳送的資料幀編號,也不要求接收方傳送確認,即乙太網盡最大努力交付資料,提供的是不可靠服務,對於差錯的糾正由高層完成。

  1. 乙太網的傳輸介質與網絡卡:粗纜、細纜、雙絞線和光釺。網絡卡工作在物理層。
  2. 乙太網的MAC幀
  3. 高速乙太網:速率達到或超過100Mb/s的乙太網。

6.3 IEEE802.11

IEEE802.11是無線區域網的一系列協議標準,包括802.11a和802.11b等,它們制定了MAC層協議,執行在多個物理層標準上。無線區域網可以分為兩大類:第一類是有固定基礎設施;第二類是無固定基礎設施。

6.4 令牌環網的基本原理

令牌環網的每一站通過電纜與環接口乾線耦合器TCP相連。TCP主要作用是:傳遞所有經過的幀,為接入站傳送和接收資料提供介面。

7.廣域網

7.1 廣域網的基本概念

長距離網路,廣域網由一些結點交換機(結點交換機在單個網路中轉發分組,而路由器在多個網路構成的網際網路中轉發分組)以及連線這些交換機的鏈路組成。
這裡寫圖片描述
PPP協議和HDLC協議是目前最常用的兩種廣域網資料鏈路層控制協議。

7.2 PPP

使用序列線路通訊的面向位元組的協議,該協議應用在直接連線兩個結點的鏈路上。設計的目的主要是用來用過撥號或專線方式建立點對點連線傳送資料,使其成為各種主機、網橋和路由器之間簡單連線的一種共同的解決方案。
PPP有三個組成部分:1.鏈路控制協議LCP:一種擴充套件鏈路控制協議,用於簡歷、配置、測試和管理資料鏈路。2.網路控制協議NCP:PPP允許同時採用多種網路層協議,每個不同的網路層協議要用一個相應的NCP來配置,為網路層協議簡歷和配置邏輯連線。3.一個將IP資料報封裝到序列鏈路的方法。IP資料報在PPP幀中就是其資訊部分。
這裡寫圖片描述

7.3 HDLC協議

高階資料鏈路協議是ISO制定的面向位元(PPP協議是面向位元組的)的資料鏈路層協議。該協議不依賴於任何一種字元編碼集;資料報文可透明傳輸,用於實現透明傳輸的0位元插入法易於硬體實現;全雙工通訊,有較高的資料鏈路傳輸速率;所有幀採用CRC檢驗,對資訊幀進行順序編號,可防止漏收或重發,傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大靈活性。

 PPP幀和HDLC幀的格式相似,但兩者有以下幾個不同:
 1.PPP是面向位元組的,HDLC面向位元
 2.PPP幀比HDLC幀多一個2位元組的協議欄位。當協議欄位值為0x0021時,表示資訊欄位是IP資料報。
 3.PPP不適用序號和確認機制,只保證無差錯接收(通過硬體進行CRC檢驗),而端到端差錯檢測由高層協議負責。HDLC協議的資訊幀使用了編號和確認機制。

8.資料鏈路層裝置

8.1 網橋的概念及其基本原理

兩個或多個乙太網通過網橋連線起來後,就成為一個覆蓋範圍更大的乙太網,而原來的每個乙太網就可稱為一個網段。網橋工作在鏈路層的MAC子層,可以使乙太網個網段成為隔離開的碰撞域。
網橋的基本特點:

 1.網橋必須具備定址和路徑選擇能力,以確定幀的傳輸防線;
 2.從源網路接收幀,以目的網路的介質訪問控制協議向目的網路轉發該幀;
 3.網橋在不同或相同型別的LAN之間儲存並轉發幀,必要時還進行鏈路層上的協議轉換;
 4.網橋對所接收到的幀不做任何修改,或只對幀的封裝格式做很少的修改;
 5.網橋可以通過執行幀翻譯互聯不同型別的區域網,即把原協議的資訊段的內容作為另一種協議的資訊部分封裝在幀中;
 6.網橋應有足夠大的緩衝空間,因為在短時間內幀的到達速度可能高於轉發速度。

網橋的優點:過濾通訊量;擴大物理範圍;可使用不同的物理層;可互聯不同型別的區域網;提高可靠性,效能得到改善。
網橋的缺點:增加時延;MAC子層沒有流量控制;不同MAC子層網段橋接需要幀的轉換;網橋只適合於使用者數不多和通訊量不太大的區域網。
根據路徑選擇演算法不同,可將網橋分為透明網橋(選擇的不是最佳路由)和源路由網橋(選擇的是最佳路由)。

8.2區域網交換機及其工作原理

1.區域網交換機:是一個多埠的網橋,工作在資料鏈路層。交換機能經濟地將網路分成小的衝突域,為每個工作站提供更高的頻寬。
2.原理:它檢測從以太埠來的資料幀的源和目的地址的MAC地址,然後與系統內部的動態查詢表進行比較,若資料幀的MAC地址不在查詢表中,則將該地址加入到查詢表中,並將資料幀傳送給相應的目的埠。
3.特點:每個埠都直接與單個主機相連,一般都工作在全雙工方式;能同時連通許多對的埠,使每一對相互通訊的主機都能像獨佔通訊媒體那樣,無碰撞地傳輸資料;是一種即插即用裝置,其內部的幀的轉發表也是通過自學習演算法自動地逐漸簡歷起來;交換速率高;獨佔傳輸媒體頻寬。
4.兩種交換模式:直通式和儲存轉發式。